]> scripts.mit.edu Git - autoinstallsdev/wordpress.git/commitdiff
WordPress 4.2 wordpress-4.2
authorEdward Z. Yang <ezyang@cs.stanford.edu>
Sun, 3 May 2015 18:53:30 +0000 (11:53 -0700)
committerEdward Z. Yang <ezyang@cs.stanford.edu>
Sun, 3 May 2015 18:53:30 +0000 (11:53 -0700)
Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
566 files changed:
readme.html
wp-admin/about.php
wp-admin/admin-ajax.php
wp-admin/admin-footer.php
wp-admin/admin-header.php
wp-admin/admin.php
wp-admin/comment.php
wp-admin/credits.php
wp-admin/css/about-rtl.css
wp-admin/css/about.css
wp-admin/css/admin-menu-rtl.css
wp-admin/css/admin-menu.css
wp-admin/css/color-picker-rtl.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/_admin.scss
wp-admin/css/colors/_variables.scss
wp-admin/css/colors/blue/colors-rtl.css
wp-admin/css/colors/blue/colors-rtl.min.css
wp-admin/css/colors/blue/colors.css
wp-admin/css/colors/blue/colors.min.css
wp-admin/css/colors/coffee/colors-rtl.css
wp-admin/css/colors/coffee/colors-rtl.min.css
wp-admin/css/colors/coffee/colors.css
wp-admin/css/colors/coffee/colors.min.css
wp-admin/css/colors/ectoplasm/colors-rtl.css
wp-admin/css/colors/ectoplasm/colors-rtl.min.css
wp-admin/css/colors/ectoplasm/colors.css
wp-admin/css/colors/ectoplasm/colors.min.css
wp-admin/css/colors/light/colors-rtl.css
wp-admin/css/colors/light/colors-rtl.min.css
wp-admin/css/colors/light/colors.css
wp-admin/css/colors/light/colors.min.css
wp-admin/css/colors/midnight/colors-rtl.css
wp-admin/css/colors/midnight/colors-rtl.min.css
wp-admin/css/colors/midnight/colors.css
wp-admin/css/colors/midnight/colors.min.css
wp-admin/css/colors/ocean/colors-rtl.css
wp-admin/css/colors/ocean/colors-rtl.min.css
wp-admin/css/colors/ocean/colors.css
wp-admin/css/colors/ocean/colors.min.css
wp-admin/css/colors/sunrise/colors-rtl.css
wp-admin/css/colors/sunrise/colors-rtl.min.css
wp-admin/css/colors/sunrise/colors.css
wp-admin/css/colors/sunrise/colors.min.css
wp-admin/css/common-rtl.css
wp-admin/css/common.css
wp-admin/css/customize-controls-rtl.css
wp-admin/css/customize-controls-rtl.min.css
wp-admin/css/customize-controls.css
wp-admin/css/customize-controls.min.css
wp-admin/css/customize-widgets-rtl.css
wp-admin/css/customize-widgets-rtl.min.css
wp-admin/css/customize-widgets.css
wp-admin/css/customize-widgets.min.css
wp-admin/css/dashboard-rtl.css
wp-admin/css/dashboard.css
wp-admin/css/deprecated-media-rtl.css
wp-admin/css/deprecated-media-rtl.min.css
wp-admin/css/deprecated-media.css
wp-admin/css/deprecated-media.min.css
wp-admin/css/edit-rtl.css
wp-admin/css/edit.css
wp-admin/css/forms-rtl.css
wp-admin/css/forms.css
wp-admin/css/ie-rtl.css
wp-admin/css/ie-rtl.min.css
wp-admin/css/ie.css
wp-admin/css/ie.min.css
wp-admin/css/install-rtl.css
wp-admin/css/install-rtl.min.css
wp-admin/css/install.css
wp-admin/css/install.min.css
wp-admin/css/l10n-rtl.css
wp-admin/css/l10n.css
wp-admin/css/list-tables-rtl.css
wp-admin/css/list-tables.css
wp-admin/css/login-rtl.css
wp-admin/css/login-rtl.min.css
wp-admin/css/login.css
wp-admin/css/login.min.css
wp-admin/css/media-rtl.css
wp-admin/css/media.css
wp-admin/css/nav-menus-rtl.css
wp-admin/css/nav-menus.css
wp-admin/css/press-this-editor-rtl.css [new file with mode: 0644]
wp-admin/css/press-this-editor.css [new file with mode: 0644]
wp-admin/css/press-this-rtl.css
wp-admin/css/press-this-rtl.min.css [new file with mode: 0644]
wp-admin/css/press-this.css
wp-admin/css/press-this.min.css [new file with mode: 0644]
wp-admin/css/revisions-rtl.css
wp-admin/css/revisions.css
wp-admin/css/themes-rtl.css
wp-admin/css/themes.css
wp-admin/css/widgets-rtl.css
wp-admin/css/widgets.css
wp-admin/css/wp-admin-rtl.css
wp-admin/css/wp-admin-rtl.min.css
wp-admin/css/wp-admin.css
wp-admin/css/wp-admin.min.css
wp-admin/custom-background.php
wp-admin/custom-header.php
wp-admin/customize.php
wp-admin/edit-comments.php
wp-admin/edit-form-advanced.php
wp-admin/edit-form-comment.php
wp-admin/edit-link-form.php
wp-admin/edit-tag-form.php
wp-admin/edit-tags.php
wp-admin/edit.php
wp-admin/export.php
wp-admin/freedoms.php
wp-admin/images/wordpress-logo.svg
wp-admin/import.php
wp-admin/includes/ajax-actions.php
wp-admin/includes/class-wp-comments-list-table.php
wp-admin/includes/class-wp-filesystem-base.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-importer.php
wp-admin/includes/class-wp-links-list-table.php
wp-admin/includes/class-wp-list-table.php
wp-admin/includes/class-wp-media-list-table.php
wp-admin/includes/class-wp-ms-sites-list-table.php
wp-admin/includes/class-wp-ms-themes-list-table.php
wp-admin/includes/class-wp-ms-users-list-table.php
wp-admin/includes/class-wp-plugin-install-list-table.php
wp-admin/includes/class-wp-plugins-list-table.php
wp-admin/includes/class-wp-posts-list-table.php
wp-admin/includes/class-wp-press-this.php [new file with mode: 0644]
wp-admin/includes/class-wp-terms-list-table.php
wp-admin/includes/class-wp-theme-install-list-table.php
wp-admin/includes/class-wp-themes-list-table.php
wp-admin/includes/class-wp-upgrader-skins.php
wp-admin/includes/class-wp-upgrader.php
wp-admin/includes/class-wp-users-list-table.php
wp-admin/includes/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-deprecated.php
wp-admin/includes/ms.php
wp-admin/includes/nav-menu.php
wp-admin/includes/plugin-install.php
wp-admin/includes/plugin.php
wp-admin/includes/post.php
wp-admin/includes/revision.php
wp-admin/includes/schema.php
wp-admin/includes/screen.php
wp-admin/includes/taxonomy.php
wp-admin/includes/template.php
wp-admin/includes/theme-install.php
wp-admin/includes/theme.php
wp-admin/includes/translation-install.php
wp-admin/includes/update-core.php
wp-admin/includes/update.php
wp-admin/includes/upgrade.php
wp-admin/includes/user.php
wp-admin/includes/widgets.php
wp-admin/index.php
wp-admin/install.php
wp-admin/js/bookmarklet.js [new file with mode: 0644]
wp-admin/js/bookmarklet.min.js [new file with mode: 0644]
wp-admin/js/common.js
wp-admin/js/common.min.js
wp-admin/js/customize-controls.js
wp-admin/js/customize-controls.min.js
wp-admin/js/customize-widgets.js
wp-admin/js/customize-widgets.min.js
wp-admin/js/edit-comments.js
wp-admin/js/edit-comments.min.js
wp-admin/js/editor-expand.js
wp-admin/js/editor-expand.min.js
wp-admin/js/editor.js
wp-admin/js/editor.min.js
wp-admin/js/image-edit.js
wp-admin/js/image-edit.min.js
wp-admin/js/inline-edit-post.js
wp-admin/js/inline-edit-post.min.js
wp-admin/js/inline-edit-tax.js
wp-admin/js/inline-edit-tax.min.js
wp-admin/js/media.js
wp-admin/js/media.min.js
wp-admin/js/nav-menu.js
wp-admin/js/nav-menu.min.js
wp-admin/js/plugin-install.js
wp-admin/js/plugin-install.min.js
wp-admin/js/post.js
wp-admin/js/post.min.js
wp-admin/js/press-this.js [new file with mode: 0644]
wp-admin/js/press-this.min.js [new file with mode: 0644]
wp-admin/js/tags-box.js [new file with mode: 0644]
wp-admin/js/tags-box.min.js [new file with mode: 0644]
wp-admin/js/theme.js
wp-admin/js/theme.min.js
wp-admin/js/updates.js
wp-admin/js/updates.min.js
wp-admin/js/user-profile.js
wp-admin/js/user-profile.min.js
wp-admin/js/widgets.js
wp-admin/js/widgets.min.js
wp-admin/js/wp-fullscreen.js
wp-admin/js/wp-fullscreen.min.js
wp-admin/link-manager.php
wp-admin/link-parse-opml.php
wp-admin/load-scripts.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/index.php
wp-admin/network/settings.php
wp-admin/network/site-info.php
wp-admin/network/site-new.php
wp-admin/network/site-settings.php
wp-admin/network/site-themes.php
wp-admin/network/site-users.php
wp-admin/network/sites.php
wp-admin/network/themes.php
wp-admin/network/upgrade.php
wp-admin/network/user-new.php
wp-admin/network/users.php
wp-admin/options-discussion.php
wp-admin/options-general.php
wp-admin/options-media.php
wp-admin/options-permalink.php
wp-admin/options-reading.php
wp-admin/options-writing.php
wp-admin/options.php
wp-admin/plugin-editor.php
wp-admin/plugin-install.php
wp-admin/plugins.php
wp-admin/post-new.php
wp-admin/post.php
wp-admin/press-this.php
wp-admin/revision.php
wp-admin/setup-config.php
wp-admin/theme-editor.php
wp-admin/theme-install.php
wp-admin/themes.php
wp-admin/tools.php
wp-admin/update-core.php
wp-admin/update.php
wp-admin/upgrade.php
wp-admin/upload.php
wp-admin/user-edit.php
wp-admin/user-new.php
wp-admin/users.php
wp-admin/widgets.php
wp-comments-post.php
wp-config-sample.php
wp-content/themes/twentyfifteen/css/editor-style.css
wp-content/themes/twentyfifteen/css/ie.css
wp-content/themes/twentyfifteen/functions.php
wp-content/themes/twentyfifteen/header.php
wp-content/themes/twentyfifteen/inc/customizer.php
wp-content/themes/twentyfifteen/js/functions.js
wp-content/themes/twentyfifteen/languages/twentyfifteen.pot
wp-content/themes/twentyfifteen/rtl.css
wp-content/themes/twentyfifteen/style.css
wp-content/themes/twentyfourteen/archive.php
wp-content/themes/twentyfourteen/author.php
wp-content/themes/twentyfourteen/category.php
wp-content/themes/twentyfourteen/comments.php
wp-content/themes/twentyfourteen/css/editor-style.css
wp-content/themes/twentyfourteen/featured-content.php
wp-content/themes/twentyfourteen/functions.php
wp-content/themes/twentyfourteen/header.php
wp-content/themes/twentyfourteen/image.php
wp-content/themes/twentyfourteen/inc/custom-header.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/index.php
wp-content/themes/twentyfourteen/js/functions.js
wp-content/themes/twentyfourteen/js/keyboard-image-navigation.js
wp-content/themes/twentyfourteen/js/slider.js
wp-content/themes/twentyfourteen/languages/twentyfourteen.pot
wp-content/themes/twentyfourteen/style.css
wp-content/themes/twentyfourteen/tag.php
wp-content/themes/twentyfourteen/taxonomy-post_format.php
wp-content/themes/twentythirteen/archive.php
wp-content/themes/twentythirteen/author.php
wp-content/themes/twentythirteen/category.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/header.php
wp-content/themes/twentythirteen/image.php
wp-content/themes/twentythirteen/inc/custom-header.php
wp-content/themes/twentythirteen/index.php
wp-content/themes/twentythirteen/js/functions.js
wp-content/themes/twentythirteen/languages/twentythirteen.pot
wp-content/themes/twentythirteen/style.css
wp-content/themes/twentythirteen/tag.php
wp-content/themes/twentythirteen/taxonomy-post_format.php
wp-cron.php
wp-includes/admin-bar.php
wp-includes/author-template.php
wp-includes/bookmark.php
wp-includes/cache.php
wp-includes/canonical.php
wp-includes/capabilities.php
wp-includes/category-template.php
wp-includes/category.php
wp-includes/class-IXR.php
wp-includes/class-feed.php
wp-includes/class-http.php
wp-includes/class-oembed.php
wp-includes/class-wp-admin-bar.php
wp-includes/class-wp-ajax-response.php
wp-includes/class-wp-customize-control.php
wp-includes/class-wp-customize-manager.php
wp-includes/class-wp-customize-panel.php
wp-includes/class-wp-customize-section.php
wp-includes/class-wp-customize-setting.php
wp-includes/class-wp-customize-widgets.php
wp-includes/class-wp-editor.php
wp-includes/class-wp-embed.php
wp-includes/class-wp-error.php
wp-includes/class-wp-image-editor-gd.php
wp-includes/class-wp-image-editor-imagick.php
wp-includes/class-wp-image-editor.php
wp-includes/class-wp-theme.php
wp-includes/class-wp-walker.php
wp-includes/class-wp-xmlrpc-server.php
wp-includes/class-wp.php
wp-includes/class.wp-scripts.php
wp-includes/class.wp-styles.php
wp-includes/comment-template.php
wp-includes/comment.php
wp-includes/compat.php
wp-includes/cron.php
wp-includes/css/admin-bar-rtl.css
wp-includes/css/admin-bar-rtl.min.css
wp-includes/css/admin-bar.css
wp-includes/css/admin-bar.min.css
wp-includes/css/buttons-rtl.css
wp-includes/css/buttons-rtl.min.css
wp-includes/css/buttons.css
wp-includes/css/buttons.min.css
wp-includes/css/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/formatting.php
wp-includes/functions.php
wp-includes/functions.wp-scripts.php
wp-includes/functions.wp-styles.php
wp-includes/general-template.php
wp-includes/images/smilies/frownie.png [new file with mode: 0644]
wp-includes/images/smilies/mrgreen.png [new file with mode: 0644]
wp-includes/images/smilies/rolleyes.png [new file with mode: 0644]
wp-includes/images/smilies/simple-smile.png [new file with mode: 0644]
wp-includes/js/admin-bar.js
wp-includes/js/admin-bar.min.js
wp-includes/js/backbone.min.js
wp-includes/js/customize-base.js
wp-includes/js/customize-base.min.js
wp-includes/js/customize-loader.js
wp-includes/js/customize-loader.min.js
wp-includes/js/customize-preview.js
wp-includes/js/customize-preview.min.js
wp-includes/js/hoverIntent.js
wp-includes/js/hoverIntent.min.js
wp-includes/js/jquery/jquery.js
wp-includes/js/jquery/ui/accordion.min.js
wp-includes/js/jquery/ui/autocomplete.min.js
wp-includes/js/jquery/ui/button.min.js
wp-includes/js/jquery/ui/core.min.js
wp-includes/js/jquery/ui/datepicker.min.js
wp-includes/js/jquery/ui/dialog.min.js
wp-includes/js/jquery/ui/draggable.min.js
wp-includes/js/jquery/ui/droppable.min.js
wp-includes/js/jquery/ui/effect-blind.min.js
wp-includes/js/jquery/ui/effect-bounce.min.js
wp-includes/js/jquery/ui/effect-clip.min.js
wp-includes/js/jquery/ui/effect-drop.min.js
wp-includes/js/jquery/ui/effect-explode.min.js
wp-includes/js/jquery/ui/effect-fade.min.js
wp-includes/js/jquery/ui/effect-fold.min.js
wp-includes/js/jquery/ui/effect-highlight.min.js
wp-includes/js/jquery/ui/effect-puff.min.js
wp-includes/js/jquery/ui/effect-pulsate.min.js
wp-includes/js/jquery/ui/effect-scale.min.js
wp-includes/js/jquery/ui/effect-shake.min.js
wp-includes/js/jquery/ui/effect-size.min.js
wp-includes/js/jquery/ui/effect-slide.min.js
wp-includes/js/jquery/ui/effect-transfer.min.js
wp-includes/js/jquery/ui/effect.min.js
wp-includes/js/jquery/ui/menu.min.js
wp-includes/js/jquery/ui/mouse.min.js
wp-includes/js/jquery/ui/position.min.js
wp-includes/js/jquery/ui/progressbar.min.js
wp-includes/js/jquery/ui/resizable.min.js
wp-includes/js/jquery/ui/selectable.min.js
wp-includes/js/jquery/ui/selectmenu.min.js
wp-includes/js/jquery/ui/slider.min.js
wp-includes/js/jquery/ui/sortable.min.js
wp-includes/js/jquery/ui/spinner.min.js
wp-includes/js/jquery/ui/tabs.min.js
wp-includes/js/jquery/ui/tooltip.min.js
wp-includes/js/jquery/ui/widget.min.js
wp-includes/js/masonry.min.js
wp-includes/js/mce-view.js
wp-includes/js/mce-view.min.js
wp-includes/js/media-audiovideo.js
wp-includes/js/media-audiovideo.min.js
wp-includes/js/media-editor.js
wp-includes/js/media-editor.min.js
wp-includes/js/media-grid.js
wp-includes/js/media-grid.min.js
wp-includes/js/media-models.js
wp-includes/js/media-models.min.js
wp-includes/js/media-views.js
wp-includes/js/media-views.min.js
wp-includes/js/mediaelement/flashmediaelement.swf
wp-includes/js/mediaelement/froogaloop.min.js [new file with mode: 0644]
wp-includes/js/mediaelement/mediaelement-and-player.min.js
wp-includes/js/mediaelement/mediaelementplayer.min.css
wp-includes/js/mediaelement/silverlightmediaelement.xap
wp-includes/js/mediaelement/wp-mediaelement.css
wp-includes/js/plupload/handlers.js
wp-includes/js/plupload/handlers.min.js
wp-includes/js/thickbox/thickbox.css
wp-includes/js/tinymce/plugins/charmap/plugin.js
wp-includes/js/tinymce/plugins/charmap/plugin.min.js
wp-includes/js/tinymce/plugins/fullscreen/plugin.js
wp-includes/js/tinymce/plugins/fullscreen/plugin.min.js
wp-includes/js/tinymce/plugins/image/plugin.js
wp-includes/js/tinymce/plugins/image/plugin.min.js
wp-includes/js/tinymce/plugins/lists/plugin.js
wp-includes/js/tinymce/plugins/lists/plugin.min.js
wp-includes/js/tinymce/plugins/media/plugin.js
wp-includes/js/tinymce/plugins/media/plugin.min.js
wp-includes/js/tinymce/plugins/paste/plugin.js
wp-includes/js/tinymce/plugins/paste/plugin.min.js
wp-includes/js/tinymce/plugins/tabfocus/plugin.js
wp-includes/js/tinymce/plugins/textcolor/plugin.js
wp-includes/js/tinymce/plugins/textcolor/plugin.min.js
wp-includes/js/tinymce/plugins/wordpress/plugin.js
wp-includes/js/tinymce/plugins/wordpress/plugin.min.js
wp-includes/js/tinymce/plugins/wpautoresize/plugin.js
wp-includes/js/tinymce/plugins/wpautoresize/plugin.min.js
wp-includes/js/tinymce/plugins/wpeditimage/plugin.js
wp-includes/js/tinymce/plugins/wpeditimage/plugin.min.js
wp-includes/js/tinymce/plugins/wpemoji/plugin.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wpemoji/plugin.min.js [new file with mode: 0644]
wp-includes/js/tinymce/plugins/wplink/plugin.js
wp-includes/js/tinymce/plugins/wplink/plugin.min.js
wp-includes/js/tinymce/plugins/wpview/plugin.js
wp-includes/js/tinymce/plugins/wpview/plugin.min.js
wp-includes/js/tinymce/skins/lightgray/content.inline.min.css
wp-includes/js/tinymce/skins/lightgray/content.min.css
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.eot
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.svg
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.ttf
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.woff
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.svg
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf
wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff
wp-includes/js/tinymce/skins/wordpress/wp-content.css
wp-includes/js/tinymce/themes/modern/theme.js
wp-includes/js/tinymce/tinymce.min.js
wp-includes/js/tinymce/wp-mce-help.php
wp-includes/js/tinymce/wp-tinymce.js.gz
wp-includes/js/tinymce/wp-tinymce.php
wp-includes/js/twemoji.js [new file with mode: 0644]
wp-includes/js/twemoji.min.js [new file with mode: 0644]
wp-includes/js/underscore.min.js
wp-includes/js/wp-a11y.js [new file with mode: 0644]
wp-includes/js/wp-a11y.min.js [new file with mode: 0644]
wp-includes/js/wp-ajax-response.js
wp-includes/js/wp-ajax-response.min.js
wp-includes/js/wp-auth-check.js
wp-includes/js/wp-auth-check.min.js
wp-includes/js/wp-emoji-loader.js [new file with mode: 0644]
wp-includes/js/wp-emoji-loader.min.js [new file with mode: 0644]
wp-includes/js/wp-emoji-release.min.js [new file with mode: 0644]
wp-includes/js/wp-emoji.js [new file with mode: 0644]
wp-includes/js/wp-emoji.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/locale.php
wp-includes/media-template.php
wp-includes/media.php
wp-includes/meta.php
wp-includes/ms-blogs.php
wp-includes/ms-default-filters.php
wp-includes/ms-deprecated.php
wp-includes/ms-functions.php
wp-includes/ms-load.php
wp-includes/nav-menu-template.php
wp-includes/nav-menu.php
wp-includes/option.php
wp-includes/pluggable.php
wp-includes/plugin.php
wp-includes/pomo/streams.php
wp-includes/post-formats.php
wp-includes/post-template.php
wp-includes/post-thumbnail-template.php
wp-includes/post.php
wp-includes/query.php
wp-includes/rewrite.php
wp-includes/script-loader.php
wp-includes/session.php
wp-includes/shortcodes.php
wp-includes/taxonomy.php
wp-includes/template.php
wp-includes/theme-compat/comments.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-includes/wp-diff.php
wp-load.php
wp-login.php
wp-settings.php

index 0d2eac701b7dc09fd66f2320f63748693c9cdfbf..f09135ac5196af0763e52af42db3af0b04d449e8 100644 (file)
@@ -9,7 +9,7 @@
 <body>
 <h1 id="logo">
        <a href="https://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" /></a>
-       <br /> Version 4.1.4
+       <br /> Version 4.2
 </h1>
 <p style="text-align: center">Semantic Personal Publishing Platform</p>
 
@@ -49,7 +49,7 @@
 </ol>
 
 <h1>Migrating from other systems</h1>
-<p>WordPress can <a href="http://codex.wordpress.org/Importing_Content">import from a number of systems</a>. First you need to get WordPress installed and working as described above, before using <a href="wp-admin/import.php" title="Import to WordPress">our import tools</a>.</p>
+<p>WordPress can <a href="https://codex.wordpress.org/Importing_Content">import from a number of systems</a>. First you need to get WordPress installed and working as described above, before using <a href="wp-admin/import.php" title="Import to WordPress">our import tools</a>.</p>
 
 <h1>System Requirements</h1>
 <ul>
        <li><a href="http://www.mysql.com/">MySQL</a> version <strong>5.0</strong> or higher.</li>
 </ul>
 
-<h2>System Recommendations</h2>
+<h2>Recommendations</h2>
 <ul>
+       <li><a href="http://php.net/">PHP</a> version <strong>5.4</strong> or higher.</li>
+       <li><a href="http://www.mysql.com/">MySQL</a> version <strong>5.5</strong> or higher.</li>
        <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="https://wordpress.org/">https://wordpress.org</a> on your site.</li>
+       <li>A link to <a href="https://wordpress.org/">wordpress.org</a> on your site.</li>
 </ul>
 
 <h1>Online Resources</h1>
 <p>If you have any questions that aren&#8217;t addressed in this document, please take advantage of WordPress&#8217; numerous online resources:</p>
 <dl>
-       <dt><a href="http://codex.wordpress.org/">The WordPress Codex</a></dt>
+       <dt><a href="https://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="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>
                <dd>The WordPress Planet is a news aggregator that brings together posts from WordPress blogs around the web.</dd>
        <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>
+       <dt><a href="https://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>
 </dl>
 
 <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="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>
+       <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="https://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>
index 04dc411c49943f9a129c0a372562f61e2ffd115d..57c00d0cd735dad09abba213b49df6897d11d963 100644 (file)
@@ -22,12 +22,11 @@ list( $display_version ) = explode( '-', $wp_version );
 
 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! WordPress %s helps you focus on your writing, and the new default theme lets you show it off in style.' ), $display_version ); ?></div>
+<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s helps you communicate and share, globally.' ), $display_version ); ?></div>
 
 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
 
@@ -41,134 +40,87 @@ 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', 4 ); ?></h3>
-       <p><?php printf( _n( '<strong>Version %1$s</strong> addressed a security issue.',
-         '<strong>Version %1$s</strong> addressed some security issues.', 1 ), '4.1.4' ); ?>
-               <?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_4.1.4' ); ?>
-       </p>
-       <p><?php printf( _n( '<strong>Version %1$s</strong> addressed %2$s bug.',
-         '<strong>Version %1$s</strong> addressed %2$s bugs.', 1 ), '4.1.3', number_format_i18n( 1 ) ); ?>
-               <?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_4.1.3' ); ?>
-       </p>
-       <p><?php printf( _n( '<strong>Version %1$s</strong> addressed a security issue.',
-         '<strong>Version %1$s</strong> addressed some security issues.', 8 ), '4.1.2' ); ?>
-               <?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_4.1.2' ); ?>
-       </p>
-       <p><?php printf( _n( '<strong>Version %1$s</strong> addressed %2$s bug.',
-         '<strong>Version %1$s</strong> addressed %2$s bugs.', 21 ), '4.1.1', number_format_i18n( 21 ) ); ?>
-               <?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_4.1.1' ); ?>
-       </p>
+<div class="headline-feature feature-video">
+       <embed type="application/x-shockwave-flash" src="https://v0.wordpress.com/player.swf?v=1.04" width="1000" height="560" wmode="direct" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true" flashvars="guid=e9kH4FzP&amp;isDynamicSeeking=true"></embed>
 </div>
 
-<div class="changelog headline-feature">
-       <h2><?php _e( 'Introducing Twenty&nbsp;Fifteen' ); ?></h2>
-       <div class="featured-image">
-               <img src="//s.w.org/images/core/4.1/theme.png?0" />
-       </div>
+<hr />
 
-       <div class="feature-section">
-               <div class="col">
-                       <h3><?php _e( 'Our newest default theme, Twenty Fifteen, is a blog-focused theme designed for clarity.' ); ?></h3>
-                       <p><?php printf( __( 'Twenty Fifteen has flawless language support, with help from <a href="%s">Google&#8217;s Noto font family</a>.' ), 'https://www.google.com/get/noto/' ); ?></p>
-                       <p><?php _e( 'The straightforward typography is readable on any screen size.' ); ?></p>
-                        <p><?php _e( 'Your content always takes center stage, whether viewed on a phone, tablet, laptop, or desktop computer.' ); ?></p>
-               </div>
-               <div class="col">
-                       <img class="" src="//s.w.org/images/core/4.1/mobile.png?0" />
-               </div>
+<div class="feature-section two-col">
+       <div class="col">
+               <h3><?php _e( 'An easier way to share content' ); ?></h3>
+               <p><?php printf( __( 'Clip it, edit it, publish it. Get familiar with the new and improved Press This. From the <a href="%s">Tools</a> menu, add Press This to your browser bookmark bar or your mobile device home screen. Once installed you can share your content with lightning speed. Sharing your favorite videos, images, and content has never been this fast or this easy.' ), admin_url( 'tools.php' ) ); ?></p>
+               <p><?php _e( 'Drag the bookmarklet below to your bookmarks bar. Then, when you&#8217;re on a page you want to share, simply &#8220;press&#8221; it.' ); ?></p>
+
+               <p class="pressthis-bookmarklet-demo">
+                       <a class="pressthis-bookmarklet" onclick="return false;" href="<?php echo htmlspecialchars( get_shortcut_link() ); ?>"><span><?php _e( 'Press This' ); ?></span></a>
+               </p>
        </div>
 
-       <div class="clear"></div>
+       <div class="col">
+               <img src="//s.w.org/images/core/4.2/press-this.jpg" />
+       </div>
 </div>
 
-<hr />
-
-<div class="changelog headline-feature dfw">
-       <h2><?php _e( 'Distraction-free writing' ); ?></h2>
-       <div class="feature-section">
-               <div class="dfw-container">
-                       <img src="//s.w.org/images/core/4.1/focus.png?0" class="base-image" />
-                       <img src="//s.w.org/images/core/4.1/focus1.png?0" class="overlay-image fade-in" />
-                       <img src="//s.w.org/images/core/4.1/focus2.png?0" class="overlay-image fade-in" />
-                       <img src="//s.w.org/images/core/4.1/focus3.png?0" class="overlay-image from-left" />
-               </div>
-               <h3><em><?php _e( 'Just write.' ); ?></em></h3>
-               <p><?php _e( 'Sometimes, you just need to concentrate on putting your thoughts into words. Try turning on <strong>distraction-free writing mode</strong>. When you start typing, all the distractions will fade away, letting you focus solely on your writing. All your editing tools instantly return when you need them.' ); ?></p>
+<div class="feature-section two-col">
+       <div class="col">
+               <img src="//s.w.org/images/core/4.2/unicode.png" />
+       </div>
+       <div class="col">
+               <h3><?php _e( 'Extended character support' ); ?></h3>
+               <p><?php _e( 'Writing in WordPress, whatever your language, just got better. WordPress 4.2 supports a host of new characters out-of-the-box, including native Chinese, Japanese, and Korean characters, musical and mathematical symbols, and hieroglyphs.' ); ?></p>
+               <p><?php
+                       /* translators: 1: heart emoji, 2: frog face emoji, 3, monkey emoji, 4: pizza emoji, 5: Emoji Codex link */
+                       printf( __( 'Don&#8217;t use any of those characters? You can still have fun &mdash; emoji are now available in WordPress! Get creative and decorate your content with %1$s, %2$s, %3$s, %4$s, and all the many other <a href="%5$s">emoji</a>.' ), '&#x1F499', '&#x1F438', '&#x1F412', '&#x1F355', __( 'https://codex.wordpress.org/Emoji' ) );
+               ?></p>
        </div>
 </div>
 
-<hr />
+<div class="changelog feature-section three-col">
+       <div>
+               <img src="//s.w.org/images/core/4.2/theme-switcher.png" />
+               <h3><?php _e( 'Switch themes in the Customizer' ); ?></h3>
+               <p><?php _e( 'Browse and preview your installed themes from the Customizer. Make sure the theme looks great with <em>your</em> content, before it debuts on your site. ' ); ?></p>
+       </div>
+       <div>
+               <img src="//s.w.org/images/core/4.2/embeds.png" />
+               <h3><?php _e( 'Even more embeds' ); ?></h3>
+               <p><?php _e( 'Paste links from Tumblr.com and Kickstarter and watch them magically appear right in the editor. With every release, your publishing and editing experience get closer together.' ); ?></p>
+       </div>
+       <div class="last-feature">
+               <img src="//s.w.org/images/core/4.2/plugins.png" />
+               <h3><?php _e( 'Streamlined plugin updates' ); ?></h3>
+               <p><?php _e( 'Goodbye boring loading screen, hello smooth and simple plugin updates. Click <em>Update&nbsp;Now</em> and watch the magic happen.' ); ?></p>
+       </div>
+</div>
 
-<div class="changelog feature-list finer-points">
-       <h2><?php _e( 'The Finer Points' ); ?></h2>
+<div class="changelog under-the-hood feature-list">
+       <h3><?php _e( 'Under the Hood' ); ?></h3>
 
        <div class="feature-section col two-col">
                <div>
-                       <svg viewBox="-30 -30 160 160"><path d="M57.9,28.9h-7.9c-1.6,0-3.2,0.3-4.7,1c-1.5,0.7-2.7,1.6-3.7,2.7l-4.7-14.2H21.7L9.2,55.3h8.9l3.9-10.5h14.9v21.1H10.5 c-2.9,0-5.4-1-7.4-3.1C1,60.6,0,58.1,0,55.3V18.4c0-2.9,1-5.4,3.1-7.4c2.1-2.1,4.5-3.1,7.4-3.1h36.8c2.9,0,5.4,1,7.4,3.1 c2.1,2.1,3.1,4.5,3.1,7.4V28.9z M34.3,39.5H23.6l5.3-15.4L34.3,39.5z M52.6,34.2h36.8c2.9,0,5.4,1,7.4,3.1c2.1,2.1,3.1,4.5,3.1,7.4 v36.8c0,2.9-1,5.4-3.1,7.4c-2.1,2.1-4.5,3.1-7.4,3.1H52.6c-2.9,0-5.4-1-7.4-3.1c-2.1-2.1-3.1-4.5-3.1-7.4V44.7c0-2.9,1-5.4,3.1-7.4 C47.3,35.2,49.8,34.2,52.6,34.2z M90.8,60.5v-5.7H74.1V43.4H68v11.4H51.3v5.7h6.7c0.3,2.3,1.1,4.7,2.2,7.2c1.2,2.5,2.7,4.7,4.5,6.6 c-2.2,0.9-4.5,1.7-6.9,2.3s-4.1,0.9-5.2,0.9l0.3,1.4c0.2,0.9,0.4,2,0.6,3.3c0.2,1.3,0.3,2.3,0.2,3.1c2.2,0,4.9-0.6,8.1-1.7 c3.2-1.1,6.3-2.6,9.2-4.3c2.9,1.8,6,3.2,9.3,4.3c3.3,1.1,6.1,1.7,8.3,1.7c0-0.5,0-1.1,0.1-1.8c0.1-0.7,0.2-1.4,0.3-2 c0.1-0.7,0.2-1.3,0.3-1.9c0.1-0.6,0.2-1.1,0.3-1.4l0.1-0.6c-1.2,0-3-0.3-5.4-1c-2.5-0.7-4.8-1.4-7.1-2.3c1.8-2,3.3-4.2,4.4-6.6 s1.9-4.8,2.2-7.1H90.8z M70.7,70.7c-2.7-2.5-4.4-5.8-5.3-10.2h11c-0.9,4.4-2.7,7.7-5.3,10.2l-0.2,0.2 C70.8,70.8,70.8,70.7,70.7,70.7z"/></svg>
-                       <h4><?php _e( 'Choose a language' ); ?></h4>
+                       <h4><?php _e( 'utf8mb4 support' ); ?></h4>
+                       <p><?php _e( 'Database character encoding has changed from utf8 to utf8mb4, which adds support for a whole range of new 4-byte characters.' ); ?></p>
+
+                       <h4><?php _e( 'JavaScript accessibility' ); ?></h4>
                        <p><?php
-                               $count = '<span id="translations-count">' . 40 . '</span>';
-                               $string = __( 'Right now, WordPress %1$s is already translated into %2$s languages, with more always in progress. You can switch to any translation on the <a href="%3$s">General Settings</a> screen.' );
-                               if ( ! current_user_can( 'manage_options' ) ) {
-                                       $string = strip_tags( $string );
-                               }
-                               echo sprintf( $string, $display_version, $count, admin_url( 'options-general.php' ) );
+                               /* translators: %s wp.a11y.speak() */
+                               printf( __( 'You can now send audible notifications to screen readers in JavaScript with %s. Pass it a string, and an update will be sent to a dedicated ARIA live notifications area.' ), '<code>wp.a11y.speak()</code>' );
                        ?></p>
                </div>
-
                <div class="last-feature">
-                       <svg viewBox="-30 -30 160 160"><path d="M35.3,26.5H5.9c-1.5,0-2.9-0.6-4.1-1.7C0.6,23.6,0,22.2,0,20.6c0-1.6,0.6-3,1.7-4.1c1.2-1.2,2.5-1.7,4.1-1.7h29.4 c1.6,0,3,0.6,4.1,1.7c1.2,1.2,1.7,2.5,1.7,4.1c0,1.6-0.6,3-1.7,4.1C38.3,25.9,36.9,26.5,35.3,26.5z M68.9,77.7 c-1.2,1.2-2.5,1.7-4.1,1.7H17.6c-1.6,0-3-0.6-4.1-1.7c-1.2-1.2-1.7-2.5-1.7-4.1V38.2c0-1.6,0.6-3,1.7-4.1c1.2-1.2,2.5-1.7,4.1-1.7 h47.1c1.6,0,3,0.6,4.1,1.7c1.2,1.2,1.7,2.5,1.7,4.1v35.3C70.6,75.1,70,76.5,68.9,77.7z M76.5,61.8L100,85.3V26.5L76.5,50V61.8z"/></svg>
-                       <h4><?php _e( 'Vine embeds' ); ?></h4>
-                       <p><?php printf( __( 'Embedding videos from Vine is as simple as pasting a URL onto its own line in a post. See the <a href="%s">full list</a> of supported embeds.' ), 'http://codex.wordpress.org/Embeds' ); ?></p>
-               </div>
-
-               <div>
-                       <svg viewBox="-30 -30 160 160"><path d="M61.4,78.6V61.4L72.9,50v40H10V27.1h45.7L44.3,38.6H21.4v40H61.4z M44.3,10H90v45.7L78.6,50V32.4l-32,31.9l-8.1-8.1 l34.8-34.9H50L44.3,10z"/></svg>
-                       <h4><?php _e( 'Log out everywhere' ); ?></h4>
-                       <p><?php printf( __( 'If you&#8217;ve ever worried you forgot to sign out from a shared computer, you can now go to <a href="%s">your profile</a> and log out everywhere.' ), get_edit_profile_url() ); ?></p>
-               </div>
-
-               <div class="last-feature">
-                       <svg viewBox="-30 -30 160 160"><path d="M35.1,30.1l4.7-5.8l46.4,46.4L80,75c-1.7,1.7-4.6,3.1-8.6,4.3c-4,1.1-7.7,1.7-11,1.7h-20L34,87.4 c-1.5,1.5-3.3,2.3-5.5,2.3c-2.1,0-3.9-0.8-5.5-2.3c-1.5-1.5-2.3-3.3-2.3-5.4c0-2.1,0.8-4,2.3-5.5l6.4-6.4v-20 c0-3.3,0.5-7,1.6-11.2C32.1,34.7,33.4,31.8,35.1,30.1z M76.2,21L59.6,37.7L49.9,28l16.7-16.7c0.9-0.9,2.1-1.2,3.7-0.8 c1.6,0.3,3,1.2,4.3,2.5c1.3,1.3,2.2,2.7,2.5,4.3C77.4,18.9,77.1,20.1,76.2,21z M72.4,50.5l16.7-16.7c0.9-0.9,2.1-1.2,3.7-0.9 c1.6,0.3,3,1.1,4.3,2.5c1.3,1.3,2.2,2.7,2.5,4.3c0.3,1.6,0,2.8-0.9,3.7L82,60.1L72.4,50.5z"/><path d="M10.9,40.4l3.4,6.8L21,48l-4.7,5.2l1.3,7.5l-6.8-3.4l-6.8,3.4l1.3-7.5L0.7,48l6.8-0.8L10.9,40.4z"/></svg>
-                       <h4><?php _e( 'Plugin recommendations' ); ?></h4>
+                       <h4><?php _e( 'Shared term splitting' ); ?></h4>
                        <p><?php
-                               $string = __( 'The <a href="%s">plugin installer</a> suggests plugins for you to try. Recommendations are based on the plugins you and other users have installed.' );
-                               if ( ! current_user_can( 'install_plugins' ) ) {
-                                       $string = strip_tags( $string );
-                               }
-                               echo sprintf( $string, network_admin_url( 'plugin-install.php?tab=recommended' ) );
+                               /* translators: 1: Term splitting guide link */
+                               printf( __( 'Terms shared across multiple taxonomies will be split when one of them is updated. Find out more in the <a href="%1$s">Plugin Developer Handbook</a>.' ), 'https://developer.wordpress.org/plugins/taxonomy/working-with-split-terms-in-wp-4-2/' );
                        ?></p>
-               </div>
-       </div>
-</div>
-
-<hr />
 
-<div class="changelog feature-list">
-       <h2><?php _e( 'Under the Hood' ); ?></h3>
-
-       <div class="feature-section col two-col">
-               <div>
-                       <h4><?php _e( 'Complex Queries' ); ?></h4>
-                       <p><?php printf( __( 'Metadata, date, and term queries now support advanced conditional logic, like nested clauses and multiple operators &mdash; %s.' ), '<code>A&nbsp;AND&nbsp;(&nbsp;B&nbsp;OR&nbsp;C&nbsp;)</code>' ); ?></p>
-
-                       <h4><?php _e( 'Customizer API' ); ?></h4>
-                       <p><?php _e( 'Expanded JavaScript APIs in the customizer enable a new media experience as well as dynamic and contextual controls, sections, and panels.' ); ?></p>
-               </div>
-               <div class="last-feature">
-                       <h4><?php
-                               /* translators: %s: "<title>" tag */
-                               printf( __( '%s tags in themes' ), '<code>&lt;title&gt;</code>' );
-                       ?></h4>
+                       <h4><?php _e( 'Complex query ordering' ); ?></h4>
                        <p><?php
-                               printf( __( '%s tells WordPress to handle the complexities of document titles.' ), "<code>add_theme_support( 'title-tag' )</code>" );
+                               /* translators: 1: WP_Query, 2: WP_Comment_Query, 3: WP_User_Query */
+                               printf( __( '%1$s, %2$s, and %3$s now support complex ordering with named meta query clauses.' ), '<code>WP_Query</code>', '<code>WP_Comment_Query</code>', '<code>WP_User_Query</code>' );
                        ?></p>
-
-                       <h4><?php _e( 'Developer Reference' ); ?></h4>
-                       <p><?php printf( __( 'Continued improvements to inline code documentation have made the <a href="%s">developer reference</a> more complete than ever.' ), 'https://developer.wordpress.org/reference/' ); ?></p>
                </div>
-       </div>
 
        <hr />
 
@@ -184,18 +136,6 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 </div>
 
 </div>
-
-<script>
-jQuery(document).ready( function($) {
-       $.ajax( 'https://api.wordpress.org/translations/core/1.0/?version=4.1',
-               { 'type' : 'HEAD' } ).done( function( data, textStatus, jqXHR ) {
-                       var count = jqXHR.getResponseHeader( 'X-Translations-Count' );
-                       if ( count ) {
-                               $( '#translations-count' ).text( count );
-                       }
-       });
-});
-</script>
 <?php
 
 include( ABSPATH . 'wp-admin/admin-footer.php' );
index a3571afb585248dbf7957889d138b7e4c7bb8d6e..752da778f040315bb7f99d4ee0114062005c713e 100644 (file)
@@ -5,7 +5,7 @@
  * @package WordPress
  * @subpackage Administration
  *
- * @link http://codex.wordpress.org/AJAX_in_Plugins
+ * @link https://codex.wordpress.org/AJAX_in_Plugins
  */
 
 /**
@@ -61,7 +61,8 @@ $core_actions_post = array(
        'query-attachments', 'save-attachment', 'save-attachment-compat', 'send-link-to-editor',
        'send-attachment-to-editor', 'save-attachment-order', 'heartbeat', 'get-revision-diffs',
        'save-user-color-scheme', 'update-widget', 'query-themes', 'parse-embed', 'set-attachment-thumbnail',
-       'parse-media-shortcode', 'destroy-sessions'
+       'parse-media-shortcode', 'destroy-sessions', 'install-plugin', 'update-plugin', 'press-this-save-post',
+       'press-this-add-category',
 );
 
 // Register core Ajax calls.
index f7ef1103920e565163f86af7ca1637547347efc0..ce8b415392a6917d8741a30d840dc3a3e7d0f083 100644 (file)
@@ -15,7 +15,7 @@ if ( !defined('ABSPATH') )
 <div class="clear"></div></div><!-- wpbody -->
 <div class="clear"></div></div><!-- wpcontent -->
 
-<div id="wpfooter">
+<div id="wpfooter" role="contentinfo">
        <?php
        /**
         * Fires after the opening tag for the admin footer.
index 59b8f121cd74fc2e0fabbf2075010cb0b1ef66d4..8b6b6a021f8911b5836af1e3f780dd6db3eb829e 100644 (file)
@@ -190,7 +190,6 @@ if ( current_user_can( 'customize' ) ) {
 ?>
 
 <div id="wpwrap">
-<a tabindex="1" href="#wpbody-content" class="screen-reader-shortcut"><?php _e('Skip to main content'); ?></a>
 <?php require(ABSPATH . 'wp-admin/menu-header.php'); ?>
 <div id="wpcontent">
 
@@ -203,7 +202,7 @@ if ( current_user_can( 'customize' ) ) {
 do_action( 'in_admin_header' );
 ?>
 
-<div id="wpbody">
+<div id="wpbody" role="main">
 <?php
 unset($title_class, $blog_name, $total_update_count, $update_title);
 
index 793dc511f6824e95531a881286271664ee6a1465..22813cc74fc04b7e43fc47e13acfbe796b9d93e1 100644 (file)
@@ -63,7 +63,11 @@ if ( get_option('db_upgraded') ) {
         */
        } elseif ( apply_filters( 'do_mu_upgrade', true ) ) {
                $c = get_blog_count();
-               // If 50 or fewer sites, run every time. Else, run "about ten percent" of the time. Shh, don't check that math.
+
+               /*
+                * If there are 50 or fewer sites, run every time. Otherwise, throttle to reduce load:
+                * attempt to do no more than threshold value, with some +/- allowed.
+                */
                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' ) );
@@ -90,6 +94,15 @@ $time_format = get_option('time_format');
 
 wp_enqueue_script( 'common' );
 
+// $pagenow is set in vars.php
+// $wp_importers is sometimes set in wp-admin/includes/import.php
+//
+// The remaining variables are imported as globals elsewhere,
+//     declared as globals here
+global $pagenow, $wp_importers, $hook_suffix, $plugin_page, $typenow, $taxnow;
+
+$page_hook = null;
+
 $editing = false;
 
 if ( isset($_GET['page']) ) {
@@ -167,12 +180,13 @@ if ( isset($plugin_page) ) {
 }
 
 $hook_suffix = '';
-if ( isset($page_hook) )
+if ( isset( $page_hook ) ) {
        $hook_suffix = $page_hook;
-else if ( isset($plugin_page) )
+} elseif ( isset( $plugin_page ) ) {
        $hook_suffix = $plugin_page;
-else if ( isset($pagenow) )
+} elseif ( isset( $pagenow ) ) {
        $hook_suffix = $pagenow;
+}
 
 set_current_screen();
 
@@ -206,7 +220,7 @@ if ( isset($plugin_page) ) {
                /**
                 * Used to call the registered callback for a plugin screen.
                 *
-                * @internal
+                * @ignore
                 * @since 1.5.0
                 */
                do_action( $page_hook );
@@ -243,7 +257,7 @@ if ( isset($plugin_page) ) {
        include(ABSPATH . 'wp-admin/admin-footer.php');
 
        exit();
-} else if (isset($_GET['import'])) {
+} elseif ( isset( $_GET['import'] ) ) {
 
        $importer = $_GET['import'];
 
index 1c46b0a9f1c1e9e1526876ccbda1ce40fb7143f5..c2487335b892c40058019a8e71bfb56cbae152c3 100644 (file)
@@ -12,6 +12,7 @@ require_once( dirname( __FILE__ ) . '/admin.php' );
 $parent_file = 'edit-comments.php';
 $submenu_file = 'edit-comments.php';
 
+global $action;
 wp_reset_vars( array('action') );
 
 if ( isset( $_POST['deletecomment'] ) )
@@ -55,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="https://codex.wordpress.org/Administration_Screens#Comments" target="_blank">Documentation on Comments</a>' ) . '</p>' .
        '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
        );
 
@@ -113,19 +114,17 @@ case 'spam'    :
 ?>
 <div class="wrap">
 
-<div class="narrow">
-
 <h2><?php echo esc_html( $title ); ?></h2>
 
 <?php
 switch ( $action ) {
        case 'spam' :
                $caution_msg = __('You are about to mark the following comment as spam:');
-               $button      = __('Spam Comment');
+               $button      = __('Mark as Spam');
                break;
        case 'trash' :
                $caution_msg = __('You are about to move the following comment to the Trash:');
-               $button      = __('Trash Comment');
+               $button      = __('Move to Trash');
                break;
        case 'delete' :
                $caution_msg = __('You are about to delete the following comment:');
@@ -150,14 +149,15 @@ if ( $comment->comment_approved != '0' ) { // if not unapproved
                        $message  = __('This comment is currently in the Trash.');
                        break;
        }
-       if ( $message )
-               echo '<div class="updated"><p>' . $message . '</p></div>';
+       if ( $message ) {
+               echo '<div class="notice notice-info"><p>' . $message . '</p></div>';
+       }
 }
 ?>
 <p><strong><?php _e('Caution:'); ?></strong> <?php echo $caution_msg; ?></p>
 
 <table class="form-table comment-ays">
-<tr class="alt">
+<tr>
 <th scope="row"><?php _e('Author'); ?></th>
 <td><?php echo $comment->comment_author; ?></td>
 </tr>
@@ -173,22 +173,54 @@ if ( $comment->comment_approved != '0' ) { // if not unapproved
 <td><a href="<?php echo $comment->comment_author_url; ?>"><?php echo $comment->comment_author_url; ?></a></td>
 </tr>
 <?php } ?>
+<tr>
+       <th scope="row"><?php _e( 'In Response To' ); ?></th>
+       <td>
+       <?php
+               $post_id = $comment->comment_post_ID;
+               if ( current_user_can( 'edit_post', $post_id ) ) {
+                       $post_link = "<a href='" . esc_url( get_edit_post_link( $post_id ) ) . "'>";
+                       $post_link .= esc_html( get_the_title( $post_id ) ) . '</a>';
+               } else {
+                       $post_link = esc_html( get_the_title( $post_id ) );
+               }
+               echo $post_link;
+
+               if ( $comment->comment_parent ) {
+                       $parent      = get_comment( $comment->comment_parent );
+                       $parent_link = esc_url( get_comment_link( $comment->comment_parent ) );
+                       $name        = get_comment_author( $parent->comment_ID );
+                       printf( ' | ' . __( 'In reply to <a href="%1$s">%2$s</a>.' ), $parent_link, $name );
+               }
+       ?>
+       </td>
+</tr>
+<tr>
+       <th scope="row"><?php _e( 'Submitted on' ); ?></th>
+       <td>
+       <?php
+               /* translators: 2: comment date, 3: comment time */
+               printf( __( '<a href="%1$s">%2$s at %3$s</a>' ),
+                       esc_url( get_comment_link( $comment->comment_ID ) ),
+                       /* translators: comment date format. See http://php.net/date */
+                       get_comment_date( __( 'Y/m/d' ) ),
+                       get_comment_date( get_option( 'time_format' ) )
+               );
+       ?>
+       </td>
+</tr>
 <tr>
 <th scope="row"><?php /* translators: field name in comment form */ _ex('Comment', 'noun'); ?></th>
 <td><?php echo $comment->comment_content; ?></td>
 </tr>
 </table>
 
-<p><?php _e('Are you sure you want to do this?'); ?></p>
-
-<form action="comment.php" method="get">
+<form action="comment.php" method="get" class="comment-ays-submit">
 
-<table width="100%">
-<tr>
-<td><a class="button" href="<?php echo admin_url('edit-comments.php'); ?>"><?php esc_attr_e('No'); ?></a></td>
-<td class="textright"><?php submit_button( $button, 'button' ); ?></td>
-</tr>
-</table>
+<p>
+       <?php submit_button( $button, 'primary', 'submit', false ); ?>
+       <a href="<?php echo admin_url('edit-comments.php'); ?>" class="button-cancel"><?php esc_attr_e( 'Cancel' ); ?></a></td>
+</p>
 
 <?php wp_nonce_field( $nonce_action ); ?>
 <input type="hidden" name="action" value="<?php echo esc_attr($formaction); ?>" />
@@ -196,7 +228,6 @@ if ( $comment->comment_approved != '0' ) { // if not unapproved
 <input type="hidden" name="noredir" value="1" />
 </form>
 
-</div>
 </div>
 <?php
        break;
index d7cbc1901ed35919f15543faf66ce0d86e95c0a0..4e160f4eb2f952190fb86ff2e7c045f37e0c4825 100644 (file)
@@ -82,7 +82,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 
 <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
 
-<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s helps you focus on your writing, and the new default theme lets you show it off in style.' ), $display_version ); ?></div>
+<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s helps you communicate and share, globally.' ), $display_version ); ?></div>
 
 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
 
@@ -104,7 +104,7 @@ 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>.' ),
                '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>';
+               __( 'https://codex.wordpress.org/Contributing_to_WordPress' ) ) . '</p>';
        include( ABSPATH . 'wp-admin/admin-footer.php' );
        exit;
 }
@@ -147,7 +147,7 @@ foreach ( $credits['groups'] as $group_slug => $group_data ) {
                                echo '<li class="wp-person" id="wp-person-' . $person_data[2] . '">' . "\n\t";
                                echo '<a href="' . sprintf( $credits['data']['profiles'], $person_data[2] ) . '">';
                                $size = 'compact' == $group_data['type'] ? '30' : '60';
-                               echo '<img src="' . $gravatar . $person_data[1] . '?s=' . $size . '" class="gravatar" alt="' . esc_attr( $person_data[0] ) . '" /></a>' . "\n\t";
+                               echo '<img src="' . $gravatar . $person_data[1] . '?s=' . $size . '" srcset="' . $gravatar . $person_data[1] . '?s=' . $size * 2 . ' 2x" class="gravatar" alt="' . esc_attr( $person_data[0] ) . '" /></a>' . "\n\t";
                                echo '<a class="web" href="' . sprintf( $credits['data']['profiles'], $person_data[2] ) . '">' . $person_data[0] . "</a>\n\t";
                                if ( ! $compact )
                                        echo '<span class="title">' . translate( $person_data[3] ) . "</span>\n";
index b17a4059a89d8f28553f8ec873c4507f32668049..a05517688a04a2f148c8aa92ec27fb31c19b3043 100644 (file)
@@ -44,7 +44,7 @@
 /* WordPress Version Badge */
 
 .wp-badge {
-       background: #0074a2 url(../images/w-logo-white.png?ver=20131202) no-repeat;
+       background: #0073aa url(../images/w-logo-white.png?ver=20131202) no-repeat;
        background-position: center 24px;
        -webkit-background-size: 85px 85px;
        background-size: 85px 85px;
 
 .about-wrap h1 {
        margin: 0.2em 0 0 200px;
-       color: #333;
+       color: #32373c;
        line-height: 1.2em;
        font-size: 2.8em;
        font-weight: 400;
 }
 
 .about-wrap h3 {
-       margin: 2em 0 .6em;
+       margin: 1.25em 0 .6em;
        font-size: 1.25em;
        line-height: 1.5em;
 }
 
 .about-wrap h4 {
-       color: #222;
+       color: #23282d;
 }
 
 .about-wrap code,
        float: right;
 }
 
-.about-wrap .col .last-feature {
+.about-wrap [class$=col] .last-feature {
        margin-left: 0;
 }
 
 /* 2.1 - Typography */
 
 .about-wrap .headline-feature h2 {
-       margin: 1.1em 0 0.2em;
-       font-size: 2.4em;
+       margin: 50px 0 30px;
+       font-size: 2.2em;
        font-weight: 300;
        line-height: 1.3;
-       text-align: center;
+       text-align: right;
 }
 
-.about-wrap .feature-list h2 {
-       margin: 30px 0 15px;
+.about-wrap .headline-feature h3 {
+       margin-top: 30px;
        text-align: center;
 }
 
-.about-wrap .dfw h3 {
-       margin-top: 1em;
+.about-wrap .feature-list h2 {
+       margin: 30px 0 15px;
        text-align: center;
 }
 
 .about-wrap .feature-section h4 {
        margin: 1.4em 0 0.6em 0;
-       font-size: 1.2em;
+       font-size: 1em;
 }
 
 .about-wrap .feature-section p {
        margin-top: 0.6em;
 }
 
-.about-wrap .dfw p {
-       max-width: 68%;
-       margin: 0 auto 20px;
+/* 2.2 - Structure */
+
+.about-wrap .feature-video {
+       position: relative;
+       margin: 40px 0;
+       padding-bottom: 56.25%; /* video is 1280 x 720 */
+       width: 100%;
+       height: 0;
+       text-align: center;
 }
 
-/* 2.2 - Structure */
+.about-wrap .feature-video embed {
+       position: absolute;
+       top: 0;
+       right: 0;
+       width: 100%;
+       height: 100%;
+}
 
 .about-wrap .featured-image {
        text-align: center;
 
 .about-wrap .feature-section {
        overflow: hidden;
-       padding-bottom: 20px;
+       padding: 0 0 40px;
+       border-bottom: 1px solid rgba(0, 0, 0, 0.1);
 }
 
 .about-wrap .headline-feature .feature-section {
        margin: 0 auto;
-       max-width: 82%;
+       max-width: 95%;
 }
 
-.about-wrap .headline-feature .feature-section .col:first-child {
+.about-wrap .feature-section .col:nth-of-type(odd) {
        float: right;
-       margin: 15px 0 0 5%;
-       width: 55%;
+       margin: 40px 0 0 5%;
+       width: 48%;
 }
 
-.about-wrap .headline-feature .feature-section .col:last-child {
+.about-wrap .feature-section .col:nth-of-type(even) {
        float: left;
-       margin: 15px 0 40px;
-       width: 40%;
-}
-
-.about-wrap .feature-list .feature-section {
-       margin-top: 0;
-}
-
-.about-wrap .dfw .feature-section {
-       overflow: visible;
-}
-
-.about-wrap .dfw-container {
-       position: relative;
-       overflow: hidden;
-       margin-top: 50px;
-       -webkit-box-shadow: 0 0 10px rgba( 0, 0, 0, 0.25 );
-       box-shadow: 0 0 10px rgba( 0, 0, 0, 0.25 );
+       margin: 40px 0 0;
+       width: 46%;
 }
 
-.about-wrap .dfw-container .overlay-image {
-       position: absolute;
-       top: 0;
-       right: 0;
-       /* Cubic Bezier to speed up the slide-out of the full-width sidebar image */
-       -webkit-transition: 0.8s -webkit-transform cubic-bezier(.9,.03,1,.61),
-                   0.65s opacity linear;
-       transition: 0.8s transform cubic-bezier(.9,.03,1,.61),
-                   0.65s opacity linear;
+.about-wrap .changelog {
+       margin-bottom: 40px;
 }
 
-.about-wrap .dfw-container .overlay-image.fade-in {
-       opacity: 0;
-}
-
-.about-wrap .dfw-container .overlay-image.from-left {
-       -webkit-transform: translate3d(-100%, 0, 0);
-       transform: translate3d(-100%, 0, 0);
-}
-
-.about-wrap .dfw-container:hover .overlay-image {
-       opacity: 1;
-       -webkit-transform: translate3d(0, 0, 0);
-       transform: translate3d(0, 0, 0);
-       /* Cubic Bezier to speed up the slide-in of the full-width sidebar image */
-       -webkit-transition: 0.7s -webkit-transform cubic-bezier( 0, 0.8, 0.8, 1 ),
-                   0.8s opacity linear;
-       transition: 0.7s transform cubic-bezier( 0, 0.8, 0.8, 1 ),
-                   0.8s opacity linear;
+.about-wrap .changelog.feature-section > div {
+       margin-top: 40px;
 }
 
 /* Return to Dashboard Home link */
        padding: 0 5px;
 }
 
-/* SVGs */
-.about-wrap .feature-list svg {
-       float: right;
-       clear: right;
-       margin: 15px 0 0 15px ;
-       height: 90px;
-       width: 90px;
-       background-color: #cccccc;
-       -webkit-border-radius: 50%;
-       border-radius: 50%;
-       fill: #999;
-       border: 1px solid #c1c1c1;
-}
-
 .about-wrap .feature-list.finer-points h4,
 .about-wrap .feature-list.finer-points p {
        margin-right: 115px;
 ------------------------------------------------------------------------------*/
 
 @media screen and ( max-width: 782px ) {
+       .about-wrap .feature-section {
+               padding: 0;
+               border-bottom: none;
+       }
+
        .about-wrap .one-col > div,
        .about-wrap .two-col > div,
-       .about-wrap .three-col > div {
+       .about-wrap .three-col > div,
+       .about-wrap .two-col .col:nth-of-type(n) {
                width: 100%;
-               margin: 0 0 40px;
+               margin: 40px 0 0;
                padding: 0 0 40px;
                border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        }
 
-       .about-wrap .feature-list div,
-       .about-wrap .col > div.last-feature {
+       .about-wrap .two-col .col h3 {
+               margin-top: 0;
+       }
+
+       .about-wrap .three-col img {
+               display: block;
+               margin: 0 auto;
+       }
+
+       .about-wrap .feature-list div {
                margin: 0;
                padding: 0;
                border-bottom: none;
index 09f1b219beaa468e7edb6dcda464ce5d79153ef1..58e7890d94c0cbc4329c9fbfe5edd4f9b0308116 100644 (file)
@@ -44,7 +44,7 @@
 /* WordPress Version Badge */
 
 .wp-badge {
-       background: #0074a2 url(../images/w-logo-white.png?ver=20131202) no-repeat;
+       background: #0073aa url(../images/w-logo-white.png?ver=20131202) no-repeat;
        background-position: center 24px;
        -webkit-background-size: 85px 85px;
        background-size: 85px 85px;
 
 .about-wrap h1 {
        margin: 0.2em 200px 0 0;
-       color: #333;
+       color: #32373c;
        line-height: 1.2em;
        font-size: 2.8em;
        font-weight: 400;
 }
 
 .about-wrap h3 {
-       margin: 2em 0 .6em;
+       margin: 1.25em 0 .6em;
        font-size: 1.25em;
        line-height: 1.5em;
 }
 
 .about-wrap h4 {
-       color: #222;
+       color: #23282d;
 }
 
 .about-wrap code,
        float: left;
 }
 
-.about-wrap .col .last-feature {
+.about-wrap [class$=col] .last-feature {
        margin-right: 0;
 }
 
 /* 2.1 - Typography */
 
 .about-wrap .headline-feature h2 {
-       margin: 1.1em 0 0.2em;
-       font-size: 2.4em;
+       margin: 50px 0 30px;
+       font-size: 2.2em;
        font-weight: 300;
        line-height: 1.3;
-       text-align: center;
+       text-align: left;
 }
 
-.about-wrap .feature-list h2 {
-       margin: 30px 0 15px;
+.about-wrap .headline-feature h3 {
+       margin-top: 30px;
        text-align: center;
 }
 
-.about-wrap .dfw h3 {
-       margin-top: 1em;
+.about-wrap .feature-list h2 {
+       margin: 30px 0 15px;
        text-align: center;
 }
 
 .about-wrap .feature-section h4 {
        margin: 1.4em 0 0.6em 0;
-       font-size: 1.2em;
+       font-size: 1em;
 }
 
 .about-wrap .feature-section p {
        margin-top: 0.6em;
 }
 
-.about-wrap .dfw p {
-       max-width: 68%;
-       margin: 0 auto 20px;
+/* 2.2 - Structure */
+
+.about-wrap .feature-video {
+       position: relative;
+       margin: 40px 0;
+       padding-bottom: 56.25%; /* video is 1280 x 720 */
+       width: 100%;
+       height: 0;
+       text-align: center;
 }
 
-/* 2.2 - Structure */
+.about-wrap .feature-video embed {
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 100%;
+       height: 100%;
+}
 
 .about-wrap .featured-image {
        text-align: center;
 
 .about-wrap .feature-section {
        overflow: hidden;
-       padding-bottom: 20px;
+       padding: 0 0 40px;
+       border-bottom: 1px solid rgba(0, 0, 0, 0.1);
 }
 
 .about-wrap .headline-feature .feature-section {
        margin: 0 auto;
-       max-width: 82%;
+       max-width: 95%;
 }
 
-.about-wrap .headline-feature .feature-section .col:first-child {
+.about-wrap .feature-section .col:nth-of-type(odd) {
        float: left;
-       margin: 15px 5% 0 0;
-       width: 55%;
+       margin: 40px 5% 0 0;
+       width: 48%;
 }
 
-.about-wrap .headline-feature .feature-section .col:last-child {
+.about-wrap .feature-section .col:nth-of-type(even) {
        float: right;
-       margin: 15px 0 40px;
-       width: 40%;
-}
-
-.about-wrap .feature-list .feature-section {
-       margin-top: 0;
-}
-
-.about-wrap .dfw .feature-section {
-       overflow: visible;
-}
-
-.about-wrap .dfw-container {
-       position: relative;
-       overflow: hidden;
-       margin-top: 50px;
-       -webkit-box-shadow: 0 0 10px rgba( 0, 0, 0, 0.25 );
-       box-shadow: 0 0 10px rgba( 0, 0, 0, 0.25 );
+       margin: 40px 0 0;
+       width: 46%;
 }
 
-.about-wrap .dfw-container .overlay-image {
-       position: absolute;
-       top: 0;
-       left: 0;
-       /* Cubic Bezier to speed up the slide-out of the full-width sidebar image */
-       -webkit-transition: 0.8s -webkit-transform cubic-bezier(.9,.03,1,.61),
-                   0.65s opacity linear;
-       transition: 0.8s transform cubic-bezier(.9,.03,1,.61),
-                   0.65s opacity linear;
+.about-wrap .changelog {
+       margin-bottom: 40px;
 }
 
-.about-wrap .dfw-container .overlay-image.fade-in {
-       opacity: 0;
-}
-
-.about-wrap .dfw-container .overlay-image.from-left {
-       -webkit-transform: translate3d(-100%, 0, 0);
-       transform: translate3d(-100%, 0, 0);
-}
-
-.about-wrap .dfw-container:hover .overlay-image {
-       opacity: 1;
-       -webkit-transform: translate3d(0, 0, 0);
-       transform: translate3d(0, 0, 0);
-       /* Cubic Bezier to speed up the slide-in of the full-width sidebar image */
-       -webkit-transition: 0.7s -webkit-transform cubic-bezier( 0, 0.8, 0.8, 1 ),
-                   0.8s opacity linear;
-       transition: 0.7s transform cubic-bezier( 0, 0.8, 0.8, 1 ),
-                   0.8s opacity linear;
+.about-wrap .changelog.feature-section > div {
+       margin-top: 40px;
 }
 
 /* Return to Dashboard Home link */
        padding: 0 5px;
 }
 
-/* SVGs */
-.about-wrap .feature-list svg {
-       float: left;
-       clear: left;
-       margin: 15px 15px 0 0 ;
-       height: 90px;
-       width: 90px;
-       background-color: #cccccc;
-       -webkit-border-radius: 50%;
-       border-radius: 50%;
-       fill: #999;
-       border: 1px solid #c1c1c1;
-}
-
 .about-wrap .feature-list.finer-points h4,
 .about-wrap .feature-list.finer-points p {
        margin-left: 115px;
 ------------------------------------------------------------------------------*/
 
 @media screen and ( max-width: 782px ) {
+       .about-wrap .feature-section {
+               padding: 0;
+               border-bottom: none;
+       }
+
        .about-wrap .one-col > div,
        .about-wrap .two-col > div,
-       .about-wrap .three-col > div {
+       .about-wrap .three-col > div,
+       .about-wrap .two-col .col:nth-of-type(n) {
                width: 100%;
-               margin: 0 0 40px;
+               margin: 40px 0 0;
                padding: 0 0 40px;
                border-bottom: 1px solid rgba(0, 0, 0, 0.1);
        }
 
-       .about-wrap .feature-list div,
-       .about-wrap .col > div.last-feature {
+       .about-wrap .two-col .col h3 {
+               margin-top: 0;
+       }
+
+       .about-wrap .three-col img {
+               display: block;
+               margin: 0 auto;
+       }
+
+       .about-wrap .feature-list div {
                margin: 0;
                padding: 0;
                border-bottom: none;
index f18ead9911fb3dda593a992dd86a0c26d79ca48b..65e535356350df3ba48e40ec6b11f437fccef1e2 100644 (file)
@@ -3,14 +3,14 @@
 #adminmenu,
 #adminmenu .wp-submenu {
        width: 160px;
-       background-color: #222;
+       background-color: #23282d;
 }
 
 #adminmenuback {
-       position: absolute;
+       position: fixed;
        top: 0;
-       bottom: 0;
-       z-index: -1;
+       bottom: -120px;
+       z-index: 1; /* positive z-index to avoid elastic scrolling woes in Safari */
 }
 
 #adminmenu {
 }
 
 #adminmenu .wp-submenu a {
-       color: #bbb;
+       color: #b4b9be;
+       color: rgba(240,245,250,0.7);
 }
 
 #adminmenu .wp-submenu a:hover,
 #adminmenu li.menu-top > a:focus,
 #adminmenu .wp-submenu a:hover,
 #adminmenu .wp-submenu a:focus {
-       color: #45bbe6;
+       color: #00b9eb;
 }
 
 #adminmenu li.menu-top {
 .folded #adminmenu .wp-has-current-submenu .wp-submenu {
        padding: 7px 0 8px;
        z-index: 9999;
-       background-color: #333;
+       background-color: #32373c;
        -webkit-box-shadow: 0 3px 5px rgba(0,0,0,0.2);
        box-shadow: 0 3px 5px rgba(0,0,0,0.2);
 }
        margin-top: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
-       background-color: #333;
+       background-color: #32373c;
 }
 
 /* ensure that wp-submenu's box shadow doesn't appear on top of the focused menu item's background. */
 #adminmenu li.opensub > a.menu-top,
 #adminmenu li > a.menu-top:focus {
        position: relative;
-       background-color: #111;
+       background-color: #191e23;
+       color: #00b9eb;
 }
 
 .folded #adminmenu li.menu-top:hover,
 #adminmenu .wp-menu-arrow,
 #adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,
 #adminmenu .wp-menu-arrow div {
-       background: #0074a2;
+       background: #0073aa;
        color: #fff;
 }
 
 }
 
 div.wp-menu-image:before {
-       color: #999;
+       color: #a0a5aa;
+       color: rgba(240,245,250,0.6);
        padding: 7px 0;
        -webkit-transition: all .1s ease-in-out;
        transition: all .1s ease-in-out;
 }
 
 #adminmenu div.wp-menu-image:before {
-       color: #999;
+       color: #a0a5aa;
+       color: rgba(240,245,250,0.6);
 }
 
 #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 {
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before {
        color: #fff;
 }
 
-#adminmenu li:hover div.wp-menu-image:before {
-       color: #45bbe6;
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before {
+       color: #00b9eb;
+}
+
+/* IE8 doesn't redraw the pseudo elements unless you make a change to the content, this restore the initial color after hover */
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
+       color: #a0a5aa;
 }
 
 .folded #adminmenu div.wp-menu-image {
@@ -464,7 +477,7 @@ ul#adminmenu > li.current > a.current:after {
 }
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-       border-left-color: #333;
+       border-left-color: #32373c;
 }
 
 #adminmenu li.menu-top:hover .wp-menu-image img,
@@ -500,8 +513,7 @@ ul#adminmenu > li.current > a.current:after {
 }
 
 #adminmenu .awaiting-mod,
-#adminmenu .update-plugins,
-#sidemenu li a span.update-plugins {
+#adminmenu .update-plugins {
        display: inline-block;
        background-color: #d54e21;
        color: #fff;
@@ -516,20 +528,18 @@ ul#adminmenu > li.current > a.current:after {
 }
 
 #adminmenu li .awaiting-mod span,
-#adminmenu li span.update-plugins span,
-#sidemenu li a span.update-plugins span {
+#adminmenu li 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: #45bbe6;
+       background-color: #00b9eb;
        color: #fff;
 }
 
-#adminmenu li span.count-0,
-#sidemenu li a .count-0 {
+#adminmenu li span.count-0 {
        display: none;
 }
 
@@ -537,14 +547,15 @@ ul#adminmenu > li.current > a.current:after {
        font-size: 13px;
        line-height: 34px;
        margin-top: 10px;
-       color: #aaa;
+       color: #a0a5aa;
+       color: rgba(240,245,250,0.6);
        -webkit-transition: all .1s ease-in-out;
        transition: all .1s ease-in-out;
 }
 
 #collapse-menu:hover,
 #collapse-menu:hover #collapse-button div:after {
-       color: #45bbe6;
+       color: #00b9eb;
 }
 
 .folded #collapse-menu span {
@@ -576,7 +587,8 @@ ul#adminmenu > li.current > a.current:after {
        line-height: 15px;
        right: -3px;
        top: -3px;
-       color: #aaa;
+       color: #a0a5aa;
+       color: rgba(240,245,250,0.6);
        font: normal 20px/1 'dashicons' !important;
        speak: none;
        margin: 0 auto;
@@ -590,6 +602,7 @@ ul#adminmenu > li.current > a.current:after {
        -moz-osx-font-smoothing: grayscale;
 }
 
+/* rtl:ignore */
 .folded #collapse-button div:after,
 .rtl #collapse-button div:after {
        -webkit-transform: rotate(180deg);
@@ -721,6 +734,7 @@ li#wp-admin-bar-menu-toggle {
                background: none;
        }
 
+       /* rtl:ignore */
        .auto-fold #collapse-button div:after {
                -webkit-transform: rotate(180deg);
                -ms-transform: rotate(180deg);
@@ -870,7 +884,7 @@ li#wp-admin-bar-menu-toggle {
        }
 
        .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-               background: #333;
+               background: #32373c;
        }
 
        li#wp-admin-bar-menu-toggle {
@@ -919,4 +933,3 @@ li#wp-admin-bar-menu-toggle {
                top: 46px;
        }
 }
-
index b8bf6b26d96c03bd9b9cfc846640e39078e691cb..77f0034d017e82bddf201fb48990b35fba7c171d 100644 (file)
@@ -3,14 +3,14 @@
 #adminmenu,
 #adminmenu .wp-submenu {
        width: 160px;
-       background-color: #222;
+       background-color: #23282d;
 }
 
 #adminmenuback {
-       position: absolute;
+       position: fixed;
        top: 0;
-       bottom: 0;
-       z-index: -1;
+       bottom: -120px;
+       z-index: 1; /* positive z-index to avoid elastic scrolling woes in Safari */
 }
 
 #adminmenu {
 }
 
 #adminmenu .wp-submenu a {
-       color: #bbb;
+       color: #b4b9be;
+       color: rgba(240,245,250,0.7);
 }
 
 #adminmenu .wp-submenu a:hover,
 #adminmenu li.menu-top > a:focus,
 #adminmenu .wp-submenu a:hover,
 #adminmenu .wp-submenu a:focus {
-       color: #45bbe6;
+       color: #00b9eb;
 }
 
 #adminmenu li.menu-top {
 .folded #adminmenu .wp-has-current-submenu .wp-submenu {
        padding: 7px 0 8px;
        z-index: 9999;
-       background-color: #333;
+       background-color: #32373c;
        -webkit-box-shadow: 0 3px 5px rgba(0,0,0,0.2);
        box-shadow: 0 3px 5px rgba(0,0,0,0.2);
 }
        margin-top: 0;
        -webkit-box-shadow: none;
        box-shadow: none;
-       background-color: #333;
+       background-color: #32373c;
 }
 
 /* ensure that wp-submenu's box shadow doesn't appear on top of the focused menu item's background. */
 #adminmenu li.opensub > a.menu-top,
 #adminmenu li > a.menu-top:focus {
        position: relative;
-       background-color: #111;
+       background-color: #191e23;
+       color: #00b9eb;
 }
 
 .folded #adminmenu li.menu-top:hover,
 #adminmenu .wp-menu-arrow,
 #adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,
 #adminmenu .wp-menu-arrow div {
-       background: #0074a2;
+       background: #0073aa;
        color: #fff;
 }
 
 }
 
 div.wp-menu-image:before {
-       color: #999;
+       color: #a0a5aa;
+       color: rgba(240,245,250,0.6);
        padding: 7px 0;
        -webkit-transition: all .1s ease-in-out;
        transition: all .1s ease-in-out;
 }
 
 #adminmenu div.wp-menu-image:before {
-       color: #999;
+       color: #a0a5aa;
+       color: rgba(240,245,250,0.6);
 }
 
 #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 {
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before {
        color: #fff;
 }
 
-#adminmenu li:hover div.wp-menu-image:before {
-       color: #45bbe6;
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before {
+       color: #00b9eb;
+}
+
+/* IE8 doesn't redraw the pseudo elements unless you make a change to the content, this restore the initial color after hover */
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
+       color: #a0a5aa;
 }
 
 .folded #adminmenu div.wp-menu-image {
@@ -464,7 +477,7 @@ ul#adminmenu > li.current > a.current:after {
 }
 
 #adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after {
-       border-right-color: #333;
+       border-right-color: #32373c;
 }
 
 #adminmenu li.menu-top:hover .wp-menu-image img,
@@ -500,8 +513,7 @@ ul#adminmenu > li.current > a.current:after {
 }
 
 #adminmenu .awaiting-mod,
-#adminmenu .update-plugins,
-#sidemenu li a span.update-plugins {
+#adminmenu .update-plugins {
        display: inline-block;
        background-color: #d54e21;
        color: #fff;
@@ -516,20 +528,18 @@ ul#adminmenu > li.current > a.current:after {
 }
 
 #adminmenu li .awaiting-mod span,
-#adminmenu li span.update-plugins span,
-#sidemenu li a span.update-plugins span {
+#adminmenu li 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: #45bbe6;
+       background-color: #00b9eb;
        color: #fff;
 }
 
-#adminmenu li span.count-0,
-#sidemenu li a .count-0 {
+#adminmenu li span.count-0 {
        display: none;
 }
 
@@ -537,14 +547,15 @@ ul#adminmenu > li.current > a.current:after {
        font-size: 13px;
        line-height: 34px;
        margin-top: 10px;
-       color: #aaa;
+       color: #a0a5aa;
+       color: rgba(240,245,250,0.6);
        -webkit-transition: all .1s ease-in-out;
        transition: all .1s ease-in-out;
 }
 
 #collapse-menu:hover,
 #collapse-menu:hover #collapse-button div:after {
-       color: #45bbe6;
+       color: #00b9eb;
 }
 
 .folded #collapse-menu span {
@@ -576,7 +587,8 @@ ul#adminmenu > li.current > a.current:after {
        line-height: 15px;
        left: -3px;
        top: -3px;
-       color: #aaa;
+       color: #a0a5aa;
+       color: rgba(240,245,250,0.6);
        font: normal 20px/1 'dashicons' !important;
        speak: none;
        margin: 0 auto;
@@ -590,6 +602,7 @@ ul#adminmenu > li.current > a.current:after {
        -moz-osx-font-smoothing: grayscale;
 }
 
+/* rtl:ignore */
 .folded #collapse-button div:after,
 .rtl #collapse-button div:after {
        -webkit-transform: rotate(180deg);
@@ -721,6 +734,7 @@ li#wp-admin-bar-menu-toggle {
                background: none;
        }
 
+       /* rtl:ignore */
        .auto-fold #collapse-button div:after {
                -webkit-transform: rotate(180deg);
                -ms-transform: rotate(180deg);
@@ -870,7 +884,7 @@ li#wp-admin-bar-menu-toggle {
        }
 
        .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
-               background: #333;
+               background: #32373c;
        }
 
        li#wp-admin-bar-menu-toggle {
@@ -919,4 +933,3 @@ li#wp-admin-bar-menu-toggle {
                top: 46px;
        }
 }
-
index 257ad53fcca6fde81d765f768bd0008881c61213..954376ef5ee7786a61071a8ad79dbe19b933a9e7 100644 (file)
 .wp-color-result:focus {
        background: #fafafa;
        border-color: #999;
-       color: #222;
+       color: #23282d;
 }
 
 .wp-color-result:hover:after,
 .wp-color-result:focus:after {
-       color: #222;
-       border-color: #aaa;
+       color: #23282d;
+       border-color: #a0a5aa;
        border-right: 1px solid #999;
 }
 
index ee70a9d3f44655cfa77bcccafcf9209c64de9958..e20f08dd12c2840635efc56c3853b19ea17d7121 100644 (file)
@@ -1 +1 @@
-.wp-color-picker{width:80px}.wp-picker-container .hidden{display:none}.wp-color-result{background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;cursor:pointer;height:22px;margin:0 0 6px 6px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:bottom;display:inline-block;padding-right:30px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08)}.wp-color-result:after{background:#f7f7f7;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;border-right:1px solid #ccc;color:#555;content:attr(title);display:block;font-size:11px;line-height:22px;padding:0 6px;position:relative;left:0;text-align:center;top:0;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.wp-color-result:focus,.wp-color-result:hover{background:#fafafa;border-color:#999;color:#222}.wp-color-result:focus:after,.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{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-picker-open+.wp-picker-input-wrap{display:inline-block;vertical-align:top}.wp-picker-container .button{margin-right:6px}.wp-picker-container .iris-square-slider .ui-slider-handle:focus{background-color:#555}.wp-picker-container .iris-picker{-webkit-border-radius:0;border-radius:0;border-color:#dfdfdf;margin-top:6px}.wp-picker-container input[type=text].wp-color-picker{width:65px;font-size:12px;font-family:monospace;text-align:center;line-height:16px;margin:0}.wp-picker-container input[type=text].wp-color-picker:focus::-webkit-input-placeholder{color:transparent}.wp-picker-container input[type=text].wp-color-picker:-moz-placeholder{color:#999}.wp-picker-container input[type=text].iris-error{background-color:#ffebe8;border-color:#c00;color:#000}
\ No newline at end of file
+.wp-color-picker{width:80px}.wp-picker-container .hidden{display:none}.wp-color-result{background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;cursor:pointer;height:22px;margin:0 0 6px 6px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:bottom;display:inline-block;padding-right:30px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08)}.wp-color-result:after{background:#f7f7f7;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;border-right:1px solid #ccc;color:#555;content:attr(title);display:block;font-size:11px;line-height:22px;padding:0 6px;position:relative;left:0;text-align:center;top:0;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.wp-color-result:focus,.wp-color-result:hover{background:#fafafa;border-color:#999;color:#23282d}.wp-color-result:focus:after,.wp-color-result:hover:after{color:#23282d;border-color:#a0a5aa;border-right:1px solid #999}.wp-color-result{top:0}.wp-color-result.wp-picker-open:after{content:attr(data-current)}.wp-picker-container,.wp-picker-container:active{display:inline-block;outline:0}.wp-color-result:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-picker-open+.wp-picker-input-wrap{display:inline-block;vertical-align:top}.wp-picker-container .button{margin-right:6px}.wp-picker-container .iris-square-slider .ui-slider-handle:focus{background-color:#555}.wp-picker-container .iris-picker{-webkit-border-radius:0;border-radius:0;border-color:#dfdfdf;margin-top:6px}.wp-picker-container input[type=text].wp-color-picker{width:65px;font-size:12px;font-family:monospace;text-align:center;line-height:16px;margin:0}.wp-picker-container input[type=text].wp-color-picker:focus::-webkit-input-placeholder{color:transparent}.wp-picker-container input[type=text].wp-color-picker:-moz-placeholder{color:#999}.wp-picker-container input[type=text].iris-error{background-color:#ffebe8;border-color:#c00;color:#000}
\ No newline at end of file
index 4229402a6188434a52a94289ed8617ad619f1b5c..24873a035ca35947bd0a862852041c0d54ede75d 100644 (file)
 .wp-color-result:focus {
        background: #fafafa;
        border-color: #999;
-       color: #222;
+       color: #23282d;
 }
 
 .wp-color-result:hover:after,
 .wp-color-result:focus:after {
-       color: #222;
-       border-color: #aaa;
+       color: #23282d;
+       border-color: #a0a5aa;
        border-left: 1px solid #999;
 }
 
index 362cb2a5d941758fa5bf69b43986a07e63590546..d73af0d3324d7a724fe1958b3a2d66159814df84 100644 (file)
@@ -1 +1 @@
-.wp-color-picker{width:80px}.wp-picker-container .hidden{display:none}.wp-color-result{background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;cursor:pointer;height:22px;margin:0 6px 6px 0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:bottom;display:inline-block;padding-left:30px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08)}.wp-color-result:after{background:#f7f7f7;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;border-left:1px solid #ccc;color:#555;content:attr(title);display:block;font-size:11px;line-height:22px;padding:0 6px;position:relative;right:0;text-align:center;top:0;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.wp-color-result:focus,.wp-color-result:hover{background:#fafafa;border-color:#999;color:#222}.wp-color-result:focus:after,.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{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-picker-open+.wp-picker-input-wrap{display:inline-block;vertical-align:top}.wp-picker-container .button{margin-left:6px}.wp-picker-container .iris-square-slider .ui-slider-handle:focus{background-color:#555}.wp-picker-container .iris-picker{-webkit-border-radius:0;border-radius:0;border-color:#dfdfdf;margin-top:6px}.wp-picker-container input[type=text].wp-color-picker{width:65px;font-size:12px;font-family:monospace;text-align:center;line-height:16px;margin:0}.wp-picker-container input[type=text].wp-color-picker:focus::-webkit-input-placeholder{color:transparent}.wp-picker-container input[type=text].wp-color-picker:-moz-placeholder{color:#999}.wp-picker-container input[type=text].iris-error{background-color:#ffebe8;border-color:#c00;color:#000}
\ No newline at end of file
+.wp-color-picker{width:80px}.wp-picker-container .hidden{display:none}.wp-color-result{background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;cursor:pointer;height:22px;margin:0 6px 6px 0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:bottom;display:inline-block;padding-left:30px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.08);box-shadow:0 1px 0 rgba(0,0,0,.08)}.wp-color-result:after{background:#f7f7f7;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;border-left:1px solid #ccc;color:#555;content:attr(title);display:block;font-size:11px;line-height:22px;padding:0 6px;position:relative;right:0;text-align:center;top:0;-webkit-box-shadow:inset 0 1px 0 #fff;box-shadow:inset 0 1px 0 #fff}.wp-color-result:focus,.wp-color-result:hover{background:#fafafa;border-color:#999;color:#23282d}.wp-color-result:focus:after,.wp-color-result:hover:after{color:#23282d;border-color:#a0a5aa;border-left:1px solid #999}.wp-color-result{top:0}.wp-color-result.wp-picker-open:after{content:attr(data-current)}.wp-picker-container,.wp-picker-container:active{display:inline-block;outline:0}.wp-color-result:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-picker-open+.wp-picker-input-wrap{display:inline-block;vertical-align:top}.wp-picker-container .button{margin-left:6px}.wp-picker-container .iris-square-slider .ui-slider-handle:focus{background-color:#555}.wp-picker-container .iris-picker{-webkit-border-radius:0;border-radius:0;border-color:#dfdfdf;margin-top:6px}.wp-picker-container input[type=text].wp-color-picker{width:65px;font-size:12px;font-family:monospace;text-align:center;line-height:16px;margin:0}.wp-picker-container input[type=text].wp-color-picker:focus::-webkit-input-placeholder{color:transparent}.wp-picker-container input[type=text].wp-color-picker:-moz-placeholder{color:#999}.wp-picker-container input[type=text].iris-error{background-color:#ffebe8;border-color:#c00;color:#000}
\ No newline at end of file
index d83ff231ad148915dda4cdab20da7176382f8c11..20ac8f09c93dba42cb819e8857cdcceca78b9c9d 100644 (file)
@@ -211,7 +211,14 @@ ul#adminmenu > li.current > a.current:after {
        background: $menu-current-background;
 }
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,
+#adminmenu a.current:hover div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,
+#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,
+#adminmenu li:hover div.wp-menu-image:before,
+#adminmenu li a:focus div.wp-menu-image:before,
+#adminmenu li.opensub div.wp-menu-image:before,
+.ie8 #adminmenu li.opensub div.wp-menu-image:before {
        color: $menu-current-icon;
 }
 
@@ -357,10 +364,10 @@ ul#adminmenu > li.current > a.current:after {
        background: $adminbar-input-background;
 }
 
-#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder { color: $menu-text; opacity: .7; }
-#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder { color: $menu-text; opacity: .7; }
-#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder { color: $menu-text; opacity: .7; }
-#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder { color: $menu-text; opacity: .7; }
+#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder { color: $menu-text; opacity: 0.7; }
+#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder { color: $menu-text; opacity: 0.7; }
+#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder { color: $menu-text; opacity: 0.7; }
+#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder { color: $menu-text; opacity: 0.7; }
 
 
 /* Admin Bar: my account */
@@ -433,11 +440,13 @@ ul#adminmenu > li.current > a.current:after {
 /* Themes */
 
 .theme-browser .theme.active .theme-name,
-.theme-browser .theme.add-new-theme:hover:after {
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
        background: $highlight-color;
 }
 
-.theme-browser .theme.add-new-theme:hover span:after {
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
        color: $highlight-color;
 }
 
@@ -495,17 +504,6 @@ body.more-filters-opened .more-filters:focus:before {
        box-shadow: inset 0 1px 0 lighten( $button-color, 15% ), 0 1px 0 rgba(0,0,0,.15);
 }
 
-/* Thickbox: Plugin information */
-
-#sidemenu a.current {
-       background: $body-background;
-       border-bottom-color: $body-background;
-}
-
-#plugin-information .action-button {
-       background: $button-color;
-}
-
 /* Responsive Component */
 
 div#wp-responsive-toggle a:before {
@@ -518,10 +516,6 @@ div#wp-responsive-toggle a:before {
        background: $menu-highlight-background;
 }
 
-.star-rating .star {
-       color: $highlight-color;
-}
-
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
        background: $menu-submenu-background;
 }
index 05e46ba1a08798abedaca62073a38acd6c2eacaf..c203f1b2d5e762cd9db7e491c75e40932c0a6b97 100644 (file)
@@ -4,9 +4,9 @@
 // core variables
 
 $text-color: #fff !default;
-$base-color: #222 !default;
+$base-color: #23282d !default;
 $icon-color: hsl( hue( $base-color ), 7%, 95% ) !default;
-$highlight-color: #0074a2 !default;
+$highlight-color: #0073aa !default;
 $notification-color: #d54e21 !default;
 
 
@@ -14,7 +14,7 @@ $notification-color: #d54e21 !default;
 
 $body-background: #f1f1f1 !default;
 
-$link: #0074a2 !default;
+$link: #0073aa !default;
 $link-focus: lighten( $link, 10% ) !default;
 
 $button-color: $highlight-color !default;
index 37ea16ad240904bcba61d912257279c1c9330a6b..4556a47de0d315e48f3065096ebff6b0bb93e89f 100644 (file)
@@ -7,12 +7,12 @@ html {
 
 /* Links */
 a {
-  color: #0074a2; }
+  color: #0073aa; }
   a:hover, a:active, a:focus {
-    color: #0099d5; }
+    color: #0095dd; }
 
 #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Forms */
 input[type=checkbox]:checked:before {
@@ -22,7 +22,7 @@ input[type=radio]:checked:before {
   background: #096484; }
 
 .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -143,7 +143,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #fff;
   background: #096484; }
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
   color: #fff; }
 
 /* Admin Menu: bubble */
@@ -275,10 +275,10 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #096484; }
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
+.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
   background: #096484; }
 
-.theme-browser .theme.add-new-theme:hover span:after {
+.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
   color: #096484; }
 
 .theme-section.current, .theme-filter.current {
@@ -318,14 +318,6 @@ body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .m
   -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); }
 
-/* Thickbox: Plugin information */
-#sidemenu a.current {
-  background: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
-
-#plugin-information .action-button {
-  background: #e1a948; }
-
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
   color: #e5f8ff; }
@@ -334,8 +326,5 @@ div#wp-responsive-toggle a:before {
   border-color: transparent;
   background: #096484; }
 
-.star-rating .star {
-  color: #096484; }
-
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
   background: #4796b3; }
index 5afa920ea6e09720850355c169c2bd9a248da9fe..a15a2d148ebd7007fa48a779620e1b5f02510a8b 100644 (file)
@@ -1 +1 @@
-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;box-shadow:inset 0 1px 0 #e8be74}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d39323;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cdc7!important;background:#db9925!important;border-color:#bd831f!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#52accc}.wp-core-ui .wp-ui-text-primary{color:#52accc}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#096484}.wp-core-ui .wp-ui-text-highlight{color:#096484}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#e1a948}.wp-core-ui .wp-ui-text-notification{color:#e1a948}.wp-core-ui .wp-ui-text-icon{color:#e5f8ff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#52accc}.view-switch a.current:before{color:#52accc}.view-switch a:hover:before{color:#e1a948}.post-com-count:hover:after{border-top-color:#52accc}.post-com-count:hover span{color:#fff;background-color:#52accc}strong .post-com-count:after{border-top-color:#e1a948}strong .post-com-count span{background-color:#e1a948}#adminmenu,#adminmenuback,#adminmenuwrap{background:#52accc}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#e5f8ff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#096484}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#4796b3}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#4796b3}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#e2ecf1}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#fff}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#096484}#adminmenu 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:#74b6ce}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#e2ecf1}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#e5f8ff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#fff}#wpadminbar #adminbarsearch:before{color:#e5f8ff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6eb9d4}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6eb9d4;background-color:#6eb9d4}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info .username{color:#e2ecf1}.wp-pointer .wp-pointer-content h3{background-color:#096484;border-color:#07526c}.wp-pointer .wp-pointer-content h3:before{color:#096484}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#096484}.media-item .bar,.media-progress-bar div{background-color:#096484}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484}.attachment.details .check{background-color:#096484;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #096484;box-shadow:0 0 0 1px #fff,0 0 0 2px #096484}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #096484;box-shadow:0 0 0 1px #fff,0 0 0 3px #096484}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#096484}.theme-browser .theme.add-new-theme:hover span:after{color:#096484}.theme-filter.current,.theme-section.current{border-bottom-color:#52accc}body.more-filters-opened .more-filters{color:#fff;background-color:#52accc}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#096484;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#096484;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#096484;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e1a948;border-color:#d39323;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}#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:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#096484}input[type=radio]:checked:before{background:#096484}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd9f32;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74;box-shadow:inset 0 1px 0 #e8be74}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d39323;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cdc7!important;background:#db9925!important;border-color:#bd831f!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#52accc}.wp-core-ui .wp-ui-text-primary{color:#52accc}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#096484}.wp-core-ui .wp-ui-text-highlight{color:#096484}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#e1a948}.wp-core-ui .wp-ui-text-notification{color:#e1a948}.wp-core-ui .wp-ui-text-icon{color:#e5f8ff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#52accc}.view-switch a.current:before{color:#52accc}.view-switch a:hover:before{color:#e1a948}.post-com-count:hover:after{border-top-color:#52accc}.post-com-count:hover span{color:#fff;background-color:#52accc}strong .post-com-count:after{border-top-color:#e1a948}strong .post-com-count span{background-color:#e1a948}#adminmenu,#adminmenuback,#adminmenuwrap{background:#52accc}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#e5f8ff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#096484}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#4796b3}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#4796b3}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#e2ecf1}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#fff}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#096484}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#e1a948}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#4796b3}#collapse-menu{color:#e5f8ff}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#e5f8ff}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#52accc}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#e5f8ff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#fff;background:#4796b3}#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#4796b3}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#74b6ce}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#e2ecf1}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#e5f8ff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#fff}#wpadminbar #adminbarsearch:before{color:#e5f8ff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6eb9d4}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6eb9d4;background-color:#6eb9d4}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info .username{color:#e2ecf1}.wp-pointer .wp-pointer-content h3{background-color:#096484;border-color:#07526c}.wp-pointer .wp-pointer-content h3:before{color:#096484}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#096484}.media-item .bar,.media-progress-bar div{background-color:#096484}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484}.attachment.details .check{background-color:#096484;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #096484;box-shadow:0 0 0 1px #fff,0 0 0 2px #096484}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #096484;box-shadow:0 0 0 1px #fff,0 0 0 3px #096484}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#096484}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#096484}.theme-filter.current,.theme-section.current{border-bottom-color:#52accc}body.more-filters-opened .more-filters{color:#fff;background-color:#52accc}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#096484;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#096484;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#096484;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e1a948;border-color:#d39323;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#e5f8ff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#096484}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#4796b3}
\ No newline at end of file
index 09fbaebe572b4bfa43e9d9af94e82376d9466dd5..e83482c56a914ccedc335f94d5b3ff8d4dfd1796 100644 (file)
@@ -7,12 +7,12 @@ html {
 
 /* Links */
 a {
-  color: #0074a2; }
+  color: #0073aa; }
   a:hover, a:active, a:focus {
-    color: #0099d5; }
+    color: #0095dd; }
 
 #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Forms */
 input[type=checkbox]:checked:before {
@@ -22,7 +22,7 @@ input[type=radio]:checked:before {
   background: #096484; }
 
 .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -143,7 +143,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #fff;
   background: #096484; }
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
   color: #fff; }
 
 /* Admin Menu: bubble */
@@ -275,10 +275,10 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #096484; }
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
+.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
   background: #096484; }
 
-.theme-browser .theme.add-new-theme:hover span:after {
+.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
   color: #096484; }
 
 .theme-section.current, .theme-filter.current {
@@ -318,14 +318,6 @@ body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .m
   -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); }
 
-/* Thickbox: Plugin information */
-#sidemenu a.current {
-  background: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
-
-#plugin-information .action-button {
-  background: #e1a948; }
-
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
   color: #e5f8ff; }
@@ -334,8 +326,5 @@ div#wp-responsive-toggle a:before {
   border-color: transparent;
   background: #096484; }
 
-.star-rating .star {
-  color: #096484; }
-
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
   background: #4796b3; }
index eec8884d04b4f997a74f015716569f6a4f5a0fcd..88476a8d9ec01b8bcee61b56e63a0d610ad40bcd 100644 (file)
@@ -1 +1 @@
-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;box-shadow:inset 0 1px 0 #e8be74}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d39323;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cdc7!important;background:#db9925!important;border-color:#bd831f!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#52accc}.wp-core-ui .wp-ui-text-primary{color:#52accc}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#096484}.wp-core-ui .wp-ui-text-highlight{color:#096484}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#e1a948}.wp-core-ui .wp-ui-text-notification{color:#e1a948}.wp-core-ui .wp-ui-text-icon{color:#e5f8ff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#52accc}.view-switch a.current:before{color:#52accc}.view-switch a:hover:before{color:#e1a948}.post-com-count:hover:after{border-top-color:#52accc}.post-com-count:hover span{color:#fff;background-color:#52accc}strong .post-com-count:after{border-top-color:#e1a948}strong .post-com-count span{background-color:#e1a948}#adminmenu,#adminmenuback,#adminmenuwrap{background:#52accc}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#e5f8ff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#096484}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#4796b3}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#4796b3}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#e2ecf1}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#fff}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#096484}#adminmenu 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:#74b6ce}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#e2ecf1}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#e5f8ff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#fff}#wpadminbar #adminbarsearch:before{color:#e5f8ff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6eb9d4}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6eb9d4;background-color:#6eb9d4}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info .username{color:#e2ecf1}.wp-pointer .wp-pointer-content h3{background-color:#096484;border-color:#07526c}.wp-pointer .wp-pointer-content h3:before{color:#096484}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#096484}.media-item .bar,.media-progress-bar div{background-color:#096484}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484}.attachment.details .check{background-color:#096484;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #096484;box-shadow:0 0 0 1px #fff,0 0 0 2px #096484}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #096484;box-shadow:0 0 0 1px #fff,0 0 0 3px #096484}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#096484}.theme-browser .theme.add-new-theme:hover span:after{color:#096484}.theme-filter.current,.theme-section.current{border-bottom-color:#52accc}body.more-filters-opened .more-filters{color:#fff;background-color:#52accc}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#096484;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#096484;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#096484;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e1a948;border-color:#d39323;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}#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:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#096484}input[type=radio]:checked:before{background:#096484}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd9f32;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74;box-shadow:inset 0 1px 0 #e8be74}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8be74,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d39323;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cdc7!important;background:#db9925!important;border-color:#bd831f!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#52accc}.wp-core-ui .wp-ui-text-primary{color:#52accc}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#096484}.wp-core-ui .wp-ui-text-highlight{color:#096484}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#e1a948}.wp-core-ui .wp-ui-text-notification{color:#e1a948}.wp-core-ui .wp-ui-text-icon{color:#e5f8ff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#52accc}.view-switch a.current:before{color:#52accc}.view-switch a:hover:before{color:#e1a948}.post-com-count:hover:after{border-top-color:#52accc}.post-com-count:hover span{color:#fff;background-color:#52accc}strong .post-com-count:after{border-top-color:#e1a948}strong .post-com-count span{background-color:#e1a948}#adminmenu,#adminmenuback,#adminmenuwrap{background:#52accc}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#e5f8ff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#096484}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#4796b3}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#4796b3}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#e2ecf1}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#fff}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#096484}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#e1a948}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#4796b3}#collapse-menu{color:#e5f8ff}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#e5f8ff}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#52accc}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#e5f8ff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#fff;background:#4796b3}#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#fff}#wpadminbar .menupop .ab-sub-wrapper{background:#4796b3}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#74b6ce}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#e2ecf1}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#e5f8ff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#fff}#wpadminbar #adminbarsearch:before{color:#e5f8ff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6eb9d4}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6eb9d4;background-color:#6eb9d4}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info .username{color:#e2ecf1}.wp-pointer .wp-pointer-content h3{background-color:#096484;border-color:#07526c}.wp-pointer .wp-pointer-content h3:before{color:#096484}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#096484}.media-item .bar,.media-progress-bar div{background-color:#096484}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #096484}.attachment.details .check{background-color:#096484;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #096484;box-shadow:0 0 0 1px #fff,0 0 0 2px #096484}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #096484;box-shadow:0 0 0 1px #fff,0 0 0 3px #096484}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#096484}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#096484}.theme-filter.current,.theme-section.current{border-bottom-color:#52accc}body.more-filters-opened .more-filters{color:#fff;background-color:#52accc}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#096484;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#096484;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#096484;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e1a948;border-color:#d39323;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#e5f8ff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#096484}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#4796b3}
\ No newline at end of file
index b8cbaa33878f609525b23e015d839b174f32c2a9..20353f6d7e4f194574b18a6bb2b01c91d392eb92 100644 (file)
@@ -7,12 +7,12 @@ html {
 
 /* Links */
 a {
-  color: #0074a2; }
+  color: #0073aa; }
   a:hover, a:active, a:focus {
-    color: #0099d5; }
+    color: #0095dd; }
 
 #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Forms */
 input[type=checkbox]:checked:before {
@@ -22,7 +22,7 @@ input[type=radio]:checked:before {
   background: #59524c; }
 
 .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -143,7 +143,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #fff;
   background: #c7a589; }
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
   color: #fff; }
 
 /* Admin Menu: bubble */
@@ -275,10 +275,10 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #c7a589; }
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
+.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
   background: #c7a589; }
 
-.theme-browser .theme.add-new-theme:hover span:after {
+.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
   color: #c7a589; }
 
 .theme-section.current, .theme-filter.current {
@@ -318,14 +318,6 @@ body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .m
   -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); }
 
-/* Thickbox: Plugin information */
-#sidemenu a.current {
-  background: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
-
-#plugin-information .action-button {
-  background: #c7a589; }
-
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
   color: #f3f2f1; }
@@ -334,8 +326,5 @@ div#wp-responsive-toggle a:before {
   border-color: transparent;
   background: #c7a589; }
 
-.star-rating .star {
-  color: #c7a589; }
-
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
   background: #46403c; }
index ed82075ddcab6be73df04b707600fd56894d4c3f..943abb693a248c58d1faef549515d02e96d0f884 100644 (file)
@@ -1 +1 @@
-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:#b78b66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#bf9878;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac;box-shadow:inset 0 1px 0 #d7bfac}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#b78b66;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1ccc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#59524c}.wp-core-ui .wp-ui-text-primary{color:#59524c}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#c7a589}.wp-core-ui .wp-ui-text-highlight{color:#c7a589}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#9ea476}.wp-core-ui .wp-ui-text-notification{color:#9ea476}.wp-core-ui .wp-ui-text-icon{color:#f3f2f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#59524c}.view-switch a.current:before{color:#59524c}.view-switch a:hover:before{color:#9ea476}.post-com-count:hover:after{border-top-color:#59524c}.post-com-count:hover span{color:#fff;background-color:#59524c}strong .post-com-count:after{border-top-color:#9ea476}strong .post-com-count span{background-color:#9ea476}#adminmenu,#adminmenuback,#adminmenuwrap{background:#59524c}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f2f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#c7a589}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#46403c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#46403c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cdcbc9}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#c7a589}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#c7a589}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#c7a589}#adminmenu 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-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#c7a589}.media-item .bar,.media-progress-bar div{background-color:#c7a589}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589}.attachment.details .check{background-color:#c7a589;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#c7a589}.theme-browser .theme.add-new-theme:hover span:after{color:#c7a589}.theme-filter.current,.theme-section.current{border-bottom-color:#59524c}body.more-filters-opened .more-filters{color:#fff;background-color:#59524c}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#c7a589;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#c7a589;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#c7a589;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#c7a589;border-color:#b78b66;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}#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:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#59524c}input[type=radio]:checked:before{background:#59524c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#c7a589;border-color:#b78b66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#bf9878;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac;box-shadow:inset 0 1px 0 #d7bfac}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#b78b66;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1ccc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#59524c}.wp-core-ui .wp-ui-text-primary{color:#59524c}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#c7a589}.wp-core-ui .wp-ui-text-highlight{color:#c7a589}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#9ea476}.wp-core-ui .wp-ui-text-notification{color:#9ea476}.wp-core-ui .wp-ui-text-icon{color:#f3f2f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#59524c}.view-switch a.current:before{color:#59524c}.view-switch a:hover:before{color:#9ea476}.post-com-count:hover:after{border-top-color:#59524c}.post-com-count:hover span{color:#fff;background-color:#59524c}strong .post-com-count:after{border-top-color:#9ea476}strong .post-com-count span{background-color:#9ea476}#adminmenu,#adminmenuback,#adminmenuwrap{background:#59524c}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f2f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#c7a589}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#46403c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#46403c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cdcbc9}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#c7a589}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#c7a589}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#c7a589}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#9ea476}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#46403c}#collapse-menu{color:#f3f2f1}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f3f2f1}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#59524c}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f2f1}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#c7a589;background:#46403c}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#c7a589}#wpadminbar .menupop .ab-sub-wrapper{background:#46403c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#656463}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#cdcbc9}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f2f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#c7a589}#wpadminbar #adminbarsearch:before{color:#f3f2f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6c645c}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6c645c;background-color:#6c645c}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#c7a589}#wpadminbar #wp-admin-bar-user-info .username{color:#cdcbc9}.wp-pointer .wp-pointer-content h3{background-color:#c7a589;border-color:#bf9878}.wp-pointer .wp-pointer-content h3:before{color:#c7a589}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#c7a589}.media-item .bar,.media-progress-bar div{background-color:#c7a589}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589}.attachment.details .check{background-color:#c7a589;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#c7a589}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#c7a589}.theme-filter.current,.theme-section.current{border-bottom-color:#59524c}body.more-filters-opened .more-filters{color:#fff;background-color:#59524c}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#c7a589;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#c7a589;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#c7a589;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#c7a589;border-color:#b78b66;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#f3f2f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#c7a589}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#46403c}
\ No newline at end of file
index d5fa9a77b1e4172ded8599583621100a5da96d70..b17a031c05c1aceeca68cd544410d9ff9b102777 100644 (file)
@@ -7,12 +7,12 @@ html {
 
 /* Links */
 a {
-  color: #0074a2; }
+  color: #0073aa; }
   a:hover, a:active, a:focus {
-    color: #0099d5; }
+    color: #0095dd; }
 
 #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Forms */
 input[type=checkbox]:checked:before {
@@ -22,7 +22,7 @@ input[type=radio]:checked:before {
   background: #59524c; }
 
 .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -143,7 +143,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #fff;
   background: #c7a589; }
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
   color: #fff; }
 
 /* Admin Menu: bubble */
@@ -275,10 +275,10 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #c7a589; }
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
+.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
   background: #c7a589; }
 
-.theme-browser .theme.add-new-theme:hover span:after {
+.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
   color: #c7a589; }
 
 .theme-section.current, .theme-filter.current {
@@ -318,14 +318,6 @@ body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .m
   -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); }
 
-/* Thickbox: Plugin information */
-#sidemenu a.current {
-  background: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
-
-#plugin-information .action-button {
-  background: #c7a589; }
-
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
   color: #f3f2f1; }
@@ -334,8 +326,5 @@ div#wp-responsive-toggle a:before {
   border-color: transparent;
   background: #c7a589; }
 
-.star-rating .star {
-  color: #c7a589; }
-
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
   background: #46403c; }
index 966267c54047672fbe887b798c4ddafe980bdfe7..f8f4c50c18110af581c7e3ad3647739c15e18f45 100644 (file)
@@ -1 +1 @@
-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:#b78b66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#bf9878;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac;box-shadow:inset 0 1px 0 #d7bfac}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#b78b66;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1ccc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#59524c}.wp-core-ui .wp-ui-text-primary{color:#59524c}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#c7a589}.wp-core-ui .wp-ui-text-highlight{color:#c7a589}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#9ea476}.wp-core-ui .wp-ui-text-notification{color:#9ea476}.wp-core-ui .wp-ui-text-icon{color:#f3f2f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#59524c}.view-switch a.current:before{color:#59524c}.view-switch a:hover:before{color:#9ea476}.post-com-count:hover:after{border-top-color:#59524c}.post-com-count:hover span{color:#fff;background-color:#59524c}strong .post-com-count:after{border-top-color:#9ea476}strong .post-com-count span{background-color:#9ea476}#adminmenu,#adminmenuback,#adminmenuwrap{background:#59524c}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f2f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#c7a589}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#46403c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#46403c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cdcbc9}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#c7a589}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#c7a589}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#c7a589}#adminmenu 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-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#c7a589}.media-item .bar,.media-progress-bar div{background-color:#c7a589}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589}.attachment.details .check{background-color:#c7a589;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#c7a589}.theme-browser .theme.add-new-theme:hover span:after{color:#c7a589}.theme-filter.current,.theme-section.current{border-bottom-color:#59524c}body.more-filters-opened .more-filters{color:#fff;background-color:#59524c}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#c7a589;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#c7a589;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#c7a589;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#c7a589;border-color:#b78b66;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}#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:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#59524c}input[type=radio]:checked:before{background:#59524c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#c7a589;border-color:#b78b66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#bf9878;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac;box-shadow:inset 0 1px 0 #d7bfac}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #d7bfac,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#b78b66;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1ccc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#59524c}.wp-core-ui .wp-ui-text-primary{color:#59524c}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#c7a589}.wp-core-ui .wp-ui-text-highlight{color:#c7a589}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#9ea476}.wp-core-ui .wp-ui-text-notification{color:#9ea476}.wp-core-ui .wp-ui-text-icon{color:#f3f2f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#59524c}.view-switch a.current:before{color:#59524c}.view-switch a:hover:before{color:#9ea476}.post-com-count:hover:after{border-top-color:#59524c}.post-com-count:hover span{color:#fff;background-color:#59524c}strong .post-com-count:after{border-top-color:#9ea476}strong .post-com-count span{background-color:#9ea476}#adminmenu,#adminmenuback,#adminmenuwrap{background:#59524c}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f2f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#c7a589}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#46403c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#46403c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cdcbc9}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#c7a589}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#c7a589}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#c7a589}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#9ea476}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#46403c}#collapse-menu{color:#f3f2f1}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f3f2f1}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#59524c}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f2f1}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#c7a589;background:#46403c}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#c7a589}#wpadminbar .menupop .ab-sub-wrapper{background:#46403c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#656463}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#cdcbc9}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f2f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#c7a589}#wpadminbar #adminbarsearch:before{color:#f3f2f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#6c645c}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#6c645c;background-color:#6c645c}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#c7a589}#wpadminbar #wp-admin-bar-user-info .username{color:#cdcbc9}.wp-pointer .wp-pointer-content h3{background-color:#c7a589;border-color:#bf9878}.wp-pointer .wp-pointer-content h3:before{color:#c7a589}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#c7a589}.media-item .bar,.media-progress-bar div{background-color:#c7a589}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #c7a589}.attachment.details .check{background-color:#c7a589;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 2px #c7a589}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589;box-shadow:0 0 0 1px #fff,0 0 0 3px #c7a589}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#c7a589}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#c7a589}.theme-filter.current,.theme-section.current{border-bottom-color:#59524c}body.more-filters-opened .more-filters{color:#fff;background-color:#59524c}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#c7a589;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#c7a589;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#c7a589;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#c7a589;border-color:#b78b66;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#f3f2f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#c7a589}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#46403c}
\ No newline at end of file
index ae66a629a28806c81a33a0a6a4b18574f0fac6c8..4bd490985de1a6fbf649b77506931bd045d74d17 100644 (file)
@@ -7,12 +7,12 @@ html {
 
 /* Links */
 a {
-  color: #0074a2; }
+  color: #0073aa; }
   a:hover, a:active, a:focus {
-    color: #0099d5; }
+    color: #0095dd; }
 
 #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Forms */
 input[type=checkbox]:checked:before {
@@ -22,7 +22,7 @@ input[type=radio]:checked:before {
   background: #523f6d; }
 
 .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -143,7 +143,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #fff;
   background: #a3b745; }
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
   color: #fff; }
 
 /* Admin Menu: bubble */
@@ -275,10 +275,10 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #a3b745; }
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
+.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
   background: #a3b745; }
 
-.theme-browser .theme.add-new-theme:hover span:after {
+.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
   color: #a3b745; }
 
 .theme-section.current, .theme-filter.current {
@@ -318,14 +318,6 @@ body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .m
   -webkit-box-shadow: inset 0 1px 0 #bfcd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
   box-shadow: inset 0 1px 0 #bfcd7b, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
-/* Thickbox: Plugin information */
-#sidemenu a.current {
-  background: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
-
-#plugin-information .action-button {
-  background: #a3b745; }
-
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
   color: #ece6f6; }
@@ -334,8 +326,5 @@ div#wp-responsive-toggle a:before {
   border-color: transparent;
   background: #a3b745; }
 
-.star-rating .star {
-  color: #a3b745; }
-
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
   background: #413256; }
index 7fd84691b71f3809d7ecdaa558a7b34d323e70ed..32712c7282366af3238dd31f408326ccf008d89c 100644 (file)
@@ -1 +1 @@
-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:#829237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#93a43e;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b6c669;box-shadow:inset 0 1px 0 #b6c669}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #b6c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #b6c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#829237;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#523f6d}.wp-core-ui .wp-ui-text-primary{color:#523f6d}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#a3b745}.wp-core-ui .wp-ui-text-highlight{color:#a3b745}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d46f15}.wp-core-ui .wp-ui-text-notification{color:#d46f15}.wp-core-ui .wp-ui-text-icon{color:#ece6f6}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#523f6d}.view-switch a.current:before{color:#523f6d}.view-switch a:hover:before{color:#d46f15}.post-com-count:hover:after{border-top-color:#523f6d}.post-com-count:hover span{color:#fff;background-color:#523f6d}strong .post-com-count:after{border-top-color:#d46f15}strong .post-com-count span{background-color:#d46f15}#adminmenu,#adminmenuback,#adminmenuwrap{background:#523f6d}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#ece6f6}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#a3b745}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#413256}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#413256}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cbc5d3}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#a3b745}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#a3b745}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#a3b745}#adminmenu 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:#634c84}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#634c84;background-color:#634c84}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#a3b745}#wpadminbar #wp-admin-bar-user-info .username{color:#cbc5d3}.wp-pointer .wp-pointer-content h3{background-color:#a3b745;border-color:#93a43e}.wp-pointer .wp-pointer-content h3:before{color:#a3b745}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#a3b745}.media-item .bar,.media-progress-bar div{background-color:#a3b745}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745}.attachment.details .check{background-color:#a3b745;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#a3b745}.theme-browser .theme.add-new-theme:hover span:after{color:#a3b745}.theme-filter.current,.theme-section.current{border-bottom-color:#523f6d}body.more-filters-opened .more-filters{color:#fff;background-color:#523f6d}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#a3b745;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#a3b745;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#a3b745;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#a3b745;border-color:#829237;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15)}#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:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#523f6d}input[type=radio]:checked:before{background:#523f6d}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#a3b745;border-color:#829237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#93a43e;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b6c669;box-shadow:inset 0 1px 0 #b6c669}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #b6c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #b6c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#829237;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#523f6d}.wp-core-ui .wp-ui-text-primary{color:#523f6d}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#a3b745}.wp-core-ui .wp-ui-text-highlight{color:#a3b745}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d46f15}.wp-core-ui .wp-ui-text-notification{color:#d46f15}.wp-core-ui .wp-ui-text-icon{color:#ece6f6}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#523f6d}.view-switch a.current:before{color:#523f6d}.view-switch a:hover:before{color:#d46f15}.post-com-count:hover:after{border-top-color:#523f6d}.post-com-count:hover span{color:#fff;background-color:#523f6d}strong .post-com-count:after{border-top-color:#d46f15}strong .post-com-count span{background-color:#d46f15}#adminmenu,#adminmenuback,#adminmenuwrap{background:#523f6d}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#ece6f6}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#a3b745}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#413256}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#413256}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cbc5d3}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#a3b745}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#a3b745}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#a3b745}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d46f15}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#413256}#collapse-menu{color:#ece6f6}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#ece6f6}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#523f6d}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#ece6f6}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#a3b745;background:#413256}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#a3b745}#wpadminbar .menupop .ab-sub-wrapper{background:#413256}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#64537c}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#cbc5d3}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#ece6f6}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#a3b745}#wpadminbar #adminbarsearch:before{color:#ece6f6}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#634c84}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#634c84;background-color:#634c84}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#a3b745}#wpadminbar #wp-admin-bar-user-info .username{color:#cbc5d3}.wp-pointer .wp-pointer-content h3{background-color:#a3b745;border-color:#93a43e}.wp-pointer .wp-pointer-content h3:before{color:#a3b745}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#a3b745}.media-item .bar,.media-progress-bar div{background-color:#a3b745}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745}.attachment.details .check{background-color:#a3b745;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#a3b745}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#a3b745}.theme-filter.current,.theme-section.current{border-bottom-color:#523f6d}body.more-filters-opened .more-filters{color:#fff;background-color:#523f6d}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#a3b745;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#a3b745;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#a3b745;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#a3b745;border-color:#829237;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#ece6f6}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#a3b745}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#413256}
\ No newline at end of file
index cd87f4dbc08e6ee2a18a678dcc1516569ea7227e..0090e45b25f0717a57cd044d3976f8652469d67b 100644 (file)
@@ -7,12 +7,12 @@ html {
 
 /* Links */
 a {
-  color: #0074a2; }
+  color: #0073aa; }
   a:hover, a:active, a:focus {
-    color: #0099d5; }
+    color: #0095dd; }
 
 #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Forms */
 input[type=checkbox]:checked:before {
@@ -22,7 +22,7 @@ input[type=radio]:checked:before {
   background: #523f6d; }
 
 .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -143,7 +143,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #fff;
   background: #a3b745; }
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
   color: #fff; }
 
 /* Admin Menu: bubble */
@@ -275,10 +275,10 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #a3b745; }
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
+.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
   background: #a3b745; }
 
-.theme-browser .theme.add-new-theme:hover span:after {
+.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
   color: #a3b745; }
 
 .theme-section.current, .theme-filter.current {
@@ -318,14 +318,6 @@ body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .m
   -webkit-box-shadow: inset 0 1px 0 #bfcd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
   box-shadow: inset 0 1px 0 #bfcd7b, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
-/* Thickbox: Plugin information */
-#sidemenu a.current {
-  background: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
-
-#plugin-information .action-button {
-  background: #a3b745; }
-
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
   color: #ece6f6; }
@@ -334,8 +326,5 @@ div#wp-responsive-toggle a:before {
   border-color: transparent;
   background: #a3b745; }
 
-.star-rating .star {
-  color: #a3b745; }
-
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
   background: #413256; }
index e91095396a501fee068d509aa5af6030ec87b381..2c8ca88c7f91af8af70e3e6e02cdc2560e12b3ed 100644 (file)
@@ -1 +1 @@
-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:#829237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#93a43e;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b6c669;box-shadow:inset 0 1px 0 #b6c669}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #b6c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #b6c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#829237;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#523f6d}.wp-core-ui .wp-ui-text-primary{color:#523f6d}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#a3b745}.wp-core-ui .wp-ui-text-highlight{color:#a3b745}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d46f15}.wp-core-ui .wp-ui-text-notification{color:#d46f15}.wp-core-ui .wp-ui-text-icon{color:#ece6f6}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#523f6d}.view-switch a.current:before{color:#523f6d}.view-switch a:hover:before{color:#d46f15}.post-com-count:hover:after{border-top-color:#523f6d}.post-com-count:hover span{color:#fff;background-color:#523f6d}strong .post-com-count:after{border-top-color:#d46f15}strong .post-com-count span{background-color:#d46f15}#adminmenu,#adminmenuback,#adminmenuwrap{background:#523f6d}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#ece6f6}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#a3b745}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#413256}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#413256}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cbc5d3}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#a3b745}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#a3b745}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#a3b745}#adminmenu 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:#634c84}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#634c84;background-color:#634c84}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#a3b745}#wpadminbar #wp-admin-bar-user-info .username{color:#cbc5d3}.wp-pointer .wp-pointer-content h3{background-color:#a3b745;border-color:#93a43e}.wp-pointer .wp-pointer-content h3:before{color:#a3b745}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#a3b745}.media-item .bar,.media-progress-bar div{background-color:#a3b745}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745}.attachment.details .check{background-color:#a3b745;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#a3b745}.theme-browser .theme.add-new-theme:hover span:after{color:#a3b745}.theme-filter.current,.theme-section.current{border-bottom-color:#523f6d}body.more-filters-opened .more-filters{color:#fff;background-color:#523f6d}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#a3b745;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#a3b745;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#a3b745;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#a3b745;border-color:#829237;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15)}#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:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#523f6d}input[type=radio]:checked:before{background:#523f6d}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#a3b745;border-color:#829237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#93a43e;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b6c669;box-shadow:inset 0 1px 0 #b6c669}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #b6c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #b6c669,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#829237;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#523f6d}.wp-core-ui .wp-ui-text-primary{color:#523f6d}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#a3b745}.wp-core-ui .wp-ui-text-highlight{color:#a3b745}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d46f15}.wp-core-ui .wp-ui-text-notification{color:#d46f15}.wp-core-ui .wp-ui-text-icon{color:#ece6f6}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#523f6d}.view-switch a.current:before{color:#523f6d}.view-switch a:hover:before{color:#d46f15}.post-com-count:hover:after{border-top-color:#523f6d}.post-com-count:hover span{color:#fff;background-color:#523f6d}strong .post-com-count:after{border-top-color:#d46f15}strong .post-com-count span{background-color:#d46f15}#adminmenu,#adminmenuback,#adminmenuwrap{background:#523f6d}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#ece6f6}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#a3b745}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#413256}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#413256}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#cbc5d3}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#a3b745}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#a3b745}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#a3b745}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d46f15}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#413256}#collapse-menu{color:#ece6f6}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#ece6f6}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#523f6d}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#ece6f6}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#a3b745;background:#413256}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#a3b745}#wpadminbar .menupop .ab-sub-wrapper{background:#413256}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#64537c}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#cbc5d3}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#ece6f6}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#a3b745}#wpadminbar #adminbarsearch:before{color:#ece6f6}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#634c84}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#634c84;background-color:#634c84}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#a3b745}#wpadminbar #wp-admin-bar-user-info .username{color:#cbc5d3}.wp-pointer .wp-pointer-content h3{background-color:#a3b745;border-color:#93a43e}.wp-pointer .wp-pointer-content h3:before{color:#a3b745}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#a3b745}.media-item .bar,.media-progress-bar div{background-color:#a3b745}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #a3b745}.attachment.details .check{background-color:#a3b745;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 2px #a3b745}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745;box-shadow:0 0 0 1px #fff,0 0 0 3px #a3b745}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#a3b745}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#a3b745}.theme-filter.current,.theme-section.current{border-bottom-color:#523f6d}body.more-filters-opened .more-filters{color:#fff;background-color:#523f6d}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#a3b745;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#a3b745;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#a3b745;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#a3b745;border-color:#829237;-webkit-box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bfcd7b,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#ece6f6}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#a3b745}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#413256}
\ No newline at end of file
index a806ff2077c1e802386d045dd3ade182f0647e9c..f5768fd25e464fb4edf2683a77a70c26d990a269 100644 (file)
@@ -7,12 +7,12 @@ html {
 
 /* Links */
 a {
-  color: #0074a2; }
+  color: #0073aa; }
   a:hover, a:active, a:focus {
-    color: #0099d5; }
+    color: #0095dd; }
 
 #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Forms */
 input[type=checkbox]:checked:before {
@@ -22,7 +22,7 @@ input[type=radio]:checked:before {
   background: #04a4cc; }
 
 .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -143,7 +143,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #fff;
   background: #888; }
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
   color: #ccc; }
 
 /* Admin Menu: bubble */
@@ -275,10 +275,10 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #04a4cc; }
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
+.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
   background: #04a4cc; }
 
-.theme-browser .theme.add-new-theme:hover span:after {
+.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
   color: #04a4cc; }
 
 .theme-section.current, .theme-filter.current {
@@ -318,14 +318,6 @@ body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .m
   -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); }
 
-/* Thickbox: Plugin information */
-#sidemenu a.current {
-  background: #f5f5f5;
-  border-bottom-color: #f5f5f5; }
-
-#plugin-information .action-button {
-  background: #04a4cc; }
-
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
   color: #999; }
@@ -334,9 +326,6 @@ div#wp-responsive-toggle a:before {
   border-color: transparent;
   background: #888; }
 
-.star-rating .star {
-  color: #04a4cc; }
-
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
   background: #fff; }
 
index d71aa208c3bbdb3dc55a4b4dfb3a2eced980c16f..546c0a4688ca5b90d759f1f765fabbf0a27f87c6 100644 (file)
@@ -1 +1 @@
-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;box-shadow:inset 0 1px 0 #09cafa}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#037c9a;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#333;background-color:#e5e5e5}.wp-core-ui .wp-ui-text-primary{color:#e5e5e5}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#888}.wp-core-ui .wp-ui-text-highlight{color:#888}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d64e07}.wp-core-ui .wp-ui-text-notification{color:#d64e07}.wp-core-ui .wp-ui-text-icon{color:#999}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#333;background-color:#e5e5e5}.view-switch a.current:before{color:#e5e5e5}.view-switch a:hover:before{color:#d64e07}.post-com-count:hover:after{border-top-color:#e5e5e5}.post-com-count:hover span{color:#333;background-color:#e5e5e5}strong .post-com-count:after{border-top-color:#d64e07}strong .post-com-count span{background-color:#d64e07}#adminmenu,#adminmenuback,#adminmenuwrap{background:#e5e5e5}#adminmenu a{color:#333}#adminmenu div.wp-menu-image:before{color:#999}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#888}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#ccc}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f5f5f5;border-bottom-color:#f5f5f5}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#fff}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#fff}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#686868}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#04a4cc}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#333}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#04a4cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f5f5f5}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#888}#adminmenu 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-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#04a4cc}.media-item .bar,.media-progress-bar div{background-color:#04a4cc}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc}.attachment.details .check{background-color:#04a4cc;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#04a4cc}.theme-browser .theme.add-new-theme:hover span:after{color:#04a4cc}body.more-filters-opened .more-filters{color:#333;background-color:#e5e5e5}body.more-filters-opened .more-filters:before{color:#333}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#888;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#888;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#888;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#04a4cc;border-color:#037c9a;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}#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
+html{background:#f5f5f5}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#04a4cc}input[type=radio]:checked:before{background:#04a4cc}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0490b3;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa;box-shadow:inset 0 1px 0 #09cafa}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#037c9a;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#333;background-color:#e5e5e5}.wp-core-ui .wp-ui-text-primary{color:#e5e5e5}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#888}.wp-core-ui .wp-ui-text-highlight{color:#888}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d64e07}.wp-core-ui .wp-ui-text-notification{color:#d64e07}.wp-core-ui .wp-ui-text-icon{color:#999}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#333;background-color:#e5e5e5}.view-switch a.current:before{color:#e5e5e5}.view-switch a:hover:before{color:#d64e07}.post-com-count:hover:after{border-top-color:#e5e5e5}.post-com-count:hover span{color:#333;background-color:#e5e5e5}strong .post-com-count:after{border-top-color:#d64e07}strong .post-com-count span{background-color:#d64e07}#adminmenu,#adminmenuback,#adminmenuwrap{background:#e5e5e5}#adminmenu a{color:#333}#adminmenu div.wp-menu-image:before{color:#999}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#888}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#ccc}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f5f5f5;border-bottom-color:#f5f5f5}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#fff}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#fff}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#686868}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#04a4cc}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#333}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#04a4cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f5f5f5}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#888}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#ccc}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d64e07}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#333;background:#fff}#collapse-menu{color:#777}#collapse-menu:hover{color:#333}#collapse-button div:after{color:#999}#collapse-menu:hover #collapse-button div:after{color:#555}#wpadminbar{color:#333;background:#e5e5e5}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#333}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#999}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#fff}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#04a4cc}#wpadminbar .menupop .ab-sub-wrapper{background:#fff}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#f6f7f7}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#686868}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#999}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#04a4cc}#wpadminbar #adminbarsearch:before{color:#999}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#333;background:#f7f7f7}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#333;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#f7f7f7;background-color:#f7f7f7}#wpadminbar #wp-admin-bar-user-info .display-name{color:#333}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#04a4cc}#wpadminbar #wp-admin-bar-user-info .username{color:#686868}.wp-pointer .wp-pointer-content h3{background-color:#04a4cc;border-color:#0490b3}.wp-pointer .wp-pointer-content h3:before{color:#04a4cc}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#04a4cc}.media-item .bar,.media-progress-bar div{background-color:#04a4cc}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc}.attachment.details .check{background-color:#04a4cc;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#04a4cc}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#04a4cc}body.more-filters-opened .more-filters{color:#333;background-color:#e5e5e5}body.more-filters-opened .more-filters:before{color:#333}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#888;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#888;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#888;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#04a4cc;border-color:#037c9a;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#999}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#888}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#fff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default li:hover span.ab-label,#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary li.hover span.ab-label{color:#333}.theme-filter.current,.theme-section.current{border-bottom-color:#04a4cc}
\ No newline at end of file
index 171ac68fe70506365d2f091ac84e46283a7ddbd0..925d221aa669d290246f76fa4ada4c0d7bc0d499 100644 (file)
@@ -7,12 +7,12 @@ html {
 
 /* Links */
 a {
-  color: #0074a2; }
+  color: #0073aa; }
   a:hover, a:active, a:focus {
-    color: #0099d5; }
+    color: #0095dd; }
 
 #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Forms */
 input[type=checkbox]:checked:before {
@@ -22,7 +22,7 @@ input[type=radio]:checked:before {
   background: #04a4cc; }
 
 .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -143,7 +143,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #fff;
   background: #888; }
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
   color: #ccc; }
 
 /* Admin Menu: bubble */
@@ -275,10 +275,10 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #04a4cc; }
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
+.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
   background: #04a4cc; }
 
-.theme-browser .theme.add-new-theme:hover span:after {
+.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
   color: #04a4cc; }
 
 .theme-section.current, .theme-filter.current {
@@ -318,14 +318,6 @@ body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .m
   -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); }
 
-/* Thickbox: Plugin information */
-#sidemenu a.current {
-  background: #f5f5f5;
-  border-bottom-color: #f5f5f5; }
-
-#plugin-information .action-button {
-  background: #04a4cc; }
-
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
   color: #999; }
@@ -334,9 +326,6 @@ div#wp-responsive-toggle a:before {
   border-color: transparent;
   background: #888; }
 
-.star-rating .star {
-  color: #04a4cc; }
-
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
   background: #fff; }
 
index 1ba957cf043c6168c26ead7768551c631dd42352..5e3414bd28691ab9abf2fa66235f68fabd7ad47b 100644 (file)
@@ -1 +1 @@
-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;box-shadow:inset 0 1px 0 #09cafa}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#037c9a;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#333;background-color:#e5e5e5}.wp-core-ui .wp-ui-text-primary{color:#e5e5e5}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#888}.wp-core-ui .wp-ui-text-highlight{color:#888}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d64e07}.wp-core-ui .wp-ui-text-notification{color:#d64e07}.wp-core-ui .wp-ui-text-icon{color:#999}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#333;background-color:#e5e5e5}.view-switch a.current:before{color:#e5e5e5}.view-switch a:hover:before{color:#d64e07}.post-com-count:hover:after{border-top-color:#e5e5e5}.post-com-count:hover span{color:#333;background-color:#e5e5e5}strong .post-com-count:after{border-top-color:#d64e07}strong .post-com-count span{background-color:#d64e07}#adminmenu,#adminmenuback,#adminmenuwrap{background:#e5e5e5}#adminmenu a{color:#333}#adminmenu div.wp-menu-image:before{color:#999}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#888}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#ccc}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f5f5f5;border-bottom-color:#f5f5f5}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#fff}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#fff}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#686868}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#04a4cc}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#333}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#04a4cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f5f5f5}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#888}#adminmenu 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-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#04a4cc}.media-item .bar,.media-progress-bar div{background-color:#04a4cc}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc}.attachment.details .check{background-color:#04a4cc;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#04a4cc}.theme-browser .theme.add-new-theme:hover span:after{color:#04a4cc}body.more-filters-opened .more-filters{color:#333;background-color:#e5e5e5}body.more-filters-opened .more-filters:before{color:#333}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#888;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#888;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#888;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#04a4cc;border-color:#037c9a;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}#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
+html{background:#f5f5f5}a{color:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#04a4cc}input[type=radio]:checked:before{background:#04a4cc}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0490b3;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa;box-shadow:inset 0 1px 0 #09cafa}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #09cafa,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#037c9a;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#333;background-color:#e5e5e5}.wp-core-ui .wp-ui-text-primary{color:#e5e5e5}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#888}.wp-core-ui .wp-ui-text-highlight{color:#888}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#d64e07}.wp-core-ui .wp-ui-text-notification{color:#d64e07}.wp-core-ui .wp-ui-text-icon{color:#999}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#333;background-color:#e5e5e5}.view-switch a.current:before{color:#e5e5e5}.view-switch a:hover:before{color:#d64e07}.post-com-count:hover:after{border-top-color:#e5e5e5}.post-com-count:hover span{color:#333;background-color:#e5e5e5}strong .post-com-count:after{border-top-color:#d64e07}strong .post-com-count span{background-color:#d64e07}#adminmenu,#adminmenuback,#adminmenuwrap{background:#e5e5e5}#adminmenu a{color:#333}#adminmenu div.wp-menu-image:before{color:#999}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#888}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#ccc}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f5f5f5;border-bottom-color:#f5f5f5}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#fff}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#fff}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#686868}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#04a4cc}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#333}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#04a4cc}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f5f5f5}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#888}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#ccc}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#d64e07}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#333;background:#fff}#collapse-menu{color:#777}#collapse-menu:hover{color:#333}#collapse-button div:after{color:#999}#collapse-menu:hover #collapse-button div:after{color:#555}#wpadminbar{color:#333;background:#e5e5e5}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#333}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#999}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#fff}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#04a4cc}#wpadminbar .menupop .ab-sub-wrapper{background:#fff}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#f6f7f7}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#686868}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#999}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#04a4cc}#wpadminbar #adminbarsearch:before{color:#999}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#333;background:#f7f7f7}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#333;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#333;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#f7f7f7;background-color:#f7f7f7}#wpadminbar #wp-admin-bar-user-info .display-name{color:#333}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#04a4cc}#wpadminbar #wp-admin-bar-user-info .username{color:#686868}.wp-pointer .wp-pointer-content h3{background-color:#04a4cc;border-color:#0490b3}.wp-pointer .wp-pointer-content h3:before{color:#04a4cc}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#04a4cc}.media-item .bar,.media-progress-bar div{background-color:#04a4cc}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #04a4cc}.attachment.details .check{background-color:#04a4cc;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 2px #04a4cc}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc;box-shadow:0 0 0 1px #fff,0 0 0 3px #04a4cc}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#04a4cc}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#04a4cc}body.more-filters-opened .more-filters{color:#333;background-color:#e5e5e5}body.more-filters-opened .more-filters:before{color:#333}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#888;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#888;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#888;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#04a4cc;border-color:#037c9a;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#999}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#888}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#fff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default li:hover span.ab-label,#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary li.hover span.ab-label{color:#333}.theme-filter.current,.theme-section.current{border-bottom-color:#04a4cc}
\ No newline at end of file
index d199f9d6ecbb216017bf147b0f9723b43d5c8fe8..b7bc191e5b51ae981b0c9b3ad5b905c502b579f8 100644 (file)
@@ -7,12 +7,12 @@ html {
 
 /* Links */
 a {
-  color: #0074a2; }
+  color: #0073aa; }
   a:hover, a:active, a:focus {
-    color: #0099d5; }
+    color: #0095dd; }
 
 #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Forms */
 input[type=checkbox]:checked:before {
@@ -22,7 +22,7 @@ input[type=radio]:checked:before {
   background: #e14d43; }
 
 .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -143,7 +143,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #fff;
   background: #e14d43; }
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
   color: #fff; }
 
 /* Admin Menu: bubble */
@@ -275,10 +275,10 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #e14d43; }
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
+.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
   background: #e14d43; }
 
-.theme-browser .theme.add-new-theme:hover span:after {
+.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
   color: #e14d43; }
 
 .theme-section.current, .theme-filter.current {
@@ -318,14 +318,6 @@ body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .m
   -webkit-box-shadow: inset 0 1px 0 #ec8b85, 0 1px 0 rgba(0, 0, 0, 0.15);
   box-shadow: inset 0 1px 0 #ec8b85, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
-/* Thickbox: Plugin information */
-#sidemenu a.current {
-  background: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
-
-#plugin-information .action-button {
-  background: #e14d43; }
-
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
   color: #f1f2f3; }
@@ -334,8 +326,5 @@ div#wp-responsive-toggle a:before {
   border-color: transparent;
   background: #e14d43; }
 
-.star-rating .star {
-  color: #e14d43; }
-
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
   background: #26292c; }
index cd4b9eaff3f51adab906071ace2ebaacc105fecc..8363e8a01b0d4b4712a0ace7638e8bb7ec06b94a 100644 (file)
@@ -1 +1 @@
-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:#d02c21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd382d;border-color:#ba281e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8776f;box-shadow:inset 0 1px 0 #e8776f}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8776f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8776f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d02c21;border-color:#ba281e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1c8c7!important;background:#d92e23!important;border-color:#ba281e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#363b3f}.wp-core-ui .wp-ui-text-primary{color:#363b3f}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#e14d43}.wp-core-ui .wp-ui-text-highlight{color:#e14d43}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#69a8bb}.wp-core-ui .wp-ui-text-notification{color:#69a8bb}.wp-core-ui .wp-ui-text-icon{color:#f1f2f3}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#363b3f}.view-switch a.current:before{color:#363b3f}.view-switch a:hover:before{color:#69a8bb}.post-com-count:hover:after{border-top-color:#363b3f}.post-com-count:hover span{color:#fff;background-color:#363b3f}strong .post-com-count:after{border-top-color:#69a8bb}strong .post-com-count span{background-color:#69a8bb}#adminmenu,#adminmenuback,#adminmenuwrap{background:#363b3f}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f1f2f3}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#e14d43}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#26292c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#26292c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#c2c4c5}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#e14d43}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#e14d43}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#e14d43}#adminmenu 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:#dd382d}.wp-pointer .wp-pointer-content h3:before{color:#e14d43}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#e14d43}.media-item .bar,.media-progress-bar div{background-color:#e14d43}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43}.attachment.details .check{background-color:#e14d43;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#e14d43}.theme-browser .theme.add-new-theme:hover span:after{color:#e14d43}.theme-filter.current,.theme-section.current{border-bottom-color:#363b3f}body.more-filters-opened .more-filters{color:#fff;background-color:#363b3f}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#e14d43;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#e14d43;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#e14d43;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e14d43;border-color:#d02c21;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15)}#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:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#e14d43}input[type=radio]:checked:before{background:#e14d43}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#e14d43;border-color:#d02c21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd382d;border-color:#ba281e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8776f;box-shadow:inset 0 1px 0 #e8776f}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8776f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8776f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d02c21;border-color:#ba281e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1c8c7!important;background:#d92e23!important;border-color:#ba281e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#363b3f}.wp-core-ui .wp-ui-text-primary{color:#363b3f}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#e14d43}.wp-core-ui .wp-ui-text-highlight{color:#e14d43}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#69a8bb}.wp-core-ui .wp-ui-text-notification{color:#69a8bb}.wp-core-ui .wp-ui-text-icon{color:#f1f2f3}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#363b3f}.view-switch a.current:before{color:#363b3f}.view-switch a:hover:before{color:#69a8bb}.post-com-count:hover:after{border-top-color:#363b3f}.post-com-count:hover span{color:#fff;background-color:#363b3f}strong .post-com-count:after{border-top-color:#69a8bb}strong .post-com-count span{background-color:#69a8bb}#adminmenu,#adminmenuback,#adminmenuwrap{background:#363b3f}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f1f2f3}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#e14d43}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#26292c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#26292c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#c2c4c5}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#e14d43}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#e14d43}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#e14d43}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#69a8bb}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#26292c}#collapse-menu{color:#f1f2f3}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f1f2f3}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#363b3f}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f1f2f3}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#e14d43;background:#26292c}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#e14d43}#wpadminbar .menupop .ab-sub-wrapper{background:#26292c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4c4c4d}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#c2c4c5}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f1f2f3}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#e14d43}#wpadminbar #adminbarsearch:before{color:#f1f2f3}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#464d52}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#464d52;background-color:#464d52}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#e14d43}#wpadminbar #wp-admin-bar-user-info .username{color:#c2c4c5}.wp-pointer .wp-pointer-content h3{background-color:#e14d43;border-color:#dd382d}.wp-pointer .wp-pointer-content h3:before{color:#e14d43}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#e14d43}.media-item .bar,.media-progress-bar div{background-color:#e14d43}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43}.attachment.details .check{background-color:#e14d43;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#e14d43}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#e14d43}.theme-filter.current,.theme-section.current{border-bottom-color:#363b3f}body.more-filters-opened .more-filters{color:#fff;background-color:#363b3f}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#e14d43;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#e14d43;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#e14d43;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e14d43;border-color:#d02c21;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#f1f2f3}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#e14d43}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#26292c}
\ No newline at end of file
index 4bcf99938c18b7129e2e3238b12af1dc9041893e..f62befc29434d1cb9f6558dfd46e297c01ac2789 100644 (file)
@@ -7,12 +7,12 @@ html {
 
 /* Links */
 a {
-  color: #0074a2; }
+  color: #0073aa; }
   a:hover, a:active, a:focus {
-    color: #0099d5; }
+    color: #0095dd; }
 
 #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Forms */
 input[type=checkbox]:checked:before {
@@ -22,7 +22,7 @@ input[type=radio]:checked:before {
   background: #e14d43; }
 
 .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -143,7 +143,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #fff;
   background: #e14d43; }
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
   color: #fff; }
 
 /* Admin Menu: bubble */
@@ -275,10 +275,10 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #e14d43; }
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
+.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
   background: #e14d43; }
 
-.theme-browser .theme.add-new-theme:hover span:after {
+.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
   color: #e14d43; }
 
 .theme-section.current, .theme-filter.current {
@@ -318,14 +318,6 @@ body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .m
   -webkit-box-shadow: inset 0 1px 0 #ec8b85, 0 1px 0 rgba(0, 0, 0, 0.15);
   box-shadow: inset 0 1px 0 #ec8b85, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
-/* Thickbox: Plugin information */
-#sidemenu a.current {
-  background: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
-
-#plugin-information .action-button {
-  background: #e14d43; }
-
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
   color: #f1f2f3; }
@@ -334,8 +326,5 @@ div#wp-responsive-toggle a:before {
   border-color: transparent;
   background: #e14d43; }
 
-.star-rating .star {
-  color: #e14d43; }
-
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
   background: #26292c; }
index b347537471ac8fbc1eb28061a800d640df76ae64..b76537200853a5ab848a4bed62e4a5ae906663cd 100644 (file)
@@ -1 +1 @@
-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:#d02c21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd382d;border-color:#ba281e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8776f;box-shadow:inset 0 1px 0 #e8776f}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8776f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8776f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d02c21;border-color:#ba281e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1c8c7!important;background:#d92e23!important;border-color:#ba281e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#363b3f}.wp-core-ui .wp-ui-text-primary{color:#363b3f}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#e14d43}.wp-core-ui .wp-ui-text-highlight{color:#e14d43}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#69a8bb}.wp-core-ui .wp-ui-text-notification{color:#69a8bb}.wp-core-ui .wp-ui-text-icon{color:#f1f2f3}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#363b3f}.view-switch a.current:before{color:#363b3f}.view-switch a:hover:before{color:#69a8bb}.post-com-count:hover:after{border-top-color:#363b3f}.post-com-count:hover span{color:#fff;background-color:#363b3f}strong .post-com-count:after{border-top-color:#69a8bb}strong .post-com-count span{background-color:#69a8bb}#adminmenu,#adminmenuback,#adminmenuwrap{background:#363b3f}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f1f2f3}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#e14d43}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#26292c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#26292c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#c2c4c5}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#e14d43}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#e14d43}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#e14d43}#adminmenu 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:#dd382d}.wp-pointer .wp-pointer-content h3:before{color:#e14d43}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#e14d43}.media-item .bar,.media-progress-bar div{background-color:#e14d43}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43}.attachment.details .check{background-color:#e14d43;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#e14d43}.theme-browser .theme.add-new-theme:hover span:after{color:#e14d43}.theme-filter.current,.theme-section.current{border-bottom-color:#363b3f}body.more-filters-opened .more-filters{color:#fff;background-color:#363b3f}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#e14d43;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#e14d43;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#e14d43;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e14d43;border-color:#d02c21;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15)}#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:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#e14d43}input[type=radio]:checked:before{background:#e14d43}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#e14d43;border-color:#d02c21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#dd382d;border-color:#ba281e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8776f;box-shadow:inset 0 1px 0 #e8776f}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e8776f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e8776f,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#d02c21;border-color:#ba281e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1c8c7!important;background:#d92e23!important;border-color:#ba281e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#363b3f}.wp-core-ui .wp-ui-text-primary{color:#363b3f}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#e14d43}.wp-core-ui .wp-ui-text-highlight{color:#e14d43}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#69a8bb}.wp-core-ui .wp-ui-text-notification{color:#69a8bb}.wp-core-ui .wp-ui-text-icon{color:#f1f2f3}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#363b3f}.view-switch a.current:before{color:#363b3f}.view-switch a:hover:before{color:#69a8bb}.post-com-count:hover:after{border-top-color:#363b3f}.post-com-count:hover span{color:#fff;background-color:#363b3f}strong .post-com-count:after{border-top-color:#69a8bb}strong .post-com-count span{background-color:#69a8bb}#adminmenu,#adminmenuback,#adminmenuwrap{background:#363b3f}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f1f2f3}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#e14d43}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#26292c}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#26292c}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#c2c4c5}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#e14d43}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#e14d43}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#e14d43}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#69a8bb}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#26292c}#collapse-menu{color:#f1f2f3}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f1f2f3}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#363b3f}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f1f2f3}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#e14d43;background:#26292c}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#e14d43}#wpadminbar .menupop .ab-sub-wrapper{background:#26292c}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#4c4c4d}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#c2c4c5}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f1f2f3}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#e14d43}#wpadminbar #adminbarsearch:before{color:#f1f2f3}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#464d52}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#464d52;background-color:#464d52}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#e14d43}#wpadminbar #wp-admin-bar-user-info .username{color:#c2c4c5}.wp-pointer .wp-pointer-content h3{background-color:#e14d43;border-color:#dd382d}.wp-pointer .wp-pointer-content h3:before{color:#e14d43}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#e14d43}.media-item .bar,.media-progress-bar div{background-color:#e14d43}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #e14d43}.attachment.details .check{background-color:#e14d43;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 2px #e14d43}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43;box-shadow:0 0 0 1px #fff,0 0 0 3px #e14d43}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#e14d43}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#e14d43}.theme-filter.current,.theme-section.current{border-bottom-color:#363b3f}body.more-filters-opened .more-filters{color:#fff;background-color:#363b3f}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#e14d43;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#e14d43;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#e14d43;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#e14d43;border-color:#d02c21;-webkit-box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8b85,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#f1f2f3}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#e14d43}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#26292c}
\ No newline at end of file
index 709e7fcf1a33ce0493a7a65bc5321b3ac74f5c3f..24ad2d48af65f54a39012a08c06d31e8abe082b2 100644 (file)
@@ -7,12 +7,12 @@ html {
 
 /* Links */
 a {
-  color: #0074a2; }
+  color: #0073aa; }
   a:hover, a:active, a:focus {
-    color: #0099d5; }
+    color: #0095dd; }
 
 #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Forms */
 input[type=checkbox]:checked:before {
@@ -22,7 +22,7 @@ input[type=radio]:checked:before {
   background: #738e96; }
 
 .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -143,7 +143,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #fff;
   background: #9ebaa0; }
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
   color: #fff; }
 
 /* Admin Menu: bubble */
@@ -275,10 +275,10 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #9ebaa0; }
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
+.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
   background: #9ebaa0; }
 
-.theme-browser .theme.add-new-theme:hover span:after {
+.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
   color: #9ebaa0; }
 
 .theme-section.current, .theme-filter.current {
@@ -318,14 +318,6 @@ body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .m
   -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); }
 
-/* Thickbox: Plugin information */
-#sidemenu a.current {
-  background: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
-
-#plugin-information .action-button {
-  background: #9ebaa0; }
-
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
   color: #f2fcff; }
@@ -334,8 +326,5 @@ div#wp-responsive-toggle a:before {
   border-color: transparent;
   background: #9ebaa0; }
 
-.star-rating .star {
-  color: #9ebaa0; }
-
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
   background: #627c83; }
index 14c1d4095efa07fea03f8cfc2e3b9bc3047265ae..05ad15579f3ca0835f4d532e1491e14c2c438b21 100644 (file)
@@ -1 +1 @@
-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;box-shadow:inset 0 1px 0 #bccfbd}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#80a583;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7d1c8!important;background:#86a989!important;border-color:#719a74!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#738e96}.wp-core-ui .wp-ui-text-primary{color:#738e96}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#9ebaa0}.wp-core-ui .wp-ui-text-highlight{color:#9ebaa0}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#aa9d88}.wp-core-ui .wp-ui-text-notification{color:#aa9d88}.wp-core-ui .wp-ui-text-icon{color:#f2fcff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#738e96}.view-switch a.current:before{color:#738e96}.view-switch a:hover:before{color:#aa9d88}.post-com-count:hover:after{border-top-color:#738e96}.post-com-count:hover span{color:#fff;background-color:#738e96}strong .post-com-count:after{border-top-color:#aa9d88}strong .post-com-count span{background-color:#aa9d88}#adminmenu,#adminmenuback,#adminmenuwrap{background:#738e96}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f2fcff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#9ebaa0}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#627c83}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#627c83}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#d5dddf}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#9ebaa0}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#9ebaa0}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#9ebaa0}#adminmenu 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:#8f9a9e}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#d5dddf}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f2fcff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#9ebaa0}#wpadminbar #adminbarsearch:before{color:#f2fcff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#879ea5}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#879ea5;background-color:#879ea5}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#9ebaa0}#wpadminbar #wp-admin-bar-user-info .username{color:#d5dddf}.wp-pointer .wp-pointer-content h3{background-color:#9ebaa0;border-color:#8faf91}.wp-pointer .wp-pointer-content h3:before{color:#9ebaa0}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#9ebaa0}.media-item .bar,.media-progress-bar div{background-color:#9ebaa0}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0}.attachment.details .check{background-color:#9ebaa0;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#9ebaa0}.theme-browser .theme.add-new-theme:hover span:after{color:#9ebaa0}.theme-filter.current,.theme-section.current{border-bottom-color:#738e96}body.more-filters-opened .more-filters{color:#fff;background-color:#738e96}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#9ebaa0;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#9ebaa0;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#9ebaa0;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#9ebaa0;border-color:#80a583;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}#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:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#738e96}input[type=radio]:checked:before{background:#738e96}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#8faf91;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd;box-shadow:inset 0 1px 0 #bccfbd}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#80a583;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7d1c8!important;background:#86a989!important;border-color:#719a74!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#738e96}.wp-core-ui .wp-ui-text-primary{color:#738e96}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#9ebaa0}.wp-core-ui .wp-ui-text-highlight{color:#9ebaa0}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#aa9d88}.wp-core-ui .wp-ui-text-notification{color:#aa9d88}.wp-core-ui .wp-ui-text-icon{color:#f2fcff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#738e96}.view-switch a.current:before{color:#738e96}.view-switch a:hover:before{color:#aa9d88}.post-com-count:hover:after{border-top-color:#738e96}.post-com-count:hover span{color:#fff;background-color:#738e96}strong .post-com-count:after{border-top-color:#aa9d88}strong .post-com-count span{background-color:#aa9d88}#adminmenu,#adminmenuback,#adminmenuwrap{background:#738e96}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f2fcff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#9ebaa0}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#627c83}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#627c83}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#d5dddf}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#9ebaa0}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#9ebaa0}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#9ebaa0}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#aa9d88}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#627c83}#collapse-menu{color:#f2fcff}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f2fcff}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#738e96}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f2fcff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#9ebaa0;background:#627c83}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#9ebaa0}#wpadminbar .menupop .ab-sub-wrapper{background:#627c83}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#8f9a9e}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#d5dddf}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f2fcff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#9ebaa0}#wpadminbar #adminbarsearch:before{color:#f2fcff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#879ea5}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#879ea5;background-color:#879ea5}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#9ebaa0}#wpadminbar #wp-admin-bar-user-info .username{color:#d5dddf}.wp-pointer .wp-pointer-content h3{background-color:#9ebaa0;border-color:#8faf91}.wp-pointer .wp-pointer-content h3:before{color:#9ebaa0}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#9ebaa0}.media-item .bar,.media-progress-bar div{background-color:#9ebaa0}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0}.attachment.details .check{background-color:#9ebaa0;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#9ebaa0}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#9ebaa0}.theme-filter.current,.theme-section.current{border-bottom-color:#738e96}body.more-filters-opened .more-filters{color:#fff;background-color:#738e96}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#9ebaa0;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#9ebaa0;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#9ebaa0;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#9ebaa0;border-color:#80a583;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#f2fcff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#9ebaa0}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#627c83}
\ No newline at end of file
index cd1d7e39e47b93423c84f89e2312a37169ffe496..9dc692c0171a628aecfceac360d4b80ee7682e73 100644 (file)
@@ -7,12 +7,12 @@ html {
 
 /* Links */
 a {
-  color: #0074a2; }
+  color: #0073aa; }
   a:hover, a:active, a:focus {
-    color: #0099d5; }
+    color: #0095dd; }
 
 #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Forms */
 input[type=checkbox]:checked:before {
@@ -22,7 +22,7 @@ input[type=radio]:checked:before {
   background: #738e96; }
 
 .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -143,7 +143,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #fff;
   background: #9ebaa0; }
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
   color: #fff; }
 
 /* Admin Menu: bubble */
@@ -275,10 +275,10 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #9ebaa0; }
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
+.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
   background: #9ebaa0; }
 
-.theme-browser .theme.add-new-theme:hover span:after {
+.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
   color: #9ebaa0; }
 
 .theme-section.current, .theme-filter.current {
@@ -318,14 +318,6 @@ body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .m
   -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); }
 
-/* Thickbox: Plugin information */
-#sidemenu a.current {
-  background: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
-
-#plugin-information .action-button {
-  background: #9ebaa0; }
-
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
   color: #f2fcff; }
@@ -334,8 +326,5 @@ div#wp-responsive-toggle a:before {
   border-color: transparent;
   background: #9ebaa0; }
 
-.star-rating .star {
-  color: #9ebaa0; }
-
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
   background: #627c83; }
index 8f720189e53105927b787e223f1a0647b90f06fb..6bc6a3bc3cf1a2877b0c5355aa61fdcd3863cac2 100644 (file)
@@ -1 +1 @@
-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;box-shadow:inset 0 1px 0 #bccfbd}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#80a583;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7d1c8!important;background:#86a989!important;border-color:#719a74!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#738e96}.wp-core-ui .wp-ui-text-primary{color:#738e96}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#9ebaa0}.wp-core-ui .wp-ui-text-highlight{color:#9ebaa0}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#aa9d88}.wp-core-ui .wp-ui-text-notification{color:#aa9d88}.wp-core-ui .wp-ui-text-icon{color:#f2fcff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#738e96}.view-switch a.current:before{color:#738e96}.view-switch a:hover:before{color:#aa9d88}.post-com-count:hover:after{border-top-color:#738e96}.post-com-count:hover span{color:#fff;background-color:#738e96}strong .post-com-count:after{border-top-color:#aa9d88}strong .post-com-count span{background-color:#aa9d88}#adminmenu,#adminmenuback,#adminmenuwrap{background:#738e96}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f2fcff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#9ebaa0}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#627c83}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#627c83}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#d5dddf}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#9ebaa0}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#9ebaa0}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#9ebaa0}#adminmenu 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:#8f9a9e}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#d5dddf}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f2fcff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#9ebaa0}#wpadminbar #adminbarsearch:before{color:#f2fcff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#879ea5}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#879ea5;background-color:#879ea5}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#9ebaa0}#wpadminbar #wp-admin-bar-user-info .username{color:#d5dddf}.wp-pointer .wp-pointer-content h3{background-color:#9ebaa0;border-color:#8faf91}.wp-pointer .wp-pointer-content h3:before{color:#9ebaa0}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#9ebaa0}.media-item .bar,.media-progress-bar div{background-color:#9ebaa0}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0}.attachment.details .check{background-color:#9ebaa0;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#9ebaa0}.theme-browser .theme.add-new-theme:hover span:after{color:#9ebaa0}.theme-filter.current,.theme-section.current{border-bottom-color:#738e96}body.more-filters-opened .more-filters{color:#fff;background-color:#738e96}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#9ebaa0;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#9ebaa0;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#9ebaa0;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#9ebaa0;border-color:#80a583;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}#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:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#738e96}input[type=radio]:checked:before{background:#738e96}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#8faf91;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd;box-shadow:inset 0 1px 0 #bccfbd}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #bccfbd,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#80a583;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#c7d1c8!important;background:#86a989!important;border-color:#719a74!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#738e96}.wp-core-ui .wp-ui-text-primary{color:#738e96}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#9ebaa0}.wp-core-ui .wp-ui-text-highlight{color:#9ebaa0}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#aa9d88}.wp-core-ui .wp-ui-text-notification{color:#aa9d88}.wp-core-ui .wp-ui-text-icon{color:#f2fcff}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#738e96}.view-switch a.current:before{color:#738e96}.view-switch a:hover:before{color:#aa9d88}.post-com-count:hover:after{border-top-color:#738e96}.post-com-count:hover span{color:#fff;background-color:#738e96}strong .post-com-count:after{border-top-color:#aa9d88}strong .post-com-count span{background-color:#aa9d88}#adminmenu,#adminmenuback,#adminmenuwrap{background:#738e96}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f2fcff}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#9ebaa0}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#627c83}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#627c83}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#d5dddf}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#9ebaa0}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#9ebaa0}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#9ebaa0}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#aa9d88}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#627c83}#collapse-menu{color:#f2fcff}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f2fcff}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#738e96}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f2fcff}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#9ebaa0;background:#627c83}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#9ebaa0}#wpadminbar .menupop .ab-sub-wrapper{background:#627c83}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#8f9a9e}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#d5dddf}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f2fcff}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#9ebaa0}#wpadminbar #adminbarsearch:before{color:#f2fcff}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#879ea5}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#879ea5;background-color:#879ea5}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#9ebaa0}#wpadminbar #wp-admin-bar-user-info .username{color:#d5dddf}.wp-pointer .wp-pointer-content h3{background-color:#9ebaa0;border-color:#8faf91}.wp-pointer .wp-pointer-content h3:before{color:#9ebaa0}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#9ebaa0}.media-item .bar,.media-progress-bar div{background-color:#9ebaa0}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #9ebaa0}.attachment.details .check{background-color:#9ebaa0;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 2px #9ebaa0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0;box-shadow:0 0 0 1px #fff,0 0 0 3px #9ebaa0}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#9ebaa0}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#9ebaa0}.theme-filter.current,.theme-section.current{border-bottom-color:#738e96}body.more-filters-opened .more-filters{color:#fff;background-color:#738e96}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#9ebaa0;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#9ebaa0;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#9ebaa0;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#9ebaa0;border-color:#80a583;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#f2fcff}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#9ebaa0}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#627c83}
\ No newline at end of file
index 2cdf11f9ec339769e3ac1059abcd50f43b1dc24d..9b6821c98309fe5d198485a47e8232a8fd4a7a11 100644 (file)
@@ -7,12 +7,12 @@ html {
 
 /* Links */
 a {
-  color: #0074a2; }
+  color: #0073aa; }
   a:hover, a:active, a:focus {
-    color: #0099d5; }
+    color: #0095dd; }
 
 #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Forms */
 input[type=checkbox]:checked:before {
@@ -22,7 +22,7 @@ input[type=radio]:checked:before {
   background: #dd823b; }
 
 .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -143,7 +143,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #fff;
   background: #dd823b; }
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
   color: #fff; }
 
 /* Admin Menu: bubble */
@@ -275,10 +275,10 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #dd823b; }
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
+.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
   background: #dd823b; }
 
-.theme-browser .theme.add-new-theme:hover span:after {
+.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
   color: #dd823b; }
 
 .theme-section.current, .theme-filter.current {
@@ -318,14 +318,6 @@ body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .m
   -webkit-box-shadow: inset 0 1px 0 #e8ac7c, 0 1px 0 rgba(0, 0, 0, 0.15);
   box-shadow: inset 0 1px 0 #e8ac7c, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
-/* Thickbox: Plugin information */
-#sidemenu a.current {
-  background: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
-
-#plugin-information .action-button {
-  background: #dd823b; }
-
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
   color: #f3f1f1; }
@@ -334,8 +326,5 @@ div#wp-responsive-toggle a:before {
   border-color: transparent;
   background: #dd823b; }
 
-.star-rating .star {
-  color: #dd823b; }
-
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
   background: #be3631; }
index 9441bba024719bcff1913e66121bf8cda5d16440..b0306811ea2a76348941e895bb9f523319b2c6c2 100644 (file)
@@ -1 +1 @@
-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:#c36922;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#d97426;border-color:#ad5d1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59e66;box-shadow:inset 0 1px 0 #e59e66}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e59e66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e59e66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#c36922;border-color:#ad5d1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cbc7!important;background:#cc6d23!important;border-color:#ad5d1e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#cf4944}.wp-core-ui .wp-ui-text-primary{color:#cf4944}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#dd823b}.wp-core-ui .wp-ui-text-highlight{color:#dd823b}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#ccaf0b}.wp-core-ui .wp-ui-text-notification{color:#ccaf0b}.wp-core-ui .wp-ui-text-icon{color:#f3f1f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#cf4944}.view-switch a.current:before{color:#cf4944}.view-switch a:hover:before{color:#ccaf0b}.post-com-count:hover:after{border-top-color:#cf4944}.post-com-count:hover span{color:#fff;background-color:#cf4944}strong .post-com-count:after{border-top-color:#ccaf0b}strong .post-com-count span{background-color:#ccaf0b}#adminmenu,#adminmenuback,#adminmenuwrap{background:#cf4944}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f1f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#dd823b}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#be3631}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#be3631}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#f0c8c6}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#f7e3d3}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#f7e3d3}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#dd823b}#adminmenu 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:#d66560}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#d66560;background-color:#d66560}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#f7e3d3}#wpadminbar #wp-admin-bar-user-info .username{color:#f0c8c6}.wp-pointer .wp-pointer-content h3{background-color:#dd823b;border-color:#d97426}.wp-pointer .wp-pointer-content h3:before{color:#dd823b}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#dd823b}.media-item .bar,.media-progress-bar div{background-color:#dd823b}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b}.attachment.details .check{background-color:#dd823b;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#dd823b}.theme-browser .theme.add-new-theme:hover span:after{color:#dd823b}.theme-filter.current,.theme-section.current{border-bottom-color:#cf4944}body.more-filters-opened .more-filters{color:#fff;background-color:#cf4944}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#dd823b;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#dd823b;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#dd823b;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#dd823b;border-color:#c36922;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15)}#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:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#dd823b}input[type=radio]:checked:before{background:#dd823b}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#dd823b;border-color:#c36922;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#d97426;border-color:#ad5d1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59e66;box-shadow:inset 0 1px 0 #e59e66}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e59e66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e59e66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#c36922;border-color:#ad5d1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cbc7!important;background:#cc6d23!important;border-color:#ad5d1e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#cf4944}.wp-core-ui .wp-ui-text-primary{color:#cf4944}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#dd823b}.wp-core-ui .wp-ui-text-highlight{color:#dd823b}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#ccaf0b}.wp-core-ui .wp-ui-text-notification{color:#ccaf0b}.wp-core-ui .wp-ui-text-icon{color:#f3f1f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#cf4944}.view-switch a.current:before{color:#cf4944}.view-switch a:hover:before{color:#ccaf0b}.post-com-count:hover:after{border-top-color:#cf4944}.post-com-count:hover span{color:#fff;background-color:#cf4944}strong .post-com-count:after{border-top-color:#ccaf0b}strong .post-com-count span{background-color:#ccaf0b}#adminmenu,#adminmenuback,#adminmenuwrap{background:#cf4944}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f1f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#dd823b}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#be3631}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#be3631}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#f0c8c6}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#f7e3d3}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#f7e3d3}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-left-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#dd823b}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#ccaf0b}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#be3631}#collapse-menu{color:#f3f1f1}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f3f1f1}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#cf4944}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f1f1}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#f7e3d3;background:#be3631}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#f7e3d3}#wpadminbar .menupop .ab-sub-wrapper{background:#be3631}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#cf6b67}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#f0c8c6}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f1f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#f7e3d3}#wpadminbar #adminbarsearch:before{color:#f3f1f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#d66560}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#d66560;background-color:#d66560}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#f7e3d3}#wpadminbar #wp-admin-bar-user-info .username{color:#f0c8c6}.wp-pointer .wp-pointer-content h3{background-color:#dd823b;border-color:#d97426}.wp-pointer .wp-pointer-content h3:before{color:#dd823b}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#dd823b}.media-item .bar,.media-progress-bar div{background-color:#dd823b}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b}.attachment.details .check{background-color:#dd823b;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#dd823b}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#dd823b}.theme-filter.current,.theme-section.current{border-bottom-color:#cf4944}body.more-filters-opened .more-filters{color:#fff;background-color:#cf4944}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#dd823b;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#dd823b;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#dd823b;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#dd823b;border-color:#c36922;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#f3f1f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#dd823b}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#be3631}
\ No newline at end of file
index 2328f3fd2852bb23f7f1c457ef3b0eeda86212f0..1d07d3b9f2a3ba42a150a43551d9f51d513df5c3 100644 (file)
@@ -7,12 +7,12 @@ html {
 
 /* Links */
 a {
-  color: #0074a2; }
+  color: #0073aa; }
   a:hover, a:active, a:focus {
-    color: #0099d5; }
+    color: #0095dd; }
 
 #media-upload a.del-link:hover, div.dashboard-widget-submit input:hover, .subsubsub a:hover, .subsubsub a.current:hover {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Forms */
 input[type=checkbox]:checked:before {
@@ -22,7 +22,7 @@ input[type=radio]:checked:before {
   background: #dd823b; }
 
 .wp-core-ui input[type="reset"]:hover, .wp-core-ui input[type="reset"]:active {
-  color: #0099d5; }
+  color: #0095dd; }
 
 /* Core UI */
 .wp-core-ui .button-primary {
@@ -143,7 +143,7 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   color: #fff;
   background: #dd823b; }
 
-#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
+#adminmenu li.wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.current:hover div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before, #adminmenu li.opensub div.wp-menu-image:before, .ie8 #adminmenu li.opensub div.wp-menu-image:before {
   color: #fff; }
 
 /* Admin Menu: bubble */
@@ -275,10 +275,10 @@ ul#adminmenu a.wp-has-current-submenu:after, ul#adminmenu > li.current > a.curre
   box-shadow: 0px 0px 0px 1px #fff, 0px 0px 0px 3px #dd823b; }
 
 /* Themes */
-.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme:hover:after {
+.theme-browser .theme.active .theme-name, .theme-browser .theme.add-new-theme a:hover:after, .theme-browser .theme.add-new-theme a:focus:after {
   background: #dd823b; }
 
-.theme-browser .theme.add-new-theme:hover span:after {
+.theme-browser .theme.add-new-theme a:hover span:after, .theme-browser .theme.add-new-theme a:focus span:after {
   color: #dd823b; }
 
 .theme-section.current, .theme-filter.current {
@@ -318,14 +318,6 @@ body.more-filters-opened .more-filters:hover:before, body.more-filters-opened .m
   -webkit-box-shadow: inset 0 1px 0 #e8ac7c, 0 1px 0 rgba(0, 0, 0, 0.15);
   box-shadow: inset 0 1px 0 #e8ac7c, 0 1px 0 rgba(0, 0, 0, 0.15); }
 
-/* Thickbox: Plugin information */
-#sidemenu a.current {
-  background: #f1f1f1;
-  border-bottom-color: #f1f1f1; }
-
-#plugin-information .action-button {
-  background: #dd823b; }
-
 /* Responsive Component */
 div#wp-responsive-toggle a:before {
   color: #f3f1f1; }
@@ -334,8 +326,5 @@ div#wp-responsive-toggle a:before {
   border-color: transparent;
   background: #dd823b; }
 
-.star-rating .star {
-  color: #dd823b; }
-
 .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a {
   background: #be3631; }
index e0d887ecbb49ff78743f6cde94a429d3b9755f54..45ef301c0ac3063726f625edfb3445d2a2f6861d 100644 (file)
@@ -1 +1 @@
-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:#c36922;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#d97426;border-color:#ad5d1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59e66;box-shadow:inset 0 1px 0 #e59e66}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e59e66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e59e66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#c36922;border-color:#ad5d1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cbc7!important;background:#cc6d23!important;border-color:#ad5d1e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#cf4944}.wp-core-ui .wp-ui-text-primary{color:#cf4944}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#dd823b}.wp-core-ui .wp-ui-text-highlight{color:#dd823b}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#ccaf0b}.wp-core-ui .wp-ui-text-notification{color:#ccaf0b}.wp-core-ui .wp-ui-text-icon{color:#f3f1f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#cf4944}.view-switch a.current:before{color:#cf4944}.view-switch a:hover:before{color:#ccaf0b}.post-com-count:hover:after{border-top-color:#cf4944}.post-com-count:hover span{color:#fff;background-color:#cf4944}strong .post-com-count:after{border-top-color:#ccaf0b}strong .post-com-count span{background-color:#ccaf0b}#adminmenu,#adminmenuback,#adminmenuwrap{background:#cf4944}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f1f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#dd823b}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#be3631}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#be3631}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#f0c8c6}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#f7e3d3}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#f7e3d3}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#dd823b}#adminmenu 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:#d66560}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#d66560;background-color:#d66560}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#f7e3d3}#wpadminbar #wp-admin-bar-user-info .username{color:#f0c8c6}.wp-pointer .wp-pointer-content h3{background-color:#dd823b;border-color:#d97426}.wp-pointer .wp-pointer-content h3:before{color:#dd823b}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#dd823b}.media-item .bar,.media-progress-bar div{background-color:#dd823b}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b}.attachment.details .check{background-color:#dd823b;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme:hover:after{background:#dd823b}.theme-browser .theme.add-new-theme:hover span:after{color:#dd823b}.theme-filter.current,.theme-section.current{border-bottom-color:#cf4944}body.more-filters-opened .more-filters{color:#fff;background-color:#cf4944}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#dd823b;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#dd823b;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#dd823b;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#dd823b;border-color:#c36922;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15)}#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:#0073aa}#media-upload a.del-link:hover,.subsubsub a.current:hover,.subsubsub a:hover,a:active,a:focus,a:hover,div.dashboard-widget-submit input:hover{color:#0095dd}input[type=checkbox]:checked:before{color:#dd823b}input[type=radio]:checked:before{background:#dd823b}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#0095dd}.wp-core-ui .button-primary{background:#dd823b;border-color:#c36922;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15)}.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#d97426;border-color:#ad5d1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59e66;box-shadow:inset 0 1px 0 #e59e66}.wp-core-ui .button-primary:focus{-webkit-box-shadow:inset 0 1px 0 #e59e66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 #e59e66,0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary:active{background:#c36922;border-color:#ad5d1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#d1cbc7!important;background:#cc6d23!important;border-color:#ad5d1e!important;text-shadow:none!important}.wp-core-ui .wp-ui-primary{color:#fff;background-color:#cf4944}.wp-core-ui .wp-ui-text-primary{color:#cf4944}.wp-core-ui .wp-ui-highlight{color:#fff;background-color:#dd823b}.wp-core-ui .wp-ui-text-highlight{color:#dd823b}.wp-core-ui .wp-ui-notification{color:#fff;background-color:#ccaf0b}.wp-core-ui .wp-ui-text-notification{color:#ccaf0b}.wp-core-ui .wp-ui-text-icon{color:#f3f1f1}#add-new-comment a:hover,.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover,.wrap .add-new-h2:hover{color:#fff;background-color:#cf4944}.view-switch a.current:before{color:#cf4944}.view-switch a:hover:before{color:#ccaf0b}.post-com-count:hover:after{border-top-color:#cf4944}.post-com-count:hover span{color:#fff;background-color:#cf4944}strong .post-com-count:after{border-top-color:#ccaf0b}strong .post-com-count span{background-color:#ccaf0b}#adminmenu,#adminmenuback,#adminmenuwrap{background:#cf4944}#adminmenu a{color:#fff}#adminmenu div.wp-menu-image:before{color:#f3f1f1}#adminmenu a:hover,#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{color:#fff;background-color:#dd823b}#adminmenu li.menu-top:hover div.wp-menu-image:before,#adminmenu li.opensub>a.menu-top div.wp-menu-image:before{color:#fff}.about-wrap h2 .nav-tab-active,.nav-tab-active,.nav-tab-active:hover{background-color:#f1f1f1;border-bottom-color:#f1f1f1}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{background:#be3631}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#be3631}#adminmenu .wp-has-current-submenu .wp-submenu a,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a,#adminmenu .wp-submenu .wp-submenu-head,#adminmenu .wp-submenu a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a,.folded #adminmenu .wp-has-current-submenu .wp-submenu a{color:#f0c8c6}#adminmenu .wp-has-current-submenu .wp-submenu a:focus,#adminmenu .wp-has-current-submenu .wp-submenu a:hover,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu a:hover,#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu a:hover,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:focus,.folded #adminmenu .wp-has-current-submenu .wp-submenu a:hover{color:#f7e3d3}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current a,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus,#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:focus,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover{color:#f7e3d3}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{border-right-color:#f1f1f1}#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top{color:#fff;background:#dd823b}#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before,.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#fff}#adminmenu .awaiting-mod,#adminmenu .update-plugins{color:#fff;background:#ccaf0b}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod,#adminmenu li.menu-top:hover>a .update-plugins,#adminmenu li:hover a .awaiting-mod{color:#fff;background:#be3631}#collapse-menu{color:#f3f1f1}#collapse-menu:hover{color:#fff}#collapse-button div:after{color:#f3f1f1}#collapse-menu:hover #collapse-button div:after{color:#fff}#wpadminbar{color:#fff;background:#cf4944}#wpadminbar .ab-item,#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#fff}#wpadminbar .ab-icon,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:after,#wpadminbar .ab-item:before{color:#f3f1f1}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li.menupop.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar-nojs .ab-top-menu>li.menupop:hover>.ab-item,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{color:#f7e3d3;background:#be3631}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#f7e3d3}#wpadminbar .menupop .ab-sub-wrapper{background:#be3631}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#cf6b67}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar-nojs .quicklinks .menupop:hover ul li a{color:#f0c8c6}#wpadminbar .menupop .menupop>.ab-item:before,#wpadminbar .quicklinks li .blavatar{color:#f3f1f1}#wpadminbar .menupop .menupop>.ab-item:hover:before,#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar .quicklinks li a:hover .blavatar,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:after,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:after,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#f7e3d3}#wpadminbar #adminbarsearch:before{color:#f3f1f1}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{color:#fff;background:#d66560}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#fff;opacity:.7}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#fff;opacity:.7}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{border-color:#d66560;background-color:#d66560}#wpadminbar #wp-admin-bar-user-info .display-name{color:#fff}#wpadminbar #wp-admin-bar-user-info a:hover .display-name{color:#f7e3d3}#wpadminbar #wp-admin-bar-user-info .username{color:#f0c8c6}.wp-pointer .wp-pointer-content h3{background-color:#dd823b;border-color:#d97426}.wp-pointer .wp-pointer-content h3:before{color:#dd823b}.wp-pointer.wp-pointer-top .wp-pointer-arrow,.wp-pointer.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow,.wp-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#dd823b}.media-item .bar,.media-progress-bar div{background-color:#dd823b}.details.attachment{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #dd823b}.attachment.details .check{background-color:#dd823b;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 2px #dd823b}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b;box-shadow:0 0 0 1px #fff,0 0 0 3px #dd823b}.theme-browser .theme.active .theme-name,.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{background:#dd823b}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{color:#dd823b}.theme-filter.current,.theme-section.current{border-bottom-color:#cf4944}body.more-filters-opened .more-filters{color:#fff;background-color:#cf4944}body.more-filters-opened .more-filters:before{color:#fff}body.more-filters-opened .more-filters:focus,body.more-filters-opened .more-filters:hover{background-color:#dd823b;color:#fff}body.more-filters-opened .more-filters:focus:before,body.more-filters-opened .more-filters:hover:before{color:#fff}.widgets-chooser li.widgets-chooser-selected{background-color:#dd823b;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{color:#fff}#customize-theme-controls .widget-area-select .selected{background-color:#dd823b;color:#fff}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#dd823b;border-color:#c36922;-webkit-box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ac7c,0 1px 0 rgba(0,0,0,.15)}div#wp-responsive-toggle a:before{color:#f3f1f1}.wp-responsive-open div#wp-responsive-toggle a{border-color:transparent;background:#dd823b}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#be3631}
\ No newline at end of file
index 7e973cb31b1932324ecfceee8243ae4806eee349..4f33eeee0c10a8f304296cb40e728e57308a8125 100644 (file)
@@ -177,7 +177,8 @@ p.popular-tags,
 .wp-editor-container,
 .popular-tags,
 .feature-filter,
-.imgedit-group {
+.imgedit-group,
+.comment-ays {
        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);
@@ -190,7 +191,8 @@ p.popular-tags,
 .widgets-holder-wrap,
 .popular-tags,
 .feature-filter,
-.imgedit-group {
+.imgedit-group,
+.comment-ays {
        background: #fff;
 }
 
@@ -225,6 +227,7 @@ body.modal-open {
 
 body.mobile.modal-open #wpwrap {
        overflow: hidden;
+       position: fixed;
        height: 100%;
 }
 
@@ -241,7 +244,7 @@ td {
 }
 
 a {
-       color: #0074a2;
+       color: #0073aa;
        -webkit-transition-property: border, background, color;
        transition-property: border, background, color;
        -webkit-transition-duration: .05s;
@@ -257,7 +260,7 @@ div {
 
 a:hover,
 a:active {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 a:focus {
@@ -325,14 +328,14 @@ h1 {
 }
 
 h2 {
-       color: #222;
+       color: #23282d;
        font-size: 1.5em;
        margin: .83em 0;
        font-weight: 400;
 }
 
 h3 {
-       color: #222;
+       color: #23282d;
        font-size: 1.3em;
        margin: 1em 0;
 }
@@ -390,12 +393,12 @@ ol.ol-decimal > li {
        margin: 0 0 0.5em;
 }
 
-/* @noflip */
+/* rtl:ignore */
 .ltr {
        direction: ltr;
 }
 
-/* @noflip */
+/* rtl:ignore */
 .code,
 code {
        font-family: Consolas, Monaco, monospace;
@@ -557,7 +560,7 @@ code {
 }
 
 .attention {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .wrap h2,
@@ -596,7 +599,7 @@ code {
 }
 
 .wrap .add-new-h2:hover {
-       background: #2ea2cc;
+       background: #00a0d2;
        color: #fff;
 }
 
@@ -627,8 +630,8 @@ div#widgets-right .widget-top:hover,
        color: #000;
 }
 
-.alternate,
-.alt {
+.striped > tbody > :nth-child(odd),
+.alternate {
        background-color: #f9f9f9;
 }
 
@@ -651,10 +654,10 @@ td.help {
 
 .wp-ui-primary {
        color: #fff;
-       background-color: #333;
+       background-color: #32373c;
 }
 .wp-ui-text-primary {
-       color: #333;
+       color: #32373c;
 }
 
 .wp-ui-highlight {
@@ -677,6 +680,20 @@ td.help {
        color: #999;
 }
 
+/* For emoji replacement images */
+img.emoji {
+       display: inline !important;
+       border: none !important;
+       height: 1em !important;
+       width: 1em !important;
+       margin: 0 .07em !important;
+       vertical-align: -0.1em !important;
+       background: none !important;
+       padding: 0 !important;
+       -webkit-box-shadow: none !important;
+       box-shadow: none !important;
+}
+
 /*------------------------------------------------------------------------------
   1.0 - Text Styles
 ------------------------------------------------------------------------------*/
@@ -700,7 +717,7 @@ td.help {
 .widget .widget-top,
 .menu-item-handle {
        background: #fafafa;
-       color: #222;
+       color: #23282d;
 }
 
 .postbox .hndle,
@@ -722,9 +739,10 @@ td.help {
 /* @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 {
+#bulk-titles div a:before,
+.notice-dismiss:before {
        background: none;
-       color: #bbb;
+       color: #b4b9be;
        content: '\f153';
        display: block !important;
        font: normal 16px/1 'dashicons';
@@ -982,14 +1000,14 @@ th.action-links {
        -webkit-box-shadow: none;
        box-shadow: none;
        border-bottom: 4px solid #666;
-       color: #222;
+       color: #23282d;
 }
 
 .filter-links li > a:hover,
 .filter-links li > a:focus,
 .show-filters .filter-links a.current:hover,
 .show-filters .filter-links a.current:focus {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .wp-filter .search-form {
@@ -1047,7 +1065,7 @@ th.action-links {
 
 .wp-filter .drawer-toggle:hover,
 .wp-filter .drawer-toggle:hover:before {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .wp-filter .drawer-toggle.current:before {
@@ -1136,7 +1154,7 @@ th.action-links {
 
 .wp-filter .button.clear-filters {
        display: none;
-       margin: 0 10px 20px 0;
+       margin-right: 10px;
 }
 
 .filtered-by {
@@ -1272,22 +1290,63 @@ div.error p,
        padding: 2px;
 }
 
+.wp-core-ui .notice.is-dismissible {
+       padding-left: 38px;
+       position: relative;
+}
+
+.notice-dismiss {
+       position: absolute;
+       top: 0;
+       left: 1px;
+       border: none;
+       margin: 0;
+       padding: 9px;
+       background: none;
+       color: #b4b9be;
+       cursor: pointer;
+}
+
+.notice-dismiss:before {
+       position: relative;
+       top: 0;
+       right: 0;
+       line-height: 20px;
+}
+
+.notice-dismiss:hover:before,
+.notice-dismiss:active:before,
+.notice-dismiss:focus:before {
+       color: #c00;
+}
+
+.notice-dismiss:focus {
+       outline: none;
+       -webkit-box-shadow: 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, .8);
+       box-shadow: 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, .8);
+       color: #c00;
+}
+
+.ie8 .notice-dismiss:focus {
+       outline: 1px solid #5b9dd9;
+}
+
 .notice-success,
 div.updated {
-     border-color: #7ad03a;
+       border-color: #7ad03a;
 }
 
 .notice-warning {
-    border-color: #ffba00;
+       border-color: #ffba00;
 }
 
 .notice-error,
 div.error {
-    border-color: #dd3d36;
+       border-color: #dd3d36;
 }
 
 .notice-info {
-    border-color: #2ea2cc;
+       border-color: #00a0d2;
 }
 
 .wrap .notice,
@@ -1352,7 +1411,6 @@ form.upgrade .hint {
   6.0 - Admin Header
 ------------------------------------------------------------------------------*/
 #adminmenu a,
-#sidemenu a,
 #taglist a,
 #catlist a {
        text-decoration: none;
@@ -1426,7 +1484,7 @@ form.upgrade .hint {
 #screen-meta-links a:hover,
 #screen-meta-links a:active,
 #screen-meta-links a:focus {
-       color: #333;
+       color: #32373c;
 }
 
 #screen-meta-links a.show-settings {
@@ -1451,7 +1509,7 @@ form.upgrade .hint {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-decoration: none !important;
-       color: #bbb;
+       color: #b4b9be;
 }
 
 #screen-meta-links a.screen-meta-active:after {
@@ -1465,7 +1523,7 @@ form.upgrade .hint {
 
 .toggle-arrow {
        background-repeat: no-repeat;
-       background-position: top right;
+       background-position: top left;
        background-color: transparent;
        height: 22px;
        line-height: 22px;
@@ -1473,7 +1531,7 @@ form.upgrade .hint {
 }
 
 .toggle-arrow-active {
-       background-position: bottom right;
+       background-position: bottom left;
 }
 
 #screen-options-wrap h5,
@@ -1505,6 +1563,26 @@ form.upgrade .hint {
        display: none;
 }
 
+.metabox-prefs .screen-options {
+       padding-top: 10px;
+}
+
+.metabox-prefs .screen-options input,
+.metabox-prefs .screen-options label {
+       margin-top: 0;
+       margin-bottom: 0;
+       vertical-align: middle;
+}
+
+.metabox-prefs .screen-options .screen-per-page {
+       margin-left: 15px;
+}
+
+.metabox-prefs .screen-options label {
+       line-height: 28px;
+       padding-left: 0;
+}
+
 /*------------------------------------------------------------------------------
   6.2 - Help Menu
 ------------------------------------------------------------------------------*/
@@ -1565,13 +1643,13 @@ form.upgrade .hint {
 }
 
 .contextual-help-tabs a:hover {
-       color: #333;
+       color: #32373c;
 }
 
 .contextual-help-tabs .active {
        padding: 0;
        margin: 0 0 0 -1px;
-       border-right: 2px solid #2ea2cc;
+       border-right: 2px solid #00a0d2;
        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);
@@ -1579,7 +1657,7 @@ form.upgrade .hint {
 
 .contextual-help-tabs .active a {
        border-color: #e1e1e1;
-       color: #333;
+       color: #32373c;
 }
 
 .contextual-help-tabs-wrap {
@@ -1620,18 +1698,8 @@ html.wp-toolbar {
        box-sizing: border-box;
 }
 
-.narrow {
-       width: 70%;
-       margin-bottom: 40px;
-}
-
-.narrow p {
-       line-height: 150%;
-}
-
 .widefat th,
 .widefat td {
-       overflow: hidden;
        color: #555;
 }
 
@@ -1641,7 +1709,7 @@ html.wp-toolbar {
 
 .widefat thead tr th,
 .widefat tfoot tr th {
-       color: #333;
+       color: #32373c;
 }
 
 .widefat td p {
@@ -1651,7 +1719,7 @@ html.wp-toolbar {
 .widefat p,
 .widefat ol,
 .widefat ul {
-       color: #333;
+       color: #32373c;
 }
 
 .widefat .column-comment p {
@@ -1674,7 +1742,7 @@ html.wp-toolbar {
 }
 
 .metabox-holder .postbox-container .empty-container {
-       border: 3px dashed #bbb;
+       border: 3px dashed #b4b9be;
        height: 250px;
 }
 
@@ -1733,7 +1801,7 @@ html.wp-toolbar {
 }
 
 .sortable-placeholder {
-       border: 1px dashed #bbb;
+       border: 1px dashed #b4b9be;
        margin-bottom: 20px;
 }
 
@@ -1897,13 +1965,19 @@ h2 .nav-tab {
        background: url(../images/spinner.gif) no-repeat;
        -webkit-background-size: 20px 20px;
        background-size: 20px 20px;
-       display: none;
+       display: inline-block;
+       visibility: hidden;
        float: left;
+       vertical-align: middle;
        opacity: 0.7;
        filter: alpha(opacity=70);
        width: 20px;
        height: 20px;
-       margin: 2px 5px 0;
+       margin: 4px 10px 0;
+}
+
+.spinner.is-active {
+       visibility: visible;
 }
 
 #template div {
@@ -1921,56 +1995,6 @@ h2 .nav-tab {
        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%;
@@ -2109,11 +2133,11 @@ div.star-holder {
        position: relative;
        height: 17px;
        width: 100px;
-       background: url(../images/stars.png?ver=20121108) repeat-x bottom right;
+       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 right;
+       background: url(../images/stars.png?ver=20121108) repeat-x top left;
        height: 17px;
        float: right;
 }
@@ -2137,7 +2161,7 @@ div.star-holder .star-rating {
        -webkit-transition: color .1s ease-in 0;
        transition: color .1s ease-in 0;
        text-align: center;
-       color: #0074a2;
+       color: #ffb900;
 }
 
 .star-rating .star-full:before {
@@ -2177,6 +2201,7 @@ div.action-links {
 
 #plugin-information-scrollable {
        overflow: auto;
+       -webkit-overflow-scrolling: touch;
        height: 100%;
 }
 
@@ -2200,8 +2225,8 @@ div.action-links {
        margin-left: 0;
        height: 250px;
        bottom: 250px;
-       -webkit-background-size: 100% auto;
-       background-size: 100% auto;
+       -webkit-background-size: cover;
+       background-size: cover;
 }
 
 #plugin-information-title h2 {
@@ -2277,7 +2302,7 @@ div.action-links {
        border: 1px solid #ddd;
        border-bottom-color: #fff;
        padding-top: 8px;
-       color: #333;
+       color: #32373c;
 }
 
 #plugin-information-tabs.with-banner a.current {
@@ -2387,7 +2412,7 @@ div.action-links {
 
 #plugin-information .counter-bar {
        height: 17px;
-       background-color: #fddb5a;
+       background-color: #ffc733; /* slightly lighter than stars due to larger expanse */
        float: right;
 }
 
@@ -2427,12 +2452,12 @@ div.action-links {
        background: #f3f3f3;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information .section {
        direction: ltr;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information .section ul,
 #plugin-information .section ol {
        list-style-type: disc;
@@ -2460,7 +2485,7 @@ div.action-links {
        box-shadow: 0 1px 2px rgba( 0, 0, 0, 0.3 );
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information #section-screenshots li p {
        font-style: italic;
        padding-left: 20px;
@@ -2472,7 +2497,7 @@ div.action-links {
        border: 1px solid #ccc;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information .review {
        overflow: hidden; /* clearfix */
        width: 100%;
@@ -2484,7 +2509,7 @@ div.action-links {
        overflow: hidden; /* clearfix */
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information .review-title-section h4 {
        display: inline-block;
        float: left;
@@ -2497,24 +2522,24 @@ div.action-links {
        padding-top: 2px;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information .reviewer-info .avatar {
        float: left;
        margin: 4px 6px 0 0;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information .reviewer-info .star-rating {
        float: left;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information .review-meta {
        float: left;
        margin-left: 0.75em;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information .review-body {
        float: left;
        width: 100%;
@@ -2590,7 +2615,6 @@ body.index-php #TB_window {
 }
 
 @media print,
-       (-o-min-device-pixel-ratio: 5/4),
        (-webkit-min-device-pixel-ratio: 1.25),
        (min-resolution: 120dpi) {
 
@@ -2654,7 +2678,7 @@ body.index-php #TB_closeWindowButton:focus,
 body.index-php #TB_closeWindowButton:focus .tb-close-icon,
 body.index-php .tb-close-icon:focus,
 body.index-php .tb-close-icon:hover {
-       color: #2ea2cc;
+       color: #00a0d2;
        outline: none;
        -webkit-box-shadow: none;
        box-shadow: none;
@@ -2763,7 +2787,7 @@ img {
        outline: none;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #template textarea,
 #docs-list {
        direction: ltr;
@@ -2862,7 +2886,7 @@ img {
 .item-edit,
 .sidebar-name-arrow,
 .accordion-section-title:after {
-       color: #aaa;
+       color: #a0a5aa;
 }
 
 .widget-action:hover,
@@ -2901,17 +2925,17 @@ img {
 }
 
 /*!
- * jQuery UI Draggable/Sortable 1.11.2
+ * jQuery UI Draggable/Sortable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
 .ui-draggable-handle,
 .ui-sortable-handle {
        -ms-touch-action: none;
-       touch-action:     none;
+       touch-action: none;
 }
 
 /* Accordion */
@@ -2965,7 +2989,7 @@ img {
 
 .accordion-section-title:hover:after,
 .accordion-section-title:focus:after {
-       border-color: #aaa transparent;
+       border-color: #a0a5aa transparent;
 }
 
 .cannot-expand .accordion-section-title {
@@ -2992,7 +3016,7 @@ img {
 .js .control-section .accordion-section-title:hover,
 .js .control-section.open .accordion-section-title,
 .js .control-section .accordion-section-title:focus {
-       color: #222;
+       color: #23282d;
        background: #f5f5f5;
 }
 
@@ -3055,13 +3079,12 @@ img {
  * 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;
+               background: url(../images/stars-2x.png?ver=20121108) repeat-x bottom left;
                -webkit-background-size: 21px 37px;
                background-size: 21px 37px;
        }
@@ -3149,13 +3172,24 @@ img {
        }
 
        /* Feedback Messages */
-       .wrap div.updated, .wrap div.error, .media-upload-form div.error {
+       .notice,
+       .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%;
        }
 
+       .wp-core-ui .notice.is-dismissible {
+               padding-left: 46px;
+       }
+
+       .notice-dismiss {
+               padding: 13px;
+       }
+
        .wrap .icon32 + h2 {
                margin-top: -2px;
        }
index 969cc5f055480cda4a6cf089aefce35f393044c1..567155e3403a9537ac94a573d626035f25f4aad0 100644 (file)
@@ -177,7 +177,8 @@ p.popular-tags,
 .wp-editor-container,
 .popular-tags,
 .feature-filter,
-.imgedit-group {
+.imgedit-group,
+.comment-ays {
        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);
@@ -190,7 +191,8 @@ p.popular-tags,
 .widgets-holder-wrap,
 .popular-tags,
 .feature-filter,
-.imgedit-group {
+.imgedit-group,
+.comment-ays {
        background: #fff;
 }
 
@@ -225,6 +227,7 @@ body.modal-open {
 
 body.mobile.modal-open #wpwrap {
        overflow: hidden;
+       position: fixed;
        height: 100%;
 }
 
@@ -241,7 +244,7 @@ td {
 }
 
 a {
-       color: #0074a2;
+       color: #0073aa;
        -webkit-transition-property: border, background, color;
        transition-property: border, background, color;
        -webkit-transition-duration: .05s;
@@ -257,7 +260,7 @@ div {
 
 a:hover,
 a:active {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 a:focus {
@@ -325,14 +328,14 @@ h1 {
 }
 
 h2 {
-       color: #222;
+       color: #23282d;
        font-size: 1.5em;
        margin: .83em 0;
        font-weight: 400;
 }
 
 h3 {
-       color: #222;
+       color: #23282d;
        font-size: 1.3em;
        margin: 1em 0;
 }
@@ -390,12 +393,12 @@ ol.ol-decimal > li {
        margin: 0 0 0.5em;
 }
 
-/* @noflip */
+/* rtl:ignore */
 .ltr {
        direction: ltr;
 }
 
-/* @noflip */
+/* rtl:ignore */
 .code,
 code {
        font-family: Consolas, Monaco, monospace;
@@ -557,7 +560,7 @@ code {
 }
 
 .attention {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .wrap h2,
@@ -596,7 +599,7 @@ code {
 }
 
 .wrap .add-new-h2:hover {
-       background: #2ea2cc;
+       background: #00a0d2;
        color: #fff;
 }
 
@@ -627,8 +630,8 @@ div#widgets-right .widget-top:hover,
        color: #000;
 }
 
-.alternate,
-.alt {
+.striped > tbody > :nth-child(odd),
+.alternate {
        background-color: #f9f9f9;
 }
 
@@ -651,10 +654,10 @@ td.help {
 
 .wp-ui-primary {
        color: #fff;
-       background-color: #333;
+       background-color: #32373c;
 }
 .wp-ui-text-primary {
-       color: #333;
+       color: #32373c;
 }
 
 .wp-ui-highlight {
@@ -677,6 +680,20 @@ td.help {
        color: #999;
 }
 
+/* For emoji replacement images */
+img.emoji {
+       display: inline !important;
+       border: none !important;
+       height: 1em !important;
+       width: 1em !important;
+       margin: 0 .07em !important;
+       vertical-align: -0.1em !important;
+       background: none !important;
+       padding: 0 !important;
+       -webkit-box-shadow: none !important;
+       box-shadow: none !important;
+}
+
 /*------------------------------------------------------------------------------
   1.0 - Text Styles
 ------------------------------------------------------------------------------*/
@@ -700,7 +717,7 @@ td.help {
 .widget .widget-top,
 .menu-item-handle {
        background: #fafafa;
-       color: #222;
+       color: #23282d;
 }
 
 .postbox .hndle,
@@ -722,9 +739,10 @@ td.help {
 /* @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 {
+#bulk-titles div a:before,
+.notice-dismiss:before {
        background: none;
-       color: #bbb;
+       color: #b4b9be;
        content: '\f153';
        display: block !important;
        font: normal 16px/1 'dashicons';
@@ -982,14 +1000,14 @@ th.action-links {
        -webkit-box-shadow: none;
        box-shadow: none;
        border-bottom: 4px solid #666;
-       color: #222;
+       color: #23282d;
 }
 
 .filter-links li > a:hover,
 .filter-links li > a:focus,
 .show-filters .filter-links a.current:hover,
 .show-filters .filter-links a.current:focus {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .wp-filter .search-form {
@@ -1047,7 +1065,7 @@ th.action-links {
 
 .wp-filter .drawer-toggle:hover,
 .wp-filter .drawer-toggle:hover:before {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .wp-filter .drawer-toggle.current:before {
@@ -1136,7 +1154,7 @@ th.action-links {
 
 .wp-filter .button.clear-filters {
        display: none;
-       margin: 0 0 20px 10px;
+       margin-left: 10px;
 }
 
 .filtered-by {
@@ -1272,22 +1290,63 @@ div.error p,
        padding: 2px;
 }
 
+.wp-core-ui .notice.is-dismissible {
+       padding-right: 38px;
+       position: relative;
+}
+
+.notice-dismiss {
+       position: absolute;
+       top: 0;
+       right: 1px;
+       border: none;
+       margin: 0;
+       padding: 9px;
+       background: none;
+       color: #b4b9be;
+       cursor: pointer;
+}
+
+.notice-dismiss:before {
+       position: relative;
+       top: 0;
+       left: 0;
+       line-height: 20px;
+}
+
+.notice-dismiss:hover:before,
+.notice-dismiss:active:before,
+.notice-dismiss:focus:before {
+       color: #c00;
+}
+
+.notice-dismiss:focus {
+       outline: none;
+       -webkit-box-shadow: 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, .8);
+       box-shadow: 0 0 0 1px #5b9dd9, 0 0 2px 1px rgba(30, 140, 190, .8);
+       color: #c00;
+}
+
+.ie8 .notice-dismiss:focus {
+       outline: 1px solid #5b9dd9;
+}
+
 .notice-success,
 div.updated {
-     border-color: #7ad03a;
+       border-color: #7ad03a;
 }
 
 .notice-warning {
-    border-color: #ffba00;
+       border-color: #ffba00;
 }
 
 .notice-error,
 div.error {
-    border-color: #dd3d36;
+       border-color: #dd3d36;
 }
 
 .notice-info {
-    border-color: #2ea2cc;
+       border-color: #00a0d2;
 }
 
 .wrap .notice,
@@ -1352,7 +1411,6 @@ form.upgrade .hint {
   6.0 - Admin Header
 ------------------------------------------------------------------------------*/
 #adminmenu a,
-#sidemenu a,
 #taglist a,
 #catlist a {
        text-decoration: none;
@@ -1426,7 +1484,7 @@ form.upgrade .hint {
 #screen-meta-links a:hover,
 #screen-meta-links a:active,
 #screen-meta-links a:focus {
-       color: #333;
+       color: #32373c;
 }
 
 #screen-meta-links a.show-settings {
@@ -1451,7 +1509,7 @@ form.upgrade .hint {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-decoration: none !important;
-       color: #bbb;
+       color: #b4b9be;
 }
 
 #screen-meta-links a.screen-meta-active:after {
@@ -1505,6 +1563,26 @@ form.upgrade .hint {
        display: none;
 }
 
+.metabox-prefs .screen-options {
+       padding-top: 10px;
+}
+
+.metabox-prefs .screen-options input,
+.metabox-prefs .screen-options label {
+       margin-top: 0;
+       margin-bottom: 0;
+       vertical-align: middle;
+}
+
+.metabox-prefs .screen-options .screen-per-page {
+       margin-right: 15px;
+}
+
+.metabox-prefs .screen-options label {
+       line-height: 28px;
+       padding-right: 0;
+}
+
 /*------------------------------------------------------------------------------
   6.2 - Help Menu
 ------------------------------------------------------------------------------*/
@@ -1565,13 +1643,13 @@ form.upgrade .hint {
 }
 
 .contextual-help-tabs a:hover {
-       color: #333;
+       color: #32373c;
 }
 
 .contextual-help-tabs .active {
        padding: 0;
        margin: 0 -1px 0 0;
-       border-left: 2px solid #2ea2cc;
+       border-left: 2px solid #00a0d2;
        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);
@@ -1579,7 +1657,7 @@ form.upgrade .hint {
 
 .contextual-help-tabs .active a {
        border-color: #e1e1e1;
-       color: #333;
+       color: #32373c;
 }
 
 .contextual-help-tabs-wrap {
@@ -1620,18 +1698,8 @@ html.wp-toolbar {
        box-sizing: border-box;
 }
 
-.narrow {
-       width: 70%;
-       margin-bottom: 40px;
-}
-
-.narrow p {
-       line-height: 150%;
-}
-
 .widefat th,
 .widefat td {
-       overflow: hidden;
        color: #555;
 }
 
@@ -1641,7 +1709,7 @@ html.wp-toolbar {
 
 .widefat thead tr th,
 .widefat tfoot tr th {
-       color: #333;
+       color: #32373c;
 }
 
 .widefat td p {
@@ -1651,7 +1719,7 @@ html.wp-toolbar {
 .widefat p,
 .widefat ol,
 .widefat ul {
-       color: #333;
+       color: #32373c;
 }
 
 .widefat .column-comment p {
@@ -1674,7 +1742,7 @@ html.wp-toolbar {
 }
 
 .metabox-holder .postbox-container .empty-container {
-       border: 3px dashed #bbb;
+       border: 3px dashed #b4b9be;
        height: 250px;
 }
 
@@ -1733,7 +1801,7 @@ html.wp-toolbar {
 }
 
 .sortable-placeholder {
-       border: 1px dashed #bbb;
+       border: 1px dashed #b4b9be;
        margin-bottom: 20px;
 }
 
@@ -1897,13 +1965,19 @@ h2 .nav-tab {
        background: url(../images/spinner.gif) no-repeat;
        -webkit-background-size: 20px 20px;
        background-size: 20px 20px;
-       display: none;
+       display: inline-block;
+       visibility: hidden;
        float: right;
+       vertical-align: middle;
        opacity: 0.7;
        filter: alpha(opacity=70);
        width: 20px;
        height: 20px;
-       margin: 2px 5px 0;
+       margin: 4px 10px 0;
+}
+
+.spinner.is-active {
+       visibility: visible;
 }
 
 #template div {
@@ -1921,56 +1995,6 @@ h2 .nav-tab {
        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%;
@@ -2137,7 +2161,7 @@ div.star-holder .star-rating {
        -webkit-transition: color .1s ease-in 0;
        transition: color .1s ease-in 0;
        text-align: center;
-       color: #0074a2;
+       color: #ffb900;
 }
 
 .star-rating .star-full:before {
@@ -2177,6 +2201,7 @@ div.action-links {
 
 #plugin-information-scrollable {
        overflow: auto;
+       -webkit-overflow-scrolling: touch;
        height: 100%;
 }
 
@@ -2200,8 +2225,8 @@ div.action-links {
        margin-right: 0;
        height: 250px;
        bottom: 250px;
-       -webkit-background-size: 100% auto;
-       background-size: 100% auto;
+       -webkit-background-size: cover;
+       background-size: cover;
 }
 
 #plugin-information-title h2 {
@@ -2277,7 +2302,7 @@ div.action-links {
        border: 1px solid #ddd;
        border-bottom-color: #fff;
        padding-top: 8px;
-       color: #333;
+       color: #32373c;
 }
 
 #plugin-information-tabs.with-banner a.current {
@@ -2387,7 +2412,7 @@ div.action-links {
 
 #plugin-information .counter-bar {
        height: 17px;
-       background-color: #fddb5a;
+       background-color: #ffc733; /* slightly lighter than stars due to larger expanse */
        float: left;
 }
 
@@ -2427,12 +2452,12 @@ div.action-links {
        background: #f3f3f3;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information .section {
        direction: ltr;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information .section ul,
 #plugin-information .section ol {
        list-style-type: disc;
@@ -2460,7 +2485,7 @@ div.action-links {
        box-shadow: 0 1px 2px rgba( 0, 0, 0, 0.3 );
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information #section-screenshots li p {
        font-style: italic;
        padding-left: 20px;
@@ -2472,7 +2497,7 @@ div.action-links {
        border: 1px solid #ccc;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information .review {
        overflow: hidden; /* clearfix */
        width: 100%;
@@ -2484,7 +2509,7 @@ div.action-links {
        overflow: hidden; /* clearfix */
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information .review-title-section h4 {
        display: inline-block;
        float: left;
@@ -2497,24 +2522,24 @@ div.action-links {
        padding-top: 2px;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information .reviewer-info .avatar {
        float: left;
        margin: 4px 6px 0 0;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information .reviewer-info .star-rating {
        float: left;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information .review-meta {
        float: left;
        margin-left: 0.75em;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #plugin-information .review-body {
        float: left;
        width: 100%;
@@ -2590,7 +2615,6 @@ body.index-php #TB_window {
 }
 
 @media print,
-       (-o-min-device-pixel-ratio: 5/4),
        (-webkit-min-device-pixel-ratio: 1.25),
        (min-resolution: 120dpi) {
 
@@ -2654,7 +2678,7 @@ body.index-php #TB_closeWindowButton:focus,
 body.index-php #TB_closeWindowButton:focus .tb-close-icon,
 body.index-php .tb-close-icon:focus,
 body.index-php .tb-close-icon:hover {
-       color: #2ea2cc;
+       color: #00a0d2;
        outline: none;
        -webkit-box-shadow: none;
        box-shadow: none;
@@ -2763,7 +2787,7 @@ img {
        outline: none;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #template textarea,
 #docs-list {
        direction: ltr;
@@ -2862,7 +2886,7 @@ img {
 .item-edit,
 .sidebar-name-arrow,
 .accordion-section-title:after {
-       color: #aaa;
+       color: #a0a5aa;
 }
 
 .widget-action:hover,
@@ -2901,17 +2925,17 @@ img {
 }
 
 /*!
- * jQuery UI Draggable/Sortable 1.11.2
+ * jQuery UI Draggable/Sortable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
 .ui-draggable-handle,
 .ui-sortable-handle {
        -ms-touch-action: none;
-       touch-action:     none;
+       touch-action: none;
 }
 
 /* Accordion */
@@ -2965,7 +2989,7 @@ img {
 
 .accordion-section-title:hover:after,
 .accordion-section-title:focus:after {
-       border-color: #aaa transparent;
+       border-color: #a0a5aa transparent;
 }
 
 .cannot-expand .accordion-section-title {
@@ -2992,7 +3016,7 @@ img {
 .js .control-section .accordion-section-title:hover,
 .js .control-section.open .accordion-section-title,
 .js .control-section .accordion-section-title:focus {
-       color: #222;
+       color: #23282d;
        background: #f5f5f5;
 }
 
@@ -3055,7 +3079,6 @@ img {
  * 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 */
@@ -3149,13 +3172,24 @@ img {
        }
 
        /* Feedback Messages */
-       .wrap div.updated, .wrap div.error, .media-upload-form div.error {
+       .notice,
+       .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%;
        }
 
+       .wp-core-ui .notice.is-dismissible {
+               padding-right: 46px;
+       }
+
+       .notice-dismiss {
+               padding: 13px;
+       }
+
        .wrap .icon32 + h2 {
                margin-top: -2px;
        }
index 10861ce74d21fe0a0cd198157ee3b8ffeda03fd5..06641ad6bb879adc280b7f83cfdc522b1bcabc73 100644 (file)
@@ -1,5 +1,6 @@
 body {
        overflow: hidden;
+       -webkit-text-size-adjust: 100%;
 }
 
 #customize-controls a {
@@ -28,18 +29,22 @@ body {
 }
 
 #customize-header-actions .spinner {
-       margin-top: 16px;
+       margin-top: 13px;
        margin-left: 4px;
 }
 
 .saving #customize-header-actions .spinner {
-       display: block;
+       visibility: visible;
 }
 
 #customize-header-actions {
        border-bottom: 1px solid #ddd;
 }
 
+#customize-header-actions .secondary-actions {
+       display: none;
+}
+
 #customize-controls .wp-full-overlay-sidebar-content {
        overflow-y: auto;
        overflow-x: hidden;
@@ -108,7 +113,7 @@ body {
 #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: #222;
+       color: #23282d;
        background: #f5f5f5;
 }
 
@@ -150,7 +155,7 @@ body {
 }
 
 .control-section.control-panel > .accordion-section-title:after {
-       content: "\f345";
+       content: "\f341";
        background: #f5f5f5;
        color: #555;
        width: 38px;
@@ -162,10 +167,6 @@ body {
        z-index: 0;
 }
 
-.rtl .control-section.control-panel > .accordion-section-title:after {
-       content: "\f341";
-}
-
 #customize-theme-controls .control-section.control-panel > h3.accordion-section-title:focus:after,
 #customize-theme-controls .control-section.control-panel > h3.accordion-section-title:hover:after {
        background: #ddd;
@@ -196,6 +197,7 @@ body {
        width: 100%;
 }
 
+.customize-overlay-close,
 .customize-controls-close {
        display: block;
        position: absolute;
@@ -203,13 +205,25 @@ body {
        right: 0;
        width: 45px;
        height: 45px;
-       padding-left: 2px;
+       padding: 0 0 0 2px;
        background: #eee;
+       border: none;
        border-left: 1px solid #ddd;
        color: #444;
+       text-align: right;
        cursor: pointer;
        -webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
        transition: color .1s ease-in-out, background .1s ease-in-out;
+       -webkit-box-sizing: content-box;
+       -moz-box-sizing: content-box;
+       box-sizing: content-box;
+}
+
+.customize-overlay-close {
+       right: auto;
+       left: 0;
+       border-left: 0;
+       border-right: 1px solid #ddd;
 }
 
 .control-panel-back {
@@ -228,14 +242,23 @@ body {
        transition: right .18s ease-in-out, color .1s ease-in-out, background .1s ease-in-out;
 }
 
+.ios .control-panel-back {
+       -webkit-transition: right 0s;
+       transition: right 0s;
+}
+
 .collapsed .control-panel-back {
        display: none;
 }
 
+.customize-overlay-close:focus,
+.customize-overlay-close:hover,
 .customize-controls-close:focus,
 .customize-controls-close:hover,
 .control-panel-back:focus,
-.control-panel-back:hover {
+.control-panel-back:hover,
+.customize-controls-preview-toggle:focus,
+.customize-controls-preview-toggle:hover {
        background: #ddd;
        border-color: #ccc;
        color: #000;
@@ -244,26 +267,23 @@ body {
        box-shadow: none;
 }
 
+.customize-overlay-close:before,
 .customize-controls-close:before {
-       font: normal 22px/1 dashicons;
+       font: normal 22px/45px dashicons;
        content: "\f335";
        position: relative;
-       top: 7px;
+       top: 1px;
        right: 13px;
 }
 
 .control-panel-back:before {
-       font: normal 20px/1 dashicons;
-       content: "\f341";
+       font: normal 20px/45px dashicons;
+       content: "\f345";
        position: relative;
-       top: 7px;
+       top: 1px;
        right: 13px;
 }
 
-.rtl .control-panel-back:before {
-       content: "\f345";
-}
-
 .in-sub-panel .control-panel-back {
        right: 0;
 }
@@ -289,6 +309,12 @@ body {
        transition: right ease-in-out .18s;
 }
 
+.ios #customize-info,
+.ios #customize-theme-controls > ul > .accordion-section {
+       -webkit-transition: right 0s;
+       transition: right 0s;
+}
+
 .in-sub-panel #customize-info,
 .in-sub-panel #customize-theme-controls > ul > .accordion-section {
        right: -300px;
@@ -309,11 +335,16 @@ body {
 }
 
 #customize-theme-controls .control-section.current-panel > h3.accordion-section-title {
-       right: -300px;
+       right: -354px;
        -webkit-transition: right ease-in-out .18s;
        transition: right ease-in-out .18s;
 }
 
+.ios #customize-theme-controls .control-section.current-panel > h3.accordion-section-title {
+       -webkit-transition: right 0s;
+       transition: right 0s;
+}
+
 .control-section.control-panel .accordion-section-title .panel-title {
        font-size: 20px;
        font-weight: 200;
@@ -356,6 +387,10 @@ p.customize-section-description {
        margin: 0;
 }
 
+.customize-control-hidden {
+       margin: 0;
+}
+
 .customize-control-textarea textarea {
        width: 100%;
        resize: vertical;
@@ -435,7 +470,7 @@ p.customize-section-description {
        overflow: hidden;
        text-overflow: ellipsis;
        margin: 0;
-       padding: 5px 10px 0;
+       padding: 0 10px;
 }
 
 .customize-control .attachment-meta-title {
@@ -450,6 +485,13 @@ p.customize-section-description {
        cursor: pointer;
 }
 
+#customize-controls .thumbnail-audio .thumbnail {
+       max-width: 64px;
+       max-height: 64px;
+       margin: 10px;
+       float: right;
+}
+
 #customize-preview iframe {
        width: 100%;
        height: 100%;
@@ -477,7 +519,7 @@ p.customize-section-description {
 }
 
 .collapsed .collapse-sidebar-arrow:before {
-       color: #888;
+       color: #82878c;
 }
 
 /* Style for custom settings */
@@ -528,11 +570,11 @@ p.customize-section-description {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-decoration: none !important;
-       color: #333;
+       color: #32373c;
 }
 
 .customize-control .dropdown-status {
-       color: #333;
+       color: #32373c;
        background: #eeeeee;
        display: none;
        max-width: 112px;
@@ -577,8 +619,9 @@ p.customize-section-description {
        -webkit-overflow-scrolling: touch;
 }
 
-/** Header control **/
+/** Media controls **/
 
+.customize-control-media .current,
 .customize-control-upload .current,
 .customize-control-image .current,
 .customize-control-background .current,
@@ -605,6 +648,9 @@ p.customize-section-description {
        display: block;
 }
 
+.customize-control-media .remove-button,
+.customize-control-media .default-button,
+.customize-control-media .upload-button,
 .customize-control-upload .remove-button,
 .customize-control-upload .default-button,
 .customize-control-upload .upload-button,
@@ -621,6 +667,7 @@ p.customize-section-description {
        height: auto;
 }
 
+.customize-control-media .current .container,
 .customize-control-upload .current .container,
 .customize-control-image .current .container,
 .customize-control-background .current .container,
@@ -632,12 +679,14 @@ p.customize-section-description {
        border-radius: 2px;
 }
 
+.customize-control-media .current .container,
 .customize-control-upload .current .container,
 .customize-control-background .current .container,
 .customize-control-image .current .container {
        min-height: 40px;
 }
 
+.customize-control-media .placeholder,
 .customize-control-upload .placeholder,
 .customize-control-image .placeholder,
 .customize-control-background .placeholder,
@@ -648,6 +697,7 @@ p.customize-section-description {
        cursor: default;
 }
 
+.customize-control-media .inner,
 .customize-control-upload .inner,
 .customize-control-image .inner,
 .customize-control-background .inner,
@@ -661,6 +711,7 @@ p.customize-section-description {
        overflow: hidden;
 }
 
+.customize-control-media .inner,
 .customize-control-upload .inner,
 .customize-control-background .inner,
 .customize-control-image .inner {
@@ -668,6 +719,7 @@ p.customize-section-description {
        min-height: 40px;
 }
 
+.customize-control-media .inner,
 .customize-control-upload .inner,
 .customize-control-image .inner,
 .customize-control-background .inner,
@@ -701,7 +753,7 @@ p.customize-section-description {
        position: absolute;
        height: auto;
        top: 0; right: 0; bottom: 0; left: 0;
-       border: 4px solid #2ea2cc;
+       border: 4px solid #00a0d2;
        -webkit-border-radius: 2px;
        border-radius: 2px;
 }
@@ -727,10 +779,10 @@ p.customize-section-description {
 .customize-control-header .uploaded .header-view .close:hover {
  color: black;
  text-shadow:
-    -1px -1px 0 #fff,
     1px -1px 0 #fff,
-    -1px 1px 0 #fff,
-    1px 1px 0 #fff;
+    -1px -1px 0 #fff,
+    1px 1px 0 #fff,
+    -1px 1px 0 #fff;
 }
 
 .customize-control-header .header-view:hover .close {
@@ -760,7 +812,6 @@ p.customize-section-description {
 .customize-control-header .placeholder:hover .dice,
 .customize-control-header .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;
 }
 
@@ -771,13 +822,6 @@ p.customize-section-description {
        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; }
@@ -785,6 +829,7 @@ p.customize-section-description {
        100% { color: #d4b146; }
 }
 
+.customize-control-media .actions,
 .customize-control-upload .actions,
 .customize-control-image .actions,
 .customize-control-background .actions,
@@ -802,6 +847,7 @@ p.customize-section-description {
        margin-bottom: 0;
 }
 
+.customize-control-media img,
 .customize-control-upload img,
 .customize-control-image img,
 .customize-control-background img,
@@ -811,6 +857,8 @@ p.customize-section-description {
        border-radius: 2px;
 }
 
+.customize-control-media .remove-button,
+.customize-control-media .default-button,
 .customize-control-upload .remove-button,
 .customize-control-upload .default-button,
 .customize-control-image .remove-button,
@@ -822,6 +870,7 @@ p.customize-section-description {
        margin-left: 3px;
 }
 
+.customize-control-media .upload-button,
 .customize-control-upload .upload-button,
 .customize-control-image .upload-button,
 .customize-control-background .upload-button,
@@ -829,8 +878,195 @@ p.customize-section-description {
        float: left;
 }
 
+/**
+ * Themes
+ */
+@-webkit-keyframes customize-reload {
+       0%   { opacity: 0; }
+       100% { opacity: 1; }
+}
+
+@keyframes customize-reload {
+       0%   { opacity: 0; }
+       100% { opacity: 1; }
+}
+
+/* #customize-container is reused from customize-loader.js, hence the naming. */
+.wp-customizer .customize-loading #customize-container {
+       display: block;
+       -webkit-animation: customize-reload .75s; /* Can't use `transition` because `display` changes here. */
+       animation: customize-reload .75s;
+}
+
+.control-section-themes .accordion-section-title {
+       cursor: default;
+}
+
+#customize-theme-controls .control-section-themes .accordion-section-title:hover,
+#customize-theme-controls .control-section-themes .accordion-section-title:focus {
+       color: #555555;
+       background-color: #fff;
+}
+
+.control-section-themes .accordion-section-title {
+       margin: 15px 0;
+}
+
+.customize-themes-panel .accordion-section-title {
+       margin: 15px -8px;
+}
+
+.control-section-themes .accordion-section-title {
+       padding-left: 100px; /* Space for the button */
+}
 
-/** Handle cheaters. */
+.control-section-themes .accordion-section-title span {
+       font-size: small;
+       display: block;
+       font-weight: 400;
+}
+
+.control-section-themes .accordion-section-title .change-theme,
+.control-section-themes .accordion-section-title .customize-theme {
+       position: absolute;
+       left: 10px;
+       top: 50%;
+       margin-top: -14px;
+       font-weight: normal;
+}
+
+.customize-themes-panel {
+       display: none;
+       padding: 0 8px;
+       background: #f1f1f1;
+       box-sizing: border-box;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+
+.customize-themes-panel > h2 {
+       padding: 15px 8px 0 8px;
+}
+
+.control-section.open .customize-themes-panel {
+       display: block;
+}
+
+#customize-theme-controls .customize-themes-panel .accordion-section-content {
+       background: transparent;
+       display: block;
+}
+
+.customize-control.customize-control-theme {
+       margin-bottom: 8px;
+}
+
+.wp-customizer .theme-browser .themes {
+       padding-bottom: 8px;
+}
+
+.wp-customizer .theme-browser .theme {
+       margin: 0;
+       width: 100%;
+}
+
+.wp-customizer .theme-browser .theme .theme-actions {
+       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+       opacity: 1;
+}
+
+#customize-controls h3.theme-name {
+       font-size: 15px;
+}
+
+#customize-controls .theme-overlay .theme-name {
+       font-size: 32px;
+}
+
+.wp-customizer #themes-filter {
+       font-size: 16px;
+       font-weight: 300;
+       line-height: 1.5;
+       width: 100%;
+}
+
+#accordion-section-themes .accordion-section-title:after {
+       display: none;
+}
+
+#customize-theme-controls .control-section-themes.current-panel > h3.accordion-section-title {
+       right: 0;
+}
+
+.customize-themes-panel.control-panel-content {
+       position: absolute;
+       right: -100%;
+       top: 0;
+       width: 100%;
+       border-top: 1px solid #ddd;
+}
+
+.in-themes-panel #customize-info,
+.in-themes-panel #customize-theme-controls > ul > .accordion-section {
+       right: 100%;
+}
+
+/* Details View */
+.wp-customizer .theme-overlay {
+       display: none;
+}
+
+.wp-customizer.modal-open .theme-overlay {
+       position: fixed;
+       right: 0;
+       top: 0;
+       left: 0;
+       bottom: 0;
+       z-index: 109;
+}
+
+.wp-customizer .theme-overlay .theme-backdrop {
+       background: rgba( 238, 238, 238, 0.75 );
+       position: fixed;
+       z-index: 110;
+}
+
+.wp-customizer .theme-overlay .theme-wrap {
+       right: 90px;
+       left: 90px;
+       top: 45px;
+       bottom: 45px;
+       z-index: 120;
+       max-width: 1740px; /* To ensure that theme screenshots are not displayed larger than 880px wide. */
+}
+
+.wp-customizer .theme-overlay .theme-actions {
+       text-align: left; /* Because there's only one action, match the pattern of media modals and right-align the action. */
+}
+
+.modal-open .in-themes-panel #customize-controls .wp-full-overlay-sidebar-content {
+       overflow: visible; /* Prevent the top-level Customizer controls from becoming visible when elements on the right of the details modal are focused. */
+}
+
+.ie8 .wp-customizer .theme-overlay .theme-header,
+.ie8 .wp-customizer .theme-overlay .theme-about,
+.ie8 .wp-customizer .theme-overlay .theme-actions {
+       position: static;
+}
+
+/* Small Screens */
+@media (max-width:850px), (max-height:472px) {
+       .wp-customizer .theme-overlay .theme-wrap {
+               right: 0;
+               left: 0;
+               top: 0;
+               bottom: 0;
+       }
+}
+
+/* Handle cheaters. */
 body.cheatin {
        font-size: medium;
        height: auto;
@@ -848,3 +1084,108 @@ body.cheatin p {
        line-height: 1.5;
        margin: 25px 0 20px;
 }
+
+/* Responsive */
+.customize-controls-preview-toggle {
+       display: none;
+}
+
+@media only screen and (max-width: 780px) {
+       .wp-customizer .theme:not(.active):hover .theme-actions,
+       .wp-customizer .theme:not(.active):focus .theme-actions {
+               display: block;
+       }
+
+       .wp-customizer .theme-browser .theme.active .theme-name span {
+               display: inline;
+       }
+}
+
+@media screen and ( max-width: 640px ) {
+       #customize-controls {
+               width: 100%;
+       }
+
+       .wp-full-overlay.expanded {
+               margin-right: 0;
+       }
+
+       .wp-full-overlay-sidebar .wp-full-overlay-sidebar-content {
+               bottom: 0;
+       }
+
+       .customize-controls-preview-toggle {
+               display: block;
+               position: absolute;
+               top: 0;
+               right: 48px;
+               line-height: 45px;
+               font-size: 14px;
+               padding: 0 12px 0 12px;
+               margin: 0;
+               height: 45px;
+               background: #eee;
+               border-left: 1px solid #ddd;
+               color: #444;
+               cursor: pointer;
+               -webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
+               transition: color .1s ease-in-out, background .1s ease-in-out;
+       }
+
+       #customize-footer-actions,
+       #customize-preview,
+       .customize-controls-preview-toggle .controls,
+       .preview-only .wp-full-overlay-sidebar-content,
+       .preview-only .customize-controls-preview-toggle .preview {
+               display: none;
+       }
+
+       .customize-controls-preview-toggle .preview:before,
+       .customize-controls-preview-toggle .controls:before {
+               font: normal 20px/1 dashicons;
+               content: "\f177";
+               position: relative;
+               top: 4px;
+               margin-left: 6px;
+       }
+
+       .customize-controls-preview-toggle .controls:before {
+               content: "\f100";
+       }
+
+       .preview-only #customize-controls {
+               height: 45px;
+       }
+
+       .preview-only #customize-preview,
+       .preview-only .customize-controls-preview-toggle .controls {
+               display: block;
+       }
+
+       #customize-preview {
+               top: 45px;
+               bottom: 0;
+               height: auto;
+       }
+
+       .wp-core-ui.wp-customizer .button {
+               padding: 6px 14px;
+               line-height: normal;
+               font-size: 14px;
+               vertical-align: middle;
+               height: auto;
+               margin-bottom: 4px;
+       }
+
+       .adding-widget #customize-header-actions .primary-actions {
+               display: none;
+       }
+
+       .adding-widget #customize-header-actions .secondary-actions {
+               display: block;
+       }
+
+       #customize-header-actions .button-primary {
+               margin-top: 6px;
+       }
+}
index 1227e07bfd6d1ebc4e9ffd6a218586fc12f1b7c5..bc3cb1e278beab2c46590da6dfc134b299849cb9 100644 (file)
@@ -1 +1 @@
-body{overflow:hidden}#customize-controls a{text-decoration:none}#customize-controls h3{font-size:14px}#customize-controls img{max-width:100%}#customize-controls .submit{text-align:center}#customize-controls .description{color:#666}#customize-header-actions .button-primary{float:left;margin-top:9px}#customize-header-actions .spinner{margin-top:16px;margin-left:4px}.saving #customize-header-actions .spinner{display:block}#customize-header-actions{border-bottom:1px solid #ddd}#customize-controls .wp-full-overlay-sidebar-content{overflow-y:auto;overflow-x:hidden}#customize-info{border:none;border-top:1px solid #ddd}#customize-info .accordion-section-title{background-color:#fff;color:#666;border-right:none;border-left:none;border-bottom:1px solid #eee}#customize-info .accordion-section-title:focus:after,#customize-info .accordion-section-title:hover:after,#customize-info.open .accordion-section-title:after{color:#555}#customize-info .preview-notice{font-size:13px;line-height:24px}#customize-info .theme-name{font-size:20px;font-weight:200;line-height:24px;display:block}#customize-info .theme-screenshot{width:258px}#customize-info .theme-description{margin-top:1em;color:#666;line-height:20px}#customize-theme-controls .control-section{border:none}#customize-theme-controls .accordion-section-title{color:#555;background-color:#fff;border-bottom:1px solid #eee}#customize-theme-controls .accordion-section-content{color:#555;background:#fff}#customize-info .accordion-section-title:focus,#customize-info .accordion-section-title:hover,#customize-info.open .accordion-section-title,#customize-theme-controls .control-section .accordion-section-title:focus,#customize-theme-controls .control-section .accordion-section-title:hover,#customize-theme-controls .control-section.open .accordion-section-title,#customize-theme-controls .control-section:hover>.accordion-section-title{color:#222;background:#f5f5f5}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{background:#f5f5f5}#customize-theme-controls .control-section .accordion-section-title:focus:after,#customize-theme-controls .control-section .accordion-section-title:hover:after,#customize-theme-controls .control-section.open .accordion-section-title:after,#customize-theme-controls .control-section:hover>.accordion-section-title:after{color:#555}#customize-info.open,#customize-theme-controls .control-section.open{border-bottom:1px solid #eee}#customize-theme-controls .control-section.open .accordion-section-title{border-bottom-color:#eee!important}#customize-theme-controls .control-section:last-of-type.open,#customize-theme-controls .control-section:last-of-type>.accordion-section-title{border-bottom-color:#ddd}#customize-theme-controls .accordion-section-content,#customize-theme-controls>ul{margin:0}.control-section.control-panel>.accordion-section-title{padding-left:54px}.control-section.control-panel>.accordion-section-title:after{content:"\f345";background:#f5f5f5;color:#555;width:38px;height:100%;margin:-11px 0 -11px -10px;line-height:45px;padding-right:5px;border-right:1px solid #eee;z-index:0}.rtl .control-section.control-panel>.accordion-section-title:after{content:"\f341"}#customize-theme-controls .control-section.control-panel>h3.accordion-section-title:focus:after,#customize-theme-controls .control-section.control-panel>h3.accordion-section-title:hover:after{background:#ddd;color:#000;border:1px solid #d9d9d9;border-left:none;margin-top:-12px;line-height:44px;z-index:1}.accordion-sub-container.control-panel-content{display:none;position:absolute;right:300px;top:0;width:300px;border-top:1px solid #ddd;-webkit-transition:right ease-in-out .18s;transition:right ease-in-out .18s}.accordion-sub-container.control-panel-content.animating{display:block}.current-panel .accordion-sub-container.control-panel-content{width:100%}.customize-controls-close{display:block;position:absolute;top:0;right:0;width:45px;height:45px;padding-left:2px;background:#eee;border-left:1px solid #ddd;color:#444;cursor:pointer;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.control-panel-back{display:block;position:fixed;top:0;z-index:99;right:-48px;width:45px;height:45px;padding-left:2px;background:#eee;border-left:1px solid #ddd;cursor:pointer;-webkit-transition:right .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out;transition:right .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out}.collapsed .control-panel-back{display:none}.control-panel-back:focus,.control-panel-back:hover,.customize-controls-close:focus,.customize-controls-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.customize-controls-close:before{font:400 22px/1 dashicons;content:"\f335";position:relative;top:7px;right:13px}.control-panel-back:before{font:400 20px/1 dashicons;content:"\f341";position:relative;top:7px;right:13px}.rtl .control-panel-back:before{content:"\f345"}.in-sub-panel .control-panel-back{right:0}.current-panel>.accordion-section-title{height:22px}.wp-full-overlay-sidebar .wp-full-overlay-header{-webkit-transition:padding ease-in-out .18s;transition:padding ease-in-out .18s}.in-sub-panel .wp-full-overlay-sidebar .wp-full-overlay-header{padding-right:62px}#customize-info,#customize-theme-controls>ul>.accordion-section{position:relative;right:0;-webkit-transition:right ease-in-out .18s;transition:right ease-in-out .18s}.in-sub-panel #customize-info,.in-sub-panel #customize-theme-controls>ul>.accordion-section{right:-300px;width:300px}.in-sub-panel #customize-theme-controls .accordion-section.current-panel{width:100%}#customize-theme-controls .control-section.current-panel{padding:0}#customize-theme-controls .control-section>h3.accordion-section-title{position:relative;right:0}#customize-theme-controls .control-section.current-panel>h3.accordion-section-title{right:-300px;-webkit-transition:right ease-in-out .18s;transition:right ease-in-out .18s}.control-section.control-panel .accordion-section-title .panel-title{font-size:20px;font-weight:200;line-height:24px;display:block;border:none}.control-section.control-panel .preview-notice{font-size:13px;line-height:24px}p.customize-section-description{font-style:normal}.customize-control{width:100%;float:right;clear:both;margin-bottom:8px}.customize-control input[type=checkbox],.customize-control input[type=radio],.customize-control select{line-height:28px}.customize-control input[type=email],.customize-control input[type=number],.customize-control input[type=password],.customize-control input[type=search],.customize-control input[type=tel],.customize-control input[type=text],.customize-control input[type=url]{width:98%;line-height:18px;margin:0}.customize-control-textarea textarea{width:100%;resize:vertical}.customize-control select{min-width:50%;max-width:100%;height:28px;line-height:28px}.customize-control select[multiple]{height:auto}.customize-control-title{display:block;font-size:14px;line-height:24px;font-weight:600;margin-bottom:5px}.customize-control-description{display:block;font-style:italic;line-height:18px;margin-bottom:5px}.customize-control-checkbox label,.customize-control-color .color-picker,.customize-control-upload div{line-height:28px}.customize-control-checkbox input{margin-left:5px}.customize-control-radio{padding:5px 0 10px}.customize-control-radio .customize-control-title{margin-bottom:0;line-height:22px}.customize-control-radio .customize-control-title+.customize-control-description{margin-top:7px}.customize-control-radio label{line-height:32px}.customize-control-radio input{margin-left:5px}.customize-control .attachment-thumb.type-icon{float:right;margin:10px;width:auto}.customize-control .attachment-title{font-weight:700;margin:0;padding:5px 10px}.customize-control .attachment-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;padding:5px 10px 0}.customize-control .attachment-meta-title{padding-top:7px}.customize-control .thumbnail-image{line-height:0}.customize-control .thumbnail-image img{cursor:pointer}#customize-preview iframe{width:100%;height:100%}.wp-full-overlay-sidebar{background:#eee;border-left:1px solid #ddd}.collapse-sidebar{background-color:transparent!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-border-radius:0!important;border-radius:0!important}.collapse-sidebar:active,.collapse-sidebar:active .collapse-sidebar-arrow:before,.collapse-sidebar:active .collapse-sidebar-label{text-shadow:none}.collapsed .collapse-sidebar-arrow:before{color:#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)}.ios #customize-preview,.ios .wp-full-overlay{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}.customize-control-background .current,.customize-control-header .current,.customize-control-image .current,.customize-control-upload .current{margin-bottom:8px}.customize-control-header .uploaded{margin-bottom:18px}.customize-control-header .default button:not(.random),.customize-control-header .uploaded button:not(.random){width:100%;padding:0;margin:0;background:0 0;border:none;color:inherit;cursor:pointer}.customize-control-header button img{display:block}.customize-control-background .default-button,.customize-control-background .remove-button,.customize-control-background .upload-button,.customize-control-header button.new,.customize-control-header button.remove,.customize-control-image .default-button,.customize-control-image .remove-button,.customize-control-image .upload-button,.customize-control-upload .default-button,.customize-control-upload .remove-button,.customize-control-upload .upload-button{white-space:normal;width:48%;height:auto}.customize-control-background .current .container,.customize-control-header .current .container,.customize-control-image .current .container,.customize-control-upload .current .container{overflow:hidden;border:1px solid #eee;-webkit-border-radius:2px;border-radius:2px}.customize-control-background .current .container,.customize-control-image .current .container,.customize-control-upload .current .container{min-height:40px}.customize-control-background .placeholder,.customize-control-header .placeholder,.customize-control-image .placeholder,.customize-control-upload .placeholder{width:100%;position:relative;text-align:center;cursor:default}.customize-control-background .inner,.customize-control-header .inner,.customize-control-image .inner,.customize-control-upload .inner{display:none;position:absolute;width:100%;color:#555;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.customize-control-background .inner,.customize-control-image .inner,.customize-control-upload .inner{display:block;min-height:40px}.customize-control-background .inner,.customize-control-header .inner,.customize-control-header .inner .dashicons,.customize-control-image .inner,.customize-control-upload .inner{line-height:20px;top:10px}.customize-control-header .list .inner,.customize-control-header .list .inner .dashicons{top:9px}.customize-control-header .header-view{position:relative;width:100%;margin-bottom:5px}.customize-control-header .header-view:last-child{margin-bottom:0}.customize-control-header .header-view:after{border:0}.customize-control-header .header-view.selected:after{content:'';position:absolute;height:auto;top:0;right:0;bottom:0;left:0;border:4px solid #2ea2cc;-webkit-border-radius:2px;border-radius:2px}.customize-control-header .header-view.button.selected{border:0}.customize-control-header .uploaded .header-view .close{font-size:2em;color:grey;position:absolute;visibility:hidden;top:10px;left:10px;z-index:1;width:20px;height:20px;cursor:pointer}.customize-control-header .uploaded .header-view .close:hover{color:#000;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}.customize-control-header .header-view:hover .close{visibility:visible}.customize-control-header .random.placeholder{cursor:pointer;-webkit-border-radius:2px;border-radius:2px;height:40px}.customize-control-header button.random{width:100%;height:auto;min-height:40px;white-space:normal}.customize-control-header button.random .dice{margin-top:4px}.customize-control-header .header-view:hover>button.random .dice,.customize-control-header .placeholder:hover .dice{-webkit-animation:dice-color-change 3s infinite;-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-background .actions,.customize-control-header .actions,.customize-control-image .actions,.customize-control-upload .actions{margin-bottom:32px}.customize-control-header .choice{position:relative;display:block;margin-bottom:9px}.customize-control-header .uploaded div:last-child>.choice{margin-bottom:0}.customize-control-background img,.customize-control-header img,.customize-control-image img,.customize-control-upload img{width:100%;-webkit-border-radius:2px;border-radius:2px}.customize-control-background .default-button,.customize-control-background .remove-button,.customize-control-header .remove,.customize-control-image .default-button,.customize-control-image .remove-button,.customize-control-upload .default-button,.customize-control-upload .remove-button{float:right;margin-left:3px}.customize-control-background .upload-button,.customize-control-header .new,.customize-control-image .upload-button,.customize-control-upload .upload-button{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
+body{overflow:hidden;-webkit-text-size-adjust:100%}#customize-controls a{text-decoration:none}#customize-controls h3{font-size:14px}#customize-controls img{max-width:100%}#customize-controls .submit{text-align:center}#customize-controls .description{color:#666}#customize-header-actions .button-primary{float:left;margin-top:9px}#customize-header-actions .spinner{margin-top:13px;margin-left:4px}.saving #customize-header-actions .spinner{visibility:visible}#customize-header-actions{border-bottom:1px solid #ddd}#customize-header-actions .secondary-actions{display:none}#customize-controls .wp-full-overlay-sidebar-content{overflow-y:auto;overflow-x:hidden}#customize-info{border:none;border-top:1px solid #ddd}#customize-info .accordion-section-title{background-color:#fff;color:#666;border-right:none;border-left:none;border-bottom:1px solid #eee}#customize-info .accordion-section-title:focus:after,#customize-info .accordion-section-title:hover:after,#customize-info.open .accordion-section-title:after{color:#555}#customize-info .preview-notice{font-size:13px;line-height:24px}#customize-info .theme-name{font-size:20px;font-weight:200;line-height:24px;display:block}#customize-info .theme-screenshot{width:258px}#customize-info .theme-description{margin-top:1em;color:#666;line-height:20px}#customize-theme-controls .control-section{border:none}#customize-theme-controls .accordion-section-title{color:#555;background-color:#fff;border-bottom:1px solid #eee}#customize-theme-controls .accordion-section-content{color:#555;background:#fff}#customize-info .accordion-section-title:focus,#customize-info .accordion-section-title:hover,#customize-info.open .accordion-section-title,#customize-theme-controls .control-section .accordion-section-title:focus,#customize-theme-controls .control-section .accordion-section-title:hover,#customize-theme-controls .control-section.open .accordion-section-title,#customize-theme-controls .control-section:hover>.accordion-section-title{color:#23282d;background:#f5f5f5}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{background:#f5f5f5}#customize-theme-controls .control-section .accordion-section-title:focus:after,#customize-theme-controls .control-section .accordion-section-title:hover:after,#customize-theme-controls .control-section.open .accordion-section-title:after,#customize-theme-controls .control-section:hover>.accordion-section-title:after{color:#555}#customize-info.open,#customize-theme-controls .control-section.open{border-bottom:1px solid #eee}#customize-theme-controls .control-section.open .accordion-section-title{border-bottom-color:#eee!important}#customize-theme-controls .control-section:last-of-type.open,#customize-theme-controls .control-section:last-of-type>.accordion-section-title{border-bottom-color:#ddd}#customize-theme-controls .accordion-section-content,#customize-theme-controls>ul{margin:0}.control-section.control-panel>.accordion-section-title{padding-left:54px}.control-section.control-panel>.accordion-section-title:after{content:"\f341";background:#f5f5f5;color:#555;width:38px;height:100%;margin:-11px 0 -11px -10px;line-height:45px;padding-right:5px;border-right:1px solid #eee;z-index:0}#customize-theme-controls .control-section.control-panel>h3.accordion-section-title:focus:after,#customize-theme-controls .control-section.control-panel>h3.accordion-section-title:hover:after{background:#ddd;color:#000;border:1px solid #d9d9d9;border-left:none;margin-top:-12px;line-height:44px;z-index:1}.accordion-sub-container.control-panel-content{display:none;position:absolute;right:300px;top:0;width:300px;border-top:1px solid #ddd;-webkit-transition:right ease-in-out .18s;transition:right ease-in-out .18s}.accordion-sub-container.control-panel-content.animating{display:block}.current-panel .accordion-sub-container.control-panel-content{width:100%}.customize-controls-close,.customize-overlay-close{display:block;position:absolute;top:0;right:0;width:45px;height:45px;padding:0 0 0 2px;background:#eee;border:none;border-left:1px solid #ddd;color:#444;text-align:right;cursor:pointer;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.customize-overlay-close{right:auto;left:0;border-left:0;border-right:1px solid #ddd}.control-panel-back{display:block;position:fixed;top:0;z-index:99;right:-48px;width:45px;height:45px;padding-left:2px;background:#eee;border-left:1px solid #ddd;cursor:pointer;-webkit-transition:right .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out;transition:right .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out}.ios .control-panel-back{-webkit-transition:right 0s;transition:right 0s}.collapsed .control-panel-back{display:none}.control-panel-back:focus,.control-panel-back:hover,.customize-controls-close:focus,.customize-controls-close:hover,.customize-controls-preview-toggle:focus,.customize-controls-preview-toggle:hover,.customize-overlay-close:focus,.customize-overlay-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.customize-controls-close:before,.customize-overlay-close:before{font:400 22px/45px dashicons;content:"\f335";position:relative;top:1px;right:13px}.control-panel-back:before{font:400 20px/45px dashicons;content:"\f345";position:relative;top:1px;right:13px}.in-sub-panel .control-panel-back{right:0}.current-panel>.accordion-section-title{height:22px}.wp-full-overlay-sidebar .wp-full-overlay-header{-webkit-transition:padding ease-in-out .18s;transition:padding ease-in-out .18s}.in-sub-panel .wp-full-overlay-sidebar .wp-full-overlay-header{padding-right:62px}#customize-info,#customize-theme-controls>ul>.accordion-section{position:relative;right:0;-webkit-transition:right ease-in-out .18s;transition:right ease-in-out .18s}.ios #customize-info,.ios #customize-theme-controls>ul>.accordion-section{-webkit-transition:right 0s;transition:right 0s}.in-sub-panel #customize-info,.in-sub-panel #customize-theme-controls>ul>.accordion-section{right:-300px;width:300px}.in-sub-panel #customize-theme-controls .accordion-section.current-panel{width:100%}#customize-theme-controls .control-section.current-panel{padding:0}#customize-theme-controls .control-section>h3.accordion-section-title{position:relative;right:0}#customize-theme-controls .control-section.current-panel>h3.accordion-section-title{right:-354px;-webkit-transition:right ease-in-out .18s;transition:right ease-in-out .18s}.ios #customize-theme-controls .control-section.current-panel>h3.accordion-section-title{-webkit-transition:right 0s;transition:right 0s}.control-section.control-panel .accordion-section-title .panel-title{font-size:20px;font-weight:200;line-height:24px;display:block;border:none}.control-section.control-panel .preview-notice{font-size:13px;line-height:24px}p.customize-section-description{font-style:normal}.customize-control{width:100%;float:right;clear:both;margin-bottom:8px}.customize-control input[type=checkbox],.customize-control input[type=radio],.customize-control select{line-height:28px}.customize-control input[type=email],.customize-control input[type=number],.customize-control input[type=password],.customize-control input[type=search],.customize-control input[type=tel],.customize-control input[type=text],.customize-control input[type=url]{width:98%;line-height:18px;margin:0}.customize-control-hidden{margin:0}.customize-control-textarea textarea{width:100%;resize:vertical}.customize-control select{min-width:50%;max-width:100%;height:28px;line-height:28px}.customize-control select[multiple]{height:auto}.customize-control-title{display:block;font-size:14px;line-height:24px;font-weight:600;margin-bottom:5px}.customize-control-description{display:block;font-style:italic;line-height:18px;margin-bottom:5px}.customize-control-checkbox label,.customize-control-color .color-picker,.customize-control-upload div{line-height:28px}.customize-control-checkbox input{margin-left:5px}.customize-control-radio{padding:5px 0 10px}.customize-control-radio .customize-control-title{margin-bottom:0;line-height:22px}.customize-control-radio .customize-control-title+.customize-control-description{margin-top:7px}.customize-control-radio label{line-height:32px}.customize-control-radio input{margin-left:5px}.customize-control .attachment-thumb.type-icon{float:right;margin:10px;width:auto}.customize-control .attachment-title{font-weight:700;margin:0;padding:5px 10px}.customize-control .attachment-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;padding:0 10px}.customize-control .attachment-meta-title{padding-top:7px}.customize-control .thumbnail-image{line-height:0}.customize-control .thumbnail-image img{cursor:pointer}#customize-controls .thumbnail-audio .thumbnail{max-width:64px;max-height:64px;margin:10px;float:right}#customize-preview iframe{width:100%;height:100%}.wp-full-overlay-sidebar{background:#eee;border-left:1px solid #ddd}.collapse-sidebar{background-color:transparent!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-border-radius:0!important;border-radius:0!important}.collapse-sidebar:active,.collapse-sidebar:active .collapse-sidebar-arrow:before,.collapse-sidebar:active .collapse-sidebar-label{text-shadow:none}.collapsed .collapse-sidebar-arrow:before{color:#82878c}.accordion-section .dropdown{float:right;display:block;position:relative;cursor:pointer}.accordion-section .dropdown-content{overflow:hidden;float:right;min-width:30px;height:16px;line-height:16px;margin-left:16px;padding:4px 5px;border:2px solid #eee;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.customize-control .dropdown-arrow{position:absolute;top:0;bottom:0;left:0;width:20px;background:#eee}.customize-control .dropdown-arrow:after{content:"\f140";font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#32373c}.customize-control .dropdown-status{color:#32373c;background:#eee;display:none;max-width:112px}.customize-control-color .color-picker-hex{display:none}.customize-control-color.open .color-picker-hex{display:block}.customize-control-color .dropdown{margin-left:5px;margin-bottom:5px}.customize-control-color .dropdown .dropdown-content{background-color:#555;border:1px solid rgba(0,0,0,.15)}.customize-control-color .dropdown:hover .dropdown-content{border-color:rgba(0,0,0,.25)}.ios #customize-preview,.ios .wp-full-overlay{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}.customize-control-background .current,.customize-control-header .current,.customize-control-image .current,.customize-control-media .current,.customize-control-upload .current{margin-bottom:8px}.customize-control-header .uploaded{margin-bottom:18px}.customize-control-header .default button:not(.random),.customize-control-header .uploaded button:not(.random){width:100%;padding:0;margin:0;background:0 0;border:none;color:inherit;cursor:pointer}.customize-control-header button img{display:block}.customize-control-background .default-button,.customize-control-background .remove-button,.customize-control-background .upload-button,.customize-control-header button.new,.customize-control-header button.remove,.customize-control-image .default-button,.customize-control-image .remove-button,.customize-control-image .upload-button,.customize-control-media .default-button,.customize-control-media .remove-button,.customize-control-media .upload-button,.customize-control-upload .default-button,.customize-control-upload .remove-button,.customize-control-upload .upload-button{white-space:normal;width:48%;height:auto}.customize-control-background .current .container,.customize-control-header .current .container,.customize-control-image .current .container,.customize-control-media .current .container,.customize-control-upload .current .container{overflow:hidden;border:1px solid #eee;-webkit-border-radius:2px;border-radius:2px}.customize-control-background .current .container,.customize-control-image .current .container,.customize-control-media .current .container,.customize-control-upload .current .container{min-height:40px}.customize-control-background .placeholder,.customize-control-header .placeholder,.customize-control-image .placeholder,.customize-control-media .placeholder,.customize-control-upload .placeholder{width:100%;position:relative;text-align:center;cursor:default}.customize-control-background .inner,.customize-control-header .inner,.customize-control-image .inner,.customize-control-media .inner,.customize-control-upload .inner{display:none;position:absolute;width:100%;color:#555;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.customize-control-background .inner,.customize-control-image .inner,.customize-control-media .inner,.customize-control-upload .inner{display:block;min-height:40px}.customize-control-background .inner,.customize-control-header .inner,.customize-control-header .inner .dashicons,.customize-control-image .inner,.customize-control-media .inner,.customize-control-upload .inner{line-height:20px;top:10px}.customize-control-header .list .inner,.customize-control-header .list .inner .dashicons{top:9px}.customize-control-header .header-view{position:relative;width:100%;margin-bottom:5px}.customize-control-header .header-view:last-child{margin-bottom:0}.customize-control-header .header-view:after{border:0}.customize-control-header .header-view.selected:after{content:'';position:absolute;height:auto;top:0;right:0;bottom:0;left:0;border:4px solid #00a0d2;-webkit-border-radius:2px;border-radius:2px}.customize-control-header .header-view.button.selected{border:0}.customize-control-header .uploaded .header-view .close{font-size:2em;color:grey;position:absolute;visibility:hidden;top:10px;left:10px;z-index:1;width:20px;height:20px;cursor:pointer}.customize-control-header .uploaded .header-view .close:hover{color:#000;text-shadow:1px -1px 0 #fff,-1px -1px 0 #fff,1px 1px 0 #fff,-1px 1px 0 #fff}.customize-control-header .header-view:hover .close{visibility:visible}.customize-control-header .random.placeholder{cursor:pointer;-webkit-border-radius:2px;border-radius:2px;height:40px}.customize-control-header button.random{width:100%;height:auto;min-height:40px;white-space:normal}.customize-control-header button.random .dice{margin-top:4px}.customize-control-header .header-view:hover>button.random .dice,.customize-control-header .placeholder:hover .dice{-webkit-animation:dice-color-change 3s infinite;animation:dice-color-change 3s infinite}@-webkit-keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}@keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}.customize-control-background .actions,.customize-control-header .actions,.customize-control-image .actions,.customize-control-media .actions,.customize-control-upload .actions{margin-bottom:32px}.customize-control-header .choice{position:relative;display:block;margin-bottom:9px}.customize-control-header .uploaded div:last-child>.choice{margin-bottom:0}.customize-control-background img,.customize-control-header img,.customize-control-image img,.customize-control-media img,.customize-control-upload img{width:100%;-webkit-border-radius:2px;border-radius:2px}.customize-control-background .default-button,.customize-control-background .remove-button,.customize-control-header .remove,.customize-control-image .default-button,.customize-control-image .remove-button,.customize-control-media .default-button,.customize-control-media .remove-button,.customize-control-upload .default-button,.customize-control-upload .remove-button{float:right;margin-left:3px}.customize-control-background .upload-button,.customize-control-header .new,.customize-control-image .upload-button,.customize-control-media .upload-button,.customize-control-upload .upload-button{float:left}@-webkit-keyframes customize-reload{0%{opacity:0}100%{opacity:1}}@keyframes customize-reload{0%{opacity:0}100%{opacity:1}}.wp-customizer .customize-loading #customize-container{display:block;-webkit-animation:customize-reload .75s;animation:customize-reload .75s}.control-section-themes .accordion-section-title{cursor:default}#customize-theme-controls .control-section-themes .accordion-section-title:focus,#customize-theme-controls .control-section-themes .accordion-section-title:hover{color:#555;background-color:#fff}.control-section-themes .accordion-section-title{margin:15px 0}.customize-themes-panel .accordion-section-title{margin:15px -8px}.control-section-themes .accordion-section-title{padding-left:100px}.control-section-themes .accordion-section-title span{font-size:small;display:block;font-weight:400}.control-section-themes .accordion-section-title .change-theme,.control-section-themes .accordion-section-title .customize-theme{position:absolute;left:10px;top:50%;margin-top:-14px;font-weight:400}.customize-themes-panel{display:none;padding:0 8px;background:#f1f1f1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.customize-themes-panel>h2{padding:15px 8px 0}.control-section.open .customize-themes-panel{display:block}#customize-theme-controls .customize-themes-panel .accordion-section-content{background:0 0;display:block}.customize-control.customize-control-theme{margin-bottom:8px}.wp-customizer .theme-browser .themes{padding-bottom:8px}.wp-customizer .theme-browser .theme{margin:0;width:100%}.wp-customizer .theme-browser .theme .theme-actions{-ms-filter:"alpha(Opacity=100)";opacity:1}#customize-controls h3.theme-name{font-size:15px}#customize-controls .theme-overlay .theme-name{font-size:32px}.wp-customizer #themes-filter{font-size:16px;font-weight:300;line-height:1.5;width:100%}#accordion-section-themes .accordion-section-title:after{display:none}#customize-theme-controls .control-section-themes.current-panel>h3.accordion-section-title{right:0}.customize-themes-panel.control-panel-content{position:absolute;right:-100%;top:0;width:100%;border-top:1px solid #ddd}.in-themes-panel #customize-info,.in-themes-panel #customize-theme-controls>ul>.accordion-section{right:100%}.wp-customizer .theme-overlay{display:none}.wp-customizer.modal-open .theme-overlay{position:fixed;right:0;top:0;left:0;bottom:0;z-index:109}.wp-customizer .theme-overlay .theme-backdrop{background:rgba(238,238,238,.75);position:fixed;z-index:110}.wp-customizer .theme-overlay .theme-wrap{right:90px;left:90px;top:45px;bottom:45px;z-index:120;max-width:1740px}.wp-customizer .theme-overlay .theme-actions{text-align:left}.modal-open .in-themes-panel #customize-controls .wp-full-overlay-sidebar-content{overflow:visible}.ie8 .wp-customizer .theme-overlay .theme-about,.ie8 .wp-customizer .theme-overlay .theme-actions,.ie8 .wp-customizer .theme-overlay .theme-header{position:static}@media (max-width:850px),(max-height:472px){.wp-customizer .theme-overlay .theme-wrap{right:0;left:0;top:0;bottom:0}}body.cheatin{font-size:medium;height:auto;background:#fff;margin:50px auto 2em;padding:1em 2em;max-width:700px;min-width:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.cheatin p{font-size:14px;line-height:1.5;margin:25px 0 20px}.customize-controls-preview-toggle{display:none}@media only screen and (max-width:780px){.wp-customizer .theme:not(.active):focus .theme-actions,.wp-customizer .theme:not(.active):hover .theme-actions{display:block}.wp-customizer .theme-browser .theme.active .theme-name span{display:inline}}@media screen and (max-width:640px){#customize-controls{width:100%}.wp-full-overlay.expanded{margin-right:0}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{bottom:0}.customize-controls-preview-toggle{display:block;position:absolute;top:0;right:48px;line-height:45px;font-size:14px;padding:0 12px;margin:0;height:45px;background:#eee;border-left:1px solid #ddd;color:#444;cursor:pointer;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}#customize-footer-actions,#customize-preview,.customize-controls-preview-toggle .controls,.preview-only .customize-controls-preview-toggle .preview,.preview-only .wp-full-overlay-sidebar-content{display:none}.customize-controls-preview-toggle .controls:before,.customize-controls-preview-toggle .preview:before{font:400 20px/1 dashicons;content:"\f177";position:relative;top:4px;margin-left:6px}.customize-controls-preview-toggle .controls:before{content:"\f100"}.preview-only #customize-controls{height:45px}.preview-only #customize-preview,.preview-only .customize-controls-preview-toggle .controls{display:block}#customize-preview{top:45px;bottom:0;height:auto}.wp-core-ui.wp-customizer .button{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}.adding-widget #customize-header-actions .primary-actions{display:none}.adding-widget #customize-header-actions .secondary-actions{display:block}#customize-header-actions .button-primary{margin-top:6px}}
\ No newline at end of file
index 599fdac310c45268f7b0e7a875d0377e1916dab2..becc7a532eb2c0cc2aad24f02dabc446db3c5cfb 100644 (file)
@@ -1,5 +1,6 @@
 body {
        overflow: hidden;
+       -webkit-text-size-adjust: 100%;
 }
 
 #customize-controls a {
@@ -28,18 +29,22 @@ body {
 }
 
 #customize-header-actions .spinner {
-       margin-top: 16px;
+       margin-top: 13px;
        margin-right: 4px;
 }
 
 .saving #customize-header-actions .spinner {
-       display: block;
+       visibility: visible;
 }
 
 #customize-header-actions {
        border-bottom: 1px solid #ddd;
 }
 
+#customize-header-actions .secondary-actions {
+       display: none;
+}
+
 #customize-controls .wp-full-overlay-sidebar-content {
        overflow-y: auto;
        overflow-x: hidden;
@@ -108,7 +113,7 @@ body {
 #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: #222;
+       color: #23282d;
        background: #f5f5f5;
 }
 
@@ -162,10 +167,6 @@ body {
        z-index: 0;
 }
 
-.rtl .control-section.control-panel > .accordion-section-title:after {
-       content: "\f341";
-}
-
 #customize-theme-controls .control-section.control-panel > h3.accordion-section-title:focus:after,
 #customize-theme-controls .control-section.control-panel > h3.accordion-section-title:hover:after {
        background: #ddd;
@@ -196,6 +197,7 @@ body {
        width: 100%;
 }
 
+.customize-overlay-close,
 .customize-controls-close {
        display: block;
        position: absolute;
@@ -203,13 +205,25 @@ body {
        left: 0;
        width: 45px;
        height: 45px;
-       padding-right: 2px;
+       padding: 0 2px 0 0;
        background: #eee;
+       border: none;
        border-right: 1px solid #ddd;
        color: #444;
+       text-align: left;
        cursor: pointer;
        -webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
        transition: color .1s ease-in-out, background .1s ease-in-out;
+       -webkit-box-sizing: content-box;
+       -moz-box-sizing: content-box;
+       box-sizing: content-box;
+}
+
+.customize-overlay-close {
+       left: auto;
+       right: 0;
+       border-right: 0;
+       border-left: 1px solid #ddd;
 }
 
 .control-panel-back {
@@ -228,14 +242,23 @@ body {
        transition: left .18s ease-in-out, color .1s ease-in-out, background .1s ease-in-out;
 }
 
+.ios .control-panel-back {
+       -webkit-transition: left 0s;
+       transition: left 0s;
+}
+
 .collapsed .control-panel-back {
        display: none;
 }
 
+.customize-overlay-close:focus,
+.customize-overlay-close:hover,
 .customize-controls-close:focus,
 .customize-controls-close:hover,
 .control-panel-back:focus,
-.control-panel-back:hover {
+.control-panel-back:hover,
+.customize-controls-preview-toggle:focus,
+.customize-controls-preview-toggle:hover {
        background: #ddd;
        border-color: #ccc;
        color: #000;
@@ -244,26 +267,23 @@ body {
        box-shadow: none;
 }
 
+.customize-overlay-close:before,
 .customize-controls-close:before {
-       font: normal 22px/1 dashicons;
+       font: normal 22px/45px dashicons;
        content: "\f335";
        position: relative;
-       top: 7px;
+       top: 1px;
        left: 13px;
 }
 
 .control-panel-back:before {
-       font: normal 20px/1 dashicons;
+       font: normal 20px/45px dashicons;
        content: "\f341";
        position: relative;
-       top: 7px;
+       top: 1px;
        left: 13px;
 }
 
-.rtl .control-panel-back:before {
-       content: "\f345";
-}
-
 .in-sub-panel .control-panel-back {
        left: 0;
 }
@@ -289,6 +309,12 @@ body {
        transition: left ease-in-out .18s;
 }
 
+.ios #customize-info,
+.ios #customize-theme-controls > ul > .accordion-section {
+       -webkit-transition: left 0s;
+       transition: left 0s;
+}
+
 .in-sub-panel #customize-info,
 .in-sub-panel #customize-theme-controls > ul > .accordion-section {
        left: -300px;
@@ -309,11 +335,16 @@ body {
 }
 
 #customize-theme-controls .control-section.current-panel > h3.accordion-section-title {
-       left: -300px;
+       left: -354px;
        -webkit-transition: left ease-in-out .18s;
        transition: left ease-in-out .18s;
 }
 
+.ios #customize-theme-controls .control-section.current-panel > h3.accordion-section-title {
+       -webkit-transition: left 0s;
+       transition: left 0s;
+}
+
 .control-section.control-panel .accordion-section-title .panel-title {
        font-size: 20px;
        font-weight: 200;
@@ -356,6 +387,10 @@ p.customize-section-description {
        margin: 0;
 }
 
+.customize-control-hidden {
+       margin: 0;
+}
+
 .customize-control-textarea textarea {
        width: 100%;
        resize: vertical;
@@ -435,7 +470,7 @@ p.customize-section-description {
        overflow: hidden;
        text-overflow: ellipsis;
        margin: 0;
-       padding: 5px 10px 0;
+       padding: 0 10px;
 }
 
 .customize-control .attachment-meta-title {
@@ -450,6 +485,13 @@ p.customize-section-description {
        cursor: pointer;
 }
 
+#customize-controls .thumbnail-audio .thumbnail {
+       max-width: 64px;
+       max-height: 64px;
+       margin: 10px;
+       float: left;
+}
+
 #customize-preview iframe {
        width: 100%;
        height: 100%;
@@ -477,7 +519,7 @@ p.customize-section-description {
 }
 
 .collapsed .collapse-sidebar-arrow:before {
-       color: #888;
+       color: #82878c;
 }
 
 /* Style for custom settings */
@@ -528,11 +570,11 @@ p.customize-section-description {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-decoration: none !important;
-       color: #333;
+       color: #32373c;
 }
 
 .customize-control .dropdown-status {
-       color: #333;
+       color: #32373c;
        background: #eeeeee;
        display: none;
        max-width: 112px;
@@ -577,8 +619,9 @@ p.customize-section-description {
        -webkit-overflow-scrolling: touch;
 }
 
-/** Header control **/
+/** Media controls **/
 
+.customize-control-media .current,
 .customize-control-upload .current,
 .customize-control-image .current,
 .customize-control-background .current,
@@ -605,6 +648,9 @@ p.customize-section-description {
        display: block;
 }
 
+.customize-control-media .remove-button,
+.customize-control-media .default-button,
+.customize-control-media .upload-button,
 .customize-control-upload .remove-button,
 .customize-control-upload .default-button,
 .customize-control-upload .upload-button,
@@ -621,6 +667,7 @@ p.customize-section-description {
        height: auto;
 }
 
+.customize-control-media .current .container,
 .customize-control-upload .current .container,
 .customize-control-image .current .container,
 .customize-control-background .current .container,
@@ -632,12 +679,14 @@ p.customize-section-description {
        border-radius: 2px;
 }
 
+.customize-control-media .current .container,
 .customize-control-upload .current .container,
 .customize-control-background .current .container,
 .customize-control-image .current .container {
        min-height: 40px;
 }
 
+.customize-control-media .placeholder,
 .customize-control-upload .placeholder,
 .customize-control-image .placeholder,
 .customize-control-background .placeholder,
@@ -648,6 +697,7 @@ p.customize-section-description {
        cursor: default;
 }
 
+.customize-control-media .inner,
 .customize-control-upload .inner,
 .customize-control-image .inner,
 .customize-control-background .inner,
@@ -661,6 +711,7 @@ p.customize-section-description {
        overflow: hidden;
 }
 
+.customize-control-media .inner,
 .customize-control-upload .inner,
 .customize-control-background .inner,
 .customize-control-image .inner {
@@ -668,6 +719,7 @@ p.customize-section-description {
        min-height: 40px;
 }
 
+.customize-control-media .inner,
 .customize-control-upload .inner,
 .customize-control-image .inner,
 .customize-control-background .inner,
@@ -701,7 +753,7 @@ p.customize-section-description {
        position: absolute;
        height: auto;
        top: 0; left: 0; bottom: 0; right: 0;
-       border: 4px solid #2ea2cc;
+       border: 4px solid #00a0d2;
        -webkit-border-radius: 2px;
        border-radius: 2px;
 }
@@ -760,7 +812,6 @@ p.customize-section-description {
 .customize-control-header .placeholder:hover .dice,
 .customize-control-header .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;
 }
 
@@ -771,13 +822,6 @@ p.customize-section-description {
        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; }
@@ -785,6 +829,7 @@ p.customize-section-description {
        100% { color: #d4b146; }
 }
 
+.customize-control-media .actions,
 .customize-control-upload .actions,
 .customize-control-image .actions,
 .customize-control-background .actions,
@@ -802,6 +847,7 @@ p.customize-section-description {
        margin-bottom: 0;
 }
 
+.customize-control-media img,
 .customize-control-upload img,
 .customize-control-image img,
 .customize-control-background img,
@@ -811,6 +857,8 @@ p.customize-section-description {
        border-radius: 2px;
 }
 
+.customize-control-media .remove-button,
+.customize-control-media .default-button,
 .customize-control-upload .remove-button,
 .customize-control-upload .default-button,
 .customize-control-image .remove-button,
@@ -822,6 +870,7 @@ p.customize-section-description {
        margin-right: 3px;
 }
 
+.customize-control-media .upload-button,
 .customize-control-upload .upload-button,
 .customize-control-image .upload-button,
 .customize-control-background .upload-button,
@@ -829,8 +878,195 @@ p.customize-section-description {
        float: right;
 }
 
+/**
+ * Themes
+ */
+@-webkit-keyframes customize-reload {
+       0%   { opacity: 0; }
+       100% { opacity: 1; }
+}
+
+@keyframes customize-reload {
+       0%   { opacity: 0; }
+       100% { opacity: 1; }
+}
+
+/* #customize-container is reused from customize-loader.js, hence the naming. */
+.wp-customizer .customize-loading #customize-container {
+       display: block;
+       -webkit-animation: customize-reload .75s; /* Can't use `transition` because `display` changes here. */
+       animation: customize-reload .75s;
+}
+
+.control-section-themes .accordion-section-title {
+       cursor: default;
+}
+
+#customize-theme-controls .control-section-themes .accordion-section-title:hover,
+#customize-theme-controls .control-section-themes .accordion-section-title:focus {
+       color: #555555;
+       background-color: #fff;
+}
+
+.control-section-themes .accordion-section-title {
+       margin: 15px 0;
+}
+
+.customize-themes-panel .accordion-section-title {
+       margin: 15px -8px;
+}
+
+.control-section-themes .accordion-section-title {
+       padding-right: 100px; /* Space for the button */
+}
 
-/** Handle cheaters. */
+.control-section-themes .accordion-section-title span {
+       font-size: small;
+       display: block;
+       font-weight: 400;
+}
+
+.control-section-themes .accordion-section-title .change-theme,
+.control-section-themes .accordion-section-title .customize-theme {
+       position: absolute;
+       right: 10px;
+       top: 50%;
+       margin-top: -14px;
+       font-weight: normal;
+}
+
+.customize-themes-panel {
+       display: none;
+       padding: 0 8px;
+       background: #f1f1f1;
+       box-sizing: border-box;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+
+
+.customize-themes-panel > h2 {
+       padding: 15px 8px 0 8px;
+}
+
+.control-section.open .customize-themes-panel {
+       display: block;
+}
+
+#customize-theme-controls .customize-themes-panel .accordion-section-content {
+       background: transparent;
+       display: block;
+}
+
+.customize-control.customize-control-theme {
+       margin-bottom: 8px;
+}
+
+.wp-customizer .theme-browser .themes {
+       padding-bottom: 8px;
+}
+
+.wp-customizer .theme-browser .theme {
+       margin: 0;
+       width: 100%;
+}
+
+.wp-customizer .theme-browser .theme .theme-actions {
+       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+       opacity: 1;
+}
+
+#customize-controls h3.theme-name {
+       font-size: 15px;
+}
+
+#customize-controls .theme-overlay .theme-name {
+       font-size: 32px;
+}
+
+.wp-customizer #themes-filter {
+       font-size: 16px;
+       font-weight: 300;
+       line-height: 1.5;
+       width: 100%;
+}
+
+#accordion-section-themes .accordion-section-title:after {
+       display: none;
+}
+
+#customize-theme-controls .control-section-themes.current-panel > h3.accordion-section-title {
+       left: 0;
+}
+
+.customize-themes-panel.control-panel-content {
+       position: absolute;
+       left: -100%;
+       top: 0;
+       width: 100%;
+       border-top: 1px solid #ddd;
+}
+
+.in-themes-panel #customize-info,
+.in-themes-panel #customize-theme-controls > ul > .accordion-section {
+       left: 100%;
+}
+
+/* Details View */
+.wp-customizer .theme-overlay {
+       display: none;
+}
+
+.wp-customizer.modal-open .theme-overlay {
+       position: fixed;
+       left: 0;
+       top: 0;
+       right: 0;
+       bottom: 0;
+       z-index: 109;
+}
+
+.wp-customizer .theme-overlay .theme-backdrop {
+       background: rgba( 238, 238, 238, 0.75 );
+       position: fixed;
+       z-index: 110;
+}
+
+.wp-customizer .theme-overlay .theme-wrap {
+       left: 90px;
+       right: 90px;
+       top: 45px;
+       bottom: 45px;
+       z-index: 120;
+       max-width: 1740px; /* To ensure that theme screenshots are not displayed larger than 880px wide. */
+}
+
+.wp-customizer .theme-overlay .theme-actions {
+       text-align: right; /* Because there's only one action, match the pattern of media modals and right-align the action. */
+}
+
+.modal-open .in-themes-panel #customize-controls .wp-full-overlay-sidebar-content {
+       overflow: visible; /* Prevent the top-level Customizer controls from becoming visible when elements on the right of the details modal are focused. */
+}
+
+.ie8 .wp-customizer .theme-overlay .theme-header,
+.ie8 .wp-customizer .theme-overlay .theme-about,
+.ie8 .wp-customizer .theme-overlay .theme-actions {
+       position: static;
+}
+
+/* Small Screens */
+@media (max-width:850px), (max-height:472px) {
+       .wp-customizer .theme-overlay .theme-wrap {
+               left: 0;
+               right: 0;
+               top: 0;
+               bottom: 0;
+       }
+}
+
+/* Handle cheaters. */
 body.cheatin {
        font-size: medium;
        height: auto;
@@ -848,3 +1084,108 @@ body.cheatin p {
        line-height: 1.5;
        margin: 25px 0 20px;
 }
+
+/* Responsive */
+.customize-controls-preview-toggle {
+       display: none;
+}
+
+@media only screen and (max-width: 780px) {
+       .wp-customizer .theme:not(.active):hover .theme-actions,
+       .wp-customizer .theme:not(.active):focus .theme-actions {
+               display: block;
+       }
+
+       .wp-customizer .theme-browser .theme.active .theme-name span {
+               display: inline;
+       }
+}
+
+@media screen and ( max-width: 640px ) {
+       #customize-controls {
+               width: 100%;
+       }
+
+       .wp-full-overlay.expanded {
+               margin-left: 0;
+       }
+
+       .wp-full-overlay-sidebar .wp-full-overlay-sidebar-content {
+               bottom: 0;
+       }
+
+       .customize-controls-preview-toggle {
+               display: block;
+               position: absolute;
+               top: 0;
+               left: 48px;
+               line-height: 45px;
+               font-size: 14px;
+               padding: 0 12px 0 12px;
+               margin: 0;
+               height: 45px;
+               background: #eee;
+               border-right: 1px solid #ddd;
+               color: #444;
+               cursor: pointer;
+               -webkit-transition: color .1s ease-in-out, background .1s ease-in-out;
+               transition: color .1s ease-in-out, background .1s ease-in-out;
+       }
+
+       #customize-footer-actions,
+       #customize-preview,
+       .customize-controls-preview-toggle .controls,
+       .preview-only .wp-full-overlay-sidebar-content,
+       .preview-only .customize-controls-preview-toggle .preview {
+               display: none;
+       }
+
+       .customize-controls-preview-toggle .preview:before,
+       .customize-controls-preview-toggle .controls:before {
+               font: normal 20px/1 dashicons;
+               content: "\f177";
+               position: relative;
+               top: 4px;
+               margin-right: 6px;
+       }
+
+       .customize-controls-preview-toggle .controls:before {
+               content: "\f100";
+       }
+
+       .preview-only #customize-controls {
+               height: 45px;
+       }
+
+       .preview-only #customize-preview,
+       .preview-only .customize-controls-preview-toggle .controls {
+               display: block;
+       }
+
+       #customize-preview {
+               top: 45px;
+               bottom: 0;
+               height: auto;
+       }
+
+       .wp-core-ui.wp-customizer .button {
+               padding: 6px 14px;
+               line-height: normal;
+               font-size: 14px;
+               vertical-align: middle;
+               height: auto;
+               margin-bottom: 4px;
+       }
+
+       .adding-widget #customize-header-actions .primary-actions {
+               display: none;
+       }
+
+       .adding-widget #customize-header-actions .secondary-actions {
+               display: block;
+       }
+
+       #customize-header-actions .button-primary {
+               margin-top: 6px;
+       }
+}
index 483c49a98e5c3788436f8af6116061ac71ca2a20..8182bf0689b23dbaddabaa93006490f80c3fe440 100644 (file)
@@ -1 +1 @@
-body{overflow:hidden}#customize-controls a{text-decoration:none}#customize-controls h3{font-size:14px}#customize-controls img{max-width:100%}#customize-controls .submit{text-align:center}#customize-controls .description{color:#666}#customize-header-actions .button-primary{float:right;margin-top:9px}#customize-header-actions .spinner{margin-top:16px;margin-right:4px}.saving #customize-header-actions .spinner{display:block}#customize-header-actions{border-bottom:1px solid #ddd}#customize-controls .wp-full-overlay-sidebar-content{overflow-y:auto;overflow-x:hidden}#customize-info{border:none;border-top:1px solid #ddd}#customize-info .accordion-section-title{background-color:#fff;color:#666;border-left:none;border-right:none;border-bottom:1px solid #eee}#customize-info .accordion-section-title:focus:after,#customize-info .accordion-section-title:hover:after,#customize-info.open .accordion-section-title:after{color:#555}#customize-info .preview-notice{font-size:13px;line-height:24px}#customize-info .theme-name{font-size:20px;font-weight:200;line-height:24px;display:block}#customize-info .theme-screenshot{width:258px}#customize-info .theme-description{margin-top:1em;color:#666;line-height:20px}#customize-theme-controls .control-section{border:none}#customize-theme-controls .accordion-section-title{color:#555;background-color:#fff;border-bottom:1px solid #eee}#customize-theme-controls .accordion-section-content{color:#555;background:#fff}#customize-info .accordion-section-title:focus,#customize-info .accordion-section-title:hover,#customize-info.open .accordion-section-title,#customize-theme-controls .control-section .accordion-section-title:focus,#customize-theme-controls .control-section .accordion-section-title:hover,#customize-theme-controls .control-section.open .accordion-section-title,#customize-theme-controls .control-section:hover>.accordion-section-title{color:#222;background:#f5f5f5}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{background:#f5f5f5}#customize-theme-controls .control-section .accordion-section-title:focus:after,#customize-theme-controls .control-section .accordion-section-title:hover:after,#customize-theme-controls .control-section.open .accordion-section-title:after,#customize-theme-controls .control-section:hover>.accordion-section-title:after{color:#555}#customize-info.open,#customize-theme-controls .control-section.open{border-bottom:1px solid #eee}#customize-theme-controls .control-section.open .accordion-section-title{border-bottom-color:#eee!important}#customize-theme-controls .control-section:last-of-type.open,#customize-theme-controls .control-section:last-of-type>.accordion-section-title{border-bottom-color:#ddd}#customize-theme-controls .accordion-section-content,#customize-theme-controls>ul{margin:0}.control-section.control-panel>.accordion-section-title{padding-right:54px}.control-section.control-panel>.accordion-section-title:after{content:"\f345";background:#f5f5f5;color:#555;width:38px;height:100%;margin:-11px -10px -11px 0;line-height:45px;padding-left:5px;border-left:1px solid #eee;z-index:0}.rtl .control-section.control-panel>.accordion-section-title:after{content:"\f341"}#customize-theme-controls .control-section.control-panel>h3.accordion-section-title:focus:after,#customize-theme-controls .control-section.control-panel>h3.accordion-section-title:hover:after{background:#ddd;color:#000;border:1px solid #d9d9d9;border-right:none;margin-top:-12px;line-height:44px;z-index:1}.accordion-sub-container.control-panel-content{display:none;position:absolute;left:300px;top:0;width:300px;border-top:1px solid #ddd;-webkit-transition:left ease-in-out .18s;transition:left ease-in-out .18s}.accordion-sub-container.control-panel-content.animating{display:block}.current-panel .accordion-sub-container.control-panel-content{width:100%}.customize-controls-close{display:block;position:absolute;top:0;left:0;width:45px;height:45px;padding-right:2px;background:#eee;border-right:1px solid #ddd;color:#444;cursor:pointer;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.control-panel-back{display:block;position:fixed;top:0;z-index:99;left:-48px;width:45px;height:45px;padding-right:2px;background:#eee;border-right:1px solid #ddd;cursor:pointer;-webkit-transition:left .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out;transition:left .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out}.collapsed .control-panel-back{display:none}.control-panel-back:focus,.control-panel-back:hover,.customize-controls-close:focus,.customize-controls-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.customize-controls-close:before{font:400 22px/1 dashicons;content:"\f335";position:relative;top:7px;left:13px}.control-panel-back:before{font:400 20px/1 dashicons;content:"\f341";position:relative;top:7px;left:13px}.rtl .control-panel-back:before{content:"\f345"}.in-sub-panel .control-panel-back{left:0}.current-panel>.accordion-section-title{height:22px}.wp-full-overlay-sidebar .wp-full-overlay-header{-webkit-transition:padding ease-in-out .18s;transition:padding ease-in-out .18s}.in-sub-panel .wp-full-overlay-sidebar .wp-full-overlay-header{padding-left:62px}#customize-info,#customize-theme-controls>ul>.accordion-section{position:relative;left:0;-webkit-transition:left ease-in-out .18s;transition:left ease-in-out .18s}.in-sub-panel #customize-info,.in-sub-panel #customize-theme-controls>ul>.accordion-section{left:-300px;width:300px}.in-sub-panel #customize-theme-controls .accordion-section.current-panel{width:100%}#customize-theme-controls .control-section.current-panel{padding:0}#customize-theme-controls .control-section>h3.accordion-section-title{position:relative;left:0}#customize-theme-controls .control-section.current-panel>h3.accordion-section-title{left:-300px;-webkit-transition:left ease-in-out .18s;transition:left ease-in-out .18s}.control-section.control-panel .accordion-section-title .panel-title{font-size:20px;font-weight:200;line-height:24px;display:block;border:none}.control-section.control-panel .preview-notice{font-size:13px;line-height:24px}p.customize-section-description{font-style:normal}.customize-control{width:100%;float:left;clear:both;margin-bottom:8px}.customize-control input[type=checkbox],.customize-control input[type=radio],.customize-control select{line-height:28px}.customize-control input[type=email],.customize-control input[type=number],.customize-control input[type=password],.customize-control input[type=search],.customize-control input[type=tel],.customize-control input[type=text],.customize-control input[type=url]{width:98%;line-height:18px;margin:0}.customize-control-textarea textarea{width:100%;resize:vertical}.customize-control select{min-width:50%;max-width:100%;height:28px;line-height:28px}.customize-control select[multiple]{height:auto}.customize-control-title{display:block;font-size:14px;line-height:24px;font-weight:600;margin-bottom:5px}.customize-control-description{display:block;font-style:italic;line-height:18px;margin-bottom:5px}.customize-control-checkbox label,.customize-control-color .color-picker,.customize-control-upload div{line-height:28px}.customize-control-checkbox input{margin-right:5px}.customize-control-radio{padding:5px 0 10px}.customize-control-radio .customize-control-title{margin-bottom:0;line-height:22px}.customize-control-radio .customize-control-title+.customize-control-description{margin-top:7px}.customize-control-radio label{line-height:32px}.customize-control-radio input{margin-right:5px}.customize-control .attachment-thumb.type-icon{float:left;margin:10px;width:auto}.customize-control .attachment-title{font-weight:700;margin:0;padding:5px 10px}.customize-control .attachment-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;padding:5px 10px 0}.customize-control .attachment-meta-title{padding-top:7px}.customize-control .thumbnail-image{line-height:0}.customize-control .thumbnail-image img{cursor:pointer}#customize-preview iframe{width:100%;height:100%}.wp-full-overlay-sidebar{background:#eee;border-right:1px solid #ddd}.collapse-sidebar{background-color:transparent!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-border-radius:0!important;border-radius:0!important}.collapse-sidebar:active,.collapse-sidebar:active .collapse-sidebar-arrow:before,.collapse-sidebar:active .collapse-sidebar-label{text-shadow:none}.collapsed .collapse-sidebar-arrow:before{color:#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)}.ios #customize-preview,.ios .wp-full-overlay{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}.customize-control-background .current,.customize-control-header .current,.customize-control-image .current,.customize-control-upload .current{margin-bottom:8px}.customize-control-header .uploaded{margin-bottom:18px}.customize-control-header .default button:not(.random),.customize-control-header .uploaded button:not(.random){width:100%;padding:0;margin:0;background:0 0;border:none;color:inherit;cursor:pointer}.customize-control-header button img{display:block}.customize-control-background .default-button,.customize-control-background .remove-button,.customize-control-background .upload-button,.customize-control-header button.new,.customize-control-header button.remove,.customize-control-image .default-button,.customize-control-image .remove-button,.customize-control-image .upload-button,.customize-control-upload .default-button,.customize-control-upload .remove-button,.customize-control-upload .upload-button{white-space:normal;width:48%;height:auto}.customize-control-background .current .container,.customize-control-header .current .container,.customize-control-image .current .container,.customize-control-upload .current .container{overflow:hidden;border:1px solid #eee;-webkit-border-radius:2px;border-radius:2px}.customize-control-background .current .container,.customize-control-image .current .container,.customize-control-upload .current .container{min-height:40px}.customize-control-background .placeholder,.customize-control-header .placeholder,.customize-control-image .placeholder,.customize-control-upload .placeholder{width:100%;position:relative;text-align:center;cursor:default}.customize-control-background .inner,.customize-control-header .inner,.customize-control-image .inner,.customize-control-upload .inner{display:none;position:absolute;width:100%;color:#555;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.customize-control-background .inner,.customize-control-image .inner,.customize-control-upload .inner{display:block;min-height:40px}.customize-control-background .inner,.customize-control-header .inner,.customize-control-header .inner .dashicons,.customize-control-image .inner,.customize-control-upload .inner{line-height:20px;top:10px}.customize-control-header .list .inner,.customize-control-header .list .inner .dashicons{top:9px}.customize-control-header .header-view{position:relative;width:100%;margin-bottom:5px}.customize-control-header .header-view:last-child{margin-bottom:0}.customize-control-header .header-view:after{border:0}.customize-control-header .header-view.selected:after{content:'';position:absolute;height:auto;top:0;left:0;bottom:0;right:0;border:4px solid #2ea2cc;-webkit-border-radius:2px;border-radius:2px}.customize-control-header .header-view.button.selected{border:0}.customize-control-header .uploaded .header-view .close{font-size:2em;color:grey;position:absolute;visibility:hidden;top:10px;right:10px;z-index:1;width:20px;height:20px;cursor:pointer}.customize-control-header .uploaded .header-view .close:hover{color:#000;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}.customize-control-header .header-view:hover .close{visibility:visible}.customize-control-header .random.placeholder{cursor:pointer;-webkit-border-radius:2px;border-radius:2px;height:40px}.customize-control-header button.random{width:100%;height:auto;min-height:40px;white-space:normal}.customize-control-header button.random .dice{margin-top:4px}.customize-control-header .header-view:hover>button.random .dice,.customize-control-header .placeholder:hover .dice{-webkit-animation:dice-color-change 3s infinite;-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-background .actions,.customize-control-header .actions,.customize-control-image .actions,.customize-control-upload .actions{margin-bottom:32px}.customize-control-header .choice{position:relative;display:block;margin-bottom:9px}.customize-control-header .uploaded div:last-child>.choice{margin-bottom:0}.customize-control-background img,.customize-control-header img,.customize-control-image img,.customize-control-upload img{width:100%;-webkit-border-radius:2px;border-radius:2px}.customize-control-background .default-button,.customize-control-background .remove-button,.customize-control-header .remove,.customize-control-image .default-button,.customize-control-image .remove-button,.customize-control-upload .default-button,.customize-control-upload .remove-button{float:left;margin-right:3px}.customize-control-background .upload-button,.customize-control-header .new,.customize-control-image .upload-button,.customize-control-upload .upload-button{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
+body{overflow:hidden;-webkit-text-size-adjust:100%}#customize-controls a{text-decoration:none}#customize-controls h3{font-size:14px}#customize-controls img{max-width:100%}#customize-controls .submit{text-align:center}#customize-controls .description{color:#666}#customize-header-actions .button-primary{float:right;margin-top:9px}#customize-header-actions .spinner{margin-top:13px;margin-right:4px}.saving #customize-header-actions .spinner{visibility:visible}#customize-header-actions{border-bottom:1px solid #ddd}#customize-header-actions .secondary-actions{display:none}#customize-controls .wp-full-overlay-sidebar-content{overflow-y:auto;overflow-x:hidden}#customize-info{border:none;border-top:1px solid #ddd}#customize-info .accordion-section-title{background-color:#fff;color:#666;border-left:none;border-right:none;border-bottom:1px solid #eee}#customize-info .accordion-section-title:focus:after,#customize-info .accordion-section-title:hover:after,#customize-info.open .accordion-section-title:after{color:#555}#customize-info .preview-notice{font-size:13px;line-height:24px}#customize-info .theme-name{font-size:20px;font-weight:200;line-height:24px;display:block}#customize-info .theme-screenshot{width:258px}#customize-info .theme-description{margin-top:1em;color:#666;line-height:20px}#customize-theme-controls .control-section{border:none}#customize-theme-controls .accordion-section-title{color:#555;background-color:#fff;border-bottom:1px solid #eee}#customize-theme-controls .accordion-section-content{color:#555;background:#fff}#customize-info .accordion-section-title:focus,#customize-info .accordion-section-title:hover,#customize-info.open .accordion-section-title,#customize-theme-controls .control-section .accordion-section-title:focus,#customize-theme-controls .control-section .accordion-section-title:hover,#customize-theme-controls .control-section.open .accordion-section-title,#customize-theme-controls .control-section:hover>.accordion-section-title{color:#23282d;background:#f5f5f5}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{background:#f5f5f5}#customize-theme-controls .control-section .accordion-section-title:focus:after,#customize-theme-controls .control-section .accordion-section-title:hover:after,#customize-theme-controls .control-section.open .accordion-section-title:after,#customize-theme-controls .control-section:hover>.accordion-section-title:after{color:#555}#customize-info.open,#customize-theme-controls .control-section.open{border-bottom:1px solid #eee}#customize-theme-controls .control-section.open .accordion-section-title{border-bottom-color:#eee!important}#customize-theme-controls .control-section:last-of-type.open,#customize-theme-controls .control-section:last-of-type>.accordion-section-title{border-bottom-color:#ddd}#customize-theme-controls .accordion-section-content,#customize-theme-controls>ul{margin:0}.control-section.control-panel>.accordion-section-title{padding-right:54px}.control-section.control-panel>.accordion-section-title:after{content:"\f345";background:#f5f5f5;color:#555;width:38px;height:100%;margin:-11px -10px -11px 0;line-height:45px;padding-left:5px;border-left:1px solid #eee;z-index:0}#customize-theme-controls .control-section.control-panel>h3.accordion-section-title:focus:after,#customize-theme-controls .control-section.control-panel>h3.accordion-section-title:hover:after{background:#ddd;color:#000;border:1px solid #d9d9d9;border-right:none;margin-top:-12px;line-height:44px;z-index:1}.accordion-sub-container.control-panel-content{display:none;position:absolute;left:300px;top:0;width:300px;border-top:1px solid #ddd;-webkit-transition:left ease-in-out .18s;transition:left ease-in-out .18s}.accordion-sub-container.control-panel-content.animating{display:block}.current-panel .accordion-sub-container.control-panel-content{width:100%}.customize-controls-close,.customize-overlay-close{display:block;position:absolute;top:0;left:0;width:45px;height:45px;padding:0 2px 0 0;background:#eee;border:none;border-right:1px solid #ddd;color:#444;text-align:left;cursor:pointer;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.customize-overlay-close{left:auto;right:0;border-right:0;border-left:1px solid #ddd}.control-panel-back{display:block;position:fixed;top:0;z-index:99;left:-48px;width:45px;height:45px;padding-right:2px;background:#eee;border-right:1px solid #ddd;cursor:pointer;-webkit-transition:left .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out;transition:left .18s ease-in-out,color .1s ease-in-out,background .1s ease-in-out}.ios .control-panel-back{-webkit-transition:left 0s;transition:left 0s}.collapsed .control-panel-back{display:none}.control-panel-back:focus,.control-panel-back:hover,.customize-controls-close:focus,.customize-controls-close:hover,.customize-controls-preview-toggle:focus,.customize-controls-preview-toggle:hover,.customize-overlay-close:focus,.customize-overlay-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.customize-controls-close:before,.customize-overlay-close:before{font:400 22px/45px dashicons;content:"\f335";position:relative;top:1px;left:13px}.control-panel-back:before{font:400 20px/45px dashicons;content:"\f341";position:relative;top:1px;left:13px}.in-sub-panel .control-panel-back{left:0}.current-panel>.accordion-section-title{height:22px}.wp-full-overlay-sidebar .wp-full-overlay-header{-webkit-transition:padding ease-in-out .18s;transition:padding ease-in-out .18s}.in-sub-panel .wp-full-overlay-sidebar .wp-full-overlay-header{padding-left:62px}#customize-info,#customize-theme-controls>ul>.accordion-section{position:relative;left:0;-webkit-transition:left ease-in-out .18s;transition:left ease-in-out .18s}.ios #customize-info,.ios #customize-theme-controls>ul>.accordion-section{-webkit-transition:left 0s;transition:left 0s}.in-sub-panel #customize-info,.in-sub-panel #customize-theme-controls>ul>.accordion-section{left:-300px;width:300px}.in-sub-panel #customize-theme-controls .accordion-section.current-panel{width:100%}#customize-theme-controls .control-section.current-panel{padding:0}#customize-theme-controls .control-section>h3.accordion-section-title{position:relative;left:0}#customize-theme-controls .control-section.current-panel>h3.accordion-section-title{left:-354px;-webkit-transition:left ease-in-out .18s;transition:left ease-in-out .18s}.ios #customize-theme-controls .control-section.current-panel>h3.accordion-section-title{-webkit-transition:left 0s;transition:left 0s}.control-section.control-panel .accordion-section-title .panel-title{font-size:20px;font-weight:200;line-height:24px;display:block;border:none}.control-section.control-panel .preview-notice{font-size:13px;line-height:24px}p.customize-section-description{font-style:normal}.customize-control{width:100%;float:left;clear:both;margin-bottom:8px}.customize-control input[type=checkbox],.customize-control input[type=radio],.customize-control select{line-height:28px}.customize-control input[type=email],.customize-control input[type=number],.customize-control input[type=password],.customize-control input[type=search],.customize-control input[type=tel],.customize-control input[type=text],.customize-control input[type=url]{width:98%;line-height:18px;margin:0}.customize-control-hidden{margin:0}.customize-control-textarea textarea{width:100%;resize:vertical}.customize-control select{min-width:50%;max-width:100%;height:28px;line-height:28px}.customize-control select[multiple]{height:auto}.customize-control-title{display:block;font-size:14px;line-height:24px;font-weight:600;margin-bottom:5px}.customize-control-description{display:block;font-style:italic;line-height:18px;margin-bottom:5px}.customize-control-checkbox label,.customize-control-color .color-picker,.customize-control-upload div{line-height:28px}.customize-control-checkbox input{margin-right:5px}.customize-control-radio{padding:5px 0 10px}.customize-control-radio .customize-control-title{margin-bottom:0;line-height:22px}.customize-control-radio .customize-control-title+.customize-control-description{margin-top:7px}.customize-control-radio label{line-height:32px}.customize-control-radio input{margin-right:5px}.customize-control .attachment-thumb.type-icon{float:left;margin:10px;width:auto}.customize-control .attachment-title{font-weight:700;margin:0;padding:5px 10px}.customize-control .attachment-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;padding:0 10px}.customize-control .attachment-meta-title{padding-top:7px}.customize-control .thumbnail-image{line-height:0}.customize-control .thumbnail-image img{cursor:pointer}#customize-controls .thumbnail-audio .thumbnail{max-width:64px;max-height:64px;margin:10px;float:left}#customize-preview iframe{width:100%;height:100%}.wp-full-overlay-sidebar{background:#eee;border-right:1px solid #ddd}.collapse-sidebar{background-color:transparent!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-border-radius:0!important;border-radius:0!important}.collapse-sidebar:active,.collapse-sidebar:active .collapse-sidebar-arrow:before,.collapse-sidebar:active .collapse-sidebar-label{text-shadow:none}.collapsed .collapse-sidebar-arrow:before{color:#82878c}.accordion-section .dropdown{float:left;display:block;position:relative;cursor:pointer}.accordion-section .dropdown-content{overflow:hidden;float:left;min-width:30px;height:16px;line-height:16px;margin-right:16px;padding:4px 5px;border:2px solid #eee;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.customize-control .dropdown-arrow{position:absolute;top:0;bottom:0;right:0;width:20px;background:#eee}.customize-control .dropdown-arrow:after{content:"\f140";font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#32373c}.customize-control .dropdown-status{color:#32373c;background:#eee;display:none;max-width:112px}.customize-control-color .color-picker-hex{display:none}.customize-control-color.open .color-picker-hex{display:block}.customize-control-color .dropdown{margin-right:5px;margin-bottom:5px}.customize-control-color .dropdown .dropdown-content{background-color:#555;border:1px solid rgba(0,0,0,.15)}.customize-control-color .dropdown:hover .dropdown-content{border-color:rgba(0,0,0,.25)}.ios #customize-preview,.ios .wp-full-overlay{position:relative}.ios #customize-controls .wp-full-overlay-sidebar-content{-webkit-overflow-scrolling:touch}.customize-control-background .current,.customize-control-header .current,.customize-control-image .current,.customize-control-media .current,.customize-control-upload .current{margin-bottom:8px}.customize-control-header .uploaded{margin-bottom:18px}.customize-control-header .default button:not(.random),.customize-control-header .uploaded button:not(.random){width:100%;padding:0;margin:0;background:0 0;border:none;color:inherit;cursor:pointer}.customize-control-header button img{display:block}.customize-control-background .default-button,.customize-control-background .remove-button,.customize-control-background .upload-button,.customize-control-header button.new,.customize-control-header button.remove,.customize-control-image .default-button,.customize-control-image .remove-button,.customize-control-image .upload-button,.customize-control-media .default-button,.customize-control-media .remove-button,.customize-control-media .upload-button,.customize-control-upload .default-button,.customize-control-upload .remove-button,.customize-control-upload .upload-button{white-space:normal;width:48%;height:auto}.customize-control-background .current .container,.customize-control-header .current .container,.customize-control-image .current .container,.customize-control-media .current .container,.customize-control-upload .current .container{overflow:hidden;border:1px solid #eee;-webkit-border-radius:2px;border-radius:2px}.customize-control-background .current .container,.customize-control-image .current .container,.customize-control-media .current .container,.customize-control-upload .current .container{min-height:40px}.customize-control-background .placeholder,.customize-control-header .placeholder,.customize-control-image .placeholder,.customize-control-media .placeholder,.customize-control-upload .placeholder{width:100%;position:relative;text-align:center;cursor:default}.customize-control-background .inner,.customize-control-header .inner,.customize-control-image .inner,.customize-control-media .inner,.customize-control-upload .inner{display:none;position:absolute;width:100%;color:#555;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.customize-control-background .inner,.customize-control-image .inner,.customize-control-media .inner,.customize-control-upload .inner{display:block;min-height:40px}.customize-control-background .inner,.customize-control-header .inner,.customize-control-header .inner .dashicons,.customize-control-image .inner,.customize-control-media .inner,.customize-control-upload .inner{line-height:20px;top:10px}.customize-control-header .list .inner,.customize-control-header .list .inner .dashicons{top:9px}.customize-control-header .header-view{position:relative;width:100%;margin-bottom:5px}.customize-control-header .header-view:last-child{margin-bottom:0}.customize-control-header .header-view:after{border:0}.customize-control-header .header-view.selected:after{content:'';position:absolute;height:auto;top:0;left:0;bottom:0;right:0;border:4px solid #00a0d2;-webkit-border-radius:2px;border-radius:2px}.customize-control-header .header-view.button.selected{border:0}.customize-control-header .uploaded .header-view .close{font-size:2em;color:grey;position:absolute;visibility:hidden;top:10px;right:10px;z-index:1;width:20px;height:20px;cursor:pointer}.customize-control-header .uploaded .header-view .close:hover{color:#000;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}.customize-control-header .header-view:hover .close{visibility:visible}.customize-control-header .random.placeholder{cursor:pointer;-webkit-border-radius:2px;border-radius:2px;height:40px}.customize-control-header button.random{width:100%;height:auto;min-height:40px;white-space:normal}.customize-control-header button.random .dice{margin-top:4px}.customize-control-header .header-view:hover>button.random .dice,.customize-control-header .placeholder:hover .dice{-webkit-animation:dice-color-change 3s infinite;animation:dice-color-change 3s infinite}@-webkit-keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}@keyframes dice-color-change{0%{color:#d4b146}50%{color:#ef54b0}75%{color:#7190d3}100%{color:#d4b146}}.customize-control-background .actions,.customize-control-header .actions,.customize-control-image .actions,.customize-control-media .actions,.customize-control-upload .actions{margin-bottom:32px}.customize-control-header .choice{position:relative;display:block;margin-bottom:9px}.customize-control-header .uploaded div:last-child>.choice{margin-bottom:0}.customize-control-background img,.customize-control-header img,.customize-control-image img,.customize-control-media img,.customize-control-upload img{width:100%;-webkit-border-radius:2px;border-radius:2px}.customize-control-background .default-button,.customize-control-background .remove-button,.customize-control-header .remove,.customize-control-image .default-button,.customize-control-image .remove-button,.customize-control-media .default-button,.customize-control-media .remove-button,.customize-control-upload .default-button,.customize-control-upload .remove-button{float:left;margin-right:3px}.customize-control-background .upload-button,.customize-control-header .new,.customize-control-image .upload-button,.customize-control-media .upload-button,.customize-control-upload .upload-button{float:right}@-webkit-keyframes customize-reload{0%{opacity:0}100%{opacity:1}}@keyframes customize-reload{0%{opacity:0}100%{opacity:1}}.wp-customizer .customize-loading #customize-container{display:block;-webkit-animation:customize-reload .75s;animation:customize-reload .75s}.control-section-themes .accordion-section-title{cursor:default}#customize-theme-controls .control-section-themes .accordion-section-title:focus,#customize-theme-controls .control-section-themes .accordion-section-title:hover{color:#555;background-color:#fff}.control-section-themes .accordion-section-title{margin:15px 0}.customize-themes-panel .accordion-section-title{margin:15px -8px}.control-section-themes .accordion-section-title{padding-right:100px}.control-section-themes .accordion-section-title span{font-size:small;display:block;font-weight:400}.control-section-themes .accordion-section-title .change-theme,.control-section-themes .accordion-section-title .customize-theme{position:absolute;right:10px;top:50%;margin-top:-14px;font-weight:400}.customize-themes-panel{display:none;padding:0 8px;background:#f1f1f1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.customize-themes-panel>h2{padding:15px 8px 0}.control-section.open .customize-themes-panel{display:block}#customize-theme-controls .customize-themes-panel .accordion-section-content{background:0 0;display:block}.customize-control.customize-control-theme{margin-bottom:8px}.wp-customizer .theme-browser .themes{padding-bottom:8px}.wp-customizer .theme-browser .theme{margin:0;width:100%}.wp-customizer .theme-browser .theme .theme-actions{-ms-filter:"alpha(Opacity=100)";opacity:1}#customize-controls h3.theme-name{font-size:15px}#customize-controls .theme-overlay .theme-name{font-size:32px}.wp-customizer #themes-filter{font-size:16px;font-weight:300;line-height:1.5;width:100%}#accordion-section-themes .accordion-section-title:after{display:none}#customize-theme-controls .control-section-themes.current-panel>h3.accordion-section-title{left:0}.customize-themes-panel.control-panel-content{position:absolute;left:-100%;top:0;width:100%;border-top:1px solid #ddd}.in-themes-panel #customize-info,.in-themes-panel #customize-theme-controls>ul>.accordion-section{left:100%}.wp-customizer .theme-overlay{display:none}.wp-customizer.modal-open .theme-overlay{position:fixed;left:0;top:0;right:0;bottom:0;z-index:109}.wp-customizer .theme-overlay .theme-backdrop{background:rgba(238,238,238,.75);position:fixed;z-index:110}.wp-customizer .theme-overlay .theme-wrap{left:90px;right:90px;top:45px;bottom:45px;z-index:120;max-width:1740px}.wp-customizer .theme-overlay .theme-actions{text-align:right}.modal-open .in-themes-panel #customize-controls .wp-full-overlay-sidebar-content{overflow:visible}.ie8 .wp-customizer .theme-overlay .theme-about,.ie8 .wp-customizer .theme-overlay .theme-actions,.ie8 .wp-customizer .theme-overlay .theme-header{position:static}@media (max-width:850px),(max-height:472px){.wp-customizer .theme-overlay .theme-wrap{left:0;right:0;top:0;bottom:0}}body.cheatin{font-size:medium;height:auto;background:#fff;margin:50px auto 2em;padding:1em 2em;max-width:700px;min-width:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}body.cheatin p{font-size:14px;line-height:1.5;margin:25px 0 20px}.customize-controls-preview-toggle{display:none}@media only screen and (max-width:780px){.wp-customizer .theme:not(.active):focus .theme-actions,.wp-customizer .theme:not(.active):hover .theme-actions{display:block}.wp-customizer .theme-browser .theme.active .theme-name span{display:inline}}@media screen and (max-width:640px){#customize-controls{width:100%}.wp-full-overlay.expanded{margin-left:0}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{bottom:0}.customize-controls-preview-toggle{display:block;position:absolute;top:0;left:48px;line-height:45px;font-size:14px;padding:0 12px;margin:0;height:45px;background:#eee;border-right:1px solid #ddd;color:#444;cursor:pointer;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}#customize-footer-actions,#customize-preview,.customize-controls-preview-toggle .controls,.preview-only .customize-controls-preview-toggle .preview,.preview-only .wp-full-overlay-sidebar-content{display:none}.customize-controls-preview-toggle .controls:before,.customize-controls-preview-toggle .preview:before{font:400 20px/1 dashicons;content:"\f177";position:relative;top:4px;margin-right:6px}.customize-controls-preview-toggle .controls:before{content:"\f100"}.preview-only #customize-controls{height:45px}.preview-only #customize-preview,.preview-only .customize-controls-preview-toggle .controls{display:block}#customize-preview{top:45px;bottom:0;height:auto}.wp-core-ui.wp-customizer .button{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}.adding-widget #customize-header-actions .primary-actions{display:none}.adding-widget #customize-header-actions .secondary-actions{display:block}#customize-header-actions .button-primary{margin-top:6px}}
\ No newline at end of file
index d0cf8adc7bbcd0aa8863693bbd14a1f8822b816d..9e1e3752459d791cbfbf3de6ec8fdd9d17115fa1 100644 (file)
        opacity: 0.5;
 }
 
-.customize-control-widget_form .widget-control-save,
-.customize-control-widget_form .spinner {
+.customize-control-widget_form .widget-control-save {
        display: none;
 }
 
+.customize-control-widget_form .spinner {
+       visibility: hidden;
+       margin-top: 0;
+}
+
 .customize-control-widget_form.previewer-loading .spinner {
-       display: inline;
+       visibility: visible;
 }
 
 .customize-control-widget_form.widget-form-disabled .widget-content {
 }
 
 .customize-control-widget_form.wide-widget-control a.widget-action:after {
-       content: "\f139";
+       content: "\f141";
 }
 
 .customize-control-widget_form.wide-widget-control.expanded a.widget-action:after {
-       content: "\f141";
+       content: "\f139";
 }
 
 .widget-title-action {
        display: block;
        width: 33px; /* was 42px for mobile */
        height: 43px;
-       color: #888;
+       color: #82878c;
        text-indent: -9999px;
        cursor: pointer;
        outline: none;
 #customize-theme-controls .widget-area-select .selected {
        color: #fff;
        text-shadow: 0 -1px 0 rgba(0,0,0,.4);
-       background: #2ea2cc;
+       background: #00a0d2;
 }
 
 #customize-theme-controls .widget-area-select .selected:before {
@@ -315,14 +319,14 @@ body.adding-widget .add-new-widget,
 body.adding-widget .add-new-widget:hover {
        background: #eee;
        border-color: #999;
-       color: #333;
+       color: #32373c;
        -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
        box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
 }
 body.adding-widget .add-new-widget:before {
-       -webkit-transform: rotate(45deg);
-       -ms-transform: rotate(45deg);
-       transform: rotate(45deg);
+       -webkit-transform: rotate(-45deg);
+       -ms-transform: rotate(-45deg);
+       transform: rotate(-45deg);
 }
 
 #available-widgets .widget {
@@ -344,14 +348,28 @@ body.adding-widget .add-new-widget:before {
        width: 300px;
        margin: 0;
        z-index: 1;
-       background: #fff;
+       background: #fff !important;
        -webkit-transition: all 0.2s;
        transition: all 0.2s;
        border-left: 1px solid #dddddd;
 }
 
+#available-widgets-list {
+       top: 46px;
+       position: absolute;
+       overflow: auto;
+       bottom: 0;
+       width: 100%;
+}
+
 #available-widgets-filter {
+       position: fixed;
+       top: 0;
+       z-index: 1;
+       width: 300px;
+       height: 46px;
        padding: 8px 13px 7px 17px;
+       background: #eee;
        border-bottom: 1px solid #e4e4e4;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
@@ -429,7 +447,7 @@ body.adding-widget #customize-preview {
        margin-left: 20px;
        width: 20px;
        height: 20px;
-       color: #333;
+       color: #32373c;
        font: normal 20px/1 'dashicons';
        text-align: center;
        -webkit-box-sizing: border-box;
@@ -601,3 +619,18 @@ body.adding-widget #customize-preview {
                top: 8px;
        }
 }
+
+@media screen and ( max-width: 640px ) {
+       body.adding-widget div#available-widgets {
+               top: 46px;
+               right: 0;
+               z-index: 10;
+               width: 100%;
+       }
+
+       #available-widgets-filter {
+               position: static;
+               width: 100%;
+               height: auto;
+       }
+}
index d73a818e31b245b4ebe45b4a8abd5858172e443a..3aa716a0a1d6abe62de5e795e4a38efa76586296 100644 (file)
@@ -1 +1 @@
-.wp-full-overlay-sidebar{overflow:visible}.control-section.control-section-sidebar,.customize-control-sidebar_widgets .hide-if-js,.customize-control-sidebar_widgets label{display:none}.customize-control-widget_form .widget-top{-webkit-transition:opacity .5s;transition:opacity .5s}.customize-control-widget_form:not(.widget-rendered) .widget-top{opacity:.5}.customize-control-widget_form .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:none;line-height:16px}.widget-top{cursor:move}.customize-control-widget_form.expanded a.widget-action:after{content:"\f142"}.customize-control-widget_form.wide-widget-control a.widget-action:after{content:"\f139"}.customize-control-widget_form.wide-widget-control.expanded a.widget-action:after{content:"\f141"}.widget-title-action{cursor:pointer}.customize-control-widget_form .widget .customize-control-title{cursor:move}.control-section.accordion-section.highlighted>.accordion-section-title,.customize-control-widget_form.highlighted{outline:0;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8);position:relative;z-index:1}#widget-customizer-control-templates{display:none}.reorder-toggle{float:left;padding:5px 8px;text-decoration:none;cursor:pointer;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-toggle:focus{outline:dotted 1px}.reorder-done,.reordering .reorder{display:none}.reordering .reorder-done{display:block;color:#a00}#customize-theme-controls .reordering .add-new-widget{opacity:.2;pointer-events:none;cursor:not-allowed}#customize-theme-controls .widget-reorder-nav{display:none;float:left;background-color:#fafafa}.widget-reorder-nav span{position:relative;overflow:hidden;float:right;display:block;width:33px;height:43px;color:#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:none;cursor:auto}#customize-theme-controls .reordering .move-widget-area.active{display:block}#customize-theme-controls .move-widget-area .description{margin:0;padding:15px 20px;font-weight:400}#customize-theme-controls .widget-area-select{margin:0;padding:0;list-style:none}#customize-theme-controls .widget-area-select li{position:relative;margin:0;padding:13px 42px 15px 15px;color:#555;border-top:1px solid #eee;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#customize-theme-controls .widget-area-select li:before{display:none;content:'\f147';position:absolute;top:12px;right:10px;font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#customize-theme-controls .widget-area-select li:last-child{border-bottom:1px solid #eee}#customize-theme-controls .widget-area-select .selected{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.4);background:#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:none;background:0 0;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-title h4{padding:0 0 5px;font-size:14px}#available-widgets .widget .widget-description{padding:0;color:#777}#customize-preview{-webkit-transition:all .2s;transition:all .2s}body.adding-widget #available-widgets{right:0}body.adding-widget .wp-full-overlay-main{right:300px}body.adding-widget #customize-preview{opacity:.4}#available-widgets .widget-title{position:relative}#available-widgets .widget-title:before{content:"\f132";position:absolute;top:-3px;left:100%;margin-left:20px;width:20px;height:20px;color:#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
+.wp-full-overlay-sidebar{overflow:visible}.control-section.control-section-sidebar,.customize-control-sidebar_widgets .hide-if-js,.customize-control-sidebar_widgets label{display:none}.customize-control-widget_form .widget-top{-webkit-transition:opacity .5s;transition:opacity .5s}.customize-control-widget_form:not(.widget-rendered) .widget-top{opacity:.5}.customize-control-widget_form .widget-control-save{display:none}.customize-control-widget_form .spinner{visibility:hidden;margin-top:0}.customize-control-widget_form.previewer-loading .spinner{visibility:visible}.customize-control-widget_form.widget-form-disabled .widget-content{opacity:.7;pointer-events:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.customize-control-widget_form .widget{margin-bottom:0}.customize-control-widget_form.wide-widget-control .widget-inside{position:fixed;right:299px;top:25%;border:1px solid #e5e5e5;overflow:auto}.customize-control-widget_form.wide-widget-control .widget-inside>.form{padding:20px}.customize-control-widget_form.wide-widget-control .widget-top{-webkit-transition:background-color .4s;transition:background-color .4s}.customize-control-widget_form.wide-widget-control.expanded:not(.collapsing) .widget-top,.customize-control-widget_form.wide-widget-control.expanding .widget-top{background-color:#e3e3e3}.widget-inside{padding:1px 10px 10px;border-top:none;line-height:16px}.widget-top{cursor:move}.customize-control-widget_form.expanded a.widget-action:after{content:"\f142"}.customize-control-widget_form.wide-widget-control a.widget-action:after{content:"\f141"}.customize-control-widget_form.wide-widget-control.expanded a.widget-action:after{content:"\f139"}.widget-title-action{cursor:pointer}.customize-control-widget_form .widget .customize-control-title{cursor:move}.control-section.accordion-section.highlighted>.accordion-section-title,.customize-control-widget_form.highlighted{outline:0;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8);position:relative;z-index:1}#widget-customizer-control-templates{display:none}.reorder-toggle{float:left;padding:5px 8px;text-decoration:none;cursor:pointer;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-toggle:focus{outline:dotted 1px}.reorder-done,.reordering .reorder{display:none}.reordering .reorder-done{display:block;color:#a00}#customize-theme-controls .reordering .add-new-widget{opacity:.2;pointer-events:none;cursor:not-allowed}#customize-theme-controls .widget-reorder-nav{display:none;float:left;background-color:#fafafa}.widget-reorder-nav span{position:relative;overflow:hidden;float:right;display:block;width:33px;height:43px;color:#82878c;text-indent:-9999px;cursor:pointer;outline:0}.widget-reorder-nav span:before{display:inline-block;position:absolute;top:0;left:0;width:100%;height:100%;font:400 20px/43px dashicons;text-align:center;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.widget-reorder-nav span:focus,.widget-reorder-nav span:hover{color:#444;background:#eee}.move-widget:before{content:'\f504'}.move-widget-down:before{content:'\f347'}.move-widget-up:before{content:'\f343'}#customize-theme-controls .first-widget .move-widget-up,#customize-theme-controls .last-widget .move-widget-down{color:#d5d5d5;cursor:default}#customize-theme-controls .move-widget-area{display:none;background:#fff;border:1px solid #dedede;border-top:none;cursor:auto}#customize-theme-controls .reordering .move-widget-area.active{display:block}#customize-theme-controls .move-widget-area .description{margin:0;padding:15px 20px;font-weight:400}#customize-theme-controls .widget-area-select{margin:0;padding:0;list-style:none}#customize-theme-controls .widget-area-select li{position:relative;margin:0;padding:13px 42px 15px 15px;color:#555;border-top:1px solid #eee;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#customize-theme-controls .widget-area-select li:before{display:none;content:'\f147';position:absolute;top:12px;right:10px;font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#customize-theme-controls .widget-area-select li:last-child{border-bottom:1px solid #eee}#customize-theme-controls .widget-area-select .selected{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.4);background:#00a0d2}#customize-theme-controls .widget-area-select .selected:before{display:block}#customize-theme-controls .move-widget-actions{text-align:left;padding:12px}#customize-theme-controls .reordering .widget-title-action{display:none}#customize-theme-controls .reordering .widget-reorder-nav{display:block}.wp-full-overlay-main{left:auto;width:100%}#customize-theme-controls .add-new-widget{cursor:pointer;float:left;margin-right:10px;-webkit-transition:all .2s;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0}.add-new-widget:before{content:"\f132";display:inline-block;position:relative;right:-2px;top:-1px;font:400 20px/1 dashicons;vertical-align:middle;-webkit-transition:all .2s;transition:all .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.adding-widget .add-new-widget,body.adding-widget .add-new-widget:hover{background:#eee;border-color:#999;color:#32373c;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}body.adding-widget .add-new-widget:before{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}#available-widgets .widget{position:static}#widgets-left #available-widgets .widget{float:none!important;width:auto!important}#available-widgets{position:absolute;overflow:auto;top:0;bottom:0;right:-301px;width:300px;margin:0;z-index:1;background:#fff!important;-webkit-transition:all .2s;transition:all .2s;border-left:1px solid #ddd}#available-widgets-list{top:46px;position:absolute;overflow:auto;bottom:0;width:100%}#available-widgets-filter{position:fixed;top:0;z-index:1;width:300px;height:46px;padding:8px 13px 7px 17px;background:#eee;border-bottom:1px solid #e4e4e4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#available-widgets-filter input{padding:5px 10px 2px;width:100%}#available-widgets .widget-tpl{position:relative;padding:20px 60px 20px 15px;border-bottom:1px solid #e4e4e4;cursor:pointer;display:none}#available-widgets .widget-tpl.selected,#available-widgets .widget-tpl:hover{background:#fafafa}#available-widgets .widget-top,#available-widgets .widget-top:hover{border:none;background:0 0;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-title h4{padding:0 0 5px;font-size:14px}#available-widgets .widget .widget-description{padding:0;color:#777}#customize-preview{-webkit-transition:all .2s;transition:all .2s}body.adding-widget #available-widgets{right:0}body.adding-widget .wp-full-overlay-main{right:300px}body.adding-widget #customize-preview{opacity:.4}#available-widgets .widget-title{position:relative}#available-widgets .widget-title:before{content:"\f132";position:absolute;top:-3px;left:100%;margin-left:20px;width:20px;height:20px;color:#32373c;font:400 20px/1 dashicons;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#available-widgets [class*=easy] .widget-title:before{content:"\f328";top:-4px}#available-widgets [class*=like] .widget-title:before,#available-widgets [class*=super] .widget-title:before{content:"\f155";top:-4px}#available-widgets [class*=meta] .widget-title:before{content:"\f120"}#available-widgets [class*=archives] .widget-title:before{content:"\f480";top:-4px}#available-widgets [class*=categor] .widget-title:before{content:"\f318";top:-4px}#available-widgets [class*=chat] .widget-title:before,#available-widgets [class*=comment] .widget-title:before,#available-widgets [class*=testimonial] .widget-title:before{content:"\f101"}#available-widgets [class*=post] .widget-title:before{content:"\f109"}#available-widgets [class*=page] .widget-title:before{content:"\f105"}#available-widgets [class*=text] .widget-title:before{content:"\f478"}#available-widgets [class*=link] .widget-title:before{content:"\f103"}#available-widgets [class*=search] .widget-title:before{content:"\f179"}#available-widgets [class*=menu] .widget-title:before,#available-widgets [class*=nav] .widget-title:before{content:"\f333"}#available-widgets [class*=tag] .widget-title:before{content:"\f479"}#available-widgets [class*=rss] .widget-title:before{content:"\f303";top:-6px}#available-widgets [class*=calendar] .widget-title:before,#available-widgets [class*=event] .widget-title:before{content:"\f145";top:-4px}#available-widgets [class*=image] .widget-title:before,#available-widgets [class*=instagram] .widget-title:before,#available-widgets [class*=photo] .widget-title:before,#available-widgets [class*=slide] .widget-title:before{content:"\f128"}#available-widgets [class*=album] .widget-title:before,#available-widgets [class*=galler] .widget-title:before{content:"\f161"}#available-widgets [class*=tube] .widget-title:before,#available-widgets [class*=video] .widget-title:before{content:"\f126"}#available-widgets [class*=audio] .widget-title:before,#available-widgets [class*=music] .widget-title:before,#available-widgets [class*=radio] .widget-title:before{content:"\f127"}#available-widgets [class*=avatar] .widget-title:before,#available-widgets [class*=grofile] .widget-title:before,#available-widgets [class*=login] .widget-title:before,#available-widgets [class*=member] .widget-title:before,#available-widgets [class*=profile] .widget-title:before,#available-widgets [class*=subscriber] .widget-title:before,#available-widgets [class*=user] .widget-title:before{content:"\f110"}#available-widgets [class*=cart] .widget-title:before,#available-widgets [class*=commerce] .widget-title:before,#available-widgets [class*=shop] .widget-title:before{content:"\f174";top:-4px}#available-widgets [class*=firewall] .widget-title:before,#available-widgets [class*=secur] .widget-title:before{content:"\f332"}#available-widgets [class*=analytic] .widget-title:before,#available-widgets [class*=poll] .widget-title:before,#available-widgets [class*=stat] .widget-title:before{content:"\f185"}#available-widgets [class*=form] .widget-title:before{content:"\f175"}#available-widgets [class*=contact] .widget-title:before,#available-widgets [class*=mail] .widget-title:before,#available-widgets [class*=news] .widget-title:before,#available-widgets [class*=subscribe] .widget-title:before{content:"\f466"}#available-widgets [class*=share] .widget-title:before,#available-widgets [class*=socia] .widget-title:before{content:"\f237"}#available-widgets [class*=lang] .widget-title:before,#available-widgets [class*=translat] .widget-title:before{content:"\f326"}#available-widgets [class*=locat] .widget-title:before,#available-widgets [class*=map] .widget-title:before{content:"\f231"}#available-widgets [class*=download] .widget-title:before{content:"\f316"}#available-widgets [class*=weather] .widget-title:before{content:"\f176";top:-4px}#available-widgets [class*=facebook] .widget-title:before{content:"\f304"}#available-widgets [class*=tweet] .widget-title:before,#available-widgets [class*=twitter] .widget-title:before{content:"\f301"}@media screen and (max-height:700px) and (min-width:981px){.customize-control{margin-bottom:0}.widget-top{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px}.widget-top:hover{position:relative;z-index:1}.last-widget{margin-bottom:15px}.widget-title h4{padding:13px 15px}.widget-top a.widget-action:after{padding-top:9px}.widget-reorder-nav span{height:39px}.widget-reorder-nav span:before{line-height:39px}#customize-theme-controls .widget-area-select li{padding:9px 42px 11px 15px}#customize-theme-controls .widget-area-select li:before{top:8px}}@media screen and (max-width:640px){body.adding-widget div#available-widgets{top:46px;right:0;z-index:10;width:100%}#available-widgets-filter{position:static;width:100%;height:auto}}
\ No newline at end of file
index 20a8a6987c3d7666af7b2d90f203aa4f2afddb00..ba95022d7d3c6742e380f7fd3a7c405af6e70c5e 100644 (file)
        opacity: 0.5;
 }
 
-.customize-control-widget_form .widget-control-save,
-.customize-control-widget_form .spinner {
+.customize-control-widget_form .widget-control-save {
        display: none;
 }
 
+.customize-control-widget_form .spinner {
+       visibility: hidden;
+       margin-top: 0;
+}
+
 .customize-control-widget_form.previewer-loading .spinner {
-       display: inline;
+       visibility: visible;
 }
 
 .customize-control-widget_form.widget-form-disabled .widget-content {
        display: block;
        width: 33px; /* was 42px for mobile */
        height: 43px;
-       color: #888;
+       color: #82878c;
        text-indent: -9999px;
        cursor: pointer;
        outline: none;
 #customize-theme-controls .widget-area-select .selected {
        color: #fff;
        text-shadow: 0 -1px 0 rgba(0,0,0,.4);
-       background: #2ea2cc;
+       background: #00a0d2;
 }
 
 #customize-theme-controls .widget-area-select .selected:before {
@@ -315,7 +319,7 @@ body.adding-widget .add-new-widget,
 body.adding-widget .add-new-widget:hover {
        background: #eee;
        border-color: #999;
-       color: #333;
+       color: #32373c;
        -webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
        box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
 }
@@ -344,14 +348,28 @@ body.adding-widget .add-new-widget:before {
        width: 300px;
        margin: 0;
        z-index: 1;
-       background: #fff;
+       background: #fff !important;
        -webkit-transition: all 0.2s;
        transition: all 0.2s;
        border-right: 1px solid #dddddd;
 }
 
+#available-widgets-list {
+       top: 46px;
+       position: absolute;
+       overflow: auto;
+       bottom: 0;
+       width: 100%;
+}
+
 #available-widgets-filter {
+       position: fixed;
+       top: 0;
+       z-index: 1;
+       width: 300px;
+       height: 46px;
        padding: 8px 17px 7px 13px;
+       background: #eee;
        border-bottom: 1px solid #e4e4e4;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
@@ -429,7 +447,7 @@ body.adding-widget #customize-preview {
        margin-right: 20px;
        width: 20px;
        height: 20px;
-       color: #333;
+       color: #32373c;
        font: normal 20px/1 'dashicons';
        text-align: center;
        -webkit-box-sizing: border-box;
@@ -601,3 +619,18 @@ body.adding-widget #customize-preview {
                top: 8px;
        }
 }
+
+@media screen and ( max-width: 640px ) {
+       body.adding-widget div#available-widgets {
+               top: 46px;
+               left: 0;
+               z-index: 10;
+               width: 100%;
+       }
+
+       #available-widgets-filter {
+               position: static;
+               width: 100%;
+               height: auto;
+       }
+}
index d3bafd1401c95e48cc3f729fea1b58be55df81c3..dd2a6a203841d48c824b42e84b68b18f72cdb390 100644 (file)
@@ -1 +1 @@
-.wp-full-overlay-sidebar{overflow:visible}.control-section.control-section-sidebar,.customize-control-sidebar_widgets .hide-if-js,.customize-control-sidebar_widgets label{display:none}.customize-control-widget_form .widget-top{-webkit-transition:opacity .5s;transition:opacity .5s}.customize-control-widget_form:not(.widget-rendered) .widget-top{opacity:.5}.customize-control-widget_form .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:none;line-height:16px}.widget-top{cursor:move}.customize-control-widget_form.expanded a.widget-action:after{content:"\f142"}.customize-control-widget_form.wide-widget-control a.widget-action:after{content:"\f139"}.customize-control-widget_form.wide-widget-control.expanded a.widget-action:after{content:"\f141"}.widget-title-action{cursor:pointer}.customize-control-widget_form .widget .customize-control-title{cursor:move}.control-section.accordion-section.highlighted>.accordion-section-title,.customize-control-widget_form.highlighted{outline:0;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8);position:relative;z-index:1}#widget-customizer-control-templates{display:none}.reorder-toggle{float:right;padding:5px 8px;text-decoration:none;cursor:pointer;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-toggle:focus{outline:dotted 1px}.reorder-done,.reordering .reorder{display:none}.reordering .reorder-done{display:block;color:#a00}#customize-theme-controls .reordering .add-new-widget{opacity:.2;pointer-events:none;cursor:not-allowed}#customize-theme-controls .widget-reorder-nav{display:none;float:right;background-color:#fafafa}.widget-reorder-nav span{position:relative;overflow:hidden;float:left;display:block;width:33px;height:43px;color:#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:none;cursor:auto}#customize-theme-controls .reordering .move-widget-area.active{display:block}#customize-theme-controls .move-widget-area .description{margin:0;padding:15px 20px;font-weight:400}#customize-theme-controls .widget-area-select{margin:0;padding:0;list-style:none}#customize-theme-controls .widget-area-select li{position:relative;margin:0;padding:13px 15px 15px 42px;color:#555;border-top:1px solid #eee;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#customize-theme-controls .widget-area-select li:before{display:none;content:'\f147';position:absolute;top:12px;left:10px;font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#customize-theme-controls .widget-area-select li:last-child{border-bottom:1px solid #eee}#customize-theme-controls .widget-area-select .selected{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.4);background:#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:none;background:0 0;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-title h4{padding:0 0 5px;font-size:14px}#available-widgets .widget .widget-description{padding:0;color:#777}#customize-preview{-webkit-transition:all .2s;transition:all .2s}body.adding-widget #available-widgets{left:0}body.adding-widget .wp-full-overlay-main{left:300px}body.adding-widget #customize-preview{opacity:.4}#available-widgets .widget-title{position:relative}#available-widgets .widget-title:before{content:"\f132";position:absolute;top:-3px;right:100%;margin-right:20px;width:20px;height:20px;color:#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
+.wp-full-overlay-sidebar{overflow:visible}.control-section.control-section-sidebar,.customize-control-sidebar_widgets .hide-if-js,.customize-control-sidebar_widgets label{display:none}.customize-control-widget_form .widget-top{-webkit-transition:opacity .5s;transition:opacity .5s}.customize-control-widget_form:not(.widget-rendered) .widget-top{opacity:.5}.customize-control-widget_form .widget-control-save{display:none}.customize-control-widget_form .spinner{visibility:hidden;margin-top:0}.customize-control-widget_form.previewer-loading .spinner{visibility:visible}.customize-control-widget_form.widget-form-disabled .widget-content{opacity:.7;pointer-events:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.customize-control-widget_form .widget{margin-bottom:0}.customize-control-widget_form.wide-widget-control .widget-inside{position:fixed;left:299px;top:25%;border:1px solid #e5e5e5;overflow:auto}.customize-control-widget_form.wide-widget-control .widget-inside>.form{padding:20px}.customize-control-widget_form.wide-widget-control .widget-top{-webkit-transition:background-color .4s;transition:background-color .4s}.customize-control-widget_form.wide-widget-control.expanded:not(.collapsing) .widget-top,.customize-control-widget_form.wide-widget-control.expanding .widget-top{background-color:#e3e3e3}.widget-inside{padding:1px 10px 10px;border-top:none;line-height:16px}.widget-top{cursor:move}.customize-control-widget_form.expanded a.widget-action:after{content:"\f142"}.customize-control-widget_form.wide-widget-control a.widget-action:after{content:"\f139"}.customize-control-widget_form.wide-widget-control.expanded a.widget-action:after{content:"\f141"}.widget-title-action{cursor:pointer}.customize-control-widget_form .widget .customize-control-title{cursor:move}.control-section.accordion-section.highlighted>.accordion-section-title,.customize-control-widget_form.highlighted{outline:0;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8);position:relative;z-index:1}#widget-customizer-control-templates{display:none}.reorder-toggle{float:right;padding:5px 8px;text-decoration:none;cursor:pointer;outline:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reorder-toggle:focus{outline:dotted 1px}.reorder-done,.reordering .reorder{display:none}.reordering .reorder-done{display:block;color:#a00}#customize-theme-controls .reordering .add-new-widget{opacity:.2;pointer-events:none;cursor:not-allowed}#customize-theme-controls .widget-reorder-nav{display:none;float:right;background-color:#fafafa}.widget-reorder-nav span{position:relative;overflow:hidden;float:left;display:block;width:33px;height:43px;color:#82878c;text-indent:-9999px;cursor:pointer;outline:0}.widget-reorder-nav span:before{display:inline-block;position:absolute;top:0;right:0;width:100%;height:100%;font:400 20px/43px dashicons;text-align:center;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.widget-reorder-nav span:focus,.widget-reorder-nav span:hover{color:#444;background:#eee}.move-widget:before{content:'\f504'}.move-widget-down:before{content:'\f347'}.move-widget-up:before{content:'\f343'}#customize-theme-controls .first-widget .move-widget-up,#customize-theme-controls .last-widget .move-widget-down{color:#d5d5d5;cursor:default}#customize-theme-controls .move-widget-area{display:none;background:#fff;border:1px solid #dedede;border-top:none;cursor:auto}#customize-theme-controls .reordering .move-widget-area.active{display:block}#customize-theme-controls .move-widget-area .description{margin:0;padding:15px 20px;font-weight:400}#customize-theme-controls .widget-area-select{margin:0;padding:0;list-style:none}#customize-theme-controls .widget-area-select li{position:relative;margin:0;padding:13px 15px 15px 42px;color:#555;border-top:1px solid #eee;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#customize-theme-controls .widget-area-select li:before{display:none;content:'\f147';position:absolute;top:12px;left:10px;font:400 20px/1 dashicons;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#customize-theme-controls .widget-area-select li:last-child{border-bottom:1px solid #eee}#customize-theme-controls .widget-area-select .selected{color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.4);background:#00a0d2}#customize-theme-controls .widget-area-select .selected:before{display:block}#customize-theme-controls .move-widget-actions{text-align:right;padding:12px}#customize-theme-controls .reordering .widget-title-action{display:none}#customize-theme-controls .reordering .widget-reorder-nav{display:block}.wp-full-overlay-main{right:auto;width:100%}#customize-theme-controls .add-new-widget{cursor:pointer;float:right;margin-left:10px;-webkit-transition:all .2s;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0}.add-new-widget:before{content:"\f132";display:inline-block;position:relative;left:-2px;top:-1px;font:400 20px/1 dashicons;vertical-align:middle;-webkit-transition:all .2s;transition:all .2s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.adding-widget .add-new-widget,body.adding-widget .add-new-widget:hover{background:#eee;border-color:#999;color:#32373c;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}body.adding-widget .add-new-widget:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}#available-widgets .widget{position:static}#widgets-left #available-widgets .widget{float:none!important;width:auto!important}#available-widgets{position:absolute;overflow:auto;top:0;bottom:0;left:-301px;width:300px;margin:0;z-index:1;background:#fff!important;-webkit-transition:all .2s;transition:all .2s;border-right:1px solid #ddd}#available-widgets-list{top:46px;position:absolute;overflow:auto;bottom:0;width:100%}#available-widgets-filter{position:fixed;top:0;z-index:1;width:300px;height:46px;padding:8px 17px 7px 13px;background:#eee;border-bottom:1px solid #e4e4e4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#available-widgets-filter input{padding:5px 10px 2px;width:100%}#available-widgets .widget-tpl{position:relative;padding:20px 15px 20px 60px;border-bottom:1px solid #e4e4e4;cursor:pointer;display:none}#available-widgets .widget-tpl.selected,#available-widgets .widget-tpl:hover{background:#fafafa}#available-widgets .widget-top,#available-widgets .widget-top:hover{border:none;background:0 0;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-title h4{padding:0 0 5px;font-size:14px}#available-widgets .widget .widget-description{padding:0;color:#777}#customize-preview{-webkit-transition:all .2s;transition:all .2s}body.adding-widget #available-widgets{left:0}body.adding-widget .wp-full-overlay-main{left:300px}body.adding-widget #customize-preview{opacity:.4}#available-widgets .widget-title{position:relative}#available-widgets .widget-title:before{content:"\f132";position:absolute;top:-3px;right:100%;margin-right:20px;width:20px;height:20px;color:#32373c;font:400 20px/1 dashicons;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#available-widgets [class*=easy] .widget-title:before{content:"\f328";top:-4px}#available-widgets [class*=like] .widget-title:before,#available-widgets [class*=super] .widget-title:before{content:"\f155";top:-4px}#available-widgets [class*=meta] .widget-title:before{content:"\f120"}#available-widgets [class*=archives] .widget-title:before{content:"\f480";top:-4px}#available-widgets [class*=categor] .widget-title:before{content:"\f318";top:-4px}#available-widgets [class*=chat] .widget-title:before,#available-widgets [class*=comment] .widget-title:before,#available-widgets [class*=testimonial] .widget-title:before{content:"\f101"}#available-widgets [class*=post] .widget-title:before{content:"\f109"}#available-widgets [class*=page] .widget-title:before{content:"\f105"}#available-widgets [class*=text] .widget-title:before{content:"\f478"}#available-widgets [class*=link] .widget-title:before{content:"\f103"}#available-widgets [class*=search] .widget-title:before{content:"\f179"}#available-widgets [class*=menu] .widget-title:before,#available-widgets [class*=nav] .widget-title:before{content:"\f333"}#available-widgets [class*=tag] .widget-title:before{content:"\f479"}#available-widgets [class*=rss] .widget-title:before{content:"\f303";top:-6px}#available-widgets [class*=calendar] .widget-title:before,#available-widgets [class*=event] .widget-title:before{content:"\f145";top:-4px}#available-widgets [class*=image] .widget-title:before,#available-widgets [class*=instagram] .widget-title:before,#available-widgets [class*=photo] .widget-title:before,#available-widgets [class*=slide] .widget-title:before{content:"\f128"}#available-widgets [class*=album] .widget-title:before,#available-widgets [class*=galler] .widget-title:before{content:"\f161"}#available-widgets [class*=tube] .widget-title:before,#available-widgets [class*=video] .widget-title:before{content:"\f126"}#available-widgets [class*=audio] .widget-title:before,#available-widgets [class*=music] .widget-title:before,#available-widgets [class*=radio] .widget-title:before{content:"\f127"}#available-widgets [class*=avatar] .widget-title:before,#available-widgets [class*=grofile] .widget-title:before,#available-widgets [class*=login] .widget-title:before,#available-widgets [class*=member] .widget-title:before,#available-widgets [class*=profile] .widget-title:before,#available-widgets [class*=subscriber] .widget-title:before,#available-widgets [class*=user] .widget-title:before{content:"\f110"}#available-widgets [class*=cart] .widget-title:before,#available-widgets [class*=commerce] .widget-title:before,#available-widgets [class*=shop] .widget-title:before{content:"\f174";top:-4px}#available-widgets [class*=firewall] .widget-title:before,#available-widgets [class*=secur] .widget-title:before{content:"\f332"}#available-widgets [class*=analytic] .widget-title:before,#available-widgets [class*=poll] .widget-title:before,#available-widgets [class*=stat] .widget-title:before{content:"\f185"}#available-widgets [class*=form] .widget-title:before{content:"\f175"}#available-widgets [class*=contact] .widget-title:before,#available-widgets [class*=mail] .widget-title:before,#available-widgets [class*=news] .widget-title:before,#available-widgets [class*=subscribe] .widget-title:before{content:"\f466"}#available-widgets [class*=share] .widget-title:before,#available-widgets [class*=socia] .widget-title:before{content:"\f237"}#available-widgets [class*=lang] .widget-title:before,#available-widgets [class*=translat] .widget-title:before{content:"\f326"}#available-widgets [class*=locat] .widget-title:before,#available-widgets [class*=map] .widget-title:before{content:"\f231"}#available-widgets [class*=download] .widget-title:before{content:"\f316"}#available-widgets [class*=weather] .widget-title:before{content:"\f176";top:-4px}#available-widgets [class*=facebook] .widget-title:before{content:"\f304"}#available-widgets [class*=tweet] .widget-title:before,#available-widgets [class*=twitter] .widget-title:before{content:"\f301"}@media screen and (max-height:700px) and (min-width:981px){.customize-control{margin-bottom:0}.widget-top{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px}.widget-top:hover{position:relative;z-index:1}.last-widget{margin-bottom:15px}.widget-title h4{padding:13px 15px}.widget-top a.widget-action:after{padding-top:9px}.widget-reorder-nav span{height:39px}.widget-reorder-nav span:before{line-height:39px}#customize-theme-controls .widget-area-select li{padding:9px 15px 11px 42px}#customize-theme-controls .widget-area-select li:before{top:8px}}@media screen and (max-width:640px){body.adding-widget div#available-widgets{top:46px;left:0;z-index:10;width:100%}#available-widgets-filter{position:static;width:100%;height:auto}}
\ No newline at end of file
index 286d0cce302f42f2f98ee70466ebf14b369313a0..37d8156aabfd57606411d52f1265e4948bcf0b09 100644 (file)
 }
 
 .welcome-panel .welcome-icon:before {
-       color: #888;
+       color: #82878c;
        font: normal 20px/1 'dashicons';
        speak: none;
        display: inline-block;
@@ -352,10 +352,10 @@ body #dashboard-widgets .postbox form .submit {
 }
 
 #dashboard_right_now #wp-version-message .button {
-       clear: left;
        float: left;
        position: relative;
        top: -5px;
+       margin-right: 5px;
 }
 
 .mu-storage {
@@ -370,7 +370,7 @@ body #dashboard-widgets .postbox form .submit {
 
 #dashboard_right_now li a:before,
 #dashboard_right_now li span:before {
-       color: #888;
+       color: #82878c;
 }
 
 #dashboard_right_now .sub {
@@ -694,18 +694,13 @@ form.initial-form.quickpress-open input#title {
        margin-right: 12px;
 }
 
-#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 {
+#activity-widget #the-comment-list .avatar {
        position: absolute;
        top: 13px;
 }
@@ -805,7 +800,7 @@ h3:hover .edit-box {
 }
 
 #dashboard-widgets h4 {
-       color: #222;
+       color: #23282d;
        font-weight: normal;
        font-size: 14px;
        margin: 0 0 .2em;
index fbf079506a2c6999cc6aa43b45a0f460ddd8b4d4..ac227ad8888dc67b579f257a9d13bd7e49d7a0c9 100644 (file)
 }
 
 .welcome-panel .welcome-icon:before {
-       color: #888;
+       color: #82878c;
        font: normal 20px/1 'dashicons';
        speak: none;
        display: inline-block;
@@ -352,10 +352,10 @@ body #dashboard-widgets .postbox form .submit {
 }
 
 #dashboard_right_now #wp-version-message .button {
-       clear: right;
        float: right;
        position: relative;
        top: -5px;
+       margin-left: 5px;
 }
 
 .mu-storage {
@@ -370,7 +370,7 @@ body #dashboard-widgets .postbox form .submit {
 
 #dashboard_right_now li a:before,
 #dashboard_right_now li span:before {
-       color: #888;
+       color: #82878c;
 }
 
 #dashboard_right_now .sub {
@@ -694,18 +694,13 @@ form.initial-form.quickpress-open input#title {
        margin-left: 12px;
 }
 
-#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 {
+#activity-widget #the-comment-list .avatar {
        position: absolute;
        top: 13px;
 }
@@ -805,7 +800,7 @@ h3:hover .edit-box {
 }
 
 #dashboard-widgets h4 {
-       color: #222;
+       color: #23282d;
        font-weight: normal;
        font-size: 14px;
        margin: 0 0 .2em;
index ed90138d3f60733e2cd3169164f92989c6d662f1..ddf4edd080648c29a58e47e3c3946cc5b7f9ff92 100644 (file)
@@ -9,13 +9,50 @@ div#media-upload-header {
        background: #f9f9f9;
 }
 
-body#media-upload ul#sidemenu {
-       font-weight: normal;
-       margin: 0 5px;
+#sidemenu {
+       overflow: hidden;
+       float: none;
+       position: relative;
        right: 0;
        bottom: -1px;
-       float: none;
-       overflow: hidden;
+       margin: 0 5px;
+       padding-right: 10px;
+       list-style: none;
+       font-size: 12px;
+       font-weight: normal;
+}
+
+#sidemenu a {
+       padding: 0 7px;
+       display: block;
+       float: right;
+       line-height: 28px;
+       border-top: 1px solid #f9f9f9;
+       border-bottom: 1px solid #dfdfdf;
+       background-color: #f9f9f9;
+       text-decoration: none;
+       -webkit-transition: none;
+       transition: none;
+}
+
+#sidemenu li {
+       display: inline;
+       line-height: 200%;
+       list-style: none;
+       text-align: center;
+       white-space: nowrap;
+       margin: 0;
+       padding: 0;
+}
+
+#sidemenu a.current {
+       font-weight: normal;
+       padding-right: 6px;
+       padding-left: 6px;
+       border: 1px solid #dfdfdf;
+       border-bottom-color: #f1f1f1;
+       background-color: #f1f1f1;
+       color: #000;
 }
 
 #media-upload:after { /* clearfix */
@@ -66,19 +103,19 @@ th {
 /* specific to the image upload form */
 
 .image-align-none-label {
-       background: url(../images/align-none.png) no-repeat center right;
+       background: url(../images/align-none.png) no-repeat center left;
 }
 
 .image-align-left-label {
-       background: url(../images/align-left.png) no-repeat center right;
+       background: url(../images/align-left.png) no-repeat center left;
 }
 
 .image-align-center-label {
-       background: url(../images/align-center.png) no-repeat center right;
+       background: url(../images/align-center.png) no-repeat center left;
 }
 
 .image-align-right-label {
-       background: url(../images/align-right.png) no-repeat center right;
+       background: url(../images/align-right.png) no-repeat center left;
 }
 
 tr.image-size td {
@@ -192,7 +229,7 @@ abbr.required {
 
 .ui-sortable-helper {
        background-color: #fff;
-       border: 1px solid #aaa;
+       border: 1px solid #a0a5aa;
        opacity: 0.6;
        filter: alpha(opacity=60);
 }
@@ -341,7 +378,6 @@ table.not-image tr.image-only {
  * HiDPI Displays
  */
 @media print,
-  (-o-min-device-pixel-ratio: 5/4),
   (-webkit-min-device-pixel-ratio: 1.25),
   (min-resolution: 120dpi) {
 
index 695a09fc6b6db518c8b247f6eeda9770356374ef..b030b8ff02c41e2f3697dde08ded426a0fbb8cb6 100644 (file)
@@ -1 +1 @@
-div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:700;position:relative;border-bottom:1px solid #dfdfdf;background:#f9f9f9}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 .slidetoggle{border-top-color:#dfdfdf}#media-upload input[type=radio]{padding:0}form{margin:1em}#search-filter{text-align:left}th{position:relative}.media-upload-form label.form-help,td.help{font-family:sans-serif;font-style:italic;font-weight:400}.media-upload-form p.help{margin:0;padding:0}.media-upload-form fieldset{width:100%;border:none;text-align:justify;margin:0 0 1em;padding:0}.image-align-none-label{background:url(../images/align-none.png) center right no-repeat}.image-align-left-label{background:url(../images/align-left.png) center right no-repeat}.image-align-center-label{background:url(../images/align-center.png) center right no-repeat}.image-align-right-label{background:url(../images/align-right.png) center right no-repeat}tr.image-size td{width:460px}tr.image-size div.image-size-item{margin:0 0 5px}#gallery-form .progress,#library-form .progress,.describe.startclosed,.describe.startopen,.insert-gallery{display:none}.media-item .thumbnail{max-width:128px;max-height:128px}thead.media-item-info tr{background-color:transparent}.form-table thead.media-item-info{border:8px solid #fff}abbr.required{text-decoration:none;border:none}.describe label{display:inline}.describe td.error{padding:2px 8px}.describe td.A1{width:132px}.describe input[type=text],.describe textarea{width:460px;border-width:1px;border-style:solid}#media-upload p.ml-submit{padding:1em 0}#media-upload label.help,#media-upload p.help{font-family:sans-serif;font-style:italic;font-weight:400}#media-upload .ui-sortable .media-item{cursor:move}#media-upload tr.image-size{margin-bottom:1em;height:3em}#media-upload #filter{width:623px}#media-upload #filter .subsubsub{margin:8px 0}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto}#media-upload .del-attachment{display:none;margin:5px 0}.menu_order{float:left;font-size:11px;margin:8px 10px 0}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px}.ui-sortable-helper{background-color:#fff;border:1px solid #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{border-style:solid solid none}.sorthelper{height:37px;width:623px;display:block}#gallery-settings th.label{width:160px}#gallery-settings #basic th.label{padding:5px 0 5px 5px}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA}h3.media-title{font-size:1.6em}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:400;color:#5A5A5A}#gallery-settings .describe td{vertical-align:middle;height:3em}#gallery-settings .describe th.label{padding-top:.5em;text-align:right}#gallery-settings .describe{padding:5px;width:100%;clear:both;cursor:default;background:#fff}#gallery-settings .describe select{width:15em}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-left:15px}#gallery-settings .align .field label{margin:0 3px 0 1em}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf}#gallery-settings select#columns{width:6em}#sort-buttons{font-size:.8em;margin:3px 0 -8px 25px;text-align:left;max-width:625px}#sort-buttons a{text-decoration:none}#sort-buttons #asc,#sort-buttons #showall{padding-right:5px}#sort-buttons span{margin-left:25px}p.media-types{padding:1em}tr.not-image{display:none}table.not-image tr.not-image{display:table-row}table.not-image tr.image-only{display:none}@media print,(-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
+div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:700;position:relative;border-bottom:1px solid #dfdfdf;background:#f9f9f9}#sidemenu{overflow:hidden;float:none;position:relative;right:0;bottom:-1px;margin:0 5px;padding-right:10px;list-style:none;font-size:12px;font-weight:400}#sidemenu a{padding:0 7px;display:block;float:right;line-height:28px;border-top:1px solid #f9f9f9;border-bottom:1px solid #dfdfdf;background-color:#f9f9f9;text-decoration:none;-webkit-transition:none;transition:none}#sidemenu li{display:inline;line-height:200%;list-style:none;text-align:center;white-space:nowrap;margin:0;padding:0}#sidemenu a.current{font-weight:400;padding-right:6px;padding-left:6px;border:1px solid #dfdfdf;border-bottom-color:#f1f1f1;background-color:#f1f1f1;color:#000}#media-upload:after{content:"";display:table;clear:both}#media-upload .slidetoggle{border-top-color:#dfdfdf}#media-upload input[type=radio]{padding:0}form{margin:1em}#search-filter{text-align:left}th{position:relative}.media-upload-form label.form-help,td.help{font-family:sans-serif;font-style:italic;font-weight:400}.media-upload-form p.help{margin:0;padding:0}.media-upload-form fieldset{width:100%;border:none;text-align:justify;margin:0 0 1em;padding:0}.image-align-none-label{background:url(../images/align-none.png) center left no-repeat}.image-align-left-label{background:url(../images/align-left.png) center left no-repeat}.image-align-center-label{background:url(../images/align-center.png) center left no-repeat}.image-align-right-label{background:url(../images/align-right.png) center left no-repeat}tr.image-size td{width:460px}tr.image-size div.image-size-item{margin:0 0 5px}#gallery-form .progress,#library-form .progress,.describe.startclosed,.describe.startopen,.insert-gallery{display:none}.media-item .thumbnail{max-width:128px;max-height:128px}thead.media-item-info tr{background-color:transparent}.form-table thead.media-item-info{border:8px solid #fff}abbr.required{text-decoration:none;border:none}.describe label{display:inline}.describe td.error{padding:2px 8px}.describe td.A1{width:132px}.describe input[type=text],.describe textarea{width:460px;border-width:1px;border-style:solid}#media-upload p.ml-submit{padding:1em 0}#media-upload label.help,#media-upload p.help{font-family:sans-serif;font-style:italic;font-weight:400}#media-upload .ui-sortable .media-item{cursor:move}#media-upload tr.image-size{margin-bottom:1em;height:3em}#media-upload #filter{width:623px}#media-upload #filter .subsubsub{margin:8px 0}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto}#media-upload .del-attachment{display:none;margin:5px 0}.menu_order{float:left;font-size:11px;margin:8px 10px 0}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px}.ui-sortable-helper{background-color:#fff;border:1px solid #a0a5aa;opacity:.6;filter:alpha(opacity=60)}#media-upload th.order-head{width:20%;text-align:center}#media-upload th.actions-head{width:25%;text-align:center}#media-upload a.wp-post-thumbnail{margin:0 20px}#media-upload .widefat{border-style:solid solid none}.sorthelper{height:37px;width:623px;display:block}#gallery-settings th.label{width:160px}#gallery-settings #basic th.label{padding:5px 0 5px 5px}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA}h3.media-title{font-size:1.6em}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:400;color:#5A5A5A}#gallery-settings .describe td{vertical-align:middle;height:3em}#gallery-settings .describe th.label{padding-top:.5em;text-align:right}#gallery-settings .describe{padding:5px;width:100%;clear:both;cursor:default;background:#fff}#gallery-settings .describe select{width:15em}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-left:15px}#gallery-settings .align .field label{margin:0 3px 0 1em}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf}#gallery-settings select#columns{width:6em}#sort-buttons{font-size:.8em;margin:3px 0 -8px 25px;text-align:left;max-width:625px}#sort-buttons a{text-decoration:none}#sort-buttons #asc,#sort-buttons #showall{padding-right:5px}#sort-buttons span{margin-left:25px}p.media-types{padding:1em}tr.not-image{display:none}table.not-image tr.not-image{display:table-row}table.not-image tr.image-only{display:none}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.image-align-none-label{background-image:url(../images/align-none-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-left-label{background-image:url(../images/align-left-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}.image-align-center-label{background-image:url(../images/align-center-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-right-label{background-image:url(../images/align-right-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}}
\ No newline at end of file
index ee7c08fe3133317607cb90977a21d67374f23c80..833512de17fecb8383b0ad3057894b5d65afb58d 100644 (file)
@@ -9,13 +9,50 @@ div#media-upload-header {
        background: #f9f9f9;
 }
 
-body#media-upload ul#sidemenu {
-       font-weight: normal;
-       margin: 0 5px;
+#sidemenu {
+       overflow: hidden;
+       float: none;
+       position: relative;
        left: 0;
        bottom: -1px;
-       float: none;
-       overflow: hidden;
+       margin: 0 5px;
+       padding-left: 10px;
+       list-style: none;
+       font-size: 12px;
+       font-weight: normal;
+}
+
+#sidemenu a {
+       padding: 0 7px;
+       display: block;
+       float: left;
+       line-height: 28px;
+       border-top: 1px solid #f9f9f9;
+       border-bottom: 1px solid #dfdfdf;
+       background-color: #f9f9f9;
+       text-decoration: none;
+       -webkit-transition: none;
+       transition: none;
+}
+
+#sidemenu li {
+       display: inline;
+       line-height: 200%;
+       list-style: none;
+       text-align: center;
+       white-space: nowrap;
+       margin: 0;
+       padding: 0;
+}
+
+#sidemenu a.current {
+       font-weight: normal;
+       padding-left: 6px;
+       padding-right: 6px;
+       border: 1px solid #dfdfdf;
+       border-bottom-color: #f1f1f1;
+       background-color: #f1f1f1;
+       color: #000;
 }
 
 #media-upload:after { /* clearfix */
@@ -192,7 +229,7 @@ abbr.required {
 
 .ui-sortable-helper {
        background-color: #fff;
-       border: 1px solid #aaa;
+       border: 1px solid #a0a5aa;
        opacity: 0.6;
        filter: alpha(opacity=60);
 }
@@ -341,7 +378,6 @@ table.not-image tr.image-only {
  * HiDPI Displays
  */
 @media print,
-  (-o-min-device-pixel-ratio: 5/4),
   (-webkit-min-device-pixel-ratio: 1.25),
   (min-resolution: 120dpi) {
 
index 556a70e8778862474154b6569b18a09f4eac0d8c..a996debd1c540a41ba19062f2ba1329319b63c6a 100644 (file)
@@ -1 +1 @@
-div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:700;position:relative;border-bottom:1px solid #dfdfdf;background:#f9f9f9}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 .slidetoggle{border-top-color:#dfdfdf}#media-upload input[type=radio]{padding:0}form{margin:1em}#search-filter{text-align:right}th{position:relative}.media-upload-form label.form-help,td.help{font-family:sans-serif;font-style:italic;font-weight:400}.media-upload-form p.help{margin:0;padding:0}.media-upload-form fieldset{width:100%;border:none;text-align:justify;margin:0 0 1em;padding:0}.image-align-none-label{background:url(../images/align-none.png) center left no-repeat}.image-align-left-label{background:url(../images/align-left.png) center left no-repeat}.image-align-center-label{background:url(../images/align-center.png) center left no-repeat}.image-align-right-label{background:url(../images/align-right.png) center left no-repeat}tr.image-size td{width:460px}tr.image-size div.image-size-item{margin:0 0 5px}#gallery-form .progress,#library-form .progress,.describe.startclosed,.describe.startopen,.insert-gallery{display:none}.media-item .thumbnail{max-width:128px;max-height:128px}thead.media-item-info tr{background-color:transparent}.form-table thead.media-item-info{border:8px solid #fff}abbr.required{text-decoration:none;border:none}.describe label{display:inline}.describe td.error{padding:2px 8px}.describe td.A1{width:132px}.describe input[type=text],.describe textarea{width:460px;border-width:1px;border-style:solid}#media-upload p.ml-submit{padding:1em 0}#media-upload label.help,#media-upload p.help{font-family:sans-serif;font-style:italic;font-weight:400}#media-upload .ui-sortable .media-item{cursor:move}#media-upload tr.image-size{margin-bottom:1em;height:3em}#media-upload #filter{width:623px}#media-upload #filter .subsubsub{margin:8px 0}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto}#media-upload .del-attachment{display:none;margin:5px 0}.menu_order{float:right;font-size:11px;margin:8px 10px 0}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px}.ui-sortable-helper{background-color:#fff;border:1px solid #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{border-style:solid solid none}.sorthelper{height:37px;width:623px;display:block}#gallery-settings th.label{width:160px}#gallery-settings #basic th.label{padding:5px 5px 5px 0}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA}h3.media-title{font-size:1.6em}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:400;color:#5A5A5A}#gallery-settings .describe td{vertical-align:middle;height:3em}#gallery-settings .describe th.label{padding-top:.5em;text-align:left}#gallery-settings .describe{padding:5px;width:100%;clear:both;cursor:default;background:#fff}#gallery-settings .describe select{width:15em}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-right:15px}#gallery-settings .align .field label{margin:0 1em 0 3px}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf}#gallery-settings select#columns{width:6em}#sort-buttons{font-size:.8em;margin:3px 25px -8px 0;text-align:right;max-width:625px}#sort-buttons a{text-decoration:none}#sort-buttons #asc,#sort-buttons #showall{padding-left:5px}#sort-buttons span{margin-right:25px}p.media-types{padding:1em}tr.not-image{display:none}table.not-image tr.not-image{display:table-row}table.not-image tr.image-only{display:none}@media print,(-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
+div#media-upload-header{margin:0;padding:5px 5px 0;font-weight:700;position:relative;border-bottom:1px solid #dfdfdf;background:#f9f9f9}#sidemenu{overflow:hidden;float:none;position:relative;left:0;bottom:-1px;margin:0 5px;padding-left:10px;list-style:none;font-size:12px;font-weight:400}#sidemenu a{padding:0 7px;display:block;float:left;line-height:28px;border-top:1px solid #f9f9f9;border-bottom:1px solid #dfdfdf;background-color:#f9f9f9;text-decoration:none;-webkit-transition:none;transition:none}#sidemenu li{display:inline;line-height:200%;list-style:none;text-align:center;white-space:nowrap;margin:0;padding:0}#sidemenu a.current{font-weight:400;padding-left:6px;padding-right:6px;border:1px solid #dfdfdf;border-bottom-color:#f1f1f1;background-color:#f1f1f1;color:#000}#media-upload:after{content:"";display:table;clear:both}#media-upload .slidetoggle{border-top-color:#dfdfdf}#media-upload input[type=radio]{padding:0}form{margin:1em}#search-filter{text-align:right}th{position:relative}.media-upload-form label.form-help,td.help{font-family:sans-serif;font-style:italic;font-weight:400}.media-upload-form p.help{margin:0;padding:0}.media-upload-form fieldset{width:100%;border:none;text-align:justify;margin:0 0 1em;padding:0}.image-align-none-label{background:url(../images/align-none.png) center left no-repeat}.image-align-left-label{background:url(../images/align-left.png) center left no-repeat}.image-align-center-label{background:url(../images/align-center.png) center left no-repeat}.image-align-right-label{background:url(../images/align-right.png) center left no-repeat}tr.image-size td{width:460px}tr.image-size div.image-size-item{margin:0 0 5px}#gallery-form .progress,#library-form .progress,.describe.startclosed,.describe.startopen,.insert-gallery{display:none}.media-item .thumbnail{max-width:128px;max-height:128px}thead.media-item-info tr{background-color:transparent}.form-table thead.media-item-info{border:8px solid #fff}abbr.required{text-decoration:none;border:none}.describe label{display:inline}.describe td.error{padding:2px 8px}.describe td.A1{width:132px}.describe input[type=text],.describe textarea{width:460px;border-width:1px;border-style:solid}#media-upload p.ml-submit{padding:1em 0}#media-upload label.help,#media-upload p.help{font-family:sans-serif;font-style:italic;font-weight:400}#media-upload .ui-sortable .media-item{cursor:move}#media-upload tr.image-size{margin-bottom:1em;height:3em}#media-upload #filter{width:623px}#media-upload #filter .subsubsub{margin:8px 0}#filter .tablenav select{border-style:solid;border-width:1px;padding:2px;vertical-align:top;width:auto}#media-upload .del-attachment{display:none;margin:5px 0}.menu_order{float:right;font-size:11px;margin:8px 10px 0}.menu_order_input{border:1px solid #ddd;font-size:10px;padding:1px;width:23px}.ui-sortable-helper{background-color:#fff;border:1px solid #a0a5aa;opacity:.6;filter:alpha(opacity=60)}#media-upload th.order-head{width:20%;text-align:center}#media-upload th.actions-head{width:25%;text-align:center}#media-upload a.wp-post-thumbnail{margin:0 20px}#media-upload .widefat{border-style:solid solid none}.sorthelper{height:37px;width:623px;display:block}#gallery-settings th.label{width:160px}#gallery-settings #basic th.label{padding:5px 5px 5px 0}#gallery-settings .title{clear:both;padding:0 0 3px;font-size:1.6em;border-bottom:1px solid #DADADA}h3.media-title{font-size:1.6em}h4.media-sub-title{border-bottom:1px solid #DADADA;font-size:1.3em;margin:12px;padding:0 0 3px}#gallery-settings .title,h3.media-title,h4.media-sub-title{font-family:Georgia,"Times New Roman",Times,serif;font-weight:400;color:#5A5A5A}#gallery-settings .describe td{vertical-align:middle;height:3em}#gallery-settings .describe th.label{padding-top:.5em;text-align:left}#gallery-settings .describe{padding:5px;width:100%;clear:both;cursor:default;background:#fff}#gallery-settings .describe select{width:15em}#gallery-settings .describe select option,#gallery-settings .describe td{padding:0}#gallery-settings label,#gallery-settings legend{font-size:13px;color:#464646;margin-right:15px}#gallery-settings .align .field label{margin:0 1em 0 3px}#gallery-settings p.ml-submit{border-top:1px solid #dfdfdf}#gallery-settings select#columns{width:6em}#sort-buttons{font-size:.8em;margin:3px 25px -8px 0;text-align:right;max-width:625px}#sort-buttons a{text-decoration:none}#sort-buttons #asc,#sort-buttons #showall{padding-left:5px}#sort-buttons span{margin-right:25px}p.media-types{padding:1em}tr.not-image{display:none}table.not-image tr.not-image{display:table-row}table.not-image tr.image-only{display:none}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.image-align-none-label{background-image:url(../images/align-none-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-left-label{background-image:url(../images/align-left-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}.image-align-center-label{background-image:url(../images/align-center-2x.png?ver=20120916);-webkit-background-size:21px 15px;background-size:21px 15px}.image-align-right-label{background-image:url(../images/align-right-2x.png?ver=20120916);-webkit-background-size:22px 15px;background-size:22px 15px}}
\ No newline at end of file
index bbe0fabaa8bbfd6efe5b91c493bae90fc78c7409..1af601fb791603a8f8bdc3ed2e34eec645c3b1ec 100644 (file)
@@ -59,7 +59,7 @@
        height: 1.7em;
        width: 100%;
        outline: none;
-       margin: 0;
+       margin: 0 0 3px;
        background-color: #fff;
 }
 
@@ -88,7 +88,7 @@ input#link_url {
 }
 
 #pending {
-       background: 0 none;
+       background: 100% none;
        border: 0 none;
        padding: 0;
        font-size: 11px;
@@ -227,7 +227,7 @@ ul.category-tabs li,
 .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;
+       color: #32373c;
 }
 
 .category-tabs {
@@ -496,7 +496,7 @@ td.plugin-title p {
 .curtime #timestamp:before,
 #post-body .misc-pub-revisions:before,
 span.wp-media-buttons-icon:before {
-       color: #888;
+       color: #82878c;
 }
 
 #post-body #visibility:before,
@@ -623,8 +623,10 @@ span.wp-media-buttons-icon:before {
        float: right;
        font-size: 13px;
        line-height: 1.8em;
-       white-space: nowrap;
        cursor: default;
+       max-width: 100%;
+       overflow: hidden;
+       text-overflow: ellipsis;
 }
 
 .tagchecklist span a {
@@ -846,7 +848,7 @@ span.wp-media-buttons-icon:before {
 
 a.post-state-format:hover:before,
 a.post-format-icon:hover:before {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 #post-formats-select {
@@ -1061,15 +1063,6 @@ span.description,
   13.0 - Tags
 ------------------------------------------------------------------------------*/
 
-.tagsdiv {
-       margin-top: -8px;
-}
-
-#poststuff .taghint {
-       color: #aaa;
-       margin: 15px 12px -24px 0;
-}
-
 #poststuff .tagsdiv .howto {
        margin: 0 0 6px 0;
 }
@@ -1094,21 +1087,6 @@ span.description,
        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;
@@ -1167,14 +1145,13 @@ p.popular-tags a {
        height: 200px;
 }
 
-.comment-ays {
-       margin-bottom: 0;
-       border-bottom-style: solid;
-       border-bottom-width: 1px;
+.comment-ays th,
+.comment-ays td {
+       padding: 10px 15px;
 }
 
-.comment-ays .alt {
-       background-color: transparent;
+.comment-ays-submit .button-cancel {
+       margin-right: 1em;
 }
 
 .trash-undo-inside,
@@ -1308,17 +1285,8 @@ table.links-table {
        transition-timing-function: ease-in-out;
 }
 
-/* @noflip */
 .focus-on #adminmenuback,
 .focus-on #adminmenuwrap {
-       -webkit-transform: translateX( -100% );
-       -ms-transform: translateX( -100% );
-       transform: translateX( -100% );
-}
-
-/* @noflip */
-.rtl.focus-on #adminmenuback,
-.rtl.focus-on #adminmenuwrap {
        -webkit-transform: translateX( 100% );
        -ms-transform: translateX( 100% );
        transform: translateX( 100% );
@@ -1344,7 +1312,6 @@ table.links-table {
  * HiDPI Displays
  */
 @media print,
-  (-o-min-device-pixel-ratio: 5/4),
   (-webkit-min-device-pixel-ratio: 1.25),
   (min-resolution: 120dpi) {
        #content-resize-handle,
@@ -1593,8 +1560,13 @@ table.links-table {
        }
 
        /* Moderate Comment */
-       .comment-ays {
-               border-bottom: none;
+       .comment-ays th,
+       .comment-ays td {
+               padding-bottom: 0;
+       }
+
+       .comment-ays td {
+               padding-top: 6px;
        }
 
        /* Links */
index e0a05b26be246cf477a4e38ab2dbc5a0ab17446c..55b4184a5724046be793abcedc37c3f5cdc7cd6f 100644 (file)
@@ -59,7 +59,7 @@
        height: 1.7em;
        width: 100%;
        outline: none;
-       margin: 0;
+       margin: 0 0 3px;
        background-color: #fff;
 }
 
@@ -227,7 +227,7 @@ ul.category-tabs li,
 .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;
+       color: #32373c;
 }
 
 .category-tabs {
@@ -496,7 +496,7 @@ td.plugin-title p {
 .curtime #timestamp:before,
 #post-body .misc-pub-revisions:before,
 span.wp-media-buttons-icon:before {
-       color: #888;
+       color: #82878c;
 }
 
 #post-body #visibility:before,
@@ -623,8 +623,10 @@ span.wp-media-buttons-icon:before {
        float: left;
        font-size: 13px;
        line-height: 1.8em;
-       white-space: nowrap;
        cursor: default;
+       max-width: 100%;
+       overflow: hidden;
+       text-overflow: ellipsis;
 }
 
 .tagchecklist span a {
@@ -846,7 +848,7 @@ span.wp-media-buttons-icon:before {
 
 a.post-state-format:hover:before,
 a.post-format-icon:hover:before {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 #post-formats-select {
@@ -1061,15 +1063,6 @@ span.description,
   13.0 - Tags
 ------------------------------------------------------------------------------*/
 
-.tagsdiv {
-       margin-top: -8px;
-}
-
-#poststuff .taghint {
-       color: #aaa;
-       margin: 15px 0 -24px 12px;
-}
-
 #poststuff .tagsdiv .howto {
        margin: 0 0 6px 0;
 }
@@ -1094,21 +1087,6 @@ span.description,
        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;
@@ -1167,14 +1145,13 @@ p.popular-tags a {
        height: 200px;
 }
 
-.comment-ays {
-       margin-bottom: 0;
-       border-bottom-style: solid;
-       border-bottom-width: 1px;
+.comment-ays th,
+.comment-ays td {
+       padding: 10px 15px;
 }
 
-.comment-ays .alt {
-       background-color: transparent;
+.comment-ays-submit .button-cancel {
+       margin-left: 1em;
 }
 
 .trash-undo-inside,
@@ -1308,7 +1285,6 @@ table.links-table {
        transition-timing-function: ease-in-out;
 }
 
-/* @noflip */
 .focus-on #adminmenuback,
 .focus-on #adminmenuwrap {
        -webkit-transform: translateX( -100% );
@@ -1316,14 +1292,6 @@ table.links-table {
        transform: translateX( -100% );
 }
 
-/* @noflip */
-.rtl.focus-on #adminmenuback,
-.rtl.focus-on #adminmenuwrap {
-       -webkit-transform: translateX( 100% );
-       -ms-transform: translateX( 100% );
-       transform: translateX( 100% );
-}
-
 .focus-off #adminmenuback,
 .focus-off #adminmenuwrap {
        -webkit-transform: translateX( 0 );
@@ -1344,7 +1312,6 @@ table.links-table {
  * HiDPI Displays
  */
 @media print,
-  (-o-min-device-pixel-ratio: 5/4),
   (-webkit-min-device-pixel-ratio: 1.25),
   (min-resolution: 120dpi) {
        #content-resize-handle,
@@ -1593,8 +1560,13 @@ table.links-table {
        }
 
        /* Moderate Comment */
-       .comment-ays {
-               border-bottom: none;
+       .comment-ays th,
+       .comment-ays td {
+               padding-bottom: 0;
+       }
+
+       .comment-ays td {
+               padding-top: 6px;
        }
 
        /* Links */
index 48025686fa5447154c13c0d65182acdfeab47fce..bff7886d068a9c5b2d3ea2accf63f757ffe93574 100644 (file)
@@ -30,7 +30,7 @@ textarea {
        -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;
+       color: #32373c;
        outline: none;
        -webkit-transition: 0.05s border-color ease-in-out;
        transition: 0.05s border-color ease-in-out;
@@ -61,7 +61,7 @@ textarea:focus {
        box-shadow: 0 0 2px rgba( 30, 140, 190, 0.8 );
 }
 
-/* @noflip */
+/* rtl:ignore */
 input[type="email"],
 input[type="url"] {
        direction: ltr;
@@ -69,7 +69,7 @@ input[type="url"] {
 
 input[type="checkbox"],
 input[type="radio"] {
-       border: 1px solid #bbb;
+       border: 1px solid #b4b9be;
        background: #fff;
        color: #555;
        clear: none;
@@ -92,12 +92,12 @@ input[type="radio"] {
 }
 
 input[type="radio"]:checked + label:before {
-       color: #888;
+       color: #82878c;
 }
 
 .wp-core-ui input[type="reset"]:hover,
 .wp-core-ui input[type="reset"]:active {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 td > input[type="checkbox"],
@@ -483,20 +483,20 @@ p.search-box {
        margin: 0 0 0 4px;
 }
 
-input[type="text"].ui-autocomplete-loading {
-       background: transparent url(../images/loading.gif) no-repeat left center;
+input[type="text"].ui-autocomplete-loading,
+input[type="email"].ui-autocomplete-loading {
+       background-image: url(../images/loading.gif);
+       background-repeat: no-repeat;
+       background-position: left center;
        visibility: visible;
 }
 
-ul#add-to-blog-users {
-       margin: 0 14px 0 0;
+input.ui-autocomplete-input.open {
+       border-bottom-color: transparent;
 }
 
-.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;
+ul#add-to-blog-users {
+       margin: 0 14px 0 0;
 }
 
 .ui-autocomplete {
@@ -505,28 +505,20 @@ ul#add-to-blog-users {
        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;
+       border: 1px solid #5b9dd9;
+       -webkit-box-shadow: 0 1px 2px rgba( 30, 140, 190, 0.8 );
+       box-shadow: 0 1px 2px rgba( 30, 140, 190, 0.8 );
+       background-color: #fff;
 }
 
 .ui-autocomplete li {
        margin-bottom: 0;
+       padding: 4px 10px;
        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 {
+.ui-autocomplete li.ui-state-focus {
        background-color: #ddd;
        cursor: pointer;
 }
@@ -559,7 +551,7 @@ ul#add-to-blog-users {
 
 .form-table th,
 .form-wrap label {
-       color: #222;
+       color: #23282d;
        font-weight: normal;
        text-shadow: none;
        vertical-align: baseline;
@@ -682,18 +674,50 @@ table.form-table td .updated p {
        line-height: 24px;
 }
 
-.pressthis {
-       margin: 20px 0;
+/* Card styles */
+
+.card {
+       position: relative;
+       margin-top: 20px;
+       padding: 0.7em 2em 1em;
+       min-width: 255px;
+       max-width: 520px;
+       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;
+}
+
+/* Press this styles */
+
+.pressthis h4 {
+       margin: 2em 0 1em;
+}
+
+.pressthis textarea {
+       width: 100%;
+       font-size: 1em;
 }
 
-.pressthis a,
-.pressthis a:hover,
-.pressthis a:focus,
-.pressthis a:active {
+#pressthis-code-wrap {
+       overflow: auto;
+}
+
+.pressthis-bookmarklet-wrapper {
+       margin: 20px 0 8px;
+       vertical-align: top;
+       position: relative;
+       z-index: 1;
+}
+
+.pressthis-bookmarklet,
+.pressthis-bookmarklet:hover,
+.pressthis-bookmarklet:focus,
+.pressthis-bookmarklet:active {
        display: inline-block;
        position: relative;
        cursor: move;
-       color: #333;
+       color: #32373c;
        background: #e6e6e6;
        -webkit-border-radius: 5px;
        border-radius: 5px;
@@ -704,25 +728,41 @@ table.form-table td .updated p {
        text-decoration: none;
 }
 
-.pressthis a:active {
+.pressthis-bookmarklet:active {
        outline: none;
 }
 
-.pressthis a:hover:after {
-       -webkit-transform: skew(20deg) rotate(9deg);
-       -ms-transform: skew(20deg) rotate(9deg);
-       transform: skew(20deg) rotate(9deg);
+.pressthis-bookmarklet: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);
+}
+
+.pressthis-bookmarklet:hover:after {
+       -webkit-transform: skew(-20deg) rotate(-9deg);
+       -ms-transform: skew(-20deg) rotate(-9deg);
+       transform: skew(-20deg) rotate(-9deg);
        -webkit-box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7);
        box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7);
 }
 
-.pressthis a span {
+.pressthis-bookmarklet span {
        display: inline-block;
        margin: 0px 0 0;
        padding: 0px 9px 8px 12px;
 }
 
-.pressthis a span:before {
+.pressthis-bookmarklet span:before {
        color: #777;
        font: normal 20px/1 'dashicons';
        content:'\f157';
@@ -732,20 +772,29 @@ table.form-table td .updated p {
        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);
+.pressthis-js-toggle {
+       margin-right: 10px;
+       padding: 0;
+       height: auto;
+       vertical-align: top;
+}
+
+.pressthis-js-toggle .dashicons {
+       margin: 5px 7px 6px 8px;
+       color: #777;
+}
+
+/* to override the button class being applied */
+.pressthis-js-toggle.button.button {
+       margin-right: 10px;
+       padding: 0;
+       height: auto;
+       vertical-align: top;
+}
+
+.pressthis-js-toggle .dashicons {
+       margin: 5px 7px 6px 8px;
+       color: #777;
 }
 
 /*------------------------------------------------------------------------------
@@ -762,9 +811,13 @@ table.form-table td .updated p {
        vertical-align: middle;
 }
 
+.options-general-php input.small-text {
+       width: 56px;
+}
+
 .options-general-php .spinner {
        float: none;
-       margin: -3px 3px;
+       margin: 0 3px;
 }
 
 .settings-php .language-install-spinner,
@@ -799,6 +852,74 @@ table.form-table td .updated p {
        margin-bottom: 5px;
 }
 
+/*------------------------------------------------------------------------------
+   Credentials check dialog for Install and Updates
+------------------------------------------------------------------------------*/
+
+.request-filesystem-credentials-dialog {
+       display: none;
+}
+
+.request-filesystem-credentials-dialog .notification-dialog {
+       top: 15%;
+}
+
+.request-filesystem-credentials-dialog-content {
+       margin: 25px;
+}
+
+.request-filesystem-credentials-form input[type="text"],
+.request-filesystem-credentials-form input[type="password"] {
+       display: block;
+}
+
+.request-filesystem-credentials-dialog input[type="text"],
+.request-filesystem-credentials-dialog input[type="password"] {
+       width: 100%;
+}
+
+.request-filesystem-credentials-form .field-title {
+       font-weight: 600;
+}
+
+.request-filesystem-credentials-dialog label[for="hostname"],
+.request-filesystem-credentials-dialog label[for="public_key"],
+.request-filesystem-credentials-dialog label[for="private_key"] {
+       display: block;
+       margin-bottom: 1em;
+}
+
+.request-filesystem-credentials-dialog .ftp-username,
+.request-filesystem-credentials-dialog .ftp-password {
+       float: right;
+       width: 48%;
+}
+
+.request-filesystem-credentials-dialog .ftp-password {
+       margin-right: 4%;
+}
+
+.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons {
+       text-align: left;
+}
+
+.request-filesystem-credentials-dialog label[for="ftp"] {
+       margin-left: 10px;
+}
+
+#request-filesystem-credentials-dialog .button:not(:last-child) {
+       margin-left: 10px;
+}
+
+#request-filesystem-credentials-form .cancel-button {
+       display: none;
+}
+
+#request-filesystem-credentials-dialog .cancel-button {
+       display: inline;
+}
+
+
 /* =Media Queries
 -------------------------------------------------------------- */
 
@@ -1028,6 +1149,20 @@ table.form-table td .updated p {
                max-width: 400px;
                width: auto;
        }
+
+}
+
+@media only screen and (max-height: 480px) {
+       /*  Request Credentials */
+       .request-filesystem-credentials-dialog  .notification-dialog{
+               width: 100%;
+               height: 100%;
+               position: fixed;
+               top: 0;
+               margin: 0;
+               right: 0;
+               overflow-y: auto;
+       }
 }
 
 /* Smartphone */
index a5a19e4a221bb3be033c702936ce9cb76d5cf505..6b07e51500f3f68c7eb27ce35005a77d41ef8a89 100644 (file)
@@ -30,7 +30,7 @@ textarea {
        -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;
+       color: #32373c;
        outline: none;
        -webkit-transition: 0.05s border-color ease-in-out;
        transition: 0.05s border-color ease-in-out;
@@ -61,7 +61,7 @@ textarea:focus {
        box-shadow: 0 0 2px rgba( 30, 140, 190, 0.8 );
 }
 
-/* @noflip */
+/* rtl:ignore */
 input[type="email"],
 input[type="url"] {
        direction: ltr;
@@ -69,7 +69,7 @@ input[type="url"] {
 
 input[type="checkbox"],
 input[type="radio"] {
-       border: 1px solid #bbb;
+       border: 1px solid #b4b9be;
        background: #fff;
        color: #555;
        clear: none;
@@ -92,12 +92,12 @@ input[type="radio"] {
 }
 
 input[type="radio"]:checked + label:before {
-       color: #888;
+       color: #82878c;
 }
 
 .wp-core-ui input[type="reset"]:hover,
 .wp-core-ui input[type="reset"]:active {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 td > input[type="checkbox"],
@@ -483,20 +483,20 @@ p.search-box {
        margin: 0 4px 0 0;
 }
 
-input[type="text"].ui-autocomplete-loading {
-       background: transparent url(../images/loading.gif) no-repeat right center;
+input[type="text"].ui-autocomplete-loading,
+input[type="email"].ui-autocomplete-loading {
+       background-image: url(../images/loading.gif);
+       background-repeat: no-repeat;
+       background-position: right center;
        visibility: visible;
 }
 
-ul#add-to-blog-users {
-       margin: 0 0 0 14px;
+input.ui-autocomplete-input.open {
+       border-bottom-color: transparent;
 }
 
-.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;
+ul#add-to-blog-users {
+       margin: 0 0 0 14px;
 }
 
 .ui-autocomplete {
@@ -505,28 +505,20 @@ ul#add-to-blog-users {
        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;
+       border: 1px solid #5b9dd9;
+       -webkit-box-shadow: 0 1px 2px rgba( 30, 140, 190, 0.8 );
+       box-shadow: 0 1px 2px rgba( 30, 140, 190, 0.8 );
+       background-color: #fff;
 }
 
 .ui-autocomplete li {
        margin-bottom: 0;
+       padding: 4px 10px;
        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 {
+.ui-autocomplete li.ui-state-focus {
        background-color: #ddd;
        cursor: pointer;
 }
@@ -559,7 +551,7 @@ ul#add-to-blog-users {
 
 .form-table th,
 .form-wrap label {
-       color: #222;
+       color: #23282d;
        font-weight: normal;
        text-shadow: none;
        vertical-align: baseline;
@@ -682,18 +674,50 @@ table.form-table td .updated p {
        line-height: 24px;
 }
 
-.pressthis {
-       margin: 20px 0;
+/* Card styles */
+
+.card {
+       position: relative;
+       margin-top: 20px;
+       padding: 0.7em 2em 1em;
+       min-width: 255px;
+       max-width: 520px;
+       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;
+}
+
+/* Press this styles */
+
+.pressthis h4 {
+       margin: 2em 0 1em;
+}
+
+.pressthis textarea {
+       width: 100%;
+       font-size: 1em;
+}
+
+#pressthis-code-wrap {
+       overflow: auto;
+}
+
+.pressthis-bookmarklet-wrapper {
+       margin: 20px 0 8px;
+       vertical-align: top;
+       position: relative;
+       z-index: 1;
 }
 
-.pressthis a,
-.pressthis a:hover,
-.pressthis a:focus,
-.pressthis a:active {
+.pressthis-bookmarklet,
+.pressthis-bookmarklet:hover,
+.pressthis-bookmarklet:focus,
+.pressthis-bookmarklet:active {
        display: inline-block;
        position: relative;
        cursor: move;
-       color: #333;
+       color: #32373c;
        background: #e6e6e6;
        -webkit-border-radius: 5px;
        border-radius: 5px;
@@ -704,11 +728,27 @@ table.form-table td .updated p {
        text-decoration: none;
 }
 
-.pressthis a:active {
+.pressthis-bookmarklet:active {
        outline: none;
 }
 
-.pressthis a:hover:after {
+.pressthis-bookmarklet: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);
+}
+
+.pressthis-bookmarklet:hover:after {
        -webkit-transform: skew(20deg) rotate(9deg);
        -ms-transform: skew(20deg) rotate(9deg);
        transform: skew(20deg) rotate(9deg);
@@ -716,13 +756,13 @@ table.form-table td .updated p {
        box-shadow: 0 10px 8px rgba(0, 0, 0, 0.7);
 }
 
-.pressthis a span {
+.pressthis-bookmarklet span {
        display: inline-block;
        margin: 0px 0 0;
        padding: 0px 12px 8px 9px;
 }
 
-.pressthis a span:before {
+.pressthis-bookmarklet span:before {
        color: #777;
        font: normal 20px/1 'dashicons';
        content:'\f157';
@@ -732,20 +772,29 @@ table.form-table td .updated p {
        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);
+.pressthis-js-toggle {
+       margin-left: 10px;
+       padding: 0;
+       height: auto;
+       vertical-align: top;
+}
+
+.pressthis-js-toggle .dashicons {
+       margin: 5px 8px 6px 7px;
+       color: #777;
+}
+
+/* to override the button class being applied */
+.pressthis-js-toggle.button.button {
+       margin-left: 10px;
+       padding: 0;
+       height: auto;
+       vertical-align: top;
+}
+
+.pressthis-js-toggle .dashicons {
+       margin: 5px 8px 6px 7px;
+       color: #777;
 }
 
 /*------------------------------------------------------------------------------
@@ -762,9 +811,13 @@ table.form-table td .updated p {
        vertical-align: middle;
 }
 
+.options-general-php input.small-text {
+       width: 56px;
+}
+
 .options-general-php .spinner {
        float: none;
-       margin: -3px 3px;
+       margin: 0 3px;
 }
 
 .settings-php .language-install-spinner,
@@ -799,6 +852,74 @@ table.form-table td .updated p {
        margin-bottom: 5px;
 }
 
+/*------------------------------------------------------------------------------
+   Credentials check dialog for Install and Updates
+------------------------------------------------------------------------------*/
+
+.request-filesystem-credentials-dialog {
+       display: none;
+}
+
+.request-filesystem-credentials-dialog .notification-dialog {
+       top: 15%;
+}
+
+.request-filesystem-credentials-dialog-content {
+       margin: 25px;
+}
+
+.request-filesystem-credentials-form input[type="text"],
+.request-filesystem-credentials-form input[type="password"] {
+       display: block;
+}
+
+.request-filesystem-credentials-dialog input[type="text"],
+.request-filesystem-credentials-dialog input[type="password"] {
+       width: 100%;
+}
+
+.request-filesystem-credentials-form .field-title {
+       font-weight: 600;
+}
+
+.request-filesystem-credentials-dialog label[for="hostname"],
+.request-filesystem-credentials-dialog label[for="public_key"],
+.request-filesystem-credentials-dialog label[for="private_key"] {
+       display: block;
+       margin-bottom: 1em;
+}
+
+.request-filesystem-credentials-dialog .ftp-username,
+.request-filesystem-credentials-dialog .ftp-password {
+       float: left;
+       width: 48%;
+}
+
+.request-filesystem-credentials-dialog .ftp-password {
+       margin-left: 4%;
+}
+
+.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons {
+       text-align: right;
+}
+
+.request-filesystem-credentials-dialog label[for="ftp"] {
+       margin-right: 10px;
+}
+
+#request-filesystem-credentials-dialog .button:not(:last-child) {
+       margin-right: 10px;
+}
+
+#request-filesystem-credentials-form .cancel-button {
+       display: none;
+}
+
+#request-filesystem-credentials-dialog .cancel-button {
+       display: inline;
+}
+
+
 /* =Media Queries
 -------------------------------------------------------------- */
 
@@ -1028,6 +1149,20 @@ table.form-table td .updated p {
                max-width: 400px;
                width: auto;
        }
+
+}
+
+@media only screen and (max-height: 480px) {
+       /*  Request Credentials */
+       .request-filesystem-credentials-dialog  .notification-dialog{
+               width: 100%;
+               height: 100%;
+               position: fixed;
+               top: 0;
+               margin: 0;
+               left: 0;
+               overflow-y: auto;
+       }
 }
 
 /* Smartphone */
index 590d44ec1e2b5bc48c38bb30446c07655f5204c5..21af215d233190ea7538bd334d9b506f7b3f6827 100644 (file)
@@ -59,7 +59,7 @@
 }
 
 #wp-fullscreen-tagline {
-       color: #888;
+       color: #82878c;
        font-size: 14px;
 }
 
@@ -670,7 +670,7 @@ input[type="password"],
 }
 
 .mce-btn i.mce-i-wp_adv {
-       background-color: #aaa;
+       background-color: #a0a5aa;
 }
 
 .mce-btn i.mce-i-help,
@@ -684,7 +684,7 @@ input[type="password"],
        visibility: visible;
 }
 
-* html div.widget-liquid-right,
+* html div.widget-liquid-left,
 * html div.widget-liquid-right {
        display: block;
        position: relative;
index dee9313bdbe790d28bfdaee7629ccd971cbec557..396d3f7efc623244278c221ab1235b43d095edbc 100644 (file)
@@ -1 +1 @@
-#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:99%}#dashboard-widgets form #title{width:98%}#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}.wp-editor-wrap .wp-editor-container,.wp-editor-wrap .wp-editor-tabs,.wp-editor-wrap .wp-editor-tools,.wp-editor-wrap .wp-switch-editor{zoom:100%}.wp-editor-wrap .wp-editor-container textarea.wp-editor-area{width:97%}#post-body.columns-2 #postbox-container-1{padding-right:19px}.welcome-panel .wp-badge{position:absolute}.welcome-panel .welcome-panel-column:first-child{width:35%}.wp-fullscreen-title{width:97%}#wp_mce_fullscreen_ifr{background-color:#f9f9f9}#wp-fullscreen-tagline{color:#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 .hndle{margin-bottom:-1px}#addcat,#editcat,#template,#template div,.major-publishing-actions,.wp-submenu,.wp-submenu li{zoom:100%}.wp-menu-arrow{height:28px}.submitbox{margin-top:10px}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%}.inline-edit-row p.submit{zoom:100%}.inline-edit-row fieldset label span.title{display:block;float:right;width:5em}.inline-edit-row fieldset label span.input-text-wrap{margin-right:0;zoom:100%}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em}#titlediv #title{width:98%}.button,input[type=button],input[type=reset],input[type=submit]{padding:0 8px;line-height:20px;height:auto}.button.button-large,input[type=button].button-large,input[type=reset].button-large,input[type=submit].button-large{padding:0 10px;line-height:24px;height:auto}.button.button-small,input[type=button].button-small,input[type=reset].button-small,input[type=submit].button-small{padding:0 6px;line-height:16px;height:auto}a.button{margin:1px;padding:1px 9px 2px}a.button.button-large{padding:1px 11px 2px}a.button.button-small{padding:1px 7px 2px}#screen-options-wrap{overflow:hidden}#col-container,#col-left,#col-right,#dragHelper,#editorcontainer,#post-body,#post-status-info,#postdiv,#postdivrich,#poststuff,#the-comment-list .comment-item,#titlediv,#widgets-left,#wpwrap,#wrap,.fileedit-sub,.metabox-holder,.tablenav,.tagchecklist,.widget .widget-top,.widget-control-actions,.widget-liquid-left,.widget-liquid-right,.widgets-sortables{display:block;zoom:100%}p.search-box{position:static;float:left;margin:-3px 0 4px}#widget-list .widget,.feature-filter .feature-group li{display:inline}.feature-filter .feature-group li input{vertical-align:middle}#editorcontainer #content{overflow:auto;margin:auto;width:98%}form#template div{width:100%}.wp-editor-container .quicktags-toolbar input{overflow:visible;padding:0 4px}#poststuff h2{font-size:1.6em}#poststuff .inside #page_template,#poststuff .inside #parent_id,.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{width:250px}#submitdiv a.button,#submitdiv input,#submitdiv select{position:relative}#bh{margin:7px 0 0 10px;float:left}div#dashboard-widgets{padding-left:1px}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block}.nav .button-secondary,.tablenav .button-secondary{padding-top:2px;padding-bottom:2px}.tablenav select{font-size:13px;display:inline-block;vertical-align:top;margin-top:2px}.tablenav .actions select{width:155px}.subsubsub li{display:inline}a.post-state-format{text-indent:0;line-height:0;font-size:0}table.ie-fixed{table-layout:fixed}.widefat th,.widefat tr{margin-bottom:0;border-spacing:0}.widefat th input{margin:0 5px 0 0}.widefat tfoot .check-column,.widefat thead .check-column{padding-top:6px}.media.widefat tbody th.check-column,.widefat tbody th.check-column{padding:4px 0 0}.widefat{empty-cells:show;border-collapse:collapse}.tablenav a.button-secondary{display:inline-block;padding:2px 5px}.inactive-sidebar .widgets-sortables{padding-bottom:8px}#available-widgets .widget-holder{padding-bottom:65px}#widgets-left .inactive{padding-bottom:10px}.inactive-sidebar .widget,.widget-liquid-right .widget{position:relative}.inactive-sidebar .widget{display:block;float:right}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA}#the-comment-list .unapproved td,#the-comment-list .unapproved tr{background-color:#ffffe0}.imgedit-submit{width:300px}#nav-menus-frame,#wpbody,.menu li{zoom:100%}#update-nav-menu #post-body{overflow:hidden}.menu li{min-width:100%}.menu li.sortable-placeholder{min-width:400px}.available-theme{display:inline}.available-theme ul{margin:0}.available-theme .action-links li{padding-left:7px;margin-left:7px}.about-wrap .three-col.about-updates .col-2{width:15%}.about-wrap .about-password-meter input{width:98%}.revisions-tickmarks,.revisions-tooltip{display:none!important}.revisions.pinned .revisions-controls{position:relative}.login form .input,input[type=password]{font-family:sans-serif}.mce-btn i.mce-i-aligncenter,.mce-btn i.mce-i-alignjustify,.mce-btn i.mce-i-alignleft,.mce-btn i.mce-i-alignright,.mce-btn i.mce-i-blockquote,.mce-btn i.mce-i-bold,.mce-btn i.mce-i-bullist,.mce-btn i.mce-i-charmap,.mce-btn i.mce-i-forecolor,.mce-btn i.mce-i-fullscreen,.mce-btn i.mce-i-help,.mce-btn i.mce-i-hr,.mce-btn i.mce-i-indent,.mce-btn i.mce-i-italic,.mce-btn i.mce-i-link,.mce-btn i.mce-i-ltr,.mce-btn i.mce-i-numlist,.mce-btn i.mce-i-outdent,.mce-btn i.mce-i-pastetext,.mce-btn i.mce-i-pasteword,.mce-btn i.mce-i-redo,.mce-btn i.mce-i-removeformat,.mce-btn i.mce-i-spellchecker,.mce-btn i.mce-i-strikethrough,.mce-btn i.mce-i-underline,.mce-btn i.mce-i-undo,.mce-btn i.mce-i-unlink,.mce-btn i.mce-i-wp-media-library,.mce-btn i.mce-i-wp_adv,.mce-btn i.mce-i-wp_fullscreen,.mce-btn i.mce-i-wp_help,.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page,.mce-close{font-family:tinymce,Arial;font-style:normal;font-weight:400;font-variant:normal;font-size:16px;margin-right:0;padding-left:0}.mce-btn i.mce-i-wp_fullscreen,.qt-fullscreen{-ie7-icon:'\e023'}.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page{-ie7-icon:'\e027'}.mce-btn i.mce-i-wp_adv{background-color:#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
+#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:99%}#dashboard-widgets form #title{width:98%}#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}.wp-editor-wrap .wp-editor-container,.wp-editor-wrap .wp-editor-tabs,.wp-editor-wrap .wp-editor-tools,.wp-editor-wrap .wp-switch-editor{zoom:100%}.wp-editor-wrap .wp-editor-container textarea.wp-editor-area{width:97%}#post-body.columns-2 #postbox-container-1{padding-right:19px}.welcome-panel .wp-badge{position:absolute}.welcome-panel .welcome-panel-column:first-child{width:35%}.wp-fullscreen-title{width:97%}#wp_mce_fullscreen_ifr{background-color:#f9f9f9}#wp-fullscreen-tagline{color:#82878c;font-size:14px}#adminmenuback{right:0;background-image:none}#adminmenuwrap{position:static}#adminmenu{position:relative}#adminmenu,#adminmenu a{cursor:pointer}#adminmenu li.wp-menu-separator,#adminmenu li.wp-menu-separator-last{font-size:1px;line-height:1}#adminmenu a.menu-top{border-bottom:0 none;border-top:1px solid #ddd}#adminmenu .separator{font-size:1px;line-height:1px}#adminmenu .wp-submenu{right:110px}#adminmenu .wp-submenu ul{margin:0}.folded #wpcontent,.folded #wpfooter{margin-right:170px}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:150px}.folded #adminmenu .wp-submenu{border-top-color:transparent}.folded #adminmenu .wp-menu-name{display:block}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open{right:110px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{top:-1px;position:relative}.folded #adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:transparent}#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#ddd}.folded #adminmenu .wp-submenu ul{margin-right:5px}#adminmenu li.menu-top{margin-bottom:-2px}#adminmenu .wp-menu-arrow{display:none!important}.js.folded #adminmenu li.menu-top{display:block;zoom:100%}ul#adminmenu{z-index:99}#adminmenu li.menu-top a.menu-top{min-width:auto;width:auto}#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu{font-style:normal}#wpcontent #adminmenu .wp-submenu li{padding:0}#adminmenu li.wp-has-current-submenu .wp-submenu{right:-40px}#adminmenu .wp-menu-image{display:none!important}#adminmenu a.menu-top .wp-menu-name{padding-right:8px}#collapse-menu{line-height:23px}#wpadminbar .ab-comments-icon{padding-top:7px}.theme-browser .theme{width:30%;margin:0 0 4% 3%;cursor:auto}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:auto}.theme-browser .theme .theme-screenshot{height:180px}.theme-browser .theme .theme-actions{position:static;background-color:#e8e8e8}.theme-browser .theme .more-details{display:none}.plugins td,.plugins th,table.fixed td,table.fixed th{border-top:1px solid #ddd}#wpbody-content input.button,#wpbody-content input.button-primary,#wpbody-content input.button-secondary{overflow:visible}#dashboard-widgets h3 a{height:14px;line-height:14px}#dashboard_browser_nag{color:#fff}#dashboard_browser_nag .browser-icon{position:relative}.tablenav-pages .current-page{vertical-align:middle}#wpbody-content .postbox{border:1px solid #dfdfdf}#wpbody-content .postbox .hndle{margin-bottom:-1px}#addcat,#editcat,#template,#template div,.major-publishing-actions,.wp-submenu,.wp-submenu li{zoom:100%}.wp-menu-arrow{height:28px}.submitbox{margin-top:10px}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%}.inline-edit-row p.submit{zoom:100%}.inline-edit-row fieldset label span.title{display:block;float:right;width:5em}.inline-edit-row fieldset label span.input-text-wrap{margin-right:0;zoom:100%}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em}#titlediv #title{width:98%}.button,input[type=button],input[type=reset],input[type=submit]{padding:0 8px;line-height:20px;height:auto}.button.button-large,input[type=button].button-large,input[type=reset].button-large,input[type=submit].button-large{padding:0 10px;line-height:24px;height:auto}.button.button-small,input[type=button].button-small,input[type=reset].button-small,input[type=submit].button-small{padding:0 6px;line-height:16px;height:auto}a.button{margin:1px;padding:1px 9px 2px}a.button.button-large{padding:1px 11px 2px}a.button.button-small{padding:1px 7px 2px}#screen-options-wrap{overflow:hidden}#col-container,#col-left,#col-right,#dragHelper,#editorcontainer,#post-body,#post-status-info,#postdiv,#postdivrich,#poststuff,#the-comment-list .comment-item,#titlediv,#widgets-left,#wpwrap,#wrap,.fileedit-sub,.metabox-holder,.tablenav,.tagchecklist,.widget .widget-top,.widget-control-actions,.widget-liquid-left,.widget-liquid-right,.widgets-sortables{display:block;zoom:100%}p.search-box{position:static;float:left;margin:-3px 0 4px}#widget-list .widget,.feature-filter .feature-group li{display:inline}.feature-filter .feature-group li input{vertical-align:middle}#editorcontainer #content{overflow:auto;margin:auto;width:98%}form#template div{width:100%}.wp-editor-container .quicktags-toolbar input{overflow:visible;padding:0 4px}#poststuff h2{font-size:1.6em}#poststuff .inside #page_template,#poststuff .inside #parent_id,.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{width:250px}#submitdiv a.button,#submitdiv input,#submitdiv select{position:relative}#bh{margin:7px 0 0 10px;float:left}div#dashboard-widgets{padding-left:1px}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block}.nav .button-secondary,.tablenav .button-secondary{padding-top:2px;padding-bottom:2px}.tablenav select{font-size:13px;display:inline-block;vertical-align:top;margin-top:2px}.tablenav .actions select{width:155px}.subsubsub li{display:inline}a.post-state-format{text-indent:0;line-height:0;font-size:0}table.ie-fixed{table-layout:fixed}.widefat th,.widefat tr{margin-bottom:0;border-spacing:0}.widefat th input{margin:0 5px 0 0}.widefat tfoot .check-column,.widefat thead .check-column{padding-top:6px}.media.widefat tbody th.check-column,.widefat tbody th.check-column{padding:4px 0 0}.widefat{empty-cells:show;border-collapse:collapse}.tablenav a.button-secondary{display:inline-block;padding:2px 5px}.inactive-sidebar .widgets-sortables{padding-bottom:8px}#available-widgets .widget-holder{padding-bottom:65px}#widgets-left .inactive{padding-bottom:10px}.inactive-sidebar .widget,.widget-liquid-right .widget{position:relative}.inactive-sidebar .widget{display:block;float:right}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA}#the-comment-list .unapproved td,#the-comment-list .unapproved tr{background-color:#ffffe0}.imgedit-submit{width:300px}#nav-menus-frame,#wpbody,.menu li{zoom:100%}#update-nav-menu #post-body{overflow:hidden}.menu li{min-width:100%}.menu li.sortable-placeholder{min-width:400px}.available-theme{display:inline}.available-theme ul{margin:0}.available-theme .action-links li{padding-left:7px;margin-left:7px}.about-wrap .three-col.about-updates .col-2{width:15%}.about-wrap .about-password-meter input{width:98%}.revisions-tickmarks,.revisions-tooltip{display:none!important}.revisions.pinned .revisions-controls{position:relative}.login form .input,input[type=password]{font-family:sans-serif}.mce-btn i.mce-i-aligncenter,.mce-btn i.mce-i-alignjustify,.mce-btn i.mce-i-alignleft,.mce-btn i.mce-i-alignright,.mce-btn i.mce-i-blockquote,.mce-btn i.mce-i-bold,.mce-btn i.mce-i-bullist,.mce-btn i.mce-i-charmap,.mce-btn i.mce-i-forecolor,.mce-btn i.mce-i-fullscreen,.mce-btn i.mce-i-help,.mce-btn i.mce-i-hr,.mce-btn i.mce-i-indent,.mce-btn i.mce-i-italic,.mce-btn i.mce-i-link,.mce-btn i.mce-i-ltr,.mce-btn i.mce-i-numlist,.mce-btn i.mce-i-outdent,.mce-btn i.mce-i-pastetext,.mce-btn i.mce-i-pasteword,.mce-btn i.mce-i-redo,.mce-btn i.mce-i-removeformat,.mce-btn i.mce-i-spellchecker,.mce-btn i.mce-i-strikethrough,.mce-btn i.mce-i-underline,.mce-btn i.mce-i-undo,.mce-btn i.mce-i-unlink,.mce-btn i.mce-i-wp-media-library,.mce-btn i.mce-i-wp_adv,.mce-btn i.mce-i-wp_fullscreen,.mce-btn i.mce-i-wp_help,.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page,.mce-close{font-family:tinymce,Arial;font-style:normal;font-weight:400;font-variant:normal;font-size:16px;margin-right:0;padding-left:0}.mce-btn i.mce-i-wp_fullscreen,.qt-fullscreen{-ie7-icon:'\e023'}.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page{-ie7-icon:'\e027'}.mce-btn i.mce-i-wp_adv{background-color:#a0a5aa}.mce-btn i.mce-i-help,.mce-btn i.mce-i-wp_help{-ie7-icon:'\e016'}* html .row-actions{visibility:visible}* html div.widget-liquid-left,* html div.widget-liquid-right{display:block;position:relative}* html #editorcontainer{padding:0}* html #poststuff h2{margin-right:0}* html .stuffbox,* html .stuffbox input,* html .stuffbox textarea{border:1px solid #DFDFDF}* html .feature-filter .feature-group li{width:145px}* html div.widget-liquid-left{width:99%}* html .widgets-sortables{height:50px}* html a#content_resize{left:-2px}* html .widget-title h4{width:205px}* html #removing-widget .in-widget-title{display:none}* html .media-item .pinkynail{height:32px;width:40px}* html .describe .field input.text,* html .describe .field textarea{width:440px}* html input{border:1px solid #dfdfdf}* html .edit-box{display:inline}* html .postbox-container .meta-box-sortables{height:300px}* html #wpbody-content #screen-options-link-wrap{display:inline-block;width:150px;text-align:center}* html #wpbody-content #contextual-help-link-wrap{display:inline-block;width:100px;text-align:center}* html #adminmenu{margin-right:-80px}* html .folded #adminmenu{margin-right:-22px}* html #wpcontent #adminmenu li.menu-top{display:inline;padding:0;margin:0}* html #wpfooter{margin:0}* html #adminmenu div.wp-menu-image{height:29px}
\ No newline at end of file
index c49f576a7147d8d928c8e49582bd504cdb319932..6dfbc956b4b0d808baf8b33bb599d3e44bf5fae7 100644 (file)
@@ -59,7 +59,7 @@
 }
 
 #wp-fullscreen-tagline {
-       color: #888;
+       color: #82878c;
        font-size: 14px;
 }
 
@@ -670,7 +670,7 @@ input[type="password"],
 }
 
 .mce-btn i.mce-i-wp_adv {
-       background-color: #aaa;
+       background-color: #a0a5aa;
 }
 
 .mce-btn i.mce-i-help,
index 0b4b692946e271e86f103925b4b658cff1f6a088..94b0be5a2b4bfe9225d013afb978df0c9be61c77 100644 (file)
@@ -1 +1 @@
-#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:99%}#dashboard-widgets form #title{width:98%}#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}.wp-editor-wrap .wp-editor-container,.wp-editor-wrap .wp-editor-tabs,.wp-editor-wrap .wp-editor-tools,.wp-editor-wrap .wp-switch-editor{zoom:100%}.wp-editor-wrap .wp-editor-container textarea.wp-editor-area{width:97%}#post-body.columns-2 #postbox-container-1{padding-left:19px}.welcome-panel .wp-badge{position:absolute}.welcome-panel .welcome-panel-column:first-child{width:35%}.wp-fullscreen-title{width:97%}#wp_mce_fullscreen_ifr{background-color:#f9f9f9}#wp-fullscreen-tagline{color:#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 .hndle{margin-bottom:-1px}#addcat,#editcat,#template,#template div,.major-publishing-actions,.wp-submenu,.wp-submenu li{zoom:100%}.wp-menu-arrow{height:28px}.submitbox{margin-top:10px}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%}.inline-edit-row p.submit{zoom:100%}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;zoom:100%}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em}#titlediv #title{width:98%}.button,input[type=button],input[type=reset],input[type=submit]{padding:0 8px;line-height:20px;height:auto}.button.button-large,input[type=button].button-large,input[type=reset].button-large,input[type=submit].button-large{padding:0 10px;line-height:24px;height:auto}.button.button-small,input[type=button].button-small,input[type=reset].button-small,input[type=submit].button-small{padding:0 6px;line-height:16px;height:auto}a.button{margin:1px;padding:1px 9px 2px}a.button.button-large{padding:1px 11px 2px}a.button.button-small{padding:1px 7px 2px}#screen-options-wrap{overflow:hidden}#col-container,#col-left,#col-right,#dragHelper,#editorcontainer,#post-body,#post-status-info,#postdiv,#postdivrich,#poststuff,#the-comment-list .comment-item,#titlediv,#widgets-left,#wpwrap,#wrap,.fileedit-sub,.metabox-holder,.tablenav,.tagchecklist,.widget .widget-top,.widget-control-actions,.widget-liquid-left,.widget-liquid-right,.widgets-sortables{display:block;zoom:100%}p.search-box{position:static;float:right;margin:-3px 0 4px}#widget-list .widget,.feature-filter .feature-group li{display:inline}.feature-filter .feature-group li input{vertical-align:middle}#editorcontainer #content{overflow:auto;margin:auto;width:98%}form#template div{width:100%}.wp-editor-container .quicktags-toolbar input{overflow:visible;padding:0 4px}#poststuff h2{font-size:1.6em}#poststuff .inside #page_template,#poststuff .inside #parent_id,.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{width:250px}#submitdiv a.button,#submitdiv input,#submitdiv select{position:relative}#bh{margin:7px 10px 0 0;float:right}div#dashboard-widgets{padding-right:1px}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block}.nav .button-secondary,.tablenav .button-secondary{padding-top:2px;padding-bottom:2px}.tablenav select{font-size:13px;display:inline-block;vertical-align:top;margin-top:2px}.tablenav .actions select{width:155px}.subsubsub li{display:inline}a.post-state-format{text-indent:0;line-height:0;font-size:0}table.ie-fixed{table-layout:fixed}.widefat th,.widefat tr{margin-bottom:0;border-spacing:0}.widefat th input{margin:0 0 0 5px}.widefat tfoot .check-column,.widefat thead .check-column{padding-top:6px}.media.widefat tbody th.check-column,.widefat tbody th.check-column{padding:4px 0 0}.widefat{empty-cells:show;border-collapse:collapse}.tablenav a.button-secondary{display:inline-block;padding:2px 5px}.inactive-sidebar .widgets-sortables{padding-bottom:8px}#available-widgets .widget-holder{padding-bottom:65px}#widgets-left .inactive{padding-bottom:10px}.inactive-sidebar .widget,.widget-liquid-right .widget{position:relative}.inactive-sidebar .widget{display:block;float:left}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA}#the-comment-list .unapproved td,#the-comment-list .unapproved tr{background-color:#ffffe0}.imgedit-submit{width:300px}#nav-menus-frame,#wpbody,.menu li{zoom:100%}#update-nav-menu #post-body{overflow:hidden}.menu li{min-width:100%}.menu li.sortable-placeholder{min-width:400px}.available-theme{display:inline}.available-theme ul{margin:0}.available-theme .action-links li{padding-right:7px;margin-right:7px}.about-wrap .three-col.about-updates .col-2{width:15%}.about-wrap .about-password-meter input{width:98%}.revisions-tickmarks,.revisions-tooltip{display:none!important}.revisions.pinned .revisions-controls{position:relative}.login form .input,input[type=password]{font-family:sans-serif}.mce-btn i.mce-i-aligncenter,.mce-btn i.mce-i-alignjustify,.mce-btn i.mce-i-alignleft,.mce-btn i.mce-i-alignright,.mce-btn i.mce-i-blockquote,.mce-btn i.mce-i-bold,.mce-btn i.mce-i-bullist,.mce-btn i.mce-i-charmap,.mce-btn i.mce-i-forecolor,.mce-btn i.mce-i-fullscreen,.mce-btn i.mce-i-help,.mce-btn i.mce-i-hr,.mce-btn i.mce-i-indent,.mce-btn i.mce-i-italic,.mce-btn i.mce-i-link,.mce-btn i.mce-i-ltr,.mce-btn i.mce-i-numlist,.mce-btn i.mce-i-outdent,.mce-btn i.mce-i-pastetext,.mce-btn i.mce-i-pasteword,.mce-btn i.mce-i-redo,.mce-btn i.mce-i-removeformat,.mce-btn i.mce-i-spellchecker,.mce-btn i.mce-i-strikethrough,.mce-btn i.mce-i-underline,.mce-btn i.mce-i-undo,.mce-btn i.mce-i-unlink,.mce-btn i.mce-i-wp-media-library,.mce-btn i.mce-i-wp_adv,.mce-btn i.mce-i-wp_fullscreen,.mce-btn i.mce-i-wp_help,.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page,.mce-close{font-family:tinymce,Arial;font-style:normal;font-weight:400;font-variant:normal;font-size:16px;margin-left:0;padding-right:0}.mce-btn i.mce-i-wp_fullscreen,.qt-fullscreen{-ie7-icon:'\e023'}.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page{-ie7-icon:'\e027'}.mce-btn i.mce-i-wp_adv{background-color:#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
+#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:99%}#dashboard-widgets form #title{width:98%}#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}.wp-editor-wrap .wp-editor-container,.wp-editor-wrap .wp-editor-tabs,.wp-editor-wrap .wp-editor-tools,.wp-editor-wrap .wp-switch-editor{zoom:100%}.wp-editor-wrap .wp-editor-container textarea.wp-editor-area{width:97%}#post-body.columns-2 #postbox-container-1{padding-left:19px}.welcome-panel .wp-badge{position:absolute}.welcome-panel .welcome-panel-column:first-child{width:35%}.wp-fullscreen-title{width:97%}#wp_mce_fullscreen_ifr{background-color:#f9f9f9}#wp-fullscreen-tagline{color:#82878c;font-size:14px}#adminmenuback{left:0;background-image:none}#adminmenuwrap{position:static}#adminmenu{position:relative}#adminmenu,#adminmenu a{cursor:pointer}#adminmenu li.wp-menu-separator,#adminmenu li.wp-menu-separator-last{font-size:1px;line-height:1}#adminmenu a.menu-top{border-bottom:0 none;border-top:1px solid #ddd}#adminmenu .separator{font-size:1px;line-height:1px}#adminmenu .wp-submenu{left:110px}#adminmenu .wp-submenu ul{margin:0}.folded #wpcontent,.folded #wpfooter{margin-left:170px}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:150px}.folded #adminmenu .wp-submenu{border-top-color:transparent}.folded #adminmenu .wp-menu-name{display:block}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open{left:110px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{top:-1px;position:relative}.folded #adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head{background-color:transparent}#adminmenu .wp-submenu .wp-submenu-head{border-top-color:#ddd}.folded #adminmenu .wp-submenu ul{margin-left:5px}#adminmenu li.menu-top{margin-bottom:-2px}#adminmenu .wp-menu-arrow{display:none!important}.js.folded #adminmenu li.menu-top{display:block;zoom:100%}ul#adminmenu{z-index:99}#adminmenu li.menu-top a.menu-top{min-width:auto;width:auto}#wpcontent #adminmenu li.wp-has-current-submenu a.wp-has-submenu{font-style:normal}#wpcontent #adminmenu .wp-submenu li{padding:0}#adminmenu li.wp-has-current-submenu .wp-submenu{left:-40px}#adminmenu .wp-menu-image{display:none!important}#adminmenu a.menu-top .wp-menu-name{padding-left:8px}#collapse-menu{line-height:23px}#wpadminbar .ab-comments-icon{padding-top:7px}.theme-browser .theme{width:30%;margin:0 3% 4% 0;cursor:auto}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:auto}.theme-browser .theme .theme-screenshot{height:180px}.theme-browser .theme .theme-actions{position:static;background-color:#e8e8e8}.theme-browser .theme .more-details{display:none}.plugins td,.plugins th,table.fixed td,table.fixed th{border-top:1px solid #ddd}#wpbody-content input.button,#wpbody-content input.button-primary,#wpbody-content input.button-secondary{overflow:visible}#dashboard-widgets h3 a{height:14px;line-height:14px}#dashboard_browser_nag{color:#fff}#dashboard_browser_nag .browser-icon{position:relative}.tablenav-pages .current-page{vertical-align:middle}#wpbody-content .postbox{border:1px solid #dfdfdf}#wpbody-content .postbox .hndle{margin-bottom:-1px}#addcat,#editcat,#template,#template div,.major-publishing-actions,.wp-submenu,.wp-submenu li{zoom:100%}.wp-menu-arrow{height:28px}.submitbox{margin-top:10px}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:19%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:29%}.inline-edit-row p.submit{zoom:100%}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0;zoom:100%}#wpbody-content .inline-edit-row fieldset label span.input-text-wrap input{line-height:130%}#wpbody-content .inline-edit-row .input-text-wrap input{width:95%}#wpbody-content .inline-edit-row .input-text-wrap input.inline-edit-password-input{width:8em}#titlediv #title{width:98%}.button,input[type=button],input[type=reset],input[type=submit]{padding:0 8px;line-height:20px;height:auto}.button.button-large,input[type=button].button-large,input[type=reset].button-large,input[type=submit].button-large{padding:0 10px;line-height:24px;height:auto}.button.button-small,input[type=button].button-small,input[type=reset].button-small,input[type=submit].button-small{padding:0 6px;line-height:16px;height:auto}a.button{margin:1px;padding:1px 9px 2px}a.button.button-large{padding:1px 11px 2px}a.button.button-small{padding:1px 7px 2px}#screen-options-wrap{overflow:hidden}#col-container,#col-left,#col-right,#dragHelper,#editorcontainer,#post-body,#post-status-info,#postdiv,#postdivrich,#poststuff,#the-comment-list .comment-item,#titlediv,#widgets-left,#wpwrap,#wrap,.fileedit-sub,.metabox-holder,.tablenav,.tagchecklist,.widget .widget-top,.widget-control-actions,.widget-liquid-left,.widget-liquid-right,.widgets-sortables{display:block;zoom:100%}p.search-box{position:static;float:right;margin:-3px 0 4px}#widget-list .widget,.feature-filter .feature-group li{display:inline}.feature-filter .feature-group li input{vertical-align:middle}#editorcontainer #content{overflow:auto;margin:auto;width:98%}form#template div{width:100%}.wp-editor-container .quicktags-toolbar input{overflow:visible;padding:0 4px}#poststuff h2{font-size:1.6em}#poststuff .inside #page_template,#poststuff .inside #parent_id,.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{width:250px}#submitdiv a.button,#submitdiv input,#submitdiv select{position:relative}#bh{margin:7px 10px 0 0;float:right}div#dashboard-widgets{padding-right:1px}.tagchecklist span,.tagchecklist span a{display:inline-block;display:block}.nav .button-secondary,.tablenav .button-secondary{padding-top:2px;padding-bottom:2px}.tablenav select{font-size:13px;display:inline-block;vertical-align:top;margin-top:2px}.tablenav .actions select{width:155px}.subsubsub li{display:inline}a.post-state-format{text-indent:0;line-height:0;font-size:0}table.ie-fixed{table-layout:fixed}.widefat th,.widefat tr{margin-bottom:0;border-spacing:0}.widefat th input{margin:0 0 0 5px}.widefat tfoot .check-column,.widefat thead .check-column{padding-top:6px}.media.widefat tbody th.check-column,.widefat tbody th.check-column{padding:4px 0 0}.widefat{empty-cells:show;border-collapse:collapse}.tablenav a.button-secondary{display:inline-block;padding:2px 5px}.inactive-sidebar .widgets-sortables{padding-bottom:8px}#available-widgets .widget-holder{padding-bottom:65px}#widgets-left .inactive{padding-bottom:10px}.inactive-sidebar .widget,.widget-liquid-right .widget{position:relative}.inactive-sidebar .widget{display:block;float:left}#wpcontent .button-primary-disabled{color:#9FD0D5;background:#298CBA}#the-comment-list .unapproved td,#the-comment-list .unapproved tr{background-color:#ffffe0}.imgedit-submit{width:300px}#nav-menus-frame,#wpbody,.menu li{zoom:100%}#update-nav-menu #post-body{overflow:hidden}.menu li{min-width:100%}.menu li.sortable-placeholder{min-width:400px}.available-theme{display:inline}.available-theme ul{margin:0}.available-theme .action-links li{padding-right:7px;margin-right:7px}.about-wrap .three-col.about-updates .col-2{width:15%}.about-wrap .about-password-meter input{width:98%}.revisions-tickmarks,.revisions-tooltip{display:none!important}.revisions.pinned .revisions-controls{position:relative}.login form .input,input[type=password]{font-family:sans-serif}.mce-btn i.mce-i-aligncenter,.mce-btn i.mce-i-alignjustify,.mce-btn i.mce-i-alignleft,.mce-btn i.mce-i-alignright,.mce-btn i.mce-i-blockquote,.mce-btn i.mce-i-bold,.mce-btn i.mce-i-bullist,.mce-btn i.mce-i-charmap,.mce-btn i.mce-i-forecolor,.mce-btn i.mce-i-fullscreen,.mce-btn i.mce-i-help,.mce-btn i.mce-i-hr,.mce-btn i.mce-i-indent,.mce-btn i.mce-i-italic,.mce-btn i.mce-i-link,.mce-btn i.mce-i-ltr,.mce-btn i.mce-i-numlist,.mce-btn i.mce-i-outdent,.mce-btn i.mce-i-pastetext,.mce-btn i.mce-i-pasteword,.mce-btn i.mce-i-redo,.mce-btn i.mce-i-removeformat,.mce-btn i.mce-i-spellchecker,.mce-btn i.mce-i-strikethrough,.mce-btn i.mce-i-underline,.mce-btn i.mce-i-undo,.mce-btn i.mce-i-unlink,.mce-btn i.mce-i-wp-media-library,.mce-btn i.mce-i-wp_adv,.mce-btn i.mce-i-wp_fullscreen,.mce-btn i.mce-i-wp_help,.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page,.mce-close{font-family:tinymce,Arial;font-style:normal;font-weight:400;font-variant:normal;font-size:16px;margin-left:0;padding-right:0}.mce-btn i.mce-i-wp_fullscreen,.qt-fullscreen{-ie7-icon:'\e023'}.mce-btn i.mce-i-wp_more,.mce-btn i.mce-i-wp_page{-ie7-icon:'\e027'}.mce-btn i.mce-i-wp_adv{background-color:#a0a5aa}.mce-btn i.mce-i-help,.mce-btn i.mce-i-wp_help{-ie7-icon:'\e016'}* html .row-actions{visibility:visible}* html div.widget-liquid-left,* html div.widget-liquid-right{display:block;position:relative}* html #editorcontainer{padding:0}* html #poststuff h2{margin-left:0}* html .stuffbox,* html .stuffbox input,* html .stuffbox textarea{border:1px solid #DFDFDF}* html .feature-filter .feature-group li{width:145px}* html div.widget-liquid-left{width:99%}* html .widgets-sortables{height:50px}* html a#content_resize{right:-2px}* html .widget-title h4{width:205px}* html #removing-widget .in-widget-title{display:none}* html .media-item .pinkynail{height:32px;width:40px}* html .describe .field input.text,* html .describe .field textarea{width:440px}* html input{border:1px solid #dfdfdf}* html .edit-box{display:inline}* html .postbox-container .meta-box-sortables{height:300px}* html #wpbody-content #screen-options-link-wrap{display:inline-block;width:150px;text-align:center}* html #wpbody-content #contextual-help-link-wrap{display:inline-block;width:100px;text-align:center}* html #adminmenu{margin-left:-80px}* html .folded #adminmenu{margin-left:-22px}* html #wpcontent #adminmenu li.menu-top{display:inline;padding:0;margin:0}* html #wpfooter{margin:0}* html #adminmenu div.wp-menu-image{height:29px}
\ No newline at end of file
index 0a9deda0aa9c51f1fcbef68a20be98c48fe4fbe0..6114a6ebddce8b04940611545527e2db73aa3cdb 100644 (file)
@@ -16,12 +16,12 @@ body {
 }
 
 a {
-       color: #0074a2;
+       color: #0073aa;
        text-decoration: none;
 }
 
 a:hover {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 h1 {
@@ -237,7 +237,7 @@ submit {
        background-color: #ffebe8;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #dbname,
 #uname,
 #pwd,
@@ -333,7 +333,7 @@ body.language-chooser {
        display: block;
        border: 1px solid #ddd;
        background-color: #fff;
-       color: #333;
+       color: #32373c;
        font-size: 16px;
        font-family: Arial, sans-serif;
        font-weight: normal;
@@ -378,7 +378,6 @@ body.language-chooser {
  * HiDPI Displays
  */
 @media print,
-  (-o-min-device-pixel-ratio: 5/4),
   (-webkit-min-device-pixel-ratio: 1.25),
   (min-resolution: 120dpi) {
 
index 5be7a9a82d8148ec187a6b77957750aa91529580..84e5e8111946afe9ee1458761b7af4234ca9e31f 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1;margin:0 20px}body{background:#fff;color:#444;font-family:"Open Sans",sans-serif;margin:140px auto 25px;padding:20px 20px 10px;max-width:700px;-webkit-font-smoothing:subpixel-antialiased;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}a{color:#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 0 7px;font-weight:400}h2{font-size:16px}dd,dt,li,p{padding-bottom:2px;font-size:14px;line-height:1.5}.code,code{font-family:Consolas,Monaco,monospace}dl,ol,ul{padding:5px 22px 5px 5px}a img{border:0}abbr{border:0;font-variant:normal}label{cursor:pointer}#logo{margin:6px 0 14px;border-bottom:none;text-align:center}#logo a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;font-weight:400;line-height:1.3em;margin:-130px auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}.step{margin:20px 0 15px}.step,th{text-align:right;padding:0}.language-chooser.wp-core-ui .step .button.button-large{height:36px;vertical-align:middle;font-size:14px}textarea{border:1px solid #dfdfdf;font-family:"Open Sans",sans-serif;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table{border-collapse:collapse;margin-top:1em;width:100%}.form-table td{margin-bottom:9px;padding:10px 0 10px 20px;border-bottom:8px solid #fff;font-size:14px;vertical-align:top}.form-table th{font-size:14px;text-align:right;padding:16px 0 10px 20px;width:140px;vertical-align:top}.form-table code{line-height:18px;font-size:14px}.form-table p{margin:4px 0 0;font-size:11px}.form-table input{line-height:20px;font-size:15px;padding:3px 5px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}input,submit{font-family:"Open Sans",sans-serif}.form-table input[type=email],.form-table input[type=password],.form-table input[type=text],.form-table input[type=url]{width:206px}.form-table th p{font-weight:400}.form-table.install-success td{vertical-align:middle;padding:16px 0 10px 20px}.form-table.install-success td p{margin:0;font-size:14px}.form-table.install-success td code{margin:0;font-size:18px}#error-page{margin-top:50px}#error-page p{font-size:14px;line-height:18px;margin:25px 0 20px}#error-page code,.code{font-family:Consolas,Monaco,monospace}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 0 5px 5px;padding:5px;text-align:center;width:200px;display:none}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important}.message{border:1px solid #c00;padding:.5em .7em;margin:5px 0 15px;background-color:#ffebe8}#admin_email,#dbhost,#dbname,#pass1,#pass2,#prefix,#pwd,#uname,#user_login{direction:ltr}.rtl input,.rtl submit,.rtl textarea,body.rtl{font-family:Tahoma,sans-serif}:lang(he-il) .rtl input,:lang(he-il) .rtl submit,:lang(he-il) .rtl textarea,:lang(he-il) body.rtl{font-family:Arial,sans-serif}@media only screen and (max-width:799px){body{margin-top:115px}#logo a{margin:-125px auto 30px}}@media screen and (max-width:782px){.form-table{margin-top:0}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table th{padding:20px 0 0}.form-table td{padding:5px 0;border:0;margin:0}input,textarea{font-size:16px}.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td input[type=url],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}body.language-chooser{max-width:300px}.language-chooser select{padding:8px;width:100%;display:block;border:1px solid #ddd;background-color:#fff;color:#333;font-size:16px;font-family:Arial,sans-serif;font-weight:400}.language-chooser p{text-align:left}.screen-reader-input,.screen-reader-text{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.spinner{background:url(../images/spinner.gif) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;visibility:hidden;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}.step .spinner{display:inline-block;margin-top:8px;margin-left:15px;vertical-align:top}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.spinner{background-image:url(../images/spinner-2x.gif)}}
\ 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:#0073aa;text-decoration:none}a:hover{color:#00a0d2}h1{border-bottom:1px solid #dedede;clear:both;color:#666;font-size:24px;margin:30px 0;padding:0 0 7px;font-weight:400}h2{font-size:16px}dd,dt,li,p{padding-bottom:2px;font-size:14px;line-height:1.5}.code,code{font-family:Consolas,Monaco,monospace}dl,ol,ul{padding:5px 22px 5px 5px}a img{border:0}abbr{border:0;font-variant:normal}label{cursor:pointer}#logo{margin:6px 0 14px;border-bottom:none;text-align:center}#logo a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;font-weight:400;line-height:1.3em;margin:-130px auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}.step{margin:20px 0 15px}.step,th{text-align:right;padding:0}.language-chooser.wp-core-ui .step .button.button-large{height:36px;vertical-align:middle;font-size:14px}textarea{border:1px solid #dfdfdf;font-family:"Open Sans",sans-serif;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table{border-collapse:collapse;margin-top:1em;width:100%}.form-table td{margin-bottom:9px;padding:10px 0 10px 20px;border-bottom:8px solid #fff;font-size:14px;vertical-align:top}.form-table th{font-size:14px;text-align:right;padding:16px 0 10px 20px;width:140px;vertical-align:top}.form-table code{line-height:18px;font-size:14px}.form-table p{margin:4px 0 0;font-size:11px}.form-table input{line-height:20px;font-size:15px;padding:3px 5px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}input,submit{font-family:"Open Sans",sans-serif}.form-table input[type=email],.form-table input[type=password],.form-table input[type=text],.form-table input[type=url]{width:206px}.form-table th p{font-weight:400}.form-table.install-success td{vertical-align:middle;padding:16px 0 10px 20px}.form-table.install-success td p{margin:0;font-size:14px}.form-table.install-success td code{margin:0;font-size:18px}#error-page{margin-top:50px}#error-page p{font-size:14px;line-height:18px;margin:25px 0 20px}#error-page code,.code{font-family:Consolas,Monaco,monospace}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 0 5px 5px;padding:5px;text-align:center;width:200px;display:none}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important}.message{border:1px solid #c00;padding:.5em .7em;margin:5px 0 15px;background-color:#ffebe8}#admin_email,#dbhost,#dbname,#pass1,#pass2,#prefix,#pwd,#uname,#user_login{direction:ltr}.rtl input,.rtl submit,.rtl textarea,body.rtl{font-family:Tahoma,sans-serif}:lang(he-il) .rtl input,:lang(he-il) .rtl submit,:lang(he-il) .rtl textarea,:lang(he-il) body.rtl{font-family:Arial,sans-serif}@media only screen and (max-width:799px){body{margin-top:115px}#logo a{margin:-125px auto 30px}}@media screen and (max-width:782px){.form-table{margin-top:0}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table th{padding:20px 0 0}.form-table td{padding:5px 0;border:0;margin:0}input,textarea{font-size:16px}.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td input[type=url],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}body.language-chooser{max-width:300px}.language-chooser select{padding:8px;width:100%;display:block;border:1px solid #ddd;background-color:#fff;color:#32373c;font-size:16px;font-family:Arial,sans-serif;font-weight:400}.language-chooser p{text-align:left}.screen-reader-input,.screen-reader-text{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.spinner{background:url(../images/spinner.gif) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;visibility:hidden;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}.step .spinner{display:inline-block;margin-top:8px;margin-left:15px;vertical-align:top}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.spinner{background-image:url(../images/spinner-2x.gif)}}
\ No newline at end of file
index 28c071c311ef8679c09ba07840a9940bf10d049a..722228fe058dc9c92dfdc8d53d6837a872037bc3 100644 (file)
@@ -16,12 +16,12 @@ body {
 }
 
 a {
-       color: #0074a2;
+       color: #0073aa;
        text-decoration: none;
 }
 
 a:hover {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 h1 {
@@ -237,7 +237,7 @@ submit {
        background-color: #ffebe8;
 }
 
-/* @noflip */
+/* rtl:ignore */
 #dbname,
 #uname,
 #pwd,
@@ -333,7 +333,7 @@ body.language-chooser {
        display: block;
        border: 1px solid #ddd;
        background-color: #fff;
-       color: #333;
+       color: #32373c;
        font-size: 16px;
        font-family: Arial, sans-serif;
        font-weight: normal;
@@ -378,7 +378,6 @@ body.language-chooser {
  * HiDPI Displays
  */
 @media print,
-  (-o-min-device-pixel-ratio: 5/4),
   (-webkit-min-device-pixel-ratio: 1.25),
   (min-resolution: 120dpi) {
 
index 338db62433a0eda43d1950900c9c04bb88d385a9..aa239eba0c43f09cfb94dce81c427873608516a7 100644 (file)
@@ -1 +1 @@
-html{background:#f1f1f1;margin:0 20px}body{background:#fff;color:#444;font-family:"Open Sans",sans-serif;margin:140px auto 25px;padding:20px 20px 10px;max-width:700px;-webkit-font-smoothing:subpixel-antialiased;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}a{color:#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 0 7px;font-weight:400}h2{font-size:16px}dd,dt,li,p{padding-bottom:2px;font-size:14px;line-height:1.5}.code,code{font-family:Consolas,Monaco,monospace}dl,ol,ul{padding:5px 5px 5px 22px}a img{border:0}abbr{border:0;font-variant:normal}label{cursor:pointer}#logo{margin:6px 0 14px;border-bottom:none;text-align:center}#logo a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;font-weight:400;line-height:1.3em;margin:-130px auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}.step{margin:20px 0 15px}.step,th{text-align:left;padding:0}.language-chooser.wp-core-ui .step .button.button-large{height:36px;vertical-align:middle;font-size:14px}textarea{border:1px solid #dfdfdf;font-family:"Open Sans",sans-serif;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table{border-collapse:collapse;margin-top:1em;width:100%}.form-table td{margin-bottom:9px;padding:10px 20px 10px 0;border-bottom:8px solid #fff;font-size:14px;vertical-align:top}.form-table th{font-size:14px;text-align:left;padding:16px 20px 10px 0;width:140px;vertical-align:top}.form-table code{line-height:18px;font-size:14px}.form-table p{margin:4px 0 0;font-size:11px}.form-table input{line-height:20px;font-size:15px;padding:3px 5px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}input,submit{font-family:"Open Sans",sans-serif}.form-table input[type=email],.form-table input[type=password],.form-table input[type=text],.form-table input[type=url]{width:206px}.form-table th p{font-weight:400}.form-table.install-success td{vertical-align:middle;padding:16px 20px 10px 0}.form-table.install-success td p{margin:0;font-size:14px}.form-table.install-success td code{margin:0;font-size:18px}#error-page{margin-top:50px}#error-page p{font-size:14px;line-height:18px;margin:25px 0 20px}#error-page code,.code{font-family:Consolas,Monaco,monospace}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 5px 5px 0;padding:5px;text-align:center;width:200px;display:none}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important}.message{border:1px solid #c00;padding:.5em .7em;margin:5px 0 15px;background-color:#ffebe8}#admin_email,#dbhost,#dbname,#pass1,#pass2,#prefix,#pwd,#uname,#user_login{direction:ltr}.rtl input,.rtl submit,.rtl textarea,body.rtl{font-family:Tahoma,sans-serif}:lang(he-il) .rtl input,:lang(he-il) .rtl submit,:lang(he-il) .rtl textarea,:lang(he-il) body.rtl{font-family:Arial,sans-serif}@media only screen and (max-width:799px){body{margin-top:115px}#logo a{margin:-125px auto 30px}}@media screen and (max-width:782px){.form-table{margin-top:0}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table th{padding:20px 0 0}.form-table td{padding:5px 0;border:0;margin:0}input,textarea{font-size:16px}.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td input[type=url],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}body.language-chooser{max-width:300px}.language-chooser select{padding:8px;width:100%;display:block;border:1px solid #ddd;background-color:#fff;color:#333;font-size:16px;font-family:Arial,sans-serif;font-weight:400}.language-chooser p{text-align:right}.screen-reader-input,.screen-reader-text{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.spinner{background:url(../images/spinner.gif) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;visibility:hidden;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}.step .spinner{display:inline-block;margin-top:8px;margin-right:15px;vertical-align:top}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.spinner{background-image:url(../images/spinner-2x.gif)}}
\ 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:#0073aa;text-decoration:none}a:hover{color:#00a0d2}h1{border-bottom:1px solid #dedede;clear:both;color:#666;font-size:24px;margin:30px 0;padding:0 0 7px;font-weight:400}h2{font-size:16px}dd,dt,li,p{padding-bottom:2px;font-size:14px;line-height:1.5}.code,code{font-family:Consolas,Monaco,monospace}dl,ol,ul{padding:5px 5px 5px 22px}a img{border:0}abbr{border:0;font-variant:normal}label{cursor:pointer}#logo{margin:6px 0 14px;border-bottom:none;text-align:center}#logo a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;font-weight:400;line-height:1.3em;margin:-130px auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}.step{margin:20px 0 15px}.step,th{text-align:left;padding:0}.language-chooser.wp-core-ui .step .button.button-large{height:36px;vertical-align:middle;font-size:14px}textarea{border:1px solid #dfdfdf;font-family:"Open Sans",sans-serif;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table{border-collapse:collapse;margin-top:1em;width:100%}.form-table td{margin-bottom:9px;padding:10px 20px 10px 0;border-bottom:8px solid #fff;font-size:14px;vertical-align:top}.form-table th{font-size:14px;text-align:left;padding:16px 20px 10px 0;width:140px;vertical-align:top}.form-table code{line-height:18px;font-size:14px}.form-table p{margin:4px 0 0;font-size:11px}.form-table input{line-height:20px;font-size:15px;padding:3px 5px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}input,submit{font-family:"Open Sans",sans-serif}.form-table input[type=email],.form-table input[type=password],.form-table input[type=text],.form-table input[type=url]{width:206px}.form-table th p{font-weight:400}.form-table.install-success td{vertical-align:middle;padding:16px 20px 10px 0}.form-table.install-success td p{margin:0;font-size:14px}.form-table.install-success td code{margin:0;font-size:18px}#error-page{margin-top:50px}#error-page p{font-size:14px;line-height:18px;margin:25px 0 20px}#error-page code,.code{font-family:Consolas,Monaco,monospace}#pass-strength-result{background-color:#eee;border-color:#ddd!important;border-style:solid;border-width:1px;margin:5px 5px 5px 0;padding:5px;text-align:center;width:200px;display:none}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c!important}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0!important}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040!important}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c!important}.message{border:1px solid #c00;padding:.5em .7em;margin:5px 0 15px;background-color:#ffebe8}#admin_email,#dbhost,#dbname,#pass1,#pass2,#prefix,#pwd,#uname,#user_login{direction:ltr}.rtl input,.rtl submit,.rtl textarea,body.rtl{font-family:Tahoma,sans-serif}:lang(he-il) .rtl input,:lang(he-il) .rtl submit,:lang(he-il) .rtl textarea,:lang(he-il) body.rtl{font-family:Arial,sans-serif}@media only screen and (max-width:799px){body{margin-top:115px}#logo a{margin:-125px auto 30px}}@media screen and (max-width:782px){.form-table{margin-top:0}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table th{padding:20px 0 0}.form-table td{padding:5px 0;border:0;margin:0}input,textarea{font-size:16px}.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td input[type=url],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}body.language-chooser{max-width:300px}.language-chooser select{padding:8px;width:100%;display:block;border:1px solid #ddd;background-color:#fff;color:#32373c;font-size:16px;font-family:Arial,sans-serif;font-weight:400}.language-chooser p{text-align:right}.screen-reader-input,.screen-reader-text{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.spinner{background:url(../images/spinner.gif) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;visibility:hidden;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:2px 5px 0}.step .spinner{display:inline-block;margin-top:8px;margin-right:15px;vertical-align:top}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.spinner{background-image:url(../images/spinner-2x.gif)}}
\ No newline at end of file
index c0b0bcf5909bb26232e938e1cd69a628cb6392cc..1404e2c6d000285cbcb06fff58ea5584ec9e3fcb 100644 (file)
@@ -8,6 +8,16 @@ body.rtl .press-this a.wp-switch-editor {
        font-family: Tahoma, Arial, sans-serif;
 }
 
+/* Arial is best for RTL headings. */
+.rtl h1,
+.rtl h2,
+.rtl h3,
+.rtl h4,
+.rtl h5,
+.rtl h6 {
+       font-family: Arial, sans-serif;
+       font-weight: bold;
+}
 
 /* he_IL: Remove Tahoma from the font stack. Arial is best for Hebrew. */
 body.locale-he-il,
index 9b5b2a0d3ef76c5bfed226e510f4b1adde7dd6b4..75c8d745ae325a97583c5405ed8fe274ce942694 100644 (file)
@@ -8,6 +8,16 @@ body.rtl .press-this a.wp-switch-editor {
        font-family: Tahoma, Arial, sans-serif;
 }
 
+/* Arial is best for RTL headings. */
+.rtl h1,
+.rtl h2,
+.rtl h3,
+.rtl h4,
+.rtl h5,
+.rtl h6 {
+       font-family: Arial, sans-serif;
+       font-weight: bold;
+}
 
 /* he_IL: Remove Tahoma from the font stack. Arial is best for Hebrew. */
 body.locale-he-il,
index d0bce52ef4e095e4fc86acab705d449ff1ffb3f6..7a7ea511ddf2e90c36779b54e69e5789900781f6 100644 (file)
@@ -22,7 +22,7 @@
        width: 0;
        height: 0;
        margin-right: 8px;
-       border-top: 5px solid #bbb;
+       border-top: 5px solid #b4b9be;
        border-left: 5px solid transparent;
 }
 
@@ -36,7 +36,7 @@
        display: inline-block;
        -webkit-border-radius: 5px;
        border-radius: 5px;
-       background-color: #bbb;
+       background-color: #b4b9be;
        color: #fff;
 }
 
 }
 
 .post-com-count:hover span {
-       background-color: #2ea2cc;
+       background-color: #00a0d2;
 }
 
 .post-com-count:hover:after {
-       border-top: 5px solid #2ea2cc;
+       border-top: 5px solid #00a0d2;
 }
 
 strong .post-com-count {
@@ -57,11 +57,11 @@ strong .post-com-count {
 }
 
 strong .post-com-count span {
-       background-color: #0074a2;
+       background-color: #0073aa;
 }
 
 strong .post-com-count:after {
-       border-top: 5px solid #0074a2;
+       border-top: 5px solid #0073aa;
 }
 
 .column-response .post-com-count {
@@ -108,12 +108,6 @@ strong .post-com-count:after {
        text-align: center;
 }
 
-#replysubmit .spinner {
-       padding: 2px 0 0;
-       vertical-align: top;
-       float: left;
-}
-
 #replysubmit .button {
        margin-left: 5px;
 }
@@ -363,10 +357,6 @@ table.fixed {
        border-bottom: 0 none;
 }
 
-#commentsdiv .spinner {
-       padding-right: 5px;
-}
-
 .sorting-indicator {
        display: none;
        width: 10px;
@@ -416,7 +406,7 @@ tr.wp-locked .locked-indicator {
 }
 
 tr.wp-locked .locked-indicator:before {
-       color: #888;
+       color: #82878c;
        content: '\f160';
        display: inline-block;
        float: right;
@@ -475,17 +465,6 @@ th.sorted a {
        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;
@@ -500,7 +479,7 @@ th.sorted a span {
 th.sorted.asc .sorting-indicator,
 th.desc:hover span.sorting-indicator {
        display: block;
-       background-position: 0 0;
+       background-position: 100% 0;
 }
 
 th.sorted.desc .sorting-indicator,
@@ -571,14 +550,14 @@ th.asc:hover span.sorting-indicator {
 .tablenav .tablenav-pages a:hover,
 .tablenav .tablenav-pages a:focus {
        color: #fff;
-       background: #2ea2cc;
+       background: #00a0d2;
 }
 
 .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;
+       color: #a0a5aa;
        background: #eee;
        background: rgba( 0, 0, 0, 0.05 );
 }
@@ -613,13 +592,13 @@ classes exist in paginate_links() but not seen in list table output. */
 .tablenav .next,
 .tablenav .prev {
        border-color: transparent;
-       color: #0074a2;
+       color: #0073aa;
 }
 
 .tablenav .next:hover,
 .tablenav .prev:hover {
        border-color: transparent;
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .tablenav .view-switch {
@@ -645,7 +624,7 @@ classes exist in paginate_links() but not seen in list table output. */
 }
 
 .view-switch > a:before {
-       color: #bbb;
+       color: #b4b9be;
        display: inline-block;
        float: right;
        font: normal 20px/1 'dashicons';
@@ -665,7 +644,7 @@ classes exist in paginate_links() but not seen in list table output. */
 }
 
 .view-switch a.current:before {
-       color: #0074a2;
+       color: #0073aa;
 }
 
 .view-switch > a + a {
@@ -781,7 +760,7 @@ tr.inline-edit-row td,
 
 #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;
+       border-style: none solid none none;
 }
 
 #wpbody-content .quick-edit-row-post .inline-edit-col-left {
@@ -824,6 +803,7 @@ tr.inline-edit-row td,
 
 .inline-edit-row fieldset .inline-edit-group {
        clear: both;
+       line-height: 2.5;
 }
 
 .inline-edit-row fieldset .inline-edit-group:after {
@@ -850,19 +830,19 @@ tr.inline-edit-row td,
 .inline-edit-row h4 {
        margin: .2em 0;
        padding: 0;
-       line-height: 23px;
+       line-height: 2.5;
 }
 .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;
+       line-height: 2.5;
 }
 
 .inline-edit-row fieldset label.inline-edit-tags {
@@ -878,6 +858,7 @@ tr.inline-edit-row td,
        display: block;
        float: right;
        width: 5em;
+       line-height: 2.5;
 }
 
 .inline-edit-row fieldset label span.input-text-wrap {
@@ -890,17 +871,23 @@ tr.inline-edit-row td,
        padding-left: 0.5em;
 }
 
+.inline-edit-row .inline-edit-or {
+       margin: .2em 0 .2em 6px;
+       line-height: 2.5;
+}
+
 .inline-edit-row .input-text-wrap input[type=text] {
        width: 100%;
 }
 
 .inline-edit-row fieldset label input[type=checkbox] {
-       vertical-align: text-bottom;
+       vertical-align: middle;
 }
 
 .inline-edit-row fieldset label textarea {
        width: 100%;
        height: 4em;
+       vertical-align: top;
 }
 
 #wpbody-content .bulk-edit-row fieldset .inline-edit-group label {
@@ -915,12 +902,6 @@ tr.inline-edit-row td,
        width: 6em;
 }
 
-.inline-edit-save .spinner {
-       padding: 4px 10px 0;
-       vertical-align: top;
-       float: left;
-}
-
 /*     Styling */
 .inline-edit-row h4 {
        text-transform: uppercase;
@@ -929,7 +910,6 @@ tr.inline-edit-row td,
 .inline-edit-row fieldset span.title,
 .inline-edit-row fieldset span.checkbox-title {
        font-style: italic;
-       line-height: 1.8em;
 }
 
 /*     Specific Elements */
@@ -941,7 +921,7 @@ tr.inline-edit-row td,
 .inline-edit-row fieldset input[name=hh],
 .inline-edit-row fieldset input[name=mn] {
        font-size: 12px;
-       width: 2.1em;
+       width: 2.3em;
 }
 
 .inline-edit-row fieldset input[name=aa] {
@@ -1143,7 +1123,11 @@ ul.cat-checklist {
 .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 {
+.plugins tr.active + tr.inactive.update td,
+.plugins .updated td,
+.plugins .updated th,
+.plugins tr.active + tr.inactive.updated th,
+.plugins tr.active + tr.inactive.updated td {
        -webkit-box-shadow: none;
        box-shadow: none;
 }
@@ -1154,8 +1138,9 @@ tr.active.update + tr.plugin-update-tr .plugin-update {
        background-color: #fef7f1;
 }
 
-.plugins .active th.check-column {
-       border-right: 4px solid #2ea2cc;
+.plugins .active th.check-column,
+.plugin-update-tr.active td {
+       border-right: 4px solid #00a0d2;
 }
 
 .plugins .active.update th.check-column,
@@ -1179,7 +1164,9 @@ tr.active.update + tr.plugin-update-tr .plugin-update {
 }
 
 .plugins .update .second,
-.plugins .update .row-actions {
+.plugins .update .row-actions,
+.plugins .updated .second,
+.plugins .updated .row-actions {
        padding-bottom: 0;
 }
 
@@ -1199,19 +1186,68 @@ tr.active.update + tr.plugin-update-tr .plugin-update {
        background-color: rgba(0,0,0,0.03);
 }
 
-.plugin-update-tr .update-message:before {
+.plugin-update-tr .update-message:before,
+.plugin-card .update-now:before,
+.plugin-card .install-now: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 {
+.plugin-update-tr .update-message:before,
+.plugin-card .update-now:before {
+       content: '\f463';
+}
+
+.plugin-update-tr .update-message:before {
+       margin: 0 -2px 0 8px;
+}
+
+.plugin-card .update-now:before,
+.plugin-card .install-now:before {
+       margin: 3px -2px 0 5px;
+}
+
+.plugin-update-tr .updating-message:before,
+.plugin-card .updating-message:before {
+       content: '\f463';
+       -webkit-animation: rotation 2s infinite linear;
+       animation: rotation 2s infinite linear;
+}
+
+@-webkit-keyframes rotation {
+       0% {
+               -webkit-transform: rotate(0deg);
+               transform: rotate(0deg);
+       }
+       100% {
+               -webkit-transform: rotate(-359deg);
+               transform: rotate(-359deg);
+       }
+}
+
+@keyframes rotation {
+       0% {
+               -webkit-transform: rotate(0deg);
+               transform: rotate(0deg);
+       }
+       100% {
+               -webkit-transform: rotate(-359deg);
+               transform: rotate(-359deg);
+       }
+}
+
+.plugin-update-tr .updated-message:before,
+.plugin-card .updated-message:before {
+       color: #79ba49;
+       content: '\f147';
+}
+
+.plugins .plugin-update-tr .plugin-update {
        padding: 0;
        border: none;
        -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
@@ -1223,7 +1259,7 @@ tr.active + tr.plugin-update-tr .plugin-update {
        background-color: #f7fcfe;
 }
 
-tr.active + tr.plugin-update-tr .plugin-update .update-message {
+tr.active + tr.plugin-update-tr:not(.updated) .plugin-update .update-message {
        background-color: #fcf3ef;
 }
 
@@ -1433,16 +1469,16 @@ div.action-links,
 
 /* ms */
 /* Background Color for Site Status */
-.wp-list-table .site-deleted {
+.wp-list-table tr.site-deleted {
        background: #ff8573;
 }
-.wp-list-table .site-spammed {
+.wp-list-table tr.site-spammed {
        background: #faafaa;
 }
-.wp-list-table .site-archived {
+.wp-list-table tr.site-archived {
        background: #ffebe8;
 }
-.wp-list-table .site-mature {
+.wp-list-table tr.site-mature {
        background: #fecac2;
 }
 
@@ -1662,6 +1698,10 @@ div.action-links,
                width: 4.5em;
        }
 
+       .inline-edit-row .inline-edit-or {
+               margin: 0 0 0 6px;
+       }
+
        #bulk-titles div {
                margin: 0.8em 0.3em;
        }
@@ -1873,3 +1913,13 @@ div.action-links,
                box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
        }
 }
+
+/* Smartphone */
+@media screen and (max-width: 600px) {
+       /* Remove slug column from taxonomy list page
+          and role column from users list page */
+       .tags .column-slug,
+       .users .column-role {
+               display: none;
+       }
+}
index 6e547968e9dab5d50854592778cdabd8793e4a60..a096f9fb58782c915eef06fe104ab2d717b30552 100644 (file)
@@ -22,7 +22,7 @@
        width: 0;
        height: 0;
        margin-left: 8px;
-       border-top: 5px solid #bbb;
+       border-top: 5px solid #b4b9be;
        border-right: 5px solid transparent;
 }
 
@@ -36,7 +36,7 @@
        display: inline-block;
        -webkit-border-radius: 5px;
        border-radius: 5px;
-       background-color: #bbb;
+       background-color: #b4b9be;
        color: #fff;
 }
 
 }
 
 .post-com-count:hover span {
-       background-color: #2ea2cc;
+       background-color: #00a0d2;
 }
 
 .post-com-count:hover:after {
-       border-top: 5px solid #2ea2cc;
+       border-top: 5px solid #00a0d2;
 }
 
 strong .post-com-count {
@@ -57,11 +57,11 @@ strong .post-com-count {
 }
 
 strong .post-com-count span {
-       background-color: #0074a2;
+       background-color: #0073aa;
 }
 
 strong .post-com-count:after {
-       border-top: 5px solid #0074a2;
+       border-top: 5px solid #0073aa;
 }
 
 .column-response .post-com-count {
@@ -108,12 +108,6 @@ strong .post-com-count:after {
        text-align: center;
 }
 
-#replysubmit .spinner {
-       padding: 2px 0 0;
-       vertical-align: top;
-       float: right;
-}
-
 #replysubmit .button {
        margin-right: 5px;
 }
@@ -363,10 +357,6 @@ table.fixed {
        border-bottom: 0 none;
 }
 
-#commentsdiv .spinner {
-       padding-left: 5px;
-}
-
 .sorting-indicator {
        display: none;
        width: 10px;
@@ -416,7 +406,7 @@ tr.wp-locked .locked-indicator {
 }
 
 tr.wp-locked .locked-indicator:before {
-       color: #888;
+       color: #82878c;
        content: '\f160';
        display: inline-block;
        float: left;
@@ -475,17 +465,6 @@ th.sorted a {
        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;
@@ -571,14 +550,14 @@ th.asc:hover span.sorting-indicator {
 .tablenav .tablenav-pages a:hover,
 .tablenav .tablenav-pages a:focus {
        color: #fff;
-       background: #2ea2cc;
+       background: #00a0d2;
 }
 
 .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;
+       color: #a0a5aa;
        background: #eee;
        background: rgba( 0, 0, 0, 0.05 );
 }
@@ -613,13 +592,13 @@ classes exist in paginate_links() but not seen in list table output. */
 .tablenav .next,
 .tablenav .prev {
        border-color: transparent;
-       color: #0074a2;
+       color: #0073aa;
 }
 
 .tablenav .next:hover,
 .tablenav .prev:hover {
        border-color: transparent;
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .tablenav .view-switch {
@@ -645,7 +624,7 @@ classes exist in paginate_links() but not seen in list table output. */
 }
 
 .view-switch > a:before {
-       color: #bbb;
+       color: #b4b9be;
        display: inline-block;
        float: left;
        font: normal 20px/1 'dashicons';
@@ -665,7 +644,7 @@ classes exist in paginate_links() but not seen in list table output. */
 }
 
 .view-switch a.current:before {
-       color: #0074a2;
+       color: #0073aa;
 }
 
 .view-switch > a + a {
@@ -824,6 +803,7 @@ tr.inline-edit-row td,
 
 .inline-edit-row fieldset .inline-edit-group {
        clear: both;
+       line-height: 2.5;
 }
 
 .inline-edit-row fieldset .inline-edit-group:after {
@@ -850,19 +830,19 @@ tr.inline-edit-row td,
 .inline-edit-row h4 {
        margin: .2em 0;
        padding: 0;
-       line-height: 23px;
+       line-height: 2.5;
 }
 .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;
+       line-height: 2.5;
 }
 
 .inline-edit-row fieldset label.inline-edit-tags {
@@ -878,6 +858,7 @@ tr.inline-edit-row td,
        display: block;
        float: left;
        width: 5em;
+       line-height: 2.5;
 }
 
 .inline-edit-row fieldset label span.input-text-wrap {
@@ -890,17 +871,23 @@ tr.inline-edit-row td,
        padding-right: 0.5em;
 }
 
+.inline-edit-row .inline-edit-or {
+       margin: .2em 6px .2em 0;
+       line-height: 2.5;
+}
+
 .inline-edit-row .input-text-wrap input[type=text] {
        width: 100%;
 }
 
 .inline-edit-row fieldset label input[type=checkbox] {
-       vertical-align: text-bottom;
+       vertical-align: middle;
 }
 
 .inline-edit-row fieldset label textarea {
        width: 100%;
        height: 4em;
+       vertical-align: top;
 }
 
 #wpbody-content .bulk-edit-row fieldset .inline-edit-group label {
@@ -915,12 +902,6 @@ tr.inline-edit-row td,
        width: 6em;
 }
 
-.inline-edit-save .spinner {
-       padding: 4px 10px 0;
-       vertical-align: top;
-       float: right;
-}
-
 /*     Styling */
 .inline-edit-row h4 {
        text-transform: uppercase;
@@ -929,7 +910,6 @@ tr.inline-edit-row td,
 .inline-edit-row fieldset span.title,
 .inline-edit-row fieldset span.checkbox-title {
        font-style: italic;
-       line-height: 1.8em;
 }
 
 /*     Specific Elements */
@@ -941,7 +921,7 @@ tr.inline-edit-row td,
 .inline-edit-row fieldset input[name=hh],
 .inline-edit-row fieldset input[name=mn] {
        font-size: 12px;
-       width: 2.1em;
+       width: 2.3em;
 }
 
 .inline-edit-row fieldset input[name=aa] {
@@ -1143,7 +1123,11 @@ ul.cat-checklist {
 .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 {
+.plugins tr.active + tr.inactive.update td,
+.plugins .updated td,
+.plugins .updated th,
+.plugins tr.active + tr.inactive.updated th,
+.plugins tr.active + tr.inactive.updated td {
        -webkit-box-shadow: none;
        box-shadow: none;
 }
@@ -1154,8 +1138,9 @@ tr.active.update + tr.plugin-update-tr .plugin-update {
        background-color: #fef7f1;
 }
 
-.plugins .active th.check-column {
-       border-left: 4px solid #2ea2cc;
+.plugins .active th.check-column,
+.plugin-update-tr.active td {
+       border-left: 4px solid #00a0d2;
 }
 
 .plugins .active.update th.check-column,
@@ -1179,7 +1164,9 @@ tr.active.update + tr.plugin-update-tr .plugin-update {
 }
 
 .plugins .update .second,
-.plugins .update .row-actions {
+.plugins .update .row-actions,
+.plugins .updated .second,
+.plugins .updated .row-actions {
        padding-bottom: 0;
 }
 
@@ -1199,19 +1186,68 @@ tr.active.update + tr.plugin-update-tr .plugin-update {
        background-color: rgba(0,0,0,0.03);
 }
 
-.plugin-update-tr .update-message:before {
+.plugin-update-tr .update-message:before,
+.plugin-card .update-now:before,
+.plugin-card .install-now: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 {
+.plugin-update-tr .update-message:before,
+.plugin-card .update-now:before {
+       content: '\f463';
+}
+
+.plugin-update-tr .update-message:before {
+       margin: 0 8px 0 -2px;
+}
+
+.plugin-card .update-now:before,
+.plugin-card .install-now:before {
+       margin: 3px 5px 0 -2px;
+}
+
+.plugin-update-tr .updating-message:before,
+.plugin-card .updating-message:before {
+       content: '\f463';
+       -webkit-animation: rotation 2s infinite linear;
+       animation: rotation 2s infinite linear;
+}
+
+@-webkit-keyframes rotation {
+       0% {
+               -webkit-transform: rotate(0deg);
+               transform: rotate(0deg);
+       }
+       100% {
+               -webkit-transform: rotate(359deg);
+               transform: rotate(359deg);
+       }
+}
+
+@keyframes rotation {
+       0% {
+               -webkit-transform: rotate(0deg);
+               transform: rotate(0deg);
+       }
+       100% {
+               -webkit-transform: rotate(359deg);
+               transform: rotate(359deg);
+       }
+}
+
+.plugin-update-tr .updated-message:before,
+.plugin-card .updated-message:before {
+       color: #79ba49;
+       content: '\f147';
+}
+
+.plugins .plugin-update-tr .plugin-update {
        padding: 0;
        border: none;
        -webkit-box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
@@ -1223,7 +1259,7 @@ tr.active + tr.plugin-update-tr .plugin-update {
        background-color: #f7fcfe;
 }
 
-tr.active + tr.plugin-update-tr .plugin-update .update-message {
+tr.active + tr.plugin-update-tr:not(.updated) .plugin-update .update-message {
        background-color: #fcf3ef;
 }
 
@@ -1433,16 +1469,16 @@ div.action-links,
 
 /* ms */
 /* Background Color for Site Status */
-.wp-list-table .site-deleted {
+.wp-list-table tr.site-deleted {
        background: #ff8573;
 }
-.wp-list-table .site-spammed {
+.wp-list-table tr.site-spammed {
        background: #faafaa;
 }
-.wp-list-table .site-archived {
+.wp-list-table tr.site-archived {
        background: #ffebe8;
 }
-.wp-list-table .site-mature {
+.wp-list-table tr.site-mature {
        background: #fecac2;
 }
 
@@ -1662,6 +1698,10 @@ div.action-links,
                width: 4.5em;
        }
 
+       .inline-edit-row .inline-edit-or {
+               margin: 0 6px 0 0;
+       }
+
        #bulk-titles div {
                margin: 0.8em 0.3em;
        }
@@ -1873,3 +1913,13 @@ div.action-links,
                box-shadow: inset 0 -1px 0 rgba(0,0,0,0.1);
        }
 }
+
+/* Smartphone */
+@media screen and (max-width: 600px) {
+       /* Remove slug column from taxonomy list page
+          and role column from users list page */
+       .tags .column-slug,
+       .users .column-role {
+               display: none;
+       }
+}
index b83770fab201a85dc2e55b409a89ea1c965dc9c7..68386c197bc7b2561ffe8d6fc07329d0ddce4554 100644 (file)
@@ -22,7 +22,7 @@ body {
 }
 
 a {
-       color: #0074a2;
+       color: #0073aa;
        -webkit-transition-property: border, background, color;
        transition-property: border, background, color;
        -webkit-transition-duration: .05s;
@@ -37,7 +37,7 @@ a {
 
 a:hover,
 a:active {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 a:focus {
@@ -54,7 +54,7 @@ p {
 }
 
 .login .message {
-       border-right: 4px solid #2ea2cc;
+       border-right: 4px solid #00a0d2;
        padding: 1px 12px;
        background-color: #fff;
        -webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1);
@@ -180,7 +180,7 @@ p {
 .login #nav a:hover,
 .login #backtoblog a:hover,
 .login h1 a:hover {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .login form .input,
@@ -225,10 +225,6 @@ p {
        margin-right: 8px;
 }
 
-.mobile #login h1 a {
-       width: auto;
-}
-
 body.interim-login {
        height: auto;
 }
index 04d1108a0460cfb8e7b78fa02acf92af25fed54b..adc88f12f9975853b1573ad422ceee8744478752 100644 (file)
@@ -1 +1 @@
-input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#333;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #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-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[type=checkbox]:checked:before,input[type=radio]:checked:before{float:right;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px -4px 0 0;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:right;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 0 0 8px}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:right;margin-left:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-right:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;right:-1px;padding:0 0 0 5px;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:right;margin:13px 1px 5px 5px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:left;margin:0}.network-admin.themes-php p.search-box{clear:right}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}input[type=text].ui-autocomplete-loading{background:url(../images/loading.gif) left center no-repeat;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}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-left:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.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}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-left:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-right:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}.form-field #domain{max-width:none}}@media only screen and (max-width:768px){.form-field input[type=email],.form-field input[type=password],.form-field input[type=text],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media 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-right:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-left:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{background:#f1f1f1;min-width:0;color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em}a{color:#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:dotted thin}p{line-height:1.5}.login .message{border-right:4px solid #2ea2cc;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login #login_error{border-right:4px solid #dd3d36;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#loginform p.submit,.login-action-lostpassword p.submit{border:none;margin:-10px 0 20px}.login *{margin:0;padding:0}.login form{margin-top:20px;margin-right:0;padding:26px 24px 46px;font-weight:400;overflow:hidden;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}.login form .forgetmenot{font-weight:400;float:right;margin-bottom:0}.login .button-primary{float:left}#login form p{margin-bottom:0}#login form p.submit{margin:0;padding:0}.login label{color:#777;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1{text-align:center}.login h1 a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;font-weight:400;line-height:1.3em;margin:0 auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}#login{width:320px;padding:8% 0 0;margin:auto}#login_error,.login .message{margin-right:0;padding:12px}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0 0}.login #backtoblog a,.login #nav a{text-decoration:none;color:#999}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover{color:#2ea2cc}.login form .input,.login input[type=text]{font-size:24px;width:100%;padding:3px;margin:2px 0 16px 6px}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fbfbfb}.ie7 .login form .input,.ie8 .login form .input{font-family:sans-serif}.login #pass-strength-result{width:250px;font-weight:600;margin:12px 0 6px;padding:6px 5px;text-align:center}.mobile #login{padding:20px 0}.mobile #login .message,.mobile #login form,.mobile #login_error{margin-right:0}.mobile #login #backtoblog,.mobile #login #nav{margin-right:8px}.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
+input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 0 0 4px;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-left:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:right;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px -4px 0 0;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:right;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 0 0 8px}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:right;margin-left:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-right:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;right:-1px;padding:0 0 0 5px;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:right;margin:13px 1px 5px 5px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:left;margin:0}.network-admin.themes-php p.search-box{clear:right}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}input[type=email].ui-autocomplete-loading,input[type=text].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:left center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;-webkit-box-shadow:0 1px 2px rgba(30,140,190,.8);box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:right}.ui-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:right;padding:20px 0 20px 10px;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-left:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-left:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}#pressthis-code-wrap{overflow:auto}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;left:10px;bottom:9px;background:0 0;-webkit-transform:skew(-20deg) rotate(-6deg);-ms-transform:skew(-20deg) rotate(-6deg);transform:skew(-20deg) rotate(-6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(-20deg) rotate(-9deg);-ms-transform:skew(-20deg) rotate(-9deg);transform:skew(-20deg) rotate(-9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 9px 8px 12px}.pressthis-bookmarklet span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-left:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-right:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 7px 6px 8px;color:#777}#local-time,#utc-time{padding-right:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:0 3px}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}.request-filesystem-credentials-dialog{display:none}.request-filesystem-credentials-dialog .notification-dialog{top:15%}.request-filesystem-credentials-dialog-content{margin:25px}.request-filesystem-credentials-form input[type=password],.request-filesystem-credentials-form input[type=text]{display:block}.request-filesystem-credentials-dialog input[type=password],.request-filesystem-credentials-dialog input[type=text]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=private_key],.request-filesystem-credentials-dialog label[for=public_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:right;width:48%}.request-filesystem-credentials-dialog .ftp-password{margin-right:4%}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:left}#request-filesystem-credentials-dialog .button:not(:last-child),.request-filesystem-credentials-dialog label[for=ftp]{margin-left:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-left:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-right:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}.form-field #domain{max-width:none}}@media only screen and (max-width:768px){.form-field input[type=email],.form-field input[type=password],.form-field input[type=text],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media only screen and (max-height:480px){.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;position:fixed;top:0;margin:0;right:0;overflow-y: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}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:700}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-right:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-left:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{background:#f1f1f1;min-width:0;color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em}a{color:#0073aa;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;outline:0}a:active,a:hover{color:#00a0d2}a:focus{color:#124964}a:active,a:focus{outline:dotted thin}p{line-height:1.5}.login .message{border-right:4px solid #00a0d2;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login #login_error{border-right:4px solid #dd3d36;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#loginform p.submit,.login-action-lostpassword p.submit{border:none;margin:-10px 0 20px}.login *{margin:0;padding:0}.login form{margin-top:20px;margin-right:0;padding:26px 24px 46px;font-weight:400;overflow:hidden;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}.login form .forgetmenot{font-weight:400;float:right;margin-bottom:0}.login .button-primary{float:left}#login form p{margin-bottom:0}#login form p.submit{margin:0;padding:0}.login label{color:#777;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1{text-align:center}.login h1 a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;font-weight:400;line-height:1.3em;margin:0 auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}#login{width:320px;padding:8% 0 0;margin:auto}#login_error,.login .message{margin-right:0;padding:12px}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0 0}.login #backtoblog a,.login #nav a{text-decoration:none;color:#999}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover{color:#00a0d2}.login form .input,.login input[type=text]{font-size:24px;width:100%;padding:3px;margin:2px 0 16px 6px}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fbfbfb}.ie7 .login form .input,.ie8 .login form .input{font-family:sans-serif}.login #pass-strength-result{width:250px;font-weight:600;margin:12px 0 6px;padding:6px 5px;text-align:center}.mobile #login{padding:20px 0}.mobile #login .message,.mobile #login form,.mobile #login_error{margin-right:0}.mobile #login #backtoblog,.mobile #login #nav{margin-right:8px}body.interim-login{height:auto}.interim-login #login{padding:0;margin:5px auto 20px}.interim-login.login h1 a{width:auto}.interim-login #login_error,.interim-login.login .message{margin:0 0 16px}.interim-login.login form{margin:0}@-ms-viewport{width:device-width}@media screen and (max-width:782px){.interim-login input[type=checkbox]{height:16px;width:16px}.interim-login input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px -4px 0 0}}
\ No newline at end of file
index f6747f18899ac15bf2fd93a924124b966ed88966..250b0a4c5568afbda259586593d4765590aca0ec 100644 (file)
@@ -22,7 +22,7 @@ body {
 }
 
 a {
-       color: #0074a2;
+       color: #0073aa;
        -webkit-transition-property: border, background, color;
        transition-property: border, background, color;
        -webkit-transition-duration: .05s;
@@ -37,7 +37,7 @@ a {
 
 a:hover,
 a:active {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 a:focus {
@@ -54,7 +54,7 @@ p {
 }
 
 .login .message {
-       border-left: 4px solid #2ea2cc;
+       border-left: 4px solid #00a0d2;
        padding: 1px 12px;
        background-color: #fff;
        -webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1);
@@ -180,7 +180,7 @@ p {
 .login #nav a:hover,
 .login #backtoblog a:hover,
 .login h1 a:hover {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .login form .input,
@@ -225,10 +225,6 @@ p {
        margin-left: 8px;
 }
 
-.mobile #login h1 a {
-       width: auto;
-}
-
 body.interim-login {
        height: auto;
 }
index bdcfe5f65b53575b192f0155b6c9462e8caa64d4..72d4e4cc5c8014e3c00229a730c4d798f3ad3b2f 100644 (file)
@@ -1 +1 @@
-input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#333;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #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-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[type=checkbox]:checked:before,input[type=radio]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:left;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;left:-1px;padding:0 5px 0 0;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=text].ui-autocomplete-loading{background:url(../images/loading.gif) right center no-repeat;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}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.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}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-left:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}.form-field #domain{max-width:none}}@media only screen and (max-width:768px){.form-field input[type=email],.form-field input[type=password],.form-field input[type=text],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media 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-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-right:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{background:#f1f1f1;min-width:0;color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em}a{color:#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:dotted thin}p{line-height:1.5}.login .message{border-left:4px solid #2ea2cc;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login #login_error{border-left:4px solid #dd3d36;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#loginform p.submit,.login-action-lostpassword p.submit{border:none;margin:-10px 0 20px}.login *{margin:0;padding:0}.login form{margin-top:20px;margin-left:0;padding:26px 24px 46px;font-weight:400;overflow:hidden;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}.login form .forgetmenot{font-weight:400;float:left;margin-bottom:0}.login .button-primary{float:right}#login form p{margin-bottom:0}#login form p.submit{margin:0;padding:0}.login label{color:#777;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1{text-align:center}.login h1 a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;font-weight:400;line-height:1.3em;margin:0 auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}#login{width:320px;padding:8% 0 0;margin:auto}#login_error,.login .message{margin-left:0;padding:12px}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0 0}.login #backtoblog a,.login #nav a{text-decoration:none;color:#999}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover{color:#2ea2cc}.login form .input,.login input[type=text]{font-size:24px;width:100%;padding:3px;margin:2px 6px 16px 0}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fbfbfb}.ie7 .login form .input,.ie8 .login form .input{font-family:sans-serif}.login #pass-strength-result{width:250px;font-weight:600;margin:12px 0 6px;padding:6px 5px;text-align:center}.mobile #login{padding:20px 0}.mobile #login .message,.mobile #login form,.mobile #login_error{margin-left:0}.mobile #login #backtoblog,.mobile #login #nav{margin-left:8px}.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
+input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-right:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:left;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;left:-1px;padding:0 5px 0 0;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=email].ui-autocomplete-loading,input[type=text].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:right center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;-webkit-box-shadow:0 1px 2px rgba(30,140,190,.8);box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:left}.ui-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}#pressthis-code-wrap{overflow:auto}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);-ms-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-ms-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis-bookmarklet span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-left:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 8px 6px 7px;color:#777}#local-time,#utc-time{padding-left:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:0 3px}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}.request-filesystem-credentials-dialog{display:none}.request-filesystem-credentials-dialog .notification-dialog{top:15%}.request-filesystem-credentials-dialog-content{margin:25px}.request-filesystem-credentials-form input[type=password],.request-filesystem-credentials-form input[type=text]{display:block}.request-filesystem-credentials-dialog input[type=password],.request-filesystem-credentials-dialog input[type=text]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=private_key],.request-filesystem-credentials-dialog label[for=public_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:left;width:48%}.request-filesystem-credentials-dialog .ftp-password{margin-left:4%}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:right}#request-filesystem-credentials-dialog .button:not(:last-child),.request-filesystem-credentials-dialog label[for=ftp]{margin-right:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-left:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}.form-field #domain{max-width:none}}@media only screen and (max-width:768px){.form-field input[type=email],.form-field input[type=password],.form-field input[type=text],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media only screen and (max-height:480px){.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;position:fixed;top:0;margin:0;left:0;overflow-y: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}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:700}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-left:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-right:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{background:#f1f1f1;min-width:0;color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em}a{color:#0073aa;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;outline:0}a:active,a:hover{color:#00a0d2}a:focus{color:#124964}a:active,a:focus{outline:dotted thin}p{line-height:1.5}.login .message{border-left:4px solid #00a0d2;background-color:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.login #login_error{border-left:4px solid #dd3d36;background:#fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#loginform p.submit,.login-action-lostpassword p.submit{border:none;margin:-10px 0 20px}.login *{margin:0;padding:0}.login form{margin-top:20px;margin-left:0;padding:26px 24px 46px;font-weight:400;overflow:hidden;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.13);box-shadow:0 1px 3px rgba(0,0,0,.13)}.login form .forgetmenot{font-weight:400;float:left;margin-bottom:0}.login .button-primary{float:right}#login form p{margin-bottom:0}#login form p.submit{margin:0;padding:0}.login label{color:#777;font-size:14px}.login form .forgetmenot label{font-size:12px;line-height:19px}.login h1{text-align:center}.login h1 a{background-image:url(../images/w-logo-blue.png?ver=20131202);background-image:none,url(../images/wordpress-logo.svg?ver=20131107);-webkit-background-size:84px;background-size:84px;background-position:center top;background-repeat:no-repeat;color:#999;height:84px;font-size:20px;font-weight:400;line-height:1.3em;margin:0 auto 25px;padding:0;text-decoration:none;width:84px;text-indent:-9999px;outline:0;overflow:hidden;display:block}#login{width:320px;padding:8% 0 0;margin:auto}#login_error,.login .message{margin-left:0;padding:12px}.login #backtoblog,.login #nav{font-size:13px;padding:0 24px}.login #nav{margin:24px 0 0}#backtoblog{margin:16px 0 0}.login #backtoblog a,.login #nav a{text-decoration:none;color:#999}.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover{color:#00a0d2}.login form .input,.login input[type=text]{font-size:24px;width:100%;padding:3px;margin:2px 6px 16px 0}.login form .input,.login form input[type=checkbox],.login input[type=text]{background:#fbfbfb}.ie7 .login form .input,.ie8 .login form .input{font-family:sans-serif}.login #pass-strength-result{width:250px;font-weight:600;margin:12px 0 6px;padding:6px 5px;text-align:center}.mobile #login{padding:20px 0}.mobile #login .message,.mobile #login form,.mobile #login_error{margin-left:0}.mobile #login #backtoblog,.mobile #login #nav{margin-left:8px}body.interim-login{height:auto}.interim-login #login{padding:0;margin:5px auto 20px}.interim-login.login h1 a{width:auto}.interim-login #login_error,.interim-login.login .message{margin:0 0 16px}.interim-login.login form{margin:0}@-ms-viewport{width:device-width}@media screen and (max-width:782px){.interim-login input[type=checkbox]{height:16px;width:16px}.interim-login input[type=checkbox]:checked:before{width:16px;font:400 21px/1 dashicons;margin:-3px 0 0 -4px}}
\ No newline at end of file
index dd34188c7f631814f42eb779583bc8e7685ba04d..fdd2400e0d9d6010705dafd03ebdad63f8d6d2ac 100644 (file)
        margin-top: -22px;
        -webkit-border-radius: 22px;
        border-radius: 22px;
-       background-color: #0074a2;
+       background-color: #0073aa;
        -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);
 }
 
 .find-box-search .spinner {
        float: none;
-       right: 110px;
+       right: 105px;
        position: absolute;
-       top: 2px;
 }
 
 .find-box-search,
 }
 
 #find-posts-close:hover {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 #find-posts-close:before {
@@ -390,7 +389,7 @@ form.upgrade .hint {
 }
 
 .drag-drop #drag-drop-area {
-       border: 4px dashed #bbb;
+       border: 4px dashed #b4b9be;
        height: 200px;
 }
 
@@ -400,7 +399,7 @@ form.upgrade .hint {
 }
 
 .drag-drop-inside p {
-       color: #aaa;
+       color: #a0a5aa;
        font-size: 14px;
        margin: 5px 0;
        display: none;
@@ -495,7 +494,7 @@ border color while dragging a file over the uploader drop area */
 
 .upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,
 .upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .upload-php .mode-grid .media-sidebar .media-uploader-status.errors h3 {
@@ -510,7 +509,7 @@ border color while dragging a file over the uploader drop area */
        bottom: auto;
        padding-top: 0;
        margin-top: 0;
-       border: 4px dashed #bbb;
+       border: 4px dashed #b4b9be;
 }
 
 .media-frame.mode-select .attachments-browser.fixed .attachments {
@@ -911,8 +910,6 @@ border color while dragging a file over the uploader drop area */
 .wp_attachment_image .spinner,
 .A1B1 .spinner {
        float: right;
-       padding: 0 0 4px 0;
-       vertical-align: bottom;
 }
 
 .imgedit-menu {
@@ -944,7 +941,7 @@ border color while dragging a file over the uploader drop area */
 .imgedit-menu div:hover {
        border-color: #c1c1c1;
        background-color: #eaeaea;
-       color: #333;
+       color: #32373c;
 }
 
 .imgedit-menu div.disabled {
@@ -1092,7 +1089,6 @@ audio, video {
  * HiDPI Displays
  */
 @media print,
-  (-o-min-device-pixel-ratio: 5/4),
   (-webkit-min-device-pixel-ratio: 1.25),
   (min-resolution: 120dpi) {
        .imgedit-wait {
index c01b71f44e4f1bd96d8b471af95896e853575dfb..c9d9cd692e29373a96160004fce02229b14adb76 100644 (file)
        margin-top: -22px;
        -webkit-border-radius: 22px;
        border-radius: 22px;
-       background-color: #0074a2;
+       background-color: #0073aa;
        -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);
 }
 
 .find-box-search .spinner {
        float: none;
-       left: 110px;
+       left: 105px;
        position: absolute;
-       top: 2px;
 }
 
 .find-box-search,
 }
 
 #find-posts-close:hover {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 #find-posts-close:before {
@@ -390,7 +389,7 @@ form.upgrade .hint {
 }
 
 .drag-drop #drag-drop-area {
-       border: 4px dashed #bbb;
+       border: 4px dashed #b4b9be;
        height: 200px;
 }
 
@@ -400,7 +399,7 @@ form.upgrade .hint {
 }
 
 .drag-drop-inside p {
-       color: #aaa;
+       color: #a0a5aa;
        font-size: 14px;
        margin: 5px 0;
        display: none;
@@ -495,7 +494,7 @@ border color while dragging a file over the uploader drop area */
 
 .upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,
 .upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .upload-php .mode-grid .media-sidebar .media-uploader-status.errors h3 {
@@ -510,7 +509,7 @@ border color while dragging a file over the uploader drop area */
        bottom: auto;
        padding-top: 0;
        margin-top: 0;
-       border: 4px dashed #bbb;
+       border: 4px dashed #b4b9be;
 }
 
 .media-frame.mode-select .attachments-browser.fixed .attachments {
@@ -911,8 +910,6 @@ border color while dragging a file over the uploader drop area */
 .wp_attachment_image .spinner,
 .A1B1 .spinner {
        float: left;
-       padding: 0 0 4px 0;
-       vertical-align: bottom;
 }
 
 .imgedit-menu {
@@ -944,7 +941,7 @@ border color while dragging a file over the uploader drop area */
 .imgedit-menu div:hover {
        border-color: #c1c1c1;
        background-color: #eaeaea;
-       color: #333;
+       color: #32373c;
 }
 
 .imgedit-menu div.disabled {
@@ -1092,7 +1089,6 @@ audio, video {
  * HiDPI Displays
  */
 @media print,
-  (-o-min-device-pixel-ratio: 5/4),
   (-webkit-min-device-pixel-ratio: 1.25),
   (min-resolution: 120dpi) {
        .imgedit-wait {
index 40bd5f99527c05467bad1d16e0c5519387f2b294..22927dd9ff6f5c77c70e1a9839dbe4fe3a2c1c82 100644 (file)
@@ -101,10 +101,6 @@ ul.add-menu-item-tabs li {
        margin-top: 1px;
 }
 
-.menu-edit p {
-       margin: .3em 0 .6em;
-}
-
 .menu-edit #post-body-content h3 {
        margin: 1em 0 10px;
 }
@@ -216,8 +212,16 @@ ul.add-menu-item-tabs li {
        margin-top: -2px;
 }
 
-.widefat td.menu-location-menus {
-       padding-bottom: 5px;
+.widefat .menu-locations tr + tr td {
+       padding-top: 0;
+}
+
+.widefat .menu-locations td {
+       vertical-align: middle;
+}
+
+.menu-location-title label {
+       font-weight: bold;
 }
 
 .menu-location-menus select {
@@ -259,7 +263,7 @@ ul.add-menu-item-tabs li {
 }
 
 .js .input-with-default-title {
-       color: #aaa;
+       color: #a0a5aa;
        font-style: italic;
 }
 
@@ -345,11 +349,6 @@ ul.add-menu-item-tabs li {
        float: left;
 }
 
-.postbox .spinner {
-       display: none;
-       vertical-align: middle;
-}
-
 .button-controls {
        clear:both;
        margin: 10px 0;
@@ -404,6 +403,11 @@ ul.add-menu-item-tabs li {
        width: 190px;
 }
 
+.quick-search-wrap .spinner {
+       float: none;
+       margin: 0 5px;
+}
+
 .nav-menus-php .list-wrap {
        display: none;
        clear: both;
@@ -671,7 +675,6 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
 
 .description-thin {
        width: 190px;
-       height: 40px;
 }
 
 .description-wide {
@@ -709,14 +712,14 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
 }
 
 .nav-menus-php .submitbox .submitcancel {
-       border-bottom: 1px solid #0074a2;
+       border-bottom: 1px solid #0073aa;
        padding: 1px 2px;
-       color: #0074a2;
+       color: #0073aa;
        text-decoration: none;
 }
 
 .nav-menus-php .submitbox .submitcancel:hover {
-       background: #0074a2;
+       background: #0073aa;
        color: #fff;
 }
 
@@ -825,13 +828,17 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
        .menu-item-settings .description-thin,
        .menu-item-settings .description-wide {
                width: 100%;
-               height: auto;
        }
 
        .menu-item-settings input {
                width: 100%;
        }
 
+       .menu-item-settings input[type="checkbox"],
+       .menu-item-settings input[type="radio"] {
+               width: 25px;
+       }
+
        .menu-settings dl {
                padding-right: 0;
        }
index 2ac58e3209044be50a0d7535f18262995a3e46d4..b4ef126fc7a615fc1e257f91183abd9797f71206 100644 (file)
@@ -101,10 +101,6 @@ ul.add-menu-item-tabs li {
        margin-top: 1px;
 }
 
-.menu-edit p {
-       margin: .3em 0 .6em;
-}
-
 .menu-edit #post-body-content h3 {
        margin: 1em 0 10px;
 }
@@ -216,8 +212,16 @@ ul.add-menu-item-tabs li {
        margin-top: -2px;
 }
 
-.widefat td.menu-location-menus {
-       padding-bottom: 5px;
+.widefat .menu-locations tr + tr td {
+       padding-top: 0;
+}
+
+.widefat .menu-locations td {
+       vertical-align: middle;
+}
+
+.menu-location-title label {
+       font-weight: bold;
 }
 
 .menu-location-menus select {
@@ -259,7 +263,7 @@ ul.add-menu-item-tabs li {
 }
 
 .js .input-with-default-title {
-       color: #aaa;
+       color: #a0a5aa;
        font-style: italic;
 }
 
@@ -345,11 +349,6 @@ ul.add-menu-item-tabs li {
        float: right;
 }
 
-.postbox .spinner {
-       display: none;
-       vertical-align: middle;
-}
-
 .button-controls {
        clear:both;
        margin: 10px 0;
@@ -404,6 +403,11 @@ ul.add-menu-item-tabs li {
        width: 190px;
 }
 
+.quick-search-wrap .spinner {
+       float: none;
+       margin: 0 5px;
+}
+
 .nav-menus-php .list-wrap {
        display: none;
        clear: both;
@@ -671,7 +675,6 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
 
 .description-thin {
        width: 190px;
-       height: 40px;
 }
 
 .description-wide {
@@ -709,14 +712,14 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
 }
 
 .nav-menus-php .submitbox .submitcancel {
-       border-bottom: 1px solid #0074a2;
+       border-bottom: 1px solid #0073aa;
        padding: 1px 2px;
-       color: #0074a2;
+       color: #0073aa;
        text-decoration: none;
 }
 
 .nav-menus-php .submitbox .submitcancel:hover {
-       background: #0074a2;
+       background: #0073aa;
        color: #fff;
 }
 
@@ -825,13 +828,17 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
        .menu-item-settings .description-thin,
        .menu-item-settings .description-wide {
                width: 100%;
-               height: auto;
        }
 
        .menu-item-settings input {
                width: 100%;
        }
 
+       .menu-item-settings input[type="checkbox"],
+       .menu-item-settings input[type="radio"] {
+               width: 25px;
+       }
+
        .menu-settings dl {
                padding-left: 0;
        }
diff --git a/wp-admin/css/press-this-editor-rtl.css b/wp-admin/css/press-this-editor-rtl.css
new file mode 100644 (file)
index 0000000..74d2c25
--- /dev/null
@@ -0,0 +1,123 @@
+/*
+Press This TinyMCE editor styles :)
+*/
+
+
+/**
+* Links
+*/
+@import url("//fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,600,700");
+a {
+       color: #0073aa;
+}
+
+a:visited {
+       color: #0073aa;
+}
+
+a:hover,
+a:focus,
+a:active {
+       color: #00a0d2;
+}
+
+
+/**
+* Lists
+*/
+ul,
+ol {
+       margin: 0 3em 1.5em 0;
+}
+
+ul {
+       list-style: disc;
+}
+
+ol {
+       list-style: decimal;
+}
+
+li > ul,
+li > ol {
+       margin-bottom: 0;
+       margin-right: 1.5em;
+}
+
+dt {
+       font-weight: 700;
+}
+
+dd {
+       margin: 0 1.5em 1.5em;
+}
+
+
+/**
+* Media
+*
+* Basic image and object styles
+*/
+img {
+       max-width: 100%;
+       height: auto;
+}
+
+/* Makes sure embeds and iframes fit inside their containers */
+embed,
+iframe,
+object {
+       max-width: 100%;
+}
+
+
+/**
+* TinyMCE styles
+*
+* Pretty dang good.
+*/
+body {
+       color: #404040;
+       font-family: "Open Sans", Helvetica, Arial, sans-serif;
+       font-size: 20px;
+       font-weight: 400;
+       line-height: 1.6;
+}
+@media (max-width: 900px) {
+       body#tinymce {
+               padding-top: 30px !important;
+       }
+}
+@media (max-width: 640px) {
+       body {
+               font-size: 16px;
+       }
+}
+@media (max-width: 320px) {
+       body {
+               margin: 0 15px;
+       }
+}
+
+#tinymce b,
+#tinymce strong {
+       /* overrides TinyMCE's !important. Woohoo. */
+       font-weight: 700 !important;
+}
+
+blockquote {
+       margin: 1em 1.5em;
+       color: #9ea7af;
+       font-size: em(25px);
+       font-style: italic;
+}
+@media (max-width: 900px) {
+       blockquote {
+               margin: 1.5em 1em;
+       }
+}
+
+ul,
+ol {
+       margin: 0 .75em 1.5em 0;
+}
diff --git a/wp-admin/css/press-this-editor.css b/wp-admin/css/press-this-editor.css
new file mode 100644 (file)
index 0000000..886b8f4
--- /dev/null
@@ -0,0 +1,123 @@
+/*
+Press This TinyMCE editor styles :)
+*/
+
+
+/**
+* Links
+*/
+@import url("//fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,600,700");
+a {
+       color: #0073aa;
+}
+
+a:visited {
+       color: #0073aa;
+}
+
+a:hover,
+a:focus,
+a:active {
+       color: #00a0d2;
+}
+
+
+/**
+* Lists
+*/
+ul,
+ol {
+       margin: 0 0 1.5em 3em;
+}
+
+ul {
+       list-style: disc;
+}
+
+ol {
+       list-style: decimal;
+}
+
+li > ul,
+li > ol {
+       margin-bottom: 0;
+       margin-left: 1.5em;
+}
+
+dt {
+       font-weight: 700;
+}
+
+dd {
+       margin: 0 1.5em 1.5em;
+}
+
+
+/**
+* Media
+*
+* Basic image and object styles
+*/
+img {
+       max-width: 100%;
+       height: auto;
+}
+
+/* Makes sure embeds and iframes fit inside their containers */
+embed,
+iframe,
+object {
+       max-width: 100%;
+}
+
+
+/**
+* TinyMCE styles
+*
+* Pretty dang good.
+*/
+body {
+       color: #404040;
+       font-family: "Open Sans", Helvetica, Arial, sans-serif;
+       font-size: 20px;
+       font-weight: 400;
+       line-height: 1.6;
+}
+@media (max-width: 900px) {
+       body#tinymce {
+               padding-top: 30px !important;
+       }
+}
+@media (max-width: 640px) {
+       body {
+               font-size: 16px;
+       }
+}
+@media (max-width: 320px) {
+       body {
+               margin: 0 15px;
+       }
+}
+
+#tinymce b,
+#tinymce strong {
+       /* overrides TinyMCE's !important. Woohoo. */
+       font-weight: 700 !important;
+}
+
+blockquote {
+       margin: 1em 1.5em;
+       color: #9ea7af;
+       font-size: em(25px);
+       font-style: italic;
+}
+@media (max-width: 900px) {
+       blockquote {
+               margin: 1.5em 1em;
+       }
+}
+
+ul,
+ol {
+       margin: 0 0 1.5em .75em;
+}
index 4773ba499ac7b3fd6979c8104f8cbd6db6ade9d5..14084390b7cf9204e672cc814c420780bd8093bd 100644 (file)
-.press-this #message {
-       border-right: 4px solid #7ad03a;
-       padding: 1px 12px;
+/*
+Press This styles :)
+*/
+
+
+/**
+* Normalize
+*
+* normalize.css v3.0.0 | MIT License | git.io/normalize
+*/
+html {
+       font-family: sans-serif;
+       -ms-text-size-adjust: 100%;
+       -webkit-text-size-adjust: 100%;
+}
+
+body {
+       margin: 0;
+}
+
+*,
+*:before,
+*:after {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi) {
+       *,
+       *:before,
+       *:after {
+               -webkit-font-smoothing: antialiased;
+       }
+}
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+       display: block;
+}
+
+audio,
+canvas,
+progress,
+video {
+       display: inline-block;
+       vertical-align: baseline;
+}
+
+audio:not([controls]) {
+       display: none;
+       height: 0;
+}
+
+[hidden],
+template {
+       display: none;
+}
+
+a {
+       background: transparent;
+}
+
+a:active,
+a:hover {
+       outline: 0;
+}
+
+abbr[title] {
+       border-bottom: 1px dotted;
+}
+
+b,
+strong {
+       font-weight: bold;
+}
+
+dfn {
+       font-style: italic;
+}
+
+h1 {
+       font-size: 2em;
+       margin: 0.67em 0;
+}
+
+mark {
+       background: #ff0;
+       color: #000;
+}
+
+small {
+       font-size: 80%;
+}
+
+sub,
+sup {
+       font-size: 75%;
+       line-height: 0;
+       position: relative;
+       vertical-align: baseline;
+}
+
+sup {
+       top: -0.5em;
+}
+
+sub {
+       bottom: -0.25em;
+}
+
+img {
+       border: 0;
+}
+
+svg:not(:root) {
+       overflow: hidden;
+}
+
+figure {
+       margin: 1em 40px;
+}
+
+hr {
+       -webkit-box-sizing: content-box;
+       -moz-box-sizing: content-box;
+       box-sizing: content-box;
+       height: 0;
+}
+
+pre {
+       overflow: auto;
+}
+
+code,
+kbd,
+pre,
+samp {
+       font-family: monospace, monospace;
+       font-size: 1em;
+}
+
+button,
+input,
+optgroup,
+select,
+textarea {
+       color: inherit;
+       font: inherit;
+       margin: 0;
+}
+
+button {
+       overflow: visible;
+}
+
+button,
+select {
+       text-transform: none;
+}
+
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+       -webkit-appearance: button;
+       cursor: pointer;
+}
+
+button[disabled],
+html input[disabled] {
+       cursor: default;
+}
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+       border: 0;
+       padding: 0;
+}
+
+input {
+       line-height: normal;
+}
+
+input[type="checkbox"],
+input[type="radio"] {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       padding: 0;
+}
+
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+       height: auto;
+}
+
+input[type="search"] {
+       -webkit-appearance: textfield;
+       -webkit-box-sizing: content-box;
+       -moz-box-sizing: content-box;
+       box-sizing: content-box;
+}
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+       -webkit-appearance: none;
+}
+
+fieldset {
+       border: 0;
+       margin: 0;
+       padding: 0;
+}
+
+legend {
+       border: 0;
+       padding: 0;
+}
+
+textarea {
+       overflow: auto;
+}
+
+optgroup {
+       font-weight: bold;
+}
+
+table {
+       border-collapse: collapse;
+       border-spacing: 0;
+}
+
+td,
+th {
+       padding: 0;
+}
+
+.clearfix:before,
+.clearfix:after {
+       content: "";
+       display: table;
+}
+.clearfix:after {
+       clear: both;
+}
+
+.hide-if-js {
+       display: none;
+}
+
+.screen-reader-text {
+       position: absolute;
+       margin: -1px;
+       padding: 0;
+       height: 1px;
+       width: 1px;
+       overflow: hidden;
+       clip: rect(0 0 0 0);
+       border: 0;
+}
+
+
+/**
+* Typography
+*
+* Base element typographic styles.
+*/
+body,
+button,
+input,
+select,
+textarea {
+       color: #404040;
+       font-family: "Open Sans", Helvetica, Arial, sans-serif;
+       font-size: 20px;
+       font-weight: 400;
+       line-height: 1.6;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+       clear: both;
+}
+
+p {
+       margin-bottom: 1.5em;
+}
+
+b,
+strong {
+       font-weight: 700;
+}
+
+
+/**
+* Buttons
+*
+* Pushing buttons is what I do.
+*/
+
+.button-subtle,
+.scan-submit {
+       display: inline-block;
+       margin: 0;
+       padding: 0 10px 1px;
+       border-width: 1px;
+       border-style: solid;
+       -webkit-border-radius: 3px;
+       border-radius: 3px;
+       font-size: 13px;
+       line-height: 2;
+       text-decoration: none;
+       white-space: nowrap;
+       cursor: pointer;
+       -webkit-appearance: none;
+}
+
+.button-subtle {
+       background: none;
+       border: 0;
+       color: #0073aa;
+}
+
+.button-subtle:visited {
+       color: #0073aa;
+}
+
+.button-subtle:focus,
+.button-subtle:hover,
+.button-subtle:active,
+.edit-post-link:focus,
+.edit-post-link:hover,
+.edit-post-link:active {
+       color: #00a0d2;
+}
+
+.button-subtle:focus,
+.button-subtle:active,
+.edit-post-link:focus,
+.edit-post-link:active {
+       outline: 0;
+       text-decoration: underline;
+}
+
+.preview-button {
+       margin-left: 5px;
+}
+
+.button-reset {
+       margin: 0;
+       padding: 0;
+       border: 0;
+       background: none;
+       cursor: pointer;
+       -webkit-appearance: none;
+}
+
+.button-reset:focus {
+       outline: 0;
+}
+
+.button-link {
+       margin: 0;
+       padding: 0;
+       border: 0;
+       background: none;
+       color: #0073aa;
+       cursor: pointer;
+       -webkit-appearance: none;
+}
+
+.button-link:hover,
+.button-link:active,
+.button-link:focus {
+       color: #00a0d2;
+       text-decoration: underline;
+}
+
+
+/**
+* Forms
+*
+* So many input types.
+*/
+button,
+input,
+select,
+textarea {
+       font-size: 100%;
+       margin: 0;
+       vertical-align: baseline;
+       *vertical-align: middle;
+}
+
+[type="checkbox"],
+[type="radio"] {
+       padding: 0;
+}
+
+[type="search"] {
+       -webkit-appearance: textfield;
+       -webkit-box-sizing: content-box;
+       -moz-box-sizing: content-box;
+       box-sizing: content-box;
+}
+
+[type="search"]::-webkit-search-decoration {
+       -webkit-appearance: none;
+}
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+       border: 0;
+       padding: 0;
+}
+
+[type="text"],
+[type="email"],
+[type="url"],
+[type="password"],
+[type="search"],
+textarea {
+       padding: 0.4em 0.75em;
+       color: #32373c;
+       border: 1px solid #ccc;
+}
+
+[type="text"]:focus,
+[type="email"]:focus,
+[type="url"]:focus,
+[type="password"]:focus,
+[type="search"]:focus,
+textarea:focus {
+       color: #32373c;
+       outline: 0;
+}
+
+textarea {
+       overflow: auto;
+       padding-right: 3px;
+       vertical-align: top;
+}
+
+
+/**
+* Links
+*/
+a {
+       color: #0073aa;
+}
+
+a:visited {
+       color: #0073aa;
+}
+
+a:hover,
+a:focus,
+a:active {
+       color: #00a0d2;
+}
+
+
+/**
+* Lists
+*/
+ul,
+ol {
+       margin: 0 3em 1.5em 0;
+}
+
+ul {
+       list-style: disc;
+}
+
+ol {
+       list-style: decimal;
+}
+
+li > ul,
+li > ol {
+       margin-bottom: 0;
+       margin-right: 1.5em;
+}
+
+dt {
+       font-weight: 700;
+}
+
+dd {
+       margin: 0 1.5em 1.5em;
+}
+
+
+/**
+* Post formats
+*
+* Complete styles for post formats UI
+*/
+/* TODO if we remove the <br> during merge, this can go. */
+#post-formats-select br {
+       display: none;
+}
+
+.post-format {
+       width: 1px;
+       height: 1px;
+       position: absolute;
+       top: -9999px;
+}
+
+.lt-ie9 .post-format {
+       margin: 17px 13px 0 12px;
+       width: auto;
+       height: auto;
+       position: static;
+       top: auto;
+       float: right;
+       width: 16px;
+       height: 16px;
+}
+
+.post-format-icon {
+       position: relative;
+       display: block;
+       padding: 13px 13px 14px 2px;
+       cursor: pointer;
+}
+
+.post-format-icon:before,
+.post-format-icon:after {
+       content: "";
+       display: inline-block;
+       width: 20px;
+       height: 20px;
+       margin-left: 10px;
+       font-size: 20px;
+       line-height: 1;
+       font-family: dashicons;
+       text-decoration: inherit;
+       color: #9ea7af;
+       font-weight: 400;
+       font-style: normal;
+       vertical-align: top;
+       text-align: center;
+       -webkit-transition: color .1s ease-in 0;
+       transition: color .1s ease-in 0;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+
+.post-format-icon:before {
+       content: "\f109";
+}
+
+.post-format-icon:after {
+       display: none;
+       content: "\f147";
+       float: left;
+}
+
+.post-format:checked + .post-format-icon {
+       -webkit-box-shadow: inset -6px 0 0 #00a0d2;
+       box-shadow: inset -6px 0 0 #00a0d2;
+       background: rgba(46, 162, 204, 0.1);
+}
+
+.post-format:checked + .post-format-icon:before,
+.post-format:checked + .post-format-icon:after {
+       color: #32373c;
+}
+
+.post-format:focus + .post-format-icon {
+       background: #00a0d2;
+       color: #fff;
+}
+
+.post-format:focus + .post-format-icon:before,
+.post-format:focus + .post-format-icon:after {
+       color: #fff;
+}
+
+.post-format:checked + .post-format-icon:after {
+       display: block;
+}
+
+.lt-ie9 .post-format-icon {
+       margin-right: 16px;
+}
+
+.post-format-aside:before {
+       content: "\f123";
+}
+
+.post-format-image:before {
+       content: "\f128";
+}
+
+.post-format-video:before {
+       content: "\f126";
+}
+
+.post-format-audio:before {
+       content: "\f127";
+}
+
+.post-format-quote:before {
+       content: "\f122";
+}
+
+.post-format-link:before {
+       content: "\f103";
+}
+
+.post-format-gallery:before {
+       content: "\f161";
+}
+
+
+/**
+* Tags
+*
+* Complete styles for tags UI
+*/
+.tagsdiv p {
+       margin: 0;
+}
+
+.tagsdiv .ajaxtag {
+       position: relative;
+}
+
+.tagsdiv .newtag {
+       display: block;
+       position: relative;
+       padding: 11px 16px 11px 58px;
+       width: 100%;
+       border: 0;
+       border-bottom: 1px solid #e5e5e5;
+       font-size: 16px;
+}
+
+.tagsdiv .tagadd {
+       position: absolute;
+       top: 0;
+       left: 0;
+       bottom: 1px;
+       border: 0;
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       margin: 0;
+       padding: 0 16px;
+       background: #f7f7f7;
+       border-right: 1px solid #f1f1f1;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+.tagsdiv .tagadd:hover,
+.tagsdiv .tagadd:active,
+.tagsdiv .tagadd:focus {
+       outline: 0;
+       background: #2991b7;
+       border-color: #20708e;
+       color: #fff;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+.tagsdiv .howto {
+       color: #727272;
+       font-style: italic;
+       margin: 10px 16px 6px 0;
+}
+
+
+/* Tag hint TODO needed? */
+/* Tag suggestions */
+.ac_results {
+       padding: 0;
+       margin: -1px -1px 0 0;
+       list-style: none;
+       position: absolute;
+       z-index: 10000;
+       display: none;
+       border: 1px solid #d8d8d8;
        background-color: #fff;
-       -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);
+       font-size: 14px;
+}
+
+.ac_results li {
+       padding: 6px 16px;
+       white-space: nowrap;
+       color: #101010;
+       text-align: right;
+}
+
+.ac_results .ac_over {
+       background-color: #e5e5e5;
+       background-color: #00a0d2;
+       color: #fff;
+       cursor: pointer;
+}
+
+.ac_match {
+       text-decoration: underline;
+}
+
+/* Tags */
+.tagchecklist {
+       padding: 16px 28px 5px;
+}
+
+.tagchecklist:before,
+.tagchecklist:after {
+       content: "";
+       display: table;
+}
+
+.tagchecklist:after {
+       clear: both;
+}
+
+.tagchecklist span {
+       display: block;
+       margin-left: 25px;
+       float: right;
+       font-size: 13px;
+       line-height: 1.8;
+       white-space: nowrap;
+       cursor: default;
+}
+
+@media (max-width: 600px) {
+       .tagchecklist span {
+               margin-bottom: 15px;
+               font-size: 16px;
+               line-height: 1.3;
+       }
+}
+
+.tagchecklist .ntdelbutton {
+       margin: 1px -17px 0 0;
+       cursor: pointer;
+       width: 20px;
+       height: 20px;
+       display: block;
+       float: right;
+       text-indent: 0;
+       overflow: hidden;
+       position: absolute;
+       outline: 0;
+}
+
+.tagchecklist .ntdelbutton:before {
+       content: '\f153';
+       display: block;
+       margin: 2px 0;
+       height: 20px;
+       width: 20px;
+       background: 100% 0;
+       color: #9ea7af;
+       font: 400 16px/1 dashicons;
+       text-align: center;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+}
+
+.tagchecklist .ntdelbutton:focus:before {
+       color: #00a0d2;
+}
+
+
+/* THE TAG CLOUD. */
+.tagsdiv + p {
+       margin: 0;
+}
+
+.tagcloud-link {
+       display: block;
+       padding: 0 16px;
+       text-decoration: none;
+       outline: 0;
+}
+
+.tagcloud-link:focus {
+       text-decoration: underline;
+}
+
+.popular-tags {
+       border: none;
+       line-height: 2em;
+       padding: 8px 12px 12px;
+       text-align: justify;
+}
+
+.popular-tags a {
+       padding: 0 3px;
+}
+
+.the-tagcloud {
+       margin: 0;
+       padding: 16px;
+}
+
+.the-tagcloud a {
+       text-decoration: none;
+       outline: 0;
+}
+
+.the-tagcloud a:focus {
+       text-decoration: underline;
+}
+
+.tagcloud h3 {
+       margin: 2px 0 12px;
+}
+
+
+/**
+* Categories
+*
+* Complete styles for post categories UI
+*/
+input[type="search"].categories-search,
+.add-category-name {
+       display: block;
+       width: 100%;
+       padding: 0.85714em 1.07143em;
+       border: 0;
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       border-bottom: 1px solid #e5e5e5;
+       font-size: 14px;
+       -webkit-appearance: none;
+       appearance: none;
+}
+
+@media (max-width: 600px) {
+       input[type="search"].categories-search,
+       .add-category-name {
+               /* Needs to be 16px to prevent zooming on iOS. Guh. */
+               font-size: 16px;
+       }
+}
+
+.add-cat-toggle {
+       float: left;
+       margin-top: -45px;
+       line-height: 20px;
+       padding: 12px 10px 8px;
+}
+
+.add-cat-toggle:focus {
+       text-decoration: none;
+       color: #00a0d2;
+}
+
+.add-cat-toggle.is-toggled {
+       padding: 10px;
+}
+
+.add-cat-toggle.is-toggled .dashicons:before {
+       content: "\f179";
+}
+
+.add-category {
+       position: relative;
+       border-bottom: 1px solid #e5e5e5;
+}
+
+.add-category.is-hidden {
+       display: none;
+}
+
+.add-category .add-cat-submit {
+       position: absolute;
+       top: 0;
+       left: 0;
+       border: 0;
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       padding: 12px 16px;
+       background: #f7f7f7;
+       border-right: 1px solid #f1f1f1;
+}
+
+.add-category .add-cat-submit:hover,
+.add-category .add-cat-submit:active,
+.add-category .add-cat-submit:focus {
+       outline: 0;
+       background: #2991b7;
+       border-color: #20708e;
+       color: #fff;
+}
+
+/* Parent category select */
+.postform-wrapper {
+       padding: 12px;
+}
+
+.postform {
+       display: block;
+       margin: 0;
+       width: 100%;
+       height: 34px;
+       border: 0;
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       border: 1px solid #e5e5e5;
+       background: #fff;
+       -webkit-background-size: 20px 20px;
+       background-size: 20px 20px;
+       overflow: hidden;
+       line-height: 21px;
+       text-overflow: ellipsis;
+       text-decoration: none;
+       vertical-align: top;
+       white-space: nowrap;
+       cursor: pointer;
+       outline: 0;
+}
+
+.postform:focus {
+       border-color: #0073aa;
+       -webkit-box-shadow: 0 0 0 3px #00a0d2;
+       box-shadow: 0 0 0 3px #00a0d2;
+       outline: 0;
+       -moz-outline: none;
+       -moz-user-focus: ignore;
+}
+
+.postform::-ms-expand {
+       display: none;
+}
+
+.postform::-ms-value {
+       background: none;
+       color: #727272;
+}
+
+.postform:-moz-focusring {
+       color: transparent;
+       text-shadow: 0 0 0 #727272;
+}
+
+/* Category list */
+.categories-select {
+       margin: 0;
+       padding: 0;
+       list-style: none;
+}
+
+.categories-select ul {
+       margin: 0;
+       padding: 0;
+       list-style: none;
+}
+
+.category {
+       position: relative;
+       display: block;
+       padding: 13px 16px 14px 16px;
+       cursor: pointer;
+       background: #fff;
+}
+
+.category:focus,
+.category.selected:focus {
+       outline: 0;
+       background: #00a0d2;
+       color: #fff;
+}
+
+.category.selected {
+       -webkit-box-shadow: inset -6px 0 0 #00a0d2;
+       box-shadow: inset -6px 0 0 #00a0d2;
+       background: #E9F5F9;
+}
+
+.category.selected:after {
+       display: inline-block;
+       content: "\f147";
+       position: absolute;
+       top: 13px;
+       left: 0;
+       width: 20px;
+       height: 20px;
+       margin-left: 10px;
+       font-size: 20px;
+       line-height: 1;
+       font-family: dashicons;
+       text-decoration: inherit;
+       color: #23282d;
+       font-weight: 400;
+       font-style: normal;
+       vertical-align: top;
+       text-align: center;
+       -webkit-transition: color .1s ease-in 0;
+       transition: color .1s ease-in 0;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+
+.category.selected:focus:after {
+       color: #fff;
+}
+
+.categories-select ul .category {
+       padding-right: 24px;
+}
+
+.categories-select ul ul .category {
+       padding-right: 32px;
+}
+
+.categories-select ul ul ul .category {
+       padding-right: 40px;
+}
+
+.categories-select ul ul ul ul .category {
+       padding-right: 48px;
+}
+
+.categories-select ul ul ul ul ul .category {
+       padding-right: 56px;
+}
+
+.categories-select ul ul ul ul ul ul .category {
+       padding-right: 64px;
+}
+
+.categories-select .is-hidden {
+       display: none;
+}
+
+.categories-select .is-hidden.searched-parent {
+       display: block;
+}
+
+/* Category search */
+.categories-search-wrapper {
+       position: relative;
+}
+
+.categories-search-wrapper.is-hidden {
+       display: none;
+}
+
+.categories-search-wrapper label {
+       position: absolute;
+       top: 50%;
+       left: 10px;
+       margin-top: -10px;
+       color: #9ea7af;
+}
+
+
+/**
+* Main
+*/
+html {
+       overflow: auto;
+}
+
+body {
+       overflow-x: hidden;
+       height: 100%;
+}
+
+html {
+       background: #fff;
+       -webkit-box-shadow: 10px 0 0 rgba(0, 0, 0, 0.3);
+       box-shadow: 10px 0 0 rgba(0, 0, 0, 0.3);
+}
+
+@media (max-width: 900px) {
+       body {
+               font-size: 16px;
+       }
+}
+
+@media (max-width: 320px) {
+       body {
+               font-size: 14px;
+       }
+}
+
+.lt-ie9 {
+       overflow: visible;
+}
+
+.adminbar {
+       position: relative;
+       width: 100%;
+       padding: 0 0.8em;
+       min-height: 3.2em;
+       background: #23282d;
+       color: #fff;
+       z-index: 9999;
+}
+
+.adminbar:before,
+.adminbar:after {
+       content: "";
+       display: table;
+}
+
+.adminbar:after {
+       clear: both;
+}
+
+.adminbar .dashicons {
+       color: #999;
+}
+
+.adminbar button {
+       position: absolute;
+       top: 50%;
+       left: 6px;
+       margin-top: -13px;
+}
+
+@media (max-width: 320px) {
+       .adminbar {
+               min-height: 45px;
+       }
+}
+
+.current-site {
+       margin-top: 0.5625em;
+       font-size: 16px;
+       line-height: 44px;
+       font-weight: 400;
+       overflow: hidden;
+       white-space: nowrap;
+       text-overflow: ellipsis;
 }
 
-.press-this #side-sortables .category-tabs li {
-       display: inline;
-       line-height: 1.35em;
+@media (max-width: 600px) {
+       .current-site {
+               margin: 3px 0 0;
+       }
 }
 
-body.press-this ul.category-tabs li.tabs a {
-       color: #333;
+@media (max-width: 320px) {
+       .current-site {
+               margin: 0;
+               font-size: 14px;
+       }
 }
 
-.press-this #content-resize-handle {
-       bottom: 2px;
+.current-site-link {
+       text-decoration: none;
 }
 
-body.press-this {
-       color: #333;
-       margin: 0;
-       padding: 0;
-       min-width: 708px;
-       min-height: 400px;
+.current-site-link:focus {
+       outline: 0;
 }
 
-.press-this #titlediv #title {
-       font-size: 1.4em;
+.current-site-link:focus .current-site-name{
+       text-decoration: underline;
 }
 
-.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;
+.current-site-name {
+       color: #ededed;
 }
 
-.press-this #wphead {
-       height: 32px;
-       margin-right: 0;
-       margin-left: 0;
-       margin-bottom: 5px;
+@media (max-width: 320px) {
+       .current-site-name {
+               font-weight: 600;
+       }
 }
 
-.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;
+.current-site .dashicons-wordpress {
+       position: relative;
+       top: -1px;
+       margin-left: 10px;
+       vertical-align: middle;
 }
 
-.press-this #wphead h1 {
-       font-weight: normal;
-       font-size: 16px;
-       line-height: 32px;
-       margin: 0;
-       float: right;
+.options,
+.options.open .on-closed,
+.options.closed .on-open {
+       display: none;
 }
 
-.press-this #wphead h1 a {
-       text-decoration: none;
+@media (max-width: 900px) {
+       .options {
+               display: block;
+       }
 }
 
-.press-this #wphead h1 a:hover {
-       text-decoration: underline;
+.options-panel-back.is-hidden {
+       display: none;
 }
 
-.press-this #message {
-       margin: 10px 0;
+.options:focus .dashicons {
+       color: #fff;
+       text-decoration: none;
 }
 
-.press-this .posting {
-       margin-left: 250px;
+.options .dashicons {
+       margin-top: 3px;
 }
 
-.press-this-sidebar {
-       float: left;
-       width: 240px;
-       padding-top: 10px;
+.options {
+       color: #00a0d2;
 }
 
-.press-this #title {
-       margin-right: 0;
-       margin-left: 0;
-       -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-       box-sizing: border-box;
+.alert {
+       position: relative;
+       margin: 0;
+       padding: 16px 50px;
+       border-bottom: 1px solid #e5e5e5;
+       font-size: 14px;
 }
 
-.press-this .tagchecklist {
-       margin-top: 8px;
+.alert:before {
+       content: '';
+       position: absolute;
+       top: 50%;
+       right: 30px;
+       width: 8px;
+       height: 8px;
+       margin-top: -4px;
+       -webkit-border-radius: 50%;
+       border-radius: 50%;
+       background: #00a0d2;
 }
 
-.press-this #titlediv {
-       margin: 0;
+@media (max-width: 600px) {
+       .alert {
+               padding: 16px 35px;
+       }
+       .alert:before {
+               right: 15px;
+       }
 }
 
-.press-this #wp-content-wrap #wp-content-editor-tools {
-       padding: 0;
-       top: 3px;
-       overflow: hidden;
+.alert.is-error:before {
+       background: red;
 }
 
-.press-this .wp-media-buttons {
-       cursor: default;
-       padding: 8px 8px 6px;
+.scan {
+       position: relative;
+       border-bottom: 1px solid #e5e5e5;
 }
 
-.press-this #wp-content-wrap #wp-content-media-buttons a {
-       padding: 0;
-       line-height: normal;
-       height: auto;
-       font-size: 16px;
+@media (max-width: 900px) {
+       .scan form {
+               -webkit-transition: opacity .3s ease-in-out;
+               transition: opacity .3s ease-in-out;
+       }
+       .scan.is-hidden form {
+               opacity: .2;
+               pointer-events: none;
+       }
 }
 
-.press-this #wp-content-wrap .mce-toolbar .mce-btn-group .mce-btn {
-       margin: 0 1px;
+.scan-url {
+       display: block;
+       border: 0;
+       padding: 0.85714em 1.07143em;
+       font-size: 14px;
+       width: 100%;
 }
 
-.press-this #wp-content-wrap .mce-toolbar .mce-btn button {
-       padding: 2px 3px;
+@media (max-width: 600px) {
+       .scan-url {
+               font-size: 16px;
+       }
 }
 
-.press-this #wp-content-wrap div.mce-toolbar-grp,
-.press-this #wp-content-wrap .quicktags-toolbar {
-       padding-left: 3px;
+.scan-submit {
+       position: absolute;
+       top: 0;
+       left: 0;
+       bottom: 0;
+       padding: 0 1.07143em;
+       background: #f7f7f7;
+       border-color: #dedede;
+       border: 0;
+       border-right: 1px solid #f1f1f1;
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       color: #555;
+       font-size: 14px;
+       line-height: 1.6;
 }
 
-.press-this .howto {
-       margin-top: 2px;
-       margin-bottom: 3px;
-       font-size: 12px;
-       font-style: italic;
-       display: block;
+.scan-submit:hover,
+.scan-submit:focus {
+       background: #2991b7;
+       border-color: #20708e;
+       color: #fff;
+       outline: 0;
 }
 
-.press-this #wp-content-editor-container {
-       clear: none;
+.scan-submit:active {
+       background: #2581a2;
+       border-color: #20708e;
+       color: #fff;
 }
 
-.press-this #poststuff .inside {
-       margin-top: 18px;
+.scan-submit:visited {
+       color: #555;
 }
 
-.press-this .category-tabs {
-       margin-bottom: 3px;
+.wrapper {
+       position: relative;
+       margin-bottom: 60px;
+       margin-left: 320px;
 }
 
-/* Editor/Main Column */
-.press-this #poststuff {
-       margin: 0 8px;
-       padding: 0;
+.wrapper:before,
+.wrapper:after {
+       content: "";
+       display: table;
 }
 
-.press-this #photo-add-url-div input[type="text"] {
-       width: 220px;
+.wrapper:after {
+       clear: both;
 }
 
-#poststuff #editor-toolbar {
-       height: 30px;
+@media (max-width: 900px) {
+       .wrapper {
+               margin: 0;
+               width: 100%;
+       }
 }
 
-.posting {
-       margin-left: 212px;
-       position: relative;
+.editor-wrapper {
+       overflow: auto;
+       float: right;
+       width: 100%;
 }
 
-.press-this .inner-sidebar {
-       width: 200px;
+.editor-wrapper:before,
+.editor-wrapper:after {
+       content: "";
+       display: table;
 }
 
-.press-this .inner-sidebar .sleeve {
-       padding-top: 5px;
+.editor-wrapper:after {
+       clear: both;
 }
 
-.press-this #submitdiv p {
-       margin: 0;
-       padding: 6px;
+.editor {
+       padding: 0 1.5em 4.75em;
+       max-width: 700px;
+       margin: 0 auto;
 }
 
-.press-this #submitdiv #publishing-actions {
-       border-bottom: 1px solid #dfdfdf;
+.spinner {
+       height: 20px;
+       width: 20px;
+       display: inline-block;
+       visibility: hidden;
+       background: url(../images/spinner.gif) no-repeat center;
+       -webkit-background-size: 20px 20px;
+       background-size: 20px 20px;
+       opacity: 0.7;
+       filter: alpha(opacity=70);
+       line-height: 1;
+       vertical-align: middle;
 }
 
-.press-this #publish {
-       float: left;
+@media print,
+       (-webkit-min-device-pixel-ratio: 1.25),
+       (min-resolution: 120dpi) {
+
+       .spinner {
+               background-image: url(../images/spinner-2x.gif);
+       }
 }
 
-.press-this #poststuff h2,
-.press-this #poststuff h3 {
-       font-size: 14px;
-       line-height: 1;
+.spinner.is-active {
+       visibility: visible;
 }
 
-.press-this #tagsdiv-post_tag h3,
-.press-this #categorydiv h3 {
-       cursor: pointer;
+/* Make the text inside the editor textarea white. Prevents a "flash" on loading the page */
+#pressthis {
+       color: #fff;
 }
 
-.press-this #submitdiv h3 {
-       cursor: default;
+@media (min-width: 901px) {
+       .editor {
+               max-width: 760px;
+       }
 }
 
-h3.tb {
-       font-weight: 600;
-       font-size: 12px;
-       margin-right: 5px;
+@media (max-width: 320px) {
+       .editor {
+               padding: 0;
+       }
 }
 
-.press-this .postbox,
-.press-this .stuffbox {
-       margin-bottom: 10px;
-       min-width: 0;
+.post-title,
+.post-title-placeholder {
+       margin: 0;
+       padding: .83em 0;
+       width: 100%;
+       border-bottom: 1px solid #e5e5e5;
+       font-size: 32px;
+       line-height: 1.4;
+       font-weight: 700;
+}
+
+.post-title:active,
+.post-title:focus,
+.post-title-placeholder:active,
+.post-title-placeholder:focus {
+       outline: 0;
+       -webkit-box-shadow: inset 0px -3px 0 #00a0d2;
+       box-shadow: inset 0px -3px 0 #00a0d2;
+       border-color: #00a0d2;
+}
+
+@media (max-width: 900px) {
+       .post-title,
+       .post-title-placeholder {
+               font-size: 24px;
+       }
 }
 
-.press-this #submitdiv:hover .handlediv {
-       background: none;
+@media (max-height: 400px) {
+       .post-title,
+       .post-title-placeholder {
+               padding: 15px 0;
+               font-size: 16px;
+       }
 }
 
-.tbtitle {
-       font-size: 1.7em;
-       outline: none;
-       padding: 3px 4px;
-       border: 1px solid #dfdfdf;
+@media (max-width: 320px) {
+       .post-title,
+       .post-title-placeholder {
+               font-size: 16px;
+               font-weight: 600;
+               padding: 1.14286em 1.42857em;
+       }
 }
 
-.press-this .actions {
-       float: left;
-       margin: -19px 0 0;
+.post-title {
+       /* IE8 fallback */
+       background: url(data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH5BAEHAAIALAAAAAABAAEAAAICVAEAOw==);
+       background: none, none;
 }
 
-.press-this #extra-fields .actions {
-       margin: -32px 0 0 -7px;
+.post-title:before {
+       /* Keeps empty container from collapsing */
+       content: '\a0';
+       display: inline-block;
+       width: 0;
+       speak: none;
 }
 
-.press-this .actions li {
-       float: right;
-       list-style: none;
-       margin-left: 10px;
+.post-title-placeholder {
+       position: absolute;
+       border: 0;
+       color: #9ea7af;
+       z-index: -1;
 }
 
-#extra-fields .button {
-       margin-left: 5px;
+.post-title-placeholder.is-hidden {
+       display: none;
 }
 
-/* Photo Styles */
-#photo_saving {
-       margin: 0 8px 8px;
-       vertical-align: middle;
+/* Suggested images */
+.media-list-container {
+       position: relative;
+       padding: 2px 0;
+       border-bottom: 1px solid #e5e5e5;
+       display: none;
 }
 
-#img_container_container {
+.media-list-inner-container {
        overflow: auto;
+       max-height: 150px;
+       max-height: 40vw;
 }
 
-#extra-fields {
-       margin-top: 10px;
-       position: relative;
+.media-list-container.has-media {
+       display: block;
 }
 
-#extra-fields h2 {
-       margin: 12px;
+.media-list-inner-container:before,
+.media-list-inner-container:after {
+       content: "";
+       display: table;
 }
 
-#waiting {
-       margin-top: 10px;
-       overflow: hidden;
+.media-list-inner-container:after {
+       clear: both;
 }
 
-#waiting span {
-       float: left;
-       margin: 0 5px 0 0;
+.media-list {
+       margin: 0;
+       padding: 0;
 }
 
-#waiting .spinner {
-       display: block;
+@media (min-width: 321px) {
+       .media-list-inner-container {
+               max-height: 250px;
+               max-height: 40vw;
+       }
 }
 
-#extra-fields .postbox {
-       margin-bottom: 5px;
+@media (min-width: 601px) {
+       .media-list-inner-container {
+               max-height: 200px;
+               max-height: 18.75vw;
+       }
 }
 
-#extra-fields .titlewrap {
+.wppt-all-media-list {
+       list-style: none;
+       margin: 0;
        padding: 0;
-       overflow: auto;
-       height: 120px;
 }
 
-#img_container a {
+.suggested-media-thumbnail:focus,
+.is-embed:focus {
+       outline: 0;
+       -webkit-box-shadow: inset 0 0 0 3px #00a0d2;
+       box-shadow: inset 0 0 0 3px #00a0d2;
+}
+
+.suggested-media-thumbnail {
+       position: relative;
        display: block;
        float: right;
-       overflow: hidden;
+       width: 16.66%;
+       padding: 16.66% 16.66% 0 0;
+       background-position: center;
+       background-repeat: no-repeat;
+       -webkit-background-size: cover;
+       background-size: cover;
+       background-color: #d8d8d8;
+       color: #fff;
+       color: rgba(255, 255, 255, 0.6);
+       cursor: pointer;
 }
 
-#img_container img,
-#img_container a {
-       width: 68px;
-       height: 68px;
+.suggested-media-thumbnail:hover,
+.suggested-media-thumbnail:active,
+.suggested-media-thumbnail:focus {
+       color: #fff;
 }
 
-#img_container img {
-       border: none;
-       background-color: #f4f4f4;
-       cursor: pointer;
+.suggested-media-thumbnail:before,
+.suggested-media-thumbnail:after {
+       display: inline-block;
+       position: absolute;
+       font-size: 20px;
+       line-height: 1;
+       font-family: dashicons;
+       text-decoration: inherit;
+       font-weight: 400;
+       font-style: normal;
+       -webkit-transition: color .1s ease-in 0;
+       transition: color .1s ease-in 0;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
 }
 
-#img_container a,
-#img_container a:link,
-#img_container a:visited {
-       border: 1px solid #ccc;
-       display: block;
-       position: relative;
+.suggested-media-thumbnail:before {
+       right: 50%;
+       top: 50%;
+       margin: -20px -20px 0 0;
+       font-size: 40px;
 }
 
-#img_container a:hover,
-#img_container a:active {
-       border-color: #000;
-       z-index: 1000;
-       border-width: 1px;
+.suggested-media-thumbnail:after {
+       content: "\f132";
+       left: 3%;
+       bottom: 2%;
 }
 
-/* Video */
-#embed-code {
-       width: 100%;
-       height: 98px;
+@media (min-width: 601px) {
+       .suggested-media-thumbnail {
+               width: 12.5%;
+               padding: 12.5% 12.5% 0 0;
+       }
 }
 
-/* Categories */
-.press-this .categorydiv div.tabs-panel {
-       height: 100px;
+.is-embed:before {
+       content: "\f104";
+       color: #fff;
+       color: rgba(255, 255, 255, 0.9);
 }
 
-/* Tags */
-.press-this .tagsdiv .newtag {
-       width: 120px;
+.is-embed.is-audio:hover:before,
+.is-embed.is-audio:active:before,
+.is-embed.is-audio:focus:before,
+.is-embed.is-tweet:hover:before,
+.is-embed.is-tweet:active:before,
+.is-embed.is-tweet:focus:before {
+       color: #fff;
 }
 
-.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;
+.is-embed.is-video {
+       background-color: #23282d;
 }
 
-/* Submit */
-.press-this #publishing-actions .spinner {
-       display: inline;
-       vertical-align: middle;
+.is-embed.is-video:hover:before,
+.is-embed.is-video:active:before,
+.is-embed.is-video:focus:before {
+       color: rgba(255, 255, 255, 0.2);
 }
 
-/* =Media Queries
--------------------------------------------------------------- */
+.is-embed.is-video:before {
+       content: "\f236";
+}
 
-/* 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 */
-       }
+.is-embed.is-audio {
+       background-color: #ff7d44;
+}
+
+.is-embed.is-audio:before {
+       content: "\f127";
+}
+
+.is-embed.is-tweet {
+       background-color: #55acee;
+}
+
+.is-embed.is-tweet:before {
+       content: "\f301";
+}
+
+.no-media {
+       margin: 0;
+       padding: 0;
+       border: 0;
+}
 
-       .press-this a.wp-switch-editor {
-               font: 13px/19px "Open Sans", sans-serif;
-               margin: 5px 5px 0 0;
-               padding: 3px 8px 4px;
+/* Actions bar */
+.press-this-actions {
+       position: fixed;
+       bottom: 0;
+       right: 0;
+       width: 100%;
+       background: #f1f1f1;
+       background: rgba(241, 241, 241, 0.9);
+       border-top: 1px solid #e5e5e5;
+}
+
+@media (max-width: 900px) {
+       .press-this-actions {
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+               -webkit-transition: -webkit-transform .3s ease-in-out;
+               transition: transform .3s ease-in-out;
        }
+       .press-this-actions.is-hidden {
+               -webkit-transform: translateY(100%);
+               -ms-transform: translateY(100%);
+               transform: translateY(100%);
+       }
+}
 
-       .press-this #wp-content-media-buttons a {
-               padding: 0;
-               line-height: normal;
-               height: auto;
+.add-media {
+       float: right;
+       margin: 14px 30px 14px 0;
+       font-size: 0;
+}
+
+@media (max-width: 320px) {
+       .add-media {
+               margin: 10px 10px 10px 0;
        }
+}
 
-       .press-this #wp-content-editor-tools {
-               padding: 0;
-               top: 3px;
+.insert-media {
+       color: #9ea7af;
+       float: right;
+       margin: 0;
+       padding: 0;
+       border: 0;
+       border-left: 1px solid #e5e5e5;
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       background: none;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       overflow: hidden;
+}
+
+.insert-media:hover,
+.insert-media:focus,
+.insert-media:active {
+       margin: 0;
+       background: none;
+       border-color: #e5e5e5;
+       color: #23282d;
+}
+
+.insert-media:focus,
+.insert-media:active {
+       outline: 0;
+       color: #00a0d2;
+       text-decoration: none;
+}
+
+.insert-media .dashicons {
+       padding: 11px;
+       width: 63px;
+       height: 58px;
+       font-size: 40px;
+}
+
+@media (max-width: 320px) {
+       .insert-media .dashicons {
+               width: 55px;
+               height: 49px;
+               padding: 14px;
+               font-size: 20px;
        }
+}
+
+.post-actions {
+       float: left;
+       margin: 14px 0 14px 30px;
+       font-size: 13px;
+}
 
-       .press-this .category-tabs {
-               margin-top: 0;
+@media (max-width: 320px) {
+       .post-actions {
+               margin: 10px 0 10px 10px;
        }
+}
+
+.edit-post-link {
+       font-size: 13px;
+       display: inline-block;
+       text-decoration: none;
+       padding: 0 10px;
+}
+
+.draft-button.is-hidden,
+.draft-button .saving-draft,
+.draft-button.is-saving .save-draft {
+       display: none;
+}
+
+.draft-button.is-saving .saving-draft {
+       display: inline;
+}
 
-       .press-this .tagsdiv .newtag {
-               width: 120px;
-               padding: 3px 5px;
-               margin-bottom: 0;
+/* TinyMCE styles */
+.editor .wp-media-buttons {
+       float: none;
+}
+
+.editor div.mce-toolbar-grp {
+       padding: 0.71429em 0;
+       background: none;
+       border: 0;
+}
+
+@media (max-height: 400px), (max-width: 320px) {
+       .editor div.mce-toolbar-grp {
+               padding: 0;
        }
+}
+
+.mce-stack-layout:before,
+.mce-stack-layout:after {
+       content: "";
+       display: table;
+}
+
+.mce-stack-layout:after {
+       clear: both;
+}
+
+.mce-container.mce-toolbar {
+       float: right;
+}
+
+.mce-container.mce-toolbar:nth-child(2) {
+       float: left;
+}
 
-       .press-this .tagchecklist {
+@media (max-width: 600px) {
+       .mce-first .mce-btn:nth-child(3),
+       .mce-first .mce-btn:nth-child(4) {
+               position: absolute;
+               margin: -1px;
                padding: 0;
-               margin-bottom: 0;
+               height: 1px;
+               width: 1px;
+               overflow: hidden;
+               clip: rect(0 0 0 0);
+               border: 0;
        }
 
-       .press-this .wp_themeSkin a.mceButton {
-               width: 20px;
-               height: 20px;
+       .mce-first .mce-btn:nth-child(3):focus,
+       .mce-first .mce-btn:nth-child(4):focus {
+               position: static;
+               margin: 1px;
+               padding: inherit;
+               height: auto;
+               width: auto;
+               overflow: visible;
+               clip: auto;
+               border: 1px solid #999;
        }
+}
 
-       .press-this .wp_themeSkin .mceButton .mceIcon {
-               margin: 0;
+#wp-link-wrap {
+       font-size: 13px;
+}
+
+#wp-link-wrap input[type="text"] {
+       padding: 3px 5px;
+       margin: 1px;
+}
+
+@media screen and (max-width: 782px) {
+       #wp-link-wrap {
+               font-size: 14px;
        }
 
-       .press-this #poststuff h3,
-       .press-this .metabox-holder h3 {
-               padding: 7px 12px;
+       #wp-link-wrap input[type="text"] {
+               padding: 6px 10px;
        }
+}
+
+#wp-link-wrap .howto {
+       color: #666;
+       font-style: italic;
+}
 
-       .press-this input[type=checkbox],
-       .press-this input[type=radio] {
-               height: 16px;
-               width: 16px;
+/* Options panel (sidebar) */
+.options-panel {
+       position: relative;
+       float: left;
+       margin-left: -320px;
+       width: 320px;
+       border-right: 1px solid #e5e5e5;
+       font-size: 14px;
+       /* Keeps background the full height of the screen, but only visually. Clicks go through. */
+       -webkit-box-shadow: -5001px 5000px 0 5000px #fff, -5000px 5000px 0 5000px #e5e5e5;
+       box-shadow: -5001px 5000px 0 5000px #fff, -5000px 5000px 0 5000px #e5e5e5;
+       outline: 0;
+}
+
+.options-panel-back {
+       position: absolute;
+       top: 0;
+       left: 0;
+       bottom: 0;
+       width: 320px;
+       outline: 0;
+}
+
+@media (max-width: 900px) {
+       .options-panel {
+               background: #fff;
+               -webkit-transform: translateX(100%);
+               -ms-transform: translateX(100%);
+               transform: translateX(100%);
+               -webkit-transition: -webkit-transform .3s ease-in-out;
+               transition: transform .3s ease-in-out;
        }
 
-       .press-this input[type=checkbox]:checked:before {
-               width: 16px;
-               font: normal 21px/1 'dashicons';
-               margin: -3px -4px 0 0;
+       .options-panel.is-hidden {
+               visibility: hidden;
        }
 
-       .press-this input[type=radio]:checked:before {
-               font: normal 21px/1 'dashicons';
-               width: 6px;
-               height: 6px;
-               margin: 4px;
+       .options-panel.is-off-screen {
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
        }
+}
 
-       .press-this ul.categorychecklist ul,
-       .press-this ul.categorychecklist li {
-               margin-top: 0;
-               margin-bottom: 0;
+@media (max-width: 320px) {
+       .options-panel {
+               margin-left: -100%;
+               width: 100%;
+               border: 0;
+               -webkit-box-shadow: -5001px 5000px 0 5000px #fff;
+               box-shadow: -5001px 5000px 0 5000px #fff;
        }
 
-       .press-this div.quicktags-toolbar input {
-               padding: 2px 4px;
+       .options-panel-back {
+               width: 100%;
        }
+}
 
-       .press-this textarea,
-       .press-this input {
-               font-size: 14px;
+.post-options {
+       background: #fff;
+       position: absolute;
+       left: 0;
+       width: 100%;
+       overflow-x: hidden;
+}
+
+.post-options .post-option-contents {
+       margin-right: 3px;
+       color: #32373c;
+}
+
+.post-option-forward:before {
+       position: absolute;
+       top: 50%;
+       left: 8px;
+       margin-top: -10px;
+       content: "\f341"
+}
+
+.post-option-back:before {
+       content: "\f345";
+}
+
+.lt-ie9 .options-panel,
+.lt-ie9 .post-options {
+       border-right: 1px solid #e5e5e5;
+}
+
+.lt-ie9 .post-options.is-off-screen {
+       border: 0;
+}
+
+.post-option {
+       position: relative;
+}
+
+.post-options .post-option {
+       display: block;
+       width: 100%;
+       padding: 13px 14px 13px 37px;
+       border-bottom: 1px solid #e5e5e5;
+       text-decoration: none;
+       text-align: right;
+       color: #9ea7af;
+       text-overflow: ellipsis;
+       white-space: nowrap;
+       overflow: hidden;
+       -webkit-transition: -webkit-transform .3s ease-in-out;
+       transition: transform .3s ease-in-out;
+}
+
+.post-options .post-option:focus {
+       outline: 0;
+       -webkit-box-shadow: inset -5px 0 0 #00a0d2;
+       box-shadow: inset -5px 0 0 #00a0d2;
+}
+
+.is-off-screen > .post-option {
+       left: 100%;
+}
+
+.is-hidden > .post-option {
+       visibility: hidden;
+}
+
+@media (min-width: 1px) {
+       .is-off-screen > .post-option {
+               left: auto;
+               -webkit-transform: translateX(100%);
+               -ms-transform: translateX(100%);
+               transform: translateX(100%);
        }
+}
+
+.post-option-title {
+       display: inline-block;
+       margin: 0 8px 0 0;
+       font-size: 14px;
+       font-weight: normal;
+}
+
+.setting-modal {
+       position: relative;
+       top: 0;
+       right: 0;
+       width: 100%;
+       overflow: hidden;
+       -webkit-transition: -webkit-transform .3s ease-in-out;
+       transition: transform .3s ease-in-out;
+}
+
+.setting-modal.is-hidden {
+       visibility: hidden;
+       height: 0;
+}
 
-       .press-this .tagchecklist span {
-               font-size: 13px;
-               line-height: 1.8em;
+.setting-modal.is-off-screen {
+       right: 100%;
+}
+
+@media (min-width: 1px) {
+       .setting-modal.is-off-screen {
+               right: 0;
+               -webkit-transform: translateX(-100%);
+               -ms-transform: translateX(-100%);
+               transform: translateX(-100%);
        }
 }
+
+.modal-close {
+       display: block;
+       width: 100%;
+       padding: 13px 14px;
+       border-bottom: 1px solid #e5e5e5;
+       color: #00a0d2;
+       text-decoration: none;
+       text-align: right;
+}
+
+.modal-close:focus {
+       outline: 0;
+       -webkit-box-shadow: inset -5px 0 0 #00a0d2;
+       box-shadow: inset -5px 0 0 #00a0d2;
+}
+
+.setting-title {
+       position: relative;
+       top: -1px;
+       margin-right: 11px;
+}
diff --git a/wp-admin/css/press-this-rtl.min.css b/wp-admin/css/press-this-rtl.min.css
new file mode 100644 (file)
index 0000000..5b98e81
--- /dev/null
@@ -0,0 +1 @@
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:144dpi){*,:after,:before{-webkit-font-smoothing:antialiased}}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:0;margin:0;padding:0}legend{border:0;padding:0}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.clearfix:after,.clearfix:before{content:"";display:table}.clearfix:after{clear:both}.hide-if-js{display:none}.screen-reader-text{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}body,button,input,select,textarea{color:#404040;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:20px;font-weight:400;line-height:1.6}h1,h2,h3,h4,h5,h6{clear:both}p{margin-bottom:1.5em}b,strong{font-weight:700}.button-subtle,.scan-submit{display:inline-block;margin:0;padding:0 10px 1px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px;font-size:13px;line-height:2;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-appearance:none}.button-subtle{background:0 0;border:0;color:#0073aa}.button-subtle:visited{color:#0073aa}.button-subtle:active,.button-subtle:focus,.button-subtle:hover,.edit-post-link:active,.edit-post-link:focus,.edit-post-link:hover{color:#00a0d2}.button-subtle:active,.button-subtle:focus,.edit-post-link:active,.edit-post-link:focus{outline:0;text-decoration:underline}.preview-button{margin-left:5px}.button-reset{margin:0;padding:0;border:0;background:0 0;cursor:pointer;-webkit-appearance:none}.button-reset:focus{outline:0}.button-link{margin:0;padding:0;border:0;background:0 0;color:#0073aa;cursor:pointer;-webkit-appearance:none}.button-link:active,.button-link:focus,.button-link:hover{color:#00a0d2;text-decoration:underline}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline}[type=checkbox],[type=radio]{padding:0}[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}[type=email],[type=password],[type=search],[type=text],[type=url],textarea{padding:.4em .75em;color:#32373c;border:1px solid #ccc}[type=email]:focus,[type=password]:focus,[type=search]:focus,[type=text]:focus,[type=url]:focus,textarea:focus{color:#32373c;outline:0}textarea{overflow:auto;padding-right:3px;vertical-align:top}a,a:visited{color:#0073aa}a:active,a:focus,a:hover{color:#00a0d2}ol,ul{margin:0 3em 1.5em 0}ul{list-style:disc}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0;margin-right:1.5em}dt{font-weight:700}dd{margin:0 1.5em 1.5em}#post-formats-select br{display:none}.post-format{width:1px;height:1px;position:absolute;top:-9999px}.lt-ie9 .post-format{margin:17px 13px 0 12px;position:static;top:auto;float:right;width:16px;height:16px}.post-format-icon{position:relative;display:block;padding:13px 13px 14px 2px;cursor:pointer}.post-format-icon:after,.post-format-icon:before{content:"";display:inline-block;width:20px;height:20px;margin-left:10px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;color:#9ea7af;font-weight:400;font-style:normal;vertical-align:top;text-align:center;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before{content:"\f109"}.post-format-icon:after{display:none;content:"\f147";float:left}.post-format:checked+.post-format-icon{-webkit-box-shadow:inset -6px 0 0 #00a0d2;box-shadow:inset -6px 0 0 #00a0d2;background:rgba(46,162,204,.1)}.post-format:checked+.post-format-icon:after,.post-format:checked+.post-format-icon:before{color:#32373c}.post-format:focus+.post-format-icon{background:#00a0d2;color:#fff}.post-format:focus+.post-format-icon:after,.post-format:focus+.post-format-icon:before{color:#fff}.post-format:checked+.post-format-icon:after{display:block}.lt-ie9 .post-format-icon{margin-right:16px}.post-format-aside:before{content:"\f123"}.post-format-image:before{content:"\f128"}.post-format-video:before{content:"\f126"}.post-format-audio:before{content:"\f127"}.post-format-quote:before{content:"\f122"}.post-format-link:before{content:"\f103"}.post-format-gallery:before{content:"\f161"}.tagsdiv p{margin:0}.tagsdiv .ajaxtag{position:relative}.tagsdiv .newtag{display:block;position:relative;padding:11px 16px 11px 58px;width:100%;border:0;border-bottom:1px solid #e5e5e5;font-size:16px}.tagsdiv .tagadd{position:absolute;top:0;left:0;bottom:1px;border:0;-webkit-border-radius:0;border-radius:0;margin:0;padding:0 16px;background:#f7f7f7;border-right:1px solid #f1f1f1;-webkit-box-shadow:none;box-shadow:none}.tagsdiv .tagadd:active,.tagsdiv .tagadd:focus,.tagsdiv .tagadd:hover{outline:0;background:#2991b7;border-color:#20708e;color:#fff;-webkit-box-shadow:none;box-shadow:none}.tagsdiv .howto{color:#727272;font-style:italic;margin:10px 16px 6px 0}.ac_results{padding:0;margin:-1px -1px 0 0;list-style:none;position:absolute;z-index:10000;display:none;border:1px solid #d8d8d8;background-color:#fff;font-size:14px}.ac_results li{padding:6px 16px;white-space:nowrap;color:#101010;text-align:right}.ac_results .ac_over{background-color:#00a0d2;color:#fff;cursor:pointer}.ac_match{text-decoration:underline}.tagchecklist{padding:16px 28px 5px}.tagchecklist:after,.tagchecklist:before{content:"";display:table}.tagchecklist:after{clear:both}.tagchecklist span{display:block;margin-left:25px;float:right;font-size:13px;line-height:1.8;white-space:nowrap;cursor:default}@media (max-width:600px){.tagchecklist span{margin-bottom:15px;font-size:16px;line-height:1.3}}.tagchecklist .ntdelbutton{margin:1px -17px 0 0;cursor:pointer;width:20px;height:20px;display:block;float:right;text-indent:0;overflow:hidden;position:absolute;outline:0}.tagchecklist .ntdelbutton:before{content:'\f153';display:block;margin:2px 0;height:20px;width:20px;background:100% 0;color:#9ea7af;font:400 16px/1 dashicons;text-align:center;speak:none;-webkit-font-smoothing:antialiased}.tagchecklist .ntdelbutton:focus:before{color:#00a0d2}.tagsdiv+p{margin:0}.tagcloud-link{display:block;padding:0 16px;text-decoration:none;outline:0}.tagcloud-link:focus{text-decoration:underline}.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}.popular-tags a{padding:0 3px}.the-tagcloud{margin:0;padding:16px}.the-tagcloud a{text-decoration:none;outline:0}.the-tagcloud a:focus{text-decoration:underline}.tagcloud h3{margin:2px 0 12px}.add-category-name,input[type=search].categories-search{display:block;width:100%;padding:.85714em 1.07143em;border:0;-webkit-border-radius:0;border-radius:0;border-bottom:1px solid #e5e5e5;font-size:14px;-webkit-appearance:none;appearance:none}@media (max-width:600px){.add-category-name,input[type=search].categories-search{font-size:16px}}.add-cat-toggle{float:left;margin-top:-45px;line-height:20px;padding:12px 10px 8px}.add-cat-toggle:focus{text-decoration:none;color:#00a0d2}.add-cat-toggle.is-toggled{padding:10px}.add-cat-toggle.is-toggled .dashicons:before{content:"\f179"}.add-category{position:relative;border-bottom:1px solid #e5e5e5}.add-category.is-hidden{display:none}.add-category .add-cat-submit{position:absolute;top:0;left:0;border:0;-webkit-border-radius:0;border-radius:0;padding:12px 16px;background:#f7f7f7;border-right:1px solid #f1f1f1}.add-category .add-cat-submit:active,.add-category .add-cat-submit:focus,.add-category .add-cat-submit:hover{outline:0;background:#2991b7;border-color:#20708e;color:#fff}.postform-wrapper{padding:12px}.postform{display:block;margin:0;width:100%;height:34px;-webkit-border-radius:0;border-radius:0;border:1px solid #e5e5e5;background:0 0/20px 20px #fff;-webkit-background-size:20px 20px;overflow:hidden;line-height:21px;text-overflow:ellipsis;text-decoration:none;vertical-align:top;white-space:nowrap;cursor:pointer;outline:0}.postform:focus{border-color:#0073aa;-webkit-box-shadow:0 0 0 3px #00a0d2;box-shadow:0 0 0 3px #00a0d2;outline:0;-moz-outline:0;-moz-user-focus:ignore}.postform::-ms-expand{display:none}.postform::-ms-value{background:0 0;color:#727272}.postform:-moz-focusring{color:transparent;text-shadow:0 0 0 #727272}.categories-select,.categories-select ul{margin:0;padding:0;list-style:none}.category{position:relative;display:block;padding:13px 16px 14px;cursor:pointer;background:#fff}.category.selected:focus,.category:focus{outline:0;background:#00a0d2;color:#fff}.category.selected{-webkit-box-shadow:inset -6px 0 0 #00a0d2;box-shadow:inset -6px 0 0 #00a0d2;background:#E9F5F9}.category.selected:after{display:inline-block;content:"\f147";position:absolute;top:13px;left:0;width:20px;height:20px;margin-left:10px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;color:#23282d;font-weight:400;font-style:normal;vertical-align:top;text-align:center;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.category.selected:focus:after{color:#fff}.categories-select ul .category{padding-right:24px}.categories-select ul ul .category{padding-right:32px}.categories-select ul ul ul .category{padding-right:40px}.categories-select ul ul ul ul .category{padding-right:48px}.categories-select ul ul ul ul ul .category{padding-right:56px}.categories-select ul ul ul ul ul ul .category{padding-right:64px}.categories-select .is-hidden{display:none}.categories-select .is-hidden.searched-parent{display:block}.categories-search-wrapper{position:relative}.categories-search-wrapper.is-hidden{display:none}.categories-search-wrapper label{position:absolute;top:50%;left:10px;margin-top:-10px;color:#9ea7af}html{overflow:auto}body{overflow-x:hidden;height:100%}html{background:#fff;-webkit-box-shadow:10px 0 0 rgba(0,0,0,.3);box-shadow:10px 0 0 rgba(0,0,0,.3)}@media (max-width:900px){body{font-size:16px}}@media (max-width:320px){body{font-size:14px}}.lt-ie9{overflow:visible}.adminbar{position:relative;width:100%;padding:0 .8em;min-height:3.2em;background:#23282d;color:#fff;z-index:9999}.adminbar:after,.adminbar:before{content:"";display:table}.adminbar:after{clear:both}.adminbar .dashicons{color:#999}.adminbar button{position:absolute;top:50%;left:6px;margin-top:-13px}@media (max-width:320px){.adminbar{min-height:45px}}.current-site{margin-top:.5625em;font-size:16px;line-height:44px;font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (max-width:600px){.current-site{margin:3px 0 0}}@media (max-width:320px){.current-site{margin:0;font-size:14px}}.current-site-link{text-decoration:none}.current-site-link:focus{outline:0}.current-site-link:focus .current-site-name{text-decoration:underline}.current-site-name{color:#ededed}@media (max-width:320px){.current-site-name{font-weight:600}}.current-site .dashicons-wordpress{position:relative;top:-1px;margin-left:10px;vertical-align:middle}.options,.options-panel-back.is-hidden,.options.closed .on-open,.options.open .on-closed{display:none}@media (max-width:900px){.options{display:block}}.options:focus .dashicons{color:#fff;text-decoration:none}.options .dashicons{margin-top:3px}.options{color:#00a0d2}.alert{position:relative;margin:0;padding:16px 50px;border-bottom:1px solid #e5e5e5;font-size:14px}.alert:before{content:'';position:absolute;top:50%;right:30px;width:8px;height:8px;margin-top:-4px;-webkit-border-radius:50%;border-radius:50%;background:#00a0d2}@media (max-width:600px){.alert{padding:16px 35px}.alert:before{right:15px}}.alert.is-error:before{background:red}.scan{position:relative;border-bottom:1px solid #e5e5e5}@media (max-width:900px){.scan form{-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.scan.is-hidden form{opacity:.2;pointer-events:none}}.scan-url{display:block;border:0;padding:.85714em 1.07143em;font-size:14px;width:100%}@media (max-width:600px){.scan-url{font-size:16px}}.scan-submit{position:absolute;top:0;left:0;bottom:0;padding:0 1.07143em;background:#f7f7f7;border:0;border-right:1px solid #f1f1f1;-webkit-border-radius:0;border-radius:0;color:#555;font-size:14px;line-height:1.6}.scan-submit:focus,.scan-submit:hover{background:#2991b7;border-color:#20708e;color:#fff;outline:0}.scan-submit:active{background:#2581a2;border-color:#20708e;color:#fff}.scan-submit:visited{color:#555}.wrapper{position:relative;margin-bottom:60px;margin-left:320px}.wrapper:after,.wrapper:before{content:"";display:table}.wrapper:after{clear:both}@media (max-width:900px){.wrapper{margin:0;width:100%}}.editor-wrapper{overflow:auto;float:right;width:100%}.editor-wrapper:after,.editor-wrapper:before{content:"";display:table}.editor-wrapper:after{clear:both}.editor{padding:0 1.5em 4.75em;max-width:700px;margin:0 auto}.spinner{height:20px;width:20px;display:inline-block;visibility:hidden;background:url(../images/spinner.gif) center/20px 20px no-repeat;-webkit-background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);line-height:1;vertical-align:middle}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.spinner{background-image:url(../images/spinner-2x.gif)}}.spinner.is-active{visibility:visible}#pressthis{color:#fff}@media (min-width:901px){.editor{max-width:760px}}@media (max-width:320px){.editor{padding:0}}.post-title,.post-title-placeholder{margin:0;padding:.83em 0;width:100%;border-bottom:1px solid #e5e5e5;font-size:32px;line-height:1.4;font-weight:700}.post-title-placeholder:active,.post-title-placeholder:focus,.post-title:active,.post-title:focus{outline:0;-webkit-box-shadow:inset 0 -3px 0 #00a0d2;box-shadow:inset 0 -3px 0 #00a0d2;border-color:#00a0d2}@media (max-width:900px){.post-title,.post-title-placeholder{font-size:24px}}@media (max-height:400px){.post-title,.post-title-placeholder{padding:15px 0;font-size:16px}}@media (max-width:320px){.post-title,.post-title-placeholder{font-size:16px;font-weight:600;padding:1.14286em 1.42857em}}.post-title{background:url(data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH5BAEHAAIALAAAAAABAAEAAAICVAEAOw==);background:0 0,none}.post-title:before{content:'\a0';display:inline-block;width:0;speak:none}.post-title-placeholder{position:absolute;border:0;color:#9ea7af;z-index:-1}.post-title-placeholder.is-hidden{display:none}.media-list-container{position:relative;padding:2px 0;border-bottom:1px solid #e5e5e5;display:none}.media-list-inner-container{overflow:auto;max-height:150px;max-height:40vw}.media-list-container.has-media{display:block}.media-list-inner-container:after,.media-list-inner-container:before{content:"";display:table}.media-list-inner-container:after{clear:both}.media-list{margin:0;padding:0}@media (min-width:321px){.media-list-inner-container{max-height:250px;max-height:40vw}}@media (min-width:601px){.media-list-inner-container{max-height:200px;max-height:18.75vw}}.wppt-all-media-list{list-style:none;margin:0;padding:0}.is-embed:focus,.suggested-media-thumbnail:focus{outline:0;-webkit-box-shadow:inset 0 0 0 3px #00a0d2;box-shadow:inset 0 0 0 3px #00a0d2}.suggested-media-thumbnail{position:relative;display:block;float:right;width:16.66%;padding:16.66% 16.66% 0 0;background-position:center;background-repeat:no-repeat;-webkit-background-size:cover;background-size:cover;background-color:#d8d8d8;color:#fff;color:rgba(255,255,255,.6);cursor:pointer}.suggested-media-thumbnail:active,.suggested-media-thumbnail:focus,.suggested-media-thumbnail:hover{color:#fff}.suggested-media-thumbnail:after,.suggested-media-thumbnail:before{display:inline-block;position:absolute;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.suggested-media-thumbnail:before{right:50%;top:50%;margin:-20px -20px 0 0;font-size:40px}.suggested-media-thumbnail:after{content:"\f132";left:3%;bottom:2%}@media (min-width:601px){.suggested-media-thumbnail{width:12.5%;padding:12.5% 12.5% 0 0}}.is-embed:before{content:"\f104";color:#fff;color:rgba(255,255,255,.9)}.is-embed.is-audio:active:before,.is-embed.is-audio:focus:before,.is-embed.is-audio:hover:before,.is-embed.is-tweet:active:before,.is-embed.is-tweet:focus:before,.is-embed.is-tweet:hover:before{color:#fff}.is-embed.is-video{background-color:#23282d}.is-embed.is-video:active:before,.is-embed.is-video:focus:before,.is-embed.is-video:hover:before{color:rgba(255,255,255,.2)}.is-embed.is-video:before{content:"\f236"}.is-embed.is-audio{background-color:#ff7d44}.is-embed.is-audio:before{content:"\f127"}.is-embed.is-tweet{background-color:#55acee}.is-embed.is-tweet:before{content:"\f301"}.no-media{margin:0;padding:0;border:0}.press-this-actions{position:fixed;bottom:0;right:0;width:100%;background:#f1f1f1;background:rgba(241,241,241,.9);border-top:1px solid #e5e5e5}@media (max-width:900px){.press-this-actions{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.press-this-actions.is-hidden{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}}.add-media{float:right;margin:14px 30px 14px 0;font-size:0}@media (max-width:320px){.add-media{margin:10px 10px 10px 0}}.insert-media{color:#9ea7af;float:right;margin:0;padding:0;border:0;border-left:1px solid #e5e5e5;-webkit-border-radius:0;border-radius:0;background:0 0;-webkit-box-shadow:none;box-shadow:none;overflow:hidden}.insert-media:active,.insert-media:focus,.insert-media:hover{margin:0;background:0 0;border-color:#e5e5e5;color:#23282d}.insert-media:active,.insert-media:focus{outline:0;color:#00a0d2;text-decoration:none}.insert-media .dashicons{padding:11px;width:63px;height:58px;font-size:40px}@media (max-width:320px){.insert-media .dashicons{width:55px;height:49px;padding:14px;font-size:20px}}.post-actions{float:left;margin:14px 0 14px 30px;font-size:13px}@media (max-width:320px){.post-actions{margin:10px 0 10px 10px}}.edit-post-link{font-size:13px;display:inline-block;text-decoration:none;padding:0 10px}.draft-button .saving-draft,.draft-button.is-hidden,.draft-button.is-saving .save-draft{display:none}.draft-button.is-saving .saving-draft{display:inline}.editor .wp-media-buttons{float:none}.editor div.mce-toolbar-grp{padding:.71429em 0;background:0 0;border:0}@media (max-height:400px),(max-width:320px){.editor div.mce-toolbar-grp{padding:0}}.mce-stack-layout:after,.mce-stack-layout:before{content:"";display:table}.mce-stack-layout:after{clear:both}.mce-container.mce-toolbar{float:right}.mce-container.mce-toolbar:nth-child(2){float:left}@media (max-width:600px){.mce-first .mce-btn:nth-child(3),.mce-first .mce-btn:nth-child(4){position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.mce-first .mce-btn:nth-child(3):focus,.mce-first .mce-btn:nth-child(4):focus{position:static;margin:1px;padding:inherit;height:auto;width:auto;overflow:visible;clip:auto;border:1px solid #999}}#wp-link-wrap{font-size:13px}#wp-link-wrap input[type=text]{padding:3px 5px;margin:1px}@media screen and (max-width:782px){#wp-link-wrap{font-size:14px}#wp-link-wrap input[type=text]{padding:6px 10px}}#wp-link-wrap .howto{color:#666;font-style:italic}.options-panel{position:relative;float:left;margin-left:-320px;width:320px;border-right:1px solid #e5e5e5;font-size:14px;-webkit-box-shadow:-5001px 5000px 0 5000px #fff,-5000px 5000px 0 5000px #e5e5e5;box-shadow:-5001px 5000px 0 5000px #fff,-5000px 5000px 0 5000px #e5e5e5;outline:0}.options-panel-back{position:absolute;top:0;left:0;bottom:0;width:320px;outline:0}@media (max-width:900px){.options-panel{background:#fff;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.options-panel.is-hidden{visibility:hidden}.options-panel.is-off-screen{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}@media (max-width:320px){.options-panel{margin-left:-100%;width:100%;border:0;-webkit-box-shadow:-5001px 5000px 0 5000px #fff;box-shadow:-5001px 5000px 0 5000px #fff}.options-panel-back{width:100%}}.post-options{background:#fff;position:absolute;left:0;width:100%;overflow-x:hidden}.post-options .post-option-contents{margin-right:3px;color:#32373c}.post-option-forward:before{position:absolute;top:50%;left:8px;margin-top:-10px;content:"\f341"}.post-option-back:before{content:"\f345"}.lt-ie9 .options-panel,.lt-ie9 .post-options{border-right:1px solid #e5e5e5}.lt-ie9 .post-options.is-off-screen{border:0}.post-option{position:relative}.post-options .post-option{display:block;width:100%;padding:13px 14px 13px 37px;border-bottom:1px solid #e5e5e5;text-decoration:none;text-align:right;color:#9ea7af;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.post-options .post-option:focus{outline:0;-webkit-box-shadow:inset -5px 0 0 #00a0d2;box-shadow:inset -5px 0 0 #00a0d2}.is-off-screen>.post-option{left:100%}.is-hidden>.post-option{visibility:hidden}@media (min-width:1px){.is-off-screen>.post-option{left:auto;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}}.post-option-title{display:inline-block;margin:0 8px 0 0;font-size:14px;font-weight:400}.setting-modal{position:relative;top:0;right:0;width:100%;overflow:hidden;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.setting-modal.is-hidden{visibility:hidden;height:0}.setting-modal.is-off-screen{right:100%}@media (min-width:1px){.setting-modal.is-off-screen{right:0;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}}.modal-close{display:block;width:100%;padding:13px 14px;border-bottom:1px solid #e5e5e5;color:#00a0d2;text-decoration:none;text-align:right}.modal-close:focus{outline:0;-webkit-box-shadow:inset -5px 0 0 #00a0d2;box-shadow:inset -5px 0 0 #00a0d2}.setting-title{position:relative;top:-1px;margin-right:11px}
\ No newline at end of file
index dbf355affe56cb43b18d5e36b40711fb124d02b3..62bc7440f5c730e2271398a16a338c62c765c7b5 100644 (file)
-.press-this #message {
-       border-left: 4px solid #7ad03a;
-       padding: 1px 12px;
+/*
+Press This styles :)
+*/
+
+
+/**
+* Normalize
+*
+* normalize.css v3.0.0 | MIT License | git.io/normalize
+*/
+html {
+       font-family: sans-serif;
+       -ms-text-size-adjust: 100%;
+       -webkit-text-size-adjust: 100%;
+}
+
+body {
+       margin: 0;
+}
+
+*,
+*:before,
+*:after {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+}
+@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-resolution: 144dpi) {
+       *,
+       *:before,
+       *:after {
+               -webkit-font-smoothing: antialiased;
+       }
+}
+
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+nav,
+section,
+summary {
+       display: block;
+}
+
+audio,
+canvas,
+progress,
+video {
+       display: inline-block;
+       vertical-align: baseline;
+}
+
+audio:not([controls]) {
+       display: none;
+       height: 0;
+}
+
+[hidden],
+template {
+       display: none;
+}
+
+a {
+       background: transparent;
+}
+
+a:active,
+a:hover {
+       outline: 0;
+}
+
+abbr[title] {
+       border-bottom: 1px dotted;
+}
+
+b,
+strong {
+       font-weight: bold;
+}
+
+dfn {
+       font-style: italic;
+}
+
+h1 {
+       font-size: 2em;
+       margin: 0.67em 0;
+}
+
+mark {
+       background: #ff0;
+       color: #000;
+}
+
+small {
+       font-size: 80%;
+}
+
+sub,
+sup {
+       font-size: 75%;
+       line-height: 0;
+       position: relative;
+       vertical-align: baseline;
+}
+
+sup {
+       top: -0.5em;
+}
+
+sub {
+       bottom: -0.25em;
+}
+
+img {
+       border: 0;
+}
+
+svg:not(:root) {
+       overflow: hidden;
+}
+
+figure {
+       margin: 1em 40px;
+}
+
+hr {
+       -webkit-box-sizing: content-box;
+       -moz-box-sizing: content-box;
+       box-sizing: content-box;
+       height: 0;
+}
+
+pre {
+       overflow: auto;
+}
+
+code,
+kbd,
+pre,
+samp {
+       font-family: monospace, monospace;
+       font-size: 1em;
+}
+
+button,
+input,
+optgroup,
+select,
+textarea {
+       color: inherit;
+       font: inherit;
+       margin: 0;
+}
+
+button {
+       overflow: visible;
+}
+
+button,
+select {
+       text-transform: none;
+}
+
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+       -webkit-appearance: button;
+       cursor: pointer;
+}
+
+button[disabled],
+html input[disabled] {
+       cursor: default;
+}
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+       border: 0;
+       padding: 0;
+}
+
+input {
+       line-height: normal;
+}
+
+input[type="checkbox"],
+input[type="radio"] {
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
+       padding: 0;
+}
+
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+       height: auto;
+}
+
+input[type="search"] {
+       -webkit-appearance: textfield;
+       -webkit-box-sizing: content-box;
+       -moz-box-sizing: content-box;
+       box-sizing: content-box;
+}
+
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+       -webkit-appearance: none;
+}
+
+fieldset {
+       border: 0;
+       margin: 0;
+       padding: 0;
+}
+
+legend {
+       border: 0;
+       padding: 0;
+}
+
+textarea {
+       overflow: auto;
+}
+
+optgroup {
+       font-weight: bold;
+}
+
+table {
+       border-collapse: collapse;
+       border-spacing: 0;
+}
+
+td,
+th {
+       padding: 0;
+}
+
+.clearfix:before,
+.clearfix:after {
+       content: "";
+       display: table;
+}
+.clearfix:after {
+       clear: both;
+}
+
+.hide-if-js {
+       display: none;
+}
+
+.screen-reader-text {
+       position: absolute;
+       margin: -1px;
+       padding: 0;
+       height: 1px;
+       width: 1px;
+       overflow: hidden;
+       clip: rect(0 0 0 0);
+       border: 0;
+}
+
+
+/**
+* Typography
+*
+* Base element typographic styles.
+*/
+body,
+button,
+input,
+select,
+textarea {
+       color: #404040;
+       font-family: "Open Sans", Helvetica, Arial, sans-serif;
+       font-size: 20px;
+       font-weight: 400;
+       line-height: 1.6;
+}
+
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+       clear: both;
+}
+
+p {
+       margin-bottom: 1.5em;
+}
+
+b,
+strong {
+       font-weight: 700;
+}
+
+
+/**
+* Buttons
+*
+* Pushing buttons is what I do.
+*/
+
+.button-subtle,
+.scan-submit {
+       display: inline-block;
+       margin: 0;
+       padding: 0 10px 1px;
+       border-width: 1px;
+       border-style: solid;
+       -webkit-border-radius: 3px;
+       border-radius: 3px;
+       font-size: 13px;
+       line-height: 2;
+       text-decoration: none;
+       white-space: nowrap;
+       cursor: pointer;
+       -webkit-appearance: none;
+}
+
+.button-subtle {
+       background: none;
+       border: 0;
+       color: #0073aa;
+}
+
+.button-subtle:visited {
+       color: #0073aa;
+}
+
+.button-subtle:focus,
+.button-subtle:hover,
+.button-subtle:active,
+.edit-post-link:focus,
+.edit-post-link:hover,
+.edit-post-link:active {
+       color: #00a0d2;
+}
+
+.button-subtle:focus,
+.button-subtle:active,
+.edit-post-link:focus,
+.edit-post-link:active {
+       outline: 0;
+       text-decoration: underline;
+}
+
+.preview-button {
+       margin-right: 5px;
+}
+
+.button-reset {
+       margin: 0;
+       padding: 0;
+       border: 0;
+       background: none;
+       cursor: pointer;
+       -webkit-appearance: none;
+}
+
+.button-reset:focus {
+       outline: 0;
+}
+
+.button-link {
+       margin: 0;
+       padding: 0;
+       border: 0;
+       background: none;
+       color: #0073aa;
+       cursor: pointer;
+       -webkit-appearance: none;
+}
+
+.button-link:hover,
+.button-link:active,
+.button-link:focus {
+       color: #00a0d2;
+       text-decoration: underline;
+}
+
+
+/**
+* Forms
+*
+* So many input types.
+*/
+button,
+input,
+select,
+textarea {
+       font-size: 100%;
+       margin: 0;
+       vertical-align: baseline;
+       *vertical-align: middle;
+}
+
+[type="checkbox"],
+[type="radio"] {
+       padding: 0;
+}
+
+[type="search"] {
+       -webkit-appearance: textfield;
+       -webkit-box-sizing: content-box;
+       -moz-box-sizing: content-box;
+       box-sizing: content-box;
+}
+
+[type="search"]::-webkit-search-decoration {
+       -webkit-appearance: none;
+}
+
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+       border: 0;
+       padding: 0;
+}
+
+[type="text"],
+[type="email"],
+[type="url"],
+[type="password"],
+[type="search"],
+textarea {
+       padding: 0.4em 0.75em;
+       color: #32373c;
+       border: 1px solid #ccc;
+}
+
+[type="text"]:focus,
+[type="email"]:focus,
+[type="url"]:focus,
+[type="password"]:focus,
+[type="search"]:focus,
+textarea:focus {
+       color: #32373c;
+       outline: 0;
+}
+
+textarea {
+       overflow: auto;
+       padding-left: 3px;
+       vertical-align: top;
+}
+
+
+/**
+* Links
+*/
+a {
+       color: #0073aa;
+}
+
+a:visited {
+       color: #0073aa;
+}
+
+a:hover,
+a:focus,
+a:active {
+       color: #00a0d2;
+}
+
+
+/**
+* Lists
+*/
+ul,
+ol {
+       margin: 0 0 1.5em 3em;
+}
+
+ul {
+       list-style: disc;
+}
+
+ol {
+       list-style: decimal;
+}
+
+li > ul,
+li > ol {
+       margin-bottom: 0;
+       margin-left: 1.5em;
+}
+
+dt {
+       font-weight: 700;
+}
+
+dd {
+       margin: 0 1.5em 1.5em;
+}
+
+
+/**
+* Post formats
+*
+* Complete styles for post formats UI
+*/
+/* TODO if we remove the <br> during merge, this can go. */
+#post-formats-select br {
+       display: none;
+}
+
+.post-format {
+       width: 1px;
+       height: 1px;
+       position: absolute;
+       top: -9999px;
+}
+
+.lt-ie9 .post-format {
+       margin: 17px 12px 0 13px;
+       width: auto;
+       height: auto;
+       position: static;
+       top: auto;
+       float: left;
+       width: 16px;
+       height: 16px;
+}
+
+.post-format-icon {
+       position: relative;
+       display: block;
+       padding: 13px 2px 14px 13px;
+       cursor: pointer;
+}
+
+.post-format-icon:before,
+.post-format-icon:after {
+       content: "";
+       display: inline-block;
+       width: 20px;
+       height: 20px;
+       margin-right: 10px;
+       font-size: 20px;
+       line-height: 1;
+       font-family: dashicons;
+       text-decoration: inherit;
+       color: #9ea7af;
+       font-weight: 400;
+       font-style: normal;
+       vertical-align: top;
+       text-align: center;
+       -webkit-transition: color .1s ease-in 0;
+       transition: color .1s ease-in 0;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+
+.post-format-icon:before {
+       content: "\f109";
+}
+
+.post-format-icon:after {
+       display: none;
+       content: "\f147";
+       float: right;
+}
+
+.post-format:checked + .post-format-icon {
+       -webkit-box-shadow: inset 6px 0 0 #00a0d2;
+       box-shadow: inset 6px 0 0 #00a0d2;
+       background: rgba(46, 162, 204, 0.1);
+}
+
+.post-format:checked + .post-format-icon:before,
+.post-format:checked + .post-format-icon:after {
+       color: #32373c;
+}
+
+.post-format:focus + .post-format-icon {
+       background: #00a0d2;
+       color: #fff;
+}
+
+.post-format:focus + .post-format-icon:before,
+.post-format:focus + .post-format-icon:after {
+       color: #fff;
+}
+
+.post-format:checked + .post-format-icon:after {
+       display: block;
+}
+
+.lt-ie9 .post-format-icon {
+       margin-left: 16px;
+}
+
+.post-format-aside:before {
+       content: "\f123";
+}
+
+.post-format-image:before {
+       content: "\f128";
+}
+
+.post-format-video:before {
+       content: "\f126";
+}
+
+.post-format-audio:before {
+       content: "\f127";
+}
+
+.post-format-quote:before {
+       content: "\f122";
+}
+
+.post-format-link:before {
+       content: "\f103";
+}
+
+.post-format-gallery:before {
+       content: "\f161";
+}
+
+
+/**
+* Tags
+*
+* Complete styles for tags UI
+*/
+.tagsdiv p {
+       margin: 0;
+}
+
+.tagsdiv .ajaxtag {
+       position: relative;
+}
+
+.tagsdiv .newtag {
+       display: block;
+       position: relative;
+       padding: 11px 58px 11px 16px;
+       width: 100%;
+       border: 0;
+       border-bottom: 1px solid #e5e5e5;
+       font-size: 16px;
+}
+
+.tagsdiv .tagadd {
+       position: absolute;
+       top: 0;
+       right: 0;
+       bottom: 1px;
+       border: 0;
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       margin: 0;
+       padding: 0 16px;
+       background: #f7f7f7;
+       border-left: 1px solid #f1f1f1;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+.tagsdiv .tagadd:hover,
+.tagsdiv .tagadd:active,
+.tagsdiv .tagadd:focus {
+       outline: 0;
+       background: #2991b7;
+       border-color: #20708e;
+       color: #fff;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+.tagsdiv .howto {
+       color: #727272;
+       font-style: italic;
+       margin: 10px 0 6px 16px;
+}
+
+
+/* Tag hint TODO needed? */
+/* Tag suggestions */
+.ac_results {
+       padding: 0;
+       margin: -1px 0 0 -1px;
+       list-style: none;
+       position: absolute;
+       z-index: 10000;
+       display: none;
+       border: 1px solid #d8d8d8;
        background-color: #fff;
-       -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);
+       font-size: 14px;
+}
+
+.ac_results li {
+       padding: 6px 16px;
+       white-space: nowrap;
+       color: #101010;
+       text-align: left;
+}
+
+.ac_results .ac_over {
+       background-color: #e5e5e5;
+       background-color: #00a0d2;
+       color: #fff;
+       cursor: pointer;
+}
+
+.ac_match {
+       text-decoration: underline;
+}
+
+/* Tags */
+.tagchecklist {
+       padding: 16px 28px 5px;
+}
+
+.tagchecklist:before,
+.tagchecklist:after {
+       content: "";
+       display: table;
+}
+
+.tagchecklist:after {
+       clear: both;
+}
+
+.tagchecklist span {
+       display: block;
+       margin-right: 25px;
+       float: left;
+       font-size: 13px;
+       line-height: 1.8;
+       white-space: nowrap;
+       cursor: default;
+}
+
+@media (max-width: 600px) {
+       .tagchecklist span {
+               margin-bottom: 15px;
+               font-size: 16px;
+               line-height: 1.3;
+       }
+}
+
+.tagchecklist .ntdelbutton {
+       margin: 1px 0 0 -17px;
+       cursor: pointer;
+       width: 20px;
+       height: 20px;
+       display: block;
+       float: left;
+       text-indent: 0;
+       overflow: hidden;
+       position: absolute;
+       outline: 0;
+}
+
+.tagchecklist .ntdelbutton:before {
+       content: '\f153';
+       display: block;
+       margin: 2px 0;
+       height: 20px;
+       width: 20px;
+       background: 0 0;
+       color: #9ea7af;
+       font: 400 16px/1 dashicons;
+       text-align: center;
+       speak: none;
+       -webkit-font-smoothing: antialiased;
+}
+
+.tagchecklist .ntdelbutton:focus:before {
+       color: #00a0d2;
+}
+
+
+/* THE TAG CLOUD. */
+.tagsdiv + p {
+       margin: 0;
+}
+
+.tagcloud-link {
+       display: block;
+       padding: 0 16px;
+       text-decoration: none;
+       outline: 0;
+}
+
+.tagcloud-link:focus {
+       text-decoration: underline;
+}
+
+.popular-tags {
+       border: none;
+       line-height: 2em;
+       padding: 8px 12px 12px;
+       text-align: justify;
+}
+
+.popular-tags a {
+       padding: 0 3px;
+}
+
+.the-tagcloud {
+       margin: 0;
+       padding: 16px;
+}
+
+.the-tagcloud a {
+       text-decoration: none;
+       outline: 0;
+}
+
+.the-tagcloud a:focus {
+       text-decoration: underline;
+}
+
+.tagcloud h3 {
+       margin: 2px 0 12px;
+}
+
+
+/**
+* Categories
+*
+* Complete styles for post categories UI
+*/
+input[type="search"].categories-search,
+.add-category-name {
+       display: block;
+       width: 100%;
+       padding: 0.85714em 1.07143em;
+       border: 0;
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       border-bottom: 1px solid #e5e5e5;
+       font-size: 14px;
+       -webkit-appearance: none;
+       appearance: none;
+}
+
+@media (max-width: 600px) {
+       input[type="search"].categories-search,
+       .add-category-name {
+               /* Needs to be 16px to prevent zooming on iOS. Guh. */
+               font-size: 16px;
+       }
+}
+
+.add-cat-toggle {
+       float: right;
+       margin-top: -45px;
+       line-height: 20px;
+       padding: 12px 10px 8px;
+}
+
+.add-cat-toggle:focus {
+       text-decoration: none;
+       color: #00a0d2;
+}
+
+.add-cat-toggle.is-toggled {
+       padding: 10px;
+}
+
+.add-cat-toggle.is-toggled .dashicons:before {
+       content: "\f179";
+}
+
+.add-category {
+       position: relative;
+       border-bottom: 1px solid #e5e5e5;
+}
+
+.add-category.is-hidden {
+       display: none;
+}
+
+.add-category .add-cat-submit {
+       position: absolute;
+       top: 0;
+       right: 0;
+       border: 0;
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       padding: 12px 16px;
+       background: #f7f7f7;
+       border-left: 1px solid #f1f1f1;
+}
+
+.add-category .add-cat-submit:hover,
+.add-category .add-cat-submit:active,
+.add-category .add-cat-submit:focus {
+       outline: 0;
+       background: #2991b7;
+       border-color: #20708e;
+       color: #fff;
+}
+
+/* Parent category select */
+.postform-wrapper {
+       padding: 12px;
+}
+
+.postform {
+       display: block;
+       margin: 0;
+       width: 100%;
+       height: 34px;
+       border: 0;
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       border: 1px solid #e5e5e5;
+       background: #fff;
+       -webkit-background-size: 20px 20px;
+       background-size: 20px 20px;
+       overflow: hidden;
+       line-height: 21px;
+       text-overflow: ellipsis;
+       text-decoration: none;
+       vertical-align: top;
+       white-space: nowrap;
+       cursor: pointer;
+       outline: 0;
+}
+
+.postform:focus {
+       border-color: #0073aa;
+       -webkit-box-shadow: 0 0 0 3px #00a0d2;
+       box-shadow: 0 0 0 3px #00a0d2;
+       outline: 0;
+       -moz-outline: none;
+       -moz-user-focus: ignore;
+}
+
+.postform::-ms-expand {
+       display: none;
+}
+
+.postform::-ms-value {
+       background: none;
+       color: #727272;
+}
+
+.postform:-moz-focusring {
+       color: transparent;
+       text-shadow: 0 0 0 #727272;
+}
+
+/* Category list */
+.categories-select {
+       margin: 0;
+       padding: 0;
+       list-style: none;
+}
+
+.categories-select ul {
+       margin: 0;
+       padding: 0;
+       list-style: none;
+}
+
+.category {
+       position: relative;
+       display: block;
+       padding: 13px 16px 14px 16px;
+       cursor: pointer;
+       background: #fff;
+}
+
+.category:focus,
+.category.selected:focus {
+       outline: 0;
+       background: #00a0d2;
+       color: #fff;
+}
+
+.category.selected {
+       -webkit-box-shadow: inset 6px 0 0 #00a0d2;
+       box-shadow: inset 6px 0 0 #00a0d2;
+       background: #E9F5F9;
+}
+
+.category.selected:after {
+       display: inline-block;
+       content: "\f147";
+       position: absolute;
+       top: 13px;
+       right: 0;
+       width: 20px;
+       height: 20px;
+       margin-right: 10px;
+       font-size: 20px;
+       line-height: 1;
+       font-family: dashicons;
+       text-decoration: inherit;
+       color: #23282d;
+       font-weight: 400;
+       font-style: normal;
+       vertical-align: top;
+       text-align: center;
+       -webkit-transition: color .1s ease-in 0;
+       transition: color .1s ease-in 0;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
+}
+
+.category.selected:focus:after {
+       color: #fff;
+}
+
+.categories-select ul .category {
+       padding-left: 24px;
+}
+
+.categories-select ul ul .category {
+       padding-left: 32px;
+}
+
+.categories-select ul ul ul .category {
+       padding-left: 40px;
+}
+
+.categories-select ul ul ul ul .category {
+       padding-left: 48px;
+}
+
+.categories-select ul ul ul ul ul .category {
+       padding-left: 56px;
+}
+
+.categories-select ul ul ul ul ul ul .category {
+       padding-left: 64px;
+}
+
+.categories-select .is-hidden {
+       display: none;
+}
+
+.categories-select .is-hidden.searched-parent {
+       display: block;
+}
+
+/* Category search */
+.categories-search-wrapper {
+       position: relative;
+}
+
+.categories-search-wrapper.is-hidden {
+       display: none;
+}
+
+.categories-search-wrapper label {
+       position: absolute;
+       top: 50%;
+       right: 10px;
+       margin-top: -10px;
+       color: #9ea7af;
+}
+
+
+/**
+* Main
+*/
+html {
+       overflow: auto;
+}
+
+body {
+       overflow-x: hidden;
+       height: 100%;
+}
+
+html {
+       background: #fff;
+       -webkit-box-shadow: -10px 0 0 rgba(0, 0, 0, 0.3);
+       box-shadow: -10px 0 0 rgba(0, 0, 0, 0.3);
+}
+
+@media (max-width: 900px) {
+       body {
+               font-size: 16px;
+       }
+}
+
+@media (max-width: 320px) {
+       body {
+               font-size: 14px;
+       }
+}
+
+.lt-ie9 {
+       overflow: visible;
+}
+
+.adminbar {
+       position: relative;
+       width: 100%;
+       padding: 0 0.8em;
+       min-height: 3.2em;
+       background: #23282d;
+       color: #fff;
+       z-index: 9999;
+}
+
+.adminbar:before,
+.adminbar:after {
+       content: "";
+       display: table;
+}
+
+.adminbar:after {
+       clear: both;
+}
+
+.adminbar .dashicons {
+       color: #999;
+}
+
+.adminbar button {
+       position: absolute;
+       top: 50%;
+       right: 6px;
+       margin-top: -13px;
+}
+
+@media (max-width: 320px) {
+       .adminbar {
+               min-height: 45px;
+       }
+}
+
+.current-site {
+       margin-top: 0.5625em;
+       font-size: 16px;
+       line-height: 44px;
+       font-weight: 400;
+       overflow: hidden;
+       white-space: nowrap;
+       text-overflow: ellipsis;
 }
 
-.press-this #side-sortables .category-tabs li {
-       display: inline;
-       line-height: 1.35em;
+@media (max-width: 600px) {
+       .current-site {
+               margin: 3px 0 0;
+       }
 }
 
-body.press-this ul.category-tabs li.tabs a {
-       color: #333;
+@media (max-width: 320px) {
+       .current-site {
+               margin: 0;
+               font-size: 14px;
+       }
 }
 
-.press-this #content-resize-handle {
-       bottom: 2px;
+.current-site-link {
+       text-decoration: none;
 }
 
-body.press-this {
-       color: #333;
-       margin: 0;
-       padding: 0;
-       min-width: 708px;
-       min-height: 400px;
+.current-site-link:focus {
+       outline: 0;
 }
 
-.press-this #titlediv #title {
-       font-size: 1.4em;
+.current-site-link:focus .current-site-name{
+       text-decoration: underline;
 }
 
-.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;
+.current-site-name {
+       color: #ededed;
 }
 
-.press-this #wphead {
-       height: 32px;
-       margin-left: 0;
-       margin-right: 0;
-       margin-bottom: 5px;
+@media (max-width: 320px) {
+       .current-site-name {
+               font-weight: 600;
+       }
 }
 
-.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;
+.current-site .dashicons-wordpress {
+       position: relative;
+       top: -1px;
+       margin-right: 10px;
+       vertical-align: middle;
 }
 
-.press-this #wphead h1 {
-       font-weight: normal;
-       font-size: 16px;
-       line-height: 32px;
-       margin: 0;
-       float: left;
+.options,
+.options.open .on-closed,
+.options.closed .on-open {
+       display: none;
 }
 
-.press-this #wphead h1 a {
-       text-decoration: none;
+@media (max-width: 900px) {
+       .options {
+               display: block;
+       }
 }
 
-.press-this #wphead h1 a:hover {
-       text-decoration: underline;
+.options-panel-back.is-hidden {
+       display: none;
 }
 
-.press-this #message {
-       margin: 10px 0;
+.options:focus .dashicons {
+       color: #fff;
+       text-decoration: none;
 }
 
-.press-this .posting {
-       margin-right: 250px;
+.options .dashicons {
+       margin-top: 3px;
 }
 
-.press-this-sidebar {
-       float: right;
-       width: 240px;
-       padding-top: 10px;
+.options {
+       color: #00a0d2;
 }
 
-.press-this #title {
-       margin-left: 0;
-       margin-right: 0;
-       -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-       box-sizing: border-box;
+.alert {
+       position: relative;
+       margin: 0;
+       padding: 16px 50px;
+       border-bottom: 1px solid #e5e5e5;
+       font-size: 14px;
 }
 
-.press-this .tagchecklist {
-       margin-top: 8px;
+.alert:before {
+       content: '';
+       position: absolute;
+       top: 50%;
+       left: 30px;
+       width: 8px;
+       height: 8px;
+       margin-top: -4px;
+       -webkit-border-radius: 50%;
+       border-radius: 50%;
+       background: #00a0d2;
 }
 
-.press-this #titlediv {
-       margin: 0;
+@media (max-width: 600px) {
+       .alert {
+               padding: 16px 35px;
+       }
+       .alert:before {
+               left: 15px;
+       }
 }
 
-.press-this #wp-content-wrap #wp-content-editor-tools {
-       padding: 0;
-       top: 3px;
-       overflow: hidden;
+.alert.is-error:before {
+       background: red;
 }
 
-.press-this .wp-media-buttons {
-       cursor: default;
-       padding: 8px 8px 6px;
+.scan {
+       position: relative;
+       border-bottom: 1px solid #e5e5e5;
 }
 
-.press-this #wp-content-wrap #wp-content-media-buttons a {
-       padding: 0;
-       line-height: normal;
-       height: auto;
-       font-size: 16px;
+@media (max-width: 900px) {
+       .scan form {
+               -webkit-transition: opacity .3s ease-in-out;
+               transition: opacity .3s ease-in-out;
+       }
+       .scan.is-hidden form {
+               opacity: .2;
+               pointer-events: none;
+       }
 }
 
-.press-this #wp-content-wrap .mce-toolbar .mce-btn-group .mce-btn {
-       margin: 0 1px;
+.scan-url {
+       display: block;
+       border: 0;
+       padding: 0.85714em 1.07143em;
+       font-size: 14px;
+       width: 100%;
 }
 
-.press-this #wp-content-wrap .mce-toolbar .mce-btn button {
-       padding: 2px 3px;
+@media (max-width: 600px) {
+       .scan-url {
+               font-size: 16px;
+       }
 }
 
-.press-this #wp-content-wrap div.mce-toolbar-grp,
-.press-this #wp-content-wrap .quicktags-toolbar {
-       padding-right: 3px;
+.scan-submit {
+       position: absolute;
+       top: 0;
+       right: 0;
+       bottom: 0;
+       padding: 0 1.07143em;
+       background: #f7f7f7;
+       border-color: #dedede;
+       border: 0;
+       border-left: 1px solid #f1f1f1;
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       color: #555;
+       font-size: 14px;
+       line-height: 1.6;
 }
 
-.press-this .howto {
-       margin-top: 2px;
-       margin-bottom: 3px;
-       font-size: 12px;
-       font-style: italic;
-       display: block;
+.scan-submit:hover,
+.scan-submit:focus {
+       background: #2991b7;
+       border-color: #20708e;
+       color: #fff;
+       outline: 0;
 }
 
-.press-this #wp-content-editor-container {
-       clear: none;
+.scan-submit:active {
+       background: #2581a2;
+       border-color: #20708e;
+       color: #fff;
 }
 
-.press-this #poststuff .inside {
-       margin-top: 18px;
+.scan-submit:visited {
+       color: #555;
 }
 
-.press-this .category-tabs {
-       margin-bottom: 3px;
+.wrapper {
+       position: relative;
+       margin-bottom: 60px;
+       margin-right: 320px;
 }
 
-/* Editor/Main Column */
-.press-this #poststuff {
-       margin: 0 8px;
-       padding: 0;
+.wrapper:before,
+.wrapper:after {
+       content: "";
+       display: table;
 }
 
-.press-this #photo-add-url-div input[type="text"] {
-       width: 220px;
+.wrapper:after {
+       clear: both;
 }
 
-#poststuff #editor-toolbar {
-       height: 30px;
+@media (max-width: 900px) {
+       .wrapper {
+               margin: 0;
+               width: 100%;
+       }
 }
 
-.posting {
-       margin-right: 212px;
-       position: relative;
+.editor-wrapper {
+       overflow: auto;
+       float: left;
+       width: 100%;
 }
 
-.press-this .inner-sidebar {
-       width: 200px;
+.editor-wrapper:before,
+.editor-wrapper:after {
+       content: "";
+       display: table;
 }
 
-.press-this .inner-sidebar .sleeve {
-       padding-top: 5px;
+.editor-wrapper:after {
+       clear: both;
 }
 
-.press-this #submitdiv p {
-       margin: 0;
-       padding: 6px;
+.editor {
+       padding: 0 1.5em 4.75em;
+       max-width: 700px;
+       margin: 0 auto;
 }
 
-.press-this #submitdiv #publishing-actions {
-       border-bottom: 1px solid #dfdfdf;
+.spinner {
+       height: 20px;
+       width: 20px;
+       display: inline-block;
+       visibility: hidden;
+       background: url(../images/spinner.gif) no-repeat center;
+       -webkit-background-size: 20px 20px;
+       background-size: 20px 20px;
+       opacity: 0.7;
+       filter: alpha(opacity=70);
+       line-height: 1;
+       vertical-align: middle;
 }
 
-.press-this #publish {
-       float: right;
+@media print,
+       (-webkit-min-device-pixel-ratio: 1.25),
+       (min-resolution: 120dpi) {
+
+       .spinner {
+               background-image: url(../images/spinner-2x.gif);
+       }
 }
 
-.press-this #poststuff h2,
-.press-this #poststuff h3 {
-       font-size: 14px;
-       line-height: 1;
+.spinner.is-active {
+       visibility: visible;
 }
 
-.press-this #tagsdiv-post_tag h3,
-.press-this #categorydiv h3 {
-       cursor: pointer;
+/* Make the text inside the editor textarea white. Prevents a "flash" on loading the page */
+#pressthis {
+       color: #fff;
 }
 
-.press-this #submitdiv h3 {
-       cursor: default;
+@media (min-width: 901px) {
+       .editor {
+               max-width: 760px;
+       }
 }
 
-h3.tb {
-       font-weight: 600;
-       font-size: 12px;
-       margin-left: 5px;
+@media (max-width: 320px) {
+       .editor {
+               padding: 0;
+       }
 }
 
-.press-this .postbox,
-.press-this .stuffbox {
-       margin-bottom: 10px;
-       min-width: 0;
+.post-title,
+.post-title-placeholder {
+       margin: 0;
+       padding: .83em 0;
+       width: 100%;
+       border-bottom: 1px solid #e5e5e5;
+       font-size: 32px;
+       line-height: 1.4;
+       font-weight: 700;
+}
+
+.post-title:active,
+.post-title:focus,
+.post-title-placeholder:active,
+.post-title-placeholder:focus {
+       outline: 0;
+       -webkit-box-shadow: inset 0px -3px 0 #00a0d2;
+       box-shadow: inset 0px -3px 0 #00a0d2;
+       border-color: #00a0d2;
+}
+
+@media (max-width: 900px) {
+       .post-title,
+       .post-title-placeholder {
+               font-size: 24px;
+       }
 }
 
-.press-this #submitdiv:hover .handlediv {
-       background: none;
+@media (max-height: 400px) {
+       .post-title,
+       .post-title-placeholder {
+               padding: 15px 0;
+               font-size: 16px;
+       }
 }
 
-.tbtitle {
-       font-size: 1.7em;
-       outline: none;
-       padding: 3px 4px;
-       border: 1px solid #dfdfdf;
+@media (max-width: 320px) {
+       .post-title,
+       .post-title-placeholder {
+               font-size: 16px;
+               font-weight: 600;
+               padding: 1.14286em 1.42857em;
+       }
 }
 
-.press-this .actions {
-       float: right;
-       margin: -19px 0 0;
+.post-title {
+       /* IE8 fallback */
+       background: url(data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH5BAEHAAIALAAAAAABAAEAAAICVAEAOw==);
+       background: none, none;
 }
 
-.press-this #extra-fields .actions {
-       margin: -32px -7px 0 0;
+.post-title:before {
+       /* Keeps empty container from collapsing */
+       content: '\a0';
+       display: inline-block;
+       width: 0;
+       speak: none;
 }
 
-.press-this .actions li {
-       float: left;
-       list-style: none;
-       margin-right: 10px;
+.post-title-placeholder {
+       position: absolute;
+       border: 0;
+       color: #9ea7af;
+       z-index: -1;
 }
 
-#extra-fields .button {
-       margin-right: 5px;
+.post-title-placeholder.is-hidden {
+       display: none;
 }
 
-/* Photo Styles */
-#photo_saving {
-       margin: 0 8px 8px;
-       vertical-align: middle;
+/* Suggested images */
+.media-list-container {
+       position: relative;
+       padding: 2px 0;
+       border-bottom: 1px solid #e5e5e5;
+       display: none;
 }
 
-#img_container_container {
+.media-list-inner-container {
        overflow: auto;
+       max-height: 150px;
+       max-height: 40vw;
 }
 
-#extra-fields {
-       margin-top: 10px;
-       position: relative;
+.media-list-container.has-media {
+       display: block;
 }
 
-#extra-fields h2 {
-       margin: 12px;
+.media-list-inner-container:before,
+.media-list-inner-container:after {
+       content: "";
+       display: table;
 }
 
-#waiting {
-       margin-top: 10px;
-       overflow: hidden;
+.media-list-inner-container:after {
+       clear: both;
 }
 
-#waiting span {
-       float: right;
-       margin: 0 0 0 5px;
+.media-list {
+       margin: 0;
+       padding: 0;
 }
 
-#waiting .spinner {
-       display: block;
+@media (min-width: 321px) {
+       .media-list-inner-container {
+               max-height: 250px;
+               max-height: 40vw;
+       }
 }
 
-#extra-fields .postbox {
-       margin-bottom: 5px;
+@media (min-width: 601px) {
+       .media-list-inner-container {
+               max-height: 200px;
+               max-height: 18.75vw;
+       }
 }
 
-#extra-fields .titlewrap {
+.wppt-all-media-list {
+       list-style: none;
+       margin: 0;
        padding: 0;
-       overflow: auto;
-       height: 120px;
 }
 
-#img_container a {
+.suggested-media-thumbnail:focus,
+.is-embed:focus {
+       outline: 0;
+       -webkit-box-shadow: inset 0 0 0 3px #00a0d2;
+       box-shadow: inset 0 0 0 3px #00a0d2;
+}
+
+.suggested-media-thumbnail {
+       position: relative;
        display: block;
        float: left;
-       overflow: hidden;
+       width: 16.66%;
+       padding: 16.66% 0 0 16.66%;
+       background-position: center;
+       background-repeat: no-repeat;
+       -webkit-background-size: cover;
+       background-size: cover;
+       background-color: #d8d8d8;
+       color: #fff;
+       color: rgba(255, 255, 255, 0.6);
+       cursor: pointer;
 }
 
-#img_container img,
-#img_container a {
-       width: 68px;
-       height: 68px;
+.suggested-media-thumbnail:hover,
+.suggested-media-thumbnail:active,
+.suggested-media-thumbnail:focus {
+       color: #fff;
 }
 
-#img_container img {
-       border: none;
-       background-color: #f4f4f4;
-       cursor: pointer;
+.suggested-media-thumbnail:before,
+.suggested-media-thumbnail:after {
+       display: inline-block;
+       position: absolute;
+       font-size: 20px;
+       line-height: 1;
+       font-family: dashicons;
+       text-decoration: inherit;
+       font-weight: 400;
+       font-style: normal;
+       -webkit-transition: color .1s ease-in 0;
+       transition: color .1s ease-in 0;
+       -webkit-font-smoothing: antialiased;
+       -moz-osx-font-smoothing: grayscale;
 }
 
-#img_container a,
-#img_container a:link,
-#img_container a:visited {
-       border: 1px solid #ccc;
-       display: block;
-       position: relative;
+.suggested-media-thumbnail:before {
+       left: 50%;
+       top: 50%;
+       margin: -20px 0 0 -20px;
+       font-size: 40px;
 }
 
-#img_container a:hover,
-#img_container a:active {
-       border-color: #000;
-       z-index: 1000;
-       border-width: 1px;
+.suggested-media-thumbnail:after {
+       content: "\f132";
+       right: 3%;
+       bottom: 2%;
 }
 
-/* Video */
-#embed-code {
-       width: 100%;
-       height: 98px;
+@media (min-width: 601px) {
+       .suggested-media-thumbnail {
+               width: 12.5%;
+               padding: 12.5% 0 0 12.5%;
+       }
 }
 
-/* Categories */
-.press-this .categorydiv div.tabs-panel {
-       height: 100px;
+.is-embed:before {
+       content: "\f104";
+       color: #fff;
+       color: rgba(255, 255, 255, 0.9);
 }
 
-/* Tags */
-.press-this .tagsdiv .newtag {
-       width: 120px;
+.is-embed.is-audio:hover:before,
+.is-embed.is-audio:active:before,
+.is-embed.is-audio:focus:before,
+.is-embed.is-tweet:hover:before,
+.is-embed.is-tweet:active:before,
+.is-embed.is-tweet:focus:before {
+       color: #fff;
 }
 
-.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;
+.is-embed.is-video {
+       background-color: #23282d;
 }
 
-/* Submit */
-.press-this #publishing-actions .spinner {
-       display: inline;
-       vertical-align: middle;
+.is-embed.is-video:hover:before,
+.is-embed.is-video:active:before,
+.is-embed.is-video:focus:before {
+       color: rgba(255, 255, 255, 0.2);
 }
 
-/* =Media Queries
--------------------------------------------------------------- */
+.is-embed.is-video:before {
+       content: "\f236";
+}
 
-/* 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 */
-       }
+.is-embed.is-audio {
+       background-color: #ff7d44;
+}
+
+.is-embed.is-audio:before {
+       content: "\f127";
+}
+
+.is-embed.is-tweet {
+       background-color: #55acee;
+}
+
+.is-embed.is-tweet:before {
+       content: "\f301";
+}
+
+.no-media {
+       margin: 0;
+       padding: 0;
+       border: 0;
+}
 
-       .press-this a.wp-switch-editor {
-               font: 13px/19px "Open Sans", sans-serif;
-               margin: 5px 0 0 5px;
-               padding: 3px 8px 4px;
+/* Actions bar */
+.press-this-actions {
+       position: fixed;
+       bottom: 0;
+       left: 0;
+       width: 100%;
+       background: #f1f1f1;
+       background: rgba(241, 241, 241, 0.9);
+       border-top: 1px solid #e5e5e5;
+}
+
+@media (max-width: 900px) {
+       .press-this-actions {
+               -webkit-transform: translateY(0);
+               -ms-transform: translateY(0);
+               transform: translateY(0);
+               -webkit-transition: -webkit-transform .3s ease-in-out;
+               transition: transform .3s ease-in-out;
        }
+       .press-this-actions.is-hidden {
+               -webkit-transform: translateY(100%);
+               -ms-transform: translateY(100%);
+               transform: translateY(100%);
+       }
+}
 
-       .press-this #wp-content-media-buttons a {
-               padding: 0;
-               line-height: normal;
-               height: auto;
+.add-media {
+       float: left;
+       margin: 14px 0 14px 30px;
+       font-size: 0;
+}
+
+@media (max-width: 320px) {
+       .add-media {
+               margin: 10px 0 10px 10px;
        }
+}
 
-       .press-this #wp-content-editor-tools {
-               padding: 0;
-               top: 3px;
+.insert-media {
+       color: #9ea7af;
+       float: left;
+       margin: 0;
+       padding: 0;
+       border: 0;
+       border-right: 1px solid #e5e5e5;
+       -webkit-border-radius: 0;
+       border-radius: 0;
+       background: none;
+       -webkit-box-shadow: none;
+       box-shadow: none;
+       overflow: hidden;
+}
+
+.insert-media:hover,
+.insert-media:focus,
+.insert-media:active {
+       margin: 0;
+       background: none;
+       border-color: #e5e5e5;
+       color: #23282d;
+}
+
+.insert-media:focus,
+.insert-media:active {
+       outline: 0;
+       color: #00a0d2;
+       text-decoration: none;
+}
+
+.insert-media .dashicons {
+       padding: 11px;
+       width: 63px;
+       height: 58px;
+       font-size: 40px;
+}
+
+@media (max-width: 320px) {
+       .insert-media .dashicons {
+               width: 55px;
+               height: 49px;
+               padding: 14px;
+               font-size: 20px;
        }
+}
+
+.post-actions {
+       float: right;
+       margin: 14px 30px 14px 0;
+       font-size: 13px;
+}
 
-       .press-this .category-tabs {
-               margin-top: 0;
+@media (max-width: 320px) {
+       .post-actions {
+               margin: 10px 10px 10px 0;
        }
+}
+
+.edit-post-link {
+       font-size: 13px;
+       display: inline-block;
+       text-decoration: none;
+       padding: 0 10px;
+}
+
+.draft-button.is-hidden,
+.draft-button .saving-draft,
+.draft-button.is-saving .save-draft {
+       display: none;
+}
+
+.draft-button.is-saving .saving-draft {
+       display: inline;
+}
 
-       .press-this .tagsdiv .newtag {
-               width: 120px;
-               padding: 3px 5px;
-               margin-bottom: 0;
+/* TinyMCE styles */
+.editor .wp-media-buttons {
+       float: none;
+}
+
+.editor div.mce-toolbar-grp {
+       padding: 0.71429em 0;
+       background: none;
+       border: 0;
+}
+
+@media (max-height: 400px), (max-width: 320px) {
+       .editor div.mce-toolbar-grp {
+               padding: 0;
        }
+}
+
+.mce-stack-layout:before,
+.mce-stack-layout:after {
+       content: "";
+       display: table;
+}
+
+.mce-stack-layout:after {
+       clear: both;
+}
+
+.mce-container.mce-toolbar {
+       float: left;
+}
+
+.mce-container.mce-toolbar:nth-child(2) {
+       float: right;
+}
 
-       .press-this .tagchecklist {
+@media (max-width: 600px) {
+       .mce-first .mce-btn:nth-child(3),
+       .mce-first .mce-btn:nth-child(4) {
+               position: absolute;
+               margin: -1px;
                padding: 0;
-               margin-bottom: 0;
+               height: 1px;
+               width: 1px;
+               overflow: hidden;
+               clip: rect(0 0 0 0);
+               border: 0;
        }
 
-       .press-this .wp_themeSkin a.mceButton {
-               width: 20px;
-               height: 20px;
+       .mce-first .mce-btn:nth-child(3):focus,
+       .mce-first .mce-btn:nth-child(4):focus {
+               position: static;
+               margin: 1px;
+               padding: inherit;
+               height: auto;
+               width: auto;
+               overflow: visible;
+               clip: auto;
+               border: 1px solid #999;
        }
+}
 
-       .press-this .wp_themeSkin .mceButton .mceIcon {
-               margin: 0;
+#wp-link-wrap {
+       font-size: 13px;
+}
+
+#wp-link-wrap input[type="text"] {
+       padding: 3px 5px;
+       margin: 1px;
+}
+
+@media screen and (max-width: 782px) {
+       #wp-link-wrap {
+               font-size: 14px;
        }
 
-       .press-this #poststuff h3,
-       .press-this .metabox-holder h3 {
-               padding: 7px 12px;
+       #wp-link-wrap input[type="text"] {
+               padding: 6px 10px;
        }
+}
+
+#wp-link-wrap .howto {
+       color: #666;
+       font-style: italic;
+}
 
-       .press-this input[type=checkbox],
-       .press-this input[type=radio] {
-               height: 16px;
-               width: 16px;
+/* Options panel (sidebar) */
+.options-panel {
+       position: relative;
+       float: right;
+       margin-right: -320px;
+       width: 320px;
+       border-left: 1px solid #e5e5e5;
+       font-size: 14px;
+       /* Keeps background the full height of the screen, but only visually. Clicks go through. */
+       -webkit-box-shadow: 5001px 5000px 0 5000px #fff, 5000px 5000px 0 5000px #e5e5e5;
+       box-shadow: 5001px 5000px 0 5000px #fff, 5000px 5000px 0 5000px #e5e5e5;
+       outline: 0;
+}
+
+.options-panel-back {
+       position: absolute;
+       top: 0;
+       right: 0;
+       bottom: 0;
+       width: 320px;
+       outline: 0;
+}
+
+@media (max-width: 900px) {
+       .options-panel {
+               background: #fff;
+               -webkit-transform: translateX(-100%);
+               -ms-transform: translateX(-100%);
+               transform: translateX(-100%);
+               -webkit-transition: -webkit-transform .3s ease-in-out;
+               transition: transform .3s ease-in-out;
        }
 
-       .press-this input[type=checkbox]:checked:before {
-               width: 16px;
-               font: normal 21px/1 'dashicons';
-               margin: -3px 0 0 -4px;
+       .options-panel.is-hidden {
+               visibility: hidden;
        }
 
-       .press-this input[type=radio]:checked:before {
-               font: normal 21px/1 'dashicons';
-               width: 6px;
-               height: 6px;
-               margin: 4px;
+       .options-panel.is-off-screen {
+               -webkit-transform: translateX(0);
+               -ms-transform: translateX(0);
+               transform: translateX(0);
        }
+}
 
-       .press-this ul.categorychecklist ul,
-       .press-this ul.categorychecklist li {
-               margin-top: 0;
-               margin-bottom: 0;
+@media (max-width: 320px) {
+       .options-panel {
+               margin-right: -100%;
+               width: 100%;
+               border: 0;
+               -webkit-box-shadow: 5001px 5000px 0 5000px #fff;
+               box-shadow: 5001px 5000px 0 5000px #fff;
        }
 
-       .press-this div.quicktags-toolbar input {
-               padding: 2px 4px;
+       .options-panel-back {
+               width: 100%;
        }
+}
 
-       .press-this textarea,
-       .press-this input {
-               font-size: 14px;
+.post-options {
+       background: #fff;
+       position: absolute;
+       right: 0;
+       width: 100%;
+       overflow-x: hidden;
+}
+
+.post-options .post-option-contents {
+       margin-left: 3px;
+       color: #32373c;
+}
+
+.post-option-forward:before {
+       position: absolute;
+       top: 50%;
+       right: 8px;
+       margin-top: -10px;
+       content: "\f345"
+}
+
+.post-option-back:before {
+       content: "\f341";
+}
+
+.lt-ie9 .options-panel,
+.lt-ie9 .post-options {
+       border-left: 1px solid #e5e5e5;
+}
+
+.lt-ie9 .post-options.is-off-screen {
+       border: 0;
+}
+
+.post-option {
+       position: relative;
+}
+
+.post-options .post-option {
+       display: block;
+       width: 100%;
+       padding: 13px 37px 13px 14px;
+       border-bottom: 1px solid #e5e5e5;
+       text-decoration: none;
+       text-align: left;
+       color: #9ea7af;
+       text-overflow: ellipsis;
+       white-space: nowrap;
+       overflow: hidden;
+       -webkit-transition: -webkit-transform .3s ease-in-out;
+       transition: transform .3s ease-in-out;
+}
+
+.post-options .post-option:focus {
+       outline: 0;
+       -webkit-box-shadow: inset 5px 0 0 #00a0d2;
+       box-shadow: inset 5px 0 0 #00a0d2;
+}
+
+.is-off-screen > .post-option {
+       right: 100%;
+}
+
+.is-hidden > .post-option {
+       visibility: hidden;
+}
+
+@media (min-width: 1px) {
+       .is-off-screen > .post-option {
+               right: auto;
+               -webkit-transform: translateX(-100%);
+               -ms-transform: translateX(-100%);
+               transform: translateX(-100%);
        }
+}
+
+.post-option-title {
+       display: inline-block;
+       margin: 0 0 0 8px;
+       font-size: 14px;
+       font-weight: normal;
+}
+
+.setting-modal {
+       position: relative;
+       top: 0;
+       left: 0;
+       width: 100%;
+       overflow: hidden;
+       -webkit-transition: -webkit-transform .3s ease-in-out;
+       transition: transform .3s ease-in-out;
+}
+
+.setting-modal.is-hidden {
+       visibility: hidden;
+       height: 0;
+}
 
-       .press-this .tagchecklist span {
-               font-size: 13px;
-               line-height: 1.8em;
+.setting-modal.is-off-screen {
+       left: 100%;
+}
+
+@media (min-width: 1px) {
+       .setting-modal.is-off-screen {
+               left: 0;
+               -webkit-transform: translateX(100%);
+               -ms-transform: translateX(100%);
+               transform: translateX(100%);
        }
 }
+
+.modal-close {
+       display: block;
+       width: 100%;
+       padding: 13px 14px;
+       border-bottom: 1px solid #e5e5e5;
+       color: #00a0d2;
+       text-decoration: none;
+       text-align: left;
+}
+
+.modal-close:focus {
+       outline: 0;
+       -webkit-box-shadow: inset 5px 0 0 #00a0d2;
+       box-shadow: inset 5px 0 0 #00a0d2;
+}
+
+.setting-title {
+       position: relative;
+       top: -1px;
+       margin-left: 11px;
+}
diff --git a/wp-admin/css/press-this.min.css b/wp-admin/css/press-this.min.css
new file mode 100644 (file)
index 0000000..ea43b62
--- /dev/null
@@ -0,0 +1 @@
+html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:144dpi){*,:after,:before{-webkit-font-smoothing:antialiased}}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:0;margin:0;padding:0}legend{border:0;padding:0}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.clearfix:after,.clearfix:before{content:"";display:table}.clearfix:after{clear:both}.hide-if-js{display:none}.screen-reader-text{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}body,button,input,select,textarea{color:#404040;font-family:"Open Sans",Helvetica,Arial,sans-serif;font-size:20px;font-weight:400;line-height:1.6}h1,h2,h3,h4,h5,h6{clear:both}p{margin-bottom:1.5em}b,strong{font-weight:700}.button-subtle,.scan-submit{display:inline-block;margin:0;padding:0 10px 1px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px;font-size:13px;line-height:2;text-decoration:none;white-space:nowrap;cursor:pointer;-webkit-appearance:none}.button-subtle{background:0 0;border:0;color:#0073aa}.button-subtle:visited{color:#0073aa}.button-subtle:active,.button-subtle:focus,.button-subtle:hover,.edit-post-link:active,.edit-post-link:focus,.edit-post-link:hover{color:#00a0d2}.button-subtle:active,.button-subtle:focus,.edit-post-link:active,.edit-post-link:focus{outline:0;text-decoration:underline}.preview-button{margin-right:5px}.button-reset{margin:0;padding:0;border:0;background:0 0;cursor:pointer;-webkit-appearance:none}.button-reset:focus{outline:0}.button-link{margin:0;padding:0;border:0;background:0 0;color:#0073aa;cursor:pointer;-webkit-appearance:none}.button-link:active,.button-link:focus,.button-link:hover{color:#00a0d2;text-decoration:underline}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline}[type=checkbox],[type=radio]{padding:0}[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}[type=email],[type=password],[type=search],[type=text],[type=url],textarea{padding:.4em .75em;color:#32373c;border:1px solid #ccc}[type=email]:focus,[type=password]:focus,[type=search]:focus,[type=text]:focus,[type=url]:focus,textarea:focus{color:#32373c;outline:0}textarea{overflow:auto;padding-left:3px;vertical-align:top}a,a:visited{color:#0073aa}a:active,a:focus,a:hover{color:#00a0d2}ol,ul{margin:0 0 1.5em 3em}ul{list-style:disc}ol{list-style:decimal}li>ol,li>ul{margin-bottom:0;margin-left:1.5em}dt{font-weight:700}dd{margin:0 1.5em 1.5em}#post-formats-select br{display:none}.post-format{width:1px;height:1px;position:absolute;top:-9999px}.lt-ie9 .post-format{margin:17px 12px 0 13px;position:static;top:auto;float:left;width:16px;height:16px}.post-format-icon{position:relative;display:block;padding:13px 2px 14px 13px;cursor:pointer}.post-format-icon:after,.post-format-icon:before{content:"";display:inline-block;width:20px;height:20px;margin-right:10px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;color:#9ea7af;font-weight:400;font-style:normal;vertical-align:top;text-align:center;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before{content:"\f109"}.post-format-icon:after{display:none;content:"\f147";float:right}.post-format:checked+.post-format-icon{-webkit-box-shadow:inset 6px 0 0 #00a0d2;box-shadow:inset 6px 0 0 #00a0d2;background:rgba(46,162,204,.1)}.post-format:checked+.post-format-icon:after,.post-format:checked+.post-format-icon:before{color:#32373c}.post-format:focus+.post-format-icon{background:#00a0d2;color:#fff}.post-format:focus+.post-format-icon:after,.post-format:focus+.post-format-icon:before{color:#fff}.post-format:checked+.post-format-icon:after{display:block}.lt-ie9 .post-format-icon{margin-left:16px}.post-format-aside:before{content:"\f123"}.post-format-image:before{content:"\f128"}.post-format-video:before{content:"\f126"}.post-format-audio:before{content:"\f127"}.post-format-quote:before{content:"\f122"}.post-format-link:before{content:"\f103"}.post-format-gallery:before{content:"\f161"}.tagsdiv p{margin:0}.tagsdiv .ajaxtag{position:relative}.tagsdiv .newtag{display:block;position:relative;padding:11px 58px 11px 16px;width:100%;border:0;border-bottom:1px solid #e5e5e5;font-size:16px}.tagsdiv .tagadd{position:absolute;top:0;right:0;bottom:1px;border:0;-webkit-border-radius:0;border-radius:0;margin:0;padding:0 16px;background:#f7f7f7;border-left:1px solid #f1f1f1;-webkit-box-shadow:none;box-shadow:none}.tagsdiv .tagadd:active,.tagsdiv .tagadd:focus,.tagsdiv .tagadd:hover{outline:0;background:#2991b7;border-color:#20708e;color:#fff;-webkit-box-shadow:none;box-shadow:none}.tagsdiv .howto{color:#727272;font-style:italic;margin:10px 0 6px 16px}.ac_results{padding:0;margin:-1px 0 0 -1px;list-style:none;position:absolute;z-index:10000;display:none;border:1px solid #d8d8d8;background-color:#fff;font-size:14px}.ac_results li{padding:6px 16px;white-space:nowrap;color:#101010;text-align:left}.ac_results .ac_over{background-color:#00a0d2;color:#fff;cursor:pointer}.ac_match{text-decoration:underline}.tagchecklist{padding:16px 28px 5px}.tagchecklist:after,.tagchecklist:before{content:"";display:table}.tagchecklist:after{clear:both}.tagchecklist span{display:block;margin-right:25px;float:left;font-size:13px;line-height:1.8;white-space:nowrap;cursor:default}@media (max-width:600px){.tagchecklist span{margin-bottom:15px;font-size:16px;line-height:1.3}}.tagchecklist .ntdelbutton{margin:1px 0 0 -17px;cursor:pointer;width:20px;height:20px;display:block;float:left;text-indent:0;overflow:hidden;position:absolute;outline:0}.tagchecklist .ntdelbutton:before{content:'\f153';display:block;margin:2px 0;height:20px;width:20px;background:0 0;color:#9ea7af;font:400 16px/1 dashicons;text-align:center;speak:none;-webkit-font-smoothing:antialiased}.tagchecklist .ntdelbutton:focus:before{color:#00a0d2}.tagsdiv+p{margin:0}.tagcloud-link{display:block;padding:0 16px;text-decoration:none;outline:0}.tagcloud-link:focus{text-decoration:underline}.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}.popular-tags a{padding:0 3px}.the-tagcloud{margin:0;padding:16px}.the-tagcloud a{text-decoration:none;outline:0}.the-tagcloud a:focus{text-decoration:underline}.tagcloud h3{margin:2px 0 12px}.add-category-name,input[type=search].categories-search{display:block;width:100%;padding:.85714em 1.07143em;border:0;-webkit-border-radius:0;border-radius:0;border-bottom:1px solid #e5e5e5;font-size:14px;-webkit-appearance:none;appearance:none}@media (max-width:600px){.add-category-name,input[type=search].categories-search{font-size:16px}}.add-cat-toggle{float:right;margin-top:-45px;line-height:20px;padding:12px 10px 8px}.add-cat-toggle:focus{text-decoration:none;color:#00a0d2}.add-cat-toggle.is-toggled{padding:10px}.add-cat-toggle.is-toggled .dashicons:before{content:"\f179"}.add-category{position:relative;border-bottom:1px solid #e5e5e5}.add-category.is-hidden{display:none}.add-category .add-cat-submit{position:absolute;top:0;right:0;border:0;-webkit-border-radius:0;border-radius:0;padding:12px 16px;background:#f7f7f7;border-left:1px solid #f1f1f1}.add-category .add-cat-submit:active,.add-category .add-cat-submit:focus,.add-category .add-cat-submit:hover{outline:0;background:#2991b7;border-color:#20708e;color:#fff}.postform-wrapper{padding:12px}.postform{display:block;margin:0;width:100%;height:34px;-webkit-border-radius:0;border-radius:0;border:1px solid #e5e5e5;background:0 0/20px 20px #fff;-webkit-background-size:20px 20px;overflow:hidden;line-height:21px;text-overflow:ellipsis;text-decoration:none;vertical-align:top;white-space:nowrap;cursor:pointer;outline:0}.postform:focus{border-color:#0073aa;-webkit-box-shadow:0 0 0 3px #00a0d2;box-shadow:0 0 0 3px #00a0d2;outline:0;-moz-outline:0;-moz-user-focus:ignore}.postform::-ms-expand{display:none}.postform::-ms-value{background:0 0;color:#727272}.postform:-moz-focusring{color:transparent;text-shadow:0 0 0 #727272}.categories-select,.categories-select ul{margin:0;padding:0;list-style:none}.category{position:relative;display:block;padding:13px 16px 14px;cursor:pointer;background:#fff}.category.selected:focus,.category:focus{outline:0;background:#00a0d2;color:#fff}.category.selected{-webkit-box-shadow:inset 6px 0 0 #00a0d2;box-shadow:inset 6px 0 0 #00a0d2;background:#E9F5F9}.category.selected:after{display:inline-block;content:"\f147";position:absolute;top:13px;right:0;width:20px;height:20px;margin-right:10px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;color:#23282d;font-weight:400;font-style:normal;vertical-align:top;text-align:center;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.category.selected:focus:after{color:#fff}.categories-select ul .category{padding-left:24px}.categories-select ul ul .category{padding-left:32px}.categories-select ul ul ul .category{padding-left:40px}.categories-select ul ul ul ul .category{padding-left:48px}.categories-select ul ul ul ul ul .category{padding-left:56px}.categories-select ul ul ul ul ul ul .category{padding-left:64px}.categories-select .is-hidden{display:none}.categories-select .is-hidden.searched-parent{display:block}.categories-search-wrapper{position:relative}.categories-search-wrapper.is-hidden{display:none}.categories-search-wrapper label{position:absolute;top:50%;right:10px;margin-top:-10px;color:#9ea7af}html{overflow:auto}body{overflow-x:hidden;height:100%}html{background:#fff;-webkit-box-shadow:-10px 0 0 rgba(0,0,0,.3);box-shadow:-10px 0 0 rgba(0,0,0,.3)}@media (max-width:900px){body{font-size:16px}}@media (max-width:320px){body{font-size:14px}}.lt-ie9{overflow:visible}.adminbar{position:relative;width:100%;padding:0 .8em;min-height:3.2em;background:#23282d;color:#fff;z-index:9999}.adminbar:after,.adminbar:before{content:"";display:table}.adminbar:after{clear:both}.adminbar .dashicons{color:#999}.adminbar button{position:absolute;top:50%;right:6px;margin-top:-13px}@media (max-width:320px){.adminbar{min-height:45px}}.current-site{margin-top:.5625em;font-size:16px;line-height:44px;font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (max-width:600px){.current-site{margin:3px 0 0}}@media (max-width:320px){.current-site{margin:0;font-size:14px}}.current-site-link{text-decoration:none}.current-site-link:focus{outline:0}.current-site-link:focus .current-site-name{text-decoration:underline}.current-site-name{color:#ededed}@media (max-width:320px){.current-site-name{font-weight:600}}.current-site .dashicons-wordpress{position:relative;top:-1px;margin-right:10px;vertical-align:middle}.options,.options-panel-back.is-hidden,.options.closed .on-open,.options.open .on-closed{display:none}@media (max-width:900px){.options{display:block}}.options:focus .dashicons{color:#fff;text-decoration:none}.options .dashicons{margin-top:3px}.options{color:#00a0d2}.alert{position:relative;margin:0;padding:16px 50px;border-bottom:1px solid #e5e5e5;font-size:14px}.alert:before{content:'';position:absolute;top:50%;left:30px;width:8px;height:8px;margin-top:-4px;-webkit-border-radius:50%;border-radius:50%;background:#00a0d2}@media (max-width:600px){.alert{padding:16px 35px}.alert:before{left:15px}}.alert.is-error:before{background:red}.scan{position:relative;border-bottom:1px solid #e5e5e5}@media (max-width:900px){.scan form{-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.scan.is-hidden form{opacity:.2;pointer-events:none}}.scan-url{display:block;border:0;padding:.85714em 1.07143em;font-size:14px;width:100%}@media (max-width:600px){.scan-url{font-size:16px}}.scan-submit{position:absolute;top:0;right:0;bottom:0;padding:0 1.07143em;background:#f7f7f7;border:0;border-left:1px solid #f1f1f1;-webkit-border-radius:0;border-radius:0;color:#555;font-size:14px;line-height:1.6}.scan-submit:focus,.scan-submit:hover{background:#2991b7;border-color:#20708e;color:#fff;outline:0}.scan-submit:active{background:#2581a2;border-color:#20708e;color:#fff}.scan-submit:visited{color:#555}.wrapper{position:relative;margin-bottom:60px;margin-right:320px}.wrapper:after,.wrapper:before{content:"";display:table}.wrapper:after{clear:both}@media (max-width:900px){.wrapper{margin:0;width:100%}}.editor-wrapper{overflow:auto;float:left;width:100%}.editor-wrapper:after,.editor-wrapper:before{content:"";display:table}.editor-wrapper:after{clear:both}.editor{padding:0 1.5em 4.75em;max-width:700px;margin:0 auto}.spinner{height:20px;width:20px;display:inline-block;visibility:hidden;background:url(../images/spinner.gif) center/20px 20px no-repeat;-webkit-background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);line-height:1;vertical-align:middle}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.spinner{background-image:url(../images/spinner-2x.gif)}}.spinner.is-active{visibility:visible}#pressthis{color:#fff}@media (min-width:901px){.editor{max-width:760px}}@media (max-width:320px){.editor{padding:0}}.post-title,.post-title-placeholder{margin:0;padding:.83em 0;width:100%;border-bottom:1px solid #e5e5e5;font-size:32px;line-height:1.4;font-weight:700}.post-title-placeholder:active,.post-title-placeholder:focus,.post-title:active,.post-title:focus{outline:0;-webkit-box-shadow:inset 0 -3px 0 #00a0d2;box-shadow:inset 0 -3px 0 #00a0d2;border-color:#00a0d2}@media (max-width:900px){.post-title,.post-title-placeholder{font-size:24px}}@media (max-height:400px){.post-title,.post-title-placeholder{padding:15px 0;font-size:16px}}@media (max-width:320px){.post-title,.post-title-placeholder{font-size:16px;font-weight:600;padding:1.14286em 1.42857em}}.post-title{background:url(data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH5BAEHAAIALAAAAAABAAEAAAICVAEAOw==);background:0 0,none}.post-title:before{content:'\a0';display:inline-block;width:0;speak:none}.post-title-placeholder{position:absolute;border:0;color:#9ea7af;z-index:-1}.post-title-placeholder.is-hidden{display:none}.media-list-container{position:relative;padding:2px 0;border-bottom:1px solid #e5e5e5;display:none}.media-list-inner-container{overflow:auto;max-height:150px;max-height:40vw}.media-list-container.has-media{display:block}.media-list-inner-container:after,.media-list-inner-container:before{content:"";display:table}.media-list-inner-container:after{clear:both}.media-list{margin:0;padding:0}@media (min-width:321px){.media-list-inner-container{max-height:250px;max-height:40vw}}@media (min-width:601px){.media-list-inner-container{max-height:200px;max-height:18.75vw}}.wppt-all-media-list{list-style:none;margin:0;padding:0}.is-embed:focus,.suggested-media-thumbnail:focus{outline:0;-webkit-box-shadow:inset 0 0 0 3px #00a0d2;box-shadow:inset 0 0 0 3px #00a0d2}.suggested-media-thumbnail{position:relative;display:block;float:left;width:16.66%;padding:16.66% 0 0 16.66%;background-position:center;background-repeat:no-repeat;-webkit-background-size:cover;background-size:cover;background-color:#d8d8d8;color:#fff;color:rgba(255,255,255,.6);cursor:pointer}.suggested-media-thumbnail:active,.suggested-media-thumbnail:focus,.suggested-media-thumbnail:hover{color:#fff}.suggested-media-thumbnail:after,.suggested-media-thumbnail:before{display:inline-block;position:absolute;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.suggested-media-thumbnail:before{left:50%;top:50%;margin:-20px 0 0 -20px;font-size:40px}.suggested-media-thumbnail:after{content:"\f132";right:3%;bottom:2%}@media (min-width:601px){.suggested-media-thumbnail{width:12.5%;padding:12.5% 0 0 12.5%}}.is-embed:before{content:"\f104";color:#fff;color:rgba(255,255,255,.9)}.is-embed.is-audio:active:before,.is-embed.is-audio:focus:before,.is-embed.is-audio:hover:before,.is-embed.is-tweet:active:before,.is-embed.is-tweet:focus:before,.is-embed.is-tweet:hover:before{color:#fff}.is-embed.is-video{background-color:#23282d}.is-embed.is-video:active:before,.is-embed.is-video:focus:before,.is-embed.is-video:hover:before{color:rgba(255,255,255,.2)}.is-embed.is-video:before{content:"\f236"}.is-embed.is-audio{background-color:#ff7d44}.is-embed.is-audio:before{content:"\f127"}.is-embed.is-tweet{background-color:#55acee}.is-embed.is-tweet:before{content:"\f301"}.no-media{margin:0;padding:0;border:0}.press-this-actions{position:fixed;bottom:0;left:0;width:100%;background:#f1f1f1;background:rgba(241,241,241,.9);border-top:1px solid #e5e5e5}@media (max-width:900px){.press-this-actions{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.press-this-actions.is-hidden{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}}.add-media{float:left;margin:14px 0 14px 30px;font-size:0}@media (max-width:320px){.add-media{margin:10px 0 10px 10px}}.insert-media{color:#9ea7af;float:left;margin:0;padding:0;border:0;border-right:1px solid #e5e5e5;-webkit-border-radius:0;border-radius:0;background:0 0;-webkit-box-shadow:none;box-shadow:none;overflow:hidden}.insert-media:active,.insert-media:focus,.insert-media:hover{margin:0;background:0 0;border-color:#e5e5e5;color:#23282d}.insert-media:active,.insert-media:focus{outline:0;color:#00a0d2;text-decoration:none}.insert-media .dashicons{padding:11px;width:63px;height:58px;font-size:40px}@media (max-width:320px){.insert-media .dashicons{width:55px;height:49px;padding:14px;font-size:20px}}.post-actions{float:right;margin:14px 30px 14px 0;font-size:13px}@media (max-width:320px){.post-actions{margin:10px 10px 10px 0}}.edit-post-link{font-size:13px;display:inline-block;text-decoration:none;padding:0 10px}.draft-button .saving-draft,.draft-button.is-hidden,.draft-button.is-saving .save-draft{display:none}.draft-button.is-saving .saving-draft{display:inline}.editor .wp-media-buttons{float:none}.editor div.mce-toolbar-grp{padding:.71429em 0;background:0 0;border:0}@media (max-height:400px),(max-width:320px){.editor div.mce-toolbar-grp{padding:0}}.mce-stack-layout:after,.mce-stack-layout:before{content:"";display:table}.mce-stack-layout:after{clear:both}.mce-container.mce-toolbar{float:left}.mce-container.mce-toolbar:nth-child(2){float:right}@media (max-width:600px){.mce-first .mce-btn:nth-child(3),.mce-first .mce-btn:nth-child(4){position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.mce-first .mce-btn:nth-child(3):focus,.mce-first .mce-btn:nth-child(4):focus{position:static;margin:1px;padding:inherit;height:auto;width:auto;overflow:visible;clip:auto;border:1px solid #999}}#wp-link-wrap{font-size:13px}#wp-link-wrap input[type=text]{padding:3px 5px;margin:1px}@media screen and (max-width:782px){#wp-link-wrap{font-size:14px}#wp-link-wrap input[type=text]{padding:6px 10px}}#wp-link-wrap .howto{color:#666;font-style:italic}.options-panel{position:relative;float:right;margin-right:-320px;width:320px;border-left:1px solid #e5e5e5;font-size:14px;-webkit-box-shadow:5001px 5000px 0 5000px #fff,5000px 5000px 0 5000px #e5e5e5;box-shadow:5001px 5000px 0 5000px #fff,5000px 5000px 0 5000px #e5e5e5;outline:0}.options-panel-back{position:absolute;top:0;right:0;bottom:0;width:320px;outline:0}@media (max-width:900px){.options-panel{background:#fff;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.options-panel.is-hidden{visibility:hidden}.options-panel.is-off-screen{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}@media (max-width:320px){.options-panel{margin-right:-100%;width:100%;border:0;-webkit-box-shadow:5001px 5000px 0 5000px #fff;box-shadow:5001px 5000px 0 5000px #fff}.options-panel-back{width:100%}}.post-options{background:#fff;position:absolute;right:0;width:100%;overflow-x:hidden}.post-options .post-option-contents{margin-left:3px;color:#32373c}.post-option-forward:before{position:absolute;top:50%;right:8px;margin-top:-10px;content:"\f345"}.post-option-back:before{content:"\f341"}.lt-ie9 .options-panel,.lt-ie9 .post-options{border-left:1px solid #e5e5e5}.lt-ie9 .post-options.is-off-screen{border:0}.post-option{position:relative}.post-options .post-option{display:block;width:100%;padding:13px 37px 13px 14px;border-bottom:1px solid #e5e5e5;text-decoration:none;text-align:left;color:#9ea7af;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.post-options .post-option:focus{outline:0;-webkit-box-shadow:inset 5px 0 0 #00a0d2;box-shadow:inset 5px 0 0 #00a0d2}.is-off-screen>.post-option{right:100%}.is-hidden>.post-option{visibility:hidden}@media (min-width:1px){.is-off-screen>.post-option{right:auto;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}}.post-option-title{display:inline-block;margin:0 0 0 8px;font-size:14px;font-weight:400}.setting-modal{position:relative;top:0;left:0;width:100%;overflow:hidden;-webkit-transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out}.setting-modal.is-hidden{visibility:hidden;height:0}.setting-modal.is-off-screen{left:100%}@media (min-width:1px){.setting-modal.is-off-screen{left:0;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}}.modal-close{display:block;width:100%;padding:13px 14px;border-bottom:1px solid #e5e5e5;color:#00a0d2;text-decoration:none;text-align:left}.modal-close:focus{outline:0;-webkit-box-shadow:inset 5px 0 0 #00a0d2;box-shadow:inset 5px 0 0 #00a0d2}.setting-title{position:relative;top:-1px;margin-left:11px}
\ No newline at end of file
index 79740390419b028919929f7c14d924f3ec3c603c..829044af673ade01763fb5b390ccbe0b666185ca 100644 (file)
@@ -42,7 +42,7 @@
 .revisions-tickmarks > div {
        position: absolute;
        height: 100%;
-       border-right: 1px solid #aaa;
+       border-right: 1px solid #a0a5aa;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
@@ -367,9 +367,9 @@ table.diff .diff-addedline ins {
        top: -20px;
        width: 25px;
        height: 25px;
-       -webkit-transform: rotate(45deg);
-       -ms-transform: rotate(45deg);
-       transform: rotate(45deg);
+       -webkit-transform: rotate(-45deg);
+       -ms-transform: rotate(-45deg);
+       transform: rotate(-45deg);
 }
 
 .revisions-tooltip.flipped .revisions-tooltip-arrow > span {
@@ -431,9 +431,9 @@ table.diff .diff-addedline ins {
        top: -20px;
        width: 25px;
        height: 25px;
-       -webkit-transform: rotate(45deg);
-       -ms-transform: rotate(45deg);
-       transform: rotate(45deg);
+       -webkit-transform: rotate(-45deg);
+       -ms-transform: rotate(-45deg);
+       transform: rotate(-45deg);
 }
 
 .revisions-tooltip,
@@ -474,8 +474,8 @@ div.revisions-controls > .wp-slider > .ui-slider-handle {
 .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;
+       background: #00a0d2;
+       border: 1px solid #0073aa;
        -webkit-box-shadow: inset 0 1px 0 #78c8e6, 0 1px 0 rgba(0,0,0,.15);
        box-shadow: inset 0 1px 0 #78c8e6, 0 1px 0 rgba(0,0,0,.15);
 }
@@ -554,7 +554,6 @@ div.revisions-controls > .wp-slider > .ui-slider-handle {
  * 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 {
index 8fcde36625f30b702a0e67ffc07f9a460a13595a..d2652e38d20ba21cd6ea5ed313b5dc21376e369d 100644 (file)
@@ -42,7 +42,7 @@
 .revisions-tickmarks > div {
        position: absolute;
        height: 100%;
-       border-left: 1px solid #aaa;
+       border-left: 1px solid #a0a5aa;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
@@ -474,8 +474,8 @@ div.revisions-controls > .wp-slider > .ui-slider-handle {
 .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;
+       background: #00a0d2;
+       border: 1px solid #0073aa;
        -webkit-box-shadow: inset 0 1px 0 #78c8e6, 0 1px 0 rgba(0,0,0,.15);
        box-shadow: inset 0 1px 0 #78c8e6, 0 1px 0 rgba(0,0,0,.15);
 }
@@ -554,7 +554,6 @@ div.revisions-controls > .wp-slider > .ui-slider-handle {
  * 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 {
index d0a66f7e8735183c2d687d2d7a066d15c896bcb4..1ca417407ceaa41d1ee6a5cdbff9273b9de9ce86 100644 (file)
@@ -39,7 +39,8 @@
 
 /* Position admin messages */
 .themes-php div.updated,
-.themes-php div.error {
+.themes-php div.error,
+.themes-php div.notice {
        margin: 0 0 20px 0;
        clear: both;
 }
        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 */
+       -webkit-transition: opacity 0.2s ease-in-out;
        transition: opacity 0.2s ease-in-out;
 }
 
        top: 35%;
        left: 25%;
        right: 25%;
-       background: #222;
+       background: #23282d;
        background: rgba(0,0,0,0.7);
        color: #fff;
        font-size: 15px;
        box-shadow: inset 0 1px 1px rgba(0,0,0,0.5);
 }
 
+.theme-browser .customize-control .theme.active .theme-name {
+       padding-left: 15px;
+}
+
 .theme-browser .theme.active .theme-name span {
        font-weight: 600;
 }
 }
 
 .theme-browser .theme .theme-author {
-       background: #222;
+       background: #23282d;
        color: #eee;
        display: none;
        font-size: 14px;
        z-index: 1;
 }
 
-.theme-browser .theme.add-new-theme:after {
+.theme-browser .theme.add-new-theme a:after {
        display: block;
        content: '';
-       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
-       opacity: 1;
        background: transparent;
        background: rgba(0, 0, 0, 0);
        position: absolute;
        right: 0;
        left: 0;
        bottom: 0;
-       padding: 10% 0 0 0;
+       padding: 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;
        text-indent: 4px;
 }
 
-.theme-browser .theme.add-new-theme:hover .theme-screenshot,
-.theme-browser .theme.add-new-theme:focus .theme-screenshot {
+.theme-browser .theme.add-new-theme a:hover .theme-screenshot,
+.theme-browser .theme.add-new-theme a:focus .theme-screenshot {
        background: none;
 }
 
-.theme-browser .theme.add-new-theme:hover span:after,
-.theme-browser .theme.add-new-theme:focus span:after {
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
        background: #fff;
-       color: #0074a2;
+       color: #0073aa;
 }
 
-.theme-browser .theme.add-new-theme:hover:after,
-.theme-browser .theme.add-new-theme:focus:after {
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
        border-color: transparent;
        color: #fff;
-       background: #0074a2;
+       background: #0073aa;
        content: '';
 }
 
        font-weight: 400;
        position: relative;
        top: 0;
-       margin-top: -10%;
-       margin-bottom: 10%;
+       margin-top: -18px;
+       padding-top: 0;
+       padding-bottom: 48px;
 }
 
-.theme-browser .theme.add-new-theme:hover .theme-name,
-.theme-browser .theme.add-new-theme:focus .theme-name {
+.theme-browser .theme.add-new-theme a:hover .theme-name,
+.theme-browser .theme.add-new-theme a:focus .theme-name {
        color: #fff;
        z-index: 2;
 }
        border-bottom: 1px solid #ddd;
 }
 
+.theme-overlay .theme-header button {
+       padding: 0;
+}
+
 .theme-overlay .theme-header .close {
        cursor: pointer;
        height: 48px;
        font-weight: 300;
 }
 
-.theme-overlay .theme-header .left:before,
-.rtl .theme-overlay .theme-header .right:before {
-       content: '\f341';
+.theme-overlay .theme-header .left:before {
+       content: "\f345";
 }
 
-.theme-overlay .theme-header .right:before,
-.rtl .theme-overlay .theme-header .left:before {
-       content: '\f345';
+.theme-overlay .theme-header .right:before {
+       content: "\f341";
 }
 
 
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
+       -webkit-overflow-scrolling: touch;
 }
 
 .theme-overlay .theme-wrap:after {
@@ -697,7 +701,7 @@ body.folded .theme-overlay .theme-wrap {
 
 .theme-overlay .screenshot.selected {
        background: transparent;
-       border: 2px solid #2ea2cc;
+       border: 2px solid #00a0d2;
 }
 
 .theme-overlay .screenshot.selected img {
@@ -719,7 +723,7 @@ body.folded .theme-overlay .theme-wrap {
 }
 
 .theme-overlay .current-label {
-       background: #333;
+       background: #32373c;
        color: #fff;
        font-size: 11px;
        display: inline-block;
@@ -734,7 +738,7 @@ body.folded .theme-overlay .theme-wrap {
 }
 
 .theme-overlay .theme-name {
-       color: #222;
+       color: #23282d;
        font-size: 32px;
        font-weight: 100;
        margin: 10px 0 0;
@@ -748,10 +752,6 @@ body.folded .theme-overlay .theme-wrap {
        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 {
@@ -775,7 +775,7 @@ body.folded .theme-overlay .theme-wrap {
 
 .theme-overlay .theme-tags {
        border-top: 3px solid #eee;
-       color: #888;
+       color: #82878c;
        font-size: 13px;
        font-weight: 400;
        margin: 30px 0 0 0;
@@ -799,7 +799,7 @@ body.folded .theme-overlay .theme-wrap {
 }
 
 .theme-overlay .theme-update {
-       color: #222;
+       color: #23282d;
        font-size: 18px;
        display: inline-block;
        line-height: 40px;
@@ -809,7 +809,7 @@ body.folded .theme-overlay .theme-wrap {
 .theme-overlay .parent-theme {
        background: #f7fcfe;
        border: 1px solid #eee;
-       border-right: 4px solid #2ea2cc;
+       border-right: 4px solid #00a0d2;
        font-size: 14px;
        font-weight: normal;
        margin-top: 30px;
@@ -928,7 +928,7 @@ body.folded .theme-overlay .theme-wrap {
                right: 0;
                padding: 70px 20px 20px;
                border: none;
-               z-index: 500; /* should overlap #wpadminbar, which is 500 on mobile. */
+               z-index: 100000; /* should overlap #wpadminbar. */
                position: fixed;
        }
 
@@ -1081,7 +1081,7 @@ body.folded .theme-overlay .theme-wrap {
 
 /* Already installed theme */
 .theme-browser .theme .theme-installed {
-       background: #0074a2;
+       background: #0073aa;
 }
 .theme-browser .theme .theme-installed:before {
        content: '\f147';
@@ -1141,7 +1141,8 @@ body.show-upload-theme .upload-theme + .wp-filter + .theme-browser {
 }
 
 p.no-themes {
-       color: #999;
+       clear: both;
+       color: #666;
        font-size: 18px;
        font-style: normal;
        margin: 0;
@@ -1357,6 +1358,16 @@ body.full-overlay-active {
        height: 100%;
 }
 
+#customize-preview.wp-full-overlay-main {
+       background: url(../images/spinner.gif) no-repeat center center;
+       -webkit-background-size: 20px 20px;
+       background-size: 20px 20px;
+}
+
+#customize-preview.wp-full-overlay-main.iframe-ready {
+       background: none;
+}
+
 .wp-full-overlay-sidebar .wp-full-overlay-header {
        position: absolute;
        right: 0;
@@ -1439,7 +1450,7 @@ body.full-overlay-active {
 
 .theme-install-overlay .previous-theme:before {
        font: normal 20px/1 dashicons;
-       content: "\f341";
+       content: "\f345";
        position: relative;
        top: 6px;
        right: 14px;
@@ -1447,7 +1458,7 @@ body.full-overlay-active {
 
 .theme-install-overlay .next-theme:before {
        font: normal 20px/1 dashicons;
-       content: "\f345";
+       content: "\f341";
        position: relative;
        top: 6px;
        right: 13px;
@@ -1459,20 +1470,12 @@ body.full-overlay-active {
 .theme-install-overlay .previous-theme.disabled:focus,
 .theme-install-overlay .next-theme.disabled:hover,
 .theme-install-overlay .next-theme.disabled:focus {
-       color: #bbb;
+       color: #b4b9be;
        background: #eee;
        cursor: default;
        pointer-events: none;
 }
 
-.rtl .theme-install-overlay .previous-theme:before {
-       content: "\f345";
-}
-
-.rtl .theme-install-overlay .next-theme:before {
-       content: "\f341";
-}
-
 /* Collapse Button */
 .wp-full-overlay a.collapse-sidebar {
        position: absolute;
@@ -1491,7 +1494,7 @@ body.full-overlay-active {
 }
 
 .wp-full-overlay a.collapse-sidebar:hover {
-       color: #0074a2;
+       color: #0073aa;
 }
 
 .wp-full-overlay.collapsed .collapse-sidebar {
@@ -1527,6 +1530,7 @@ body.full-overlay-active {
        text-decoration: none !important;
 }
 
+/* rtl:ignore */
 .wp-full-overlay.collapsed .collapse-sidebar-arrow:before,
 .rtl .wp-full-overlay .collapse-sidebar-arrow:before {
        -webkit-transform: rotate(180deg);
@@ -1714,7 +1718,6 @@ body.full-overlay-active {
  * 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 {
@@ -1723,6 +1726,7 @@ body.full-overlay-active {
                background-size: 15px 123px;
        }
 
+       #customize-preview.wp-full-overlay-main,
        .customize-loading #customize-container,
        .theme-install-overlay .wp-full-overlay-main {
                background-image: url(../images/spinner-2x.gif);
index ee0b4a89a8e09c2ba177f1f6e19985096a1f6707..18148849fc5b48c948c3117dae9aa385967852ca 100644 (file)
@@ -39,7 +39,8 @@
 
 /* Position admin messages */
 .themes-php div.updated,
-.themes-php div.error {
+.themes-php div.error,
+.themes-php div.notice {
        margin: 0 0 20px 0;
        clear: both;
 }
        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 */
+       -webkit-transition: opacity 0.2s ease-in-out;
        transition: opacity 0.2s ease-in-out;
 }
 
        top: 35%;
        right: 25%;
        left: 25%;
-       background: #222;
+       background: #23282d;
        background: rgba(0,0,0,0.7);
        color: #fff;
        font-size: 15px;
        box-shadow: inset 0 1px 1px rgba(0,0,0,0.5);
 }
 
+.theme-browser .customize-control .theme.active .theme-name {
+       padding-right: 15px;
+}
+
 .theme-browser .theme.active .theme-name span {
        font-weight: 600;
 }
 }
 
 .theme-browser .theme .theme-author {
-       background: #222;
+       background: #23282d;
        color: #eee;
        display: none;
        font-size: 14px;
        z-index: 1;
 }
 
-.theme-browser .theme.add-new-theme:after {
+.theme-browser .theme.add-new-theme a:after {
        display: block;
        content: '';
-       -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
-       opacity: 1;
        background: transparent;
        background: rgba(0, 0, 0, 0);
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
-       padding: 10% 0 0 0;
+       padding: 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;
        text-indent: 4px;
 }
 
-.theme-browser .theme.add-new-theme:hover .theme-screenshot,
-.theme-browser .theme.add-new-theme:focus .theme-screenshot {
+.theme-browser .theme.add-new-theme a:hover .theme-screenshot,
+.theme-browser .theme.add-new-theme a:focus .theme-screenshot {
        background: none;
 }
 
-.theme-browser .theme.add-new-theme:hover span:after,
-.theme-browser .theme.add-new-theme:focus span:after {
+.theme-browser .theme.add-new-theme a:hover span:after,
+.theme-browser .theme.add-new-theme a:focus span:after {
        background: #fff;
-       color: #0074a2;
+       color: #0073aa;
 }
 
-.theme-browser .theme.add-new-theme:hover:after,
-.theme-browser .theme.add-new-theme:focus:after {
+.theme-browser .theme.add-new-theme a:hover:after,
+.theme-browser .theme.add-new-theme a:focus:after {
        border-color: transparent;
        color: #fff;
-       background: #0074a2;
+       background: #0073aa;
        content: '';
 }
 
        font-weight: 400;
        position: relative;
        top: 0;
-       margin-top: -10%;
-       margin-bottom: 10%;
+       margin-top: -18px;
+       padding-top: 0;
+       padding-bottom: 48px;
 }
 
-.theme-browser .theme.add-new-theme:hover .theme-name,
-.theme-browser .theme.add-new-theme:focus .theme-name {
+.theme-browser .theme.add-new-theme a:hover .theme-name,
+.theme-browser .theme.add-new-theme a:focus .theme-name {
        color: #fff;
        z-index: 2;
 }
        border-bottom: 1px solid #ddd;
 }
 
+.theme-overlay .theme-header button {
+       padding: 0;
+}
+
 .theme-overlay .theme-header .close {
        cursor: pointer;
        height: 48px;
        font-weight: 300;
 }
 
-.theme-overlay .theme-header .left:before,
-.rtl .theme-overlay .theme-header .right:before {
-       content: '\f341';
+.theme-overlay .theme-header .left:before {
+       content: "\f341";
 }
 
-.theme-overlay .theme-header .right:before,
-.rtl .theme-overlay .theme-header .left:before {
-       content: '\f345';
+.theme-overlay .theme-header .right:before {
+       content: "\f345";
 }
 
 
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
+       -webkit-overflow-scrolling: touch;
 }
 
 .theme-overlay .theme-wrap:after {
@@ -697,7 +701,7 @@ body.folded .theme-overlay .theme-wrap {
 
 .theme-overlay .screenshot.selected {
        background: transparent;
-       border: 2px solid #2ea2cc;
+       border: 2px solid #00a0d2;
 }
 
 .theme-overlay .screenshot.selected img {
@@ -719,7 +723,7 @@ body.folded .theme-overlay .theme-wrap {
 }
 
 .theme-overlay .current-label {
-       background: #333;
+       background: #32373c;
        color: #fff;
        font-size: 11px;
        display: inline-block;
@@ -734,7 +738,7 @@ body.folded .theme-overlay .theme-wrap {
 }
 
 .theme-overlay .theme-name {
-       color: #222;
+       color: #23282d;
        font-size: 32px;
        font-weight: 100;
        margin: 10px 0 0;
@@ -748,10 +752,6 @@ body.folded .theme-overlay .theme-wrap {
        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 {
@@ -775,7 +775,7 @@ body.folded .theme-overlay .theme-wrap {
 
 .theme-overlay .theme-tags {
        border-top: 3px solid #eee;
-       color: #888;
+       color: #82878c;
        font-size: 13px;
        font-weight: 400;
        margin: 30px 0 0 0;
@@ -799,7 +799,7 @@ body.folded .theme-overlay .theme-wrap {
 }
 
 .theme-overlay .theme-update {
-       color: #222;
+       color: #23282d;
        font-size: 18px;
        display: inline-block;
        line-height: 40px;
@@ -809,7 +809,7 @@ body.folded .theme-overlay .theme-wrap {
 .theme-overlay .parent-theme {
        background: #f7fcfe;
        border: 1px solid #eee;
-       border-left: 4px solid #2ea2cc;
+       border-left: 4px solid #00a0d2;
        font-size: 14px;
        font-weight: normal;
        margin-top: 30px;
@@ -928,7 +928,7 @@ body.folded .theme-overlay .theme-wrap {
                left: 0;
                padding: 70px 20px 20px;
                border: none;
-               z-index: 500; /* should overlap #wpadminbar, which is 500 on mobile. */
+               z-index: 100000; /* should overlap #wpadminbar. */
                position: fixed;
        }
 
@@ -1081,7 +1081,7 @@ body.folded .theme-overlay .theme-wrap {
 
 /* Already installed theme */
 .theme-browser .theme .theme-installed {
-       background: #0074a2;
+       background: #0073aa;
 }
 .theme-browser .theme .theme-installed:before {
        content: '\f147';
@@ -1141,7 +1141,8 @@ body.show-upload-theme .upload-theme + .wp-filter + .theme-browser {
 }
 
 p.no-themes {
-       color: #999;
+       clear: both;
+       color: #666;
        font-size: 18px;
        font-style: normal;
        margin: 0;
@@ -1357,6 +1358,16 @@ body.full-overlay-active {
        height: 100%;
 }
 
+#customize-preview.wp-full-overlay-main {
+       background: url(../images/spinner.gif) no-repeat center center;
+       -webkit-background-size: 20px 20px;
+       background-size: 20px 20px;
+}
+
+#customize-preview.wp-full-overlay-main.iframe-ready {
+       background: none;
+}
+
 .wp-full-overlay-sidebar .wp-full-overlay-header {
        position: absolute;
        left: 0;
@@ -1459,20 +1470,12 @@ body.full-overlay-active {
 .theme-install-overlay .previous-theme.disabled:focus,
 .theme-install-overlay .next-theme.disabled:hover,
 .theme-install-overlay .next-theme.disabled:focus {
-       color: #bbb;
+       color: #b4b9be;
        background: #eee;
        cursor: default;
        pointer-events: none;
 }
 
-.rtl .theme-install-overlay .previous-theme:before {
-       content: "\f345";
-}
-
-.rtl .theme-install-overlay .next-theme:before {
-       content: "\f341";
-}
-
 /* Collapse Button */
 .wp-full-overlay a.collapse-sidebar {
        position: absolute;
@@ -1491,7 +1494,7 @@ body.full-overlay-active {
 }
 
 .wp-full-overlay a.collapse-sidebar:hover {
-       color: #0074a2;
+       color: #0073aa;
 }
 
 .wp-full-overlay.collapsed .collapse-sidebar {
@@ -1527,6 +1530,7 @@ body.full-overlay-active {
        text-decoration: none !important;
 }
 
+/* rtl:ignore */
 .wp-full-overlay.collapsed .collapse-sidebar-arrow:before,
 .rtl .wp-full-overlay .collapse-sidebar-arrow:before {
        -webkit-transform: rotate(180deg);
@@ -1714,7 +1718,6 @@ body.full-overlay-active {
  * 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 {
@@ -1723,6 +1726,7 @@ body.full-overlay-active {
                background-size: 15px 123px;
        }
 
+       #customize-preview.wp-full-overlay-main,
        .customize-loading #customize-container,
        .theme-install-overlay .wp-full-overlay-main {
                background-image: url(../images/spinner-2x.gif);
index 187f00573d68819fc4d8214f5f1d3000b149a3e0..671a18b71dd8c1319be8a3bc07106bc16de0a270 100644 (file)
@@ -49,7 +49,7 @@
 
 .deleting .widget-title,
 .deleting .widget-top a.widget-action:after {
-       color: #aaa;
+       color: #a0a5aa;
 }
 
 /* Widget Dragging Helpers */
@@ -62,7 +62,7 @@
 }
 
 .widget-placeholder {
-       border: 1px dashed #bbb;
+       border: 1px dashed #b4b9be;
        margin: 0 auto 10px;
        height: 45px;
        width: 100%;
@@ -271,8 +271,10 @@ div#widgets-right .closed .widgets-sortables {
 }
 
 .sidebar-name .spinner {
-       margin: -5px 5px;
        float: none;
+       position: relative;
+       top: -2px;
+       margin: -5px 5px;
 }
 
 /* Dragging a widget over a closed sidebar */
@@ -369,7 +371,7 @@ div#widgets-right .closed .widgets-sortables {
 }
 
 .js #removing-widget {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .widget-control-noform,
@@ -475,7 +477,7 @@ div#widgets-right .widget-top:hover,
 }
 
 .widgets-chooser li.widgets-chooser-selected {
-       background: #2ea2cc;
+       background: #00a0d2;
        color: #fff;
 }
 
index 409a39371eeb79b05d8444675fd0f116e98b7952..0a8cd92bb5d91b43fd00d0602c513e4026ec3290 100644 (file)
@@ -49,7 +49,7 @@
 
 .deleting .widget-title,
 .deleting .widget-top a.widget-action:after {
-       color: #aaa;
+       color: #a0a5aa;
 }
 
 /* Widget Dragging Helpers */
@@ -62,7 +62,7 @@
 }
 
 .widget-placeholder {
-       border: 1px dashed #bbb;
+       border: 1px dashed #b4b9be;
        margin: 0 auto 10px;
        height: 45px;
        width: 100%;
@@ -271,8 +271,10 @@ div#widgets-right .closed .widgets-sortables {
 }
 
 .sidebar-name .spinner {
-       margin: -5px 5px;
        float: none;
+       position: relative;
+       top: -2px;
+       margin: -5px 5px;
 }
 
 /* Dragging a widget over a closed sidebar */
@@ -369,7 +371,7 @@ div#widgets-right .closed .widgets-sortables {
 }
 
 .js #removing-widget {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .widget-control-noform,
@@ -475,7 +477,7 @@ div#widgets-right .widget-top:hover,
 }
 
 .widgets-chooser li.widgets-chooser-selected {
-       background: #2ea2cc;
+       background: #00a0d2;
        color: #fff;
 }
 
index c45d5b14505ea8e7c9fbacdb16ea54d8795652b9..962cd0f01461211cb619e5cd59bc50e339b427ce 100644 (file)
@@ -7,7 +7,6 @@
 @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);
index ef5a2df9225359f6e91000949ccce0570a62fc30..f750ac60e70326f7b579c6581df910a6f844d14b 100644 (file)
@@ -1,8 +1,8 @@
-#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%;padding-right:20px}#wpcontent,#wpfooter{margin-right:160px}.folded #wpcontent,.folded #wpfooter{margin-right:36px}#wpbody-content{padding-bottom:65px;float:right;width:100%;overflow:visible!important}.inner-sidebar{float:left;clear:left;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-left:auto;width:286px;display:block}.columns-2 .inner-sidebar #side-sortables,.inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:right;clear:right;width:100%;margin-left:-2000px}.has-right-sidebar #post-body-content{margin-left:300px;float:none;width:auto}#col-container,#col-left,#col-right{overflow:hidden;padding:0;margin:0}#col-left{width:35%}#col-right{float:left;clear:left;width:65%}.col-wrap{padding:0 7px}.alignleft{float:right}.alignright{float:left}.textleft{text-align:right}.textright{text-align:left}.clear{clear:both}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{right:6px;top:-25px;height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:0}.hidden,.js .closed .inside,.js .hide-if-js,.js .wp-core-ui .hide-if-js,.js.wp-core-ui .hide-if-js,.no-js .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js,.no-js.wp-core-ui .hide-if-no-js{display:none}#menu-management .menu-edit,#menu-settings-column .accordion-container,.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}body.modal-open{overflow:hidden}body.mobile.modal-open #wpwrap{overflow:hidden;height:100%}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;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 a:focus{outline:#5b9dd9 solid 1px}#adminmenu a:focus,.screen-reader-text:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}p{font-size:13px;line-height:1.5;margin:1em 0}blockquote{margin:1em}dd,li{margin-bottom:6px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}h2{color:#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}ul.ul-square{list-style:square}ol.ol-decimal{list-style:decimal}ol.ol-decimal,ul.ul-disc,ul.ul-square{margin-right:1.8em}ol.ol-decimal>li,ul.ul-disc>li,ul.ul-square>li{margin:0 0 .5em}.ltr{direction:ltr}.code,code{font-family:Consolas,Monaco,monospace;direction:ltr;unicode-bidi:embed}code,kbd{padding:3px 5px 2px;margin:0 1px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;float:right;color:#666}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:400}.subsubsub a.current{font-weight:600;border:none}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat *{word-wrap:break-word}.widefat a{text-decoration:none}.widefat td,.widefat th{padding:8px 10px}.widefat thead th{border-bottom:1px solid #e1e1e1}.widefat tfoot th{border-top:1px solid #e1e1e1;border-bottom:none}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td ol,.widefat td p,.widefat td ul{font-size:13px;line-height:1.5em}.widefat th{text-align:right;line-height:1.3em;font-size:14px}.widefat th input{margin:0 8px 0 0;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:6px 0 25px;vertical-align:top}.widefat th input[type=checkbox]{margin-top:-1px}.widefat.media .check-column{padding-top:8px}.widefat tbody th.check-column,.widefat tfoot th.check-column,.widefat thead th.check-column{padding:11px 3px 0 0}.widefat thead th.check-column{padding-top:10px}.update-php div.error,.update-php div.updated{margin-right:0}.no-js .widefat tfoot .check-column input,.no-js .widefat thead .check-column input{display:none}.column-comments,.column-links,.column-posts,.widefat .num{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 2px 0 20px}.attention{color:#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: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}.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 .hndle,.side-info,.sidebar-name,.stuffbox .hndle,.widefat tfoot th,.widefat thead th,.widget .widget-top{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#222}.postbox .hndle,.stuffbox .hndle{border-bottom:1px solid #eee}.quicktags,.search{background-color:#ccc;color:#000;font-size:12px}.icon32{display:none}#bulk-titles div a:before,#welcome-panel.welcome-panel .welcome-panel-close:before,.tagchecklist span a:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 16px/1 dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased!important}#welcome-panel.welcome-panel .welcome-panel-close:before{margin:0}#bulk-titles div a:before,.tagchecklist span a:before{margin:2px 0}#bulk-titles div a:hover:before,#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before{color:#c00}.key-labels label{line-height:24px}b,strong{font-weight:600}.pre{white-space:pre-wrap;word-wrap:break-word}.howto{color:#666;font-style:italic;display:block}p.install-help{margin:8px 0;font-style:italic}.no-break{white-space:nowrap}hr{border:0;border-top:1px solid #ddd;border-bottom:1px solid #fafafa}#all-plugins-table .plugins a.delete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete,#search-plugins-table .plugins a.delete,.plugins a.delete,.row-actions span.delete a,.row-actions span.spam a,.row-actions span.trash a,.submitbox .submitdelete{color:#a00}#all-plugins-table .plugins a.delete:hover,#media-items a.delete-permanently:hover,#media-items a.delete:hover,#nav-menu-footer .menu-delete:hover,#search-plugins-table .plugins a.delete:hover,.file-error,.plugins a.delete:hover,.row-actions .delete a:hover,.row-actions .spam a:hover,.row-actions .trash a:hover,.submitbox .submitdelete:hover,.widget-control-remove:hover,abbr.required{color:red;text-decoration:none;border:none}#major-publishing-actions{padding:10px;clear:both;border-top:1px solid #ddd;background:#f5f5f5}#delete-action{line-height:28px;vertical-align:middle;text-align:right;float:right}#publishing-action{text-align:left;float:left;line-height:23px}#publishing-action .spinner{float:right}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px}#minor-publishing-actions{padding:10px 10px 0;text-align:left}#save-post{float:right}.preview{float:left}#sticky-span{margin-right:18px}.side-info{margin:0;padding:4px;font-size:11px}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom:1px solid #dadada}.side-info ul{margin:0;padding-right:18px;list-style:square;color:#666}.approve,.unapproved .unapprove{display:none}.spam .approve,.trash .approve,.unapproved .approve{display:inline}td.action-links,th.action-links{text-align:left}.wp-filter{display:inline-block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:12px 0 25px;padding:0 20px;width:100%;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;-webkit-border-radius:30px;border-radius:30px;background:#777;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-right:5px;margin-left:20px}.filter-items{float:right}.filter-links,.filter-links li{display:inline-block;margin:0}.filter-links li>a{display:inline-block;margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{-webkit-box-shadow:none;box-shadow:none;border-bottom:4px solid #666;color:#222}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#2ea2cc}.wp-filter .search-form{float:left;margin:10px 0}.wp-filter .search-form input[type=search]{margin:0;padding:3px 5px;width:280px;max-width:100%;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{margin:0;height:32px;vertical-align:top}.wp-filter .search-form.search-plugins{display:inline-block}.wp-filter .drawer-toggle{display:inline-block;margin:0 10px;padding:4px 6px;color:#666;cursor:pointer}.wp-filter .drawer-toggle:before{display:inline-block;vertical-align:top;content:"\f111";margin:0 0 0 5px;width:16px;height:16px;color:#777;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;font-family:dashicons;font-size:16px;line-height:1;text-align:center;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased}.wp-filter .drawer-toggle:hover,.wp-filter .drawer-toggle:hover:before{color:#2ea2cc}.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer{display:none;margin:0 -20px;padding:20px;border-top:1px solid #eee;background:#fafafa}.show-filters .filter-drawer{display:block;overflow:hidden;width:100%}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .drawer-toggle{-webkit-border-radius:2px;border-radius:2px;border:none;background:#777;color:#fff}.show-filters .wp-filter .drawer-toggle:before{color:#fff}.filter-group{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:right;margin:0 0 0 1%;padding:10px;width:24%;background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.filter-group h4{position:relative;margin:0}.filter-drawer ol{margin:20px 0 0;list-style-type:none;font-size:12px}.filter-drawer li{display:inline-block;vertical-align:top;margin:5px 0;padding-left:25px;width:160px;list-style-type:none}.filter-drawer .buttons{margin-bottom:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.wp-filter .button.clear-filters{display:none;margin:0 10px 20px 0}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-right:10px}.filtered-by .tags{display:inline}.filtered-by .tag{margin:0 5px;padding:4px 8px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:11px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.filters-applied .filter-drawer{padding:20px}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.loading-content .spinner{display:block;margin:40px auto 0;float:none}@media only screen and (max-width:1120px){.filter-drawer{border-bottom:1px solid #eee}.filter-group{margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}}@media only screen and (max-width:1000px){.filter-items{float:none}.wp-filter .media-toolbar-primary,.wp-filter .media-toolbar-secondary,.wp-filter .search-form{float:none;position:relative;max-width:100%}}@media only screen and (max-width:782px){.filter-group li{padding:0;width:50%}}@media only screen and (max-width:320px){.filter-count{display:none}.wp-filter .drawer-toggle{margin:10px 0}.filter-group li,.wp-filter .search-form input[type=search]{width:100%}}.notice,div.error,div.updated{background:#fff;border-right:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 15px 2px;padding:1px 12px}.form-table td .notice p,.notice p,div.error p,div.updated p{margin:.5em 0;padding:2px}.notice-success,div.updated{border-color:#7ad03a}.notice-warning{border-color:#ffba00}.notice-error,div.error{border-color:#dd3d36}.notice-info{border-color:#2ea2cc}.media-upload-form .notice,.media-upload-form div.error,.wrap .notice,.wrap div.error,.wrap div.updated{margin:5px 0 15px}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:right;margin:25px 2px 0 20px;background-color:#fff;border-right:4px solid #ffba00;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.update-message{color:#000}.update-php .spinner{float:none;margin:-4px 0}#ajax-loading,.ajax-feedback,.ajax-loading,.imgedit-wait-spin,.list-ajax-loading{visibility:hidden}#ajax-response.alignleft{margin-right:2em}#adminmenu a,#catlist a,#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:none;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-link-wrap,#screen-options-link-wrap{float:left;height:28px;margin:0 6px 0 0;border:1px solid #ddd;border-top:none;background:#fff;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#screen-meta-links a{color:#777}#screen-meta-links a:active,#screen-meta-links a:focus,#screen-meta-links a:hover{color:#333}#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: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,.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;height:0;min-height:0}#post-body-content{width:100%;min-width:463px;float:right}#post-body.columns-2 #postbox-container-1{float:left;margin-left:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content .metabox-holder .postbox-container .empty-container{border:0;height:0;min-height:0}}.js .postbox .hndle,.js .widget .widget-top{cursor:move}.hndle a{font-size:11px;font-weight:400}.postbox .handlediv{float:left;width:27px;height:30px}.js .postbox .handlediv{cursor:pointer}.sortable-placeholder{border:1px dashed #bbb;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox .hndle,.stuffbox .hndle{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:none;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#dashboard_right_now .versions .b,#ed_reply_toolbar #ed_reply_strong,#pass-strength-result.short,#pass-strength-result.strong,#post-status-display,#post-visibility-display,.feature-filter .feature-name,.item-controls .item-order a,.media-item .percent,.plugins .name{font-weight:600}#wpfooter{position:absolute;bottom:0;right:0;left:0;padding:10px 20px;color:#777}#wpfooter p{font-size:13px;margin:0;line-height:20px}#footer-thankyou{font-style:italic}#wpfooter a{text-decoration:none}#wpfooter a:hover{text-decoration:underline}.nav-tab{border:1px solid #ccc;border-bottom:none;background:#e4e4e4;color:#555;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:-4px 0 -1px 4px}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active,.nav-tab-active:hover{border-bottom:1px solid #f1f1f1;background:#f1f1f1;color:#000}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0;padding-right:10px}h2 .nav-tab{padding:6px 10px;font-weight:700;font-size:15px;line-height:24px}.spinner{background:url(../images/spinner.gif) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;display: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;width:auto;height:auto}td.image-icon img{border:1px solid rgba(0,0,0,.07)}#howto{font-size:11px;margin:0 5px;display:block}.importers td{padding-left:14px}.importers{font-size:16px;width:auto}#post-body #post-body-content #namediv h3{margin-top:0}#namediv h3 label{vertical-align:baseline}#namediv table{width:100%}#namediv td.first{width:10px;white-space:nowrap}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.zerosize{height:0;width:0;margin:0;border:0;padding:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:none;margin:0;padding:0}fieldset{border:0;padding:0;margin:0}.post-categories{display:inline;margin:0;padding:0}.post-categories li{display:inline}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) bottom right repeat-x}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) top right repeat-x;height:17px;float:right}.star-rating{white-space:nowrap}.star-rating .star{display:inline-block;width:20px;height:20px;-webkit-font-smoothing:antialiased;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;text-align:center;color:#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}#plugin-information{background:#fff;position:fixed;top:0;left:0;bottom:0;right:0;height:100%;padding:0}#plugin-information-scrollable{overflow:auto;height:100%}#plugin-information-title{padding:0 20px;background:#f5f5f5;font-size:22px;font-weight:600;line-height:56px;position:relative;top:0;left:0;right:0;height:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner{margin-left:0;height:250px;bottom:250px;-webkit-background-size:100% auto;background-size:100% auto}#plugin-information-title h2{font-size:1em;font-weight:700;padding:0;margin:0;max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner h2{font-family:"Helvetica Neue",sans-serif;display:inline-block;font-size:30px;line-height:50px;padding:0 15px;margin:174px 10px 0 0;color:#fff;background:rgba(30,30,30,.9);text-shadow:0 1px 3px rgba(0,0,0,.4);-webkit-box-shadow:0 0 30px rgba(255,255,255,.1);box-shadow:0 0 30px rgba(255,255,255,.1);-webkit-border-radius:8px;border-radius:8px}#plugin-information-title div.vignette{display:none}#plugin-information-title.with-banner div.vignette{display:block;float:left;top:0;height:250px;width:772px;margin:0 -20px;background:0 0;-webkit-box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1)}#plugin-information-tabs{padding:0 16px;position:relative;left:0;right:0;height:36px;z-index:1;border-bottom:1px solid #ddd;background:#f3f3f3}#plugin-information-tabs a{position:relative;float:right;padding:9px 10px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;-webkit-transition:none;transition:none}#plugin-information-tabs a.current{margin:0 -1px;background:#fff;border:1px solid #ddd;border-bottom-color:#fff;padding-top:8px;color:#333}#plugin-information-tabs.with-banner a.current{border-top:none;padding-top:9px}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{overflow:hidden;background:#fff;position:relative;top:0;left:0;right:0;min-height:100%;min-height:-webkit-calc(100% - 152px);min-height:calc(100% - 152px)}#plugin-information-content.with-banner{min-height:-webkit-calc(100% - 346px);min-height:calc(100% - 346px)}#section-holder{position:relative;top:0;left:250px;bottom:0;right:0;margin-left:250px;padding:10px 26px 99999px;margin-bottom:-99930px}#section-holder .updated{margin:16px 0}#plugin-information .fyi{display:block;float:left;position:relative;top:0;left:0;padding:16px 16px 99999px;margin-bottom:-99930px;width:217px;border-right:1px solid #ddd;background:#f3f3f3;color:#666}#plugin-information .fyi strong{color:#464646}#plugin-information .fyi h3{font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-left:0}#plugin-information .fyi ul{padding:0;margin:0;list-style:none}#plugin-information .fyi li{margin:0 0 10px}#plugin-information .counter-container{margin:3px 0}#plugin-information .counter-label{float:right;margin-left:5px;min-width:55px}#plugin-information .counter-back{height:17px;width:92px;background-color:#ececec;float:right}#plugin-information .counter-bar{height:17px;background-color:#fddb5a;float:right}#plugin-information .counter-count{margin-right:5px}#plugin-information .fyi ul.contributors{margin-top:10px}#plugin-information .fyi ul.contributors li{display:inline-block;margin-left:8px;vertical-align:middle}#plugin-information .fyi ul.contributors li img{vertical-align:middle;margin-left:4px}#plugin-information-footer{padding:15px 16px;position:absolute;left:0;bottom:0;right:0;height:28px;border-top:1px solid #ddd;background:#f3f3f3}#plugin-information .section{direction:ltr}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-left:24px}#plugin-information .section,#plugin-information .section p{font-size:14px;line-height:1.7}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;margin-top:16px;max-width:100%;width:auto;height:auto;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}#plugin-information .review{overflow:hidden;width:100%;margin-bottom:20px;border-bottom:1px solid #e6e6e6}#plugin-information .review-title-section{overflow:hidden}#plugin-information .review-title-section h4{display:inline-block;float:left;margin:0 6px 0 0}#plugin-information .reviewer-info p{clear:both;margin:0;padding-top:2px}#plugin-information .reviewer-info .avatar{float:left;margin:4px 6px 0 0}#plugin-information .reviewer-info .star-rating{float:left}#plugin-information .review-meta{float:left;margin-left:.75em}#plugin-information .review-body{float:left;width:100%}.plugin-version-author-uri{font-size:13px}@media screen and (max-width:771px){#plugin-information-title.with-banner{height:100px;bottom:100px}#plugin-information-title.with-banner h2{margin-top:30px;font-size:20px;line-height:40px;max-width:85%}#plugin-information-title.with-banner div.vignette{height:100px;bottom:100px;width:800%}#plugin-information-tabs{overflow:hidden;padding:0;height:auto}#plugin-information-tabs a.current{margin-bottom:0;border-bottom:none}#plugin-information .fyi{float:none;border:1px solid #ddd;position:static;width:auto;margin:26px 26px 0;padding-bottom:0}#section-holder{position:static;margin:0;padding-bottom:70px}#plugin-information .fyi h3,#plugin-information .fyi small{display:none}#plugin-information-footer{padding:12px 16px 0;height:46px}}body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:url(../images/spinner.gif) no-repeat center #fcfcfc}@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:url(../images/spinner-2x.gif) no-repeat center/20px 20px #fcfcfc;-webkit-background-size:20px 20px}}body.import-php #TB_title,body.index-php #TB_title,body.plugin-install-php #TB_title,body.plugins-php #TB_title,body.update-core-php #TB_title{float:right;height:1px}body.import-php #TB_ajaxWindowTitle,body.index-php #TB_ajaxWindowTitle,body.plugin-install-php #TB_ajaxWindowTitle,body.plugins-php #TB_ajaxWindowTitle,body.update-core-php #TB_ajaxWindowTitle{display:none}body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{right:auto;left:-30px;color:#eee;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}body.import-php #TB_closeWindowButton:focus,body.import-php #TB_closeWindowButton:focus .tb-close-icon,body.import-php .tb-close-icon:focus,body.import-php .tb-close-icon:hover,body.index-php #TB_closeWindowButton:focus,body.index-php #TB_closeWindowButton:focus .tb-close-icon,body.index-php .tb-close-icon:focus,body.index-php .tb-close-icon:hover,body.plugin-install-php #TB_closeWindowButton:focus,body.plugin-install-php #TB_closeWindowButton:focus .tb-close-icon,body.plugin-install-php .tb-close-icon:focus,body.plugin-install-php .tb-close-icon:hover,body.plugins-php #TB_closeWindowButton:focus,body.plugins-php #TB_closeWindowButton:focus .tb-close-icon,body.plugins-php .tb-close-icon:focus,body.plugins-php .tb-close-icon:hover,body.update-core-php #TB_closeWindowButton:focus,body.update-core-php #TB_closeWindowButton:focus .tb-close-icon,body.update-core-php .tb-close-icon:focus,body.update-core-php .tb-close-icon:hover{color:#2ea2cc;outline:0;-webkit-box-shadow:none;box-shadow:none}body.import-php .tb-close-icon:before,body.index-php .tb-close-icon:before,body.plugin-install-php .tb-close-icon:before,body.plugins-php .tb-close-icon:before,body.update-core-php .tb-close-icon:before{content:"\f335";font-size:32px}@media screen and (max-width:830px){body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{left:0;top:-30px}}img{border:none}#wphead{border-bottom:1px solid #dfdfdf}#wphead h1 a{color:#464646}.js .meta-box-sortables .postbox:hover .handlediv{margin-left:0!important}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{left:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js #widgets-left .sidebar-name .sidebar-name-arrow{display:none}.js #widgets-left .sidebar-name:hover .sidebar-name-arrow,.js #widgets-left .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow{display:block}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{content:'\f142'}.js .meta-box-sortables .postbox.closed .handlediv:before,.js .widgets-holder-wrap.closed .sidebar-name-arrow:before{content:'\f140'}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}#photo-add-url-div input[type=text]{width:300px}.alignleft h3{margin:0}#template textarea{font-family:Consolas,Monaco,monospace;font-size:13px;width:97%;background:#f9f9f9;outline:0}#docs-list,#template textarea{direction:ltr}#template p{width:97%}#templateside{float:left;width:190px;word-wrap:break-word}#postcustomstuff p.submit,#templateside h3{margin:0}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em 0;padding:0}#templateside li{margin:4px 0}#templateside li a,.theme-editor-php .highlight{display:block;padding:3px 12px 3px 3px;text-decoration:none}.theme-editor-php .highlight{margin:-3px -12px -3px 3px}#templateside .highlight{border:none;font-weight:700}.nonessential{color:#666;font-size:11px;font-style:italic;padding-right:12px}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:baseline;font-weight:600}.fileedit-sub{padding:10px 0 8px;line-height:180%}.accordion-section-title:after,.control-section .accordion-section-title:after,.nav-menus-php .item-edit:before,.widget-top a.widget-action:after{left:0;content:'\f140';border:none;background:0 0;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.accordion-section-title:after,.handlediv,.item-edit,.sidebar-name-arrow,.widget-action{color:#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 11px}.widget-top a.widget-action:focus:after{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.nav-menus-php .item-edit:before{line-height:2.1}.accordion-section-title:after,.control-section .accordion-section-title:after{float:left;left:20px;top:-2px}#customize-info.open .accordion-section-title:after,.control-section.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before,.widget.open .widget-top a.widget-action:after{content:'\f142'}/*!
- * jQuery UI Draggable/Sortable 1.11.2
+#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%;padding-right:20px}#wpcontent,#wpfooter{margin-right:160px}.folded #wpcontent,.folded #wpfooter{margin-right:36px}#wpbody-content{padding-bottom:65px;float:right;width:100%;overflow:visible!important}.inner-sidebar{float:left;clear:left;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-left:auto;width:286px;display:block}.columns-2 .inner-sidebar #side-sortables,.inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:right;clear:right;width:100%;margin-left:-2000px}.has-right-sidebar #post-body-content{margin-left:300px;float:none;width:auto}#col-container,#col-left,#col-right{overflow:hidden;padding:0;margin:0}#col-left{width:35%}#col-right{float:left;clear:left;width:65%}.col-wrap{padding:0 7px}.alignleft{float:right}.alignright{float:left}.textleft{text-align:right}.textright{text-align:left}.clear{clear:both}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{right:6px;top:-25px;height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:0}.hidden,.js .closed .inside,.js .hide-if-js,.js .wp-core-ui .hide-if-js,.js.wp-core-ui .hide-if-js,.no-js .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js,.no-js.wp-core-ui .hide-if-no-js{display:none}#menu-management .menu-edit,#menu-settings-column .accordion-container,.comment-ays,.feature-filter,.imgedit-group,.manage-menus,.menu-item-handle,.popular-tags,.stuffbox,.widget-inside,.widget-top,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.comment-ays,.feature-filter,.imgedit-group,.popular-tags,.stuffbox,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{background:#fff}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em;min-width:600px}body.iframe{min-width:0;padding-top:1px}body.modal-open{overflow:hidden}body.mobile.modal-open #wpwrap{overflow:hidden;position:fixed;height:100%}iframe,img{border:0}td{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:#0073aa;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}a,div{outline:0}a:active,a:hover{color:#00a0d2}a:focus{color:#124964;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 a:focus{outline:#5b9dd9 solid 1px}#adminmenu a:focus,.screen-reader-text:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}p{font-size:13px;line-height:1.5;margin:1em 0}blockquote{margin:1em}dd,li{margin-bottom:6px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}h2{color:#23282d;font-size:1.5em;margin:.83em 0;font-weight:400}h3{color:#23282d;font-size:1.3em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}ol,ul{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-right:2em}ul.ul-disc{list-style:disc}ul.ul-square{list-style:square}ol.ol-decimal{list-style:decimal}ol.ol-decimal,ul.ul-disc,ul.ul-square{margin-right:1.8em}ol.ol-decimal>li,ul.ul-disc>li,ul.ul-square>li{margin:0 0 .5em}.ltr{direction:ltr}.code,code{font-family:Consolas,Monaco,monospace;direction:ltr;unicode-bidi:embed}code,kbd{padding:3px 5px 2px;margin:0 1px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;float:right;color:#666}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:400}.subsubsub a.current{font-weight:600;border:none}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat *{word-wrap:break-word}.widefat a{text-decoration:none}.widefat td,.widefat th{padding:8px 10px}.widefat thead th{border-bottom:1px solid #e1e1e1}.widefat tfoot th{border-top:1px solid #e1e1e1;border-bottom:none}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td ol,.widefat td p,.widefat td ul{font-size:13px;line-height:1.5em}.widefat th{text-align:right;line-height:1.3em;font-size:14px}.widefat th input{margin:0 8px 0 0;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:6px 0 25px;vertical-align:top}.widefat th input[type=checkbox]{margin-top:-1px}.widefat.media .check-column{padding-top:8px}.widefat tbody th.check-column,.widefat tfoot th.check-column,.widefat thead th.check-column{padding:11px 3px 0 0}.widefat thead th.check-column{padding-top:10px}.update-php div.error,.update-php div.updated{margin-right:0}.no-js .widefat tfoot .check-column input,.no-js .widefat thead .check-column input{display:none}.column-comments,.column-links,.column-posts,.widefat .num{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 2px 0 20px}.attention{color:#00a0d2}.subtitle,.wrap h2{font-weight:400;margin:0}.wrap h2{font-size:23px;font-weight:400;padding:9px 0 4px 15px;line-height:29px}.subtitle{color:#777;font-size:14px;padding-right:25px}.wrap .add-new-h2,.wrap .add-new-h2:active{margin-right:4px;padding:4px 8px;position:relative;top:-3px;text-decoration:none;border:none;-webkit-border-radius:2px;border-radius:2px;background:#e0e0e0;text-shadow:none;font-weight:600;font-size:13px}.wrap .add-new-h2:hover{background:#00a0d2;color:#fff}.wrap h2.long-header{padding-left:0}.wp-dialog{background-color:#fff}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}.alternate,.striped>tbody>:nth-child(odd){background-color:#f9f9f9}.bar{background-color:#e8e8e8;border-left-color:#99d}.media-upload-form label.form-help,td.help{color:#9a9a9a}.highlight{background-color:#e4f2fd;color:#000}.wp-ui-primary{color:#fff;background-color:#32373c}.wp-ui-text-primary{color:#32373c}.wp-ui-highlight{color:#fff;background-color:#1e8cbe}.wp-ui-text-highlight{color:#1e8cbe}.wp-ui-notification{color:#fff;background-color:#d54e21}.wp-ui-text-notification{color:#d54e21}.wp-ui-text-icon{color:#999}img.emoji{display:inline!important;border:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:none!important;padding:0!important;-webkit-box-shadow:none!important;box-shadow:none!important}#nav-menu-footer,#nav-menu-header,#your-profile #rich_editing,.checkbox,.control-section .accordion-section-title,.menu-item-handle,.postbox .hndle,.side-info,.sidebar-name,.stuffbox .hndle,.widefat tfoot th,.widefat thead th,.widget .widget-top{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#23282d}.postbox .hndle,.stuffbox .hndle{border-bottom:1px solid #eee}.quicktags,.search{background-color:#ccc;color:#000;font-size:12px}.icon32{display:none}#bulk-titles div a:before,#welcome-panel.welcome-panel .welcome-panel-close:before,.notice-dismiss:before,.tagchecklist span a:before{background:0 0;color:#b4b9be;content:'\f153';display:block!important;font:400 16px/1 dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased!important}#welcome-panel.welcome-panel .welcome-panel-close:before{margin:0}#bulk-titles div a:before,.tagchecklist span a:before{margin:2px 0}#bulk-titles div a:hover:before,#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before{color:#c00}.key-labels label{line-height:24px}b,strong{font-weight:600}.pre{white-space:pre-wrap;word-wrap:break-word}.howto{color:#666;font-style:italic;display:block}p.install-help{margin:8px 0;font-style:italic}.no-break{white-space:nowrap}hr{border:0;border-top:1px solid #ddd;border-bottom:1px solid #fafafa}#all-plugins-table .plugins a.delete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete,#search-plugins-table .plugins a.delete,.plugins a.delete,.row-actions span.delete a,.row-actions span.spam a,.row-actions span.trash a,.submitbox .submitdelete{color:#a00}#all-plugins-table .plugins a.delete:hover,#media-items a.delete-permanently:hover,#media-items a.delete:hover,#nav-menu-footer .menu-delete:hover,#search-plugins-table .plugins a.delete:hover,.file-error,.plugins a.delete:hover,.row-actions .delete a:hover,.row-actions .spam a:hover,.row-actions .trash a:hover,.submitbox .submitdelete:hover,.widget-control-remove:hover,abbr.required{color:red;text-decoration:none;border:none}#major-publishing-actions{padding:10px;clear:both;border-top:1px solid #ddd;background:#f5f5f5}#delete-action{line-height:28px;vertical-align:middle;text-align:right;float:right}#publishing-action{text-align:left;float:left;line-height:23px}#publishing-action .spinner{float:right}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px}#minor-publishing-actions{padding:10px 10px 0;text-align:left}#save-post{float:right}.preview{float:left}#sticky-span{margin-right:18px}.side-info{margin:0;padding:4px;font-size:11px}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom:1px solid #dadada}.side-info ul{margin:0;padding-right:18px;list-style:square;color:#666}.approve,.unapproved .unapprove{display:none}.spam .approve,.trash .approve,.unapproved .approve{display:inline}td.action-links,th.action-links{text-align:left}.wp-filter{display:inline-block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:12px 0 25px;padding:0 20px;width:100%;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;-webkit-border-radius:30px;border-radius:30px;background:#777;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-right:5px;margin-left:20px}.filter-items{float:right}.filter-links,.filter-links li{display:inline-block;margin:0}.filter-links li>a{display:inline-block;margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{-webkit-box-shadow:none;box-shadow:none;border-bottom:4px solid #666;color:#23282d}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#00a0d2}.wp-filter .search-form{float:left;margin:10px 0}.wp-filter .search-form input[type=search]{margin:0;padding:3px 5px;width:280px;max-width:100%;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{margin:0;height:32px;vertical-align:top}.wp-filter .search-form.search-plugins{display:inline-block}.wp-filter .drawer-toggle{display:inline-block;margin:0 10px;padding:4px 6px;color:#666;cursor:pointer}.wp-filter .drawer-toggle:before{display:inline-block;vertical-align:top;content:"\f111";margin:0 0 0 5px;width:16px;height:16px;color:#777;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;font-family:dashicons;font-size:16px;line-height:1;text-align:center;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased}.wp-filter .drawer-toggle:hover,.wp-filter .drawer-toggle:hover:before{color:#00a0d2}.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer{display:none;margin:0 -20px;padding:20px;border-top:1px solid #eee;background:#fafafa}.show-filters .filter-drawer{display:block;overflow:hidden;width:100%}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .drawer-toggle{-webkit-border-radius:2px;border-radius:2px;border:none;background:#777;color:#fff}.show-filters .wp-filter .drawer-toggle:before{color:#fff}.filter-group{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:right;margin:0 0 0 1%;padding:10px;width:24%;background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.filter-group h4{position:relative;margin:0}.filter-drawer ol{margin:20px 0 0;list-style-type:none;font-size:12px}.filter-drawer li{display:inline-block;vertical-align:top;margin:5px 0;padding-left:25px;width:160px;list-style-type:none}.filter-drawer .buttons{margin-bottom:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.wp-filter .button.clear-filters{display:none;margin-right:10px}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-right:10px}.filtered-by .tags{display:inline}.filtered-by .tag{margin:0 5px;padding:4px 8px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:11px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.filters-applied .filter-drawer{padding:20px}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.loading-content .spinner{display:block;margin:40px auto 0;float:none}@media only screen and (max-width:1120px){.filter-drawer{border-bottom:1px solid #eee}.filter-group{margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}}@media only screen and (max-width:1000px){.filter-items{float:none}.wp-filter .media-toolbar-primary,.wp-filter .media-toolbar-secondary,.wp-filter .search-form{float:none;position:relative;max-width:100%}}@media only screen and (max-width:782px){.filter-group li{padding:0;width:50%}}@media only screen and (max-width:320px){.filter-count{display:none}.wp-filter .drawer-toggle{margin:10px 0}.filter-group li,.wp-filter .search-form input[type=search]{width:100%}}.notice,div.error,div.updated{background:#fff;border-right:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 15px 2px;padding:1px 12px}.form-table td .notice p,.notice p,div.error p,div.updated p{margin:.5em 0;padding:2px}.wp-core-ui .notice.is-dismissible{padding-left:38px;position:relative}.notice-dismiss{position:absolute;top:0;left:1px;border:none;margin:0;padding:9px;background:0 0;color:#b4b9be;cursor:pointer}.notice-dismiss:before{position:relative;top:0;right:0;line-height:20px}.notice-dismiss:active:before,.notice-dismiss:focus:before,.notice-dismiss:hover:before{color:#c00}.notice-dismiss:focus{outline:0;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);color:#c00}.ie8 .notice-dismiss:focus{outline:#5b9dd9 solid 1px}.notice-success,div.updated{border-color:#7ad03a}.notice-warning{border-color:#ffba00}.notice-error,div.error{border-color:#dd3d36}.notice-info{border-color:#00a0d2}.media-upload-form .notice,.media-upload-form div.error,.wrap .notice,.wrap div.error,.wrap div.updated{margin:5px 0 15px}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:right;margin:25px 2px 0 20px;background-color:#fff;border-right:4px solid #ffba00;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.update-message{color:#000}.update-php .spinner{float:none;margin:-4px 0}#ajax-loading,.ajax-feedback,.ajax-loading,.imgedit-wait-spin,.list-ajax-loading{visibility:hidden}#ajax-response.alignleft{margin-right:2em}#adminmenu a,#catlist a,#taglist a{text-decoration:none}#contextual-help-wrap,#screen-options-wrap{margin:0;padding:8px 20px 12px;position:relative}#contextual-help-wrap{overflow:auto;margin-right:0!important}#screen-meta .screen-reader-text{visibility:hidden}#screen-meta-links{margin:0 0 0 20px}#screen-meta-links a{padding:3px 16px 3px 6px}#screen-meta-links a:focus{outline:0}#screen-meta{display:none;margin:0 0 -1px 20px;position:relative;background-color:#fff;border:1px solid #ddd;border-top:none;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-link-wrap,#screen-options-link-wrap{float:left;height:28px;margin:0 6px 0 0;border:1px solid #ddd;border-top:none;background:#fff;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#screen-meta-links a{color:#777}#screen-meta-links a:active,#screen-meta-links a:focus,#screen-meta-links a:hover{color:#32373c}#screen-meta-links a.show-settings{display:block;font-size:13px;height:22px;line-height:22px;text-decoration:none;z-index:1}#screen-meta-links a:after{left:0;content:'\f140';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 5px;bottom:2px;position:relative;vertical-align:bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#b4b9be}#screen-meta-links a.screen-meta-active:after{content:'\f142'}#screen-meta-links a.show-settings:hover{text-decoration:none}.toggle-arrow{background-repeat:no-repeat;background-position:top left;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom left}#contextual-help-wrap h5,#screen-options-wrap h5{margin:8px 0;font-size:13px}.metabox-prefs label{display:inline-block;padding-left:15px;line-height:30px}.metabox-prefs label input[type=checkbox]{margin-top:-4px;margin-left:6px}.metabox-prefs label input{margin:0 2px 0 5px}.metabox-prefs .columns-prefs label input{margin:0 2px}.metabox-prefs label a{display:none}.metabox-prefs .screen-options{padding-top:10px}.metabox-prefs .screen-options input,.metabox-prefs .screen-options label{margin-top:0;margin-bottom:0;vertical-align:middle}.metabox-prefs .screen-options .screen-per-page{margin-left:15px}.metabox-prefs .screen-options label{line-height:28px;padding-left:0}#contextual-help-wrap{padding:0}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;right:150px;left:170px;border:1px solid #e1e1e1;border-top:none;border-bottom:none;background:#f6fbfd}#contextual-help-wrap.no-sidebar #contextual-help-back{left:0;border-left-width:0;-webkit-border-bottom-left-radius:2px;border-bottom-left-radius:2px}.contextual-help-tabs{float:right;width:150px;margin:0}.contextual-help-tabs ul{margin:1em 0}.contextual-help-tabs li{margin-bottom:0;list-style-type:none;border-style:solid;border-width:0 2px 0 0;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 12px 5px 5px;line-height:18px;text-decoration:none;border:1px solid transparent;border-left:none;border-right:none}.contextual-help-tabs a:hover{color:#32373c}.contextual-help-tabs .active{padding:0;margin:0 0 0 -1px;border-right:2px solid #00a0d2;background:#f6fbfd;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02);box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02)}.contextual-help-tabs .active a{border-color:#e1e1e1;color:#32373c}.contextual-help-tabs-wrap{padding:0 20px;overflow:auto}.help-tab-content{display:none;margin:0 0 12px 22px;line-height:1.6em}.help-tab-content.active{display:block}.help-tab-content ul li{list-style-type:disc;margin-right:18px}.contextual-help-sidebar{width:150px;float:left;padding:0 12px 0 8px;overflow:auto}html.wp-toolbar{padding-top:32px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.widefat td,.widefat th{color:#555}.widefat th{font-weight:400}.widefat tfoot tr th,.widefat thead tr th{color:#32373c}.widefat td p{margin:2px 0 .8em}.widefat ol,.widefat p,.widefat ul{color:#32373c}.widefat .column-comment p{margin:.6em 0}.postbox-container{float:right}.postbox-container .meta-box-sortables{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody-content .metabox-holder{padding-top:10px}.metabox-holder .postbox-container .empty-container{border:3px dashed #b4b9be;height:250px}.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container,.metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}#post-body-content{width:100%;min-width:463px;float:right}#post-body.columns-2 #postbox-container-1{float:left;margin-left:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content .metabox-holder .postbox-container .empty-container{border:0;height:0;min-height:0}}.js .postbox .hndle,.js .widget .widget-top{cursor:move}.hndle a{font-size:11px;font-weight:400}.postbox .handlediv{float:left;width:27px;height:30px}.js .postbox .handlediv{cursor:pointer}.sortable-placeholder{border:1px dashed #b4b9be;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox .hndle,.stuffbox .hndle{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:none;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#dashboard_right_now .versions .b,#ed_reply_toolbar #ed_reply_strong,#pass-strength-result.short,#pass-strength-result.strong,#post-status-display,#post-visibility-display,.feature-filter .feature-name,.item-controls .item-order a,.media-item .percent,.plugins .name{font-weight:600}#wpfooter{position:absolute;bottom:0;right:0;left:0;padding:10px 20px;color:#777}#wpfooter p{font-size:13px;margin:0;line-height:20px}#footer-thankyou{font-style:italic}#wpfooter a{text-decoration:none}#wpfooter a:hover{text-decoration:underline}.nav-tab{border:1px solid #ccc;border-bottom:none;background:#e4e4e4;color:#555;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:-4px 0 -1px 4px}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active,.nav-tab-active:hover{border-bottom:1px solid #f1f1f1;background:#f1f1f1;color:#000}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0;padding-right:10px}h2 .nav-tab{padding:6px 10px;font-weight:700;font-size:15px;line-height:24px}.spinner{background:url(../images/spinner.gif) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;display:inline-block;visibility:hidden;float:left;vertical-align:middle;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}.spinner.is-active{visibility:visible}#template div{margin-left:190px}.metabox-holder h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#templateside ul li a{text-decoration:none}.plugin-install #description,.plugin-install-network #description{width:60%}table .column-rating,table .column-visible,table .vers{text-align:right}.error-message{color:red;font-weight:600}body.iframe{height:98%}.lp-show-latest p{display:none}.lp-show-latest .lp-error p,.lp-show-latest p:last-child{display:block}td.media-icon{text-align:center;width:80px;padding-top:8px;padding-bottom:8px}td.media-icon img{max-width:80px;max-height:60px;width:auto;height:auto}td.image-icon img{border:1px solid rgba(0,0,0,.07)}#howto{font-size:11px;margin:0 5px;display:block}.importers td{padding-left:14px}.importers{font-size:16px;width:auto}#post-body #post-body-content #namediv h3{margin-top:0}#namediv h3 label{vertical-align:baseline}#namediv table{width:100%}#namediv td.first{width:10px;white-space:nowrap}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.zerosize{height:0;width:0;margin:0;border:0;padding:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:none;margin:0;padding:0}fieldset{border:0;padding:0;margin:0}.post-categories{display:inline;margin:0;padding:0}.post-categories li{display:inline}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) bottom left repeat-x}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) top left repeat-x;height:17px;float:right}.star-rating{white-space:nowrap}.star-rating .star{display:inline-block;width:20px;height:20px;-webkit-font-smoothing:antialiased;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;text-align:center;color:#ffb900}.star-rating .star-full:before{content:'\f155'}.star-rating .star-half:before{content:'\f459'}.rtl .star-rating .star-half{-webkit-transform:rotateY(180deg);-ms-transform:rotateY(180deg);transform:rotateY(180deg)}.star-rating .star-empty:before{content:'\f154'}div.action-links{font-weight:400}#plugin-information{background:#fff;position:fixed;top:0;left:0;bottom:0;right:0;height:100%;padding:0}#plugin-information-scrollable{overflow:auto;-webkit-overflow-scrolling:touch;height:100%}#plugin-information-title{padding:0 20px;background:#f5f5f5;font-size:22px;font-weight:600;line-height:56px;position:relative;top:0;left:0;right:0;height:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner{margin-left:0;height:250px;bottom:250px;-webkit-background-size:cover;background-size:cover}#plugin-information-title h2{font-size:1em;font-weight:700;padding:0;margin:0;max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner h2{font-family:"Helvetica Neue",sans-serif;display:inline-block;font-size:30px;line-height:50px;padding:0 15px;margin:174px 10px 0 0;color:#fff;background:rgba(30,30,30,.9);text-shadow:0 1px 3px rgba(0,0,0,.4);-webkit-box-shadow:0 0 30px rgba(255,255,255,.1);box-shadow:0 0 30px rgba(255,255,255,.1);-webkit-border-radius:8px;border-radius:8px}#plugin-information-title div.vignette{display:none}#plugin-information-title.with-banner div.vignette{display:block;float:left;top:0;height:250px;width:772px;margin:0 -20px;background:0 0;-webkit-box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1)}#plugin-information-tabs{padding:0 16px;position:relative;left:0;right:0;height:36px;z-index:1;border-bottom:1px solid #ddd;background:#f3f3f3}#plugin-information-tabs a{position:relative;float:right;padding:9px 10px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;-webkit-transition:none;transition:none}#plugin-information-tabs a.current{margin:0 -1px;background:#fff;border:1px solid #ddd;border-bottom-color:#fff;padding-top:8px;color:#32373c}#plugin-information-tabs.with-banner a.current{border-top:none;padding-top:9px}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{overflow:hidden;background:#fff;position:relative;top:0;left:0;right:0;min-height:100%;min-height:-webkit-calc(100% - 152px);min-height:calc(100% - 152px)}#plugin-information-content.with-banner{min-height:-webkit-calc(100% - 346px);min-height:calc(100% - 346px)}#section-holder{position:relative;top:0;left:250px;bottom:0;right:0;margin-left:250px;padding:10px 26px 99999px;margin-bottom:-99930px}#section-holder .updated{margin:16px 0}#plugin-information .fyi{display:block;float:left;position:relative;top:0;left:0;padding:16px 16px 99999px;margin-bottom:-99930px;width:217px;border-right:1px solid #ddd;background:#f3f3f3;color:#666}#plugin-information .fyi strong{color:#464646}#plugin-information .fyi h3{font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-left:0}#plugin-information .fyi ul{padding:0;margin:0;list-style:none}#plugin-information .fyi li{margin:0 0 10px}#plugin-information .counter-container{margin:3px 0}#plugin-information .counter-label{float:right;margin-left:5px;min-width:55px}#plugin-information .counter-back{height:17px;width:92px;background-color:#ececec;float:right}#plugin-information .counter-bar{height:17px;background-color:#ffc733;float:right}#plugin-information .counter-count{margin-right:5px}#plugin-information .fyi ul.contributors{margin-top:10px}#plugin-information .fyi ul.contributors li{display:inline-block;margin-left:8px;vertical-align:middle}#plugin-information .fyi ul.contributors li img{vertical-align:middle;margin-left:4px}#plugin-information-footer{padding:15px 16px;position:absolute;left:0;bottom:0;right:0;height:28px;border-top:1px solid #ddd;background:#f3f3f3}#plugin-information .section{direction:ltr}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-left:24px}#plugin-information .section,#plugin-information .section p{font-size:14px;line-height:1.7}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;margin-top:16px;max-width:100%;width:auto;height:auto;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}#plugin-information .review{overflow:hidden;width:100%;margin-bottom:20px;border-bottom:1px solid #e6e6e6}#plugin-information .review-title-section{overflow:hidden}#plugin-information .review-title-section h4{display:inline-block;float:left;margin:0 6px 0 0}#plugin-information .reviewer-info p{clear:both;margin:0;padding-top:2px}#plugin-information .reviewer-info .avatar{float:left;margin:4px 6px 0 0}#plugin-information .reviewer-info .star-rating{float:left}#plugin-information .review-meta{float:left;margin-left:.75em}#plugin-information .review-body{float:left;width:100%}.plugin-version-author-uri{font-size:13px}@media screen and (max-width:771px){#plugin-information-title.with-banner{height:100px;bottom:100px}#plugin-information-title.with-banner h2{margin-top:30px;font-size:20px;line-height:40px;max-width:85%}#plugin-information-title.with-banner div.vignette{height:100px;bottom:100px;width:800%}#plugin-information-tabs{overflow:hidden;padding:0;height:auto}#plugin-information-tabs a.current{margin-bottom:0;border-bottom:none}#plugin-information .fyi{float:none;border:1px solid #ddd;position:static;width:auto;margin:26px 26px 0;padding-bottom:0}#section-holder{position:static;margin:0;padding-bottom:70px}#plugin-information .fyi h3,#plugin-information .fyi small{display:none}#plugin-information-footer{padding:12px 16px 0;height:46px}}body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:url(../images/spinner.gif) center no-repeat #fcfcfc}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:url(../images/spinner-2x.gif) center/20px 20px no-repeat #fcfcfc;-webkit-background-size:20px 20px}}body.import-php #TB_title,body.index-php #TB_title,body.plugin-install-php #TB_title,body.plugins-php #TB_title,body.update-core-php #TB_title{float:right;height:1px}body.import-php #TB_ajaxWindowTitle,body.index-php #TB_ajaxWindowTitle,body.plugin-install-php #TB_ajaxWindowTitle,body.plugins-php #TB_ajaxWindowTitle,body.update-core-php #TB_ajaxWindowTitle{display:none}body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{right:auto;left:-30px;color:#eee;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}body.import-php #TB_closeWindowButton:focus,body.import-php #TB_closeWindowButton:focus .tb-close-icon,body.import-php .tb-close-icon:focus,body.import-php .tb-close-icon:hover,body.index-php #TB_closeWindowButton:focus,body.index-php #TB_closeWindowButton:focus .tb-close-icon,body.index-php .tb-close-icon:focus,body.index-php .tb-close-icon:hover,body.plugin-install-php #TB_closeWindowButton:focus,body.plugin-install-php #TB_closeWindowButton:focus .tb-close-icon,body.plugin-install-php .tb-close-icon:focus,body.plugin-install-php .tb-close-icon:hover,body.plugins-php #TB_closeWindowButton:focus,body.plugins-php #TB_closeWindowButton:focus .tb-close-icon,body.plugins-php .tb-close-icon:focus,body.plugins-php .tb-close-icon:hover,body.update-core-php #TB_closeWindowButton:focus,body.update-core-php #TB_closeWindowButton:focus .tb-close-icon,body.update-core-php .tb-close-icon:focus,body.update-core-php .tb-close-icon:hover{color:#00a0d2;outline:0;-webkit-box-shadow:none;box-shadow:none}body.import-php .tb-close-icon:before,body.index-php .tb-close-icon:before,body.plugin-install-php .tb-close-icon:before,body.plugins-php .tb-close-icon:before,body.update-core-php .tb-close-icon:before{content:"\f335";font-size:32px}@media screen and (max-width:830px){body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{left:0;top:-30px}}img{border:none}#wphead{border-bottom:1px solid #dfdfdf}#wphead h1 a{color:#464646}.js .meta-box-sortables .postbox:hover .handlediv{margin-left:0!important}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{left:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js #widgets-left .sidebar-name .sidebar-name-arrow{display:none}.js #widgets-left .sidebar-name:hover .sidebar-name-arrow,.js #widgets-left .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow{display:block}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{content:'\f142'}.js .meta-box-sortables .postbox.closed .handlediv:before,.js .widgets-holder-wrap.closed .sidebar-name-arrow:before{content:'\f140'}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}#photo-add-url-div input[type=text]{width:300px}.alignleft h3{margin:0}#template textarea{font-family:Consolas,Monaco,monospace;font-size:13px;width:97%;background:#f9f9f9;outline:0}#docs-list,#template textarea{direction:ltr}#template p{width:97%}#templateside{float:left;width:190px;word-wrap:break-word}#postcustomstuff p.submit,#templateside h3{margin:0}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em 0;padding:0}#templateside li{margin:4px 0}#templateside li a,.theme-editor-php .highlight{display:block;padding:3px 12px 3px 3px;text-decoration:none}.theme-editor-php .highlight{margin:-3px -12px -3px 3px}#templateside .highlight{border:none;font-weight:700}.nonessential{color:#666;font-size:11px;font-style:italic;padding-right:12px}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:baseline;font-weight:600}.fileedit-sub{padding:10px 0 8px;line-height:180%}.accordion-section-title:after,.control-section .accordion-section-title:after,.nav-menus-php .item-edit:before,.widget-top a.widget-action:after{left:0;content:'\f140';border:none;background:0 0;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.accordion-section-title:after,.handlediv,.item-edit,.sidebar-name-arrow,.widget-action{color:#a0a5aa}.accordion-section-title:hover:after,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.widget-action:hover{color:#777}.widget-top a.widget-action:after{padding:12px 12px 11px}.widget-top a.widget-action:focus:after{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.nav-menus-php .item-edit:before{line-height:2.1}.accordion-section-title:after,.control-section .accordion-section-title:after{float:left;left:20px;top:-2px}#customize-info.open .accordion-section-title:after,.control-section.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before,.widget.open .widget-top a.widget-action:after{content:'\f142'}/*!
+ * jQuery UI Draggable/Sortable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
- */.ui-draggable-handle,.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.accordion-section{border-bottom:1px solid #dfdfdf;margin:0}.accordion-section.open .accordion-section-content,.no-js .accordion-section .accordion-section-content{display:block}.accordion-section.open:hover{border-bottom-color:#dfdfdf}.accordion-section-content{display:none;padding:10px 20px 15px;overflow:hidden;background:#fff}.accordion-section-title{margin:0;padding:12px 15px 15px;position:relative;border-right:1px solid #dfdfdf;border-left:1px solid #dfdfdf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .accordion-section-title{cursor:pointer}.js .accordion-section-title:after{position:absolute;top:12px;left:10px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:focus:after,.accordion-section-title:hover:after{border-color:#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 .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) bottom right/21px 37px repeat-x;-webkit-background-size:21px 37px}.spinner{background-image:url(../images/spinner-2x.gif)}#bulk-titles div a,#bulk-titles div a:hover,#screen-meta-links a.show-settings,.curtime #timestamp,.meta-box-sortables .postbox:hover .handlediv,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.tagchecklist span a,.tagchecklist span a:hover,.widget-top a.widget-action,.widget-top a.widget-action:hover{background:none!important}}@-ms-viewport{width:device-width}@media screen and (max-width:782px){html.wp-toolbar{padding-top:46px}body{min-width:240px;overflow-x:hidden}body *{-webkit-tap-highlight-color:transparent!important}#wpcontent{position:relative;margin-right:0;padding-right:10px}#wpbody-content{padding-bottom:100px}.wrap{margin-left:12px;margin-right:0}.col-wrap{padding:0}#collapse-menu,#screen-meta,#screen-meta-links,.post-format-select{display:none!important}.wrap .add-new-h2,.wrap .add-new-h2:active{padding:10px 15px;font-size:14px}.wp-color-result{height:auto;padding-right:45px}.wp-color-result:after{font-size:14px;height:auto;padding:6px 14px}.media-upload-form div.error,.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}code{word-wrap:break-word}.postbox{font-size:14px}.metabox-holder h3{padding:12px}.postbox .handlediv{margin-top:3px}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}#templateside{float:none;width:auto}#templateside li{margin:0}#templateside li a{display:block;padding:5px}#templateside .highlight{padding:5px;margin-right:-5px;margin-top:-5px}#template div{float:none;margin:0;width:auto}#template textarea{width:100%}.fileedit-sub .alignright{margin-top:15px}#comments-form .checkforspam,#wpfooter{display:none}}@media screen and (max-width:600px){#wpwrap.wp-responsive-open{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}div#post-body.metabox-holder.columns-1{overflow-x:hidden}}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#333;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #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-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[type=checkbox]:checked:before,input[type=radio]:checked:before{float:right;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px -4px 0 0;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:right;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 0 0 8px}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:right;margin-left:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-right:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;right:-1px;padding:0 0 0 5px;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:right;margin:13px 1px 5px 5px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:left;margin:0}.network-admin.themes-php p.search-box{clear:right}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}input[type=text].ui-autocomplete-loading{background:url(../images/loading.gif) left center no-repeat;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}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-left:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.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}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-left:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-right:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}.form-field #domain{max-width:none}}@media only screen and (max-width:768px){.form-field input[type=email],.form-field input[type=password],.form-field input[type=text],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media 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;padding:0;list-style:none}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:36px}.icon16{height:18px;width:18px;padding:6px;margin:-6px -8px 0 0;float:right}.icon16:before{color:#999;font:400 20px/1 dashicons;speak:none;padding:6px 0;height:34px;width:20px;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.icon16.icon-dashboard:before{content:'\f226'}.icon16.icon-post:before{content:'\f109'}.icon16.icon-media:before{content:'\f104'}.icon16.icon-links:before{content:'\f103'}.icon16.icon-page:before{content:'\f105'}.icon16.icon-comments:before{content:'\f101';margin-top:1px}.icon16.icon-appearance:before{content:'\f100'}.icon16.icon-plugins:before{content:'\f106'}.icon16.icon-users:before{content:'\f110'}.icon16.icon-tools:before{content:'\f107'}.icon16.icon-settings:before{content:'\f108'}.icon16.icon-site:before{content:'\f112'}.icon16.icon-generic:before{content:'\f111'}.icon16.icon-appearance,.icon16.icon-comments,.icon16.icon-dashboard,.icon16.icon-generic,.icon16.icon-links,.icon16.icon-media,.icon16.icon-page,.icon16.icon-plugins,.icon16.icon-post,.icon16.icon-settings,.icon16.icon-site,.icon16.icon-tools,.icon16.icon-users,.menu-icon-appearance div.wp-menu-image,.menu-icon-comments div.wp-menu-image,.menu-icon-dashboard div.wp-menu-image,.menu-icon-generic div.wp-menu-image,.menu-icon-links div.wp-menu-image,.menu-icon-media div.wp-menu-image,.menu-icon-page div.wp-menu-image,.menu-icon-plugins div.wp-menu-image,.menu-icon-post div.wp-menu-image,.menu-icon-settings div.wp-menu-image,.menu-icon-site div.wp-menu-image,.menu-icon-tools div.wp-menu-image,.menu-icon-users div.wp-menu-image{background-image:none!important}#adminmenuwrap{position:relative;float:right;z-index:9990}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px;color:#eee}#adminmenu .wp-submenu a{color:#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:#45bbe6}#adminmenu li.menu-top{border:none;min-height:34px;position:relative}#adminmenu .wp-submenu{list-style:none;position:absolute;top:-1000em;right:160px;overflow:visible;word-wrap:break-word}#adminmenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{padding:7px 0 8px;z-index:9999;background-color:#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;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:#45bbe6}.folded #adminmenu div.wp-menu-image{width:35px;height:30px;position:absolute;z-index:25}.folded #adminmenu a.menu-top{height:34px}.no-font-face #adminmenu .wp-menu-image{display:none}.no-font-face #adminmenu div.wp-menu-name{padding:8px 12px}.no-font-face.auto-fold #adminmenu .wp-menu-name{margin-right:0}.sticky-menu #adminmenuwrap{position:fixed}.wp-menu-arrow{display:none!important}ul#adminmenu a.wp-has-current-submenu{position:relative}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{left:0;border:8px solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-left-color:#f1f1f1;top:50%;margin-top:-8px}.folded ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.folded ul#adminmenu a.wp-has-current-submenu:after,.folded ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{left:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-width:8px;top:10px;z-index:10000}.folded ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:18px}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#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}#adminmenu .awaiting-mod,#adminmenu .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:#45bbe6;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:#45bbe6}.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}.customize-support #menu-appearance a[href="themes.php?page=custom-header"],.customize-support #menu-appearance a[href="themes.php?page=custom-background"],li#wp-admin-bar-menu-toggle{display:none}@media only screen and (max-width:960px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-right:36px}.auto-fold #adminmenu,.auto-fold #adminmenu li.menu-top,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{width:36px}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{top:0;right:36px}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu,.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em;margin-left:-1px;padding:7px 0 8px;z-index:9999}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{min-width:150px;width:auto}.auto-fold #adminmenu .wp-has-current-submenu li>a{padding-left:16px;padding-right:14px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding-right:12px}.auto-fold #adminmenu .wp-menu-name{display:none}.auto-fold #adminmenu .wp-submenu-head{display:block}.auto-fold #adminmenu div.wp-menu-image{height:30px;width:34px;position:absolute;z-index:25}.auto-fold #adminmenu a.menu-top{height:34px}.auto-fold #adminmenu li.wp-menu-open{border:0}.auto-fold #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:16px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}.auto-fold #adminmenu li.menu-top:hover,.auto-fold #adminmenu li.opensub>a.menu-top,.auto-fold #adminmenu li>a.menu-top:focus{z-index:10000}.auto-fold #collapse-menu span{display:none}.auto-fold #collapse-button div{background:0 0}.auto-fold #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.auto-fold #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}}@media screen and (max-width:782px){.auto-fold #wpcontent{position:relative;margin-right:0;padding-right:10px}.sticky-menu #adminmenuwrap{position:relative;z-index:auto;top:0}.auto-fold #adminmenu,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{position:absolute;width:190px;z-index:100}.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{display:none}.auto-fold .wp-responsive-open #adminmenuback,.auto-fold .wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu li.menu-top{width:100%}.auto-fold #adminmenu li a{font-size:16px;padding:5px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding:10px 20px 10px 10px}.auto-fold #adminmenu .wp-menu-name{display:block;margin-right:35px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li.current>a.current:after{border-width:8px;margin-top:-8px}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{display:none}#adminmenu .wp-submenu{position:relative;display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold #adminmenu .wp-menu-open .wp-submenu{position:relative;display:block;top:0;right:-1px;-webkit-box-shadow:none;box-shadow:none}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .selected .wp-submenu:after,.auto-fold #adminmenu .wp-menu-open .wp-submenu:after{display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:block}.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{position:relative;right:-1px;left:0;top:0}#adminmenu .wp-submenu .wp-submenu-head{display:none}#wp-responsive-toggle{position:fixed;top:5px;right:4px;padding-left:10px;z-index:99999;border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpadminbar #wp-admin-bar-menu-toggle a{display:block;padding:0;overflow:hidden;outline:0;text-decoration:none;border:1px solid transparent;background:0 0;height:44px;margin-right:-1px}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#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:none;text-align:center;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}@media screen and (max-width:600px){#adminmenuback,#adminmenuwrap{display:none}.wp-responsive-open #adminmenuback,.wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu{top:46px}}#wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody-content #dashboard-widgets.columns-2 .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets.columns-2 #postbox-container-2,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-4{float:left;width:50.5%}#wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-3 #postbox-container-4{float:left}#dashboard-widgets .postbox-container,#wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container{border:none!important}.ie8 #wpbody-content #dashboard-widgets .postbox-container{width:49.5%}.ie8 #wpbody-content #dashboard-widgets #postbox-container-2,.ie8 #wpbody-content #dashboard-widgets #postbox-container-3,.ie8 #wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}.ie8 #dashboard-widgets #postbox-container-3 .empty-container,.ie8 #dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#dashboard-widgets-wrap{overflow:hidden;margin:0 -8px}#dashboard-widgets .postbox .inside{margin-bottom:0}#dashboard-widgets .meta-box-sortables{margin:0 8px;min-height:100px}#the-comment-list td.comment p.comment-author{margin-top:0;margin-right:0}#the-comment-list p.comment-author img{float:right;margin-left:8px}#the-comment-list p.comment-author strong a{border:none}#the-comment-list td{vertical-align:top}#the-comment-list td.comment{word-wrap:break-word}#the-comment-list td.comment img{max-width:100%}.welcome-panel{position:relative;overflow:auto;margin:16px 0;padding:23px 10px 0;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:13px;line-height:2.1em}.welcome-panel h3{margin:0;font-size:21px;font-weight:400;line-height:1.2}.welcome-panel h4{margin:1.33em 0 0;font-size:16px}.welcome-panel li{font-size:14px}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel .about-description{font-size:16px;margin:0}.welcome-panel .welcome-panel-close{position:absolute;top:5px;left:10px;padding:20px 3px 0 15px;font-size:13px;text-decoration:none;line-height:1}#welcome-panel.welcome-panel .welcome-panel-close:before{position:absolute;right:-18px;margin-top:-2px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.wp-core-ui .welcome-panel .button.button-hero{margin:15px 0 3px 13px;padding:12px 36px;height:auto;line-height:1.4285714;white-space:normal}.welcome-panel-content{margin-right:13px;max-width:1500px}.welcome-panel .welcome-panel-column-container{clear:both;overflow:hidden;position:relative}.welcome-panel .welcome-panel-column{width:32%;min-width:200px;float:right}.ie8 .welcome-panel .welcome-panel-column{min-width:230px}.welcome-panel .welcome-panel-column:first-child{width:36%}.welcome-panel-column p.hide-if-no-customize{margin-top:10px}.welcome-panel-column p{margin-top:7px;color:#464646}.welcome-panel .welcome-icon{display:block;padding:0 0 8px;background:0 0!important}.welcome-panel .welcome-icon:before{color:#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}.rssSummary{color:#777;margin-top:4px}#dashboard_primary .rss-widget{border-bottom:1px solid #eee;font-size:13px;padding:8px 12px 10px}#dashboard_primary .rss-widget:last-child{border-bottom:none;padding-bottom:8px}#dashboard_primary .rss-widget a{font-weight:400}#dashboard_primary .rss-widget span,#dashboard_primary .rss-widget span.rss-date{color:#777}#dashboard_primary .rss-widget span.rss-date{margin-right:12px}#dashboard_primary .rss-widget ul li{margin-bottom:8px}#dashboard_right_now ul{margin:0;overflow:hidden}#dashboard_right_now li{width:50%;float:right;margin-bottom:10px}#dashboard_right_now .inside{overflow:hidden;padding:0}#dashboard_right_now .main{overflow:hidden;padding:0 12px 11px}#dashboard_right_now .main p{margin:0}#dashboard_right_now #wp-version-message .button{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:none}#dashboard_quick_press .drafts h4{margin:0 12px 8px;font-weight:400}#dashboard_quick_press .drafts .view-all{float:left;margin:0 0 0 12px}#dashboard_primary a.rsswidget{font-weight:400}#dashboard_quick_press .drafts ul{margin:0 12px}#dashboard_quick_press .drafts li{margin-bottom:1em}#dashboard_quick_press .drafts li time{color:#777}#dashboard_quick_press .drafts p{margin:0;word-wrap:break-word}#dashboard_quick_press .draft-title{overflow:hidden}#dashboard_quick_press .draft-title a,#dashboard_quick_press .draft-title time{float:right;margin:0 0 0 5px}#dashboard-widgets #dashboard_activity h4{margin:0 12px 8px 0;font-weight:400}#dashboard-widgets #dashboard_activity h4.comment-meta{margin:0}#dashboard_activity h4.comment-meta{margin-bottom:4px}#dashboard_activity ul{padding:0 12px}#dashboard_activity .comment-meta span.approve:before{content:'\f227';font:20px/.5 dashicons;margin-right:12px;vertical-align:middle;position:relative;top:-1px;margin-left:2px}#dashboard_activity .inside{padding:0;margin:0}#dashboard_activity .no-activity{overflow:hidden;padding:0 12px 12px;text-align:center}#dashboard_activity .no-activity p{color:#999;font-size:16px}#dashboard_activity .no-activity .smiley{margin-top:0}#dashboard_activity .no-activity .smiley:before{content:'\f328';font:400 120px/1 dashicons;speak:none;display:block;margin:0 0 0 5px;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_activity .subsubsub{float:none;border-top:1px solid #eee;margin-top:0;padding:8px 12px 4px}#future-posts ul,#published-posts ul{clear:both;margin-bottom:0}#future-posts li,#published-posts li{overflow:hidden;margin-bottom:8px}#future-posts ul span,#published-posts ul span{color:#777;float:right;margin-left:8px;min-width:150px}.activity-block{border-bottom:1px solid #eee;overflow:hidden;padding:8px 0 4px}.activity-block:last-child{border-bottom:none}.activity-block .subsubsub li{color:#ddd}#activity-widget #the-comment-list div.undo,#activity-widget #the-comment-list tr.undo{background:0 0;padding:6px 0;margin-right:12px}#activity-widget #the-comment-list .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;top:13px}#activity-widget #the-comment-list .dashboard-comment-wrap{padding-right:63px}#activity-widget #the-comment-list .dashboard-comment-wrap blockquote{margin:1em 0}#activity-widget #the-comment-list .comment-item h4{font-size:13px;color:#999}#activity-widget #the-comment-list .comment-item p.row-actions{margin:4px 0 0}#activity-widget #the-comment-list .comment-item:first-child{border-top:1px solid #eee}#activity-widget #the-comment-list .unapproved{background-color:#fef7f1}#activity-widget #the-comment-list .unapproved:before{content:"";display:block;position:absolute;right:0;top:0;bottom:0;background:#d54e21;width:4px}#activity-widget #the-comment-list .spam-undo-inside .avatar,#activity-widget #the-comment-list .trash-undo-inside .avatar{position:relative;top:0}#dashboard-widgets #dashboard_browser_nag.postbox .inside{margin:10px}.edit-box{display:none}h3:hover .edit-box{display:inline}#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:100%}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:none}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0}#dashboard-widgets a{text-decoration:none}#dashboard-widgets h3 a{text-decoration:underline}#dashboard-widgets h3 .postbox-title-action{position:absolute;left:10px;padding:0;top:5px}.js #dashboard-widgets h3 .postbox-title-action{left:33px}#dashboard-widgets h4{color:#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,#activity-widget #the-comment-list .pingback{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}#activity-widget #latest-comments #the-comment-list .comment-item{padding:1em 12px}#latest-comments #the-comment-list .pingback{padding-right:12px!important}#latest-comments #the-comment-list .comment-item:first-child{border-top:none}#latest-comments #the-comment-list .comment-item h4{line-height:1.5em;margin-top:0;color:#666}#latest-comments #the-comment-list .comment-item h4 cite{font-style:normal;font-weight:400}#latest-comments #the-comment-list .comment-item blockquote,#latest-comments #the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline}#latest-comments #the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:13px}#description-wrap label,#title-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;outline:0}#title-wrap #title-prompt-text{font-size:1.1em;padding:5px 8px}.rss-widget ul{margin:0;padding:0;list-style:none}a.rsswidget{font-size:14px;font-weight:600;line-height:1.7em}.rss-widget ul li{line-height:1.5em;margin-bottom:12px}.rss-widget span.rss-date{color:#999;font-size:13px;margin-right:3px}.rss-widget cite{display:block;text-align:left;margin:0 0 1em;padding:0}.rss-widget cite:before{content:'\2014'}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:600}#dashboard_browser_nag a{text-decoration:underline}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-left:125px}#dashboard_browser_nag .browser-icon{margin-top:-35px}#dashboard_browser_nag.postbox.browser-insecure{background-color:#ac1b1b;border-color:#ac1b1b}#dashboard_browser_nag.postbox{background-color:#e29808;background-image:none;border-color:#edc048;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag.postbox.browser-insecure h3{border-bottom-color:#cd5a5a;color:#fff}#dashboard_browser_nag.postbox h3{border-bottom-color:#f6e2ac;background:0 0;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag h3.hndle{border:none;font-weight:600;font-size:20px;padding-top:10px}.postbox#dashboard_browser_nag p a.dismiss{font-size:14px}.postbox#dashboard_browser_nag a,.postbox#dashboard_browser_nag p,.postbox#dashboard_browser_nag p.browser-update-nag{font-size:16px}@media only screen and (max-width:799px){#wpbody-content #dashboard-widgets .postbox-container{width:100%}}@media only screen and (min-width:800px) and (max-width:1499px){#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#wpbody #wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody #wpbody-content .metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}.index-php .columns-prefs,.index-php .screen-layout{display:block}.columns-prefs .columns-prefs-3,.columns-prefs .columns-prefs-4{display:none}}@media only screen and (min-width:1500px) and (max-width:1800px){#wpbody-content #dashboard-widgets .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left}#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}}@media screen and (max-width:870px){.welcome-panel .welcome-panel-column,.welcome-panel .welcome-panel-column:first-child{display:block;float:none;width:100%}.welcome-panel .welcome-panel-column li{display:inline-block;margin-left:13px}.welcome-panel .welcome-panel-column ul{margin:.4em 0 0}}@media screen and (max-width:782px){#dashboard_recent_comments #the-comment-list .comment-item .avatar{height:30px;width:30px;margin:4px 0 5px 10px}}@media screen and (max-width:600px){.welcome-panel .welcome-panel-close{overflow:hidden;text-indent:100%;white-space:nowrap;width:20px;height:20px;left:0;padding:5px}#welcome-panel.welcome-panel .welcome-panel-close:before{font-size:20px;margin:0}}.post-com-count-wrapper{min-width:22px}.post-com-count{background:center -80px no-repeat;height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;color:#fff}.post-com-count:after{content:"";display:block;width:0;height:0;margin-right:8px;border-top:5px solid #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-posts{width:74px}.fixed .column-comment .comment-author{display:none}.fixed .column-categories,.fixed .column-rel,.fixed .column-response,.fixed .column-role,.fixed .column-tags{width:15%}.fixed .column-slug{width:25%}.fixed .column-locations{width:35%}.fixed .column-comments{width:4em;padding:8px 0;text-align:right}.fixed .column-comments .vers{padding-right:3px}.fixed .column-comments a{float:right}.fixed .column-icon{width:80px}.wp-list-table a{-webkit-transition:none;transition:none}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:none!important;-webkit-box-shadow:none;box-shadow:none}#comments-form .fixed .column-author{width:20%}#commentsdiv.postbox .inside{margin:0;padding:0}#commentsdiv .inside .row-actions{line-height:18px}#commentsdiv .inside .column-author{width:25%}#commentsdiv .column-comment p{margin:.6em 0;padding:0}#commentsdiv #replyrow td{padding:0}#commentsdiv p{padding:8px 10px;margin:0}#commentsdiv .comments-box{border:0}#commentsdiv .comments-box thead th{background:0 0;padding:0 7px 4px;font-style:italic}#commentsdiv .comments-box tr:last-child td{border-bottom:0 none}#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}.wp-filter .actions{display:inline-block;vertical-align:middle}.tablenav .delete{margin-left:20px}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}.tablenav .view-switch{float:left;margin:5px 8px 0 16px}.wp-filter .view-switch{display:inline-block;vertical-align:middle;padding:15px 0;margin:0 0 0 20px}.view-switch a{text-decoration:none}.view-switch>a{display:inline-block;width:18px;height:18px}.view-switch>a:before{color:#bbb;display:inline-block;float:right;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-right:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.view-switch>.view-list:before{content:'\f163'}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}.view-switch>a+a{margin-right:5px}.view-switch>.view-excerpt:before{content:'\f164'}.view-switch>.view-grid:before{content:'\f509'}.filter{float:right;margin:-5px 10px 0 0}.filter .subsubsub{margin-right:-10px;margin-top:13px}.screen-per-page{width:4em}#posts-filter .wp-filter{margin-bottom:0}#posts-filter fieldset{float:right;margin:0 0 1em 1.5ex;padding:0}#posts-filter fieldset legend{padding:0 1px .2em 0}p.pagenav{margin:0;display:inline}.pagenav span{font-weight:600;margin:0 6px}.row-title{font-size:14px!important;font-weight:600}.column-comment .comment-author{margin-bottom:.6em}.column-author img,.column-comment .comment-author img,.column-username img{float:right;margin-left:10px;margin-top:1px}.row-actions{color:#ddd;font-size:13px;visibility:hidden;padding:2px 0 0}.mobile .row-actions,.row-actions.visible,div.comment-item:hover .row-actions,tr:hover .row-actions{visibility:visible}.row-actions-visible{padding:2px 0 0}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:right;margin:0;padding:0;width:100%}#wpbody-content .inline-edit-row fieldset .inline-edit-col,tr.inline-edit-row td{padding:0 .5em}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 1px 0 0;border-style:none 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:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0;background-color:#fff}#bulk-titles{display:block;height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0 0 5px}.inline-edit-row fieldset ul.cat-checklist input,.inline-edit-row fieldset ul.cat-checklist li{margin:0;position:relative}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-style:normal;font-size:11px}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%}.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{max-width:80%}.ie8 .inline-edit-row #post_parent,.ie8 .inline-edit-row select[name=page_template]{width:250px}.quick-edit-row-post fieldset label.inline-edit-status{float:right}#bulk-titles{line-height:140%}#bulk-titles div{margin:.2em .3em}#bulk-titles div a{cursor:pointer;display:block;float:right;height:18px;margin:0 -2px 0 3px;overflow:hidden;position:relative;width:20px}#bulk-titles div a:before{position:relative;top:-3px}.plugins tbody,.plugins tbody th.check-column{padding:8px 2px 0 0}.plugins tbody th.check-column input[type=checkbox]{margin-top:4px}#update-plugins-table tbody td p{margin-top:0}#update-plugins-table tbody td p strong{font-size:14px}.plugins .inactive th.check-column,.plugins tfoot th.check-column,.plugins thead th.check-column{padding-right:6px}#update-plugins-table tfoot th.check-column,#update-plugins-table thead th.check-column{padding-top:11px}.plugins,.plugins td,.plugins th{color:#000}.plugins tr{background:#fff}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ol,.plugins .desc ul{margin:0 2em 0 0}.plugins .desc ul{list-style-type:disc}.plugins .row-actions{font-size:13px}.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th{padding:10px 9px}.plugins .active td,.plugins .active th{background-color:#f7fcfe}.plugins .update td,.plugins .update th{border-bottom:0}.plugin-update-tr td{border-top:0}.plugin-install #the-list td,.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th,.upgrade .plugins td,.upgrade .plugins th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active.plugin-update-tr+tr.inactive th{border-top:1px solid rgba(0,0,0,.03);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1;box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1}.plugins .update td,.plugins .update th,.plugins 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:none;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}tr.active+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-install-php h3{clear:both}.plugin-install-php h4{margin:2.5em 0 8px}.plugin-install-php .wp-filter{margin-bottom:0}.plugin-group{overflow:hidden;margin-top:1.5em}.plugin-group h3{margin-top:0}.plugin-card{float:right;margin:0 8px 16px;width:48.5%;width:-webkit-calc(50% - 8px);width:calc(50% - 8px);background-color:#fff;border:1px solid #dedede;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.plugin-card:nth-child(odd){clear:both;margin-right:0}.plugin-card:nth-child(even){margin-left:0}@media screen and (min-width:1600px){.plugin-card{width:30%;width:-webkit-calc(33.1% - 8px);width:calc(33.1% - 8px)}.plugin-card:nth-child(odd){clear:none;margin-right:8px}.plugin-card:nth-child(even){margin-left:8px}.plugin-card:nth-child(3n+1){clear:both;margin-right:0}.plugin-card:nth-child(3n){margin-left:0}}@media screen and (max-width:782px){.plugin-card{margin-right:0;margin-left:0;width:100%}}.plugin-card-top{position:relative;padding:20px 20px 10px;min-height:135px}.plugin-action-buttons,div.action-links{margin:0}.plugin-card h4{margin:0 0 12px;font-size:18px;line-height:1.3}.plugin-card .desc,.plugin-card .name{margin-right:148px;margin-left:120px}.plugin-card .action-links{position:absolute;top:20px;left:20px;width:120px}.plugin-action-buttons{clear:left;float:left;margin-right:2em;margin-bottom:1em;text-align:left}.plugin-action-buttons li{margin-bottom:10px}.plugin-card-bottom{clear:both;padding:12px 20px;background-color:#fafafa;border-top:1px solid #dedede;overflow:hidden}.plugin-card-bottom .star-rating{display:inline}.plugin-card .column-rating{line-height:23px}.plugin-card .column-rating,.plugin-card .column-updated{margin-bottom:4px}.plugin-card .column-downloaded,.plugin-card .column-rating{float:right;clear:right;max-width:180px}.plugin-card .column-compatibility,.plugin-card .column-updated{text-align:left;float:left;clear:left;width:65%;width:-webkit-calc(100% - 180px);width:calc(100% - 180px)}.plugin-card .column-compatibility span:before{font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;right:-2px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.plugin-card .compatibility-incompatible:before{content:'\f158'}.plugin-card .compatibility-compatible:before{content:'\f147'}.plugin-icon{position:absolute;top:20px;right:20px;width:128px;height:128px;margin:0 0 20px 20px}.plugin-icon img{width:128px;height:128px}.no-plugin-results{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.wp-list-table .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:1100px) and (min-width:782px),(max-width:480px){.plugin-card .action-links{position:static;margin-right:148px;width:auto}.plugin-action-buttons{float:none;margin:1em 0 0;text-align:right}.plugin-action-buttons li{display:inline-block;vertical-align:middle}.plugin-action-buttons li .button{margin-left:20px}.plugin-card .desc,.plugin-card .name{margin-left:0}.plugin-card .desc p:first-of-type{margin-top:0}}@media screen and (max-width:782px){.tablenav{height:auto}.tablenav.top{margin:20px 0 5px}.tablenav.bottom{position:relative;margin-top:15px}.tablenav br{display:none}.tablenav br.clear{display:block}.tablenav .view-switch,.tablenav.top .actions,.tablenav.top .displaying-num{display:none}.tablenav.bottom .displaying-num{position:absolute;left:0;top:10px;font-size:14px}.tablenav-pages{width:100%;text-align:center;margin:0 0 25px}.tablenav.bottom .tablenav-pages{margin-top:25px}.tablenav.top .tablenav-pages.one-page{display:none}.tablenav.bottom .tablenav-pages.one-page{margin:15px 0 0;height:0}.tablenav-pages .pagination-links .paging-input{font-size:18px}.tablenav-pages .pagination-links a{padding:8px 20px 11px;font-size:18px;background:rgba(0,0,0,.05)}.tablenav-pages .pagination-links .current-page{padding:10px;font-size:14px}.form-wrap>p{display:none}.comment-count{font-size:14px}.column-categories,.column-tags,.fixed .column-author,.fixed .column-date,.media .column-parent,.sites .column-registered,.sites .column-users,.tags .column-description,.users .column-email,.users .column-name{display:none}.fixed .column-comment .comment-author{display:block}.column-title{width:85%}.fixed .column-comments,.widefat .check-column{width:35px}.widefat tfoot .check-column,.widefat thead .check-column{padding:10px 0}.widefat *{word-wrap:normal}#wpbody-content .bulk-edit-row .inline-edit-col-bottom,#wpbody-content .bulk-edit-row .inline-edit-col-left,#wpbody-content .bulk-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .inline-edit-row-post .inline-edit-col-center,#wpbody-content .quick-edit-row-page .inline-edit-col-left,#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .quick-edit-row-post .inline-edit-col-left,#wpbody-content .quick-edit-row-post .inline-edit-col-right{float:none;width:100%}#wpbody-content .bulk-edit-row fieldset .inline-edit-col label,#wpbody-content .bulk-edit-row fieldset .inline-edit-group label,#wpbody-content .quick-edit-row fieldset .inline-edit-col label,#wpbody-content .quick-edit-row fieldset .inline-edit-group label{max-width:none;float:none;margin-bottom:5px}#wpbody .bulk-edit-row fieldset select{display:block;width:100%;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-size:16px}.inline-edit-row fieldset label span.title{float:none}.inline-edit-row fieldset label.inline-edit-tags{padding:0 .5em}.inline-edit-row fieldset .inline-edit-col label.inline-edit-tags{padding:0}.inline-edit-row fieldset label span.input-text-wrap{margin-right:0}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{width:3em}.inline-edit-row fieldset input[name=aa]{width:4.5em}#bulk-titles div{margin:.8em .3em}#bulk-titles div a{height:22px}.tags .column-posts{width:74px}.tags .column-slug{width:30%}.comments .column-response,.users .column-role{width:35%}.sites .column-blogname{width:55%}#wpbody-content #update-themes-table .plugin-title{width:auto}.link-manager-php #posts-filter{margin-top:25px}.link-manager-php .tablenav.bottom{overflow:hidden}.wp-list-table.plugins{position:relative;margin-top:35px;margin-bottom:50px}#wpbody-content .wp-list-table.plugins tfoot .column-description,.wp-list-table.plugins th#description,.wp-list-table.plugins thead .column-description{display:none}#wpbody-content .wp-list-table.plugins,#wpbody-content .wp-list-table.plugins .column-description,#wpbody-content .wp-list-table.plugins .manage-column.column-name,#wpbody-content .wp-list-table.plugins .plugin-title,#wpbody-content .wp-list-table.plugins .plugin-update,#wpbody-content .wp-list-table.plugins .theme-title,#wpbody-content .wp-list-table.plugins tbody,#wpbody-content .wp-list-table.plugins thead,#wpbody-content .wp-list-table.plugins tr{display:block;width:auto}.wp-list-table.plugins tfoot,.wp-list-table.plugins thead{position:absolute;top:-35px;right:0;left:0;width:auto;height:35px}.wp-list-table.plugins tfoot{bottom:-35px;top:auto}.active,.inactive{padding-top:0}.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-top:13px;padding-bottom:4px}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title,.wp-list-table.plugins tbody th{-webkit-box-shadow:none;box-shadow:none}.plugins tbody{padding:1px 0 0}.plugins tr.active+tr.inactive td.column-description{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column{border-top:none}.wp-list-table.plugins .column-description{padding-top:0}.wp-list-table.plugins .column-description,.wp-list-table.plugins .manage-column.column-name,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-left:12px;padding-right:46px}.wp-list-table.plugins tr{position:relative}.wp-list-table.plugins th.check-column,.wp-list-table.plugins tr.update th.check-column{position:absolute;height:auto;top:0;bottom:0;right:0;padding-right:2px;padding-top:18px}.wp-list-table.plugins tfoot th.check-column,.wp-list-table.plugins thead th.check-column{padding-right:3px;padding-top:11px;background:0 0}.widefat tbody th.check-column input[type=checkbox]{margin-top:-3px;margin-right:8px}.wp-list-table.plugins .active .check-column input,.wp-list-table.plugins .update .check-column input{margin-right:5px}.wp-list-table.plugins tfoot .check-column input,.wp-list-table.plugins thead .check-column input{margin-top:-6px}.wp-list-table.plugins .active th.check-column{background:0 0}.wp-list-table.plugins .plugin-title strong,.wp-list-table.plugins .theme-title strong{font-size:1.4em;line-height:1.6em}table.plugin-install .column-description,table.plugin-install .column-name,table.plugin-install .column-rating,table.plugin-install .column-version{display:block;width:auto}table.plugin-install th.column-description,table.plugin-install th.column-name,table.plugin-install th.column-rating,table.plugin-install th.column-version{display:none}table.plugin-install td.column-name strong{font-size:1.4em;line-height:1.6em}table.plugin-install #the-list td{-webkit-box-shadow:none;box-shadow:none}table.plugin-install #the-list tr{display:block;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}}#poststuff{padding-top:10px;min-width:763px}#poststuff #post-body{padding:0}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-left:300px}#show-comments{overflow:hidden}#save-action .spinner,#show-comments .spinner,#show-comments a{float:right}#lost-connection-notice .spinner{display:block;float:right;margin:0 0 0 5px}#titlediv{position:relative}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#poststuff #titlewrap{border:0;padding:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;height:1.7em;width:100%;outline:0;margin:0;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;padding:0;font-size:11px;margin-top:-1px}#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px;color:#666}#edit-slug-box .cancel{margin-left:10px;font-size:11px}#editable-post-name-full{display:none}#editable-post-name{background-color:#fffbcc}#editable-post-name input{font-size:13px;height:22px;margin:0;width:16em}.postarea h3 label{float:right}.submitbox .submit{text-align:right;padding:12px 10px 10px;font-size:11px;background-color:#464646;color:#ccc}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.submitbox .submit a:hover{text-decoration:underline}.submitbox .submit input{margin-bottom:8px;margin-left:4px;padding:6px}.inside-submitbox #post_status{margin:2px -2px 2px 0}#post-status-select{margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{position:relative;min-width:255px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:0 0;border:0;float:left;padding:0 12px;margin:0}.category-add input[type=text],.category-add select{width:100%;max-width:260px;vertical-align:baseline}#side-sortables .category-add input[type=text],#side-sortables .category-add select{margin:0 0 1em}#side-sortables .add-menu-item-tabs li,.wp-tab-bar li,ul.category-tabs li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}#side-sortables .add-menu-item-tabs a,.category-tabs a,.wp-tab-bar a{text-decoration:none}#post-body ul.add-menu-item-tabs li.tabs a,#post-body ul.category-tabs li.tabs a,#side-sortables .add-menu-item-tabs .tabs a,#side-sortables .category-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#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}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.add-menu-item-tabs,ul.category-tabs,ul.wp-tab-bar{margin-top:12px}ul.add-menu-item-tabs li,ul.category-tabs li{border:1px solid transparent;position:relative}.wp-tab-active,ul.add-menu-item-tabs li.tabs,ul.category-tabs li.tabs{border:1px solid #dfdfdf;border-bottom-color:#fdfdfd;background-color:#fdfdfd}ul.add-menu-item-tabs li,ul.category-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px}#postimagediv .inside img{max-width:100%;height:auto;width:auto}form#tags-filter{position:relative}td.plugin-title strong,td.post-title strong{display:block;margin-bottom:.2em;font-size:14px}td.plugin-title p,td.post-title p{margin:6px 0}.ui-tabs-hide,.wp-hidden-children .wp-hidden-child{display:none}#post-body .tagsdiv #newtag{margin-left:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{width:100%;border-spacing:0;border:1px solid #e5e5e5;border-top:none;background-color:#f7f7f7;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);z-index:999}#post-status-info td{font-size:12px}.autosave-info{padding:2px 10px;text-align:left}#editorcontent #post-status-info{border:none}#content-resize-handle{background:url(../images/resize.gif) left bottom no-repeat;width:12px;cursor:row-resize}.rtl #content-resize-handle{background:url(../images/resize-rtl.gif) right bottom no-repeat}.wp-editor-expand #content-resize-handle{display:none}#postdivrich #content{resize:none}#wp-word-count{display:block;padding:2px 10px}#wp-content-editor-container{position:relative}#content-textarea-clone{z-index:-1;position:absolute;top:0;visibility:hidden;overflow:hidden;max-width:100%;border:1px solid transparent}.wp-fullscreen-wrap #content-textarea-clone{display:none}.wp-fullscreen-wrap{padding-top:0!important}.wp-fullscreen-wrap .wp-editor-area{margin-top:0!important}.wp-fullscreen-wrap .mce-edit-area{padding-top:0!important}.wp-editor-expand #wp-content-editor-tools{z-index:1000;border-bottom:1px solid #e5e5e5}.wp-editor-expand #wp-content-editor-container{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px;border-bottom:0 none}.wp-editor-expand div.mce-statusbar{z-index:1}.wp-editor-expand #post-status-info{border-top:1px solid #e5e5e5}.wp-editor-expand div.mce-toolbar-grp{z-index:999}.mce-fullscreen #wp-content-wrap .mce-edit-area,.mce-fullscreen #wp-content-wrap .mce-menubar,.mce-fullscreen #wp-content-wrap .mce-statusbar,.mce-fullscreen #wp-content-wrap .mce-toolbar-grp{position:static!important;width:auto!important;padding:0!important}.mce-fullscreen #wp-content-wrap .mce-statusbar{visibility:visible!important}.mce-fullscreen #wp-content-wrap .mce-wp-dfw,.post-php.mce-fullscreen #wpadminbar{display:none}#wp-content-editor-tools{background-color:#f1f1f1;padding-top:20px}#poststuff #post-body.columns-2 #side-sortables{width:280px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#hh,#jj,#mn{padding:1px;font-size:12px}#hh,#jj,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before,span.wp-media-buttons-icon:before{color:#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}#post-body-content,.edit-form-section{margin-bottom:20px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0;float:none;padding:0 8px 8px}#side-sortables #postcustom #postcustomstuff .submit{margin:0;padding:0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px}#side-sortables #postcustom #postcustomstuff td.left input,#side-sortables #postcustom #postcustomstuff td.left select,#side-sortables #postcustomstuff #newmetaleft a{margin:3px 3px 0}#postcustomstuff table{margin:0;width:100%;border:1px solid #dfdfdf;border-spacing:0;background-color:#f9f9f9}#postcustomstuff tr{vertical-align:top}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:96%;margin:8px}#side-sortables #postcustomstuff table input,#side-sortables #postcustomstuff table select,#side-sortables #postcustomstuff table textarea{margin:3px}#postcustomstuff td.left,#postcustomstuff th.left{width:38%}#postcustomstuff .submit input{margin:0;width:auto}#postcustomstuff #newmetaleft a{display:inline-block;margin:0 8px 8px;text-decoration:none}.no-js #postcustomstuff #enternew{display:none}#post-body-content .compat-attachment-fields{margin-bottom:20px}.compat-attachment-fields th{padding-top:5px;padding-left:10px}#select-featured-image{padding:4px 0;overflow:hidden}#select-featured-image img{max-width:100%;height:auto;margin-bottom:10px}#select-featured-image a{float:right;clear:both}#select-featured-image .remove{display:none;margin-top:10px}.js #select-featured-image.has-featured-image .remove{display:inline-block}.no-js #select-featured-image .choose{display:none}.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:20px;width:20px;margin-left:5px;margin-top:-4px}.post-state-format:before{display:block;height:20px;width:20px;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before,.post-state-format:before{color:#ddd;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}a.post-format-icon:hover:before,a.post-state-format:hover:before{color:#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:1px solid #dfdfdf;background-color:#fdfdfd}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.inline-editor ul.cat-checklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,ul.export-filters{margin-right:18px}ul.categorychecklist li{margin:0;padding:0;line-height:22px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input[type=email],.form-field input[type=number],.form-field input[type=password],.form-field input[type=search],.form-field input[type=tel],.form-field input[type=text],.form-field input[type=url],.form-field textarea{border-style:solid;border-width:1px;width:95%}.form-wrap p,p.description{margin:2px 0 5px;color:#666}.form-wrap p,p.description,p.help,span.description{font-size:13px;font-style:italic}.form-wrap .form-field{margin:0 0 10px;padding:8px 0}.form-wrap .form-field #parent{max-width:100%}.col-wrap h3{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}.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:none;line-height:2em;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h3{margin:2px 0 12px}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border:1px solid gray;background-color:#fff}.wp-customizer .ac_results{z-index:500000}.ac_results li{padding:2px 5px;white-space:nowrap;color:#101010;text-align:right}.ac_over{background-color:#f0f0b8;cursor:pointer}.ac_match{text-decoration:underline}.comment-php .wp-editor-area{height:200px}.comment-ays{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}#qt_content_dfw,#wp-content-wrap .mce-wp-dfw{display:none}.wp-editor-expand #qt_content_dfw,.wp-editor-expand #wp-content-wrap .mce-wp-dfw{display:inline-block}.focus-on #screen-meta,.focus-on #screen-meta-links,.focus-on #wp-toolbar,.focus-on #wpfooter,.focus-on .postbox-container>*,.focus-on .wrap>h2,.focus-on div.error,.focus-on div.notice,.focus-on div.updated{opacity:0;-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.focus-on #wp-toolbar{opacity:.3}.focus-off #screen-meta,.focus-off #screen-meta-links,.focus-off #wp-toolbar,.focus-off #wpfooter,.focus-off .postbox-container>*,.focus-off .wrap>h2,.focus-off div.error,.focus-off div.notice,.focus-off div.updated{opacity:1;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.focus-off #wp-toolbar{-webkit-transform:translate(0,0)}.focus-on #adminmenuback,.focus-on #adminmenuwrap{-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}.rtl.focus-on #adminmenuback,.rtl.focus-on #adminmenuwrap{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.focus-off #adminmenuback,.focus-off #adminmenuwrap{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}@media print,(-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:url(../images/resize-2x.gif) left bottom/11px 11px no-repeat;-webkit-background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-rtl-2x.gif) left bottom no-repeat}}@media only screen and (max-width:850px){#poststuff{min-width:0}#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-left:0;width:100%}#poststuff #postbox-container-1 #side-sortables:empty,#poststuff #postbox-container-1 .empty-container{border:0;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0;width:auto}.columns-prefs,.screen-layout{display:none}}@media screen and (max-width:782px){#post-body-content{min-width:0}#titlediv #title-prompt-text{padding:10px}#poststuff h3{padding:12px}.post-format-options{padding-left:0}.post-format-options a{margin-left:5px;margin-bottom:5px;min-width:52px}.post-format-options .post-format-title{font-size:11px}.post-format-options a div{height:28px;width:28px}.post-format-options a div:before{font-size:26px!important}#post-visibility-select{line-height:280%}.wp-core-ui .save-post-visibility,.wp-core-ui .save-timestamp{vertical-align:middle;margin-left:15px}.timestamp-wrap select#mm{display:block;width:100%;margin-bottom:10px}.timestamp-wrap #aa,.timestamp-wrap #hh,.timestamp-wrap #jj,.timestamp-wrap #mn{padding:12px 3px;font-size:14px;margin-bottom:5px;width:auto;text-align:center}ul.category-tabs{margin:30px 0 15px}ul.category-tabs li.tabs{padding:15px}ul.categorychecklist li{margin-bottom:15px}ul.categorychecklist ul{margin-top:15px}.category-add input[type=text],.category-add select{max-width:none;margin-bottom:15px}.tagsdiv .newtag{width:100%;height:auto;margin-bottom:15px}.tagchecklist{margin:25px 10px}.tagchecklist span{font-size:16px;line-height:120%}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar td,.mceToolbar tr{float:right!important}.wp_themeSkin a.mceButton{width:30px;height:30px}.wp_themeSkin .mceButton .mceIcon{margin-top:5px;margin-right:5px}.wp_themeSkin .mceSplitButton{margin-top:1px}.wp_themeSkin .mceSplitButton td a.mceAction{padding:6px 6px 6px 3px}.wp_themeSkin .mceSplitButton td a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover td a.mceOpen{padding-top:6px;padding-bottom:6px;background-position:1px 6px}.wp_themeSkin table.mceListBox{margin:5px}div.quicktags-toolbar input{padding:10px 20px}button.wp-switch-editor{font-size:16px;line-height:1em;margin:7px 7px 0 0;padding:8px 12px}#wp-content-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 15px 0 20px}.wp-media-buttons span.jetpack-contact-form-icon,.wp-media-buttons span.wp-media-buttons-icon{width:22px!important;margin-top:-3px!important;margin-right:-5px!important}.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before,.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font-size:20px!important}#content_wp_fullscreen{display:none}.misc-pub-section{padding:20px 10px}.misc-pub-section>a{float:left;font-size:16px}#delete-action,#publishing-action{line-height:47px}.comment-ays{border-bottom:none}.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:absolute;vertical-align:middle;opacity:0;width:100%;width:-webkit-calc(100% - 30px);width:calc(100% - 30px);top:50%;top:-webkit-calc(50% - 10px);top:calc(50% - 10px);-webkit-transition:opacity .5s;transition:opacity .5s;filter:alpha(opacity=0)}body.folded .revisions .loading-indicator{margin-right:-32px}.revisions .loading-indicator span.spinner{display:block;margin:0 auto;float:none}.revisions.loading .loading-indicator{opacity:1;filter:alpha(opacity=100)}.revisions .diff{-webkit-transition:opacity .5s;transition:opacity .5s}.revisions.loading .diff{opacity:.5;filter:alpha(opacity=50)}.revisions.diff-error .diff{visibility:hidden}.revisions-meta{margin-top:20px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions.pinned .revisions-meta{-webkit-box-shadow:none;box-shadow:none}.revision-toggle-compare-mode{position:absolute;top:0;left:0}.comparing-two-revisions .revisions-next,.comparing-two-revisions .revisions-previous,.revisions-meta .diff-meta-to strong{display:none}.revisions-controls .author-card .date{color:#777}.revisions-controls .author-card.autosave{color:#d54e21}.revisions-controls .author-card .author-name{font-weight:700}.comparing-two-revisions .diff-meta-to strong{display:block}.revisions.pinned .revisions-buttons{padding:0 11px}.revisions-next,.revisions-previous{position:relative;z-index:1}.revisions-previous{float:right}.revisions-next{float:left}.revisions-controls .wp-slider{max-width:70%;margin:0 auto;top:-3px}.revisions-diff{padding:15px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-diff h3:first-child{margin-top:0}#revisions-meta-restored img,.post-revisions li img{vertical-align:middle}table.diff tbody tr td:nth-child(2){width:4%}table.diff{table-layout:fixed;width:100%;white-space:pre-wrap}table.diff col.content{width:auto}table.diff col.content.diffsplit{width:48%}table.diff col.diffsplit.middle{width:auto}table.diff col.ltype{width:30px}table.diff tr{background-color:transparent}table.diff td,table.diff th{font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.618;padding:.5em;vertical-align:top;word-wrap:break-word}table.diff td h1,table.diff td h2,table.diff td h3,table.diff td h4,table.diff td h5,table.diff td h6{margin:0}table.diff .diff-addedline ins,table.diff .diff-deletedline del{text-decoration:none}table.diff .diff-deletedline{background-color:#ffe9e9}table.diff .diff-deletedline del{background-color:#faa}table.diff .diff-addedline{background-color:#e9ffe9}table.diff .diff-addedline ins{background-color:#afa}.diff-meta{padding:5px;clear:both;min-height:32px}.diff-title strong{line-height:32px;min-width:60px;text-align:left;float:right;margin-left:5px}.revisions-controls .author-card .author-info{font-size:12px;line-height:16px}.revisions-controls .author-card .author-info,.revisions-controls .author-card .avatar{float:right;margin-right:6px;margin-left:6px}.revisions-controls .author-card .byline{display:block;font-size:12px}.revisions-controls .author-card .avatar{vertical-align:middle}.diff-meta input.restore-revision{float:left;margin-right:6px;margin-left:6px;margin-top:4px}.diff-meta-from{display:none}.comparing-two-revisions .diff-meta-from{display:block}.revisions-tooltip{position:absolute;bottom:105px;margin-left:0;margin-right:-69px;z-index:0;max-width:350px;min-width:130px;padding:8px 4px;opacity:0}.revisions-tooltip.flipped{margin-right:0;margin-left:-70px}.revisions.pinned .revisions-tooltip{display:none!important}.comparing-two-revisions .revisions-tooltip{bottom:145px}.revisions-tooltip-arrow{width:70px;height:15px;overflow:hidden;position:absolute;right:0;margin-right:35px;bottom:-15px}.revisions-tooltip.flipped .revisions-tooltip-arrow{margin-right:0;margin-left:35px;right:auto;left:0}.revisions-tooltip-arrow>span{content:"";position:absolute;right:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.revisions-tooltip.flipped .revisions-tooltip-arrow>span{right:auto;left:20px}.ie8 .revisions-tooltip-arrow>span{right:15px;top:-25px;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"}.ie8 .revisions-tooltip.flipped .revisions-tooltip-arrow>span{left:25px}.revisions-tooltip,.revisions-tooltip-arrow>span{border:1px solid #d7d7d7;background-color:#fff}.revisions-tooltip{display:none}.arrow{width:70px;height:16px;overflow:hidden;position:absolute;right:0;margin-right:-35px;bottom:90px;z-index:10000}.arrow:after{z-index:9999;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.arrow.top{top:-16px;bottom:auto}.arrow.left{right:20%}.arrow:after{content:"";position:absolute;right:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.revisions-tooltip,.revisions-tooltip-arrow:after{border-width:1px;border-style:solid}div.revisions-controls>.wp-slider>.ui-slider-handle{margin-right:-10px}.rtl div.revisions-controls>.wp-slider>.ui-slider-handle{margin-left:-10px}.wp-slider.ui-slider{position:relative;border:1px solid #d7d7d7;text-align:right;cursor:pointer}.wp-slider .ui-slider-handle{-webkit-border-radius:50%;border-radius:50%;height:18px;margin-top:-3px;outline:0;position:absolute;width:18px;z-index:2;-ms-touch-action:none;touch-action:none}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#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;margin-left:10px}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}.media-upload-form .media-item{min-height:36px;margin-bottom:1px;position:relative;width:100%;background:#fff}.media-upload-form .media-item,.media-upload-form .media-item .error{-webkit-box-shadow:0 1px 0 #dfdfdf;box-shadow:0 1px 0 #dfdfdf}#media-items:empty{border:0}.media-item .filename{line-height:36px;overflow:hidden;margin-right:6px}.media-item .pinkynail{float:right;margin:2px 3px 0 10px;max-width:40px;max-height:32px}.media-item .startclosed,.media-item .startopen{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:left;height:22px;margin:7px 6px;width:200px;line-height:2em;padding:0;overflow:hidden;-webkit-border-radius:22px;border-radius:22px;background:#ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-22px;-webkit-border-radius:22px;border-radius:22px;background-color:#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,.media-upload-form .media-item.error{width:auto;margin:0 0 1px}.media-upload-form .media-item .error{padding:10px 14px 10px 0}.media-item .error-div a.dismiss{display:block;float:left;margin:0 15px 0 10px}.find-box{background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:600px;overflow:hidden;margin-right:-300px;position:fixed;top:30px;bottom:30px;right:50%;z-index:100105}.find-box-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px;position:absolute;top:0;right:0;left:0}.find-box-inside{overflow:auto;padding:16px;background-color:#fff;position:absolute;top:37px;bottom:45px;overflow-y:scroll;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.find-box-search{padding-bottom:16px}.find-box-search .spinner{float:none;right:110px;position:absolute;top:2px}#find-posts-response,.find-box-search{position:relative}#find-posts-input,#find-posts-search{float:right}#find-posts-input{width:140px;height:28px;margin:0 0 0 4px}.widefat .found-radio{padding-left:0;width:16px}#find-posts-close{width:36px;height:36px;position:absolute;top:0;left:0;cursor:pointer;text-align:center;color:#666}#find-posts-close:hover{color:#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}#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}.media-frame.mode-grid,.media-frame.mode-grid .attachments-browser .attachments,.media-frame.mode-grid .media-frame-content,.media-frame.mode-grid .uploader-inline-content{position:static}.media-frame.mode-grid .media-frame-menu,.media-frame.mode-grid .media-frame-router,.media-frame.mode-grid .media-frame-title{display:none}.media-frame.mode-grid .media-frame-content{background-color:transparent;border:none}.upload-php .mode-grid .media-sidebar{position:relative;width:auto;margin-bottom:16px;padding:0 16px;border:1px solid #c00;background-color:#feebe8}.upload-php .mode-grid .hide-sidebar .media-sidebar{display:none}.upload-php .mode-grid .media-sidebar .media-uploader-status{border-bottom:none;padding-bottom:0;max-width:100%}.upload-php .mode-grid .media-sidebar .upload-error{margin:20px 0;padding:0;border:none;background:0 0}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors{font-size:0;top:-12px;left:-10px}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:before{content:"\f158";font:400 20px/1 dashicons;color:#666}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before{color:#2ea2cc}.upload-php .mode-grid .media-sidebar .media-uploader-status.errors h3{display:none}.media-frame.mode-grid .uploader-inline{position:relative;top:auto;left:auto;right:auto;bottom:auto;padding-top:0;margin-top:0;border:4px dashed #bbb}.media-frame.mode-select .attachments-browser.fixed .attachments{position:relative;top:94px;padding-bottom:94px}.media-frame.mode-grid .attachment.details:focus,.media-frame.mode-grid .attachment:focus,.media-frame.mode-grid .selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;outline:0}.media-frame.mode-grid .selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc}.media-frame.mode-grid .attachment.details{-webkit-box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe}.media-frame.mode-grid.mode-select .attachment .thumbnail{opacity:.65}.media-frame.mode-select .attachment.selected .thumbnail{opacity:1}.media-frame.mode-grid .media-toolbar{margin-bottom:15px;height:auto}.media-frame.mode-grid .media-toolbar select{margin:0 0 0 10px;font-size:14px}.media-frame.mode-grid .media-toolbar-secondary>.media-button{margin-top:10px;margin-bottom:10px}.media-frame.mode-grid .attachments-browser .bulk-select{display:inline-block;margin:0 0 0 10px}.media-frame.mode-grid .search{margin-top:0}.media-frame.mode-grid .spinner{margin-top:15px}.attachments-browser .media-toolbar-secondary>.media-button{margin-left:10px}.media-frame.mode-select .attachments-browser.fixed .media-toolbar{position:fixed;top:32px;right:auto;left:20px;margin-top:0}.media-frame.mode-grid .attachments-browser{padding:0}.media-frame.mode-grid .attachments-browser .attachments{padding:2px}.media-frame.mode-grid .attachments-browser .no-media{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.edit-attachment-frame{display:block;height:100%;width:100%}.edit-attachment-frame .edit-media-header{overflow:hidden}.upload-php .media-modal-close .media-modal-icon:before{content:'\f335';font-size:22px}.upload-php .media-modal-close .media-modal-icon{margin:14px;width:22px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{cursor:pointer;color:#777;background-color:transparent;height:50px;width:50px;padding:0;position:absolute;text-align:center;border:0;border-right:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.upload-php .media-modal-close{top:0;left:0}.edit-attachment-frame .edit-media-header .left{left:102px}.edit-attachment-frame .edit-media-header .right{left:51px}.edit-attachment-frame .media-frame-title{right:0;left:150px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.edit-attachment-frame .edit-media-header .left:focus,.edit-attachment-frame .edit-media-header .left:hover,.edit-attachment-frame .edit-media-header .right:focus,.edit-attachment-frame .edit-media-header .right:hover,.upload-php .media-modal-close:focus,.upload-php .media-modal-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0}.upload-php .media-modal-close:focus .media-modal-icon:before,.upload-php .media-modal-close:hover .media-modal-icon:before{color:#000}.edit-attachment-frame .edit-media-header .left:before,.rtl .edit-attachment-frame .edit-media-header .right:before{content:'\f341'}.edit-attachment-frame .edit-media-header .right:before,.rtl .edit-attachment-frame .edit-media-header .left:before{content:'\f345'}.edit-attachment-frame .edit-media-header .left.disabled,.edit-attachment-frame .edit-media-header .left.disabled:hover,.edit-attachment-frame .edit-media-header .right.disabled,.edit-attachment-frame .edit-media-header .right.disabled:hover{color:#ccc;background:inherit;cursor:default;pointer-events:none}.edit-attachment-frame .media-frame-content,.edit-attachment-frame .media-frame-router{right:0}.edit-attachment-frame .media-frame-content{border-bottom:none;bottom:0;top:50px}.edit-attachment-frame .attachment-details{position:absolute;overflow:auto;top:0;bottom:0;left:0;right:0;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1)}.edit-attachment-frame .attachment-media-view{float:right;width:65%;height:100%}.edit-attachment-frame .attachment-media-view .thumbnail{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:16px;height:100%}.edit-attachment-frame .attachment-media-view .details-image{display:block;margin-bottom:16px;max-width:100%;max-height:90%;max-height:-webkit-calc(100% - 42px);max-height:calc(100% - 42px)}.edit-attachment-frame .wp-media-wrapper{margin-bottom:12px}.edit-attachment-frame input,.edit-attachment-frame textarea{padding:6px 8px;line-height:16px}.edit-attachment-frame .attachment-info{overflow:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:0;padding:12px 16px 0;width:35%;height:100%;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);border-bottom:0;border-right:1px solid #ddd;background:#f3f3f3}.edit-attachment-frame .attachment-info .details,.edit-attachment-frame .attachment-info .settings{position:relative;overflow:hidden;float:none;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #ddd}.edit-attachment-frame .attachment-info .filename{font-weight:400;color:#666}.edit-attachment-frame .attachment-info .thumbnail{margin-bottom:12px}.attachment-info .actions{margin-bottom:16px}.attachment-info .actions a{display:inline;text-decoration:none}.wp_attachment_details label[for=content]{font-size:13px;line-height:1.5;margin:1em 0}.wp_attachment_details #attachment_caption{height:4em}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0 0}.describe .imgedit-wrap .imgedit-settings{padding:0 5px}.wp_attachment_holder div.updated{margin-top:0}.wp_attachment_holder .imgedit-wrap>div{height:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-panel-content{padding-left:16px;width:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-settings{float:left;width:250px}.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:url(../images/spinner.gif) no-repeat center/20px 20px #fff;-webkit-background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.no-float{float:none}.imgedit-settings .disabled,.media-disabled{color:grey}.A1B1,.wp_attachment_image{overflow:hidden}.A1B1 .button,.wp_attachment_image .button{float:right}.no-js .wp_attachment_image .button{display:none}.A1B1 .spinner,.wp_attachment_image .spinner{float:right;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%;max-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}.media-upload-form .media-item .error,.media-upload-form .media-item.error{font-size:13px;line-height:1.5}.media-upload-form .media-item.error{padding:1px 10px}.media-upload-form .media-item .error{padding:10px 12px 10px 0}}@media only screen and (max-width:1120px){#wp-media-grid .wp-filter .attachment-filters{max-width:100%}}@media only screen and (max-width:782px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:46px;left:10px}}@media only screen and (max-width:600px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:0}}@media only screen and (max-width:480px){.edit-attachment-frame .media-frame-title{left:110px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{width:40px;height:40px}.upload-php .media-modal-close .media-modal-icon{margin:9px 10px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{line-height:40px!important}.edit-attachment-frame .edit-media-header .left{left:82px}.edit-attachment-frame .edit-media-header .right{left:41px}.edit-attachment-frame .media-frame-content{top:40px}.edit-attachment-frame .attachment-media-view{float:none;height:auto;width:100%}.edit-attachment-frame .attachment-info{height:auto;width:100%}}@media only screen and (max-width:640px),screen and (max-height:400px){.upload-php .mode-grid .media-sidebar{max-width:100%}}.theme-browser .themes{clear:both;padding:0 0 100px}.themes-php .wrap h2{float:right;margin-bottom:15px}.network-admin.themes-php .wrap h2{margin-bottom:0}.themes-php .wrap h2 .button{margin-right:20px}.themes-php .wp-filter-search{position:relative;top:-2px;right:20px;margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5}.themes-php div.error,.themes-php div.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{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.theme-browser .theme:focus .more-details{opacity:1}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser.rendered .theme:focus .more-details,.theme-browser.rendered .theme:hover .more-details{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-installed,.theme-browser .theme .theme-update{background:#d54e21;background:rgba(213,78,33,.95);color:#fff;display:block;font-size:13px;font-weight:400;height:48px;line-height:48px;padding:0 10px;position:absolute;top:0;left:0;right:0;border-bottom:1px solid rgba(0,0,0,.25);overflow:hidden}.theme-browser .theme .theme-installed:before,.theme-browser .theme .theme-update:before{content:'\f463';display:inline-block;font:400 20px/1 dashicons;margin:0 0 0 6px;opacity:.8;position:relative;top:5px;speak:none;-webkit-font-smoothing:antialiased}.theme-browser .theme.active .theme-name{background:#2f2f2f;color:#fff;padding-left:110px;font-weight:300;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.5)}.theme-browser .theme.active .theme-name span{font-weight:600}.theme-browser .theme.active .theme-actions{background:rgba(49,49,49,.7);border-right:none;opacity:1}.theme-browser .theme.active .theme-actions .button-primary{margin-left:0}.theme-browser .theme .theme-author{background:#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: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:"alpha(Opacity=100)";opacity:1;background: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}.theme-overlay .theme-backdrop{position:absolute;right:-20px;left:0;top:0;bottom:0;background:#f1f1f1;background:rgba(238,238,238,.9);z-index:10}.theme-overlay .theme-header{position:absolute;top:0;right:0;left:0;height:48px;border-bottom:1px solid #ddd}.theme-overlay .theme-header .close{cursor:pointer;height:48px;width:50px;text-align:center;float:left;border:0;border-right:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:before{font:400 22px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.theme-overlay .theme-header .left,.theme-overlay .theme-header .right{cursor:pointer;color:#777;background-color:transparent;height:48px;width:54px;float:right;text-align:center;border:0;border-left:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:focus,.theme-overlay .theme-header .right:hover{background:#ddd;border-color:#ccc;color:#000}.theme-overlay .theme-header .close:focus:before,.theme-overlay .theme-header .close:hover:before{color:#000}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .right:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}.theme-overlay .theme-header .left.disabled,.theme-overlay .theme-header .left.disabled:hover,.theme-overlay .theme-header .right.disabled,.theme-overlay .theme-header .right.disabled:hover{color:#ccc;background:inherit;cursor:inherit}.theme-overlay .theme-header .left:before,.theme-overlay .theme-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.rtl .theme-overlay .theme-header .right:before,.theme-overlay .theme-header .left:before{content:'\f341'}.rtl .theme-overlay .theme-header .left:before,.theme-overlay .theme-header .right:before{content:'\f345'}.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}.customize-support .theme-overlay .theme-actions a[href="themes.php?page=custom-header"],.customize-support .theme-overlay .theme-actions a[href="themes.php?page=custom-background"]{display:none}.broken-themes a.delete-theme,.theme-overlay .theme-actions .delete-theme{color:#a00;text-decoration:none;border-color:transparent;-webkit-box-shadow:none;box-shadow:none;background:0 0}.theme-overlay .theme-actions .delete-theme{position:absolute;left:10px;bottom:5px}.broken-themes a.delete-theme:focus,.broken-themes a.delete-theme:hover,.theme-overlay .theme-actions .delete-theme:focus,.theme-overlay .theme-actions .delete-theme:hover{background:#d54e21;color:#fff;border-color:#d54e21}.theme-overlay .theme-actions .active-theme,.theme-overlay.active .theme-actions .inactive-theme{display:none}.theme-overlay .theme-actions .inactive-theme,.theme-overlay.active .theme-actions .active-theme{display:block}.theme-overlay .theme-screenshots{float:right;margin:0 0 0 30px;width:55%;max-width:880px;text-align:center}.theme-overlay .screenshot{border:1px solid #fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.theme-overlay .screenshot:after{content:'';display:block;padding-top:75%}.theme-overlay .screenshot img{height:auto;position:absolute;right:0;top:0;width:100%}.theme-overlay.small-screenshot .theme-screenshots{position:absolute;width:302px}.theme-overlay.small-screenshot .theme-info{margin-right:350px;width:auto}.theme-overlay .screenshot.thumb{background:#ccc;border:1px solid #eee;float:none;display:inline-block;margin:10px 5px 0;width:140px;height:80px;cursor:pointer}.theme-overlay .screenshot.thumb:after{content:'';display:block;padding-top:100%}.theme-overlay .screenshot.thumb img{cursor:pointer;position:absolute;right:0;top:0;width:100%;height:auto}.theme-overlay .screenshot.selected{background:0 0;border:2px solid #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:none;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 .wp-filter-search{float:none;clear:both;right:0;top:0;left:0;margin:10px 0;width:100%;max-width:280px}.theme-browser .theme.add-new-theme span:after{font:400 60px/90px dashicons;width:80px;height:80px;top:30%;right:50%;text-indent:0;margin-right:-40px}.single-theme .theme-wrap{margin:0 -10px 0 -12px;padding:10px}.single-theme .theme-overlay .theme-about{padding:10px;overflow:visible}.single-theme .current-label{display:none}.single-theme .theme-overlay .theme-actions{position:static}}.broken-themes{clear:both}.broken-themes table{text-align:right;width:50%;border-spacing:3px;padding:3px}.theme-browser .theme .theme-installed{background:#0074a2}.theme-browser .theme .theme-installed:before{content:'\f147'}.theme-browser .theme.is-installed .theme-actions .button-primary{display:none!important}.theme-install-php a.browse-themes,.theme-install-php a.upload{cursor:pointer}.theme-install-php a.browse-themes,.theme-install-php.show-upload-theme a.upload{display:none}.theme-install-php.show-upload-theme a.browse-themes{display:inline}.upload-plugin,.upload-theme{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:none;margin:0;padding:0;width:100%;overflow:hidden;position:relative;top:10px}.upload-plugin,body.show-upload-theme .upload-theme{display:block}.upload-plugin .wp-upload-form,.upload-theme .wp-upload-form{background:#fafafa;border:1px solid #e5e5e5;padding:30px;margin:30px auto;max-width:380px}.upload-plugin .install-help,.upload-theme .install-help{color:#999;font-size:18px;font-style:normal;margin:0;padding:40px 0 0;text-align:center}body.show-upload-theme .upload-theme+.wp-filter,body.show-upload-theme .upload-theme+.wp-filter+.theme-browser{display:none}p.no-themes{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){.upload-theme .wp-upload-form{margin:20px 0;max-width:100%}.upload-theme .install-help{font-size:15px;padding:20px 0 0;text-align:right}}.rating{margin:15px 0 0}.rating span:before{color:#e6b800;content:"\f154";display:inline-block;-webkit-font-smoothing:antialiased;font:400 20px/1 dashicons;vertical-align:top}.rating-10 span.one:before,.rating-30 span.two:before,.rating-50 span.three:before,.rating-70 span.four:before,.rating-90 span.five:before{content:"\f459"}.rating-100 span.five:before,.rating-100 span.four:before,.rating-100 span.one:before,.rating-100 span.three:before,.rating-100 span.two:before,.rating-20 span.one:before,.rating-30 span.one:before,.rating-40 span.one:before,.rating-40 span.two:before,.rating-50 span.one:before,.rating-50 span.two:before,.rating-60 span.one:before,.rating-60 span.three:before,.rating-60 span.two:before,.rating-70 span.one:before,.rating-70 span.three:before,.rating-70 span.two:before,.rating-80 span.four:before,.rating-80 span.one:before,.rating-80 span.three:before,.rating-80 span.two:before,.rating-90 span.four:before,.rating-90 span.one:before,.rating-90 span.three:before,.rating-90 span.two:before{content:"\f155"}.rating .ratings{display:block;line-height:20px;color:#999}.appearance_page_custom-header #headimg{border:1px solid #DFDFDF;overflow:hidden;width:100%}.appearance_page_custom-header #upload-form p label{font-size:12px}.appearance_page_custom-header .available-headers .default-header{float:right;margin:0 0 20px 20px}.appearance_page_custom-header .random-header{clear:both;margin:0 0 20px 20px;vertical-align:middle}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-left:10px}.appearance_page_custom-header .available-headers label img{vertical-align:middle}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf}div#custom-background-image img{max-width:400px;max-height:300px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:0 0;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;right:0;left:0;height:100%;min-width:0}.wp-full-overlay-sidebar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:fixed;width:300px;height:100%;top:0;bottom:0;right:0;padding:0;margin:0;z-index:10;background:#eee;border-left:none}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-right:0!important}.wp-full-overlay.expanded{margin-right:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-right:-300px}.wp-full-overlay-sidebar:after{content:'';display:block;position:absolute;top:0;bottom:0;left:0;width:3px;z-index:1000}.wp-full-overlay-main{position:absolute;right:0;left:0;top:0;bottom:0;height:100%}.wp-full-overlay-sidebar .wp-full-overlay-header{position:absolute;right:0;left:0;height:45px;padding:0 15px;line-height:45px;z-index:10;margin:0;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:none;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;right:0;left:0;overflow:auto}.theme-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header{padding:0}.theme-install-overlay .close-full-overlay,.theme-install-overlay .next-theme,.theme-install-overlay .previous-theme{display:block;position:relative;float:right;width:45px;height:45px;padding-left:2px;background:#eee;border-left:1px solid #ddd;color:#444;cursor:pointer;text-decoration:none;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-install-overlay .close-full-overlay:focus,.theme-install-overlay .close-full-overlay:hover,.theme-install-overlay .next-theme:focus,.theme-install-overlay .next-theme:hover,.theme-install-overlay .previous-theme:focus,.theme-install-overlay .previous-theme:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.theme-install-overlay .close-full-overlay:before{font:400 22px/1 dashicons;content:"\f335";position:relative;top:7px;right:13px}.theme-install-overlay .previous-theme:before{font:400 20px/1 dashicons;content:"\f341";position:relative;top:6px;right:14px}.theme-install-overlay .next-theme:before{font:400 20px/1 dashicons;content:"\f345";position:relative;top:6px;right:13px}.theme-install-overlay .next-theme.disabled,.theme-install-overlay .next-theme.disabled:focus,.theme-install-overlay .next-theme.disabled:hover,.theme-install-overlay .previous-theme.disabled,.theme-install-overlay .previous-theme.disabled:focus,.theme-install-overlay .previous-theme.disabled:hover{color:#bbb;background:#eee;cursor:default;pointer-events:none}.rtl .theme-install-overlay .previous-theme:before{content:"\f345"}.rtl .theme-install-overlay .next-theme:before{content:"\f341"}.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,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main,.wp-full-overlay-sidebar{-webkit-transition-property:right,left,top,bottom,width,margin;transition-property:right,left,top,bottom,width,margin;-webkit-transition-duration:.2s;transition-duration:.2s}.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#customize-container{display:none;background:#fff;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;right:0;left:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:url(../images/spinner.gif) center center/20px 20px no-repeat fixed #fff;-webkit-background-size:20px 20px}#customize-container iframe,.theme-install-overlay iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#customize-controls{margin-top:0}.theme-install-overlay{display:none}.theme-install-overlay.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 60px}.single-theme .install-theme-info{padding-top:15px}.theme-install-overlay .install-theme-info{display:block}.install-theme-info .theme-install{float:left;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:right}.theme-details .star-rating{margin:7px 0;float:left}.theme-details .theme-description{float:right;color:#777;line-height:20px;max-width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{float:left;margin:8px 0 0 10px;line-height:26px}.theme-install-overlay .wp-full-overlay-sidebar{background:#eee;border-left:1px solid #ddd}.theme-install-overlay .wp-full-overlay-sidebar-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.theme-install-overlay .wp-full-overlay-main{background:url(../images/spinner.gif) center center/20px 20px no-repeat #fff;-webkit-background-size:20px 20px}@media print,(-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)}.theme-install-overlay .wp-full-overlay-header .theme-install{margin-top:2px}}@media screen and (max-width:782px){.available-theme .action-links .delete-theme{float:none;margin:0;padding:0;clear:both}.available-theme .action-links .delete-theme a{padding:0}.broken-themes table{width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{margin-top:6px;line-height:normal}}.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: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: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;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%;height:auto;vertical-align:middle}.wp-badge{background:url(../images/w-logo-white.png?ver=20131202) center 24px/85px 85px no-repeat #0074a2;-webkit-background-size:85px 85px;color:#78c8e6;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:150px;text-rendering:optimizeLegibility;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.svg .wp-badge{background-image:url(../images/wordpress-logo-white.svg?ver=20131110)}.about-wrap .wp-badge{position:absolute;top:0;left:0}.about-wrap h2.nav-tab-wrapper{padding-right:6px}.about-wrap h2 .nav-tab{padding:4px 15px 6px;margin:0 0 -1px 3px;font-size:18px;vertical-align:top;border-width:1px;white-space:nowrap}.about-wrap p{line-height:1.6em;font-size:14px}.about-wrap h1{margin:.2em 0 0 200px;color:#333;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h3{margin:2em 0 .6em;font-size:1.25em;line-height:1.5em}.about-wrap h4{color:#222}.about-wrap code,.about-wrap ol li p{font-size:14px}.about-wrap .about-description,.about-wrap .about-text{margin-top:1.4em;font-weight:400;line-height:1.6em;font-size:19px}.about-wrap .about-text{margin:1em 0 1em 200px;min-height:60px;color:#777}.about-wrap .two-col>div{position:relative;width:47.6%;margin-left:4.799999999%;float:right}.about-wrap .three-col>div{position:relative;width:29.95%;margin-left:4.999999999%;float:right}.about-wrap .col .last-feature{margin-left:0}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #dfdfdf}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.about-wrap .headline-feature h2{margin:1.1em 0 .2em;font-size:2.4em;font-weight:300;line-height:1.3;text-align:center}.about-wrap .feature-list h2{margin:30px 0 15px;text-align:center}.about-wrap .dfw h3{margin-top:1em;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 .dfw p{max-width:68%;margin:0 auto 20px}.about-wrap .featured-image{text-align:center}.about-wrap .feature-section{overflow:hidden;padding-bottom:20px}.about-wrap .headline-feature .feature-section{margin:0 auto;max-width:82%}.about-wrap .headline-feature .feature-section .col:first-child{float:right;margin:15px 0 0 5%;width:55%}.about-wrap .headline-feature .feature-section .col:last-child{float:left;margin:15px 0 40px;width:40%}.about-wrap .feature-list .feature-section{margin-top:0}.about-wrap .dfw .feature-section{overflow:visible}.about-wrap .dfw-container{position:relative;overflow:hidden;margin-top:50px;-webkit-box-shadow:0 0 10px rgba(0,0,0,.25);box-shadow:0 0 10px rgba(0,0,0,.25)}.about-wrap .dfw-container .overlay-image{position:absolute;top:0;right:0;-webkit-transition:.8s -webkit-transform cubic-bezier(.9,.03,1,.61),.65s opacity linear;transition:.8s transform cubic-bezier(.9,.03,1,.61),.65s opacity linear}.about-wrap .dfw-container .overlay-image.fade-in{opacity:0}.about-wrap .dfw-container .overlay-image.from-left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.about-wrap .dfw-container:hover .overlay-image{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:.7s -webkit-transform cubic-bezier(0,.8,.8,1),.8s opacity linear;transition:.7s transform cubic-bezier(0,.8,.8,1),.8s opacity linear}.about-wrap .return-to-dashboard{margin:30px -5px 0 0;font-size:14px;font-weight:700}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap .feature-list svg{float:right;clear:right;margin:15px 0 0 15px;height:90px;width:90px;background-color:#ccc;-webkit-border-radius:50%;border-radius:50%;fill:#999;border:1px solid #c1c1c1}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-right:115px}.about-wrap h4.wp-people-group{margin-top:2.6em;font-size:16px}.about-wrap ul.wp-people-group{overflow:hidden;padding:0 5px;margin:0 -5px 0 -15px}.about-wrap ul.compact{margin-bottom:0}.about-wrap li.wp-person{display:inline-block;vertical-align:top;margin-left:10px;padding-bottom:15px;height:70px;width:280px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap li.wp-person img.gravatar{float:right;margin:0 0 10px 10px;padding:2px;width:60px;height:60px}.about-wrap ul.compact li.wp-person img.gravatar{width:30px;height:30px}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;font-weight:400;line-height:1.6em;text-decoration:none}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:700}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}@media screen and (max-width:782px){.about-wrap .one-col>div,.about-wrap .three-col>div,.about-wrap .two-col>div{width:100%;margin:0 0 40px;padding:0 0 40px;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .col>div.last-feature,.about-wrap .feature-list div{margin:0;padding:0;border-bottom:none}.about-wrap .headline-feature .feature-section{max-width:100%}.about-wrap .feature-list .feature-section{padding:0 0 40px}}@media only screen and (max-width:500px){.about-wrap{margin-left:20px;margin-right:10px}.about-wrap .about-text,.about-wrap h1{margin-left:0}.about-wrap .about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap h2.nav-tab-wrapper{padding-right:0;border-bottom:0}.about-wrap h2 .nav-tab{margin-top:10px;margin-left:10px;border-bottom:1px solid #ccc}.about-wrap .headline-feature .feature-section div,.about-wrap .three-col div{width:100%!important;float:none!important}.about-wrap .dfw p{max-width:90%}}@media only screen and (max-width:400px){.about-wrap .feature-list svg{margin-top:15px;height:65px;width:65px}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-right:80px}}.no-js #message{display:block}ul.add-menu-item-tabs li{padding:3px 8px 3px 5px}.accordion-section ul.add-menu-item-tabs,.accordion-section ul.category-tabs,.accordion-section ul.wp-tab-bar{margin:0}.accordion-section .categorychecklist{margin:13px 0}#nav-menu-meta .accordion-section-content{padding:18px 13px}#nav-menu-meta .button-controls{margin-bottom:0}#nav-menus-frame{margin-right:300px;margin-top:23px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-right:-300px;clear:both;float:right;padding-top:0}#menu-settings-column .inside{clear:both;margin:10px 0 0}.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title,.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}.blank-slate .menu-name{height:2em}.blank-slate .menu-settings{border:none;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{color:#999;font-style:italic;font-weight:400;margin-right:4px}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;background:#fbfbfb}.manage-menus select{float:right;margin-left:6px}.manage-menus .selected-menu{float:right;margin:5px 0 0 6px}.manage-menus .submit-btn{float:right;margin-top:1px}.menu-edit 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 0 5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-left:3px;margin-top:-3px}.menu-item-title input[type=checkbox]{display:inline-block;margin-top:-4px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{margin:0;padding:.1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:9px 0 0}.menu-item-bar .menu-item-handle{border:1px solid #dfdfdf;position:relative;padding:10px 15px;height:auto;min-height:20px;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}.menu-item-bar .menu-item-handle:hover{border-color:#999}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;border-color:#f1acb1}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}.menu li.deleting .menu-item-handle{background-image:none;background-color:#f66}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-left:13em}.menu-item-handle .menu-item-title.no-title{color:#999}li.menu-item.ui-sortable-helper dl{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport dl{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item-depth-0{margin-right:0}.menu-item-depth-1{margin-right:30px}.menu-item-depth-2{margin-right:60px}.menu-item-depth-3{margin-right:90px}.menu-item-depth-4{margin-right:120px}.menu-item-depth-5{margin-right:150px}.menu-item-depth-6{margin-right:180px}.menu-item-depth-7{margin-right:210px}.menu-item-depth-8{margin-right:240px}.menu-item-depth-9{margin-right:270px}.menu-item-depth-10{margin-right:300px}.menu-item-depth-11{margin-right:330px}.menu-item-depth-0 .menu-item-transport{margin-right:0}.menu-item-depth-1 .menu-item-transport{margin-right:-30px}.menu-item-depth-2 .menu-item-transport{margin-right:-60px}.menu-item-depth-3 .menu-item-transport{margin-right:-90px}.menu-item-depth-4 .menu-item-transport{margin-right:-120px}.menu-item-depth-5 .menu-item-transport{margin-right:-150px}.menu-item-depth-6 .menu-item-transport{margin-right:-180px}.menu-item-depth-7 .menu-item-transport{margin-right:-210px}.menu-item-depth-8 .menu-item-transport{margin-right:-240px}.menu-item-depth-9 .menu-item-transport{margin-right:-270px}.menu-item-depth-10 .menu-item-transport{margin-right:-300px}.menu-item-depth-11 .menu-item-transport{margin-right:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{color:#777;font-size:12px;padding:12px 10px;line-height:18px;display:block}.item-controls{font-size:12px;position:absolute;left:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls a:hover{cursor:pointer}.item-controls .item-order{padding-left:10px}.nav-menus-php .item-edit{position:absolute;left:-20px;top:0;display:block;width:30px;height:40px;margin-left:0!important;text-indent:100%;outline:0;overflow:hidden;white-space:nowrap}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:402px;padding:10px 10px 10px 0;position:relative;z-index:10;border:1px solid #e5e5e5;border-top:none;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.menu-item-settings .field-move a{display:none;margin:0 2px}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em auto;text-align:center}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;border:1px solid #dfdfdf;color:#777;font-size:12px;font-style:italic}.link-to-original a{padding-right:4px;font-style:normal}.hidden-field{display:none}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-left:10px;float:right}.description-thin{width:190px;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{-webkit-box-shadow:none;box-shadow:none;outline:0;text-decoration:none}.widget-title h4{margin:0;padding:15px;line-height:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.widgets-holder-wrap .widget-inside{border-top:none;padding:1px 15px 15px;line-height:16px}#available-widgets .widget-description,#widgets-right a.widget-control-edit,.in-widget-title{color:#666}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#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:none}#widgets-left .widgets-holder-wrap{border:none;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-action{display:none}#available-widgets .widget{margin:0}#available-widgets .widget:nth-child(odd){clear:both}#available-widgets .widget .widget-description{display:block;padding:10px 15px;font-size:12px}#available-widgets #widget-list{position:relative}#widgets-left .inactive-sidebar{clear:both;width:100%;background:0 0;padding:0;margin:0 0 20px;border:none;-webkit-box-shadow:none;box-shadow:none}#widgets-left .inactive-sidebar.first{margin-top:40px}div#widgets-left .inactive-sidebar .widget.expanded{right:auto}.widget-title-action{float:left;position:relative}div#widgets-left .inactive-sidebar .widgets-sortables{min-height:42px;padding:0;background:0 0;margin:0;position:relative}div#widgets-right:after{content:".";display:block;height:0;clear:both;visibility:hidden}div#widgets-right .sidebars-column-1,div#widgets-right .sidebars-column-2{max-width:450px}div#widgets-right .widgets-holder-wrap{margin:10px 0 0}div#widgets-right .sidebar-description{min-height:20px;margin-top:-5px}div#widgets-right .sidebar-name h3{padding:15px 7px}div#widgets-right .sidebar-name .sidebar-name-arrow:before{left:0;top:4px}div#widgets-right .widget-top{padding:0}div#widgets-right .widgets-sortables{padding:0 8px;margin-bottom:9px;position:relative;min-height:123px}div#widgets-right .closed .widgets-sortables{min-height:0;margin-bottom:0}.sidebar-name .spinner{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:#444 solid 1px}.widgets-holder-wrap .sidebar-description,.widgets-holder-wrap .sidebar-name{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.editwidget{margin:0 auto}.editwidget .widget-inside{display:block;padding:0 15px}.editwidget .widget-control-actions{margin-top:20px}.js .closed br.clear,.js .widgets-holder-wrap.closed .sidebar-description,.js .widgets-holder-wrap.closed .widget,.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: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: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:none;padding-left:0}#widgets-left #available-widgets .widget-top,#widgets-left .inactive-sidebar .widgets-sortables,#widgets-left .sidebar-name{margin-left:0}div.widget-liquid-right{width:100%;float:none}div.widget{margin:0 auto 10px!important;max-width:480px}}@media screen and (max-width:320px){div.widget{max-width:320px}}@media only screen and (min-width:1250px){#widgets-left #available-widgets .widget{width:49%;float:right}.widget.ui-draggable-dragging{min-width:49%}#widgets-left #available-widgets .widget:nth-child(even){float:left}#widgets-right .sidebars-column-1,#widgets-right .sidebars-column-2{float:right;width:49%}#widgets-right .sidebars-column-1{margin-left:2%}#widgets-right.single-sidebar .sidebars-column-1,#widgets-right.single-sidebar .sidebars-column-2{float:none;width:100%;margin:0}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-right:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-left:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}
\ No newline at end of file
+ */.ui-draggable-handle,.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.accordion-section{border-bottom:1px solid #dfdfdf;margin:0}.accordion-section.open .accordion-section-content,.no-js .accordion-section .accordion-section-content{display:block}.accordion-section.open:hover{border-bottom-color:#dfdfdf}.accordion-section-content{display:none;padding:10px 20px 15px;overflow:hidden;background:#fff}.accordion-section-title{margin:0;padding:12px 15px 15px;position:relative;border-right:1px solid #dfdfdf;border-left:1px solid #dfdfdf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .accordion-section-title{cursor:pointer}.js .accordion-section-title:after{position:absolute;top:12px;left:10px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:focus:after,.accordion-section-title:hover:after{border-color:#a0a5aa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title{border-right:none;border-left:none;padding:10px 14px 11px 10px;line-height:21px;background:#fff}.control-section .accordion-section-title:after{top:11px}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{color:#23282d;background:#f5f5f5}.control-section.open .accordion-section-title{border-bottom:1px solid #dfdfdf}@media only screen and (min-width:769px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:860px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (min-width:980px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:768px){#col-left,#col-right{width:100%}}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){div.star-holder,div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) bottom left/21px 37px repeat-x;-webkit-background-size:21px 37px}.spinner{background-image:url(../images/spinner-2x.gif)}#bulk-titles div a,#bulk-titles div a:hover,#screen-meta-links a.show-settings,.curtime #timestamp,.meta-box-sortables .postbox:hover .handlediv,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.tagchecklist span a,.tagchecklist span a:hover,.widget-top a.widget-action,.widget-top a.widget-action:hover{background:none!important}}@-ms-viewport{width:device-width}@media screen and (max-width:782px){html.wp-toolbar{padding-top:46px}body{min-width:240px;overflow-x:hidden}body *{-webkit-tap-highlight-color:transparent!important}#wpcontent{position:relative;margin-right:0;padding-right:10px}#wpbody-content{padding-bottom:100px}.wrap{margin-left:12px;margin-right:0}.col-wrap{padding:0}#collapse-menu,#screen-meta,#screen-meta-links,.post-format-select{display:none!important}.wrap .add-new-h2,.wrap .add-new-h2:active{padding:10px 15px;font-size:14px}.wp-color-result{height:auto;padding-right:45px}.wp-color-result:after{font-size:14px;height:auto;padding:6px 14px}.media-upload-form div.error,.notice,.wrap div.error,.wrap div.updated{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.wp-core-ui .notice.is-dismissible{padding-left:46px}.notice-dismiss{padding:13px}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpbody{left:-190px}code{word-wrap:break-word}.postbox{font-size:14px}.metabox-holder h3{padding:12px}.postbox .handlediv{margin-top:3px}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}#templateside{float:none;width:auto}#templateside li{margin:0}#templateside li a{display:block;padding:5px}#templateside .highlight{padding:5px;margin-right:-5px;margin-top:-5px}#template div{float:none;margin:0;width:auto}#template textarea{width:100%}.fileedit-sub .alignright{margin-top:15px}#comments-form .checkforspam,#wpfooter{display:none}}@media screen and (max-width:600px){#wpwrap.wp-responsive-open{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}div#post-body.metabox-holder.columns-1{overflow-x:hidden}}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 0 0 4px;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-left:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:right;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px -4px 0 0;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:right;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:left}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 0 0 8px}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:right;margin-left:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-right:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;right:-1px;padding:0 0 0 5px;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:right;margin:13px 1px 5px 5px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:left;margin:0}.network-admin.themes-php p.search-box{clear:right}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:right;height:28px;margin:0 0 0 4px}input[type=email].ui-autocomplete-loading,input[type=text].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:left center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 14px 0 0}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;-webkit-box-shadow:0 1px 2px rgba(30,140,190,.8);box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:right}.ui-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:right;padding:20px 0 20px 10px;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-left:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-left:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}#pressthis-code-wrap{overflow:auto}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;left:10px;bottom:9px;background:0 0;-webkit-transform:skew(-20deg) rotate(-6deg);-ms-transform:skew(-20deg) rotate(-6deg);transform:skew(-20deg) rotate(-6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(-20deg) rotate(-9deg);-ms-transform:skew(-20deg) rotate(-9deg);transform:skew(-20deg) rotate(-9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 9px 8px 12px}.pressthis-bookmarklet span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-left:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-right:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 7px 6px 8px;color:#777}#local-time,#utc-time{padding-right:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:0 3px}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}.request-filesystem-credentials-dialog{display:none}.request-filesystem-credentials-dialog .notification-dialog{top:15%}.request-filesystem-credentials-dialog-content{margin:25px}.request-filesystem-credentials-form input[type=password],.request-filesystem-credentials-form input[type=text]{display:block}.request-filesystem-credentials-dialog input[type=password],.request-filesystem-credentials-dialog input[type=text]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=private_key],.request-filesystem-credentials-dialog label[for=public_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:right;width:48%}.request-filesystem-credentials-dialog .ftp-password{margin-right:4%}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:left}#request-filesystem-credentials-dialog .button:not(:last-child),.request-filesystem-credentials-dialog label[for=ftp]{margin-left:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-left:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-right:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}.form-field #domain{max-width:none}}@media only screen and (max-width:768px){.form-field input[type=email],.form-field input[type=password],.form-field input[type=text],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media only screen and (max-height:480px){.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;position:fixed;top:0;margin:0;right:0;overflow-y:auto}}@media screen and (max-width:600px){.color-option{width:49%}}#adminmenu,#adminmenu .wp-submenu,#adminmenuback,#adminmenuwrap{width:160px;background-color:#23282d}#adminmenuback{position:fixed;top:0;bottom:-120px;z-index:1}#adminmenu{clear:right;margin:12px 0;padding:0;list-style:none}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:36px}.icon16{height:18px;width:18px;padding:6px;margin:-6px -8px 0 0;float:right}.icon16:before{color:#999;font:400 20px/1 dashicons;speak:none;padding:6px 0;height:34px;width:20px;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.icon16.icon-dashboard:before{content:'\f226'}.icon16.icon-post:before{content:'\f109'}.icon16.icon-media:before{content:'\f104'}.icon16.icon-links:before{content:'\f103'}.icon16.icon-page:before{content:'\f105'}.icon16.icon-comments:before{content:'\f101';margin-top:1px}.icon16.icon-appearance:before{content:'\f100'}.icon16.icon-plugins:before{content:'\f106'}.icon16.icon-users:before{content:'\f110'}.icon16.icon-tools:before{content:'\f107'}.icon16.icon-settings:before{content:'\f108'}.icon16.icon-site:before{content:'\f112'}.icon16.icon-generic:before{content:'\f111'}.icon16.icon-appearance,.icon16.icon-comments,.icon16.icon-dashboard,.icon16.icon-generic,.icon16.icon-links,.icon16.icon-media,.icon16.icon-page,.icon16.icon-plugins,.icon16.icon-post,.icon16.icon-settings,.icon16.icon-site,.icon16.icon-tools,.icon16.icon-users,.menu-icon-appearance div.wp-menu-image,.menu-icon-comments div.wp-menu-image,.menu-icon-dashboard div.wp-menu-image,.menu-icon-generic div.wp-menu-image,.menu-icon-links div.wp-menu-image,.menu-icon-media div.wp-menu-image,.menu-icon-page div.wp-menu-image,.menu-icon-plugins div.wp-menu-image,.menu-icon-post div.wp-menu-image,.menu-icon-settings div.wp-menu-image,.menu-icon-site div.wp-menu-image,.menu-icon-tools div.wp-menu-image,.menu-icon-users div.wp-menu-image{background-image:none!important}#adminmenuwrap{position:relative;float:right;z-index:9990}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px;color:#eee}#adminmenu .wp-submenu a{color:#b4b9be;color:rgba(240,245,250,.7)}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover{background:0 0}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a:hover,#adminmenu li.menu-top>a:focus{color:#00b9eb}#adminmenu li.menu-top{border:none;min-height:34px;position:relative}#adminmenu .wp-submenu{list-style:none;position:absolute;top:-1000em;right:160px;overflow:visible;word-wrap:break-word}#adminmenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{padding:7px 0 8px;z-index:9999;background-color:#32373c;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu a.menu-top:focus+.wp-submenu,.js #adminmenu .opensub .wp-submenu,.js #adminmenu .sub-open,.no-js li.wp-has-submenu:hover .wp-submenu{top:-1px}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu{position:relative;z-index:3;top:auto;right:auto;left:auto;bottom:auto;border:0;margin-top:0;-webkit-box-shadow:none;box-shadow:none;background-color:#32373c}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{position:relative;background-color:#191e23;color:#00b9eb}.folded #adminmenu li.menu-top:hover,.folded #adminmenu li.opensub>a.menu-top,.folded #adminmenu li>a.menu-top:focus{z-index:10000}#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow,#adminmenu .wp-menu-arrow div,#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,.folded #adminmenu li.wp-has-current-submenu{background:#0073aa;color:#fff}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu a.menu-top:focus+.wp-submenu,.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu{top:0;right:36px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em}#adminmenu .wp-not-current-submenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{min-width:160px;width:auto}#adminmenu .wp-submenu a{font-size:13px;line-height:1.2;margin:0;padding:6px 0}#adminmenu .opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-not-current-submenu li>a,.folded #adminmenu .wp-has-current-submenu li>a{padding-left:16px;padding-right:14px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu .wp-has-current-submenu ul>li>a,.folded #adminmenu li.menu-top .wp-submenu>li>a{padding:6px 12px}#adminmenu .wp-submenu-head,#adminmenu a.menu-top{font-size:14px;font-weight:400;line-height:18px;padding:0}#adminmenu .wp-submenu-head,.folded #adminmenu .wp-menu-name{display:none}.folded #adminmenu .wp-submenu-head{display:block}#adminmenu .wp-submenu li{padding:0;margin:0;overflow:hidden}#adminmenu .wp-menu-image img{padding:9px 0 0;opacity:.6;filter:alpha(opacity=60)}#adminmenu div.wp-menu-name{padding:8px 0}#adminmenu div.wp-menu-image{float:right;width:36px;height:34px;margin:0;text-align:center}#adminmenu div.wp-menu-image.svg{background-repeat:no-repeat;background-position:center;-webkit-background-size:20px auto;background-size:20px auto}div.wp-menu-image:before{color:#a0a5aa;color:rgba(240,245,250,.6);padding:7px 0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu div.wp-menu-image:before{color:#a0a5aa;color:rgba(240,245,250,.6)}#adminmenu .current div.wp-menu-image:before,#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before{color:#00b9eb}.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#a0a5aa}.folded #adminmenu div.wp-menu-image{width:35px;height:30px;position:absolute;z-index:25}.folded #adminmenu a.menu-top{height:34px}.no-font-face #adminmenu .wp-menu-image{display:none}.no-font-face #adminmenu div.wp-menu-name{padding:8px 12px}.no-font-face.auto-fold #adminmenu .wp-menu-name{margin-right:0}.sticky-menu #adminmenuwrap{position:fixed}.wp-menu-arrow{display:none!important}ul#adminmenu a.wp-has-current-submenu{position:relative}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{left:0;border:8px solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-left-color:#f1f1f1;top:50%;margin-top:-8px}.folded ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.folded ul#adminmenu a.wp-has-current-submenu:after,.folded ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{left:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-width:8px;top:10px;z-index:10000}.folded ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:18px}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-left-color:#32373c}#adminmenu li.menu-top:hover .wp-menu-image img,#adminmenu li.wp-has-current-submenu .wp-menu-image img{opacity:1;filter:alpha(opacity=100)}#adminmenu li.wp-menu-separator{height:5px;padding:0;margin:0 0 6px;cursor:inherit}#adminmenu div.separator{height:2px;padding:0}#adminmenu .wp-submenu .wp-submenu-head{color:#fff;font-weight:400;font-size:14px;padding:8px 11px 8px 4px;margin:-7px 0 4px}#adminmenu li.current,.folded #adminmenu li.wp-menu-open{border:0}#adminmenu .awaiting-mod,#adminmenu .update-plugins{display:inline-block;background-color:#d54e21;color:#fff;font-size:9px;line-height:17px;font-weight:600;margin:1px 2px 0 0;vertical-align:top;-webkit-border-radius:10px;border-radius:10px;z-index:26}#adminmenu li .awaiting-mod span,#adminmenu li span.update-plugins span{display:block;padding:0 6px}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod{background-color:#00b9eb;color:#fff}#adminmenu li span.count-0{display:none}#collapse-menu{font-size:13px;line-height:34px;margin-top:10px;color:#a0a5aa;color:rgba(240,245,250,.6);-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after{color:#00b9eb}.folded #collapse-menu span{display:none}#collapse-button,#collapse-button div{width:15px;height:15px}#collapse-button{float:right;height:15px;margin:10px 11px 10px 8px;width:15px;-webkit-border-radius:10px;border-radius:10px}#wpwrap #collapse-button div{padding:0}#collapse-button div:after{content:'\f148';display:block;line-height:15px;right:-3px;top:-3px;color:#a0a5aa;color:rgba(240,245,250,.6);font:400 20px/1 dashicons!important;speak:none;margin:0 auto;padding:0!important;position:relative;text-align:center;width:20px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.folded #collapse-button div:after,.rtl #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.folded #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}.customize-support #menu-appearance a[href="themes.php?page=custom-header"],.customize-support #menu-appearance a[href="themes.php?page=custom-background"],li#wp-admin-bar-menu-toggle{display:none}@media only screen and (max-width:960px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-right:36px}.auto-fold #adminmenu,.auto-fold #adminmenu li.menu-top,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{width:36px}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{top:0;right:36px}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu,.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em;margin-left:-1px;padding:7px 0 8px;z-index:9999}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{min-width:150px;width:auto}.auto-fold #adminmenu .wp-has-current-submenu li>a{padding-left:16px;padding-right:14px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding-right:12px}.auto-fold #adminmenu .wp-menu-name{display:none}.auto-fold #adminmenu .wp-submenu-head{display:block}.auto-fold #adminmenu div.wp-menu-image{height:30px;width:34px;position:absolute;z-index:25}.auto-fold #adminmenu a.menu-top{height:34px}.auto-fold #adminmenu li.wp-menu-open{border:0}.auto-fold #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:16px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}.auto-fold #adminmenu li.menu-top:hover,.auto-fold #adminmenu li.opensub>a.menu-top,.auto-fold #adminmenu li>a.menu-top:focus{z-index:10000}.auto-fold #collapse-menu span{display:none}.auto-fold #collapse-button div{background:0 0}.auto-fold #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.auto-fold #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}}@media screen and (max-width:782px){.auto-fold #wpcontent{position:relative;margin-right:0;padding-right:10px}.sticky-menu #adminmenuwrap{position:relative;z-index:auto;top:0}.auto-fold #adminmenu,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{position:absolute;width:190px;z-index:100}.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{display:none}.auto-fold .wp-responsive-open #adminmenuback,.auto-fold .wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu li.menu-top{width:100%}.auto-fold #adminmenu li a{font-size:16px;padding:5px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding:10px 20px 10px 10px}.auto-fold #adminmenu .wp-menu-name{display:block;margin-right:35px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li.current>a.current:after{border-width:8px;margin-top:-8px}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{display:none}#adminmenu .wp-submenu{position:relative;display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold #adminmenu .wp-menu-open .wp-submenu{position:relative;display:block;top:0;right:-1px;-webkit-box-shadow:none;box-shadow:none}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .selected .wp-submenu:after,.auto-fold #adminmenu .wp-menu-open .wp-submenu:after{display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:block}.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{position:relative;right:-1px;left:0;top:0}#adminmenu .wp-submenu .wp-submenu-head{display:none}#wp-responsive-toggle{position:fixed;top:5px;right:4px;padding-left:10px;z-index:99999;border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpadminbar #wp-admin-bar-menu-toggle a{display:block;padding:0;overflow:hidden;outline:0;text-decoration:none;border:1px solid transparent;background:0 0;height:44px;margin-right:-1px}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#32373c}li#wp-admin-bar-menu-toggle{display:block}#wpadminbar #wp-admin-bar-menu-toggle a:hover{border:1px solid transparent}#wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before{content:'\f228';display:inline-block;float:right;font:400 40px/45px Dashicons;vertical-align:middle;outline:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:44px;width:50px;padding:0;border:none;text-align:center;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}@media screen and (max-width:600px){#adminmenuback,#adminmenuwrap{display:none}.wp-responsive-open #adminmenuback,.wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu{top:46px}}#wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody-content #dashboard-widgets.columns-2 .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets.columns-2 #postbox-container-2,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-4{float:left;width:50.5%}#wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-3 #postbox-container-4{float:left}#dashboard-widgets .postbox-container,#wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container{border:none!important}.ie8 #wpbody-content #dashboard-widgets .postbox-container{width:49.5%}.ie8 #wpbody-content #dashboard-widgets #postbox-container-2,.ie8 #wpbody-content #dashboard-widgets #postbox-container-3,.ie8 #wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}.ie8 #dashboard-widgets #postbox-container-3 .empty-container,.ie8 #dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#dashboard-widgets-wrap{overflow:hidden;margin:0 -8px}#dashboard-widgets .postbox .inside{margin-bottom:0}#dashboard-widgets .meta-box-sortables{margin:0 8px;min-height:100px}#the-comment-list td.comment p.comment-author{margin-top:0;margin-right:0}#the-comment-list p.comment-author img{float:right;margin-left:8px}#the-comment-list p.comment-author strong a{border:none}#the-comment-list td{vertical-align:top}#the-comment-list td.comment{word-wrap:break-word}#the-comment-list td.comment img{max-width:100%}.welcome-panel{position:relative;overflow:auto;margin:16px 0;padding:23px 10px 0;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:13px;line-height:2.1em}.welcome-panel h3{margin:0;font-size:21px;font-weight:400;line-height:1.2}.welcome-panel h4{margin:1.33em 0 0;font-size:16px}.welcome-panel li{font-size:14px}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel .about-description{font-size:16px;margin:0}.welcome-panel .welcome-panel-close{position:absolute;top:5px;left:10px;padding:20px 3px 0 15px;font-size:13px;text-decoration:none;line-height:1}#welcome-panel.welcome-panel .welcome-panel-close:before{position:absolute;right:-18px;margin-top:-2px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.wp-core-ui .welcome-panel .button.button-hero{margin:15px 0 3px 13px;padding:12px 36px;height:auto;line-height:1.4285714;white-space:normal}.welcome-panel-content{margin-right:13px;max-width:1500px}.welcome-panel .welcome-panel-column-container{clear:both;overflow:hidden;position:relative}.welcome-panel .welcome-panel-column{width:32%;min-width:200px;float:right}.ie8 .welcome-panel .welcome-panel-column{min-width:230px}.welcome-panel .welcome-panel-column:first-child{width:36%}.welcome-panel-column p.hide-if-no-customize{margin-top:10px}.welcome-panel-column p{margin-top:7px;color:#464646}.welcome-panel .welcome-icon{display:block;padding:0 0 8px;background:0 0!important}.welcome-panel .welcome-icon:before{color:#82878c;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 10px;top:-1px;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;vertical-align:top}.welcome-panel .welcome-edit-page:before,.welcome-panel .welcome-write-blog:before{content:'\f119';top:-3px}.welcome-panel .welcome-add-page:before{content:'\f132'}.welcome-panel .welcome-view-site:before{content:'\f115';top:-2px}.welcome-panel .welcome-widgets-menus:before{content:'\f116';top:-2px}.welcome-panel .welcome-comments:before{content:'\f117';top:-1px}.welcome-panel .welcome-learn-more:before{content:'\f118';top:-1px}.welcome-panel .welcome-widgets-menus{line-height:16px}.welcome-panel .welcome-panel-column ul{margin:.8em 0 1em 1em}.welcome-panel .welcome-panel-column li{line-height:16px;list-style-type:none}#dashboard_primary .inside{margin:0;padding:0}#dashboard_primary .dashboard-widget-control-form,#dashboard_primary .widget-loading{padding:12px 12px 0}body #dashboard-widgets .postbox form .submit{margin:0}.dashboard-widget-control-form{overflow:hidden}.dashboard-widget-control-form p{margin-top:0}.rssSummary{color:#777;margin-top:4px}#dashboard_primary .rss-widget{border-bottom:1px solid #eee;font-size:13px;padding:8px 12px 10px}#dashboard_primary .rss-widget:last-child{border-bottom:none;padding-bottom:8px}#dashboard_primary .rss-widget a{font-weight:400}#dashboard_primary .rss-widget span,#dashboard_primary .rss-widget span.rss-date{color:#777}#dashboard_primary .rss-widget span.rss-date{margin-right:12px}#dashboard_primary .rss-widget ul li{margin-bottom:8px}#dashboard_right_now ul{margin:0;overflow:hidden}#dashboard_right_now li{width:50%;float:right;margin-bottom:10px}#dashboard_right_now .inside{overflow:hidden;padding:0}#dashboard_right_now .main{overflow:hidden;padding:0 12px 11px}#dashboard_right_now .main p{margin:0}#dashboard_right_now #wp-version-message .button{float:left;position:relative;top:-5px;margin-right:5px}.mu-storage{overflow:hidden}#dashboard-widgets h4.mu-storage{margin-bottom:10px}#dashboard_right_now li a:before,#dashboard_right_now li span:before{color:#82878c}#dashboard_right_now .sub{color:#777;background:#f5f5f5;border-top:1px solid #eee;padding:10px 12px 6px}#dashboard_right_now .sub h4{color:#555}#dashboard_right_now .sub p{margin:0 0 1em}#dashboard_right_now .warning a:before,#dashboard_right_now .warning span:before{color:#d54e21}#dashboard_right_now li a:before,#dashboard_right_now li span:before{content:'\f159';font:400 20px/1 dashicons;speak:none;display:block;float:right;margin:0 0 0 5px;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_right_now .page-count a:before,#dashboard_right_now .page-count span:before{content:'\f105'}#dashboard_right_now .post-count a:before,#dashboard_right_now .post-count span:before{content:'\f109'}#dashboard_right_now .comment-count a:before{content:'\f101'}#dashboard_right_now .comment-mod-count a:before{content:'\f125'}#dashboard_right_now .storage-count a:before{content:'\f104'}#dashboard_right_now .storage-count.warning a:before{content:'\f153'}#dashboard_quick_press .inside{margin:0;padding:0}#dashboard_quick_press div.updated{margin-bottom:10px;border:1px solid #eee;border-width:1px 0 1px 1px}#dashboard_quick_press form{overflow:hidden;margin:12px}#dashboard_quick_press .drafts,#dashboard_quick_press .easy-blogging{padding:10px 0 0}input#save-post{float:right}form.initial-form.quickpress-open label.prompt{font-style:normal}form.initial-form.quickpress-open input#title{height:auto}#dashboard_quick_press input,#dashboard_quick_press textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0}#dashboard_quick_press textarea{resize:vertical}#description-wrap{margin-top:12px}#title-wrap #title-prompt-text,.textarea-wrap #content-prompt-text{color:#777}.input-text-wrap,.textarea-wrap{position:relative}.input-text-wrap .prompt,.textarea-wrap .prompt{position:absolute}.textarea-wrap #content-prompt-text{font-size:1.1em;padding:7px 8px}.textarea-wrap textarea#content{margin:0 0 8px;padding:6px 7px}#quick-press textarea#content{min-height:90px;max-height:1300px;resize:none}.js #dashboard_quick_press .drafts{border-top:1px solid #eee}#dashboard_quick_press .drafts abbr{border:none}#dashboard_quick_press .drafts h4{margin:0 12px 8px;font-weight:400}#dashboard_quick_press .drafts .view-all{float:left;margin:0 0 0 12px}#dashboard_primary a.rsswidget{font-weight:400}#dashboard_quick_press .drafts ul{margin:0 12px}#dashboard_quick_press .drafts li{margin-bottom:1em}#dashboard_quick_press .drafts li time{color:#777}#dashboard_quick_press .drafts p{margin:0;word-wrap:break-word}#dashboard_quick_press .draft-title{overflow:hidden}#dashboard_quick_press .draft-title a,#dashboard_quick_press .draft-title time{float:right;margin:0 0 0 5px}#dashboard-widgets #dashboard_activity h4{margin:0 12px 8px 0;font-weight:400}#dashboard-widgets #dashboard_activity h4.comment-meta{margin:0}#dashboard_activity h4.comment-meta{margin-bottom:4px}#dashboard_activity ul{padding:0 12px}#dashboard_activity .comment-meta span.approve:before{content:'\f227';font:20px/.5 dashicons;margin-right:12px;vertical-align:middle;position:relative;top:-1px;margin-left:2px}#dashboard_activity .inside{padding:0;margin:0}#dashboard_activity .no-activity{overflow:hidden;padding:0 12px 12px;text-align:center}#dashboard_activity .no-activity p{color:#999;font-size:16px}#dashboard_activity .no-activity .smiley{margin-top:0}#dashboard_activity .no-activity .smiley:before{content:'\f328';font:400 120px/1 dashicons;speak:none;display:block;margin:0 0 0 5px;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_activity .subsubsub{float:none;border-top:1px solid #eee;margin-top:0;padding:8px 12px 4px}#future-posts ul,#published-posts ul{clear:both;margin-bottom:0}#future-posts li,#published-posts li{overflow:hidden;margin-bottom:8px}#future-posts ul span,#published-posts ul span{color:#777;float:right;margin-left:8px;min-width:150px}.activity-block{border-bottom:1px solid #eee;overflow:hidden;padding:8px 0 4px}.activity-block:last-child{border-bottom:none}.activity-block .subsubsub li{color:#ddd}#activity-widget #the-comment-list div.undo,#activity-widget #the-comment-list tr.undo{background:0 0;padding:6px 0;margin-right:12px}#activity-widget #the-comment-list .comment-item{background:#fafafa;padding:12px;position:relative}#activity-widget #the-comment-list .avatar{position:absolute;top:13px}#activity-widget #the-comment-list .dashboard-comment-wrap{padding-right:63px}#activity-widget #the-comment-list .dashboard-comment-wrap blockquote{margin:1em 0}#activity-widget #the-comment-list .comment-item h4{font-size:13px;color:#999}#activity-widget #the-comment-list .comment-item p.row-actions{margin:4px 0 0}#activity-widget #the-comment-list .comment-item:first-child{border-top:1px solid #eee}#activity-widget #the-comment-list .unapproved{background-color:#fef7f1}#activity-widget #the-comment-list .unapproved:before{content:"";display:block;position:absolute;right:0;top:0;bottom:0;background:#d54e21;width:4px}#activity-widget #the-comment-list .spam-undo-inside .avatar,#activity-widget #the-comment-list .trash-undo-inside .avatar{position:relative;top:0}#dashboard-widgets #dashboard_browser_nag.postbox .inside{margin:10px}.edit-box{display:none}h3:hover .edit-box{display:inline}#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:100%}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:none}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0}#dashboard-widgets a{text-decoration:none}#dashboard-widgets h3 a{text-decoration:underline}#dashboard-widgets h3 .postbox-title-action{position:absolute;left:10px;padding:0;top:5px}.js #dashboard-widgets h3 .postbox-title-action{left:33px}#dashboard-widgets h4{color:#23282d;font-weight:400;font-size:14px;margin:0 0 .2em;padding:0}#dashboard_plugins h5{font-size:14px}#latest-comments #the-comment-list{position:relative}#activity-widget #the-comment-list .comment,#activity-widget #the-comment-list .pingback{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}#activity-widget #latest-comments #the-comment-list .comment-item{padding:1em 12px}#latest-comments #the-comment-list .pingback{padding-right:12px!important}#latest-comments #the-comment-list .comment-item:first-child{border-top:none}#latest-comments #the-comment-list .comment-item h4{line-height:1.5em;margin-top:0;color:#666}#latest-comments #the-comment-list .comment-item h4 cite{font-style:normal;font-weight:400}#latest-comments #the-comment-list .comment-item blockquote,#latest-comments #the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline}#latest-comments #the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:13px}#description-wrap label,#title-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;outline:0}#title-wrap #title-prompt-text{font-size:1.1em;padding:5px 8px}.rss-widget ul{margin:0;padding:0;list-style:none}a.rsswidget{font-size:14px;font-weight:600;line-height:1.7em}.rss-widget ul li{line-height:1.5em;margin-bottom:12px}.rss-widget span.rss-date{color:#999;font-size:13px;margin-right:3px}.rss-widget cite{display:block;text-align:left;margin:0 0 1em;padding:0}.rss-widget cite:before{content:'\2014'}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:600}#dashboard_browser_nag a{text-decoration:underline}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-left:125px}#dashboard_browser_nag .browser-icon{margin-top:-35px}#dashboard_browser_nag.postbox.browser-insecure{background-color:#ac1b1b;border-color:#ac1b1b}#dashboard_browser_nag.postbox{background-color:#e29808;background-image:none;border-color:#edc048;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag.postbox.browser-insecure h3{border-bottom-color:#cd5a5a;color:#fff}#dashboard_browser_nag.postbox h3{border-bottom-color:#f6e2ac;background:0 0;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag h3.hndle{border:none;font-weight:600;font-size:20px;padding-top:10px}.postbox#dashboard_browser_nag p a.dismiss{font-size:14px}.postbox#dashboard_browser_nag a,.postbox#dashboard_browser_nag p,.postbox#dashboard_browser_nag p.browser-update-nag{font-size:16px}@media only screen and (max-width:799px){#wpbody-content #dashboard-widgets .postbox-container{width:100%}}@media only screen and (min-width:800px) and (max-width:1499px){#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#wpbody #wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody #wpbody-content .metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}.index-php .columns-prefs,.index-php .screen-layout{display:block}.columns-prefs .columns-prefs-3,.columns-prefs .columns-prefs-4{display:none}}@media only screen and (min-width:1500px) and (max-width:1800px){#wpbody-content #dashboard-widgets .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:left}#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}}@media screen and (max-width:870px){.welcome-panel .welcome-panel-column,.welcome-panel .welcome-panel-column:first-child{display:block;float:none;width:100%}.welcome-panel .welcome-panel-column li{display:inline-block;margin-left:13px}.welcome-panel .welcome-panel-column ul{margin:.4em 0 0}}@media screen and (max-width:782px){#dashboard_recent_comments #the-comment-list .comment-item .avatar{height:30px;width:30px;margin:4px 0 5px 10px}}@media screen and (max-width:600px){.welcome-panel .welcome-panel-close{overflow:hidden;text-indent:100%;white-space:nowrap;width:20px;height:20px;left:0;padding:5px}#welcome-panel.welcome-panel .welcome-panel-close:before{font-size:20px;margin:0}}.post-com-count-wrapper{min-width:22px}.post-com-count{background:center -80px no-repeat;height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;color:#fff}.post-com-count:after{content:"";display:block;width:0;height:0;margin-right:8px;border-top:5px solid #b4b9be;border-left:5px solid transparent}.post-com-count span{font-size:11px;font-weight:600;height:1.4em;line-height:1.4em;min-width:.7em;padding:0 6px;display:inline-block;-webkit-border-radius:5px;border-radius:5px;background-color:#b4b9be;color:#fff}.post-com-count:hover{background-position:center -3px}.post-com-count:hover span{background-color:#00a0d2}.post-com-count:hover:after{border-top:5px solid #00a0d2}strong .post-com-count{background-position:center -55px}strong .post-com-count span{background-color:#0073aa}strong .post-com-count:after{border-top:5px solid #0073aa}.column-response .post-com-count{float:right;margin-left:5px;text-align:center}.response-links{float:right}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom:1px solid #ccc}.commentlist li li{border-bottom:0;padding:0}.commentlist p{padding:0;margin:0 0 .8em}#submitted-on,.submitted-on{color:#777}#replyrow td{padding:2px}#replysubmit{margin:0;padding:0 5px 3px;text-align:center}#replysubmit .button{margin-left:5px}#replysubmit .error{color:red;line-height:21px;text-align:center}#replyrow h5{margin:.2em 0 0;padding:0 5px;line-height:1.4em;font-size:1em}#edithead .inside{float:right;padding:3px 5px 2px 0;margin:0;text-align:center}#edithead .inside input{width:180px}#edithead label{padding:2px 0}#replycontainer{padding:5px}#replycontent{height:120px;-webkit-box-shadow:none;box-shadow:none}#replyerror{border-color:#ddd;background-color:#f9f9f9}.commentlist .avatar{vertical-align:text-top}#the-comment-list .attachment-80x60{padding:4px 8px}#the-comment-list div.undo,#the-comment-list tr.undo{background-color:#f4f4f4}#the-comment-list .unapproved td,#the-comment-list .unapproved th{background-color:#fef7f1}#the-comment-list .unapproved th.check-column{border-right:4px solid #d54e21}#the-comment-list .unapproved th.check-column input{margin-right:4px}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list td,#the-comment-list th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#the-comment-list tr:last-child td,#the-comment-list tr:last-child th{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved td,#the-comment-list tr.unapproved+tr.approved th{border-top:1px solid rgba(0,0,0,.03)}.vim-current,.vim-current td,.vim-current th{background-color:#e4f2fd!important}th .comment-grey-bubble{height:16px;width:16px}th .comment-grey-bubble:before{content:'\f101';font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;right:-4px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}table.fixed{table-layout:fixed}.fixed .column-rating,.fixed .column-visible{width:8%}.fixed .column-author,.fixed .column-date,.fixed .column-format,.fixed .column-links,.fixed .column-parent,.fixed .column-posts{width:10%}.fixed .column-posts{width:74px}.fixed .column-comment .comment-author{display:none}.fixed .column-categories,.fixed .column-rel,.fixed .column-response,.fixed .column-role,.fixed .column-tags{width:15%}.fixed .column-slug{width:25%}.fixed .column-locations{width:35%}.fixed .column-comments{width:4em;padding:8px 0;text-align:right}.fixed .column-comments .vers{padding-right:3px}.fixed .column-comments a{float:right}.fixed .column-icon{width:80px}.wp-list-table a{-webkit-transition:none;transition:none}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:none!important;-webkit-box-shadow:none;box-shadow:none}#comments-form .fixed .column-author{width:20%}#commentsdiv.postbox .inside{margin:0;padding:0}#commentsdiv .inside .row-actions{line-height:18px}#commentsdiv .inside .column-author{width:25%}#commentsdiv .column-comment p{margin:.6em 0;padding:0}#commentsdiv #replyrow td{padding:0}#commentsdiv p{padding:8px 10px;margin:0}#commentsdiv .comments-box{border:0}#commentsdiv .comments-box thead th{background:0 0;padding:0 7px 4px;font-style:italic}#commentsdiv .comments-box tr:last-child td{border-bottom:0 none}.sorting-indicator{display:none;width:10px;height:4px;margin-top:8px;margin-right:7px}.sorting-indicator:before{background:0 0;content:'\f142';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0;top:-4px;right:-8px;line-height:10px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.column-comments .sorting-indicator:before{top:0;right:-10px}th.desc:hover span.sorting-indicator:before,th.sorted.asc .sorting-indicator:before{content:'\f142'}th.asc:hover span.sorting-indicator:before,th.sorted.desc .sorting-indicator:before{content:'\f140'}tr.wp-locked .locked-indicator{margin-right:6px;height:20px;width:16px}tr.wp-locked .locked-indicator:before{color:#82878c;content:'\f160';display:inline-block;float:right;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-right:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}tr.wp-locked .check-column input[type=checkbox],tr.wp-locked .check-column label,tr.wp-locked .row-actions .inline,tr.wp-locked .row-actions .trash{display:none}tr .locked-info{height:0;opacity:0}tr.wp-locked .locked-info{margin-top:8px;height:auto;opacity:1}.locked-text{vertical-align:top}tr.locked-info,tr.wp-locked .locked-info{-webkit-transition:height 1s,opacity .5s;transition:height 1s,opacity .5s}.fixed .column-comments .sorting-indicator{margin-top:3px}#menu-locations-wrap .widefat{width:60%}.widefat th.sortable,.widefat th.sorted{padding:0}th.sortable a,th.sorted a{display:block;overflow:hidden;padding:7px 10px 8px 7px}.fixed .column-comments.sortable a,.fixed .column-comments.sorted a{padding:8px 0}th.sortable a span,th.sorted a span{float:right;cursor:pointer}th.desc:hover span.sorting-indicator,th.sorted.asc .sorting-indicator{display:block;background-position:100% 0}th.asc:hover span.sorting-indicator,th.sorted.desc .sorting-indicator{display:block;background-position:-7px 0}.tablenav-pages a{font-weight:600;margin-left:1px;padding:0 2px}.tablenav-pages .current-page{padding-top:0;text-align:center}.tablenav-pages .next-page{margin-right:2px}.tablenav a.button-secondary{display:block;margin:3px 0 0 8px}.tablenav{clear:both;height:30px;margin:6px 0 4px;vertical-align:middle}.tablenav.themes{max-width:98%}.tablenav .tablenav-pages{float:left;display:block;cursor:default;height:30px;color:#555;line-height:30px;font-size:12px}.tablenav .no-pages,.tablenav .one-page .pagination-links{display:none}.tablenav .tablenav-pages a,.tablenav-pages span.current{text-decoration:none;padding:3px 6px}.tablenav .tablenav-pages a{padding:0 10px 3px;background:#eee;background:rgba(0,0,0,.05);font-size:16px;font-weight:400}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover{color:#fff;background:#00a0d2}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:active,.tablenav .tablenav-pages a.disabled:focus,.tablenav .tablenav-pages a.disabled:hover{color:#a0a5aa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .displaying-num{margin-left:2px;color:#777;font-size:12px;font-style:italic}.tablenav .actions{overflow:hidden;padding:2px 0 0 8px}.wp-filter .actions{display:inline-block;vertical-align:middle}.tablenav .delete{margin-left:20px}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0073aa}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#00a0d2}.tablenav .view-switch{float:left;margin:5px 8px 0 16px}.wp-filter .view-switch{display:inline-block;vertical-align:middle;padding:15px 0;margin:0 0 0 20px}.view-switch a{text-decoration:none}.view-switch>a{display:inline-block;width:18px;height:18px}.view-switch>a:before{color:#b4b9be;display:inline-block;float:right;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-right:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.view-switch>.view-list:before{content:'\f163'}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0073aa}.view-switch>a+a{margin-right:5px}.view-switch>.view-excerpt:before{content:'\f164'}.view-switch>.view-grid:before{content:'\f509'}.filter{float:right;margin:-5px 10px 0 0}.filter .subsubsub{margin-right:-10px;margin-top:13px}.screen-per-page{width:4em}#posts-filter .wp-filter{margin-bottom:0}#posts-filter fieldset{float:right;margin:0 0 1em 1.5ex;padding:0}#posts-filter fieldset legend{padding:0 1px .2em 0}p.pagenav{margin:0;display:inline}.pagenav span{font-weight:600;margin:0 6px}.row-title{font-size:14px!important;font-weight:600}.column-comment .comment-author{margin-bottom:.6em}.column-author img,.column-comment .comment-author img,.column-username img{float:right;margin-left:10px;margin-top:1px}.row-actions{color:#ddd;font-size:13px;visibility:hidden;padding:2px 0 0}.mobile .row-actions,.row-actions.visible,div.comment-item:hover .row-actions,tr:hover .row-actions{visibility:visible}.row-actions-visible{padding:2px 0 0}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:right;margin:0;padding:0;width:100%}#wpbody-content .inline-edit-row fieldset .inline-edit-col,tr.inline-edit-row td{padding:0 .5em}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 1px 0 0;border-style:none solid none none}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:40%}#wpbody-content .quick-edit-row-post .inline-edit-col-right{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:20%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:50%}#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .quick-edit-row-page .inline-edit-col-right{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:30%}#wpbody-content .bulk-edit-row-page .inline-edit-col-right{width:69%}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:left;width:69%}#wpbody-content .inline-edit-row-page .inline-edit-col-right{margin-top:27px}.inline-edit-row fieldset .inline-edit-group{clear:both;line-height:2.5}.inline-edit-row fieldset .inline-edit-group:after{content:".";display:block;height:0;clear:both;visibility:hidden}.inline-edit-row p.submit{clear:both;padding:.5em;margin:.5em 0 0}.inline-edit-row span.error{line-height:22px;margin:0 15px;padding:3px 5px}.inline-edit-row h4{margin:.2em 0;padding:0;line-height:2.5}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{margin:0;padding:0}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0;line-height:2.5}.inline-edit-row fieldset label.inline-edit-tags{margin-top:0}.inline-edit-row fieldset label.inline-edit-tags span.title{margin:.2em 0;width:auto}.inline-edit-row fieldset label span.title{display:block;float:right;width:5em;line-height:2.5}.inline-edit-row fieldset label span.input-text-wrap{display:block;margin-right:5em}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{width:auto;padding-left:.5em}.inline-edit-row .inline-edit-or{margin:.2em 0 .2em 6px;line-height:2.5}.inline-edit-row .input-text-wrap input[type=text]{width:100%}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:middle}.inline-edit-row fieldset label textarea{width:100%;height:4em;vertical-align:top}#wpbody-content .bulk-edit-row fieldset .inline-edit-group label{max-width:50%}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-left:.5em}.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input{width:6em}.inline-edit-row h4{text-transform:uppercase}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{font-style:italic}.inline-edit-row fieldset .inline-edit-date{float:right}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.3em}.inline-edit-row fieldset input[name=aa]{font-size:12px;width:3.5em}.inline-edit-row fieldset label input.inline-edit-password-input{width:8em}ul.cat-checklist{height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0;background-color:#fff}#bulk-titles{display:block;height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0 0 5px}.inline-edit-row fieldset ul.cat-checklist input,.inline-edit-row fieldset ul.cat-checklist li{margin:0;position:relative}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-style:normal;font-size:11px}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%}.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{max-width:80%}.ie8 .inline-edit-row #post_parent,.ie8 .inline-edit-row select[name=page_template]{width:250px}.quick-edit-row-post fieldset label.inline-edit-status{float:right}#bulk-titles{line-height:140%}#bulk-titles div{margin:.2em .3em}#bulk-titles div a{cursor:pointer;display:block;float:right;height:18px;margin:0 -2px 0 3px;overflow:hidden;position:relative;width:20px}#bulk-titles div a:before{position:relative;top:-3px}.plugins tbody,.plugins tbody th.check-column{padding:8px 2px 0 0}.plugins tbody th.check-column input[type=checkbox]{margin-top:4px}#update-plugins-table tbody td p{margin-top:0}#update-plugins-table tbody td p strong{font-size:14px}.plugins .inactive th.check-column,.plugins tfoot th.check-column,.plugins thead th.check-column{padding-right:6px}#update-plugins-table tfoot th.check-column,#update-plugins-table thead th.check-column{padding-top:11px}.plugins,.plugins td,.plugins th{color:#000}.plugins tr{background:#fff}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ol,.plugins .desc ul{margin:0 2em 0 0}.plugins .desc ul{list-style-type:disc}.plugins .row-actions{font-size:13px}.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th{padding:10px 9px}.plugins .active td,.plugins .active th{background-color:#f7fcfe}.plugins .update td,.plugins .update th{border-bottom:0}.plugin-update-tr td{border-top:0}.plugin-install #the-list td,.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th,.upgrade .plugins td,.upgrade .plugins th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active.plugin-update-tr+tr.inactive th{border-top:1px solid rgba(0,0,0,.03);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1;box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1}.plugins .update td,.plugins .update th,.plugins .updated td,.plugins .updated th,.plugins tr.active+tr.inactive.update td,.plugins tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.updated td,.plugins tr.active+tr.inactive.updated th,.upgrade .plugins tr:last-of-type td,.upgrade .plugins tr:last-of-type th{-webkit-box-shadow:none;box-shadow:none}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update{background-color:#fef7f1}.plugin-update-tr.active td,.plugins .active th.check-column{border-right:4px solid #00a0d2}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-right:4px solid #d54e21}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-left:12px;white-space:nowrap}.plugins .inactive .plugin-title strong{font-weight:400}.plugins .row-actions,.plugins .second{padding:0 0 5px}.plugins .update .row-actions,.plugins .update .second,.plugins .updated .row-actions,.plugins .updated .second{padding-bottom:0}.plugins-php .widefat tfoot td,.plugins-php .widefat tfoot th{border-top-style:solid;border-top-width:1px}.plugin-update-tr .update-message{font-size:13px;font-weight:400;padding:6px 12px;margin:0 31px 8px 10px;background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}.plugin-card .install-now:before,.plugin-card .update-now:before,.plugin-update-tr .update-message:before{color:#d54e21;display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.plugin-card .update-now:before,.plugin-update-tr .update-message:before{content:'\f463'}.plugin-update-tr .update-message:before{margin:0 -2px 0 8px}.plugin-card .install-now:before,.plugin-card .update-now:before{margin:3px -2px 0 5px}.plugin-card .updating-message:before,.plugin-update-tr .updating-message:before{content:'\f463';-webkit-animation:rotation 2s infinite linear;animation:rotation 2s infinite linear}@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(-359deg);transform:rotate(-359deg)}}@keyframes rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(-359deg);transform:rotate(-359deg)}}.plugin-card .updated-message:before,.plugin-update-tr .updated-message:before{color:#79ba49;content:'\f147'}.plugins .plugin-update-tr .plugin-update{padding:0;border:none;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}tr.active+tr.plugin-update-tr:not(.updated) .plugin-update .update-message{background-color:#fcf3ef}.plugin-install-php h3{clear:both}.plugin-install-php h4{margin:2.5em 0 8px}.plugin-install-php .wp-filter{margin-bottom:0}.plugin-group{overflow:hidden;margin-top:1.5em}.plugin-group h3{margin-top:0}.plugin-card{float:right;margin:0 8px 16px;width:48.5%;width:-webkit-calc(50% - 8px);width:calc(50% - 8px);background-color:#fff;border:1px solid #dedede;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.plugin-card:nth-child(odd){clear:both;margin-right:0}.plugin-card:nth-child(even){margin-left:0}@media screen and (min-width:1600px){.plugin-card{width:30%;width:-webkit-calc(33.1% - 8px);width:calc(33.1% - 8px)}.plugin-card:nth-child(odd){clear:none;margin-right:8px}.plugin-card:nth-child(even){margin-left:8px}.plugin-card:nth-child(3n+1){clear:both;margin-right:0}.plugin-card:nth-child(3n){margin-left:0}}@media screen and (max-width:782px){.plugin-card{margin-right:0;margin-left:0;width:100%}}.plugin-card-top{position:relative;padding:20px 20px 10px;min-height:135px}.plugin-action-buttons,div.action-links{margin:0}.plugin-card h4{margin:0 0 12px;font-size:18px;line-height:1.3}.plugin-card .desc,.plugin-card .name{margin-right:148px;margin-left:120px}.plugin-card .action-links{position:absolute;top:20px;left:20px;width:120px}.plugin-action-buttons{clear:left;float:left;margin-right:2em;margin-bottom:1em;text-align:left}.plugin-action-buttons li{margin-bottom:10px}.plugin-card-bottom{clear:both;padding:12px 20px;background-color:#fafafa;border-top:1px solid #dedede;overflow:hidden}.plugin-card-bottom .star-rating{display:inline}.plugin-card .column-rating{line-height:23px}.plugin-card .column-rating,.plugin-card .column-updated{margin-bottom:4px}.plugin-card .column-downloaded,.plugin-card .column-rating{float:right;clear:right;max-width:180px}.plugin-card .column-compatibility,.plugin-card .column-updated{text-align:left;float:left;clear:left;width:65%;width:-webkit-calc(100% - 180px);width:calc(100% - 180px)}.plugin-card .column-compatibility span:before{font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;right:-2px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.plugin-card .compatibility-incompatible:before{content:'\f158'}.plugin-card .compatibility-compatible:before{content:'\f147'}.plugin-icon{position:absolute;top:20px;right:20px;width:128px;height:128px;margin:0 0 20px 20px}.plugin-icon img{width:128px;height:128px}.no-plugin-results{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.wp-list-table tr.site-deleted{background:#ff8573}.wp-list-table tr.site-spammed{background:#faafaa}.wp-list-table tr.site-archived{background:#ffebe8}.wp-list-table tr.site-mature{background:#fecac2}@media screen and (max-width:1100px) and (min-width:782px),(max-width:480px){.plugin-card .action-links{position:static;margin-right:148px;width:auto}.plugin-action-buttons{float:none;margin:1em 0 0;text-align:right}.plugin-action-buttons li{display:inline-block;vertical-align:middle}.plugin-action-buttons li .button{margin-left:20px}.plugin-card .desc,.plugin-card .name{margin-left:0}.plugin-card .desc p:first-of-type{margin-top:0}}@media screen and (max-width:782px){.tablenav{height:auto}.tablenav.top{margin:20px 0 5px}.tablenav.bottom{position:relative;margin-top:15px}.tablenav br{display:none}.tablenav br.clear{display:block}.tablenav .view-switch,.tablenav.top .actions,.tablenav.top .displaying-num{display:none}.tablenav.bottom .displaying-num{position:absolute;left:0;top:10px;font-size:14px}.tablenav-pages{width:100%;text-align:center;margin:0 0 25px}.tablenav.bottom .tablenav-pages{margin-top:25px}.tablenav.top .tablenav-pages.one-page{display:none}.tablenav.bottom .tablenav-pages.one-page{margin:15px 0 0;height:0}.tablenav-pages .pagination-links .paging-input{font-size:18px}.tablenav-pages .pagination-links a{padding:8px 20px 11px;font-size:18px;background:rgba(0,0,0,.05)}.tablenav-pages .pagination-links .current-page{padding:10px;font-size:14px}.form-wrap>p{display:none}.comment-count{font-size:14px}.column-categories,.column-tags,.fixed .column-author,.fixed .column-date,.media .column-parent,.sites .column-registered,.sites .column-users,.tags .column-description,.users .column-email,.users .column-name{display:none}.fixed .column-comment .comment-author{display:block}.column-title{width:85%}.fixed .column-comments,.widefat .check-column{width:35px}.widefat tfoot .check-column,.widefat thead .check-column{padding:10px 0}.widefat *{word-wrap:normal}#wpbody-content .bulk-edit-row .inline-edit-col-bottom,#wpbody-content .bulk-edit-row .inline-edit-col-left,#wpbody-content .bulk-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .inline-edit-row-post .inline-edit-col-center,#wpbody-content .quick-edit-row-page .inline-edit-col-left,#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .quick-edit-row-post .inline-edit-col-left,#wpbody-content .quick-edit-row-post .inline-edit-col-right{float:none;width:100%}#wpbody-content .bulk-edit-row fieldset .inline-edit-col label,#wpbody-content .bulk-edit-row fieldset .inline-edit-group label,#wpbody-content .quick-edit-row fieldset .inline-edit-col label,#wpbody-content .quick-edit-row fieldset .inline-edit-group label{max-width:none;float:none;margin-bottom:5px}#wpbody .bulk-edit-row fieldset select{display:block;width:100%;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-size:16px}.inline-edit-row fieldset label span.title{float:none}.inline-edit-row fieldset label.inline-edit-tags{padding:0 .5em}.inline-edit-row fieldset .inline-edit-col label.inline-edit-tags{padding:0}.inline-edit-row fieldset label span.input-text-wrap{margin-right:0}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{width:3em}.inline-edit-row fieldset input[name=aa]{width:4.5em}.inline-edit-row .inline-edit-or{margin:0 0 0 6px}#bulk-titles div{margin:.8em .3em}#bulk-titles div a{height:22px}.tags .column-posts{width:74px}.tags .column-slug{width:30%}.comments .column-response,.users .column-role{width:35%}.sites .column-blogname{width:55%}#wpbody-content #update-themes-table .plugin-title{width:auto}.link-manager-php #posts-filter{margin-top:25px}.link-manager-php .tablenav.bottom{overflow:hidden}.wp-list-table.plugins{position:relative;margin-top:35px;margin-bottom:50px}#wpbody-content .wp-list-table.plugins tfoot .column-description,.wp-list-table.plugins th#description,.wp-list-table.plugins thead .column-description{display:none}#wpbody-content .wp-list-table.plugins,#wpbody-content .wp-list-table.plugins .column-description,#wpbody-content .wp-list-table.plugins .manage-column.column-name,#wpbody-content .wp-list-table.plugins .plugin-title,#wpbody-content .wp-list-table.plugins .plugin-update,#wpbody-content .wp-list-table.plugins .theme-title,#wpbody-content .wp-list-table.plugins tbody,#wpbody-content .wp-list-table.plugins thead,#wpbody-content .wp-list-table.plugins tr{display:block;width:auto}.wp-list-table.plugins tfoot,.wp-list-table.plugins thead{position:absolute;top:-35px;right:0;left:0;width:auto;height:35px}.wp-list-table.plugins tfoot{bottom:-35px;top:auto}.active,.inactive{padding-top:0}.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-top:13px;padding-bottom:4px}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title,.wp-list-table.plugins tbody th{-webkit-box-shadow:none;box-shadow:none}.plugins tbody{padding:1px 0 0}.plugins tr.active+tr.inactive td.column-description{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column{border-top:none}.wp-list-table.plugins .column-description{padding-top:0}.wp-list-table.plugins .column-description,.wp-list-table.plugins .manage-column.column-name,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-left:12px;padding-right:46px}.wp-list-table.plugins tr{position:relative}.wp-list-table.plugins th.check-column,.wp-list-table.plugins tr.update th.check-column{position:absolute;height:auto;top:0;bottom:0;right:0;padding-right:2px;padding-top:18px}.wp-list-table.plugins tfoot th.check-column,.wp-list-table.plugins thead th.check-column{padding-right:3px;padding-top:11px;background:0 0}.widefat tbody th.check-column input[type=checkbox]{margin-top:-3px;margin-right:8px}.wp-list-table.plugins .active .check-column input,.wp-list-table.plugins .update .check-column input{margin-right:5px}.wp-list-table.plugins tfoot .check-column input,.wp-list-table.plugins thead .check-column input{margin-top:-6px}.wp-list-table.plugins .active th.check-column{background:0 0}.wp-list-table.plugins .plugin-title strong,.wp-list-table.plugins .theme-title strong{font-size:1.4em;line-height:1.6em}table.plugin-install .column-description,table.plugin-install .column-name,table.plugin-install .column-rating,table.plugin-install .column-version{display:block;width:auto}table.plugin-install th.column-description,table.plugin-install th.column-name,table.plugin-install th.column-rating,table.plugin-install th.column-version{display:none}table.plugin-install td.column-name strong{font-size:1.4em;line-height:1.6em}table.plugin-install #the-list td{-webkit-box-shadow:none;box-shadow:none}table.plugin-install #the-list tr{display:block;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}}@media screen and (max-width:600px){.tags .column-slug,.users .column-role{display:none}}#poststuff{padding-top:10px;min-width:763px}#poststuff #post-body{padding:0}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-left:300px}#show-comments{overflow:hidden}#save-action .spinner,#show-comments .spinner,#show-comments a{float:right}#lost-connection-notice .spinner{display:block;float:right;margin:0 0 0 5px}#titlediv{position:relative}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#poststuff #titlewrap{border:0;padding:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;height:1.7em;width:100%;outline:0;margin:0 0 3px;background-color:#fff}#titlediv #title-prompt-text{color:#777;position:absolute;font-size:1.7em;padding:11px 10px}#wp-fullscreen-save .fs-saved{color:#999;float:left;margin-top:4px}#poststuff .inside-submitbox,#side-sortables .inside-submitbox{margin:0 3px;font-size:11px}input#link_description,input#link_url{width:98%}#pending{background:100% none;border:0;padding:0;font-size:11px;margin-top:-1px}#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px;color:#666}#edit-slug-box .cancel{margin-left:10px;font-size:11px}#editable-post-name-full{display:none}#editable-post-name{background-color:#fffbcc}#editable-post-name input{font-size:13px;height:22px;margin:0;width:16em}.postarea h3 label{float:right}.submitbox .submit{text-align:right;padding:12px 10px 10px;font-size:11px;background-color:#464646;color:#ccc}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.submitbox .submit a:hover{text-decoration:underline}.submitbox .submit input{margin-bottom:8px;margin-left:4px;padding:6px}.inside-submitbox #post_status{margin:2px -2px 2px 0}#post-status-select{margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{position:relative;min-width:255px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:0 0;border:0;float:left;padding:0 12px;margin:0}.category-add input[type=text],.category-add select{width:100%;max-width:260px;vertical-align:baseline}#side-sortables .category-add input[type=text],#side-sortables .category-add select{margin:0 0 1em}#side-sortables .add-menu-item-tabs li,.wp-tab-bar li,ul.category-tabs li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}#side-sortables .add-menu-item-tabs a,.category-tabs a,.wp-tab-bar a{text-decoration:none}#post-body ul.add-menu-item-tabs li.tabs a,#post-body ul.category-tabs li.tabs a,#side-sortables .add-menu-item-tabs .tabs a,#side-sortables .category-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#32373c}.category-tabs{margin:8px 0 5px}#category-adder h4{margin:10px 0}#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:0 7px 5px}#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover,#side-sortables .submitbox .submit input{border:0}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.add-menu-item-tabs,ul.category-tabs,ul.wp-tab-bar{margin-top:12px}ul.add-menu-item-tabs li,ul.category-tabs li{border:1px solid transparent;position:relative}.wp-tab-active,ul.add-menu-item-tabs li.tabs,ul.category-tabs li.tabs{border:1px solid #dfdfdf;border-bottom-color:#fdfdfd;background-color:#fdfdfd}ul.add-menu-item-tabs li,ul.category-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px}#postimagediv .inside img{max-width:100%;height:auto;width:auto}form#tags-filter{position:relative}td.plugin-title strong,td.post-title strong{display:block;margin-bottom:.2em;font-size:14px}td.plugin-title p,td.post-title p{margin:6px 0}.ui-tabs-hide,.wp-hidden-children .wp-hidden-child{display:none}#post-body .tagsdiv #newtag{margin-left:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{width:100%;border-spacing:0;border:1px solid #e5e5e5;border-top:none;background-color:#f7f7f7;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);z-index:999}#post-status-info td{font-size:12px}.autosave-info{padding:2px 10px;text-align:left}#editorcontent #post-status-info{border:none}#content-resize-handle{background:url(../images/resize.gif) left bottom no-repeat;width:12px;cursor:row-resize}.rtl #content-resize-handle{background:url(../images/resize-rtl.gif) right bottom no-repeat}.wp-editor-expand #content-resize-handle{display:none}#postdivrich #content{resize:none}#wp-word-count{display:block;padding:2px 10px}#wp-content-editor-container{position:relative}#content-textarea-clone{z-index:-1;position:absolute;top:0;visibility:hidden;overflow:hidden;max-width:100%;border:1px solid transparent}.wp-fullscreen-wrap #content-textarea-clone{display:none}.wp-fullscreen-wrap{padding-top:0!important}.wp-fullscreen-wrap .wp-editor-area{margin-top:0!important}.wp-fullscreen-wrap .mce-edit-area{padding-top:0!important}.wp-editor-expand #wp-content-editor-tools{z-index:1000;border-bottom:1px solid #e5e5e5}.wp-editor-expand #wp-content-editor-container{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px;border-bottom:0 none}.wp-editor-expand div.mce-statusbar{z-index:1}.wp-editor-expand #post-status-info{border-top:1px solid #e5e5e5}.wp-editor-expand div.mce-toolbar-grp{z-index:999}.mce-fullscreen #wp-content-wrap .mce-edit-area,.mce-fullscreen #wp-content-wrap .mce-menubar,.mce-fullscreen #wp-content-wrap .mce-statusbar,.mce-fullscreen #wp-content-wrap .mce-toolbar-grp{position:static!important;width:auto!important;padding:0!important}.mce-fullscreen #wp-content-wrap .mce-statusbar{visibility:visible!important}.mce-fullscreen #wp-content-wrap .mce-wp-dfw,.post-php.mce-fullscreen #wpadminbar{display:none}#wp-content-editor-tools{background-color:#f1f1f1;padding-top:20px}#poststuff #post-body.columns-2 #side-sortables{width:280px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#hh,#jj,#mn{padding:1px;font-size:12px}#hh,#jj,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before,span.wp-media-buttons-icon:before{color:#82878c}#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before{font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 0 0 2px;top:0;right:-1px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}#post-body #visibility:before{content:'\f177'}.curtime #timestamp:before{content:'\f145';top:-1px}#post-body .misc-pub-revisions:before{content:'\f321'}#timestampdiv{padding-top:5px;line-height:23px}#timestampdiv p{margin:8px 0 6px}#timestampdiv input{border-width:1px;border-style:solid}.notification-dialog{position:fixed;top:30%;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;cursor:default;max-width:100%;overflow:hidden;text-overflow:ellipsis}.tagchecklist span a{margin:1px -17px 0 0;cursor:pointer;width:20px;height:20px;display:block;float:right;text-indent:0;overflow:hidden;position:absolute}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:right}#poststuff h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#poststuff .inside{margin:6px 0 0}#poststuff .inside #page_template,#poststuff .inside #parent_id{max-width:100%}#poststuff .inside label.deleted,#poststuff .inside label.spam{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}.ie8 #poststuff .inside #page_template,.ie8 #poststuff .inside #parent_id{width:250px}#post-visibility-select{line-height:1.5em;margin-top:3px}#poststuff #submitdiv .inside{margin:0;padding:0}#post-body-content,.edit-form-section{margin-bottom:20px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0;float:none;padding:0 8px 8px}#side-sortables #postcustom #postcustomstuff .submit{margin:0;padding:0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px}#side-sortables #postcustom #postcustomstuff td.left input,#side-sortables #postcustom #postcustomstuff td.left select,#side-sortables #postcustomstuff #newmetaleft a{margin:3px 3px 0}#postcustomstuff table{margin:0;width:100%;border:1px solid #dfdfdf;border-spacing:0;background-color:#f9f9f9}#postcustomstuff tr{vertical-align:top}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:96%;margin:8px}#side-sortables #postcustomstuff table input,#side-sortables #postcustomstuff table select,#side-sortables #postcustomstuff table textarea{margin:3px}#postcustomstuff td.left,#postcustomstuff th.left{width:38%}#postcustomstuff .submit input{margin:0;width:auto}#postcustomstuff #newmetaleft a{display:inline-block;margin:0 8px 8px;text-decoration:none}.no-js #postcustomstuff #enternew{display:none}#post-body-content .compat-attachment-fields{margin-bottom:20px}.compat-attachment-fields th{padding-top:5px;padding-left:10px}#select-featured-image{padding:4px 0;overflow:hidden}#select-featured-image img{max-width:100%;height:auto;margin-bottom:10px}#select-featured-image a{float:right;clear:both}#select-featured-image .remove{display:none;margin-top:10px}.js #select-featured-image.has-featured-image .remove{display:inline-block}.no-js #select-featured-image .choose{display:none}.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:20px;width:20px;margin-left:5px;margin-top:-4px}.post-state-format:before{display:block;height:20px;width:20px;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before,.post-state-format:before{color:#ddd;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}a.post-format-icon:hover:before,a.post-state-format:hover:before{color:#00a0d2}#post-formats-select{line-height:2em}#post-formats-select .post-format-icon:before{top:5px}input.post-format{margin-top:1px}label.post-format-icon{margin-right:0;padding:2px 0}.post-format-icon:before{position:relative;display:inline-block;margin-left:7px;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon.post-format-standard:before,.post-state-format.post-format-standard:before,a.post-state-format.format-standard:before{content:'\f109'}.post-format-icon.post-format-image:before,.post-state-format.post-format-image:before,a.post-state-format.format-image:before{content:'\f128'}.post-format-icon.post-format-gallery:before,.post-state-format.post-format-gallery:before,a.post-state-format.format-gallery:before{content:'\f161'}.post-format-icon.post-format-audio:before,.post-state-format.post-format-audio:before,a.post-state-format.format-audio:before{content:'\f127'}.post-format-icon.post-format-video:before,.post-state-format.post-format-video:before,a.post-state-format.format-video:before{content:'\f126'}.post-format-icon.post-format-chat:before,.post-state-format.post-format-chat:before,a.post-state-format.format-chat:before{content:'\f125'}.post-format-icon.post-format-status:before,.post-state-format.post-format-status:before,a.post-state-format.format-status:before{content:'\f130'}.post-format-icon.post-format-aside:before,.post-state-format.post-format-aside:before,a.post-state-format.format-aside:before{content:'\f123'}.post-format-icon.post-format-quote:before,.post-state-format.post-format-quote:before,a.post-state-format.format-quote:before{content:'\f122'}.post-format-icon.post-format-link:before,.post-state-format.post-format-link:before,a.post-state-format.format-link:before{content:'\f103'}.category-adder{margin-right:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,.wp-tab-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border:1px solid #dfdfdf;background-color:#fdfdfd}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.inline-editor ul.cat-checklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,ul.export-filters{margin-right:18px}ul.categorychecklist li{margin:0;padding:0;line-height:22px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input[type=email],.form-field input[type=number],.form-field input[type=password],.form-field input[type=search],.form-field input[type=tel],.form-field input[type=text],.form-field input[type=url],.form-field textarea{border-style:solid;border-width:1px;width:95%}.form-wrap p,p.description{margin:2px 0 5px;color:#666}.form-wrap p,p.description,p.help,span.description{font-size:13px;font-style:italic}.form-wrap .form-field{margin:0 0 10px;padding:8px 0}.form-wrap .form-field #parent{max-width:100%}.col-wrap h3{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}#poststuff .tagsdiv .howto{margin:0 0 6px}.ajaxtag .newtag{position:relative}.tagsdiv .newtag{width:180px}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px}#post-body-content .tagsdiv .the-tags{margin:0 5px}p.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h3{margin:2px 0 12px}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border:1px solid gray;background-color:#fff}.wp-customizer .ac_results{z-index:500000}.ac_results li{padding:2px 5px;white-space:nowrap;color:#101010;text-align:right}.ac_over{background-color:#f0f0b8;cursor:pointer}.ac_match{text-decoration:underline}.comment-php .wp-editor-area{height:200px}.comment-ays td,.comment-ays th{padding:10px 15px}.comment-ays-submit .button-cancel{margin-right:1em}.spam-undo-inside,.trash-undo-inside{margin:1px 0 1px 8px;line-height:16px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-left:8px;vertical-align:middle}.stuffbox .editcomment{clear:none}#comment-status-radio p{margin:3px 0 5px}#comment-status-radio input{margin:2px 0 5px 3px;vertical-align:middle}#comment-status-radio label{padding:5px 0}table.links-table{width:100%;border-spacing:0}.links-table th{font-weight:400;text-align:right;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table td,.links-table th{padding:5px 0}.links-table td label{margin-left:8px}.links-table td input[type=text],.links-table td textarea{width:100%}.links-table #link_rel{max-width:280px}#qt_content_dfw,#wp-content-wrap .mce-wp-dfw{display:none}.wp-editor-expand #qt_content_dfw,.wp-editor-expand #wp-content-wrap .mce-wp-dfw{display:inline-block}.focus-on #screen-meta,.focus-on #screen-meta-links,.focus-on #wp-toolbar,.focus-on #wpfooter,.focus-on .postbox-container>*,.focus-on .wrap>h2,.focus-on div.error,.focus-on div.notice,.focus-on div.updated{opacity:0;-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.focus-on #wp-toolbar{opacity:.3}.focus-off #screen-meta,.focus-off #screen-meta-links,.focus-off #wp-toolbar,.focus-off #wpfooter,.focus-off .postbox-container>*,.focus-off .wrap>h2,.focus-off div.error,.focus-off div.notice,.focus-off div.updated{opacity:1;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.focus-off #wp-toolbar{-webkit-transform:translate(0,0)}.focus-on #adminmenuback,.focus-on #adminmenuwrap{-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.focus-off #adminmenuback,.focus-off #adminmenuwrap{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-2x.gif) left bottom/11px 11px no-repeat;-webkit-background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-rtl-2x.gif) left bottom no-repeat}}@media only screen and (max-width:850px){#poststuff{min-width:0}#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-left:0;width:100%}#poststuff #postbox-container-1 #side-sortables:empty,#poststuff #postbox-container-1 .empty-container{border:0;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0;width:auto}.columns-prefs,.screen-layout{display:none}}@media screen and (max-width:782px){#post-body-content{min-width:0}#titlediv #title-prompt-text{padding:10px}#poststuff h3{padding:12px}.post-format-options{padding-left:0}.post-format-options a{margin-left:5px;margin-bottom:5px;min-width:52px}.post-format-options .post-format-title{font-size:11px}.post-format-options a div{height:28px;width:28px}.post-format-options a div:before{font-size:26px!important}#post-visibility-select{line-height:280%}.wp-core-ui .save-post-visibility,.wp-core-ui .save-timestamp{vertical-align:middle;margin-left:15px}.timestamp-wrap select#mm{display:block;width:100%;margin-bottom:10px}.timestamp-wrap #aa,.timestamp-wrap #hh,.timestamp-wrap #jj,.timestamp-wrap #mn{padding:12px 3px;font-size:14px;margin-bottom:5px;width:auto;text-align:center}ul.category-tabs{margin:30px 0 15px}ul.category-tabs li.tabs{padding:15px}ul.categorychecklist li{margin-bottom:15px}ul.categorychecklist ul{margin-top:15px}.category-add input[type=text],.category-add select{max-width:none;margin-bottom:15px}.tagsdiv .newtag{width:100%;height:auto;margin-bottom:15px}.tagchecklist{margin:25px 10px}.tagchecklist span{font-size:16px;line-height:120%}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar td,.mceToolbar tr{float:right!important}.wp_themeSkin a.mceButton{width:30px;height:30px}.wp_themeSkin .mceButton .mceIcon{margin-top:5px;margin-right:5px}.wp_themeSkin .mceSplitButton{margin-top:1px}.wp_themeSkin .mceSplitButton td a.mceAction{padding:6px 6px 6px 3px}.wp_themeSkin .mceSplitButton td a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover td a.mceOpen{padding-top:6px;padding-bottom:6px;background-position:1px 6px}.wp_themeSkin table.mceListBox{margin:5px}div.quicktags-toolbar input{padding:10px 20px}button.wp-switch-editor{font-size:16px;line-height:1em;margin:7px 7px 0 0;padding:8px 12px}#wp-content-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 15px 0 20px}.wp-media-buttons span.jetpack-contact-form-icon,.wp-media-buttons span.wp-media-buttons-icon{width:22px!important;margin-top:-3px!important;margin-right:-5px!important}.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before,.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font-size:20px!important}#content_wp_fullscreen{display:none}.misc-pub-section{padding:20px 10px}.misc-pub-section>a{float:left;font-size:16px}#delete-action,#publishing-action{line-height:47px}.comment-ays td,.comment-ays th{padding-bottom:0}.comment-ays td{padding-top:6px}.links-table #link_rel{max-width:none}.links-table td,.links-table th{padding:10px 0}}@media only screen and (max-width:500px){#wp-content-media-buttons a{font-size:14px;padding:0 10px}}.revisions-control-frame,.revisions-diff-frame{position:relative}.revisions-controls{padding-top:40px;height:100px;z-index:1}.revisions-controls input[type=checkbox]{position:relative;top:-1px;vertical-align:text-bottom}.revisions.pinned .revisions-controls{position:fixed;top:0;height:82px;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-tickmarks{position:relative;margin:0 auto;height:.7em;top:7px;max-width:70%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.revisions-tickmarks>div{position:absolute;height:100%;border-right:1px solid #a0a5aa;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div:first-child{border-width:0}.comparing-two-revisions .revisions-controls{height:140px}.comparing-two-revisions.pinned .revisions-controls{height:124px}.revisions .diff-error{position:absolute;text-align:center;margin:0 auto;width:100%;display:none}.revisions.diff-error .diff-error{display:block}.revisions .loading-indicator{position:absolute;vertical-align:middle;opacity:0;width:100%;width:-webkit-calc(100% - 30px);width:calc(100% - 30px);top:50%;top:-webkit-calc(50% - 10px);top:calc(50% - 10px);-webkit-transition:opacity .5s;transition:opacity .5s;filter:alpha(opacity=0)}body.folded .revisions .loading-indicator{margin-right:-32px}.revisions .loading-indicator span.spinner{display:block;margin:0 auto;float:none}.revisions.loading .loading-indicator{opacity:1;filter:alpha(opacity=100)}.revisions .diff{-webkit-transition:opacity .5s;transition:opacity .5s}.revisions.loading .diff{opacity:.5;filter:alpha(opacity=50)}.revisions.diff-error .diff{visibility:hidden}.revisions-meta{margin-top:20px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions.pinned .revisions-meta{-webkit-box-shadow:none;box-shadow:none}.revision-toggle-compare-mode{position:absolute;top:0;left:0}.comparing-two-revisions .revisions-next,.comparing-two-revisions .revisions-previous,.revisions-meta .diff-meta-to strong{display:none}.revisions-controls .author-card .date{color:#777}.revisions-controls .author-card.autosave{color:#d54e21}.revisions-controls .author-card .author-name{font-weight:700}.comparing-two-revisions .diff-meta-to strong{display:block}.revisions.pinned .revisions-buttons{padding:0 11px}.revisions-next,.revisions-previous{position:relative;z-index:1}.revisions-previous{float:right}.revisions-next{float:left}.revisions-controls .wp-slider{max-width:70%;margin:0 auto;top:-3px}.revisions-diff{padding:15px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-diff h3:first-child{margin-top:0}#revisions-meta-restored img,.post-revisions li img{vertical-align:middle}table.diff tbody tr td:nth-child(2){width:4%}table.diff{table-layout:fixed;width:100%;white-space:pre-wrap}table.diff col.content{width:auto}table.diff col.content.diffsplit{width:48%}table.diff col.diffsplit.middle{width:auto}table.diff col.ltype{width:30px}table.diff tr{background-color:transparent}table.diff td,table.diff th{font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.618;padding:.5em;vertical-align:top;word-wrap:break-word}table.diff td h1,table.diff td h2,table.diff td h3,table.diff td h4,table.diff td h5,table.diff td h6{margin:0}table.diff .diff-addedline ins,table.diff .diff-deletedline del{text-decoration:none}table.diff .diff-deletedline{background-color:#ffe9e9}table.diff .diff-deletedline del{background-color:#faa}table.diff .diff-addedline{background-color:#e9ffe9}table.diff .diff-addedline ins{background-color:#afa}.diff-meta{padding:5px;clear:both;min-height:32px}.diff-title strong{line-height:32px;min-width:60px;text-align:left;float:right;margin-left:5px}.revisions-controls .author-card .author-info{font-size:12px;line-height:16px}.revisions-controls .author-card .author-info,.revisions-controls .author-card .avatar{float:right;margin-right:6px;margin-left:6px}.revisions-controls .author-card .byline{display:block;font-size:12px}.revisions-controls .author-card .avatar{vertical-align:middle}.diff-meta input.restore-revision{float:left;margin-right:6px;margin-left:6px;margin-top:4px}.diff-meta-from{display:none}.comparing-two-revisions .diff-meta-from{display:block}.revisions-tooltip{position:absolute;bottom:105px;margin-left:0;margin-right:-69px;z-index:0;max-width:350px;min-width:130px;padding:8px 4px;opacity:0}.revisions-tooltip.flipped{margin-right:0;margin-left:-70px}.revisions.pinned .revisions-tooltip{display:none!important}.comparing-two-revisions .revisions-tooltip{bottom:145px}.revisions-tooltip-arrow{width:70px;height:15px;overflow:hidden;position:absolute;right:0;margin-right:35px;bottom:-15px}.revisions-tooltip.flipped .revisions-tooltip-arrow{margin-right:0;margin-left:35px;right:auto;left:0}.revisions-tooltip-arrow>span{content:"";position:absolute;right:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.revisions-tooltip.flipped .revisions-tooltip-arrow>span{right:auto;left:20px}.ie8 .revisions-tooltip-arrow>span{right:15px;top:-25px;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"}.ie8 .revisions-tooltip.flipped .revisions-tooltip-arrow>span{left:25px}.revisions-tooltip,.revisions-tooltip-arrow>span{border:1px solid #d7d7d7;background-color:#fff}.revisions-tooltip{display:none}.arrow{width:70px;height:16px;overflow:hidden;position:absolute;right:0;margin-right:-35px;bottom:90px;z-index:10000}.arrow:after{z-index:9999;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.arrow.top{top:-16px;bottom:auto}.arrow.left{right:20%}.arrow:after{content:"";position:absolute;right:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.revisions-tooltip,.revisions-tooltip-arrow:after{border-width:1px;border-style:solid}div.revisions-controls>.wp-slider>.ui-slider-handle{margin-right:-10px}.rtl div.revisions-controls>.wp-slider>.ui-slider-handle{margin-left:-10px}.wp-slider.ui-slider{position:relative;border:1px solid #d7d7d7;text-align:right;cursor:pointer}.wp-slider .ui-slider-handle{-webkit-border-radius:50%;border-radius:50%;height:18px;margin-top:-3px;outline:0;position:absolute;width:18px;z-index:2;-ms-touch-action:none;touch-action:none}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#00a0d2;border:1px solid #0073aa;-webkit-box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15)}.wp-slider .ui-slider-handle:before{background:0 0;position:absolute;top:0;right:0;color:#fff;content:"\f229";font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{font-size:20px!important;margin:-1px -1px 0 0}.wp-slider .ui-slider-handle.from-handle:before{content:'\f139'}.rtl .wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{content:'\f141'}.rtl .wp-slider .ui-slider-handle.to-handle:before{content:'\f139';left:-1px}.wp-slider .ui-slider-range{position:absolute;font-size:.7em;display:block;border:0;background-color:transparent;background-image:none}.wp-slider.ui-slider-horizontal{height:.7em}.wp-slider.ui-slider-horizontal .ui-slider-handle{top:-.25em;margin-right:-.6em}.wp-slider.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.wp-slider.ui-slider-horizontal .ui-slider-range-min{right:0}.wp-slider.ui-slider-horizontal .ui-slider-range-max{left:0}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.revision-tick.completed-false{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){#diff-next-revision,#diff-previous-revision{margin-top:-1em}table.diff{-ms-word-break:break-all;word-break:break-all;word-wrap:break-word}}.media-item .describe{border-collapse:collapse;width:100%;border-top:1px solid #dfdfdf;clear:both;cursor:default}.media-item.media-blank .describe{border:0}.media-item .describe th{vertical-align:top;text-align:right;padding:5px 10px 10px;width:140px}.media-item .describe .align th{padding-top:0}.media-item .media-item-info tr{background-color:transparent}.media-item .describe td{padding:0 0 8px 8px;vertical-align:top}.media-item thead.media-item-info td{padding:4px 10px 0}.media-item .media-item-info .A1B1{padding:0 10px 0 0}.media-item td.savesend{padding-bottom:15px}.media-item .thumbnail{max-height:128px;max-width:128px}#wpbody-content #async-upload-wrap a{display:none}.media-upload-form{margin-top:20px}.media-upload-form td label{margin-left:6px;margin-right:2px}.media-upload-form .align .field label{display:inline;padding:0 23px 0 0;margin:0 3px 0 1em;font-weight:600}.media-upload-form tr.image-size label{margin:0 5px 0 0;font-weight:600}.media-upload-form th.label label{font-weight:600;margin:.5em;font-size:13px}.media-upload-form th.label label span{padding:0 5px}.media-item .describe input[type=text],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 5px 0 0}.describe-toggle-off,.describe-toggle-on,.media-item .edit-attachment{display:block;line-height:36px;float:left;margin-left:10px}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}.media-upload-form .media-item{min-height:36px;margin-bottom:1px;position:relative;width:100%;background:#fff}.media-upload-form .media-item,.media-upload-form .media-item .error{-webkit-box-shadow:0 1px 0 #dfdfdf;box-shadow:0 1px 0 #dfdfdf}#media-items:empty{border:0}.media-item .filename{line-height:36px;overflow:hidden;margin-right:6px}.media-item .pinkynail{float:right;margin:2px 3px 0 10px;max-width:40px;max-height:32px}.media-item .startclosed,.media-item .startopen{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:left;height:22px;margin:7px 6px;width:200px;line-height:2em;padding:0;overflow:hidden;-webkit-border-radius:22px;border-radius:22px;background:#ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-22px;-webkit-border-radius:22px;border-radius:22px;background-color:#0073aa;-webkit-box-shadow:inset 0 0 2px rgba(0,0,0,.3);box-shadow:inset 0 0 2px rgba(0,0,0,.3)}.media-item .progress .percent{z-index:10;position:relative;width:200px;padding:0;color:#fff;text-align:center;line-height:22px;font-weight:400;text-shadow:0 1px 2px rgba(0,0,0,.2)}.upload-php .fixed .column-parent{width:15%}.js .html-uploader #plupload-upload-ui{display:none}.js .html-uploader #html-upload-ui{display:block}.media-upload-form .media-item .error,.media-upload-form .media-item.error{width:auto;margin:0 0 1px}.media-upload-form .media-item .error{padding:10px 14px 10px 0}.media-item .error-div a.dismiss{display:block;float:left;margin:0 15px 0 10px}.find-box{background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:600px;overflow:hidden;margin-right:-300px;position:fixed;top:30px;bottom:30px;right:50%;z-index:100105}.find-box-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px;position:absolute;top:0;right:0;left:0}.find-box-inside{overflow:auto;padding:16px;background-color:#fff;position:absolute;top:37px;bottom:45px;overflow-y:scroll;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.find-box-search{padding-bottom:16px}.find-box-search .spinner{float:none;right:105px;position:absolute}#find-posts-response,.find-box-search{position:relative}#find-posts-input,#find-posts-search{float:right}#find-posts-input{width:140px;height:28px;margin:0 0 0 4px}.widefat .found-radio{padding-left:0;width:16px}#find-posts-close{width:36px;height:36px;position:absolute;top:0;left:0;cursor:pointer;text-align:center;color:#666}#find-posts-close:hover{color:#00a0d2}#find-posts-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f158'}.find-box-buttons{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;right:0;left:0}@media screen and (max-width:782px){.find-box-inside{bottom:57px}}@media screen and (max-width:660px){.find-box{top:0;bottom:0;right:0;left:0;margin:0;width:100%}}.ui-find-overlay{position:fixed;top:0;right:0;left:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border:1px solid #ddd;line-height:1.8em;word-spacing:3px;-webkit-border-radius:6px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #b4b9be;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#a0a5aa;font-size:14px;margin:5px 0;display:none}.drag-drop .drag-drop-inside p{text-align:center}.drag-drop-inside p.drag-drop-info{font-size:20px}.drag-drop .drag-drop-inside p,.drag-drop-inside p.drag-drop-buttons{display:block}.drag-drop.drag-over #drag-drop-area{border-color:#83b4d8}#plupload-upload-ui{position:relative}.media-frame.mode-grid,.media-frame.mode-grid .attachments-browser .attachments,.media-frame.mode-grid .media-frame-content,.media-frame.mode-grid .uploader-inline-content{position:static}.media-frame.mode-grid .media-frame-menu,.media-frame.mode-grid .media-frame-router,.media-frame.mode-grid .media-frame-title{display:none}.media-frame.mode-grid .media-frame-content{background-color:transparent;border:none}.upload-php .mode-grid .media-sidebar{position:relative;width:auto;margin-bottom:16px;padding:0 16px;border:1px solid #c00;background-color:#feebe8}.upload-php .mode-grid .hide-sidebar .media-sidebar{display:none}.upload-php .mode-grid .media-sidebar .media-uploader-status{border-bottom:none;padding-bottom:0;max-width:100%}.upload-php .mode-grid .media-sidebar .upload-error{margin:20px 0;padding:0;border:none;background:0 0}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors{font-size:0;top:-12px;left:-10px}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:before{content:"\f158";font:400 20px/1 dashicons;color:#666}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before{color:#00a0d2}.upload-php .mode-grid .media-sidebar .media-uploader-status.errors h3{display:none}.media-frame.mode-grid .uploader-inline{position:relative;top:auto;left:auto;right:auto;bottom:auto;padding-top:0;margin-top:0;border:4px dashed #b4b9be}.media-frame.mode-select .attachments-browser.fixed .attachments{position:relative;top:94px;padding-bottom:94px}.media-frame.mode-grid .attachment.details:focus,.media-frame.mode-grid .attachment:focus,.media-frame.mode-grid .selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;outline:0}.media-frame.mode-grid .selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc}.media-frame.mode-grid .attachment.details{-webkit-box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe}.media-frame.mode-grid.mode-select .attachment .thumbnail{opacity:.65}.media-frame.mode-select .attachment.selected .thumbnail{opacity:1}.media-frame.mode-grid .media-toolbar{margin-bottom:15px;height:auto}.media-frame.mode-grid .media-toolbar select{margin:0 0 0 10px;font-size:14px}.media-frame.mode-grid .media-toolbar-secondary>.media-button{margin-top:10px;margin-bottom:10px}.media-frame.mode-grid .attachments-browser .bulk-select{display:inline-block;margin:0 0 0 10px}.media-frame.mode-grid .search{margin-top:0}.media-frame.mode-grid .spinner{margin-top:15px}.attachments-browser .media-toolbar-secondary>.media-button{margin-left:10px}.media-frame.mode-select .attachments-browser.fixed .media-toolbar{position:fixed;top:32px;right:auto;left:20px;margin-top:0}.media-frame.mode-grid .attachments-browser{padding:0}.media-frame.mode-grid .attachments-browser .attachments{padding:2px}.media-frame.mode-grid .attachments-browser .no-media{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.edit-attachment-frame{display:block;height:100%;width:100%}.edit-attachment-frame .edit-media-header{overflow:hidden}.upload-php .media-modal-close .media-modal-icon:before{content:'\f335';font-size:22px}.upload-php .media-modal-close .media-modal-icon{margin:14px;width:22px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{cursor:pointer;color:#777;background-color:transparent;height:50px;width:50px;padding:0;position:absolute;text-align:center;border:0;border-right:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.upload-php .media-modal-close{top:0;left:0}.edit-attachment-frame .edit-media-header .left{left:102px}.edit-attachment-frame .edit-media-header .right{left:51px}.edit-attachment-frame .media-frame-title{right:0;left:150px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.edit-attachment-frame .edit-media-header .left:focus,.edit-attachment-frame .edit-media-header .left:hover,.edit-attachment-frame .edit-media-header .right:focus,.edit-attachment-frame .edit-media-header .right:hover,.upload-php .media-modal-close:focus,.upload-php .media-modal-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0}.upload-php .media-modal-close:focus .media-modal-icon:before,.upload-php .media-modal-close:hover .media-modal-icon:before{color:#000}.edit-attachment-frame .edit-media-header .left:before,.rtl .edit-attachment-frame .edit-media-header .right:before{content:'\f341'}.edit-attachment-frame .edit-media-header .right:before,.rtl .edit-attachment-frame .edit-media-header .left:before{content:'\f345'}.edit-attachment-frame .edit-media-header .left.disabled,.edit-attachment-frame .edit-media-header .left.disabled:hover,.edit-attachment-frame .edit-media-header .right.disabled,.edit-attachment-frame .edit-media-header .right.disabled:hover{color:#ccc;background:inherit;cursor:default;pointer-events:none}.edit-attachment-frame .media-frame-content,.edit-attachment-frame .media-frame-router{right:0}.edit-attachment-frame .media-frame-content{border-bottom:none;bottom:0;top:50px}.edit-attachment-frame .attachment-details{position:absolute;overflow:auto;top:0;bottom:0;left:0;right:0;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1)}.edit-attachment-frame .attachment-media-view{float:right;width:65%;height:100%}.edit-attachment-frame .attachment-media-view .thumbnail{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:16px;height:100%}.edit-attachment-frame .attachment-media-view .details-image{display:block;margin-bottom:16px;max-width:100%;max-height:90%;max-height:-webkit-calc(100% - 42px);max-height:calc(100% - 42px)}.edit-attachment-frame .wp-media-wrapper{margin-bottom:12px}.edit-attachment-frame input,.edit-attachment-frame textarea{padding:6px 8px;line-height:16px}.edit-attachment-frame .attachment-info{overflow:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:0;padding:12px 16px 0;width:35%;height:100%;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);border-bottom:0;border-right:1px solid #ddd;background:#f3f3f3}.edit-attachment-frame .attachment-info .details,.edit-attachment-frame .attachment-info .settings{position:relative;overflow:hidden;float:none;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #ddd}.edit-attachment-frame .attachment-info .filename{font-weight:400;color:#666}.edit-attachment-frame .attachment-info .thumbnail{margin-bottom:12px}.attachment-info .actions{margin-bottom:16px}.attachment-info .actions a{display:inline;text-decoration:none}.wp_attachment_details label[for=content]{font-size:13px;line-height:1.5;margin:1em 0}.wp_attachment_details #attachment_caption{height:4em}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0 0}.describe .imgedit-wrap .imgedit-settings{padding:0 5px}.wp_attachment_holder div.updated{margin-top:0}.wp_attachment_holder .imgedit-wrap>div{height:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-panel-content{padding-left:16px;width:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-settings{float:left;width:250px}.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:url(../images/spinner.gif) center/20px 20px no-repeat #fff;-webkit-background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.no-float{float:none}.imgedit-settings .disabled,.media-disabled{color:grey}.A1B1,.wp_attachment_image{overflow:hidden}.A1B1 .button,.wp_attachment_image .button{float:right}.no-js .wp_attachment_image .button{display:none}.A1B1 .spinner,.wp_attachment_image .spinner{float:right}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:right;width:32px;border:1px solid #d5d5d5;background:#f1f1f1;margin:0 0 0 8px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;line-height:28px;color:#777;cursor:pointer}.imgedit-menu div:before{font:400 20px/1 dashicons;speak:none;vertical-align:middle}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;color:#32373c}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;color:#777;filter:alpha(opacity=50);opacity:.5;cursor:default}.imgedit-crop:before{content:'\f165'}.imgedit-rleft:before{content:'\f166'}.imgedit-rright:before{content:'\f167'}.imgedit-flipv:before{content:'\f168'}.imgedit-fliph:before{content:'\f169'}.imgedit-undo:before{content:'\f171'}.imgedit-redo:before{content:'\f172'}.imgedit-crop-wrap{position:relative}.imgedit-crop{margin:0 0 0 8px}.imgedit-rleft{margin:0 3px}.imgedit-rright{margin:0 3px 0 8px}.imgedit-flipv{margin:0 3px}.imgedit-fliph{margin:0 3px 0 8px}.imgedit-undo{margin:0 3px}.imgedit-redo{margin:0 3px 0 8px}.imgedit-applyto img{margin:0 0 0 8px}.imgedit-group-top{margin:5px 0}#poststuff .imgedit-group-top h3{padding:0}.imgedit-group-top h3 a{text-decoration:none}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic}a.imgedit-help-toggle{text-decoration:none}.form-table td.imgedit-response{padding:0}.imgedit-submit{margin:8px 0}.imgedit-submit-btn{margin-right:20px}.imgedit-wrap .nowrap{white-space:nowrap}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle}.imgedit-group{margin-bottom:8px;padding:2px 10px}audio,video{display:inline-block;max-width:100%}.mejs-container{width:100%;max-width:100%}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.imgedit-wait{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){.wp_attachment_details label[for=content]{font-size:14px;line-height:1.5em}.media-upload-form .media-item .error,.media-upload-form .media-item.error{font-size:13px;line-height:1.5}.media-upload-form .media-item.error{padding:1px 10px}.media-upload-form .media-item .error{padding:10px 12px 10px 0}}@media only screen and (max-width:1120px){#wp-media-grid .wp-filter .attachment-filters{max-width:100%}}@media only screen and (max-width:782px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:46px;left:10px}}@media only screen and (max-width:600px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:0}}@media only screen and (max-width:480px){.edit-attachment-frame .media-frame-title{left:110px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{width:40px;height:40px}.upload-php .media-modal-close .media-modal-icon{margin:9px 10px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{line-height:40px!important}.edit-attachment-frame .edit-media-header .left{left:82px}.edit-attachment-frame .edit-media-header .right{left:41px}.edit-attachment-frame .media-frame-content{top:40px}.edit-attachment-frame .attachment-media-view{float:none;height:auto;width:100%}.edit-attachment-frame .attachment-info{height:auto;width:100%}}@media only screen and (max-width:640px),screen and (max-height:400px){.upload-php .mode-grid .media-sidebar{max-width:100%}}.theme-browser .themes{clear:both;padding:0 0 100px}.themes-php .wrap h2{float:right;margin-bottom:15px}.network-admin.themes-php .wrap h2{margin-bottom:0}.themes-php .wrap h2 .button{margin-right:20px}.themes-php .wp-filter-search{position:relative;top:-2px;right:20px;margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5}.themes-php div.error,.themes-php div.notice,.themes-php div.updated{margin:0 0 20px;clear:both}.themes-php div.updated a{text-decoration:underline}.theme-browser .theme{cursor:pointer;float:right;margin:0 0 4% 4%;position:relative;width:30.6%;border:1px solid #dedede;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ie8 .theme-browser .theme{width:30%;margin:0 0 4% 3%}.theme-browser .theme:nth-child(3n){margin-left:0}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:pointer}.theme-browser .theme .theme-name{font-size:15px;font-weight:600;height:18px;margin:0;padding:15px;-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#fff;background:rgba(255,255,255,.65)}.theme-browser .theme .theme-actions{-ms-filter:"alpha(Opacity=0)";opacity:0;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out;position:absolute;bottom:0;left:0;height:38px;padding:9px 10px 0;background:rgba(244,244,244,.7);border-right:1px solid rgba(0,0,0,.05)}.theme-browser .theme.focus .theme-actions,.theme-browser .theme:focus .theme-actions,.theme-browser .theme:hover .theme-actions{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-actions .button-primary{margin-left:3px}.theme-browser .theme .theme-actions .button-secondary{float:none;margin-right:3px}.theme-browser .theme .theme-screenshot{display:block;overflow:hidden;position:relative;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme .theme-screenshot:after{content:'';display:block;padding-top:66.66666%}.theme-browser .theme .theme-screenshot img{height:auto;position:absolute;right:0;top:0;width:100%;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme:focus .theme-screenshot,.theme-browser .theme:hover .theme-screenshot{background:#fff}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:.4}.theme-browser .theme .more-details{-ms-filter:"alpha(Opacity=0)";opacity:0;position:absolute;top:35%;left:25%;right:25%;background:#23282d;background:rgba(0,0,0,.7);color:#fff;font-size:15px;text-shadow:0 1px 0 rgba(0,0,0,.6);-webkit-font-smoothing:antialiased;font-weight:600;padding:15px 12px;text-align:center;-webkit-border-radius:3px;border-radius:3px;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}.theme-browser .theme:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.theme-browser .theme:focus .more-details{opacity:1}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser.rendered .theme:focus .more-details,.theme-browser.rendered .theme:hover .more-details{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-installed,.theme-browser .theme .theme-update{background:#d54e21;background:rgba(213,78,33,.95);color:#fff;display:block;font-size:13px;font-weight:400;height:48px;line-height:48px;padding:0 10px;position:absolute;top:0;left:0;right:0;border-bottom:1px solid rgba(0,0,0,.25);overflow:hidden}.theme-browser .theme .theme-installed:before,.theme-browser .theme .theme-update:before{content:'\f463';display:inline-block;font:400 20px/1 dashicons;margin:0 0 0 6px;opacity:.8;position:relative;top:5px;speak:none;-webkit-font-smoothing:antialiased}.theme-browser .theme.active .theme-name{background:#2f2f2f;color:#fff;padding-left:110px;font-weight:300;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.5)}.theme-browser .customize-control .theme.active .theme-name{padding-left:15px}.theme-browser .theme.active .theme-name span{font-weight:600}.theme-browser .theme.active .theme-actions{background:rgba(49,49,49,.7);border-right:none;opacity:1}.theme-browser .theme.active .theme-actions .button-primary{margin-left:0}.theme-browser .theme .theme-author{background:#23282d;color:#eee;display:none;font-size:14px;margin:0 10px;padding:5px 10px;position:absolute;bottom:56px}.theme-browser .theme.display-author .theme-author{display:block}.theme-browser .theme.display-author .theme-author a{color:inherit;text-decoration:none}.theme-browser .theme.add-new-theme{border:none;-webkit-box-shadow:none;box-shadow:none}.theme-browser .theme.add-new-theme a{color:#999;text-decoration:none;display:block;position:relative;z-index:1}.theme-browser .theme.add-new-theme a:after{display:block;content:'';background:0 0;position:absolute;top:0;right:0;left:0;bottom:0;padding:0;text-shadow:none;border:5px dashed #d5d2ca;border:5px dashed rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.theme-browser .theme.add-new-theme span:after{background:#e5e5e5;background:rgba(153,153,153,.1);-webkit-border-radius:50%;border-radius:50%;display:inline-block;content:'\f132';-webkit-font-smoothing:antialiased;font:400 74px/115px dashicons;width:100px;height:100px;vertical-align:middle;text-align:center;color:#999;position:absolute;top:30%;right:50%;margin-right:-50px;text-indent:-4px;padding:0;text-shadow:none;z-index:4}.rtl .theme-browser .theme.add-new-theme span:after{text-indent:4px}.theme-browser .theme.add-new-theme a:focus .theme-screenshot,.theme-browser .theme.add-new-theme a:hover .theme-screenshot{background:0 0}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{background:#fff;color:#0073aa}.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{border-color:transparent;color:#fff;background:#0073aa;content:''}.theme-browser .theme.add-new-theme .theme-name{background:0 0;text-align:center;-webkit-box-shadow:none;box-shadow:none;font-weight:400;position:relative;top:0;margin-top:-18px;padding-top:0;padding-bottom:48px}.theme-browser .theme.add-new-theme a:focus .theme-name,.theme-browser .theme.add-new-theme a:hover .theme-name{color:#fff;z-index:2}.theme-overlay .theme-backdrop{position:absolute;right:-20px;left:0;top:0;bottom:0;background:#f1f1f1;background:rgba(238,238,238,.9);z-index:10}.theme-overlay .theme-header{position:absolute;top:0;right:0;left:0;height:48px;border-bottom:1px solid #ddd}.theme-overlay .theme-header button{padding:0}.theme-overlay .theme-header .close{cursor:pointer;height:48px;width:50px;text-align:center;float:left;border:0;border-right:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:before{font:400 22px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.theme-overlay .theme-header .left,.theme-overlay .theme-header .right{cursor:pointer;color:#777;background-color:transparent;height:48px;width:54px;float:right;text-align:center;border:0;border-left:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:focus,.theme-overlay .theme-header .right:hover{background:#ddd;border-color:#ccc;color:#000}.theme-overlay .theme-header .close:focus:before,.theme-overlay .theme-header .close:hover:before{color:#000}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .right:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}.theme-overlay .theme-header .left.disabled,.theme-overlay .theme-header .left.disabled:hover,.theme-overlay .theme-header .right.disabled,.theme-overlay .theme-header .right.disabled:hover{color:#ccc;background:inherit;cursor:inherit}.theme-overlay .theme-header .left:before,.theme-overlay .theme-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.theme-overlay .theme-header .left:before{content:"\f345"}.theme-overlay .theme-header .right:before{content:"\f341"}.theme-overlay .theme-wrap{clear:both;position:fixed;top:9%;right:190px;left:30px;bottom:3%;background:#fff;-webkit-box-shadow:0 1px 20px 5px rgba(0,0,0,.1);box-shadow:0 1px 20px 5px rgba(0,0,0,.1);z-index:20;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.theme-overlay .theme-wrap:after{content:".";display:block;height:0;clear:both;visibility:hidden}body.folded .theme-overlay .theme-wrap{right:70px}.theme-overlay .theme-about{position:absolute;top:49px;bottom:57px;right:0;left:0;overflow:auto;padding:2% 4%}.theme-overlay .theme-about:after{content:".";display:block;height:0;clear:both;visibility:hidden}.theme-overlay .theme-actions{position:absolute;text-align:center;bottom:0;right:0;left:0;padding:10px 25px 5px;background:#f3f3f3;z-index:30;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-top:1px solid #eee}.ie8 .theme-overlay .theme-actions{border:1px solid #eee}.theme-overlay .theme-actions a{margin-left:5px;margin-bottom:5px}.customize-support .theme-overlay .theme-actions a[href="themes.php?page=custom-header"],.customize-support .theme-overlay .theme-actions a[href="themes.php?page=custom-background"]{display:none}.broken-themes a.delete-theme,.theme-overlay .theme-actions .delete-theme{color:#a00;text-decoration:none;border-color:transparent;-webkit-box-shadow:none;box-shadow:none;background:0 0}.theme-overlay .theme-actions .delete-theme{position:absolute;left:10px;bottom:5px}.broken-themes a.delete-theme:focus,.broken-themes a.delete-theme:hover,.theme-overlay .theme-actions .delete-theme:focus,.theme-overlay .theme-actions .delete-theme:hover{background:#d54e21;color:#fff;border-color:#d54e21}.theme-overlay .theme-actions .active-theme,.theme-overlay.active .theme-actions .inactive-theme{display:none}.theme-overlay .theme-actions .inactive-theme,.theme-overlay.active .theme-actions .active-theme{display:block}.theme-overlay .theme-screenshots{float:right;margin:0 0 0 30px;width:55%;max-width:880px;text-align:center}.theme-overlay .screenshot{border:1px solid #fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.theme-overlay .screenshot:after{content:'';display:block;padding-top:75%}.theme-overlay .screenshot img{height:auto;position:absolute;right:0;top:0;width:100%}.theme-overlay.small-screenshot .theme-screenshots{position:absolute;width:302px}.theme-overlay.small-screenshot .theme-info{margin-right:350px;width:auto}.theme-overlay .screenshot.thumb{background:#ccc;border:1px solid #eee;float:none;display:inline-block;margin:10px 5px 0;width:140px;height:80px;cursor:pointer}.theme-overlay .screenshot.thumb:after{content:'';display:block;padding-top:100%}.theme-overlay .screenshot.thumb img{cursor:pointer;position:absolute;right:0;top:0;width:100%;height:auto}.theme-overlay .screenshot.selected{background:0 0;border:2px solid #00a0d2}.theme-overlay .screenshot.selected img{opacity:.8}.theme-browser .theme .theme-screenshot.blank,.theme-overlay .screenshot.blank{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.theme-overlay .theme-info{width:40%;float:right}.theme-overlay .current-label{background:#32373c;color:#fff;font-size:11px;display:inline-block;padding:2px 8px;-webkit-border-radius:2px;border-radius:2px;margin:0 0 -10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.theme-overlay .theme-name{color:#23282d;font-size:32px;font-weight:100;margin:10px 0 0;line-height:1.3}.theme-overlay .theme-version{color:#999;font-size:13px;font-weight:400;float:none;display:inline-block;margin-right:10px}.theme-overlay .theme-author{color:#686868;font-size:16px;font-weight:400;margin:15px 0 25px}.theme-overlay .theme-author a{text-decoration:none}.theme-overlay .theme-description{color:#555;font-size:15px;font-weight:400;line-height:1.5;margin:30px 0 0}.theme-overlay .theme-tags{border-top:3px solid #eee;color:#82878c;font-size:13px;font-weight:400;margin:30px 0 0;padding-top:20px}.theme-overlay .theme-tags span{color:#444;font-weight:700;margin-left:5px}.theme-overlay .theme-update-message{background:#fef7f1;border:1px solid #eee;border-right:4px solid #d54e21;-webkit-border-radius:3px;border-radius:3px;padding:5px 20px 10px}.theme-overlay .theme-update{color:#23282d;font-size:18px;display:inline-block;line-height:40px;margin:0}.theme-overlay .parent-theme{background:#f7fcfe;border:1px solid #eee;border-right:4px solid #00a0d2;font-size:14px;font-weight:400;margin-top:30px;padding:10px 20px 10px 10px}.theme-overlay .parent-theme strong{font-weight:700}.single-theme .theme,.single-theme .theme-overlay .theme-backdrop,.single-theme .theme-overlay .theme-header{display:none}.single-theme .theme-overlay .theme-wrap{clear:both;min-height:330px;position:relative;right:auto;left:auto;top:auto;bottom:auto}.single-theme .theme-overlay .theme-about{padding:30px 30px 70px;position:static}.single-theme .theme-overlay .theme-actions{position:absolute}@media only screen and (min-width:2000px){#wpwrap .theme-browser .theme{width:17.6%;margin:0 0 3% 3%}#wpwrap .theme-browser .theme:nth-child(3n),#wpwrap .theme-browser .theme:nth-child(4n){margin-left:3%}#wpwrap .theme-browser .theme:nth-child(5n){margin-left:0}}@media only screen and (min-width:1680px){.theme-overlay .theme-wrap{width:1450px;margin:0 auto}}@media only screen and (min-width:1640px){.theme-browser .theme{width:22.7%;margin:0 0 3% 3%}.theme-browser .theme .theme-screenshot:after{padding-top:75%}.theme-browser .theme:nth-child(3n){margin-left:3%}.theme-browser .theme:nth-child(4n){margin-left:0}}@media only screen and (max-width:1120px){.theme-browser .theme{width:47.5%;margin-left:0}.theme-browser .theme:nth-child(even){margin-left:0}.theme-browser .theme:nth-child(odd){margin-left:5%}}@media only screen and (max-width:900px){.theme-overlay .theme-wrap{right:65px}}@media only screen and (max-width:780px){.theme-overlay .theme-wrap,body.folded .theme-overlay .theme-wrap{top:0;left:0;bottom:0;right:0;padding:70px 20px 20px;border:none;z-index:100000;position:fixed}.theme-browser .theme.active .theme-name span{display:none}.theme-overlay .theme-screenshots{width:40%}.theme-overlay .theme-info{width:50%}.single-theme .theme-wrap{padding:10px}.theme-browser .theme .theme-actions{padding:5px 10px 4px}.theme-overlay.small-screenshot .theme-screenshots{position:static;float:none;max-width:302px}.theme-overlay.small-screenshot .theme-info{margin-right:0;width:auto}.theme:focus .more-details,.theme:hover .more-details,.theme:not(.active):focus .theme-actions,.theme:not(.active):hover .theme-actions{display:none}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:1}}@media only screen and (max-width:480px){.theme-browser .theme{width:100%;margin-left:0}.theme-browser .theme:nth-child(2n),.theme-browser .theme:nth-child(3n){margin-left:0}}@media only screen and (max-width:650px){.theme-overlay .theme-description,.theme-overlay .theme-update{margin-right:0}.theme-overlay .theme-actions .delete-theme{position:relative;left:auto;bottom:auto}.theme-overlay .theme-actions .inactive-theme{display:inline}.theme-overlay .theme-screenshots{width:100%;float:none}.theme-overlay .theme-info{width:100%}.theme-overlay .theme-author{margin:5px 0 15px}.theme-overlay .current-label{margin-top:10px;font-size:13px}.themes-php .wrap h2{width:100%}.themes-php .wp-filter-search{float:none;clear:both;right:0;top:0;left:0;margin:10px 0;width:100%;max-width:280px}.theme-browser .theme.add-new-theme span:after{font:400 60px/90px dashicons;width:80px;height:80px;top:30%;right:50%;text-indent:0;margin-right:-40px}.single-theme .theme-wrap{margin:0 -10px 0 -12px;padding:10px}.single-theme .theme-overlay .theme-about{padding:10px;overflow:visible}.single-theme .current-label{display:none}.single-theme .theme-overlay .theme-actions{position:static}}.broken-themes{clear:both}.broken-themes table{text-align:right;width:50%;border-spacing:3px;padding:3px}.theme-browser .theme .theme-installed{background:#0073aa}.theme-browser .theme .theme-installed:before{content:'\f147'}.theme-browser .theme.is-installed .theme-actions .button-primary{display:none!important}.theme-install-php a.browse-themes,.theme-install-php a.upload{cursor:pointer}.theme-install-php a.browse-themes,.theme-install-php.show-upload-theme a.upload{display:none}.theme-install-php.show-upload-theme a.browse-themes{display:inline}.upload-plugin,.upload-theme{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:none;margin:0;padding:0;width:100%;overflow:hidden;position:relative;top:10px}.upload-plugin,body.show-upload-theme .upload-theme{display:block}.upload-plugin .wp-upload-form,.upload-theme .wp-upload-form{background:#fafafa;border:1px solid #e5e5e5;padding:30px;margin:30px auto;max-width:380px}.upload-plugin .install-help,.upload-theme .install-help{color:#999;font-size:18px;font-style:normal;margin:0;padding:40px 0 0;text-align:center}body.show-upload-theme .upload-theme+.wp-filter,body.show-upload-theme .upload-theme+.wp-filter+.theme-browser{display:none}p.no-themes{clear:both;color:#666;font-size:18px;font-style:normal;margin:0;padding:0;text-align:center;display:none}body.no-results p.no-themes{display:block}.theme-install-php .add-new-theme,body.show-upload-theme p.no-themes{display:none!important}@media only screen and (max-width:1120px){.upload-theme .wp-upload-form{margin:20px 0;max-width:100%}.upload-theme .install-help{font-size:15px;padding:20px 0 0;text-align:right}}.rating{margin:15px 0 0}.rating span:before{color:#e6b800;content:"\f154";display:inline-block;-webkit-font-smoothing:antialiased;font:400 20px/1 dashicons;vertical-align:top}.rating-10 span.one:before,.rating-30 span.two:before,.rating-50 span.three:before,.rating-70 span.four:before,.rating-90 span.five:before{content:"\f459"}.rating-100 span.five:before,.rating-100 span.four:before,.rating-100 span.one:before,.rating-100 span.three:before,.rating-100 span.two:before,.rating-20 span.one:before,.rating-30 span.one:before,.rating-40 span.one:before,.rating-40 span.two:before,.rating-50 span.one:before,.rating-50 span.two:before,.rating-60 span.one:before,.rating-60 span.three:before,.rating-60 span.two:before,.rating-70 span.one:before,.rating-70 span.three:before,.rating-70 span.two:before,.rating-80 span.four:before,.rating-80 span.one:before,.rating-80 span.three:before,.rating-80 span.two:before,.rating-90 span.four:before,.rating-90 span.one:before,.rating-90 span.three:before,.rating-90 span.two:before{content:"\f155"}.rating .ratings{display:block;line-height:20px;color:#999}.appearance_page_custom-header #headimg{border:1px solid #DFDFDF;overflow:hidden;width:100%}.appearance_page_custom-header #upload-form p label{font-size:12px}.appearance_page_custom-header .available-headers .default-header{float:right;margin:0 0 20px 20px}.appearance_page_custom-header .random-header{clear:both;margin:0 0 20px 20px;vertical-align:middle}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-left:10px}.appearance_page_custom-header .available-headers label img{vertical-align:middle}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf}div#custom-background-image img{max-width:400px;max-height:300px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:0 0;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;right:0;left:0;height:100%;min-width:0}.wp-full-overlay-sidebar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:fixed;width:300px;height:100%;top:0;bottom:0;right:0;padding:0;margin:0;z-index:10;background:#eee;border-left:none}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-right:0!important}.wp-full-overlay.expanded{margin-right:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-right:-300px}.wp-full-overlay-sidebar:after{content:'';display:block;position:absolute;top:0;bottom:0;left:0;width:3px;z-index:1000}.wp-full-overlay-main{position:absolute;right:0;left:0;top:0;bottom:0;height:100%}#customize-preview.wp-full-overlay-main{background:url(../images/spinner.gif) center center/20px 20px no-repeat;-webkit-background-size:20px 20px}#customize-preview.wp-full-overlay-main.iframe-ready{background:0 0}.wp-full-overlay-sidebar .wp-full-overlay-header{position:absolute;right:0;left:0;height:45px;padding:0 15px;line-height:45px;z-index:10;margin:0;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:none;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;right:0;left:0;overflow:auto}.theme-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header{padding:0}.theme-install-overlay .close-full-overlay,.theme-install-overlay .next-theme,.theme-install-overlay .previous-theme{display:block;position:relative;float:right;width:45px;height:45px;padding-left:2px;background:#eee;border-left:1px solid #ddd;color:#444;cursor:pointer;text-decoration:none;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-install-overlay .close-full-overlay:focus,.theme-install-overlay .close-full-overlay:hover,.theme-install-overlay .next-theme:focus,.theme-install-overlay .next-theme:hover,.theme-install-overlay .previous-theme:focus,.theme-install-overlay .previous-theme:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.theme-install-overlay .close-full-overlay:before{font:400 22px/1 dashicons;content:"\f335";position:relative;top:7px;right:13px}.theme-install-overlay .previous-theme:before{font:400 20px/1 dashicons;content:"\f345";position:relative;top:6px;right:14px}.theme-install-overlay .next-theme:before{font:400 20px/1 dashicons;content:"\f341";position:relative;top:6px;right:13px}.theme-install-overlay .next-theme.disabled,.theme-install-overlay .next-theme.disabled:focus,.theme-install-overlay .next-theme.disabled:hover,.theme-install-overlay .previous-theme.disabled,.theme-install-overlay .previous-theme.disabled:focus,.theme-install-overlay .previous-theme.disabled:hover{color:#b4b9be;background:#eee;cursor:default;pointer-events:none}.wp-full-overlay a.collapse-sidebar{position:absolute;bottom:12px;right:0;z-index:50;display:block;width:19px;height:19px;margin-right:15px;padding:0;-webkit-border-radius:50%;border-radius:50%;color:#777;text-decoration:none}.wp-full-overlay a.collapse-sidebar:hover{color:#0073aa}.wp-full-overlay.collapsed .collapse-sidebar{position:absolute;right:100%}.wp-full-overlay .collapse-sidebar-arrow{position:static;margin-top:0;margin-right:0;display:block;width:auto;height:auto;background:0 0}.wp-full-overlay .collapse-sidebar-arrow:before{-webkit-border-radius:50%;border-radius:50%;float:right;content:"\f148";background:#eee;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.rtl .wp-full-overlay .collapse-sidebar-arrow:before,.wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:none;-ms-transform:none;transform:none}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:-1px -109px}.wp-full-overlay .collapse-sidebar-label{position:absolute;right:100%;line-height:20px;margin-right:10px}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main,.wp-full-overlay-sidebar{-webkit-transition-property:right,left,top,bottom,width,margin;transition-property:right,left,top,bottom,width,margin;-webkit-transition-duration:.2s;transition-duration:.2s}.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#customize-container{display:none;background:#fff;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;right:0;left:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:url(../images/spinner.gif) center center/20px 20px no-repeat fixed #fff;-webkit-background-size:20px 20px}#customize-container iframe,.theme-install-overlay iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#customize-controls{margin-top:0}.theme-install-overlay{display:none}.theme-install-overlay.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 60px}.single-theme .install-theme-info{padding-top:15px}.theme-install-overlay .install-theme-info{display:block}.install-theme-info .theme-install{float:left;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:right}.theme-details .star-rating{margin:7px 0;float:left}.theme-details .theme-description{float:right;color:#777;line-height:20px;max-width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{float:left;margin:8px 0 0 10px;line-height:26px}.theme-install-overlay .wp-full-overlay-sidebar{background:#eee;border-left:1px solid #ddd}.theme-install-overlay .wp-full-overlay-sidebar-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.theme-install-overlay .wp-full-overlay-main{background:url(../images/spinner.gif) center center/20px 20px no-repeat #fff;-webkit-background-size:20px 20px}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-full-overlay .collapse-sidebar-arrow{background-image:url(../images/arrows-2x.png);-webkit-background-size:15px 123px;background-size:15px 123px}#customize-preview.wp-full-overlay-main,.customize-loading #customize-container,.theme-install-overlay .wp-full-overlay-main{background-image:url(../images/spinner-2x.gif)}.theme-install-overlay .wp-full-overlay-header .theme-install{margin-top:2px}}@media screen and (max-width:782px){.available-theme .action-links .delete-theme{float:none;margin:0;padding:0;clear:both}.available-theme .action-links .delete-theme a{padding:0}.broken-themes table{width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{margin-top:6px;line-height:normal}}.about-wrap{position:relative;margin:25px 20px 0 40px;max-width:1050px;font-size:15px}.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;max-width:100%;height:auto;vertical-align:middle}.wp-badge{background:url(../images/w-logo-white.png?ver=20131202) center 24px/85px 85px no-repeat #0073aa;-webkit-background-size:85px 85px;color:#78c8e6;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:150px;text-rendering:optimizeLegibility;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.svg .wp-badge{background-image:url(../images/wordpress-logo-white.svg?ver=20131110)}.about-wrap .wp-badge{position:absolute;top:0;left:0}.about-wrap h2.nav-tab-wrapper{padding-right:6px}.about-wrap h2 .nav-tab{padding:4px 15px 6px;margin:0 0 -1px 3px;font-size:18px;vertical-align:top;border-width:1px;white-space:nowrap}.about-wrap p{line-height:1.6em;font-size:14px}.about-wrap h1{margin:.2em 0 0 200px;color:#32373c;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h3{margin:1.25em 0 .6em;font-size:1.25em;line-height:1.5em}.about-wrap h4{color:#23282d}.about-wrap code,.about-wrap ol li p{font-size:14px}.about-wrap .about-description,.about-wrap .about-text{margin-top:1.4em;font-weight:400;line-height:1.6em;font-size:19px}.about-wrap .about-text{margin:1em 0 1em 200px;min-height:60px;color:#777}.about-wrap .two-col>div{position:relative;width:47.6%;margin-left:4.799999999%;float:right}.about-wrap .three-col>div{position:relative;width:29.95%;margin-left:4.999999999%;float:right}.about-wrap [class$=col] .last-feature{margin-left:0}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #dfdfdf}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.about-wrap .headline-feature h2{margin:50px 0 30px;font-size:2.2em;font-weight:300;line-height:1.3;text-align:right}.about-wrap .headline-feature h3{margin-top:30px;text-align:center}.about-wrap .feature-list h2{margin:30px 0 15px;text-align:center}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap .feature-video{position:relative;margin:40px 0;padding-bottom:56.25%;width:100%;height:0;text-align:center}.about-wrap .feature-video embed{position:absolute;top:0;right:0;width:100%;height:100%}.about-wrap .featured-image{text-align:center}.about-wrap .feature-section{overflow:hidden;padding:0 0 40px;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .headline-feature .feature-section{margin:0 auto;max-width:95%}.about-wrap .feature-section .col:nth-of-type(odd){float:right;margin:40px 0 0 5%;width:48%}.about-wrap .feature-section .col:nth-of-type(even){float:left;margin:40px 0 0;width:46%}.about-wrap .changelog{margin-bottom:40px}.about-wrap .changelog.feature-section>div{margin-top:40px}.about-wrap .return-to-dashboard{margin:30px -5px 0 0;font-size:14px;font-weight:700}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-right:115px}.about-wrap h4.wp-people-group{margin-top:2.6em;font-size:16px}.about-wrap ul.wp-people-group{overflow:hidden;padding:0 5px;margin:0 -5px 0 -15px}.about-wrap ul.compact{margin-bottom:0}.about-wrap li.wp-person{display:inline-block;vertical-align:top;margin-left:10px;padding-bottom:15px;height:70px;width:280px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap li.wp-person img.gravatar{float:right;margin:0 0 10px 10px;padding:2px;width:60px;height:60px}.about-wrap ul.compact li.wp-person img.gravatar{width:30px;height:30px}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;font-weight:400;line-height:1.6em;text-decoration:none}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:700}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}@media screen and (max-width:782px){.about-wrap .feature-section{padding:0;border-bottom:none}.about-wrap .one-col>div,.about-wrap .three-col>div,.about-wrap .two-col .col:nth-of-type(n),.about-wrap .two-col>div{width:100%;margin:40px 0 0;padding:0 0 40px;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .two-col .col h3{margin-top:0}.about-wrap .three-col img{display:block;margin:0 auto}.about-wrap .feature-list div{margin:0;padding:0;border-bottom:none}.about-wrap .headline-feature .feature-section{max-width:100%}.about-wrap .feature-list .feature-section{padding:0 0 40px}}@media only screen and (max-width:500px){.about-wrap{margin-left:20px;margin-right:10px}.about-wrap .about-text,.about-wrap h1{margin-left:0}.about-wrap .about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap h2.nav-tab-wrapper{padding-right:0;border-bottom:0}.about-wrap h2 .nav-tab{margin-top:10px;margin-left:10px;border-bottom:1px solid #ccc}.about-wrap .headline-feature .feature-section div,.about-wrap .three-col div{width:100%!important;float:none!important}.about-wrap .dfw p{max-width:90%}}@media only screen and (max-width:400px){.about-wrap .feature-list svg{margin-top:15px;height:65px;width:65px}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-right:80px}}.no-js #message{display:block}ul.add-menu-item-tabs li{padding:3px 8px 3px 5px}.accordion-section ul.add-menu-item-tabs,.accordion-section ul.category-tabs,.accordion-section ul.wp-tab-bar{margin:0}.accordion-section .categorychecklist{margin:13px 0}#nav-menu-meta .accordion-section-content{padding:18px 13px}#nav-menu-meta .button-controls{margin-bottom:0}#nav-menus-frame{margin-right:300px;margin-top:23px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-right:-300px;clear:both;float:right;padding-top:0}#menu-settings-column .inside{clear:both;margin:10px 0 0}.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title,.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}.blank-slate .menu-name{height:2em}.blank-slate .menu-settings{border:none;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{color:#999;font-style:italic;font-weight:400;margin-right:4px}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;background:#fbfbfb}.manage-menus select{float:right;margin-left:6px}.manage-menus .selected-menu{float:right;margin:5px 0 0 6px}.manage-menus .submit-btn{float:right;margin-top:1px}.menu-edit #post-body-content h3{margin:1em 0 10px}.menu-settings{border-top:1px solid #eee;margin-top:2em}.menu-settings dl{margin:0 0 10px;overflow:hidden;padding-right:18%}.menu-settings dd{float:right;margin:0;width:100%}.menu-settings dt{float:right;clear:both;width:21.951%;padding:3px 0 0;margin-right:-21.951%}.menu-settings label{vertical-align:baseline}.menu-edit .checkbox-input{margin-top:4px}.theme-location-set{color:#999;font-size:11px}#menu-management-liquid{float:right;min-width:100%;margin-top:3px}#menu-management{position:relative;margin-left:20px;margin-top:-3px;width:100%;background:#f5f5f5}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-top:1px solid #fff;border-bottom:1px solid #dfdfdf;background:#fff}#nav-menu-footer,#nav-menu-header{padding:0 10px}#nav-menu-header{border-bottom:1px solid #dfdfdf;margin-bottom:0}#nav-menu-header .menu-name-label{margin-top:4px}.nav-menus-php #post-body div.error,.nav-menus-php #post-body div.updated{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#menu-management .menu-add-new abbr{font-weight:600}#select-nav-menu-container{text-align:left;padding:0 10px 3px;margin-bottom:5px}#select-nav-menu{width:100px;display:inline}#menu-name-label{margin-top:-2px}.widefat .menu-locations tr+tr td{padding-top:0}.widefat .menu-locations td{vertical-align:middle}.menu-location-title label{font-weight:700}.menu-location-menus select{float:right}#locations-nav-menu-wrapper{padding:5px 0}.locations-nav-menu-select select{float:right;width:160px;margin-left:5px}.locations-row-links{float:right;margin:6px 6px 0 0}.locations-add-menu-link,.locations-edit-menu-link{margin:0 3px}.locations-edit-menu-link{padding-left:3px;border-left:1px solid #ccc}#wpbody .open-label{display:block;float:right}#wpbody .open-label span{padding-left:10px}.js .input-with-default-title{color:#a0a5aa;font-style:italic}#menu-management .inside{padding:0 10px}.accordion-container .howto input,.postbox .howto input{width:180px;float:left}.accordion-container .outer-border{margin:0}.customlinkdiv .howto input{width:180px}.customlinkdiv p{margin-top:0}#nav-menu-theme-locations .howto select{width:100%}#nav-menu-theme-locations .button-controls{text-align:left}.add-menu-item-view-all{height:400px}#menu-container .submit{margin:0 0 10px;padding:0}.nav-menus-php .add-new-menu-action{float:right;margin:6px 6px 0 0;line-height:15px}.nav-menus-php .meta-sep,.nav-menus-php .submitcancel,.nav-menus-php .submitdelete{display:block;float:right;margin:6px 0;line-height:15px}.meta-sep{padding:0 2px}#cancel-save{text-decoration:underline;font-size:12px;margin-right:20px;margin-top:5px}.button-primary.right,.button-secondary.right,.button.right{float:left}.list-controls{float:right;margin-top:5px}.add-to-menu{float:left}.button-controls{clear:both;margin:10px 0}.hide-all,.show-all{cursor:pointer}.hide-all{display:none}#menu-name{width:270px}#manage-menu .inside{padding:0}#available-links dt{display:block}#add-custom-link .howto{font-size:12px}#add-custom-link label span{display:block;float:right;margin-top:5px;padding-left:5px}.menu-item-textbox{width:180px}.nav-menus-php .howto span{margin-top:6px;display:block;float:right}.quick-search{width:190px}.quick-search-wrap .spinner{float:none;margin:0 5px}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0 0 5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-left:3px;margin-top:-3px}.menu-item-title input[type=checkbox]{display:inline-block;margin-top:-4px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{margin:0;padding:.1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:9px 0 0}.menu-item-bar .menu-item-handle{border:1px solid #dfdfdf;position:relative;padding:10px 15px;height:auto;min-height:20px;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}.menu-item-bar .menu-item-handle:hover{border-color:#999}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;border-color:#f1acb1}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}.menu li.deleting .menu-item-handle{background-image:none;background-color:#f66}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-left:13em}.menu-item-handle .menu-item-title.no-title{color:#999}li.menu-item.ui-sortable-helper dl{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport dl{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item-depth-0{margin-right:0}.menu-item-depth-1{margin-right:30px}.menu-item-depth-2{margin-right:60px}.menu-item-depth-3{margin-right:90px}.menu-item-depth-4{margin-right:120px}.menu-item-depth-5{margin-right:150px}.menu-item-depth-6{margin-right:180px}.menu-item-depth-7{margin-right:210px}.menu-item-depth-8{margin-right:240px}.menu-item-depth-9{margin-right:270px}.menu-item-depth-10{margin-right:300px}.menu-item-depth-11{margin-right:330px}.menu-item-depth-0 .menu-item-transport{margin-right:0}.menu-item-depth-1 .menu-item-transport{margin-right:-30px}.menu-item-depth-2 .menu-item-transport{margin-right:-60px}.menu-item-depth-3 .menu-item-transport{margin-right:-90px}.menu-item-depth-4 .menu-item-transport{margin-right:-120px}.menu-item-depth-5 .menu-item-transport{margin-right:-150px}.menu-item-depth-6 .menu-item-transport{margin-right:-180px}.menu-item-depth-7 .menu-item-transport{margin-right:-210px}.menu-item-depth-8 .menu-item-transport{margin-right:-240px}.menu-item-depth-9 .menu-item-transport{margin-right:-270px}.menu-item-depth-10 .menu-item-transport{margin-right:-300px}.menu-item-depth-11 .menu-item-transport{margin-right:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{color:#777;font-size:12px;padding:12px 10px;line-height:18px;display:block}.item-controls{font-size:12px;position:absolute;left:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls a:hover{cursor:pointer}.item-controls .item-order{padding-left:10px}.nav-menus-php .item-edit{position:absolute;left:-20px;top:0;display:block;width:30px;height:40px;margin-left:0!important;text-indent:100%;outline:0;overflow:hidden;white-space:nowrap}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:402px;padding:10px 10px 10px 0;position:relative;z-index:10;border:1px solid #e5e5e5;border-top:none;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.menu-item-settings .field-move a{display:none;margin:0 2px}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em auto;text-align:center}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;border:1px solid #dfdfdf;color:#777;font-size:12px;font-style:italic}.link-to-original a{padding-right:4px;font-style:normal}.hidden-field{display:none}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-left:10px;float:right}.description-thin{width:190px}.description-wide{width:390px}.menu-item-actions{padding-top:15px}#cancel-save{cursor:pointer}.nav-menus-php .major-publishing-actions{clear:both;padding:3px 0 6px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:left;float:left;line-height:23px;margin:4px 0 1px}.nav-menus-php .blank-slate .menu-settings{display:none}.nav-menus-php .delete-action{float:right;margin-top:2px}.nav-menus-php .submitbox .submitcancel{border-bottom:1px solid #0073aa;padding:1px 2px;color:#0073aa;text-decoration:none}.nav-menus-php .submitbox .submitcancel:hover{background:#0073aa;color:#fff}.nav-menus-php .major-publishing-actions .form-invalid{padding-right:4px;margin-right:-4px}#menu-item-name-wrap:after,#menu-item-url-wrap:after,#menu-name-label:after,#menu-settings-column .inside:after,#nav-menus-frame:after,.nav-menus-php #post-body-content:after,.nav-menus-php .button-controls:after,.nav-menus-php .major-publishing-actions:after,.nav-menus-php .menu-item-settings:after{clear:both;content:".";display:block;height:0;visibility:hidden}#menu-item-name-wrap,#menu-item-url-wrap,#nav-menus-frame,.button-controls{display:block}@media screen and (max-width:782px){body.nav-menus-php{min-width:0!important}#nav-menus-frame{margin-right:0;float:none;width:100%}#wpbody-content #menu-settings-column{display:block;width:100%;float:none;margin-right:0}#side-sortables .add-menu-item-tabs{margin:15px 0 14px}ul.add-menu-item-tabs li.tabs{padding:13px 15px 14px}.nav-menus-php .item-controls .item-type{margin-top:2px}.nav-menus-php .customlinkdiv .howto input{width:65%}.nav-menus-php .quick-search{width:85%}#menu-management-liquid{margin-top:25px}.nav-menus-php .menu-name-label.howto span{margin-top:13px}.menu-name-label #menu-name{margin-top:4px}.nav-menus-php .major-publishing-actions .publishing-action{margin-top:6px}.nav-menus-php .delete-action{font-size:14px;line-height:50px;margin-top:12px}.description-wide,.menu-item-bar .menu-item-handle,.menu-item-settings{width:auto}.menu-item-settings{padding:10px}.menu-item-settings .description-thin,.menu-item-settings .description-wide,.menu-item-settings input{width:100%}.menu-item-settings input[type=checkbox],.menu-item-settings input[type=radio]{width:25px}.menu-settings dl{padding-right:0}.menu-settings dd{float:none;width:100%;margin-bottom:15px}.menu-settings dt{float:none;width:auto;margin-right:0;margin-bottom:15px}}@media only screen and (max-width:768px){#menu-locations-wrap .widefat{width:100%}}.widget{margin:0 auto 10px;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.widget-top{font-size:13px;font-weight:600;background:#f7f7f7}.widget-top a.widget-action,.widget-top a.widget-action:hover{-webkit-box-shadow:none;box-shadow:none;outline:0;text-decoration:none}.widget-title h4{margin:0;padding:15px;line-height:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.widgets-holder-wrap .widget-inside{border-top:none;padding:1px 15px 15px;line-height:16px}#available-widgets .widget-description,#widgets-right a.widget-control-edit,.in-widget-title{color:#666}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#a0a5aa}.widget.ui-draggable-dragging{min-width:100%}.widget.ui-sortable-helper{opacity:.8}.widget-placeholder{border:1px dashed #b4b9be;margin:0 auto 10px;height:45px;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#widgets-right .widget-placeholder{margin-top:0}#widgets-right .closed .widget-placeholder{height:0;border:0;margin-top:-10px}.sidebar-name{position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.sidebar-name-arrow{position:absolute;top:0;left:0;bottom:0}.js .sidebar-name{cursor:pointer}.sidebar-name h3{margin:0;padding:8px 10px;overflow:hidden;white-space:nowrap}.widgets-holder-wrap .description{padding:0 0 15px;margin:0;font-style:normal;color:#777}#widgets-right .widgets-holder-wrap .description{padding-right:7px;padding-left:7px}div.widget-liquid-left{margin:0;width:38%;float:right}div.widget-liquid-right{float:left;width:58%}div#widgets-left{padding-top:12px}div#widgets-left .closed .sidebar-name,div#widgets-left .inactive-sidebar.closed .sidebar-name{margin-bottom:10px}div#widgets-left .sidebar-name h3{padding:10px 0;margin:0 0 0 10px}div#widgets-left .sidebar-name .sidebar-name-arrow:before{left:0;top:4px;padding:4px 4px 4px 6px}#widgets-left #available-widgets,div#widgets-left .widget-holder{background:0 0;border:none}#widgets-left .widgets-holder-wrap{border:none;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-action{display:none}#available-widgets .widget{margin:0}#available-widgets .widget:nth-child(odd){clear:both}#available-widgets .widget .widget-description{display:block;padding:10px 15px;font-size:12px}#available-widgets #widget-list{position:relative}#widgets-left .inactive-sidebar{clear:both;width:100%;background:0 0;padding:0;margin:0 0 20px;border:none;-webkit-box-shadow:none;box-shadow:none}#widgets-left .inactive-sidebar.first{margin-top:40px}div#widgets-left .inactive-sidebar .widget.expanded{right:auto}.widget-title-action{float:left;position:relative}div#widgets-left .inactive-sidebar .widgets-sortables{min-height:42px;padding:0;background:0 0;margin:0;position:relative}div#widgets-right:after{content:".";display:block;height:0;clear:both;visibility:hidden}div#widgets-right .sidebars-column-1,div#widgets-right .sidebars-column-2{max-width:450px}div#widgets-right .widgets-holder-wrap{margin:10px 0 0}div#widgets-right .sidebar-description{min-height:20px;margin-top:-5px}div#widgets-right .sidebar-name h3{padding:15px 7px}div#widgets-right .sidebar-name .sidebar-name-arrow:before{left:0;top:4px}div#widgets-right .widget-top{padding:0}div#widgets-right .widgets-sortables{padding:0 8px;margin-bottom:9px;position:relative;min-height:123px}div#widgets-right .closed .widgets-sortables{min-height:0;margin-bottom:0}.sidebar-name .spinner{float:none;position:relative;top:-2px;margin:-5px 5px}#widgets-right .widgets-holder-wrap.widget-hover{border-color:#777;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}.widgets_access #widgets-left .widget .widget-top{cursor:auto}.widgets_access #wpwrap .widget-control-edit,.widgets_access #wpwrap .widgets-holder-wrap.closed .sidebar-description,.widgets_access #wpwrap .widgets-holder-wrap.closed .widget{display:block}.widgets_access #widgets-left .widget .widget-top:hover,.widgets_access #widgets-right .widget .widget-top:hover{border-color:#ddd}#available-widgets .widget-control-edit .edit,#widgets-left .inactive-sidebar .widget-control-edit .add,#widgets-right .widget-control-edit .add{display:none}.widget-control-edit{display:block;color:#666;background:#EEE;padding:0 15px;line-height:43px;border-right:1px solid #DDD}#widgets-left .widget-control-edit:hover,#widgets-right .widget-control-edit:hover{color:#fff;background:#444;border-right:0;outline:#444 solid 1px}.widgets-holder-wrap .sidebar-description,.widgets-holder-wrap .sidebar-name{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.editwidget{margin:0 auto}.editwidget .widget-inside{display:block;padding:0 15px}.editwidget .widget-control-actions{margin-top:20px}.js .closed br.clear,.js .widgets-holder-wrap.closed .sidebar-description,.js .widgets-holder-wrap.closed .widget,.widget-description,.widget-inside{display:none}.widget-inside{background:#fff}#removing-widget{display:none;font-weight:400;padding-right:15px;font-size:12px;line-height:1;color:#000}.js #removing-widget{color:#00a0d2}#access-off,.no-js .widget-holder .description,.widget-control-noform,.widgets_access #access-on,.widgets_access .sidebar-name-arrow,.widgets_access .widget-action,.widgets_access .widget-holder .description{display:none}.widgets_access #widget-list,.widgets_access .widget-holder{padding-top:10px}.widgets_access #access-off{display:inline}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default}.widget-liquid-left #widgets-left.chooser #available-widgets .widget,.widget-liquid-left #widgets-left.chooser .inactive-sidebar{-webkit-transition:opacity .1s linear;transition:opacity .1s linear;opacity:.2;pointer-events:none}.widget-liquid-left #widgets-left.chooser #available-widgets .widget-in-question{opacity:1;pointer-events:auto}#available-widgets .widget-top:hover,#widgets-left .widget-in-question .widget-top,#widgets-left .widget-top:hover,.widgets-chooser ul,div#widgets-right .widget-top:hover{border-color:#999;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.widgets-chooser ul.widgets-chooser-sidebars{margin:0;list-style-type:none;max-height:300px;overflow:auto}.widgets-chooser{display:none}.widgets-chooser ul{border:1px solid #ccc}.widgets-chooser li{padding:10px 35px 10px 15px;border-bottom:1px solid #ccc;background:#fff;margin:0;cursor:pointer;outline:0;position:relative;-webkit-transition:background .2s ease-in-out;transition:background .2s ease-in-out}.widgets-chooser li:focus,.widgets-chooser li:hover{background:rgba(255,255,255,.7)}.widgets-chooser li:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#999;position:absolute;top:7px;right:5px}.widgets-chooser li:last-child{border:none}.widgets-chooser li.widgets-chooser-selected{background:#00a0d2;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#fff;position:absolute;top:7px;right:5px}.widgets-chooser .widgets-chooser-actions{padding:10px 0 12px;text-align:center}.widgets-chooser button{margin-left:5px}#available-widgets .widget .widget-top{cursor:pointer}@media screen and (max-width:480px){div.widget-liquid-left{width:100%;float:none;border-left:none;padding-left:0}#widgets-left #available-widgets .widget-top,#widgets-left .inactive-sidebar .widgets-sortables,#widgets-left .sidebar-name{margin-left:0}div.widget-liquid-right{width:100%;float:none}div.widget{margin:0 auto 10px!important;max-width:480px}}@media screen and (max-width:320px){div.widget{max-width:320px}}@media only screen and (min-width:1250px){#widgets-left #available-widgets .widget{width:49%;float:right}.widget.ui-draggable-dragging{min-width:49%}#widgets-left #available-widgets .widget:nth-child(even){float:left}#widgets-right .sidebars-column-1,#widgets-right .sidebars-column-2{float:right;width:49%}#widgets-right .sidebars-column-1{margin-left:2%}#widgets-right.single-sidebar .sidebars-column-1,#widgets-right.single-sidebar .sidebars-column-2{float:none;width:100%;margin:0}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:700}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-right:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-left:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-right:8em}
\ No newline at end of file
index b29af79894b7d47fc38eb0a5cc687eed54668645..13d66e20dea392f75d1d77726fc4c5d52ed27da9 100644 (file)
@@ -7,7 +7,6 @@
 @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);
index b9860c6a0a6414e3a87738f67cabc05b49ea7746..792a7ce465de58820a024e144dcd1d1b5ddbcc0c 100644 (file)
@@ -1,8 +1,8 @@
-#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%;padding-left:20px}#wpcontent,#wpfooter{margin-left:160px}.folded #wpcontent,.folded #wpfooter{margin-left:36px}#wpbody-content{padding-bottom:65px;float:left;width:100%;overflow:visible!important}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-right:auto;width:286px;display:block}.columns-2 .inner-sidebar #side-sortables,.inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:left;clear:left;width:100%;margin-right:-2000px}.has-right-sidebar #post-body-content{margin-right:300px;float:none;width:auto}#col-container,#col-left,#col-right{overflow:hidden;padding:0;margin:0}#col-left{width:35%}#col-right{float:right;clear:right;width:65%}.col-wrap{padding:0 7px}.alignleft{float:left}.alignright{float:right}.textleft{text-align:left}.textright{text-align:right}.clear{clear:both}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{left:6px;top:-25px;height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:0}.hidden,.js .closed .inside,.js .hide-if-js,.js .wp-core-ui .hide-if-js,.js.wp-core-ui .hide-if-js,.no-js .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js,.no-js.wp-core-ui .hide-if-no-js{display:none}#menu-management .menu-edit,#menu-settings-column .accordion-container,.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}body.modal-open{overflow:hidden}body.mobile.modal-open #wpwrap{overflow:hidden;height:100%}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;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 a:focus{outline:#5b9dd9 solid 1px}#adminmenu a:focus,.screen-reader-text:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}p{font-size:13px;line-height:1.5;margin:1em 0}blockquote{margin:1em}dd,li{margin-bottom:6px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}h2{color:#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}ul.ul-square{list-style:square}ol.ol-decimal{list-style:decimal}ol.ol-decimal,ul.ul-disc,ul.ul-square{margin-left:1.8em}ol.ol-decimal>li,ul.ul-disc>li,ul.ul-square>li{margin:0 0 .5em}.ltr{direction:ltr}.code,code{font-family:Consolas,Monaco,monospace;direction:ltr;unicode-bidi:embed}code,kbd{padding:3px 5px 2px;margin:0 1px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;float:left;color:#666}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:400}.subsubsub a.current{font-weight:600;border:none}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat *{word-wrap:break-word}.widefat a{text-decoration:none}.widefat td,.widefat th{padding:8px 10px}.widefat thead th{border-bottom:1px solid #e1e1e1}.widefat tfoot th{border-top:1px solid #e1e1e1;border-bottom:none}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td ol,.widefat td p,.widefat td ul{font-size:13px;line-height:1.5em}.widefat th{text-align:left;line-height:1.3em;font-size:14px}.widefat th input{margin:0 0 0 8px;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:6px 0 25px;vertical-align:top}.widefat th input[type=checkbox]{margin-top:-1px}.widefat.media .check-column{padding-top:8px}.widefat tbody th.check-column,.widefat tfoot th.check-column,.widefat thead th.check-column{padding:11px 0 0 3px}.widefat thead th.check-column{padding-top:10px}.update-php div.error,.update-php div.updated{margin-left:0}.no-js .widefat tfoot .check-column input,.no-js .widefat thead .check-column input{display:none}.column-comments,.column-links,.column-posts,.widefat .num{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 20px 0 2px}.attention{color:#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: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}.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 .hndle,.side-info,.sidebar-name,.stuffbox .hndle,.widefat tfoot th,.widefat thead th,.widget .widget-top{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#222}.postbox .hndle,.stuffbox .hndle{border-bottom:1px solid #eee}.quicktags,.search{background-color:#ccc;color:#000;font-size:12px}.icon32{display:none}#bulk-titles div a:before,#welcome-panel.welcome-panel .welcome-panel-close:before,.tagchecklist span a:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 16px/1 dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased!important}#welcome-panel.welcome-panel .welcome-panel-close:before{margin:0}#bulk-titles div a:before,.tagchecklist span a:before{margin:2px 0}#bulk-titles div a:hover:before,#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before{color:#c00}.key-labels label{line-height:24px}b,strong{font-weight:600}.pre{white-space:pre-wrap;word-wrap:break-word}.howto{color:#666;font-style:italic;display:block}p.install-help{margin:8px 0;font-style:italic}.no-break{white-space:nowrap}hr{border:0;border-top:1px solid #ddd;border-bottom:1px solid #fafafa}#all-plugins-table .plugins a.delete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete,#search-plugins-table .plugins a.delete,.plugins a.delete,.row-actions span.delete a,.row-actions span.spam a,.row-actions span.trash a,.submitbox .submitdelete{color:#a00}#all-plugins-table .plugins a.delete:hover,#media-items a.delete-permanently:hover,#media-items a.delete:hover,#nav-menu-footer .menu-delete:hover,#search-plugins-table .plugins a.delete:hover,.file-error,.plugins a.delete:hover,.row-actions .delete a:hover,.row-actions .spam a:hover,.row-actions .trash a:hover,.submitbox .submitdelete:hover,.widget-control-remove:hover,abbr.required{color:red;text-decoration:none;border:none}#major-publishing-actions{padding:10px;clear:both;border-top:1px solid #ddd;background:#f5f5f5}#delete-action{line-height:28px;vertical-align:middle;text-align:left;float:left}#publishing-action{text-align:right;float:right;line-height:23px}#publishing-action .spinner{float:left}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px}#minor-publishing-actions{padding:10px 10px 0;text-align:right}#save-post{float:left}.preview{float:right}#sticky-span{margin-left:18px}.side-info{margin:0;padding:4px;font-size:11px}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom:1px solid #dadada}.side-info ul{margin:0;padding-left:18px;list-style:square;color:#666}.approve,.unapproved .unapprove{display:none}.spam .approve,.trash .approve,.unapproved .approve{display:inline}td.action-links,th.action-links{text-align:right}.wp-filter{display:inline-block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:12px 0 25px;padding:0 20px;width:100%;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;-webkit-border-radius:30px;border-radius:30px;background:#777;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-left:5px;margin-right:20px}.filter-items{float:left}.filter-links,.filter-links li{display:inline-block;margin:0}.filter-links li>a{display:inline-block;margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{-webkit-box-shadow:none;box-shadow:none;border-bottom:4px solid #666;color:#222}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#2ea2cc}.wp-filter .search-form{float:right;margin:10px 0}.wp-filter .search-form input[type=search]{margin:0;padding:3px 5px;width:280px;max-width:100%;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{margin:0;height:32px;vertical-align:top}.wp-filter .search-form.search-plugins{display:inline-block}.wp-filter .drawer-toggle{display:inline-block;margin:0 10px;padding:4px 6px;color:#666;cursor:pointer}.wp-filter .drawer-toggle:before{display:inline-block;vertical-align:top;content:"\f111";margin:0 5px 0 0;width:16px;height:16px;color:#777;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;font-family:dashicons;font-size:16px;line-height:1;text-align:center;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased}.wp-filter .drawer-toggle:hover,.wp-filter .drawer-toggle:hover:before{color:#2ea2cc}.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer{display:none;margin:0 -20px;padding:20px;border-top:1px solid #eee;background:#fafafa}.show-filters .filter-drawer{display:block;overflow:hidden;width:100%}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .drawer-toggle{-webkit-border-radius:2px;border-radius:2px;border:none;background:#777;color:#fff}.show-filters .wp-filter .drawer-toggle:before{color:#fff}.filter-group{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin:0 1% 0 0;padding:10px;width:24%;background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.filter-group h4{position:relative;margin:0}.filter-drawer ol{margin:20px 0 0;list-style-type:none;font-size:12px}.filter-drawer li{display:inline-block;vertical-align:top;margin:5px 0;padding-right:25px;width:160px;list-style-type:none}.filter-drawer .buttons{margin-bottom:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.wp-filter .button.clear-filters{display:none;margin:0 0 20px 10px}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-left:10px}.filtered-by .tags{display:inline}.filtered-by .tag{margin:0 5px;padding:4px 8px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:11px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.filters-applied .filter-drawer{padding:20px}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.loading-content .spinner{display:block;margin:40px auto 0;float:none}@media only screen and (max-width:1120px){.filter-drawer{border-bottom:1px solid #eee}.filter-group{margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}}@media only screen and (max-width:1000px){.filter-items{float:none}.wp-filter .media-toolbar-primary,.wp-filter .media-toolbar-secondary,.wp-filter .search-form{float:none;position:relative;max-width:100%}}@media only screen and (max-width:782px){.filter-group li{padding:0;width:50%}}@media only screen and (max-width:320px){.filter-count{display:none}.wp-filter .drawer-toggle{margin:10px 0}.filter-group li,.wp-filter .search-form input[type=search]{width:100%}}.notice,div.error,div.updated{background:#fff;border-left:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 15px 2px;padding:1px 12px}.form-table td .notice p,.notice p,div.error p,div.updated p{margin:.5em 0;padding:2px}.notice-success,div.updated{border-color:#7ad03a}.notice-warning{border-color:#ffba00}.notice-error,div.error{border-color:#dd3d36}.notice-info{border-color:#2ea2cc}.media-upload-form .notice,.media-upload-form div.error,.wrap .notice,.wrap div.error,.wrap div.updated{margin:5px 0 15px}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:left;margin:25px 20px 0 2px;background-color:#fff;border-left:4px solid #ffba00;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.update-message{color:#000}.update-php .spinner{float:none;margin:-4px 0}#ajax-loading,.ajax-feedback,.ajax-loading,.imgedit-wait-spin,.list-ajax-loading{visibility:hidden}#ajax-response.alignleft{margin-left:2em}#adminmenu a,#catlist a,#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:none;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-link-wrap,#screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #ddd;border-top:none;background:#fff;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#screen-meta-links a{color:#777}#screen-meta-links a:active,#screen-meta-links a:focus,#screen-meta-links a:hover{color:#333}#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: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,.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;height:0;min-height:0}#post-body-content{width:100%;min-width:463px;float:left}#post-body.columns-2 #postbox-container-1{float:right;margin-right:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content .metabox-holder .postbox-container .empty-container{border:0;height:0;min-height:0}}.js .postbox .hndle,.js .widget .widget-top{cursor:move}.hndle a{font-size:11px;font-weight:400}.postbox .handlediv{float:right;width:27px;height:30px}.js .postbox .handlediv{cursor:pointer}.sortable-placeholder{border:1px dashed #bbb;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox .hndle,.stuffbox .hndle{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:none;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#dashboard_right_now .versions .b,#ed_reply_toolbar #ed_reply_strong,#pass-strength-result.short,#pass-strength-result.strong,#post-status-display,#post-visibility-display,.feature-filter .feature-name,.item-controls .item-order a,.media-item .percent,.plugins .name{font-weight:600}#wpfooter{position:absolute;bottom:0;left:0;right:0;padding:10px 20px;color:#777}#wpfooter p{font-size:13px;margin:0;line-height:20px}#footer-thankyou{font-style:italic}#wpfooter a{text-decoration:none}#wpfooter a:hover{text-decoration:underline}.nav-tab{border:1px solid #ccc;border-bottom:none;background:#e4e4e4;color:#555;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:-4px 4px -1px 0}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active,.nav-tab-active:hover{border-bottom:1px solid #f1f1f1;background:#f1f1f1;color:#000}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0;padding-left:10px}h2 .nav-tab{padding:6px 10px;font-weight:700;font-size:15px;line-height:24px}.spinner{background:url(../images/spinner.gif) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;display: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;width:auto;height:auto}td.image-icon img{border:1px solid rgba(0,0,0,.07)}#howto{font-size:11px;margin:0 5px;display:block}.importers td{padding-right:14px}.importers{font-size:16px;width:auto}#post-body #post-body-content #namediv h3{margin-top:0}#namediv h3 label{vertical-align:baseline}#namediv table{width:100%}#namediv td.first{width:10px;white-space:nowrap}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.zerosize{height:0;width:0;margin:0;border:0;padding:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:none;margin:0;padding:0}fieldset{border:0;padding:0;margin:0}.post-categories{display:inline;margin:0;padding:0}.post-categories li{display:inline}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) bottom left repeat-x}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) top left repeat-x;height:17px;float:left}.star-rating{white-space:nowrap}.star-rating .star{display:inline-block;width:20px;height:20px;-webkit-font-smoothing:antialiased;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;text-align:center;color:#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}#plugin-information{background:#fff;position:fixed;top:0;right:0;bottom:0;left:0;height:100%;padding:0}#plugin-information-scrollable{overflow:auto;height:100%}#plugin-information-title{padding:0 20px;background:#f5f5f5;font-size:22px;font-weight:600;line-height:56px;position:relative;top:0;right:0;left:0;height:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner{margin-right:0;height:250px;bottom:250px;-webkit-background-size:100% auto;background-size:100% auto}#plugin-information-title h2{font-size:1em;font-weight:700;padding:0;margin:0;max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner h2{font-family:"Helvetica Neue",sans-serif;display:inline-block;font-size:30px;line-height:50px;padding:0 15px;margin:174px 0 0 10px;color:#fff;background:rgba(30,30,30,.9);text-shadow:0 1px 3px rgba(0,0,0,.4);-webkit-box-shadow:0 0 30px rgba(255,255,255,.1);box-shadow:0 0 30px rgba(255,255,255,.1);-webkit-border-radius:8px;border-radius:8px}#plugin-information-title div.vignette{display:none}#plugin-information-title.with-banner div.vignette{display:block;float:right;top:0;height:250px;width:772px;margin:0 -20px;background:0 0;-webkit-box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1)}#plugin-information-tabs{padding:0 16px;position:relative;right:0;left:0;height:36px;z-index:1;border-bottom:1px solid #ddd;background:#f3f3f3}#plugin-information-tabs a{position:relative;float:left;padding:9px 10px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;-webkit-transition:none;transition:none}#plugin-information-tabs a.current{margin:0 -1px;background:#fff;border:1px solid #ddd;border-bottom-color:#fff;padding-top:8px;color:#333}#plugin-information-tabs.with-banner a.current{border-top:none;padding-top:9px}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{overflow:hidden;background:#fff;position:relative;top:0;right:0;left:0;min-height:100%;min-height:-webkit-calc(100% - 152px);min-height:calc(100% - 152px)}#plugin-information-content.with-banner{min-height:-webkit-calc(100% - 346px);min-height:calc(100% - 346px)}#section-holder{position:relative;top:0;right:250px;bottom:0;left:0;margin-right:250px;padding:10px 26px 99999px;margin-bottom:-99930px}#section-holder .updated{margin:16px 0}#plugin-information .fyi{display:block;float:right;position:relative;top:0;right:0;padding:16px 16px 99999px;margin-bottom:-99930px;width:217px;border-left:1px solid #ddd;background:#f3f3f3;color:#666}#plugin-information .fyi strong{color:#464646}#plugin-information .fyi h3{font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0}#plugin-information .fyi ul{padding:0;margin:0;list-style:none}#plugin-information .fyi li{margin:0 0 10px}#plugin-information .counter-container{margin:3px 0}#plugin-information .counter-label{float:left;margin-right:5px;min-width:55px}#plugin-information .counter-back{height:17px;width:92px;background-color:#ececec;float:left}#plugin-information .counter-bar{height:17px;background-color:#fddb5a;float:left}#plugin-information .counter-count{margin-left:5px}#plugin-information .fyi ul.contributors{margin-top:10px}#plugin-information .fyi ul.contributors li{display:inline-block;margin-right:8px;vertical-align:middle}#plugin-information .fyi ul.contributors li img{vertical-align:middle;margin-right:4px}#plugin-information-footer{padding:15px 16px;position:absolute;right:0;bottom:0;left:0;height:28px;border-top:1px solid #ddd;background:#f3f3f3}#plugin-information .section{direction:ltr}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-left:24px}#plugin-information .section,#plugin-information .section p{font-size:14px;line-height:1.7}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;margin-top:16px;max-width:100%;width:auto;height:auto;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}#plugin-information .review{overflow:hidden;width:100%;margin-bottom:20px;border-bottom:1px solid #e6e6e6}#plugin-information .review-title-section{overflow:hidden}#plugin-information .review-title-section h4{display:inline-block;float:left;margin:0 6px 0 0}#plugin-information .reviewer-info p{clear:both;margin:0;padding-top:2px}#plugin-information .reviewer-info .avatar{float:left;margin:4px 6px 0 0}#plugin-information .reviewer-info .star-rating{float:left}#plugin-information .review-meta{float:left;margin-left:.75em}#plugin-information .review-body{float:left;width:100%}.plugin-version-author-uri{font-size:13px}@media screen and (max-width:771px){#plugin-information-title.with-banner{height:100px;bottom:100px}#plugin-information-title.with-banner h2{margin-top:30px;font-size:20px;line-height:40px;max-width:85%}#plugin-information-title.with-banner div.vignette{height:100px;bottom:100px;width:800%}#plugin-information-tabs{overflow:hidden;padding:0;height:auto}#plugin-information-tabs a.current{margin-bottom:0;border-bottom:none}#plugin-information .fyi{float:none;border:1px solid #ddd;position:static;width:auto;margin:26px 26px 0;padding-bottom:0}#section-holder{position:static;margin:0;padding-bottom:70px}#plugin-information .fyi h3,#plugin-information .fyi small{display:none}#plugin-information-footer{padding:12px 16px 0;height:46px}}body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:url(../images/spinner.gif) no-repeat center #fcfcfc}@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:url(../images/spinner-2x.gif) no-repeat center/20px 20px #fcfcfc;-webkit-background-size:20px 20px}}body.import-php #TB_title,body.index-php #TB_title,body.plugin-install-php #TB_title,body.plugins-php #TB_title,body.update-core-php #TB_title{float:left;height:1px}body.import-php #TB_ajaxWindowTitle,body.index-php #TB_ajaxWindowTitle,body.plugin-install-php #TB_ajaxWindowTitle,body.plugins-php #TB_ajaxWindowTitle,body.update-core-php #TB_ajaxWindowTitle{display:none}body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{left:auto;right:-30px;color:#eee;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}body.import-php #TB_closeWindowButton:focus,body.import-php #TB_closeWindowButton:focus .tb-close-icon,body.import-php .tb-close-icon:focus,body.import-php .tb-close-icon:hover,body.index-php #TB_closeWindowButton:focus,body.index-php #TB_closeWindowButton:focus .tb-close-icon,body.index-php .tb-close-icon:focus,body.index-php .tb-close-icon:hover,body.plugin-install-php #TB_closeWindowButton:focus,body.plugin-install-php #TB_closeWindowButton:focus .tb-close-icon,body.plugin-install-php .tb-close-icon:focus,body.plugin-install-php .tb-close-icon:hover,body.plugins-php #TB_closeWindowButton:focus,body.plugins-php #TB_closeWindowButton:focus .tb-close-icon,body.plugins-php .tb-close-icon:focus,body.plugins-php .tb-close-icon:hover,body.update-core-php #TB_closeWindowButton:focus,body.update-core-php #TB_closeWindowButton:focus .tb-close-icon,body.update-core-php .tb-close-icon:focus,body.update-core-php .tb-close-icon:hover{color:#2ea2cc;outline:0;-webkit-box-shadow:none;box-shadow:none}body.import-php .tb-close-icon:before,body.index-php .tb-close-icon:before,body.plugin-install-php .tb-close-icon:before,body.plugins-php .tb-close-icon:before,body.update-core-php .tb-close-icon:before{content:"\f335";font-size:32px}@media screen and (max-width:830px){body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{right:0;top:-30px}}img{border:none}#wphead{border-bottom:1px solid #dfdfdf}#wphead h1 a{color:#464646}.js .meta-box-sortables .postbox:hover .handlediv{margin-right:0!important}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js #widgets-left .sidebar-name .sidebar-name-arrow{display:none}.js #widgets-left .sidebar-name:hover .sidebar-name-arrow,.js #widgets-left .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow{display:block}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{content:'\f142'}.js .meta-box-sortables .postbox.closed .handlediv:before,.js .widgets-holder-wrap.closed .sidebar-name-arrow:before{content:'\f140'}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}#photo-add-url-div input[type=text]{width:300px}.alignleft h3{margin:0}#template textarea{font-family:Consolas,Monaco,monospace;font-size:13px;width:97%;background:#f9f9f9;outline:0}#docs-list,#template textarea{direction:ltr}#template p{width:97%}#templateside{float:right;width:190px;word-wrap:break-word}#postcustomstuff p.submit,#templateside h3{margin:0}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em 0;padding:0}#templateside li{margin:4px 0}#templateside li a,.theme-editor-php .highlight{display:block;padding:3px 3px 3px 12px;text-decoration:none}.theme-editor-php .highlight{margin:-3px 3px -3px -12px}#templateside .highlight{border:none;font-weight:700}.nonessential{color:#666;font-size:11px;font-style:italic;padding-left:12px}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:baseline;font-weight:600}.fileedit-sub{padding:10px 0 8px;line-height:180%}.accordion-section-title:after,.control-section .accordion-section-title:after,.nav-menus-php .item-edit:before,.widget-top a.widget-action:after{right:0;content:'\f140';border:none;background:0 0;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.accordion-section-title:after,.handlediv,.item-edit,.sidebar-name-arrow,.widget-action{color:#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 11px}.widget-top a.widget-action:focus:after{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.nav-menus-php .item-edit:before{line-height:2.1}.accordion-section-title:after,.control-section .accordion-section-title:after{float:right;right:20px;top:-2px}#customize-info.open .accordion-section-title:after,.control-section.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before,.widget.open .widget-top a.widget-action:after{content:'\f142'}/*!
- * jQuery UI Draggable/Sortable 1.11.2
+#wpwrap{height:auto;min-height:100%;width:100%;position:relative;-webkit-font-smoothing:subpixel-antialiased}#wpcontent{height:100%;padding-left:20px}#wpcontent,#wpfooter{margin-left:160px}.folded #wpcontent,.folded #wpfooter{margin-left:36px}#wpbody-content{padding-bottom:65px;float:left;width:100%;overflow:visible!important}.inner-sidebar{float:right;clear:right;display:none;width:281px;position:relative}.columns-2 .inner-sidebar{margin-right:auto;width:286px;display:block}.columns-2 .inner-sidebar #side-sortables,.inner-sidebar #side-sortables{min-height:300px;width:280px;padding:0}.has-right-sidebar .inner-sidebar{display:block}.has-right-sidebar #post-body{float:left;clear:left;width:100%;margin-right:-2000px}.has-right-sidebar #post-body-content{margin-right:300px;float:none;width:auto}#col-container,#col-left,#col-right{overflow:hidden;padding:0;margin:0}#col-left{width:35%}#col-right{float:right;clear:right;width:65%}.col-wrap{padding:0 7px}.alignleft{float:left}.alignright{float:right}.textleft{text-align:left}.textright{text-align:right}.clear{clear:both}.screen-reader-text,.screen-reader-text span,.ui-helper-hidden-accessible{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.screen-reader-shortcut{position:absolute;top:-1000em}.screen-reader-shortcut:focus{left:6px;top:-25px;height:auto;width:auto;display:block;font-size:14px;font-weight:600;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6);text-decoration:none;outline:0}.hidden,.js .closed .inside,.js .hide-if-js,.js .wp-core-ui .hide-if-js,.js.wp-core-ui .hide-if-js,.no-js .hide-if-no-js,.no-js .wp-core-ui .hide-if-no-js,.no-js.wp-core-ui .hide-if-no-js{display:none}#menu-management .menu-edit,#menu-settings-column .accordion-container,.comment-ays,.feature-filter,.imgedit-group,.manage-menus,.menu-item-handle,.popular-tags,.stuffbox,.widget-inside,.widget-top,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.comment-ays,.feature-filter,.imgedit-group,.popular-tags,.stuffbox,.widgets-holder-wrap,.wp-editor-container,p.popular-tags,table.widefat{background:#fff}body,html{height:100%;margin:0;padding:0}html{background:#f1f1f1}body{color:#444;font-family:"Open Sans",sans-serif;font-size:13px;line-height:1.4em;min-width:600px}body.iframe{min-width:0;padding-top:1px}body.modal-open{overflow:hidden}body.mobile.modal-open #wpwrap{overflow:hidden;position:fixed;height:100%}iframe,img{border:0}td{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}a{color:#0073aa;-webkit-transition-property:border,background,color;transition-property:border,background,color;-webkit-transition-duration:.05s;transition-duration:.05s;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}a,div{outline:0}a:active,a:hover{color:#00a0d2}a:focus{color:#124964;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ie8 a:focus{outline:#5b9dd9 solid 1px}#adminmenu a:focus,.screen-reader-text:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}p{font-size:13px;line-height:1.5;margin:1em 0}blockquote{margin:1em}dd,li{margin-bottom:6px}h1,h2,h3,h4,h5,h6{display:block;font-weight:600}h1{font-size:2em;margin:.67em 0}h2{color:#23282d;font-size:1.5em;margin:.83em 0;font-weight:400}h3{color:#23282d;font-size:1.3em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}ol,ul{padding:0}ul{list-style:none}ol{list-style-type:decimal;margin-left:2em}ul.ul-disc{list-style:disc}ul.ul-square{list-style:square}ol.ol-decimal{list-style:decimal}ol.ol-decimal,ul.ul-disc,ul.ul-square{margin-left:1.8em}ol.ol-decimal>li,ul.ul-disc>li,ul.ul-square>li{margin:0 0 .5em}.ltr{direction:ltr}.code,code{font-family:Consolas,Monaco,monospace;direction:ltr;unicode-bidi:embed}code,kbd{padding:3px 5px 2px;margin:0 1px;background:#eaeaea;background:rgba(0,0,0,.07);font-size:13px}.subsubsub{list-style:none;margin:8px 0 0;padding:0;font-size:13px;float:left;color:#666}.subsubsub a{line-height:2;padding:.2em;text-decoration:none}.subsubsub a .count,.subsubsub a.current .count{color:#999;font-weight:400}.subsubsub a.current{font-weight:600;border:none}.subsubsub li{display:inline-block;margin:0;padding:0;white-space:nowrap}.widefat{border-spacing:0;width:100%;clear:both;margin:0}.widefat *{word-wrap:break-word}.widefat a{text-decoration:none}.widefat td,.widefat th{padding:8px 10px}.widefat thead th{border-bottom:1px solid #e1e1e1}.widefat tfoot th{border-top:1px solid #e1e1e1;border-bottom:none}.widefat .no-items td{border-bottom-width:0}.widefat td{vertical-align:top}.widefat td,.widefat td ol,.widefat td p,.widefat td ul{font-size:13px;line-height:1.5em}.widefat th{text-align:left;line-height:1.3em;font-size:14px}.widefat th input{margin:0 0 0 8px;padding:0;vertical-align:text-top}.widefat .check-column{width:2.2em;padding:6px 0 25px;vertical-align:top}.widefat th input[type=checkbox]{margin-top:-1px}.widefat.media .check-column{padding-top:8px}.widefat tbody th.check-column,.widefat tfoot th.check-column,.widefat thead th.check-column{padding:11px 0 0 3px}.widefat thead th.check-column{padding-top:10px}.update-php div.error,.update-php div.updated{margin-left:0}.no-js .widefat tfoot .check-column input,.no-js .widefat thead .check-column input{display:none}.column-comments,.column-links,.column-posts,.widefat .num{text-align:center}.widefat th#comments{vertical-align:middle}.wrap{margin:10px 20px 0 2px}.attention{color:#00a0d2}.subtitle,.wrap h2{font-weight:400;margin:0}.wrap h2{font-size:23px;font-weight:400;padding:9px 15px 4px 0;line-height:29px}.subtitle{color:#777;font-size:14px;padding-left:25px}.wrap .add-new-h2,.wrap .add-new-h2:active{margin-left:4px;padding:4px 8px;position:relative;top:-3px;text-decoration:none;border:none;-webkit-border-radius:2px;border-radius:2px;background:#e0e0e0;text-shadow:none;font-weight:600;font-size:13px}.wrap .add-new-h2:hover{background:#00a0d2;color:#fff}.wrap h2.long-header{padding-right:0}.wp-dialog{background-color:#fff}.sorthelper{background-color:#ccf3fa}.ac_match,.subsubsub a.current{color:#000}.alternate,.striped>tbody>:nth-child(odd){background-color:#f9f9f9}.bar{background-color:#e8e8e8;border-right-color:#99d}.media-upload-form label.form-help,td.help{color:#9a9a9a}.highlight{background-color:#e4f2fd;color:#000}.wp-ui-primary{color:#fff;background-color:#32373c}.wp-ui-text-primary{color:#32373c}.wp-ui-highlight{color:#fff;background-color:#1e8cbe}.wp-ui-text-highlight{color:#1e8cbe}.wp-ui-notification{color:#fff;background-color:#d54e21}.wp-ui-text-notification{color:#d54e21}.wp-ui-text-icon{color:#999}img.emoji{display:inline!important;border:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:none!important;padding:0!important;-webkit-box-shadow:none!important;box-shadow:none!important}#nav-menu-footer,#nav-menu-header,#your-profile #rich_editing,.checkbox,.control-section .accordion-section-title,.menu-item-handle,.postbox .hndle,.side-info,.sidebar-name,.stuffbox .hndle,.widefat tfoot th,.widefat thead th,.widget .widget-top{line-height:1.4em}.menu-item-handle,.widget .widget-top{background:#fafafa;color:#23282d}.postbox .hndle,.stuffbox .hndle{border-bottom:1px solid #eee}.quicktags,.search{background-color:#ccc;color:#000;font-size:12px}.icon32{display:none}#bulk-titles div a:before,#welcome-panel.welcome-panel .welcome-panel-close:before,.notice-dismiss:before,.tagchecklist span a:before{background:0 0;color:#b4b9be;content:'\f153';display:block!important;font:400 16px/1 dashicons;speak:none;height:20px;text-align:center;width:20px;-webkit-font-smoothing:antialiased!important}#welcome-panel.welcome-panel .welcome-panel-close:before{margin:0}#bulk-titles div a:before,.tagchecklist span a:before{margin:2px 0}#bulk-titles div a:hover:before,#welcome-panel.welcome-panel .welcome-panel-close:hover:before,.tagchecklist span a:hover:before{color:#c00}.key-labels label{line-height:24px}b,strong{font-weight:600}.pre{white-space:pre-wrap;word-wrap:break-word}.howto{color:#666;font-style:italic;display:block}p.install-help{margin:8px 0;font-style:italic}.no-break{white-space:nowrap}hr{border:0;border-top:1px solid #ddd;border-bottom:1px solid #fafafa}#all-plugins-table .plugins a.delete,#media-items a.delete,#media-items a.delete-permanently,#nav-menu-footer .menu-delete,#search-plugins-table .plugins a.delete,.plugins a.delete,.row-actions span.delete a,.row-actions span.spam a,.row-actions span.trash a,.submitbox .submitdelete{color:#a00}#all-plugins-table .plugins a.delete:hover,#media-items a.delete-permanently:hover,#media-items a.delete:hover,#nav-menu-footer .menu-delete:hover,#search-plugins-table .plugins a.delete:hover,.file-error,.plugins a.delete:hover,.row-actions .delete a:hover,.row-actions .spam a:hover,.row-actions .trash a:hover,.submitbox .submitdelete:hover,.widget-control-remove:hover,abbr.required{color:red;text-decoration:none;border:none}#major-publishing-actions{padding:10px;clear:both;border-top:1px solid #ddd;background:#f5f5f5}#delete-action{line-height:28px;vertical-align:middle;text-align:left;float:left}#publishing-action{text-align:right;float:right;line-height:23px}#publishing-action .spinner{float:left}#misc-publishing-actions{padding:6px 0 0}.misc-pub-section{padding:6px 10px 8px}#minor-publishing-actions{padding:10px 10px 0;text-align:right}#save-post{float:left}.preview{float:right}#sticky-span{margin-left:18px}.side-info{margin:0;padding:4px;font-size:11px}.side-info h5{padding-bottom:7px;font-size:14px;margin:12px 2px 5px;border-bottom:1px solid #dadada}.side-info ul{margin:0;padding-left:18px;list-style:square;color:#666}.approve,.unapproved .unapprove{display:none}.spam .approve,.trash .approve,.unapproved .approve{display:inline}td.action-links,th.action-links{text-align:right}.wp-filter{display:inline-block;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:12px 0 25px;padding:0 20px;width:100%;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);border:1px solid #e5e5e5;background:#fff;color:#555;font-size:13px}.wp-filter a{text-decoration:none}.filter-count{display:inline-block;vertical-align:middle;min-width:4em}.filter-count .count,.title-count{display:inline-block;position:relative;top:-1px;padding:4px 10px;-webkit-border-radius:30px;border-radius:30px;background:#777;color:#fff;font-size:14px;font-weight:600}.title-count{display:inline;top:-3px;margin-left:5px;margin-right:20px}.filter-items{float:left}.filter-links,.filter-links li{display:inline-block;margin:0}.filter-links li>a{display:inline-block;margin:0 10px;padding:15px 0;border-bottom:4px solid #fff;color:#666;cursor:pointer}.filter-links .current{-webkit-box-shadow:none;box-shadow:none;border-bottom:4px solid #666;color:#23282d}.filter-links li>a:focus,.filter-links li>a:hover,.show-filters .filter-links a.current:focus,.show-filters .filter-links a.current:hover{color:#00a0d2}.wp-filter .search-form{float:right;margin:10px 0}.wp-filter .search-form input[type=search]{margin:0;padding:3px 5px;width:280px;max-width:100%;font-size:16px;font-weight:300;line-height:1.5}.wp-filter .search-form select{margin:0;height:32px;vertical-align:top}.wp-filter .search-form.search-plugins{display:inline-block}.wp-filter .drawer-toggle{display:inline-block;margin:0 10px;padding:4px 6px;color:#666;cursor:pointer}.wp-filter .drawer-toggle:before{display:inline-block;vertical-align:top;content:"\f111";margin:0 5px 0 0;width:16px;height:16px;color:#777;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;font-family:dashicons;font-size:16px;line-height:1;text-align:center;text-decoration:inherit;font-weight:400;font-style:normal;-webkit-font-smoothing:antialiased}.wp-filter .drawer-toggle:hover,.wp-filter .drawer-toggle:hover:before{color:#00a0d2}.wp-filter .drawer-toggle.current:before{color:#fff}.filter-drawer{display:none;margin:0 -20px;padding:20px;border-top:1px solid #eee;background:#fafafa}.show-filters .filter-drawer{display:block;overflow:hidden;width:100%}.show-filters .wp-filter .drawer-toggle:focus,.show-filters .wp-filter .drawer-toggle:hover{background:#2ea2cc}.show-filters .filter-links a.current{border-bottom:none}.show-filters .wp-filter .drawer-toggle{-webkit-border-radius:2px;border-radius:2px;border:none;background:#777;color:#fff}.show-filters .wp-filter .drawer-toggle:before{color:#fff}.filter-group{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin:0 1% 0 0;padding:10px;width:24%;background:#fff;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.filter-group h4{position:relative;margin:0}.filter-drawer ol{margin:20px 0 0;list-style-type:none;font-size:12px}.filter-drawer li{display:inline-block;vertical-align:top;margin:5px 0;padding-right:25px;width:160px;list-style-type:none}.filter-drawer .buttons{margin-bottom:20px}.filter-drawer .buttons .button span{display:inline-block;opacity:.8;font-size:12px;text-indent:10px}.wp-filter .button.clear-filters{display:none;margin-left:10px}.filtered-by{display:none;margin:0}.filtered-by>span{font-weight:600}.filtered-by a{margin-left:10px}.filtered-by .tags{display:inline}.filtered-by .tag{margin:0 5px;padding:4px 8px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:11px}.filters-applied .filter-drawer .buttons,.filters-applied .filter-drawer br,.filters-applied .filter-group{display:none!important}.filters-applied .filtered-by{display:block}.filters-applied .filter-drawer{padding:20px}.error .content-filterable,.loading-content .content-filterable,.show-filters .content-filterable,.show-filters.filters-applied.loading-content .content-filterable{display:none}.show-filters.filters-applied .content-filterable{display:block}.loading-content .spinner{display:block;margin:40px auto 0;float:none}@media only screen and (max-width:1120px){.filter-drawer{border-bottom:1px solid #eee}.filter-group{margin-bottom:0;margin-top:5px;width:100%}.filter-group li{margin:10px 0}}@media only screen and (max-width:1000px){.filter-items{float:none}.wp-filter .media-toolbar-primary,.wp-filter .media-toolbar-secondary,.wp-filter .search-form{float:none;position:relative;max-width:100%}}@media only screen and (max-width:782px){.filter-group li{padding:0;width:50%}}@media only screen and (max-width:320px){.filter-count{display:none}.wp-filter .drawer-toggle{margin:10px 0}.filter-group li,.wp-filter .search-form input[type=search]{width:100%}}.notice,div.error,div.updated{background:#fff;border-left:4px solid #fff;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 15px 2px;padding:1px 12px}.form-table td .notice p,.notice p,div.error p,div.updated p{margin:.5em 0;padding:2px}.wp-core-ui .notice.is-dismissible{padding-right:38px;position:relative}.notice-dismiss{position:absolute;top:0;right:1px;border:none;margin:0;padding:9px;background:0 0;color:#b4b9be;cursor:pointer}.notice-dismiss:before{position:relative;top:0;left:0;line-height:20px}.notice-dismiss:active:before,.notice-dismiss:focus:before,.notice-dismiss:hover:before{color:#c00}.notice-dismiss:focus{outline:0;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);color:#c00}.ie8 .notice-dismiss:focus{outline:#5b9dd9 solid 1px}.notice-success,div.updated{border-color:#7ad03a}.notice-warning{border-color:#ffba00}.notice-error,div.error{border-color:#dd3d36}.notice-info{border-color:#00a0d2}.media-upload-form .notice,.media-upload-form div.error,.wrap .notice,.wrap div.error,.wrap div.updated{margin:5px 0 15px}#update-nag,.update-nag{display:inline-block;line-height:19px;padding:11px 15px;font-size:14px;text-align:left;margin:25px 20px 0 2px;background-color:#fff;border-left:4px solid #ffba00;-webkit-box-shadow:0 1px 1px 0 rgba(0,0,0,.1);box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}.update-message{color:#000}.update-php .spinner{float:none;margin:-4px 0}#ajax-loading,.ajax-feedback,.ajax-loading,.imgedit-wait-spin,.list-ajax-loading{visibility:hidden}#ajax-response.alignleft{margin-left:2em}#adminmenu a,#catlist a,#taglist a{text-decoration:none}#contextual-help-wrap,#screen-options-wrap{margin:0;padding:8px 20px 12px;position:relative}#contextual-help-wrap{overflow:auto;margin-left:0!important}#screen-meta .screen-reader-text{visibility:hidden}#screen-meta-links{margin:0 20px 0 0}#screen-meta-links a{padding:3px 6px 3px 16px}#screen-meta-links a:focus{outline:0}#screen-meta{display:none;margin:0 20px -1px 0;position:relative;background-color:#fff;border:1px solid #ddd;border-top:none;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.025);box-shadow:0 1px 0 rgba(0,0,0,.025)}#contextual-help-link-wrap,#screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #ddd;border-top:none;background:#fff;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1)}#screen-meta-links .screen-meta-toggle{position:relative;top:0}#screen-meta-links a{color:#777}#screen-meta-links a:active,#screen-meta-links a:focus,#screen-meta-links a:hover{color:#32373c}#screen-meta-links a.show-settings{display:block;font-size:13px;height:22px;line-height:22px;text-decoration:none;z-index:1}#screen-meta-links a:after{right:0;content:'\f140';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 5px 0 0;bottom:2px;position:relative;vertical-align:bottom;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#b4b9be}#screen-meta-links a.screen-meta-active:after{content:'\f142'}#screen-meta-links a.show-settings:hover{text-decoration:none}.toggle-arrow{background-repeat:no-repeat;background-position:top left;background-color:transparent;height:22px;line-height:22px;display:block}.toggle-arrow-active{background-position:bottom left}#contextual-help-wrap h5,#screen-options-wrap h5{margin:8px 0;font-size:13px}.metabox-prefs label{display:inline-block;padding-right:15px;line-height:30px}.metabox-prefs label input[type=checkbox]{margin-top:-4px;margin-right:6px}.metabox-prefs label input{margin:0 5px 0 2px}.metabox-prefs .columns-prefs label input{margin:0 2px}.metabox-prefs label a{display:none}.metabox-prefs .screen-options{padding-top:10px}.metabox-prefs .screen-options input,.metabox-prefs .screen-options label{margin-top:0;margin-bottom:0;vertical-align:middle}.metabox-prefs .screen-options .screen-per-page{margin-right:15px}.metabox-prefs .screen-options label{line-height:28px;padding-right:0}#contextual-help-wrap{padding:0}#contextual-help-columns{position:relative}#contextual-help-back{position:absolute;top:0;bottom:0;left:150px;right:170px;border:1px solid #e1e1e1;border-top:none;border-bottom:none;background:#f6fbfd}#contextual-help-wrap.no-sidebar #contextual-help-back{right:0;border-right-width:0;-webkit-border-bottom-right-radius:2px;border-bottom-right-radius:2px}.contextual-help-tabs{float:left;width:150px;margin:0}.contextual-help-tabs ul{margin:1em 0}.contextual-help-tabs li{margin-bottom:0;list-style-type:none;border-style:solid;border-width:0 0 0 2px;border-color:transparent}.contextual-help-tabs a{display:block;padding:5px 5px 5px 12px;line-height:18px;text-decoration:none;border:1px solid transparent;border-right:none;border-left:none}.contextual-help-tabs a:hover{color:#32373c}.contextual-help-tabs .active{padding:0;margin:0 -1px 0 0;border-left:2px solid #00a0d2;background:#f6fbfd;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02);box-shadow:0 2px 0 rgba(0,0,0,.02),0 1px 0 rgba(0,0,0,.02)}.contextual-help-tabs .active a{border-color:#e1e1e1;color:#32373c}.contextual-help-tabs-wrap{padding:0 20px;overflow:auto}.help-tab-content{display:none;margin:0 22px 12px 0;line-height:1.6em}.help-tab-content.active{display:block}.help-tab-content ul li{list-style-type:disc;margin-left:18px}.contextual-help-sidebar{width:150px;float:right;padding:0 8px 0 12px;overflow:auto}html.wp-toolbar{padding-top:32px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.widefat td,.widefat th{color:#555}.widefat th{font-weight:400}.widefat tfoot tr th,.widefat thead tr th{color:#32373c}.widefat td p{margin:2px 0 .8em}.widefat ol,.widefat p,.widefat ul{color:#32373c}.widefat .column-comment p{margin:.6em 0}.postbox-container{float:left}.postbox-container .meta-box-sortables{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody-content .metabox-holder{padding-top:10px}.metabox-holder .postbox-container .empty-container{border:3px dashed #b4b9be;height:250px}.columns-2 #postbox-container-3 .empty-container,.columns-2 #postbox-container-4 .empty-container,.columns-3 #postbox-container-4 .empty-container,.metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}#post-body-content{width:100%;min-width:463px;float:left}#post-body.columns-2 #postbox-container-1{float:right;margin-right:-300px;width:280px}#post-body.columns-2 #side-sortables{min-height:250px}@media only screen and (max-width:799px){#wpbody-content .metabox-holder .postbox-container .empty-container{border:0;height:0;min-height:0}}.js .postbox .hndle,.js .widget .widget-top{cursor:move}.hndle a{font-size:11px;font-weight:400}.postbox .handlediv{float:right;width:27px;height:30px}.js .postbox .handlediv{cursor:pointer}.sortable-placeholder{border:1px dashed #b4b9be;margin-bottom:20px}.postbox,.stuffbox{margin-bottom:20px;padding:0;line-height:1}.postbox .hndle,.stuffbox .hndle{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.postbox .inside,.stuffbox .inside{padding:0 12px 12px;line-height:1.4em;font-size:13px}.postbox .inside{margin:11px 0;position:relative}.postbox .inside>p:last-child,.rss-widget ul li:last-child{margin-bottom:1px!important}.postbox.closed h3{border:none;-webkit-box-shadow:none;box-shadow:none}.postbox table.form-table{margin-bottom:0}.postbox table.widefat{-webkit-box-shadow:none;box-shadow:none}.temp-border{border:1px dotted #ccc}.columns-prefs label{padding:0 5px}#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:hover,#dashboard_right_now .versions .b,#ed_reply_toolbar #ed_reply_strong,#pass-strength-result.short,#pass-strength-result.strong,#post-status-display,#post-visibility-display,.feature-filter .feature-name,.item-controls .item-order a,.media-item .percent,.plugins .name{font-weight:600}#wpfooter{position:absolute;bottom:0;left:0;right:0;padding:10px 20px;color:#777}#wpfooter p{font-size:13px;margin:0;line-height:20px}#footer-thankyou{font-style:italic}#wpfooter a{text-decoration:none}#wpfooter a:hover{text-decoration:underline}.nav-tab{border:1px solid #ccc;border-bottom:none;background:#e4e4e4;color:#555;font-size:12px;line-height:16px;display:inline-block;padding:4px 14px 6px;text-decoration:none;margin:-4px 4px -1px 0}.nav-tab:hover{background-color:#fff;color:#464646}.nav-tab-active,.nav-tab-active:hover{border-bottom:1px solid #f1f1f1;background:#f1f1f1;color:#000}h2.nav-tab-wrapper,h3.nav-tab-wrapper{border-bottom:1px solid #ccc;padding-bottom:0;padding-left:10px}h2 .nav-tab{padding:6px 10px;font-weight:700;font-size:15px;line-height:24px}.spinner{background:url(../images/spinner.gif) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;display:inline-block;visibility:hidden;float:right;vertical-align:middle;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}.spinner.is-active{visibility:visible}#template div{margin-right:190px}.metabox-holder h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#templateside ul li a{text-decoration:none}.plugin-install #description,.plugin-install-network #description{width:60%}table .column-rating,table .column-visible,table .vers{text-align:left}.error-message{color:red;font-weight:600}body.iframe{height:98%}.lp-show-latest p{display:none}.lp-show-latest .lp-error p,.lp-show-latest p:last-child{display:block}td.media-icon{text-align:center;width:80px;padding-top:8px;padding-bottom:8px}td.media-icon img{max-width:80px;max-height:60px;width:auto;height:auto}td.image-icon img{border:1px solid rgba(0,0,0,.07)}#howto{font-size:11px;margin:0 5px;display:block}.importers td{padding-right:14px}.importers{font-size:16px;width:auto}#post-body #post-body-content #namediv h3{margin-top:0}#namediv h3 label{vertical-align:baseline}#namediv table{width:100%}#namediv td.first{width:10px;white-space:nowrap}#namediv input{width:98%}#namediv p{margin:10px 0}#submitdiv h3{margin-bottom:0!important}.zerosize{height:0;width:0;margin:0;border:0;padding:0;overflow:hidden;position:absolute}br.clear{height:2px;line-height:2px}.checkbox{border:none;margin:0;padding:0}fieldset{border:0;padding:0;margin:0}.post-categories{display:inline;margin:0;padding:0}.post-categories li{display:inline}div.star-holder{position:relative;height:17px;width:100px;background:url(../images/stars.png?ver=20121108) bottom left repeat-x}div.star-holder .star-rating{background:url(../images/stars.png?ver=20121108) top left repeat-x;height:17px;float:left}.star-rating{white-space:nowrap}.star-rating .star{display:inline-block;width:20px;height:20px;-webkit-font-smoothing:antialiased;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;text-align:center;color:#ffb900}.star-rating .star-full:before{content:'\f155'}.star-rating .star-half:before{content:'\f459'}.rtl .star-rating .star-half{-webkit-transform:rotateY(180deg);-ms-transform:rotateY(180deg);transform:rotateY(180deg)}.star-rating .star-empty:before{content:'\f154'}div.action-links{font-weight:400}#plugin-information{background:#fff;position:fixed;top:0;right:0;bottom:0;left:0;height:100%;padding:0}#plugin-information-scrollable{overflow:auto;-webkit-overflow-scrolling:touch;height:100%}#plugin-information-title{padding:0 20px;background:#f5f5f5;font-size:22px;font-weight:600;line-height:56px;position:relative;top:0;right:0;left:0;height:56px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner{margin-right:0;height:250px;bottom:250px;-webkit-background-size:cover;background-size:cover}#plugin-information-title h2{font-size:1em;font-weight:700;padding:0;margin:0;max-width:680px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#plugin-information-title.with-banner h2{font-family:"Helvetica Neue",sans-serif;display:inline-block;font-size:30px;line-height:50px;padding:0 15px;margin:174px 0 0 10px;color:#fff;background:rgba(30,30,30,.9);text-shadow:0 1px 3px rgba(0,0,0,.4);-webkit-box-shadow:0 0 30px rgba(255,255,255,.1);box-shadow:0 0 30px rgba(255,255,255,.1);-webkit-border-radius:8px;border-radius:8px}#plugin-information-title div.vignette{display:none}#plugin-information-title.with-banner div.vignette{display:block;float:right;top:0;height:250px;width:772px;margin:0 -20px;background:0 0;-webkit-box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 50px 4px rgba(0,0,0,.2),inset 0 -1px 0 rgba(0,0,0,.1)}#plugin-information-tabs{padding:0 16px;position:relative;right:0;left:0;height:36px;z-index:1;border-bottom:1px solid #ddd;background:#f3f3f3}#plugin-information-tabs a{position:relative;float:left;padding:9px 10px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none;-webkit-transition:none;transition:none}#plugin-information-tabs a.current{margin:0 -1px;background:#fff;border:1px solid #ddd;border-bottom-color:#fff;padding-top:8px;color:#32373c}#plugin-information-tabs.with-banner a.current{border-top:none;padding-top:9px}#plugin-information-tabs a:active,#plugin-information-tabs a:focus{outline:0}#plugin-information-content{overflow:hidden;background:#fff;position:relative;top:0;right:0;left:0;min-height:100%;min-height:-webkit-calc(100% - 152px);min-height:calc(100% - 152px)}#plugin-information-content.with-banner{min-height:-webkit-calc(100% - 346px);min-height:calc(100% - 346px)}#section-holder{position:relative;top:0;right:250px;bottom:0;left:0;margin-right:250px;padding:10px 26px 99999px;margin-bottom:-99930px}#section-holder .updated{margin:16px 0}#plugin-information .fyi{display:block;float:right;position:relative;top:0;right:0;padding:16px 16px 99999px;margin-bottom:-99930px;width:217px;border-left:1px solid #ddd;background:#f3f3f3;color:#666}#plugin-information .fyi strong{color:#464646}#plugin-information .fyi h3{font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}#plugin-information .fyi h2{font-size:.9em;margin-bottom:0;margin-right:0}#plugin-information .fyi ul{padding:0;margin:0;list-style:none}#plugin-information .fyi li{margin:0 0 10px}#plugin-information .counter-container{margin:3px 0}#plugin-information .counter-label{float:left;margin-right:5px;min-width:55px}#plugin-information .counter-back{height:17px;width:92px;background-color:#ececec;float:left}#plugin-information .counter-bar{height:17px;background-color:#ffc733;float:left}#plugin-information .counter-count{margin-left:5px}#plugin-information .fyi ul.contributors{margin-top:10px}#plugin-information .fyi ul.contributors li{display:inline-block;margin-right:8px;vertical-align:middle}#plugin-information .fyi ul.contributors li img{vertical-align:middle;margin-right:4px}#plugin-information-footer{padding:15px 16px;position:absolute;right:0;bottom:0;left:0;height:28px;border-top:1px solid #ddd;background:#f3f3f3}#plugin-information .section{direction:ltr}#plugin-information .section ol,#plugin-information .section ul{list-style-type:disc;margin-left:24px}#plugin-information .section,#plugin-information .section p{font-size:14px;line-height:1.7}#plugin-information #section-screenshots ol{list-style:none;margin:0}#plugin-information #section-screenshots li img{vertical-align:text-top;margin-top:16px;max-width:100%;width:auto;height:auto;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}#plugin-information #section-screenshots li p{font-style:italic;padding-left:20px}#plugin-information pre{padding:7px;overflow:auto;border:1px solid #ccc}#plugin-information .review{overflow:hidden;width:100%;margin-bottom:20px;border-bottom:1px solid #e6e6e6}#plugin-information .review-title-section{overflow:hidden}#plugin-information .review-title-section h4{display:inline-block;float:left;margin:0 6px 0 0}#plugin-information .reviewer-info p{clear:both;margin:0;padding-top:2px}#plugin-information .reviewer-info .avatar{float:left;margin:4px 6px 0 0}#plugin-information .reviewer-info .star-rating{float:left}#plugin-information .review-meta{float:left;margin-left:.75em}#plugin-information .review-body{float:left;width:100%}.plugin-version-author-uri{font-size:13px}@media screen and (max-width:771px){#plugin-information-title.with-banner{height:100px;bottom:100px}#plugin-information-title.with-banner h2{margin-top:30px;font-size:20px;line-height:40px;max-width:85%}#plugin-information-title.with-banner div.vignette{height:100px;bottom:100px;width:800%}#plugin-information-tabs{overflow:hidden;padding:0;height:auto}#plugin-information-tabs a.current{margin-bottom:0;border-bottom:none}#plugin-information .fyi{float:none;border:1px solid #ddd;position:static;width:auto;margin:26px 26px 0;padding-bottom:0}#section-holder{position:static;margin:0;padding-bottom:70px}#plugin-information .fyi h3,#plugin-information .fyi small{display:none}#plugin-information-footer{padding:12px 16px 0;height:46px}}body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:url(../images/spinner.gif) center no-repeat #fcfcfc}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){body.import-php #TB_window,body.index-php #TB_window,body.plugin-install-php #TB_window,body.plugins-php #TB_window,body.update-core-php #TB_window{background:url(../images/spinner-2x.gif) center/20px 20px no-repeat #fcfcfc;-webkit-background-size:20px 20px}}body.import-php #TB_title,body.index-php #TB_title,body.plugin-install-php #TB_title,body.plugins-php #TB_title,body.update-core-php #TB_title{float:left;height:1px}body.import-php #TB_ajaxWindowTitle,body.index-php #TB_ajaxWindowTitle,body.plugin-install-php #TB_ajaxWindowTitle,body.plugins-php #TB_ajaxWindowTitle,body.update-core-php #TB_ajaxWindowTitle{display:none}body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{left:auto;right:-30px;color:#eee;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}body.import-php #TB_closeWindowButton:focus,body.import-php #TB_closeWindowButton:focus .tb-close-icon,body.import-php .tb-close-icon:focus,body.import-php .tb-close-icon:hover,body.index-php #TB_closeWindowButton:focus,body.index-php #TB_closeWindowButton:focus .tb-close-icon,body.index-php .tb-close-icon:focus,body.index-php .tb-close-icon:hover,body.plugin-install-php #TB_closeWindowButton:focus,body.plugin-install-php #TB_closeWindowButton:focus .tb-close-icon,body.plugin-install-php .tb-close-icon:focus,body.plugin-install-php .tb-close-icon:hover,body.plugins-php #TB_closeWindowButton:focus,body.plugins-php #TB_closeWindowButton:focus .tb-close-icon,body.plugins-php .tb-close-icon:focus,body.plugins-php .tb-close-icon:hover,body.update-core-php #TB_closeWindowButton:focus,body.update-core-php #TB_closeWindowButton:focus .tb-close-icon,body.update-core-php .tb-close-icon:focus,body.update-core-php .tb-close-icon:hover{color:#00a0d2;outline:0;-webkit-box-shadow:none;box-shadow:none}body.import-php .tb-close-icon:before,body.index-php .tb-close-icon:before,body.plugin-install-php .tb-close-icon:before,body.plugins-php .tb-close-icon:before,body.update-core-php .tb-close-icon:before{content:"\f335";font-size:32px}@media screen and (max-width:830px){body.import-php .tb-close-icon,body.index-php .tb-close-icon,body.plugin-install-php .tb-close-icon,body.plugins-php .tb-close-icon,body.update-core-php .tb-close-icon{right:0;top:-30px}}img{border:none}#wphead{border-bottom:1px solid #dfdfdf}#wphead h1 a{color:#464646}.js .meta-box-sortables .postbox:hover .handlediv{margin-right:0!important}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js #widgets-left .sidebar-name .sidebar-name-arrow{display:none}.js #widgets-left .sidebar-name:hover .sidebar-name-arrow,.js #widgets-left .widgets-holder-wrap.closed .sidebar-name .sidebar-name-arrow{display:block}.js .meta-box-sortables .postbox .handlediv:before,.js .sidebar-name .sidebar-name-arrow:before{content:'\f142'}.js .meta-box-sortables .postbox.closed .handlediv:before,.js .widgets-holder-wrap.closed .sidebar-name-arrow:before{content:'\f140'}.error a{text-decoration:underline}.updated a{text-decoration:none;padding-bottom:2px}#photo-add-url-div input[type=text]{width:300px}.alignleft h3{margin:0}#template textarea{font-family:Consolas,Monaco,monospace;font-size:13px;width:97%;background:#f9f9f9;outline:0}#docs-list,#template textarea{direction:ltr}#template p{width:97%}#templateside{float:right;width:190px;word-wrap:break-word}#postcustomstuff p.submit,#templateside h3{margin:0}#templateside h4{margin:1em 0 0}#templateside ol,#templateside ul{margin:.5em 0;padding:0}#templateside li{margin:4px 0}#templateside li a,.theme-editor-php .highlight{display:block;padding:3px 3px 3px 12px;text-decoration:none}.theme-editor-php .highlight{margin:-3px 3px -3px -12px}#templateside .highlight{border:none;font-weight:700}.nonessential{color:#666;font-size:11px;font-style:italic;padding-left:12px}#documentation{margin-top:10px}#documentation label{line-height:22px;vertical-align:baseline;font-weight:600}.fileedit-sub{padding:10px 0 8px;line-height:180%}.accordion-section-title:after,.control-section .accordion-section-title:after,.nav-menus-php .item-edit:before,.widget-top a.widget-action:after{right:0;content:'\f140';border:none;background:0 0;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.accordion-section-title:after,.handlediv,.item-edit,.sidebar-name-arrow,.widget-action{color:#a0a5aa}.accordion-section-title:hover:after,.handlediv:hover,.item-edit:hover,.sidebar-name:hover .sidebar-name-arrow,.widget-action:hover{color:#777}.widget-top a.widget-action:after{padding:12px 12px 11px}.widget-top a.widget-action:focus:after{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.nav-menus-php .item-edit:before{line-height:2.1}.accordion-section-title:after,.control-section .accordion-section-title:after{float:right;right:20px;top:-2px}#customize-info.open .accordion-section-title:after,.control-section.open .accordion-section-title:after,.nav-menus-php .menu-item-edit-active .item-edit:before,.widget.open .widget-top a.widget-action:after{content:'\f142'}/*!
+ * jQuery UI Draggable/Sortable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
- */.ui-draggable-handle,.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.accordion-section{border-bottom:1px solid #dfdfdf;margin:0}.accordion-section.open .accordion-section-content,.no-js .accordion-section .accordion-section-content{display:block}.accordion-section.open:hover{border-bottom-color:#dfdfdf}.accordion-section-content{display:none;padding:10px 20px 15px;overflow:hidden;background:#fff}.accordion-section-title{margin:0;padding:12px 15px 15px;position:relative;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .accordion-section-title{cursor:pointer}.js .accordion-section-title:after{position:absolute;top:12px;right:10px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:focus:after,.accordion-section-title:hover:after{border-color:#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 .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) bottom left/21px 37px repeat-x;-webkit-background-size:21px 37px}.spinner{background-image:url(../images/spinner-2x.gif)}#bulk-titles div a,#bulk-titles div a:hover,#screen-meta-links a.show-settings,.curtime #timestamp,.meta-box-sortables .postbox:hover .handlediv,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.tagchecklist span a,.tagchecklist span a:hover,.widget-top a.widget-action,.widget-top a.widget-action:hover{background:none!important}}@-ms-viewport{width:device-width}@media screen and (max-width:782px){html.wp-toolbar{padding-top:46px}body{min-width:240px;overflow-x:hidden}body *{-webkit-tap-highlight-color:transparent!important}#wpcontent{position:relative;margin-left:0;padding-left:10px}#wpbody-content{padding-bottom:100px}.wrap{margin-right:12px;margin-left:0}.col-wrap{padding:0}#collapse-menu,#screen-meta,#screen-meta-links,.post-format-select{display:none!important}.wrap .add-new-h2,.wrap .add-new-h2:active{padding:10px 15px;font-size:14px}.wp-color-result{height:auto;padding-left:45px}.wp-color-result:after{font-size:14px;height:auto;padding:6px 14px}.media-upload-form div.error,.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}code{word-wrap:break-word}.postbox{font-size:14px}.metabox-holder h3{padding:12px}.postbox .handlediv{margin-top:3px}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}#templateside{float:none;width:auto}#templateside li{margin:0}#templateside li a{display:block;padding:5px}#templateside .highlight{padding:5px;margin-left:-5px;margin-top:-5px}#template div{float:none;margin:0;width:auto}#template textarea{width:100%}.fileedit-sub .alignright{margin-top:15px}#comments-form .checkforspam,#wpfooter{display:none}}@media screen and (max-width:600px){#wpwrap.wp-responsive-open{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}div#post-body.metabox-holder.columns-1{overflow-x:hidden}}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#333;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #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-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[type=checkbox]:checked:before,input[type=radio]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:left;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;left:-1px;padding:0 5px 0 0;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=text].ui-autocomplete-loading{background:url(../images/loading.gif) right center no-repeat;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}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.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}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-left:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}.form-field #domain{max-width:none}}@media only screen and (max-width:768px){.form-field input[type=email],.form-field input[type=password],.form-field input[type=text],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media 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;padding:0;list-style:none}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:36px}.icon16{height:18px;width:18px;padding:6px;margin:-6px 0 0 -8px;float:left}.icon16:before{color:#999;font:400 20px/1 dashicons;speak:none;padding:6px 0;height:34px;width:20px;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.icon16.icon-dashboard:before{content:'\f226'}.icon16.icon-post:before{content:'\f109'}.icon16.icon-media:before{content:'\f104'}.icon16.icon-links:before{content:'\f103'}.icon16.icon-page:before{content:'\f105'}.icon16.icon-comments:before{content:'\f101';margin-top:1px}.icon16.icon-appearance:before{content:'\f100'}.icon16.icon-plugins:before{content:'\f106'}.icon16.icon-users:before{content:'\f110'}.icon16.icon-tools:before{content:'\f107'}.icon16.icon-settings:before{content:'\f108'}.icon16.icon-site:before{content:'\f112'}.icon16.icon-generic:before{content:'\f111'}.icon16.icon-appearance,.icon16.icon-comments,.icon16.icon-dashboard,.icon16.icon-generic,.icon16.icon-links,.icon16.icon-media,.icon16.icon-page,.icon16.icon-plugins,.icon16.icon-post,.icon16.icon-settings,.icon16.icon-site,.icon16.icon-tools,.icon16.icon-users,.menu-icon-appearance div.wp-menu-image,.menu-icon-comments div.wp-menu-image,.menu-icon-dashboard div.wp-menu-image,.menu-icon-generic div.wp-menu-image,.menu-icon-links div.wp-menu-image,.menu-icon-media div.wp-menu-image,.menu-icon-page div.wp-menu-image,.menu-icon-plugins div.wp-menu-image,.menu-icon-post div.wp-menu-image,.menu-icon-settings div.wp-menu-image,.menu-icon-site div.wp-menu-image,.menu-icon-tools div.wp-menu-image,.menu-icon-users div.wp-menu-image{background-image:none!important}#adminmenuwrap{position:relative;float:left;z-index:9990}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px;color:#eee}#adminmenu .wp-submenu a{color:#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:#45bbe6}#adminmenu li.menu-top{border:none;min-height:34px;position:relative}#adminmenu .wp-submenu{list-style:none;position:absolute;top:-1000em;left:160px;overflow:visible;word-wrap:break-word}#adminmenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{padding:7px 0 8px;z-index:9999;background-color:#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;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:#45bbe6}.folded #adminmenu div.wp-menu-image{width:35px;height:30px;position:absolute;z-index:25}.folded #adminmenu a.menu-top{height:34px}.no-font-face #adminmenu .wp-menu-image{display:none}.no-font-face #adminmenu div.wp-menu-name{padding:8px 12px}.no-font-face.auto-fold #adminmenu .wp-menu-name{margin-left:0}.sticky-menu #adminmenuwrap{position:fixed}.wp-menu-arrow{display:none!important}ul#adminmenu a.wp-has-current-submenu{position:relative}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{right:0;border:8px solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#f1f1f1;top:50%;margin-top:-8px}.folded ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.folded ul#adminmenu a.wp-has-current-submenu:after,.folded ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{right:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-width:8px;top:10px;z-index:10000}.folded ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:18px}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#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}#adminmenu .awaiting-mod,#adminmenu .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:#45bbe6;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:#45bbe6}.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}.customize-support #menu-appearance a[href="themes.php?page=custom-header"],.customize-support #menu-appearance a[href="themes.php?page=custom-background"],li#wp-admin-bar-menu-toggle{display:none}@media only screen and (max-width:960px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-left:36px}.auto-fold #adminmenu,.auto-fold #adminmenu li.menu-top,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{width:36px}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{top:0;left:36px}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu,.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em;margin-right:-1px;padding:7px 0 8px;z-index:9999}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{min-width:150px;width:auto}.auto-fold #adminmenu .wp-has-current-submenu li>a{padding-right:16px;padding-left:14px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding-left:12px}.auto-fold #adminmenu .wp-menu-name{display:none}.auto-fold #adminmenu .wp-submenu-head{display:block}.auto-fold #adminmenu div.wp-menu-image{height:30px;width:34px;position:absolute;z-index:25}.auto-fold #adminmenu a.menu-top{height:34px}.auto-fold #adminmenu li.wp-menu-open{border:0}.auto-fold #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:16px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}.auto-fold #adminmenu li.menu-top:hover,.auto-fold #adminmenu li.opensub>a.menu-top,.auto-fold #adminmenu li>a.menu-top:focus{z-index:10000}.auto-fold #collapse-menu span{display:none}.auto-fold #collapse-button div{background:0 0}.auto-fold #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.auto-fold #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}}@media screen and (max-width:782px){.auto-fold #wpcontent{position:relative;margin-left:0;padding-left:10px}.sticky-menu #adminmenuwrap{position:relative;z-index:auto;top:0}.auto-fold #adminmenu,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{position:absolute;width:190px;z-index:100}.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{display:none}.auto-fold .wp-responsive-open #adminmenuback,.auto-fold .wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu li.menu-top{width:100%}.auto-fold #adminmenu li a{font-size:16px;padding:5px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding:10px 10px 10px 20px}.auto-fold #adminmenu .wp-menu-name{display:block;margin-left:35px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li.current>a.current:after{border-width:8px;margin-top:-8px}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{display:none}#adminmenu .wp-submenu{position:relative;display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold #adminmenu .wp-menu-open .wp-submenu{position:relative;display:block;top:0;left:-1px;-webkit-box-shadow:none;box-shadow:none}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .selected .wp-submenu:after,.auto-fold #adminmenu .wp-menu-open .wp-submenu:after{display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:block}.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{position:relative;left:-1px;right:0;top:0}#adminmenu .wp-submenu .wp-submenu-head{display:none}#wp-responsive-toggle{position:fixed;top:5px;left:4px;padding-right:10px;z-index:99999;border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpadminbar #wp-admin-bar-menu-toggle a{display:block;padding:0;overflow:hidden;outline:0;text-decoration:none;border:1px solid transparent;background:0 0;height:44px;margin-left:-1px}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#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:none;text-align:center;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}@media screen and (max-width:600px){#adminmenuback,#adminmenuwrap{display:none}.wp-responsive-open #adminmenuback,.wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu{top:46px}}#wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody-content #dashboard-widgets.columns-2 .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets.columns-2 #postbox-container-2,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-4{float:right;width:50.5%}#wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-3 #postbox-container-4{float:right}#dashboard-widgets .postbox-container,#wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container{border:none!important}.ie8 #wpbody-content #dashboard-widgets .postbox-container{width:49.5%}.ie8 #wpbody-content #dashboard-widgets #postbox-container-2,.ie8 #wpbody-content #dashboard-widgets #postbox-container-3,.ie8 #wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}.ie8 #dashboard-widgets #postbox-container-3 .empty-container,.ie8 #dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#dashboard-widgets-wrap{overflow:hidden;margin:0 -8px}#dashboard-widgets .postbox .inside{margin-bottom:0}#dashboard-widgets .meta-box-sortables{margin:0 8px;min-height:100px}#the-comment-list td.comment p.comment-author{margin-top:0;margin-left:0}#the-comment-list p.comment-author img{float:left;margin-right:8px}#the-comment-list p.comment-author strong a{border:none}#the-comment-list td{vertical-align:top}#the-comment-list td.comment{word-wrap:break-word}#the-comment-list td.comment img{max-width:100%}.welcome-panel{position:relative;overflow:auto;margin:16px 0;padding:23px 10px 0;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:13px;line-height:2.1em}.welcome-panel h3{margin:0;font-size:21px;font-weight:400;line-height:1.2}.welcome-panel h4{margin:1.33em 0 0;font-size:16px}.welcome-panel li{font-size:14px}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel .about-description{font-size:16px;margin:0}.welcome-panel .welcome-panel-close{position:absolute;top:5px;right:10px;padding:20px 15px 0 3px;font-size:13px;text-decoration:none;line-height:1}#welcome-panel.welcome-panel .welcome-panel-close:before{position:absolute;left:-18px;margin-top:-2px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.wp-core-ui .welcome-panel .button.button-hero{margin:15px 13px 3px 0;padding:12px 36px;height:auto;line-height:1.4285714;white-space:normal}.welcome-panel-content{margin-left:13px;max-width:1500px}.welcome-panel .welcome-panel-column-container{clear:both;overflow:hidden;position:relative}.welcome-panel .welcome-panel-column{width:32%;min-width:200px;float:left}.ie8 .welcome-panel .welcome-panel-column{min-width:230px}.welcome-panel .welcome-panel-column:first-child{width:36%}.welcome-panel-column p.hide-if-no-customize{margin-top:10px}.welcome-panel-column p{margin-top:7px;color:#464646}.welcome-panel .welcome-icon{display:block;padding:0 0 8px;background:0 0!important}.welcome-panel .welcome-icon:before{color:#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}.rssSummary{color:#777;margin-top:4px}#dashboard_primary .rss-widget{border-bottom:1px solid #eee;font-size:13px;padding:8px 12px 10px}#dashboard_primary .rss-widget:last-child{border-bottom:none;padding-bottom:8px}#dashboard_primary .rss-widget a{font-weight:400}#dashboard_primary .rss-widget span,#dashboard_primary .rss-widget span.rss-date{color:#777}#dashboard_primary .rss-widget span.rss-date{margin-left:12px}#dashboard_primary .rss-widget ul li{margin-bottom:8px}#dashboard_right_now ul{margin:0;overflow:hidden}#dashboard_right_now li{width:50%;float:left;margin-bottom:10px}#dashboard_right_now .inside{overflow:hidden;padding:0}#dashboard_right_now .main{overflow:hidden;padding:0 12px 11px}#dashboard_right_now .main p{margin:0}#dashboard_right_now #wp-version-message .button{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:none}#dashboard_quick_press .drafts h4{margin:0 12px 8px;font-weight:400}#dashboard_quick_press .drafts .view-all{float:right;margin:0 12px 0 0}#dashboard_primary a.rsswidget{font-weight:400}#dashboard_quick_press .drafts ul{margin:0 12px}#dashboard_quick_press .drafts li{margin-bottom:1em}#dashboard_quick_press .drafts li time{color:#777}#dashboard_quick_press .drafts p{margin:0;word-wrap:break-word}#dashboard_quick_press .draft-title{overflow:hidden}#dashboard_quick_press .draft-title a,#dashboard_quick_press .draft-title time{float:left;margin:0 5px 0 0}#dashboard-widgets #dashboard_activity h4{margin:0 0 8px 12px;font-weight:400}#dashboard-widgets #dashboard_activity h4.comment-meta{margin:0}#dashboard_activity h4.comment-meta{margin-bottom:4px}#dashboard_activity ul{padding:0 12px}#dashboard_activity .comment-meta span.approve:before{content:'\f227';font:20px/.5 dashicons;margin-left:12px;vertical-align:middle;position:relative;top:-1px;margin-right:2px}#dashboard_activity .inside{padding:0;margin:0}#dashboard_activity .no-activity{overflow:hidden;padding:0 12px 12px;text-align:center}#dashboard_activity .no-activity p{color:#999;font-size:16px}#dashboard_activity .no-activity .smiley{margin-top:0}#dashboard_activity .no-activity .smiley:before{content:'\f328';font:400 120px/1 dashicons;speak:none;display:block;margin:0 5px 0 0;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_activity .subsubsub{float:none;border-top:1px solid #eee;margin-top:0;padding:8px 12px 4px}#future-posts ul,#published-posts ul{clear:both;margin-bottom:0}#future-posts li,#published-posts li{overflow:hidden;margin-bottom:8px}#future-posts ul span,#published-posts ul span{color:#777;float:left;margin-right:8px;min-width:150px}.activity-block{border-bottom:1px solid #eee;overflow:hidden;padding:8px 0 4px}.activity-block:last-child{border-bottom:none}.activity-block .subsubsub li{color:#ddd}#activity-widget #the-comment-list div.undo,#activity-widget #the-comment-list tr.undo{background:0 0;padding:6px 0;margin-left:12px}#activity-widget #the-comment-list .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;top:13px}#activity-widget #the-comment-list .dashboard-comment-wrap{padding-left:63px}#activity-widget #the-comment-list .dashboard-comment-wrap blockquote{margin:1em 0}#activity-widget #the-comment-list .comment-item h4{font-size:13px;color:#999}#activity-widget #the-comment-list .comment-item p.row-actions{margin:4px 0 0}#activity-widget #the-comment-list .comment-item:first-child{border-top:1px solid #eee}#activity-widget #the-comment-list .unapproved{background-color:#fef7f1}#activity-widget #the-comment-list .unapproved:before{content:"";display:block;position:absolute;left:0;top:0;bottom:0;background:#d54e21;width:4px}#activity-widget #the-comment-list .spam-undo-inside .avatar,#activity-widget #the-comment-list .trash-undo-inside .avatar{position:relative;top:0}#dashboard-widgets #dashboard_browser_nag.postbox .inside{margin:10px}.edit-box{display:none}h3:hover .edit-box{display:inline}#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:100%}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:none}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0}#dashboard-widgets a{text-decoration:none}#dashboard-widgets h3 a{text-decoration:underline}#dashboard-widgets h3 .postbox-title-action{position:absolute;right:10px;padding:0;top:5px}.js #dashboard-widgets h3 .postbox-title-action{right:33px}#dashboard-widgets h4{color:#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,#activity-widget #the-comment-list .pingback{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}#activity-widget #latest-comments #the-comment-list .comment-item{padding:1em 12px}#latest-comments #the-comment-list .pingback{padding-left:12px!important}#latest-comments #the-comment-list .comment-item:first-child{border-top:none}#latest-comments #the-comment-list .comment-item h4{line-height:1.5em;margin-top:0;color:#666}#latest-comments #the-comment-list .comment-item h4 cite{font-style:normal;font-weight:400}#latest-comments #the-comment-list .comment-item blockquote,#latest-comments #the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline}#latest-comments #the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:13px}#description-wrap label,#title-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;outline:0}#title-wrap #title-prompt-text{font-size:1.1em;padding:5px 8px}.rss-widget ul{margin:0;padding:0;list-style:none}a.rsswidget{font-size:14px;font-weight:600;line-height:1.7em}.rss-widget ul li{line-height:1.5em;margin-bottom:12px}.rss-widget span.rss-date{color:#999;font-size:13px;margin-left:3px}.rss-widget cite{display:block;text-align:right;margin:0 0 1em;padding:0}.rss-widget cite:before{content:'\2014'}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:600}#dashboard_browser_nag a{text-decoration:underline}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-right:125px}#dashboard_browser_nag .browser-icon{margin-top:-35px}#dashboard_browser_nag.postbox.browser-insecure{background-color:#ac1b1b;border-color:#ac1b1b}#dashboard_browser_nag.postbox{background-color:#e29808;background-image:none;border-color:#edc048;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag.postbox.browser-insecure h3{border-bottom-color:#cd5a5a;color:#fff}#dashboard_browser_nag.postbox h3{border-bottom-color:#f6e2ac;background:0 0;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag h3.hndle{border:none;font-weight:600;font-size:20px;padding-top:10px}.postbox#dashboard_browser_nag p a.dismiss{font-size:14px}.postbox#dashboard_browser_nag a,.postbox#dashboard_browser_nag p,.postbox#dashboard_browser_nag p.browser-update-nag{font-size:16px}@media only screen and (max-width:799px){#wpbody-content #dashboard-widgets .postbox-container{width:100%}}@media only screen and (min-width:800px) and (max-width:1499px){#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#wpbody #wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody #wpbody-content .metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}.index-php .columns-prefs,.index-php .screen-layout{display:block}.columns-prefs .columns-prefs-3,.columns-prefs .columns-prefs-4{display:none}}@media only screen and (min-width:1500px) and (max-width:1800px){#wpbody-content #dashboard-widgets .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right}#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}}@media screen and (max-width:870px){.welcome-panel .welcome-panel-column,.welcome-panel .welcome-panel-column:first-child{display:block;float:none;width:100%}.welcome-panel .welcome-panel-column li{display:inline-block;margin-right:13px}.welcome-panel .welcome-panel-column ul{margin:.4em 0 0}}@media screen and (max-width:782px){#dashboard_recent_comments #the-comment-list .comment-item .avatar{height:30px;width:30px;margin:4px 10px 5px 0}}@media screen and (max-width:600px){.welcome-panel .welcome-panel-close{overflow:hidden;text-indent:100%;white-space:nowrap;width:20px;height:20px;right:0;padding:5px}#welcome-panel.welcome-panel .welcome-panel-close:before{font-size:20px;margin:0}}.post-com-count-wrapper{min-width:22px}.post-com-count{background:center -80px no-repeat;height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;color:#fff}.post-com-count:after{content:"";display:block;width:0;height:0;margin-left:8px;border-top:5px solid #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-posts{width:74px}.fixed .column-comment .comment-author{display:none}.fixed .column-categories,.fixed .column-rel,.fixed .column-response,.fixed .column-role,.fixed .column-tags{width:15%}.fixed .column-slug{width:25%}.fixed .column-locations{width:35%}.fixed .column-comments{width:4em;padding:8px 0;text-align:left}.fixed .column-comments .vers{padding-left:3px}.fixed .column-comments a{float:left}.fixed .column-icon{width:80px}.wp-list-table a{-webkit-transition:none;transition:none}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:none!important;-webkit-box-shadow:none;box-shadow:none}#comments-form .fixed .column-author{width:20%}#commentsdiv.postbox .inside{margin:0;padding:0}#commentsdiv .inside .row-actions{line-height:18px}#commentsdiv .inside .column-author{width:25%}#commentsdiv .column-comment p{margin:.6em 0;padding:0}#commentsdiv #replyrow td{padding:0}#commentsdiv p{padding:8px 10px;margin:0}#commentsdiv .comments-box{border:0}#commentsdiv .comments-box thead th{background:0 0;padding:0 7px 4px;font-style:italic}#commentsdiv .comments-box tr:last-child td{border-bottom:0 none}#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}.wp-filter .actions{display:inline-block;vertical-align:middle}.tablenav .delete{margin-right:20px}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0074a2}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#2ea2cc}.tablenav .view-switch{float:right;margin:5px 16px 0 8px}.wp-filter .view-switch{display:inline-block;vertical-align:middle;padding:15px 0;margin:0 20px 0 0}.view-switch a{text-decoration:none}.view-switch>a{display:inline-block;width:18px;height:18px}.view-switch>a:before{color:#bbb;display:inline-block;float:left;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-left:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.view-switch>.view-list:before{content:'\f163'}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0074a2}.view-switch>a+a{margin-left:5px}.view-switch>.view-excerpt:before{content:'\f164'}.view-switch>.view-grid:before{content:'\f509'}.filter{float:left;margin:-5px 0 0 10px}.filter .subsubsub{margin-left:-10px;margin-top:13px}.screen-per-page{width:4em}#posts-filter .wp-filter{margin-bottom:0}#posts-filter fieldset{float:left;margin:0 1.5ex 1em 0;padding:0}#posts-filter fieldset legend{padding:0 0 .2em 1px}p.pagenav{margin:0;display:inline}.pagenav span{font-weight:600;margin:0 6px}.row-title{font-size:14px!important;font-weight:600}.column-comment .comment-author{margin-bottom:.6em}.column-author img,.column-comment .comment-author img,.column-username img{float:left;margin-right:10px;margin-top:1px}.row-actions{color:#ddd;font-size:13px;visibility:hidden;padding:2px 0 0}.mobile .row-actions,.row-actions.visible,div.comment-item:hover .row-actions,tr:hover .row-actions{visibility:visible}.row-actions-visible{padding:2px 0 0}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:left;margin:0;padding:0;width:100%}#wpbody-content .inline-edit-row fieldset .inline-edit-col,tr.inline-edit-row td{padding:0 .5em}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 0 0 1px;border-style:none none none solid}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:40%}#wpbody-content .quick-edit-row-post .inline-edit-col-right{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:20%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:50%}#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .quick-edit-row-page .inline-edit-col-right{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:30%}#wpbody-content .bulk-edit-row-page .inline-edit-col-right{width:69%}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:right;width:69%}#wpbody-content .inline-edit-row-page .inline-edit-col-right{margin-top:27px}.inline-edit-row fieldset .inline-edit-group{clear:both}.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:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0;background-color:#fff}#bulk-titles{display:block;height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0 0 5px}.inline-edit-row fieldset ul.cat-checklist input,.inline-edit-row fieldset ul.cat-checklist li{margin:0;position:relative}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-style:normal;font-size:11px}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%}.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{max-width:80%}.ie8 .inline-edit-row #post_parent,.ie8 .inline-edit-row select[name=page_template]{width:250px}.quick-edit-row-post fieldset label.inline-edit-status{float:left}#bulk-titles{line-height:140%}#bulk-titles div{margin:.2em .3em}#bulk-titles div a{cursor:pointer;display:block;float:left;height:18px;margin:0 3px 0 -2px;overflow:hidden;position:relative;width:20px}#bulk-titles div a:before{position:relative;top:-3px}.plugins tbody,.plugins tbody th.check-column{padding:8px 0 0 2px}.plugins tbody th.check-column input[type=checkbox]{margin-top:4px}#update-plugins-table tbody td p{margin-top:0}#update-plugins-table tbody td p strong{font-size:14px}.plugins .inactive th.check-column,.plugins tfoot th.check-column,.plugins thead th.check-column{padding-left:6px}#update-plugins-table tfoot th.check-column,#update-plugins-table thead th.check-column{padding-top:11px}.plugins,.plugins td,.plugins th{color:#000}.plugins tr{background:#fff}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ol,.plugins .desc ul{margin:0 0 0 2em}.plugins .desc ul{list-style-type:disc}.plugins .row-actions{font-size:13px}.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th{padding:10px 9px}.plugins .active td,.plugins .active th{background-color:#f7fcfe}.plugins .update td,.plugins .update th{border-bottom:0}.plugin-update-tr td{border-top:0}.plugin-install #the-list td,.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th,.upgrade .plugins td,.upgrade .plugins th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active.plugin-update-tr+tr.inactive th{border-top:1px solid rgba(0,0,0,.03);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1;box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1}.plugins .update td,.plugins .update th,.plugins 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:none;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}tr.active+tr.plugin-update-tr .plugin-update .update-message{background-color:#fcf3ef}.plugin-install-php h3{clear:both}.plugin-install-php h4{margin:2.5em 0 8px}.plugin-install-php .wp-filter{margin-bottom:0}.plugin-group{overflow:hidden;margin-top:1.5em}.plugin-group h3{margin-top:0}.plugin-card{float:left;margin:0 8px 16px;width:48.5%;width:-webkit-calc(50% - 8px);width:calc(50% - 8px);background-color:#fff;border:1px solid #dedede;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.plugin-card:nth-child(odd){clear:both;margin-left:0}.plugin-card:nth-child(even){margin-right:0}@media screen and (min-width:1600px){.plugin-card{width:30%;width:-webkit-calc(33.1% - 8px);width:calc(33.1% - 8px)}.plugin-card:nth-child(odd){clear:none;margin-left:8px}.plugin-card:nth-child(even){margin-right:8px}.plugin-card:nth-child(3n+1){clear:both;margin-left:0}.plugin-card:nth-child(3n){margin-right:0}}@media screen and (max-width:782px){.plugin-card{margin-left:0;margin-right:0;width:100%}}.plugin-card-top{position:relative;padding:20px 20px 10px;min-height:135px}.plugin-action-buttons,div.action-links{margin:0}.plugin-card h4{margin:0 0 12px;font-size:18px;line-height:1.3}.plugin-card .desc,.plugin-card .name{margin-left:148px;margin-right:120px}.plugin-card .action-links{position:absolute;top:20px;right:20px;width:120px}.plugin-action-buttons{clear:right;float:right;margin-left:2em;margin-bottom:1em;text-align:right}.plugin-action-buttons li{margin-bottom:10px}.plugin-card-bottom{clear:both;padding:12px 20px;background-color:#fafafa;border-top:1px solid #dedede;overflow:hidden}.plugin-card-bottom .star-rating{display:inline}.plugin-card .column-rating{line-height:23px}.plugin-card .column-rating,.plugin-card .column-updated{margin-bottom:4px}.plugin-card .column-downloaded,.plugin-card .column-rating{float:left;clear:left;max-width:180px}.plugin-card .column-compatibility,.plugin-card .column-updated{text-align:right;float:right;clear:right;width:65%;width:-webkit-calc(100% - 180px);width:calc(100% - 180px)}.plugin-card .column-compatibility span:before{font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;left:-2px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.plugin-card .compatibility-incompatible:before{content:'\f158'}.plugin-card .compatibility-compatible:before{content:'\f147'}.plugin-icon{position:absolute;top:20px;left:20px;width:128px;height:128px;margin:0 20px 20px 0}.plugin-icon img{width:128px;height:128px}.no-plugin-results{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.wp-list-table .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:1100px) and (min-width:782px),(max-width:480px){.plugin-card .action-links{position:static;margin-left:148px;width:auto}.plugin-action-buttons{float:none;margin:1em 0 0;text-align:left}.plugin-action-buttons li{display:inline-block;vertical-align:middle}.plugin-action-buttons li .button{margin-right:20px}.plugin-card .desc,.plugin-card .name{margin-right:0}.plugin-card .desc p:first-of-type{margin-top:0}}@media screen and (max-width:782px){.tablenav{height:auto}.tablenav.top{margin:20px 0 5px}.tablenav.bottom{position:relative;margin-top:15px}.tablenav br{display:none}.tablenav br.clear{display:block}.tablenav .view-switch,.tablenav.top .actions,.tablenav.top .displaying-num{display:none}.tablenav.bottom .displaying-num{position:absolute;right:0;top:10px;font-size:14px}.tablenav-pages{width:100%;text-align:center;margin:0 0 25px}.tablenav.bottom .tablenav-pages{margin-top:25px}.tablenav.top .tablenav-pages.one-page{display:none}.tablenav.bottom .tablenav-pages.one-page{margin:15px 0 0;height:0}.tablenav-pages .pagination-links .paging-input{font-size:18px}.tablenav-pages .pagination-links a{padding:8px 20px 11px;font-size:18px;background:rgba(0,0,0,.05)}.tablenav-pages .pagination-links .current-page{padding:10px;font-size:14px}.form-wrap>p{display:none}.comment-count{font-size:14px}.column-categories,.column-tags,.fixed .column-author,.fixed .column-date,.media .column-parent,.sites .column-registered,.sites .column-users,.tags .column-description,.users .column-email,.users .column-name{display:none}.fixed .column-comment .comment-author{display:block}.column-title{width:85%}.fixed .column-comments,.widefat .check-column{width:35px}.widefat tfoot .check-column,.widefat thead .check-column{padding:10px 0}.widefat *{word-wrap:normal}#wpbody-content .bulk-edit-row .inline-edit-col-bottom,#wpbody-content .bulk-edit-row .inline-edit-col-left,#wpbody-content .bulk-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .inline-edit-row-post .inline-edit-col-center,#wpbody-content .quick-edit-row-page .inline-edit-col-left,#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .quick-edit-row-post .inline-edit-col-left,#wpbody-content .quick-edit-row-post .inline-edit-col-right{float:none;width:100%}#wpbody-content .bulk-edit-row fieldset .inline-edit-col label,#wpbody-content .bulk-edit-row fieldset .inline-edit-group label,#wpbody-content .quick-edit-row fieldset .inline-edit-col label,#wpbody-content .quick-edit-row fieldset .inline-edit-group label{max-width:none;float:none;margin-bottom:5px}#wpbody .bulk-edit-row fieldset select{display:block;width:100%;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-size:16px}.inline-edit-row fieldset label span.title{float:none}.inline-edit-row fieldset label.inline-edit-tags{padding:0 .5em}.inline-edit-row fieldset .inline-edit-col label.inline-edit-tags{padding:0}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{width:3em}.inline-edit-row fieldset input[name=aa]{width:4.5em}#bulk-titles div{margin:.8em .3em}#bulk-titles div a{height:22px}.tags .column-posts{width:74px}.tags .column-slug{width:30%}.comments .column-response,.users .column-role{width:35%}.sites .column-blogname{width:55%}#wpbody-content #update-themes-table .plugin-title{width:auto}.link-manager-php #posts-filter{margin-top:25px}.link-manager-php .tablenav.bottom{overflow:hidden}.wp-list-table.plugins{position:relative;margin-top:35px;margin-bottom:50px}#wpbody-content .wp-list-table.plugins tfoot .column-description,.wp-list-table.plugins th#description,.wp-list-table.plugins thead .column-description{display:none}#wpbody-content .wp-list-table.plugins,#wpbody-content .wp-list-table.plugins .column-description,#wpbody-content .wp-list-table.plugins .manage-column.column-name,#wpbody-content .wp-list-table.plugins .plugin-title,#wpbody-content .wp-list-table.plugins .plugin-update,#wpbody-content .wp-list-table.plugins .theme-title,#wpbody-content .wp-list-table.plugins tbody,#wpbody-content .wp-list-table.plugins thead,#wpbody-content .wp-list-table.plugins tr{display:block;width:auto}.wp-list-table.plugins tfoot,.wp-list-table.plugins thead{position:absolute;top:-35px;left:0;right:0;width:auto;height:35px}.wp-list-table.plugins tfoot{bottom:-35px;top:auto}.active,.inactive{padding-top:0}.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-top:13px;padding-bottom:4px}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title,.wp-list-table.plugins tbody th{-webkit-box-shadow:none;box-shadow:none}.plugins tbody{padding:1px 0 0}.plugins tr.active+tr.inactive td.column-description{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column{border-top:none}.wp-list-table.plugins .column-description{padding-top:0}.wp-list-table.plugins .column-description,.wp-list-table.plugins .manage-column.column-name,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-right:12px;padding-left:46px}.wp-list-table.plugins tr{position:relative}.wp-list-table.plugins th.check-column,.wp-list-table.plugins tr.update th.check-column{position:absolute;height:auto;top:0;bottom:0;left:0;padding-left:2px;padding-top:18px}.wp-list-table.plugins tfoot th.check-column,.wp-list-table.plugins thead th.check-column{padding-left:3px;padding-top:11px;background:0 0}.widefat tbody th.check-column input[type=checkbox]{margin-top:-3px;margin-left:8px}.wp-list-table.plugins .active .check-column input,.wp-list-table.plugins .update .check-column input{margin-left:5px}.wp-list-table.plugins tfoot .check-column input,.wp-list-table.plugins thead .check-column input{margin-top:-6px}.wp-list-table.plugins .active th.check-column{background:0 0}.wp-list-table.plugins .plugin-title strong,.wp-list-table.plugins .theme-title strong{font-size:1.4em;line-height:1.6em}table.plugin-install .column-description,table.plugin-install .column-name,table.plugin-install .column-rating,table.plugin-install .column-version{display:block;width:auto}table.plugin-install th.column-description,table.plugin-install th.column-name,table.plugin-install th.column-rating,table.plugin-install th.column-version{display:none}table.plugin-install td.column-name strong{font-size:1.4em;line-height:1.6em}table.plugin-install #the-list td{-webkit-box-shadow:none;box-shadow:none}table.plugin-install #the-list tr{display:block;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}}#poststuff{padding-top:10px;min-width:763px}#poststuff #post-body{padding:0}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-right:300px}#show-comments{overflow:hidden}#save-action .spinner,#show-comments .spinner,#show-comments a{float:left}#lost-connection-notice .spinner{display:block;float:left;margin:0 5px 0 0}#titlediv{position:relative}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#poststuff #titlewrap{border:0;padding:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;height:1.7em;width:100%;outline:0;margin:0;background-color:#fff}#titlediv #title-prompt-text{color:#777;position:absolute;font-size:1.7em;padding:11px 10px}#wp-fullscreen-save .fs-saved{color:#999;float:right;margin-top:4px}#poststuff .inside-submitbox,#side-sortables .inside-submitbox{margin:0 3px;font-size:11px}input#link_description,input#link_url{width:98%}#pending{background:0 none;border:0;padding:0;font-size:11px;margin-top:-1px}#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px;color:#666}#edit-slug-box .cancel{margin-right:10px;font-size:11px}#editable-post-name-full{display:none}#editable-post-name{background-color:#fffbcc}#editable-post-name input{font-size:13px;height:22px;margin:0;width:16em}.postarea h3 label{float:left}.submitbox .submit{text-align:left;padding:12px 10px 10px;font-size:11px;background-color:#464646;color:#ccc}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.submitbox .submit a:hover{text-decoration:underline}.submitbox .submit input{margin-bottom:8px;margin-right:4px;padding:6px}.inside-submitbox #post_status{margin:2px 0 2px -2px}#post-status-select{margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{position:relative;min-width:255px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:0 0;border:0;float:right;padding:0 12px;margin:0}.category-add input[type=text],.category-add select{width:100%;max-width:260px;vertical-align:baseline}#side-sortables .category-add input[type=text],#side-sortables .category-add select{margin:0 0 1em}#side-sortables .add-menu-item-tabs li,.wp-tab-bar li,ul.category-tabs li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}#side-sortables .add-menu-item-tabs a,.category-tabs a,.wp-tab-bar a{text-decoration:none}#post-body ul.add-menu-item-tabs li.tabs a,#post-body ul.category-tabs li.tabs a,#side-sortables .add-menu-item-tabs .tabs a,#side-sortables .category-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#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}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.add-menu-item-tabs,ul.category-tabs,ul.wp-tab-bar{margin-top:12px}ul.add-menu-item-tabs li,ul.category-tabs li{border:1px solid transparent;position:relative}.wp-tab-active,ul.add-menu-item-tabs li.tabs,ul.category-tabs li.tabs{border:1px solid #dfdfdf;border-bottom-color:#fdfdfd;background-color:#fdfdfd}ul.add-menu-item-tabs li,ul.category-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px}#postimagediv .inside img{max-width:100%;height:auto;width:auto}form#tags-filter{position:relative}td.plugin-title strong,td.post-title strong{display:block;margin-bottom:.2em;font-size:14px}td.plugin-title p,td.post-title p{margin:6px 0}.ui-tabs-hide,.wp-hidden-children .wp-hidden-child{display:none}#post-body .tagsdiv #newtag{margin-right:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{width:100%;border-spacing:0;border:1px solid #e5e5e5;border-top:none;background-color:#f7f7f7;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);z-index:999}#post-status-info td{font-size:12px}.autosave-info{padding:2px 10px;text-align:right}#editorcontent #post-status-info{border:none}#content-resize-handle{background:url(../images/resize.gif) right bottom no-repeat;width:12px;cursor:row-resize}.rtl #content-resize-handle{background:url(../images/resize-rtl.gif) left bottom no-repeat}.wp-editor-expand #content-resize-handle{display:none}#postdivrich #content{resize:none}#wp-word-count{display:block;padding:2px 10px}#wp-content-editor-container{position:relative}#content-textarea-clone{z-index:-1;position:absolute;top:0;visibility:hidden;overflow:hidden;max-width:100%;border:1px solid transparent}.wp-fullscreen-wrap #content-textarea-clone{display:none}.wp-fullscreen-wrap{padding-top:0!important}.wp-fullscreen-wrap .wp-editor-area{margin-top:0!important}.wp-fullscreen-wrap .mce-edit-area{padding-top:0!important}.wp-editor-expand #wp-content-editor-tools{z-index:1000;border-bottom:1px solid #e5e5e5}.wp-editor-expand #wp-content-editor-container{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px;border-bottom:0 none}.wp-editor-expand div.mce-statusbar{z-index:1}.wp-editor-expand #post-status-info{border-top:1px solid #e5e5e5}.wp-editor-expand div.mce-toolbar-grp{z-index:999}.mce-fullscreen #wp-content-wrap .mce-edit-area,.mce-fullscreen #wp-content-wrap .mce-menubar,.mce-fullscreen #wp-content-wrap .mce-statusbar,.mce-fullscreen #wp-content-wrap .mce-toolbar-grp{position:static!important;width:auto!important;padding:0!important}.mce-fullscreen #wp-content-wrap .mce-statusbar{visibility:visible!important}.mce-fullscreen #wp-content-wrap .mce-wp-dfw,.post-php.mce-fullscreen #wpadminbar{display:none}#wp-content-editor-tools{background-color:#f1f1f1;padding-top:20px}#poststuff #post-body.columns-2 #side-sortables{width:280px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#hh,#jj,#mn{padding:1px;font-size:12px}#hh,#jj,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before,span.wp-media-buttons-icon:before{color:#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}#post-body-content,.edit-form-section{margin-bottom:20px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0;float:none;padding:0 8px 8px}#side-sortables #postcustom #postcustomstuff .submit{margin:0;padding:0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px}#side-sortables #postcustom #postcustomstuff td.left input,#side-sortables #postcustom #postcustomstuff td.left select,#side-sortables #postcustomstuff #newmetaleft a{margin:3px 3px 0}#postcustomstuff table{margin:0;width:100%;border:1px solid #dfdfdf;border-spacing:0;background-color:#f9f9f9}#postcustomstuff tr{vertical-align:top}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:96%;margin:8px}#side-sortables #postcustomstuff table input,#side-sortables #postcustomstuff table select,#side-sortables #postcustomstuff table textarea{margin:3px}#postcustomstuff td.left,#postcustomstuff th.left{width:38%}#postcustomstuff .submit input{margin:0;width:auto}#postcustomstuff #newmetaleft a{display:inline-block;margin:0 8px 8px;text-decoration:none}.no-js #postcustomstuff #enternew{display:none}#post-body-content .compat-attachment-fields{margin-bottom:20px}.compat-attachment-fields th{padding-top:5px;padding-right:10px}#select-featured-image{padding:4px 0;overflow:hidden}#select-featured-image img{max-width:100%;height:auto;margin-bottom:10px}#select-featured-image a{float:left;clear:both}#select-featured-image .remove{display:none;margin-top:10px}.js #select-featured-image.has-featured-image .remove{display:inline-block}.no-js #select-featured-image .choose{display:none}.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:20px;width:20px;margin-right:5px;margin-top:-4px}.post-state-format:before{display:block;height:20px;width:20px;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before,.post-state-format:before{color:#ddd;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}a.post-format-icon:hover:before,a.post-state-format:hover:before{color:#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:1px solid #dfdfdf;background-color:#fdfdfd}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.inline-editor ul.cat-checklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,ul.export-filters{margin-left:18px}ul.categorychecklist li{margin:0;padding:0;line-height:22px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input[type=email],.form-field input[type=number],.form-field input[type=password],.form-field input[type=search],.form-field input[type=tel],.form-field input[type=text],.form-field input[type=url],.form-field textarea{border-style:solid;border-width:1px;width:95%}.form-wrap p,p.description{margin:2px 0 5px;color:#666}.form-wrap p,p.description,p.help,span.description{font-size:13px;font-style:italic}.form-wrap .form-field{margin:0 0 10px;padding:8px 0}.form-wrap .form-field #parent{max-width:100%}.col-wrap h3{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}.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:none;line-height:2em;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h3{margin:2px 0 12px}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border:1px solid gray;background-color:#fff}.wp-customizer .ac_results{z-index:500000}.ac_results li{padding:2px 5px;white-space:nowrap;color:#101010;text-align:left}.ac_over{background-color:#f0f0b8;cursor:pointer}.ac_match{text-decoration:underline}.comment-php .wp-editor-area{height:200px}.comment-ays{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}#qt_content_dfw,#wp-content-wrap .mce-wp-dfw{display:none}.wp-editor-expand #qt_content_dfw,.wp-editor-expand #wp-content-wrap .mce-wp-dfw{display:inline-block}.focus-on #screen-meta,.focus-on #screen-meta-links,.focus-on #wp-toolbar,.focus-on #wpfooter,.focus-on .postbox-container>*,.focus-on .wrap>h2,.focus-on div.error,.focus-on div.notice,.focus-on div.updated{opacity:0;-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.focus-on #wp-toolbar{opacity:.3}.focus-off #screen-meta,.focus-off #screen-meta-links,.focus-off #wp-toolbar,.focus-off #wpfooter,.focus-off .postbox-container>*,.focus-off .wrap>h2,.focus-off div.error,.focus-off div.notice,.focus-off div.updated{opacity:1;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.focus-off #wp-toolbar{-webkit-transform:translate(0,0)}.focus-on #adminmenuback,.focus-on #adminmenuwrap{-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}.rtl.focus-on #adminmenuback,.rtl.focus-on #adminmenuwrap{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}.focus-off #adminmenuback,.focus-off #adminmenuwrap{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}@media print,(-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:url(../images/resize-2x.gif) right bottom/11px 11px no-repeat;-webkit-background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-rtl-2x.gif) right bottom no-repeat}}@media only screen and (max-width:850px){#poststuff{min-width:0}#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-right:0;width:100%}#poststuff #postbox-container-1 #side-sortables:empty,#poststuff #postbox-container-1 .empty-container{border:0;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0;width:auto}.columns-prefs,.screen-layout{display:none}}@media screen and (max-width:782px){#post-body-content{min-width:0}#titlediv #title-prompt-text{padding:10px}#poststuff h3{padding:12px}.post-format-options{padding-right:0}.post-format-options a{margin-right:5px;margin-bottom:5px;min-width:52px}.post-format-options .post-format-title{font-size:11px}.post-format-options a div{height:28px;width:28px}.post-format-options a div:before{font-size:26px!important}#post-visibility-select{line-height:280%}.wp-core-ui .save-post-visibility,.wp-core-ui .save-timestamp{vertical-align:middle;margin-right:15px}.timestamp-wrap select#mm{display:block;width:100%;margin-bottom:10px}.timestamp-wrap #aa,.timestamp-wrap #hh,.timestamp-wrap #jj,.timestamp-wrap #mn{padding:12px 3px;font-size:14px;margin-bottom:5px;width:auto;text-align:center}ul.category-tabs{margin:30px 0 15px}ul.category-tabs li.tabs{padding:15px}ul.categorychecklist li{margin-bottom:15px}ul.categorychecklist ul{margin-top:15px}.category-add input[type=text],.category-add select{max-width:none;margin-bottom:15px}.tagsdiv .newtag{width:100%;height:auto;margin-bottom:15px}.tagchecklist{margin:25px 10px}.tagchecklist span{font-size:16px;line-height:120%}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar td,.mceToolbar tr{float:left!important}.wp_themeSkin a.mceButton{width:30px;height:30px}.wp_themeSkin .mceButton .mceIcon{margin-top:5px;margin-left:5px}.wp_themeSkin .mceSplitButton{margin-top:1px}.wp_themeSkin .mceSplitButton td a.mceAction{padding:6px 3px 6px 6px}.wp_themeSkin .mceSplitButton td a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover td a.mceOpen{padding-top:6px;padding-bottom:6px;background-position:1px 6px}.wp_themeSkin table.mceListBox{margin:5px}div.quicktags-toolbar input{padding:10px 20px}button.wp-switch-editor{font-size:16px;line-height:1em;margin:7px 0 0 7px;padding:8px 12px}#wp-content-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 20px 0 15px}.wp-media-buttons span.jetpack-contact-form-icon,.wp-media-buttons span.wp-media-buttons-icon{width:22px!important;margin-top:-3px!important;margin-left:-5px!important}.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before,.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font-size:20px!important}#content_wp_fullscreen{display:none}.misc-pub-section{padding:20px 10px}.misc-pub-section>a{float:right;font-size:16px}#delete-action,#publishing-action{line-height:47px}.comment-ays{border-bottom:none}.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:absolute;vertical-align:middle;opacity:0;width:100%;width:-webkit-calc(100% - 30px);width:calc(100% - 30px);top:50%;top:-webkit-calc(50% - 10px);top:calc(50% - 10px);-webkit-transition:opacity .5s;transition:opacity .5s;filter:alpha(opacity=0)}body.folded .revisions .loading-indicator{margin-left:-32px}.revisions .loading-indicator span.spinner{display:block;margin:0 auto;float:none}.revisions.loading .loading-indicator{opacity:1;filter:alpha(opacity=100)}.revisions .diff{-webkit-transition:opacity .5s;transition:opacity .5s}.revisions.loading .diff{opacity:.5;filter:alpha(opacity=50)}.revisions.diff-error .diff{visibility:hidden}.revisions-meta{margin-top:20px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions.pinned .revisions-meta{-webkit-box-shadow:none;box-shadow:none}.revision-toggle-compare-mode{position:absolute;top:0;right:0}.comparing-two-revisions .revisions-next,.comparing-two-revisions .revisions-previous,.revisions-meta .diff-meta-to strong{display:none}.revisions-controls .author-card .date{color:#777}.revisions-controls .author-card.autosave{color:#d54e21}.revisions-controls .author-card .author-name{font-weight:700}.comparing-two-revisions .diff-meta-to strong{display:block}.revisions.pinned .revisions-buttons{padding:0 11px}.revisions-next,.revisions-previous{position:relative;z-index:1}.revisions-previous{float:left}.revisions-next{float:right}.revisions-controls .wp-slider{max-width:70%;margin:0 auto;top:-3px}.revisions-diff{padding:15px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-diff h3:first-child{margin-top:0}#revisions-meta-restored img,.post-revisions li img{vertical-align:middle}table.diff tbody tr td:nth-child(2){width:4%}table.diff{table-layout:fixed;width:100%;white-space:pre-wrap}table.diff col.content{width:auto}table.diff col.content.diffsplit{width:48%}table.diff col.diffsplit.middle{width:auto}table.diff col.ltype{width:30px}table.diff tr{background-color:transparent}table.diff td,table.diff th{font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.618;padding:.5em;vertical-align:top;word-wrap:break-word}table.diff td h1,table.diff td h2,table.diff td h3,table.diff td h4,table.diff td h5,table.diff td h6{margin:0}table.diff .diff-addedline ins,table.diff .diff-deletedline del{text-decoration:none}table.diff .diff-deletedline{background-color:#ffe9e9}table.diff .diff-deletedline del{background-color:#faa}table.diff .diff-addedline{background-color:#e9ffe9}table.diff .diff-addedline ins{background-color:#afa}.diff-meta{padding:5px;clear:both;min-height:32px}.diff-title strong{line-height:32px;min-width:60px;text-align:right;float:left;margin-right:5px}.revisions-controls .author-card .author-info{font-size:12px;line-height:16px}.revisions-controls .author-card .author-info,.revisions-controls .author-card .avatar{float:left;margin-left:6px;margin-right:6px}.revisions-controls .author-card .byline{display:block;font-size:12px}.revisions-controls .author-card .avatar{vertical-align:middle}.diff-meta input.restore-revision{float:right;margin-left:6px;margin-right:6px;margin-top:4px}.diff-meta-from{display:none}.comparing-two-revisions .diff-meta-from{display:block}.revisions-tooltip{position:absolute;bottom:105px;margin-right:0;margin-left:-69px;z-index:0;max-width:350px;min-width:130px;padding:8px 4px;opacity:0}.revisions-tooltip.flipped{margin-left:0;margin-right:-70px}.revisions.pinned .revisions-tooltip{display:none!important}.comparing-two-revisions .revisions-tooltip{bottom:145px}.revisions-tooltip-arrow{width:70px;height:15px;overflow:hidden;position:absolute;left:0;margin-left:35px;bottom:-15px}.revisions-tooltip.flipped .revisions-tooltip-arrow{margin-left:0;margin-right:35px;left:auto;right:0}.revisions-tooltip-arrow>span{content:"";position:absolute;left:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.revisions-tooltip.flipped .revisions-tooltip-arrow>span{left:auto;right:20px}.ie8 .revisions-tooltip-arrow>span{left:15px;top:-25px;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"}.ie8 .revisions-tooltip.flipped .revisions-tooltip-arrow>span{right:25px}.revisions-tooltip,.revisions-tooltip-arrow>span{border:1px solid #d7d7d7;background-color:#fff}.revisions-tooltip{display:none}.arrow{width:70px;height:16px;overflow:hidden;position:absolute;left:0;margin-left:-35px;bottom:90px;z-index:10000}.arrow:after{z-index:9999;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.arrow.top{top:-16px;bottom:auto}.arrow.left{left:20%}.arrow:after{content:"";position:absolute;left:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.revisions-tooltip,.revisions-tooltip-arrow:after{border-width:1px;border-style:solid}div.revisions-controls>.wp-slider>.ui-slider-handle{margin-left:-10px}.rtl div.revisions-controls>.wp-slider>.ui-slider-handle{margin-right:-10px}.wp-slider.ui-slider{position:relative;border:1px solid #d7d7d7;text-align:left;cursor:pointer}.wp-slider .ui-slider-handle{-webkit-border-radius:50%;border-radius:50%;height:18px;margin-top:-3px;outline:0;position:absolute;width:18px;z-index:2;-ms-touch-action:none;touch-action:none}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#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;margin-right:10px}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}.media-upload-form .media-item{min-height:36px;margin-bottom:1px;position:relative;width:100%;background:#fff}.media-upload-form .media-item,.media-upload-form .media-item .error{-webkit-box-shadow:0 1px 0 #dfdfdf;box-shadow:0 1px 0 #dfdfdf}#media-items:empty{border:0}.media-item .filename{line-height:36px;overflow:hidden;margin-left:6px}.media-item .pinkynail{float:left;margin:2px 10px 0 3px;max-width:40px;max-height:32px}.media-item .startclosed,.media-item .startopen{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:right;height:22px;margin:7px 6px;width:200px;line-height:2em;padding:0;overflow:hidden;-webkit-border-radius:22px;border-radius:22px;background:#ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-22px;-webkit-border-radius:22px;border-radius:22px;background-color:#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,.media-upload-form .media-item.error{width:auto;margin:0 0 1px}.media-upload-form .media-item .error{padding:10px 0 10px 14px}.media-item .error-div a.dismiss{display:block;float:right;margin:0 10px 0 15px}.find-box{background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:600px;overflow:hidden;margin-left:-300px;position:fixed;top:30px;bottom:30px;left:50%;z-index:100105}.find-box-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px;position:absolute;top:0;left:0;right:0}.find-box-inside{overflow:auto;padding:16px;background-color:#fff;position:absolute;top:37px;bottom:45px;overflow-y:scroll;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.find-box-search{padding-bottom:16px}.find-box-search .spinner{float:none;left:110px;position:absolute;top:2px}#find-posts-response,.find-box-search{position:relative}#find-posts-input,#find-posts-search{float:left}#find-posts-input{width:140px;height:28px;margin:0 4px 0 0}.widefat .found-radio{padding-right:0;width:16px}#find-posts-close{width:36px;height:36px;position:absolute;top:0;right:0;cursor:pointer;text-align:center;color:#666}#find-posts-close:hover{color:#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}#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}.media-frame.mode-grid,.media-frame.mode-grid .attachments-browser .attachments,.media-frame.mode-grid .media-frame-content,.media-frame.mode-grid .uploader-inline-content{position:static}.media-frame.mode-grid .media-frame-menu,.media-frame.mode-grid .media-frame-router,.media-frame.mode-grid .media-frame-title{display:none}.media-frame.mode-grid .media-frame-content{background-color:transparent;border:none}.upload-php .mode-grid .media-sidebar{position:relative;width:auto;margin-bottom:16px;padding:0 16px;border:1px solid #c00;background-color:#feebe8}.upload-php .mode-grid .hide-sidebar .media-sidebar{display:none}.upload-php .mode-grid .media-sidebar .media-uploader-status{border-bottom:none;padding-bottom:0;max-width:100%}.upload-php .mode-grid .media-sidebar .upload-error{margin:20px 0;padding:0;border:none;background:0 0}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors{font-size:0;top:-12px;right:-10px}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:before{content:"\f158";font:400 20px/1 dashicons;color:#666}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before{color:#2ea2cc}.upload-php .mode-grid .media-sidebar .media-uploader-status.errors h3{display:none}.media-frame.mode-grid .uploader-inline{position:relative;top:auto;right:auto;left:auto;bottom:auto;padding-top:0;margin-top:0;border:4px dashed #bbb}.media-frame.mode-select .attachments-browser.fixed .attachments{position:relative;top:94px;padding-bottom:94px}.media-frame.mode-grid .attachment.details:focus,.media-frame.mode-grid .attachment:focus,.media-frame.mode-grid .selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;outline:0}.media-frame.mode-grid .selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc}.media-frame.mode-grid .attachment.details{-webkit-box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe}.media-frame.mode-grid.mode-select .attachment .thumbnail{opacity:.65}.media-frame.mode-select .attachment.selected .thumbnail{opacity:1}.media-frame.mode-grid .media-toolbar{margin-bottom:15px;height:auto}.media-frame.mode-grid .media-toolbar select{margin:0 10px 0 0;font-size:14px}.media-frame.mode-grid .media-toolbar-secondary>.media-button{margin-top:10px;margin-bottom:10px}.media-frame.mode-grid .attachments-browser .bulk-select{display:inline-block;margin:0 10px 0 0}.media-frame.mode-grid .search{margin-top:0}.media-frame.mode-grid .spinner{margin-top:15px}.attachments-browser .media-toolbar-secondary>.media-button{margin-right:10px}.media-frame.mode-select .attachments-browser.fixed .media-toolbar{position:fixed;top:32px;left:auto;right:20px;margin-top:0}.media-frame.mode-grid .attachments-browser{padding:0}.media-frame.mode-grid .attachments-browser .attachments{padding:2px}.media-frame.mode-grid .attachments-browser .no-media{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.edit-attachment-frame{display:block;height:100%;width:100%}.edit-attachment-frame .edit-media-header{overflow:hidden}.upload-php .media-modal-close .media-modal-icon:before{content:'\f335';font-size:22px}.upload-php .media-modal-close .media-modal-icon{margin:14px;width:22px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{cursor:pointer;color:#777;background-color:transparent;height:50px;width:50px;padding:0;position:absolute;text-align:center;border:0;border-left:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.upload-php .media-modal-close{top:0;right:0}.edit-attachment-frame .edit-media-header .left{right:102px}.edit-attachment-frame .edit-media-header .right{right:51px}.edit-attachment-frame .media-frame-title{left:0;right:150px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.edit-attachment-frame .edit-media-header .left:focus,.edit-attachment-frame .edit-media-header .left:hover,.edit-attachment-frame .edit-media-header .right:focus,.edit-attachment-frame .edit-media-header .right:hover,.upload-php .media-modal-close:focus,.upload-php .media-modal-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0}.upload-php .media-modal-close:focus .media-modal-icon:before,.upload-php .media-modal-close:hover .media-modal-icon:before{color:#000}.edit-attachment-frame .edit-media-header .left:before,.rtl .edit-attachment-frame .edit-media-header .right:before{content:'\f341'}.edit-attachment-frame .edit-media-header .right:before,.rtl .edit-attachment-frame .edit-media-header .left:before{content:'\f345'}.edit-attachment-frame .edit-media-header .left.disabled,.edit-attachment-frame .edit-media-header .left.disabled:hover,.edit-attachment-frame .edit-media-header .right.disabled,.edit-attachment-frame .edit-media-header .right.disabled:hover{color:#ccc;background:inherit;cursor:default;pointer-events:none}.edit-attachment-frame .media-frame-content,.edit-attachment-frame .media-frame-router{left:0}.edit-attachment-frame .media-frame-content{border-bottom:none;bottom:0;top:50px}.edit-attachment-frame .attachment-details{position:absolute;overflow:auto;top:0;bottom:0;right:0;left:0;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1)}.edit-attachment-frame .attachment-media-view{float:left;width:65%;height:100%}.edit-attachment-frame .attachment-media-view .thumbnail{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:16px;height:100%}.edit-attachment-frame .attachment-media-view .details-image{display:block;margin-bottom:16px;max-width:100%;max-height:90%;max-height:-webkit-calc(100% - 42px);max-height:calc(100% - 42px)}.edit-attachment-frame .wp-media-wrapper{margin-bottom:12px}.edit-attachment-frame input,.edit-attachment-frame textarea{padding:6px 8px;line-height:16px}.edit-attachment-frame .attachment-info{overflow:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:0;padding:12px 16px 0;width:35%;height:100%;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);border-bottom:0;border-left:1px solid #ddd;background:#f3f3f3}.edit-attachment-frame .attachment-info .details,.edit-attachment-frame .attachment-info .settings{position:relative;overflow:hidden;float:none;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #ddd}.edit-attachment-frame .attachment-info .filename{font-weight:400;color:#666}.edit-attachment-frame .attachment-info .thumbnail{margin-bottom:12px}.attachment-info .actions{margin-bottom:16px}.attachment-info .actions a{display:inline;text-decoration:none}.wp_attachment_details label[for=content]{font-size:13px;line-height:1.5;margin:1em 0}.wp_attachment_details #attachment_caption{height:4em}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0 0}.describe .imgedit-wrap .imgedit-settings{padding:0 5px}.wp_attachment_holder div.updated{margin-top:0}.wp_attachment_holder .imgedit-wrap>div{height:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-panel-content{padding-right:16px;width:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-settings{float:right;width:250px}.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:url(../images/spinner.gif) no-repeat center/20px 20px #fff;-webkit-background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.no-float{float:none}.imgedit-settings .disabled,.media-disabled{color:grey}.A1B1,.wp_attachment_image{overflow:hidden}.A1B1 .button,.wp_attachment_image .button{float:left}.no-js .wp_attachment_image .button{display:none}.A1B1 .spinner,.wp_attachment_image .spinner{float:left;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%;max-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}.media-upload-form .media-item .error,.media-upload-form .media-item.error{font-size:13px;line-height:1.5}.media-upload-form .media-item.error{padding:1px 10px}.media-upload-form .media-item .error{padding:10px 0 10px 12px}}@media only screen and (max-width:1120px){#wp-media-grid .wp-filter .attachment-filters{max-width:100%}}@media only screen and (max-width:782px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:46px;right:10px}}@media only screen and (max-width:600px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:0}}@media only screen and (max-width:480px){.edit-attachment-frame .media-frame-title{right:110px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{width:40px;height:40px}.upload-php .media-modal-close .media-modal-icon{margin:9px 10px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{line-height:40px!important}.edit-attachment-frame .edit-media-header .left{right:82px}.edit-attachment-frame .edit-media-header .right{right:41px}.edit-attachment-frame .media-frame-content{top:40px}.edit-attachment-frame .attachment-media-view{float:none;height:auto;width:100%}.edit-attachment-frame .attachment-info{height:auto;width:100%}}@media only screen and (max-width:640px),screen and (max-height:400px){.upload-php .mode-grid .media-sidebar{max-width:100%}}.theme-browser .themes{clear:both;padding:0 0 100px}.themes-php .wrap h2{float:left;margin-bottom:15px}.network-admin.themes-php .wrap h2{margin-bottom:0}.themes-php .wrap h2 .button{margin-left:20px}.themes-php .wp-filter-search{position:relative;top:-2px;left:20px;margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5}.themes-php div.error,.themes-php div.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{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.theme-browser .theme:focus .more-details{opacity:1}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser.rendered .theme:focus .more-details,.theme-browser.rendered .theme:hover .more-details{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-installed,.theme-browser .theme .theme-update{background:#d54e21;background:rgba(213,78,33,.95);color:#fff;display:block;font-size:13px;font-weight:400;height:48px;line-height:48px;padding:0 10px;position:absolute;top:0;right:0;left:0;border-bottom:1px solid rgba(0,0,0,.25);overflow:hidden}.theme-browser .theme .theme-installed:before,.theme-browser .theme .theme-update:before{content:'\f463';display:inline-block;font:400 20px/1 dashicons;margin:0 6px 0 0;opacity:.8;position:relative;top:5px;speak:none;-webkit-font-smoothing:antialiased}.theme-browser .theme.active .theme-name{background:#2f2f2f;color:#fff;padding-right:110px;font-weight:300;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.5)}.theme-browser .theme.active .theme-name span{font-weight:600}.theme-browser .theme.active .theme-actions{background:rgba(49,49,49,.7);border-left:none;opacity:1}.theme-browser .theme.active .theme-actions .button-primary{margin-right:0}.theme-browser .theme .theme-author{background:#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: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:"alpha(Opacity=100)";opacity:1;background: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}.theme-overlay .theme-backdrop{position:absolute;left:-20px;right:0;top:0;bottom:0;background:#f1f1f1;background:rgba(238,238,238,.9);z-index:10}.theme-overlay .theme-header{position:absolute;top:0;left:0;right:0;height:48px;border-bottom:1px solid #ddd}.theme-overlay .theme-header .close{cursor:pointer;height:48px;width:50px;text-align:center;float:right;border:0;border-left:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:before{font:400 22px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.theme-overlay .theme-header .left,.theme-overlay .theme-header .right{cursor:pointer;color:#777;background-color:transparent;height:48px;width:54px;float:left;text-align:center;border:0;border-right:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:focus,.theme-overlay .theme-header .right:hover{background:#ddd;border-color:#ccc;color:#000}.theme-overlay .theme-header .close:focus:before,.theme-overlay .theme-header .close:hover:before{color:#000}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .right:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}.theme-overlay .theme-header .left.disabled,.theme-overlay .theme-header .left.disabled:hover,.theme-overlay .theme-header .right.disabled,.theme-overlay .theme-header .right.disabled:hover{color:#ccc;background:inherit;cursor:inherit}.theme-overlay .theme-header .left:before,.theme-overlay .theme-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.rtl .theme-overlay .theme-header .right:before,.theme-overlay .theme-header .left:before{content:'\f341'}.rtl .theme-overlay .theme-header .left:before,.theme-overlay .theme-header .right:before{content:'\f345'}.theme-overlay .theme-wrap{clear:both;position:fixed;top:9%;left:190px;right:30px;bottom:3%;background:#fff;-webkit-box-shadow:0 1px 20px 5px rgba(0,0,0,.1);box-shadow:0 1px 20px 5px rgba(0,0,0,.1);z-index:20;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.theme-overlay .theme-wrap:after{content:".";display:block;height:0;clear:both;visibility:hidden}body.folded .theme-overlay .theme-wrap{left:70px}.theme-overlay .theme-about{position:absolute;top:49px;bottom:57px;left:0;right:0;overflow:auto;padding:2% 4%}.theme-overlay .theme-about:after{content:".";display:block;height:0;clear:both;visibility:hidden}.theme-overlay .theme-actions{position:absolute;text-align:center;bottom:0;left:0;right:0;padding:10px 25px 5px;background:#f3f3f3;z-index:30;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-top:1px solid #eee}.ie8 .theme-overlay .theme-actions{border:1px solid #eee}.theme-overlay .theme-actions a{margin-right:5px;margin-bottom:5px}.customize-support .theme-overlay .theme-actions a[href="themes.php?page=custom-header"],.customize-support .theme-overlay .theme-actions a[href="themes.php?page=custom-background"]{display:none}.broken-themes a.delete-theme,.theme-overlay .theme-actions .delete-theme{color:#a00;text-decoration:none;border-color:transparent;-webkit-box-shadow:none;box-shadow:none;background:0 0}.theme-overlay .theme-actions .delete-theme{position:absolute;right:10px;bottom:5px}.broken-themes a.delete-theme:focus,.broken-themes a.delete-theme:hover,.theme-overlay .theme-actions .delete-theme:focus,.theme-overlay .theme-actions .delete-theme:hover{background:#d54e21;color:#fff;border-color:#d54e21}.theme-overlay .theme-actions .active-theme,.theme-overlay.active .theme-actions .inactive-theme{display:none}.theme-overlay .theme-actions .inactive-theme,.theme-overlay.active .theme-actions .active-theme{display:block}.theme-overlay .theme-screenshots{float:left;margin:0 30px 0 0;width:55%;max-width:880px;text-align:center}.theme-overlay .screenshot{border:1px solid #fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.theme-overlay .screenshot:after{content:'';display:block;padding-top:75%}.theme-overlay .screenshot img{height:auto;position:absolute;left:0;top:0;width:100%}.theme-overlay.small-screenshot .theme-screenshots{position:absolute;width:302px}.theme-overlay.small-screenshot .theme-info{margin-left:350px;width:auto}.theme-overlay .screenshot.thumb{background:#ccc;border:1px solid #eee;float:none;display:inline-block;margin:10px 5px 0;width:140px;height:80px;cursor:pointer}.theme-overlay .screenshot.thumb:after{content:'';display:block;padding-top:100%}.theme-overlay .screenshot.thumb img{cursor:pointer;position:absolute;left:0;top:0;width:100%;height:auto}.theme-overlay .screenshot.selected{background:0 0;border:2px solid #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:none;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 .wp-filter-search{float:none;clear:both;left:0;top:0;right:0;margin:10px 0;width:100%;max-width:280px}.theme-browser .theme.add-new-theme span:after{font:400 60px/90px dashicons;width:80px;height:80px;top:30%;left:50%;text-indent:0;margin-left:-40px}.single-theme .theme-wrap{margin:0 -12px 0 -10px;padding:10px}.single-theme .theme-overlay .theme-about{padding:10px;overflow:visible}.single-theme .current-label{display:none}.single-theme .theme-overlay .theme-actions{position:static}}.broken-themes{clear:both}.broken-themes table{text-align:left;width:50%;border-spacing:3px;padding:3px}.theme-browser .theme .theme-installed{background:#0074a2}.theme-browser .theme .theme-installed:before{content:'\f147'}.theme-browser .theme.is-installed .theme-actions .button-primary{display:none!important}.theme-install-php a.browse-themes,.theme-install-php a.upload{cursor:pointer}.theme-install-php a.browse-themes,.theme-install-php.show-upload-theme a.upload{display:none}.theme-install-php.show-upload-theme a.browse-themes{display:inline}.upload-plugin,.upload-theme{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:none;margin:0;padding:0;width:100%;overflow:hidden;position:relative;top:10px}.upload-plugin,body.show-upload-theme .upload-theme{display:block}.upload-plugin .wp-upload-form,.upload-theme .wp-upload-form{background:#fafafa;border:1px solid #e5e5e5;padding:30px;margin:30px auto;max-width:380px}.upload-plugin .install-help,.upload-theme .install-help{color:#999;font-size:18px;font-style:normal;margin:0;padding:40px 0 0;text-align:center}body.show-upload-theme .upload-theme+.wp-filter,body.show-upload-theme .upload-theme+.wp-filter+.theme-browser{display:none}p.no-themes{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){.upload-theme .wp-upload-form{margin:20px 0;max-width:100%}.upload-theme .install-help{font-size:15px;padding:20px 0 0;text-align:left}}.rating{margin:15px 0 0}.rating span:before{color:#e6b800;content:"\f154";display:inline-block;-webkit-font-smoothing:antialiased;font:400 20px/1 dashicons;vertical-align:top}.rating-10 span.one:before,.rating-30 span.two:before,.rating-50 span.three:before,.rating-70 span.four:before,.rating-90 span.five:before{content:"\f459"}.rating-100 span.five:before,.rating-100 span.four:before,.rating-100 span.one:before,.rating-100 span.three:before,.rating-100 span.two:before,.rating-20 span.one:before,.rating-30 span.one:before,.rating-40 span.one:before,.rating-40 span.two:before,.rating-50 span.one:before,.rating-50 span.two:before,.rating-60 span.one:before,.rating-60 span.three:before,.rating-60 span.two:before,.rating-70 span.one:before,.rating-70 span.three:before,.rating-70 span.two:before,.rating-80 span.four:before,.rating-80 span.one:before,.rating-80 span.three:before,.rating-80 span.two:before,.rating-90 span.four:before,.rating-90 span.one:before,.rating-90 span.three:before,.rating-90 span.two:before{content:"\f155"}.rating .ratings{display:block;line-height:20px;color:#999}.appearance_page_custom-header #headimg{border:1px solid #DFDFDF;overflow:hidden;width:100%}.appearance_page_custom-header #upload-form p label{font-size:12px}.appearance_page_custom-header .available-headers .default-header{float:left;margin:0 20px 20px 0}.appearance_page_custom-header .random-header{clear:both;margin:0 20px 20px 0;vertical-align:middle}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-right:10px}.appearance_page_custom-header .available-headers label img{vertical-align:middle}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf}div#custom-background-image img{max-width:400px;max-height:300px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:0 0;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%;min-width:0}.wp-full-overlay-sidebar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:fixed;width:300px;height:100%;top:0;bottom:0;left:0;padding:0;margin:0;z-index:10;background:#eee;border-right:none}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-left:0!important}.wp-full-overlay.expanded{margin-left:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-left:-300px}.wp-full-overlay-sidebar:after{content:'';display:block;position:absolute;top:0;bottom:0;right:0;width:3px;z-index:1000}.wp-full-overlay-main{position:absolute;left:0;right:0;top:0;bottom:0;height:100%}.wp-full-overlay-sidebar .wp-full-overlay-header{position:absolute;left:0;right:0;height:45px;padding:0 15px;line-height:45px;z-index:10;margin:0;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:none;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;left:0;right:0;overflow:auto}.theme-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header{padding:0}.theme-install-overlay .close-full-overlay,.theme-install-overlay .next-theme,.theme-install-overlay .previous-theme{display:block;position:relative;float:left;width:45px;height:45px;padding-right:2px;background:#eee;border-right:1px solid #ddd;color:#444;cursor:pointer;text-decoration:none;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-install-overlay .close-full-overlay:focus,.theme-install-overlay .close-full-overlay:hover,.theme-install-overlay .next-theme:focus,.theme-install-overlay .next-theme:hover,.theme-install-overlay .previous-theme:focus,.theme-install-overlay .previous-theme:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.theme-install-overlay .close-full-overlay:before{font:400 22px/1 dashicons;content:"\f335";position:relative;top:7px;left:13px}.theme-install-overlay .previous-theme:before{font:400 20px/1 dashicons;content:"\f341";position:relative;top:6px;left:14px}.theme-install-overlay .next-theme:before{font:400 20px/1 dashicons;content:"\f345";position:relative;top:6px;left:13px}.theme-install-overlay .next-theme.disabled,.theme-install-overlay .next-theme.disabled:focus,.theme-install-overlay .next-theme.disabled:hover,.theme-install-overlay .previous-theme.disabled,.theme-install-overlay .previous-theme.disabled:focus,.theme-install-overlay .previous-theme.disabled:hover{color:#bbb;background:#eee;cursor:default;pointer-events:none}.rtl .theme-install-overlay .previous-theme:before{content:"\f345"}.rtl .theme-install-overlay .next-theme:before{content:"\f341"}.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,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main,.wp-full-overlay-sidebar{-webkit-transition-property:left,right,top,bottom,width,margin;transition-property:left,right,top,bottom,width,margin;-webkit-transition-duration:.2s;transition-duration:.2s}.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#customize-container{display:none;background:#fff;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:url(../images/spinner.gif) center center/20px 20px no-repeat fixed #fff;-webkit-background-size:20px 20px}#customize-container iframe,.theme-install-overlay iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#customize-controls{margin-top:0}.theme-install-overlay{display:none}.theme-install-overlay.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 60px}.single-theme .install-theme-info{padding-top:15px}.theme-install-overlay .install-theme-info{display:block}.install-theme-info .theme-install{float:right;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:left}.theme-details .star-rating{margin:7px 0;float:right}.theme-details .theme-description{float:left;color:#777;line-height:20px;max-width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{float:right;margin:8px 10px 0 0;line-height:26px}.theme-install-overlay .wp-full-overlay-sidebar{background:#eee;border-right:1px solid #ddd}.theme-install-overlay .wp-full-overlay-sidebar-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.theme-install-overlay .wp-full-overlay-main{background:url(../images/spinner.gif) center center/20px 20px no-repeat #fff;-webkit-background-size:20px 20px}@media print,(-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)}.theme-install-overlay .wp-full-overlay-header .theme-install{margin-top:2px}}@media screen and (max-width:782px){.available-theme .action-links .delete-theme{float:none;margin:0;padding:0;clear:both}.available-theme .action-links .delete-theme a{padding:0}.broken-themes table{width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{margin-top:6px;line-height:normal}}.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: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: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;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%;height:auto;vertical-align:middle}.wp-badge{background:url(../images/w-logo-white.png?ver=20131202) center 24px/85px 85px no-repeat #0074a2;-webkit-background-size:85px 85px;color:#78c8e6;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:150px;text-rendering:optimizeLegibility;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.svg .wp-badge{background-image:url(../images/wordpress-logo-white.svg?ver=20131110)}.about-wrap .wp-badge{position:absolute;top:0;right:0}.about-wrap h2.nav-tab-wrapper{padding-left:6px}.about-wrap h2 .nav-tab{padding:4px 15px 6px;margin:0 3px -1px 0;font-size:18px;vertical-align:top;border-width:1px;white-space:nowrap}.about-wrap p{line-height:1.6em;font-size:14px}.about-wrap h1{margin:.2em 200px 0 0;color:#333;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h3{margin:2em 0 .6em;font-size:1.25em;line-height:1.5em}.about-wrap h4{color:#222}.about-wrap code,.about-wrap ol li p{font-size:14px}.about-wrap .about-description,.about-wrap .about-text{margin-top:1.4em;font-weight:400;line-height:1.6em;font-size:19px}.about-wrap .about-text{margin:1em 200px 1em 0;min-height:60px;color:#777}.about-wrap .two-col>div{position:relative;width:47.6%;margin-right:4.799999999%;float:left}.about-wrap .three-col>div{position:relative;width:29.95%;margin-right:4.999999999%;float:left}.about-wrap .col .last-feature{margin-right:0}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #dfdfdf}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.about-wrap .headline-feature h2{margin:1.1em 0 .2em;font-size:2.4em;font-weight:300;line-height:1.3;text-align:center}.about-wrap .feature-list h2{margin:30px 0 15px;text-align:center}.about-wrap .dfw h3{margin-top:1em;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 .dfw p{max-width:68%;margin:0 auto 20px}.about-wrap .featured-image{text-align:center}.about-wrap .feature-section{overflow:hidden;padding-bottom:20px}.about-wrap .headline-feature .feature-section{margin:0 auto;max-width:82%}.about-wrap .headline-feature .feature-section .col:first-child{float:left;margin:15px 5% 0 0;width:55%}.about-wrap .headline-feature .feature-section .col:last-child{float:right;margin:15px 0 40px;width:40%}.about-wrap .feature-list .feature-section{margin-top:0}.about-wrap .dfw .feature-section{overflow:visible}.about-wrap .dfw-container{position:relative;overflow:hidden;margin-top:50px;-webkit-box-shadow:0 0 10px rgba(0,0,0,.25);box-shadow:0 0 10px rgba(0,0,0,.25)}.about-wrap .dfw-container .overlay-image{position:absolute;top:0;left:0;-webkit-transition:.8s -webkit-transform cubic-bezier(.9,.03,1,.61),.65s opacity linear;transition:.8s transform cubic-bezier(.9,.03,1,.61),.65s opacity linear}.about-wrap .dfw-container .overlay-image.fade-in{opacity:0}.about-wrap .dfw-container .overlay-image.from-left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.about-wrap .dfw-container:hover .overlay-image{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:.7s -webkit-transform cubic-bezier(0,.8,.8,1),.8s opacity linear;transition:.7s transform cubic-bezier(0,.8,.8,1),.8s opacity linear}.about-wrap .return-to-dashboard{margin:30px 0 0 -5px;font-size:14px;font-weight:700}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap .feature-list svg{float:left;clear:left;margin:15px 15px 0 0;height:90px;width:90px;background-color:#ccc;-webkit-border-radius:50%;border-radius:50%;fill:#999;border:1px solid #c1c1c1}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-left:115px}.about-wrap h4.wp-people-group{margin-top:2.6em;font-size:16px}.about-wrap ul.wp-people-group{overflow:hidden;padding:0 5px;margin:0 -15px 0 -5px}.about-wrap ul.compact{margin-bottom:0}.about-wrap li.wp-person{display:inline-block;vertical-align:top;margin-right:10px;padding-bottom:15px;height:70px;width:280px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap li.wp-person img.gravatar{float:left;margin:0 10px 10px 0;padding:2px;width:60px;height:60px}.about-wrap ul.compact li.wp-person img.gravatar{width:30px;height:30px}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;font-weight:400;line-height:1.6em;text-decoration:none}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:700}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}@media screen and (max-width:782px){.about-wrap .one-col>div,.about-wrap .three-col>div,.about-wrap .two-col>div{width:100%;margin:0 0 40px;padding:0 0 40px;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .col>div.last-feature,.about-wrap .feature-list div{margin:0;padding:0;border-bottom:none}.about-wrap .headline-feature .feature-section{max-width:100%}.about-wrap .feature-list .feature-section{padding:0 0 40px}}@media only screen and (max-width:500px){.about-wrap{margin-right:20px;margin-left:10px}.about-wrap .about-text,.about-wrap h1{margin-right:0}.about-wrap .about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap h2.nav-tab-wrapper{padding-left:0;border-bottom:0}.about-wrap h2 .nav-tab{margin-top:10px;margin-right:10px;border-bottom:1px solid #ccc}.about-wrap .headline-feature .feature-section div,.about-wrap .three-col div{width:100%!important;float:none!important}.about-wrap .dfw p{max-width:90%}}@media only screen and (max-width:400px){.about-wrap .feature-list svg{margin-top:15px;height:65px;width:65px}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-left:80px}}.no-js #message{display:block}ul.add-menu-item-tabs li{padding:3px 5px 3px 8px}.accordion-section ul.add-menu-item-tabs,.accordion-section ul.category-tabs,.accordion-section ul.wp-tab-bar{margin:0}.accordion-section .categorychecklist{margin:13px 0}#nav-menu-meta .accordion-section-content{padding:18px 13px}#nav-menu-meta .button-controls{margin-bottom:0}#nav-menus-frame{margin-left:300px;margin-top:23px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-left:-300px;clear:both;float:left;padding-top:0}#menu-settings-column .inside{clear:both;margin:10px 0 0}.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title,.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}.blank-slate .menu-name{height:2em}.blank-slate .menu-settings{border:none;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{color:#999;font-style:italic;font-weight:400;margin-left:4px}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;background:#fbfbfb}.manage-menus select{float:left;margin-right:6px}.manage-menus .selected-menu{float:left;margin:5px 6px 0 0}.manage-menus .submit-btn{float:left;margin-top:1px}.menu-edit 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 0 5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-right:3px;margin-top:-3px}.menu-item-title input[type=checkbox]{display:inline-block;margin-top:-4px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{margin:0;padding:.1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:9px 0 0}.menu-item-bar .menu-item-handle{border:1px solid #dfdfdf;position:relative;padding:10px 15px;height:auto;min-height:20px;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}.menu-item-bar .menu-item-handle:hover{border-color:#999}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;border-color:#f1acb1}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}.menu li.deleting .menu-item-handle{background-image:none;background-color:#f66}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-right:13em}.menu-item-handle .menu-item-title.no-title{color:#999}li.menu-item.ui-sortable-helper dl{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport dl{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item-depth-0{margin-left:0}.menu-item-depth-1{margin-left:30px}.menu-item-depth-2{margin-left:60px}.menu-item-depth-3{margin-left:90px}.menu-item-depth-4{margin-left:120px}.menu-item-depth-5{margin-left:150px}.menu-item-depth-6{margin-left:180px}.menu-item-depth-7{margin-left:210px}.menu-item-depth-8{margin-left:240px}.menu-item-depth-9{margin-left:270px}.menu-item-depth-10{margin-left:300px}.menu-item-depth-11{margin-left:330px}.menu-item-depth-0 .menu-item-transport{margin-left:0}.menu-item-depth-1 .menu-item-transport{margin-left:-30px}.menu-item-depth-2 .menu-item-transport{margin-left:-60px}.menu-item-depth-3 .menu-item-transport{margin-left:-90px}.menu-item-depth-4 .menu-item-transport{margin-left:-120px}.menu-item-depth-5 .menu-item-transport{margin-left:-150px}.menu-item-depth-6 .menu-item-transport{margin-left:-180px}.menu-item-depth-7 .menu-item-transport{margin-left:-210px}.menu-item-depth-8 .menu-item-transport{margin-left:-240px}.menu-item-depth-9 .menu-item-transport{margin-left:-270px}.menu-item-depth-10 .menu-item-transport{margin-left:-300px}.menu-item-depth-11 .menu-item-transport{margin-left:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{color:#777;font-size:12px;padding:12px 10px;line-height:18px;display:block}.item-controls{font-size:12px;position:absolute;right:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls a:hover{cursor:pointer}.item-controls .item-order{padding-right:10px}.nav-menus-php .item-edit{position:absolute;right:-20px;top:0;display:block;width:30px;height:40px;margin-right:0!important;text-indent:100%;outline:0;overflow:hidden;white-space:nowrap}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:402px;padding:10px 0 10px 10px;position:relative;z-index:10;border:1px solid #e5e5e5;border-top:none;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.menu-item-settings .field-move a{display:none;margin:0 2px}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em auto;text-align:center}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;border:1px solid #dfdfdf;color:#777;font-size:12px;font-style:italic}.link-to-original a{padding-left:4px;font-style:normal}.hidden-field{display:none}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-right:10px;float:left}.description-thin{width:190px;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{-webkit-box-shadow:none;box-shadow:none;outline:0;text-decoration:none}.widget-title h4{margin:0;padding:15px;line-height:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.widgets-holder-wrap .widget-inside{border-top:none;padding:1px 15px 15px;line-height:16px}#available-widgets .widget-description,#widgets-right a.widget-control-edit,.in-widget-title{color:#666}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#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:none}#widgets-left .widgets-holder-wrap{border:none;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-action{display:none}#available-widgets .widget{margin:0}#available-widgets .widget:nth-child(odd){clear:both}#available-widgets .widget .widget-description{display:block;padding:10px 15px;font-size:12px}#available-widgets #widget-list{position:relative}#widgets-left .inactive-sidebar{clear:both;width:100%;background:0 0;padding:0;margin:0 0 20px;border:none;-webkit-box-shadow:none;box-shadow:none}#widgets-left .inactive-sidebar.first{margin-top:40px}div#widgets-left .inactive-sidebar .widget.expanded{left:auto}.widget-title-action{float:right;position:relative}div#widgets-left .inactive-sidebar .widgets-sortables{min-height:42px;padding:0;background:0 0;margin:0;position:relative}div#widgets-right:after{content:".";display:block;height:0;clear:both;visibility:hidden}div#widgets-right .sidebars-column-1,div#widgets-right .sidebars-column-2{max-width:450px}div#widgets-right .widgets-holder-wrap{margin:10px 0 0}div#widgets-right .sidebar-description{min-height:20px;margin-top:-5px}div#widgets-right .sidebar-name h3{padding:15px 7px}div#widgets-right .sidebar-name .sidebar-name-arrow:before{right:0;top:4px}div#widgets-right .widget-top{padding:0}div#widgets-right .widgets-sortables{padding:0 8px;margin-bottom:9px;position:relative;min-height:123px}div#widgets-right .closed .widgets-sortables{min-height:0;margin-bottom:0}.sidebar-name .spinner{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:#444 solid 1px}.widgets-holder-wrap .sidebar-description,.widgets-holder-wrap .sidebar-name{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.editwidget{margin:0 auto}.editwidget .widget-inside{display:block;padding:0 15px}.editwidget .widget-control-actions{margin-top:20px}.js .closed br.clear,.js .widgets-holder-wrap.closed .sidebar-description,.js .widgets-holder-wrap.closed .widget,.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: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: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:none;padding-right:0}#widgets-left #available-widgets .widget-top,#widgets-left .inactive-sidebar .widgets-sortables,#widgets-left .sidebar-name{margin-right:0}div.widget-liquid-right{width:100%;float:none}div.widget{margin:0 auto 10px!important;max-width:480px}}@media screen and (max-width:320px){div.widget{max-width:320px}}@media only screen and (min-width:1250px){#widgets-left #available-widgets .widget{width:49%;float:left}.widget.ui-draggable-dragging{min-width:49%}#widgets-left #available-widgets .widget:nth-child(even){float:right}#widgets-right .sidebars-column-1,#widgets-right .sidebars-column-2{float:left;width:49%}#widgets-right .sidebars-column-1{margin-right:2%}#widgets-right.single-sidebar .sidebars-column-1,#widgets-right.single-sidebar .sidebars-column-2{float:none;width:100%;margin:0}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-left:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-right:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}
\ No newline at end of file
+ */.ui-draggable-handle,.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.accordion-section{border-bottom:1px solid #dfdfdf;margin:0}.accordion-section.open .accordion-section-content,.no-js .accordion-section .accordion-section-content{display:block}.accordion-section.open:hover{border-bottom-color:#dfdfdf}.accordion-section-content{display:none;padding:10px 20px 15px;overflow:hidden;background:#fff}.accordion-section-title{margin:0;padding:12px 15px 15px;position:relative;border-left:1px solid #dfdfdf;border-right:1px solid #dfdfdf;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.js .accordion-section-title{cursor:pointer}.js .accordion-section-title:after{position:absolute;top:12px;right:10px;z-index:1}.accordion-section-title:focus{outline:0}.accordion-section-title:focus:after,.accordion-section-title:hover:after{border-color:#a0a5aa transparent}.cannot-expand .accordion-section-title{cursor:auto}.cannot-expand .accordion-section-title:after{display:none}.control-section .accordion-section-title{border-left:none;border-right:none;padding:10px 10px 11px 14px;line-height:21px;background:#fff}.control-section .accordion-section-title:after{top:11px}.js .control-section .accordion-section-title:focus,.js .control-section .accordion-section-title:hover,.js .control-section.open .accordion-section-title,.js .control-section:hover .accordion-section-title{color:#23282d;background:#f5f5f5}.control-section.open .accordion-section-title{border-bottom:1px solid #dfdfdf}@media only screen and (min-width:769px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:860px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (min-width:980px){#col-left{width:35%}#col-right{width:65%}}@media only screen and (max-width:768px){#col-left,#col-right{width:100%}}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){div.star-holder,div.star-holder .star-rating{background:url(../images/stars-2x.png?ver=20121108) bottom left/21px 37px repeat-x;-webkit-background-size:21px 37px}.spinner{background-image:url(../images/spinner-2x.gif)}#bulk-titles div a,#bulk-titles div a:hover,#screen-meta-links a.show-settings,.curtime #timestamp,.meta-box-sortables .postbox:hover .handlediv,.sidebar-name-arrow,.sidebar-name:hover .sidebar-name-arrow,.tagchecklist span a,.tagchecklist span a:hover,.widget-top a.widget-action,.widget-top a.widget-action:hover{background:none!important}}@-ms-viewport{width:device-width}@media screen and (max-width:782px){html.wp-toolbar{padding-top:46px}body{min-width:240px;overflow-x:hidden}body *{-webkit-tap-highlight-color:transparent!important}#wpcontent{position:relative;margin-left:0;padding-left:10px}#wpbody-content{padding-bottom:100px}.wrap{margin-right:12px;margin-left:0}.col-wrap{padding:0}#collapse-menu,#screen-meta,#screen-meta-links,.post-format-select{display:none!important}.wrap .add-new-h2,.wrap .add-new-h2:active{padding:10px 15px;font-size:14px}.wp-color-result{height:auto;padding-left:45px}.wp-color-result:after{font-size:14px;height:auto;padding:6px 14px}.media-upload-form div.error,.notice,.wrap div.error,.wrap div.updated{margin:20px 0 10px;padding:5px 10px;font-size:14px;line-height:175%}.wp-core-ui .notice.is-dismissible{padding-right:46px}.notice-dismiss{padding:13px}.wrap .icon32+h2{margin-top:-2px}.wp-responsive-open #wpbody{right:-190px}code{word-wrap:break-word}.postbox{font-size:14px}.metabox-holder h3{padding:12px}.postbox .handlediv{margin-top:3px}.subsubsub{font-size:16px;text-align:center;margin-bottom:15px}#templateside{float:none;width:auto}#templateside li{margin:0}#templateside li a{display:block;padding:5px}#templateside .highlight{padding:5px;margin-left:-5px;margin-top:-5px}#template div{float:none;margin:0;width:auto}#template textarea{width:100%}.fileedit-sub .alignright{margin-top:15px}#comments-form .checkforspam,#wpfooter{display:none}}@media screen and (max-width:600px){#wpwrap.wp-responsive-open{overflow-x:hidden}html.wp-toolbar{padding-top:0}#wpbody{padding-top:46px}div#post-body.metabox-holder.columns-1{overflow-x:hidden}}input,textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=radio],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);background-color:#fff;color:#32373c;outline:0;-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}input[type=email],input[type=url]{direction:ltr}input[type=checkbox],input[type=radio]{border:1px solid #b4b9be;background:#fff;color:#555;clear:none;cursor:pointer;display:inline-block;line-height:0;height:16px;margin:-4px 4px 0 0;outline:0;padding:0!important;text-align:center;vertical-align:middle;width:16px;min-width:16px;-webkit-appearance:none;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);-webkit-transition:.05s border-color ease-in-out;transition:.05s border-color ease-in-out}input[type=radio]:checked+label:before{color:#82878c}.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:hover{color:#00a0d2}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio],td>input[type=checkbox]{margin-top:0}.wp-admin p label input[type=checkbox]{margin-top:-4px}.wp-admin p label input[type=radio]{margin-top:-2px}input[type=radio]{-webkit-border-radius:50%;border-radius:50%;margin-right:4px;line-height:10px}input[type=checkbox]:checked:before,input[type=radio]:checked:before{float:left;display:inline-block;vertical-align:middle;width:16px;font:400 21px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=checkbox]:checked:before{content:'\f147';margin:-3px 0 0 -4px;color:#1e8cbe}input[type=radio]:checked:before{content:'\2022';text-indent:-9999px;-webkit-border-radius:50px;border-radius:50px;font-size:24px;width:6px;height:6px;margin:4px;line-height:16px;background-color:#1e8cbe}@-moz-document url-prefix(){.form-table input.tog,input[type=checkbox],input[type=radio]{margin-bottom:-1px}}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-decoration{display:none}.ie8 input[type=password]{font-family:sans-serif}button,input,select,textarea{font-family:inherit;font-size:inherit;font-weight:inherit}input,select,textarea{font-size:14px;-webkit-border-radius:0;border-radius:0}textarea{overflow:auto;padding:2px 6px;line-height:1.4}.wp-admin input[type=file]{padding:3px 0}label{cursor:pointer}input,select{margin:1px;padding:3px 5px}input.code{padding-top:6px}textarea.code{line-height:1.4;padding:4px 6px 1px}input.readonly,input[readonly],textarea.readonly,textarea[readonly]{background-color:#eee}.wp-core-ui :-moz-placeholder,:-moz-placeholder{color:#a9a9a9}.form-invalid{background-color:#ffebe8!important}.form-invalid input,.form-invalid select{border-color:#c00!important}.form-input-tip{color:#666}input.disabled,input:disabled,select.disabled,select:disabled,textarea.disabled,textarea:disabled{background:rgba(255,255,255,.5);border-color:rgba(222,222,222,.75);-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.04);box-shadow:inset 0 1px 2px rgba(0,0,0,.04);color:rgba(51,51,51,.5)}input[type=file].disabled,input[type=file]:disabled,input[type=range].disabled,input[type=range]:disabled{background:0 0;-webkit-box-shadow:none;box-shadow:none}input[type=checkbox].disabled,input[type=checkbox].disabled:checked:before,input[type=checkbox]:disabled,input[type=checkbox]:disabled:checked:before,input[type=radio].disabled,input[type=radio].disabled:checked:before,input[type=radio]:disabled,input[type=radio]:disabled:checked:before{opacity:.7}.wp-admin select{padding:2px;line-height:28px;height:28px;vertical-align:middle}.wp-admin .button-cancel{padding:0 5px;line-height:2}.meta-box-sortables select{max-width:100%}.wp-admin select[multiple]{height:auto}.submit{padding:1.5em 0;margin:5px 0;-webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px;border:none}form p.submit a.cancel:hover{text-decoration:none}p.submit{text-align:left;max-width:100%;margin-top:20px;padding-top:10px}.textright p.submit{border:none;text-align:right}table.form-table+input+input+p.submit,table.form-table+input+p.submit,table.form-table+p.submit{border-top:none;padding-top:0}#major-publishing-actions input,#minor-publishing-actions .preview,#minor-publishing-actions input{text-align:center}input.all-options,textarea.all-options{width:250px}input.large-text,textarea.large-text{width:99%}#adduser .form-field input,input.regular-text{width:25em}input.small-text{width:50px;padding:1px 6px}input[type=number].small-text{width:65px}#doaction,#doaction2,#post-query-submit{margin:1px 8px 0 0}.tablenav #changeit,.tablenav #clear-recent-list,.tablenav #delete_all,.wp-filter #delete_all{margin-top:1px}.tablenav .actions select{float:left;margin-right:6px;max-width:200px}.ie8 .tablenav .actions select{width:155px}.ie8 .tablenav .actions select#cat{width:200px}#timezone_string option{margin-left:1em}#upload-form label{color:#777}#your-profile label+a,fieldset label,label{vertical-align:middle}#misc-publishing-actions label,.options-media-php label[for*="_size_"]{vertical-align:baseline}#misc-publishing-actions label[for=post_status]:before{content:'\f173';display:inline-block;font:400 20px/1 dashicons;speak:none;left:-1px;padding:0 5px 0 0;position:relative;top:0;text-decoration:none!important;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#pass-strength-result{background-color:#eee;border:1px solid #ddd;float:left;margin:13px 5px 5px 1px;padding:3px 5px;text-align:center;width:200px;display:none}#pass-strength-result.short{background-color:#ffa0a0;border-color:#f04040}#pass-strength-result.bad{background-color:#ffb78c;border-color:#ff853c}#pass-strength-result.good{background-color:#ffec8b;border-color:#fc0}#pass-strength-result.strong{background-color:#c3ff88;border-color:#8dff1c}.indicator-hint{padding-top:8px}p.search-box{float:right;margin:0}.network-admin.themes-php p.search-box{clear:left}.search-box input[name="s"],.tablenav .search-plugins input[name="s"],.tagsdiv .newtag{float:left;height:28px;margin:0 4px 0 0}input[type=email].ui-autocomplete-loading,input[type=text].ui-autocomplete-loading{background-image:url(../images/loading.gif);background-repeat:no-repeat;background-position:right center;visibility:visible}input.ui-autocomplete-input.open{border-bottom-color:transparent}ul#add-to-blog-users{margin:0 0 0 14px}.ui-autocomplete{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;border:1px solid #5b9dd9;-webkit-box-shadow:0 1px 2px rgba(30,140,190,.8);box-shadow:0 1px 2px rgba(30,140,190,.8);background-color:#fff}.ui-autocomplete li{margin-bottom:0;padding:4px 10px;white-space:nowrap;text-align:left}.ui-autocomplete li.ui-state-focus{background-color:#ddd;cursor:pointer}.form-table{border-collapse:collapse;margin-top:.5em;width:100%;clear:both}.form-table,.form-table td,.form-table td p,.form-table th,.form-wrap label{font-size:14px}.form-table td{margin-bottom:9px;padding:15px 10px;line-height:1.3;vertical-align:middle}.form-table th,.form-wrap label{color:#23282d;font-weight:400;text-shadow:none;vertical-align:baseline}.form-table th{vertical-align:top;text-align:left;padding:20px 10px 20px 0;width:200px;line-height:1.3;font-weight:600}.form-table th.th-full{width:auto;font-weight:400}.form-table td p{margin-top:4px;margin-bottom:0}.form-table td fieldset label{margin:.25em 0 .5em!important;display:inline-block}.form-table td fieldset label,.form-table td fieldset li,.form-table td fieldset p{line-height:1.4em}.form-table input.tog,.form-table input[type=radio]{margin-top:-4px;margin-right:4px;float:none}.form-table .pre{padding:8px;margin:0}table.form-table td .updated{font-size:13px}table.form-table td .updated p{font-size:13px;margin:.3em 0}#profile-page .form-table textarea{width:500px;margin-bottom:6px}#profile-page .form-table #rich_editing{margin-right:5px}#your-profile legend{font-size:22px}#display_name{width:15em}#createuser .form-field input{width:25em}.color-option{display:inline-block;width:24%;padding:5px 15px 15px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:3px}.color-option.selected,.color-option:hover{background:#ddd}.color-palette{width:100%;border-spacing:0;border-collapse:collapse}.color-palette td{height:20px;padding:0;border:none}.color-option{cursor:pointer}.tool-box .title{margin:8px 0;font-size:18px;font-weight:400;line-height:24px}.card{position:relative;margin-top:20px;padding:.7em 2em 1em;min-width:255px;max-width:520px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}.pressthis h4{margin:2em 0 1em}.pressthis textarea{width:100%;font-size:1em}#pressthis-code-wrap{overflow:auto}.pressthis-bookmarklet-wrapper{margin:20px 0 8px;vertical-align:top;position:relative;z-index:1}.pressthis-bookmarklet,.pressthis-bookmarklet:active,.pressthis-bookmarklet:focus,.pressthis-bookmarklet:hover{display:inline-block;position:relative;cursor:move;color:#32373c;background:#e6e6e6;-webkit-border-radius:5px;border-radius:5px;border:1px solid #b4b4b4;font-style:normal;line-height:16px;font-size:14px;text-decoration:none}.pressthis-bookmarklet:active{outline:0}.pressthis-bookmarklet:after{content:'';width:70%;height:55%;z-index:-1;position:absolute;right:10px;bottom:9px;background:0 0;-webkit-transform:skew(20deg) rotate(6deg);-ms-transform:skew(20deg) rotate(6deg);transform:skew(20deg) rotate(6deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.6);box-shadow:0 10px 8px rgba(0,0,0,.6)}.pressthis-bookmarklet:hover:after{-webkit-transform:skew(20deg) rotate(9deg);-ms-transform:skew(20deg) rotate(9deg);transform:skew(20deg) rotate(9deg);-webkit-box-shadow:0 10px 8px rgba(0,0,0,.7);box-shadow:0 10px 8px rgba(0,0,0,.7)}.pressthis-bookmarklet span{display:inline-block;margin:0;padding:0 12px 8px 9px}.pressthis-bookmarklet span:before{color:#777;font:400 20px/1 dashicons;content:'\f157';position:relative;display:inline-block;top:4px;margin-right:4px}.pressthis-js-toggle,.pressthis-js-toggle.button.button{margin-left:10px;padding:0;height:auto;vertical-align:top}.pressthis-js-toggle .dashicons{margin:5px 8px 6px 7px;color:#777}#local-time,#utc-time{padding-left:25px;font-style:italic}.defaultavatarpicker .avatar{margin:2px 0;vertical-align:middle}.options-general-php input.small-text{width:56px}.options-general-php .spinner{float:none;margin:0 3px}.options-general-php .language-install-spinner,.settings-php .language-install-spinner{display:inline-block;float:none;margin:-3px 5px 0;vertical-align:middle}.form-field #site-address{max-width:25em}.form-field #domain{max-width:22em}.form-field #admin-email,.form-field #blog_last_updated,.form-field #blog_registered,.form-field #path,.form-field #site-title{max-width:25em}.form-field #path{margin-bottom:5px}.request-filesystem-credentials-dialog{display:none}.request-filesystem-credentials-dialog .notification-dialog{top:15%}.request-filesystem-credentials-dialog-content{margin:25px}.request-filesystem-credentials-form input[type=password],.request-filesystem-credentials-form input[type=text]{display:block}.request-filesystem-credentials-dialog input[type=password],.request-filesystem-credentials-dialog input[type=text]{width:100%}.request-filesystem-credentials-form .field-title{font-weight:600}.request-filesystem-credentials-dialog label[for=hostname],.request-filesystem-credentials-dialog label[for=private_key],.request-filesystem-credentials-dialog label[for=public_key]{display:block;margin-bottom:1em}.request-filesystem-credentials-dialog .ftp-password,.request-filesystem-credentials-dialog .ftp-username{float:left;width:48%}.request-filesystem-credentials-dialog .ftp-password{margin-left:4%}.request-filesystem-credentials-dialog .request-filesystem-credentials-action-buttons{text-align:right}#request-filesystem-credentials-dialog .button:not(:last-child),.request-filesystem-credentials-dialog label[for=ftp]{margin-right:10px}#request-filesystem-credentials-form .cancel-button{display:none}#request-filesystem-credentials-dialog .cancel-button{display:inline}@media screen and (max-width:782px){textarea{-webkit-appearance:none}input[type=email],input[type=number],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;padding:6px 10px}input.code{padding-bottom:5px;padding-top:10px}.widefat th input[type=checkbox],input[type=checkbox]{-webkit-appearance:none;padding:10px}.widefat th input[type=checkbox]{margin-bottom:8px}.widefat th input[type=checkbox]:before,input[type=checkbox]:checked:before{font:400 30px/1 Dashicons;margin:-3px -5px}input[type=checkbox],input[type=radio]{height:25px;width:25px}.wp-admin p input[type=checkbox],.wp-admin p input[type=radio]{margin-top:-3px}input[type=radio]:checked:before{vertical-align:middle;width:9px;height:9px;margin:7px;line-height:16px}.wp-upload-form input[type=submit]{margin-top:10px}#wpbody select{height:36px;font-size:16px}.wp-admin .button-cancel{padding:0;font-size:14px}#createuser .form-field input{width:100%}.form-table{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.form-table td,.form-table th{display:block;width:auto;vertical-align:middle}.form-table .color-palette td{display:table-cell;width:15px}.form-table table.color-palette{margin-right:10px}input,textarea{font-size:16px}#profile-page .form-table textarea,.form-table span.description,.form-table td input[type=email],.form-table td input[type=password],.form-table td input[type=text],.form-table td select,.form-table td textarea{width:100%;font-size:16px;line-height:1.5;padding:7px 10px;display:block;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpbody .form-table td select{height:40px}.form-table input[type=text].small-text,input[type=number].small-text,input[type=password].small-text,input[type=search].small-text,input[type=text].small-text{width:auto;max-width:55px;display:inline;padding:3px 6px;margin:0 3px}#pass-strength-result{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px}p.search-box{float:none;position:absolute;bottom:0;width:98%;height:90px;margin-bottom:20px}p.search-box input[name="s"]{height:auto;float:none;width:100%;margin-bottom:10px;vertical-align:middle;-webkit-appearance:none}p.search-box input[type=submit]{margin-bottom:10px}.form-table span.description{padding:4px 0 0;line-height:1.4em}.form-table th{padding-top:10px;padding-bottom:0;border-bottom:0}.form-table td{padding-top:8px;padding-left:0}.form-table input.regular-text{width:100%}.form-table label{font-size:14px}.form-table fieldset label{display:block}#utc-time{margin-top:10px}#local-time,#utc-time{display:block;float:none;padding:0;line-height:2}.form-field #domain{max-width:none}}@media only screen and (max-width:768px){.form-field input[type=email],.form-field input[type=password],.form-field input[type=text],.form-field select,.form-field textarea{width:99%}.form-wrap .form-field{padding:0}#profile-page .form-table textarea{max-width:400px;width:auto}}@media only screen and (max-height:480px){.request-filesystem-credentials-dialog .notification-dialog{width:100%;height:100%;position:fixed;top:0;margin:0;left:0;overflow-y:auto}}@media screen and (max-width:600px){.color-option{width:49%}}#adminmenu,#adminmenu .wp-submenu,#adminmenuback,#adminmenuwrap{width:160px;background-color:#23282d}#adminmenuback{position:fixed;top:0;bottom:-120px;z-index:1}#adminmenu{clear:left;margin:12px 0;padding:0;list-style:none}.folded #adminmenu,.folded #adminmenu li.menu-top,.folded #adminmenuback,.folded #adminmenuwrap{width:36px}.icon16{height:18px;width:18px;padding:6px;margin:-6px 0 0 -8px;float:left}.icon16:before{color:#999;font:400 20px/1 dashicons;speak:none;padding:6px 0;height:34px;width:20px;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.icon16.icon-dashboard:before{content:'\f226'}.icon16.icon-post:before{content:'\f109'}.icon16.icon-media:before{content:'\f104'}.icon16.icon-links:before{content:'\f103'}.icon16.icon-page:before{content:'\f105'}.icon16.icon-comments:before{content:'\f101';margin-top:1px}.icon16.icon-appearance:before{content:'\f100'}.icon16.icon-plugins:before{content:'\f106'}.icon16.icon-users:before{content:'\f110'}.icon16.icon-tools:before{content:'\f107'}.icon16.icon-settings:before{content:'\f108'}.icon16.icon-site:before{content:'\f112'}.icon16.icon-generic:before{content:'\f111'}.icon16.icon-appearance,.icon16.icon-comments,.icon16.icon-dashboard,.icon16.icon-generic,.icon16.icon-links,.icon16.icon-media,.icon16.icon-page,.icon16.icon-plugins,.icon16.icon-post,.icon16.icon-settings,.icon16.icon-site,.icon16.icon-tools,.icon16.icon-users,.menu-icon-appearance div.wp-menu-image,.menu-icon-comments div.wp-menu-image,.menu-icon-dashboard div.wp-menu-image,.menu-icon-generic div.wp-menu-image,.menu-icon-links div.wp-menu-image,.menu-icon-media div.wp-menu-image,.menu-icon-page div.wp-menu-image,.menu-icon-plugins div.wp-menu-image,.menu-icon-post div.wp-menu-image,.menu-icon-settings div.wp-menu-image,.menu-icon-site div.wp-menu-image,.menu-icon-tools div.wp-menu-image,.menu-icon-users div.wp-menu-image{background-image:none!important}#adminmenuwrap{position:relative;float:left;z-index:9990}#adminmenu *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}#adminmenu li{margin:0;padding:0;cursor:pointer}#adminmenu a{display:block;line-height:18px;padding:2px 5px;color:#eee}#adminmenu .wp-submenu a{color:#b4b9be;color:rgba(240,245,250,.7)}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover{background:0 0}#adminmenu .wp-submenu a:focus,#adminmenu .wp-submenu a:hover,#adminmenu a:hover,#adminmenu li.menu-top>a:focus{color:#00b9eb}#adminmenu li.menu-top{border:none;min-height:34px;position:relative}#adminmenu .wp-submenu{list-style:none;position:absolute;top:-1000em;left:160px;overflow:visible;word-wrap:break-word}#adminmenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{padding:7px 0 8px;z-index:9999;background-color:#32373c;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}#adminmenu a.menu-top:focus+.wp-submenu,.js #adminmenu .opensub .wp-submenu,.js #adminmenu .sub-open,.no-js li.wp-has-submenu:hover .wp-submenu{top:-1px}#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu .wp-has-current-submenu .wp-submenu.sub-open,#adminmenu .wp-has-current-submenu.opensub .wp-submenu,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu,.no-js li.wp-has-current-submenu:hover .wp-submenu{position:relative;z-index:3;top:auto;left:auto;right:auto;bottom:auto;border:0;margin-top:0;-webkit-box-shadow:none;box-shadow:none;background-color:#32373c}#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus{position:relative;background-color:#191e23;color:#00b9eb}.folded #adminmenu li.menu-top:hover,.folded #adminmenu li.opensub>a.menu-top,.folded #adminmenu li>a.menu-top:focus{z-index:10000}#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow,#adminmenu .wp-menu-arrow div,#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,.folded #adminmenu li.wp-has-current-submenu{background:#0073aa;color:#fff}.folded #adminmenu .opensub .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.folded #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.folded #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.folded #adminmenu .wp-submenu.sub-open,.folded #adminmenu a.menu-top:focus+.wp-submenu,.no-js.folded #adminmenu .wp-has-submenu:hover .wp-submenu{top:0;left:36px}.folded #adminmenu .wp-has-current-submenu .wp-submenu,.folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em}#adminmenu .wp-not-current-submenu .wp-submenu,.folded #adminmenu .wp-has-current-submenu .wp-submenu{min-width:160px;width:auto}#adminmenu .wp-submenu a{font-size:13px;line-height:1.2;margin:0;padding:6px 0}#adminmenu .opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a{color:#fff}#adminmenu .wp-not-current-submenu li>a,.folded #adminmenu .wp-has-current-submenu li>a{padding-right:16px;padding-left:14px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu .wp-has-current-submenu ul>li>a,.folded #adminmenu li.menu-top .wp-submenu>li>a{padding:6px 12px}#adminmenu .wp-submenu-head,#adminmenu a.menu-top{font-size:14px;font-weight:400;line-height:18px;padding:0}#adminmenu .wp-submenu-head,.folded #adminmenu .wp-menu-name{display:none}.folded #adminmenu .wp-submenu-head{display:block}#adminmenu .wp-submenu li{padding:0;margin:0;overflow:hidden}#adminmenu .wp-menu-image img{padding:9px 0 0;opacity:.6;filter:alpha(opacity=60)}#adminmenu div.wp-menu-name{padding:8px 0}#adminmenu div.wp-menu-image{float:left;width:36px;height:34px;margin:0;text-align:center}#adminmenu div.wp-menu-image.svg{background-repeat:no-repeat;background-position:center;-webkit-background-size:20px auto;background-size:20px auto}div.wp-menu-image:before{color:#a0a5aa;color:rgba(240,245,250,.6);padding:7px 0;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#adminmenu div.wp-menu-image:before{color:#a0a5aa;color:rgba(240,245,250,.6)}#adminmenu .current div.wp-menu-image:before,#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu.opensub div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before{color:#fff}#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before{color:#00b9eb}.ie8 #adminmenu li.opensub div.wp-menu-image:before{color:#a0a5aa}.folded #adminmenu div.wp-menu-image{width:35px;height:30px;position:absolute;z-index:25}.folded #adminmenu a.menu-top{height:34px}.no-font-face #adminmenu .wp-menu-image{display:none}.no-font-face #adminmenu div.wp-menu-name{padding:8px 12px}.no-font-face.auto-fold #adminmenu .wp-menu-name{margin-left:0}.sticky-menu #adminmenuwrap{position:fixed}.wp-menu-arrow{display:none!important}ul#adminmenu a.wp-has-current-submenu{position:relative}ul#adminmenu a.wp-has-current-submenu:after,ul#adminmenu>li.current>a.current:after{right:0;border:8px solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-right-color:#f1f1f1;top:50%;margin-top:-8px}.folded ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.folded ul#adminmenu a.wp-has-current-submenu:after,.folded ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{right:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-width:8px;top:10px;z-index:10000}.folded ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:18px}#adminmenu li.wp-has-submenu.wp-not-current-submenu.opensub:hover:after{border-right-color:#32373c}#adminmenu li.menu-top:hover .wp-menu-image img,#adminmenu li.wp-has-current-submenu .wp-menu-image img{opacity:1;filter:alpha(opacity=100)}#adminmenu li.wp-menu-separator{height:5px;padding:0;margin:0 0 6px;cursor:inherit}#adminmenu div.separator{height:2px;padding:0}#adminmenu .wp-submenu .wp-submenu-head{color:#fff;font-weight:400;font-size:14px;padding:8px 4px 8px 11px;margin:-7px 0 4px}#adminmenu li.current,.folded #adminmenu li.wp-menu-open{border:0}#adminmenu .awaiting-mod,#adminmenu .update-plugins{display:inline-block;background-color:#d54e21;color:#fff;font-size:9px;line-height:17px;font-weight:600;margin:1px 0 0 2px;vertical-align:top;-webkit-border-radius:10px;border-radius:10px;z-index:26}#adminmenu li .awaiting-mod span,#adminmenu li span.update-plugins span{display:block;padding:0 6px}#adminmenu li a.wp-has-current-submenu .update-plugins,#adminmenu li.current a .awaiting-mod{background-color:#00b9eb;color:#fff}#adminmenu li span.count-0{display:none}#collapse-menu{font-size:13px;line-height:34px;margin-top:10px;color:#a0a5aa;color:rgba(240,245,250,.6);-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#collapse-menu:hover,#collapse-menu:hover #collapse-button div:after{color:#00b9eb}.folded #collapse-menu span{display:none}#collapse-button,#collapse-button div{width:15px;height:15px}#collapse-button{float:left;height:15px;margin:10px 8px 10px 11px;width:15px;-webkit-border-radius:10px;border-radius:10px}#wpwrap #collapse-button div{padding:0}#collapse-button div:after{content:'\f148';display:block;line-height:15px;left:-3px;top:-3px;color:#a0a5aa;color:rgba(240,245,250,.6);font:400 20px/1 dashicons!important;speak:none;margin:0 auto;padding:0!important;position:relative;text-align:center;width:20px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.folded #collapse-button div:after,.rtl #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.folded #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}.customize-support #menu-appearance a[href="themes.php?page=custom-header"],.customize-support #menu-appearance a[href="themes.php?page=custom-background"],li#wp-admin-bar-menu-toggle{display:none}@media only screen and (max-width:960px){.auto-fold #wpcontent,.auto-fold #wpfooter{margin-left:36px}.auto-fold #adminmenu,.auto-fold #adminmenu li.menu-top,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{width:36px}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu.sub-open,.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu .wp-has-current-submenu.opensub .wp-submenu,.auto-fold #adminmenu .wp-submenu.sub-open,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{top:0;left:36px}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu,.auto-fold #adminmenu a.wp-has-current-submenu:focus+.wp-submenu{position:absolute;top:-1000em;margin-right:-1px;padding:7px 0 8px;z-index:9999}.auto-fold #adminmenu .wp-has-current-submenu .wp-submenu{min-width:150px;width:auto}.auto-fold #adminmenu .wp-has-current-submenu li>a{padding-right:16px;padding-left:14px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding-left:12px}.auto-fold #adminmenu .wp-menu-name{display:none}.auto-fold #adminmenu .wp-submenu-head{display:block}.auto-fold #adminmenu div.wp-menu-image{height:30px;width:34px;position:absolute;z-index:25}.auto-fold #adminmenu a.menu-top{height:34px}.auto-fold #adminmenu li.wp-menu-open{border:0}.auto-fold #adminmenu .wp-has-current-submenu.menu-top-last{margin-bottom:0}.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:none}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{border-width:4px;margin-top:-4px;top:16px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li a.current:after{border-width:4px;margin-top:-4px}.auto-fold #adminmenu li.menu-top:hover,.auto-fold #adminmenu li.opensub>a.menu-top,.auto-fold #adminmenu li>a.menu-top:focus{z-index:10000}.auto-fold #collapse-menu span{display:none}.auto-fold #collapse-button div{background:0 0}.auto-fold #collapse-button div:after{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl.auto-fold #collapse-button div:after{-webkit-transform:none;-ms-transform:none;transform:none}}@media screen and (max-width:782px){.auto-fold #wpcontent{position:relative;margin-left:0;padding-left:10px}.sticky-menu #adminmenuwrap{position:relative;z-index:auto;top:0}.auto-fold #adminmenu,.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{position:absolute;width:190px;z-index:100}.auto-fold #adminmenuback,.auto-fold #adminmenuwrap{display:none}.auto-fold .wp-responsive-open #adminmenuback,.auto-fold .wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu li.menu-top{width:100%}.auto-fold #adminmenu li a{font-size:16px;padding:5px}.auto-fold #adminmenu li.menu-top .wp-submenu>li>a{padding:10px 10px 10px 20px}.auto-fold #adminmenu .wp-menu-name{display:block;margin-left:35px}.auto-fold ul#adminmenu a.wp-has-current-submenu:after,.auto-fold ul#adminmenu>li.current>a.current:after{border-width:8px;margin-top:-8px}.auto-fold ul#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after{display:none}#adminmenu .wp-submenu{position:relative;display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold #adminmenu .wp-menu-open .wp-submenu{position:relative;display:block;top:0;left:-1px;-webkit-box-shadow:none;box-shadow:none}.auto-fold #adminmenu .opensub .wp-submenu,.auto-fold #adminmenu .selected .wp-submenu:after,.auto-fold #adminmenu .wp-menu-open .wp-submenu:after{display:none}.auto-fold #adminmenu .selected .wp-submenu,.auto-fold ul#adminmenu li:hover a.wp-has-current-submenu:after{display:block}.auto-fold #adminmenu .wp-has-current-submenu a.menu-top:focus+.wp-submenu,.auto-fold #adminmenu a.menu-top:focus+.wp-submenu{position:relative;left:-1px;right:0;top:0}#adminmenu .wp-submenu .wp-submenu-head{display:none}#wp-responsive-toggle{position:fixed;top:5px;left:4px;padding-right:10px;z-index:99999;border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wpadminbar #wp-admin-bar-menu-toggle a{display:block;padding:0;overflow:hidden;outline:0;text-decoration:none;border:1px solid transparent;background:0 0;height:44px;margin-left:-1px}.wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle a{background:#32373c}li#wp-admin-bar-menu-toggle{display:block}#wpadminbar #wp-admin-bar-menu-toggle a:hover{border:1px solid transparent}#wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before{content:'\f228';display:inline-block;float:left;font:400 40px/45px Dashicons;vertical-align:middle;outline:0;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:44px;width:50px;padding:0;border:none;text-align:center;text-decoration:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}@media screen and (max-width:600px){#adminmenuback,#adminmenuwrap{display:none}.wp-responsive-open #adminmenuback,.wp-responsive-open #adminmenuwrap{display:block}.auto-fold #adminmenu{top:46px}}#wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody-content #dashboard-widgets.columns-2 .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets.columns-2 #postbox-container-2,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-2 #postbox-container-4{float:right;width:50.5%}#wpbody-content #dashboard-widgets.columns-3 .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets.columns-3 #postbox-container-3,#wpbody-content #dashboard-widgets.columns-3 #postbox-container-4{float:right}#dashboard-widgets .postbox-container,#wpbody-content #dashboard-widgets.columns-4 .postbox-container{width:25%}#dashboard-widgets-wrap .columns-3 #postbox-container-4 .empty-container{border:none!important}.ie8 #wpbody-content #dashboard-widgets .postbox-container{width:49.5%}.ie8 #wpbody-content #dashboard-widgets #postbox-container-2,.ie8 #wpbody-content #dashboard-widgets #postbox-container-3,.ie8 #wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}.ie8 #dashboard-widgets #postbox-container-3 .empty-container,.ie8 #dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#dashboard-widgets-wrap{overflow:hidden;margin:0 -8px}#dashboard-widgets .postbox .inside{margin-bottom:0}#dashboard-widgets .meta-box-sortables{margin:0 8px;min-height:100px}#the-comment-list td.comment p.comment-author{margin-top:0;margin-left:0}#the-comment-list p.comment-author img{float:left;margin-right:8px}#the-comment-list p.comment-author strong a{border:none}#the-comment-list td{vertical-align:top}#the-comment-list td.comment{word-wrap:break-word}#the-comment-list td.comment img{max-width:100%}.welcome-panel{position:relative;overflow:auto;margin:16px 0;padding:23px 10px 0;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff;font-size:13px;line-height:2.1em}.welcome-panel h3{margin:0;font-size:21px;font-weight:400;line-height:1.2}.welcome-panel h4{margin:1.33em 0 0;font-size:16px}.welcome-panel li{font-size:14px}.welcome-panel p{color:#777}.welcome-panel a{text-decoration:none}.welcome-panel .about-description{font-size:16px;margin:0}.welcome-panel .welcome-panel-close{position:absolute;top:5px;right:10px;padding:20px 15px 0 3px;font-size:13px;text-decoration:none;line-height:1}#welcome-panel.welcome-panel .welcome-panel-close:before{position:absolute;left:-18px;margin-top:-2px;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}.wp-core-ui .welcome-panel .button.button-hero{margin:15px 13px 3px 0;padding:12px 36px;height:auto;line-height:1.4285714;white-space:normal}.welcome-panel-content{margin-left:13px;max-width:1500px}.welcome-panel .welcome-panel-column-container{clear:both;overflow:hidden;position:relative}.welcome-panel .welcome-panel-column{width:32%;min-width:200px;float:left}.ie8 .welcome-panel .welcome-panel-column{min-width:230px}.welcome-panel .welcome-panel-column:first-child{width:36%}.welcome-panel-column p.hide-if-no-customize{margin-top:10px}.welcome-panel-column p{margin-top:7px;color:#464646}.welcome-panel .welcome-icon{display:block;padding:0 0 8px;background:0 0!important}.welcome-panel .welcome-icon:before{color:#82878c;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 10px 0 0;top:-1px;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;vertical-align:top}.welcome-panel .welcome-edit-page:before,.welcome-panel .welcome-write-blog:before{content:'\f119';top:-3px}.welcome-panel .welcome-add-page:before{content:'\f132'}.welcome-panel .welcome-view-site:before{content:'\f115';top:-2px}.welcome-panel .welcome-widgets-menus:before{content:'\f116';top:-2px}.welcome-panel .welcome-comments:before{content:'\f117';top:-1px}.welcome-panel .welcome-learn-more:before{content:'\f118';top:-1px}.welcome-panel .welcome-widgets-menus{line-height:16px}.welcome-panel .welcome-panel-column ul{margin:.8em 1em 1em 0}.welcome-panel .welcome-panel-column li{line-height:16px;list-style-type:none}#dashboard_primary .inside{margin:0;padding:0}#dashboard_primary .dashboard-widget-control-form,#dashboard_primary .widget-loading{padding:12px 12px 0}body #dashboard-widgets .postbox form .submit{margin:0}.dashboard-widget-control-form{overflow:hidden}.dashboard-widget-control-form p{margin-top:0}.rssSummary{color:#777;margin-top:4px}#dashboard_primary .rss-widget{border-bottom:1px solid #eee;font-size:13px;padding:8px 12px 10px}#dashboard_primary .rss-widget:last-child{border-bottom:none;padding-bottom:8px}#dashboard_primary .rss-widget a{font-weight:400}#dashboard_primary .rss-widget span,#dashboard_primary .rss-widget span.rss-date{color:#777}#dashboard_primary .rss-widget span.rss-date{margin-left:12px}#dashboard_primary .rss-widget ul li{margin-bottom:8px}#dashboard_right_now ul{margin:0;overflow:hidden}#dashboard_right_now li{width:50%;float:left;margin-bottom:10px}#dashboard_right_now .inside{overflow:hidden;padding:0}#dashboard_right_now .main{overflow:hidden;padding:0 12px 11px}#dashboard_right_now .main p{margin:0}#dashboard_right_now #wp-version-message .button{float:right;position:relative;top:-5px;margin-left:5px}.mu-storage{overflow:hidden}#dashboard-widgets h4.mu-storage{margin-bottom:10px}#dashboard_right_now li a:before,#dashboard_right_now li span:before{color:#82878c}#dashboard_right_now .sub{color:#777;background:#f5f5f5;border-top:1px solid #eee;padding:10px 12px 6px}#dashboard_right_now .sub h4{color:#555}#dashboard_right_now .sub p{margin:0 0 1em}#dashboard_right_now .warning a:before,#dashboard_right_now .warning span:before{color:#d54e21}#dashboard_right_now li a:before,#dashboard_right_now li span:before{content:'\f159';font:400 20px/1 dashicons;speak:none;display:block;float:left;margin:0 5px 0 0;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_right_now .page-count a:before,#dashboard_right_now .page-count span:before{content:'\f105'}#dashboard_right_now .post-count a:before,#dashboard_right_now .post-count span:before{content:'\f109'}#dashboard_right_now .comment-count a:before{content:'\f101'}#dashboard_right_now .comment-mod-count a:before{content:'\f125'}#dashboard_right_now .storage-count a:before{content:'\f104'}#dashboard_right_now .storage-count.warning a:before{content:'\f153'}#dashboard_quick_press .inside{margin:0;padding:0}#dashboard_quick_press div.updated{margin-bottom:10px;border:1px solid #eee;border-width:1px 1px 1px 0}#dashboard_quick_press form{overflow:hidden;margin:12px}#dashboard_quick_press .drafts,#dashboard_quick_press .easy-blogging{padding:10px 0 0}input#save-post{float:left}form.initial-form.quickpress-open label.prompt{font-style:normal}form.initial-form.quickpress-open input#title{height:auto}#dashboard_quick_press input,#dashboard_quick_press textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0}#dashboard_quick_press textarea{resize:vertical}#description-wrap{margin-top:12px}#title-wrap #title-prompt-text,.textarea-wrap #content-prompt-text{color:#777}.input-text-wrap,.textarea-wrap{position:relative}.input-text-wrap .prompt,.textarea-wrap .prompt{position:absolute}.textarea-wrap #content-prompt-text{font-size:1.1em;padding:7px 8px}.textarea-wrap textarea#content{margin:0 0 8px;padding:6px 7px}#quick-press textarea#content{min-height:90px;max-height:1300px;resize:none}.js #dashboard_quick_press .drafts{border-top:1px solid #eee}#dashboard_quick_press .drafts abbr{border:none}#dashboard_quick_press .drafts h4{margin:0 12px 8px;font-weight:400}#dashboard_quick_press .drafts .view-all{float:right;margin:0 12px 0 0}#dashboard_primary a.rsswidget{font-weight:400}#dashboard_quick_press .drafts ul{margin:0 12px}#dashboard_quick_press .drafts li{margin-bottom:1em}#dashboard_quick_press .drafts li time{color:#777}#dashboard_quick_press .drafts p{margin:0;word-wrap:break-word}#dashboard_quick_press .draft-title{overflow:hidden}#dashboard_quick_press .draft-title a,#dashboard_quick_press .draft-title time{float:left;margin:0 5px 0 0}#dashboard-widgets #dashboard_activity h4{margin:0 0 8px 12px;font-weight:400}#dashboard-widgets #dashboard_activity h4.comment-meta{margin:0}#dashboard_activity h4.comment-meta{margin-bottom:4px}#dashboard_activity ul{padding:0 12px}#dashboard_activity .comment-meta span.approve:before{content:'\f227';font:20px/.5 dashicons;margin-left:12px;vertical-align:middle;position:relative;top:-1px;margin-right:2px}#dashboard_activity .inside{padding:0;margin:0}#dashboard_activity .no-activity{overflow:hidden;padding:0 12px 12px;text-align:center}#dashboard_activity .no-activity p{color:#999;font-size:16px}#dashboard_activity .no-activity .smiley{margin-top:0}#dashboard_activity .no-activity .smiley:before{content:'\f328';font:400 120px/1 dashicons;speak:none;display:block;margin:0 5px 0 0;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;text-decoration:none!important}#dashboard_activity .subsubsub{float:none;border-top:1px solid #eee;margin-top:0;padding:8px 12px 4px}#future-posts ul,#published-posts ul{clear:both;margin-bottom:0}#future-posts li,#published-posts li{overflow:hidden;margin-bottom:8px}#future-posts ul span,#published-posts ul span{color:#777;float:left;margin-right:8px;min-width:150px}.activity-block{border-bottom:1px solid #eee;overflow:hidden;padding:8px 0 4px}.activity-block:last-child{border-bottom:none}.activity-block .subsubsub li{color:#ddd}#activity-widget #the-comment-list div.undo,#activity-widget #the-comment-list tr.undo{background:0 0;padding:6px 0;margin-left:12px}#activity-widget #the-comment-list .comment-item{background:#fafafa;padding:12px;position:relative}#activity-widget #the-comment-list .avatar{position:absolute;top:13px}#activity-widget #the-comment-list .dashboard-comment-wrap{padding-left:63px}#activity-widget #the-comment-list .dashboard-comment-wrap blockquote{margin:1em 0}#activity-widget #the-comment-list .comment-item h4{font-size:13px;color:#999}#activity-widget #the-comment-list .comment-item p.row-actions{margin:4px 0 0}#activity-widget #the-comment-list .comment-item:first-child{border-top:1px solid #eee}#activity-widget #the-comment-list .unapproved{background-color:#fef7f1}#activity-widget #the-comment-list .unapproved:before{content:"";display:block;position:absolute;left:0;top:0;bottom:0;background:#d54e21;width:4px}#activity-widget #the-comment-list .spam-undo-inside .avatar,#activity-widget #the-comment-list .trash-undo-inside .avatar{position:relative;top:0}#dashboard-widgets #dashboard_browser_nag.postbox .inside{margin:10px}.edit-box{display:none}h3:hover .edit-box{display:inline}#dashboard-widgets form .input-text-wrap input,#dashboard-widgets form .textarea-wrap textarea{width:100%}#dashboard-widgets .postbox form .submit{float:none;margin:.5em 0 0;padding:0;border:none}#dashboard-widgets-wrap #dashboard-widgets .postbox form .submit #publish{min-width:0}#dashboard-widgets a{text-decoration:none}#dashboard-widgets h3 a{text-decoration:underline}#dashboard-widgets h3 .postbox-title-action{position:absolute;right:10px;padding:0;top:5px}.js #dashboard-widgets h3 .postbox-title-action{right:33px}#dashboard-widgets h4{color:#23282d;font-weight:400;font-size:14px;margin:0 0 .2em;padding:0}#dashboard_plugins h5{font-size:14px}#latest-comments #the-comment-list{position:relative}#activity-widget #the-comment-list .comment,#activity-widget #the-comment-list .pingback{-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(0,0,0,.06)}#activity-widget .comments #the-comment-list .alt{background-color:transparent}#activity-widget #latest-comments #the-comment-list .comment-item{padding:1em 12px}#latest-comments #the-comment-list .pingback{padding-left:12px!important}#latest-comments #the-comment-list .comment-item:first-child{border-top:none}#latest-comments #the-comment-list .comment-item h4{line-height:1.5em;margin-top:0;color:#666}#latest-comments #the-comment-list .comment-item h4 cite{font-style:normal;font-weight:400}#latest-comments #the-comment-list .comment-item blockquote,#latest-comments #the-comment-list .comment-item blockquote p{margin:0;padding:0;display:inline}#latest-comments #the-comment-list .comment-item p.row-actions{margin:3px 0 0;padding:0;font-size:13px}#description-wrap label,#title-wrap label{cursor:text}#title-wrap #title{padding:2px 6px;font-size:1.3em;outline:0}#title-wrap #title-prompt-text{font-size:1.1em;padding:5px 8px}.rss-widget ul{margin:0;padding:0;list-style:none}a.rsswidget{font-size:14px;font-weight:600;line-height:1.7em}.rss-widget ul li{line-height:1.5em;margin-bottom:12px}.rss-widget span.rss-date{color:#999;font-size:13px;margin-left:3px}.rss-widget cite{display:block;text-align:right;margin:0 0 1em;padding:0}.rss-widget cite:before{content:'\2014'}.dashboard-comment-wrap{overflow:hidden;word-wrap:break-word}#dashboard_browser_nag a.update-browser-link{font-size:1.2em;font-weight:600}#dashboard_browser_nag a{text-decoration:underline}#dashboard_browser_nag p.browser-update-nag.has-browser-icon{padding-right:125px}#dashboard_browser_nag .browser-icon{margin-top:-35px}#dashboard_browser_nag.postbox.browser-insecure{background-color:#ac1b1b;border-color:#ac1b1b}#dashboard_browser_nag.postbox{background-color:#e29808;background-image:none;border-color:#edc048;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag.postbox.browser-insecure h3{border-bottom-color:#cd5a5a;color:#fff}#dashboard_browser_nag.postbox h3{border-bottom-color:#f6e2ac;background:0 0;color:#fff;-webkit-box-shadow:none;box-shadow:none}#dashboard_browser_nag a{color:#fff}#dashboard_browser_nag h3.hndle{border:none;font-weight:600;font-size:20px;padding-top:10px}.postbox#dashboard_browser_nag p a.dismiss{font-size:14px}.postbox#dashboard_browser_nag a,.postbox#dashboard_browser_nag p,.postbox#dashboard_browser_nag p.browser-update-nag{font-size:16px}@media only screen and (max-width:799px){#wpbody-content #dashboard-widgets .postbox-container{width:100%}}@media only screen and (min-width:800px) and (max-width:1499px){#wpbody-content #dashboard-widgets .postbox-container{width:49.5%}#wpbody-content #dashboard-widgets #postbox-container-2,#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right;width:50.5%}#dashboard-widgets #postbox-container-3 .empty-container,#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}#wpbody #wpbody-content #dashboard-widgets.columns-1 .postbox-container{width:100%}#wpbody #wpbody-content .metabox-holder.columns-1 .postbox-container .empty-container{border:0;height:0;min-height:0}.index-php .columns-prefs,.index-php .screen-layout{display:block}.columns-prefs .columns-prefs-3,.columns-prefs .columns-prefs-4{display:none}}@media only screen and (min-width:1500px) and (max-width:1800px){#wpbody-content #dashboard-widgets .postbox-container{width:33.5%}#wpbody-content #dashboard-widgets #postbox-container-1{width:33%}#wpbody-content #dashboard-widgets #postbox-container-3,#wpbody-content #dashboard-widgets #postbox-container-4{float:right}#dashboard-widgets #postbox-container-4 .empty-container{border:0;height:0;min-height:0}}@media screen and (max-width:870px){.welcome-panel .welcome-panel-column,.welcome-panel .welcome-panel-column:first-child{display:block;float:none;width:100%}.welcome-panel .welcome-panel-column li{display:inline-block;margin-right:13px}.welcome-panel .welcome-panel-column ul{margin:.4em 0 0}}@media screen and (max-width:782px){#dashboard_recent_comments #the-comment-list .comment-item .avatar{height:30px;width:30px;margin:4px 10px 5px 0}}@media screen and (max-width:600px){.welcome-panel .welcome-panel-close{overflow:hidden;text-indent:100%;white-space:nowrap;width:20px;height:20px;right:0;padding:5px}#welcome-panel.welcome-panel .welcome-panel-close:before{font-size:20px;margin:0}}.post-com-count-wrapper{min-width:22px}.post-com-count{background:center -80px no-repeat;height:1.3em;line-height:1.1em;display:block;text-decoration:none;padding:0 0 6px;cursor:pointer;color:#fff}.post-com-count:after{content:"";display:block;width:0;height:0;margin-left:8px;border-top:5px solid #b4b9be;border-right:5px solid transparent}.post-com-count span{font-size:11px;font-weight:600;height:1.4em;line-height:1.4em;min-width:.7em;padding:0 6px;display:inline-block;-webkit-border-radius:5px;border-radius:5px;background-color:#b4b9be;color:#fff}.post-com-count:hover{background-position:center -3px}.post-com-count:hover span{background-color:#00a0d2}.post-com-count:hover:after{border-top:5px solid #00a0d2}strong .post-com-count{background-position:center -55px}strong .post-com-count span{background-color:#0073aa}strong .post-com-count:after{border-top:5px solid #0073aa}.column-response .post-com-count{float:left;margin-right:5px;text-align:center}.response-links{float:left}.commentlist li{padding:1em 1em .2em;margin:0;border-bottom:1px solid #ccc}.commentlist li li{border-bottom:0;padding:0}.commentlist p{padding:0;margin:0 0 .8em}#submitted-on,.submitted-on{color:#777}#replyrow td{padding:2px}#replysubmit{margin:0;padding:0 5px 3px;text-align:center}#replysubmit .button{margin-right:5px}#replysubmit .error{color:red;line-height:21px;text-align:center}#replyrow h5{margin:.2em 0 0;padding:0 5px;line-height:1.4em;font-size:1em}#edithead .inside{float:left;padding:3px 0 2px 5px;margin:0;text-align:center}#edithead .inside input{width:180px}#edithead label{padding:2px 0}#replycontainer{padding:5px}#replycontent{height:120px;-webkit-box-shadow:none;box-shadow:none}#replyerror{border-color:#ddd;background-color:#f9f9f9}.commentlist .avatar{vertical-align:text-top}#the-comment-list .attachment-80x60{padding:4px 8px}#the-comment-list div.undo,#the-comment-list tr.undo{background-color:#f4f4f4}#the-comment-list .unapproved td,#the-comment-list .unapproved th{background-color:#fef7f1}#the-comment-list .unapproved th.check-column{border-left:4px solid #d54e21}#the-comment-list .unapproved th.check-column input{margin-left:4px}#the-comment-list .approve a{color:#006505}#the-comment-list .unapprove a{color:#d98500}#the-comment-list td,#the-comment-list th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}#the-comment-list tr:last-child td,#the-comment-list tr:last-child th{-webkit-box-shadow:none;box-shadow:none}#the-comment-list tr.unapproved+tr.approved td,#the-comment-list tr.unapproved+tr.approved th{border-top:1px solid rgba(0,0,0,.03)}.vim-current,.vim-current td,.vim-current th{background-color:#e4f2fd!important}th .comment-grey-bubble{height:16px;width:16px}th .comment-grey-bubble:before{content:'\f101';font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;left:-4px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}table.fixed{table-layout:fixed}.fixed .column-rating,.fixed .column-visible{width:8%}.fixed .column-author,.fixed .column-date,.fixed .column-format,.fixed .column-links,.fixed .column-parent,.fixed .column-posts{width:10%}.fixed .column-posts{width:74px}.fixed .column-comment .comment-author{display:none}.fixed .column-categories,.fixed .column-rel,.fixed .column-response,.fixed .column-role,.fixed .column-tags{width:15%}.fixed .column-slug{width:25%}.fixed .column-locations{width:35%}.fixed .column-comments{width:4em;padding:8px 0;text-align:left}.fixed .column-comments .vers{padding-left:3px}.fixed .column-comments a{float:left}.fixed .column-icon{width:80px}.wp-list-table a{-webkit-transition:none;transition:none}#the-list tr:last-child td,#the-list tr:last-child th{border-bottom:none!important;-webkit-box-shadow:none;box-shadow:none}#comments-form .fixed .column-author{width:20%}#commentsdiv.postbox .inside{margin:0;padding:0}#commentsdiv .inside .row-actions{line-height:18px}#commentsdiv .inside .column-author{width:25%}#commentsdiv .column-comment p{margin:.6em 0;padding:0}#commentsdiv #replyrow td{padding:0}#commentsdiv p{padding:8px 10px;margin:0}#commentsdiv .comments-box{border:0}#commentsdiv .comments-box thead th{background:0 0;padding:0 7px 4px;font-style:italic}#commentsdiv .comments-box tr:last-child td{border-bottom:0 none}.sorting-indicator{display:none;width:10px;height:4px;margin-top:8px;margin-left:7px}.sorting-indicator:before{background:0 0;content:'\f142';font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0;top:-4px;left:-8px;line-height:10px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.column-comments .sorting-indicator:before{top:0;left:-10px}th.desc:hover span.sorting-indicator:before,th.sorted.asc .sorting-indicator:before{content:'\f142'}th.asc:hover span.sorting-indicator:before,th.sorted.desc .sorting-indicator:before{content:'\f140'}tr.wp-locked .locked-indicator{margin-left:6px;height:20px;width:16px}tr.wp-locked .locked-indicator:before{color:#82878c;content:'\f160';display:inline-block;float:left;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-left:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}tr.wp-locked .check-column input[type=checkbox],tr.wp-locked .check-column label,tr.wp-locked .row-actions .inline,tr.wp-locked .row-actions .trash{display:none}tr .locked-info{height:0;opacity:0}tr.wp-locked .locked-info{margin-top:8px;height:auto;opacity:1}.locked-text{vertical-align:top}tr.locked-info,tr.wp-locked .locked-info{-webkit-transition:height 1s,opacity .5s;transition:height 1s,opacity .5s}.fixed .column-comments .sorting-indicator{margin-top:3px}#menu-locations-wrap .widefat{width:60%}.widefat th.sortable,.widefat th.sorted{padding:0}th.sortable a,th.sorted a{display:block;overflow:hidden;padding:7px 7px 8px 10px}.fixed .column-comments.sortable a,.fixed .column-comments.sorted a{padding:8px 0}th.sortable a span,th.sorted a span{float:left;cursor:pointer}th.desc:hover span.sorting-indicator,th.sorted.asc .sorting-indicator{display:block;background-position:0 0}th.asc:hover span.sorting-indicator,th.sorted.desc .sorting-indicator{display:block;background-position:-7px 0}.tablenav-pages a{font-weight:600;margin-right:1px;padding:0 2px}.tablenav-pages .current-page{padding-top:0;text-align:center}.tablenav-pages .next-page{margin-left:2px}.tablenav a.button-secondary{display:block;margin:3px 8px 0 0}.tablenav{clear:both;height:30px;margin:6px 0 4px;vertical-align:middle}.tablenav.themes{max-width:98%}.tablenav .tablenav-pages{float:right;display:block;cursor:default;height:30px;color:#555;line-height:30px;font-size:12px}.tablenav .no-pages,.tablenav .one-page .pagination-links{display:none}.tablenav .tablenav-pages a,.tablenav-pages span.current{text-decoration:none;padding:3px 6px}.tablenav .tablenav-pages a{padding:0 10px 3px;background:#eee;background:rgba(0,0,0,.05);font-size:16px;font-weight:400}.tablenav .tablenav-pages a:focus,.tablenav .tablenav-pages a:hover{color:#fff;background:#00a0d2}.tablenav .tablenav-pages a.disabled,.tablenav .tablenav-pages a.disabled:active,.tablenav .tablenav-pages a.disabled:focus,.tablenav .tablenav-pages a.disabled:hover{color:#a0a5aa;background:#eee;background:rgba(0,0,0,.05)}.tablenav .displaying-num{margin-right:2px;color:#777;font-size:12px;font-style:italic}.tablenav .actions{overflow:hidden;padding:2px 8px 0 0}.wp-filter .actions{display:inline-block;vertical-align:middle}.tablenav .delete{margin-right:20px}.tablenav .dots{border-color:transparent}.tablenav .next,.tablenav .prev{border-color:transparent;color:#0073aa}.tablenav .next:hover,.tablenav .prev:hover{border-color:transparent;color:#00a0d2}.tablenav .view-switch{float:right;margin:5px 16px 0 8px}.wp-filter .view-switch{display:inline-block;vertical-align:middle;padding:15px 0;margin:0 20px 0 0}.view-switch a{text-decoration:none}.view-switch>a{display:inline-block;width:18px;height:18px}.view-switch>a:before{color:#b4b9be;display:inline-block;float:left;font:400 20px/1 dashicons;speak:none;vertical-align:middle;margin-left:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.view-switch>.view-list:before{content:'\f163'}.view-switch a:hover:before{color:#727272}.view-switch a.current:before{color:#0073aa}.view-switch>a+a{margin-left:5px}.view-switch>.view-excerpt:before{content:'\f164'}.view-switch>.view-grid:before{content:'\f509'}.filter{float:left;margin:-5px 0 0 10px}.filter .subsubsub{margin-left:-10px;margin-top:13px}.screen-per-page{width:4em}#posts-filter .wp-filter{margin-bottom:0}#posts-filter fieldset{float:left;margin:0 1.5ex 1em 0;padding:0}#posts-filter fieldset legend{padding:0 0 .2em 1px}p.pagenav{margin:0;display:inline}.pagenav span{font-weight:600;margin:0 6px}.row-title{font-size:14px!important;font-weight:600}.column-comment .comment-author{margin-bottom:.6em}.column-author img,.column-comment .comment-author img,.column-username img{float:left;margin-right:10px;margin-top:1px}.row-actions{color:#ddd;font-size:13px;visibility:hidden;padding:2px 0 0}.mobile .row-actions,.row-actions.visible,div.comment-item:hover .row-actions,tr:hover .row-actions{visibility:visible}.row-actions-visible{padding:2px 0 0}#wpbody-content .inline-edit-row fieldset{font-size:12px;float:left;margin:0;padding:0;width:100%}#wpbody-content .inline-edit-row fieldset .inline-edit-col,tr.inline-edit-row td{padding:0 .5em}#wpbody-content .quick-edit-row-page fieldset.inline-edit-col-right .inline-edit-col{border-width:0 0 0 1px;border-style:none none none solid}#wpbody-content .quick-edit-row-post .inline-edit-col-left{width:40%}#wpbody-content .quick-edit-row-post .inline-edit-col-right{width:39%}#wpbody-content .inline-edit-row-post .inline-edit-col-center{width:20%}#wpbody-content .quick-edit-row-page .inline-edit-col-left{width:50%}#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .quick-edit-row-page .inline-edit-col-right{width:49%}#wpbody-content .bulk-edit-row .inline-edit-col-left{width:30%}#wpbody-content .bulk-edit-row-page .inline-edit-col-right{width:69%}#wpbody-content .bulk-edit-row .inline-edit-col-bottom{float:right;width:69%}#wpbody-content .inline-edit-row-page .inline-edit-col-right{margin-top:27px}.inline-edit-row fieldset .inline-edit-group{clear:both;line-height:2.5}.inline-edit-row fieldset .inline-edit-group:after{content:".";display:block;height:0;clear:both;visibility:hidden}.inline-edit-row p.submit{clear:both;padding:.5em;margin:.5em 0 0}.inline-edit-row span.error{line-height:22px;margin:0 15px;padding:3px 5px}.inline-edit-row h4{margin:.2em 0;padding:0;line-height:2.5}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{margin:0;padding:0}.inline-edit-row fieldset label,.inline-edit-row fieldset span.inline-edit-categories-label{display:block;margin:.2em 0;line-height:2.5}.inline-edit-row fieldset label.inline-edit-tags{margin-top:0}.inline-edit-row fieldset label.inline-edit-tags span.title{margin:.2em 0;width:auto}.inline-edit-row fieldset label span.title{display:block;float:left;width:5em;line-height:2.5}.inline-edit-row fieldset label span.input-text-wrap{display:block;margin-left:5em}.quick-edit-row-post fieldset.inline-edit-col-right label span.title{width:auto;padding-right:.5em}.inline-edit-row .inline-edit-or{margin:.2em 6px .2em 0;line-height:2.5}.inline-edit-row .input-text-wrap input[type=text]{width:100%}.inline-edit-row fieldset label input[type=checkbox]{vertical-align:middle}.inline-edit-row fieldset label textarea{width:100%;height:4em;vertical-align:top}#wpbody-content .bulk-edit-row fieldset .inline-edit-group label{max-width:50%}#wpbody-content .quick-edit-row fieldset .inline-edit-group label.alignleft:first-child{margin-right:.5em}.inline-edit-col-right .input-text-wrap input.inline-edit-menu-order-input{width:6em}.inline-edit-row h4{text-transform:uppercase}.inline-edit-row fieldset span.checkbox-title,.inline-edit-row fieldset span.title{font-style:italic}.inline-edit-row fieldset .inline-edit-date{float:left}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{font-size:12px;width:2.3em}.inline-edit-row fieldset input[name=aa]{font-size:12px;width:3.5em}.inline-edit-row fieldset label input.inline-edit-password-input{width:8em}ul.cat-checklist{height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0;background-color:#fff}#bulk-titles{display:block;height:12em;border:1px solid #ddd;overflow-y:scroll;padding:0 5px;margin:0 0 5px}.inline-edit-row fieldset ul.cat-checklist input,.inline-edit-row fieldset ul.cat-checklist li{margin:0;position:relative}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-style:normal;font-size:11px}.inline-edit-row fieldset label input.inline-edit-menu-order-input{width:3em}.inline-edit-row fieldset label input.inline-edit-slug-input{width:75%}.inline-edit-row #post_parent,.inline-edit-row select[name=page_template]{max-width:80%}.ie8 .inline-edit-row #post_parent,.ie8 .inline-edit-row select[name=page_template]{width:250px}.quick-edit-row-post fieldset label.inline-edit-status{float:left}#bulk-titles{line-height:140%}#bulk-titles div{margin:.2em .3em}#bulk-titles div a{cursor:pointer;display:block;float:left;height:18px;margin:0 3px 0 -2px;overflow:hidden;position:relative;width:20px}#bulk-titles div a:before{position:relative;top:-3px}.plugins tbody,.plugins tbody th.check-column{padding:8px 0 0 2px}.plugins tbody th.check-column input[type=checkbox]{margin-top:4px}#update-plugins-table tbody td p{margin-top:0}#update-plugins-table tbody td p strong{font-size:14px}.plugins .inactive th.check-column,.plugins tfoot th.check-column,.plugins thead th.check-column{padding-left:6px}#update-plugins-table tfoot th.check-column,#update-plugins-table thead th.check-column{padding-top:11px}.plugins,.plugins td,.plugins th{color:#000}.plugins tr{background:#fff}.plugins p{margin:0 4px;padding:0}.plugins .desc p{margin:0 0 8px}.plugins td.desc{line-height:1.5em}.plugins .desc ol,.plugins .desc ul{margin:0 0 0 2em}.plugins .desc ul{list-style-type:disc}.plugins .row-actions{font-size:13px}.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th{padding:10px 9px}.plugins .active td,.plugins .active th{background-color:#f7fcfe}.plugins .update td,.plugins .update th{border-bottom:0}.plugin-update-tr td{border-top:0}.plugin-install #the-list td,.plugins .active td,.plugins .active th,.plugins .inactive td,.plugins .inactive th,.upgrade .plugins td,.upgrade .plugins th{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th,.plugins tr.active.plugin-update-tr+tr.inactive td,.plugins tr.active.plugin-update-tr+tr.inactive th{border-top:1px solid rgba(0,0,0,.03);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1;box-shadow:inset 0 1px 0 rgba(0,0,0,.02),inset 0 -1px 0 #e1e1e1}.plugins .update td,.plugins .update th,.plugins .updated td,.plugins .updated th,.plugins tr.active+tr.inactive.update td,.plugins tr.active+tr.inactive.update th,.plugins tr.active+tr.inactive.updated td,.plugins tr.active+tr.inactive.updated th,.upgrade .plugins tr:last-of-type td,.upgrade .plugins tr:last-of-type th{-webkit-box-shadow:none;box-shadow:none}.plugins .active.update td,.plugins .active.update th,tr.active.update+tr.plugin-update-tr .plugin-update{background-color:#fef7f1}.plugin-update-tr.active td,.plugins .active th.check-column{border-left:4px solid #00a0d2}.plugins .active.update th.check-column,.plugins .active.update+.plugin-update-tr .plugin-update{border-left:4px solid #d54e21}#wpbody-content .plugins .plugin-title,#wpbody-content .plugins .theme-title{padding-right:12px;white-space:nowrap}.plugins .inactive .plugin-title strong{font-weight:400}.plugins .row-actions,.plugins .second{padding:0 0 5px}.plugins .update .row-actions,.plugins .update .second,.plugins .updated .row-actions,.plugins .updated .second{padding-bottom:0}.plugins-php .widefat tfoot td,.plugins-php .widefat tfoot th{border-top-style:solid;border-top-width:1px}.plugin-update-tr .update-message{font-size:13px;font-weight:400;padding:6px 12px;margin:0 10px 8px 31px;background-color:#f7f7f7;background-color:rgba(0,0,0,.03)}.plugin-card .install-now:before,.plugin-card .update-now:before,.plugin-update-tr .update-message:before{color:#d54e21;display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top}.plugin-card .update-now:before,.plugin-update-tr .update-message:before{content:'\f463'}.plugin-update-tr .update-message:before{margin:0 8px 0 -2px}.plugin-card .install-now:before,.plugin-card .update-now:before{margin:3px 5px 0 -2px}.plugin-card .updating-message:before,.plugin-update-tr .updating-message:before{content:'\f463';-webkit-animation:rotation 2s infinite linear;animation:rotation 2s infinite linear}@-webkit-keyframes rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.plugin-card .updated-message:before,.plugin-update-tr .updated-message:before{color:#79ba49;content:'\f147'}.plugins .plugin-update-tr .plugin-update{padding:0;border:none;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}tr.active+tr.plugin-update-tr .plugin-update{background-color:#f7fcfe}tr.active+tr.plugin-update-tr:not(.updated) .plugin-update .update-message{background-color:#fcf3ef}.plugin-install-php h3{clear:both}.plugin-install-php h4{margin:2.5em 0 8px}.plugin-install-php .wp-filter{margin-bottom:0}.plugin-group{overflow:hidden;margin-top:1.5em}.plugin-group h3{margin-top:0}.plugin-card{float:left;margin:0 8px 16px;width:48.5%;width:-webkit-calc(50% - 8px);width:calc(50% - 8px);background-color:#fff;border:1px solid #dedede;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.plugin-card:nth-child(odd){clear:both;margin-left:0}.plugin-card:nth-child(even){margin-right:0}@media screen and (min-width:1600px){.plugin-card{width:30%;width:-webkit-calc(33.1% - 8px);width:calc(33.1% - 8px)}.plugin-card:nth-child(odd){clear:none;margin-left:8px}.plugin-card:nth-child(even){margin-right:8px}.plugin-card:nth-child(3n+1){clear:both;margin-left:0}.plugin-card:nth-child(3n){margin-right:0}}@media screen and (max-width:782px){.plugin-card{margin-left:0;margin-right:0;width:100%}}.plugin-card-top{position:relative;padding:20px 20px 10px;min-height:135px}.plugin-action-buttons,div.action-links{margin:0}.plugin-card h4{margin:0 0 12px;font-size:18px;line-height:1.3}.plugin-card .desc,.plugin-card .name{margin-left:148px;margin-right:120px}.plugin-card .action-links{position:absolute;top:20px;right:20px;width:120px}.plugin-action-buttons{clear:right;float:right;margin-left:2em;margin-bottom:1em;text-align:right}.plugin-action-buttons li{margin-bottom:10px}.plugin-card-bottom{clear:both;padding:12px 20px;background-color:#fafafa;border-top:1px solid #dedede;overflow:hidden}.plugin-card-bottom .star-rating{display:inline}.plugin-card .column-rating{line-height:23px}.plugin-card .column-rating,.plugin-card .column-updated{margin-bottom:4px}.plugin-card .column-downloaded,.plugin-card .column-rating{float:left;clear:left;max-width:180px}.plugin-card .column-compatibility,.plugin-card .column-updated{text-align:right;float:right;clear:right;width:65%;width:-webkit-calc(100% - 180px);width:calc(100% - 180px)}.plugin-card .column-compatibility span:before{font:400 20px/.5 dashicons;speak:none;display:inline-block;padding:0;top:4px;left:-2px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important;color:#444}.plugin-card .compatibility-incompatible:before{content:'\f158'}.plugin-card .compatibility-compatible:before{content:'\f147'}.plugin-icon{position:absolute;top:20px;left:20px;width:128px;height:128px;margin:0 20px 20px 0}.plugin-icon img{width:128px;height:128px}.no-plugin-results{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.wp-list-table tr.site-deleted{background:#ff8573}.wp-list-table tr.site-spammed{background:#faafaa}.wp-list-table tr.site-archived{background:#ffebe8}.wp-list-table tr.site-mature{background:#fecac2}@media screen and (max-width:1100px) and (min-width:782px),(max-width:480px){.plugin-card .action-links{position:static;margin-left:148px;width:auto}.plugin-action-buttons{float:none;margin:1em 0 0;text-align:left}.plugin-action-buttons li{display:inline-block;vertical-align:middle}.plugin-action-buttons li .button{margin-right:20px}.plugin-card .desc,.plugin-card .name{margin-right:0}.plugin-card .desc p:first-of-type{margin-top:0}}@media screen and (max-width:782px){.tablenav{height:auto}.tablenav.top{margin:20px 0 5px}.tablenav.bottom{position:relative;margin-top:15px}.tablenav br{display:none}.tablenav br.clear{display:block}.tablenav .view-switch,.tablenav.top .actions,.tablenav.top .displaying-num{display:none}.tablenav.bottom .displaying-num{position:absolute;right:0;top:10px;font-size:14px}.tablenav-pages{width:100%;text-align:center;margin:0 0 25px}.tablenav.bottom .tablenav-pages{margin-top:25px}.tablenav.top .tablenav-pages.one-page{display:none}.tablenav.bottom .tablenav-pages.one-page{margin:15px 0 0;height:0}.tablenav-pages .pagination-links .paging-input{font-size:18px}.tablenav-pages .pagination-links a{padding:8px 20px 11px;font-size:18px;background:rgba(0,0,0,.05)}.tablenav-pages .pagination-links .current-page{padding:10px;font-size:14px}.form-wrap>p{display:none}.comment-count{font-size:14px}.column-categories,.column-tags,.fixed .column-author,.fixed .column-date,.media .column-parent,.sites .column-registered,.sites .column-users,.tags .column-description,.users .column-email,.users .column-name{display:none}.fixed .column-comment .comment-author{display:block}.column-title{width:85%}.fixed .column-comments,.widefat .check-column{width:35px}.widefat tfoot .check-column,.widefat thead .check-column{padding:10px 0}.widefat *{word-wrap:normal}#wpbody-content .bulk-edit-row .inline-edit-col-bottom,#wpbody-content .bulk-edit-row .inline-edit-col-left,#wpbody-content .bulk-edit-row-page .inline-edit-col-right,#wpbody-content .bulk-edit-row-post .inline-edit-col-right,#wpbody-content .inline-edit-row-post .inline-edit-col-center,#wpbody-content .quick-edit-row-page .inline-edit-col-left,#wpbody-content .quick-edit-row-page .inline-edit-col-right,#wpbody-content .quick-edit-row-post .inline-edit-col-left,#wpbody-content .quick-edit-row-post .inline-edit-col-right{float:none;width:100%}#wpbody-content .bulk-edit-row fieldset .inline-edit-col label,#wpbody-content .bulk-edit-row fieldset .inline-edit-group label,#wpbody-content .quick-edit-row fieldset .inline-edit-col label,#wpbody-content .quick-edit-row fieldset .inline-edit-group label{max-width:none;float:none;margin-bottom:5px}#wpbody .bulk-edit-row fieldset select{display:block;width:100%;max-width:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.inline-edit-row #bulk-titles div,.inline-edit-row fieldset ul.cat-checklist label{font-size:16px}.inline-edit-row fieldset label span.title{float:none}.inline-edit-row fieldset label.inline-edit-tags{padding:0 .5em}.inline-edit-row fieldset .inline-edit-col label.inline-edit-tags{padding:0}.inline-edit-row fieldset label span.input-text-wrap{margin-left:0}.inline-edit-row fieldset input[name=hh],.inline-edit-row fieldset input[name=jj],.inline-edit-row fieldset input[name=mn]{width:3em}.inline-edit-row fieldset input[name=aa]{width:4.5em}.inline-edit-row .inline-edit-or{margin:0 6px 0 0}#bulk-titles div{margin:.8em .3em}#bulk-titles div a{height:22px}.tags .column-posts{width:74px}.tags .column-slug{width:30%}.comments .column-response,.users .column-role{width:35%}.sites .column-blogname{width:55%}#wpbody-content #update-themes-table .plugin-title{width:auto}.link-manager-php #posts-filter{margin-top:25px}.link-manager-php .tablenav.bottom{overflow:hidden}.wp-list-table.plugins{position:relative;margin-top:35px;margin-bottom:50px}#wpbody-content .wp-list-table.plugins tfoot .column-description,.wp-list-table.plugins th#description,.wp-list-table.plugins thead .column-description{display:none}#wpbody-content .wp-list-table.plugins,#wpbody-content .wp-list-table.plugins .column-description,#wpbody-content .wp-list-table.plugins .manage-column.column-name,#wpbody-content .wp-list-table.plugins .plugin-title,#wpbody-content .wp-list-table.plugins .plugin-update,#wpbody-content .wp-list-table.plugins .theme-title,#wpbody-content .wp-list-table.plugins tbody,#wpbody-content .wp-list-table.plugins thead,#wpbody-content .wp-list-table.plugins tr{display:block;width:auto}.wp-list-table.plugins tfoot,.wp-list-table.plugins thead{position:absolute;top:-35px;left:0;right:0;width:auto;height:35px}.wp-list-table.plugins tfoot{bottom:-35px;top:auto}.active,.inactive{padding-top:0}.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-top:13px;padding-bottom:4px}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title,.wp-list-table.plugins tbody th{-webkit-box-shadow:none;box-shadow:none}.plugins tbody{padding:1px 0 0}.plugins tr.active+tr.inactive td.column-description{-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}.plugins tr.active+tr.inactive td,.plugins tr.active+tr.inactive th.check-column{border-top:none}.wp-list-table.plugins .column-description{padding-top:0}.wp-list-table.plugins .column-description,.wp-list-table.plugins .manage-column.column-name,.wp-list-table.plugins .plugin-title,.wp-list-table.plugins .theme-title{padding-right:12px;padding-left:46px}.wp-list-table.plugins tr{position:relative}.wp-list-table.plugins th.check-column,.wp-list-table.plugins tr.update th.check-column{position:absolute;height:auto;top:0;bottom:0;left:0;padding-left:2px;padding-top:18px}.wp-list-table.plugins tfoot th.check-column,.wp-list-table.plugins thead th.check-column{padding-left:3px;padding-top:11px;background:0 0}.widefat tbody th.check-column input[type=checkbox]{margin-top:-3px;margin-left:8px}.wp-list-table.plugins .active .check-column input,.wp-list-table.plugins .update .check-column input{margin-left:5px}.wp-list-table.plugins tfoot .check-column input,.wp-list-table.plugins thead .check-column input{margin-top:-6px}.wp-list-table.plugins .active th.check-column{background:0 0}.wp-list-table.plugins .plugin-title strong,.wp-list-table.plugins .theme-title strong{font-size:1.4em;line-height:1.6em}table.plugin-install .column-description,table.plugin-install .column-name,table.plugin-install .column-rating,table.plugin-install .column-version{display:block;width:auto}table.plugin-install th.column-description,table.plugin-install th.column-name,table.plugin-install th.column-rating,table.plugin-install th.column-version{display:none}table.plugin-install td.column-name strong{font-size:1.4em;line-height:1.6em}table.plugin-install #the-list td{-webkit-box-shadow:none;box-shadow:none}table.plugin-install #the-list tr{display:block;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 -1px 0 rgba(0,0,0,.1)}}@media screen and (max-width:600px){.tags .column-slug,.users .column-role{display:none}}#poststuff{padding-top:10px;min-width:763px}#poststuff #post-body{padding:0}#poststuff .postbox-container{width:100%}#poststuff #post-body.columns-2{margin-right:300px}#show-comments{overflow:hidden}#save-action .spinner,#show-comments .spinner,#show-comments a{float:left}#lost-connection-notice .spinner{display:block;float:left;margin:0 5px 0 0}#titlediv{position:relative}#titlediv label{cursor:text}#titlediv div.inside{margin:0}#poststuff #titlewrap{border:0;padding:0}#titlediv #title{padding:3px 8px;font-size:1.7em;line-height:100%;height:1.7em;width:100%;outline:0;margin:0 0 3px;background-color:#fff}#titlediv #title-prompt-text{color:#777;position:absolute;font-size:1.7em;padding:11px 10px}#wp-fullscreen-save .fs-saved{color:#999;float:right;margin-top:4px}#poststuff .inside-submitbox,#side-sortables .inside-submitbox{margin:0 3px;font-size:11px}input#link_description,input#link_url{width:98%}#pending{background:0 none;border:0;padding:0;font-size:11px;margin-top:-1px}#edit-slug-box{line-height:24px;min-height:25px;margin-top:5px;padding:0 10px;color:#666}#edit-slug-box .cancel{margin-right:10px;font-size:11px}#editable-post-name-full{display:none}#editable-post-name{background-color:#fffbcc}#editable-post-name input{font-size:13px;height:22px;margin:0;width:16em}.postarea h3 label{float:left}.submitbox .submit{text-align:left;padding:12px 10px 10px;font-size:11px;background-color:#464646;color:#ccc}.submitbox .submitdelete{text-decoration:none;padding:1px 2px}#normal-sortables .submitbox .submitdelete:hover{color:#000;background-color:red;border-bottom-color:red}.submitbox .submit a:hover{text-decoration:underline}.submitbox .submit input{margin-bottom:8px;margin-right:4px;padding:6px}.inside-submitbox #post_status{margin:2px 0 2px -2px}#post-status-select{margin-top:3px}#post-body #normal-sortables{min-height:50px}.postbox{position:relative;min-width:255px;border:1px solid #e5e5e5;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fff}#trackback_url{width:99%}#normal-sortables .postbox .submit{background:0 0;border:0;float:right;padding:0 12px;margin:0}.category-add input[type=text],.category-add select{width:100%;max-width:260px;vertical-align:baseline}#side-sortables .category-add input[type=text],#side-sortables .category-add select{margin:0 0 1em}#side-sortables .add-menu-item-tabs li,.wp-tab-bar li,ul.category-tabs li{display:inline;line-height:1.35em}.no-js .category-tabs li.hide-if-no-js{display:none}#side-sortables .add-menu-item-tabs a,.category-tabs a,.wp-tab-bar a{text-decoration:none}#post-body ul.add-menu-item-tabs li.tabs a,#post-body ul.category-tabs li.tabs a,#side-sortables .add-menu-item-tabs .tabs a,#side-sortables .category-tabs .tabs a,.wp-tab-bar .wp-tab-active a{color:#32373c}.category-tabs{margin:8px 0 5px}#category-adder h4{margin:10px 0}#side-sortables .add-menu-item-tabs,.wp-tab-bar{margin-bottom:3px}#normal-sortables .postbox #replyrow .submit{float:none;margin:0;padding:0 7px 5px}#side-sortables .submitbox .submit .preview,#side-sortables .submitbox .submit a.preview:hover,#side-sortables .submitbox .submit input{border:0}#side-sortables .inside-submitbox .insidebox,.stuffbox .insidebox{margin:11px 0}ul.add-menu-item-tabs,ul.category-tabs,ul.wp-tab-bar{margin-top:12px}ul.add-menu-item-tabs li,ul.category-tabs li{border:1px solid transparent;position:relative}.wp-tab-active,ul.add-menu-item-tabs li.tabs,ul.category-tabs li.tabs{border:1px solid #dfdfdf;border-bottom-color:#fdfdfd;background-color:#fdfdfd}ul.add-menu-item-tabs li,ul.category-tabs li,ul.wp-tab-bar li{padding:3px 5px 5px}#postimagediv .inside img{max-width:100%;height:auto;width:auto}form#tags-filter{position:relative}td.plugin-title strong,td.post-title strong{display:block;margin-bottom:.2em;font-size:14px}td.plugin-title p,td.post-title p{margin:6px 0}.ui-tabs-hide,.wp-hidden-children .wp-hidden-child{display:none}#post-body .tagsdiv #newtag{margin-right:5px;width:16em}#side-sortables input#post_password{width:94%}#side-sortables .tagsdiv #newtag{width:68%}#post-status-info{width:100%;border-spacing:0;border:1px solid #e5e5e5;border-top:none;background-color:#f7f7f7;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);z-index:999}#post-status-info td{font-size:12px}.autosave-info{padding:2px 10px;text-align:right}#editorcontent #post-status-info{border:none}#content-resize-handle{background:url(../images/resize.gif) right bottom no-repeat;width:12px;cursor:row-resize}.rtl #content-resize-handle{background:url(../images/resize-rtl.gif) left bottom no-repeat}.wp-editor-expand #content-resize-handle{display:none}#postdivrich #content{resize:none}#wp-word-count{display:block;padding:2px 10px}#wp-content-editor-container{position:relative}#content-textarea-clone{z-index:-1;position:absolute;top:0;visibility:hidden;overflow:hidden;max-width:100%;border:1px solid transparent}.wp-fullscreen-wrap #content-textarea-clone{display:none}.wp-fullscreen-wrap{padding-top:0!important}.wp-fullscreen-wrap .wp-editor-area{margin-top:0!important}.wp-fullscreen-wrap .mce-edit-area{padding-top:0!important}.wp-editor-expand #wp-content-editor-tools{z-index:1000;border-bottom:1px solid #e5e5e5}.wp-editor-expand #wp-content-editor-container{-webkit-box-shadow:none;box-shadow:none;margin-top:-1px;border-bottom:0 none}.wp-editor-expand div.mce-statusbar{z-index:1}.wp-editor-expand #post-status-info{border-top:1px solid #e5e5e5}.wp-editor-expand div.mce-toolbar-grp{z-index:999}.mce-fullscreen #wp-content-wrap .mce-edit-area,.mce-fullscreen #wp-content-wrap .mce-menubar,.mce-fullscreen #wp-content-wrap .mce-statusbar,.mce-fullscreen #wp-content-wrap .mce-toolbar-grp{position:static!important;width:auto!important;padding:0!important}.mce-fullscreen #wp-content-wrap .mce-statusbar{visibility:visible!important}.mce-fullscreen #wp-content-wrap .mce-wp-dfw,.post-php.mce-fullscreen #wpadminbar{display:none}#wp-content-editor-tools{background-color:#f1f1f1;padding-top:20px}#poststuff #post-body.columns-2 #side-sortables{width:280px}#timestampdiv select{height:21px;line-height:14px;padding:0;vertical-align:top;font-size:12px}#aa,#hh,#jj,#mn{padding:1px;font-size:12px}#hh,#jj,#mn{width:2em}#aa{width:3.4em}.curtime #timestamp{padding:2px 0 1px;display:inline!important;height:auto!important}#misc-publishing-actions label[for=post_status]:before,#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before,span.wp-media-buttons-icon:before{color:#82878c}#post-body #visibility:before,#post-body .misc-pub-revisions:before,.curtime #timestamp:before{font:400 20px/1 dashicons;speak:none;display:inline-block;padding:0 2px 0 0;top:0;left:-1px;position:relative;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}#post-body #visibility:before{content:'\f177'}.curtime #timestamp:before{content:'\f145';top:-1px}#post-body .misc-pub-revisions:before{content:'\f321'}#timestampdiv{padding-top:5px;line-height:23px}#timestampdiv p{margin:8px 0 6px}#timestampdiv input{border-width:1px;border-style:solid}.notification-dialog{position:fixed;top:30%;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;cursor:default;max-width:100%;overflow:hidden;text-overflow:ellipsis}.tagchecklist span a{margin:1px 0 0 -17px;cursor:pointer;width:20px;height:20px;display:block;float:left;text-indent:0;overflow:hidden;position:absolute}#poststuff h2{margin-top:20px;font-size:1.5em;margin-bottom:15px;padding:0 0 3px;clear:left}#poststuff h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}#poststuff .inside{margin:6px 0 0}#poststuff .inside #page_template,#poststuff .inside #parent_id{max-width:100%}#poststuff .inside label.deleted,#poststuff .inside label.spam{color:red}#poststuff .inside label.waiting{color:orange}#poststuff .inside label.approved{color:green}.ie8 #poststuff .inside #page_template,.ie8 #poststuff .inside #parent_id{width:250px}#post-visibility-select{line-height:1.5em;margin-top:3px}#poststuff #submitdiv .inside{margin:0;padding:0}#post-body-content,.edit-form-section{margin-bottom:20px}#postcustomstuff thead th{padding:5px 8px 8px;background-color:#f1f1f1}#postcustom #postcustomstuff .submit{border:0;float:none;padding:0 8px 8px}#side-sortables #postcustom #postcustomstuff .submit{margin:0;padding:0}#side-sortables #postcustom #postcustomstuff #the-list textarea{height:85px}#side-sortables #postcustom #postcustomstuff td.left input,#side-sortables #postcustom #postcustomstuff td.left select,#side-sortables #postcustomstuff #newmetaleft a{margin:3px 3px 0}#postcustomstuff table{margin:0;width:100%;border:1px solid #dfdfdf;border-spacing:0;background-color:#f9f9f9}#postcustomstuff tr{vertical-align:top}#postcustomstuff table input,#postcustomstuff table select,#postcustomstuff table textarea{width:96%;margin:8px}#side-sortables #postcustomstuff table input,#side-sortables #postcustomstuff table select,#side-sortables #postcustomstuff table textarea{margin:3px}#postcustomstuff td.left,#postcustomstuff th.left{width:38%}#postcustomstuff .submit input{margin:0;width:auto}#postcustomstuff #newmetaleft a{display:inline-block;margin:0 8px 8px;text-decoration:none}.no-js #postcustomstuff #enternew{display:none}#post-body-content .compat-attachment-fields{margin-bottom:20px}.compat-attachment-fields th{padding-top:5px;padding-right:10px}#select-featured-image{padding:4px 0;overflow:hidden}#select-featured-image img{max-width:100%;height:auto;margin-bottom:10px}#select-featured-image a{float:left;clear:both}#select-featured-image .remove{display:none;margin-top:10px}.js #select-featured-image.has-featured-image .remove{display:inline-block}.no-js #select-featured-image .choose{display:none}.post-state-format{overflow:hidden;display:inline-block;vertical-align:middle;height:20px;width:20px;margin-right:5px;margin-top:-4px}.post-state-format:before{display:block;height:20px;width:20px;font:400 20px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon:before,.post-state-format:before{color:#ddd;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}a.post-format-icon:hover:before,a.post-state-format:hover:before{color:#00a0d2}#post-formats-select{line-height:2em}#post-formats-select .post-format-icon:before{top:5px}input.post-format{margin-top:1px}label.post-format-icon{margin-left:0;padding:2px 0}.post-format-icon:before{position:relative;display:inline-block;margin-right:7px;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.post-format-icon.post-format-standard:before,.post-state-format.post-format-standard:before,a.post-state-format.format-standard:before{content:'\f109'}.post-format-icon.post-format-image:before,.post-state-format.post-format-image:before,a.post-state-format.format-image:before{content:'\f128'}.post-format-icon.post-format-gallery:before,.post-state-format.post-format-gallery:before,a.post-state-format.format-gallery:before{content:'\f161'}.post-format-icon.post-format-audio:before,.post-state-format.post-format-audio:before,a.post-state-format.format-audio:before{content:'\f127'}.post-format-icon.post-format-video:before,.post-state-format.post-format-video:before,a.post-state-format.format-video:before{content:'\f126'}.post-format-icon.post-format-chat:before,.post-state-format.post-format-chat:before,a.post-state-format.format-chat:before{content:'\f125'}.post-format-icon.post-format-status:before,.post-state-format.post-format-status:before,a.post-state-format.format-status:before{content:'\f130'}.post-format-icon.post-format-aside:before,.post-state-format.post-format-aside:before,a.post-state-format.format-aside:before{content:'\f123'}.post-format-icon.post-format-quote:before,.post-state-format.post-format-quote:before,a.post-state-format.format-quote:before{content:'\f122'}.post-format-icon.post-format-link:before,.post-state-format.post-format-link:before,a.post-state-format.format-link:before{content:'\f103'}.category-adder{margin-left:120px;padding:4px 0}.category-adder h4{margin:0 0 8px}#side-sortables .category-adder{margin:0}.categorydiv div.tabs-panel,.customlinkdiv div.tabs-panel,.posttypediv div.tabs-panel,.taxonomydiv div.tabs-panel,.wp-tab-panel{min-height:42px;max-height:200px;overflow:auto;padding:0 .9em;border:1px solid #dfdfdf;background-color:#fdfdfd}div.tabs-panel-active{display:block}div.tabs-panel-inactive{display:none}#front-page-warning,#front-static-pages ul,.categorydiv ul.categorychecklist ul,.customlinkdiv ul.categorychecklist ul,.inline-editor ul.cat-checklist ul,.posttypediv ul.categorychecklist ul,.taxonomydiv ul.categorychecklist ul,ul.export-filters{margin-left:18px}ul.categorychecklist li{margin:0;padding:0;line-height:22px;word-wrap:break-word}.categorydiv .tabs-panel,.customlinkdiv .tabs-panel,.posttypediv .tabs-panel,.taxonomydiv .tabs-panel{border-width:3px;border-style:solid}.form-wrap label{display:block;padding:2px;font-size:12px}.form-field input[type=email],.form-field input[type=number],.form-field input[type=password],.form-field input[type=search],.form-field input[type=tel],.form-field input[type=text],.form-field input[type=url],.form-field textarea{border-style:solid;border-width:1px;width:95%}.form-wrap p,p.description{margin:2px 0 5px;color:#666}.form-wrap p,p.description,p.help,span.description{font-size:13px;font-style:italic}.form-wrap .form-field{margin:0 0 10px;padding:8px 0}.form-wrap .form-field #parent{max-width:100%}.col-wrap h3{margin:12px 0;font-size:1.1em}.col-wrap p.submit{margin-top:-10px}#poststuff .tagsdiv .howto{margin:0 0 6px}.ajaxtag .newtag{position:relative}.tagsdiv .newtag{width:180px}.tagsdiv .the-tags{display:block;height:60px;margin:0 auto;overflow:auto;width:260px}#post-body-content .tagsdiv .the-tags{margin:0 5px}p.popular-tags{border:none;line-height:2em;padding:8px 12px 12px;text-align:justify}p.popular-tags a{padding:0 3px}.tagcloud{width:97%;margin:0 0 40px;text-align:justify}.tagcloud h3{margin:2px 0 12px}.ac_results{padding:0;margin:0;list-style:none;position:absolute;z-index:10000;display:none;border:1px solid gray;background-color:#fff}.wp-customizer .ac_results{z-index:500000}.ac_results li{padding:2px 5px;white-space:nowrap;color:#101010;text-align:left}.ac_over{background-color:#f0f0b8;cursor:pointer}.ac_match{text-decoration:underline}.comment-php .wp-editor-area{height:200px}.comment-ays td,.comment-ays th{padding:10px 15px}.comment-ays-submit .button-cancel{margin-left:1em}.spam-undo-inside,.trash-undo-inside{margin:1px 8px 1px 0;line-height:16px}.spam-undo-inside .avatar,.trash-undo-inside .avatar{height:20px;width:20px;margin-right:8px;vertical-align:middle}.stuffbox .editcomment{clear:none}#comment-status-radio p{margin:3px 0 5px}#comment-status-radio input{margin:2px 3px 5px 0;vertical-align:middle}#comment-status-radio label{padding:5px 0}table.links-table{width:100%;border-spacing:0}.links-table th{font-weight:400;text-align:left;vertical-align:top;min-width:80px;width:20%;word-wrap:break-word}.links-table td,.links-table th{padding:5px 0}.links-table td label{margin-right:8px}.links-table td input[type=text],.links-table td textarea{width:100%}.links-table #link_rel{max-width:280px}#qt_content_dfw,#wp-content-wrap .mce-wp-dfw{display:none}.wp-editor-expand #qt_content_dfw,.wp-editor-expand #wp-content-wrap .mce-wp-dfw{display:inline-block}.focus-on #screen-meta,.focus-on #screen-meta-links,.focus-on #wp-toolbar,.focus-on #wpfooter,.focus-on .postbox-container>*,.focus-on .wrap>h2,.focus-on div.error,.focus-on div.notice,.focus-on div.updated{opacity:0;-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.focus-on #wp-toolbar{opacity:.3}.focus-off #screen-meta,.focus-off #screen-meta-links,.focus-off #wp-toolbar,.focus-off #wpfooter,.focus-off .postbox-container>*,.focus-off .wrap>h2,.focus-off div.error,.focus-off div.notice,.focus-off div.updated{opacity:1;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}.focus-off #wp-toolbar{-webkit-transform:translate(0,0)}.focus-on #adminmenuback,.focus-on #adminmenuwrap{-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}.focus-off #adminmenuback,.focus-off #adminmenuwrap{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:-webkit-transform;transition-property:transform;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#content-resize-handle,#post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-2x.gif) right bottom/11px 11px no-repeat;-webkit-background-size:11px 11px}.rtl #content-resize-handle,.rtl #post-body .wp_themeSkin .mceStatusbar a.mceResize{background:url(../images/resize-rtl-2x.gif) right bottom no-repeat}}@media only screen and (max-width:850px){#poststuff{min-width:0}#wpbody-content #poststuff #post-body{margin:0}#wpbody-content #post-body.columns-2 #postbox-container-1{margin-right:0;width:100%}#poststuff #postbox-container-1 #side-sortables:empty,#poststuff #postbox-container-1 .empty-container{border:0;height:0;min-height:0}#poststuff #post-body.columns-2 #side-sortables{min-height:0;width:auto}.columns-prefs,.screen-layout{display:none}}@media screen and (max-width:782px){#post-body-content{min-width:0}#titlediv #title-prompt-text{padding:10px}#poststuff h3{padding:12px}.post-format-options{padding-right:0}.post-format-options a{margin-right:5px;margin-bottom:5px;min-width:52px}.post-format-options .post-format-title{font-size:11px}.post-format-options a div{height:28px;width:28px}.post-format-options a div:before{font-size:26px!important}#post-visibility-select{line-height:280%}.wp-core-ui .save-post-visibility,.wp-core-ui .save-timestamp{vertical-align:middle;margin-right:15px}.timestamp-wrap select#mm{display:block;width:100%;margin-bottom:10px}.timestamp-wrap #aa,.timestamp-wrap #hh,.timestamp-wrap #jj,.timestamp-wrap #mn{padding:12px 3px;font-size:14px;margin-bottom:5px;width:auto;text-align:center}ul.category-tabs{margin:30px 0 15px}ul.category-tabs li.tabs{padding:15px}ul.categorychecklist li{margin-bottom:15px}ul.categorychecklist ul{margin-top:15px}.category-add input[type=text],.category-add select{max-width:none;margin-bottom:15px}.tagsdiv .newtag{width:100%;height:auto;margin-bottom:15px}.tagchecklist{margin:25px 10px}.tagchecklist span{font-size:16px;line-height:120%}#commentstatusdiv p{line-height:2.8}.mceToolbar *{white-space:normal!important}.mceToolbar td,.mceToolbar tr{float:left!important}.wp_themeSkin a.mceButton{width:30px;height:30px}.wp_themeSkin .mceButton .mceIcon{margin-top:5px;margin-left:5px}.wp_themeSkin .mceSplitButton{margin-top:1px}.wp_themeSkin .mceSplitButton td a.mceAction{padding:6px 3px 6px 6px}.wp_themeSkin .mceSplitButton td a.mceOpen,.wp_themeSkin .mceSplitButtonEnabled:hover td a.mceOpen{padding-top:6px;padding-bottom:6px;background-position:1px 6px}.wp_themeSkin table.mceListBox{margin:5px}div.quicktags-toolbar input{padding:10px 20px}button.wp-switch-editor{font-size:16px;line-height:1em;margin:7px 0 0 7px;padding:8px 12px}#wp-content-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 20px 0 15px}.wp-media-buttons span.jetpack-contact-form-icon,.wp-media-buttons span.wp-media-buttons-icon{width:22px!important;margin-top:-3px!important;margin-left:-5px!important}.wp-media-buttons #insert-jetpack-contact-form span.jetpack-contact-form-icon:before,.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font-size:20px!important}#content_wp_fullscreen{display:none}.misc-pub-section{padding:20px 10px}.misc-pub-section>a{float:right;font-size:16px}#delete-action,#publishing-action{line-height:47px}.comment-ays td,.comment-ays th{padding-bottom:0}.comment-ays td{padding-top:6px}.links-table #link_rel{max-width:none}.links-table td,.links-table th{padding:10px 0}}@media only screen and (max-width:500px){#wp-content-media-buttons a{font-size:14px;padding:0 10px}}.revisions-control-frame,.revisions-diff-frame{position:relative}.revisions-controls{padding-top:40px;height:100px;z-index:1}.revisions-controls input[type=checkbox]{position:relative;top:-1px;vertical-align:text-bottom}.revisions.pinned .revisions-controls{position:fixed;top:0;height:82px;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-tickmarks{position:relative;margin:0 auto;height:.7em;top:7px;max-width:70%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.revisions-tickmarks>div{position:absolute;height:100%;border-left:1px solid #a0a5aa;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.revisions-tickmarks>div:first-child{border-width:0}.comparing-two-revisions .revisions-controls{height:140px}.comparing-two-revisions.pinned .revisions-controls{height:124px}.revisions .diff-error{position:absolute;text-align:center;margin:0 auto;width:100%;display:none}.revisions.diff-error .diff-error{display:block}.revisions .loading-indicator{position:absolute;vertical-align:middle;opacity:0;width:100%;width:-webkit-calc(100% - 30px);width:calc(100% - 30px);top:50%;top:-webkit-calc(50% - 10px);top:calc(50% - 10px);-webkit-transition:opacity .5s;transition:opacity .5s;filter:alpha(opacity=0)}body.folded .revisions .loading-indicator{margin-left:-32px}.revisions .loading-indicator span.spinner{display:block;margin:0 auto;float:none}.revisions.loading .loading-indicator{opacity:1;filter:alpha(opacity=100)}.revisions .diff{-webkit-transition:opacity .5s;transition:opacity .5s}.revisions.loading .diff{opacity:.5;filter:alpha(opacity=50)}.revisions.diff-error .diff{visibility:hidden}.revisions-meta{margin-top:20px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions.pinned .revisions-meta{-webkit-box-shadow:none;box-shadow:none}.revision-toggle-compare-mode{position:absolute;top:0;right:0}.comparing-two-revisions .revisions-next,.comparing-two-revisions .revisions-previous,.revisions-meta .diff-meta-to strong{display:none}.revisions-controls .author-card .date{color:#777}.revisions-controls .author-card.autosave{color:#d54e21}.revisions-controls .author-card .author-name{font-weight:700}.comparing-two-revisions .diff-meta-to strong{display:block}.revisions.pinned .revisions-buttons{padding:0 11px}.revisions-next,.revisions-previous{position:relative;z-index:1}.revisions-previous{float:left}.revisions-next{float:right}.revisions-controls .wp-slider{max-width:70%;margin:0 auto;top:-3px}.revisions-diff{padding:15px;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.revisions-diff h3:first-child{margin-top:0}#revisions-meta-restored img,.post-revisions li img{vertical-align:middle}table.diff tbody tr td:nth-child(2){width:4%}table.diff{table-layout:fixed;width:100%;white-space:pre-wrap}table.diff col.content{width:auto}table.diff col.content.diffsplit{width:48%}table.diff col.diffsplit.middle{width:auto}table.diff col.ltype{width:30px}table.diff tr{background-color:transparent}table.diff td,table.diff th{font-family:Consolas,Monaco,monospace;font-size:14px;line-height:1.618;padding:.5em;vertical-align:top;word-wrap:break-word}table.diff td h1,table.diff td h2,table.diff td h3,table.diff td h4,table.diff td h5,table.diff td h6{margin:0}table.diff .diff-addedline ins,table.diff .diff-deletedline del{text-decoration:none}table.diff .diff-deletedline{background-color:#ffe9e9}table.diff .diff-deletedline del{background-color:#faa}table.diff .diff-addedline{background-color:#e9ffe9}table.diff .diff-addedline ins{background-color:#afa}.diff-meta{padding:5px;clear:both;min-height:32px}.diff-title strong{line-height:32px;min-width:60px;text-align:right;float:left;margin-right:5px}.revisions-controls .author-card .author-info{font-size:12px;line-height:16px}.revisions-controls .author-card .author-info,.revisions-controls .author-card .avatar{float:left;margin-left:6px;margin-right:6px}.revisions-controls .author-card .byline{display:block;font-size:12px}.revisions-controls .author-card .avatar{vertical-align:middle}.diff-meta input.restore-revision{float:right;margin-left:6px;margin-right:6px;margin-top:4px}.diff-meta-from{display:none}.comparing-two-revisions .diff-meta-from{display:block}.revisions-tooltip{position:absolute;bottom:105px;margin-right:0;margin-left:-69px;z-index:0;max-width:350px;min-width:130px;padding:8px 4px;opacity:0}.revisions-tooltip.flipped{margin-left:0;margin-right:-70px}.revisions.pinned .revisions-tooltip{display:none!important}.comparing-two-revisions .revisions-tooltip{bottom:145px}.revisions-tooltip-arrow{width:70px;height:15px;overflow:hidden;position:absolute;left:0;margin-left:35px;bottom:-15px}.revisions-tooltip.flipped .revisions-tooltip-arrow{margin-left:0;margin-right:35px;left:auto;right:0}.revisions-tooltip-arrow>span{content:"";position:absolute;left:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.revisions-tooltip.flipped .revisions-tooltip-arrow>span{left:auto;right:20px}.ie8 .revisions-tooltip-arrow>span{left:15px;top:-25px;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(SizingMethod='auto expand', M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476)"}.ie8 .revisions-tooltip.flipped .revisions-tooltip-arrow>span{right:25px}.revisions-tooltip,.revisions-tooltip-arrow>span{border:1px solid #d7d7d7;background-color:#fff}.revisions-tooltip{display:none}.arrow{width:70px;height:16px;overflow:hidden;position:absolute;left:0;margin-left:-35px;bottom:90px;z-index:10000}.arrow:after{z-index:9999;background-color:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.arrow.top{top:-16px;bottom:auto}.arrow.left{left:20%}.arrow:after{content:"";position:absolute;left:20px;top:-20px;width:25px;height:25px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.revisions-tooltip,.revisions-tooltip-arrow:after{border-width:1px;border-style:solid}div.revisions-controls>.wp-slider>.ui-slider-handle{margin-left:-10px}.rtl div.revisions-controls>.wp-slider>.ui-slider-handle{margin-right:-10px}.wp-slider.ui-slider{position:relative;border:1px solid #d7d7d7;text-align:left;cursor:pointer}.wp-slider .ui-slider-handle{-webkit-border-radius:50%;border-radius:50%;height:18px;margin-top:-3px;outline:0;position:absolute;width:18px;z-index:2;-ms-touch-action:none;touch-action:none}.wp-slider .ui-slider-handle,.wp-slider .ui-slider-handle.focus,.wp-slider .ui-slider-handle.ui-state-hover{background:#00a0d2;border:1px solid #0073aa;-webkit-box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #78c8e6,0 1px 0 rgba(0,0,0,.15)}.wp-slider .ui-slider-handle:before{background:0 0;position:absolute;top:0;left:0;color:#fff;content:"\f229";font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{font-size:20px!important;margin:-1px 0 0 -1px}.wp-slider .ui-slider-handle.from-handle:before{content:'\f139'}.rtl .wp-slider .ui-slider-handle.from-handle:before,.wp-slider .ui-slider-handle.to-handle:before{content:'\f141'}.rtl .wp-slider .ui-slider-handle.to-handle:before{content:'\f139';right:-1px}.wp-slider .ui-slider-range{position:absolute;font-size:.7em;display:block;border:0;background-color:transparent;background-image:none}.wp-slider.ui-slider-horizontal{height:.7em}.wp-slider.ui-slider-horizontal .ui-slider-handle{top:-.25em;margin-left:-.6em}.wp-slider.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.wp-slider.ui-slider-horizontal .ui-slider-range-min{left:0}.wp-slider.ui-slider-horizontal .ui-slider-range-max{right:0}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.revision-tick.completed-false{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){#diff-next-revision,#diff-previous-revision{margin-top:-1em}table.diff{-ms-word-break:break-all;word-break:break-all;word-wrap:break-word}}.media-item .describe{border-collapse:collapse;width:100%;border-top:1px solid #dfdfdf;clear:both;cursor:default}.media-item.media-blank .describe{border:0}.media-item .describe th{vertical-align:top;text-align:left;padding:5px 10px 10px;width:140px}.media-item .describe .align th{padding-top:0}.media-item .media-item-info tr{background-color:transparent}.media-item .describe td{padding:0 8px 8px 0;vertical-align:top}.media-item thead.media-item-info td{padding:4px 10px 0}.media-item .media-item-info .A1B1{padding:0 0 0 10px}.media-item td.savesend{padding-bottom:15px}.media-item .thumbnail{max-height:128px;max-width:128px}#wpbody-content #async-upload-wrap a{display:none}.media-upload-form{margin-top:20px}.media-upload-form td label{margin-right:6px;margin-left:2px}.media-upload-form .align .field label{display:inline;padding:0 0 0 23px;margin:0 1em 0 3px;font-weight:600}.media-upload-form tr.image-size label{margin:0 0 0 5px;font-weight:600}.media-upload-form th.label label{font-weight:600;margin:.5em;font-size:13px}.media-upload-form th.label label span{padding:0 5px}.media-item .describe input[type=text],.media-item .describe textarea{width:460px}.media-item .describe p.help{margin:0;padding:0 0 0 5px}.describe-toggle-off,.describe-toggle-on,.media-item .edit-attachment{display:block;line-height:36px;float:right;margin-right:10px}.media-item .describe-toggle-off,.media-item.open .describe-toggle-on{display:none}.media-item.open .describe-toggle-off{display:block}.media-upload-form .media-item{min-height:36px;margin-bottom:1px;position:relative;width:100%;background:#fff}.media-upload-form .media-item,.media-upload-form .media-item .error{-webkit-box-shadow:0 1px 0 #dfdfdf;box-shadow:0 1px 0 #dfdfdf}#media-items:empty{border:0}.media-item .filename{line-height:36px;overflow:hidden;margin-left:6px}.media-item .pinkynail{float:left;margin:2px 10px 0 3px;max-width:40px;max-height:32px}.media-item .startclosed,.media-item .startopen{display:none}.media-item .original{position:relative;height:34px}.media-item .progress{float:right;height:22px;margin:7px 6px;width:200px;line-height:2em;padding:0;overflow:hidden;-webkit-border-radius:22px;border-radius:22px;background:#ddd;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.media-item .bar{z-index:9;width:0;height:100%;margin-top:-22px;-webkit-border-radius:22px;border-radius:22px;background-color:#0073aa;-webkit-box-shadow:inset 0 0 2px rgba(0,0,0,.3);box-shadow:inset 0 0 2px rgba(0,0,0,.3)}.media-item .progress .percent{z-index:10;position:relative;width:200px;padding:0;color:#fff;text-align:center;line-height:22px;font-weight:400;text-shadow:0 1px 2px rgba(0,0,0,.2)}.upload-php .fixed .column-parent{width:15%}.js .html-uploader #plupload-upload-ui{display:none}.js .html-uploader #html-upload-ui{display:block}.media-upload-form .media-item .error,.media-upload-form .media-item.error{width:auto;margin:0 0 1px}.media-upload-form .media-item .error{padding:10px 0 10px 14px}.media-item .error-div a.dismiss{display:block;float:right;margin:0 10px 0 15px}.find-box{background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:600px;overflow:hidden;margin-left:-300px;position:fixed;top:30px;bottom:30px;left:50%;z-index:100105}.find-box-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px;position:absolute;top:0;left:0;right:0}.find-box-inside{overflow:auto;padding:16px;background-color:#fff;position:absolute;top:37px;bottom:45px;overflow-y:scroll;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.find-box-search{padding-bottom:16px}.find-box-search .spinner{float:none;left:105px;position:absolute}#find-posts-response,.find-box-search{position:relative}#find-posts-input,#find-posts-search{float:left}#find-posts-input{width:140px;height:28px;margin:0 4px 0 0}.widefat .found-radio{padding-right:0;width:16px}#find-posts-close{width:36px;height:36px;position:absolute;top:0;right:0;cursor:pointer;text-align:center;color:#666}#find-posts-close:hover{color:#00a0d2}#find-posts-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f158'}.find-box-buttons{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;left:0;right:0}@media screen and (max-width:782px){.find-box-inside{bottom:57px}}@media screen and (max-width:660px){.find-box{top:0;bottom:0;left:0;right:0;margin:0;width:100%}}.ui-find-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}ul#dismissed-updates{display:none}form.upgrade{margin-top:8px}form.upgrade .hint{font-style:italic;font-size:85%;margin:-.5em 0 2em}#poststuff .inside .the-tagcloud{margin:5px 0 10px;padding:8px;border:1px solid #ddd;line-height:1.8em;word-spacing:3px;-webkit-border-radius:6px;border-radius:6px}.drag-drop #drag-drop-area{border:4px dashed #b4b9be;height:200px}.drag-drop .drag-drop-inside{margin:70px auto 0;width:250px}.drag-drop-inside p{color:#a0a5aa;font-size:14px;margin:5px 0;display:none}.drag-drop .drag-drop-inside p{text-align:center}.drag-drop-inside p.drag-drop-info{font-size:20px}.drag-drop .drag-drop-inside p,.drag-drop-inside p.drag-drop-buttons{display:block}.drag-drop.drag-over #drag-drop-area{border-color:#83b4d8}#plupload-upload-ui{position:relative}.media-frame.mode-grid,.media-frame.mode-grid .attachments-browser .attachments,.media-frame.mode-grid .media-frame-content,.media-frame.mode-grid .uploader-inline-content{position:static}.media-frame.mode-grid .media-frame-menu,.media-frame.mode-grid .media-frame-router,.media-frame.mode-grid .media-frame-title{display:none}.media-frame.mode-grid .media-frame-content{background-color:transparent;border:none}.upload-php .mode-grid .media-sidebar{position:relative;width:auto;margin-bottom:16px;padding:0 16px;border:1px solid #c00;background-color:#feebe8}.upload-php .mode-grid .hide-sidebar .media-sidebar{display:none}.upload-php .mode-grid .media-sidebar .media-uploader-status{border-bottom:none;padding-bottom:0;max-width:100%}.upload-php .mode-grid .media-sidebar .upload-error{margin:20px 0;padding:0;border:none;background:0 0}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors{font-size:0;top:-12px;right:-10px}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:before{content:"\f158";font:400 20px/1 dashicons;color:#666}.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:focus:before,.upload-php .mode-grid .media-sidebar .media-uploader-status .upload-dismiss-errors:hover:before{color:#00a0d2}.upload-php .mode-grid .media-sidebar .media-uploader-status.errors h3{display:none}.media-frame.mode-grid .uploader-inline{position:relative;top:auto;right:auto;left:auto;bottom:auto;padding-top:0;margin-top:0;border:4px dashed #b4b9be}.media-frame.mode-select .attachments-browser.fixed .attachments{position:relative;top:94px;padding-bottom:94px}.media-frame.mode-grid .attachment.details:focus,.media-frame.mode-grid .attachment:focus,.media-frame.mode-grid .selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #f1f1f1,inset 0 0 0 7px #5b9dd9;outline:0}.media-frame.mode-grid .selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #f1f1f1,inset 0 0 0 7px #ccc}.media-frame.mode-grid .attachment.details{-webkit-box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #f1f1f1,inset 0 0 0 7px #1e8cbe}.media-frame.mode-grid.mode-select .attachment .thumbnail{opacity:.65}.media-frame.mode-select .attachment.selected .thumbnail{opacity:1}.media-frame.mode-grid .media-toolbar{margin-bottom:15px;height:auto}.media-frame.mode-grid .media-toolbar select{margin:0 10px 0 0;font-size:14px}.media-frame.mode-grid .media-toolbar-secondary>.media-button{margin-top:10px;margin-bottom:10px}.media-frame.mode-grid .attachments-browser .bulk-select{display:inline-block;margin:0 10px 0 0}.media-frame.mode-grid .search{margin-top:0}.media-frame.mode-grid .spinner{margin-top:15px}.attachments-browser .media-toolbar-secondary>.media-button{margin-right:10px}.media-frame.mode-select .attachments-browser.fixed .media-toolbar{position:fixed;top:32px;left:auto;right:20px;margin-top:0}.media-frame.mode-grid .attachments-browser{padding:0}.media-frame.mode-grid .attachments-browser .attachments{padding:2px}.media-frame.mode-grid .attachments-browser .no-media{color:#999;font-size:18px;font-style:normal;margin:0;padding:100px 0 0;text-align:center}.edit-attachment-frame{display:block;height:100%;width:100%}.edit-attachment-frame .edit-media-header{overflow:hidden}.upload-php .media-modal-close .media-modal-icon:before{content:'\f335';font-size:22px}.upload-php .media-modal-close .media-modal-icon{margin:14px;width:22px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{cursor:pointer;color:#777;background-color:transparent;height:50px;width:50px;padding:0;position:absolute;text-align:center;border:0;border-left:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.upload-php .media-modal-close{top:0;right:0}.edit-attachment-frame .edit-media-header .left{right:102px}.edit-attachment-frame .edit-media-header .right{right:51px}.edit-attachment-frame .media-frame-title{left:0;right:150px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.edit-attachment-frame .edit-media-header .left:focus,.edit-attachment-frame .edit-media-header .left:hover,.edit-attachment-frame .edit-media-header .right:focus,.edit-attachment-frame .edit-media-header .right:hover,.upload-php .media-modal-close:focus,.upload-php .media-modal-close:hover{background:#ddd;border-color:#ccc;color:#000;outline:0}.upload-php .media-modal-close:focus .media-modal-icon:before,.upload-php .media-modal-close:hover .media-modal-icon:before{color:#000}.edit-attachment-frame .edit-media-header .left:before,.rtl .edit-attachment-frame .edit-media-header .right:before{content:'\f341'}.edit-attachment-frame .edit-media-header .right:before,.rtl .edit-attachment-frame .edit-media-header .left:before{content:'\f345'}.edit-attachment-frame .edit-media-header .left.disabled,.edit-attachment-frame .edit-media-header .left.disabled:hover,.edit-attachment-frame .edit-media-header .right.disabled,.edit-attachment-frame .edit-media-header .right.disabled:hover{color:#ccc;background:inherit;cursor:default;pointer-events:none}.edit-attachment-frame .media-frame-content,.edit-attachment-frame .media-frame-router{left:0}.edit-attachment-frame .media-frame-content{border-bottom:none;bottom:0;top:50px}.edit-attachment-frame .attachment-details{position:absolute;overflow:auto;top:0;bottom:0;right:0;left:0;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1)}.edit-attachment-frame .attachment-media-view{float:left;width:65%;height:100%}.edit-attachment-frame .attachment-media-view .thumbnail{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:16px;height:100%}.edit-attachment-frame .attachment-media-view .details-image{display:block;margin-bottom:16px;max-width:100%;max-height:90%;max-height:-webkit-calc(100% - 42px);max-height:calc(100% - 42px)}.edit-attachment-frame .wp-media-wrapper{margin-bottom:12px}.edit-attachment-frame input,.edit-attachment-frame textarea{padding:6px 8px;line-height:16px}.edit-attachment-frame .attachment-info{overflow:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:0;padding:12px 16px 0;width:35%;height:100%;-webkit-box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);box-shadow:inset 0 4px 4px -4px rgba(0,0,0,.1);border-bottom:0;border-left:1px solid #ddd;background:#f3f3f3}.edit-attachment-frame .attachment-info .details,.edit-attachment-frame .attachment-info .settings{position:relative;overflow:hidden;float:none;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #ddd}.edit-attachment-frame .attachment-info .filename{font-weight:400;color:#666}.edit-attachment-frame .attachment-info .thumbnail{margin-bottom:12px}.attachment-info .actions{margin-bottom:16px}.attachment-info .actions a{display:inline;text-decoration:none}.wp_attachment_details label[for=content]{font-size:13px;line-height:1.5;margin:1em 0}.wp_attachment_details #attachment_caption{height:4em}.describe .image-editor{vertical-align:top}.imgedit-wrap{position:relative}.imgedit-settings p{margin:8px 0 0}.describe .imgedit-wrap .imgedit-settings{padding:0 5px}.wp_attachment_holder div.updated{margin-top:0}.wp_attachment_holder .imgedit-wrap>div{height:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-panel-content{padding-right:16px;width:auto;overflow:hidden}.wp_attachment_holder .imgedit-wrap .imgedit-settings{float:right;width:250px}.imgedit-settings input{margin-top:0;vertical-align:middle}.imgedit-wait{position:absolute;top:0;background:url(../images/spinner.gif) center/20px 20px no-repeat #fff;-webkit-background-size:20px 20px;opacity:.7;filter:alpha(opacity=70);width:100%;height:500px;display:none}.no-float{float:none}.imgedit-settings .disabled,.media-disabled{color:grey}.A1B1,.wp_attachment_image{overflow:hidden}.A1B1 .button,.wp_attachment_image .button{float:left}.no-js .wp_attachment_image .button{display:none}.A1B1 .spinner,.wp_attachment_image .spinner{float:left}.imgedit-menu{margin:0 0 12px;min-width:300px}.imgedit-menu div{float:left;width:32px;border:1px solid #d5d5d5;background:#f1f1f1;margin:0 8px 0 0;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;line-height:28px;color:#777;cursor:pointer}.imgedit-menu div:before{font:400 20px/1 dashicons;speak:none;vertical-align:middle}.imgedit-menu div:hover{border-color:#c1c1c1;background-color:#eaeaea;color:#32373c}.imgedit-menu div.disabled{border-color:#ccc;background-color:#ddd;color:#777;filter:alpha(opacity=50);opacity:.5;cursor:default}.imgedit-crop:before{content:'\f165'}.imgedit-rleft:before{content:'\f166'}.imgedit-rright:before{content:'\f167'}.imgedit-flipv:before{content:'\f168'}.imgedit-fliph:before{content:'\f169'}.imgedit-undo:before{content:'\f171'}.imgedit-redo:before{content:'\f172'}.imgedit-crop-wrap{position:relative}.imgedit-crop{margin:0 8px 0 0}.imgedit-rleft{margin:0 3px}.imgedit-rright{margin:0 8px 0 3px}.imgedit-flipv{margin:0 3px}.imgedit-fliph{margin:0 8px 0 3px}.imgedit-undo{margin:0 3px}.imgedit-redo{margin:0 8px 0 3px}.imgedit-applyto img{margin:0 8px 0 0}.imgedit-group-top{margin:5px 0}#poststuff .imgedit-group-top h3{padding:0}.imgedit-group-top h3 a{text-decoration:none}.imgedit-applyto .imgedit-label{padding:2px 0 0;display:block}.imgedit-help{display:none;font-style:italic}a.imgedit-help-toggle{text-decoration:none}.form-table td.imgedit-response{padding:0}.imgedit-submit{margin:8px 0}.imgedit-submit-btn{margin-left:20px}.imgedit-wrap .nowrap{white-space:nowrap}span.imgedit-scale-warn{color:red;font-size:20px;font-style:normal;visibility:hidden;vertical-align:middle}.imgedit-group{margin-bottom:8px;padding:2px 10px}audio,video{display:inline-block;max-width:100%}.mejs-container{width:100%;max-width:100%}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.imgedit-wait{background-image:url(../images/spinner-2x.gif)}}@media screen and (max-width:782px){.wp_attachment_details label[for=content]{font-size:14px;line-height:1.5em}.media-upload-form .media-item .error,.media-upload-form .media-item.error{font-size:13px;line-height:1.5}.media-upload-form .media-item.error{padding:1px 10px}.media-upload-form .media-item .error{padding:10px 0 10px 12px}}@media only screen and (max-width:1120px){#wp-media-grid .wp-filter .attachment-filters{max-width:100%}}@media only screen and (max-width:782px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:46px;right:10px}}@media only screen and (max-width:600px){.media-frame.mode-select .attachments-browser.fixed .media-toolbar{top:0}}@media only screen and (max-width:480px){.edit-attachment-frame .media-frame-title{right:110px}.edit-attachment-frame .edit-media-header .left,.edit-attachment-frame .edit-media-header .right,.upload-php .media-modal-close{width:40px;height:40px}.upload-php .media-modal-close .media-modal-icon{margin:9px 10px}.edit-attachment-frame .edit-media-header .left:before,.edit-attachment-frame .edit-media-header .right:before{line-height:40px!important}.edit-attachment-frame .edit-media-header .left{right:82px}.edit-attachment-frame .edit-media-header .right{right:41px}.edit-attachment-frame .media-frame-content{top:40px}.edit-attachment-frame .attachment-media-view{float:none;height:auto;width:100%}.edit-attachment-frame .attachment-info{height:auto;width:100%}}@media only screen and (max-width:640px),screen and (max-height:400px){.upload-php .mode-grid .media-sidebar{max-width:100%}}.theme-browser .themes{clear:both;padding:0 0 100px}.themes-php .wrap h2{float:left;margin-bottom:15px}.network-admin.themes-php .wrap h2{margin-bottom:0}.themes-php .wrap h2 .button{margin-left:20px}.themes-php .wp-filter-search{position:relative;top:-2px;left:20px;margin:0;width:280px;font-size:16px;font-weight:300;line-height:1.5}.themes-php div.error,.themes-php div.notice,.themes-php div.updated{margin:0 0 20px;clear:both}.themes-php div.updated a{text-decoration:underline}.theme-browser .theme{cursor:pointer;float:left;margin:0 4% 4% 0;position:relative;width:30.6%;border:1px solid #dedede;-webkit-box-shadow:0 1px 1px -1px rgba(0,0,0,.1);box-shadow:0 1px 1px -1px rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ie8 .theme-browser .theme{width:30%;margin:0 3% 4% 0}.theme-browser .theme:nth-child(3n){margin-right:0}.theme-browser .theme:focus,.theme-browser .theme:hover{cursor:pointer}.theme-browser .theme .theme-name{font-size:15px;font-weight:600;height:18px;margin:0;padding:15px;-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;background:#fff;background:rgba(255,255,255,.65)}.theme-browser .theme .theme-actions{-ms-filter:"alpha(Opacity=0)";opacity:0;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out;position:absolute;bottom:0;right:0;height:38px;padding:9px 10px 0;background:rgba(244,244,244,.7);border-left:1px solid rgba(0,0,0,.05)}.theme-browser .theme.focus .theme-actions,.theme-browser .theme:focus .theme-actions,.theme-browser .theme:hover .theme-actions{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-actions .button-primary{margin-right:3px}.theme-browser .theme .theme-actions .button-secondary{float:none;margin-left:3px}.theme-browser .theme .theme-screenshot{display:block;overflow:hidden;position:relative;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme .theme-screenshot:after{content:'';display:block;padding-top:66.66666%}.theme-browser .theme .theme-screenshot img{height:auto;position:absolute;left:0;top:0;width:100%;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.theme-browser .theme:focus .theme-screenshot,.theme-browser .theme:hover .theme-screenshot{background:#fff}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:.4}.theme-browser .theme .more-details{-ms-filter:"alpha(Opacity=0)";opacity:0;position:absolute;top:35%;right:25%;left:25%;background:#23282d;background:rgba(0,0,0,.7);color:#fff;font-size:15px;text-shadow:0 1px 0 rgba(0,0,0,.6);-webkit-font-smoothing:antialiased;font-weight:600;padding:15px 12px;text-align:center;-webkit-border-radius:3px;border-radius:3px;-webkit-transition:opacity .1s ease-in-out;transition:opacity .1s ease-in-out}.theme-browser .theme:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.theme-browser .theme:focus .more-details{opacity:1}.theme-browser .theme.active:focus .theme-actions{display:block}.theme-browser.rendered .theme:focus .more-details,.theme-browser.rendered .theme:hover .more-details{-ms-filter:"alpha(Opacity=100)";opacity:1}.theme-browser .theme .theme-installed,.theme-browser .theme .theme-update{background:#d54e21;background:rgba(213,78,33,.95);color:#fff;display:block;font-size:13px;font-weight:400;height:48px;line-height:48px;padding:0 10px;position:absolute;top:0;right:0;left:0;border-bottom:1px solid rgba(0,0,0,.25);overflow:hidden}.theme-browser .theme .theme-installed:before,.theme-browser .theme .theme-update:before{content:'\f463';display:inline-block;font:400 20px/1 dashicons;margin:0 6px 0 0;opacity:.8;position:relative;top:5px;speak:none;-webkit-font-smoothing:antialiased}.theme-browser .theme.active .theme-name{background:#2f2f2f;color:#fff;padding-right:110px;font-weight:300;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.5);box-shadow:inset 0 1px 1px rgba(0,0,0,.5)}.theme-browser .customize-control .theme.active .theme-name{padding-right:15px}.theme-browser .theme.active .theme-name span{font-weight:600}.theme-browser .theme.active .theme-actions{background:rgba(49,49,49,.7);border-left:none;opacity:1}.theme-browser .theme.active .theme-actions .button-primary{margin-right:0}.theme-browser .theme .theme-author{background:#23282d;color:#eee;display:none;font-size:14px;margin:0 10px;padding:5px 10px;position:absolute;bottom:56px}.theme-browser .theme.display-author .theme-author{display:block}.theme-browser .theme.display-author .theme-author a{color:inherit;text-decoration:none}.theme-browser .theme.add-new-theme{border:none;-webkit-box-shadow:none;box-shadow:none}.theme-browser .theme.add-new-theme a{color:#999;text-decoration:none;display:block;position:relative;z-index:1}.theme-browser .theme.add-new-theme a:after{display:block;content:'';background:0 0;position:absolute;top:0;left:0;right:0;bottom:0;padding:0;text-shadow:none;border:5px dashed #d5d2ca;border:5px dashed rgba(0,0,0,.1);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.theme-browser .theme.add-new-theme span:after{background:#e5e5e5;background:rgba(153,153,153,.1);-webkit-border-radius:50%;border-radius:50%;display:inline-block;content:'\f132';-webkit-font-smoothing:antialiased;font:400 74px/115px dashicons;width:100px;height:100px;vertical-align:middle;text-align:center;color:#999;position:absolute;top:30%;left:50%;margin-left:-50px;text-indent:-4px;padding:0;text-shadow:none;z-index:4}.rtl .theme-browser .theme.add-new-theme span:after{text-indent:4px}.theme-browser .theme.add-new-theme a:focus .theme-screenshot,.theme-browser .theme.add-new-theme a:hover .theme-screenshot{background:0 0}.theme-browser .theme.add-new-theme a:focus span:after,.theme-browser .theme.add-new-theme a:hover span:after{background:#fff;color:#0073aa}.theme-browser .theme.add-new-theme a:focus:after,.theme-browser .theme.add-new-theme a:hover:after{border-color:transparent;color:#fff;background:#0073aa;content:''}.theme-browser .theme.add-new-theme .theme-name{background:0 0;text-align:center;-webkit-box-shadow:none;box-shadow:none;font-weight:400;position:relative;top:0;margin-top:-18px;padding-top:0;padding-bottom:48px}.theme-browser .theme.add-new-theme a:focus .theme-name,.theme-browser .theme.add-new-theme a:hover .theme-name{color:#fff;z-index:2}.theme-overlay .theme-backdrop{position:absolute;left:-20px;right:0;top:0;bottom:0;background:#f1f1f1;background:rgba(238,238,238,.9);z-index:10}.theme-overlay .theme-header{position:absolute;top:0;left:0;right:0;height:48px;border-bottom:1px solid #ddd}.theme-overlay .theme-header button{padding:0}.theme-overlay .theme-header .close{cursor:pointer;height:48px;width:50px;text-align:center;float:right;border:0;border-left:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:before{font:400 22px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.theme-overlay .theme-header .left,.theme-overlay .theme-header .right{cursor:pointer;color:#777;background-color:transparent;height:48px;width:54px;float:left;text-align:center;border:0;border-right:1px solid #ddd;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .close:hover,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .left:hover,.theme-overlay .theme-header .right:focus,.theme-overlay .theme-header .right:hover{background:#ddd;border-color:#ccc;color:#000}.theme-overlay .theme-header .close:focus:before,.theme-overlay .theme-header .close:hover:before{color:#000}.theme-overlay .theme-header .close:focus,.theme-overlay .theme-header .left:focus,.theme-overlay .theme-header .right:focus{-webkit-box-shadow:none;box-shadow:none;outline:0}.theme-overlay .theme-header .left.disabled,.theme-overlay .theme-header .left.disabled:hover,.theme-overlay .theme-header .right.disabled,.theme-overlay .theme-header .right.disabled:hover{color:#ccc;background:inherit;cursor:inherit}.theme-overlay .theme-header .left:before,.theme-overlay .theme-header .right:before{font:400 20px/50px dashicons!important;display:inline;font-weight:300}.theme-overlay .theme-header .left:before{content:"\f341"}.theme-overlay .theme-header .right:before{content:"\f345"}.theme-overlay .theme-wrap{clear:both;position:fixed;top:9%;left:190px;right:30px;bottom:3%;background:#fff;-webkit-box-shadow:0 1px 20px 5px rgba(0,0,0,.1);box-shadow:0 1px 20px 5px rgba(0,0,0,.1);z-index:20;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch}.theme-overlay .theme-wrap:after{content:".";display:block;height:0;clear:both;visibility:hidden}body.folded .theme-overlay .theme-wrap{left:70px}.theme-overlay .theme-about{position:absolute;top:49px;bottom:57px;left:0;right:0;overflow:auto;padding:2% 4%}.theme-overlay .theme-about:after{content:".";display:block;height:0;clear:both;visibility:hidden}.theme-overlay .theme-actions{position:absolute;text-align:center;bottom:0;left:0;right:0;padding:10px 25px 5px;background:#f3f3f3;z-index:30;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-top:1px solid #eee}.ie8 .theme-overlay .theme-actions{border:1px solid #eee}.theme-overlay .theme-actions a{margin-right:5px;margin-bottom:5px}.customize-support .theme-overlay .theme-actions a[href="themes.php?page=custom-header"],.customize-support .theme-overlay .theme-actions a[href="themes.php?page=custom-background"]{display:none}.broken-themes a.delete-theme,.theme-overlay .theme-actions .delete-theme{color:#a00;text-decoration:none;border-color:transparent;-webkit-box-shadow:none;box-shadow:none;background:0 0}.theme-overlay .theme-actions .delete-theme{position:absolute;right:10px;bottom:5px}.broken-themes a.delete-theme:focus,.broken-themes a.delete-theme:hover,.theme-overlay .theme-actions .delete-theme:focus,.theme-overlay .theme-actions .delete-theme:hover{background:#d54e21;color:#fff;border-color:#d54e21}.theme-overlay .theme-actions .active-theme,.theme-overlay.active .theme-actions .inactive-theme{display:none}.theme-overlay .theme-actions .inactive-theme,.theme-overlay.active .theme-actions .active-theme{display:block}.theme-overlay .theme-screenshots{float:left;margin:0 30px 0 0;width:55%;max-width:880px;text-align:center}.theme-overlay .screenshot{border:1px solid #fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:hidden;position:relative;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.2);box-shadow:0 0 0 1px rgba(0,0,0,.2)}.theme-overlay .screenshot:after{content:'';display:block;padding-top:75%}.theme-overlay .screenshot img{height:auto;position:absolute;left:0;top:0;width:100%}.theme-overlay.small-screenshot .theme-screenshots{position:absolute;width:302px}.theme-overlay.small-screenshot .theme-info{margin-left:350px;width:auto}.theme-overlay .screenshot.thumb{background:#ccc;border:1px solid #eee;float:none;display:inline-block;margin:10px 5px 0;width:140px;height:80px;cursor:pointer}.theme-overlay .screenshot.thumb:after{content:'';display:block;padding-top:100%}.theme-overlay .screenshot.thumb img{cursor:pointer;position:absolute;left:0;top:0;width:100%;height:auto}.theme-overlay .screenshot.selected{background:0 0;border:2px solid #00a0d2}.theme-overlay .screenshot.selected img{opacity:.8}.theme-browser .theme .theme-screenshot.blank,.theme-overlay .screenshot.blank{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAALElEQVQYGWO8d+/efwYkoKioiMRjYGBC4WHhUK6A8T8QIJt8//59ZC493AAAQssKpBK4F5AAAAAASUVORK5CYII=)}.theme-overlay .theme-info{width:40%;float:left}.theme-overlay .current-label{background:#32373c;color:#fff;font-size:11px;display:inline-block;padding:2px 8px;-webkit-border-radius:2px;border-radius:2px;margin:0 0 -10px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.theme-overlay .theme-name{color:#23282d;font-size:32px;font-weight:100;margin:10px 0 0;line-height:1.3}.theme-overlay .theme-version{color:#999;font-size:13px;font-weight:400;float:none;display:inline-block;margin-left:10px}.theme-overlay .theme-author{color:#686868;font-size:16px;font-weight:400;margin:15px 0 25px}.theme-overlay .theme-author a{text-decoration:none}.theme-overlay .theme-description{color:#555;font-size:15px;font-weight:400;line-height:1.5;margin:30px 0 0}.theme-overlay .theme-tags{border-top:3px solid #eee;color:#82878c;font-size:13px;font-weight:400;margin:30px 0 0;padding-top:20px}.theme-overlay .theme-tags span{color:#444;font-weight:700;margin-right:5px}.theme-overlay .theme-update-message{background:#fef7f1;border:1px solid #eee;border-left:4px solid #d54e21;-webkit-border-radius:3px;border-radius:3px;padding:5px 20px 10px}.theme-overlay .theme-update{color:#23282d;font-size:18px;display:inline-block;line-height:40px;margin:0}.theme-overlay .parent-theme{background:#f7fcfe;border:1px solid #eee;border-left:4px solid #00a0d2;font-size:14px;font-weight:400;margin-top:30px;padding:10px 10px 10px 20px}.theme-overlay .parent-theme strong{font-weight:700}.single-theme .theme,.single-theme .theme-overlay .theme-backdrop,.single-theme .theme-overlay .theme-header{display:none}.single-theme .theme-overlay .theme-wrap{clear:both;min-height:330px;position:relative;left:auto;right:auto;top:auto;bottom:auto}.single-theme .theme-overlay .theme-about{padding:30px 30px 70px;position:static}.single-theme .theme-overlay .theme-actions{position:absolute}@media only screen and (min-width:2000px){#wpwrap .theme-browser .theme{width:17.6%;margin:0 3% 3% 0}#wpwrap .theme-browser .theme:nth-child(3n),#wpwrap .theme-browser .theme:nth-child(4n){margin-right:3%}#wpwrap .theme-browser .theme:nth-child(5n){margin-right:0}}@media only screen and (min-width:1680px){.theme-overlay .theme-wrap{width:1450px;margin:0 auto}}@media only screen and (min-width:1640px){.theme-browser .theme{width:22.7%;margin:0 3% 3% 0}.theme-browser .theme .theme-screenshot:after{padding-top:75%}.theme-browser .theme:nth-child(3n){margin-right:3%}.theme-browser .theme:nth-child(4n){margin-right:0}}@media only screen and (max-width:1120px){.theme-browser .theme{width:47.5%;margin-right:0}.theme-browser .theme:nth-child(even){margin-right:0}.theme-browser .theme:nth-child(odd){margin-right:5%}}@media only screen and (max-width:900px){.theme-overlay .theme-wrap{left:65px}}@media only screen and (max-width:780px){.theme-overlay .theme-wrap,body.folded .theme-overlay .theme-wrap{top:0;right:0;bottom:0;left:0;padding:70px 20px 20px;border:none;z-index:100000;position:fixed}.theme-browser .theme.active .theme-name span{display:none}.theme-overlay .theme-screenshots{width:40%}.theme-overlay .theme-info{width:50%}.single-theme .theme-wrap{padding:10px}.theme-browser .theme .theme-actions{padding:5px 10px 4px}.theme-overlay.small-screenshot .theme-screenshots{position:static;float:none;max-width:302px}.theme-overlay.small-screenshot .theme-info{margin-left:0;width:auto}.theme:focus .more-details,.theme:hover .more-details,.theme:not(.active):focus .theme-actions,.theme:not(.active):hover .theme-actions{display:none}.theme-browser.rendered .theme:focus .theme-screenshot img,.theme-browser.rendered .theme:hover .theme-screenshot img{opacity:1}}@media only screen and (max-width:480px){.theme-browser .theme{width:100%;margin-right:0}.theme-browser .theme:nth-child(2n),.theme-browser .theme:nth-child(3n){margin-right:0}}@media only screen and (max-width:650px){.theme-overlay .theme-description,.theme-overlay .theme-update{margin-left:0}.theme-overlay .theme-actions .delete-theme{position:relative;right:auto;bottom:auto}.theme-overlay .theme-actions .inactive-theme{display:inline}.theme-overlay .theme-screenshots{width:100%;float:none}.theme-overlay .theme-info{width:100%}.theme-overlay .theme-author{margin:5px 0 15px}.theme-overlay .current-label{margin-top:10px;font-size:13px}.themes-php .wrap h2{width:100%}.themes-php .wp-filter-search{float:none;clear:both;left:0;top:0;right:0;margin:10px 0;width:100%;max-width:280px}.theme-browser .theme.add-new-theme span:after{font:400 60px/90px dashicons;width:80px;height:80px;top:30%;left:50%;text-indent:0;margin-left:-40px}.single-theme .theme-wrap{margin:0 -12px 0 -10px;padding:10px}.single-theme .theme-overlay .theme-about{padding:10px;overflow:visible}.single-theme .current-label{display:none}.single-theme .theme-overlay .theme-actions{position:static}}.broken-themes{clear:both}.broken-themes table{text-align:left;width:50%;border-spacing:3px;padding:3px}.theme-browser .theme .theme-installed{background:#0073aa}.theme-browser .theme .theme-installed:before{content:'\f147'}.theme-browser .theme.is-installed .theme-actions .button-primary{display:none!important}.theme-install-php a.browse-themes,.theme-install-php a.upload{cursor:pointer}.theme-install-php a.browse-themes,.theme-install-php.show-upload-theme a.upload{display:none}.theme-install-php.show-upload-theme a.browse-themes{display:inline}.upload-plugin,.upload-theme{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:none;margin:0;padding:0;width:100%;overflow:hidden;position:relative;top:10px}.upload-plugin,body.show-upload-theme .upload-theme{display:block}.upload-plugin .wp-upload-form,.upload-theme .wp-upload-form{background:#fafafa;border:1px solid #e5e5e5;padding:30px;margin:30px auto;max-width:380px}.upload-plugin .install-help,.upload-theme .install-help{color:#999;font-size:18px;font-style:normal;margin:0;padding:40px 0 0;text-align:center}body.show-upload-theme .upload-theme+.wp-filter,body.show-upload-theme .upload-theme+.wp-filter+.theme-browser{display:none}p.no-themes{clear:both;color:#666;font-size:18px;font-style:normal;margin:0;padding:0;text-align:center;display:none}body.no-results p.no-themes{display:block}.theme-install-php .add-new-theme,body.show-upload-theme p.no-themes{display:none!important}@media only screen and (max-width:1120px){.upload-theme .wp-upload-form{margin:20px 0;max-width:100%}.upload-theme .install-help{font-size:15px;padding:20px 0 0;text-align:left}}.rating{margin:15px 0 0}.rating span:before{color:#e6b800;content:"\f154";display:inline-block;-webkit-font-smoothing:antialiased;font:400 20px/1 dashicons;vertical-align:top}.rating-10 span.one:before,.rating-30 span.two:before,.rating-50 span.three:before,.rating-70 span.four:before,.rating-90 span.five:before{content:"\f459"}.rating-100 span.five:before,.rating-100 span.four:before,.rating-100 span.one:before,.rating-100 span.three:before,.rating-100 span.two:before,.rating-20 span.one:before,.rating-30 span.one:before,.rating-40 span.one:before,.rating-40 span.two:before,.rating-50 span.one:before,.rating-50 span.two:before,.rating-60 span.one:before,.rating-60 span.three:before,.rating-60 span.two:before,.rating-70 span.one:before,.rating-70 span.three:before,.rating-70 span.two:before,.rating-80 span.four:before,.rating-80 span.one:before,.rating-80 span.three:before,.rating-80 span.two:before,.rating-90 span.four:before,.rating-90 span.one:before,.rating-90 span.three:before,.rating-90 span.two:before{content:"\f155"}.rating .ratings{display:block;line-height:20px;color:#999}.appearance_page_custom-header #headimg{border:1px solid #DFDFDF;overflow:hidden;width:100%}.appearance_page_custom-header #upload-form p label{font-size:12px}.appearance_page_custom-header .available-headers .default-header{float:left;margin:0 20px 20px 0}.appearance_page_custom-header .random-header{clear:both;margin:0 20px 20px 0;vertical-align:middle}.appearance_page_custom-header .available-headers label input,.appearance_page_custom-header .random-header label input{margin-right:10px}.appearance_page_custom-header .available-headers label img{vertical-align:middle}div#custom-background-image{min-height:100px;border:1px solid #dfdfdf}div#custom-background-image img{max-width:400px;max-height:300px}body.full-overlay-active{overflow:hidden}.wp-full-overlay{background:0 0;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%;min-width:0}.wp-full-overlay-sidebar{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:fixed;width:300px;height:100%;top:0;bottom:0;left:0;padding:0;margin:0;z-index:10;background:#eee;border-right:none}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{overflow:visible}.wp-full-overlay.collapsed,.wp-full-overlay.expanded .wp-full-overlay-sidebar{margin-left:0!important}.wp-full-overlay.expanded{margin-left:300px}.wp-full-overlay.collapsed .wp-full-overlay-sidebar{margin-left:-300px}.wp-full-overlay-sidebar:after{content:'';display:block;position:absolute;top:0;bottom:0;right:0;width:3px;z-index:1000}.wp-full-overlay-main{position:absolute;left:0;right:0;top:0;bottom:0;height:100%}#customize-preview.wp-full-overlay-main{background:url(../images/spinner.gif) center center/20px 20px no-repeat;-webkit-background-size:20px 20px}#customize-preview.wp-full-overlay-main.iframe-ready{background:0 0}.wp-full-overlay-sidebar .wp-full-overlay-header{position:absolute;left:0;right:0;height:45px;padding:0 15px;line-height:45px;z-index:10;margin:0;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-header a.back{margin-top:9px}.wp-full-overlay-sidebar .wp-full-overlay-footer{bottom:0;border-bottom:none;border-top:none;-webkit-box-shadow:none;box-shadow:none}.wp-full-overlay-sidebar .wp-full-overlay-sidebar-content{position:absolute;top:45px;bottom:45px;left:0;right:0;overflow:auto}.theme-install-overlay .wp-full-overlay-sidebar .wp-full-overlay-header{padding:0}.theme-install-overlay .close-full-overlay,.theme-install-overlay .next-theme,.theme-install-overlay .previous-theme{display:block;position:relative;float:left;width:45px;height:45px;padding-right:2px;background:#eee;border-right:1px solid #ddd;color:#444;cursor:pointer;text-decoration:none;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.theme-install-overlay .close-full-overlay:focus,.theme-install-overlay .close-full-overlay:hover,.theme-install-overlay .next-theme:focus,.theme-install-overlay .next-theme:hover,.theme-install-overlay .previous-theme:focus,.theme-install-overlay .previous-theme:hover{background:#ddd;border-color:#ccc;color:#000;outline:0;-webkit-box-shadow:none;box-shadow:none}.theme-install-overlay .close-full-overlay:before{font:400 22px/1 dashicons;content:"\f335";position:relative;top:7px;left:13px}.theme-install-overlay .previous-theme:before{font:400 20px/1 dashicons;content:"\f341";position:relative;top:6px;left:14px}.theme-install-overlay .next-theme:before{font:400 20px/1 dashicons;content:"\f345";position:relative;top:6px;left:13px}.theme-install-overlay .next-theme.disabled,.theme-install-overlay .next-theme.disabled:focus,.theme-install-overlay .next-theme.disabled:hover,.theme-install-overlay .previous-theme.disabled,.theme-install-overlay .previous-theme.disabled:focus,.theme-install-overlay .previous-theme.disabled:hover{color:#b4b9be;background:#eee;cursor:default;pointer-events:none}.wp-full-overlay a.collapse-sidebar{position:absolute;bottom:12px;left:0;z-index:50;display:block;width:19px;height:19px;margin-left:15px;padding:0;-webkit-border-radius:50%;border-radius:50%;color:#777;text-decoration:none}.wp-full-overlay a.collapse-sidebar:hover{color:#0073aa}.wp-full-overlay.collapsed .collapse-sidebar{position:absolute;left:100%}.wp-full-overlay .collapse-sidebar-arrow{position:static;margin-top:0;margin-left:0;display:block;width:auto;height:auto;background:0 0}.wp-full-overlay .collapse-sidebar-arrow:before{-webkit-border-radius:50%;border-radius:50%;float:left;content:"\f148";background:#eee;font:400 20px/1 dashicons;speak:none;display:block;padding:0;text-indent:0;text-align:center;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.rtl .wp-full-overlay .collapse-sidebar-arrow:before,.wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.rtl .wp-full-overlay.collapsed .collapse-sidebar-arrow:before{-webkit-transform:none;-ms-transform:none;transform:none}.wp-full-overlay.collapsed .collapse-sidebar-arrow{background-position:-1px -109px}.wp-full-overlay .collapse-sidebar-label{position:absolute;left:100%;line-height:20px;margin-left:10px}.wp-full-overlay.collapsed .collapse-sidebar-label{display:none}.wp-full-overlay,.wp-full-overlay .collapse-sidebar,.wp-full-overlay-main,.wp-full-overlay-sidebar{-webkit-transition-property:left,right,top,bottom,width,margin;transition-property:left,right,top,bottom,width,margin;-webkit-transition-duration:.2s;transition-duration:.2s}.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#customize-container{display:none;background:#fff;z-index:500000;position:fixed;overflow:visible;top:0;bottom:0;left:0;right:0;height:100%}.customize-active #customize-container{display:block}.customize-loading #customize-container iframe{opacity:0}.customize-loading #customize-container{background:url(../images/spinner.gif) center center/20px 20px no-repeat fixed #fff;-webkit-background-size:20px 20px}#customize-container iframe,.theme-install-overlay iframe{height:100%;width:100%;z-index:20;-webkit-transition:opacity .3s;transition:opacity .3s}#customize-container .collapse-sidebar{bottom:16px}#customize-controls{margin-top:0}.theme-install-overlay{display:none}.theme-install-overlay.single-theme{display:block}.install-theme-info{display:none;padding:10px 20px 60px}.single-theme .install-theme-info{padding-top:15px}.theme-install-overlay .install-theme-info{display:block}.install-theme-info .theme-install{float:right;margin-top:18px}.install-theme-info .theme-name{font-size:16px;line-height:24px;margin-bottom:0;margin-top:0}.install-theme-info .theme-screenshot{margin-top:15px;width:258px;border:1px solid #ccc}.install-theme-info .theme-details{overflow:hidden}.theme-details .theme-version{margin:15px 0;float:left}.theme-details .star-rating{margin:7px 0;float:right}.theme-details .theme-description{float:left;color:#777;line-height:20px;max-width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{float:right;margin:8px 10px 0 0;line-height:26px}.theme-install-overlay .wp-full-overlay-sidebar{background:#eee;border-right:1px solid #ddd}.theme-install-overlay .wp-full-overlay-sidebar-content{background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.theme-install-overlay .wp-full-overlay-main{background:url(../images/spinner.gif) center center/20px 20px no-repeat #fff;-webkit-background-size:20px 20px}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.wp-full-overlay .collapse-sidebar-arrow{background-image:url(../images/arrows-2x.png);-webkit-background-size:15px 123px;background-size:15px 123px}#customize-preview.wp-full-overlay-main,.customize-loading #customize-container,.theme-install-overlay .wp-full-overlay-main{background-image:url(../images/spinner-2x.gif)}.theme-install-overlay .wp-full-overlay-header .theme-install{margin-top:2px}}@media screen and (max-width:782px){.available-theme .action-links .delete-theme{float:none;margin:0;padding:0;clear:both}.available-theme .action-links .delete-theme a{padding:0}.broken-themes table{width:100%}.theme-install-overlay .wp-full-overlay-header .theme-install{margin-top:6px;line-height:normal}}.about-wrap{position:relative;margin:25px 40px 0 20px;max-width:1050px;font-size:15px}.about-wrap div.error,.about-wrap div.updated{display:none!important}.about-wrap hr{border:0;height:0;margin:0;border-top:1px solid rgba(0,0,0,.1)}.about-wrap img{margin:0;max-width:100%;height:auto;vertical-align:middle}.wp-badge{background:url(../images/w-logo-white.png?ver=20131202) center 24px/85px 85px no-repeat #0073aa;-webkit-background-size:85px 85px;color:#78c8e6;font-size:14px;text-align:center;font-weight:600;margin:5px 0 0;padding-top:120px;height:40px;display:inline-block;width:150px;text-rendering:optimizeLegibility;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.svg .wp-badge{background-image:url(../images/wordpress-logo-white.svg?ver=20131110)}.about-wrap .wp-badge{position:absolute;top:0;right:0}.about-wrap h2.nav-tab-wrapper{padding-left:6px}.about-wrap h2 .nav-tab{padding:4px 15px 6px;margin:0 3px -1px 0;font-size:18px;vertical-align:top;border-width:1px;white-space:nowrap}.about-wrap p{line-height:1.6em;font-size:14px}.about-wrap h1{margin:.2em 200px 0 0;color:#32373c;line-height:1.2em;font-size:2.8em;font-weight:400}.about-wrap h3{margin:1.25em 0 .6em;font-size:1.25em;line-height:1.5em}.about-wrap h4{color:#23282d}.about-wrap code,.about-wrap ol li p{font-size:14px}.about-wrap .about-description,.about-wrap .about-text{margin-top:1.4em;font-weight:400;line-height:1.6em;font-size:19px}.about-wrap .about-text{margin:1em 200px 1em 0;min-height:60px;color:#777}.about-wrap .two-col>div{position:relative;width:47.6%;margin-right:4.799999999%;float:left}.about-wrap .three-col>div{position:relative;width:29.95%;margin-right:4.999999999%;float:left}.about-wrap [class$=col] .last-feature{margin-right:0}.about-wrap .point-releases{margin-top:5px;border-bottom:1px solid #dfdfdf}.about-wrap .changelog.point-releases h3{padding-top:35px}.about-wrap .changelog.point-releases h3:first-child{padding-top:7px}.about-wrap .headline-feature h2{margin:50px 0 30px;font-size:2.2em;font-weight:300;line-height:1.3;text-align:left}.about-wrap .headline-feature h3{margin-top:30px;text-align:center}.about-wrap .feature-list h2{margin:30px 0 15px;text-align:center}.about-wrap .feature-section h4{margin:1.4em 0 .6em;font-size:1em}.about-wrap .feature-section p{margin-top:.6em}.about-wrap .feature-video{position:relative;margin:40px 0;padding-bottom:56.25%;width:100%;height:0;text-align:center}.about-wrap .feature-video embed{position:absolute;top:0;left:0;width:100%;height:100%}.about-wrap .featured-image{text-align:center}.about-wrap .feature-section{overflow:hidden;padding:0 0 40px;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .headline-feature .feature-section{margin:0 auto;max-width:95%}.about-wrap .feature-section .col:nth-of-type(odd){float:left;margin:40px 5% 0 0;width:48%}.about-wrap .feature-section .col:nth-of-type(even){float:right;margin:40px 0 0;width:46%}.about-wrap .changelog{margin-bottom:40px}.about-wrap .changelog.feature-section>div{margin-top:40px}.about-wrap .return-to-dashboard{margin:30px 0 0 -5px;font-size:14px;font-weight:700}.about-wrap .return-to-dashboard a{text-decoration:none;padding:0 5px}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-left:115px}.about-wrap h4.wp-people-group{margin-top:2.6em;font-size:16px}.about-wrap ul.wp-people-group{overflow:hidden;padding:0 5px;margin:0 -15px 0 -5px}.about-wrap ul.compact{margin-bottom:0}.about-wrap li.wp-person{display:inline-block;vertical-align:top;margin-right:10px;padding-bottom:15px;height:70px;width:280px}.about-wrap ul.compact li.wp-person{height:auto;width:180px;padding-bottom:0;margin-bottom:0}.about-wrap li.wp-person img.gravatar{float:left;margin:0 10px 10px 0;padding:2px;width:60px;height:60px}.about-wrap ul.compact li.wp-person img.gravatar{width:30px;height:30px}.about-wrap li.wp-person a.web{display:block;margin:6px 0 2px;font-size:16px;font-weight:400;line-height:1.6em;text-decoration:none}.about-wrap #wp-people-group-validators+p.wp-credits-list{margin-top:0}.about-wrap p.wp-credits-list a{white-space:nowrap}.freedoms-php .about-wrap ol{margin:40px 60px}.freedoms-php .about-wrap ol li{list-style-type:decimal;font-weight:700}.freedoms-php .about-wrap ol p{font-weight:400;margin:.6em 0}@media screen and (max-width:782px){.about-wrap .feature-section{padding:0;border-bottom:none}.about-wrap .one-col>div,.about-wrap .three-col>div,.about-wrap .two-col .col:nth-of-type(n),.about-wrap .two-col>div{width:100%;margin:40px 0 0;padding:0 0 40px;border-bottom:1px solid rgba(0,0,0,.1)}.about-wrap .two-col .col h3{margin-top:0}.about-wrap .three-col img{display:block;margin:0 auto}.about-wrap .feature-list div{margin:0;padding:0;border-bottom:none}.about-wrap .headline-feature .feature-section{max-width:100%}.about-wrap .feature-list .feature-section{padding:0 0 40px}}@media only screen and (max-width:500px){.about-wrap{margin-right:20px;margin-left:10px}.about-wrap .about-text,.about-wrap h1{margin-right:0}.about-wrap .about-text{margin-bottom:.25em}.about-wrap .wp-badge{position:relative;margin-bottom:1.5em;width:100%}.about-wrap h2.nav-tab-wrapper{padding-left:0;border-bottom:0}.about-wrap h2 .nav-tab{margin-top:10px;margin-right:10px;border-bottom:1px solid #ccc}.about-wrap .headline-feature .feature-section div,.about-wrap .three-col div{width:100%!important;float:none!important}.about-wrap .dfw p{max-width:90%}}@media only screen and (max-width:400px){.about-wrap .feature-list svg{margin-top:15px;height:65px;width:65px}.about-wrap .feature-list.finer-points h4,.about-wrap .feature-list.finer-points p{margin-left:80px}}.no-js #message{display:block}ul.add-menu-item-tabs li{padding:3px 5px 3px 8px}.accordion-section ul.add-menu-item-tabs,.accordion-section ul.category-tabs,.accordion-section ul.wp-tab-bar{margin:0}.accordion-section .categorychecklist{margin:13px 0}#nav-menu-meta .accordion-section-content{padding:18px 13px}#nav-menu-meta .button-controls{margin-bottom:0}#nav-menus-frame{margin-left:300px;margin-top:23px}#wpbody-content #menu-settings-column{display:inline;width:281px;margin-left:-300px;clear:both;float:left;padding-top:0}#menu-settings-column .inside{clear:both;margin:10px 0 0}.metabox-holder-disabled .accordion-section-content,.metabox-holder-disabled .accordion-section-title,.metabox-holder-disabled .postbox{opacity:.5;filter:alpha(opacity=50)}.metabox-holder-disabled .button-controls .select-all{display:none}#wpbody{position:relative}.blank-slate .menu-name{height:2em}.blank-slate .menu-settings{border:none;margin-top:0;padding-top:0;overflow:hidden}.is-submenu{color:#999;font-style:italic;font-weight:400;margin-left:4px}.manage-menus{margin-top:23px;padding:10px;overflow:hidden;background:#fbfbfb}.manage-menus select{float:left;margin-right:6px}.manage-menus .selected-menu{float:left;margin:5px 6px 0 0}.manage-menus .submit-btn{float:left;margin-top:1px}.menu-edit #post-body-content h3{margin:1em 0 10px}.menu-settings{border-top:1px solid #eee;margin-top:2em}.menu-settings dl{margin:0 0 10px;overflow:hidden;padding-left:18%}.menu-settings dd{float:left;margin:0;width:100%}.menu-settings dt{float:left;clear:both;width:21.951%;padding:3px 0 0;margin-left:-21.951%}.menu-settings label{vertical-align:baseline}.menu-edit .checkbox-input{margin-top:4px}.theme-location-set{color:#999;font-size:11px}#menu-management-liquid{float:left;min-width:100%;margin-top:3px}#menu-management{position:relative;margin-right:20px;margin-top:-3px;width:100%;background:#f5f5f5}#menu-management .menu-edit{margin-bottom:20px}.nav-menus-php #post-body{padding:0 10px 10px;border-top:1px solid #fff;border-bottom:1px solid #dfdfdf;background:#fff}#nav-menu-footer,#nav-menu-header{padding:0 10px}#nav-menu-header{border-bottom:1px solid #dfdfdf;margin-bottom:0}#nav-menu-header .menu-name-label{margin-top:4px}.nav-menus-php #post-body div.error,.nav-menus-php #post-body div.updated{margin:0}.nav-menus-php #post-body-content{position:relative;float:none}#menu-management .menu-add-new abbr{font-weight:600}#select-nav-menu-container{text-align:right;padding:0 10px 3px;margin-bottom:5px}#select-nav-menu{width:100px;display:inline}#menu-name-label{margin-top:-2px}.widefat .menu-locations tr+tr td{padding-top:0}.widefat .menu-locations td{vertical-align:middle}.menu-location-title label{font-weight:700}.menu-location-menus select{float:left}#locations-nav-menu-wrapper{padding:5px 0}.locations-nav-menu-select select{float:left;width:160px;margin-right:5px}.locations-row-links{float:left;margin:6px 0 0 6px}.locations-add-menu-link,.locations-edit-menu-link{margin:0 3px}.locations-edit-menu-link{padding-right:3px;border-right:1px solid #ccc}#wpbody .open-label{display:block;float:left}#wpbody .open-label span{padding-right:10px}.js .input-with-default-title{color:#a0a5aa;font-style:italic}#menu-management .inside{padding:0 10px}.accordion-container .howto input,.postbox .howto input{width:180px;float:right}.accordion-container .outer-border{margin:0}.customlinkdiv .howto input{width:180px}.customlinkdiv p{margin-top:0}#nav-menu-theme-locations .howto select{width:100%}#nav-menu-theme-locations .button-controls{text-align:right}.add-menu-item-view-all{height:400px}#menu-container .submit{margin:0 0 10px;padding:0}.nav-menus-php .add-new-menu-action{float:left;margin:6px 0 0 6px;line-height:15px}.nav-menus-php .meta-sep,.nav-menus-php .submitcancel,.nav-menus-php .submitdelete{display:block;float:left;margin:6px 0;line-height:15px}.meta-sep{padding:0 2px}#cancel-save{text-decoration:underline;font-size:12px;margin-left:20px;margin-top:5px}.button-primary.right,.button-secondary.right,.button.right{float:right}.list-controls{float:left;margin-top:5px}.add-to-menu{float:right}.button-controls{clear:both;margin:10px 0}.hide-all,.show-all{cursor:pointer}.hide-all{display:none}#menu-name{width:270px}#manage-menu .inside{padding:0}#available-links dt{display:block}#add-custom-link .howto{font-size:12px}#add-custom-link label span{display:block;float:left;margin-top:5px;padding-right:5px}.menu-item-textbox{width:180px}.nav-menus-php .howto span{margin-top:6px;display:block;float:left}.quick-search{width:190px}.quick-search-wrap .spinner{float:none;margin:0 5px}.nav-menus-php .list-wrap{display:none;clear:both;margin-bottom:10px}.nav-menus-php .postbox p.submit{margin-bottom:0}.nav-menus-php .list li{display:none;margin:0 0 5px}.nav-menus-php .list li .menu-item-title{cursor:pointer;display:block}.nav-menus-php .list li .menu-item-title input{margin-right:3px;margin-top:-3px}.menu-item-title input[type=checkbox]{display:inline-block;margin-top:-4px}#menu-container .inside{padding-bottom:10px}.menu{padding-top:1em}#menu-to-edit{margin:0;padding:.1em 0}.menu ul{width:100%}.menu li{margin-bottom:0;position:relative}.menu-item-bar{clear:both;line-height:1.5em;position:relative;margin:9px 0 0}.menu-item-bar .menu-item-handle{border:1px solid #dfdfdf;position:relative;padding:10px 15px;height:auto;min-height:20px;width:382px;line-height:30px;overflow:hidden;word-wrap:break-word}.menu-item-bar .menu-item-handle:hover{border-color:#999}#menu-to-edit .menu-item-invalid .menu-item-handle{background:#f6c9cc;border-color:#f1acb1}.no-js .menu-item-edit-active .item-edit{display:none}.js .menu-item-handle{cursor:move}.menu li.deleting .menu-item-handle{background-image:none;background-color:#f66}.menu-item-handle .item-title{font-size:13px;font-weight:600;line-height:20px;display:block;margin-right:13em}.menu-item-handle .menu-item-title.no-title{color:#999}li.menu-item.ui-sortable-helper dl{margin-top:0}li.menu-item.ui-sortable-helper .menu-item-transport dl{margin-top:13px}.menu .sortable-placeholder{height:35px;width:410px;margin-top:13px}.menu-item-depth-0{margin-left:0}.menu-item-depth-1{margin-left:30px}.menu-item-depth-2{margin-left:60px}.menu-item-depth-3{margin-left:90px}.menu-item-depth-4{margin-left:120px}.menu-item-depth-5{margin-left:150px}.menu-item-depth-6{margin-left:180px}.menu-item-depth-7{margin-left:210px}.menu-item-depth-8{margin-left:240px}.menu-item-depth-9{margin-left:270px}.menu-item-depth-10{margin-left:300px}.menu-item-depth-11{margin-left:330px}.menu-item-depth-0 .menu-item-transport{margin-left:0}.menu-item-depth-1 .menu-item-transport{margin-left:-30px}.menu-item-depth-2 .menu-item-transport{margin-left:-60px}.menu-item-depth-3 .menu-item-transport{margin-left:-90px}.menu-item-depth-4 .menu-item-transport{margin-left:-120px}.menu-item-depth-5 .menu-item-transport{margin-left:-150px}.menu-item-depth-6 .menu-item-transport{margin-left:-180px}.menu-item-depth-7 .menu-item-transport{margin-left:-210px}.menu-item-depth-8 .menu-item-transport{margin-left:-240px}.menu-item-depth-9 .menu-item-transport{margin-left:-270px}.menu-item-depth-10 .menu-item-transport{margin-left:-300px}.menu-item-depth-11 .menu-item-transport{margin-left:-330px}body.menu-max-depth-0{min-width:950px!important}body.menu-max-depth-1{min-width:980px!important}body.menu-max-depth-2{min-width:1010px!important}body.menu-max-depth-3{min-width:1040px!important}body.menu-max-depth-4{min-width:1070px!important}body.menu-max-depth-5{min-width:1100px!important}body.menu-max-depth-6{min-width:1130px!important}body.menu-max-depth-7{min-width:1160px!important}body.menu-max-depth-8{min-width:1190px!important}body.menu-max-depth-9{min-width:1220px!important}body.menu-max-depth-10{min-width:1250px!important}body.menu-max-depth-11{min-width:1280px!important}.item-type{color:#777;font-size:12px;padding:12px 10px;line-height:18px;display:block}.item-controls{font-size:12px;position:absolute;right:20px;top:-1px}.item-controls a{text-decoration:none}.item-controls a:hover{cursor:pointer}.item-controls .item-order{padding-right:10px}.nav-menus-php .item-edit{position:absolute;right:-20px;top:0;display:block;width:30px;height:40px;margin-right:0!important;text-indent:100%;outline:0;overflow:hidden;white-space:nowrap}.menu-instructions-inactive{display:none}.menu-item-settings{display:block;width:402px;padding:10px 0 10px 10px;position:relative;z-index:10;border:1px solid #e5e5e5;border-top:none;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04)}.menu-item-settings .field-move a{display:none;margin:0 2px}.menu-item-edit-active .menu-item-settings{display:block}.menu-item-edit-inactive .menu-item-settings{display:none}.add-menu-item-pagelinks{margin:.5em auto;text-align:center}.link-to-original{display:block;margin:0 0 10px;padding:3px 5px 5px;border:1px solid #dfdfdf;color:#777;font-size:12px;font-style:italic}.link-to-original a{padding-left:4px;font-style:normal}.hidden-field{display:none}.menu-item-settings .description-thin,.menu-item-settings .description-wide{margin-right:10px;float:left}.description-thin{width:190px}.description-wide{width:390px}.menu-item-actions{padding-top:15px}#cancel-save{cursor:pointer}.nav-menus-php .major-publishing-actions{clear:both;padding:3px 0 6px}.nav-menus-php .major-publishing-actions .publishing-action{text-align:right;float:right;line-height:23px;margin:4px 0 1px}.nav-menus-php .blank-slate .menu-settings{display:none}.nav-menus-php .delete-action{float:left;margin-top:2px}.nav-menus-php .submitbox .submitcancel{border-bottom:1px solid #0073aa;padding:1px 2px;color:#0073aa;text-decoration:none}.nav-menus-php .submitbox .submitcancel:hover{background:#0073aa;color:#fff}.nav-menus-php .major-publishing-actions .form-invalid{padding-left:4px;margin-left:-4px}#menu-item-name-wrap:after,#menu-item-url-wrap:after,#menu-name-label:after,#menu-settings-column .inside:after,#nav-menus-frame:after,.nav-menus-php #post-body-content:after,.nav-menus-php .button-controls:after,.nav-menus-php .major-publishing-actions:after,.nav-menus-php .menu-item-settings:after{clear:both;content:".";display:block;height:0;visibility:hidden}#menu-item-name-wrap,#menu-item-url-wrap,#nav-menus-frame,.button-controls{display:block}@media screen and (max-width:782px){body.nav-menus-php{min-width:0!important}#nav-menus-frame{margin-left:0;float:none;width:100%}#wpbody-content #menu-settings-column{display:block;width:100%;float:none;margin-left:0}#side-sortables .add-menu-item-tabs{margin:15px 0 14px}ul.add-menu-item-tabs li.tabs{padding:13px 15px 14px}.nav-menus-php .item-controls .item-type{margin-top:2px}.nav-menus-php .customlinkdiv .howto input{width:65%}.nav-menus-php .quick-search{width:85%}#menu-management-liquid{margin-top:25px}.nav-menus-php .menu-name-label.howto span{margin-top:13px}.menu-name-label #menu-name{margin-top:4px}.nav-menus-php .major-publishing-actions .publishing-action{margin-top:6px}.nav-menus-php .delete-action{font-size:14px;line-height:50px;margin-top:12px}.description-wide,.menu-item-bar .menu-item-handle,.menu-item-settings{width:auto}.menu-item-settings{padding:10px}.menu-item-settings .description-thin,.menu-item-settings .description-wide,.menu-item-settings input{width:100%}.menu-item-settings input[type=checkbox],.menu-item-settings input[type=radio]{width:25px}.menu-settings dl{padding-left:0}.menu-settings dd{float:none;width:100%;margin-bottom:15px}.menu-settings dt{float:none;width:auto;margin-left:0;margin-bottom:15px}}@media only screen and (max-width:768px){#menu-locations-wrap .widefat{width:100%}}.widget{margin:0 auto 10px;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.widget-top{font-size:13px;font-weight:600;background:#f7f7f7}.widget-top a.widget-action,.widget-top a.widget-action:hover{-webkit-box-shadow:none;box-shadow:none;outline:0;text-decoration:none}.widget-title h4{margin:0;padding:15px;line-height:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.widgets-holder-wrap .widget-inside{border-top:none;padding:1px 15px 15px;line-height:16px}#available-widgets .widget-description,#widgets-right a.widget-control-edit,.in-widget-title{color:#666}.deleting .widget-title,.deleting .widget-top a.widget-action:after{color:#a0a5aa}.widget.ui-draggable-dragging{min-width:100%}.widget.ui-sortable-helper{opacity:.8}.widget-placeholder{border:1px dashed #b4b9be;margin:0 auto 10px;height:45px;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#widgets-right .widget-placeholder{margin-top:0}#widgets-right .closed .widget-placeholder{height:0;border:0;margin-top:-10px}.sidebar-name{position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.sidebar-name-arrow{position:absolute;top:0;right:0;bottom:0}.js .sidebar-name{cursor:pointer}.sidebar-name h3{margin:0;padding:8px 10px;overflow:hidden;white-space:nowrap}.widgets-holder-wrap .description{padding:0 0 15px;margin:0;font-style:normal;color:#777}#widgets-right .widgets-holder-wrap .description{padding-left:7px;padding-right:7px}div.widget-liquid-left{margin:0;width:38%;float:left}div.widget-liquid-right{float:right;width:58%}div#widgets-left{padding-top:12px}div#widgets-left .closed .sidebar-name,div#widgets-left .inactive-sidebar.closed .sidebar-name{margin-bottom:10px}div#widgets-left .sidebar-name h3{padding:10px 0;margin:0 10px 0 0}div#widgets-left .sidebar-name .sidebar-name-arrow:before{right:0;top:4px;padding:4px 6px 4px 4px}#widgets-left #available-widgets,div#widgets-left .widget-holder{background:0 0;border:none}#widgets-left .widgets-holder-wrap{border:none;-webkit-box-shadow:none;box-shadow:none}#available-widgets .widget-action{display:none}#available-widgets .widget{margin:0}#available-widgets .widget:nth-child(odd){clear:both}#available-widgets .widget .widget-description{display:block;padding:10px 15px;font-size:12px}#available-widgets #widget-list{position:relative}#widgets-left .inactive-sidebar{clear:both;width:100%;background:0 0;padding:0;margin:0 0 20px;border:none;-webkit-box-shadow:none;box-shadow:none}#widgets-left .inactive-sidebar.first{margin-top:40px}div#widgets-left .inactive-sidebar .widget.expanded{left:auto}.widget-title-action{float:right;position:relative}div#widgets-left .inactive-sidebar .widgets-sortables{min-height:42px;padding:0;background:0 0;margin:0;position:relative}div#widgets-right:after{content:".";display:block;height:0;clear:both;visibility:hidden}div#widgets-right .sidebars-column-1,div#widgets-right .sidebars-column-2{max-width:450px}div#widgets-right .widgets-holder-wrap{margin:10px 0 0}div#widgets-right .sidebar-description{min-height:20px;margin-top:-5px}div#widgets-right .sidebar-name h3{padding:15px 7px}div#widgets-right .sidebar-name .sidebar-name-arrow:before{right:0;top:4px}div#widgets-right .widget-top{padding:0}div#widgets-right .widgets-sortables{padding:0 8px;margin-bottom:9px;position:relative;min-height:123px}div#widgets-right .closed .widgets-sortables{min-height:0;margin-bottom:0}.sidebar-name .spinner{float:none;position:relative;top:-2px;margin:-5px 5px}#widgets-right .widgets-holder-wrap.widget-hover{border-color:#777;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.3);box-shadow:0 1px 2px rgba(0,0,0,.3)}.widgets_access #widgets-left .widget .widget-top{cursor:auto}.widgets_access #wpwrap .widget-control-edit,.widgets_access #wpwrap .widgets-holder-wrap.closed .sidebar-description,.widgets_access #wpwrap .widgets-holder-wrap.closed .widget{display:block}.widgets_access #widgets-left .widget .widget-top:hover,.widgets_access #widgets-right .widget .widget-top:hover{border-color:#ddd}#available-widgets .widget-control-edit .edit,#widgets-left .inactive-sidebar .widget-control-edit .add,#widgets-right .widget-control-edit .add{display:none}.widget-control-edit{display:block;color:#666;background:#EEE;padding:0 15px;line-height:43px;border-left:1px solid #DDD}#widgets-left .widget-control-edit:hover,#widgets-right .widget-control-edit:hover{color:#fff;background:#444;border-left:0;outline:#444 solid 1px}.widgets-holder-wrap .sidebar-description,.widgets-holder-wrap .sidebar-name{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.editwidget{margin:0 auto}.editwidget .widget-inside{display:block;padding:0 15px}.editwidget .widget-control-actions{margin-top:20px}.js .closed br.clear,.js .widgets-holder-wrap.closed .sidebar-description,.js .widgets-holder-wrap.closed .widget,.widget-description,.widget-inside{display:none}.widget-inside{background:#fff}#removing-widget{display:none;font-weight:400;padding-left:15px;font-size:12px;line-height:1;color:#000}.js #removing-widget{color:#00a0d2}#access-off,.no-js .widget-holder .description,.widget-control-noform,.widgets_access #access-on,.widgets_access .sidebar-name-arrow,.widgets_access .widget-action,.widgets_access .widget-holder .description{display:none}.widgets_access #widget-list,.widgets_access .widget-holder{padding-top:10px}.widgets_access #access-off{display:inline}.widgets_access .sidebar-name,.widgets_access .widget .widget-top{cursor:default}.widget-liquid-left #widgets-left.chooser #available-widgets .widget,.widget-liquid-left #widgets-left.chooser .inactive-sidebar{-webkit-transition:opacity .1s linear;transition:opacity .1s linear;opacity:.2;pointer-events:none}.widget-liquid-left #widgets-left.chooser #available-widgets .widget-in-question{opacity:1;pointer-events:auto}#available-widgets .widget-top:hover,#widgets-left .widget-in-question .widget-top,#widgets-left .widget-top:hover,.widgets-chooser ul,div#widgets-right .widget-top:hover{border-color:#999;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.widgets-chooser ul.widgets-chooser-sidebars{margin:0;list-style-type:none;max-height:300px;overflow:auto}.widgets-chooser{display:none}.widgets-chooser ul{border:1px solid #ccc}.widgets-chooser li{padding:10px 15px 10px 35px;border-bottom:1px solid #ccc;background:#fff;margin:0;cursor:pointer;outline:0;position:relative;-webkit-transition:background .2s ease-in-out;transition:background .2s ease-in-out}.widgets-chooser li:focus,.widgets-chooser li:hover{background:rgba(255,255,255,.7)}.widgets-chooser li:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#999;position:absolute;top:7px;left:5px}.widgets-chooser li:last-child{border:none}.widgets-chooser li.widgets-chooser-selected{background:#00a0d2;color:#fff}.widgets-chooser li.widgets-chooser-selected:before,.widgets-chooser li.widgets-chooser-selected:focus:before{content:'\f147';display:block;-webkit-font-smoothing:antialiased;font:400 26px/1 dashicons;color:#fff;position:absolute;top:7px;left:5px}.widgets-chooser .widgets-chooser-actions{padding:10px 0 12px;text-align:center}.widgets-chooser button{margin-right:5px}#available-widgets .widget .widget-top{cursor:pointer}@media screen and (max-width:480px){div.widget-liquid-left{width:100%;float:none;border-right:none;padding-right:0}#widgets-left #available-widgets .widget-top,#widgets-left .inactive-sidebar .widgets-sortables,#widgets-left .sidebar-name{margin-right:0}div.widget-liquid-right{width:100%;float:none}div.widget{margin:0 auto 10px!important;max-width:480px}}@media screen and (max-width:320px){div.widget{max-width:320px}}@media only screen and (min-width:1250px){#widgets-left #available-widgets .widget{width:49%;float:left}.widget.ui-draggable-dragging{min-width:49%}#widgets-left #available-widgets .widget:nth-child(even){float:right}#widgets-right .sidebars-column-1,#widgets-right .sidebars-column-2{float:left;width:49%}#widgets-right .sidebars-column-1{margin-right:2%}#widgets-right.single-sidebar .sidebars-column-1,#widgets-right.single-sidebar .sidebars-column-2{float:none;width:100%;margin:0}}body.rtl,body.rtl .press-this a.wp-switch-editor{font-family:Tahoma,Arial,sans-serif}.rtl h1,.rtl h2,.rtl h3,.rtl h4,.rtl h5,.rtl h6{font-family:Arial,sans-serif;font-weight:700}body.locale-he-il,body.locale-he-il .press-this a.wp-switch-editor{font-family:Arial,sans-serif}.locale-he-il em{font-style:normal;font-weight:700}.locale-zh-cn #local-time,.locale-zh-cn #utc-time,.locale-zh-cn .form-wrap p,.locale-zh-cn .howto,.locale-zh-cn .inline-edit-row fieldset span.checkbox-title,.locale-zh-cn .inline-edit-row fieldset span.title,.locale-zh-cn .js .input-with-default-title,.locale-zh-cn .link-to-original,.locale-zh-cn .tablenav .displaying-num,.locale-zh-cn p.description,.locale-zh-cn p.help,.locale-zh-cn p.install-help,.locale-zh-cn span.description{font-style:normal}.locale-zh-cn .hdnle a{font-size:12px}.locale-zh-cn form.upgrade .hint{font-style:normal;font-size:100%}.locale-zh-cn #wp-fullscreen-tagline{font-family:KaiTi,"楷体",sans-serif}.locale-zh-cn #wp-fullscreen-modes a{font-size:12px}.locale-zh-cn #sort-buttons{font-size:1em!important}.locale-de-de .inline-edit-row fieldset label span.title{width:7em}.locale-de-de .inline-edit-row fieldset label span.input-text-wrap{margin-left:7em}.locale-de-de #customize-header-actions .button{padding:0 5px 1px}.locale-de-de #customize-header-actions .spinner{margin:16px 3px 0}.locale-ru-ru .inline-edit-row fieldset label span.title{width:8em}.locale-ru-ru .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}.locale-ru-ru.post-new-php .tagsdiv .newtag,.locale-ru-ru.post-php .tagsdiv .newtag{width:165px}.locale-ru-ru.press-this .posting{margin-right:277px}.locale-ru-ru .press-this-sidebar{width:265px}.locale-ru-ru #customize-header-actions .button{padding:0 5px 1px}.locale-ru-ru #customize-header-actions .spinner{margin:16px 3px 0}.locale-lt-lt .inline-edit-row fieldset label span.title{width:8em}.locale-lt-lt .inline-edit-row fieldset label span.input-text-wrap{margin-left:8em}
\ No newline at end of file
index 8fb1901c254ff8272b84007deb5d2c7a669d3071..fc320f9f416045cd8c090ce71df0226fb9d04bdb 100644 (file)
@@ -20,27 +20,16 @@ class Custom_Background {
         *
         * @var callback
         * @since 3.0.0
-        * @access private
         */
-       private $admin_header_callback;
+       public $admin_header_callback;
 
        /**
         * Callback for header div.
         *
         * @var callback
         * @since 3.0.0
-        * @access private
         */
-       private $admin_image_div_callback;
-
-       /**
-        * Holds the page menu hook.
-        *
-        * @var string
-        * @since 3.0.0
-        * @access private
-        */
-       private $page = '';
+       public $admin_image_div_callback;
 
        /**
         * @var bool
@@ -53,7 +42,6 @@ class Custom_Background {
         * @since 3.0.0
         * @param callback $admin_header_callback
         * @param callback $admin_image_div_callback Optional custom image div output callback.
-        * @return Custom_Background
         */
        public function __construct($admin_header_callback = '', $admin_image_div_callback = '') {
                $this->admin_header_callback = $admin_header_callback;
@@ -67,75 +55,24 @@ class Custom_Background {
                add_action( 'wp_ajax_set-background-image', array( $this, 'wp_set_background_image' ) );
        }
 
-       /**
-        * Make private properties readable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property name.
-        * @return mixed Property.
-        */
-       public function __get( $name ) {
-               return $this->$name;
-       }
-
-       /**
-        * Make private properties settable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name  Property to set.
-        * @param mixed  $value Property value.
-        * @return mixed Newly-set property.
-        */
-       public function __set( $name, $value ) {
-               return $this->$name = $value;
-       }
-
-       /**
-        * Make private properties checkable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to check if set.
-        * @return bool Whether the property is set.
-        */
-       public function __isset( $name ) {
-               return isset( $this->$name );
-       }
-
-       /**
-        * Make private properties un-settable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to unset.
-        */
-       public function __unset( $name ) {
-               unset( $this->$name );
-       }
-
        /**
         * Set up the hooks for the Custom Background admin page.
         *
         * @since 3.0.0
         */
        public function init() {
-               if ( ! current_user_can('edit_theme_options') )
+               $page = add_theme_page( __( 'Background' ), __( 'Background' ), 'edit_theme_options', 'custom-background', array( $this, 'admin_page' ) );
+               if ( ! $page ) {
                        return;
+               }
 
-               $this->page = $page = add_theme_page(__('Background'), __('Background'), 'edit_theme_options', 'custom-background', array($this, 'admin_page'));
-
-               add_action("load-$page", array($this, 'admin_load'));
-               add_action("load-$page", array($this, 'take_action'), 49);
-               add_action("load-$page", array($this, 'handle_upload'), 49);
+               add_action( "load-$page", array( $this, 'admin_load' ) );
+               add_action( "load-$page", array( $this, 'take_action' ), 49 );
+               add_action( "load-$page", array( $this, 'handle_upload' ), 49 );
 
-               if ( $this->admin_header_callback )
-                       add_action("admin_head-$page", $this->admin_header_callback, 51);
+               if ( $this->admin_header_callback ) {
+                       add_action( "admin_head-$page", $this->admin_header_callback, 51 );
+               }
        }
 
        /**
@@ -156,7 +93,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="https://codex.wordpress.org/Appearance_Background_Screen" target="_blank">Documentation on Custom Background</a>' ) . '</p>' .
                        '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
                );
 
@@ -276,8 +213,9 @@ class Custom_Background {
                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_thumb = get_background_image();
+               if ( $background_image_thumb ) {
+                       $background_image_thumb = esc_url( set_url_scheme( get_theme_mod( 'background_image_thumb', str_replace( '%', '%%', $background_image_thumb ) ) ) );
 
                        // Background-image URL must be single quote, see below.
                        $background_styles .= ' background-image: url(\'' . $background_image_thumb . '\');'
@@ -286,7 +224,7 @@ class Custom_Background {
                }
        ?>
        <div id="custom-background-image" style="<?php echo $background_styles; ?>"><?php // must be double quote, see above ?>
-               <?php if ( get_background_image() ) { ?>
+               <?php if ( $background_image_thumb ) { ?>
                <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 } ?>
@@ -299,7 +237,7 @@ class Custom_Background {
 <tr>
 <th scope="row"><?php _e('Remove Image'); ?></th>
 <td>
-<form method="post" action="">
+<form method="post">
 <?php wp_nonce_field('custom-background-remove', '_wpnonce-custom-background-remove'); ?>
 <?php submit_button( __( 'Remove Background Image' ), 'button', 'remove-background', false ); ?><br/>
 <?php _e('This will remove the background image. You will not be able to restore any customizations.') ?>
@@ -313,7 +251,7 @@ class Custom_Background {
 <tr>
 <th scope="row"><?php _e('Restore Original Image'); ?></th>
 <td>
-<form method="post" action="">
+<form method="post">
 <?php wp_nonce_field('custom-background-reset', '_wpnonce-custom-background-reset'); ?>
 <?php submit_button( __( 'Restore Original Image' ), 'button', 'reset-background', false ); ?><br/>
 <?php _e('This will restore the original background image. You will not be able to restore any customizations.') ?>
@@ -324,7 +262,7 @@ class Custom_Background {
 
 <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="">
+<td><form enctype="multipart/form-data" id="upload-form" class="wp-upload-form" method="post">
        <p>
                <label for="upload"><?php _e( 'Choose an image from your computer:' ); ?></label><br />
                <input type="file" id="upload" name="import" />
@@ -345,7 +283,7 @@ class Custom_Background {
 </table>
 
 <h3><?php _e('Display Options') ?></h3>
-<form method="post" action="">
+<form method="post">
 <table class="form-table">
 <tbody>
 <?php if ( get_background_image() ) : ?>
@@ -427,7 +365,7 @@ if ( current_theme_supports( 'custom-background', 'default-color' ) )
                $overrides = array('test_form' => false);
 
                $uploaded_file = $_FILES['import'];
-               $wp_filetype = wp_check_filetype_and_ext( $uploaded_file['tmp_name'], $uploaded_file['name'], false );
+               $wp_filetype = wp_check_filetype_and_ext( $uploaded_file['tmp_name'], $uploaded_file['name'] );
                if ( ! wp_match_mime_types( 'image', $wp_filetype['type'] ) )
                        wp_die( __( 'The uploaded file is not a valid image. Please try again.' ) );
 
index 0e5ffa6b382310cbcb70aa683497172294b68984..a56c7602c685d617975c9af3cd805da993cd30b9 100644 (file)
@@ -20,18 +20,16 @@ class Custom_Image_Header {
         *
         * @var callback
         * @since 2.1.0
-        * @access private
         */
-       private $admin_header_callback;
+       public $admin_header_callback;
 
        /**
         * Callback for header div.
         *
         * @var callback
         * @since 3.0.0
-        * @access private
         */
-       private $admin_image_div_callback;
+       public $admin_image_div_callback;
 
        /**
         * Holds default headers.
@@ -40,25 +38,7 @@ class Custom_Image_Header {
         * @since 3.0.0
         * @access private
         */
-       private $default_headers = array();
-
-       /**
-        * Holds custom headers uploaded by the user.
-        *
-        * @var array
-        * @since 3.2.0
-        * @access private
-        */
-       private $uploaded_headers = array();
-
-       /**
-        * Holds the page menu hook.
-        *
-        * @var string
-        * @since 3.0.0
-        * @access private
-        */
-       private $page = '';
+       public $default_headers = array();
 
        /**
         * @var bool
@@ -71,7 +51,6 @@ class Custom_Image_Header {
         * @since 2.1.0
         * @param callback $admin_header_callback
         * @param callback $admin_image_div_callback Optional custom image div output callback.
-        * @return Custom_Image_Header
         */
        public function __construct($admin_header_callback, $admin_image_div_callback = '') {
                $this->admin_header_callback = $admin_header_callback;
@@ -85,77 +64,25 @@ class Custom_Image_Header {
                add_action( 'wp_ajax_custom-header-remove', array( $this, 'ajax_header_remove'      ) );
        }
 
-       /**
-        * Make private properties readable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to get.
-        * @return mixed Property.
-        */
-       public function __get( $name ) {
-               return $this->$name;
-       }
-
-       /**
-        * Make private properties settable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name  Property to set.
-        * @param mixed  $value Property value.
-        * @return mixed Newly-set property.
-        */
-       public function __set( $name, $value ) {
-               return $this->$name = $value;
-       }
-
-       /**
-        * Make private properties checkable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to check if set.
-        * @return bool Whether the property is set.
-        */
-       public function __isset( $name ) {
-               return isset( $this->$name );
-       }
-
-       /**
-        * Make private properties un-settable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to unset.
-        */
-       public function __unset( $name ) {
-               unset( $this->$name );
-       }
-
        /**
         * Set up the hooks for the Custom Header admin page.
         *
         * @since 2.1.0
         */
        public function init() {
-               if ( ! current_user_can('edit_theme_options') )
+               $page = add_theme_page( __( 'Header' ), __( 'Header' ), 'edit_theme_options', 'custom-header', array( $this, 'admin_page' ) );
+               if ( ! $page ) {
                        return;
+               }
 
-               $this->page = $page = add_theme_page(__('Header'), __('Header'), 'edit_theme_options', 'custom-header', array($this, 'admin_page'));
-
-               add_action("admin_print_scripts-$page", array($this, 'js_includes'));
-               add_action("admin_print_styles-$page", array($this, 'css_includes'));
-               add_action("admin_head-$page", array($this, 'help') );
-               add_action("admin_head-$page", array($this, 'take_action'), 50);
-               add_action("admin_head-$page", array($this, 'js'), 50);
-               if ( $this->admin_header_callback )
-                       add_action("admin_head-$page", $this->admin_header_callback, 51);
-
+               add_action( "admin_print_scripts-$page", array( $this, 'js_includes' ) );
+               add_action( "admin_print_styles-$page", array( $this, 'css_includes' ) );
+               add_action( "admin_head-$page", array( $this, 'help' ) );
+               add_action( "admin_head-$page", array( $this, 'take_action' ), 50 );
+               add_action( "admin_head-$page", array( $this, 'js' ), 50 );
+               if ( $this->admin_header_callback ) {
+                       add_action( "admin_head-$page", $this->admin_header_callback, 51 );
+               }
        }
 
        /**
@@ -193,7 +120,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="https://codex.wordpress.org/Appearance_Header_Screen" target="_blank">Documentation on Custom Header</a>' ) . '</p>' .
                        '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
                );
        }
@@ -390,7 +317,6 @@ class Custom_Image_Header {
                ?>
 
 <script type="text/javascript">
-/* <![CDATA[ */
 (function($){
        var default_color = '<?php echo $default_color; ?>',
                header_text_fields;
@@ -433,7 +359,6 @@ class Custom_Image_Header {
                <?php endif; ?>
        });
 })(jQuery);
-/* ]]> */
 </script>
 <?php
        }
@@ -445,7 +370,6 @@ class Custom_Image_Header {
         */
        public function js_2() { ?>
 <script type="text/javascript">
-/* <![CDATA[ */
        function onEndCrop( coords ) {
                jQuery( '#x1' ).val(coords.x);
                jQuery( '#y1' ).val(coords.y);
@@ -507,7 +431,6 @@ class Custom_Image_Header {
                        }
                });
        });
-/* ]]> */
 </script>
 <?php
        }
@@ -557,7 +480,14 @@ class Custom_Image_Header {
                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() ) . ');';
+               $header_image = get_header_image();
+
+               if ( $header_image ) {
+                       $header_image_style = 'background-image:url(' . esc_url( $header_image ) . ');';
+               }  else {
+                       $header_image_style = '';
+               }
+
                if ( $custom_header->width )
                        $header_image_style .= 'max-width:' . $custom_header->width . 'px;';
                if ( $custom_header->height )
@@ -866,7 +796,7 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
                $overrides = array('test_form' => false);
 
                $uploaded_file = $_FILES['import'];
-               $wp_filetype = wp_check_filetype_and_ext( $uploaded_file['tmp_name'], $uploaded_file['name'], false );
+               $wp_filetype = wp_check_filetype_and_ext( $uploaded_file['tmp_name'], $uploaded_file['name'] );
                if ( ! wp_match_mime_types( 'image', $wp_filetype['type'] ) )
                        wp_die( __( 'The uploaded file is not a valid image. Please try again.' ) );
 
@@ -952,19 +882,11 @@ wp_nonce_field( 'custom-header-options', '_wpnonce-custom-header-options' ); ?>
                // Cleanup.
                $medium = str_replace( basename( $original ), 'midsize-' . basename( $original ), $original );
                if ( file_exists( $medium ) ) {
-                       /**
-                        * Filter the path of the file to delete.
-                        *
-                        * @since 2.1.0
-                        *
-                        * @param string $medium Path to the file to delete.
-                        */
-                       @unlink( apply_filters( 'wp_delete_file', $medium ) );
+                       wp_delete_file( $medium );
                }
 
                if ( empty( $_POST['create-new-attachment'] ) && empty( $_POST['skip-cropping'] ) ) {
-                       /** This filter is documented in wp-admin/custom-header.php */
-                       @unlink( apply_filters( 'wp_delete_file', $original ) );
+                       wp_delete_file( $original );
                }
 
                return $this->finished();
index 178db28243087f57cd6e87b7e3be29c621ce6731..c8bd6e3c2e27c59b3f75918cdf331014a54f974b 100644 (file)
@@ -71,7 +71,7 @@ $body_class = 'wp-core-ui wp-customizer js';
 if ( wp_is_mobile() ) :
        $body_class .= ' mobile';
 
-       ?><meta name="viewport" id="viewport-meta" content="width=device-width, initial-scale=0.8, minimum-scale=0.5, maximum-scale=1.2" /><?php
+       ?><meta name="viewport" id="viewport-meta" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=1.2" /><?php
 endif;
 
 $is_ios = wp_is_mobile() && preg_match( '/iPad|iPod|iPhone/', $_SERVER['HTTP_USER_AGENT'] );
@@ -118,54 +118,40 @@ do_action( 'customize_controls_print_scripts' );
 <body class="<?php echo esc_attr( $body_class ); ?>">
 <div class="wp-full-overlay expanded">
        <form id="customize-controls" class="wrap wp-full-overlay-sidebar">
-               <div id="screen-reader-messages" aria-live="polite" aria-relevant="all" aria-role="status" aria-atomic="true" class="screen-reader-text"></div>
-
                <div id="customize-header-actions" class="wp-full-overlay-header">
-                       <?php
-                               $save_text = $wp_customize->is_theme_active() ? __( 'Save &amp; Publish' ) : __( 'Save &amp; Activate' );
-                               submit_button( $save_text, 'primary save', 'save', false );
-                       ?>
-                       <span class="spinner"></span>
-                       <a class="customize-controls-close" href="<?php echo esc_url( $return ); ?>">
-                               <span class="screen-reader-text"><?php _e( 'Cancel' ); ?></span>
-                       </a>
-                       <span class="control-panel-back" tabindex="-1"><span class="screen-reader-text"><?php _e( 'Back' ); ?></span></span>
+                       <div class="primary-actions">
+                               <?php
+                                       $save_text = $wp_customize->is_theme_active() ? __( 'Save &amp; Publish' ) : __( 'Save &amp; Activate' );
+                                       submit_button( $save_text, 'primary save', 'save', false );
+                               ?>
+                               <span class="spinner"></span>
+                               <a class="customize-controls-preview-toggle" href="#">
+                                       <span class="controls"><?php _e( 'Customize' ); ?></span>
+                                       <span class="preview"><?php _e( 'Preview' ); ?></span>
+                               </a>
+                               <a class="customize-controls-close" href="<?php echo esc_url( $return ); ?>">
+                                       <span class="screen-reader-text"><?php _e( 'Cancel' ); ?></span>
+                               </a>
+                               <span class="control-panel-back" tabindex="-1"><span class="screen-reader-text"><?php _e( 'Back' ); ?></span></span>
+                       </div>
+                       <div class="secondary-actions">
+                               <button type="button" class="customize-overlay-close">
+                                       <span class="screen-reader-text"><?php _e( 'Close overlay' ); ?></span>
+                               </button>
+                       </div>
                </div>
 
-               <?php
-                       $screenshot = $wp_customize->theme()->get_screenshot();
-                       $cannot_expand = ! ( $wp_customize->is_theme_active() || $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" tabindex="-1">
-                       <div id="customize-info" class="accordion-section <?php if ( $cannot_expand ) echo ' cannot-expand'; ?>">
+                       <div id="customize-info" class="accordion-section">
                                <div class="accordion-section-title" aria-label="<?php esc_attr_e( 'Customizer Options' ); ?>" tabindex="0">
                                        <span class="preview-notice"><?php
-                                               if ( ! $wp_customize->is_theme_active() ) {
-                                                       /* translators: %s is the theme name in the Customize/Live Preview pane */
-                                                       echo sprintf( __( 'You are previewing %s' ), '<strong class="theme-name">' . $wp_customize->theme()->display('Name') . '</strong>' );
-                                               } else {
-                                                       /* translators: %s is the site/panel title in the Customize pane */
-                                                       echo sprintf( __( 'You are customizing %s' ), '<strong class="theme-name site-title">' . get_bloginfo( 'name' ) . '</strong>' );
-                                               }
+                                               echo sprintf( __( 'You are customizing %s' ), '<strong class="theme-name site-title">' . get_bloginfo( 'name' ) . '</strong>' );
                                        ?></span>
                                </div>
-                               <?php if ( ! $cannot_expand ) : ?>
-                               <div class="accordion-section-content">
-                                       <?php if ( ! $wp_customize->is_theme_active() ) :
-                                               if ( $screenshot ) : ?>
-                                                       <img class="theme-screenshot" src="<?php echo esc_url( $screenshot ); ?>" />
-                                               <?php endif; ?>
-
-                                               <?php if ( $wp_customize->theme()->get('Description') ): ?>
-                                                       <div class="theme-description"><?php echo $wp_customize->theme()->display('Description'); ?></div>
-                                               <?php endif;
-                                       else:
-                                               echo __( 'The Customizer allows you to preview changes to your site before publishing them. You can also navigate to different pages on your site to preview them.' );
-                                       endif; ?>
-                               </div>
-                               <?php endif; ?>
+                               <div class="accordion-section-content"><?php
+                                       echo __( 'The Customizer allows you to preview changes to your site before publishing them. You can also navigate to different pages on your site to preview them.' );
+                               ?></div>
                        </div>
 
                        <div id="customize-theme-controls">
@@ -242,7 +228,7 @@ do_action( 'customize_controls_print_scripts' );
                'url'      => array(
                        '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' ) ),
+                       'activated'     => esc_url_raw( home_url( '/' ) ),
                        'ajax'          => esc_url_raw( admin_url( 'admin-ajax.php', 'relative' ) ),
                        'allowed'       => array_map( 'esc_url_raw', $allowed_urls ),
                        'isCrossDomain' => $cross_domain,
@@ -271,6 +257,7 @@ do_action( 'customize_controls_print_scripts' );
                $settings['settings'][ $id ] = array(
                        'value'     => $setting->js_value(),
                        'transport' => $setting->transport,
+                       'dirty'     => $setting->dirty,
                );
        }
 
index d1bf2b568dac4f7b929617af045b3a74d7cb823a..bfde54eae8515aa5ad1ee6acde7a3de94dd423f7 100644 (file)
@@ -109,7 +109,7 @@ if ( $post_id )
 else
        $title = __('Comments');
 
-add_screen_option( 'per_page', array('label' => _x( 'Comments', 'comments per page (screen options)' )) );
+add_screen_option( 'per_page' );
 
 get_current_screen()->add_help_tab( array(
 'id'           => 'overview',
@@ -130,9 +130,9 @@ 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/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="https://codex.wordpress.org/Administration_Screens#Comments" target="_blank">Documentation on Comments</a>' ) . '</p>' .
+       '<p>' . __( '<a href="https://codex.wordpress.org/Comment_Spam" target="_blank">Documentation on Comment Spam</a>' ) . '</p>' .
+       '<p>' . __( '<a href="https://codex.wordpress.org/Keyboard_Shortcuts" target="_blank">Documentation on Keyboard Shortcuts</a>' ) . '</p>' .
        '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
@@ -217,14 +217,14 @@ if ( isset($_REQUEST['approved']) || isset($_REQUEST['deleted']) || isset($_REQU
                        }
                }
 
-               echo '<div id="moderated" class="updated"><p>' . implode( "<br/>\n", $messages ) . '</p></div>';
+               echo '<div id="moderated" class="updated notice is-dismissible"><p>' . implode( "<br/>\n", $messages ) . '</p></div>';
        }
 }
 ?>
 
 <?php $wp_list_table->views(); ?>
 
-<form id="comments-form" action="" method="get">
+<form id="comments-form" method="get">
 
 <?php $wp_list_table->search_box( __( 'Search Comments' ), 'comment' ); ?>
 
index a9222ce6fc22b5b0342e6d894c407eb7fb807e9d..7679077cdb794a49f0d9f7ee67b370aaa25649d8 100644 (file)
@@ -10,6 +10,8 @@
 if ( !defined('ABSPATH') )
        die('-1');
 
+global $post_type, $post_type_object, $post;
+
 wp_enqueue_script('post');
 $_wp_editor_expand = $_content_editor_dfw = false;
 
@@ -43,11 +45,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_ID == get_option( 'page_for_posts' ) && empty( $post->post_content ) ) {
+       add_action( 'edit_form_after_title', '_wp_posts_page_notice' );
+       remove_post_type_support( $post_type, 'editor' );
+}
+
 $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/' ) ) {
+       if ( wp_attachment_is( 'audio', $post ) ) {
                $thumbnail_support = post_type_supports( 'attachment:audio', 'thumbnail' ) || current_theme_supports( 'post-thumbnails', 'attachment:audio' );
-       } elseif ( 0 === strpos( $post->post_mime_type, 'video/' ) ) {
+       } elseif ( wp_attachment_is( 'video', $post ) ) {
                $thumbnail_support = post_type_supports( 'attachment:video', 'thumbnail' ) || current_theme_supports( 'post-thumbnails', 'attachment:video' );
        }
 }
@@ -63,35 +70,40 @@ add_action( 'admin_footer', '_local_storage_notice' );
 /*
  * @todo Document the $messages array(s).
  */
+$permalink = get_permalink( $post_ID );
+if ( ! $permalink ) {
+       $permalink = '';
+}
+
 $messages = array();
 $messages['post'] = array(
         0 => '', // Unused. Messages start at index 1.
-        1 => sprintf( __('Post updated. <a href="%s">View post</a>'), esc_url( get_permalink($post_ID) ) ),
+        1 => sprintf( __('Post updated. <a href="%s">View post</a>'), esc_url( $permalink ) ),
         2 => __('Custom field updated.'),
         3 => __('Custom field deleted.'),
         4 => __('Post updated.'),
        /* translators: %s: date and time of the revision */
         5 => isset($_GET['revision']) ? sprintf( __('Post restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
-        6 => sprintf( __('Post published. <a href="%s">View post</a>'), esc_url( get_permalink($post_ID) ) ),
+        6 => sprintf( __('Post published. <a href="%s">View post</a>'), esc_url( $permalink ) ),
         7 => __('Post saved.'),
-        8 => sprintf( __('Post submitted. <a target="_blank" href="%s">Preview post</a>'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),
+        8 => sprintf( __('Post submitted. <a target="_blank" href="%s">Preview post</a>'), esc_url( add_query_arg( 'preview', 'true', $permalink ) ) ),
         9 => sprintf( __('Post scheduled for: <strong>%1$s</strong>. <a target="_blank" href="%2$s">Preview post</a>'),
                /* translators: Publish box date format, see http://php.net/date */
-               date_i18n( __( 'M j, Y @ 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) ) ) ),
+               date_i18n( __( 'M j, Y @ H:i' ), strtotime( $post->post_date ) ), esc_url( $permalink ) ),
+       10 => sprintf( __('Post draft updated. <a target="_blank" href="%s">Preview post</a>'), esc_url( add_query_arg( 'preview', 'true', $permalink ) ) ),
 );
 $messages['page'] = array(
         0 => '', // Unused. Messages start at index 1.
-        1 => sprintf( __('Page updated. <a href="%s">View page</a>'), esc_url( get_permalink($post_ID) ) ),
+        1 => sprintf( __('Page updated. <a href="%s">View page</a>'), esc_url( $permalink ) ),
         2 => __('Custom field updated.'),
         3 => __('Custom field deleted.'),
         4 => __('Page updated.'),
         5 => isset($_GET['revision']) ? sprintf( __('Page restored to revision from %s'), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
-        6 => sprintf( __('Page published. <a href="%s">View page</a>'), esc_url( get_permalink($post_ID) ) ),
+        6 => sprintf( __('Page published. <a href="%s">View page</a>'), esc_url( $permalink ) ),
         7 => __('Page saved.'),
-        8 => sprintf( __('Page submitted. <a target="_blank" href="%s">Preview page</a>'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),
-        9 => sprintf( __('Page scheduled for: <strong>%1$s</strong>. <a target="_blank" href="%2$s">Preview page</a>'), date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->post_date ) ), esc_url( get_permalink($post_ID) ) ),
-       10 => sprintf( __('Page draft updated. <a target="_blank" href="%s">Preview page</a>'), esc_url( add_query_arg( 'preview', 'true', get_permalink($post_ID) ) ) ),
+        8 => sprintf( __('Page submitted. <a target="_blank" href="%s">Preview page</a>'), esc_url( add_query_arg( 'preview', 'true', $permalink ) ) ),
+        9 => sprintf( __('Page scheduled for: <strong>%1$s</strong>. <a target="_blank" href="%2$s">Preview page</a>'), date_i18n( __( 'M j, Y @ H:i' ), strtotime( $post->post_date ) ), esc_url( $permalink ) ),
+       10 => sprintf( __('Page draft updated. <a target="_blank" href="%s">Preview page</a>'), esc_url( add_query_arg( 'preview', 'true', $permalink ) ) ),
 );
 $messages['attachment'] = array_fill( 1, 10, __( 'Media attachment updated.' ) ); // Hack, for now.
 
@@ -166,7 +178,7 @@ if ( 'attachment' == $post_type ) {
        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/' ) ) {
+       if ( wp_attachment_is( 'audio', $post ) ) {
                add_meta_box( 'attachment-id3', __( 'Metadata' ), 'attachment_id3_data_meta_box', null, 'normal', 'core' );
        }
 } else {
@@ -297,7 +309,7 @@ if ( 'post' == $post_type ) {
        get_current_screen()->set_help_sidebar(
                        '<p>' . sprintf(__('You can also create posts with the <a href="%s">Press This bookmarklet</a>.'), 'options-writing.php') . '</p>' .
                        '<p><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="https://codex.wordpress.org/Posts_Add_New_Screen" target="_blank">Documentation on Writing and Editing Posts</a>') . '</p>' .
                        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
        );
 } elseif ( 'page' == $post_type ) {
@@ -312,8 +324,8 @@ 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_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="https://codex.wordpress.org/Pages_Add_New_Screen" target="_blank">Documentation on Adding New Pages</a>') . '</p>' .
+                       '<p>' . __('<a href="https://codex.wordpress.org/Pages_Screen#Editing_Individual_Pages" target="_blank">Documentation on Editing Pages</a>') . '</p>' .
                        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
        );
 } elseif ( 'attachment' == $post_type ) {
@@ -329,14 +341,14 @@ 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="https://codex.wordpress.org/Media_Add_New_Screen#Edit_Media" target="_blank">Documentation on Edit Media</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
        );
 }
 
 if ( 'post' == $post_type || 'page' == $post_type ) {
        $inserting_media = '<p>' . __( 'You can upload and insert media (images, audio, documents, etc.) by clicking the Add Media button. You can select from the images and files already uploaded to the Media Library, or upload new media to add to your page or post. To create an image gallery, select the images to add and click the &#8220;Create a new gallery&#8221; button.' ) . '</p>';
-       $inserting_media .= '<p>' . __( 'You can also embed media from many popular websites including Twitter, YouTube, Flickr and others by pasting the media URL on its own line into the content of your post/page. Please refer to the Codex to <a href="http://codex.wordpress.org/Embeds">learn more about embeds</a>.' ) . '</p>';
+       $inserting_media .= '<p>' . __( 'You can also embed media from many popular websites including Twitter, YouTube, Flickr and others by pasting the media URL on its own line into the content of your post/page. Please refer to the Codex to <a href="https://codex.wordpress.org/Embeds">learn more about embeds</a>.' ) . '</p>';
 
        get_current_screen()->add_help_tab( array(
                'id'            => 'inserting-media',
@@ -350,7 +362,7 @@ if ( 'post' == $post_type ) {
        $publish_box .= '<ul><li>' . __('<strong>Publish</strong> - You can set the terms of publishing your post in the Publish box. For Status, Visibility, and Publish (immediately), click on the Edit link to reveal more options. Visibility includes options for password-protecting a post or making it stay at the top of your blog indefinitely (sticky). Publish (immediately) allows you to set a future or past date and time, so you can schedule a post to be published in the future or backdate a post.') . '</li>';
 
        if ( current_theme_supports( 'post-formats' ) && post_type_supports( 'post', 'post-formats' ) ) {
-               $publish_box .= '<li>' . __( '<strong>Format</strong> - Post Formats designate how your theme will display a specific post. For example, you could have a <em>standard</em> blog post with a title and paragraphs, or a short <em>aside</em> that omits the title and contains a short text blurb. Please refer to the Codex for <a href="http://codex.wordpress.org/Post_Formats#Supported_Formats">descriptions of each post format</a>. Your theme could enable all or some of 10 possible formats.' ) . '</li>';
+               $publish_box .= '<li>' . __( '<strong>Format</strong> - Post Formats designate how your theme will display a specific post. For example, you could have a <em>standard</em> blog post with a title and paragraphs, or a short <em>aside</em> that omits the title and contains a short text blurb. Please refer to the Codex for <a href="https://codex.wordpress.org/Post_Formats#Supported_Formats">descriptions of each post format</a>. Your theme could enable all or some of 10 possible formats.' ) . '</li>';
        }
 
        if ( current_theme_supports( 'post-thumbnails' ) && post_type_supports( 'post', 'thumbnail' ) ) {
@@ -398,7 +410,7 @@ if ( isset( $post_new_file ) && current_user_can( $post_type_object->cap->create
 <div id="notice" class="notice notice-warning"><p id="has-newer-autosave"><?php echo $notice ?></p></div>
 <?php endif; ?>
 <?php if ( $message ) : ?>
-<div id="message" class="updated"><p><?php echo $message; ?></p></div>
+<div id="message" class="updated notice notice-success is-dismissible"><p><?php echo $message; ?></p></div>
 <?php endif; ?>
 <div id="lost-connection-notice" class="error hidden">
        <p><span class="spinner"></span> <?php _e( '<strong>Connection lost.</strong> Saving has been disabled until you&#8217;re reconnected.' ); ?>
@@ -414,6 +426,8 @@ if ( isset( $post_new_file ) && current_user_can( $post_type_object->cap->create
  * @param WP_Post $post Post object.
  */
 do_action( 'post_edit_form_tag', $post );
+
+$referer = wp_get_referer();
 ?>>
 <?php wp_nonce_field($nonce_action); ?>
 <input type="hidden" id="user-id" name="user_ID" value="<?php echo (int) $user_ID ?>" />
@@ -422,7 +436,7 @@ do_action( 'post_edit_form_tag', $post );
 <input type="hidden" id="post_author" name="post_author" value="<?php echo esc_attr( $post->post_author ); ?>" />
 <input type="hidden" id="post_type" name="post_type" value="<?php echo esc_attr( $post_type ) ?>" />
 <input type="hidden" id="original_post_status" name="original_post_status" value="<?php echo esc_attr( $post->post_status) ?>" />
-<input type="hidden" id="referredby" name="referredby" value="<?php echo esc_url(wp_get_referer()); ?>" />
+<input type="hidden" id="referredby" name="referredby" value="<?php echo $referer ? esc_url( $referer ) : ''; ?>" />
 <?php if ( ! empty( $active_post_lock ) ) { ?>
 <input type="hidden" id="active_post_lock" value="<?php echo esc_attr( implode( ':', $active_post_lock ) ); ?>" />
 <?php
@@ -483,7 +497,7 @@ do_action( 'edit_form_before_permalink', $post );
 <?php
 $sample_permalink_html = $post_type_object->public ? get_sample_permalink_html($post->ID) : '';
 $shortlink = wp_get_shortlink($post->ID, 'post');
-$permalink = get_permalink( $post->ID );
+
 if ( !empty( $shortlink ) && $shortlink !== $permalink && $permalink !== home_url('?page_id=' . $post->ID) )
     $sample_permalink_html .= '<input id="shortlink" type="hidden" value="' . esc_attr($shortlink) . '" /><a href="#" class="button button-small" onclick="prompt(&#39;URL:&#39;, jQuery(\'#shortlink\').val()); return false;">' . __('Get Shortlink') . '</a>';
 
index d6e3d4e1a05880e90b349b16cddd9c039d482f93..c27164ed08c3a298ef8fb136b47378dc2f6f6ed0 100644 (file)
@@ -16,7 +16,6 @@ if ( !defined('ABSPATH') )
 <h2><?php _e('Edit Comment'); ?></h2>
 
 <div id="poststuff">
-<input type="hidden" name="user_ID" value="<?php echo (int) $user_ID; ?>" />
 <input type="hidden" name="action" value="editedcomment" />
 <input type="hidden" name="comment_ID" value="<?php echo esc_attr( $comment->comment_ID ); ?>" />
 <input type="hidden" name="comment_post_ID" value="<?php echo esc_attr( $comment->comment_post_ID ); ?>" />
@@ -48,8 +47,9 @@ if ( !defined('ABSPATH') )
        <?php
                if ( ! empty( $comment->comment_author_url ) && 'http://' != $comment->comment_author_url ) {
                        $link = '<a href="' . $comment->comment_author_url . '" rel="external nofollow" target="_blank">' . __('visit site') . '</a>';
+                       $author = get_comment_author( $comment->comment_ID );
                        /** This filter is documented in wp-includes/comment-template.php */
-                       printf( __( 'URL (%s):' ), apply_filters( 'get_comment_author_link', $link ) );
+                       printf( __( 'URL (%s):' ), apply_filters( 'get_comment_author_link', $link, $author, $comment->comment_ID ) );
                } else {
                        _e( 'URL:' );
                } ?></td>
@@ -100,13 +100,39 @@ if ( !defined('ABSPATH') )
 <div class="misc-pub-section curtime misc-pub-curtime">
 <?php
 /* translators: Publish box date format, see http://php.net/date */
-$datef = __( 'M j, Y @ G:i' );
+$datef = __( 'M j, Y @ H:i' );
 $stamp = __('Submitted on: <b>%1$s</b>');
 $date = date_i18n( $datef, strtotime( $comment->comment_date ) );
 ?>
 <span id="timestamp"><?php printf($stamp, $date); ?></span>&nbsp;<a href="#edit_timestamp" class="edit-timestamp hide-if-no-js"><?php _e('Edit') ?></a>
 <div id='timestampdiv' class='hide-if-js'><?php touch_time(('editcomment' == $action), 0); ?></div>
 </div>
+
+<?php
+$post_id = $comment->comment_post_ID;
+if ( current_user_can( 'edit_post', $post_id ) ) {
+       $post_link = "<a href='" . esc_url( get_edit_post_link( $post_id ) ) . "'>";
+       $post_link .= esc_html( get_the_title( $post_id ) ) . '</a>';
+} else {
+       $post_link = esc_html( get_the_title( $post_id ) );
+}
+?>
+
+<div class="misc-pub-section misc-pub-response-to">
+       <?php printf( __( 'In response to: <b>%s</b>' ), $post_link ); ?>
+</div>
+
+<?php
+if ( $comment->comment_parent ) :
+       $parent      = get_comment( $comment->comment_parent );
+       $parent_link = esc_url( get_comment_link( $comment->comment_parent ) );
+       $name        = get_comment_author( $parent->comment_ID );
+?>
+<div class="misc-pub-section misc-pub-reply-to">
+       <?php printf( __( 'In reply to: <b><a href="%1$s">%2$s</a></b>' ), $parent_link, $name ); ?>
+</div>
+<?php endif; ?>
+
 </div> <!-- misc actions -->
 <div class="clear"></div>
 </div>
@@ -141,12 +167,13 @@ do_action( 'add_meta_boxes_comment', $comment );
 
 do_meta_boxes(null, 'normal', $comment);
 
+$referer = wp_get_referer();
 ?>
 </div>
 
 <input type="hidden" name="c" value="<?php echo esc_attr($comment->comment_ID) ?>" />
 <input type="hidden" name="p" value="<?php echo esc_attr($comment->comment_post_ID) ?>" />
-<input name="referredby" type="hidden" id="referredby" value="<?php echo esc_url( wp_get_referer() ); ?>" />
+<input name="referredby" type="hidden" id="referredby" value="<?php echo $referer ? esc_url( $referer ) : ''; ?>" />
 <?php wp_original_referer_field(true, 'previous'); ?>
 <input type="hidden" name="noredir" value="1" />
 
index 610240a0c4731a4712491c36d86583bf9510de3e..f326689dad20a3d037d84237a3bb232e587dcb63 100644 (file)
@@ -62,7 +62,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="https://codex.wordpress.org/Links_Add_New_Screen" target="_blank">Documentation on Creating Links</a>' ) . '</p>' .
        '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
@@ -73,7 +73,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 <h2><?php echo esc_html( $title ); ?>  <a href="link-add.php" class="add-new-h2"><?php echo esc_html_x('Add New', 'link'); ?></a></h2>
 
 <?php if ( isset( $_GET['added'] ) ) : ?>
-<div id="message" class="updated"><p><?php _e('Link added.'); ?></p></div>
+<div id="message" class="updated notice is-dismissible"><p><?php _e('Link added.'); ?></p></div>
 <?php endif; ?>
 
 <form name="<?php echo esc_attr( $form_name ); ?>" id="<?php echo esc_attr( $form_name ); ?>" method="post" action="link.php">
index 94a26bbdd29d6450fa98286e8def9fcd8848ef8b..7e2d9377854152ae56c31174708d636ac0826bad 100644 (file)
@@ -11,7 +11,7 @@ if ( !defined('ABSPATH') )
        die('-1');
 
 if ( empty($tag_ID) ) { ?>
-       <div id="message" class="updated"><p><strong><?php _e( 'You did not select an item for editing.' ); ?></strong></p></div>
+       <div id="message" class="updated notice is-dismissible"><p><strong><?php _e( 'You did not select an item for editing.' ); ?></strong></p></div>
 <?php
        return;
 }
@@ -91,14 +91,19 @@ do_action( "{$taxonomy}_term_edit_form_tag" );
                        <th scope="row"><label for="slug"><?php _e( 'Slug' ); ?></label></th>
                        <?php
                        /**
-                        * Filter the editable term slug.
+                        * Filter the editable slug.
+                        *
+                        * Note: This is a multi-use hook in that it is leveraged both for editable
+                        * post URIs and term slugs.
                         *
                         * @since 2.6.0
                         *
-                        * @param string $slug The current term slug.
+                        * @param string $slug The editable slug. Will be either a term slug or post URI depending
+                        *                     upon the context in which it is evaluated.
                         */
+                       $slug = isset( $tag->slug ) ? apply_filters( 'editable_slug', $tag->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" />
+                       <td><input name="slug" id="slug" type="text" value="<?php echo esc_attr( $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 } ?>
@@ -106,7 +111,22 @@ do_action( "{$taxonomy}_term_edit_form_tag" );
                <tr class="form-field term-parent-wrap">
                        <th scope="row"><label for="parent"><?php _ex( 'Parent', 'term 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
+                               $dropdown_args = array(
+                                       'hide_empty'       => 0,
+                                       'hide_if_empty'    => false,
+                                       'taxonomy'         => $taxonomy,
+                                       'name'             => 'parent',
+                                       'orderby'          => 'name',
+                                       'selected'         => $tag->parent,
+                                       'exclude_tree'     => $tag->term_id,
+                                       'hierarchical'     => true,
+                                       'show_option_none' => __( 'None' ),
+                               );
+
+                               /** This filter is documented in wp-admin/edit-tags.php */
+                               $dropdown_args = apply_filters( 'taxonomy_parent_dropdown_args', $dropdown_args, $taxonomy, 'edit' );
+                               wp_dropdown_categories( $dropdown_args ); ?>
                                <?php if ( 'category' == $taxonomy ) : ?>
                                <p class="description"><?php _e('Categories, unlike tags, can have a hierarchy. You might have a Jazz category, and under that have children categories for Bebop and Big Band. Totally optional.'); ?></p>
                                <?php endif; ?>
index e0cd746ed4166164c0fb02a844eb324b9d0015eb..7afbec8bcd8215234cd115322bd2a227eaec480b 100644 (file)
@@ -20,6 +20,9 @@ if ( ! $tax )
 if ( ! current_user_can( $tax->cap->manage_terms ) )
        wp_die( __( 'Cheatin&#8217; uh?' ), 403 );
 
+// $post_type is set when the WP_Terms_List_Table instance is created
+global $post_type;
+
 $wp_list_table = _get_list_table('WP_Terms_List_Table');
 $pagenum = $wp_list_table->get_pagenum();
 
@@ -28,7 +31,7 @@ $title = $tax->labels->name;
 if ( 'post' != $post_type ) {
        $parent_file = ( 'attachment' == $post_type ) ? 'upload.php' : "edit.php?post_type=$post_type";
        $submenu_file = "edit-tags.php?taxonomy=$taxonomy&amp;post_type=$post_type";
-} else if ( 'link_category' == $tax->name ) {
+} elseif ( 'link_category' == $tax->name ) {
        $parent_file = 'link-manager.php';
        $submenu_file = 'edit-tags.php?taxonomy=link_category';
 } else {
@@ -36,7 +39,7 @@ if ( 'post' != $post_type ) {
        $submenu_file = "edit-tags.php?taxonomy=$taxonomy";
 }
 
-add_screen_option( 'per_page', array( 'label' => $title, 'default' => 20, 'option' => 'edit_' . $tax->name . '_per_page' ) );
+add_screen_option( 'per_page', array( 'default' => 20, 'option' => 'edit_' . $tax->name . '_per_page' ) );
 
 $location = false;
 
@@ -62,7 +65,7 @@ case 'add-tag':
        if ( $ret && !is_wp_error( $ret ) )
                $location = add_query_arg( 'message', 1, $location );
        else
-               $location = add_query_arg( 'message', 4, $location );
+               $location = add_query_arg( array( 'error' => true, 'message' => 4 ), $location );
 
        break;
 
@@ -153,7 +156,7 @@ case 'editedtag':
        if ( $ret && !is_wp_error( $ret ) )
                $location = add_query_arg( 'message', 3, $location );
        else
-               $location = add_query_arg( 'message', 5, $location );
+               $location = add_query_arg( array( 'error' => true, 'message' => 5 ), $location );
        break;
 }
 
@@ -230,11 +233,11 @@ if ( 'category' == $taxonomy || 'link_category' == $taxonomy || 'post_tag' == $t
        $help = '<p><strong>' . __( 'For more information:' ) . '</strong></p>';
 
        if ( 'category' == $taxonomy )
-               $help .= '<p>' . __( '<a href="http://codex.wordpress.org/Posts_Categories_Screen" target="_blank">Documentation on Categories</a>' ) . '</p>';
+               $help .= '<p>' . __( '<a href="https://codex.wordpress.org/Posts_Categories_Screen" target="_blank">Documentation on Categories</a>' ) . '</p>';
        elseif ( 'link_category' == $taxonomy )
-               $help .= '<p>' . __( '<a href="http://codex.wordpress.org/Links_Link_Categories_Screen" target="_blank">Documentation on Link Categories</a>' ) . '</p>';
+               $help .= '<p>' . __( '<a href="https://codex.wordpress.org/Links_Link_Categories_Screen" target="_blank">Documentation on Link Categories</a>' ) . '</p>';
        else
-               $help .= '<p>' . __( '<a href="http://codex.wordpress.org/Posts_Tags_Screen" target="_blank">Documentation on Tags</a>' ) . '</p>';
+               $help .= '<p>' . __( '<a href="https://codex.wordpress.org/Posts_Tags_Screen" target="_blank">Documentation on Tags</a>' ) . '</p>';
 
        $help .= '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>';
 
@@ -294,6 +297,7 @@ if ( isset( $_REQUEST['message'] ) && ( $msg = (int) $_REQUEST['message'] ) ) {
                $message = $messages['_item'][ $msg ];
 }
 
+$class = ( isset( $_REQUEST['error'] ) ) ? 'error' : 'updated';
 ?>
 
 <div class="wrap nosubsub">
@@ -303,12 +307,12 @@ if ( !empty($_REQUEST['s']) )
 </h2>
 
 <?php if ( $message ) : ?>
-<div id="message" class="updated"><p><?php echo $message; ?></p></div>
-<?php $_SERVER['REQUEST_URI'] = remove_query_arg(array('message'), $_SERVER['REQUEST_URI']);
+<div id="message" class="<?php echo $class; ?> notice is-dismissible"><p><?php echo $message; ?></p></div>
+<?php $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'message', 'error' ), $_SERVER['REQUEST_URI'] );
 endif; ?>
 <div id="ajax-response"></div>
 
-<form class="search-form" action="" method="get">
+<form class="search-form" method="get">
 <input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy); ?>" />
 <input type="hidden" name="post_type" value="<?php echo esc_attr($post_type); ?>" />
 
@@ -321,7 +325,7 @@ endif; ?>
 
 <div id="col-right">
 <div class="col-wrap">
-<form id="posts-filter" action="" method="post">
+<form id="posts-filter" method="post">
 <input type="hidden" name="taxonomy" value="<?php echo esc_attr($taxonomy); ?>" />
 <input type="hidden" name="post_type" value="<?php echo esc_attr($post_type); ?>" />
 
@@ -478,6 +482,7 @@ do_action( "{$taxonomy}_term_new_form_tag" );
         * Filter the taxonomy parent drop-down on the Edit Term page.
         *
         * @since 3.7.0
+        * @since 4.2.0 Added `$context` parameter.
         *
         * @param array  $dropdown_args {
         *     An array of taxonomy parent drop-down arguments.
@@ -492,8 +497,10 @@ do_action( "{$taxonomy}_term_new_form_tag" );
         *     @type string   $show_option_none Label to display if there are no terms. Default 'None'.
         * }
         * @param string $taxonomy The taxonomy slug.
+        * @param string $context  Filter context. Accepts 'new' or 'edit'.
         */
-       $dropdown_args = apply_filters( 'taxonomy_parent_dropdown_args', $dropdown_args, $taxonomy );
+       $dropdown_args = apply_filters( 'taxonomy_parent_dropdown_args', $dropdown_args, $taxonomy, 'new' );
+
        wp_dropdown_categories( $dropdown_args );
        ?>
        <?php if ( 'category' == $taxonomy ) : // @todo: Generic text for hierarchical taxonomies ?>
@@ -520,7 +527,7 @@ if ( ! is_taxonomy_hierarchical( $taxonomy ) ) {
 }
 
 /**
- * Fires after the Add Term form fields for hierarchical taxonomies.
+ * Fires after the Add Term form fields.
  *
  * The dynamic portion of the hook name, `$taxonomy`, refers to the taxonomy slug.
  *
index b5c4cde6ff2c2b4c622333facbbe00ce3c89f131..ad8c0786814cb843cf3568d3eda1f74b9a71503b 100644 (file)
@@ -18,6 +18,8 @@ if ( 'attachment' === $typenow ) {
        }
 }
 
+global $post_type, $post_type_object;
+
 $post_type = $typenow;
 $post_type_object = get_post_type_object( $post_type );
 
@@ -206,7 +208,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="https://codex.wordpress.org/Posts_Screen" target="_blank">Documentation on Managing Posts</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
        );
 
@@ -227,12 +229,12 @@ 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="https://codex.wordpress.org/Pages_Screen" target="_blank">Documentation on Managing Pages</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
        );
 }
 
-add_screen_option( 'per_page', array( 'label' => $title, 'default' => 20, 'option' => 'edit_' . $post_type . '_per_page' ) );
+add_screen_option( 'per_page', array( 'default' => 20, 'option' => 'edit_' . $post_type . '_per_page' ) );
 
 $bulk_counts = array(
        'updated'   => isset( $_REQUEST['updated'] )   ? absint( $_REQUEST['updated'] )   : 0,
@@ -245,14 +247,16 @@ $bulk_counts = array(
 $bulk_messages = array();
 $bulk_messages['post'] = array(
        'updated'   => _n( '%s post updated.', '%s posts updated.', $bulk_counts['updated'] ),
-       'locked'    => _n( '%s post not updated, somebody is editing it.', '%s posts not updated, somebody is editing them.', $bulk_counts['locked'] ),
+       'locked'    => ( 1 == $bulk_counts['locked'] ) ? __( '1 post not updated, somebody is editing it.' ) :
+                          _n( '%s post not updated, somebody is editing it.', '%s posts not updated, somebody is editing them.', $bulk_counts['locked'] ),
        'deleted'   => _n( '%s post permanently deleted.', '%s posts permanently deleted.', $bulk_counts['deleted'] ),
        'trashed'   => _n( '%s post moved to the Trash.', '%s posts moved to the Trash.', $bulk_counts['trashed'] ),
        'untrashed' => _n( '%s post restored from the Trash.', '%s posts restored from the Trash.', $bulk_counts['untrashed'] ),
 );
 $bulk_messages['page'] = array(
        'updated'   => _n( '%s page updated.', '%s pages updated.', $bulk_counts['updated'] ),
-       'locked'    => _n( '%s page not updated, somebody is editing it.', '%s pages not updated, somebody is editing them.', $bulk_counts['locked'] ),
+       'locked'    => ( 1 == $bulk_counts['locked'] ) ? __( '1 page not updated, somebody is editing it.' ) :
+                          _n( '%s page not updated, somebody is editing it.', '%s pages not updated, somebody is editing them.', $bulk_counts['locked'] ),
        'deleted'   => _n( '%s page permanently deleted.', '%s pages permanently deleted.', $bulk_counts['deleted'] ),
        'trashed'   => _n( '%s page moved to the Trash.', '%s pages moved to the Trash.', $bulk_counts['trashed'] ),
        'untrashed' => _n( '%s page restored from the Trash.', '%s pages restored from the Trash.', $bulk_counts['untrashed'] ),
@@ -299,7 +303,7 @@ foreach ( $bulk_counts as $message => $count ) {
 }
 
 if ( $messages )
-       echo '<div id="message" class="updated"><p>' . join( ' ', $messages ) . '</p></div>';
+       echo '<div id="message" class="updated notice is-dismissible"><p>' . join( ' ', $messages ) . '</p></div>';
 unset( $messages );
 
 $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'locked', 'skipped', 'updated', 'deleted', 'trashed', 'untrashed' ), $_SERVER['REQUEST_URI'] );
@@ -307,7 +311,7 @@ $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'locked', 'skipped', 'updated
 
 <?php $wp_list_table->views(); ?>
 
-<form id="posts-filter" action="" method="get">
+<form id="posts-filter" method="get">
 
 <?php $wp_list_table->search_box( $post_type_object->labels->search_items, 'post' ); ?>
 
index 78ccf13e106e123417df5f3ee3b01ecc31a0844a..daba6e360e2df707b04779467d8e06b8ba7bdc7b 100644 (file)
@@ -24,7 +24,6 @@ $title = __('Export');
 function export_add_js() {
 ?>
 <script type="text/javascript">
-//<![CDATA[
        jQuery(document).ready(function($){
                var form = $('#export-filters'),
                        filters = form.find('.export-filters');
@@ -37,7 +36,6 @@ function export_add_js() {
                        }
                });
        });
-//]]>
 </script>
 <?php
 }
@@ -52,7 +50,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="https://codex.wordpress.org/Tools_Export_Screen" target="_blank">Documentation on Export</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -62,7 +60,7 @@ if ( isset( $_GET['download'] ) ) {
 
        if ( ! isset( $_GET['content'] ) || 'all' == $_GET['content'] ) {
                $args['content'] = 'all';
-       } else if ( 'posts' == $_GET['content'] ) {
+       } elseif ( 'posts' == $_GET['content'] ) {
                $args['content'] = 'post';
 
                if ( $_GET['cat'] )
@@ -78,7 +76,7 @@ if ( isset( $_GET['download'] ) ) {
 
                if ( $_GET['post_status'] )
                        $args['status'] = $_GET['post_status'];
-       } else if ( 'pages' == $_GET['content'] ) {
+       } elseif ( 'pages' == $_GET['content'] ) {
                $args['content'] = 'page';
 
                if ( $_GET['page_author'] )
@@ -152,7 +150,7 @@ function export_date_options( $post_type = 'post' ) {
 <p><?php _e('Once you&#8217;ve saved the download file, you can use the Import function in another WordPress installation to import the content from this site.'); ?></p>
 
 <h3><?php _e( 'Choose what to export' ); ?></h3>
-<form action="" method="get" id="export-filters">
+<form method="get" id="export-filters">
 <input type="hidden" name="download" value="true" />
 <p><label><input type="radio" name="content" value="all" checked="checked" /> <?php _e( 'All content' ); ?></label></p>
 <p class="description"><?php _e( 'This will contain all of your posts, pages, comments, custom fields, terms, navigation menus and custom posts.' ); ?></p>
index 7d8dadb132dff3aad9ace904c6daf0a1cc4d1e77..209fb5adc91c32864a4a3c6ddab57557e2c8ef0e 100644 (file)
@@ -19,7 +19,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 
 <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
 
-<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s helps you focus on your writing, and the new default theme lets you show it off in style.' ), $display_version ); ?></div>
+<div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s helps you communicate and share, globally.' ), $display_version ); ?></div>
 
 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
 
index da5e5dff025eb2fbc63ed3ab1c338050d13d0340..ba26fef0d8e0a1882c8d0a404a7a68aaff7362f9 100644 (file)
@@ -1 +1 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="64px" height="64px" viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve"><style>.style0{fill:       #0074A2;}</style><g><g><path d="M4.548 31.999c0 10.9 6.3 20.3 15.5 24.706L6.925 20.827C5.402 24.2 4.5 28 4.5 31.999z M50.531 30.614c0-3.394-1.219-5.742-2.264-7.57c-1.391-2.263-2.695-4.177-2.695-6.439c0-2.523 1.912-4.872 4.609-4.872 c0.121 0 0.2 0 0.4 0.022C45.653 7.3 39.1 4.5 32 4.548c-9.591 0-18.027 4.921-22.936 12.4 c0.645 0 1.3 0 1.8 0.033c2.871 0 7.316-0.349 7.316-0.349c1.479-0.086 1.7 2.1 0.2 2.3 c0 0-1.487 0.174-3.142 0.261l9.997 29.735l6.008-18.017l-4.276-11.718c-1.479-0.087-2.879-0.261-2.879-0.261 c-1.48-0.087-1.306-2.349 0.174-2.262c0 0 4.5 0.3 7.2 0.349c2.87 0 7.317-0.349 7.317-0.349 c1.479-0.086 1.7 2.1 0.2 2.262c0 0-1.489 0.174-3.142 0.261l9.92 29.508l2.739-9.148 C49.628 35.7 50.5 33 50.5 30.614z M32.481 34.4l-8.237 23.934c2.46 0.7 5.1 1.1 7.8 1.1 c3.197 0 6.262-0.552 9.116-1.556c-0.072-0.118-0.141-0.243-0.196-0.379L32.481 34.4z M56.088 18.8 c0.119 0.9 0.2 1.8 0.2 2.823c0 2.785-0.521 5.916-2.088 9.832l-8.385 24.242c8.161-4.758 13.65-13.6 13.65-23.728 C59.451 27.2 58.2 22.7 56.1 18.83z M32 0c-17.645 0-32 14.355-32 32C0 49.6 14.4 64 32 64s32-14.355 32-32.001 C64 14.4 49.6 0 32 0z M32 62.533c-16.835 0-30.533-13.698-30.533-30.534C1.467 15.2 15.2 1.5 32 1.5 s30.534 13.7 30.5 30.532C62.533 48.8 48.8 62.5 32 62.533z" class="style0"/></g></g></svg>
\ No newline at end of file
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="64px" height="64px" viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve"><style>.style0{fill:       #0073aa;}</style><g><g><path d="M4.548 31.999c0 10.9 6.3 20.3 15.5 24.706L6.925 20.827C5.402 24.2 4.5 28 4.5 31.999z M50.531 30.614c0-3.394-1.219-5.742-2.264-7.57c-1.391-2.263-2.695-4.177-2.695-6.439c0-2.523 1.912-4.872 4.609-4.872 c0.121 0 0.2 0 0.4 0.022C45.653 7.3 39.1 4.5 32 4.548c-9.591 0-18.027 4.921-22.936 12.4 c0.645 0 1.3 0 1.8 0.033c2.871 0 7.316-0.349 7.316-0.349c1.479-0.086 1.7 2.1 0.2 2.3 c0 0-1.487 0.174-3.142 0.261l9.997 29.735l6.008-18.017l-4.276-11.718c-1.479-0.087-2.879-0.261-2.879-0.261 c-1.48-0.087-1.306-2.349 0.174-2.262c0 0 4.5 0.3 7.2 0.349c2.87 0 7.317-0.349 7.317-0.349 c1.479-0.086 1.7 2.1 0.2 2.262c0 0-1.489 0.174-3.142 0.261l9.92 29.508l2.739-9.148 C49.628 35.7 50.5 33 50.5 30.614z M32.481 34.4l-8.237 23.934c2.46 0.7 5.1 1.1 7.8 1.1 c3.197 0 6.262-0.552 9.116-1.556c-0.072-0.118-0.141-0.243-0.196-0.379L32.481 34.4z M56.088 18.8 c0.119 0.9 0.2 1.8 0.2 2.823c0 2.785-0.521 5.916-2.088 9.832l-8.385 24.242c8.161-4.758 13.65-13.6 13.65-23.728 C59.451 27.2 58.2 22.7 56.1 18.83z M32 0c-17.645 0-32 14.355-32 32C0 49.6 14.4 64 32 64s32-14.355 32-32.001 C64 14.4 49.6 0 32 0z M32 62.533c-16.835 0-30.533-13.698-30.533-30.534C1.467 15.2 15.2 1.5 32 1.5 s30.534 13.7 30.5 30.532C62.533 48.8 48.8 62.5 32 62.533z" class="style0"/></g></g></svg>
\ No newline at end of file
index e6f05e0eb332997d243575f3d536c10357c2af64..0f427760b45d0ce14f24029cb0c19afb5a2be455 100644 (file)
@@ -25,7 +25,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="https://codex.wordpress.org/Tools_Import_Screen" target="_blank">Documentation on Import</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -76,10 +76,9 @@ if ( empty( $importers ) ) {
 } else {
        uasort( $importers, '_usort_by_first_member' );
 ?>
-<table class="widefat importers">
+<table class="widefat importers striped">
 
 <?php
-       $alt = '';
        foreach ($importers as $importer_id => $data) {
                $action = '';
                if ( isset( $data['install'] ) ) {
@@ -108,9 +107,8 @@ if ( empty( $importers ) ) {
                        $action = "<a href='" . esc_url( "admin.php?import=$importer_id" ) . "' title='" . esc_attr( wptexturize( strip_tags( $data[1] ) ) ) ."'>{$data[0]}</a>";
                }
 
-               $alt = $alt ? '' : ' class="alternate"';
                echo "
-                       <tr$alt>
+                       <tr>
                                <td class='import-system row-title'>$action</td>
                                <td class='desc'>{$data[1]}</td>
                        </tr>";
index a18dbe7fa1a26a03ceb0a0a1591ce8f692231a51..40f8f5d195792e9cadabee569961bc163106646d 100644 (file)
@@ -172,7 +172,7 @@ function wp_ajax_wp_compression_test() {
                header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
                header( 'Cache-Control: no-cache, must-revalidate, max-age=0' );
                header( 'Pragma: no-cache' );
-               header('Content-Type: application/x-javascript; charset=UTF-8');
+               header('Content-Type: application/javascript; charset=UTF-8');
                $force_gzip = ( defined('ENFORCE_GZIP') && ENFORCE_GZIP );
                $test_str = '"wpCompressionTest Lorem ipsum dolor sit amet consectetuer mollis sapien urna ut a. Eu nonummy condimentum fringilla tempor pretium platea vel nibh netus Maecenas. Hac molestie amet justo quis pellentesque est ultrices interdum nibh Morbi. Cras mattis pretium Phasellus ante ipsum ipsum ut sociis Suspendisse Lorem. Ante et non molestie. Porta urna Vestibulum egestas id congue nibh eu risus gravida sit. Ac augue auctor Ut et non a elit massa id sodales. Elit eu Nulla at nibh adipiscing mattis lacus mauris at tempus. Netus nibh quis suscipit nec feugiat eget sed lorem et urna. Pellentesque lacus at ut massa consectetuer ligula ut auctor semper Pellentesque. Ut metus massa nibh quam Curabitur molestie nec mauris congue. Volutpat molestie elit justo facilisis neque ac risus Ut nascetur tristique. Vitae sit lorem tellus et quis Phasellus lacus tincidunt nunc Fusce. Pharetra wisi Suspendisse mus sagittis libero lacinia Integer consequat ac Phasellus. Et urna ac cursus tortor aliquam Aliquam amet tellus volutpat Vestibulum. Justo interdum condimentum In augue congue tellus sollicitudin Quisque quis nibh."';
 
@@ -379,7 +379,7 @@ function _wp_ajax_delete_comment_response( $comment_id, $delta = -1 ) {
                // Here for completeness - not used.
                'id' => $comment_id,
                'supplemental' => array(
-                       'total_items_i18n' => sprintf( _n( '1 item', '%s items', $total ), number_format_i18n( $total ) ),
+                       'total_items_i18n' => sprintf( _n( '%s item', '%s items', $total ), number_format_i18n( $total ) ),
                        'total_pages' => ceil( $total / $per_page ),
                        'total_pages_i18n' => number_format_i18n( ceil( $total / $per_page ) ),
                        'total' => $total,
@@ -422,10 +422,11 @@ function _wp_ajax_add_hierarchical_term() {
                        continue;
                if ( !$cat_id = term_exists( $cat_name, $taxonomy->name, $parent ) )
                        $cat_id = wp_insert_term( $cat_name, $taxonomy->name, array( 'parent' => $parent ) );
-               if ( is_wp_error( $cat_id ) )
+               if ( is_wp_error( $cat_id ) ) {
                        continue;
-               else if ( is_array( $cat_id ) )
+               } elseif ( is_array( $cat_id ) ) {
                        $cat_id = $cat_id['term_id'];
+               }
                $checked_categories[] = $cat_id;
                if ( $parent ) // Do these all at once in a second
                        continue;
@@ -741,10 +742,11 @@ function wp_ajax_add_link_category( $action ) {
                        continue;
                if ( !$cat_id = term_exists( $cat_name, 'link_category' ) )
                        $cat_id = wp_insert_term( $cat_name, 'link_category' );
-               if ( is_wp_error( $cat_id ) )
+               if ( is_wp_error( $cat_id ) ) {
                        continue;
-               else if ( is_array( $cat_id ) )
+               } elseif ( is_array( $cat_id ) ) {
                        $cat_id = $cat_id['term_id'];
+               }
                $cat_name = esc_html( $cat_name );
                $x->add( array(
                        'what' => 'link-category',
@@ -828,7 +830,7 @@ function wp_ajax_get_tagcloud() {
        if ( ! $tax ) {
                wp_die( 0 );
        }
-       
+
        if ( ! current_user_can( $tax->cap->assign_terms ) ) {
                wp_die( -1 );
        }
@@ -1089,7 +1091,7 @@ function wp_ajax_add_menu_item() {
                        }
 
                        $_menu_items = array_map( 'wp_setup_nav_menu_item', array( $_object ) );
-                       $_menu_item = array_shift( $_menu_items );
+                       $_menu_item = reset( $_menu_items );
 
                        // Restore the missing menu item properties
                        $menu_item_data['menu-item-description'] = $_menu_item->description;
@@ -1174,7 +1176,7 @@ function wp_ajax_add_meta() {
                        } else {
                                wp_die( 0 );
                        }
-               } else if ( !$mid = add_meta( $pid ) ) {
+               } elseif ( ! $mid = add_meta( $pid ) ) {
                        wp_die( __( 'Please provide a custom field value.' ) );
                }
 
@@ -1548,6 +1550,17 @@ function wp_ajax_inline_save() {
        if ( empty($data['ping_status']) )
                $data['ping_status'] = 'closed';
 
+       // Exclude terms from taxonomies that are not supposed to appear in Quick Edit.
+       if ( ! empty( $data['tax_input'] ) ) {
+               foreach ( $data['tax_input'] as $taxonomy => $terms ) {
+                       $tax_object = get_taxonomy( $taxonomy );
+                       /** This filter is documented in wp-admin/includes/class-wp-posts-list-table.php */
+                       if ( ! apply_filters( 'quick_edit_show_taxonomy', $tax_object->show_in_quick_edit, $taxonomy, $post['post_type'] ) ) {
+                               unset( $data['tax_input'][ $taxonomy ] );
+                       }
+               }
+       }
+
        // Hack: wp_unique_post_slug() doesn't work for drafts, so we will fake that our post is published.
        if ( ! empty( $data['post_name'] ) && in_array( $post['post_status'], array( 'draft', 'pending' ) ) ) {
                $post['post_status'] = 'publish';
@@ -1780,7 +1793,7 @@ function wp_ajax_save_widget() {
                if ( !$multi_number )
                        wp_die( $error );
 
-               $_POST['widget-' . $id_base] = array( $multi_number => array_shift($settings) );
+               $_POST[ 'widget-' . $id_base ] = array( $multi_number => reset( $settings ) );
                $widget_id = $id_base . '-' . $multi_number;
                $sidebar[] = $widget_id;
        }
@@ -1871,7 +1884,7 @@ function wp_ajax_upload_attachment() {
 
        // If the context is custom header or background, make sure the uploaded file is an image.
        if ( isset( $post_data['context'] ) && in_array( $post_data['context'], array( 'custom-header', 'custom-background' ) ) ) {
-               $wp_filetype = wp_check_filetype_and_ext( $_FILES['async-upload']['tmp_name'], $_FILES['async-upload']['name'], false );
+               $wp_filetype = wp_check_filetype_and_ext( $_FILES['async-upload']['tmp_name'], $_FILES['async-upload']['name'] );
                if ( ! wp_match_mime_types( 'image', $wp_filetype['type'] ) ) {
                        echo wp_json_encode( array(
                                'success' => false,
@@ -2189,11 +2202,17 @@ function wp_ajax_query_attachments() {
                wp_send_json_error();
 
        $query = isset( $_REQUEST['query'] ) ? (array) $_REQUEST['query'] : array();
-       $query = array_intersect_key( $query, array_flip( array(
+       $keys = array(
                's', 'order', 'orderby', 'posts_per_page', 'paged', 'post_mime_type',
                'post_parent', 'post__in', 'post__not_in', 'year', 'monthnum'
-       ) ) );
+       );
+       foreach ( get_taxonomies_for_attachments( 'objects' ) as $t ) {
+               if ( $t->query_var && isset( $query[ $t->query_var ] ) ) {
+                       $keys[] = $t->query_var;
+               }
+       }
 
+       $query = array_intersect_key( $query, array_flip( $keys ) );
        $query['post_type'] = 'attachment';
        if ( MEDIA_TRASH
                && ! empty( $_REQUEST['query']['post_status'] )
@@ -2248,6 +2267,9 @@ function wp_ajax_save_attachment() {
        if ( 'attachment' != $post['post_type'] )
                wp_send_json_error();
 
+       if ( isset( $changes['parent'] ) )
+               $post['post_parent'] = $changes['parent'];
+
        if ( isset( $changes['title'] ) )
                $post['post_title'] = $changes['title'];
 
@@ -2268,7 +2290,7 @@ function wp_ajax_save_attachment() {
                }
        }
 
-       if ( 0 === strpos( $post['post_mime_type'], 'audio/' ) ) {
+       if ( wp_attachment_is( 'audio', $post['ID'] ) ) {
                $changed = false;
                $id3data = wp_get_attachment_metadata( $post['ID'] );
                if ( ! is_array( $id3data ) ) {
@@ -2423,10 +2445,16 @@ function wp_ajax_send_attachment_to_editor() {
                $align = isset( $attachment['align'] ) ? $attachment['align'] : 'none';
                $size = isset( $attachment['image-size'] ) ? $attachment['image-size'] : 'medium';
                $alt = isset( $attachment['image_alt'] ) ? $attachment['image_alt'] : '';
+
+               // No whitespace-only captions.
                $caption = isset( $attachment['post_excerpt'] ) ? $attachment['post_excerpt'] : '';
+               if ( '' === trim( $caption ) ) {
+                       $caption = '';
+               }
+
                $title = ''; // We no longer insert title tags into <img> tags, as they are redundant.
                $html = get_image_send_to_editor( $id, $caption, $title, $align, $url, (bool) $rel, $size, $alt );
-       } elseif ( 'video' === substr( $post->post_mime_type, 0, 5 ) || 'audio' === substr( $post->post_mime_type, 0, 5 )  ) {
+       } elseif ( wp_attachment_is( 'video', $post ) || wp_attachment_is( 'audio', $post )  ) {
                $html = stripslashes_deep( $_POST['html'] );
        }
 
@@ -2462,8 +2490,8 @@ function wp_ajax_send_link_to_editor() {
        if ( ! $src = esc_url_raw( $src ) )
                wp_send_json_error();
 
-       if ( ! $title = trim( wp_unslash( $_POST['title'] ) ) )
-               $title = wp_basename( $src );
+       if ( ! $link_text = trim( wp_unslash( $_POST['link_text'] ) ) )
+               $link_text = wp_basename( $src );
 
        $post = get_post( isset( $_POST['post_id'] ) ? $_POST['post_id'] : 0 );
 
@@ -2476,8 +2504,8 @@ function wp_ajax_send_link_to_editor() {
        if ( $check_embed !== $fallback ) {
                // TinyMCE view for [embed] will parse this
                $html = '[embed]' . $src . '[/embed]';
-       } elseif ( $title ) {
-               $html = '<a href="' . esc_url( $src ) . '">' . $title . '</a>';
+       } elseif ( $link_text ) {
+               $html = '<a href="' . esc_url( $src ) . '">' . $link_text . '</a>';
        } else {
                $html = '';
        }
@@ -2489,7 +2517,7 @@ function wp_ajax_send_link_to_editor() {
                        $type = $ext_type;
 
        /** This filter is documented in wp-admin/includes/media.php */
-       $html = apply_filters( $type . '_send_to_editor_url', $html, $src, $title );
+       $html = apply_filters( $type . '_send_to_editor_url', $html, $src, $link_text );
 
        wp_send_json_success( $html );
 }
@@ -2611,8 +2639,13 @@ function wp_ajax_save_user_color_scheme() {
                wp_send_json_error();
        }
 
+       $previous_color_scheme = get_user_meta( get_current_user_id(), 'admin_color', true );
        update_user_meta( get_current_user_id(), 'admin_color', $color_scheme );
-       wp_send_json_success();
+
+       wp_send_json_success( array(
+               'previousScheme' => 'admin-color-' . $previous_color_scheme,
+               'currentScheme'  => 'admin-color-' . $color_scheme
+       ) );
 }
 
 /**
@@ -2682,6 +2715,7 @@ function wp_ajax_parse_embed() {
 
        $shortcode = wp_unslash( $_POST['shortcode'] );
        $url = str_replace( '[embed]', '', str_replace( '[/embed]', '', $shortcode ) );
+
        $parsed = false;
        setup_postdata( $post );
 
@@ -2747,18 +2781,28 @@ function wp_ajax_parse_embed() {
 function wp_ajax_parse_media_shortcode() {
        global $post, $wp_scripts;
 
-       if ( ! $post = get_post( (int) $_POST['post_ID'] ) ) {
+       if ( empty( $_POST['shortcode'] ) ) {
                wp_send_json_error();
        }
 
-       if ( empty( $_POST['shortcode'] ) || ! current_user_can( 'edit_post', $post->ID ) ) {
-               wp_send_json_error();
+       $shortcode = wp_unslash( $_POST['shortcode'] );
+
+       if ( ! empty( $_POST['post_ID'] ) ) {
+               $post = get_post( (int) $_POST['post_ID'] );
        }
 
-       setup_postdata( $post );
-       $shortcode = do_shortcode( wp_unslash( $_POST['shortcode'] ) );
+       // the embed shortcode requires a post
+       if ( ! $post || ! current_user_can( 'edit_post', $post->ID ) ) {
+               if ( 'embed' === $shortcode ) {
+                       wp_send_json_error();
+               }
+       } else {
+               setup_postdata( $post );
+       }
+
+       $parsed = do_shortcode( $shortcode  );
 
-       if ( empty( $shortcode ) ) {
+       if ( empty( $parsed ) ) {
                wp_send_json_error( array(
                        'type' => 'no-items',
                        'message' => __( 'No items found.' ),
@@ -2778,14 +2822,14 @@ function wp_ajax_parse_media_shortcode() {
 
        ob_start();
 
-       echo $shortcode;
+       echo $parsed;
 
        if ( 'playlist' === $_REQUEST['type'] ) {
                wp_underscore_playlist_templates();
 
                wp_print_scripts( 'wp-playlist' );
        } else {
-               wp_print_scripts( 'wp-mediaelement' );
+               wp_print_scripts( array( 'froogaloop', 'wp-mediaelement' ) );
        }
 
        wp_send_json_success( array(
@@ -2823,9 +2867,107 @@ function wp_ajax_destroy_sessions() {
                $message = __( 'You are now logged out everywhere else.' );
        } else {
                $sessions->destroy_all();
-               /* translators: 1: User's display name. */ 
+               /* translators: 1: User's display name. */
                $message = sprintf( __( '%s has been logged out.' ), $user->display_name );
        }
 
        wp_send_json_success( array( 'message' => $message ) );
 }
+
+
+/**
+ * AJAX handler for updating a plugin.
+ *
+ * @since 4.2.0
+ *
+ * @see Plugin_Upgrader
+ */
+function wp_ajax_update_plugin() {
+       $plugin = urldecode( $_POST['plugin'] );
+
+       $status = array(
+               'update'     => 'plugin',
+               'plugin'     => $plugin,
+               'slug'       => sanitize_key( $_POST['slug'] ),
+               'oldVersion' => '',
+               'newVersion' => '',
+       );
+       $plugin_data = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin );
+       if ( $plugin_data['Version'] ) {
+               $status['oldVersion'] = sprintf( __( 'Version %s' ), $plugin_data['Version'] );
+       }
+
+       if ( ! current_user_can( 'update_plugins' ) ) {
+               $status['error'] = __( 'You do not have sufficient permissions to update plugins on this site.' );
+               wp_send_json_error( $status );
+       }
+
+       check_ajax_referer( 'updates' );
+
+       include_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
+
+       $current = get_site_transient( 'update_plugins' );
+       if ( empty( $current ) ) {
+               wp_update_plugins();
+       }
+
+       $upgrader = new Plugin_Upgrader( new Automatic_Upgrader_Skin() );
+       $result = $upgrader->bulk_upgrade( array( $plugin ) );
+
+       if ( is_array( $result ) ) {
+               $plugin_update_data = current( $result );
+
+               /*
+                * If the `update_plugins` site transient is empty (e.g. when you update
+                * two plugins in quick succession before the transient repopulates),
+                * this may be the return.
+                *
+                * Preferably something can be done to ensure `update_plugins` isn't empty.
+                * For now, surface some sort of error here.
+                */
+               if ( $plugin_update_data === true ) {
+                       wp_send_json_error( $status );
+               }
+
+               $plugin_data = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin );
+
+               if ( $plugin_data['Version'] ) {
+                       $status['newVersion'] = sprintf( __( 'Version %s' ), $plugin_data['Version'] );
+               }
+
+               wp_send_json_success( $status );
+       } else if ( is_wp_error( $result ) ) {
+               $status['error'] = $result->get_error_message();
+               wp_send_json_error( $status );
+       } else if ( is_bool( $result ) && ! $result ) {
+               $status['errorCode'] = 'unable_to_connect_to_filesystem';
+               $status['error'] = __( 'Unable to connect to the filesystem. Please confirm your credentials.' );
+               wp_send_json_error( $status );
+       }
+}
+
+/**
+ * AJAX handler for saving a post from Press This.
+ *
+ * @since 4.2.0
+ */
+function wp_ajax_press_this_save_post() {
+       if ( empty( $GLOBALS['wp_press_this'] ) ) {
+               include( ABSPATH . 'wp-admin/includes/class-wp-press-this.php' );
+       }
+
+       $GLOBALS['wp_press_this']->save_post();
+}
+
+/**
+ * AJAX handler for creating new category from Press This.
+ *
+ * @since 4.2.0
+ */
+function wp_ajax_press_this_add_category() {
+       if ( empty( $GLOBALS['wp_press_this'] ) ) {
+               include( ABSPATH . 'wp-admin/includes/class-wp-press-this.php' );
+       }
+
+       $GLOBALS['wp_press_this']->add_category();
+}
index 35a193f1ce8cb4253863823cf5492b4aab22cd41..863585473b8a02a8c821d9e8e666b1937eabeed0 100644 (file)
@@ -21,6 +21,10 @@ class WP_Comments_List_Table extends WP_List_Table {
 
        public $pending_count = array();
 
+       public $extra_items;
+
+       private $user_can;
+
        /**
         * Constructor.
         *
@@ -332,12 +336,6 @@ class WP_Comments_List_Table extends WP_List_Table {
        </tr>
        </thead>
 
-       <tfoot>
-       <tr>
-               <?php $this->print_column_headers( false ); ?>
-       </tr>
-       </tfoot>
-
        <tbody id="the-comment-list" data-wp-lists="list:comment">
                <?php $this->display_rows_or_placeholder(); ?>
        </tbody>
@@ -345,6 +343,13 @@ class WP_Comments_List_Table extends WP_List_Table {
        <tbody id="the-extra-comment-list" data-wp-lists="list:comment" style="display: none;">
                <?php $this->items = $this->extra_items; $this->display_rows(); ?>
        </tbody>
+
+       <tfoot>
+       <tr>
+               <?php $this->print_column_headers( false ); ?>
+       </tr>
+       </tfoot>
+
 </table>
 <?php
 
@@ -356,6 +361,9 @@ class WP_Comments_List_Table extends WP_List_Table {
 
                $comment = $a_comment;
                $the_comment_class = wp_get_comment_status( $comment->comment_ID );
+               if ( ! $the_comment_class ) {
+                       $the_comment_class = '';
+               }
                $the_comment_class = join( ' ', get_comment_class( $the_comment_class, $comment->comment_ID, $comment->comment_post_ID ) );
 
                $post = get_post( $comment->comment_post_ID );
@@ -379,12 +387,10 @@ class WP_Comments_List_Table extends WP_List_Table {
                global $comment_status;
                $post = get_post();
 
-               $user_can = $this->user_can;
-
                $comment_url = esc_url( get_comment_link( $comment->comment_ID ) );
                $the_comment_status = wp_get_comment_status( $comment->comment_ID );
 
-               if ( $user_can ) {
+               if ( $this->user_can ) {
                        $del_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "delete-comment_$comment->comment_ID" ) );
                        $approve_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "approve-comment_$comment->comment_ID" ) );
 
@@ -420,7 +426,7 @@ class WP_Comments_List_Table extends WP_List_Table {
 
                echo '</div>';
                comment_text();
-               if ( $user_can ) { ?>
+               if ( $this->user_can ) { ?>
                <div id="inline-<?php echo $comment->comment_ID; ?>" class="hidden">
                <textarea class="comment" rows="1" cols="1"><?php
                        /** This filter is documented in wp-admin/includes/comment.php */
@@ -434,7 +440,7 @@ class WP_Comments_List_Table extends WP_List_Table {
                <?php
                }
 
-               if ( $user_can ) {
+               if ( $this->user_can ) {
                        // Preorder it: Approve | Reply | Quick Edit | Edit | Spam | Trash.
                        $actions = array(
                                'approve' => '', 'unapprove' => '',
@@ -447,10 +453,11 @@ class WP_Comments_List_Table extends WP_List_Table {
 
                        // Not looking at all comments.
                        if ( $comment_status && 'all' != $comment_status ) {
-                               if ( 'approved' == $the_comment_status )
+                               if ( 'approved' == $the_comment_status ) {
                                        $actions['unapprove'] = "<a href='$unapprove_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&amp;new=unapproved' class='vim-u vim-destructive' title='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
-                               else if ( 'unapproved' == $the_comment_status )
+                               } elseif ( 'unapproved' == $the_comment_status ) {
                                        $actions['approve'] = "<a href='$approve_url' data-wp-lists='delete:the-comment-list:comment-$comment->comment_ID:e7e7d3:action=dim-comment&amp;new=approved' class='vim-a vim-destructive' title='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';
+                               }
                        } else {
                                $actions['approve'] = "<a href='$approve_url' data-wp-lists='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=approved' class='vim-a' title='" . esc_attr__( 'Approve this comment' ) . "'>" . __( 'Approve' ) . '</a>';
                                $actions['unapprove'] = "<a href='$unapprove_url' data-wp-lists='dim:the-comment-list:comment-$comment->comment_ID:unapproved:e7e7d3:e7e7d3:new=unapproved' class='vim-u' title='" . esc_attr__( 'Unapprove this comment' ) . "'>" . __( 'Unapprove' ) . '</a>';
@@ -477,7 +484,7 @@ class WP_Comments_List_Table extends WP_List_Table {
 
                                $format = '<a data-comment-id="%d" data-post-id="%d" data-action="%s" class="%s" title="%s" href="#">%s</a>';
 
-                               $actions['quickedit'] = sprintf( $format, $comment->comment_ID, $post->ID, 'edit', 'vim-q comment-inline', esc_attr__( 'Quick Edit' ), __( 'Quick Edit' ) );
+                               $actions['quickedit'] = sprintf( $format, $comment->comment_ID, $post->ID, 'edit', 'vim-q comment-inline',esc_attr__( 'Edit this item inline' ), __( 'Quick&nbsp;Edit' ) );
 
                                $actions['reply'] = sprintf( $format, $comment->comment_ID, $post->ID, 'replyto', 'vim-r comment-inline', esc_attr__( 'Reply to this comment' ), __( 'Reply' ) );
                        }
@@ -539,7 +546,7 @@ class WP_Comments_List_Table extends WP_List_Table {
        }
 
        public function column_date() {
-               return get_comment_date( __( 'Y/m/d \a\t g:ia' ) );
+               return get_comment_date( __( 'Y/m/d \a\t g:i a' ) );
        }
 
        public function column_response() {
@@ -596,16 +603,14 @@ class WP_Comments_List_Table extends WP_List_Table {
 class WP_Post_Comments_List_Table extends WP_Comments_List_Table {
 
        protected function get_column_info() {
-               $this->_column_headers = array(
+               return array(
                        array(
-                       'author'   => __( 'Author' ),
-                       'comment'  => _x( 'Comment', 'column name' ),
+                               'author'   => __( 'Author' ),
+                               'comment'  => _x( 'Comment', 'column name' ),
                        ),
                        array(),
                        array(),
                );
-
-               return $this->_column_headers;
        }
 
        protected function get_table_classes() {
index 9b8ddb041bcbf7295ac7b039ec4bfcf4c303a96e..f8aeb86f8862aaf97c0188533ebddd31da59fbe7 100644 (file)
@@ -24,11 +24,10 @@ class WP_Filesystem_Base {
        /**
         * Cached list of local filepaths to mapped remote filepaths.
         *
-        * @access private
         * @since 2.7.0
         * @var array
         */
-       private $cache = array();
+       public $cache = array();
 
        /**
         * The Access method of the current connection, Set automatically.
@@ -39,57 +38,9 @@ class WP_Filesystem_Base {
         */
        public $method = '';
 
-       /**
-        * Make private properties readable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to get.
-        * @return mixed Property.
-        */
-       public function __get( $name ) {
-               return $this->$name;
-       }
+       public $errors = null;
 
-       /**
-        * Make private properties settable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name  Property to set.
-        * @param mixed  $value Property value.
-        * @return mixed Newly-set property.
-        */
-       public function __set( $name, $value ) {
-               return $this->$name = $value;
-       }
-
-       /**
-        * Make private properties checkable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to check if set.
-        * @return bool Whether the property is set.
-        */
-       public function __isset( $name ) {
-               return isset( $this->$name );
-       }
-
-       /**
-        * Make private properties un-settable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to unset.
-        */
-       public function __unset( $name ) {
-               unset( $this->$name );
-       }
+       public $options = array();
 
        /**
         * Return the path on the remote filesystem of ABSPATH.
@@ -217,7 +168,7 @@ class WP_Filesystem_Base {
         * @since 2.7.0
         *
         * @param string $folder the folder to locate.
-        * @return string The location of the remote path.
+        * @return string|false The location of the remote path, false on failure.
         */
        public function find_folder( $folder ) {
 
@@ -280,13 +231,12 @@ class WP_Filesystem_Base {
         *
         * Expects Windows sanitized path.
         *
-        * @access private
         * @since 2.7.0
         *
         * @param string $folder The folder to locate.
         * @param string $base   The folder to start searching from.
         * @param bool   $loop   If the function has recursed, Internal use only.
-        * @return string The location of the remote path.
+        * @return string|false The location of the remote path, false to cease looping.
         */
        public function search_for_folder( $folder, $base = '.', $loop = false ) {
                if ( empty( $base ) || '.' == $base )
@@ -421,9 +371,11 @@ class WP_Filesystem_Base {
                $legal =  array('', 'w', 'r', 'x', '-');
                $attarray = preg_split('//', $mode);
 
-               for ($i=0; $i < count($attarray); $i++)
-                  if ($key = array_search($attarray[$i], $legal))
+               for ( $i = 0, $c = count( $attarray ); $i < $c; $i++ ) {
+                  if ($key = array_search($attarray[$i], $legal)) {
                           $realmode .= $legal[$key];
+                  }
+               }
 
                $mode = str_pad($realmode, 10, '-', STR_PAD_LEFT);
                $trans = array('-'=>'0', 'r'=>'4', 'w'=>'2', 'x'=>'1');
@@ -439,7 +391,6 @@ class WP_Filesystem_Base {
        /**
         * Determine if the string provided contains binary characters.
         *
-        * @access private
         * @since 2.7.0
         *
         * @param string $text String to test against.
index 1e4cb50a283db48c1bdb6929a8d2a8a363f3a276..f8979c2ac95c78ef0389ce28c8379e3dbaba34b6 100644 (file)
@@ -394,7 +394,7 @@ class WP_Filesystem_Direct extends WP_Filesystem_Base {
        /**
         * @param string $path
         * @param bool $recursive
-        * @return type
+        * @return bool
         */
        public function rmdir($path, $recursive = false) {
                return $this->delete($path, $recursive);
index 90e3de02745456272f92284b54dbd34f03a48cf6..f9f46e7c81d003cf17db77259defdc95617ea8db 100644 (file)
@@ -16,8 +16,6 @@
  */
 class WP_Filesystem_FTPext extends WP_Filesystem_Base {
        public $link;
-       public $errors = null;
-       public $options = array();
 
        public function __construct($opt='') {
                $this->method = 'ftpext';
@@ -26,7 +24,7 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
                // Check if possible to use ftp functions.
                if ( ! extension_loaded('ftp') ) {
                        $this->errors->add('no_ftp_ext', __('The ftp PHP extension is not available'));
-                       return false;
+                       return;
                }
 
                // This Class uses the timeout on a per-connection basis, Others use it on a per-action basis.
@@ -44,9 +42,6 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
                else
                        $this->options['hostname'] = $opt['hostname'];
 
-               if ( ! empty($opt['base']) )
-                       $this->wp_base = $opt['base'];
-
                // Check if the options provided are OK.
                if ( empty($opt['username']) )
                        $this->errors->add('empty_username', __('FTP username is required'));
@@ -89,7 +84,7 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
 
        /**
         * @param string $file
-        * @return bool|string
+        * @return false|string
         */
        public function get_contents( $file ) {
                $tempfile = wp_tempnam($file);
@@ -175,15 +170,6 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
                return @ftp_chdir($this->link, $dir);
        }
 
-       /**
-        * @param string $file
-        * @param bool $group
-        * @param bool $recursive
-        */
-       public function chgrp($file, $group, $recursive = false ) {
-               return false;
-       }
-
        /**
         * @param string $file
         * @param int $mode
@@ -289,6 +275,11 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
         */
        public function exists($file) {
                $list = @ftp_nlist($this->link, $file);
+
+               if ( empty( $list ) && $this->is_dir( $file ) ) {
+                       return true; // File is an empty directory.
+               }
+
                return !empty($list); //empty list = no file, so invert.
        }
        /**
@@ -370,10 +361,6 @@ class WP_Filesystem_FTPext extends WP_Filesystem_Base {
                if ( !@ftp_mkdir($this->link, $path) )
                        return false;
                $this->chmod($path, $chmod);
-               if ( $chown )
-                       $this->chown($path, $chown);
-               if ( $chgrp )
-                       $this->chgrp($path, $chgrp);
                return true;
        }
 
index bb7e0c2e6293ad1fcc22a8f06be46cd7962c17a1..ec85d36b7b81ba0ee527baffc75fe8226b3e79ea 100644 (file)
  * @uses WP_Filesystem_Base Extends class
  */
 class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
-       public $ftp = false;
-       public $errors = null;
-       public $options = array();
+       /**
+        * @var ftp
+        */
+       public $ftp;
 
        public function __construct($opt = '') {
                $this->method = 'ftpsockets';
@@ -25,7 +26,7 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
 
                // Check if possible to use ftp functions.
                if ( ! @include_once( ABSPATH . 'wp-admin/includes/class-ftp.php' ) ) {
-                       return false;
+                       return;
                }
                $this->ftp = new ftp();
 
@@ -39,9 +40,6 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
                else
                        $this->options['hostname'] = $opt['hostname'];
 
-               if ( ! empty($opt['base']) )
-                       $this->wp_base = $opt['base'];
-
                // Check if the options provided are OK.
                if ( empty ($opt['username']) )
                        $this->errors->add('empty_username', __('FTP username is required'));
@@ -83,7 +81,7 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
 
        /**
         * @param string $file
-        * @return bool|string
+        * @return false|string
         */
        public function get_contents( $file ) {
                if ( ! $this->exists($file) )
@@ -176,15 +174,6 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
                return $this->ftp->chdir($file);
        }
 
-       /**
-        * @param string $file
-        * @param bool $group
-        * @param bool $recursive
-        */
-       public function chgrp($file, $group, $recursive = false ) {
-               return false;
-       }
-
        /**
         * @param string $file
         * @param int|bool $mode
@@ -285,6 +274,11 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
         */
        public function exists( $file ) {
                $list = $this->ftp->nlist( $file );
+
+               if ( empty( $list ) && $this->is_dir( $file ) ) {
+                       return true; // File is an empty directory.
+               }
+
                return !empty( $list ); //empty list = no file, so invert.
                // Return $this->ftp->is_exists($file); has issues with ABOR+426 responses on the ncFTPd server.
        }
@@ -380,10 +374,6 @@ class WP_Filesystem_ftpsockets extends WP_Filesystem_Base {
                if ( ! $chmod )
                        $chmod = FS_CHMOD_DIR;
                $this->chmod($path, $chmod);
-               if ( $chown )
-                       $this->chown($path, $chown);
-               if ( $chgrp )
-                       $this->chgrp($path, $chgrp);
                return true;
        }
 
index dbfe707132496389f605ede5723d1e4a35c01918..0de635481a694154fce816c8662b00bddc0c02c1 100644 (file)
 class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 
        public $link = false;
-       public $sftp_link = false;
+       /**
+        * @var resource
+        */
+       public $sftp_link;
        public $keys = false;
-       public $errors = array();
-       public $options = array();
 
        public function __construct($opt='') {
                $this->method = 'ssh2';
@@ -48,11 +49,11 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
                //Check if possible to use ssh2 functions.
                if ( ! extension_loaded('ssh2') ) {
                        $this->errors->add('no_ssh2_ext', __('The ssh2 PHP extension is not available'));
-                       return false;
+                       return;
                }
                if ( !function_exists('stream_get_contents') ) {
                        $this->errors->add('ssh2_php_requirement', __('The ssh2 PHP extension is available, however, we require the PHP5 function <code>stream_get_contents()</code>'));
-                       return false;
+                       return;
                }
 
                // Set defaults:
@@ -66,9 +67,6 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
                else
                        $this->options['hostname'] = $opt['hostname'];
 
-               if ( ! empty($opt['base']) )
-                       $this->wp_base = $opt['base'];
-
                // Check if the options provided are OK.
                if ( !empty ($opt['public_key']) && !empty ($opt['private_key']) ) {
                        $this->options['public_key'] = $opt['public_key'];
@@ -126,6 +124,7 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
        /**
         * @param string $command
         * @param bool $returnbool
+        * @return bool|string
         */
        public function run_command( $command, $returnbool = false) {
 
@@ -185,14 +184,15 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
 
        public function cwd() {
                $cwd = $this->run_command('pwd');
-               if ( $cwd )
-                       $cwd = trailingslashit($cwd);
+               if ( $cwd ) {
+                       $cwd = trailingslashit( trim( $cwd ) );
+               }
                return $cwd;
        }
 
        /**
         * @param string $dir
-        * @return bool
+        * @return bool|string
         */
        public function chdir($dir) {
                return $this->run_command('cd ' . $dir, true);
@@ -215,7 +215,7 @@ class WP_Filesystem_SSH2 extends WP_Filesystem_Base {
         * @param string $file
         * @param int $mode
         * @param bool $recursive
-        * @return bool
+        * @return bool|string
         */
        public function chmod($file, $mode = false, $recursive = false) {
                if ( ! $this->exists($file) )
index b54573f67508b72e693196ed4fff57204329fe5a..ee10547deb58d45f620f4caeffec747c395b6420 100644 (file)
@@ -6,7 +6,6 @@ class WP_Importer {
        /**
         * Class Constructor
         *
-        * @return void
         */
        public function __construct() {}
 
@@ -210,7 +209,7 @@ class WP_Importer {
         */
        public function is_user_over_quota() {
                if ( function_exists( 'upload_is_user_over_quota' ) ) {
-                       if ( upload_is_user_over_quota( 1 ) ) {
+                       if ( upload_is_user_over_quota() ) {
                                echo "Sorry, you have used your upload quota.\n";
                                return true;
                        }
@@ -273,14 +272,14 @@ function get_cli_args( $param, $required = false ) {
                        }
 
                        $last_arg = $key;
-               } else if ( (bool) preg_match( "/^-([a-zA-Z0-9]+)/", $args[$i], $match ) ) {
+               } elseif ( (bool) preg_match( "/^-([a-zA-Z0-9]+)/", $args[$i], $match ) ) {
                        for ( $j = 0, $jl = strlen( $match[1] ); $j < $jl; $j++ ) {
                                $key = $match[1]{$j};
                                $out[$key] = true;
                        }
 
                        $last_arg = $key;
-               } else if ( $last_arg !== null ) {
+               } elseif ( $last_arg !== null ) {
                        $out[$last_arg] = $args[$i];
                }
        }
index 3a3906356f82c5723c1d34e3a02700efd66d54b2..88d2cc7cb1b5d72e80669801649e547204c1561c 100644 (file)
@@ -111,8 +111,6 @@ class WP_Links_List_Table extends WP_List_Table {
        public function display_rows() {
                global $cat_id;
 
-               $alt = 0;
-
                foreach ( $this->items as $link ) {
                        $link = sanitize_bookmark( $link );
                        $link->link_name = esc_attr( $link->link_name );
@@ -122,11 +120,10 @@ class WP_Links_List_Table extends WP_List_Table {
 
                        $visible = ( $link->link_visible == 'Y' ) ? __( 'Yes' ) : __( 'No' );
                        $rating  = $link->link_rating;
-                       $style = ( $alt++ % 2 ) ? '' : ' class="alternate"';
 
                        $edit_link = get_edit_bookmark_link( $link );
 ?>
-               <tr id="link-<?php echo $link->link_id; ?>" <?php echo $style; ?>>
+               <tr id="link-<?php echo $link->link_id; ?>">
 <?php
 
                        list( $columns, $hidden ) = $this->get_column_info();
index a90b4b8c6771d26b3e7104066d5b2dd6f7775a10..aae3d697b54439adc2908870137d8f19f2203463 100644 (file)
@@ -24,18 +24,17 @@ class WP_List_Table {
         *
         * @since 3.1.0
         * @var array
-        * @access private
+        * @access protected
         */
-       private $_args;
+       protected $_args;
 
        /**
         * Various information needed for displaying the pagination
         *
         * @since 3.1.0
         * @var array
-        * @access private
         */
-       private $_pagination_args = array();
+       protected $_pagination_args = array();
 
        /**
         * The current screen
@@ -73,6 +72,20 @@ class WP_List_Table {
         */
        protected $modes = array();
 
+       /**
+        * Stores the value returned by ->get_column_info()
+        *
+        * @var array
+        */
+       protected $_column_headers;
+
+       protected $compat_fields = array( '_args', '_pagination_args', 'screen', '_actions', '_pagination' );
+
+       protected $compat_methods = array( 'set_pagination_args', 'get_views', 'get_bulk_actions', 'bulk_actions',
+               'row_actions', 'months_dropdown', 'view_switcher', 'comments_bubble', 'get_items_per_page', 'pagination',
+               'get_sortable_columns', 'get_column_info', 'get_table_classes', 'display_tablenav', 'extra_tablenav',
+               'single_row_columns' );
+
        /**
         * Constructor.
         *
@@ -142,7 +155,9 @@ class WP_List_Table {
         * @return mixed Property.
         */
        public function __get( $name ) {
-               return $this->$name;
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       return $this->$name;
+               }
        }
 
        /**
@@ -151,12 +166,14 @@ class WP_List_Table {
         * @since 4.0.0
         * @access public
         *
-        * @param string $name  Property to set.
+        * @param string $name  Property to check if set.
         * @param mixed  $value Property value.
         * @return mixed Newly-set property.
         */
        public function __set( $name, $value ) {
-               return $this->$name = $value;
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       return $this->$name = $value;
+               }
        }
 
        /**
@@ -169,7 +186,9 @@ class WP_List_Table {
         * @return bool Whether the property is set.
         */
        public function __isset( $name ) {
-               return isset( $this->$name );
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       return isset( $this->$name );
+               }
        }
 
        /**
@@ -181,7 +200,9 @@ class WP_List_Table {
         * @param string $name Property to unset.
         */
        public function __unset( $name ) {
-               unset( $this->$name );
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       unset( $this->$name );
+               }
        }
 
        /**
@@ -195,7 +216,10 @@ class WP_List_Table {
         * @return mixed|bool Return value of the callback, false otherwise.
         */
        public function __call( $name, $arguments ) {
-               return call_user_func_array( array( $this, $name ), $arguments );
+               if ( in_array( $name, $this->compat_methods ) ) {
+                       return call_user_func_array( array( $this, $name ), $arguments );
+               }
+               return false;
        }
 
        /**
@@ -313,7 +337,7 @@ class WP_List_Table {
 <p class="search-box">
        <label class="screen-reader-text" for="<?php echo $input_id ?>"><?php echo $text; ?>:</label>
        <input type="search" id="<?php echo $input_id ?>" name="s" value="<?php _admin_search_query(); ?>" />
-       <?php submit_button( $text, 'button', false, false, array('id' => 'search-submit') ); ?>
+       <?php submit_button( $text, 'button', '', false, array('id' => 'search-submit') ); ?>
 </p>
 <?php
        }
@@ -421,7 +445,7 @@ class WP_List_Table {
 
                echo "</select>\n";
 
-               submit_button( __( 'Apply' ), 'action', false, false, array( 'id' => "doaction$two" ) );
+               submit_button( __( 'Apply' ), 'action', '', false, array( 'id' => "doaction$two" ) );
                echo "\n";
        }
 
@@ -485,6 +509,18 @@ class WP_List_Table {
        protected function months_dropdown( $post_type ) {
                global $wpdb, $wp_locale;
 
+               /**
+                * Filter whether to remove the 'Months' drop-down from the post list table.
+                *
+                * @since 4.2.0
+                *
+                * @param bool   $disable   Whether to disable the drop-down. Default false.
+                * @param string $post_type The post type.
+                */
+               if ( apply_filters( 'disable_months_dropdown', false, $post_type ) ) {
+                       return;
+               }
+
                $months = $wpdb->get_results( $wpdb->prepare( "
                        SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month
                        FROM $wpdb->posts
@@ -903,18 +939,19 @@ class WP_List_Table {
        </tr>
        </thead>
 
-       <tfoot>
-       <tr>
-               <?php $this->print_column_headers( false ); ?>
-       </tr>
-       </tfoot>
-
        <tbody id="the-list"<?php
                if ( $singular ) {
                        echo " data-wp-lists='list:$singular'";
                } ?>>
                <?php $this->display_rows_or_placeholder(); ?>
        </tbody>
+
+       <tfoot>
+       <tr>
+               <?php $this->print_column_headers( false ); ?>
+       </tr>
+       </tfoot>
+
 </table>
 <?php
                $this->display_tablenav( 'bottom' );
@@ -929,7 +966,7 @@ class WP_List_Table {
         * @return array List of CSS classes for the table tag.
         */
        protected function get_table_classes() {
-               return array( 'widefat', 'fixed', $this->_args['plural'] );
+               return array( 'widefat', 'fixed', 'striped', $this->_args['plural'] );
        }
 
        /**
@@ -1004,14 +1041,15 @@ class WP_List_Table {
         * @param object $item The current item
         */
        public function single_row( $item ) {
-               static $row_class = '';
-               $row_class = ( $row_class == '' ? ' class="alternate"' : '' );
-
-               echo '<tr' . $row_class . '>';
+               echo '<tr>';
                $this->single_row_columns( $item );
                echo '</tr>';
        }
 
+       protected function column_default( $item, $column_name ) {}
+
+       protected function column_cb( $item ) {}
+
        /**
         * Generates the columns for a single row of the table
         *
index 377e3c0201bdda2d4ab79070ff313f8faf0320f1..9ebd5c0c7f6b0152a9627635784fe0b690483abc 100644 (file)
@@ -9,6 +9,10 @@
  */
 class WP_Media_List_Table extends WP_List_Table {
 
+       private $detached;
+
+       private $is_trash;
+
        /**
         * Constructor.
         *
@@ -75,7 +79,7 @@ class WP_Media_List_Table extends WP_List_Table {
                        if ( !empty( $_GET['attachment-filter'] ) && strpos( $_GET['attachment-filter'], 'post_mime_type:' ) === 0 && wp_match_mime_types( $mime_type, str_replace( 'post_mime_type:', '', $_GET['attachment-filter'] ) ) )
                                $selected = ' selected="selected"';
                        if ( !empty( $num_posts[$mime_type] ) )
-                               $type_links[$mime_type] = '<option value="post_mime_type:' . sanitize_mime_type( $mime_type ) . '"' . $selected . '>' . sprintf( translate_nooped_plural( $label[2], $num_posts[$mime_type] ), number_format_i18n( $num_posts[$mime_type] )) . '</option>';
+                               $type_links[$mime_type] = '<option value="post_mime_type:' . esc_attr( $mime_type ) . '"' . $selected . '>' . sprintf( translate_nooped_plural( $label[2], $num_posts[$mime_type] ), number_format_i18n( $num_posts[$mime_type] )) . '</option>';
                }
                $type_links['detached'] = '<option value="detached"' . ( $this->detached ? ' selected="selected"' : '' ) . '>' . sprintf( _nx( 'Unattached (%s)', 'Unattached (%s)', $total_orphans, 'detached files' ), number_format_i18n( $total_orphans ) ) . '</option>';
 
@@ -135,6 +139,9 @@ class WP_Media_List_Table extends WP_List_Table {
                if ( isset( $_REQUEST['found_post_id'] ) && isset( $_REQUEST['media'] ) )
                        return 'attach';
 
+               if ( isset( $_REQUEST['parent_post_id'] ) && isset( $_REQUEST['media'] ) )
+                       return 'detach';
+
                if ( isset( $_REQUEST['delete_all'] ) || isset( $_REQUEST['delete_all2'] ) )
                        return 'delete_all';
 
@@ -149,13 +156,6 @@ class WP_Media_List_Table extends WP_List_Table {
                _e( 'No media attachments found.' );
        }
 
-       /**
-        * @param string $which
-        */
-       protected function pagination( $which ) {
-               parent::pagination( $which );
-       }
-
        /**
         * Override parent views so we can use the filter bar display.
         */
@@ -168,7 +168,8 @@ class WP_Media_List_Table extends WP_List_Table {
        <div class="filter-items">
                <?php $this->view_switcher( $mode ); ?>
 
-               <select class="attachment-filters" name="attachment-filter">
+               <label for="attachment-filter" class="screen-reader-text"><?php _e( 'Filter by type' ); ?></label>
+               <select class="attachment-filters" name="attachment-filter" id="attachment-filter">
                        <?php
                        if ( ! empty( $views ) ) {
                                foreach ( $views as $class => $view ) {
@@ -271,7 +272,6 @@ class WP_Media_List_Table extends WP_List_Table {
                global $post;
 
                add_filter( 'the_title','esc_html' );
-               $alt = '';
 
                while ( have_posts() ) : the_post();
                        $user_can_edit = current_user_can( 'edit_post', $post->ID );
@@ -280,11 +280,10 @@ class WP_Media_List_Table extends WP_List_Table {
                        ||  !$this->is_trash && $post->post_status == 'trash' )
                                continue;
 
-                       $alt = ( 'alternate' == $alt ) ? '' : 'alternate';
                        $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 ); ?>">
+       <tr id="post-<?php echo $post->ID; ?>" class="<?php echo trim( ' author-' . $post_owner . ' status-' . $post->post_status ); ?>">
 <?php
 
 list( $columns, $hidden ) = $this->get_column_info();
@@ -320,7 +319,7 @@ foreach ( $columns as $column_name => $column_display_name ) {
                                        echo $thumb;
                                } else {
 ?>
-                               <a href="<?php echo get_edit_post_link( $post->ID, true ); ?>" title="<?php echo esc_attr( sprintf( __( 'Edit &#8220;%s&#8221;' ), $att_title ) ); ?>">
+                               <a href="<?php echo get_edit_post_link( $post->ID ); ?>" title="<?php echo esc_attr( sprintf( __( 'Edit &#8220;%s&#8221;' ), $att_title ) ); ?>">
                                        <?php echo $thumb; ?>
                                </a>
 
@@ -337,19 +336,12 @@ foreach ( $columns as $column_name => $column_display_name ) {
                        <?php if ( $this->is_trash || ! $user_can_edit ) {
                                echo $att_title;
                        } else { ?>
-                       <a href="<?php echo get_edit_post_link( $post->ID, true ); ?>"
+                       <a href="<?php echo get_edit_post_link( $post->ID ); ?>"
                                title="<?php echo esc_attr( sprintf( __( 'Edit &#8220;%s&#8221;' ), $att_title ) ); ?>">
                                <?php echo $att_title; ?></a>
                        <?php };
                        _media_states( $post ); ?></strong>
-                       <p>
-<?php
-                       if ( preg_match( '/^.*?\.(\w+)$/', get_attached_file( $post->ID ), $matches ) )
-                               echo esc_html( strtoupper( $matches[1] ) );
-                       else
-                               echo strtoupper( str_replace( 'image/', '', get_post_mime_type() ) );
-?>
-                       </p>
+                       <p class="filename"><?php echo wp_basename( $post->guid ); ?></p>
 <?php
                echo $this->row_actions( $this->_get_row_actions( $post, $att_title ) );
 ?>
@@ -411,7 +403,16 @@ foreach ( $columns as $column_name => $column_display_name ) {
                                } else {
                                        echo $title;
                                } ?></strong>,
-                               <?php echo get_the_time( __( 'Y/m/d' ) ); ?>
+                               <?php echo get_the_time( __( 'Y/m/d' ) ); ?><br />
+                               <?php
+                               if ( $user_can_edit ):
+                                       $detach_url = add_query_arg( array(
+                                               'parent_post_id' => $post->post_parent,
+                                               'media[]' => $post->ID,
+                                               '_wpnonce' => wp_create_nonce( 'bulk-' . $this->_args['plural'] )
+                                       ), 'upload.php' ); ?>
+                               <a class="hide-if-no-js detach-from-parent" href="<?php echo $detach_url ?>"><?php _e( 'Detach' ); ?></a>
+                               <?php endif; ?>
                        </td>
 <?php
                } else {
@@ -506,7 +507,7 @@ foreach ( $columns as $column_name => $column_display_name ) {
 
                if ( $this->detached ) {
                        if ( current_user_can( 'edit_post', $post->ID ) )
-                               $actions['edit'] = '<a href="' . get_edit_post_link( $post->ID, true ) . '">' . __( 'Edit' ) . '</a>';
+                               $actions['edit'] = '<a href="' . get_edit_post_link( $post->ID ) . '">' . __( 'Edit' ) . '</a>';
                        if ( current_user_can( 'delete_post', $post->ID ) )
                                if ( EMPTY_TRASH_DAYS && MEDIA_TRASH ) {
                                        $actions['trash'] = "<a class='submitdelete' href='" . wp_nonce_url( "post.php?action=trash&amp;post=$post->ID", 'trash-post_' . $post->ID ) . "'>" . __( 'Trash' ) . "</a>";
@@ -520,7 +521,7 @@ foreach ( $columns as $column_name => $column_display_name ) {
                }
                else {
                        if ( current_user_can( 'edit_post', $post->ID ) && !$this->is_trash )
-                               $actions['edit'] = '<a href="' . get_edit_post_link( $post->ID, true ) . '">' . __( 'Edit' ) . '</a>';
+                               $actions['edit'] = '<a href="' . get_edit_post_link( $post->ID ) . '">' . __( 'Edit' ) . '</a>';
                        if ( current_user_can( 'delete_post', $post->ID ) ) {
                                if ( $this->is_trash )
                                        $actions['untrash'] = "<a class='submitdelete' href='" . wp_nonce_url( "post.php?action=untrash&amp;post=$post->ID", 'untrash-post_' . $post->ID ) . "'>" . __( 'Restore' ) . "</a>";
index c4a99bfd2072284de9f0d1073e295f424509d3c1..54a08f9cbe54d7d458966ecc33ac21318e0f9b3c 100644 (file)
@@ -203,20 +203,19 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
                );
 
                if ( 'list' == $mode ) {
-                       $date = 'Y/m/d';
+                       $date = __( 'Y/m/d' );
                } else {
-                       $date = 'Y/m/d \<\b\r \/\> g:i:s a';
+                       $date = __( 'Y/m/d g:i:s a' );
                }
 
-               $class = '';
                foreach ( $this->items as $blog ) {
-                       $class = ( 'alternate' == $class ) ? '' : 'alternate';
+                       $class = '';
                        reset( $status_list );
 
                        $blog_states = array();
                        foreach ( $status_list as $status => $col ) {
                                if ( get_blog_status( $blog['blog_id'], $status ) == 1 ) {
-                                       $class = $col[0];
+                                       $class = " class='{$col[0]}'";
                                        $blog_states[] = $col[1];
                                }
                        }
@@ -231,7 +230,7 @@ class WP_MS_Sites_List_Table extends WP_List_Table {
                                        $blog_state .= "<span class='post-state'>$state$sep</span>";
                                }
                        }
-                       echo "<tr class='$class'>";
+                       echo "<tr{$class}>";
 
                        $blogname = ( is_subdomain_install() ) ? str_replace( '.' . get_current_site()->domain, '', $blog['domain'] ) : $blog['path'];
 
index 985d9bc54a62812886804cbce4a6d2492638ae0a..d3b484fe030170e9cb1a19ea732f235c61129036 100644 (file)
@@ -12,6 +12,8 @@ class WP_MS_Themes_List_Table extends WP_List_Table {
        public $site_id;
        public $is_site_themes;
 
+       private $has_items;
+
        /**
         * Constructor.
         *
index 3a8dd25259af6e833b75ded106130c5ef66c6ee2..e5eaeb5056185455a100d7f0ee1a7930607eedb7 100644 (file)
@@ -149,20 +149,19 @@ class WP_MS_Users_List_Table extends WP_List_Table {
        public function display_rows() {
                global $mode;
 
-               $alt = '';
                $super_admins = get_super_admins();
                foreach ( $this->items as $user ) {
-                       $alt = ( 'alternate' == $alt ) ? '' : 'alternate';
+                       $class = '';
 
                        $status_list = array( 'spam' => 'site-spammed', 'deleted' => 'site-deleted' );
 
                        foreach ( $status_list as $status => $col ) {
                                if ( $user->$status )
-                                       $alt .= " $col";
+                                       $class .= " $col";
                        }
 
                        ?>
-                       <tr class="<?php echo $alt; ?>">
+                       <tr class="<?php echo trim( $class ); ?>">
                        <?php
 
                        list( $columns, $hidden ) = $this->get_column_info();
@@ -230,9 +229,9 @@ class WP_MS_Users_List_Table extends WP_List_Table {
 
                                        case 'registered':
                                                if ( 'list' == $mode )
-                                                       $date = 'Y/m/d';
+                                                       $date = __( 'Y/m/d' );
                                                else
-                                                       $date = 'Y/m/d \<\b\r \/\> g:i:s a';
+                                                       $date = __( 'Y/m/d g:i:s a' );
 
                                                echo "<td $attributes>" . mysql2date( $date, $user->user_registered ) . "</td>";
                                        break;
index 07bfa0c7234178ef9ff085c22c0ce1f9a0578b48..e1a730610ba11fe7b484c07c4cec1a2e66c2874b 100644 (file)
@@ -9,9 +9,11 @@
  */
 class WP_Plugin_Install_List_Table extends WP_List_Table {
 
-       var $order = 'ASC';
-       var $orderby = null;
-       var $groups = array();
+       public $order = 'ASC';
+       public $orderby = null;
+       public $groups = array();
+
+       private $error;
 
        public function ajax_user_can() {
                return current_user_can('install_plugins');
@@ -82,8 +84,8 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
                 *
                 * @since 2.7.0
                 *
-                * @param array $tabs The tabs shown on the Plugin Install screen. Defaults are 'dashboard', 'search',
-                *                    'upload', 'featured', 'popular', 'new', and 'favorites'.
+                * @param array $tabs The tabs shown on the Plugin Install screen. Defaults include 'featured', 'popular',
+                *                    'recommended', 'favorites', and 'upload'.
                 */
                $tabs = apply_filters( 'install_plugins_tabs', $tabs );
 
@@ -103,7 +105,11 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
                $args = array(
                        'page' => $paged,
                        'per_page' => $per_page,
-                       'fields' => array( 'last_updated' => true, 'downloaded' => true, 'icons' => true ),
+                       'fields' => array(
+                               'last_updated' => true,
+                               'icons' => true,
+                               'active_installs' => true
+                       ),
                        // Send the locale and installed plugin slugs to the API so it can provide context-sensitive results.
                        'locale' => get_locale(),
                        'installed_plugins' => $this->get_installed_plugin_slugs(),
@@ -159,8 +165,7 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
                 * Filter API request arguments for each Plugin Install screen tab.
                 *
                 * The dynamic portion of the hook name, `$tab`, refers to the plugin install tabs.
-                * Default tabs are 'dashboard', 'search', 'upload', 'featured', 'popular', 'new',
-                * and 'favorites'.
+                * Default tabs include 'featured', 'popular', 'recommended', 'favorites', and 'upload'.
                 *
                 * @since 3.7.0
                 *
@@ -401,14 +406,14 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
                                        case 'install':
                                                if ( $status['url'] ) {
                                                        /* translators: 1: Plugin name and version. */
-                                                       $action_links[] = '<a class="install-now button" href="' . $status['url'] . '" aria-label="' . esc_attr( sprintf( __( 'Install %s now' ), $name ) ) . '">' . __( 'Install Now' ) . '</a>';
+                                                       $action_links[] = '<a class="install-now button" data-slug="' . esc_attr( $plugin['slug'] ) . '" href="' . esc_url( $status['url'] ) . '" aria-label="' . esc_attr( sprintf( __( 'Install %s now' ), $name ) ) . '" data-name="' . esc_attr( $name ) . '">' . __( 'Install Now' ) . '</a>';
                                                }
 
                                                break;
                                        case 'update_available':
                                                if ( $status['url'] ) {
                                                        /* translators: 1: Plugin name and version */
-                                                       $action_links[] = '<a class="button" href="' . $status['url'] . '" aria-label="' . esc_attr( sprintf( __( 'Update %s now' ), $name ) ) . '">' . __( 'Update Now' ) . '</a>';
+                                                       $action_links[] = '<a class="update-now button" data-plugin="' . esc_attr( $status['file'] ) . '" data-slug="' . esc_attr( $plugin['slug'] ) . '" href="' . esc_url( $status['url'] ) . '" aria-label="' . esc_attr( sprintf( __( 'Update %s now' ), $name ) ) . '" data-name="' . esc_attr( $name ) . '">' . __( 'Update Now' ) . '</a>';
                                                }
 
                                                break;
@@ -444,8 +449,11 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
                         * @param array $plugin       The plugin currently being listed.
                         */
                        $action_links = apply_filters( 'plugin_install_action_links', $action_links, $plugin );
+
+                       $date_format = __( 'M j, Y @ H:i' );
+                       $last_updated_timestamp = strtotime( $plugin['last_updated'] );
                ?>
-               <div class="plugin-card">
+               <div class="plugin-card plugin-card-<?php echo sanitize_html_class( $plugin['slug'] ); ?>">
                        <div class="plugin-card-top">
                                <a href="<?php echo esc_url( $details_link ); ?>" class="thickbox plugin-icon"><img src="<?php echo esc_attr( $plugin_icon_url ) ?>" /></a>
                                <div class="name column-name">
@@ -469,12 +477,19 @@ class WP_Plugin_Install_List_Table extends WP_List_Table {
                                        <span class="num-ratings">(<?php echo number_format_i18n( $plugin['num_ratings'] ); ?>)</span>
                                </div>
                                <div class="column-updated">
-                                       <strong><?php _e( 'Last Updated:' ); ?></strong> <span title="<?php echo esc_attr( $plugin['last_updated'] ); ?>">
-                                               <?php printf( __( '%s ago' ), human_time_diff( strtotime( $plugin['last_updated'] ) ) ); ?>
+                                       <strong><?php _e( 'Last Updated:' ); ?></strong> <span title="<?php echo esc_attr( date_i18n( $date_format, $last_updated_timestamp ) ); ?>">
+                                               <?php printf( __( '%s ago' ), human_time_diff( $last_updated_timestamp ) ); ?>
                                        </span>
                                </div>
                                <div class="column-downloaded">
-                                       <?php echo sprintf( _n( '%s download', '%s downloads', $plugin['downloaded'] ), number_format_i18n( $plugin['downloaded'] ) ); ?>
+                                       <?php
+                                       if ( $plugin['active_installs'] >= 1000000 ) {
+                                               $active_installs_text = _x( '1+ Million', 'Active plugin installs' );
+                                       } else {
+                                               $active_installs_text = number_format_i18n( $plugin['active_installs'] ) . '+';
+                                       }
+                                       printf( __( '%s Active Installs' ), $active_installs_text );
+                                       ?>
                                </div>
                                <div class="column-compatibility">
                                        <?php
index 1ade73caacddce075e8c6ce560fc273fbc9ebe11..8ee85ba03664afd9aaf9cf945ca4765a7a2a0ee5 100644 (file)
@@ -125,8 +125,17 @@ class WP_Plugins_List_Table extends WP_List_Table {
                        // Extra info if known. array_merge() ensures $plugin_data has precedence if keys collide.
                        if ( isset( $plugin_info->response[ $plugin_file ] ) ) {
                                $plugins['all'][ $plugin_file ] = $plugin_data = array_merge( (array) $plugin_info->response[ $plugin_file ], $plugin_data );
+                               // Make sure that $plugins['upgrade'] also receives the extra info since it is used on ?plugin_status=upgrade
+                               if ( isset( $plugins['upgrade'][ $plugin_file ] ) ) {
+                                       $plugins['upgrade'][ $plugin_file ] = $plugin_data = array_merge( (array) $plugin_info->response[ $plugin_file ], $plugin_data );
+                               }
+
                        } elseif ( isset( $plugin_info->no_update[ $plugin_file ] ) ) {
                                $plugins['all'][ $plugin_file ] = $plugin_data = array_merge( (array) $plugin_info->no_update[ $plugin_file ], $plugin_data );
+                               // Make sure that $plugins['upgrade'] also receives the extra info since it is used on ?plugin_status=upgrade
+                               if ( isset( $plugins['upgrade'][ $plugin_file ] ) ) {
+                                       $plugins['upgrade'][ $plugin_file ] = $plugin_data = array_merge( (array) $plugin_info->no_update[ $plugin_file ], $plugin_data );
+                               }
                        }
 
                        // Filter into individual sections
@@ -515,7 +524,12 @@ class WP_Plugins_List_Table extends WP_List_Table {
                if ( ! empty( $totals['upgrade'] ) && ! empty( $plugin_data['update'] ) )
                        $class .= ' update';
 
-               echo "<tr id='$id' class='$class'>";
+               $plugin_slug = ( isset( $plugin_data['slug'] ) ) ? $plugin_data['slug'] : '';
+               printf( "<tr id='%s' class='%s' data-slug='%s'>",
+                       $id,
+                       $class,
+                       $plugin_slug
+               );
 
                list( $columns, $hidden ) = $this->get_column_info();
 
index 76aa1e5b0b0e62d1bd92d449ac7eb4dbf739f276..e6260394d8d8c286cd68ca816b905f3520c55be2 100644 (file)
@@ -45,6 +45,8 @@ class WP_Posts_List_Table extends WP_List_Table {
         */
        private $sticky_posts_count = 0;
 
+       private $is_trash;
+
        /**
         * Constructor.
         *
@@ -84,6 +86,17 @@ class WP_Posts_List_Table extends WP_List_Table {
                }
        }
 
+       /**
+        * Sets whether the table layout should be hierarchical or not.
+        *
+        * @since 4.2.0
+        *
+        * @param bool $display Whether the table layout should be hierarchical.
+        */
+       public function set_hierarchical_display( $display ) {
+               $this->hierarchical_display = $display;
+       }
+
        public function ajax_user_can() {
                return current_user_can( get_post_type_object( $this->screen->post_type )->cap->edit_posts );
        }
@@ -93,7 +106,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 
                $avail_post_stati = wp_edit_posts_query();
 
-               $this->hierarchical_display = ( is_post_type_hierarchical( $this->screen->post_type ) && 'menu_order title' == $wp_query->query['orderby'] );
+               $this->set_hierarchical_display( is_post_type_hierarchical( $this->screen->post_type ) && 'menu_order title' == $wp_query->query['orderby'] );
 
                $total_items = $this->hierarchical_display ? $wp_query->post_count : $wp_query->found_posts;
 
@@ -135,6 +148,21 @@ class WP_Posts_List_Table extends WP_List_Table {
                        echo get_post_type_object( $this->screen->post_type )->labels->not_found;
        }
 
+       /**
+        * Determine if the current view is the "All" view.
+        *
+        * @since 4.2.0
+        *
+        * @return bool Whether the current ivew is the "All" view.
+        */
+       protected function is_base_request() {
+               if ( empty( $_GET ) ) {
+                       return true;
+               } elseif ( 1 === count( $_GET ) && ! empty( $_GET['post_type'] ) ) {
+                       return $this->screen->post_type === $_GET['post_type'];
+               }
+       }
+
        protected function get_views() {
                global $locked_post_status, $avail_post_stati;
 
@@ -155,6 +183,7 @@ class WP_Posts_List_Table extends WP_List_Table {
                                $class = ' class="current"';
                        $status_links['mine'] = "<a href='edit.php?post_type=$post_type&author=$current_user_id'$class>" . sprintf( _nx( 'Mine <span class="count">(%s)</span>', 'Mine <span class="count">(%s)</span>', $this->user_posts_count, 'posts' ), number_format_i18n( $this->user_posts_count ) ) . '</a>';
                        $allposts = '&all_posts=1';
+                       $class = '';
                }
 
                $total_posts = array_sum( (array) $num_posts );
@@ -163,8 +192,21 @@ class WP_Posts_List_Table extends WP_List_Table {
                foreach ( get_post_stati( array('show_in_admin_all_list' => false) ) as $state )
                        $total_posts -= $num_posts->$state;
 
-               $class = empty( $class ) && empty( $_REQUEST['post_status'] ) && empty( $_REQUEST['show_sticky'] ) ? ' class="current"' : '';
-               $status_links['all'] = "<a href='edit.php?post_type=$post_type{$allposts}'$class>" . sprintf( _nx( 'All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total_posts, 'posts' ), number_format_i18n( $total_posts ) ) . '</a>';
+               if ( empty( $class ) && $this->is_base_request() && ! $this->user_posts_count ) {
+                       $class =  ' class="current"';
+               }
+
+               $all_inner_html = sprintf(
+                       _nx(
+                               'All <span class="count">(%s)</span>',
+                               'All <span class="count">(%s)</span>',
+                               $total_posts,
+                               'posts'
+                       ),
+                       number_format_i18n( $total_posts )
+               );
+
+               $status_links['all'] = "<a href='edit.php?post_type=$post_type{$allposts}'$class>" . $all_inner_html . '</a>';
 
                foreach ( get_post_stati(array('show_in_admin_status_list' => true), 'objects') as $status ) {
                        $class = '';
@@ -286,7 +328,7 @@ class WP_Posts_List_Table extends WP_List_Table {
        }
 
        protected function get_table_classes() {
-               return array( 'widefat', 'fixed', is_post_type_hierarchical( $this->screen->post_type ) ? 'pages' : 'posts' );
+               return array( 'widefat', 'fixed', 'striped', is_post_type_hierarchical( $this->screen->post_type ) ? 'pages' : 'posts' );
        }
 
        public function get_columns() {
@@ -333,7 +375,7 @@ 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"><span title="' . esc_attr__( 'Comments' ) . '" class="comment-grey-bubble"></span></span>';
+                       $posts_columns['comments'] = '<span class="vers comment-grey-bubble" title="' . esc_attr__( 'Comments' ) . '"><span class="screen-reader-text">' . __( 'Comments' ) . '</span></span>';
 
                $posts_columns['date'] = __( 'Date' );
 
@@ -429,7 +471,7 @@ class WP_Posts_List_Table extends WP_List_Table {
         * @param array $pages
         * @param int $pagenum
         * @param int $per_page
-        * @return bool|null
+        * @return false|null
         */
        private function _display_rows_hierarchical( $pages, $pagenum = 1, $per_page = 20 ) {
                global $wpdb;
@@ -476,20 +518,20 @@ class WP_Posts_List_Table extends WP_List_Table {
                $count = 0;
                $start = ( $pagenum - 1 ) * $per_page;
                $end = $start + $per_page;
+               $to_display = array();
 
                foreach ( $pages as $page ) {
                        if ( $count >= $end )
                                break;
 
                        if ( $count >= $start ) {
-                               echo "\t";
-                               $this->single_row( $page, $level );
+                               $to_display[$page->ID] = $level;
                        }
 
                        $count++;
 
                        if ( isset( $children_pages ) )
-                               $this->_page_rows( $children_pages, $count, $page->ID, $level + 1, $pagenum, $per_page );
+                               $this->_page_rows( $children_pages, $count, $page->ID, $level + 1, $pagenum, $per_page, $to_display );
                }
 
                // If it is the last pagenum and there are orphaned pages, display them with paging as well.
@@ -500,14 +542,25 @@ class WP_Posts_List_Table extends WP_List_Table {
                                                break;
 
                                        if ( $count >= $start ) {
-                                               echo "\t";
-                                               $this->single_row( $op, 0 );
+                                               $to_display[$op->ID] = 0;
                                        }
 
                                        $count++;
                                }
                        }
                }
+
+               $ids = array_keys( $to_display );
+               _prime_post_caches( $ids );
+
+               if ( ! isset( $GLOBALS['post'] ) ) {
+                       $GLOBALS['post'] = reset( $ids );
+               }
+
+               foreach ( $to_display as $page_id => $level ) {
+                       echo "\t";
+                       $this->single_row( $page_id, $level );
+               }
        }
 
        /**
@@ -515,6 +568,7 @@ class WP_Posts_List_Table extends WP_List_Table {
         * together with paging support
         *
         * @since 3.1.0 (Standalone function exists since 2.6.0)
+        * @since 4.2.0 Added the `$to_display` parameter.
         *
         * @param array $children_pages
         * @param int $count
@@ -522,8 +576,9 @@ class WP_Posts_List_Table extends WP_List_Table {
         * @param int $level
         * @param int $pagenum
         * @param int $per_page
+        * @param array $to_display List of pages to be displayed. Passed by reference.
         */
-       private function _page_rows( &$children_pages, &$count, $parent, $level, $pagenum, $per_page ) {
+       private function _page_rows( &$children_pages, &$count, $parent, $level, $pagenum, $per_page, &$to_display ) {
 
                if ( ! isset( $children_pages[$parent] ) )
                        return;
@@ -541,7 +596,13 @@ class WP_Posts_List_Table extends WP_List_Table {
                                $my_parents = array();
                                $my_parent = $page->post_parent;
                                while ( $my_parent ) {
-                                       $my_parent = get_post( $my_parent );
+                                       // Get the ID from the list or the attribute if my_parent is an object
+                                       $parent_id = $my_parent;
+                                       if ( is_object( $my_parent ) ) {
+                                               $parent_id = $my_parent->ID;
+                                       }
+
+                                       $my_parent = get_post( $parent_id );
                                        $my_parents[] = $my_parent;
                                        if ( !$my_parent->post_parent )
                                                break;
@@ -549,20 +610,18 @@ class WP_Posts_List_Table extends WP_List_Table {
                                }
                                $num_parents = count( $my_parents );
                                while ( $my_parent = array_pop( $my_parents ) ) {
-                                       echo "\t";
-                                       $this->single_row( $my_parent, $level - $num_parents );
+                                       $to_display[$my_parent->ID] = $level - $num_parents;
                                        $num_parents--;
                                }
                        }
 
                        if ( $count >= $start ) {
-                               echo "\t";
-                               $this->single_row( $page, $level );
+                               $to_display[$page->ID] = $level;
                        }
 
                        $count++;
 
-                       $this->_page_rows( $children_pages, $count, $page->ID, $level + 1, $pagenum, $per_page );
+                       $this->_page_rows( $children_pages, $count, $page->ID, $level + 1, $pagenum, $per_page, $to_display );
                }
 
                unset( $children_pages[$parent] ); //required in order to keep track of orphans
@@ -570,15 +629,16 @@ class WP_Posts_List_Table extends WP_List_Table {
 
        /**
         * @global string $mode
-        * @staticvar string $alternate
         * @param WP_Post $post
         * @param int $level
         */
        public function single_row( $post, $level = 0 ) {
                global $mode;
-               static $alternate;
 
                $global_post = get_post();
+
+               $post = get_post( $post );
+
                $GLOBALS['post'] = $post;
                setup_postdata( $post );
 
@@ -587,8 +647,7 @@ class WP_Posts_List_Table extends WP_List_Table {
                $post_type_object = get_post_type_object( $post->post_type );
                $can_edit_post = current_user_can( 'edit_post', $post->ID );
 
-               $alternate = 'alternate' == $alternate ? '' : 'alternate';
-               $classes = $alternate . ' iedit author-' . ( get_current_user_id() == $post->post_author ? 'self' : 'other' );
+               $classes = 'iedit author-' . ( get_current_user_id() == $post->post_author ? 'self' : 'other' );
 
                $lock_holder = wp_check_post_lock( $post->ID );
                if ( $lock_holder ) {
@@ -696,7 +755,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 
                                $actions = array();
                                if ( $can_edit_post && 'trash' != $post->post_status ) {
-                                       $actions['edit'] = '<a href="' . get_edit_post_link( $post->ID, true ) . '" title="' . esc_attr__( 'Edit this item' ) . '">' . __( 'Edit' ) . '</a>';
+                                       $actions['edit'] = '<a href="' . get_edit_post_link( $post->ID ) . '" title="' . esc_attr__( 'Edit this item' ) . '">' . __( 'Edit' ) . '</a>';
                                        $actions['inline hide-if-no-js'] = '<a href="#" class="editinline" title="' . esc_attr__( 'Edit this item inline' ) . '">' . __( 'Quick&nbsp;Edit' ) . '</a>';
                                }
                                if ( current_user_can( 'delete_post', $post->ID ) ) {
@@ -763,7 +822,7 @@ class WP_Posts_List_Table extends WP_List_Table {
                                        $t_time = $h_time = __( 'Unpublished' );
                                        $time_diff = 0;
                                } else {
-                                       $t_time = get_the_time( __( 'Y/m/d g:i:s A' ) );
+                                       $t_time = get_the_time( __( 'Y/m/d g:i:s a' ) );
                                        $m_time = $post->post_date;
                                        $time = get_post_time( 'G', true, $post );
 
@@ -945,10 +1004,23 @@ class WP_Posts_List_Table extends WP_List_Table {
                $hierarchical_taxonomies = array();
                $flat_taxonomies = array();
                foreach ( $taxonomy_names as $taxonomy_name ) {
+
                        $taxonomy = get_taxonomy( $taxonomy_name );
 
-                       if ( !$taxonomy->show_ui )
+                       $show_in_quick_edit = $taxonomy->show_in_quick_edit;
+
+                       /**
+                        * Filter whether the current taxonomy should be shown in the Quick Edit panel.
+                        *
+                        * @since 4.2.0
+                        *
+                        * @param bool   $show_in_quick_edit Whether to show the current taxonomy in Quick Edit.
+                        * @param string $taxonomy_name      Taxonomy name.
+                        * @param string $post_type          Post type of current Quick Edit post.
+                        */
+                       if ( ! apply_filters( 'quick_edit_show_taxonomy', $show_in_quick_edit, $taxonomy_name, $screen->post_type ) ) {
                                continue;
+                       }
 
                        if ( $taxonomy->hierarchical )
                                $hierarchical_taxonomies[] = $taxonomy;
@@ -962,7 +1034,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 
        ?>
 
-       <form method="get" action=""><table style="display: none"><tbody id="inlineedit">
+       <form method="get"><table style="display: none"><tbody id="inlineedit">
                <?php
                $hclass = count( $hierarchical_taxonomies ) ? 'post' : 'page';
                $bulk = 0;
@@ -1041,7 +1113,7 @@ class WP_Posts_List_Table extends WP_List_Table {
                                        <span class="input-text-wrap"><input type="text" name="post_password" class="inline-edit-password-input" value="" /></span>
                                </label>
 
-                               <em style="margin:5px 10px 0 0" class="alignleft">
+                               <em class="alignleft inline-edit-or">
                                        <?php
                                        /* translators: Between password field and private checkbox on post quick edit interface */
                                        echo __( '&ndash;OR&ndash;' );
@@ -1316,14 +1388,14 @@ class WP_Posts_List_Table extends WP_List_Table {
                }
        ?>
                <p class="submit inline-edit-save">
-                       <a accesskey="c" href="#inline-edit" class="button-secondary cancel alignleft"><?php _e( 'Cancel' ); ?></a>
+                       <a href="#inline-edit" class="button-secondary cancel alignleft"><?php _e( 'Cancel' ); ?></a>
                        <?php if ( ! $bulk ) {
                                wp_nonce_field( 'inlineeditnonce', '_inline_edit', false );
                                ?>
-                               <a accesskey="s" href="#inline-edit" class="button-primary save alignright"><?php _e( 'Update' ); ?></a>
+                               <a href="#inline-edit" class="button-primary save alignright"><?php _e( 'Update' ); ?></a>
                                <span class="spinner"></span>
                        <?php } else {
-                               submit_button( __( 'Update' ), 'button-primary alignright', 'bulk_edit', false, array( 'accesskey' => 's' ) );
+                               submit_button( __( 'Update' ), 'button-primary alignright', 'bulk_edit', false );
                        } ?>
                        <input type="hidden" name="post_view" value="<?php echo esc_attr( $m ); ?>" />
                        <input type="hidden" name="screen" value="<?php echo esc_attr( $screen->id ); ?>" />
diff --git a/wp-admin/includes/class-wp-press-this.php b/wp-admin/includes/class-wp-press-this.php
new file mode 100644 (file)
index 0000000..257c76d
--- /dev/null
@@ -0,0 +1,1466 @@
+<?php
+/**
+ * Press This class and display functionality
+ *
+ * @package WordPress
+ * @subpackage Press_This
+ * @since 4.2.0
+ */
+
+/**
+ * Press This class.
+ *
+ * @since 4.2.0
+ */
+class WP_Press_This {
+
+       // Used to trigger the bookmarklet update notice.
+       public $version = 8;
+
+       private $images = array();
+
+       private $embeds = array();
+
+       private $domain = '';
+
+       /**
+        * Constructor.
+        *
+        * @since 4.2.0
+        * @access public
+        */
+       public function __construct() {}
+
+       /**
+        * App and site settings data, including i18n strings for the client-side.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @return array Site settings.
+        */
+       public function site_settings() {
+               return array(
+                       /**
+                        * Filter whether or not Press This should redirect the user in the parent window upon save.
+                        *
+                        * @since 4.2.0
+                        *
+                        * @param bool false Whether to redirect in parent window or not. Default false.
+                        */
+                       'redirInParent' => apply_filters( 'press_this_redirect_in_parent', false ),
+               );
+       }
+
+       /**
+        * Get the source's images and save them locally, for posterity, unless we can't.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @param int    $post_id Post ID.
+        * @param string $content Optional. Current expected markup for Press This. Expects slashed. Default empty.
+        * @return string New markup with old image URLs replaced with the local attachment ones if swapped.
+        */
+       public function side_load_images( $post_id, $content = '' ) {
+               $content = wp_unslash( $content );
+
+               if ( preg_match_all( '/<img [^>]+>/', $content, $matches ) && current_user_can( 'upload_files' ) ) {
+                       foreach ( (array) $matches[0] as $image ) {
+                               // This is inserted from our JS so HTML attributes should always be in double quotes.
+                               if ( ! preg_match( '/src="([^"]+)"/', $image, $url_matches ) ) {
+                                       continue;
+                               }
+
+                               $image_src = $url_matches[1];
+
+                               // Don't try to sideload a file without a file extension, leads to WP upload error.
+                               if ( ! preg_match( '/[^\?]+\.(?:jpe?g|jpe|gif|png)(?:\?|$)/i', $image_src ) ) {
+                                       continue;
+                               }
+
+                               // Sideload image, which gives us a new image src.
+                               $new_src = media_sideload_image( $image_src, $post_id, null, 'src' );
+
+                               if ( ! is_wp_error( $new_src ) ) {
+                                       // Replace the POSTED content <img> with correct uploaded ones.
+                                       // Need to do it in two steps so we don't replace links to the original image if any.
+                                       $new_image = str_replace( $image_src, $new_src, $image );
+                                       $content = str_replace( $image, $new_image, $content );
+                               }
+                       }
+               }
+
+               // Edxpected slashed
+               return wp_slash( $content );
+       }
+
+       /**
+        * AJAX handler for saving the post as draft or published.
+        *
+        * @since 4.2.0
+        * @access public
+        */
+       public function save_post() {
+               if ( empty( $_POST['post_ID'] ) || ! $post_id = (int) $_POST['post_ID'] ) {
+                       wp_send_json_error( array( 'errorMessage' => __( 'Missing post ID.' ) ) );
+               }
+
+               if ( empty( $_POST['_wpnonce'] ) || ! wp_verify_nonce( $_POST['_wpnonce'], 'update-post_' . $post_id ) ||
+                       ! current_user_can( 'edit_post', $post_id ) ) {
+
+                       wp_send_json_error( array( 'errorMessage' => __( 'Invalid post.' ) ) );
+               }
+
+               $post = array(
+                       'ID'            => $post_id,
+                       'post_title'    => ( ! empty( $_POST['post_title'] ) ) ? sanitize_text_field( trim( $_POST['post_title'] ) ) : '',
+                       'post_content'  => ( ! empty( $_POST['post_content'] ) ) ? trim( $_POST['post_content'] ) : '',
+                       'post_type'     => 'post',
+                       'post_status'   => 'draft',
+                       'post_format'   => ( ! empty( $_POST['post_format'] ) ) ? sanitize_text_field( $_POST['post_format'] ) : '',
+                       'tax_input'     => ( ! empty( $_POST['tax_input'] ) ) ? $_POST['tax_input'] : array(),
+                       'post_category' => ( ! empty( $_POST['post_category'] ) ) ? $_POST['post_category'] : array(),
+               );
+
+               if ( ! empty( $_POST['post_status'] ) && 'publish' === $_POST['post_status'] ) {
+                       if ( current_user_can( 'publish_posts' ) ) {
+                               $post['post_status'] = 'publish';
+                       } else {
+                               $post['post_status'] = 'pending';
+                       }
+               }
+
+               $post['post_content'] = $this->side_load_images( $post_id, $post['post_content'] );
+
+               $updated = wp_update_post( $post, true );
+
+               if ( is_wp_error( $updated ) ) {
+                       wp_send_json_error( array( 'errorMessage' => $updated->get_error_message() ) );
+               } else {
+                       if ( isset( $post['post_format'] ) ) {
+                               if ( current_theme_supports( 'post-formats', $post['post_format'] ) ) {
+                                       set_post_format( $post_id, $post['post_format'] );
+                               } elseif ( $post['post_format'] ) {
+                                       set_post_format( $post_id, false );
+                               }
+                       }
+
+                       if ( 'publish' === get_post_status( $post_id ) ) {
+                               $redirect = get_post_permalink( $post_id );
+                       } else {
+                               $redirect = false;
+                       }
+
+                       /**
+                        * Filter the URL to redirect to when Press This saves.
+                        *
+                        * @since 4.2.0
+                        *
+                        * @param string $url     Redirect URL. If `$status` is 'publish', this will be the post permalink.
+                        *                        Otherwise, the default is false resulting in no redirect.
+                        * @param int    $post_id Post ID.
+                        * @param string $status  Post status.
+                        */
+                       $redirect = apply_filters( 'press_this_save_redirect', $redirect, $post_id, $post['post_status'] );
+
+                       if ( $redirect ) {
+                               wp_send_json_success( array( 'redirect' => $redirect ) );
+                       } else {
+                               wp_send_json_success( array( 'postSaved' => true ) );
+                       }
+               }
+       }
+
+       /**
+        * AJAX handler for adding a new category.
+        *
+        * @since 4.2.0
+        * @access public
+        */
+       public function add_category() {
+               if ( false === wp_verify_nonce( $_POST['new_cat_nonce'], 'add-category' ) ) {
+                       wp_send_json_error();
+               }
+
+               $taxonomy = get_taxonomy( 'category' );
+
+               if ( ! current_user_can( $taxonomy->cap->edit_terms ) || empty( $_POST['name'] ) ) {
+                       wp_send_json_error();
+               }
+
+               $parent = isset( $_POST['parent'] ) && (int) $_POST['parent'] > 0 ? (int) $_POST['parent'] : 0;
+               $names = explode( ',', $_POST['name'] );
+               $added = $data = array();
+
+               foreach ( $names as $cat_name ) {
+                       $cat_name = trim( $cat_name );
+                       $cat_nicename = sanitize_title( $cat_name );
+
+                       if ( empty( $cat_nicename ) ) {
+                               continue;
+                       }
+
+                       // @todo Find a more performant to check existence, maybe get_term() with a separate parent check.
+                       if ( ! $cat_id = term_exists( $cat_name, $taxonomy->name, $parent ) ) {
+                               $cat_id = wp_insert_term( $cat_name, $taxonomy->name, array( 'parent' => $parent ) );
+                       }
+
+                       if ( is_wp_error( $cat_id ) ) {
+                               continue;
+                       } elseif ( is_array( $cat_id ) ) {
+                               $cat_id = $cat_id['term_id'];
+                       }
+
+                       $added[] = $cat_id;
+               }
+
+               if ( empty( $added ) ) {
+                       wp_send_json_error( array( 'errorMessage' => __( 'This category cannot be added. Please change the name and try again.' ) ) );
+               }
+
+               foreach ( $added as $new_cat_id ) {
+                       $new_cat = get_category( $new_cat_id );
+
+                       if ( is_wp_error( $new_cat ) ) {
+                               wp_send_json_error( array( 'errorMessage' => __( 'Error while adding the category. Please try again later.' ) ) );
+                       }
+
+                       $data[] = array(
+                               'term_id' => $new_cat->term_id,
+                               'name' => $new_cat->name,
+                               'parent' => $new_cat->parent,
+                       );
+               }
+               wp_send_json_success( $data );
+       }
+
+       /**
+        * Downloads the source's HTML via server-side call for the given URL.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @param string $url URL to scan.
+        * @return string Source's HTML sanitized markup
+        */
+       public function fetch_source_html( $url ) {
+               // Download source page to tmp file.
+               $source_tmp_file = ( ! empty( $url ) ) ? download_url( $url, 30 ) : '';
+               $source_content  = '';
+
+               if ( ! is_wp_error( $source_tmp_file ) && file_exists( $source_tmp_file ) ) {
+
+                       // Get the content of the source page from the tmp file..
+                       $source_content = wp_kses(
+                               @file_get_contents( $source_tmp_file ),
+                               array(
+                                       'img' => array(
+                                               'src'      => array(),
+                                               'width'    => array(),
+                                               'height'   => array(),
+                                       ),
+                                       'iframe' => array(
+                                               'src'      => array(),
+                                       ),
+                                       'link' => array(
+                                               'rel'      => array(),
+                                               'itemprop' => array(),
+                                               'href'     => array(),
+                                       ),
+                                       'meta' => array(
+                                               'property' => array(),
+                                               'name'     => array(),
+                                               'content'  => array(),
+                                       )
+                               )
+                       );
+
+                       // All done with backward compatibility. Let's do some cleanup, for good measure :)
+                       unlink( $source_tmp_file );
+
+               } else if ( is_wp_error( $source_tmp_file ) ) {
+                       $source_content = new WP_Error( 'upload-error',  sprintf( __( 'Error: %s' ), sprintf( __( 'Could not download the source URL (native error: %s).' ), $source_tmp_file->get_error_message() ) ) );
+               } else if ( ! file_exists( $source_tmp_file ) ) {
+                       $source_content = new WP_Error( 'no-local-file',  sprintf( __( 'Error: %s' ), __( 'Could not save or locate the temporary download file for the source URL.' ) ) );
+               }
+
+               return $source_content;
+       }
+
+       /**
+        * Utility method to limit an array to 50 values.
+        *
+        * @ignore
+        * @since 4.2.0
+        *
+        * @param array $value Array to limit.
+        * @return array Original array if fewer than 50 values, limited array, empty array otherwise.
+        */
+       private function _limit_array( $value ) {
+               if ( is_array( $value ) ) {
+                       if ( count( $value ) > 50 ) {
+                               return array_slice( $value, 0, 50 );
+                       }
+
+                       return $value;
+               }
+
+               return array();
+       }
+
+       /**
+        * Utility method to limit the length of a given string to 5,000 characters.
+        *
+        * @ignore
+        * @since 4.2.0
+        *
+        * @param string $value String to limit.
+        * @return bool|int|string If boolean or integer, that value. If a string, the original value
+        *                         if fewer than 5,000 characters, a truncated version, otherwise an
+        *                         empty string.
+        */
+       private function _limit_string( $value ) {
+               $return = '';
+
+               if ( is_numeric( $value ) || is_bool( $value ) ) {
+                       $return = $value;
+               } else if ( is_string( $value ) ) {
+                       if ( mb_strlen( $value ) > 5000 ) {
+                               $return = mb_substr( $value, 0, 5000 );
+                       } else {
+                               $return = $value;
+                       }
+
+                       $return = html_entity_decode( $return, ENT_QUOTES, 'UTF-8' );
+                       $return = sanitize_text_field( trim( $return ) );
+               }
+
+               return $return;
+       }
+
+       /**
+        * Utility method to limit a given URL to 2,048 characters.
+        *
+        * @ignore
+        * @since 4.2.0
+        *
+        * @param string $url URL to check for length and validity.
+        * @return string Escaped URL if of valid length (< 2048) and makeup. Empty string otherwise.
+        */
+       private function _limit_url( $url ) {
+               if ( ! is_string( $url ) ) {
+                       return '';
+               }
+
+               // HTTP 1.1 allows 8000 chars but the "de-facto" standard supported in all current browsers is 2048.
+               if ( strlen( $url ) > 2048 ) {
+                       return ''; // Return empty rather than a truncated/invalid URL
+               }
+
+               // Does not look like an URL.
+               if ( ! preg_match( '/^([!#$&-;=?-\[\]_a-z~]|%[0-9a-fA-F]{2})+$/', $url ) ) {
+                       return '';
+               }
+
+               // If the URL is root-relative, prepend the protocol and domain name
+               if ( $url && $this->domain && preg_match( '%^/[^/]+%', $url ) ) {
+                       $url = $this->domain . $url;
+               }
+
+               // Not absolute or protocol-relative URL.
+               if ( ! preg_match( '%^(?:https?:)?//[^/]+%', $url ) ) {
+                       return '';
+               }
+
+               return esc_url_raw( $url, array( 'http', 'https' ) );
+       }
+
+       /**
+        * Utility method to limit image source URLs.
+        *
+        * Excluded URLs include share-this type buttons, loaders, spinners, spacers, WP interface images,
+        * tiny buttons or thumbs, mathtag.com or quantserve.com images, or the WP stats gif.
+        *
+        * @ignore
+        * @since 4.2.0
+        *
+        * @param string $src Image source URL.
+        * @return string If not matched an excluded URL type, the original URL, empty string otherwise.
+        */
+       private function _limit_img( $src ) {
+               $src = $this->_limit_url( $src );
+
+               if ( preg_match( '/\/ad[sx]{1}?\//', $src ) ) {
+                       // Ads
+                       return '';
+               } else if ( preg_match( '/(\/share-?this[^\.]+?\.[a-z0-9]{3,4})(\?.*)?$/', $src ) ) {
+                       // Share-this type button
+                       return '';
+               } else if ( preg_match( '/\/(spinner|loading|spacer|blank|rss)\.(gif|jpg|png)/', $src ) ) {
+                       // Loaders, spinners, spacers
+                       return '';
+               } else if ( preg_match( '/\/([^\.\/]+[-_]{1})?(spinner|loading|spacer|blank)s?([-_]{1}[^\.\/]+)?\.[a-z0-9]{3,4}/', $src ) ) {
+                       // Fancy loaders, spinners, spacers
+                       return '';
+               } else if ( preg_match( '/([^\.\/]+[-_]{1})?thumb[^.]*\.(gif|jpg|png)$/', $src ) ) {
+                       // Thumbnails, too small, usually irrelevant to context
+                       return '';
+               } else if ( preg_match( '/\/wp-includes\//', $src ) ) {
+                       // Classic WP interface images
+                       return '';
+               } else if ( preg_match( '/[^\d]{1}\d{1,2}x\d+\.(gif|jpg|png)$/', $src ) ) {
+                       // Most often tiny buttons/thumbs (< 100px wide)
+                       return '';
+               } else if ( preg_match( '/\/pixel\.(mathtag|quantserve)\.com/', $src ) ) {
+                       // See mathtag.com and https://www.quantcast.com/how-we-do-it/iab-standard-measurement/how-we-collect-data/
+                       return '';
+               } else if ( preg_match( '/\/[gb]\.gif(\?.+)?$/', $src ) ) {
+                       // Classic WP stats gif
+                       return '';
+               }
+
+               return $src;
+       }
+
+       /**
+        * Limit embed source URLs to specific providers.
+        *
+        * Not all core oEmbed providers are supported. Supported providers include YouTube, Vimeo,
+        * Vine, Daily Motion, SoundCloud, and Twitter.
+        *
+        * @ignore
+        * @since 4.2.0
+        *
+        * @param string $src Embed source URL.
+        * @return string If not from a supported provider, an empty string. Otherwise, a reformattd embed URL.
+        */
+       private function _limit_embed( $src ) {
+               $src = $this->_limit_url( $src );
+
+               if ( preg_match( '/\/\/(m|www)\.youtube\.com\/(embed|v)\/([^\?]+)\?.+$/', $src, $src_matches ) ) {
+                       // Embedded Youtube videos (www or mobile)
+                       $src = 'https://www.youtube.com/watch?v=' . $src_matches[3];
+               } else if ( preg_match( '/\/\/player\.vimeo\.com\/video\/([\d]+)([\?\/]{1}.*)?$/', $src, $src_matches ) ) {
+                       // Embedded Vimeo iframe videos
+                       $src = 'https://vimeo.com/' . (int) $src_matches[1];
+               } else if ( preg_match( '/\/\/vimeo\.com\/moogaloop\.swf\?clip_id=([\d]+)$/', $src, $src_matches ) ) {
+                       // Embedded Vimeo Flash videos
+                       $src = 'https://vimeo.com/' . (int) $src_matches[1];
+               } else if ( preg_match( '/\/\/vine\.co\/v\/([^\/]+)\/embed/', $src, $src_matches ) ) {
+                       // Embedded Vine videos
+                       $src = 'https://vine.co/v/' . $src_matches[1];
+               } else if ( preg_match( '/\/\/(www\.)?dailymotion\.com\/embed\/video\/([^\/\?]+)([\/\?]{1}.+)?/', $src, $src_matches ) ) {
+                       // Embedded Daily Motion videos
+                       $src = 'https://www.dailymotion.com/video/' . $src_matches[2];
+               } else if ( ! preg_match( '/\/\/(m|www)\.youtube\.com\/watch\?/', $src )          // Youtube video page (www or mobile)
+                           && ! preg_match( '/\/youtu\.be\/.+$/', $src )                         // Youtu.be video page
+                           && ! preg_match( '/\/\/vimeo\.com\/[\d]+$/', $src )                   // Vimeo video page
+                           && ! preg_match( '/\/\/(www\.)?dailymotion\.com\/video\/.+$/', $src ) // Daily Motion video page
+                           && ! preg_match( '/\/\/soundcloud\.com\/.+$/', $src )                 // SoundCloud audio page
+                           && ! preg_match( '/\/\/twitter\.com\/[^\/]+\/status\/[\d]+$/', $src ) // Twitter status page
+                           && ! preg_match( '/\/\/vine\.co\/v\/[^\/]+/', $src ) ) {              // Vine video page
+                       $src = '';
+               }
+
+               return $src;
+       }
+
+       /**
+        * Process a meta data entry from the source.
+        *
+        * @ignore
+        * @since 4.2.0
+        *
+        * @param string $meta_name  Meta key name.
+        * @param mixed  $meta_value Meta value.
+        * @param array  $data       Associative array of source data.
+        * @return array Processed data array.
+        */
+       private function _process_meta_entry( $meta_name, $meta_value, $data ) {
+               if ( preg_match( '/:?(title|description|keywords|site_name)$/', $meta_name ) ) {
+                       $data['_meta'][ $meta_name ] = $meta_value;
+               } else {
+                       switch ( $meta_name ) {
+                               case 'og:url':
+                               case 'og:video':
+                               case 'og:video:secure_url':
+                                       $meta_value = $this->_limit_embed( $meta_value );
+
+                                       if ( ! isset( $data['_embeds'] ) ) {
+                                               $data['_embeds'] = array();
+                                       }
+
+                                       if ( ! empty( $meta_value ) && ! in_array( $meta_value, $data['_embeds'] ) ) {
+                                               $data['_embeds'][] = $meta_value;
+                                       }
+
+                                       break;
+                               case 'og:image':
+                               case 'og:image:secure_url':
+                               case 'twitter:image0:src':
+                               case 'twitter:image0':
+                               case 'twitter:image:src':
+                               case 'twitter:image':
+                                       $meta_value = $this->_limit_img( $meta_value );
+
+                                       if ( ! isset( $data['_images'] ) ) {
+                                               $data['_images'] = array();
+                                       }
+
+                                       if ( ! empty( $meta_value ) && ! in_array( $meta_value, $data['_images'] ) ) {
+                                               $data['_images'][] = $meta_value;
+                                       }
+
+                                       break;
+                       }
+               }
+
+               return $data;
+       }
+
+       /**
+        * Fetches and parses _meta, _images, and _links data from the source.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @param string $url  URL to scan.
+        * @param array  $data Optional. Existing data array if you have one. Default empty array.
+        * @return array New data array.
+        */
+       public function source_data_fetch_fallback( $url, $data = array() ) {
+               if ( empty( $url ) ) {
+                       return array();
+               }
+
+               // Download source page to tmp file.
+               $source_content = $this->fetch_source_html( $url );
+               if ( is_wp_error( $source_content ) ) {
+                       return array( 'errors' => $source_content->get_error_messages() );
+               }
+
+               // Fetch and gather <meta> data first, so discovered media is offered 1st to user.
+               if ( empty( $data['_meta'] ) ) {
+                       $data['_meta'] = array();
+               }
+
+               if ( preg_match_all( '/<meta [^>]+>/', $source_content, $matches ) ) {
+                       $items = $this->_limit_array( $matches[0] );
+
+                       foreach ( $items as $value ) {
+                               if ( preg_match( '/(property|name)="([^"]+)"[^>]+content="([^"]+)"/', $value, $new_matches ) ) {
+                                       $meta_name  = $this->_limit_string( $new_matches[2] );
+                                       $meta_value = $this->_limit_string( $new_matches[3] );
+
+                                       // Sanity check. $key is usually things like 'title', 'description', 'keywords', etc.
+                                       if ( strlen( $meta_name ) > 100 ) {
+                                               continue;
+                                       }
+
+                                       $data = $this->_process_meta_entry( $meta_name, $meta_value, $data );
+                               }
+                       }
+               }
+
+               // Fetch and gather <img> data.
+               if ( empty( $data['_images'] ) ) {
+                       $data['_images'] = array();
+               }
+
+               if ( preg_match_all( '/<img [^>]+>/', $source_content, $matches ) ) {
+                       $items = $this->_limit_array( $matches[0] );
+
+                       foreach ( $items as $value ) {
+                               if ( ( preg_match( '/width=(\'|")(\d+)\\1/i', $value, $new_matches ) && $new_matches[2] < 256 ) ||
+                                       ( preg_match( '/height=(\'|")(\d+)\\1/i', $value, $new_matches ) && $new_matches[2] < 128 ) ) {
+
+                                       continue;
+                               }
+
+                               if ( preg_match( '/src=(\'|")([^\'"]+)\\1/i', $value, $new_matches ) ) {
+                                       $src = $this->_limit_img( $new_matches[2] );
+                                       if ( ! empty( $src ) && ! in_array( $src, $data['_images'] ) ) {
+                                               $data['_images'][] = $src;
+                                       }
+                               }
+                       }
+               }
+
+               // Fetch and gather <iframe> data.
+               if ( empty( $data['_embeds'] ) ) {
+                       $data['_embeds'] = array();
+               }
+
+               if ( preg_match_all( '/<iframe [^>]+>/', $source_content, $matches ) ) {
+                       $items = $this->_limit_array( $matches[0] );
+
+                       foreach ( $items as $value ) {
+                               if ( preg_match( '/src=(\'|")([^\'"]+)\\1/', $value, $new_matches ) ) {
+                                       $src = $this->_limit_embed( $new_matches[2] );
+
+                                       if ( ! empty( $src ) && ! in_array( $src, $data['_embeds'] ) ) {
+                                               $data['_embeds'][] = $src;
+                                       }
+                               }
+                       }
+               }
+
+               // Fetch and gather <link> data.
+               if ( empty( $data['_links'] ) ) {
+                       $data['_links'] = array();
+               }
+
+               if ( preg_match_all( '/<link [^>]+>/', $source_content, $matches ) ) {
+                       $items = $this->_limit_array( $matches[0] );
+
+                       foreach ( $items as $value ) {
+                               if ( preg_match( '/rel=["\'](canonical|shortlink|icon)["\']/i', $value, $matches_rel ) && preg_match( '/href=[\'"]([^\'" ]+)[\'"]/i', $value, $matches_url ) ) {
+                                       $rel = $matches_rel[1];
+                                       $url = $this->_limit_url( $matches_url[1] );
+
+                                       if ( ! empty( $url ) && empty( $data['_links'][ $rel ] ) ) {
+                                               $data['_links'][ $rel ] = $url;
+                                       }
+                               }
+                       }
+               }
+
+               return $data;
+       }
+
+       /**
+        * Handles backward-compat with the legacy version of Press This by supporting its query string params.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @return array
+        */
+       public function merge_or_fetch_data() {
+               // Get data from $_POST and $_GET, as appropriate ($_POST > $_GET), to remain backward compatible.
+               $data = array();
+
+               // Only instantiate the keys we want. Sanity check and sanitize each one.
+               foreach ( array( 'u', 's', 't', 'v' ) as $key ) {
+                       if ( ! empty( $_POST[ $key ] ) ) {
+                               $value = wp_unslash( $_POST[ $key ] );
+                       } else if ( ! empty( $_GET[ $key ] ) ) {
+                               $value = wp_unslash( $_GET[ $key ] );
+                       } else {
+                               continue;
+                       }
+
+                       if ( 'u' === $key ) {
+                               $value = $this->_limit_url( $value );
+
+                               if ( preg_match( '%^(?:https?:)?//[^/]+%i', $value, $domain_match ) ) {
+                                       $this->domain = $domain_match[0];
+                               }
+                       } else {
+                               $value = $this->_limit_string( $value );
+                       }
+
+                       if ( ! empty( $value ) ) {
+                               $data[ $key ] = $value;
+                       }
+               }
+
+               /**
+                * Filter whether to enable in-source media discovery in Press This.
+                *
+                * @since 4.2.0
+                *
+                * @param bool $enable Whether to enable media discovery.
+                */
+               if ( apply_filters( 'enable_press_this_media_discovery', true ) ) {
+                       /*
+                        * If no title, _images, _embed, and _meta was passed via $_POST, fetch data from source as fallback,
+                        * making PT fully backward compatible with the older bookmarklet.
+                        */
+                       if ( empty( $_POST ) && ! empty( $data['u'] ) ) {
+                               $data = $this->source_data_fetch_fallback( $data['u'], $data );
+                       } else {
+                               foreach ( array( '_images', '_embeds' ) as $type ) {
+                                       if ( empty( $_POST[ $type ] ) ) {
+                                               continue;
+                                       }
+
+                                       $data[ $type ] = array();
+                                       $items = $this->_limit_array( $_POST[ $type ] );
+
+                                       foreach ( $items as $key => $value ) {
+                                               if ( $type === '_images' ) {
+                                                       $value = $this->_limit_img( wp_unslash( $value ) );
+                                               } else {
+                                                       $value = $this->_limit_embed( wp_unslash( $value ) );
+                                               }
+
+                                               if ( ! empty( $value ) ) {
+                                                       $data[ $type ][] = $value;
+                                               }
+                                       }
+                               }
+
+                               foreach ( array( '_meta', '_links' ) as $type ) {
+                                       if ( empty( $_POST[ $type ] ) ) {
+                                               continue;
+                                       }
+
+                                       $data[ $type ] = array();
+                                       $items = $this->_limit_array( $_POST[ $type ] );
+
+                                       foreach ( $items as $key => $value ) {
+                                               // Sanity check. These are associative arrays, $key is usually things like 'title', 'description', 'keywords', etc.
+                                               if ( empty( $key ) || strlen( $key ) > 100 ) {
+                                                       continue;
+                                               }
+
+                                               if ( $type === '_meta' ) {
+                                                       $value = $this->_limit_string( wp_unslash( $value ) );
+
+                                                       if ( ! empty( $value ) ) {
+                                                               $data = $this->_process_meta_entry( $key, $value, $data );
+                                                       }
+                                               } else {
+                                                       if ( in_array( $key, array( 'canonical', 'shortlink', 'icon' ), true ) ) {
+                                                               $data[ $type ][ $key ] = $this->_limit_url( wp_unslash( $value ) );
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+               }
+
+               /**
+                * Filter the Press This data array.
+                *
+                * @since 4.2.0
+                *
+                * @param array $data Press This Data array.
+                */
+               return apply_filters( 'press_this_data', $data );
+       }
+
+       /**
+        * Adds another stylesheet inside TinyMCE.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @param string $styles URL to editor stylesheet.
+        * @return string Possibly modified stylesheets list.
+        */
+       public function add_editor_style( $styles ) {
+               if ( ! empty( $styles ) ) {
+                       $styles .= ',';
+               }
+
+               $press_this = admin_url( 'css/press-this-editor.css' );
+               if ( is_rtl() ) {
+                       $press_this = str_replace( '.css', '-rtl.css', $press_this );
+               }
+
+               return $styles . $press_this;
+       }
+
+       /**
+        * Outputs the post format selection HTML.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @param WP_Post $post Post object.
+        */
+       public function post_formats_html( $post ) {
+               if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post->post_type, 'post-formats' ) ) {
+                       $post_formats = get_theme_support( 'post-formats' );
+
+                       if ( is_array( $post_formats[0] ) ) {
+                               $post_format = get_post_format( $post->ID );
+
+                               if ( ! $post_format ) {
+                                       $post_format = '0';
+                               }
+
+                               // Add in the current one if it isn't there yet, in case the current theme doesn't support it.
+                               if ( $post_format && ! in_array( $post_format, $post_formats[0] ) ) {
+                                       $post_formats[0][] = $post_format;
+                               }
+
+                               ?>
+                               <div id="post-formats-select">
+                               <fieldset><legend class="screen-reader-text"><?php _e( 'Post formats' ); ?></legend>
+                                       <input type="radio" name="post_format" class="post-format" id="post-format-0" value="0" <?php checked( $post_format, '0' ); ?> />
+                                       <label for="post-format-0" class="post-format-icon post-format-standard"><?php echo get_post_format_string( 'standard' ); ?></label>
+                                       <?php
+
+                                       foreach ( $post_formats[0] as $format ) {
+                                               $attr_format = esc_attr( $format );
+                                               ?>
+                                               <br />
+                                               <input type="radio" name="post_format" class="post-format" id="post-format-<?php echo $attr_format; ?>" value="<?php echo $attr_format; ?>" <?php checked( $post_format, $format ); ?> />
+                                               <label for="post-format-<?php echo $attr_format ?>" class="post-format-icon post-format-<?php echo $attr_format; ?>"><?php echo esc_html( get_post_format_string( $format ) ); ?></label>
+                                               <?php
+                                        }
+
+                                        ?>
+                               </fieldset>
+                               </div>
+                               <?php
+                       }
+               }
+       }
+
+       /**
+        * Outputs the categories HTML.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @param WP_Post $post Post object.
+        */
+       public function categories_html( $post ) {
+               $taxonomy = get_taxonomy( 'category' );
+
+               if ( current_user_can( $taxonomy->cap->edit_terms ) ) {
+                       ?>
+                       <button type="button" class="add-cat-toggle button-subtle" aria-expanded="false">
+                               <span class="dashicons dashicons-plus"></span><span class="screen-reader-text"><?php _e( 'Toggle add category' ); ?></span>
+                       </button>
+                       <div class="add-category is-hidden">
+                               <label class="screen-reader-text" for="new-category"><?php echo $taxonomy->labels->add_new_item; ?></label>
+                               <input type="text" id="new-category" class="add-category-name" placeholder="<?php echo esc_attr( $taxonomy->labels->new_item_name ); ?>" value="" aria-required="true">
+                               <label class="screen-reader-text" for="new-category-parent"><?php echo $taxonomy->labels->parent_item_colon; ?></label>
+                               <div class="postform-wrapper">
+                                       <?php
+                                       wp_dropdown_categories( array(
+                                               'taxonomy'         => 'category',
+                                               'hide_empty'       => 0,
+                                               'name'             => 'new-category-parent',
+                                               'orderby'          => 'name',
+                                               'hierarchical'     => 1,
+                                               'show_option_none' => '&mdash; ' . $taxonomy->labels->parent_item . ' &mdash;'
+                                       ) );
+                                       ?>
+                               </div>
+                               <button type="button" class="add-cat-submit"><?php _e( 'Add' ); ?></button>
+                       </div>
+                       <?php
+
+               }
+               ?>
+               <div class="categories-search-wrapper">
+                       <input id="categories-search" type="search" class="categories-search" placeholder="<?php esc_attr_e( 'Search categories by name' ) ?>">
+                       <label for="categories-search">
+                               <span class="dashicons dashicons-search"></span><span class="screen-reader-text"><?php _e( 'Search categories' ); ?></span>
+                       </label>
+               </div>
+               <div aria-label="<?php esc_attr_e( 'Categories' ); ?>">
+                       <ul class="categories-select">
+                               <?php wp_terms_checklist( $post->ID, array( 'taxonomy' => 'category', 'list_only' => true ) ); ?>
+                       </ul>
+               </div>
+               <?php
+       }
+
+       /**
+        * Outputs the tags HTML.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @param WP_Post $post Post object.
+        */
+       public function tags_html( $post ) {
+               $taxonomy              = get_taxonomy( 'post_tag' );
+               $user_can_assign_terms = current_user_can( $taxonomy->cap->assign_terms );
+               $esc_tags              = get_terms_to_edit( $post->ID, 'post_tag' );
+
+               if ( ! $esc_tags || is_wp_error( $esc_tags ) ) {
+                       $esc_tags = '';
+               }
+
+               ?>
+               <div class="tagsdiv" id="post_tag">
+                       <div class="jaxtag">
+                       <input type="hidden" name="tax_input[post_tag]" class="the-tags" value="<?php echo $esc_tags; // escaped in get_terms_to_edit() ?>">
+                       <?php
+
+                       if ( $user_can_assign_terms ) {
+                               ?>
+                               <div class="ajaxtag hide-if-no-js">
+                                       <label class="screen-reader-text" for="new-tag-post_tag"><?php _e( 'Tags' ); ?></label>
+                                       <p>
+                                               <input type="text" id="new-tag-post_tag" name="newtag[post_tag]" class="newtag form-input-tip" size="16" autocomplete="off" value="" aria-describedby="new-tag-desc" />
+                                               <button type="button" class="tagadd"><?php _e( 'Add' ); ?></button>
+                                       </p>
+                               </div>
+                               <p class="howto" id="new-tag-desc">
+                                       <?php echo $taxonomy->labels->separate_items_with_commas; ?>
+                               </p>
+                               <?php
+                       }
+
+                       ?>
+                       </div>
+                       <div class="tagchecklist"></div>
+               </div>
+               <?php
+
+               if ( $user_can_assign_terms ) {
+                       ?>
+                       <button type="button" class="button-reset button-link tagcloud-link" id="link-post_tag"><?php echo $taxonomy->labels->choose_from_most_used; ?></button>
+                       <?php
+               }
+       }
+
+       /**
+        * Get a list of embeds with no duplicates.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @param array $data The site's data.
+        * @returns array Embeds selected to be available.
+        */
+       public function get_embeds( $data ) {
+               $selected_embeds = array();
+
+               if ( ! empty( $data['_embeds'] ) ) {
+                       foreach( $data['_embeds'] as $src ) {
+                               $prot_relative_src = preg_replace( '/^https?:/', '', $src );
+
+                               if ( in_array( $prot_relative_src, $this->embeds ) ) {
+                                       continue;
+                               }
+
+                               $selected_embeds[] = $src;
+                               $this->embeds[] = $prot_relative_src;
+                       }
+               }
+
+               return $selected_embeds;
+       }
+
+       /**
+        * Get a list of images with no duplicates.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @param array $data The site's data.
+        * @returns array
+        */
+       public function get_images( $data ) {
+               $selected_images = array();
+
+               if ( ! empty( $data['_images'] ) ) {
+                       foreach( $data['_images'] as $src ) {
+                               if ( false !== strpos( $src, 'gravatar.com' ) ) {
+                                       $src = preg_replace( '%http://[\d]+\.gravatar\.com/%', 'https://secure.gravatar.com/', $src );
+                               }
+
+                               $prot_relative_src = preg_replace( '/^https?:/', '', $src );
+
+                               if ( in_array( $prot_relative_src, $this->images ) ||
+                                       ( false !== strpos( $src, 'avatar' ) && count( $this->images ) > 15 ) ) {
+                                       // Skip: already selected or some type of avatar and we've already gathered more than 15 images.
+                                       continue;
+                               }
+
+                               $selected_images[] = $src;
+                               $this->images[] = $prot_relative_src;
+                       }
+               }
+
+               return $selected_images;
+       }
+
+       /**
+        * Gets the source page's canonical link, based on passed location and meta data.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @param array $data The site's data.
+        * @returns string Discovered canonical URL, or empty
+        */
+       public function get_canonical_link( $data ) {
+               $link = '';
+
+               if ( ! empty( $data['_links']['canonical'] ) ) {
+                       $link = $data['_links']['canonical'];
+               } elseif ( ! empty( $data['u'] ) ) {
+                       $link = $data['u'];
+               } elseif ( ! empty( $data['_meta'] ) ) {
+                       if ( ! empty( $data['_meta']['twitter:url'] ) ) {
+                               $link = $data['_meta']['twitter:url'];
+                       } else if ( ! empty( $data['_meta']['og:url'] ) ) {
+                               $link = $data['_meta']['og:url'];
+                       }
+               }
+
+               if ( empty( $link ) && ! empty( $data['_links']['shortlink'] ) ) {
+                       $link = $data['_links']['shortlink'];
+               }
+
+               return $link;
+       }
+
+       /**
+        * Gets the source page's site name, based on passed meta data.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @param array $data The site's data.
+        * @returns string Discovered site name, or empty
+        */
+       public function get_source_site_name( $data ) {
+               $name = '';
+
+               if ( ! empty( $data['_meta'] ) ) {
+                       if ( ! empty( $data['_meta']['og:site_name'] ) ) {
+                               $name = $data['_meta']['og:site_name'];
+                       } else if ( ! empty( $data['_meta']['application-name'] ) ) {
+                               $name = $data['_meta']['application-name'];
+                       }
+               }
+
+               return $name;
+       }
+
+       /**
+        * Gets the source page's title, based on passed title and meta data.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @param array $data The site's data.
+        * @returns string Discovered page title, or empty
+        */
+       public function get_suggested_title( $data ) {
+               $title = '';
+
+               if ( ! empty( $data['t'] ) ) {
+                       $title = $data['t'];
+               } elseif( ! empty( $data['_meta'] ) ) {
+                       if ( ! empty( $data['_meta']['twitter:title'] ) ) {
+                               $title = $data['_meta']['twitter:title'];
+                       } else if ( ! empty( $data['_meta']['og:title'] ) ) {
+                               $title = $data['_meta']['og:title'];
+                       } else if ( ! empty( $data['_meta']['title'] ) ) {
+                               $title = $data['_meta']['title'];
+                       }
+               }
+
+               return $title;
+       }
+
+       /**
+        * Gets the source page's suggested content, based on passed data (description, selection, etc).
+        *
+        * Features a blockquoted excerpt, as well as content attribution, if any.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @param array $data The site's data.
+        * @returns string Discovered content, or empty
+        */
+       public function get_suggested_content( $data ) {
+               $content = $text = '';
+
+               if ( ! empty( $data['s'] ) ) {
+                       $text = $data['s'];
+               } else if ( ! empty( $data['_meta'] ) ) {
+                       if ( ! empty( $data['_meta']['twitter:description'] ) ) {
+                               $text = $data['_meta']['twitter:description'];
+                       } else if ( ! empty( $data['_meta']['og:description'] ) ) {
+                               $text = $data['_meta']['og:description'];
+                       } else if ( ! empty( $data['_meta']['description'] ) ) {
+                               $text = $data['_meta']['description'];
+                       }
+
+                       // If there is an ellipsis at the end, the description is very likely auto-generated. Better to ignore it.
+                       if ( $text && substr( $text, -3 ) === '...' ) {
+                               $text = '';
+                       }
+               }
+
+               $default_html = array( 'quote' => '', 'link' => '', 'embed' => '' );
+
+               require_once( ABSPATH . WPINC . '/class-oembed.php' );
+               $oembed = _wp_oembed_get_object();
+
+               if ( ! empty( $data['u'] ) && $oembed->get_provider( $data['u'], array( 'discover' => false ) ) ) {
+                       $default_html['embed'] = '<p>[embed]' . $data['u'] . '[/embed]</p>';
+
+                       if ( ! empty( $data['s'] ) ) {
+                               // If the user has selected some text, do quote it.
+                               $default_html['quote'] = '<blockquote>%1$s</blockquote>';
+                       }
+               } else {
+                       $default_html['quote'] = '<blockquote>%1$s</blockquote>';
+                       $default_html['link'] = '<p>' . _x( 'Source:', 'Used in Press This to indicate where the content comes from.' ) .
+                               ' <em><a href="%1$s">%2$s</a></em></p>';
+               }
+
+               /**
+                * Filter the default HTML for the Press This editor.
+                *
+                * @since 4.2.0
+                *
+                * @param array $default_html Associative array with two keys: 'quote' where %1$s is replaced with the site description
+                *                            or the selected content, and 'link' there %1$s is link href, %2$s is link text.
+                */
+               $default_html = apply_filters( 'press_this_suggested_html', $default_html, $data );
+
+               if ( ! empty( $default_html['embed'] ) ) {
+                       $content .= $default_html['embed'];
+               }
+
+               // Wrap suggested content in the specified HTML.
+               if ( ! empty( $default_html['quote'] ) && $text ) {
+                       $content .= sprintf( $default_html['quote'], $text );
+               }
+
+               // Add source attribution if there is one available.
+               if ( ! empty( $default_html['link'] ) ) {
+                       $title = $this->get_suggested_title( $data );
+                       $url = $this->get_canonical_link( $data );
+
+                       if ( ! $title ) {
+                               $title = $this->get_source_site_name( $data );
+                       }
+
+                       if ( $url && $title ) {
+                               $content .= sprintf( $default_html['link'], $url, $title );
+                       }
+               }
+
+               return $content;
+       }
+
+       /**
+        * Serves the app's base HTML, which in turns calls the load script.
+        *
+        * @since 4.2.0
+        * @access public
+        */
+       public function html() {
+               global $wp_locale, $wp_version;
+
+               // Get data, new (POST) and old (GET).
+               $data = $this->merge_or_fetch_data();
+
+               $post_title = $this->get_suggested_title( $data );
+
+               if ( empty( $title ) ) {
+                       $title = __( 'New Post' );
+               }
+
+               $post_content = $this->get_suggested_content( $data );
+
+               // Get site settings array/data.
+               $site_settings = $this->site_settings();
+
+               // Pass the images and embeds
+               $images = $this->get_images( $data );
+               $embeds = $this->get_embeds( $data );
+
+               $site_data = array(
+                       'v' => ! empty( $data['v'] ) ? $data['v'] : '',
+                       'u' => ! empty( $data['u'] ) ? $data['u'] : '',
+                       'hasData' => ! empty( $data ),
+               );
+
+               if ( ! empty( $images ) ) {
+                       $site_data['_images'] = $images;
+               }
+
+               if ( ! empty( $embeds ) ) {
+                       $site_data['_embeds'] = $embeds;
+               }
+
+               // Add press-this-editor.css and remove theme's editor-style.css, if any.
+               remove_editor_styles();
+
+               add_filter( 'mce_css', array( $this, 'add_editor_style' ) );
+
+               if ( ! empty( $GLOBALS['is_IE'] ) ) {
+                       @header( 'X-UA-Compatible: IE=edge' );
+               }
+
+               @header( 'Content-Type: ' . get_option( 'html_type' ) . '; charset=' . get_option( 'blog_charset' ) );
+
+?>
+<!DOCTYPE html>
+<!--[if IE 7]>         <html class="lt-ie9 lt-ie8" <?php language_attributes(); ?>> <![endif]-->
+<!--[if IE 8]>         <html class="lt-ie9" <?php language_attributes(); ?>> <![endif]-->
+<!--[if gt IE 8]><!--> <html <?php language_attributes(); ?>> <!--<![endif]-->
+<head>
+       <meta http-equiv="Content-Type" content="<?php echo esc_attr( get_bloginfo( 'html_type' ) ); ?>; charset=<?php echo esc_attr( get_option( 'blog_charset' ) ); ?>" />
+       <meta name="viewport" content="width=device-width">
+       <title><?php esc_html_e( 'Press This!' ) ?></title>
+
+       <script>
+               window.wpPressThisData   = <?php echo wp_json_encode( $site_data ); ?>;
+               window.wpPressThisConfig = <?php echo wp_json_encode( $site_settings ); ?>;
+       </script>
+
+       <script type="text/javascript">
+               var ajaxurl = '<?php echo esc_js( admin_url( 'admin-ajax.php', 'relative' ) ); ?>',
+                       pagenow = 'press-this',
+                       typenow = 'post',
+                       adminpage = 'press-this-php',
+                       thousandsSeparator = '<?php echo addslashes( $wp_locale->number_format['thousands_sep'] ); ?>',
+                       decimalPoint = '<?php echo addslashes( $wp_locale->number_format['decimal_point'] ); ?>',
+                       isRtl = <?php echo (int) is_rtl(); ?>;
+       </script>
+
+       <?php
+               /*
+                * $post->ID is needed for the embed shortcode so we can show oEmbed previews in the editor.
+                * Maybe find a way without it.
+                */
+               $post = get_default_post_to_edit( 'post', true );
+               $post_ID = (int) $post->ID;
+
+               wp_enqueue_media( array( 'post' => $post_ID ) );
+               wp_enqueue_style( 'press-this' );
+               wp_enqueue_script( 'press-this' );
+               wp_enqueue_script( 'json2' );
+               wp_enqueue_script( 'editor' );
+
+               $supports_formats = false;
+               $post_format      = 0;
+
+               if ( current_theme_supports( 'post-formats' ) && post_type_supports( $post->post_type, 'post-formats' ) ) {
+                       $supports_formats = true;
+
+                       if ( ! ( $post_format = get_post_format( $post_ID ) ) ) {
+                               $post_format = 0;
+                       }
+               }
+
+               /** This action is documented in wp-admin/admin-header.php */
+               do_action( 'admin_enqueue_scripts', 'press-this.php' );
+
+               /** This action is documented in wp-admin/admin-header.php */
+               do_action( 'admin_print_styles-press-this.php' );
+
+               /** 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-press-this.php' );
+
+               /** 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-press-this.php' );
+
+               /** This action is documented in wp-admin/admin-header.php */
+               do_action( 'admin_head' );
+       ?>
+</head>
+<?php
+
+       $admin_body_class  = 'press-this';
+       $admin_body_class .= ( is_rtl() ) ? ' rtl' : '';
+       $admin_body_class .= ' branch-' . str_replace( array( '.', ',' ), '-', floatval( $wp_version ) );
+       $admin_body_class .= ' version-' . str_replace( '.', '-', preg_replace( '/^([.0-9]+).*/', '$1', $wp_version ) );
+       $admin_body_class .= ' admin-color-' . sanitize_html_class( get_user_option( 'admin_color' ), 'fresh' );
+       $admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
+
+       /** This filter is documented in wp-admin/admin-header.php */
+       $admin_body_classes = apply_filters( 'admin_body_class', '' );
+
+?>
+<body class="wp-admin wp-core-ui <?php echo $admin_body_classes . ' ' . $admin_body_class; ?>">
+       <div id="adminbar" class="adminbar">
+               <h1 id="current-site" class="current-site">
+                       <a class="current-site-link" href="<?php echo esc_url( home_url( '/' ) ); ?>" target="_blank" rel="home">
+                               <span class="dashicons dashicons-wordpress"></span>
+                               <span class="current-site-name"><?php bloginfo( 'name' ); ?></span>
+                       </a>
+               </h1>
+               <button type="button" class="options button-subtle closed">
+                       <span class="dashicons dashicons-tag on-closed"></span>
+                       <span class="screen-reader-text on-closed"><?php _e( 'Show post options' ); ?></span>
+                       <span aria-hidden="true" class="on-open"><?php _e( 'Done' ); ?></span>
+                       <span class="screen-reader-text on-open"><?php _e( 'Hide post options' ); ?></span>
+               </button>
+       </div>
+
+       <div id="scanbar" class="scan">
+               <form method="GET">
+                       <label for="url-scan" class="screen-reader-text"><?php _e( 'Scan site for content' ); ?></label>
+                       <input type="url" name="u" id="url-scan" class="scan-url" value="" placeholder="<?php esc_attr_e( 'Enter a URL to scan' ) ?>" />
+                       <input type="submit" name="url-scan-submit" id="url-scan-submit" class="scan-submit" value="<?php esc_attr_e( 'Scan' ) ?>" />
+               </form>
+       </div>
+
+       <form id="pressthis-form" method="post" action="post.php" autocomplete="off">
+               <input type="hidden" name="post_ID" id="post_ID" value="<?php echo $post_ID; ?>" />
+               <input type="hidden" name="action" value="press-this-save-post" />
+               <input type="hidden" name="post_status" id="post_status" value="draft" />
+               <input type="hidden" name="wp-preview" id="wp-preview" value="" />
+               <input type="hidden" name="post_title" id="post_title" value="" />
+               <?php
+
+               wp_nonce_field( 'update-post_' . $post_ID, '_wpnonce', false );
+               wp_nonce_field( 'add-category', '_ajax_nonce-add-category', false );
+
+               ?>
+
+       <div class="wrapper">
+               <div class="editor-wrapper">
+                       <div class="alerts" role="alert" aria-live="assertive" aria-relevant="all" aria-atomic="true">
+                               <?php
+
+                               if ( isset( $data['v'] ) && $this->version > $data['v'] ) {
+                                       ?>
+                                       <p class="alert is-notice">
+                                               <?php printf( __( 'You should upgrade <a href="%s" target="_blank">your bookmarklet</a> to the latest version!' ), admin_url( 'tools.php' ) ); ?>
+                                       </p>
+                                       <?php
+                               }
+
+                               ?>
+                       </div>
+
+                       <div id="app-container" class="editor">
+                               <span id="title-container-label" class="post-title-placeholder" aria-hidden="true"><?php _e( 'Post title' ); ?></span>
+                               <h2 id="title-container" class="post-title" contenteditable="true" spellcheck="true" aria-label="<?php esc_attr_e( 'Post title' ); ?>" tabindex="0"><?php echo esc_html( $post_title ); ?></h2>
+
+                               <div class="media-list-container">
+                                       <div class="media-list-inner-container">
+                                               <h2 class="screen-reader-text"><?php _e( 'Suggested media' ); ?></h2>
+                                               <ul class="media-list"></ul>
+                                       </div>
+                               </div>
+
+                               <?php
+                               wp_editor( $post_content, 'pressthis', array(
+                                       'drag_drop_upload' => true,
+                                       'editor_height'    => 600,
+                                       'media_buttons'    => false,
+                                       'textarea_name'    => 'post_content',
+                                       'teeny'            => true,
+                                       'tinymce'          => array(
+                                               'resize'                => false,
+                                               'wordpress_adv_hidden'  => false,
+                                               'add_unload_trigger'    => false,
+                                               'statusbar'             => false,
+                                               'autoresize_min_height' => 600,
+                                               'wp_autoresize_on'      => true,
+                                               'plugins'               => 'lists,media,paste,tabfocus,fullscreen,wordpress,wpautoresize,wpeditimage,wpgallery,wplink,wpview',
+                                               'toolbar1'              => 'bold,italic,bullist,numlist,blockquote,link,unlink',
+                                               'toolbar2'              => 'undo,redo',
+                                       ),
+                                       'quicktags' => false,
+                               ) );
+
+                               ?>
+                       </div>
+               </div>
+
+               <div class="options-panel-back is-hidden" tabindex="-1"></div>
+               <div class="options-panel is-off-screen is-hidden" tabindex="-1">
+                       <div class="post-options">
+
+                               <?php if ( $supports_formats ) : ?>
+                                       <button type="button" class="button-reset post-option">
+                                               <span class="dashicons dashicons-admin-post"></span>
+                                               <span class="post-option-title"><?php _ex( 'Format', 'post format' ); ?></span>
+                                               <span class="post-option-contents" id="post-option-post-format"><?php echo esc_html( get_post_format_string( $post_format ) ); ?></span>
+                                               <span class="dashicons post-option-forward"></span>
+                                       </button>
+                               <?php endif; ?>
+
+                               <button type="button" class="button-reset post-option">
+                                       <span class="dashicons dashicons-category"></span>
+                                       <span class="post-option-title"><?php _e( 'Categories' ); ?></span>
+                                       <span class="dashicons post-option-forward"></span>
+                               </button>
+
+                               <button type="button" class="button-reset post-option">
+                                       <span class="dashicons dashicons-tag"></span>
+                                       <span class="post-option-title"><?php _e( 'Tags' ); ?></span>
+                                       <span class="dashicons post-option-forward"></span>
+                               </button>
+                       </div>
+
+                       <?php if ( $supports_formats ) : ?>
+                               <div class="setting-modal is-off-screen is-hidden">
+                                       <button type="button" class="button-reset modal-close">
+                                               <span class="dashicons post-option-back"></span>
+                                               <span class="setting-title" aria-hidden="true"><?php _ex( 'Format', 'post format' ); ?></span>
+                                               <span class="screen-reader-text"><?php _e( 'Back to post options' ) ?></span>
+                                       </button>
+                                       <?php $this->post_formats_html( $post ); ?>
+                               </div>
+                       <?php endif; ?>
+
+                       <div class="setting-modal is-off-screen is-hidden">
+                               <button type="button" class="button-reset modal-close">
+                                       <span class="dashicons post-option-back"></span>
+                                       <span class="setting-title" aria-hidden="true"><?php _e( 'Categories' ); ?></span>
+                                       <span class="screen-reader-text"><?php _e( 'Back to post options' ) ?></span>
+                               </button>
+                               <?php $this->categories_html( $post ); ?>
+                       </div>
+
+                       <div class="setting-modal tags is-off-screen is-hidden">
+                               <button type="button" class="button-reset modal-close">
+                                       <span class="dashicons post-option-back"></span>
+                                       <span class="setting-title" aria-hidden="true"><?php _e( 'Tags' ); ?></span>
+                                       <span class="screen-reader-text"><?php _e( 'Back to post options' ) ?></span>
+                               </button>
+                               <?php $this->tags_html( $post ); ?>
+                       </div>
+               </div><!-- .options-panel -->
+       </div><!-- .wrapper -->
+
+       <div class="press-this-actions">
+               <div class="pressthis-media-buttons">
+                       <button type="button" class="insert-media button-subtle" data-editor="pressthis">
+                               <span class="dashicons dashicons-admin-media"></span>
+                               <span class="screen-reader-text"><?php _e( 'Add Media' ); ?></span>
+                       </button>
+               </div>
+               <div class="post-actions">
+                       <span class="spinner">&nbsp;</span>
+                       <button type="button" class="button-subtle draft-button" aria-live="polite">
+                               <span class="save-draft"><?php _e( 'Save Draft' ); ?></span>
+                               <span class="saving-draft"><?php _e( 'Saving...' ); ?></span>
+                       </button>
+                       <a href="<?php echo esc_url( get_edit_post_link( $post_ID ) ); ?>" class="edit-post-link" style="display: none;" target="_blank"><?php _e( 'Standard Editor' ); ?></a>
+                       <button type="button" class="button-subtle preview-button"><?php _e( 'Preview' ); ?></button>
+                       <button type="button" class="button-primary publish-button"><?php echo ( current_user_can( 'publish_posts' ) ) ? __( 'Publish' ) : __( 'Submit for Review' ); ?></button>
+               </div>
+       </div>
+       </form>
+
+       <?php
+       /** 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' );
+
+       /** This action is documented in wp-admin/admin-footer.php */
+       do_action( 'admin_footer-press-this.php' );
+       ?>
+</body>
+</html>
+<?php
+               die();
+       }
+}
+
+$GLOBALS['wp_press_this'] = new WP_Press_This;
index 1916b5ac037ddc5f0630ff31c68004c72eb1e18a..5eda18691c326f13e499f8cfae6b1e052b1b3c31 100644 (file)
@@ -11,6 +11,8 @@ class WP_Terms_List_Table extends WP_List_Table {
 
        public $callback_args;
 
+       private $level;
+
        /**
         * Constructor.
         *
@@ -112,6 +114,10 @@ class WP_Terms_List_Table extends WP_List_Table {
                return true;
        }
 
+       public function no_items() {
+               echo get_taxonomy( $this->screen->taxonomy )->labels->not_found;
+       }
+
        protected function get_bulk_actions() {
                $actions = array();
                $actions['delete'] = __( 'Delete' );
@@ -262,7 +268,6 @@ class WP_Terms_List_Table extends WP_List_Table {
 
        /**
         * @global string $taxonomy
-        * @staticvar string $row_class
         * @param object $tag
         * @param int $level
         */
@@ -270,12 +275,9 @@ class WP_Terms_List_Table extends WP_List_Table {
                global $taxonomy;
                $tag = sanitize_term( $tag, $taxonomy );
 
-               static $row_class = '';
-               $row_class = ( $row_class == '' ? ' class="alternate"' : '' );
-
                $this->level = $level;
 
-               echo '<tr id="tag-' . $tag->term_id . '"' . $row_class . '>';
+               echo '<tr id="tag-' . $tag->term_id . '">';
                $this->single_row_columns( $tag );
                echo '</tr>';
        }
@@ -461,7 +463,7 @@ class WP_Terms_List_Table extends WP_List_Table {
                        return;
 ?>
 
-       <form method="get" action=""><table style="display: none"><tbody id="inlineedit">
+       <form method="get"><table style="display: none"><tbody id="inlineedit">
                <tr id="inline-edit" class="inline-edit-row" style="display: none"><td colspan="<?php echo $this->get_column_count(); ?>" class="colspanchange">
 
                        <fieldset><div class="inline-edit-col">
@@ -495,8 +497,8 @@ class WP_Terms_List_Table extends WP_List_Table {
        ?>
 
                <p class="inline-edit-save submit">
-                       <a accesskey="c" href="#inline-edit" class="cancel button-secondary alignleft"><?php _e( 'Cancel' ); ?></a>
-                       <a accesskey="s" href="#inline-edit" class="save button-primary alignright"><?php echo $tax->labels->update_item; ?></a>
+                       <a href="#inline-edit" class="cancel button-secondary alignleft"><?php _e( 'Cancel' ); ?></a>
+                       <a href="#inline-edit" class="save button-primary alignright"><?php echo $tax->labels->update_item; ?></a>
                        <span class="spinner"></span>
                        <span class="error" style="display:none;"></span>
                        <?php wp_nonce_field( 'taxinlineeditnonce', '_inline_edit', false ); ?>
index eb8498a29dd489c202c584aea897aad56787a348..e90f144d779d8cdc088e53271c17a2062e818ed1 100644 (file)
@@ -173,7 +173,7 @@ class WP_Theme_Install_List_Table extends WP_Themes_List_Table {
                </div>
 
                <?php
-               parent::tablenav( 'bottom' );
+               $this->tablenav( 'bottom' );
        }
 
        public function display_rows() {
index 6311e7554c61745e9b719319862aef0afba59a53..84acfed20e3a799c97b10dae90066be77e50136e 100644 (file)
@@ -213,7 +213,7 @@ class WP_Themes_List_Table extends WP_List_Table {
                                <p><?php echo $theme->display('Description'); ?></p>
                                <?php if ( $theme->parent() ) {
                                        printf( ' <p class="howto">' . __( 'This <a href="%1$s">child theme</a> requires its parent theme, %2$s.' ) . '</p>',
-                                               __( 'http://codex.wordpress.org/Child_Themes' ),
+                                               __( 'https://codex.wordpress.org/Child_Themes' ),
                                                $theme->parent()->display( 'Name' ) );
                                } ?>
                        </div>
index 7d4037395250b5818a989f17bc40253c8a532a46..942542e08f01f30aaa0117d74e70e141aa928c98 100644 (file)
@@ -137,6 +137,9 @@ class WP_Upgrader_Skin {
                                </script>';
                }
        }
+
+       public function bulk_header() {}
+       public function bulk_footer() {}
 }
 
 /**
@@ -202,6 +205,9 @@ class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
  */
 class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
        public $in_loop = false;
+       /**
+        * @var string|false
+        */
        public $error = false;
 
        public function __construct($args = array()) {
@@ -215,7 +221,7 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
                $this->upgrader->strings['skin_upgrade_start'] = __('The update process is starting. This process may take a while on some hosts, so please be patient.');
                $this->upgrader->strings['skin_update_failed_error'] = __('An error occurred while updating %1$s: <strong>%2$s</strong>');
                $this->upgrader->strings['skin_update_failed'] = __('The update of %1$s failed.');
-               $this->upgrader->strings['skin_update_successful'] = __('%1$s updated successfully.').' <a onclick="%2$s" href="#" class="hide-if-no-js"><span>'.__('Show Details').'</span><span class="hidden">'.__('Hide Details').'</span>.</a>';
+               $this->upgrader->strings['skin_update_successful'] = __( '%1$s updated successfully.' ) . ' <a onclick="%2$s" href="#" class="hide-if-no-js"><span>' . __( 'Show Details' ) . '</span><span class="hidden">' . __( 'Hide Details' ) . '</span></a>';
                $this->upgrader->strings['skin_upgrade_end'] = __('All updates have been completed.');
        }
 
@@ -317,10 +323,6 @@ class Bulk_Upgrader_Skin extends WP_Upgrader_Skin {
 class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin {
        public $plugin_info = array(); // Plugin_Upgrader::bulk() will fill this in.
 
-       public function __construct($args = array()) {
-               parent::__construct($args);
-       }
-
        public function add_strings() {
                parent::add_strings();
                $this->upgrader->strings['skin_before_update_header'] = __('Updating Plugin %1$s (%2$d/%3$d)');
@@ -361,10 +363,6 @@ class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin {
 class Bulk_Theme_Upgrader_Skin extends Bulk_Upgrader_Skin {
        public $theme_info = array(); // Theme_Upgrader::bulk() will fill this in.
 
-       public function __construct($args = array()) {
-               parent::__construct($args);
-       }
-
        public function add_strings() {
                parent::add_strings();
                $this->upgrader->strings['skin_before_update_header'] = __('Updating Theme %1$s (%2$d/%3$d)');
@@ -447,12 +445,13 @@ class Plugin_Installer_Skin extends WP_Upgrader_Skin {
                        unset( $install_actions['activate_plugin'] );
                }
 
-               if ( 'import' == $from )
+               if ( 'import' == $from ) {
                        $install_actions['importers_page'] = '<a href="' . admin_url('import.php') . '" title="' . esc_attr__('Return to Importers') . '" target="_parent">' . __('Return to Importers') . '</a>';
-               else if ( $this->type == 'web' )
+               } elseif ( $this->type == 'web' ) {
                        $install_actions['plugins_page'] = '<a href="' . self_admin_url('plugin-install.php') . '" title="' . esc_attr__('Return to Plugin Installer') . '" target="_parent">' . __('Return to Plugin Installer') . '</a>';
-               else
+               } else {
                        $install_actions['plugins_page'] = '<a href="' . self_admin_url('plugins.php') . '" title="' . esc_attr__('Return to Plugins page') . '" target="_parent">' . __('Return to Plugins page') . '</a>';
+               }
 
                if ( ! $this->result || is_wp_error($this->result) ) {
                        unset( $install_actions['activate_plugin'], $install_actions['network_activate'] );
@@ -731,13 +730,13 @@ class Automatic_Upgrader_Skin extends WP_Upgrader_Skin {
         * @param string|array|WP_Error $data
         */
        public function feedback( $data ) {
-               if ( is_wp_error( $data ) )
+               if ( is_wp_error( $data ) ) {
                        $string = $data->get_error_message();
-               else if ( is_array( $data ) )
+               } elseif ( is_array( $data ) ) {
                        return;
-               else
+               } else {
                        $string = $data;
-
+               }
                if ( ! empty( $this->upgrader->strings[ $string ] ) )
                        $string = $this->upgrader->strings[ $string ];
 
index 0f1ca8b96c9b6008d7a796ab8056ffb37d383882..acab417d3b55dc4ff604a9aa64c9dde4b86dba39 100644 (file)
@@ -263,8 +263,8 @@ class WP_Upgrader {
                                $wp_filesystem->delete($upgrade_folder . $file['name'], true);
                }
 
-               //We need a working directory
-               $working_dir = $upgrade_folder . basename($package, '.zip');
+               // We need a working directory - Strip off any .tmp or .zip suffixes
+               $working_dir = $upgrade_folder . basename( basename( $package, '.tmp' ), '.zip' );
 
                // Clean up working directory
                if ( $wp_filesystem->is_dir($working_dir) )
@@ -431,7 +431,7 @@ class WP_Upgrader {
 
                        if ( is_wp_error($removed) ) {
                                return $removed;
-                       } else if ( ! $removed ) {
+                       } elseif ( ! $removed ) {
                                return new WP_Error('remove_old_failed', $this->strings['remove_old_failed']);
                        }
                } elseif ( $args['abort_if_destination_exists'] && $wp_filesystem->exists($remote_destination) ) {
@@ -469,7 +469,7 @@ class WP_Upgrader {
                        $destination_name = '';
                }
 
-               $this->result = compact('local_source', 'source', 'source_name', 'source_files', 'destination', 'destination_name', 'local_destination', 'remote_destination', 'clear_destination', 'delete_source_dir');
+               $this->result = compact( 'source', 'source_files', 'destination', 'destination_name', 'local_destination', 'remote_destination', 'clear_destination' );
 
                /**
                 * Filter the install response after the installation has finished.
@@ -637,7 +637,7 @@ class WP_Upgrader {
                        $maintenance_string = '<?php $upgrading = ' . time() . '; ?>';
                        $wp_filesystem->delete($file);
                        $wp_filesystem->put_contents($file, $maintenance_string, FS_CHMOD_FILE);
-               } else if ( !$enable && $wp_filesystem->exists($file) ) {
+               } elseif ( ! $enable && $wp_filesystem->exists( $file ) ) {
                        $this->skin->feedback('maintenance_end');
                        $wp_filesystem->delete($file);
                }
@@ -685,6 +685,7 @@ class Plugin_Upgrader extends WP_Upgrader {
                $this->strings['remove_old_failed'] = __('Could not remove the old plugin.');
                $this->strings['process_failed'] = __('Plugin update failed.');
                $this->strings['process_success'] = __('Plugin updated successfully.');
+               $this->strings['process_bulk_success'] = __('Plugins updated successfully.');
        }
 
        /**
@@ -824,8 +825,8 @@ class Plugin_Upgrader extends WP_Upgrader {
         * @since 2.8.0
         * @since 3.7.0 The `$args` parameter was added, making clearing the plugin update cache optional.
         *
-        * @param string $plugins Array of the basename paths of the plugins' main files.
-        * @param array  $args {
+        * @param array $plugins Array of the basename paths of the plugins' main files.
+        * @param array $args {
         *     Optional. Other arguments for upgrading several plugins at once. Default empty array.
         *
         *     @type bool $clear_update_cache Whether to clear the plugin updates cache if successful.
@@ -1351,8 +1352,8 @@ class Theme_Upgrader extends WP_Upgrader {
         * @since 3.0.0
         * @since 3.7.0 The `$args` parameter was added, making clearing the update cache optional.
         *
-        * @param string $themes The theme slugs.
-        * @param array  $args {
+        * @param array $themes The theme slugs.
+        * @param array $args {
         *     Optional. Other arguments for upgrading several themes at once. Default empty array.
         *
         *     @type bool $clear_update_cache Whether to clear the update cache if successful.
@@ -1896,7 +1897,7 @@ class Language_Pack_Upgrader extends WP_Upgrader {
                switch ( $update->type ) {
                        case 'core':
                                return 'WordPress'; // Not translated
-                               break;
+
                        case 'theme':
                                $theme = wp_get_theme( $update->slug );
                                if ( $theme->exists() )
@@ -1904,7 +1905,7 @@ class Language_Pack_Upgrader extends WP_Upgrader {
                                break;
                        case 'plugin':
                                $plugin_data = get_plugins( '/' . $update->slug );
-                               $plugin_data = array_shift( $plugin_data );
+                               $plugin_data = reset( $plugin_data );
                                if ( $plugin_data )
                                        return $plugin_data['Name'];
                                break;
@@ -3165,8 +3166,8 @@ class WP_Automatic_Updater {
 
                $site_title = wp_specialchars_decode( get_bloginfo( 'name' ), ENT_QUOTES );
                if ( $failures ) {
-                       $body[] = trim( __( "
-BETA TESTING?
+                       $body[] = trim( __(
+"BETA TESTING?
 =============
 
 This debugging email is sent when you are using a development version of WordPress.
@@ -3183,8 +3184,8 @@ Thanks! -- The WordPress Team" ) );
                        $subject = sprintf( __( '[%s] Background updates have finished' ), $site_title );
                }
 
-               $body[] = trim( __( '
-UPDATE LOG
+               $body[] = trim( __(
+'UPDATE LOG
 ==========' ) );
                $body[] = '';
 
index 81637e98b5e4420b1986edf887c14b9aad47d512..500673637068075cd277f3d075ef4209dd34b0f0 100644 (file)
@@ -120,7 +120,7 @@ class WP_Users_List_Table extends WP_List_Table {
         * @access public
         */
        public function no_items() {
-               _e( 'No matching users were found.' );
+               _e( 'No users found.' );
        }
 
        /**
@@ -306,7 +306,6 @@ class WP_Users_List_Table extends WP_List_Table {
 
                $editable_roles = array_keys( get_editable_roles() );
 
-               $style = '';
                foreach ( $this->items as $userid => $user_object ) {
                        if ( count( $user_object->roles ) <= 1 ) {
                                $role = reset( $user_object->roles );
@@ -319,8 +318,7 @@ class WP_Users_List_Table extends WP_List_Table {
                        if ( is_multisite() && empty( $user_object->allcaps ) )
                                continue;
 
-                       $style = ( ' class="alternate"' == $style ) ? '' : ' class="alternate"';
-                       echo "\n\t" . $this->single_row( $user_object, $style, $role, isset( $post_counts ) ? $post_counts[ $userid ] : 0 );
+                       echo "\n\t" . $this->single_row( $user_object, $style = '', $role, isset( $post_counts ) ? $post_counts[ $userid ] : 0 );
                }
        }
 
@@ -328,11 +326,13 @@ class WP_Users_List_Table extends WP_List_Table {
         * Generate HTML for a single row on the users.php admin panel.
         *
         * @since 3.1.0
+        * @since 4.2.0 The `$style` argument was deprecated.
         * @access public
         *
+        * @global WP_Roles $wp_roles User roles object.
+        *
         * @param object $user_object The current user object.
-        * @param string $style       Optional. Style attributes added to the `<tr>` element.
-        *                            Must be sanitized. Default empty.
+        * @param string $style       Deprecated. Not used.
         * @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.
@@ -341,8 +341,9 @@ class WP_Users_List_Table extends WP_List_Table {
        public function single_row( $user_object, $style = '', $role = '', $numposts = 0 ) {
                global $wp_roles;
 
-               if ( !( is_object( $user_object ) && is_a( $user_object, 'WP_User' ) ) )
+               if ( ! ( $user_object instanceof WP_User ) ) {
                        $user_object = get_userdata( (int) $user_object );
+               }
                $user_object->filter = 'display';
                $email = $user_object->user_email;
 
@@ -386,7 +387,7 @@ class WP_Users_List_Table extends WP_List_Table {
                        $edit .= $this->row_actions( $actions );
 
                        // Set up the checkbox ( because the user is editable, otherwise it's empty )
-                       $checkbox = '<label class="screen-reader-text" for="cb-select-' . $user_object->ID . '">' . sprintf( __( 'Select %s' ), $user_object->user_login ) . '</label>'
+                       $checkbox = '<label class="screen-reader-text" for="user_' . $user_object->ID . '">' . sprintf( __( 'Select %s' ), $user_object->user_login ) . '</label>'
                                                . "<input type='checkbox' name='users[]' id='user_{$user_object->ID}' class='$role' value='{$user_object->ID}' />";
 
                } else {
@@ -395,7 +396,7 @@ class WP_Users_List_Table extends WP_List_Table {
                $role_name = isset( $wp_roles->role_names[$role] ) ? translate_user_role( $wp_roles->role_names[$role] ) : __( 'None' );
                $avatar = get_avatar( $user_object->ID, 32 );
 
-               $r = "<tr id='user-$user_object->ID'$style>";
+               $r = "<tr id='user-$user_object->ID'>";
 
                list( $columns, $hidden ) = $this->get_column_info();
 
index 75a5b1cb843374e15bfdc9ed9e52f7e3b009375a..7179aa3480c7f51fd2711daa48c1b2537ab2c6a6 100644 (file)
@@ -155,7 +155,7 @@ function wp_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_
 }
 
 function _wp_dashboard_control_callback( $dashboard, $meta_box ) {
-       echo '<form action="" method="post" class="dashboard-widget-control-form">';
+       echo '<form method="post" class="dashboard-widget-control-form">';
        wp_dashboard_trigger_widget_control( $meta_box['id'] );
        wp_nonce_field( 'edit-dashboard-widget_' . $meta_box['id'], 'dashboard-widget-nonce' );
        echo '<input type="hidden" name="widget_id" value="' . esc_attr($meta_box['id']) . '" />';
@@ -379,14 +379,16 @@ function wp_network_dashboard_right_now() {
 
        <form action="<?php echo network_admin_url('users.php'); ?>" method="get">
                <p>
-                       <input type="search" name="s" value="" size="30" autocomplete="off" />
+                       <label class="screen-reader-text" for="search-users"><?php _e( 'Search Users' ); ?></label>
+                       <input type="search" name="s" value="" size="30" autocomplete="off" id="search-users"/>
                        <?php submit_button( __( 'Search Users' ), 'button', 'submit', false, array( 'id' => 'submit_users' ) ); ?>
                </p>
        </form>
 
        <form action="<?php echo network_admin_url('sites.php'); ?>" method="get">
                <p>
-                       <input type="search" name="s" value="" size="30" autocomplete="off" />
+                       <label class="screen-reader-text" for="search-sites"><?php _e( 'Search Sites' ); ?></label>
+                       <input type="search" name="s" value="" size="30" autocomplete="off" id="search-sites"/>
                        <?php submit_button( __( 'Search Sites' ), 'button', 'submit', false, array( 'id' => 'submit_sites' ) ); ?>
                </p>
        </form>
@@ -689,6 +691,15 @@ function wp_dashboard_recent_posts( $args ) {
                'cache_results'  => false,
                'perm'           => ( 'future' === $args['status'] ) ? 'editable' : 'readable',
        );
+
+       /**
+        * Filter the query arguments used for the Recent Posts widget.
+        *
+        * @since 4.2.0
+        *
+        * @param array $query_args The arguments passed to WP_Query to produce the list of posts.
+        */
+       $query_args = apply_filters( 'dashboard_recent_posts_query_args', $query_args );
        $posts = new WP_Query( $query_args );
 
        if ( $posts->have_posts() ) {
@@ -715,15 +726,12 @@ function wp_dashboard_recent_posts( $args ) {
                                $relative = date_i18n( __( 'M jS' ), $time );
                        }
 
-                       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() );
-                       }
+                       // Use the post edit link for those who can edit, the permalink otherwise.
+                       $recent_post_link = current_user_can( 'edit_post', get_the_ID() ) ? get_edit_post_link() : get_permalink();
+
+                       /* translators: 1: relative date, 2: time, 3: post edit link or permalink, 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(), $recent_post_link, _draft_or_post_title() );
                }
 
                echo '</ul>';
@@ -1324,7 +1332,7 @@ function wp_welcome_panel() {
                <?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>
+                       <li><?php printf( '<a href="%s" class="welcome-icon welcome-learn-more">' . __( 'Learn more about getting started' ) . '</a>', __( 'https://codex.wordpress.org/First_Steps_With_WordPress' ) ); ?></li>
                </ul>
        </div>
        </div>
index 8ae6048edc0a0caba15c9aa03da0b5d52eb94353..59140b730496600b71da45a4555e3c52bf1e5f9c 100644 (file)
@@ -33,7 +33,6 @@ function tinymce_include() {
  */
 function documentation_link() {
        _deprecated_function( __FUNCTION__, '2.5' );
-       return;
 }
 
 /**
@@ -204,7 +203,6 @@ function remove_option_update_handler( $option_group, $option_name, $sanitize_ca
 **/
 function codepress_get_lang( $filename ) {
        _deprecated_function( __FUNCTION__, '3.0' );
-       return;
 }
 
 /**
@@ -215,7 +213,6 @@ function codepress_get_lang( $filename ) {
 **/
 function codepress_footer_js() {
        _deprecated_function( __FUNCTION__, '3.0' );
-       return;
 }
 
 /**
@@ -226,7 +223,6 @@ function codepress_footer_js() {
 **/
 function use_codepress() {
        _deprecated_function( __FUNCTION__, '3.0' );
-       return;
 }
 
 /**
@@ -552,7 +548,7 @@ class WP_User_Search {
                if ( $this->results )
                        $this->total_users_for_query = $wpdb->get_var("SELECT COUNT(DISTINCT($wpdb->users.ID))" . $this->query_from . $this->query_where); // no limit
                else
-                       $this->search_errors = new WP_Error('no_matching_users_found', __('No matching users were found!'));
+                       $this->search_errors = new WP_Error('no_matching_users_found', __('No users found.'));
        }
 
        /**
index 1ffc1d349d1cac7c632799cbafedab0671524a9a..cd50e61bb196b654d7767377ebdf30f034a1c331 100644 (file)
@@ -95,7 +95,7 @@ function export_wp( $args = array() ) {
                $cat = get_term( $term['term_id'], 'category' );
                $cats = array( $cat->term_id => $cat );
                unset( $term, $cat );
-       } else if ( 'all' == $args['content'] ) {
+       } elseif ( 'all' == $args['content'] ) {
                $categories = (array) get_categories( array( 'get' => 'all' ) );
                $tags = (array) get_tags( array( 'get' => 'all' ) );
 
index 156437fac66be9cea34ff3181b843785cdf10efe..55125f6c73858db8622aff39e9f5a2e00d40a12e 100644 (file)
@@ -141,17 +141,29 @@ function list_files( $folder = '', $levels = 100 ) {
  * @param string $dir      Optional. Directory to store the file in. Default empty.
  * @return string a writable filename
  */
-function wp_tempnam($filename = '', $dir = '') {
-       if ( empty($dir) )
+function wp_tempnam( $filename = '', $dir = '' ) {
+       if ( empty( $dir ) ) {
                $dir = get_temp_dir();
-       $filename = basename($filename);
-       if ( empty($filename) )
+       }
+
+       if ( empty( $filename ) || '.' == $filename ) {
                $filename = time();
+       }
+
+       // Use the basename of the given file without the extension as the name for the temporary directory
+       $temp_filename = basename( $filename );
+       $temp_filename = preg_replace( '|\.[^.]*$|', '', $temp_filename );
+
+       // If the folder is falsey, use it's parent directory name instead
+       if ( ! $temp_filename ) {
+               return wp_tempnam( dirname( $filename ), $dir );
+       }
+
+       $temp_filename .= '.tmp';
+       $temp_filename = $dir . wp_unique_filename( $dir, $temp_filename );
+       touch( $temp_filename );
 
-       $filename = preg_replace('|\..*$|', '.tmp', $filename);
-       $filename = $dir . wp_unique_filename($dir, $filename);
-       touch($filename);
-       return $filename;
+       return $temp_filename;
 }
 
 /**
@@ -191,11 +203,10 @@ function validate_file_to_edit( $file, $allowed_files = '' ) {
  *
  * @see wp_handle_upload_error
  *
- * @param array  $file      Reference to a single element of $_FILES. Call the function once for
- *                          each uploaded file.
- * @param array  $overrides An associative array of names => values to override default variables.
- * @param string $time      Time formatted in 'yyyy/mm'.
- * @param string $action    Expected value for $_POST['action'].
+ * @param array       $file      Reference to a single element of $_FILES. Call the function once for each uploaded file.
+ * @param array|false $overrides An associative array of names => values to override default variables. Default false.
+ * @param string      $time      Time formatted in 'yyyy/mm'.
+ * @param string      $action    Expected value for $_POST['action'].
  * @return array On success, returns an associative array of file attributes. On failure, returns
  *               $overrides['upload_error_handler'](&$file, $message ) or array( 'error'=>$message ).
 */
@@ -628,8 +639,10 @@ function _unzip_file_ziparchive($file, $to, $needed_dirs = array() ) {
 
        // Create those directories if need be:
        foreach ( $needed_dirs as $_dir ) {
-               if ( ! $wp_filesystem->mkdir($_dir, FS_CHMOD_DIR) && ! $wp_filesystem->is_dir($_dir) ) // Only check to see if the Dir exists upon creation failure. Less I/O this way.
+               // Only check to see if the Dir exists upon creation failure. Less I/O this way.
+               if ( ! $wp_filesystem->mkdir( $_dir, FS_CHMOD_DIR ) && ! $wp_filesystem->is_dir( $_dir ) ) {
                        return new WP_Error( 'mkdir_failed_ziparchive', __( 'Could not create directory.' ), substr( $_dir, strlen( $to ) ) );
+               }
        }
        unset($needed_dirs);
 
@@ -873,28 +886,27 @@ function WP_Filesystem( $args = false, $context = false, $allow_relaxed_file_own
 }
 
 /**
- * Determines which Filesystem Method to use.
- *
- * The priority of the Transports are: Direct, SSH2, FTP PHP Extension,
- * FTP Sockets (Via Sockets class, or `fsockopen()`).
+ * Determines which method to use for reading, writing, modifying, or deleting
+ * files on the filesystem.
  *
- * Note that the return value of this function can be overridden in 2 ways
+ * The priority of the transports are: Direct, SSH2, FTP PHP Extension, FTP Sockets
+ * (Via Sockets class, or `fsockopen()`). Valid values for these are: 'direct', 'ssh2',
+ * 'ftpext' or 'ftpsockets'.
  *
- *  - By defining FS_METHOD in your `wp-config.php` file
- *  - By using the filesystem_method filter
+ * The return value can be overridden by defining the `FS_METHOD` constant in `wp-config.php`,
+ * or filtering via {@see 'filesystem_method'}.
  *
- * Valid values for these are: 'direct', 'ssh2', 'ftpext' or 'ftpsockets'.
+ * @link https://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants
  *
- * Plugins may also define a custom transport handler, See the WP_Filesystem
- * function for more information.
+ * Plugins may define a custom transport handler, See WP_Filesystem().
  *
  * @since 2.5.0
  *
- * @todo Properly mark arguments as optional.
- *
- * @param array $args Connection details.
- * @param string $context Full path to the directory that is tested for being writable.
- * @param bool $allow_relaxed_file_ownership Whether to allow Group/World writable.
+ * @param array  $args                         Optional. Connection details. Default empty array.
+ * @param string $context                      Optional. Full path to the directory that is tested
+ *                                             for being writable. Default false.
+ * @param bool   $allow_relaxed_file_ownership Optional. Whether to allow Group/World writable.
+ *                                             Default false.
  * @return string The transport to use, see description for valid return values.
  */
 function get_filesystem_method( $args = array(), $context = false, $allow_relaxed_file_ownership = false ) {
@@ -925,11 +937,11 @@ function get_filesystem_method( $args = array(), $context = false, $allow_relaxe
                        }
 
                        if ( $wp_file_owner !== false && $wp_file_owner === $temp_file_owner ) {
-                               // WordPress is creating files as the same owner as the WordPress files, 
+                               // WordPress is creating files as the same owner as the WordPress files,
                                // this means it's safe to modify & create new files via PHP.
                                $method = 'direct';
                                $GLOBALS['_wp_filesystem_direct_method'] = 'file_owner';
-                       } else if ( $allow_relaxed_file_ownership ) {
+                       } elseif ( $allow_relaxed_file_ownership ) {
                                // The $context directory is writable, and $allow_relaxed_file_ownership is set, this means we can modify files
                                // safely in this directory. This mode doesn't create new files, only alter existing ones.
                                $method = 'direct';
@@ -978,7 +990,7 @@ function get_filesystem_method( $args = array(), $context = false, $allow_relaxe
  * @param string $type the chosen Filesystem method in use
  * @param boolean $error if the current request has failed to connect
  * @param string $context The directory which is needed access to, The write-test will be performed on this directory by get_filesystem_method()
- * @param string $extra_fields Extra POST fields which should be checked for to be included in the post.
+ * @param array $extra_fields Extra POST fields which should be checked for to be included in the post.
  * @param bool $allow_relaxed_file_ownership Whether to allow Group/World writable.
  * @return boolean False on failure. True on success.
  */
@@ -1038,15 +1050,15 @@ function request_filesystem_credentials($form_post, $type = '', $error = false,
                unset($credentials['port']);
        }
 
-       if ( ( defined('FTP_SSH') && FTP_SSH ) || ( defined('FS_METHOD') && 'ssh2' == 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
+       } elseif ( ( defined( 'FTP_SSL' ) && FTP_SSL ) && 'ftpext' == $type ) { //Only the FTP Extension understands SSL
                $credentials['connection_type'] = 'ftps';
-       else if ( !empty($_POST['connection_type']) )
+       } elseif ( ! empty( $_POST['connection_type'] ) ) {
                $credentials['connection_type'] = wp_unslash( $_POST['connection_type'] );
-       else if ( !isset($credentials['connection_type']) ) //All else fails (And it's not defaulted to something else saved), Default to FTP
+       } elseif ( ! isset( $credentials['connection_type'] ) ) { //All else fails (And it's not defaulted to something else saved), Default to FTP
                $credentials['connection_type'] = 'ftp';
-
+       }
        if ( ! $error &&
                        (
                                ( !empty($credentials['password']) && !empty($credentials['username']) && !empty($credentials['hostname']) ) ||
@@ -1108,14 +1120,14 @@ jQuery(function($){
        jQuery("#ftp, #ftps").click(function () {
                jQuery("#ssh_keys").hide();
        });
-       jQuery('form input[value=""]:first').focus();
+       jQuery('#request-filesystem-credentials-form input[value=""]:first').focus();
 });
 -->
 </script>
 <form action="<?php echo esc_url( $form_post ) ?>" method="post">
-<div>
-<h3><?php _e('Connection Information') ?></h3>
-<p><?php
+<div id="request-filesystem-credentials-form" class="request-filesystem-credentials-form">
+<h3 id="request-filesystem-credentials-title"><?php _e( 'Connection Information' ) ?></h3>
+<p id="request-filesystem-credentials-desc"><?php
        $label_user = __('Username');
        $label_pass = __('Password');
        _e('To perform the requested action, WordPress needs to access your web server.');
@@ -1134,39 +1146,36 @@ jQuery(function($){
        }
        _e('If you do not remember your credentials, you should contact your web host.');
 ?></p>
-<table class="form-table">
-<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>
-<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>
-<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>
-
+<label for="hostname">
+       <span class="field-title"><?php _e( 'Hostname' ) ?></span>
+       <input name="hostname" type="text" id="hostname" aria-describedby="request-filesystem-credentials-desc" class="code" placeholder="<?php esc_attr_e( 'example: www.wordpress.org' ) ?>" value="<?php echo esc_attr($hostname); if ( !empty($port) ) echo ":$port"; ?>"<?php disabled( defined('FTP_HOST') ); ?> />
+</label>
+<div class="ftp-username">
+       <label for="username">
+               <span class="field-title"><?php echo $label_user; ?></span>
+               <input name="username" type="text" id="username" value="<?php echo esc_attr($username) ?>"<?php disabled( defined('FTP_USER') ); ?> />
+       </label>
+</div>
+<div class="ftp-password">
+       <label for="password">
+               <span class="field-title"><?php echo $label_pass; ?></span>
+               <input name="password" type="password" id="password" value="<?php if ( defined('FTP_PASS') ) echo '*****'; ?>"<?php disabled( defined('FTP_PASS') ); ?> />
+               <em><?php if ( ! defined('FTP_PASS') ) _e( 'This password will not be stored on the server.' ); ?></em>
+       </label>
+</div>
 <?php if ( isset($types['ssh']) ) : ?>
-<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 />
-<label for="private_key"><?php _e('Private Key:') ?></label>
-</div></th>
-<td><br /><input name="public_key" type="text" id="public_key" value="<?php echo esc_attr($public_key) ?>"<?php disabled( defined('FTP_PUBKEY') ); ?> size="40" />
-       <br /><input name="private_key" type="text" id="private_key" value="<?php echo esc_attr($private_key) ?>"<?php disabled( defined('FTP_PRIKEY') ); ?> size="40" />
-<div><?php _e('Enter the location on the server where the keys are located. If a passphrase is needed, enter that in the password field above.') ?></div></td>
-</tr>
+<h4><?php _e('Authentication Keys') ?></h4>
+<label for="public_key">
+       <span class="field-title"><?php _e('Public Key:') ?></span>
+       <input name="public_key" type="text" id="public_key" aria-describedby="auth-keys-desc" value="<?php echo esc_attr($public_key) ?>"<?php disabled( defined('FTP_PUBKEY') ); ?> />
+</label>
+<label for="private_key">
+       <span class="field-title"><?php _e('Private Key:') ?></span>
+       <input name="private_key" type="text" id="private_key" value="<?php echo esc_attr($private_key) ?>"<?php disabled( defined('FTP_PRIKEY') ); ?> />
+</label>
+<span id="auth-keys-desc"><?php _e('Enter the location on the server where the public and private keys are located. If a passphrase is needed, enter that in the password field above.') ?></span>
 <?php endif; ?>
-
-<tr>
-<th scope="row"><?php _e('Connection Type') ?></th>
-<td>
+<h4><?php _e('Connection Type') ?></h4>
 <fieldset><legend class="screen-reader-text"><span><?php _e('Connection Type') ?></span></legend>
 <?php
        $disabled = disabled( (defined('FTP_SSL') && FTP_SSL) || (defined('FTP_SSH') && FTP_SSH), true, false );
@@ -1177,19 +1186,44 @@ jQuery(function($){
        </label>
        <?php endforeach; ?>
 </fieldset>
-</td>
-</tr>
-</table>
-
 <?php
 foreach ( (array) $extra_fields as $field ) {
        if ( isset( $_POST[ $field ] ) )
                echo '<input type="hidden" name="' . esc_attr( $field ) . '" value="' . esc_attr( wp_unslash( $_POST[ $field ] ) ) . '" />';
 }
-submit_button( __( 'Proceed' ), 'button', 'upgrade' );
 ?>
+       <p class="request-filesystem-credentials-action-buttons">
+               <button class="button cancel-button" data-js-action="close" type="button"><?php _e( 'Cancel' ); ?></button>
+               <?php submit_button( __( 'Proceed' ), 'button', 'upgrade', false ); ?>
+       </p>
 </div>
 </form>
 <?php
        return false;
 }
+
+/**
+ * Print the filesystem credentials modal when needed.
+ *
+ * @since 4.2.0
+ */
+function wp_print_request_filesystem_credentials_modal() {
+       $filesystem_method = get_filesystem_method();
+       ob_start();
+       $filesystem_credentials_are_stored = request_filesystem_credentials( self_admin_url() );
+       ob_end_clean();
+       $request_filesystem_credentials = ( $filesystem_method != 'direct' && ! $filesystem_credentials_are_stored );
+       if ( ! $request_filesystem_credentials ) {
+               return;
+       }
+       ?>
+       <div id="request-filesystem-credentials-dialog" class="notification-dialog-wrap request-filesystem-credentials-dialog">
+               <div class="notification-dialog-background"></div>
+               <div class="notification-dialog" role="dialog" aria-labelledby="request-filesystem-credentials-title" tabindex="0">
+                       <div class="request-filesystem-credentials-dialog-content">
+                               <?php request_filesystem_credentials( site_url() ); ?>
+                       <div>
+               </div>
+       </div>
+       <?php
+}
index 7e3e7f7e2da2f6a5dfbfa1216e4add2b3773d3c7..5a82b4155f3769c220efff1d92d8a718afd16d66 100644 (file)
@@ -7,8 +7,11 @@
  */
 
 /**
- * @param int $post_id
- * @param bool|object $msg
+ * Loads the WP image-editing interface.
+ *
+ * @param int         $post_id Post ID.
+ * @param bool|object $msg     Optional. Message to display for image editor updates or errors.
+ *                             Default false.
  */
 function wp_image_editor($post_id, $msg = false) {
        $nonce = wp_create_nonce("image_editor-$post_id");
@@ -330,12 +333,31 @@ function wp_save_image_file( $filename, $image, $mime_type, $post_id ) {
        }
 }
 
+/**
+ * Image preview ratio. Internal use only.
+ *
+ * @since 2.9.0
+ *
+ * @ignore
+ * @param int $w Image width in pixels.
+ * @param int $h Image height in pixels.
+ * @return float|int Image preview ratio.
+ */
 function _image_get_preview_ratio($w, $h) {
        $max = max($w, $h);
        return $max > 400 ? (400 / $max) : 1;
 }
 
-// @TODO: Returns GD resource, but is NOT public
+/**
+ * Returns an image resource. Internal use only.
+ *
+ * @since 2.9.0
+ *
+ * @ignore
+ * @param resource  $img   Image resource.
+ * @param float|int $angle Image rotation angle, in degrees.
+ * @return resource|false GD image resource, false otherwise.
+ */
 function _rotate_image_resource($img, $angle) {
        _deprecated_function( __FUNCTION__, '3.5', __( 'Use WP_Image_Editor::rotate' ) );
        if ( function_exists('imagerotate') ) {
@@ -349,14 +371,15 @@ function _rotate_image_resource($img, $angle) {
 }
 
 /**
- * @TODO: Only used within image_edit_apply_changes
- *               and receives/returns GD Resource.
- *               Consider removal.
+ * Flips an image resource. Internal use only.
  *
- * @param GD_Resource $img
- * @param boolean $horz
- * @param boolean $vert
- * @return GD_Resource
+ * @since 2.9.0
+ *
+ * @ignore
+ * @param resource $img  Image resource.
+ * @param bool     $horz Whether to flip horizontally.
+ * @param bool     $vert Whether to flip vertically.
+ * @return resource (maybe) flipped image resource.
  */
 function _flip_image_resource($img, $horz, $vert) {
        _deprecated_function( __FUNCTION__, '3.5', __( 'Use WP_Image_Editor::flip' ) );
@@ -378,16 +401,17 @@ function _flip_image_resource($img, $horz, $vert) {
 }
 
 /**
- * @TODO: Only used within image_edit_apply_changes
- *               and receives/returns GD Resource.
- *               Consider removal.
+ * Crops an image resource. Internal use only.
+ *
+ * @since 2.9.0
  *
- * @param GD_Resource $img
- * @param float $x
- * @param float $y
- * @param float $w
- * @param float $h
- * @return GD_Resource
+ * @ignore
+ * @param resource $img Image resource.
+ * @param float    $x   Source point x-coordinate.
+ * @param float    $y   Source point y-cooredinate.
+ * @param float    $w   Source width.
+ * @param float    $h   Source height.
+ * @return resource (maybe) cropped image resource.
  */
 function _crop_image_resource($img, $x, $y, $w, $h) {
        $dst = wp_imagecreatetruecolor($w, $h);
@@ -437,7 +461,7 @@ function image_edit_apply_changes( $image, $changes ) {
        // Combine operations.
        if ( count($changes) > 1 ) {
                $filtered = array($changes[0]);
-               for ( $i = 0, $j = 1; $j < count($changes); $j++ ) {
+               for ( $i = 0, $j = 1, $c = count( $changes ); $j < $c; $j++ ) {
                        $combined = false;
                        if ( $filtered[$i]->type == $changes[$j]->type ) {
                                switch ( $filtered[$i]->type ) {
@@ -561,13 +585,17 @@ function stream_preview_image( $post_id ) {
 }
 
 /**
- * @param int $post_id
- * @return stdClass
+ * Restores the metadata for a given attachment.
+ *
+ * @since 2.9.0
+ *
+ * @param int $post_id Attachment post ID.
+ * @return stdClass Image restoration message object.
  */
 function wp_restore_image($post_id) {
        $meta = wp_get_attachment_metadata($post_id);
        $file = get_attached_file($post_id);
-       $backup_sizes = get_post_meta( $post_id, '_wp_attachment_backup_sizes', true );
+       $backup_sizes = $old_backup_sizes = get_post_meta( $post_id, '_wp_attachment_backup_sizes', true );
        $restored = false;
        $msg = new stdClass;
 
@@ -588,10 +616,7 @@ function wp_restore_image($post_id) {
 
                                // 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 );
-                                       @unlink($delpath);
+                                       wp_delete_file( $file );
                                }
                        } elseif ( isset( $meta['width'], $meta['height'] ) ) {
                                $backup_sizes["full-$suffix"] = array('width' => $meta['width'], 'height' => $meta['height'], 'file' => $parts['basename']);
@@ -614,9 +639,8 @@ function wp_restore_image($post_id) {
 
                                        // Delete only if it's edited image
                                        if ( preg_match('/-e[0-9]{13}-/', $meta['sizes'][$default_size]['file']) ) {
-                                               /** This filter is documented in wp-admin/custom-header.php */
-                                               $delpath = apply_filters( 'wp_delete_file', path_join($parts['dirname'], $meta['sizes'][$default_size]['file']) );
-                                               @unlink($delpath);
+                                               $delete_file = path_join( $parts['dirname'], $meta['sizes'][$default_size]['file'] );
+                                               wp_delete_file( $delete_file );
                                        }
                                } else {
                                        $backup_sizes["$default_size-{$suffix}"] = $meta['sizes'][$default_size];
@@ -629,7 +653,9 @@ function wp_restore_image($post_id) {
                }
        }
 
-       if ( !wp_update_attachment_metadata($post_id, $meta) || !update_post_meta( $post_id, '_wp_attachment_backup_sizes', $backup_sizes) ) {
+       if ( ! wp_update_attachment_metadata( $post_id, $meta ) ||
+               ( $old_backup_sizes !== $backup_sizes && ! update_post_meta( $post_id, '_wp_attachment_backup_sizes', $backup_sizes ) ) ) {
+
                $msg->error = __('Cannot save image metadata.');
                return $msg;
        }
@@ -748,7 +774,7 @@ function wp_save_image( $post_id ) {
                if ( $tag )
                        $backup_sizes[$tag] = array('width' => $meta['width'], 'height' => $meta['height'], 'file' => $path_parts['basename']);
 
-               $success = update_attached_file( $post_id, $new_path );
+               $success = ( $path === $new_path ) || update_attached_file( $post_id, $new_path );
 
                $meta['file'] = _wp_relative_upload_path( $new_path );
 
@@ -827,10 +853,7 @@ 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 );
-               @unlink( $delpath );
+               wp_delete_file( $new_path );
        }
 
        $return->msg = esc_js( __('Image saved') );
index 5fc7161e4f4d83080f77c645c99c44612192b102..355a63d737f4e09a596b03288fcfee8f0d6bbe16 100644 (file)
@@ -127,10 +127,10 @@ function wp_generate_attachment_metadata( $attachment_id, $file ) {
                if ( $image_meta )
                        $metadata['image_meta'] = $image_meta;
 
-       } elseif ( preg_match( '#^video/#', get_post_mime_type( $attachment ) ) ) {
+       } elseif ( wp_attachment_is( 'video', $attachment ) ) {
                $metadata = wp_read_video_metadata( $file );
                $support = current_theme_supports( 'post-thumbnails', 'attachment:video' ) || post_type_supports( 'attachment:video', 'thumbnail' );
-       } elseif ( preg_match( '#^audio/#', get_post_mime_type( $attachment ) ) ) {
+       } elseif ( wp_attachment_is( 'audio', $attachment ) ) {
                $metadata = wp_read_audio_metadata( $file );
                $support = current_theme_supports( 'post-thumbnails', 'attachment:audio' ) || post_type_supports( 'attachment:audio', 'thumbnail' );
        }
@@ -299,20 +299,17 @@ function wp_read_image_metadata( $file ) {
 
                        if ( ! empty( $iptc['2#120'][0] ) ) { // description / legacy caption
                                $caption = trim( $iptc['2#120'][0] );
-                               if ( empty( $meta['title'] ) ) {
-                                       mbstring_binary_safe_encoding();
-                                       $caption_length = strlen( $caption );
-                                       reset_mbstring_encoding();
 
+                               mbstring_binary_safe_encoding();
+                               $caption_length = strlen( $caption );
+                               reset_mbstring_encoding();
+
+                               if ( empty( $meta['title'] ) && $caption_length < 80 ) {
                                        // Assume the title is stored in 2:120 if it's short.
-                                       if ( $caption_length < 80 ) {
-                                               $meta['title'] = $caption;
-                                       } else {
-                                               $meta['caption'] = $caption;
-                                       }
-                               } elseif ( $caption != $meta['title'] ) {
-                                       $meta['caption'] = $caption;
+                                       $meta['title'] = $caption;
                                }
+
+                               $meta['caption'] = $caption;
                        }
 
                        if ( ! empty( $iptc['2#110'][0] ) ) // credit
@@ -320,7 +317,7 @@ function wp_read_image_metadata( $file ) {
                        elseif ( ! empty( $iptc['2#080'][0] ) ) // creator / legacy byline
                                $meta['credit'] = trim( $iptc['2#080'][0] );
 
-                       if ( ! empty( $iptc['2#055'][0] ) and ! empty( $iptc['2#060'][0] ) ) // created date and time
+                       if ( ! empty( $iptc['2#055'][0] ) && ! empty( $iptc['2#060'][0] ) ) // created date and time
                                $meta['created_timestamp'] = strtotime( $iptc['2#055'][0] . ' ' . $iptc['2#060'][0] );
 
                        if ( ! empty( $iptc['2#116'][0] ) ) // copyright
@@ -338,10 +335,6 @@ function wp_read_image_metadata( $file ) {
        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 );
 
-               if ( empty( $meta['title'] ) && ! empty( $exif['Title'] ) ) {
-                       $meta['title'] = trim( $exif['Title'] );
-               }
-
                if ( ! empty( $exif['ImageDescription'] ) ) {
                        mbstring_binary_safe_encoding();
                        $description_length = strlen( $exif['ImageDescription'] );
@@ -350,13 +343,16 @@ function wp_read_image_metadata( $file ) {
                        if ( empty( $meta['title'] ) && $description_length < 80 ) {
                                // Assume the title is stored in ImageDescription
                                $meta['title'] = trim( $exif['ImageDescription'] );
-                               if ( empty( $meta['caption'] ) && ! empty( $exif['COMPUTED']['UserComment'] ) && trim( $exif['COMPUTED']['UserComment'] ) != $meta['title'] ) {
-                                       $meta['caption'] = trim( $exif['COMPUTED']['UserComment'] );
-                               }
-                       } elseif ( empty( $meta['caption'] ) && trim( $exif['ImageDescription'] ) != $meta['title'] ) {
+                       }
+
+                       if ( empty( $meta['caption'] ) && ! empty( $exif['COMPUTED']['UserComment'] ) ) {
+                               $meta['caption'] = trim( $exif['COMPUTED']['UserComment'] );
+                       }
+
+                       if ( empty( $meta['caption'] ) ) {
                                $meta['caption'] = trim( $exif['ImageDescription'] );
                        }
-               } elseif ( empty( $meta['caption'] ) && ! empty( $exif['Comments'] ) && trim( $exif['Comments'] ) != $meta['title'] ) {
+               } elseif ( empty( $meta['caption'] ) && ! empty( $exif['Comments'] ) ) {
                        $meta['caption'] = trim( $exif['Comments'] );
                }
 
index ab8e8e3db0815738a2e0d7a2facc3f043dfb422c..55c6e78bb95f099d371c5d5764b363f8b449d9c1 100644 (file)
@@ -76,34 +76,32 @@ function wp_import_cleanup( $id ) {
  * @return array Uploaded file's details on success, error message on failure
  */
 function wp_import_handle_upload() {
-       if ( !isset($_FILES['import']) ) {
-               $file['error'] = __( 'File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your php.ini or by post_max_size being defined as smaller than upload_max_filesize in php.ini.' );
-               return $file;
+       if ( ! isset( $_FILES['import'] ) ) {
+               return array(
+                       'error' => __( 'File is empty. Please upload something more substantial. This error could also be caused by uploads being disabled in your php.ini or by post_max_size being defined as smaller than upload_max_filesize in php.ini.' )
+               );
        }
 
        $overrides = array( 'test_form' => false, 'test_type' => false );
        $_FILES['import']['name'] .= '.txt';
-       $file = wp_handle_upload( $_FILES['import'], $overrides );
+       $upload = wp_handle_upload( $_FILES['import'], $overrides );
 
-       if ( isset( $file['error'] ) )
-               return $file;
-
-       $url = $file['url'];
-       $type = $file['type'];
-       $file = $file['file'];
-       $filename = basename( $file );
+       if ( isset( $upload['error'] ) ) {
+               return $upload;
+       }
 
        // Construct the object array
-       $object = array( 'post_title' => $filename,
-               'post_content' => $url,
-               'post_mime_type' => $type,
-               'guid' => $url,
+       $object = array(
+               'post_title' => basename( $upload['file'] ),
+               'post_content' => $upload['url'],
+               'post_mime_type' => $upload['type'],
+               'guid' => $upload['url'],
                'context' => 'import',
                'post_status' => 'private'
        );
 
        // Save the data
-       $id = wp_insert_attachment( $object, $file );
+       $id = wp_insert_attachment( $object, $upload['file'] );
 
        /*
         * Schedule a cleanup for one day from now in case of failed
@@ -111,7 +109,7 @@ function wp_import_handle_upload() {
         */
        wp_schedule_single_event( time() + DAY_IN_SECONDS, 'importer_scheduled_cleanup', array( $id ) );
 
-       return array( 'file' => $file, 'id' => $id );
+       return array( 'file' => $upload['file'], 'id' => $id );
 }
 
 /**
index 7fa4dd8f05aaa995fc9dd60734a7a989aba5aa4a..75811962f96617ac8bb59acc1b3644800f265964 100644 (file)
@@ -239,24 +239,23 @@ function _cleanup_image_add_caption( $matches ) {
 function media_send_to_editor($html) {
 ?>
 <script type="text/javascript">
-/* <![CDATA[ */
 var win = window.dialogArguments || opener || parent || top;
 win.send_to_editor('<?php echo addslashes($html); ?>');
-/* ]]> */
 </script>
 <?php
        exit;
 }
 
 /**
- * This handles the file upload POST itself, creating the attachment post.
+ * Save a file submitted from a POST request and create an attachment post for it.
  *
  * @since 2.5.0
  *
- * @param string $file_id Index into the {@link $_FILES} array of the upload
- * @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
+ * @param string $file_id   Index of the {@link $_FILES} array that the file was sent. Required.
+ * @param int    $post_id   The post ID of a post to attach the media item to. Required, but can
+ *                          be set to 0, creating a media item that has no relationship to a post.
+ * @param array  $post_data Overwrite some of the attachment. Optional.
+ * @param array  $overrides Override the {@link wp_handle_upload()} behavior. Optional.
  * @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 )) {
@@ -281,31 +280,31 @@ function media_handle_upload($file_id, $post_id, $post_data = array(), $override
        $file = $file['file'];
        $title = $name;
        $content = '';
+       $excerpt = '';
 
        if ( preg_match( '#^audio#', $type ) ) {
                $meta = wp_read_audio_metadata( $file );
 
-               if ( ! empty( $meta['title'] ) )
+               if ( ! empty( $meta['title'] ) ) {
                        $title = $meta['title'];
-
-               $content = '';
+               }
 
                if ( ! empty( $title ) ) {
 
                        if ( ! empty( $meta['album'] ) && ! empty( $meta['artist'] ) ) {
                                /* translators: 1: audio track title, 2: album title, 3: artist name */
                                $content .= sprintf( __( '"%1$s" from %2$s by %3$s.' ), $title, $meta['album'], $meta['artist'] );
-                       } else if ( ! empty( $meta['album'] ) ) {
+                       } elseif ( ! empty( $meta['album'] ) ) {
                                /* translators: 1: audio track title, 2: album title */
                                $content .= sprintf( __( '"%1$s" from %2$s.' ), $title, $meta['album'] );
-                       } else if ( ! empty( $meta['artist'] ) ) {
+                       } elseif ( ! empty( $meta['artist'] ) ) {
                                /* translators: 1: audio track title, 2: artist name */
                                $content .= sprintf( __( '"%1$s" by %2$s.' ), $title, $meta['artist'] );
                        } else {
                                $content .= sprintf( __( '"%s".' ), $title );
                        }
 
-               } else if ( ! empty( $meta['album'] ) ) {
+               } elseif ( ! empty( $meta['album'] ) ) {
 
                        if ( ! empty( $meta['artist'] ) ) {
                                /* translators: 1: audio album title, 2: artist name */
@@ -314,7 +313,7 @@ function media_handle_upload($file_id, $post_id, $post_data = array(), $override
                                $content .= $meta['album'] . '.';
                        }
 
-               } else if ( ! empty( $meta['artist'] ) ) {
+               } elseif ( ! empty( $meta['artist'] ) ) {
 
                        $content .= $meta['artist'] . '.';
 
@@ -336,10 +335,13 @@ function media_handle_upload($file_id, $post_id, $post_data = array(), $override
 
        // Use image exif/iptc data for title and caption defaults if possible.
        } elseif ( 0 === strpos( $type, 'image/' ) && $image_meta = @wp_read_image_metadata( $file ) ) {
-               if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) )
+               if ( trim( $image_meta['title'] ) && ! is_numeric( sanitize_title( $image_meta['title'] ) ) ) {
                        $title = $image_meta['title'];
-               if ( trim( $image_meta['caption'] ) )
-                       $content = $image_meta['caption'];
+               }
+
+               if ( trim( $image_meta['caption'] ) ) {
+                       $excerpt = $image_meta['caption'];
+               }
        }
 
        // Construct the attachment array
@@ -349,6 +351,7 @@ function media_handle_upload($file_id, $post_id, $post_data = array(), $override
                'post_parent' => $post_id,
                'post_title' => $title,
                'post_content' => $content,
+               'post_excerpt' => $excerpt,
        ), $post_data );
 
        // This should never be set as it would then overwrite an existing attachment.
@@ -448,11 +451,9 @@ if ( ( is_array( $content_func ) && ! empty( $content_func[1] ) && 0 === strpos(
 wp_enqueue_style( 'ie' );
 ?>
 <script type="text/javascript">
-//<![CDATA[
 addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
 var ajaxurl = '<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>', pagenow = 'media-upload-popup', adminpage = 'media-upload-popup',
 isRtl = <?php echo (int) is_rtl(); ?>;
-//]]>
 </script>
 <?php
        /** This action is documented in wp-admin/admin-header.php */
@@ -620,8 +621,8 @@ function media_upload_form_handler() {
        $errors = null;
 
        if ( isset($_POST['send']) ) {
-               $keys = array_keys($_POST['send']);
-               $send_id = (int) array_shift($keys);
+               $keys = array_keys( $_POST['send'] );
+               $send_id = (int) reset( $keys );
        }
 
        if ( !empty($_POST['attachments']) ) foreach ( $_POST['attachments'] as $attachment_id => $attachment ) {
@@ -682,10 +683,8 @@ function media_upload_form_handler() {
 
        if ( isset($_POST['insert-gallery']) || isset($_POST['update-gallery']) ) { ?>
                <script type="text/javascript">
-               /* <![CDATA[ */
                var win = window.dialogArguments || opener || parent || top;
                win.tb_remove();
-               /* ]]> */
                </script>
                <?php
                exit;
@@ -830,9 +829,10 @@ function wp_media_upload_handler() {
  * @param string $file The URL of the image to download
  * @param int $post_id The post ID the media is to be associated with
  * @param string $desc Optional. Description of the image
+ * @param string $return Optional. What to return: an image tag (default) or only the src.
  * @return string|WP_Error Populated HTML img tag on success
  */
-function media_sideload_image( $file, $post_id, $desc = null ) {
+function media_sideload_image( $file, $post_id, $desc = null, $return = 'html' ) {
        if ( ! empty( $file ) ) {
                // Set variables for storage, fix file filename for query strings.
                preg_match( '/[^\?]+\.(jpe?g|jpe|gif|png)\b/i', $file, $matches );
@@ -861,9 +861,15 @@ function media_sideload_image( $file, $post_id, $desc = null ) {
 
        // Finally check to make sure the file has been saved, then return the HTML.
        if ( ! empty( $src ) ) {
+               if ( $return === 'src' ) {
+                       return $src;
+               }
+
                $alt = isset( $desc ) ? esc_attr( $desc ) : '';
                $html = "<img src='$src' alt='$alt' />";
                return $html;
+       } else {
+               return new WP_Error( 'image_sideload_failed' );
        }
 }
 
@@ -949,7 +955,6 @@ function image_align_input_fields( $post, $checked = '' ) {
  * @return array
  */
 function image_size_input_fields( $post, $check = '' ) {
-
        /**
         * Filter the names and labels of the default image sizes.
         *
@@ -965,50 +970,53 @@ function image_size_input_fields( $post, $check = '' ) {
                'full'      => __( 'Full Size' )
        ) );
 
-               if ( empty($check) )
-                       $check = get_user_setting('imgsize', 'medium');
-
-               foreach ( $size_names as $size => $label ) {
-                       $downsize = image_downsize($post->ID, $size);
-                       $checked = '';
-
-                       // Is this size selectable?
-                       $enabled = ( $downsize[3] || 'full' == $size );
-                       $css_id = "image-size-{$size}-{$post->ID}";
-
-                       // If this size is the default but that's not available, don't select it.
-                       if ( $size == $check ) {
-                               if ( $enabled )
-                                       $checked = " checked='checked'";
-                               else
-                                       $check = '';
-                       } elseif ( !$check && $enabled && 'thumbnail' != $size ) {
-                               /*
-                                * If $check is not enabled, default to the first available size
-                                * that's bigger than a thumbnail.
-                                */
-                               $check = $size;
-                               $checked = " checked='checked'";
-                       }
+       if ( empty( $check ) ) {
+               $check = get_user_setting('imgsize', 'medium');
+       }
+       $out = array();
 
-                       $html = "<div class='image-size-item'><input type='radio' " . disabled( $enabled, false, false ) . "name='attachments[$post->ID][image-size]' id='{$css_id}' value='{$size}'$checked />";
+       foreach ( $size_names as $size => $label ) {
+               $downsize = image_downsize( $post->ID, $size );
+               $checked = '';
 
-                       $html .= "<label for='{$css_id}'>$label</label>";
+               // Is this size selectable?
+               $enabled = ( $downsize[3] || 'full' == $size );
+               $css_id = "image-size-{$size}-{$post->ID}";
+
+               // If this size is the default but that's not available, don't select it.
+               if ( $size == $check ) {
+                       if ( $enabled ) {
+                               $checked = " checked='checked'";
+                       } else {
+                               $check = '';
+                       }
+               } elseif ( ! $check && $enabled && 'thumbnail' != $size ) {
+                       /*
+                        * If $check is not enabled, default to the first available size
+                        * that's bigger than a thumbnail.
+                        */
+                       $check = $size;
+                       $checked = " checked='checked'";
+               }
 
-                       // Only show the dimensions if that choice is available.
-                       if ( $enabled )
-                               $html .= " <label for='{$css_id}' class='help'>" . sprintf( "(%d&nbsp;&times;&nbsp;%d)", $downsize[1], $downsize[2] ). "</label>";
+               $html = "<div class='image-size-item'><input type='radio' " . disabled( $enabled, false, false ) . "name='attachments[$post->ID][image-size]' id='{$css_id}' value='{$size}'$checked />";
 
-                       $html .= '</div>';
+               $html .= "<label for='{$css_id}'>$label</label>";
 
-                       $out[] = $html;
+               // Only show the dimensions if that choice is available.
+               if ( $enabled ) {
+                       $html .= " <label for='{$css_id}' class='help'>" . sprintf( "(%d&nbsp;&times;&nbsp;%d)", $downsize[1], $downsize[2] ). "</label>";
                }
+               $html .= '</div>';
 
-               return array(
-                       'label' => __('Size'),
-                       'input' => 'html',
-                       'html'  => join("\n", $out),
-               );
+               $out[] = $html;
+       }
+
+       return array(
+               'label' => __( 'Size' ),
+               'input' => 'html',
+               'html'  => join( "\n", $out ),
+       );
 }
 
 /**
@@ -1349,7 +1357,7 @@ function get_media_item( $attachment_id, $args = null ) {
 
        $post_mime_types = get_post_mime_types();
        $keys = array_keys( wp_match_mime_types( array_keys( $post_mime_types ), $post->post_mime_type ) );
-       $type = array_shift( $keys );
+       $type = reset( $keys );
        $type_html = "<input type='hidden' id='type-of-$attachment_id' value='" . esc_attr( $type ) . "' />";
 
        $form_fields = get_attachment_fields_to_edit( $post, $r['errors'] );
@@ -1944,7 +1952,6 @@ function media_upload_type_form($type = 'file', $errors = null, $id = null) {
 <?php media_upload_form( $errors ); ?>
 
 <script type="text/javascript">
-//<![CDATA[
 jQuery(function($){
        var preloaded = $(".media-item.preloaded");
        if ( preloaded.length > 0 ) {
@@ -1952,7 +1959,6 @@ jQuery(function($){
        }
        updateMediaForm();
 });
-//]]>
 </script>
 <div id="media-items"><?php
 
@@ -2007,7 +2013,6 @@ function media_upload_type_url_form($type = null, $errors = null, $id = null) {
 <h3 class="media-title"><?php _e('Insert media from another website'); ?></h3>
 
 <script type="text/javascript">
-//<![CDATA[
 var addExtImage = {
 
        width : '',
@@ -2084,21 +2089,19 @@ var addExtImage = {
                        return false;
                }
 
-               document.getElementById('status_img').innerHTML = '<img src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" width="16" />';
+               document.getElementById('status_img').innerHTML = '<img src="<?php echo esc_url( admin_url( 'images/spinner-2x.gif' ) ); ?>" alt="" width="16" height="16" />';
                t.preloadImg = new Image();
                t.preloadImg.onload = t.updateImageData;
                t.preloadImg.onerror = t.resetImageData;
                t.preloadImg.src = src;
        }
-}
+};
 
 jQuery(document).ready( function($) {
        $('.media-types input').click( function() {
                $('table.describe').toggleClass('not-image', $('#not-image').prop('checked') );
        });
 });
-
-//]]>
 </script>
 
 <div id="media-items">
@@ -2301,7 +2304,7 @@ function media_upload_library_form($errors) {
 
 ?>
 
-<form id="filter" action="" method="get">
+<form id="filter" method="get">
 <input type="hidden" name="type" value="<?php echo esc_attr( $type ); ?>" />
 <input type="hidden" name="tab" value="<?php echo esc_attr( $tab ); ?>" />
 <input type="hidden" name="post_id" value="<?php echo (int) $post_id; ?>" />
@@ -2661,13 +2664,13 @@ function edit_form_image_editor( $post ) {
                        <?php if ( $open ) wp_image_editor( $attachment_id ); ?>
                </div>
        <?php
-       elseif ( $attachment_id && 0 === strpos( $post->post_mime_type, 'audio/' ) ):
+       elseif ( $attachment_id && wp_attachment_is( 'audio', $post ) ):
 
                wp_maybe_generate_attachment_metadata( $post );
 
                echo wp_audio_shortcode( array( 'src' => $att_url ) );
 
-       elseif ( $attachment_id && 0 === strpos( $post->post_mime_type, 'video/' ) ):
+       elseif ( $attachment_id && wp_attachment_is( 'video', $post ) ):
 
                wp_maybe_generate_attachment_metadata( $post );
 
@@ -3018,3 +3021,63 @@ function wp_read_audio_metadata( $file ) {
 
        return $metadata;
 }
+
+/**
+ * Encapsulate logic for Attach/Detach actions
+ *
+ * @since 4.2.0
+ *
+ * @global wpdb $wpdb WordPress database abstraction object.
+ *
+ * @param int    $parent_id Attachment parent ID.
+ * @param string $action    Optional. Attach/detach action. Accepts 'attach' or 'detach'.
+ *                          Default 'attach'.
+ */
+function wp_media_attach_action( $parent_id, $action = 'attach' ) {
+       global $wpdb;
+
+       if ( ! $parent_id ) {
+               return;
+       }
+
+       if ( ! current_user_can( 'edit_post', $parent_id ) ) {
+               wp_die( __( 'You are not allowed to edit this post.' ) );
+       }
+       $ids = array();
+       foreach ( (array) $_REQUEST['media'] as $att_id ) {
+               $att_id = (int) $att_id;
+
+               if ( ! current_user_can( 'edit_post', $att_id ) ) {
+                       continue;
+               }
+
+               $ids[] = $att_id;
+       }
+
+       if ( ! empty( $ids ) ) {
+               $ids_string = implode( ',', $ids );
+               if ( 'attach' === $action ) {
+                       $result = $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_parent = %d WHERE post_type = 'attachment' AND ID IN ( $ids_string )", $parent_id ) );
+               } else {
+                       $result = $wpdb->query( "UPDATE $wpdb->posts SET post_parent = 0 WHERE post_type = 'attachment' AND ID IN ( $ids_string )" );
+               }
+
+               foreach ( $ids as $att_id ) {
+                       clean_attachment_cache( $att_id );
+               }
+       }
+
+       if ( isset( $result ) ) {
+               $location = 'upload.php';
+               if ( $referer = wp_get_referer() ) {
+                       if ( false !== strpos( $referer, 'upload.php' ) ) {
+                               $location = remove_query_arg( array( 'attached', 'detach' ), $referer );
+                       }
+               }
+
+               $key = 'attach' === $action ? 'attached' : 'detach';
+               $location = add_query_arg( array( $key => $result ), $location );
+               wp_redirect( $location );
+               exit;
+       }
+}
index 873f7379d9eb4c534dae23d2346ef05320c7dff1..ce90c1ba3c103e1ab24064523c6e98d9736a51c9 100644 (file)
@@ -94,7 +94,7 @@ foreach ( $menu as $id => $data ) {
        if ( empty($submenu[$data[2]]) )
                continue;
        $subs = $submenu[$data[2]];
-       $first_sub = array_shift($subs);
+       $first_sub = reset( $subs );
        $old_parent = $data[2];
        $new_parent = $first_sub[2];
        /*
@@ -163,7 +163,7 @@ foreach ( $menu as $id => $data ) {
         */
        if ( ! empty( $submenu[$data[2]] ) && 1 == count ( $submenu[$data[2]] ) ) {
                $subs = $submenu[$data[2]];
-               $first_sub = array_shift($subs);
+               $first_sub = reset( $subs );
                if ( $data[2] == $first_sub[2] )
                        unset( $submenu[$data[2]] );
        }
@@ -316,7 +316,7 @@ if ( !user_can_access_admin_page() ) {
         */
        do_action( 'admin_page_access_denied' );
 
-       wp_die( __('You do not have sufficient permissions to access this page.') );
+       wp_die( __( 'You do not have sufficient permissions to access this page.' ), 403 );
 }
 
 $menu = add_menu_classes($menu);
index c7307d52044f41c51ed5fc606928bc7ee49130ff..7005753406eebbf4b64fa2f5a37949de5e7768c3 100644 (file)
@@ -162,15 +162,15 @@ echo esc_html( $visibility_trans ); ?></span>
 
 <?php
 /* translators: Publish box date format, see http://php.net/date */
-$datef = __( 'M j, Y @ G:i' );
+$datef = __( 'M j, Y @ H:i' );
 if ( 0 != $post->ID ) {
        if ( 'future' == $post->post_status ) { // scheduled for publishing at a future date
                $stamp = __('Scheduled for: <b>%1$s</b>');
-       } else if ( 'publish' == $post->post_status || 'private' == $post->post_status ) { // already published
+       } elseif ( 'publish' == $post->post_status || 'private' == $post->post_status ) { // already published
                $stamp = __('Published on: <b>%1$s</b>');
-       } else if ( '0000-00-00 00:00:00' == $post->post_date_gmt ) { // draft, 1 or more saves, no date specified
+       } elseif ( '0000-00-00 00:00:00' == $post->post_date_gmt ) { // draft, 1 or more saves, no date specified
                $stamp = __('Publish <b>immediately</b>');
-       } else if ( time() < strtotime( $post->post_date_gmt . ' +0000' ) ) { // draft, 1 or more saves, future date specified
+       } elseif ( time() < strtotime( $post->post_date_gmt . ' +0000' ) ) { // draft, 1 or more saves, future date specified
                $stamp = __('Schedule for: <b>%1$s</b>');
        } else { // draft, 1 or more saves, date specified
                $stamp = __('Publish on: <b>%1$s</b>');
@@ -248,19 +248,19 @@ if ( !in_array( $post->post_status, array('publish', 'future', 'private') ) || 0
        if ( $can_publish ) :
                if ( !empty($post->post_date_gmt) && time() < strtotime( $post->post_date_gmt . ' +0000' ) ) : ?>
                <input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr_e('Schedule') ?>" />
-               <?php submit_button( __( 'Schedule' ), 'primary button-large', 'publish', false, array( 'accesskey' => 'p' ) ); ?>
+               <?php submit_button( __( 'Schedule' ), 'primary button-large', 'publish', false ); ?>
 <?php  else : ?>
                <input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr_e('Publish') ?>" />
-               <?php submit_button( __( 'Publish' ), 'primary button-large', 'publish', false, array( 'accesskey' => 'p' ) ); ?>
+               <?php submit_button( __( 'Publish' ), 'primary button-large', 'publish', false ); ?>
 <?php  endif;
        else : ?>
                <input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr_e('Submit for Review') ?>" />
-               <?php submit_button( __( 'Submit for Review' ), 'primary button-large', 'publish', false, array( 'accesskey' => 'p' ) ); ?>
+               <?php submit_button( __( 'Submit for Review' ), 'primary button-large', 'publish', false ); ?>
 <?php
        endif;
 } else { ?>
                <input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr_e('Update') ?>" />
-               <input name="save" type="submit" class="button button-primary button-large" id="publish" accesskey="p" value="<?php esc_attr_e('Update') ?>" />
+               <input name="save" type="submit" class="button button-primary button-large" id="publish" value="<?php esc_attr_e( 'Update' ) ?>" />
 <?php
 } ?>
 </div>
@@ -293,7 +293,7 @@ function attachment_submit_meta_box( $post ) {
 <div id="misc-publishing-actions">
        <?php
        /* translators: Publish box date format, see http://php.net/date */
-       $datef = __( 'M j, Y @ G:i' );
+       $datef = __( 'M j, Y @ H:i' );
        $stamp = __('Uploaded on: <b>%1$s</b>');
        $date = date_i18n( $datef, strtotime( $post->post_date ) );
        ?>
@@ -330,7 +330,7 @@ function attachment_submit_meta_box( $post ) {
        <div id="publishing-action">
                <span class="spinner"></span>
                <input name="original_publish" type="hidden" id="original_publish" value="<?php esc_attr_e('Update') ?>" />
-               <input name="save" type="submit" class="button-primary button-large" id="publish" accesskey="p" value="<?php esc_attr_e('Update') ?>" />
+               <input name="save" type="submit" class="button-primary button-large" id="publish" value="<?php esc_attr_e( 'Update' ) ?>" />
        </div>
        <div class="clear"></div>
 </div><!-- #major-publishing-actions -->
@@ -418,7 +418,6 @@ function post_tags_meta_box( $post, $box ) {
        <?php if ( $user_can_assign_terms ) : ?>
        <div class="ajaxtag hide-if-no-js">
                <label class="screen-reader-text" for="new-tag-<?php echo $tax_name; ?>"><?php echo $box['title']; ?></label>
-               <div class="taghint"><?php echo $taxonomy->labels->add_new_item; ?></div>
                <p><input type="text" id="new-tag-<?php echo $tax_name; ?>" name="newtag[<?php echo $tax_name; ?>]" class="newtag form-input-tip" size="16" autocomplete="off" value="" />
                <input type="button" class="button tagadd" value="<?php esc_attr_e('Add'); ?>" /></p>
        </div>
@@ -523,7 +522,7 @@ function post_categories_meta_box( $post, $box ) {
 function post_excerpt_meta_box($post) {
 ?>
 <label class="screen-reader-text" for="excerpt"><?php _e('Excerpt') ?></label><textarea rows="1" cols="40" name="excerpt" id="excerpt"><?php echo $post->post_excerpt; // textarea_escaped ?></textarea>
-<p><?php _e('Excerpts are optional hand-crafted summaries of your content that can be used in your theme. <a href="http://codex.wordpress.org/Excerpt" target="_blank">Learn more about manual excerpts.</a>'); ?></p>
+<p><?php _e('Excerpts are optional hand-crafted summaries of your content that can be used in your theme. <a href="https://codex.wordpress.org/Excerpt" target="_blank">Learn more about manual excerpts.</a>'); ?></p>
 <?php
 }
 
@@ -547,7 +546,7 @@ function post_trackback_meta_box($post) {
 
 ?>
 <p><label for="trackback_url"><?php _e('Send trackbacks to:'); ?></label> <?php echo $form_trackback; ?><br /> (<?php _e('Separate multiple URLs with spaces'); ?>)</p>
-<p><?php _e('Trackbacks are a way to notify legacy blog systems that you&#8217;ve linked to them. If you link other WordPress sites they&#8217;ll be notified automatically using <a href="http://codex.wordpress.org/Introduction_to_Blogging#Managing_Comments" target="_blank">pingbacks</a>, no other action necessary.'); ?></p>
+<p><?php _e('Trackbacks are a way to notify legacy blog systems that you&#8217;ve linked to them. If you link other WordPress sites, they&#8217;ll be notified automatically using <a href="https://codex.wordpress.org/Introduction_to_Blogging#Managing_Comments" target="_blank">pingbacks</a>, no other action necessary.'); ?></p>
 <?php
 if ( ! empty($pings) )
        echo $pings;
@@ -573,7 +572,7 @@ foreach ( $metadata as $key => $value ) {
 list_meta( $metadata );
 meta_form( $post ); ?>
 </div>
-<p><?php _e('Custom fields can be used to add extra metadata to a post that you can <a href="http://codex.wordpress.org/Using_Custom_Fields" target="_blank">use in your theme</a>.'); ?></p>
+<p><?php _e('Custom fields can be used to add extra metadata to a post that you can <a href="https://codex.wordpress.org/Using_Custom_Fields" target="_blank">use in your theme</a>.'); ?></p>
 <?php
 }
 
@@ -589,7 +588,7 @@ function post_comment_status_meta_box($post) {
 <input name="advanced_view" type="hidden" value="1" />
 <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>
+       <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.' ), __( 'https://codex.wordpress.org/Introduction_to_Blogging#Managing_Comments' ) ); ?></label>
        <?php
        /**
         * Fires at the end of the Discussion meta box on the post editing screen.
@@ -739,7 +738,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( $post ) ) ) {
+       if ( 'page' == $post->post_type && 0 != count( get_page_templates( $post ) ) && get_option( 'page_for_posts' ) != $post->ID ) {
                $template = !empty($post->page_template) ? $post->page_template : false;
                ?>
 <p><strong><?php _e('Template') ?></strong></p>
@@ -755,7 +754,7 @@ function page_attributes_meta_box($post) {
  *                        include 'meta-box' or 'quick-edit'.
  */
 $default_title = apply_filters( 'default_page_template_title',  __( 'Default Template' ), 'meta-box' );
-?> 
+?>
 <option value="default"><?php echo esc_html( $default_title ); ?></option>
 <?php page_template_dropdown($template); ?>
 </select>
@@ -763,8 +762,10 @@ $default_title = apply_filters( 'default_page_template_title',  __( 'Default Tem
        } ?>
 <p><strong><?php _e('Order') ?></strong></p>
 <p><label class="screen-reader-text" for="menu_order"><?php _e('Order') ?></label><input name="menu_order" type="text" size="4" id="menu_order" value="<?php echo esc_attr($post->menu_order) ?>" /></p>
-<p><?php if ( 'page' == $post->post_type ) _e( 'Need help? Use the Help tab in the upper right of your screen.' ); ?></p>
+<?php if ( 'page' == $post->post_type && get_current_screen()->get_help_tabs() ) { ?>
+<p><?php _e( 'Need help? Use the Help tab in the upper right of your screen.' ); ?></p>
 <?php
+       }
 }
 
 // -- Link related Meta Boxes
@@ -818,9 +819,9 @@ if ( !empty($_GET['action']) && 'edit' == $_GET['action'] && current_user_can('m
 
 <div id="publishing-action">
 <?php if ( !empty($link->link_id) ) { ?>
-       <input name="save" type="submit" class="button-large button-primary" id="publish" accesskey="p" value="<?php esc_attr_e('Update Link') ?>" />
+       <input name="save" type="submit" class="button-large button-primary" id="publish" value="<?php esc_attr_e( 'Update Link' ) ?>" />
 <?php } else { ?>
-       <input name="save" type="submit" class="button-large button-primary" id="publish" accesskey="p" value="<?php esc_attr_e('Add Link') ?>" />
+       <input name="save" type="submit" class="button-large button-primary" id="publish" value="<?php esc_attr_e( 'Add Link' ) ?>" />
 <?php } ?>
 </div>
 <div class="clear"></div>
index 7b710cb047168c1a9a841702c87394ec8135410b..367611b075711847d567c2fd9112b6017b3f6d57 100644 (file)
@@ -662,7 +662,7 @@ function wp_color_scheme_settings() {
                $icon_colors = $_wp_admin_css_colors['fresh']->icon_colors;
        } else {
                // Fall back to the default set of icon colors if the default scheme is missing.
-               $icon_colors = array( 'base' => '#999', 'focus' => '#2ea2cc', 'current' => '#fff' );
+               $icon_colors = array( 'base' => '#999', 'focus' => '#00a0d2', 'current' => '#fff' );
        }
 
        echo '<script type="text/javascript">var _wpColorScheme = ' . wp_json_encode( array( 'icons' => $icon_colors ) ) . ";</script>\n";
@@ -841,5 +841,49 @@ function post_form_autocomplete_off() {
                echo ' autocomplete="off"';
        }
 }
-
 add_action( 'post_edit_form_tag', 'post_form_autocomplete_off' );
+
+/**
+ * Remove single-use URL parameters and create canonical link based on new URL.
+ *
+ * Remove specific query string parameters from a URL, create the canonical link,
+ * put it in the admin header, and change the current URL to match.
+ *
+ * @since 4.2.0
+ */
+function wp_admin_canonical_url() {
+       $removable_query_args = array(
+               'message', 'settings-updated', 'saved',
+               'update', 'updated', 'activated',
+               'activate', 'deactivate', 'locked',
+               'deleted', 'trashed', 'untrashed',
+               'enabled', 'disabled', 'skipped',
+               'spammed', 'unspammed',
+       );
+
+       /**
+        * Filter the list of URL parameters to remove.
+        *
+        * @since 4.2.0
+        *
+        * @param array $removable_query_args An array of parameters to remove from the URL.
+        */
+       $removable_query_args = apply_filters( 'removable_query_args', $removable_query_args );
+
+       if ( empty( $removable_query_args ) ) {
+               return;
+       }
+
+       // Ensure we're using an absolute URL.
+       $current_url  = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
+       $filtered_url = remove_query_arg( $removable_query_args, $current_url );
+       ?>
+       <link id="wp-admin-canonical" rel="canonical" href="<?php echo esc_url( $filtered_url ); ?>" />
+       <script>
+               if ( window.history.replaceState ) {
+                       window.history.replaceState( null, null, document.getElementById( 'wp-admin-canonical' ).href + window.location.hash );
+               }
+       </script>
+<?php
+}
+add_action( 'admin_head', 'wp_admin_canonical_url' );
index 44e2a82b2043f3c65ca545171cbaaeb56e7eb8e8..6a443dee61b59d5ac31d15ccb94319b4e31c0d63 100644 (file)
@@ -53,7 +53,6 @@ function activate_sitewide_plugin() {
  */
 function deactivate_sitewide_plugin( $plugin = false ) {
        _deprecated_function(__FUNCTION__, '3.0', 'deactivate_plugin()' );
-       return;
 }
 
 /**
index a9c62bb54b93d6d47b2dbb1dae8d827cfe4de0d7..ecc9f51f0ac20b3d94e17ab300b2645174a29065 100644 (file)
@@ -136,7 +136,7 @@ function wpmu_delete_blog( $blog_id, $drop = false ) {
                $index = 0;
 
                while ( $index < count( $stack ) ) {
-                       # Get indexed directory from stack
+                       // Get indexed directory from stack
                        $dir = $stack[$index];
 
                        $dh = @opendir( $dir );
@@ -145,10 +145,11 @@ function wpmu_delete_blog( $blog_id, $drop = false ) {
                                        if ( $file == '.' || $file == '..' )
                                                continue;
 
-                                       if ( @is_dir( $dir . DIRECTORY_SEPARATOR . $file ) )
+                                       if ( @is_dir( $dir . DIRECTORY_SEPARATOR . $file ) ) {
                                                $stack[] = $dir . DIRECTORY_SEPARATOR . $file;
-                                       else if ( @is_file( $dir . DIRECTORY_SEPARATOR . $file ) )
+                                       } elseif ( @is_file( $dir . DIRECTORY_SEPARATOR . $file ) ) {
                                                @unlink( $dir . DIRECTORY_SEPARATOR . $file );
+                                       }
                                }
                                @closedir( $dh );
                        }
@@ -252,10 +253,11 @@ function update_option_new_admin_email( $old_value, $value ) {
        );
        update_option( 'adminhash', $new_admin_email );
 
-       $email_text = __( 'Dear user,
+       $email_text = __( 'Howdy ###USERNAME###,
 
 You recently requested to have the administration email address on
 your site changed.
+
 If this is correct, please click on the following link to change it:
 ###ADMIN_URL###
 
@@ -272,7 +274,8 @@ All at ###SITENAME###
         * Filter the email text sent when the site admin email is changed.
         *
         * The following strings have a special meaning and will get replaced dynamically:
-        * ###ADMIN_URL### The link to click on to confirm the email change. Required otherwise this functunalty is will break.
+        * ###USERNAME###  The current user's username.
+        * ###ADMIN_URL### The link to click on to confirm the email change.
         * ###EMAIL###     The new email.
         * ###SITENAME###  The name of the site.
         * ###SITEURL###   The URL to the site.
@@ -284,6 +287,7 @@ All at ###SITENAME###
         */
        $content = apply_filters( 'new_admin_email_content', $email_text, $new_admin_email );
 
+       $content = str_replace( '###USERNAME###', $current_user->user_login, $content );
        $content = str_replace( '###ADMIN_URL###', esc_url( admin_url( 'options.php?adminhash='.$hash ) ), $content );
        $content = str_replace( '###EMAIL###', $value, $content );
        $content = str_replace( '###SITENAME###', get_site_option( 'site_name' ), $content );
@@ -330,9 +334,10 @@ function send_confirmation_on_profile_email() {
                                );
                update_option( $current_user->ID . '_new_email', $new_user_email );
 
-               $email_text = __( 'Dear user,
+               $email_text = __( 'Howdy ###USERNAME###,
 
 You recently requested to have the email address on your account changed.
+
 If this is correct, please click on the following link to change it:
 ###ADMIN_URL###
 
@@ -349,10 +354,11 @@ All at ###SITENAME###
                 * Filter the email text sent when a user changes emails.
                 *
                 * The following strings have a special meaning and will get replaced dynamically:
-                * ###ADMIN_URL### The link to click on to confirm the email change. Required otherwise this functunalty is will break.
-                * ###EMAIL### The new email.
-                * ###SITENAME### The name of the site.
-                * ###SITEURL### The URL to the site.
+                * ###USERNAME###  The current user's username.
+                * ###ADMIN_URL### The link to click on to confirm the email change.
+                * ###EMAIL###     The new email.
+                * ###SITENAME###  The name of the site.
+                * ###SITEURL###   The URL to the site.
                 *
                 * @since MU
                 *
@@ -361,6 +367,7 @@ All at ###SITENAME###
                 */
                $content = apply_filters( 'new_user_email_content', $email_text, $new_user_email );
 
+               $content = str_replace( '###USERNAME###', $current_user->user_login, $content );
                $content = str_replace( '###ADMIN_URL###', esc_url( admin_url( 'profile.php?newuseremail='.$hash ) ), $content );
                $content = str_replace( '###EMAIL###', $_POST['email'], $content);
                $content = str_replace( '###SITENAME###', get_site_option( 'site_name' ), $content );
@@ -469,8 +476,11 @@ function upload_space_setting( $id ) {
 
        ?>
        <tr>
-               <th><?php _e( 'Site Upload Space Quota '); ?></th>
-               <td><input type="number" step="1" min="0" style="width: 100px" name="option[blog_upload_space]" value="<?php echo $quota; ?>" /> <?php _e( 'MB (Leave blank for network default)' ); ?></td>
+               <th><label for="blog-upload-space-number"><?php _e( 'Site Upload Space Quota' ); ?></label></th>
+               <td>
+                       <input type="number" step="1" min="0" style="width: 100px" name="option[blog_upload_space]" id="blog-upload-space-number" aria-describedby="blog-upload-space-desc" value="<?php echo $quota; ?>" />
+                       <span id="blog-upload-space-desc"><span class="screen-reader-text"><?php _e( 'Size in megabytes' ); ?></span> <?php _e( 'MB (Leave blank for network default)' ); ?></span>
+               </td>
        </tr>
        <?php
 }
@@ -586,10 +596,10 @@ function format_code_lang( $code = '' ) {
  *
  * @since 3.0.0
  *
- * @param $term     The term.
- * @param $taxonomy The taxonomy for $term. Should be 'category' or 'post_tag', as these are
- *                  the only taxonomies which are processed by this function; anything else
- *                  will be returned untouched.
+ * @param object $term     The term.
+ * @param string $taxonomy The taxonomy for $term. Should be 'category' or 'post_tag', as these are
+ *                         the only taxonomies which are processed by this function; anything else
+ *                         will be returned untouched.
  * @return object|array Returns `$term`, after filtering the 'slug' field with {@see sanitize_title()}
  *                      if $taxonomy is 'category' or 'post_tag'.
  */
@@ -624,7 +634,7 @@ function _access_denied_splash() {
        $blog_name = get_bloginfo( 'name' );
 
        if ( empty( $blogs ) )
-               wp_die( sprintf( __( 'You attempted to access the "%1$s" dashboard, but you do not currently have privileges on this site. If you believe you should be able to access the "%1$s" dashboard, please contact your network administrator.' ), $blog_name ) );
+               wp_die( sprintf( __( 'You attempted to access the "%1$s" dashboard, but you do not currently have privileges on this site. If you believe you should be able to access the "%1$s" dashboard, please contact your network administrator.' ), $blog_name ), 403 );
 
        $output = '<p>' . sprintf( __( 'You attempted to access the "%1$s" dashboard, but you do not currently have privileges on this site. If you believe you should be able to access the "%1$s" dashboard, please contact your network administrator.' ), $blog_name ) . '</p>';
        $output .= '<p>' . __( 'If you reached this screen by accident and meant to visit one of your own sites, here are some shortcuts to help you find your way.' ) . '</p>';
@@ -642,7 +652,7 @@ function _access_denied_splash() {
 
        $output .= '</table>';
 
-       wp_die( $output );
+       wp_die( $output, 403 );
 }
 add_action( 'admin_page_access_denied', '_access_denied_splash', 99 );
 
@@ -777,7 +787,7 @@ function choose_primary_blog() {
        <table class="form-table">
        <tr>
        <?php /* translators: My sites label */ ?>
-               <th scope="row"><?php _e( 'Primary Site' ); ?></th>
+               <th scope="row"><label for="primary_blog"><?php _e( 'Primary Site' ); ?></label></th>
                <td>
                <?php
                $all_blogs = get_blogs_of_user( get_current_user_id() );
@@ -785,7 +795,7 @@ function choose_primary_blog() {
                if ( count( $all_blogs ) > 1 ) {
                        $found = false;
                        ?>
-                       <select name="primary_blog">
+                       <select name="primary_blog" id="primary_blog">
                                <?php foreach( (array) $all_blogs as $blog ) {
                                        if ( $primary_blog == $blog->userblog_id )
                                                $found = true;
@@ -794,11 +804,11 @@ function choose_primary_blog() {
                        </select>
                        <?php
                        if ( !$found ) {
-                               $blog = array_shift( $all_blogs );
+                               $blog = reset( $all_blogs );
                                update_user_meta( get_current_user_id(), 'primary_blog', $blog->userblog_id );
                        }
                } elseif ( count( $all_blogs ) == 1 ) {
-                       $blog = array_shift( $all_blogs );
+                       $blog = reset( $all_blogs );
                        echo $blog->domain;
                        if ( $primary_blog != $blog->userblog_id ) // Set the primary blog again if it's out of sync with blog list.
                                update_user_meta( get_current_user_id(), 'primary_blog', $blog->userblog_id );
@@ -955,9 +965,7 @@ function can_edit_network( $site_id ) {
 function _thickbox_path_admin_subfolder() {
 ?>
 <script type="text/javascript">
-//<![CDATA[
 var tb_pathToImage = "<?php echo includes_url( 'js/thickbox/loadingAnimation.gif', 'relative' ); ?>";
-//]]>
 </script>
 <?php
 }
index f8adbf26ffba831613101ab81bf8f1df8ed5185c..9575297463c7ca61df7c10bf1a051c4c023c5e79 100644 (file)
@@ -186,11 +186,11 @@ class Walker_Nav_Menu_Edit extends Walker_Nav_Menu {
                                <p class="field-move hide-if-no-js description description-wide">
                                        <label>
                                                <span><?php _e( 'Move' ); ?></span>
-                                               <a href="#" class="menus-move-up"><?php _e( 'Up one' ); ?></a>
-                                               <a href="#" class="menus-move-down"><?php _e( 'Down one' ); ?></a>
-                                               <a href="#" class="menus-move-left"></a>
-                                               <a href="#" class="menus-move-right"></a>
-                                               <a href="#" class="menus-move-top"><?php _e( 'To the top' ); ?></a>
+                                               <a href="#" class="menus-move menus-move-up" data-dir="up"><?php _e( 'Up one' ); ?></a>
+                                               <a href="#" class="menus-move menus-move-down" data-dir="down"><?php _e( 'Down one' ); ?></a>
+                                               <a href="#" class="menus-move menus-move-left" data-dir="left"></a>
+                                               <a href="#" class="menus-move menus-move-right" data-dir="right"></a>
+                                               <a href="#" class="menus-move menus-move-top" data-dir="top"><?php _e( 'To the top' ); ?></a>
                                        </label>
                                </p>
 
@@ -444,7 +444,7 @@ function _wp_ajax_menu_quick_search( $request = array() ) {
 function wp_nav_menu_setup() {
        // Register meta boxes
        wp_nav_menu_post_type_meta_boxes();
-       add_meta_box( 'add-custom-links', __( 'Links' ), 'wp_nav_menu_item_link_meta_box', 'nav-menus', 'side', 'default' );
+       add_meta_box( 'add-custom-links', __( 'Custom Links' ), 'wp_nav_menu_item_link_meta_box', 'nav-menus', 'side', 'default' );
        wp_nav_menu_taxonomy_meta_boxes();
 
        // Register advanced menu items (columns)
@@ -1252,7 +1252,7 @@ add_action('admin_head-nav-menus.php', '_wp_delete_orphaned_draft_menu_items');
  */
 function wp_nav_menu_update_menu_items ( $nav_menu_selected_id, $nav_menu_selected_title ) {
        $unsorted_menu_items = wp_get_nav_menu_items( $nav_menu_selected_id, array( 'orderby' => 'ID', 'output' => ARRAY_A, 'output_key' => 'ID', 'post_status' => 'draft,publish' ) );
-
+       $messages = array();
        $menu_items = array();
        // Index menu items by db ID
        foreach ( $unsorted_menu_items as $_item )
@@ -1317,7 +1317,7 @@ function wp_nav_menu_update_menu_items ( $nav_menu_selected_id, $nav_menu_select
        /** This action is documented in wp-includes/nav-menu.php */
        do_action( 'wp_update_nav_menu', $nav_menu_selected_id );
 
-       $messages[] = '<div id="message" class="updated"><p>' . sprintf( __( '<strong>%1$s</strong> has been updated.' ), $nav_menu_selected_title ) . '</p></div>';
+       $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . sprintf( __( '<strong>%1$s</strong> has been updated.' ), $nav_menu_selected_title ) . '</p></div>';
        unset( $menu_items, $unsorted_menu_items );
 
        return $messages;
index 3031341961da0e9cc5639ce1239f747e723fcd84..b8cf32f021eaba71ac27d6c1ba9176b1ac78b3aa 100644 (file)
@@ -70,18 +70,18 @@ function plugins_api($action, $args = null) {
                if ( $ssl = wp_http_supports( array( 'ssl' ) ) )
                        $url = set_url_scheme( $url, 'https' );
 
-               $args = array(
+               $http_args = array(
                        'timeout' => 15,
                        'body' => array(
                                'action' => $action,
                                'request' => serialize( $args )
                        )
                );
-               $request = wp_remote_post( $url, $args );
+               $request = wp_remote_post( $url, $http_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="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 );
+                       $request = wp_remote_post( $http_url, $http_args );
                }
 
                if ( is_wp_error($request) ) {
@@ -176,7 +176,7 @@ function install_search_form( $type_selector = true ) {
                $input_attrs = 'class="wp-filter-search" placeholder="' . esc_attr__( 'Search Plugins' ) . '" ';
        }
 
-       ?><form class="search-form search-plugins" method="get" action="">
+       ?><form class="search-form search-plugins" method="get">
                <input type="hidden" name="tab" value="search" />
                <?php if ( $type_selector ) : ?>
                <select name="type" id="typeselector">
@@ -195,10 +195,8 @@ function install_search_form( $type_selector = true ) {
 /**
  * Upload from zip
  * @since 2.8.0
- *
- * @param integer $page
  */
-function install_plugins_upload( $page = 1 ) {
+function install_plugins_upload() {
 ?>
 <div class="upload-plugin">
        <p class="install-help"><?php _e('If you have a plugin in a .zip format, you may install it by uploading it here.'); ?></p>
@@ -211,7 +209,7 @@ function install_plugins_upload( $page = 1 ) {
 </div>
 <?php
 }
-add_action('install_plugins_upload', 'install_plugins_upload', 10, 1);
+add_action('install_plugins_upload', 'install_plugins_upload' );
 
 /**
  * Show a username form for the favorites page
@@ -222,7 +220,7 @@ function install_plugins_favorites_form() {
        $user = ! empty( $_GET['user'] ) ? wp_unslash( $_GET['user'] ) : get_user_option( 'wporg_favorites' );
        ?>
        <p class="install-help"><?php _e( 'If you have marked plugins as favorites on WordPress.org, you can browse them here.' ); ?></p>
-       <form method="get" action="">
+       <form method="get">
                <input type="hidden" name="tab" value="favorites" />
                <p>
                        <label for="user"><?php _e( 'Your WordPress.org username:' ); ?></label>
@@ -253,7 +251,7 @@ function display_plugins_table() {
        }
 
        ?>
-       <form id="plugin-filter" action="" method="post">
+       <form id="plugin-filter" method="post">
                <?php $wp_list_table->display(); ?>
        </form>
        <?php
@@ -278,6 +276,7 @@ function install_plugin_install_status($api, $loop = false) {
        // Default to a "new" plugin
        $status = 'install';
        $url = false;
+       $update_file = false;
 
        /*
         * Check to see if this plugin is known to be installed,
@@ -305,7 +304,8 @@ function install_plugin_install_status($api, $loop = false) {
                                        $url = wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=' . $api->slug), 'install-plugin_' . $api->slug);
                        } else {
                                $key = array_keys( $installed_plugin );
-                               $key = array_shift( $key ); //Use the first plugin regardless of the name, Could have issues for multiple-plugins in one directory if they share different version numbers
+                               $key = reset( $key ); //Use the first plugin regardless of the name, Could have issues for multiple-plugins in one directory if they share different version numbers
+                               $update_file = $api->slug . '/' . $key;
                                if ( version_compare($api->version, $installed_plugin[ $key ]['Version'], '=') ){
                                        $status = 'latest_installed';
                                } elseif ( version_compare($api->version, $installed_plugin[ $key ]['Version'], '<') ) {
@@ -329,7 +329,8 @@ function install_plugin_install_status($api, $loop = false) {
        if ( isset($_GET['from']) )
                $url .= '&amp;from=' . urlencode( wp_unslash( $_GET['from'] ) );
 
-       return compact('status', 'url', 'version');
+       $file = $update_file;
+       return compact( 'status', 'url', 'version', 'file' );
 }
 
 /**
@@ -347,7 +348,12 @@ function install_plugin_information() {
        $api = plugins_api( 'plugin_information', array(
                'slug' => wp_unslash( $_REQUEST['plugin'] ),
                'is_ssl' => is_ssl(),
-               'fields' => array( 'banners' => true, 'reviews' => true )
+               'fields' => array(
+                       'banners' => true,
+                       'reviews' => true,
+                       'downloaded' => false,
+                       'active_installs' => true
+               )
        ) );
 
        if ( is_wp_error( $api ) ) {
@@ -390,7 +396,7 @@ function install_plugin_information() {
        $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 );
-               $section = array_shift( $section_titles );
+               $section = reset( $section_titles );
        }
 
        iframe_header( __( 'Plugin Install' ) );
@@ -439,6 +445,8 @@ function install_plugin_information() {
 
        echo "</div>\n";
 
+       $date_format = __( 'M j, Y @ H:i' );
+       $last_updated_timestamp = strtotime( $api->last_updated );
        ?>
        <div id="<?php echo $_tab; ?>-content" class='<?php echo $_with_banner; ?>'>
        <div class="fyi">
@@ -448,15 +456,21 @@ function install_plugin_information() {
                <?php } if ( ! empty( $api->author ) ) { ?>
                        <li><strong><?php _e( 'Author:' ); ?></strong> <?php echo links_add_target( $api->author, '_blank' ); ?></li>
                <?php } 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 ) ) ); ?>
+                       <li><strong><?php _e( 'Last Updated:' ); ?></strong> <span title="<?php echo esc_attr( date_i18n( $date_format, $last_updated_timestamp ) ); ?>">
+                               <?php printf( __( '%s ago' ), human_time_diff( $last_updated_timestamp ) ); ?>
                        </span></li>
                <?php } if ( ! empty( $api->requires ) ) { ?>
                        <li><strong><?php _e( 'Requires WordPress Version:' ); ?></strong> <?php printf( __( '%s or higher' ), $api->requires ); ?></li>
                <?php } if ( ! empty( $api->tested ) ) { ?>
                        <li><strong><?php _e( 'Compatible up to:' ); ?></strong> <?php echo $api->tested; ?></li>
-               <?php } 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 } if ( ! empty( $api->active_installs ) ) { ?>
+                       <li><strong><?php _e( 'Active Installs:' ); ?></strong> <?php
+                               if ( $api->active_installs >= 1000000 ) {
+                                       _ex( '1+ Million', 'Active plugin installs' );
+                               } else {
+                                       echo number_format_i18n( $api->active_installs ) . '+';
+                               }
+                       ?></li>
                <?php } 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 } if ( ! empty( $api->homepage ) ) { ?>
@@ -517,7 +531,7 @@ function install_plugin_information() {
        <?php
                if ( ! empty( $api->tested ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->tested ) ), $api->tested, '>' ) ) {
                        echo '<div class="notice notice-warning"><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, '<' ) ) {
+               } elseif ( ! empty( $api->requires ) && version_compare( substr( $GLOBALS['wp_version'], 0, strlen( $api->requires ) ), $api->requires, '<' ) ) {
                        echo '<div class="notice notice-warning"><p>' . __('<strong>Warning:</strong> This plugin has <strong>not been marked as compatible</strong> with your version of WordPress.') . '</p></div>';
                }
 
@@ -547,7 +561,7 @@ function install_plugin_information() {
                                break;
                        case 'update_available':
                                if ( $status['url'] ) {
-                                       echo '<a class="button button-primary right" href="' . $status['url'] . '" target="_parent">' . __( 'Install Update Now' ) .'</a>';
+                                       echo '<a data-slug="' . esc_attr( $api->slug ) . '" id="plugin_update_from_iframe" class="button button-primary right" href="' . $status['url'] . '" target="_parent">' . __( 'Install Update Now' ) .'</a>';
                                }
                                break;
                        case 'newer_installed':
index e2e37761d8b872e635089cdb48dbda9d0aad82f1..bb16117fb7d192efb9b5924e1331459324164834 100644 (file)
@@ -22,7 +22,7 @@
  *     Author URI: Link to the author's web site
  *     Version: Must be set in the plugin for WordPress 2.3+
  *     Text Domain: Optional. Unique identifier, should be same as the one used in
- *             plugin_text_domain()
+ *             load_plugin_textdomain()
  *     Domain Path: Optional. Only useful if the translations are located in a
  *             folder above the plugin's base path. For example, if .mo files are
  *             located in the locale folder then Domain Path will be "/locale/" and
@@ -805,9 +805,6 @@ function delete_plugins( $plugins, $deprecated = '' ) {
 
        $plugins_dir = trailingslashit( $plugins_dir );
 
-       $translations_dir = $wp_filesystem->wp_lang_dir();
-       $translations_dir = trailingslashit( $translations_dir );
-
        $plugin_translations = wp_get_installed_translations( 'plugins' );
 
        $errors = array();
@@ -884,7 +881,7 @@ function validate_active_plugins() {
        }
 
        if ( empty( $plugins ) )
-               return;
+               return array();
 
        $invalid = array();
 
@@ -1542,11 +1539,10 @@ function get_admin_page_parent( $parent = '' ) {
                        } elseif ( $submenu_array[2] == $pagenow && empty($typenow) && ( empty($parent_file) || false === strpos($parent_file, '?') ) ) {
                                $parent_file = $parent;
                                return $parent;
-                       } else
-                               if ( isset( $plugin_page ) && ($plugin_page == $submenu_array[2] ) ) {
-                                       $parent_file = $parent;
-                                       return $parent;
-                               }
+                       } elseif ( isset( $plugin_page ) && ($plugin_page == $submenu_array[2] ) ) {
+                               $parent_file = $parent;
+                               return $parent;
+                       }
                }
        }
 
@@ -1576,11 +1572,10 @@ function get_admin_page_title() {
                                if ( $menu_array[2] == $pagenow ) {
                                        $title = $menu_array[3];
                                        return $menu_array[3];
-                               } else
-                                       if ( isset( $plugin_page ) && ($plugin_page == $menu_array[2] ) && ($hook == $menu_array[3] ) ) {
-                                               $title = $menu_array[3];
-                                               return $menu_array[3];
-                                       }
+                               } elseif ( isset( $plugin_page ) && ($plugin_page == $menu_array[2] ) && ($hook == $menu_array[3] ) ) {
+                                       $title = $menu_array[3];
+                                       return $menu_array[3];
+                               }
                        } else {
                                $title = $menu_array[0];
                                return $title;
@@ -1647,12 +1642,12 @@ function get_plugin_page_hookname( $plugin_page, $parent_page ) {
 
        $page_type = 'admin';
        if ( empty ( $parent_page ) || 'admin.php' == $parent_page || isset( $admin_page_hooks[$plugin_page] ) ) {
-               if ( isset( $admin_page_hooks[$plugin_page] ) )
+               if ( isset( $admin_page_hooks[$plugin_page] ) ) {
                        $page_type = 'toplevel';
-               else
-                       if ( isset( $admin_page_hooks[$parent] ))
-                               $page_type = $admin_page_hooks[$parent];
-       } else if ( isset( $admin_page_hooks[$parent] ) ) {
+               } elseif ( isset( $admin_page_hooks[$parent] )) {
+                       $page_type = $admin_page_hooks[$parent];
+               }
+       } elseif ( isset( $admin_page_hooks[$parent] ) ) {
                $page_type = $admin_page_hooks[$parent];
        }
 
@@ -1713,7 +1708,7 @@ function user_can_access_admin_page() {
                                        return true;
                                else
                                        return false;
-                       } else if ( $submenu_array[2] == $pagenow ) {
+                       } elseif ( $submenu_array[2] == $pagenow ) {
                                if ( current_user_can( $submenu_array[1] ))
                                        return true;
                                else
index 49060309222acf092aabd8220eb86a7db2f25e6c..9356ace1aaa370ff1edb0dd5f58301766e3aac3b 100644 (file)
@@ -314,6 +314,52 @@ function edit_post( $post_data = null ) {
                $post_data = apply_filters( 'attachment_fields_to_save', $post_data, $attachment_data );
        }
 
+       // Convert taxonomy input to term IDs, to avoid ambiguity.
+       if ( isset( $post_data['tax_input'] ) ) {
+               foreach ( (array) $post_data['tax_input'] as $taxonomy => $terms ) {
+                       // Hierarchical taxonomy data is already sent as term IDs, so no conversion is necessary.
+                       if ( is_taxonomy_hierarchical( $taxonomy ) ) {
+                               continue;
+                       }
+
+                       /*
+                        * Assume that a 'tax_input' string is a comma-separated list of term names.
+                        * Some languages may use a character other than a comma as a delimiter, so we standardize on
+                        * commas before parsing the list.
+                        */
+                       if ( ! is_array( $terms ) ) {
+                               $comma = _x( ',', 'tag delimiter' );
+                               if ( ',' !== $comma ) {
+                                       $terms = str_replace( $comma, ',', $terms );
+                               }
+                               $terms = explode( ',', trim( $terms, " \n\t\r\0\x0B," ) );
+                       }
+
+                       $clean_terms = array();
+                       foreach ( $terms as $term ) {
+                               // Empty terms are invalid input.
+                               if ( empty( $term ) ) {
+                                       continue;
+                               }
+
+                               $_term = get_terms( $taxonomy, array(
+                                       'name' => $term,
+                                       'fields' => 'ids',
+                                       'hide_empty' => false,
+                               ) );
+
+                               if ( ! empty( $_term ) ) {
+                                       $clean_terms[] = intval( $_term[0] );
+                               } else {
+                                       // No existing term was found, so pass the string. A new term will be created.
+                                       $clean_terms[] = $term;
+                               }
+                       }
+
+                       $post_data['tax_input'][ $taxonomy ] = $clean_terms;
+               }
+       }
+
        add_meta( $post_ID );
 
        update_post_meta( $post_ID, '_edit_last', get_current_user_id() );
@@ -733,7 +779,7 @@ function write_post() {
 //
 
 /**
- * {@internal Missing Short Description}}
+ * Add post meta data defined in $_POST superglobal for post with given ID.
  *
  * @since 1.2.0
  *
@@ -772,7 +818,7 @@ function add_meta( $post_ID ) {
 } // add_meta
 
 /**
- * {@internal Missing Short Description}}
+ * Delete post meta data by meta ID.
  *
  * @since 1.2.0
  *
@@ -803,7 +849,7 @@ function get_meta_keys() {
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Get post meta data by meta ID.
  *
  * @since 2.1.0
  *
@@ -815,9 +861,7 @@ function get_post_meta_by_id( $mid ) {
 }
 
 /**
- * {@internal Missing Short Description}}
- *
- * Some postmeta stuff.
+ * Get meta data for the given post ID.
  *
  * @since 1.2.0
  *
@@ -833,7 +877,7 @@ function has_meta( $postid ) {
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Update post meta data by meta ID.
  *
  * @since 1.2.0
  *
@@ -995,6 +1039,7 @@ function wp_edit_posts_query( $q = false ) {
                $query['order'] = 'asc';
                $query['posts_per_page'] = -1;
                $query['posts_per_archive_page'] = -1;
+               $query['fields'] = 'id=>parent';
        }
 
        if ( ! empty( $q['show_sticky'] ) )
@@ -1006,7 +1051,7 @@ function wp_edit_posts_query( $q = false ) {
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Get all available post MIME types for a given post type.
  *
  * @since 2.5.0
  *
@@ -1021,32 +1066,34 @@ function get_available_post_mime_types($type = 'attachment') {
 }
 
 /**
- * Executes a query for attachments. An array of WP_Query arguments
- * can be passed in, which will override the arguments set by this function.
+ * Get the query variables for the current attachments request.
  *
- * @since 2.5.0
+ * @since 4.2.0
  *
- * @param array|bool $q Array of query variables to use to build the query or false to use $_GET superglobal.
- * @return array
+ * @param array|false $q Optional. Array of query variables to use to build the query or false
+ *                       to use $_GET superglobal. Default false.
+ * @return array The parsed query vars.
  */
-function wp_edit_attachments_query( $q = false ) {
-       if ( false === $q )
+function wp_edit_attachments_query_vars( $q = false ) {
+       if ( false === $q ) {
                $q = $_GET;
-
+       }
        $q['m']   = isset( $q['m'] ) ? (int) $q['m'] : 0;
        $q['cat'] = isset( $q['cat'] ) ? (int) $q['cat'] : 0;
        $q['post_type'] = 'attachment';
        $post_type = get_post_type_object( 'attachment' );
        $states = 'inherit';
-       if ( current_user_can( $post_type->cap->read_private_posts ) )
+       if ( current_user_can( $post_type->cap->read_private_posts ) ) {
                $states .= ',private';
+       }
 
        $q['post_status'] = isset( $q['status'] ) && 'trash' == $q['status'] ? 'trash' : $states;
        $q['post_status'] = isset( $q['attachment-filter'] ) && 'trash' == $q['attachment-filter'] ? 'trash' : $states;
 
        $media_per_page = (int) get_user_option( 'upload_per_page' );
-       if ( empty( $media_per_page ) || $media_per_page < 1 )
+       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.
@@ -1058,10 +1105,9 @@ function wp_edit_attachments_query( $q = false ) {
        $q['posts_per_page'] = apply_filters( 'upload_per_page', $media_per_page );
 
        $post_mime_types = get_post_mime_types();
-       $avail_post_mime_types = get_available_post_mime_types('attachment');
-
-       if ( isset($q['post_mime_type']) && !array_intersect( (array) $q['post_mime_type'], array_keys($post_mime_types) ) )
+       if ( isset($q['post_mime_type']) && !array_intersect( (array) $q['post_mime_type'], array_keys($post_mime_types) ) ) {
                unset($q['post_mime_type']);
+       }
 
        foreach( array_keys( $post_mime_types ) as $type ) {
                if ( isset( $q['attachment-filter'] ) && "post_mime_type:$type" == $q['attachment-filter'] ) {
@@ -1074,9 +1120,25 @@ function wp_edit_attachments_query( $q = false ) {
                $q['post_parent'] = 0;
        }
 
-       wp( $q );
+       return $q;
+}
 
-       return array($post_mime_types, $avail_post_mime_types);
+/**
+ * Executes a query for attachments. An array of WP_Query arguments
+ * can be passed in, which will override the arguments set by this function.
+ *
+ * @since 2.5.0
+ *
+ * @param array|false $q Array of query variables to use to build the query or false to use $_GET superglobal.
+ * @return array
+ */
+function wp_edit_attachments_query( $q = false ) {
+       wp( wp_edit_attachments_query_vars( $q ) );
+
+       $post_mime_types = get_post_mime_types();
+       $avail_post_mime_types = get_available_post_mime_types( 'attachment' );
+
+       return array( $post_mime_types, $avail_post_mime_types );
 }
 
 /**
@@ -1137,7 +1199,7 @@ function get_sample_permalink($id, $title = null, $name = null) {
        $original_name = $post->post_name;
 
        // Hack: get_permalink() would return ugly permalink for drafts, so we will fake that our post is published.
-       if ( in_array( $post->post_status, array( 'draft', 'pending' ) ) ) {
+       if ( in_array( $post->post_status, array( 'draft', 'pending', 'future' ) ) ) {
                $post->post_status = 'publish';
                $post->post_name = sanitize_title($post->post_name ? $post->post_name : $post->post_title, $post->ID);
        }
@@ -1159,9 +1221,11 @@ function get_sample_permalink($id, $title = null, $name = null) {
        // Handle page hierarchy
        if ( $ptype->hierarchical ) {
                $uri = get_page_uri($post);
-               $uri = untrailingslashit($uri);
-               $uri = strrev( stristr( strrev( $uri ), '/' ) );
-               $uri = untrailingslashit($uri);
+               if ( $uri ) {
+                       $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 );
@@ -1230,6 +1294,7 @@ function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) {
 
                $post_name_html = '<span id="editable-post-name" title="' . $title . '">' . $post_name_abridged . '</span>';
                $display_link = str_replace( array( '%pagename%', '%postname%' ), $post_name_html, urldecode( $permalink ) );
+               $pretty_permalink = str_replace( array( '%pagename%', '%postname%' ), $post_name, urldecode( $permalink ) );
 
                $return =  '<strong>' . __( 'Permalink:' ) . "</strong>\n";
                $return .= '<span id="sample-permalink" tabindex="-1">' . $display_link . "</span>\n";
@@ -1245,7 +1310,11 @@ function get_sample_permalink_html( $id, $new_title = null, $new_slug = null ) {
                        $preview_link = apply_filters( 'preview_post_link', add_query_arg( 'preview', 'true', $preview_link ), $post );
                        $return .= "<span id='view-post-btn'><a href='" . esc_url( $preview_link ) . "' class='button button-small' target='wp-preview-{$post->ID}'>$view_post</a></span>\n";
                } else {
-                       $return .= "<span id='view-post-btn'><a href='" . get_permalink( $post ) . "' class='button button-small'>$view_post</a></span>\n";
+                       if ( empty( $pretty_permalink ) ) {
+                               $pretty_permalink = $permalink;
+                       }
+
+                       $return .= "<span id='view-post-btn'><a href='" . $pretty_permalink . "' class='button button-small'>$view_post</a></span>\n";
                }
        }
 
@@ -1487,7 +1556,7 @@ function _admin_notice_post_locked() {
                        <div class="post-locked-avatar"></div>
                        <p class="wp-tab-first" tabindex="0">
                        <span class="currently-editing"></span><br />
-                       <span class="locked-saving hidden"><img src="images/wpspin_light-2x.gif" width="16" height="16" /> <?php _e('Saving revision...'); ?></span>
+                       <span class="locked-saving hidden"><img src="<?php echo esc_url( admin_url( 'images/spinner-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
@@ -1603,7 +1672,7 @@ function post_preview() {
        } else {
                $is_autosave = true;
 
-               if ( 'auto-draft' == $_POST['post_status'] )
+               if ( isset( $_POST['post_status'] ) && 'auto-draft' == $_POST['post_status'] )
                        $_POST['post_status'] = 'draft';
 
                $saved_post_id = wp_create_post_autosave( $post->ID );
index ae9f93a4f7040a1d7e401ecc0ab914907fd95561..67bb56c761bc6d5b51f86ed32ec2ea74cc794cca 100644 (file)
@@ -203,8 +203,8 @@ function wp_prepare_revisions_for_js( $post, $selected_revision_id, $from = null
                        'id'         => $revision->ID,
                        'title'      => get_the_title( $post->ID ),
                        'author'     => $authors[ $revision->post_author ],
-                       'date'       => date_i18n( __( 'M j, Y @ G:i' ), $modified ),
-                       'dateShort'  => date_i18n( _x( 'j M @ G:i', 'revision date short format' ), $modified ),
+                       'date'       => date_i18n( __( 'M j, Y @ H:i' ), $modified ),
+                       'dateShort'  => date_i18n( _x( 'j M @ H:i', 'revision date short format' ), $modified ),
                        'timeAgo'    => sprintf( __( '%s ago' ), human_time_diff( $modified_gmt, $now_gmt ) ),
                        'autosave'   => $autosave,
                        'current'    => $current,
@@ -221,8 +221,8 @@ function wp_prepare_revisions_for_js( $post, $selected_revision_id, $from = null
                        'id'         => $post->ID,
                        'title'      => get_the_title( $post->ID ),
                        'author'     => $authors[ $post->post_author ],
-                       'date'       => date_i18n( __( 'M j, Y @ G:i' ), strtotime( $post->modified ) ),
-                       'dateShort'  => date_i18n( _x( 'j M @ G:i', 'revision date short format' ), strtotime( $post->modified ) ),
+                       'date'       => date_i18n( __( 'M j, Y @ H:i' ), strtotime( $post->post_modified ) ),
+                       'dateShort'  => date_i18n( _x( 'j M @ H:i', 'revision date short format' ), strtotime( $post->post_modified ) ),
                        'timeAgo'    => sprintf( __( '%s ago' ), human_time_diff( strtotime( $post->post_modified_gmt ), $now_gmt ) ),
                        'autosave'   => false,
                        'current'    => true,
index 296a6992e1ba1575ec49939dcd24403dbb4888a2..c522ab56657dbf0ca85921478f30bc9a24a702d0 100644 (file)
@@ -44,6 +44,13 @@ function wp_get_db_schema( $scope = 'all', $blog_id = null ) {
        // Engage multisite if in the middle of turning it on from network.php.
        $is_multisite = is_multisite() || ( defined( 'WP_INSTALLING_NETWORK' ) && WP_INSTALLING_NETWORK );
 
+       /*
+        * Indexes have a maximum size of 767 bytes. Historically, we haven't need to be concerned about that.
+        * As of 4.2, however, we moved to utf8mb4, which uses 4 bytes per character. This means that an index which
+        * used to have room for floor(767/3) = 255 characters, now only has room for floor(767/4) = 191 characters.
+        */
+       $max_index_length = 191;
+
        // Blog specific tables.
        $blog_tables = "CREATE TABLE $wpdb->terms (
  term_id bigint(20) unsigned NOT NULL auto_increment,
@@ -51,8 +58,8 @@ function wp_get_db_schema( $scope = 'all', $blog_id = null ) {
  slug varchar(200) NOT NULL default '',
  term_group bigint(10) NOT NULL default 0,
  PRIMARY KEY  (term_id),
- KEY slug (slug),
- KEY name (name)
+ KEY slug (slug($max_index_length)),
+ KEY name (name($max_index_length))
 ) $charset_collate;
 CREATE TABLE $wpdb->term_taxonomy (
  term_taxonomy_id bigint(20) unsigned NOT NULL auto_increment,
@@ -79,7 +86,7 @@ CREATE TABLE $wpdb->commentmeta (
   meta_value longtext,
   PRIMARY KEY  (meta_id),
   KEY comment_id (comment_id),
-  KEY meta_key (meta_key)
+  KEY meta_key (meta_key($max_index_length))
 ) $charset_collate;
 CREATE TABLE $wpdb->comments (
   comment_ID bigint(20) unsigned NOT NULL auto_increment,
@@ -136,7 +143,7 @@ CREATE TABLE $wpdb->postmeta (
   meta_value longtext,
   PRIMARY KEY  (meta_id),
   KEY post_id (post_id),
-  KEY meta_key (meta_key)
+  KEY meta_key (meta_key($max_index_length))
 ) $charset_collate;
 CREATE TABLE $wpdb->posts (
   ID bigint(20) unsigned NOT NULL auto_increment,
@@ -163,7 +170,7 @@ CREATE TABLE $wpdb->posts (
   post_mime_type varchar(100) NOT NULL default '',
   comment_count bigint(20) NOT NULL default '0',
   PRIMARY KEY  (ID),
-  KEY post_name (post_name),
+  KEY post_name (post_name($max_index_length)),
   KEY type_status_date (post_type,post_status,post_date,ID),
   KEY post_parent (post_parent),
   KEY post_author (post_author)
@@ -213,7 +220,7 @@ CREATE TABLE $wpdb->posts (
   meta_value longtext,
   PRIMARY KEY  (umeta_id),
   KEY user_id (user_id),
-  KEY meta_key (meta_key)
+  KEY meta_key (meta_key($max_index_length))
 ) $charset_collate;\n";
 
        // Global tables
@@ -261,7 +268,7 @@ CREATE TABLE $wpdb->site (
   domain varchar(200) NOT NULL default '',
   path varchar(100) NOT NULL default '',
   PRIMARY KEY  (id),
-  KEY domain (domain,path)
+  KEY domain (domain(140),path(51))
 ) $charset_collate;
 CREATE TABLE $wpdb->sitemeta (
   meta_id bigint(20) NOT NULL auto_increment,
@@ -269,7 +276,7 @@ CREATE TABLE $wpdb->sitemeta (
   meta_key varchar(255) default NULL,
   meta_value longtext,
   PRIMARY KEY  (meta_id),
-  KEY meta_key (meta_key),
+  KEY meta_key (meta_key($max_index_length)),
   KEY site_id (site_id)
 ) $charset_collate;
 CREATE TABLE $wpdb->signups (
@@ -288,7 +295,7 @@ CREATE TABLE $wpdb->signups (
   KEY activation_key (activation_key),
   KEY user_email (user_email),
   KEY user_login_email (user_login,user_email),
-  KEY domain_path (domain,path)
+  KEY domain_path (domain(140),path(51))
 ) $charset_collate;";
 
        switch ( $scope ) {
@@ -910,7 +917,7 @@ function populate_network( $network_id = 1, $domain = '', $email = '', $site_nam
                $site_admins = get_site_option( 'site_admins' );
        }
 
-       $welcome_email = __( 'Dear User,
+       $welcome_email = __( 'Howdy USERNAME,
 
 Your new SITE_NAME site has been successfully set up at:
 BLOG_URL
index 0482d783e02473667bc48f82e322acccb663e32e..3572446d89e33af03f47168d1be91c230572db86 100644 (file)
@@ -368,14 +368,15 @@ final class WP_Screen {
         * @since 3.3.0
         * @access public
         *
-        * @param string $hook_name Optional. The hook name (also known as the hook suffix) used to determine the screen.
+        * @param string|WP_Screen $hook_name Optional. The hook name (also known as the hook suffix) used to determine the screen.
         *      Defaults to the current $hook_suffix global.
         * @return WP_Screen Screen object.
         */
        public static function get( $hook_name = '' ) {
 
-               if ( is_a( $hook_name, 'WP_Screen' ) )
+               if ( $hook_name instanceof WP_Screen ) {
                        return $hook_name;
+               }
 
                $post_type = $taxonomy = null;
                $in_admin = false;
@@ -1025,7 +1026,7 @@ final class WP_Screen {
 
                ?>
                <div id="screen-options-wrap" class="hidden" tabindex="-1" aria-label="<?php esc_attr_e('Screen Options Tab'); ?>">
-               <form id="adv-settings" action="" method="post">
+               <form id="adv-settings" method="post">
                <?php if ( isset( $wp_meta_boxes[ $this->id ] ) || $this->get_option( 'per_page' ) || ( $columns && empty( $columns['_title'] ) ) ) : ?>
                        <h5><?php _e( 'Show on screen' ); ?></h5>
                <?php
@@ -1126,20 +1127,26 @@ final class WP_Screen {
         * @since 3.3.0
         */
        public function render_per_page_options() {
-               if ( ! $this->get_option( 'per_page' ) )
+               if ( null === $this->get_option( 'per_page' ) ) {
                        return;
+               }
 
                $per_page_label = $this->get_option( 'per_page', 'label' );
+               if ( null === $per_page_label ) {
+                       $per_page_label = __( 'Number of items per page:' );
+               }
 
                $option = $this->get_option( 'per_page', 'option' );
-               if ( ! $option )
+               if ( ! $option ) {
                        $option = str_replace( '-', '_', "{$this->id}_per_page" );
+               }
 
                $per_page = (int) get_user_option( $option );
                if ( empty( $per_page ) || $per_page < 1 ) {
                        $per_page = $this->get_option( 'per_page', 'default' );
-                       if ( ! $per_page )
+                       if ( ! $per_page ) {
                                $per_page = 20;
+                       }
                }
 
                if ( 'edit_comments_per_page' == $option ) {
@@ -1164,16 +1171,14 @@ final class WP_Screen {
                ?>
                <div class="screen-options">
                        <?php if ( $per_page_label ) : ?>
+                               <label for="<?php echo esc_attr( $option ); ?>"><?php echo $per_page_label; ?></label>
                                <input type="number" step="1" min="1" max="999" class="screen-per-page" name="wp_screen_options[value]"
                                        id="<?php echo esc_attr( $option ); ?>" maxlength="3"
                                        value="<?php echo esc_attr( $per_page ); ?>" />
-                               <label for="<?php echo esc_attr( $option ); ?>">
-                                       <?php echo esc_html( $per_page_label ); ?>
-                               </label>
                        <?php endif;
 
                        echo get_submit_button( __( 'Apply' ), 'button', 'screen-options-apply', false ); ?>
-                       <input type='hidden' name='wp_screen_options[option]' value='<?php echo esc_attr($option); ?>' />
+                       <input type="hidden" name="wp_screen_options[option]" value="<?php echo esc_attr( $option ); ?>" />
                </div>
                <?php
        }
index c8c03848eca995135b7452a5cf59bdab9768f204..9529a2b24fa665831ce7879ecfe9e7c0430f3e64 100644 (file)
@@ -29,7 +29,7 @@ function category_exists( $cat_name, $parent = null ) {
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Get category object for given ID and 'edit' filter context.
  *
  * @since 2.0.0
  *
@@ -43,7 +43,7 @@ function get_category_to_edit( $id ) {
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Add a new category to the database if it does not already exist.
  *
  * @since 2.0.0
  *
@@ -69,12 +69,12 @@ function wp_create_category( $cat_name, $parent = 0 ) {
  */
 function wp_create_categories( $categories, $post_id = '' ) {
        $cat_ids = array ();
-       foreach ($categories as $category) {
-               if ($id = category_exists($category))
+       foreach ( $categories as $category ) {
+               if ( $id = category_exists( $category ) ) {
                        $cat_ids[] = $id;
-               else
-                       if ($id = wp_create_category($category))
-                               $cat_ids[] = $id;
+               } elseif ( $id = wp_create_category( $category ) ) {
+                       $cat_ids[] = $id;
+               }
        }
 
        if ( $post_id )
@@ -189,7 +189,7 @@ function wp_update_category($catarr) {
 //
 
 /**
- * {@internal Missing Short Description}}
+ * Check whether a post tag with a given name exists.
  *
  * @since 2.3.0
  *
@@ -201,7 +201,7 @@ function tag_exists($tag_name) {
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Add a new tag to the database if it does not already exist.
  *
  * @since 2.3.0
  *
@@ -213,11 +213,12 @@ function wp_create_tag($tag_name) {
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Get comma-separated list of tags available to edit.
  *
  * @since 2.3.0
  *
- * @param int $post_id
+ * @param int    $post_id
+ * @param string $taxonomy Optional. The taxonomy for which to retrieve terms. Default 'post_tag'.
  * @return string|bool|WP_Error
  */
 function get_tags_to_edit( $post_id, $taxonomy = 'post_tag' ) {
@@ -225,11 +226,12 @@ function get_tags_to_edit( $post_id, $taxonomy = 'post_tag' ) {
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Get comma-separated list of terms available to edit for the given post ID.
  *
  * @since 2.8.0
  *
- * @param int $post_id
+ * @param int    $post_id
+ * @param string $taxonomy Optional. The taxonomy for which to retrieve terms. Default 'post_tag'.
  * @return string|bool|WP_Error
  */
 function get_terms_to_edit( $post_id, $taxonomy = 'post_tag' ) {
@@ -272,11 +274,12 @@ function get_terms_to_edit( $post_id, $taxonomy = 'post_tag' ) {
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Add a new term to the database if it does not already exist.
  *
  * @since 2.8.0
  *
  * @param int|string $tag_name
+ * @param string $taxonomy Optional. The taxonomy for which to retrieve terms. Default 'post_tag'.
  * @return array|WP_Error
  */
 function wp_create_term($tag_name, $taxonomy = 'post_tag') {
index 1087837cd6eb1acbd1d930f2b85a3f941e680637..03ff4e7d9e099e2bfedcc02037f7a707452775fb 100644 (file)
@@ -82,17 +82,33 @@ class Walker_Category_Checklist extends Walker {
                } else {
                        $name = 'tax_input[' . $taxonomy . ']';
                }
+
                $args['popular_cats'] = empty( $args['popular_cats'] ) ? array() : $args['popular_cats'];
                $class = in_array( $category->term_id, $args['popular_cats'] ) ? ' class="popular-category"' : '';
 
                $args['selected_cats'] = empty( $args['selected_cats'] ) ? array() : $args['selected_cats'];
 
                /** 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, $args['selected_cats'] ), true, false ) .
-                       disabled( empty( $args['disabled'] ), false, false ) . ' /> ' .
-                       esc_html( apply_filters( 'the_category', $category->name ) ) . '</label>';
+               if ( ! empty( $args['list_only'] ) ) {
+                       $aria_cheched = 'false';
+                       $inner_class = 'category';
+
+                       if ( in_array( $category->term_id, $args['selected_cats'] ) ) {
+                               $inner_class .= ' selected';
+                               $aria_cheched = 'true';
+                       }
+
+                       $output .= "\n" . '<li' . $class . '>' .
+                               '<div class="' . $inner_class . '" data-term-id=' . $category->term_id .
+                               ' tabindex="0" role="checkbox" aria-checked="' . $aria_cheched . '">' .
+                               esc_html( apply_filters( 'the_category', $category->name ) ) . '</div>';
+               } else {
+                       $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, $args['selected_cats'] ), true, false ) .
+                               disabled( empty( $args['disabled'] ), false, false ) . ' /> ' .
+                               esc_html( apply_filters( 'the_category', $category->name ) ) . '</label>';
+               }
        }
 
        /**
@@ -113,21 +129,23 @@ class Walker_Category_Checklist extends Walker {
 }
 
 /**
- * Output an unordered list of checkbox input elements labelled
- * with category names.
+ * Output an unordered list of checkbox input elements labeled with category names.
  *
  * @since 2.5.1
  *
- * @todo Properly document optional arguments as such.
- *
  * @see wp_terms_checklist()
  *
- * @param int $post_id Mark categories associated with this post as checked. $selected_cats must not be an array.
- * @param int $descendants_and_self ID of the category to output along with its descendents.
- * @param bool|array $selected_cats List of categories to mark as checked.
- * @param bool|array $popular_cats Override the list of categories that receive the "popular-category" class.
- * @param object $walker Walker object to use to build the output.
- * @param bool $checked_ontop Move checked items out of the hierarchy and to the top of the list.
+ * @param int    $post_id              Optional. Post to generate a categories checklist for. Default 0.
+ *                                     $selected_cats must not be an array. Default 0.
+ * @param int    $descendants_and_self Optional. ID of the category to output along with its descendants.
+ *                                     Default 0.
+ * @param array  $selected_cats        Optional. List of categories to mark as checked. Default false.
+ * @param array  $popular_cats         Optional. List of categories to receive the "popular-category" class.
+ *                                     Default false.
+ * @param object $walker               Optional. Walker object to use to build the output.
+ *                                     Default is a Walker_Category_Checklist instance.
+ * @param bool   $checked_ontop        Optional. Whether to move checked items out of the hierarchy and to
+ *                                     the top of the list. Default true.
  */
 function wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false, $popular_cats = false, $walker = null, $checked_ontop = true ) {
        wp_terms_checklist( $post_id, array(
@@ -143,14 +161,25 @@ function wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $select
 /**
  * Output an unordered list of checkbox input elements labelled with term names.
  *
- * Taxonomy independent version of {@see wp_category_checklist()}.
+ * Taxonomy-independent version of wp_category_checklist().
  *
  * @since 3.0.0
  *
- * @todo Properly document optional default arguments.
- *
- * @param int   $post_id Post ID.
- * @param array $args    Arguments to form the terms checklist.
+ * @param int          $post_id Optional. Post ID. Default 0.
+ * @param array|string $args {
+ *     Optional. Array or string of arguments for generating a terms checklist. Default empty array.
+ *
+ *     @type int    $descendants_and_self ID of the category to output along with its descendants.
+ *                                        Default 0.
+ *     @type array  $selected_cats        List of categories to mark as checked. Default false.
+ *     @type array  $popular_cats         List of categories to receive the "popular-category" class.
+ *                                        Default false.
+ *     @type object $walker               Walker object to use to build the output.
+ *                                        Default is a Walker_Category_Checklist instance.
+ *     @type string $taxonomy             Taxonomy to generate the checklist for. Default 'category'.
+ *     @type bool   $checked_ontop        Whether to move checked items out of the hierarchy and to
+ *                                        the top of the list. Default true.
+ * }
  */
 function wp_terms_checklist( $post_id = 0, $args = array() ) {
        $defaults = array(
@@ -176,7 +205,7 @@ function wp_terms_checklist( $post_id = 0, $args = array() ) {
 
        $r = wp_parse_args( $params, $defaults );
 
-       if ( empty( $r['walker'] ) || ! is_a( $r['walker'], 'Walker' ) ) {
+       if ( empty( $r['walker'] ) || ! ( $r['walker'] instanceof Walker ) ) {
                $walker = new Walker_Category_Checklist;
        } else {
                $walker = $r['walker'];
@@ -190,6 +219,8 @@ function wp_terms_checklist( $post_id = 0, $args = array() ) {
        $tax = get_taxonomy( $taxonomy );
        $args['disabled'] = ! current_user_can( $tax->cap->assign_terms );
 
+       $args['list_only'] = ! empty( $r['list_only'] );
+
        if ( is_array( $r['selected_cats'] ) ) {
                $args['selected_cats'] = $r['selected_cats'];
        } elseif ( $post_id ) {
@@ -250,7 +281,7 @@ function wp_terms_checklist( $post_id = 0, $args = array() ) {
  * @since 2.5.0
  *
  * @param string $taxonomy Taxonomy to retrieve terms from.
- * @param int $default Unused.
+ * @param int $default Not used.
  * @param int $number Number of terms to retrieve. Defaults to 10.
  * @param bool $echo Optionally output the list as well. Defaults to true.
  * @return array List of popular term IDs.
@@ -301,11 +332,14 @@ function wp_popular_terms_checklist( $taxonomy, $default = 0, $number = 10, $ech
 function wp_link_category_checklist( $link_id = 0 ) {
        $default = 1;
 
+       $checked_categories = array();
+
        if ( $link_id ) {
                $checked_categories = wp_get_link_cats( $link_id );
                // No selected categories, strange
-               if ( ! count( $checked_categories ) )
+               if ( ! count( $checked_categories ) ) {
                        $checked_categories[] = $default;
+               }
        } else {
                $checked_categories[] = $default;
        }
@@ -325,13 +359,12 @@ function wp_link_category_checklist( $link_id = 0 ) {
        }
 }
 
-// adds hidden fields with the data for use in the inline editor for posts and pages
 /**
- * {@internal Missing Short Description}}
+ * Adds hidden fields with the data for use in the inline editor for posts and pages.
  *
  * @since 2.7.0
  *
- * @param WP_Post $post
+ * @param WP_Post $post Post object.
  */
 function get_inline_data($post) {
        $post_type_object = get_post_type_object($post->post_type);
@@ -408,8 +441,8 @@ function get_inline_data($post) {
  * @param string $mode
  * @param bool $table_row
  */
-function wp_comment_reply($position = '1', $checkbox = false, $mode = 'single', $table_row = true) {
-
+function wp_comment_reply( $position = 1, $checkbox = false, $mode = 'single', $table_row = true ) {
+       global $wp_list_table;
        /**
         * Filter the in-line comment reply-to form output in the Comments
         * list table.
@@ -432,14 +465,16 @@ function wp_comment_reply($position = '1', $checkbox = false, $mode = 'single',
                return;
        }
 
-       if ( $mode == 'single' ) {
-               $wp_list_table = _get_list_table('WP_Post_Comments_List_Table');
-       } else {
-               $wp_list_table = _get_list_table('WP_Comments_List_Table');
+       if ( ! $wp_list_table ) {
+               if ( $mode == 'single' ) {
+                       $wp_list_table = _get_list_table('WP_Post_Comments_List_Table');
+               } else {
+                       $wp_list_table = _get_list_table('WP_Comments_List_Table');
+               }
        }
 
 ?>
-<form method="get" action="">
+<form method="get">
 <?php if ( $table_row ) : ?>
 <table style="display:none;"><tbody id="com-reply"><tr id="replyrow" style="display:none;"><td colspan="<?php echo $wp_list_table->get_column_count(); ?>" class="colspanchange">
 <?php else : ?>
@@ -483,7 +518,6 @@ function wp_comment_reply($position = '1', $checkbox = false, $mode = 'single',
        <br class="clear" />
        </p>
 
-       <input type="hidden" name="user_ID" id="user_ID" value="<?php echo get_current_user_id(); ?>" />
        <input type="hidden" name="action" id="action" value="" />
        <input type="hidden" name="comment_ID" id="comment_ID" value="" />
        <input type="hidden" name="comment_post_ID" id="comment_post_ID" value="" />
@@ -577,17 +611,13 @@ function _list_meta_row( $entry, &$count ) {
        static $update_nonce = false;
 
        if ( is_protected_meta( $entry['meta_key'], 'post' ) )
-               return;
+               return '';
 
        if ( !$update_nonce )
                $update_nonce = wp_create_nonce( 'add-meta' );
 
        $r = '';
        ++ $count;
-       if ( $count % 2 )
-               $style = 'alternate';
-       else
-               $style = '';
 
        if ( is_serialized( $entry['meta_value'] ) ) {
                if ( is_serialized_string( $entry['meta_value'] ) ) {
@@ -596,7 +626,7 @@ function _list_meta_row( $entry, &$count ) {
                } else {
                        // This is a serialized array/object so we should NOT display it.
                        --$count;
-                       return;
+                       return '';
                }
        }
 
@@ -606,7 +636,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<tr id='meta-{$entry['meta_id']}'>";
        $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'>";
@@ -707,10 +737,10 @@ function meta_form( $post = null ) {
  *
  * @since 0.71
  *
- * @param int $edit      Accepts 1|true for editing the date, 0|false for adding the date.
- * @param int $for_post  Accepts 1|true for applying the date to a post, 0|false for a comment.
- * @param int $tab_index The tabindex attribute to add. Default 0.
- * @param int $multi     Optional. Whether the additional fields and buttons should be added.
+ * @param int|bool $edit      Accepts 1|true for editing the date, 0|false for adding the date.
+ * @param int|bool $for_post  Accepts 1|true for applying the date to a post, 0|false for a comment.
+ * @param int      $tab_index The tabindex attribute to add. Default 0.
+ * @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 ) {
@@ -842,9 +872,9 @@ function parent_dropdown( $default = 0, $parent = 0, $level = 0 ) {
  *
  * @since 2.1.0
  *
- * @param string $selected slug for the role that should be already selected
+ * @param string $selected Slug for the role that should be already selected.
  */
-function wp_dropdown_roles( $selected = false ) {
+function wp_dropdown_roles( $selected = '' ) {
        $p = '';
        $r = '';
 
@@ -1207,15 +1237,28 @@ function add_settings_section($id, $title, $callback, $page) {
  * values to show.
  *
  * @since 2.7.0
+ * @since 4.2.0 The `$class` argument was added.
  *
  * @global $wp_settings_fields Storage array of settings fields and info about their pages/sections
  *
- * @param string $id Slug-name to identify the field. Used in the 'id' attribute of tags.
- * @param string $title Formatted title of the field. Shown as the label for the field during output.
- * @param string $callback Function that fills the field with the desired form inputs. The function should echo its output.
- * @param string $page The slug-name of the settings page on which to show the section (general, reading, writing, ...).
- * @param string $section The slug-name of the section of the settings page in which to show the box (default, ...).
- * @param array $args Additional arguments
+ * @param string $id       Slug-name to identify the field. Used in the 'id' attribute of tags.
+ * @param string $title    Formatted title of the field. Shown as the label for the field
+ *                         during output.
+ * @param string $callback Function that fills the field with the desired form inputs. The
+ *                         function should echo its output.
+ * @param string $page     The slug-name of the settings page on which to show the section
+ *                         (general, reading, writing, ...).
+ * @param string $section  Optional. The slug-name of the section of the settings page
+ *                         in which to show the box. Default 'default'.
+ * @param array  $args {
+ *     Optional. Extra arguments used when outputting the field.
+ *
+ *     @type string $label_for When supplied, the setting title will be wrapped
+ *                             in a `<label>` element, its `for` attribute populated
+ *                             with this value.
+ *     @type string $class     CSS Class to be added to the `<tr>` element when the
+ *                             field is output.
+ * }
  */
 function add_settings_field($id, $title, $callback, $page, $section = 'default', $args = array()) {
        global $wp_settings_fields;
@@ -1288,11 +1331,20 @@ function do_settings_fields($page, $section) {
                return;
 
        foreach ( (array) $wp_settings_fields[$page][$section] as $field ) {
-               echo '<tr>';
-               if ( !empty($field['args']['label_for']) )
+               $class = '';
+
+               if ( ! empty( $field['args']['class'] ) ) {
+                       $class = ' class="' . esc_attr( $field['args']['class'] ) . '"';
+               }
+
+               echo "<tr{$class}>";
+
+               if ( ! empty( $field['args']['label_for'] ) ) {
                        echo '<th scope="row"><label for="' . esc_attr( $field['args']['label_for'] ) . '">' . $field['title'] . '</label></th>';
-               else
+               } else {
                        echo '<th scope="row">' . $field['title'] . '</th>';
+               }
+
                echo '<td>';
                call_user_func($field['callback'], $field['args']);
                echo '</td>';
@@ -1315,15 +1367,14 @@ function do_settings_fields($page, $section) {
  *
  * @since 3.0.0
  *
- * @todo Properly document optional arguments as such.
- *
  * @global array $wp_settings_errors Storage array of errors registered during this pageload
  *
  * @param string $setting Slug title of the setting to which this error applies
  * @param string $code    Slug-name to identify the error. Used as part of 'id' attribute in HTML output.
  * @param string $message The formatted message text to display to the user (will be shown inside styled
  *                        `<div>` and `<p>` tags).
- * @param string $type    The type of message it is, controls HTML class. Use 'error' or 'updated'.
+ * @param string $type    Optional. Message type, controls HTML class. Accepts 'error' or 'updated'.
+ *                        Default 'error'.
  */
 function add_settings_error( $setting, $code, $message, $type = 'error' ) {
        global $wp_settings_errors;
@@ -1431,7 +1482,7 @@ function settings_errors( $setting = '', $sanitize = false, $hide_on_update = fa
        $output = '';
        foreach ( $settings_errors as $key => $details ) {
                $css_id = 'setting-error-' . $details['code'];
-               $css_class = $details['type'] . ' settings-error';
+               $css_class = $details['type'] . ' settings-error notice is-dismissible';
                $output .= "<div id='$css_id' class='$css_class'> \n";
                $output .= "<p><strong>{$details['message']}</strong></p>";
                $output .= "</div> \n";
@@ -1515,7 +1566,6 @@ function _draft_or_post_title( $post = 0 ) {
  * should only be used when {@link the_search_query()} cannot.
  *
  * @since 2.7.0
- *
  */
 function _admin_search_query() {
        echo isset($_REQUEST['s']) ? esc_attr( wp_unslash( $_REQUEST['s'] ) ) : '';
@@ -1525,13 +1575,13 @@ function _admin_search_query() {
  * Generic Iframe header for use with Thickbox
  *
  * @since 2.7.0
- * @param string $title Title of the Iframe page.
- * @param bool $limit_styles Limit styles to colour-related styles only (unless others are enqueued).
  *
+ * @param string $title      Optional. Title of the Iframe page. Default empty.
+ * @param bool   $deprecated Not used.
  */
-function iframe_header( $title = '', $limit_styles = false ) {
+function iframe_header( $title = '', $deprecated = false ) {
        show_admin_bar( false );
-       global $hook_suffix, $current_user, $admin_body_class, $wp_locale;
+       global $hook_suffix, $admin_body_class, $wp_locale;
        $admin_body_class = preg_replace('/[^a-z0-9_-]+/i', '-', $hook_suffix);
 
        $current_screen = get_current_screen();
@@ -1544,7 +1594,6 @@ function iframe_header( $title = '', $limit_styles = false ) {
 wp_enqueue_style( 'colors' );
 ?>
 <script type="text/javascript">
-//<![CDATA[
 addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
 function tb_close(){var win=window.dialogArguments||opener||parent||top;win.tb_remove();}
 var ajaxurl = '<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>',
@@ -1554,7 +1603,6 @@ var ajaxurl = '<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>',
        thousandsSeparator = '<?php echo addslashes( $wp_locale->number_format['thousands_sep'] ); ?>',
        decimalPoint = '<?php echo addslashes( $wp_locale->number_format['decimal_point'] ); ?>',
        isRtl = <?php echo (int) is_rtl(); ?>;
-//]]>
 </script>
 <?php
 /** This action is documented in wp-admin/admin-header.php */
@@ -1591,13 +1639,11 @@ $admin_body_classes = apply_filters( 'admin_body_class', '' );
 ?>
 <body<?php if ( isset($GLOBALS['body_id']) ) echo ' id="' . $GLOBALS['body_id'] . '"'; ?> class="wp-admin wp-core-ui no-js iframe <?php echo $admin_body_classes . ' ' . $admin_body_class; ?>">
 <script type="text/javascript">
-//<![CDATA[
 (function(){
 var c = document.body.className;
 c = c.replace(/no-js/, 'js');
 document.body.className = c;
 })();
-//]]>
 </script>
 <?php
 }
@@ -1606,7 +1652,6 @@ document.body.className = c;
  * Generic Iframe footer for use with Thickbox
  *
  * @since 2.7.0
- *
  */
 function iframe_footer() {
        /*
@@ -1649,13 +1694,20 @@ function _post_states($post) {
        if ( is_sticky($post->ID) )
                $post_states['sticky'] = __('Sticky');
 
+       if ( get_option( 'page_on_front' ) == $post->ID ) {
+               $post_states['page_on_front'] = __( 'Front Page' );
+       }
+
+       if ( get_option( 'page_for_posts' ) == $post->ID ) {
+               $post_states['page_for_posts'] = __( 'Posts Page' );
+       }
+
        /**
-        * Filter the default post display states used in the Posts list table.
+        * 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 array $post_states An array of post display states.
         * @param int   $post        The post ID.
         */
        $post_states = apply_filters( 'display_post_states', $post_states, $post );
@@ -1724,7 +1776,6 @@ function _media_states( $post ) {
 function compression_test() {
 ?>
        <script type="text/javascript">
-       /* <![CDATA[ */
        var testCompression = {
                get : function(test) {
                        var x;
@@ -1742,7 +1793,7 @@ function compression_test() {
                                                h = x.getResponseHeader('Content-Encoding');
                                                testCompression.check(r, h, test);
                                        }
-                               }
+                               };
 
                                x.open('GET', ajaxurl + '?action=wp-compression-test&test='+test+'&'+(new Date()).getTime(), true);
                                x.send('');
@@ -1771,7 +1822,6 @@ function compression_test() {
                }
        };
        testCompression.check();
-       /* ]]> */
        </script>
 <?php
 }
@@ -1807,19 +1857,23 @@ function submit_button( $text = null, $type = 'primary', $name = 'submit', $wrap
  *
  * @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.
+ * @param string       $text             Optional. The text of the button. Default 'Save Changes'.
+ * @param string       $type             Optional. The type of button. Accepts 'primary', 'secondary',
+ *                                       or 'delete'. Default 'primary large'.
+ * @param string       $name             Optional. 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. Default 'submit'.
+ * @param bool         $wrap             Optional. True if the output button should be wrapped in a paragraph
+ *                                       tag, false otherwise. Default true.
+ * @param array|string $other_attributes Optional. 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"`. Other attributes can also be provided as a string such
+ *                                       as `tabindex="1"`, though the array format is typically cleaner.
+ *                                       Default empty.
+ * @return string Submit button HTML.
  */
-function get_submit_button( $text = null, $type = 'primary large', $name = 'submit', $wrap = true, $other_attributes = null ) {
+function get_submit_button( $text = '', $type = 'primary large', $name = 'submit', $wrap = true, $other_attributes = '' ) {
        if ( ! is_array( $type ) )
                $type = explode( ' ', $type );
 
@@ -1849,11 +1903,15 @@ function get_submit_button( $text = null, $type = 'primary large', $name = 'subm
                foreach ( $other_attributes as $attribute => $value ) {
                        $attributes .= $attribute . '="' . esc_attr( $value ) . '" '; // Trailing space is important
                }
-       } else if ( !empty( $other_attributes ) ) { // Attributes provided as a string
+       } elseif ( ! empty( $other_attributes ) ) { // Attributes provided as a string
                $attributes = $other_attributes;
        }
 
-       $button = '<input type="submit" name="' . esc_attr( $name ) . '" id="' . esc_attr( $id ) . '" class="' . esc_attr( $class );
+       // Don't output empty name and id attributes.
+       $name_attr = $name ? ' name="' . esc_attr( $name ) . '"' : '';
+       $id_attr = $id ? ' id="' . esc_attr( $id ) . '"' : '';
+
+       $button = '<input type="submit"' . $name_attr . $id_attr . ' class="' . esc_attr( $class );
        $button .= '" value="' . esc_attr( $text ) . '" ' . $attributes . ' />';
 
        if ( $wrap ) {
@@ -1905,6 +1963,8 @@ final class WP_Internal_Pointers {
         *
         * Individual pointers (e.g. wp390_widgets) can be disabled using the following:
         *     remove_action( 'admin_print_footer_scripts', array( 'WP_Internal_Pointers', 'pointer_wp390_widgets' ) );
+        *
+        * @param string $hook_suffix The current admin page.
         */
        public static function enqueue_scripts( $hook_suffix ) {
                /*
@@ -1970,7 +2030,6 @@ final class WP_Internal_Pointers {
 
                ?>
                <script type="text/javascript">
-               //<![CDATA[
                (function($){
                        var options = <?php echo wp_json_encode( $args ); ?>, setup;
 
@@ -1996,7 +2055,6 @@ final class WP_Internal_Pointers {
                                $(document).ready( setup );
 
                })( jQuery );
-               //]]>
                </script>
                <?php
        }
@@ -2074,6 +2132,8 @@ final class WP_Internal_Pointers {
         * Prevents new users from seeing existing 'new feature' pointers.
         *
         * @since 3.3.0
+        *
+        * @param int $user_id User ID.
         */
        public static function dismiss_pointers_for_new_users( $user_id ) {
                add_user_meta( $user_id, 'dismissed_wp_pointers', 'wp360_locks,wp390_widgets' );
@@ -2176,3 +2236,13 @@ function wp_star_rating( $args = array() ) {
        echo str_repeat( '<div class="star star-empty"></div>', $empty_stars);
        echo '</div>';
 }
+
+/**
+ * Output a notice when editing the page for posts (internal use only).
+ *
+ * @ignore
+ * @since 4.2.0
+ */
+function _wp_posts_page_notice() {
+       echo '<div class="notice notice-warning inline"><p>' . __( 'You are currently editing the page that shows your latest posts.' ) . '</p></div>';
+}
index 0a28e0fabd0a033c7dc6806718b7fcc954f6bc7e..ded1324dc78589006710dd3a49bc23bea40c7433 100644 (file)
@@ -57,7 +57,7 @@ function install_theme_search_form( $type_selector = true ) {
        if ( ! $type_selector )
                echo '<p class="install-help">' . __( 'Search for themes by keyword.' ) . '</p>';
        ?>
-<form id="search-themes" method="get" action="">
+<form id="search-themes" method="get">
        <input type="hidden" name="tab" value="search" />
        <?php if ( $type_selector ) : ?>
        <label class="screen-reader-text" for="typeselector"><?php _e('Type of search'); ?></label>
@@ -99,7 +99,7 @@ function install_themes_dashboard() {
 <h4><?php _e('Feature Filter') ?></h4>
 <p class="install-help"><?php _e( 'Find a theme based on specific features.' ); ?></p>
 
-<form method="get" action="">
+<form method="get">
        <input type="hidden" name="tab" value="search" />
        <?php
        $feature_list = get_theme_feature_list();
index 1bc7212bb14b58e2436aa37824c2157799dda2d3..4a9cfbc2030c16213ac26f0e6bda3c477c4cd141 100644 (file)
@@ -69,9 +69,6 @@ function delete_theme($stylesheet, $redirect = '') {
                return new WP_Error( 'could_not_remove_theme', sprintf( __( 'Could not fully remove the theme %s.' ), $stylesheet ) );
        }
 
-       $translations_dir = $wp_filesystem->wp_lang_dir();
-       $translations_dir = trailingslashit( $translations_dir );
-
        $theme_translations = wp_get_installed_translations( 'themes' );
 
        // Remove language files, silently.
@@ -149,8 +146,9 @@ function get_theme_update_available( $theme ) {
        if ( !isset($themes_update) )
                $themes_update = get_site_transient('update_themes');
 
-       if ( ! is_a( $theme, 'WP_Theme' ) )
+       if ( ! ( $theme instanceof WP_Theme ) ) {
                return false;
+       }
 
        $stylesheet = $theme->get_stylesheet();
 
@@ -167,7 +165,7 @@ function get_theme_update_available( $theme ) {
                        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="%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'] ) ) {
+                       } elseif ( empty( $update['package'] ) ) {
                                $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 {
@@ -361,19 +359,19 @@ function themes_api( $action, $args = null ) {
                if ( $ssl = wp_http_supports( array( 'ssl' ) ) )
                        $url = set_url_scheme( $url, 'https' );
 
-               $args = array(
+               $http_args = array(
                        'body' => array(
                                'action' => $action,
                                'request' => serialize( $args )
                        )
                );
-               $request = wp_remote_post( $url, $args );
+               $request = wp_remote_post( $url, $http_args );
 
                if ( $ssl && is_wp_error( $request ) ) {
                        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 );
+                       $request = wp_remote_post( $http_url, $http_args );
                }
 
                if ( is_wp_error($request) ) {
@@ -411,8 +409,26 @@ function themes_api( $action, $args = null ) {
 function wp_prepare_themes_for_js( $themes = null ) {
        $current_theme = get_stylesheet();
 
+       /**
+        * Filter theme data before it is prepared for JavaScript.
+        *
+        * Passing a non-empty array will result in wp_prepare_themes_for_js() returning
+        * early with that value instead.
+        *
+        * @since 4.2.0
+        *
+        * @param array      $prepared_themes An associative array of theme data. Default empty array.
+        * @param null|array $themes          An array of WP_Theme objects to prepare, if any.
+        * @param string     $current_theme   The current theme slug.
+        */
+       $prepared_themes = (array) apply_filters( 'pre_prepare_themes_for_js', array(), $themes, $current_theme );
+
+       if ( ! empty( $prepared_themes ) ) {
+               return $prepared_themes;
+       }
+
        // Make sure the current theme is listed first.
-       $prepared_themes = array( $current_theme => array() );
+       $prepared_themes[ $current_theme ] = array();
 
        if ( null === $themes ) {
                $themes = wp_get_themes( array( 'allowed' => true ) );
@@ -430,6 +446,9 @@ function wp_prepare_themes_for_js( $themes = null ) {
        }
 
        WP_Theme::sort_by_name( $themes );
+
+       $parents = array();
+
        foreach ( $themes as $theme ) {
                $slug = $theme->get_stylesheet();
                $encoded_slug = urlencode( $slug );
@@ -469,7 +488,7 @@ function wp_prepare_themes_for_js( $themes = null ) {
        }
 
        // Remove 'delete' action if theme has an active child
-       if ( isset( $parents ) && array_key_exists( $current_theme, $parents ) ) {
+       if ( ! empty( $parents ) && array_key_exists( $current_theme, $parents ) ) {
                unset( $prepared_themes[ $parents[ $current_theme ] ]['actions']['delete'] );
        }
 
@@ -483,5 +502,63 @@ function wp_prepare_themes_for_js( $themes = null ) {
         * @param array $prepared_themes Array of themes.
         */
        $prepared_themes = apply_filters( 'wp_prepare_themes_for_js', $prepared_themes );
-       return array_values( $prepared_themes );
+       $prepared_themes = array_values( $prepared_themes );
+       return array_filter( $prepared_themes );
+}
+
+/**
+ * Print JS templates for the theme-browsing UI in the Customizer.
+ *
+ * @since 4.2.0
+ */
+function customize_themes_print_templates() {
+       $preview_url = esc_url( add_query_arg( 'theme', '__THEME__' ) ); // Token because esc_url() strips curly braces.
+       $preview_url = str_replace( '__THEME__', '{{ data.id }}', $preview_url );
+       ?>
+       <script type="text/html" id="tmpl-customize-themes-details-view">
+               <div class="theme-backdrop"></div>
+               <div class="theme-wrap">
+                       <div class="theme-header">
+                               <button type="button" class="left dashicons dashicons-no"><span class="screen-reader-text"><?php _e( 'Show previous theme' ); ?></span></button>
+                               <button type="button" class="right dashicons dashicons-no"><span class="screen-reader-text"><?php _e( 'Show next theme' ); ?></span></button>
+                               <button type="button" class="close dashicons dashicons-no"><span class="screen-reader-text"><?php _e( 'Close details dialog' ); ?></span></button>
+                       </div>
+                       <div class="theme-about">
+                               <div class="theme-screenshots">
+                               <# if ( data.screenshot[0] ) { #>
+                                       <div class="screenshot"><img src="{{ data.screenshot[0] }}" alt="" /></div>
+                               <# } else { #>
+                                       <div class="screenshot blank"></div>
+                               <# } #>
+                               </div>
+
+                               <div class="theme-info">
+                                       <# if ( data.active ) { #>
+                                               <span class="current-label"><?php _e( 'Current Theme' ); ?></span>
+                                       <# } #>
+                                       <h3 class="theme-name">{{{ data.name }}}<span class="theme-version"><?php printf( __( 'Version: %s' ), '{{ data.version }}' ); ?></span></h3>
+                                       <h4 class="theme-author"><?php printf( __( 'By %s' ), '{{{ data.authorAndUri }}}' ); ?></h4>
+                                       <p class="theme-description">{{{ data.description }}}</p>
+
+                                       <# if ( data.parent ) { #>
+                                               <p class="parent-theme"><?php printf( __( 'This is a child theme of %s.' ), '<strong>{{{ data.parent }}}</strong>' ); ?></p>
+                                       <# } #>
+
+                                       <# if ( data.tags ) { #>
+                                               <p class="theme-tags"><span><?php _e( 'Tags:' ); ?></span> {{ data.tags }}</p>
+                                       <# } #>
+                               </div>
+                       </div>
+
+                       <# if ( ! data.active ) { #>
+                               <div class="theme-actions">
+                                       <div class="inactive-theme">
+                                               <a href="<?php echo $preview_url; ?>" target="_top" class="button button-primary"><?php _e( 'Live Preview' ); ?></a>
+                                       </div>
+                               </div>
+                       <# } #>
+               </div>
+       </script>
+       <?php
 }
+add_action( 'customize_controls_print_footer_scripts', 'customize_themes_print_templates' );
index f3cc370ac427b485dd24a1b6eac7566c8f7fdf39..25358f448fd7cbd4c50a39e99c4c8abe74196145 100644 (file)
@@ -141,7 +141,7 @@ function wp_install_language_form( $languages ) {
                        $language = $languages[ $wp_local_package ];
                        printf( '<option value="%s" lang="%s" data-continue="%s"%s>%s</option>' . "\n",
                                esc_attr( $language['language'] ),
-                               esc_attr( $language['iso'][1] ),
+                               esc_attr( current( $language['iso'] ) ),
                                esc_attr( $language['strings']['continue'] ),
                                in_array( $language['language'], $installed_languages ) ? ' data-installed="1"' : '',
                                esc_html( $language['native_name'] ) );
@@ -153,7 +153,7 @@ function wp_install_language_form( $languages ) {
        foreach ( $languages as $language ) {
                printf( '<option value="%s" lang="%s" data-continue="%s"%s>%s</option>' . "\n",
                        esc_attr( $language['language'] ),
-                       esc_attr( $language['iso'][1] ),
+                       esc_attr( current( $language['iso'] ) ),
                        esc_attr( $language['strings']['continue'] ),
                        in_array( $language['language'], $installed_languages ) ? ' data-installed="1"' : '',
                        esc_html( $language['native_name'] ) );
@@ -229,6 +229,7 @@ function wp_can_install_language_pack() {
        require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
        $skin = new Automatic_Upgrader_Skin;
        $upgrader = new Language_Pack_Upgrader( $skin );
+       $upgrader->init();
 
        $check = $upgrader->fs_connect( array( WP_CONTENT_DIR, WP_LANG_DIR ) );
 
index 2189d55df9c6f69c076ab748cfaeeb2ae76a37ec..5a97b183423d8f5f39b066cc3e082d868cf86c7b 100644 (file)
@@ -694,7 +694,7 @@ $_old_files = array(
 'wp-includes/js/jquery/ui/jquery.ui.tabs.min.js',
 'wp-includes/js/jquery/ui/jquery.ui.tooltip.min.js',
 'wp-includes/js/jquery/ui/jquery.ui.widget.min.js',
-'wp-includes/js/tinymce/skins/wordpress/images/dashicon-no-alt.png',
+'wp-includes/js/tinymce/skins/wordpress/images/dashicon-no-alt.png'
 );
 
 /**
@@ -812,6 +812,8 @@ function update_core($from, $to) {
 
        // Import $wp_version, $required_php_version, and $required_mysql_version from the new version
        // $wp_filesystem->wp_content_dir() returned unslashed pre-2.8
+       global $wp_version, $required_php_version, $required_mysql_version;
+
        $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 );
@@ -824,7 +826,7 @@ function update_core($from, $to) {
 
        $php_version    = phpversion();
        $mysql_version  = $wpdb->db_version();
-       $old_wp_version = $GLOBALS['wp_version']; // The version of WordPress we're updating from
+       $old_wp_version = $wp_version; // The version of WordPress we're updating from
        $development_build = ( false !== strpos( $old_wp_version . $wp_version, '-' )  ); // a dash in the version indicates a Development release
        $php_compat     = version_compare( $php_version, $required_php_version, '>=' );
        if ( file_exists( WP_CONTENT_DIR . '/db.php' ) && empty( $wpdb->is_mysql ) )
index 502666a5502ce18375e69e589d36a762e9774248..ba03453d0cf27cb9976c1414128f2cc53e05a957 100644 (file)
@@ -205,9 +205,9 @@ function update_nag() {
                return false;
 
        if ( current_user_can('update_core') ) {
-               $msg = sprintf( __('<a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> is available! <a href="%2$s">Please update now</a>.'), $cur->current, network_admin_url( 'update-core.php' ) );
+               $msg = sprintf( __('<a href="https://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> is available! <a href="%2$s">Please update now</a>.'), $cur->current, network_admin_url( 'update-core.php' ) );
        } else {
-               $msg = sprintf( __('<a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> is available! Please notify the site administrator.'), $cur->current );
+               $msg = sprintf( __('<a href="https://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> is available! Please notify the site administrator.'), $cur->current );
        }
        echo "<div class='update-nag'>$msg</div>";
 }
@@ -221,15 +221,17 @@ function update_right_now_message() {
                $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 );
+       $msg = '';
 
        if ( current_user_can('update_core') ) {
                $cur = get_preferred_from_update_core();
 
                if ( isset( $cur->response ) && $cur->response == 'upgrade' )
-                       $msg .= " <a href='" . network_admin_url( 'update-core.php' ) . "' class='button'>" . sprintf( __('Update to %s'), $cur->current ? $cur->current : __( 'Latest' ) ) . '</a>';
+                       $msg .= '<a href="' . network_admin_url( 'update-core.php' ) . '" class="button" aria-describedby="wp-version">' . sprintf( __( 'Update to %s' ), $cur->current ? $cur->current : __( 'Latest' ) ) . '</a> ';
        }
 
+       $msg .= sprintf( '<span id="wp-version">' . __( 'WordPress %1$s running %2$s theme.' ) . '</span>', get_bloginfo( 'version', 'display' ), $theme_name );
+
        echo "<p id='wp-version-message'>$msg</p>";
 }
 
@@ -276,15 +278,16 @@ function wp_plugin_update_row( $file, $plugin_data ) {
        $wp_list_table = _get_list_table('WP_Plugins_List_Table');
 
        if ( is_network_admin() || !is_multisite() ) {
-               echo '<tr class="plugin-update-tr"><td colspan="' . $wp_list_table->get_column_count() . '" class="plugin-update colspanchange"><div class="update-message">';
+               $active_class = ( is_plugin_active( $plugin_data['plugin'] ) ) ? ' active' : '';
+               echo '<tr class="plugin-update-tr' . $active_class . '" id="' . esc_attr( $r->slug . '-update' ) . '" data-slug="' . esc_attr( $r->slug ) . '" data-plugin="' . esc_attr( $file ) . '"><td colspan="' . esc_attr( $wp_list_table->get_column_count() ) . '" class="plugin-update colspanchange"><div class="update-message">';
 
-               if ( ! current_user_can('update_plugins') )
+               if ( ! current_user_can( 'update_plugins' ) ) {
                        printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a>.'), $plugin_name, esc_url($details_url), esc_attr($plugin_name), $r->new_version );
-               else if ( empty($r->package) )
+               } elseif ( empty($r->package) ) {
                        printf( __('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 plugin.</em>'), $plugin_name, esc_url($details_url), esc_attr($plugin_name), $r->new_version );
-               else
-                       printf( __('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>.'), $plugin_name, esc_url($details_url), esc_attr($plugin_name), $r->new_version, wp_nonce_url( self_admin_url('update.php?action=upgrade-plugin&plugin=') . $file, 'upgrade-plugin_' . $file) );
-
+               } else {
+                       printf( __( '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" class="update-link">update now</a>.' ), $plugin_name, esc_url( $details_url ), esc_attr( $plugin_name ), $r->new_version, wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' ) . $file, 'upgrade-plugin_' . $file ) );
+               }
                /**
                 * Fires at the end of the update message container in each
                 * row of the plugins list table.
@@ -367,13 +370,13 @@ function wp_theme_update_row( $theme_key, $theme ) {
        $wp_list_table = _get_list_table('WP_MS_Themes_List_Table');
 
        echo '<tr class="plugin-update-tr"><td colspan="' . $wp_list_table->get_column_count() . '" class="plugin-update colspanchange"><div class="update-message">';
-       if ( ! current_user_can('update_themes') )
+       if ( ! current_user_can('update_themes') ) {
                printf( __('There is a new version of %1$s available. <a href="%2$s" class="thickbox" title="%3$s">View version %4$s details</a>.'), $theme['Name'], esc_url($details_url), esc_attr($theme['Name']), $r->new_version );
-       else if ( empty( $r['package'] ) )
+       } elseif ( empty( $r['package'] ) ) {
                printf( __('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>'), $theme['Name'], esc_url($details_url), esc_attr($theme['Name']), $r['new_version'] );
-       else
+       } else {
                printf( __('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>.'), $theme['Name'], esc_url($details_url), esc_attr($theme['Name']), $r['new_version'], wp_nonce_url( self_admin_url('update.php?action=upgrade-theme&theme=') . $theme_key, 'upgrade-theme_' . $theme_key) );
-
+       }
        /**
         * Fires at the end of the update message container in each
         * row of the themes list table.
index b8e3701158a79393855a7e9d0b8b7b03e1f172e2..b1c4bc28fae9ae101640e9d9fb7b7f84f6b1385b 100644 (file)
@@ -2,7 +2,7 @@
 /**
  * WordPress Upgrade API
  *
- * Most of the functions are pluggable and can be overwritten
+ * Most of the functions are pluggable and can be overwritten.
  *
  * @package WordPress
  * @subpackage Administration
@@ -20,20 +20,21 @@ require_once(ABSPATH . 'wp-admin/includes/schema.php');
 
 if ( !function_exists('wp_install') ) :
 /**
- * Installs the blog
+ * Installs the site.
  *
- * {@internal Missing Long Description}}
+ * Runs the required functions to set up and populate the database,
+ * including primary admin user and initial options.
  *
  * @since 2.1.0
  *
- * @param string $blog_title Blog title.
- * @param string $user_name User's username.
- * @param string $user_email User's email.
- * @param bool $public Whether blog is public.
- * @param string $deprecated Optional. Not used.
- * @param string $user_password Optional. User's chosen password. Will default to a random password.
- * @param string $language Optional. Language chosen.
- * @return array Array keys 'url', 'user_id', 'password', 'password_message'.
+ * @param string $blog_title    Blog title.
+ * @param string $user_name     User's username.
+ * @param string $user_email    User's email.
+ * @param bool   $public        Whether blog is public.
+ * @param string $deprecated    Optional. Not used.
+ * @param string $user_password Optional. User's chosen password. Default empty (random password).
+ * @param string $language      Optional. Language chosen. Default empty.
+ * @return array Array keys 'url', 'user_id', 'password', and 'password_message'.
  */
 function wp_install( $blog_title, $user_name, $user_email, $public, $deprecated = '', $user_password = '', $language = '' ) {
        if ( !empty( $deprecated ) )
@@ -74,7 +75,7 @@ function wp_install( $blog_title, $user_name, $user_email, $public, $deprecated
                $user_id = wp_create_user($user_name, $user_password, $user_email);
                update_user_option($user_id, 'default_password_nag', true, true);
                $email_password = true;
-       } else if ( !$user_id ) {
+       } elseif ( ! $user_id ) {
                // Password has been provided
                $message = '<em>'.__('Your chosen password.').'</em>';
                $user_id = wp_create_user($user_name, $user_password, $user_email);
@@ -87,6 +88,8 @@ function wp_install( $blog_title, $user_name, $user_email, $public, $deprecated
 
        wp_install_defaults($user_id);
 
+       wp_install_maybe_enable_pretty_permalinks();
+
        flush_rewrite_rules();
 
        wp_new_blog_notification($blog_title, $guessurl, $user_id, ($email_password ? $user_password : __('The password you chose during the install.') ) );
@@ -108,9 +111,10 @@ endif;
 
 if ( !function_exists('wp_install_defaults') ) :
 /**
- * {@internal Missing Short Description}}
+ * Creates the initial content for a newly-installed site.
  *
- * {@internal Missing Long Description}}
+ * Adds the default "Uncategorized" category, the first post (with comment),
+ * first page, and default widgets for default theme for the current version.
  *
  * @since 2.1.0
  *
@@ -140,9 +144,9 @@ function wp_install_defaults( $user_id ) {
        $cat_tt_id = $wpdb->insert_id;
 
        // First post
-       $now = date('Y-m-d H:i:s');
-       $now_gmt = gmdate('Y-m-d H:i:s');
-       $first_post_guid = get_option('home') . '/?p=1';
+       $now = current_time( 'mysql' );
+       $now_gmt = current_time( 'mysql', 1 );
+       $first_post_guid = get_option( 'home' ) . '/?p=1';
 
        if ( is_multisite() ) {
                $first_post = get_site_option( 'first_post' );
@@ -260,18 +264,93 @@ As a new WordPress user, you should go to <a href=\"%s\">your dashboard</a> to d
 }
 endif;
 
+/**
+ * Maybe enable pretty permalinks on install.
+ *
+ * If after enabling pretty permalinks don't work, fallback to query-string permalinks.
+ *
+ * @since 4.2.0
+ *
+ * @global WP_Rewrite $wp_rewrite WordPress rewrite component.
+ *
+ * @return bool Whether pretty permalinks are enabled. False otherwise.
+ */
+function wp_install_maybe_enable_pretty_permalinks() {
+       global $wp_rewrite;
+
+       // Bail if a permalink structure is already enabled.
+       if ( get_option( 'permalink_structure' ) ) {
+               return true;
+       }
+
+       /*
+        * The Permalink structures to attempt.
+        *
+        * The first is designed for mod_rewrite or nginx rewriting.
+        *
+        * The second is PATHINFO-based permalinks for web server configurations
+        * without a true rewrite module enabled.
+        */
+       $permalink_structures = array(
+               '/%year%/%monthnum%/%day%/%postname%/',
+               '/index.php/%year%/%monthnum%/%day%/%postname%/'
+       );
+
+       foreach ( (array) $permalink_structures as $permalink_structure ) {
+               $wp_rewrite->set_permalink_structure( $permalink_structure );
+
+               /*
+                * Flush rules with the hard option to force refresh of the web-server's
+                * rewrite config file (e.g. .htaccess or web.config).
+                */
+               $wp_rewrite->flush_rules( true );
+
+               // Test against a real WordPress Post, or if none were created, a random 404 page.
+               $test_url = get_permalink( 1 );
+
+               if ( ! $test_url ) {
+                       $test_url = home_url( '/wordpress-check-for-rewrites/' );
+               }
+
+               /*
+                * Send a request to the site, and check whether
+                * the 'x-pingback' header is returned as expected.
+                *
+                * Uses wp_remote_get() instead of wp_remote_head() because web servers
+                * can block head requests.
+                */
+               $response          = wp_remote_get( $test_url, array( 'timeout' => 5 ) );
+               $x_pingback_header = wp_remote_retrieve_header( $response, 'x-pingback' );
+               $pretty_permalinks = $x_pingback_header && $x_pingback_header === get_bloginfo( 'pingback_url' );
+
+               if ( $pretty_permalinks ) {
+                       return true;
+               }
+       }
+
+       /*
+        * If it makes it this far, pretty permalinks failed.
+        * Fallback to query-string permalinks.
+        */
+       $wp_rewrite->set_permalink_structure( '' );
+       $wp_rewrite->flush_rules( true );
+
+       return false;
+}
+
 if ( !function_exists('wp_new_blog_notification') ) :
 /**
- * {@internal Missing Short Description}}
+ * Notifies the site admin that the setup is complete.
  *
- * {@internal Missing Long Description}}
+ * Sends an email with wp_mail to the new administrator that the site setup is complete,
+ * and provides them with a record of their login credentials.
  *
  * @since 2.1.0
  *
  * @param string $blog_title Blog title.
- * @param string $blog_url Blog url.
- * @param int $user_id User ID.
- * @param string $password User's Password.
+ * @param string $blog_url   Blog url.
+ * @param int    $user_id    User ID.
+ * @param string $password   User's Password.
  */
 function wp_new_blog_notification($blog_title, $blog_url, $user_id, $password) {
        $user = new WP_User( $user_id );
@@ -300,13 +379,13 @@ endif;
 
 if ( !function_exists('wp_upgrade') ) :
 /**
- * Run WordPress Upgrade functions.
+ * Runs WordPress Upgrade functions.
  *
- * {@internal Missing Long Description}}
+ * Upgrades the database if needed during a site update.
  *
  * @since 2.1.0
  *
- * @return null
+ * @return null If no update is necessary or site isn't completely installed, null.
  */
 function wp_upgrade() {
        global $wp_current_db_version, $wp_db_version, $wpdb;
@@ -351,9 +430,12 @@ endif;
 /**
  * Functions to be called in install and upgrade scripts.
  *
- * {@internal Missing Long Description}}
+ * Contains conditional checks to determine which upgrade scripts to run,
+ * based on database version and WP version being updated-to.
  *
  * @since 1.0.1
+ *
+ * @return null If no update is necessary, null.
  */
 function upgrade_all() {
        global $wp_current_db_version, $wp_db_version;
@@ -442,8 +524,8 @@ function upgrade_all() {
        if ( $wp_current_db_version < 29630 )
                upgrade_400();
 
-       if ( $wp_current_db_version < 30134 )
-               upgrade_414();
+       if ( $wp_current_db_version < 31351 )
+               upgrade_420();
 
        maybe_disable_link_manager();
 
@@ -488,6 +570,7 @@ function upgrade_100() {
 
        $done_ids = $wpdb->get_results("SELECT DISTINCT post_id FROM $wpdb->post2cat");
        if ($done_ids) :
+               $done_posts = array();
                foreach ($done_ids as $done_id) :
                        $done_posts[] = $done_id->post_id;
                endforeach;
@@ -772,7 +855,7 @@ function upgrade_210() {
                        if ( 'static' == $status ) {
                                $status = 'publish';
                                $type = 'page';
-                       } else if ( 'attachment' == $status ) {
+                       } elseif ( 'attachment' == $status ) {
                                $status = 'inherit';
                                $type = 'attachment';
                        }
@@ -1332,34 +1415,28 @@ function upgrade_400() {
 }
 
 /**
- * Execute changes made in WordPress 4.1.4.
+ * Execute changes made in WordPress 4.2.0.
  *
- * @since 4.1.3
+ * @since 4.2.0
  */
-function upgrade_414() {
+function upgrade_420() {
        global $wp_current_db_version, $wpdb;
 
-       if ( $wp_current_db_version < 30134 ) {
-               $content_length = $wpdb->get_col_length( $wpdb->comments, 'comment_content' );
-               if ( ! $content_length ) {
-                       $content_length = 65535;
+       if ( $wp_current_db_version < 31351 && $wpdb->charset === 'utf8mb4' ) {
+               if ( is_multisite() ) {
+                       $tables = $wpdb->tables( 'blog' );
+               } else {
+                       $tables = $wpdb->tables( 'all' );
                }
 
-               $comments = $wpdb->get_results(
-                       "SELECT comment_ID FROM $wpdb->comments
-                       WHERE comment_date_gmt > '2015-04-26'
-                       AND CHAR_LENGTH( comment_content ) >= $content_length
-                       AND ( comment_content LIKE '%<%' OR comment_content LIKE '%>%' )"
-               );
-
-               foreach ( $comments as $comment ) {
-                       wp_delete_comment( $comment->comment_ID, true );
+               foreach ( $tables as $table ) {
+                       maybe_convert_table_to_utf8mb4( $table );
                }
        }
 }
 
 /**
- * Execute network level changes
+ * Executes network-level upgrade routines.
  *
  * @since 3.0.0
  */
@@ -1454,16 +1531,34 @@ function upgrade_network() {
                        update_site_option( 'illegal_names', $illegal_names );
                }
        }
-}
 
-// The functions we use to actually do stuff
+       // 4.2
+       if ( $wp_current_db_version < 31351 && $wpdb->charset === 'utf8mb4' ) {
+               if ( ! ( defined( 'DO_NOT_UPGRADE_GLOBAL_TABLES' ) && DO_NOT_UPGRADE_GLOBAL_TABLES ) ) {
+                       $wpdb->query( "ALTER TABLE $wpdb->usermeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" );
+                       $wpdb->query( "ALTER TABLE $wpdb->site DROP INDEX domain, ADD INDEX domain(domain(140),path(51))" );
+                       $wpdb->query( "ALTER TABLE $wpdb->sitemeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" );
+                       $wpdb->query( "ALTER TABLE $wpdb->signups DROP INDEX domain, ADD INDEX domain(domain(140),path(51))" );
 
-// General
+                       $tables = $wpdb->tables( 'global' );
+
+                       foreach ( $tables as $table ) {
+                               maybe_convert_table_to_utf8mb4( $table );
+                       }
+               }
+       }
+}
+
+//
+// General functions we use to actually do stuff
+//
 
 /**
- * {@internal Missing Short Description}}
+ * Creates a table in the database if it doesn't already exist.
  *
- * {@internal Missing Long Description}}
+ * This method checks for an existing database and creates a new one if it's not
+ * already present. It doesn't rely on MySQL's "IF NOT EXISTS" statement, but chooses
+ * to query all tables first and then run the SQL statement creating the table.
  *
  * @since 1.0.0
  *
@@ -1491,9 +1586,7 @@ function maybe_create_table($table_name, $create_ddl) {
 }
 
 /**
- * {@internal Missing Short Description}}
- *
- * {@internal Missing Long Description}}
+ * Drops a specified index from a table.
  *
  * @since 1.0.1
  *
@@ -1514,9 +1607,7 @@ function drop_index($table, $index) {
 }
 
 /**
- * {@internal Missing Short Description}}
- *
- * {@internal Missing Long Description}}
+ * Adds an index to a specified table.
  *
  * @since 1.0.1
  *
@@ -1532,10 +1623,14 @@ function add_clean_index($table, $index) {
 }
 
 /**
- ** maybe_add_column()
- ** Add column to db table if it doesn't exist.
- ** Returns:  true if already exists or on successful completion
- **           false on error
+ * Adds column to a database table if it doesn't already exist.
+ *
+ * @since 1.3.0
+ *
+ * @param string $table_name  The table name to modify.
+ * @param string $column_name The column name to add to the table.
+ * @param string $create_ddl  The SQL statement used to add the column.
+ * @return True if already exists or on successful completion, false on error.
  */
 function maybe_add_column($table_name, $column_name, $create_ddl) {
        global $wpdb;
@@ -1557,6 +1652,36 @@ function maybe_add_column($table_name, $column_name, $create_ddl) {
        return false;
 }
 
+/**
+ * If a table only contains utf8 or utf8mb4 columns, convert it to utf8mb4.
+ *
+ * @since 4.2.0
+ *
+ * @param string $table The table to convert.
+ * @return bool true if the table was converted, false if it wasn't.
+ */
+function maybe_convert_table_to_utf8mb4( $table ) {
+       global $wpdb;
+
+       $results = $wpdb->get_results( "SHOW FULL COLUMNS FROM `$table`" );
+       if ( ! $results ) {
+               return false;
+       }
+
+       foreach ( $results as $column ) {
+               if ( $column->Collation ) {
+                       list( $charset ) = explode( '_', $column->Collation );
+                       $charset = strtolower( $charset );
+                       if ( 'utf8' !== $charset && 'utf8mb4' !== $charset ) {
+                               // Don't upgrade tables that have non-utf8 columns.
+                               return false;
+                       }
+               }
+       }
+
+       return $wpdb->query( "ALTER TABLE $table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci" );
+}
+
 /**
  * Retrieve all options as it was for 1.2.
  *
@@ -1578,8 +1703,9 @@ function get_alloptions_110() {
 }
 
 /**
- * Version of get_option that is private to install/upgrade.
+ * Utility version of get_option that is private to install/upgrade.
  *
+ * @ignore
  * @since 1.5.1
  * @access private
  *
@@ -1607,14 +1733,12 @@ function __get_option($setting) {
 }
 
 /**
- * {@internal Missing Short Description}}
- *
- * {@internal Missing Long Description}}
+ * Filters for content to remove unnecessary slashes.
  *
  * @since 1.5.0
  *
- * @param string $content
- * @return string
+ * @param string $content The content to modify.
+ * @return string The de-slashed content.
  */
 function deslash($content) {
        // Note: \\\ inside a regex denotes a single backslash.
@@ -1638,15 +1762,18 @@ function deslash($content) {
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Modifies the database based on specified SQL statements.
  *
- * {@internal Missing Long Description}}
+ * Useful for creating new tables and updating existing tables to a new structure.
  *
  * @since 1.5.0
  *
- * @param string $queries
- * @param bool   $execute
- * @return array
+ * @param string|array $queries Optional. The query to run. Can be multiple queries
+ *                              in an array, or a string of queries separated by
+ *                              semicolons. Default empty.
+ * @param bool         $execute Optional. Whether or not to execute the query right away.
+ *                              Default true.
+ * @return array Strings containing the results of the various update queries.
  */
 function dbDelta( $queries = '', $execute = true ) {
        global $wpdb;
@@ -1675,14 +1802,14 @@ function dbDelta( $queries = '', $execute = true ) {
 
        // Create a tablename index for an array ($cqueries) of queries
        foreach($queries as $qry) {
-               if (preg_match("|CREATE TABLE ([^ ]*)|", $qry, $matches)) {
+               if ( preg_match( "|CREATE TABLE ([^ ]*)|", $qry, $matches ) ) {
                        $cqueries[ trim( $matches[1], '`' ) ] = $qry;
                        $for_update[$matches[1]] = 'Created table '.$matches[1];
-               } else if (preg_match("|CREATE DATABASE ([^ ]*)|", $qry, $matches)) {
-                       array_unshift($cqueries, $qry);
-               } else if (preg_match("|INSERT INTO ([^ ]*)|", $qry, $matches)) {
+               } elseif ( preg_match( "|CREATE DATABASE ([^ ]*)|", $qry, $matches ) ) {
+                       array_unshift( $cqueries, $qry );
+               } elseif ( preg_match( "|INSERT INTO ([^ ]*)|", $qry, $matches ) ) {
                        $iqueries[] = $qry;
-               } else if (preg_match("|UPDATE ([^ ]*)|", $qry, $matches)) {
+               } elseif ( preg_match( "|UPDATE ([^ ]*)|", $qry, $matches ) ) {
                        $iqueries[] = $qry;
                } else {
                        // Unrecognized query type
@@ -1816,7 +1943,7 @@ function dbDelta( $queries = '', $execute = true ) {
 
                if ($tableindices) {
                        // Clear the index array.
-                       unset($index_ary);
+                       $index_ary = array();
 
                        // For every index in the table.
                        foreach ($tableindices as $tableindex) {
@@ -1834,7 +1961,7 @@ function dbDelta( $queries = '', $execute = true ) {
                                $index_string = '';
                                if ($index_name == 'PRIMARY') {
                                        $index_string .= 'PRIMARY ';
-                               } else if($index_data['unique']) {
+                               } elseif ( $index_data['unique'] ) {
                                        $index_string .= 'UNIQUE ';
                                }
                                $index_string .= 'KEY ';
@@ -1853,12 +1980,23 @@ function dbDelta( $queries = '', $execute = true ) {
                                                $index_columns .= '('.$column_data['subpart'].')';
                                        }
                                }
+
+                               // The alternative index string doesn't care about subparts
+                               $alt_index_columns = preg_replace( '/\([^)]*\)/', '', $index_columns );
+
                                // Add the column list to the index create string.
-                               $index_string .= ' ('.$index_columns.')';
-                               if (!(($aindex = array_search($index_string, $indices)) === false)) {
-                                       unset($indices[$aindex]);
-                                       // todo: Remove this?
-                                       //echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">{$table}:<br />Found index:".$index_string."</pre>\n";
+                               $index_strings = array(
+                                       "$index_string ($index_columns)",
+                                       "$index_string ($alt_index_columns)",
+                               );
+
+                               foreach( $index_strings as $index_string ) {
+                                       if ( ! ( ( $aindex = array_search( $index_string, $indices ) ) === false ) ) {
+                                               unset( $indices[ $aindex ] );
+                                               break;
+                                               // todo: Remove this?
+                                               //echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">{$table}:<br />Found index:".$index_string."</pre>\n";
+                                       }
                                }
                                // todo: Remove this?
                                //else echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">{$table}:<br /><b>Did not find index:</b>".$index_string."<br />".print_r($indices, true)."</pre>\n";
@@ -1889,11 +2027,16 @@ function dbDelta( $queries = '', $execute = true ) {
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Updates the database tables to a new schema.
  *
- * {@internal Missing Long Description}}
+ * By default, updates all the tables to use the latest defined schema, but can also
+ * be used to update a specific set of tables in wp_get_db_schema().
  *
  * @since 1.5.0
+ *
+ * @uses dbDelta
+ *
+ * @param string $tables Optional. Which set of tables to update. Default is 'all'.
  */
 function make_db_current( $tables = 'all' ) {
        $alterations = dbDelta( $tables );
@@ -1903,25 +2046,30 @@ function make_db_current( $tables = 'all' ) {
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Updates the database tables to a new schema, but without displaying results.
  *
- * {@internal Missing Long Description}}
+ * By default, updates all the tables to use the latest defined schema, but can
+ * also be used to update a specific set of tables in wp_get_db_schema().
  *
  * @since 1.5.0
+ *
+ * @see make_db_current()
+ *
+ * @param string $tables Optional. Which set of tables to update. Default is 'all'.
  */
 function make_db_current_silent( $tables = 'all' ) {
        dbDelta( $tables );
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Creates a site theme from an existing theme.
  *
  * {@internal Missing Long Description}}
  *
  * @since 1.5.0
  *
- * @param string $theme_name
- * @param string $template
+ * @param string $theme_name The name of the theme.
+ * @param string $template   The directory name of the theme.
  * @return bool
  */
 function make_site_theme_from_oldschool($theme_name, $template) {
@@ -1997,14 +2145,14 @@ function make_site_theme_from_oldschool($theme_name, $template) {
 }
 
 /**
- * {@internal Missing Short Description}}
+ * Creates a site theme from the default theme.
  *
  * {@internal Missing Long Description}}
  *
  * @since 1.5.0
  *
- * @param string $theme_name
- * @param string $template
+ * @param string $theme_name The name of the theme.
+ * @param string $template   The directory name of the theme.
  * @return null|false
  */
 function make_site_theme_from_default($theme_name, $template) {
@@ -2061,9 +2209,8 @@ function make_site_theme_from_default($theme_name, $template) {
        @closedir($images_dir);
 }
 
-// Create a site theme from the default theme.
 /**
- * {@internal Missing Short Description}}
+ * Creates a site theme.
  *
  * {@internal Missing Long Description}}
  *
@@ -2142,9 +2289,7 @@ function translate_level_to_role($level) {
 }
 
 /**
- * {@internal Missing Short Description}}
- *
- * {@internal Missing Long Description}}
+ * Checks the version of the installed MySQL binary.
  *
  * @since 2.1.0
  */
@@ -2173,7 +2318,7 @@ function maybe_disable_automattic_widgets() {
 }
 
 /**
- * Disables the Link Manager on upgrade, if at the time of upgrade, no links exist in the DB.
+ * Disables the Link Manager on upgrade if, at the time of upgrade, no links exist in the DB.
  *
  * @since 3.5.0
  */
@@ -2225,6 +2370,18 @@ function pre_schema_upgrade() {
                // dbDelta() can recreate but can't drop the index.
                $wpdb->query( "ALTER TABLE $wpdb->terms DROP INDEX slug" );
        }
+
+       // Upgrade versions prior to 4.2.
+       if ( $wp_current_db_version < 31351 ) {
+               if ( ! is_multisite() ) {
+                       $wpdb->query( "ALTER TABLE $wpdb->usermeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" );
+               }
+               $wpdb->query( "ALTER TABLE $wpdb->terms DROP INDEX slug, ADD INDEX slug(slug(191))" );
+               $wpdb->query( "ALTER TABLE $wpdb->terms DROP INDEX name, ADD INDEX name(name(191))" );
+               $wpdb->query( "ALTER TABLE $wpdb->commentmeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" );
+               $wpdb->query( "ALTER TABLE $wpdb->postmeta DROP INDEX meta_key, ADD INDEX meta_key(meta_key(191))" );
+               $wpdb->query( "ALTER TABLE $wpdb->posts DROP INDEX post_name, ADD INDEX post_name(post_name(191))" );
+       }
 }
 
 /**
index bcf13623a96c83db88e461efc4fcc5605f5472df..49062fcbe91775687d2ca294fc1f3b7c3a420942 100644 (file)
@@ -257,7 +257,7 @@ function get_users_drafts( $user_id ) {
 /**
  * Remove user and optionally reassign posts and links to another user.
  *
- * If the $reassign parameter is not assigned to an User ID, then all posts will
+ * If the $reassign parameter is not assigned to a User ID, then all posts will
  * be deleted of that user. The action 'delete_user' that is passed the User ID
  * being deleted will be run after the posts are either reassigned or deleted.
  * The user meta will also be deleted that are for that User ID.
index c869449434cd41093df394743f4e7dd94fe478db..e3b231bb883c952db879251f6cc8c2ed0263e034 100644 (file)
@@ -205,7 +205,7 @@ function wp_widget_control( $sidebar_args ) {
        </div>
 
        <div class="widget-inside">
-       <form action="" method="post">
+       <form method="post">
        <div class="widget-content">
 <?php
        if ( isset($control['callback']) )
index a3c0742d1986c0d0a682cedd786b8ae6d3ab4e7a..40c7c7f2a125c280183f1f4e6fd44e6c59bbf535 100644 (file)
@@ -85,7 +85,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="https://codex.wordpress.org/Dashboard_Screen" target="_blank">Documentation on Dashboard</a>' ) . '</p>' .
        '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
index 93c9d72f8796c62f844d9be79b00e14baf7d2b26..6f317cfbe52b9cdf736c65c65edc5f8221b9494a 100644 (file)
@@ -143,7 +143,7 @@ function display_setup_form( $error = null ) {
                        <p><?php _e( 'Double-check your email address before continuing.' ); ?></p></td>
                </tr>
                <tr>
-                       <th scope="row"><label for="blog_public"><?php _e( 'Privacy' ); ?></label></th>
+                       <th scope="row"><?php _e( 'Privacy' ); ?></th>
                        <td colspan="2"><label><input type="checkbox" name="blog_public" id="blog_public" value="1" <?php checked( $blog_public ); ?> /> <?php _e( 'Allow search engines to index this site.' ); ?></label></td>
                </tr>
        </table>
@@ -159,17 +159,19 @@ if ( is_blog_installed() ) {
        die( '<h1>' . __( 'Already Installed' ) . '</h1><p>' . __( 'You appear to have already installed WordPress. To reinstall please clear your old database tables first.' ) . '</p><p class="step"><a href="../wp-login.php" class="button button-large">' . __( 'Log In' ) . '</a></p></body></html>' );
 }
 
+global $wp_version, $required_php_version, $required_mysql_version;
+
 $php_version    = phpversion();
 $mysql_version  = $wpdb->db_version();
 $php_compat     = version_compare( $php_version, $required_php_version, '>=' );
 $mysql_compat   = version_compare( $mysql_version, $required_mysql_version, '>=' ) || file_exists( WP_CONTENT_DIR . '/db.php' );
 
 if ( !$mysql_compat && !$php_compat )
-       $compat = sprintf( __( 'You cannot install because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.' ), $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version );
+       $compat = sprintf( __( 'You cannot install because <a href="https://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.' ), $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version );
 elseif ( !$php_compat )
-       $compat = sprintf( __( 'You cannot install because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher. You are running version %3$s.' ), $wp_version, $required_php_version, $php_version );
+       $compat = sprintf( __( 'You cannot install because <a href="https://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher. You are running version %3$s.' ), $wp_version, $required_php_version, $php_version );
 elseif ( !$mysql_compat )
-       $compat = sprintf( __( 'You cannot install because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires MySQL version %2$s or higher. You are running version %3$s.' ), $wp_version, $required_mysql_version, $mysql_version );
+       $compat = sprintf( __( 'You cannot install because <a href="https://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires MySQL version %2$s or higher. You are running version %3$s.' ), $wp_version, $required_mysql_version, $mysql_version );
 
 if ( !$mysql_compat || !$php_compat ) {
        display_header();
@@ -254,7 +256,7 @@ switch($step) {
                        // TODO: poka-yoke
                        display_setup_form( __( 'Your passwords do not match. Please try again.' ) );
                        $error = true;
-               } else if ( empty( $admin_email ) ) {
+               } elseif ( empty( $admin_email ) ) {
                        // TODO: poka-yoke
                        display_setup_form( __( 'You must provide an email address.' ) );
                        $error = true;
diff --git a/wp-admin/js/bookmarklet.js b/wp-admin/js/bookmarklet.js
new file mode 100644 (file)
index 0000000..a1ac930
--- /dev/null
@@ -0,0 +1,166 @@
+( function( window, document, href, pt_url ) {
+       var encURI = window.encodeURIComponent,
+               form = document.createElement( 'form' ),
+               head = document.getElementsByTagName( 'head' )[0],
+               target = '_press_this_app',
+               canPost = true,
+               windowWidth, windowHeight, selection,
+               metas, links, content, images, iframes, img;
+
+       if ( ! pt_url ) {
+               return;
+       }
+
+       if ( href.match( /^https?:/ ) ) {
+               pt_url += '&u=' + encURI( href );
+               if ( href.match( /^https:/ ) && pt_url.match( /^http:/ ) ) {
+                       canPost = false;
+               }
+       } else {
+               top.location.href = pt_url;
+               return;
+       }
+
+       if ( window.getSelection ) {
+               selection = window.getSelection() + '';
+       } else if ( document.getSelection ) {
+               selection = document.getSelection() + '';
+       } else if ( document.selection ) {
+               selection = document.selection.createRange().text || '';
+       }
+
+       pt_url += '&buster=' + ( new Date().getTime() );
+
+       if ( ! canPost ) {
+               if ( document.title ) {
+                       pt_url += '&t=' + encURI( document.title.substr( 0, 256 ) );
+               }
+
+               if ( selection ) {
+                       pt_url += '&s=' + encURI( selection.substr( 0, 512 ) );
+               }
+       }
+
+       windowWidth  = window.outerWidth || document.documentElement.clientWidth || 600;
+       windowHeight = window.outerHeight || document.documentElement.clientHeight || 700;
+
+       windowWidth = ( windowWidth < 800 || windowWidth > 5000 ) ? 600 : ( windowWidth * 0.7 );
+       windowHeight = ( windowHeight < 800 || windowHeight > 3000 ) ? 700 : ( windowHeight * 0.9 );
+
+       if ( ! canPost ) {
+               window.open( pt_url, target, 'location,resizable,scrollbars,width=' + windowWidth + ',height=' + windowHeight );
+               return;
+       }
+
+       function add( name, value ) {
+               if ( typeof value === 'undefined' ) {
+                       return;
+               }
+
+               var input = document.createElement( 'input' );
+
+               input.name = name;
+               input.value = value;
+               input.type = 'hidden';
+
+               form.appendChild( input );
+       }
+
+       if ( href.match( /\/\/(www|m)\.youtube\.com\/watch/ ) ||
+               href.match( /\/\/vimeo\.com\/(.+\/)?([\d]+)$/ ) ||
+               href.match( /\/\/(www\.)?dailymotion\.com\/video\/.+$/ ) ||
+               href.match( /\/\/soundcloud\.com\/.+$/ ) ||
+               href.match( /\/\/twitter\.com\/[^\/]+\/status\/[\d]+$/ ) ||
+               href.match( /\/\/vine\.co\/v\/[^\/]+/ ) ) {
+
+               add( '_embeds[]', href );
+       }
+
+       metas = head.getElementsByTagName( 'meta' ) || [];
+
+       for ( var m = 0; m < metas.length; m++ ) {
+               if ( m > 200 ) {
+                       break;
+               }
+
+               var q = metas[ m ],
+                       q_name = q.getAttribute( 'name' ),
+                       q_prop = q.getAttribute( 'property' ),
+                       q_cont = q.getAttribute( 'content' );
+
+               if ( q_cont ) {
+                       if ( q_name ) {
+                               add( '_meta[' + q_name + ']', q_cont );
+                       } else if ( q_prop ) {
+                               add( '_meta[' + q_prop + ']', q_cont );
+                       }
+               }
+       }
+
+       links = head.getElementsByTagName( 'link' ) || [];
+
+       for ( var y = 0; y < links.length; y++ ) {
+               if ( y >= 50 ) {
+                       break;
+               }
+
+               var g = links[ y ],
+                       g_rel = g.getAttribute( 'rel' );
+
+               if ( g_rel === 'canonical' || g_rel === 'icon' || g_rel === 'shortlink' ) {
+                       add( '_links[' + g_rel + ']', g.getAttribute( 'href' ) );
+               }
+       }
+
+       if ( document.body.getElementsByClassName ) {
+               content = document.body.getElementsByClassName( 'hfeed' )[0];
+       }
+
+       content = document.getElementById( 'content' ) || content || document.body;
+       images = content.getElementsByTagName( 'img' ) || [];
+
+       for ( var n = 0; n < images.length; n++ ) {
+               if ( n >= 100 ) {
+                       break;
+               }
+
+               img = images[ n ];
+
+               // If we know the image width and/or height, check them now and drop the "uninteresting" images.
+               if ( img.src.indexOf( 'avatar' ) > -1 || img.className.indexOf( 'avatar' ) > -1 ||
+                       ( img.width && img.width < 256 ) || ( img.height && img.height < 128 ) ) {
+
+                       continue;
+               }
+
+               add( '_images[]', img.src );
+       }
+
+       iframes = document.body.getElementsByTagName( 'iframe' ) || [];
+
+       for ( var p = 0; p < iframes.length; p++ ) {
+               if ( p >= 50 ) {
+                       break;
+               }
+
+               add( '_embeds[]', iframes[ p ].src );
+       }
+
+       if ( document.title ) {
+               add( 't', document.title );
+       }
+
+       if ( selection ) {
+               add( 's', selection );
+       }
+
+       form.setAttribute( 'method', 'POST' );
+       form.setAttribute( 'action', pt_url );
+       form.setAttribute( 'target', target );
+       form.setAttribute( 'style', 'display: none;' );
+
+       window.open( 'about:blank', target, 'location,resizable,scrollbars,width=' + windowWidth + ',height=' + windowHeight );
+
+       document.body.appendChild( form );
+       form.submit();
+} )( window, document, top.location.href, window.pt_url );
diff --git a/wp-admin/js/bookmarklet.min.js b/wp-admin/js/bookmarklet.min.js
new file mode 100644 (file)
index 0000000..4e9d0a7
--- /dev/null
@@ -0,0 +1 @@
+(function(a,b,c,d){function e(a,c){if("undefined"!=typeof c){var d=b.createElement("input");d.name=a,d.value=c,d.type="hidden",p.appendChild(d)}}var f,g,h,i,j,k,l,m,n,o=a.encodeURIComponent,p=b.createElement("form"),q=b.getElementsByTagName("head")[0],r="_press_this_app",s=!0;if(d){if(!c.match(/^https?:/))return void(top.location.href=d);if(d+="&u="+o(c),c.match(/^https:/)&&d.match(/^http:/)&&(s=!1),a.getSelection?h=a.getSelection()+"":b.getSelection?h=b.getSelection()+"":b.selection&&(h=b.selection.createRange().text||""),d+="&buster="+(new Date).getTime(),s||(b.title&&(d+="&t="+o(b.title.substr(0,256))),h&&(d+="&s="+o(h.substr(0,512)))),f=a.outerWidth||b.documentElement.clientWidth||600,g=a.outerHeight||b.documentElement.clientHeight||700,f=800>f||f>5e3?600:.7*f,g=800>g||g>3e3?700:.9*g,!s)return void a.open(d,r,"location,resizable,scrollbars,width="+f+",height="+g);(c.match(/\/\/(www|m)\.youtube\.com\/watch/)||c.match(/\/\/vimeo\.com\/(.+\/)?([\d]+)$/)||c.match(/\/\/(www\.)?dailymotion\.com\/video\/.+$/)||c.match(/\/\/soundcloud\.com\/.+$/)||c.match(/\/\/twitter\.com\/[^\/]+\/status\/[\d]+$/)||c.match(/\/\/vine\.co\/v\/[^\/]+/))&&e("_embeds[]",c),i=q.getElementsByTagName("meta")||[];for(var t=0;t<i.length&&!(t>200);t++){var u=i[t],v=u.getAttribute("name"),w=u.getAttribute("property"),x=u.getAttribute("content");x&&(v?e("_meta["+v+"]",x):w&&e("_meta["+w+"]",x))}j=q.getElementsByTagName("link")||[];for(var y=0;y<j.length&&!(y>=50);y++){var z=j[y],A=z.getAttribute("rel");("canonical"===A||"icon"===A||"shortlink"===A)&&e("_links["+A+"]",z.getAttribute("href"))}b.body.getElementsByClassName&&(k=b.body.getElementsByClassName("hfeed")[0]),k=b.getElementById("content")||k||b.body,l=k.getElementsByTagName("img")||[];for(var B=0;B<l.length&&!(B>=100);B++)n=l[B],n.src.indexOf("avatar")>-1||n.className.indexOf("avatar")>-1||n.width&&n.width<256||n.height&&n.height<128||e("_images[]",n.src);m=b.body.getElementsByTagName("iframe")||[];for(var C=0;C<m.length&&!(C>=50);C++)e("_embeds[]",m[C].src);b.title&&e("t",b.title),h&&e("s",h),p.setAttribute("method","POST"),p.setAttribute("action",d),p.setAttribute("target",r),p.setAttribute("style","display: none;"),a.open("about:blank",r,"location,resizable,scrollbars,width="+f+",height="+g),b.body.appendChild(p),p.submit()}})(window,document,top.location.href,window.pt_url);
\ No newline at end of file
index f4253b3a6bc7adbcb2b947b7b221e4ea38287936..d63c07724d528f1a640bc614ceec2ea05738fa19 100644 (file)
@@ -373,6 +373,27 @@ $(document).ready( function() {
        $firstHeading.nextAll( 'div.updated, div.error, div.notice' ).addClass( 'below-h2' );
        $( 'div.updated, div.error, div.notice' ).not( '.below-h2, .inline' ).insertAfter( $firstHeading );
 
+       // Make notices dismissible
+       $( '.notice.is-dismissible' ).each( function() {
+               var $this = $( this ),
+                       $button = $( '<button type="button" class="notice-dismiss"><span class="screen-reader-text"></span></button>' ),
+                       btnText = commonL10n.dismiss || '';
+
+               // Ensure plain text
+               $button.find( '.screen-reader-text' ).text( btnText );
+
+               $this.append( $button );
+
+               $button.on( 'click.wp-dismiss-notice', function( event ) {
+                       event.preventDefault();
+                       $this.fadeTo( 100 , 0, function() {
+                               $(this).slideUp( 100, function() {
+                                       $(this).remove();
+                               });
+                       });
+               });
+       });
+
        // Init screen meta
        screenMeta.init();
 
@@ -442,17 +463,22 @@ $(document).ready( function() {
        });
 
        // Show row actions on keyboard focus of its parent container element or any other elements contained within
-       $( 'td.post-title, td.title, td.comment, .bookmarks td.column-name, td.blogname, td.username, .dashboard-comment-wrap' ).focusin(function(){
-               clearTimeout( transitionTimeout );
-               focusedRowActions = $(this).find( '.row-actions' );
-               focusedRowActions.addClass( 'visible' );
-       }).focusout(function(){
-               // Tabbing between post title and .row-actions links needs a brief pause, otherwise
-               // the .row-actions div gets hidden in transit in some browsers (ahem, Firefox).
-               transitionTimeout = setTimeout(function(){
-                       focusedRowActions.removeClass( 'visible' );
-               }, 30);
-       });
+       $( '#wpbody-content' ).on({
+               focusin: function() {
+                       clearTimeout( transitionTimeout );
+                       focusedRowActions = $( this ).find( '.row-actions' );
+                       // transitionTimeout is necessary for Firefox, but Chrome won't remove the CSS class without a little help.
+                       $( '.row-actions' ).not( this ).removeClass( 'visible' );
+                       focusedRowActions.addClass( 'visible' );
+               },
+               focusout: function() {
+                       // Tabbing between post title and .row-actions links needs a brief pause, otherwise
+                       // the .row-actions div gets hidden in transit in some browsers (ahem, Firefox).
+                       transitionTimeout = setTimeout( function() {
+                               focusedRowActions.removeClass( 'visible' );
+                       }, 30 );
+               }
+       }, 'td.post-title, td.title, td.comment, .tags td.column-name, .bookmarks td.column-name, td.blogname, .users-network td.column-blogs, td.username, .dashboard-comment-wrap' );
 
        $('#default-password-nag-no').click( function() {
                setUserSetting('default_password_nag', 'hide');
@@ -465,6 +491,8 @@ $(document).ready( function() {
                var el = e.target, selStart, selEnd, val, scroll, sel;
 
                if ( e.keyCode == 27 ) { // escape key
+                       // when pressing Escape: Opera 12 and 27 blur form fields, IE 8 clears them
+                       e.preventDefault();
                        $(el).data('tab-out', true);
                        return;
                }
@@ -481,10 +509,6 @@ $(document).ready( function() {
                selEnd = el.selectionEnd;
                val = el.value;
 
-               try {
-                       this.lastKey = 9; // not a standard DOM property, lastKey is to help stop Opera tab event. See blur handler below.
-               } catch(err) {}
-
                if ( document.selection ) {
                        el.focus();
                        sel = document.selection.createRange();
@@ -502,11 +526,6 @@ $(document).ready( function() {
                        e.preventDefault();
        });
 
-       $('#newcontent').bind('blur.wpevent_InsertTab', function() {
-               if ( this.lastKey && 9 == this.lastKey )
-                       this.focus();
-       });
-
        if ( pageInput.length ) {
                pageInput.closest('form').submit( function() {
 
index 798ebce88577a8aebc4d045cc31b4f2510083662..db18e9d19b7aff44033947435404c197d3e189fd 100644 (file)
@@ -1 +1 @@
-var showNotice,adminMenu,columns,validateForm,screenMeta;!function(a,b){adminMenu={init:function(){},fold:function(){},restoreMenuState:function(){},toggle:function(){},favorites:function(){}},columns={init:function(){var b=this;a(".hide-column-tog","#adv-settings").click(function(){var c=a(this),d=c.val();c.prop("checked")?b.checked(d):b.unchecked(d),columns.saveManageColumnsState()})},saveManageColumnsState:function(){var b=this.hidden();a.post(ajaxurl,{action:"hidden-columns",hidden:b,screenoptionnonce:a("#screenoptionnonce").val(),page:pagenow})},checked:function(b){a(".column-"+b).show(),this.colSpanChange(1)},unchecked:function(b){a(".column-"+b).hide(),this.colSpanChange(-1)},hidden:function(){return a(".manage-column").filter(":hidden").map(function(){return this.id}).get().join(",")},useCheckboxesForHidden:function(){this.hidden=function(){return a(".hide-column-tog").not(":checked").map(function(){var a=this.id;return a.substring(a,a.length-5)}).get().join(",")}},colSpanChange:function(b){var c,d=a("table").find(".colspanchange");d.length&&(c=parseInt(d.attr("colspan"),10)+b,d.attr("colspan",c.toString()))}},a(document).ready(function(){columns.init()}),validateForm=function(b){return!a(b).find(".form-required").filter(function(){return""===a("input:visible",this).val()}).addClass("form-invalid").find("input:visible").change(function(){a(this).closest(".form-invalid").removeClass("form-invalid")}).size()},showNotice={warn:function(){var a=commonL10n.warnDelete||"";return confirm(a)?!0:!1},note:function(a){alert(a)}},screenMeta={element:null,toggles:null,page:null,init:function(){this.element=a("#screen-meta"),this.toggles=a(".screen-meta-toggle a"),this.page=a("#wpcontent"),this.toggles.click(this.toggleEvent)},toggleEvent:function(b){var c=a(this.href.replace(/.+#/,"#"));b.preventDefault(),c.length&&(c.is(":visible")?screenMeta.close(c,a(this)):screenMeta.open(c,a(this)))},open:function(b,c){a(".screen-meta-toggle").not(c.parent()).css("visibility","hidden"),b.parent().show(),b.slideDown("fast",function(){b.focus(),c.addClass("screen-meta-active").attr("aria-expanded",!0)}),a(document).trigger("screen:options:open")},close:function(b,c){b.slideUp("fast",function(){c.removeClass("screen-meta-active").attr("aria-expanded",!1),a(".screen-meta-toggle").css("visibility",""),b.parent().hide()}),a(document).trigger("screen:options:close")}},a(".contextual-help-tabs").delegate("a","click",function(b){var c,d=a(this);return b.preventDefault(),d.is(".active a")?!1:(a(".contextual-help-tabs .active").removeClass("active"),d.parent("li").addClass("active"),c=a(d.attr("href")),a(".help-tab-content").not(c).removeClass("active").hide(),void c.addClass("active").show())}),a(document).ready(function(){function c(a){var b,c,d,e,f,g,h,i=a.find(".wp-submenu");f=a.offset().top,g=x.scrollTop(),h=f-g-30,b=f+i.height()+1,c=A.height(),d=60+b-c,e=x.height()+g-50,b-d>e&&(d=b-e),d>h&&(d=h),d>1?i.css("margin-top","-"+d+"px"):i.css("margin-top","")}function d(a){var b=x.scrollTop(),c=!a||"scroll"!==a.type;if(!(t||v||B.data("wp-responsive"))){if(N.menu+N.adminbar<N.window||N.menu+N.adminbar+20>N.wpwrap)return void f();if(M=!0,N.menu+N.adminbar>N.window){if(0>b)return void(J||(J=!0,K=!1,z.css({position:"fixed",top:"",bottom:""})));if(b+N.window>w.height()-1)return void(K||(K=!0,J=!1,z.css({position:"fixed",top:"",bottom:0})));b>I?J?(J=!1,L=z.offset().top-N.adminbar-(b-I),L+N.menu+N.adminbar<b+N.window&&(L=b+N.window-N.menu-N.adminbar),z.css({position:"absolute",top:L,bottom:""})):!K&&z.offset().top+N.menu<b+N.window&&(K=!0,z.css({position:"fixed",top:"",bottom:0})):I>b?K?(K=!1,L=z.offset().top-N.adminbar+(I-b),L+N.menu>b+N.window&&(L=b),z.css({position:"absolute",top:L,bottom:""})):!J&&z.offset().top>=b+N.adminbar&&(J=!0,z.css({position:"fixed",top:"",bottom:""})):c&&(J=K=!1,L=b+N.window-N.menu-N.adminbar-1,L>0?z.css({position:"absolute",top:L,bottom:""}):f())}I=b}}function e(){N={window:x.height(),wpwrap:A.height(),adminbar:H.height(),menu:z.height()}}function f(){!t&&M&&(J=K=M=!1,z.css({position:"",top:"",bottom:""}))}function g(){e(),B.data("wp-responsive")?(y.removeClass("sticky-menu"),f()):N.menu+N.adminbar>N.window?(d(),y.removeClass("sticky-menu")):(y.addClass("sticky-menu"),f())}var h,i,j,k,l,m,n,o,p,q=!1,r=a("input.current-page"),s=r.val(),t=/iPhone|iPad|iPod/.test(navigator.userAgent),u=-1!==navigator.userAgent.indexOf("Android"),v=a(document.documentElement).hasClass("ie8"),w=a(document),x=a(b),y=a(document.body),z=a("#adminmenuwrap"),A=a("#wpwrap"),B=a("#adminmenu"),C=a("#wp-responsive-overlay"),D=a("#wp-toolbar"),E=D.find('a[aria-haspopup="true"]'),F=a(".meta-box-sortables"),G=!1,H=a("#wpadminbar"),I=0,J=!1,K=!1,L=0,M=!1,N={window:x.height(),wpwrap:A.height(),adminbar:H.height(),menu:z.height()};B.on("click.wp-submenu-head",".wp-submenu-head",function(b){a(b.target).parent().siblings("a").get(0).click()}),a("#collapse-menu").on("click.collapse-menu",function(){var c,d,e=a(document.body);a("#adminmenu div.wp-submenu").css("margin-top",""),c=b.innerWidth?Math.max(b.innerWidth,document.documentElement.clientWidth):961,c&&960>c?e.hasClass("auto-fold")?(e.removeClass("auto-fold").removeClass("folded"),setUserSetting("unfold",1),setUserSetting("mfold","o"),d="open"):(e.addClass("auto-fold"),setUserSetting("unfold",0),d="folded"):e.hasClass("folded")?(e.removeClass("folded"),setUserSetting("mfold","o"),d="open"):(e.addClass("folded"),setUserSetting("mfold","f"),d="folded"),a(document).trigger("wp-collapse-menu",{state:d})}),("ontouchstart"in b||/IEMobile\/[1-9]/.test(navigator.userAgent))&&(m=t?"touchstart":"click",a(document.body).on(m+".wp-mobile-hover",function(b){B.data("wp-responsive")||a(b.target).closest("#adminmenu").length||B.find("li.opensub").removeClass("opensub")}),B.find("a.wp-has-submenu").on(m+".wp-mobile-hover",function(b){var d=a(this).parent();B.data("wp-responsive")||d.hasClass("opensub")||d.hasClass("wp-menu-open")&&!(d.width()<40)||(b.preventDefault(),c(d),B.find("li.opensub").removeClass("opensub"),d.addClass("opensub"))})),t||u||(B.find("li.wp-has-submenu").hoverIntent({over:function(){var b=a(this),d=b.find(".wp-submenu"),e=parseInt(d.css("top"),10);isNaN(e)||e>-5||B.data("wp-responsive")||(c(b),B.find("li.opensub").removeClass("opensub"),b.addClass("opensub"))},out:function(){B.data("wp-responsive")||a(this).removeClass("opensub").find(".wp-submenu").css("margin-top","")},timeout:200,sensitivity:7,interval:90}),B.on("focus.adminmenu",".wp-submenu a",function(b){B.data("wp-responsive")||a(b.target).closest("li.menu-top").addClass("opensub")}).on("blur.adminmenu",".wp-submenu a",function(b){B.data("wp-responsive")||a(b.target).closest("li.menu-top").removeClass("opensub")}).find("li.wp-has-submenu.wp-not-current-submenu").on("focusin.adminmenu",function(){c(a(this))})),p=a("div.wrap h2:first"),p.nextAll("div.updated, div.error, div.notice").addClass("below-h2"),a("div.updated, div.error, div.notice").not(".below-h2, .inline").insertAfter(p),screenMeta.init(),a("tbody").children().children(".check-column").find(":checkbox").click(function(b){if("undefined"==b.shiftKey)return!0;if(b.shiftKey){if(!q)return!0;h=a(q).closest("form").find(":checkbox"),i=h.index(q),j=h.index(this),k=a(this).prop("checked"),i>0&&j>0&&i!=j&&(l=j>i?h.slice(i,j):h.slice(j,i),l.prop("checked",function(){return a(this).closest("tr").is(":visible")?k:!1}))}q=this;var c=a(this).closest("tbody").find(":checkbox").filter(":visible").not(":checked");return a(this).closest("table").children("thead, tfoot").find(":checkbox").prop("checked",function(){return 0===c.length}),!0}),a("thead, tfoot").find(".check-column :checkbox").on("click.wp-toggle-checkboxes",function(b){var c=a(this),d=c.closest("table"),e=c.prop("checked"),f=b.shiftKey||c.data("wp-toggle");d.children("tbody").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){return a(this).is(":hidden")?!1:f?!a(this).prop("checked"):e?!0:!1}),d.children("thead,  tfoot").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){return f?!1:e?!0:!1})}),a("td.post-title, td.title, td.comment, .bookmarks td.column-name, td.blogname, td.username, .dashboard-comment-wrap").focusin(function(){clearTimeout(n),o=a(this).find(".row-actions"),o.addClass("visible")}).focusout(function(){n=setTimeout(function(){o.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()}),r.length&&r.closest("form").submit(function(){-1==a('select[name="action"]').val()&&-1==a('select[name="action2"]').val()&&r.val()==s&&r.val("1")}),a('.search-box input[type="search"], .search-box input[type="submit"]').mousedown(function(){a('select[name^="action"]').val("-1")}),a("#contextual-help-link, #show-settings-link").on("focus.scroll-into-view",function(a){a.target.scrollIntoView&&a.target.scrollIntoView(!1)}),function(){function b(){c.prop("disabled",""===d.map(function(){return a(this).val()}).get().join(""))}var c,d,e=a("form.wp-upload-form");e.length&&(c=e.find('input[type="submit"]'),d=e.find('input[type="file"]'),b(),d.on("change",b))}(),t||(x.on("scroll.pin-menu",d),w.on("tinymce-editor-init.pin-menu",function(a,b){b.on("wp-autoresize",e)})),b.wpResponsive={init:function(){var c=this;w.on("wp-responsive-activate.wp-responsive",function(){c.activate()}).on("wp-responsive-deactivate.wp-responsive",function(){c.deactivate()}),a("#wp-admin-bar-menu-toggle a").attr("aria-expanded","false"),a("#wp-admin-bar-menu-toggle").on("click.wp-responsive",function(b){b.preventDefault(),A.toggleClass("wp-responsive-open"),A.hasClass("wp-responsive-open")?(a(this).find("a").attr("aria-expanded","true"),a("#adminmenu a:first").focus()):a(this).find("a").attr("aria-expanded","false")}),B.on("click.wp-responsive","li.wp-has-submenu > a",function(b){B.data("wp-responsive")&&(a(this).parent("li").toggleClass("selected"),b.preventDefault())}),c.trigger(),w.on("wp-window-resized.wp-responsive",a.proxy(this.trigger,this)),x.on("load.wp-responsive",function(){var a=navigator.userAgent.indexOf("AppleWebKit/")>-1?x.width():b.innerWidth;782>=a&&c.disableSortables()})},activate:function(){g(),y.hasClass("auto-fold")||y.addClass("auto-fold"),B.data("wp-responsive",1),this.disableSortables()},deactivate:function(){g(),B.removeData("wp-responsive"),this.enableSortables()},trigger:function(){var a;b.innerWidth&&(a=Math.max(b.innerWidth,document.documentElement.clientWidth),782>=a?G||(w.trigger("wp-responsive-activate"),G=!0):G&&(w.trigger("wp-responsive-deactivate"),G=!1),480>=a?this.enableOverlay():this.disableOverlay())},enableOverlay:function(){0===C.length&&(C=a('<div id="wp-responsive-overlay"></div>').insertAfter("#wpcontent").hide().on("click.wp-responsive",function(){D.find(".menupop.hover").removeClass("hover"),a(this).hide()})),E.on("click.wp-responsive",function(){C.show()})},disableOverlay:function(){E.off("click.wp-responsive"),C.hide()},disableSortables:function(){if(F.length)try{F.sortable("disable")}catch(a){}},enableSortables:function(){if(F.length)try{F.sortable("enable")}catch(a){}}},b.wpResponsive.init(),g(),w.on("wp-window-resized.pin-menu postboxes-columnchange.pin-menu postbox-toggled.pin-menu wp-collapse-menu.pin-menu wp-scroll-start.pin-menu",g)}),function(){function c(){a(document).trigger("wp-window-resized")}function d(){b.clearTimeout(e),e=b.setTimeout(c,200)}var e;a(b).on("resize.wp-fire-once",d)}(),function(){if("-ms-user-select"in document.documentElement.style&&navigator.userAgent.match(/IEMobile\/10\.0/)){var a=document.createElement("style");a.appendChild(document.createTextNode("@-ms-viewport{width:auto!important}")),document.getElementsByTagName("head")[0].appendChild(a)}}()}(jQuery,window);
\ No newline at end of file
+var showNotice,adminMenu,columns,validateForm,screenMeta;!function(a,b){adminMenu={init:function(){},fold:function(){},restoreMenuState:function(){},toggle:function(){},favorites:function(){}},columns={init:function(){var b=this;a(".hide-column-tog","#adv-settings").click(function(){var c=a(this),d=c.val();c.prop("checked")?b.checked(d):b.unchecked(d),columns.saveManageColumnsState()})},saveManageColumnsState:function(){var b=this.hidden();a.post(ajaxurl,{action:"hidden-columns",hidden:b,screenoptionnonce:a("#screenoptionnonce").val(),page:pagenow})},checked:function(b){a(".column-"+b).show(),this.colSpanChange(1)},unchecked:function(b){a(".column-"+b).hide(),this.colSpanChange(-1)},hidden:function(){return a(".manage-column").filter(":hidden").map(function(){return this.id}).get().join(",")},useCheckboxesForHidden:function(){this.hidden=function(){return a(".hide-column-tog").not(":checked").map(function(){var a=this.id;return a.substring(a,a.length-5)}).get().join(",")}},colSpanChange:function(b){var c,d=a("table").find(".colspanchange");d.length&&(c=parseInt(d.attr("colspan"),10)+b,d.attr("colspan",c.toString()))}},a(document).ready(function(){columns.init()}),validateForm=function(b){return!a(b).find(".form-required").filter(function(){return""===a("input:visible",this).val()}).addClass("form-invalid").find("input:visible").change(function(){a(this).closest(".form-invalid").removeClass("form-invalid")}).size()},showNotice={warn:function(){var a=commonL10n.warnDelete||"";return confirm(a)?!0:!1},note:function(a){alert(a)}},screenMeta={element:null,toggles:null,page:null,init:function(){this.element=a("#screen-meta"),this.toggles=a(".screen-meta-toggle a"),this.page=a("#wpcontent"),this.toggles.click(this.toggleEvent)},toggleEvent:function(b){var c=a(this.href.replace(/.+#/,"#"));b.preventDefault(),c.length&&(c.is(":visible")?screenMeta.close(c,a(this)):screenMeta.open(c,a(this)))},open:function(b,c){a(".screen-meta-toggle").not(c.parent()).css("visibility","hidden"),b.parent().show(),b.slideDown("fast",function(){b.focus(),c.addClass("screen-meta-active").attr("aria-expanded",!0)}),a(document).trigger("screen:options:open")},close:function(b,c){b.slideUp("fast",function(){c.removeClass("screen-meta-active").attr("aria-expanded",!1),a(".screen-meta-toggle").css("visibility",""),b.parent().hide()}),a(document).trigger("screen:options:close")}},a(".contextual-help-tabs").delegate("a","click",function(b){var c,d=a(this);return b.preventDefault(),d.is(".active a")?!1:(a(".contextual-help-tabs .active").removeClass("active"),d.parent("li").addClass("active"),c=a(d.attr("href")),a(".help-tab-content").not(c).removeClass("active").hide(),void c.addClass("active").show())}),a(document).ready(function(){function c(a){var b,c,d,e,f,g,h,i=a.find(".wp-submenu");f=a.offset().top,g=x.scrollTop(),h=f-g-30,b=f+i.height()+1,c=A.height(),d=60+b-c,e=x.height()+g-50,b-d>e&&(d=b-e),d>h&&(d=h),d>1?i.css("margin-top","-"+d+"px"):i.css("margin-top","")}function d(a){var b=x.scrollTop(),c=!a||"scroll"!==a.type;if(!(t||v||B.data("wp-responsive"))){if(N.menu+N.adminbar<N.window||N.menu+N.adminbar+20>N.wpwrap)return void f();if(M=!0,N.menu+N.adminbar>N.window){if(0>b)return void(J||(J=!0,K=!1,z.css({position:"fixed",top:"",bottom:""})));if(b+N.window>w.height()-1)return void(K||(K=!0,J=!1,z.css({position:"fixed",top:"",bottom:0})));b>I?J?(J=!1,L=z.offset().top-N.adminbar-(b-I),L+N.menu+N.adminbar<b+N.window&&(L=b+N.window-N.menu-N.adminbar),z.css({position:"absolute",top:L,bottom:""})):!K&&z.offset().top+N.menu<b+N.window&&(K=!0,z.css({position:"fixed",top:"",bottom:0})):I>b?K?(K=!1,L=z.offset().top-N.adminbar+(I-b),L+N.menu>b+N.window&&(L=b),z.css({position:"absolute",top:L,bottom:""})):!J&&z.offset().top>=b+N.adminbar&&(J=!0,z.css({position:"fixed",top:"",bottom:""})):c&&(J=K=!1,L=b+N.window-N.menu-N.adminbar-1,L>0?z.css({position:"absolute",top:L,bottom:""}):f())}I=b}}function e(){N={window:x.height(),wpwrap:A.height(),adminbar:H.height(),menu:z.height()}}function f(){!t&&M&&(J=K=M=!1,z.css({position:"",top:"",bottom:""}))}function g(){e(),B.data("wp-responsive")?(y.removeClass("sticky-menu"),f()):N.menu+N.adminbar>N.window?(d(),y.removeClass("sticky-menu")):(y.addClass("sticky-menu"),f())}var h,i,j,k,l,m,n,o,p,q=!1,r=a("input.current-page"),s=r.val(),t=/iPhone|iPad|iPod/.test(navigator.userAgent),u=-1!==navigator.userAgent.indexOf("Android"),v=a(document.documentElement).hasClass("ie8"),w=a(document),x=a(b),y=a(document.body),z=a("#adminmenuwrap"),A=a("#wpwrap"),B=a("#adminmenu"),C=a("#wp-responsive-overlay"),D=a("#wp-toolbar"),E=D.find('a[aria-haspopup="true"]'),F=a(".meta-box-sortables"),G=!1,H=a("#wpadminbar"),I=0,J=!1,K=!1,L=0,M=!1,N={window:x.height(),wpwrap:A.height(),adminbar:H.height(),menu:z.height()};B.on("click.wp-submenu-head",".wp-submenu-head",function(b){a(b.target).parent().siblings("a").get(0).click()}),a("#collapse-menu").on("click.collapse-menu",function(){var c,d,e=a(document.body);a("#adminmenu div.wp-submenu").css("margin-top",""),c=b.innerWidth?Math.max(b.innerWidth,document.documentElement.clientWidth):961,c&&960>c?e.hasClass("auto-fold")?(e.removeClass("auto-fold").removeClass("folded"),setUserSetting("unfold",1),setUserSetting("mfold","o"),d="open"):(e.addClass("auto-fold"),setUserSetting("unfold",0),d="folded"):e.hasClass("folded")?(e.removeClass("folded"),setUserSetting("mfold","o"),d="open"):(e.addClass("folded"),setUserSetting("mfold","f"),d="folded"),a(document).trigger("wp-collapse-menu",{state:d})}),("ontouchstart"in b||/IEMobile\/[1-9]/.test(navigator.userAgent))&&(m=t?"touchstart":"click",a(document.body).on(m+".wp-mobile-hover",function(b){B.data("wp-responsive")||a(b.target).closest("#adminmenu").length||B.find("li.opensub").removeClass("opensub")}),B.find("a.wp-has-submenu").on(m+".wp-mobile-hover",function(b){var d=a(this).parent();B.data("wp-responsive")||d.hasClass("opensub")||d.hasClass("wp-menu-open")&&!(d.width()<40)||(b.preventDefault(),c(d),B.find("li.opensub").removeClass("opensub"),d.addClass("opensub"))})),t||u||(B.find("li.wp-has-submenu").hoverIntent({over:function(){var b=a(this),d=b.find(".wp-submenu"),e=parseInt(d.css("top"),10);isNaN(e)||e>-5||B.data("wp-responsive")||(c(b),B.find("li.opensub").removeClass("opensub"),b.addClass("opensub"))},out:function(){B.data("wp-responsive")||a(this).removeClass("opensub").find(".wp-submenu").css("margin-top","")},timeout:200,sensitivity:7,interval:90}),B.on("focus.adminmenu",".wp-submenu a",function(b){B.data("wp-responsive")||a(b.target).closest("li.menu-top").addClass("opensub")}).on("blur.adminmenu",".wp-submenu a",function(b){B.data("wp-responsive")||a(b.target).closest("li.menu-top").removeClass("opensub")}).find("li.wp-has-submenu.wp-not-current-submenu").on("focusin.adminmenu",function(){c(a(this))})),p=a("div.wrap h2:first"),p.nextAll("div.updated, div.error, div.notice").addClass("below-h2"),a("div.updated, div.error, div.notice").not(".below-h2, .inline").insertAfter(p),a(".notice.is-dismissible").each(function(){var b=a(this),c=a('<button type="button" class="notice-dismiss"><span class="screen-reader-text"></span></button>'),d=commonL10n.dismiss||"";c.find(".screen-reader-text").text(d),b.append(c),c.on("click.wp-dismiss-notice",function(c){c.preventDefault(),b.fadeTo(100,0,function(){a(this).slideUp(100,function(){a(this).remove()})})})}),screenMeta.init(),a("tbody").children().children(".check-column").find(":checkbox").click(function(b){if("undefined"==b.shiftKey)return!0;if(b.shiftKey){if(!q)return!0;h=a(q).closest("form").find(":checkbox"),i=h.index(q),j=h.index(this),k=a(this).prop("checked"),i>0&&j>0&&i!=j&&(l=j>i?h.slice(i,j):h.slice(j,i),l.prop("checked",function(){return a(this).closest("tr").is(":visible")?k:!1}))}q=this;var c=a(this).closest("tbody").find(":checkbox").filter(":visible").not(":checked");return a(this).closest("table").children("thead, tfoot").find(":checkbox").prop("checked",function(){return 0===c.length}),!0}),a("thead, tfoot").find(".check-column :checkbox").on("click.wp-toggle-checkboxes",function(b){var c=a(this),d=c.closest("table"),e=c.prop("checked"),f=b.shiftKey||c.data("wp-toggle");d.children("tbody").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){return a(this).is(":hidden")?!1:f?!a(this).prop("checked"):e?!0:!1}),d.children("thead,  tfoot").filter(":visible").children().children(".check-column").find(":checkbox").prop("checked",function(){return f?!1:e?!0:!1})}),a("#wpbody-content").on({focusin:function(){clearTimeout(n),o=a(this).find(".row-actions"),a(".row-actions").not(this).removeClass("visible"),o.addClass("visible")},focusout:function(){n=setTimeout(function(){o.removeClass("visible")},30)}},"td.post-title, td.title, td.comment, .tags td.column-name, .bookmarks td.column-name, td.blogname, .users-network td.column-blogs, td.username, .dashboard-comment-wrap"),a("#default-password-nag-no").click(function(){return setUserSetting("default_password_nag","hide"),a("div.default-password-nag").hide(),!1}),a("#newcontent").bind("keydown.wpevent_InsertTab",function(b){var c,d,e,f,g,h=b.target;if(27==b.keyCode)return b.preventDefault(),void a(h).data("tab-out",!0);if(!(9!=b.keyCode||b.ctrlKey||b.altKey||b.shiftKey)){if(a(h).data("tab-out"))return void a(h).data("tab-out",!1);c=h.selectionStart,d=h.selectionEnd,e=h.value,document.selection?(h.focus(),g=document.selection.createRange(),g.text="    "):c>=0&&(f=this.scrollTop,h.value=e.substring(0,c).concat("    ",e.substring(d)),h.selectionStart=h.selectionEnd=c+1,this.scrollTop=f),b.stopPropagation&&b.stopPropagation(),b.preventDefault&&b.preventDefault()}}),r.length&&r.closest("form").submit(function(){-1==a('select[name="action"]').val()&&-1==a('select[name="action2"]').val()&&r.val()==s&&r.val("1")}),a('.search-box input[type="search"], .search-box input[type="submit"]').mousedown(function(){a('select[name^="action"]').val("-1")}),a("#contextual-help-link, #show-settings-link").on("focus.scroll-into-view",function(a){a.target.scrollIntoView&&a.target.scrollIntoView(!1)}),function(){function b(){c.prop("disabled",""===d.map(function(){return a(this).val()}).get().join(""))}var c,d,e=a("form.wp-upload-form");e.length&&(c=e.find('input[type="submit"]'),d=e.find('input[type="file"]'),b(),d.on("change",b))}(),t||(x.on("scroll.pin-menu",d),w.on("tinymce-editor-init.pin-menu",function(a,b){b.on("wp-autoresize",e)})),b.wpResponsive={init:function(){var c=this;w.on("wp-responsive-activate.wp-responsive",function(){c.activate()}).on("wp-responsive-deactivate.wp-responsive",function(){c.deactivate()}),a("#wp-admin-bar-menu-toggle a").attr("aria-expanded","false"),a("#wp-admin-bar-menu-toggle").on("click.wp-responsive",function(b){b.preventDefault(),A.toggleClass("wp-responsive-open"),A.hasClass("wp-responsive-open")?(a(this).find("a").attr("aria-expanded","true"),a("#adminmenu a:first").focus()):a(this).find("a").attr("aria-expanded","false")}),B.on("click.wp-responsive","li.wp-has-submenu > a",function(b){B.data("wp-responsive")&&(a(this).parent("li").toggleClass("selected"),b.preventDefault())}),c.trigger(),w.on("wp-window-resized.wp-responsive",a.proxy(this.trigger,this)),x.on("load.wp-responsive",function(){var a=navigator.userAgent.indexOf("AppleWebKit/")>-1?x.width():b.innerWidth;782>=a&&c.disableSortables()})},activate:function(){g(),y.hasClass("auto-fold")||y.addClass("auto-fold"),B.data("wp-responsive",1),this.disableSortables()},deactivate:function(){g(),B.removeData("wp-responsive"),this.enableSortables()},trigger:function(){var a;b.innerWidth&&(a=Math.max(b.innerWidth,document.documentElement.clientWidth),782>=a?G||(w.trigger("wp-responsive-activate"),G=!0):G&&(w.trigger("wp-responsive-deactivate"),G=!1),480>=a?this.enableOverlay():this.disableOverlay())},enableOverlay:function(){0===C.length&&(C=a('<div id="wp-responsive-overlay"></div>').insertAfter("#wpcontent").hide().on("click.wp-responsive",function(){D.find(".menupop.hover").removeClass("hover"),a(this).hide()})),E.on("click.wp-responsive",function(){C.show()})},disableOverlay:function(){E.off("click.wp-responsive"),C.hide()},disableSortables:function(){if(F.length)try{F.sortable("disable")}catch(a){}},enableSortables:function(){if(F.length)try{F.sortable("enable")}catch(a){}}},b.wpResponsive.init(),g(),w.on("wp-window-resized.pin-menu postboxes-columnchange.pin-menu postbox-toggled.pin-menu wp-collapse-menu.pin-menu wp-scroll-start.pin-menu",g)}),function(){function c(){a(document).trigger("wp-window-resized")}function d(){b.clearTimeout(e),e=b.setTimeout(c,200)}var e;a(b).on("resize.wp-fire-once",d)}(),function(){if("-ms-user-select"in document.documentElement.style&&navigator.userAgent.match(/IEMobile\/10\.0/)){var a=document.createElement("style");a.appendChild(document.createTextNode("@-ms-viewport{width:auto!important}")),document.getElementsByTagName("head")[0].appendChild(a)}}()}(jQuery,window);
\ No newline at end of file
index f43630a14a9ee6d243ba05d3e7444e2476e3fbe7..e211a41ff7fd4a6284d775d468dae90c2e96b349 100644 (file)
@@ -1,4 +1,4 @@
-/* globals _wpCustomizeHeader, _wpCustomizeBackground, _wpMediaViewsL10n */
+/* globals _wpCustomizeHeader, _wpCustomizeBackground, _wpMediaViewsL10n, MediaElementPlayer */
 (function( exports, $ ){
        var Container, focus, api = wp.customize;
 
@@ -17,6 +17,7 @@
 
                        this.id = id;
                        this.transport = this.transport || 'refresh';
+                       this._dirty = options.dirty || false;
 
                        this.bind( this.preview );
                },
                construct = this;
                params = params || {};
                focus = function () {
-                       construct.container.find( ':focusable:first' ).focus();
-                       construct.container[0].scrollIntoView( true );
+                       var focusContainer;
+                       if ( construct.extended( api.Panel ) && construct.expanded() ) {
+                               focusContainer = construct.container.find( '.control-panel-content:first' );
+                       } else {
+                               focusContainer = construct.container;
+                       }
+                       focusContainer.find( ':focusable:first' ).focus();
+                       focusContainer[0].scrollIntoView( true );
                };
                if ( params.completeCallback ) {
                        completeCallback = params.completeCallback;
                _toggleExpanded: function ( expanded, params ) {
                        var self = this;
                        params = params || {};
+                       var section = this, previousCompleteCallback = params.completeCallback;
+                       params.completeCallback = function () {
+                               if ( previousCompleteCallback ) {
+                                       previousCompleteCallback.apply( section, arguments );
+                               }
+                               if ( expanded ) {
+                                       section.container.trigger( 'expanded' );
+                               } else {
+                                       section.container.trigger( 'collapsed' );
+                               }
+                       };
                        if ( ( expanded && this.expanded.get() ) || ( ! expanded && ! this.expanded.get() ) ) {
                                params.unchanged = true;
                                self.onChangeExpanded( self.expanded.get(), params );
                }
        });
 
+       /**
+        * wp.customize.ThemesSection
+        *
+        * Custom section for themes that functions similarly to a backwards panel,
+        * and also handles the theme-details view rendering and navigation.
+        *
+        * @constructor
+        * @augments wp.customize.Section
+        * @augments wp.customize.Container
+        */
+       api.ThemesSection = api.Section.extend({
+               currentTheme: '',
+               overlay: '',
+               template: '',
+               screenshotQueue: null,
+               $window: $( window ),
+
+               /**
+                * @since 4.2.0
+                */
+               initialize: function () {
+                       this.$customizeSidebar = $( '.wp-full-overlay-sidebar-content:first' );
+                       return api.Section.prototype.initialize.apply( this, arguments );
+               },
+
+               /**
+                * @since 4.2.0
+                */
+               ready: function () {
+                       var section = this;
+                       section.overlay = section.container.find( '.theme-overlay' );
+                       section.template = wp.template( 'customize-themes-details-view' );
+
+                       // Bind global keyboard events.
+                       $( 'body' ).on( 'keyup', function( event ) {
+                               if ( ! section.overlay.find( '.theme-wrap' ).is( ':visible' ) ) {
+                                       return;
+                               }
+
+                               // Pressing the right arrow key fires a theme:next event
+                               if ( 39 === event.keyCode ) {
+                                       section.nextTheme();
+                               }
+
+                               // Pressing the left arrow key fires a theme:previous event
+                               if ( 37 === event.keyCode ) {
+                                       section.previousTheme();
+                               }
+
+                               // Pressing the escape key fires a theme:collapse event
+                               if ( 27 === event.keyCode ) {
+                                       section.closeDetails();
+                               }
+                       });
+
+                       _.bindAll( this, 'renderScreenshots' );
+               },
+
+               /**
+                * Override Section.isContextuallyActive method.
+                *
+                * Ignore the active states' of the contained theme controls, and just
+                * use the section's own active state instead. This ensures empty search
+                * results for themes to cause the section to become inactive.
+                *
+                * @since 4.2.0
+                *
+                * @returns {Boolean}
+                */
+               isContextuallyActive: function () {
+                       return this.active();
+               },
+
+               /**
+                * @since 4.2.0
+                */
+               attachEvents: function () {
+                       var section = this;
+
+                       // Expand/Collapse section/panel.
+                       section.container.find( '.change-theme, .customize-theme' ).on( 'click keydown', function( event ) {
+                               if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
+                                       return;
+                               }
+                               event.preventDefault(); // Keep this AFTER the key filter above
+
+                               if ( section.expanded() ) {
+                                       section.collapse();
+                               } else {
+                                       section.expand();
+                               }
+                       });
+
+                       // Theme navigation in details view.
+                       section.container.on( 'click keydown', '.left', function( event ) {
+                               if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
+                                       return;
+                               }
+
+                               event.preventDefault(); // Keep this AFTER the key filter above
+
+                               section.previousTheme();
+                       });
+
+                       section.container.on( 'click keydown', '.right', function( event ) {
+                               if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
+                                       return;
+                               }
+
+                               event.preventDefault(); // Keep this AFTER the key filter above
+
+                               section.nextTheme();
+                       });
+
+                       section.container.on( 'click keydown', '.theme-backdrop, .close', function( event ) {
+                               if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
+                                       return;
+                               }
+
+                               event.preventDefault(); // Keep this AFTER the key filter above
+
+                               section.closeDetails();
+                       });
+
+                       var renderScreenshots = _.throttle( _.bind( section.renderScreenshots, this ), 100 );
+                       section.container.on( 'input', '#themes-filter', function( event ) {
+                               var count,
+                                       term = event.currentTarget.value.toLowerCase().trim().replace( '-', ' ' ),
+                                       controls = section.controls();
+
+                               _.each( controls, function( control ) {
+                                       control.filter( term );
+                               });
+
+                               renderScreenshots();
+
+                               // Update theme count.
+                               count = section.container.find( 'li.customize-control:visible' ).length;
+                               section.container.find( '.theme-count' ).text( count );
+                       });
+
+                       // Pre-load the first 3 theme screenshots.
+                       api.bind( 'ready', function () {
+                               _.each( section.controls().slice( 0, 3 ), function ( control ) {
+                                       var img, src = control.params.theme.screenshot[0];
+                                       if ( src ) {
+                                               img = new Image();
+                                               img.src = src;
+                                       }
+                               });
+                       });
+               },
+
+               /**
+                * Update UI to reflect expanded state
+                *
+                * @since 4.2.0
+                *
+                * @param {Boolean}  expanded
+                * @param {Object}   args
+                * @param {Boolean}  args.unchanged
+                * @param {Callback} args.completeCallback
+                */
+               onChangeExpanded: function ( expanded, args ) {
+
+                       // Immediately call the complete callback if there were no changes
+                       if ( args.unchanged ) {
+                               if ( args.completeCallback ) {
+                                       args.completeCallback();
+                               }
+                               return;
+                       }
+
+                       // Note: there is a second argument 'args' passed
+                       var position, scroll,
+                               panel = this,
+                               section = panel.container.closest( '.accordion-section' ),
+                               overlay = section.closest( '.wp-full-overlay' ),
+                               container = section.closest( '.wp-full-overlay-sidebar-content' ),
+                               siblings = container.find( '.open' ),
+                               topPanel = overlay.find( '#customize-theme-controls > ul > .accordion-section > .accordion-section-title' ).add( '#customize-info > .accordion-section-title' ),
+                               customizeBtn = section.find( '.customize-theme' ),
+                               changeBtn = section.find( '.change-theme' ),
+                               content = section.find( '.control-panel-content' );
+
+                       if ( expanded ) {
+
+                               // Collapse any sibling sections/panels
+                               api.section.each( function ( otherSection ) {
+                                       if ( otherSection !== panel ) {
+                                               otherSection.collapse( { duration: args.duration } );
+                                       }
+                               });
+                               api.panel.each( function ( otherPanel ) {
+                                       otherPanel.collapse( { duration: 0 } );
+                               });
+
+                               content.show( 0, function() {
+                                       position = content.offset().top;
+                                       scroll = container.scrollTop();
+                                       content.css( 'margin-top', ( $( '#customize-header-actions' ).height() - position - scroll ) );
+                                       section.addClass( 'current-panel' );
+                                       overlay.addClass( 'in-themes-panel' );
+                                       container.scrollTop( 0 );
+                                       _.delay( panel.renderScreenshots, 10 ); // Wait for the controls
+                                       panel.$customizeSidebar.on( 'scroll.customize-themes-section', _.throttle( panel.renderScreenshots, 300 ) );
+                                       if ( args.completeCallback ) {
+                                               args.completeCallback();
+                                       }
+                               } );
+                               topPanel.attr( 'tabindex', '-1' );
+                               changeBtn.attr( 'tabindex', '-1' );
+                               customizeBtn.focus();
+                       } else {
+                               siblings.removeClass( 'open' );
+                               section.removeClass( 'current-panel' );
+                               overlay.removeClass( 'in-themes-panel' );
+                               panel.$customizeSidebar.off( 'scroll.customize-themes-section' );
+                               content.delay( 180 ).hide( 0, function() {
+                                       content.css( 'margin-top', 'inherit' ); // Reset
+                                       if ( args.completeCallback ) {
+                                               args.completeCallback();
+                                       }
+                               } );
+                               topPanel.attr( 'tabindex', '0' );
+                               customizeBtn.attr( 'tabindex', '0' );
+                               changeBtn.focus();
+                               container.scrollTop( 0 );
+                       }
+               },
+
+               /**
+                * Render control's screenshot if the control comes into view.
+                *
+                * @since 4.2.0
+                */
+               renderScreenshots: function( ) {
+                       var section = this;
+
+                       // Fill queue initially.
+                       if ( section.screenshotQueue === null ) {
+                               section.screenshotQueue = section.controls();
+                       }
+
+                       // Are all screenshots rendered?
+                       if ( ! section.screenshotQueue.length ) {
+                               return;
+                       }
+
+                       section.screenshotQueue = _.filter( section.screenshotQueue, function( control ) {
+                               var $imageWrapper = control.container.find( '.theme-screenshot' ),
+                                       $image = $imageWrapper.find( 'img' );
+
+                               if ( ! $image.length ) {
+                                       return false;
+                               }
+
+                               if ( $image.is( ':hidden' ) ) {
+                                       return true;
+                               }
+
+                               // Based on unveil.js.
+                               var wt = section.$window.scrollTop(),
+                                       wb = wt + section.$window.height(),
+                                       et = $image.offset().top,
+                                       ih = $imageWrapper.height(),
+                                       eb = et + ih,
+                                       threshold = ih * 3,
+                                       inView = eb >= wt - threshold && et <= wb + threshold;
+
+                               if ( inView ) {
+                                       control.container.trigger( 'render-screenshot' );
+                               }
+
+                               // If the image is in view return false so it's cleared from the queue.
+                               return ! inView;
+                       } );
+               },
+
+               /**
+                * Advance the modal to the next theme.
+                *
+                * @since 4.2.0
+                */
+               nextTheme: function () {
+                       var section = this;
+                       if ( section.getNextTheme() ) {
+                               section.showDetails( section.getNextTheme(), function() {
+                                       section.overlay.find( '.right' ).focus();
+                               } );
+                       }
+               },
+
+               /**
+                * Get the next theme model.
+                *
+                * @since 4.2.0
+                */
+               getNextTheme: function () {
+                       var control, next;
+                       control = api.control( 'theme_' + this.currentTheme );
+                       next = control.container.next( 'li.customize-control-theme' );
+                       if ( ! next.length ) {
+                               return false;
+                       }
+                       next = next[0].id.replace( 'customize-control-', '' );
+                       control = api.control( next );
+
+                       return control.params.theme;
+               },
+
+               /**
+                * Advance the modal to the previous theme.
+                *
+                * @since 4.2.0
+                */
+               previousTheme: function () {
+                       var section = this;
+                       if ( section.getPreviousTheme() ) {
+                               section.showDetails( section.getPreviousTheme(), function() {
+                                       section.overlay.find( '.left' ).focus();
+                               } );
+                       }
+               },
+
+               /**
+                * Get the previous theme model.
+                *
+                * @since 4.2.0
+                */
+               getPreviousTheme: function () {
+                       var control, previous;
+                       control = api.control( 'theme_' + this.currentTheme );
+                       previous = control.container.prev( 'li.customize-control-theme' );
+                       if ( ! previous.length ) {
+                               return false;
+                       }
+                       previous = previous[0].id.replace( 'customize-control-', '' );
+                       control = api.control( previous );
+
+                       return control.params.theme;
+               },
+
+               /**
+                * Disable buttons when we're viewing the first or last theme.
+                *
+                * @since 4.2.0
+                */
+               updateLimits: function () {
+                       if ( ! this.getNextTheme() ) {
+                               this.overlay.find( '.right' ).addClass( 'disabled' );
+                       }
+                       if ( ! this.getPreviousTheme() ) {
+                               this.overlay.find( '.left' ).addClass( 'disabled' );
+                       }
+               },
+
+               /**
+                * Render & show the theme details for a given theme model.
+                *
+                * @since 4.2.0
+                *
+                * @param {Object}   theme
+                */
+               showDetails: function ( theme, callback ) {
+                       var section = this;
+                       callback = callback || function(){};
+                       section.currentTheme = theme.id;
+                       section.overlay.html( section.template( theme ) )
+                               .fadeIn( 'fast' )
+                               .focus();
+                       $( 'body' ).addClass( 'modal-open' );
+                       section.containFocus( section.overlay );
+                       section.updateLimits();
+                       callback();
+               },
+
+               /**
+                * Close the theme details modal.
+                *
+                * @since 4.2.0
+                */
+               closeDetails: function () {
+                       $( 'body' ).removeClass( 'modal-open' );
+                       this.overlay.fadeOut( 'fast' );
+                       api.control( 'theme_' + this.currentTheme ).focus();
+               },
+
+               /**
+                * Keep tab focus within the theme details modal.
+                *
+                * @since 4.2.0
+                */
+               containFocus: function( el ) {
+                       var tabbables;
+
+                       el.on( 'keydown', function( event ) {
+
+                               // Return if it's not the tab key
+                               // When navigating with prev/next focus is already handled
+                               if ( 9 !== event.keyCode ) {
+                                       return;
+                               }
+
+                               // uses jQuery UI to get the tabbable elements
+                               tabbables = $( ':tabbable', el );
+
+                               // Keep focus within the overlay
+                               if ( tabbables.last()[0] === event.target && ! event.shiftKey ) {
+                                       tabbables.first().focus();
+                                       return false;
+                               } else if ( tabbables.first()[0] === event.target && event.shiftKey ) {
+                                       tabbables.last().focus();
+                                       return false;
+                               }
+                       });
+               }
+       });
+
        /**
         * @since 4.1.0
         *
                                panel = this,
                                section = panel.container.closest( '.accordion-section' ),
                                overlay = section.closest( '.wp-full-overlay' ),
-                               container = section.closest( '.accordion-container' ),
+                               container = section.closest( '.wp-full-overlay-sidebar-content' ),
                                siblings = container.find( '.open' ),
                                topPanel = overlay.find( '#customize-theme-controls > ul > .accordion-section > .accordion-section-title' ).add( '#customize-info > .accordion-section-title' ),
                                backBtn = overlay.find( '.control-panel-back' ),
                                });
 
                                content.show( 0, function() {
+                                       content.parent().show();
                                        position = content.offset().top;
                                        scroll = container.scrollTop();
-                                       content.css( 'margin-top', ( 45 - position - scroll ) );
+                                       content.css( 'margin-top', ( $( '#customize-header-actions' ).height() - position - scroll ) );
                                        section.addClass( 'current-panel' );
                                        overlay.addClass( 'in-sub-panel' );
                                        container.scrollTop( 0 );
        });
 
        /**
-        * An upload control, which utilizes the media modal.
+        * A control that implements the media modal.
         *
         * @class
         * @augments wp.customize.Control
         * @augments wp.customize.Class
         */
-       api.UploadControl = api.Control.extend({
+       api.MediaControl = api.Control.extend({
 
                /**
                 * When the control's DOM structure is ready,
                ready: function() {
                        var control = this;
                        // Shortcut so that we don't have to use _.bind every time we add a callback.
-                       _.bindAll( control, 'restoreDefault', 'removeFile', 'openFrame', 'select' );
+                       _.bindAll( control, 'restoreDefault', 'removeFile', 'openFrame', 'select', 'pausePlayer' );
 
                        // Bind events, with delegation to facilitate re-rendering.
                        control.container.on( 'click keydown', '.upload-button', control.openFrame );
+                       control.container.on( 'click keydown', '.upload-button', control.pausePlayer );
                        control.container.on( 'click keydown', '.thumbnail-image img', control.openFrame );
                        control.container.on( 'click keydown', '.default-button', control.restoreDefault );
+                       control.container.on( 'click keydown', '.remove-button', control.pausePlayer );
                        control.container.on( 'click keydown', '.remove-button', control.removeFile );
+                       control.container.on( 'click keydown', '.remove-button', control.cleanupPlayer );
+
+                       // Resize the player controls when it becomes visible (ie when section is expanded)
+                       api.section( control.section() ).container
+                               .on( 'expanded', function() {
+                                       if ( control.player ) {
+                                               control.player.setControlsSize();
+                                       }
+                               })
+                               .on( 'collapsed', function() {
+                                       control.pausePlayer();
+                               });
 
                        // Re-render whenever the control's setting changes.
                        control.setting.bind( function () { control.renderContent(); } );
                },
 
+               pausePlayer: function () {
+                       this.player && this.player.pause();
+               },
+
+               cleanupPlayer: function () {
+                       this.player && wp.media.mixin.removePlayer( this.player );
+               },
+
                /**
                 * Open the media modal.
                 */
                 */
                select: function() {
                        // Get the attachment from the modal frame.
-                       var attachment = this.frame.state().get( 'selection' ).first().toJSON();
+                       var node,
+                               attachment = this.frame.state().get( 'selection' ).first().toJSON(),
+                               mejsSettings = window._wpmejsSettings || {};
 
                        this.params.attachment = attachment;
 
                        // Set the Customizer setting; the callback takes care of rendering.
-                       this.setting( attachment.url );
+                       this.setting( attachment.id );
+                       node = this.container.find( 'audio, video' ).get(0);
+
+                       // Initialize audio/video previews.
+                       if ( node ) {
+                               this.player = new MediaElementPlayer( node, mejsSettings );
+                       } else {
+                               this.cleanupPlayer();
+                       }
                },
 
                /**
 
                        this.params.attachment = this.params.defaultAttachment;
                        this.setting( this.params.defaultAttachment.url );
-               },
+               },
 
                /**
                 * Called when the "Remove" link is clicked. Empties the setting.
                        this.params.attachment = {};
                        this.setting( '' );
                        this.renderContent(); // Not bound to setting change when emptying.
+               }
+       });
+
+       /**
+        * An upload control, which utilizes the media modal.
+        *
+        * @class
+        * @augments wp.customize.MediaControl
+        * @augments wp.customize.Control
+        * @augments wp.customize.Class
+        */
+       api.UploadControl = api.MediaControl.extend({
+
+               /**
+                * Callback handler for when an attachment is selected in the media modal.
+                * Gets the selected image information, and sets it within the control.
+                */
+               select: function() {
+                       // Get the attachment from the modal frame.
+                       var node,
+                               attachment = this.frame.state().get( 'selection' ).first().toJSON(),
+                               mejsSettings = window._wpmejsSettings || {};
+
+                       this.params.attachment = attachment;
+
+                       // Set the Customizer setting; the callback takes care of rendering.
+                       this.setting( attachment.url );
+                       node = this.container.find( 'audio, video' ).get(0);
+
+                       // Initialize audio/video previews.
+                       if ( node ) {
+                               this.player = new MediaElementPlayer( node, mejsSettings );
+                       } else {
+                               this.cleanupPlayer();
+                       }
                },
 
                // @deprecated
         *
         * @class
         * @augments wp.customize.UploadControl
+        * @augments wp.customize.MediaControl
         * @augments wp.customize.Control
         * @augments wp.customize.Class
         */
         *
         * @class
         * @augments wp.customize.UploadControl
+        * @augments wp.customize.MediaControl
         * @augments wp.customize.Control
         * @augments wp.customize.Class
         */
         */
        api.HeaderControl = api.Control.extend({
                ready: function() {
-                       this.btnRemove        = $('#customize-control-header_image .actions .remove');
-                       this.btnNew           = $('#customize-control-header_image .actions .new');
+                       this.btnRemove = $('#customize-control-header_image .actions .remove');
+                       this.btnNew    = $('#customize-control-header_image .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();
+                       api.HeaderTool.currentHeader = this.getInitialHeaderImage();
 
                        new api.HeaderTool.CurrentView({
                                model: api.HeaderTool.currentHeader,
                        ]);
                },
 
+               /**
+                * Returns a new instance of api.HeaderTool.ImageModel based on the currently
+                * saved header image (if any).
+                *
+                * @since 4.2.0
+                *
+                * @returns {Object} Options
+                */
+               getInitialHeaderImage: function() {
+                       if ( ! api.get().header_image || ! api.get().header_image_data || _.contains( [ 'remove-header', 'random-default-image', 'random-uploaded-image' ], api.get().header_image ) ) {
+                               return new api.HeaderTool.ImageModel();
+                       }
+
+                       // Get the matching uploaded image object.
+                       var currentHeaderObject = _.find( _wpCustomizeHeader.uploads, function( imageObj ) {
+                               return ( imageObj.attachment_id === api.get().header_image_data.attachment_id );
+                       } );
+                       // Fall back to raw current header image.
+                       if ( ! currentHeaderObject ) {
+                               currentHeaderObject = {
+                                       url: api.get().header_image,
+                                       thumbnail_url: api.get().header_image,
+                                       attachment_id: api.get().header_image_data.attachment_id
+                               };
+                       }
+
+                       return new api.HeaderTool.ImageModel({
+                               header: currentHeaderObject,
+                               choice: currentHeaderObject.url.split( '/' ).pop()
+                       });
+               },
+
                /**
                 * Returns a set of options, computed from the attached image data and
                 * theme-specific data, to be fed to the imgAreaSelect plugin in
 
        });
 
+       /**
+        * wp.customize.ThemeControl
+        *
+        * @constructor
+        * @augments wp.customize.Control
+        * @augments wp.customize.Class
+        */
+       api.ThemeControl = api.Control.extend({
+
+               touchDrag: false,
+               isRendered: false,
+
+               /**
+                * Defer rendering the theme control until the section is displayed.
+                *
+                * @since 4.2.0
+                */
+               renderContent: function () {
+                       var control = this,
+                               renderContentArgs = arguments;
+
+                       api.section( control.section(), function( section ) {
+                               if ( section.expanded() ) {
+                                       api.Control.prototype.renderContent.apply( control, renderContentArgs );
+                                       control.isRendered = true;
+                               } else {
+                                       section.expanded.bind( function( expanded ) {
+                                               if ( expanded && ! control.isRendered ) {
+                                                       api.Control.prototype.renderContent.apply( control, renderContentArgs );
+                                                       control.isRendered = true;
+                                               }
+                                       } );
+                               }
+                       } );
+               },
+
+               /**
+                * @since 4.2.0
+                */
+               ready: function() {
+                       var control = this;
+
+                       control.container.on( 'touchmove', '.theme', function() {
+                               control.touchDrag = true;
+                       });
+
+                       // Bind details view trigger.
+                       control.container.on( 'click keydown touchend', '.theme', function( event ) {
+                               if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
+                                       return;
+                               }
+
+                               // Bail if the user scrolled on a touch device.
+                               if ( control.touchDrag === true ) {
+                                       return control.touchDrag = false;
+                               }
+
+                               // Prevent the modal from showing when the user clicks the action button.
+                               if ( $( event.target ).is( '.theme-actions .button' ) ) {
+                                       return;
+                               }
+
+                               var previewUrl = $( this ).data( 'previewUrl' );
+
+                               $( '.wp-full-overlay' ).addClass( 'customize-loading' );
+
+                               window.parent.location = previewUrl;
+                       });
+
+                       control.container.on( 'click keydown', '.theme-actions .theme-details', function( event ) {
+                               if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
+                                       return;
+                               }
+
+                               event.preventDefault(); // Keep this AFTER the key filter above
+
+                               api.section( control.section() ).showDetails( control.params.theme );
+                       });
+
+                       control.container.on( 'render-screenshot', function() {
+                               var $screenshot = $( this ).find( 'img' ),
+                                       source = $screenshot.data( 'src' );
+
+                               if ( source ) {
+                                       $screenshot.attr( 'src', source );
+                               }
+                       });
+               },
+
+               /**
+                * Show or hide the theme based on the presence of the term in the title, description, and author.
+                *
+                * @since 4.2.0
+                */
+               filter: function( term ) {
+                       var control = this,
+                               haystack = control.params.theme.name + ' ' +
+                                       control.params.theme.description + ' ' +
+                                       control.params.theme.tags + ' ' +
+                                       control.params.theme.author;
+                       haystack = haystack.toLowerCase().replace( '-', ' ' );
+                       if ( -1 !== haystack.search( term ) ) {
+                               control.activate();
+                       } else {
+                               control.deactivate();
+                       }
+               }
+       });
+
        // Change objects contained within the main customize object to Settings.
        api.defaultConstructor = api.Setting;
 
                        this.bind( 'ready', this._ready );
 
                        this.bind( 'ready', function ( data ) {
+
+                               this.container.addClass( 'iframe-ready' );
+
                                if ( ! data ) {
                                        return;
                                }
                                response = response.slice( 0, index ) + response.slice( index + signature.length );
 
                                // Create the iframe and inject the html content.
-                               self.iframe = $('<iframe />').appendTo( self.container );
+                               self.iframe = $( '<iframe />', { 'title': api.l10n.previewIframeTitle } ).appendTo( self.container );
 
                                // Bind load event after the iframe has been added to the page;
                                // otherwise it will fire when injected into the DOM.
                                deferred.rejectWith( self, [ 'logged out' ] );
                        };
 
-                       if ( this.triedLogin )
+                       if ( this.triedLogin ) {
                                return reject();
+                       }
 
                        // Check if we have an admin cookie.
                        $.get( api.settings.url.ajax, {
                        }).fail( reject ).done( function( response ) {
                                var iframe;
 
-                               if ( '1' !== response )
+                               if ( '1' !== response ) {
                                        reject();
+                               }
 
-                               iframe = $('<iframe src="' + self.previewUrl() + '" />').hide();
+                               iframe = $( '<iframe />', { 'src': self.previewUrl(), 'title': api.l10n.previewIframeTitle } ).hide();
                                iframe.appendTo( self.container );
                                iframe.load( function() {
                                        self.triedLogin = true;
                tmpl = api.settings.documentTitleTmpl;
                title = tmpl.replace( '%s', documentTitle );
                document.title = title;
-               if ( window !== window.parent ) {
-                       window.parent.document.title = document.title;
-               }
+               api.trigger( 'title', title );
        };
 
        /**
                refresh: function() {
                        var self = this;
 
+                       // Display loading indicator
+                       this.send( 'loading-initiated' );
+
                        this.abort();
 
                        this.loading = new api.PreviewFrame({
                        });
 
                        this.loading.fail( function( reason, location ) {
-                               if ( 'redirect' === reason && location )
+                               self.send( 'loading-failed' );
+                               if ( 'redirect' === reason && location ) {
                                        self.previewUrl( location );
+                               }
 
                                if ( 'logged out' === reason ) {
                                        if ( self.preview ) {
                                        self.login().done( self.refresh );
                                }
 
-                               if ( 'cheatin' === reason )
+                               if ( 'cheatin' === reason ) {
                                        self.cheatin();
+                               }
                        });
                },
 
                                url:     api.settings.url.login
                        });
 
-                       iframe = $('<iframe src="' + api.settings.url.login + '" />').appendTo( this.container );
+                       iframe = $( '<iframe />', { 'src': api.settings.url.login, 'title': api.l10n.loginIframeTitle } ).appendTo( this.container );
 
                        messenger.targetWindow( iframe[0].contentWindow );
 
-                       messenger.bind( 'login', function() {
-                               iframe.remove();
-                               messenger.destroy();
-                               delete previewer._login;
-                               deferred.resolve();
+                       messenger.bind( 'login', function () {
+                               var refreshNonces = previewer.refreshNonces();
+
+                               refreshNonces.always( function() {
+                                       iframe.remove();
+                                       messenger.destroy();
+                                       delete previewer._login;
+                               });
+
+                               refreshNonces.done( function() {
+                                       deferred.resolve();
+                               });
+
+                               refreshNonces.fail( function() {
+                                       previewer.cheatin();
+                                       deferred.reject();
+                               });
                        });
 
                        return this._login;
 
                cheatin: function() {
                        $( document.body ).empty().addClass('cheatin').append( '<p>' + api.l10n.cheatin + '</p>' );
+               },
+
+               refreshNonces: function() {
+                       var request, deferred = $.Deferred();
+
+                       deferred.promise();
+
+                       request = wp.ajax.post( 'customize_refresh_nonces', {
+                               wp_customize: 'on',
+                               theme: api.settings.theme.stylesheet
+                       });
+
+                       request.done( function( response ) {
+                               api.trigger( 'nonce-refresh', response );
+                               deferred.resolve();
+                       });
+
+                       request.fail( function() {
+                               deferred.reject();
+                       });
+
+                       return deferred;
                }
        });
 
        api.controlConstructor = {
-               color:  api.ColorControl,
-               upload: api.UploadControl,
-               image:  api.ImageControl,
-               header: api.HeaderControl,
-               background: api.BackgroundControl
+               color:      api.ColorControl,
+               media:      api.MediaControl,
+               upload:     api.UploadControl,
+               image:      api.ImageControl,
+               header:     api.HeaderControl,
+               background: api.BackgroundControl,
+               theme:      api.ThemeControl
        };
        api.panelConstructor = {};
-       api.sectionConstructor = {};
+       api.sectionConstructor = {
+               themes: api.ThemesSection
+       };
 
        $( function() {
                api.settings = window._wpCustomizeSettings;
                        },
 
                        save: function() {
-                               var self  = this,
-                                       query = $.extend( this.query(), {
-                                               action: 'customize_save',
-                                               nonce:  this.nonce.save
-                                       } ),
+                               var self = this,
                                        processing = api.state( 'processing' ),
                                        submitWhenDoneProcessing,
                                        submit;
                                body.addClass( 'saving' );
 
                                submit = function () {
-                                       var request = $.post( api.settings.url.ajax, query );
+                                       var request, query;
+                                       query = $.extend( self.query(), {
+                                               nonce:  self.nonce.save
+                                       } );
+                                       request = wp.ajax.post( 'customize_save', query );
 
                                        api.trigger( 'save', request );
 
                                                body.removeClass( 'saving' );
                                        } );
 
-                                       request.done( function( response ) {
-                                               // Check if the user is logged out.
+                                       request.fail( function ( response ) {
                                                if ( '0' === response ) {
+                                                       response = 'not_logged_in';
+                                               } else if ( '-1' === response ) {
+                                                       // Back-compat in case any other check_ajax_referer() call is dying
+                                                       response = 'invalid_nonce';
+                                               }
+
+                                               if ( 'invalid_nonce' === response ) {
+                                                       self.cheatin();
+                                               } else if ( 'not_logged_in' === response ) {
                                                        self.preview.iframe.hide();
                                                        self.login().done( function() {
                                                                self.save();
                                                                self.preview.iframe.show();
                                                        } );
-                                                       return;
-                                               }
-
-                                               // Check for cheaters.
-                                               if ( '-1' === response ) {
-                                                       self.cheatin();
-                                                       return;
                                                }
+                                               api.trigger( 'error', response );
+                                       } );
 
+                                       request.done( function( response ) {
                                                // Clear setting dirty states
                                                api.each( function ( value ) {
                                                        value._dirty = false;
                                                } );
-                                               api.trigger( 'saved' );
+
+                                               api.trigger( 'saved', response );
                                        } );
                                };
 
                        $.extend( this.nonce, nonce );
                });
 
+               // Refresh the nonces if login sends updated nonces over.
+               api.bind( 'nonce-refresh', function( nonce ) {
+                       $.extend( api.settings.nonce, nonce );
+                       $.extend( api.previewer.nonce, nonce );
+               });
+
                // Create Settings
                $.each( api.settings.settings, function( id, data ) {
                        api.create( id, id, data.value, {
                                transport: data.transport,
-                               previewer: api.previewer
+                               previewer: api.previewer,
+                               dirty: !! data.dirty
                        } );
                });
 
                        event.preventDefault();
                });
 
+               $( '.customize-controls-preview-toggle' ).on( 'click keydown', function( event ) {
+                       if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
+                               return;
+                       }
+
+                       overlay.toggleClass( 'preview-only' );
+                       event.preventDefault();
+               });
+
                // Bind site title display to the corresponding field.
                if ( title.length ) {
                        $( '#customize-control-blogname input' ).on( 'input', function() {
                // Prompt user with AYS dialog if leaving the Customizer with unsaved changes
                $( window ).on( 'beforeunload', function () {
                        if ( ! api.state( 'saved' )() ) {
+                               setTimeout( function() {
+                                       overlay.removeClass( 'customize-loading' );
+                               }, 1 );
                                return api.l10n.saveAlert;
                        }
                } );
                                window.location = api.settings.url.activated;
                });
 
+               // Pass titles to the parent
+               api.bind( 'title', function( newTitle ) {
+                       parent.send( 'title', newTitle );
+               });
+
                // Initialize the connection with the parent frame.
                parent.send( 'ready' );
 
index e00e2abcfd7da5e8964dff124f87244163c2b36b..2e8a4665522e89c3ccffc3b320d7903ff1cfaf8c 100644 (file)
@@ -1 +1,2 @@
-!function(a,b){var c,d,e=wp.customize;e.Setting=e.Value.extend({initialize:function(a,b,c){e.Value.prototype.initialize.call(this,b,c),this.id=a,this.transport=this.transport||"refresh",this.bind(this.preview)},preview:function(){switch(this.transport){case"refresh":return this.previewer.refresh();case"postMessage":return this.previewer.send("setting",[this.id,this()])}}}),e.utils={},e.utils.bubbleChildValueChanges=function(a,c){b.each(c,function(b,c){a[c].bind(function(b,c){a.parent&&b!==c&&a.parent.trigger("change",a)})})},d=function(a){var b,c,d;b=this,a=a||{},d=function(){b.container.find(":focusable:first").focus(),b.container[0].scrollIntoView(!0)},a.completeCallback?(c=a.completeCallback,a.completeCallback=function(){d(),c()}):a.completeCallback=d,b.expand?b.expand(a):a.completeCallback()},e.utils.prioritySort=function(a,b){return a.priority()===b.priority()&&"number"==typeof a.params.instanceNumber&&"number"==typeof b.params.instanceNumber?a.params.instanceNumber-b.params.instanceNumber:a.priority()-b.priority()},e.utils.isKeydownButNotEnterEvent=function(a){return"keydown"===a.type&&13!==a.which},e.utils.areElementListsEqual=function(a,c){var d=a.length===c.length&&-1===_.indexOf(_.map(_.zip(a,c),function(a){return b(a[0]).is(a[1])}),!1);return d},c=e.Class.extend({defaultActiveArguments:{duration:"fast",completeCallback:b.noop},defaultExpandedArguments:{duration:"fast",completeCallback:b.noop},initialize:function(a,c){var d=this;d.id=a,d.params={},b.extend(d,c||{}),d.container=b(d.params.content),d.deferred={embedded:new b.Deferred},d.priority=new e.Value,d.active=new e.Value,d.activeArgumentsQueue=[],d.expanded=new e.Value,d.expandedArgumentsQueue=[],d.active.bind(function(a){var c=d.activeArgumentsQueue.shift();c=b.extend({},d.defaultActiveArguments,c),a=a&&d.isContextuallyActive(),d.onChangeActive(a,c)}),d.expanded.bind(function(a){var c=d.expandedArgumentsQueue.shift();c=b.extend({},d.defaultExpandedArguments,c),d.onChangeExpanded(a,c)}),d.attachEvents(),e.utils.bubbleChildValueChanges(d,["priority","active"]),d.priority.set(isNaN(d.params.priority)?100:d.params.priority),d.active.set(d.params.active),d.expanded.set(!1)},ready:function(){},_children:function(a,b){var c=this,d=[];return e[b].each(function(b){b[a].get()===c.id&&d.push(b)}),d.sort(e.utils.prioritySort),d},isContextuallyActive:function(){throw new Error("Container.isContextuallyActive() must be overridden in a subclass.")},onChangeActive:function(a,c){var d="resolved"===e.previewer.deferred.active.state()?c.duration:0;b.contains(document,this.container)?a?this.container.stop(!0,!0).slideDown(d,c.completeCallback):this.container.stop(!0,!0).slideUp(d,c.completeCallback):(this.container.toggle(a),c.completeCallback&&c.completeCallback())},_toggleActive:function(a,b){var c=this;return b=b||{},a&&this.active.get()||!a&&!this.active.get()?(b.unchanged=!0,c.onChangeActive(c.active.get(),b),!1):(b.unchanged=!1,this.activeArgumentsQueue.push(b),this.active.set(a),!0)},activate:function(a){return this._toggleActive(!0,a)},deactivate:function(a){return this._toggleActive(!1,a)},onChangeExpanded:function(){throw new Error("Must override with subclass.")},_toggleExpanded:function(a,b){var c=this;return b=b||{},a&&this.expanded.get()||!a&&!this.expanded.get()?(b.unchanged=!0,c.onChangeExpanded(c.expanded.get(),b),!1):(b.unchanged=!1,this.expandedArgumentsQueue.push(b),this.expanded.set(a),!0)},expand:function(a){return this._toggleExpanded(!0,a)},collapse:function(a){return this._toggleExpanded(!1,a)},focus:d}),e.Section=c.extend({initialize:function(a,d){var f=this;c.prototype.initialize.call(f,a,d),f.id=a,f.panel=new e.Value,f.panel.bind(function(a){b(f.container).toggleClass("control-subsection",!!a)}),f.panel.set(f.params.panel||""),e.utils.bubbleChildValueChanges(f,["panel"]),f.embed(),f.deferred.embedded.done(function(){f.ready()})},embed:function(){var a,c=this;a=function(a){var d;a?e.panel(a,function(a){a.deferred.embedded.done(function(){d=a.container.find("ul:first"),c.container.parent().is(d)||d.append(c.container),c.deferred.embedded.resolve()})}):(d=b("#customize-theme-controls").children("ul"),c.container.parent().is(d)||d.append(c.container),c.deferred.embedded.resolve())},c.panel.bind(a),a(c.panel.get())},attachEvents:function(){var a=this;a.container.find(".accordion-section-title").on("click keydown",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),a.expanded()?a.collapse():a.expand())})},isContextuallyActive:function(){var a=this,b=a.controls(),c=0;return _(b).each(function(a){a.active()&&(c+=1)}),0!==c},controls:function(){return this._children("section","control")},onChangeExpanded:function(a,b){var c,d=this,f=d.container.find(".accordion-section-content");a?(c=b.unchanged?b.completeCallback:function(){f.stop().slideDown(b.duration,b.completeCallback),d.container.addClass("open")},b.allowMultiple||e.section.each(function(a){a!==d&&a.collapse({duration:b.duration})}),d.panel()?e.panel(d.panel()).expand({duration:b.duration,completeCallback:c}):c()):(d.container.removeClass("open"),f.slideUp(b.duration,b.completeCallback))}}),e.Panel=c.extend({initialize:function(a,b){var d=this;c.prototype.initialize.call(d,a,b),d.embed(),d.deferred.embedded.done(function(){d.ready()})},embed:function(){var a=this,c=b("#customize-theme-controls > ul");a.container.parent().is(c)||c.append(a.container),a.deferred.embedded.resolve()},attachEvents:function(){var a,b=this;b.container.find(".accordion-section-title").on("click keydown",function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),b.expanded()||b.expand())}),a=b.container.find(".panel-meta:first"),a.find("> .accordion-section-title").on("click keydown",function(c){if(!e.utils.isKeydownButNotEnterEvent(c)&&(c.preventDefault(),!a.hasClass("cannot-expand"))){var d=a.find(".accordion-section-content:first");a.hasClass("open")?(a.toggleClass("open"),d.slideUp(b.defaultExpandedArguments.duration)):(d.slideDown(b.defaultExpandedArguments.duration),a.toggleClass("open"))}})},sections:function(){return this._children("panel","section")},isContextuallyActive:function(){var a=this,b=a.sections(),c=0;return _(b).each(function(a){a.active()&&a.isContextuallyActive()&&(c+=1)}),0!==c},onChangeExpanded:function(a,b){if(b.unchanged)return void(b.completeCallback&&b.completeCallback());var c,d,f=this,g=f.container.closest(".accordion-section"),h=g.closest(".wp-full-overlay"),i=g.closest(".accordion-container"),j=i.find(".open"),k=h.find("#customize-theme-controls > ul > .accordion-section > .accordion-section-title").add("#customize-info > .accordion-section-title"),l=h.find(".control-panel-back"),m=g.find(".accordion-section-title").first(),n=g.find(".control-panel-content");a?(e.section.each(function(a){a.panel()||a.collapse({duration:0})}),e.panel.each(function(a){f!==a&&a.collapse({duration:0})}),n.show(0,function(){c=n.offset().top,d=i.scrollTop(),n.css("margin-top",45-c-d),g.addClass("current-panel"),h.addClass("in-sub-panel"),i.scrollTop(0),b.completeCallback&&b.completeCallback()}),k.attr("tabindex","-1"),l.attr("tabindex","0"),l.focus()):(j.removeClass("open"),g.removeClass("current-panel"),h.removeClass("in-sub-panel"),n.delay(180).hide(0,function(){n.css("margin-top","inherit"),b.completeCallback&&b.completeCallback()}),k.attr("tabindex","0"),l.attr("tabindex","-1"),m.focus(),i.scrollTop(0))}}),e.Control=e.Class.extend({defaultActiveArguments:{duration:"fast",completeCallback:b.noop},initialize:function(a,c){var d,f,g,h=this;h.params={},b.extend(h,c||{}),h.id=a,h.selector="#customize-control-"+a.replace(/\]/g,"").replace(/\[/g,"-"),h.templateSelector="customize-control-"+h.params.type+"-content",h.container=b(h.params.content?h.params.content:h.selector),h.deferred={embedded:new b.Deferred},h.section=new e.Value,h.priority=new e.Value,h.active=new e.Value,h.activeArgumentsQueue=[],h.elements=[],d=h.container.find("[data-customize-setting-link]"),f={},d.each(function(){var a,c=b(this);if(c.is(":radio")){if(a=c.prop("name"),f[a])return;f[a]=!0,c=d.filter('[name="'+a+'"]')}e(c.data("customizeSettingLink"),function(a){var b=new e.Element(c);h.elements.push(b),b.sync(a),b.set(a())})}),h.active.bind(function(a){var c=h.activeArgumentsQueue.shift();c=b.extend({},h.defaultActiveArguments,c),h.onChangeActive(a,c)}),h.section.set(h.params.section),h.priority.set(isNaN(h.params.priority)?10:h.params.priority),h.active.set(h.params.active),e.utils.bubbleChildValueChanges(h,["section","priority","active"]),g=b.map(h.params.settings,function(a){return a}),e.apply(e,g.concat(function(){var a;h.settings={};for(a in h.params.settings)h.settings[a]=e(h.params.settings[a]);h.setting=h.settings["default"]||null,h.embed()})),h.deferred.embedded.done(function(){h.ready()})},embed:function(){var a,b=this;a=function(a){var c;a&&e.section(a,function(a){a.deferred.embedded.done(function(){c=a.container.find("ul:first"),b.container.parent().is(c)||(c.append(b.container),b.renderContent()),b.deferred.embedded.resolve()})})},b.section.bind(a),a(b.section.get())},ready:function(){},expand:function(a){e.section(this.section()).expand(a)},focus:d,onChangeActive:function(a,c){b.contains(document,this.container)?a?this.container.slideDown(c.duration,c.completeCallback):this.container.slideUp(c.duration,c.completeCallback):(this.container.toggle(a),c.completeCallback&&c.completeCallback())},toggle:function(a){return this.onChangeActive(a,this.defaultActiveArguments)},activate:c.prototype.activate,deactivate:c.prototype.deactivate,_toggleActive:c.prototype._toggleActive,dropdownInit:function(){var a=this,b=this.container.find(".dropdown-status"),c=this.params,d=!1,f=function(a){"string"==typeof a&&c.statuses&&c.statuses[a]?b.html(c.statuses[a]).show():b.hide()};this.container.on("click keydown",".dropdown",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),d||a.container.toggleClass("open"),a.container.hasClass("open")&&a.container.parent().parent().find("li.library-selected").focus(),d=!0,setTimeout(function(){d=!1},400))}),this.setting.bind(f),f(this.setting())},renderContent:function(){var a,c=this;0!==b("#tmpl-"+c.templateSelector).length&&(a=wp.template(c.templateSelector),a&&c.container&&c.container.html(a(c.params)))}}),e.ColorControl=e.Control.extend({ready:function(){var a=this,b=this.container.find(".color-picker-hex");b.val(a.setting()).wpColorPicker({change:function(){a.setting.set(b.wpColorPicker("color"))},clear:function(){a.setting.set(!1)}}),this.setting.bind(function(a){b.val(a),b.wpColorPicker("color",a)})}}),e.UploadControl=e.Control.extend({ready:function(){var a=this;_.bindAll(a,"restoreDefault","removeFile","openFrame","select"),a.container.on("click keydown",".upload-button",a.openFrame),a.container.on("click keydown",".thumbnail-image img",a.openFrame),a.container.on("click keydown",".default-button",a.restoreDefault),a.container.on("click keydown",".remove-button",a.removeFile),a.setting.bind(function(){a.renderContent()})},openFrame:function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.frame||this.initFrame(),this.frame.open())},initFrame:function(){this.frame=wp.media({button:{text:this.params.button_labels.frame_button},states:[new wp.media.controller.Library({title:this.params.button_labels.frame_title,library:wp.media.query({type:this.params.mime_type}),multiple:!1,date:!1})]}),this.frame.on("select",this.select)},select:function(){var a=this.frame.state().get("selection").first().toJSON();this.params.attachment=a,this.setting(a.url)},restoreDefault:function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.params.attachment=this.params.defaultAttachment,this.setting(this.params.defaultAttachment.url))},removeFile:function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.params.attachment={},this.setting(""),this.renderContent())},success:function(){},removerVisibility:function(){}}),e.ImageControl=e.UploadControl.extend({thumbnailSrc:function(){}}),e.BackgroundControl=e.UploadControl.extend({ready:function(){e.UploadControl.prototype.ready.apply(this,arguments)},select:function(){e.UploadControl.prototype.select.apply(this,arguments),wp.ajax.post("custom-background-add",{nonce:_wpCustomizeBackground.nonces.add,wp_customize:"on",theme:e.settings.theme.stylesheet,attachment_id:this.params.attachment.id})}}),e.HeaderControl=e.Control.extend({ready:function(){this.btnRemove=b("#customize-control-header_image .actions .remove"),this.btnNew=b("#customize-control-header_image .actions .new"),_.bindAll(this,"openMedia","removeImage"),this.btnNew.on("click",this.openMedia),this.btnRemove.on("click",this.removeImage),e.HeaderTool.currentHeader=new e.HeaderTool.ImageModel,new e.HeaderTool.CurrentView({model:e.HeaderTool.currentHeader,el:"#customize-control-header_image .current .container"}),new e.HeaderTool.ChoiceListView({collection:e.HeaderTool.UploadsList=new e.HeaderTool.ChoiceList,el:"#customize-control-header_image .choices .uploaded .list"}),new e.HeaderTool.ChoiceListView({collection:e.HeaderTool.DefaultsList=new e.HeaderTool.DefaultsList,el:"#customize-control-header_image .choices .default .list"}),e.HeaderTool.combinedList=e.HeaderTool.CombinedList=new e.HeaderTool.CombinedList([e.HeaderTool.UploadsList,e.HeaderTool.DefaultsList])},calculateImageSelectOptions:function(a,b){var c,d,f,g,h,i,j=parseInt(_wpCustomizeHeader.data.width,10),k=parseInt(_wpCustomizeHeader.data.height,10),l=!!parseInt(_wpCustomizeHeader.data["flex-width"],10),m=!!parseInt(_wpCustomizeHeader.data["flex-height"],10);return h=a.get("width"),g=a.get("height"),this.headerImage=new e.HeaderTool.ImageModel,this.headerImage.set({themeWidth:j,themeHeight:k,themeFlexWidth:l,themeFlexHeight:m,imageWidth:h,imageHeight:g}),b.set("canSkipCrop",!this.headerImage.shouldBeCropped()),c=j/k,d=h,f=g,d/f>c?(k=f,j=k*c):(j=d,k=j/c),i={handles:!0,keys:!0,instance:!0,persistent:!0,imageWidth:h,imageHeight:g,x1:0,y1:0,x2:j,y2:k},m===!1&&l===!1&&(i.aspectRatio=j+":"+k),m===!1&&(i.maxHeight=k),l===!1&&(i.maxWidth=j),i},openMedia:function(a){var b=_wpMediaViewsL10n;a.preventDefault(),this.frame=wp.media({button:{text:b.selectAndCrop,close:!1},states:[new wp.media.controller.Library({title:b.chooseImage,library:wp.media.query({type:"image"}),multiple:!1,date:!1,priority:20,suggestedWidth:_wpCustomizeHeader.data.width,suggestedHeight:_wpCustomizeHeader.data.height}),new wp.media.controller.Cropper({imgSelectOptions:this.calculateImageSelectOptions})]}),this.frame.on("select",this.onSelect,this),this.frame.on("cropped",this.onCropped,this),this.frame.on("skippedcrop",this.onSkippedCrop,this),this.frame.open()},onSelect:function(){this.frame.setState("cropper")},onCropped:function(a){var b=a.post_content,c=a.attachment_id,d=a.width,e=a.height;this.setImageFromURL(b,c,d,e)},onSkippedCrop:function(a){var b=a.get("url"),c=a.get("width"),d=a.get("height");this.setImageFromURL(b,a.id,c,d)},setImageFromURL:function(a,b,c,d){var f,g={};g.url=a,g.thumbnail_url=a,g.timestamp=_.now(),b&&(g.attachment_id=b),c&&(g.width=c),d&&(g.height=d),f=new e.HeaderTool.ImageModel({header:g,choice:a.split("/").pop()}),e.HeaderTool.UploadsList.add(f),e.HeaderTool.currentHeader.set(f.toJSON()),f.save(),f.importImage()},removeImage:function(){e.HeaderTool.currentHeader.trigger("hide"),e.HeaderTool.CombinedList.trigger("control:removeImage")}}),e.defaultConstructor=e.Setting,e.control=new e.Values({defaultConstructor:e.Control}),e.section=new e.Values({defaultConstructor:e.Section}),e.panel=new e.Values({defaultConstructor:e.Panel}),e.PreviewFrame=e.Messenger.extend({sensitivity:2e3,initialize:function(a,c){var d=b.Deferred();d.promise(this),this.container=a.container,this.signature=a.signature,b.extend(a,{channel:e.PreviewFrame.uuid()}),e.Messenger.prototype.initialize.call(this,a,c),this.add("previewUrl",a.previewUrl),this.query=b.extend(a.query||{},{customize_messenger_channel:this.channel()}),this.run(d)},run:function(a){var c=this,d=!1,f=!1;this._ready&&this.unbind("ready",this._ready),this._ready=function(){f=!0,d&&a.resolveWith(c)},this.bind("ready",this._ready),this.bind("ready",function(a){if(a){var b={panel:a.activePanels,section:a.activeSections,control:a.activeControls};_(b).each(function(a,b){e[b].each(function(b,c){var d=!(!a||!a[c]);b.active(d)})})}}),this.request=b.ajax(this.previewUrl(),{type:"POST",data:this.query,xhrFields:{withCredentials:!0}}),this.request.fail(function(){a.rejectWith(c,["request failure"])}),this.request.done(function(e){var g,h=c.request.getResponseHeader("Location"),i=c.signature;return h&&h!==c.previewUrl()?void a.rejectWith(c,["redirect",h]):"0"===e?void c.login(a):"-1"===e?void a.rejectWith(c,["cheatin"]):(g=e.lastIndexOf(i),-1===g||g<e.lastIndexOf("</html>")?void a.rejectWith(c,["unsigned"]):(e=e.slice(0,g)+e.slice(g+i.length),c.iframe=b("<iframe />").appendTo(c.container),c.iframe.one("load",function(){d=!0,f?a.resolveWith(c):setTimeout(function(){a.rejectWith(c,["ready timeout"])},c.sensitivity)}),c.targetWindow(c.iframe[0].contentWindow),c.targetWindow().document.open(),c.targetWindow().document.write(e),void c.targetWindow().document.close()))})},login:function(a){var c,d=this;return c=function(){a.rejectWith(d,["logged out"])},this.triedLogin?c():void b.get(e.settings.url.ajax,{action:"logged-in"}).fail(c).done(function(e){var f;"1"!==e&&c(),f=b('<iframe src="'+d.previewUrl()+'" />').hide(),f.appendTo(d.container),f.load(function(){d.triedLogin=!0,f.remove(),d.run(a)})})},destroy:function(){e.Messenger.prototype.destroy.call(this),this.request.abort(),this.iframe&&this.iframe.remove(),delete this.request,delete this.iframe,delete this.targetWindow}}),function(){var a=0;e.PreviewFrame.uuid=function(){return"preview-"+a++}}(),e.setDocumentTitle=function(a){var b,c;b=e.settings.documentTitleTmpl,c=b.replace("%s",a),document.title=c,window!==window.parent&&(window.parent.document.title=document.title)},e.Previewer=e.Messenger.extend({refreshBuffer:250,initialize:function(a,c){var d=this,f=/^https?/;b.extend(this,c||{}),this.deferred={active:b.Deferred()},this.refresh=function(a){var b,c=a.refresh,d=function(){b=null,c.call(a)};return function(){if("number"!=typeof b){if(!a.loading)return d();a.abort()}clearTimeout(b),b=setTimeout(d,a.refreshBuffer)}}(this),this.container=e.ensure(a.container),this.allowedUrls=a.allowedUrls,this.signature=a.signature,a.url=window.location.href,e.Messenger.prototype.initialize.call(this,a),this.add("scheme",this.origin()).link(this.origin).setter(function(a){var b=a.match(f);return b?b[0]:""}),this.add("previewUrl",a.previewUrl).setter(function(a){var c;return/\/wp-admin(\/|$)/.test(a.replace(/[#?].*$/,""))?null:(b.each([a.replace(f,d.scheme()),a],function(a,e){return b.each(d.allowedUrls,function(a,b){var d;return b=b.replace(/\/+$/,""),d=e.replace(b,""),0===e.indexOf(b)&&/^([/#?]|$)/.test(d)?(c=e,!1):void 0}),c?!1:void 0}),c?c:null)}),this.previewUrl.bind(this.refresh),this.scroll=0,this.bind("scroll",function(a){this.scroll=a}),this.bind("url",this.previewUrl),this.bind("documentTitle",function(a){e.setDocumentTitle(a)})},query:function(){},abort:function(){this.loading&&(this.loading.destroy(),delete this.loading)},refresh:function(){var a=this;this.abort(),this.loading=new e.PreviewFrame({url:this.url(),previewUrl:this.previewUrl(),query:this.query()||{},container:this.container,signature:this.signature}),this.loading.done(function(){this.bind("synced",function(){a.preview&&a.preview.destroy(),a.preview=this,delete a.loading,a.targetWindow(this.targetWindow()),a.channel(this.channel()),a.deferred.active.resolve(),a.send("active")}),this.send("sync",{scroll:a.scroll,settings:e.get()})}),this.loading.fail(function(b,c){"redirect"===b&&c&&a.previewUrl(c),"logged out"===b&&(a.preview&&(a.preview.destroy(),delete a.preview),a.login().done(a.refresh)),"cheatin"===b&&a.cheatin()})},login:function(){var a,c,d,f=this;return this._login?this._login:(a=b.Deferred(),this._login=a.promise(),c=new e.Messenger({channel:"login",url:e.settings.url.login}),d=b('<iframe src="'+e.settings.url.login+'" />').appendTo(this.container),c.targetWindow(d[0].contentWindow),c.bind("login",function(){d.remove(),c.destroy(),delete f._login,a.resolve()}),this._login)},cheatin:function(){b(document.body).empty().addClass("cheatin").append("<p>"+e.l10n.cheatin+"</p>")}}),e.controlConstructor={color:e.ColorControl,upload:e.UploadControl,image:e.ImageControl,header:e.HeaderControl,background:e.BackgroundControl},e.panelConstructor={},e.sectionConstructor={},b(function(){if(e.settings=window._wpCustomizeSettings,e.l10n=window._wpCustomizeControlsL10n,e.settings){if(!b.support.postMessage||!b.support.cors&&e.settings.isCrossDomain)return window.location=e.settings.url.fallback;var a,c,d=b(document.body),f=d.children(".wp-full-overlay"),g=b("#customize-info .theme-name.site-title"),h=b(".customize-controls-close"),i=b("#save");b("#customize-controls").on("keydown",function(a){var c=13===a.which,d=b(a.target);c&&(d.is("input:not([type=button])")||d.is("select"))&&a.preventDefault()}),b("#customize-info").find("> .accordion-section-title").on("click keydown",function(a){if(!e.utils.isKeydownButNotEnterEvent(a)){a.preventDefault();var c=b(this).parent(),d=c.find(".accordion-section-content:first");c.hasClass("cannot-expand")||(c.hasClass("open")?(c.toggleClass("open"),d.slideUp(e.Panel.prototype.defaultExpandedArguments.duration)):(d.slideDown(e.Panel.prototype.defaultExpandedArguments.duration),c.toggleClass("open")))}}),e.previewer=new e.Previewer({container:"#customize-preview",form:"#customize-controls",previewUrl:e.settings.url.preview,allowedUrls:e.settings.url.allowed,signature:"WP_CUSTOMIZER_SIGNATURE"},{nonce:e.settings.nonce,query:function(){var a={};return e.each(function(b,c){b._dirty&&(a[c]=b())}),{wp_customize:"on",theme:e.settings.theme.stylesheet,customized:JSON.stringify(a),nonce:this.nonce.preview}},save:function(){var a,c,f=this,g=b.extend(this.query(),{action:"customize_save",nonce:this.nonce.save}),h=e.state("processing");d.addClass("saving"),c=function(){var a=b.post(e.settings.url.ajax,g);e.trigger("save",a),a.always(function(){d.removeClass("saving")}),a.done(function(a){return"0"===a?(f.preview.iframe.hide(),void f.login().done(function(){f.save(),f.preview.iframe.show()})):"-1"===a?void f.cheatin():(e.each(function(a){a._dirty=!1}),void e.trigger("saved"))})},0===h()?c():(a=function(){0===h()&&(e.state.unbind("change",a),c())},e.state.bind("change",a))}}),e.previewer.bind("nonce",function(a){b.extend(this.nonce,a)}),b.each(e.settings.settings,function(a,b){e.create(a,a,b.value,{transport:b.transport,previewer:e.previewer})}),b.each(e.settings.panels,function(a,b){var c,d=e.panelConstructor[b.type]||e.Panel;c=new d(a,{params:b}),e.panel.add(a,c)}),b.each(e.settings.sections,function(a,b){var c,d=e.sectionConstructor[b.type]||e.Section;c=new d(a,{params:b}),e.section.add(a,c)}),b.each(e.settings.controls,function(a,b){var c,d=e.controlConstructor[b.type]||e.Control;c=new d(a,{params:b,previewer:e.previewer}),e.control.add(a,c)}),_.each(["panel","section","control"],function(a){var b,c=e.settings.autofocus[a];c&&e[a](c)&&(b=e[a](c),b.deferred.embedded.done(function(){e.previewer.deferred.active.done(function(){b.focus()})}))}),e.reflowPaneContents=_.bind(function(){var a,c,d,f=[],g=!1;document.activeElement&&(c=b(document.activeElement)),e.panel.each(function(b){var c=b.sections(),d=_.pluck(c,"container");f.push(b),a=b.container.find("ul:first"),e.utils.areElementListsEqual(d,a.children("[id]"))||(_(c).each(function(b){a.append(b.container)}),g=!0)}),e.section.each(function(b){var c=b.controls(),d=_.pluck(c,"container");b.panel()||f.push(b),a=b.container.find("ul:first"),e.utils.areElementListsEqual(d,a.children("[id]"))||(_(c).each(function(b){a.append(b.container)}),g=!0)}),f.sort(e.utils.prioritySort),d=_.pluck(f,"container"),a=b("#customize-theme-controls").children("ul"),e.utils.areElementListsEqual(d,a.children())||(_(f).each(function(b){a.append(b.container)}),g=!0),e.panel.each(function(a){var b=a.active();a.active.callbacks.fireWith(a.active,[b,b])}),e.section.each(function(a){var b=a.active();a.active.callbacks.fireWith(a.active,[b,b])}),g&&c&&c.focus()},e),e.bind("ready",e.reflowPaneContents),e.reflowPaneContents=_.debounce(e.reflowPaneContents,100),b([e.panel,e.section,e.control]).each(function(a,b){b.bind("add",e.reflowPaneContents),b.bind("change",e.reflowPaneContents),b.bind("remove",e.reflowPaneContents)}),e.previewer.previewUrl()?e.previewer.refresh():e.previewer.previewUrl(e.settings.url.home),function(){var a=new e.Values,b=a.create("saved"),c=a.create("activated"),d=a.create("processing");a.bind("change",function(){c()?b()?(i.val(e.l10n.saved).prop("disabled",!0),h.find(".screen-reader-text").text(e.l10n.close)):(i.val(e.l10n.save).prop("disabled",!1),h.find(".screen-reader-text").text(e.l10n.cancel)):(i.val(e.l10n.activate).prop("disabled",!1),h.find(".screen-reader-text").text(e.l10n.cancel))}),b(!0),c(e.settings.theme.active),d(0),e.bind("change",function(){a("saved").set(!1)}),e.bind("saved",function(){a("saved").set(!0),a("activated").set(!0)}),c.bind(function(a){a&&e.trigger("activated")}),e.state=a}(),i.click(function(a){e.previewer.save(),a.preventDefault()}).keydown(function(a){9!==a.which&&(13===a.which&&e.previewer.save(),a.preventDefault())}),b("#customize-header-actions").on("click keydown",".control-panel-back",function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),e.panel.each(function(a){a.collapse()}))}),h.keydown(function(a){9!==a.which&&(13===a.which&&this.click(),a.preventDefault())}),b(".collapse-sidebar").on("click keydown",function(a){e.utils.isKeydownButNotEnterEvent(a)||(f.toggleClass("collapsed").toggleClass("expanded"),a.preventDefault())}),g.length&&b("#customize-control-blogname input").on("input",function(){g.text(this.value)}),a=new e.Messenger({url:e.settings.url.parent,channel:"loader"}),a.bind("back",function(){h.on("click.customize-controls-close",function(b){b.preventDefault(),a.send("close")})}),b(window).on("beforeunload",function(){return e.state("saved")()?void 0:e.l10n.saveAlert}),b.each(["saved","change"],function(b,c){e.bind(c,function(){a.send(c)})}),e.bind("activated",function(){a.targetWindow()?a.send("activated",e.settings.url.activated):e.settings.url.activated&&(window.location=e.settings.url.activated)}),a.send("ready"),b.each({background_image:{controls:["background_repeat","background_position_x","background_attachment"],callback:function(a){return!!a}},show_on_front:{controls:["page_on_front","page_for_posts"],callback:function(a){return"page"===a}},header_textcolor:{controls:["header_textcolor"],callback:function(a){return"blank"!==a}}},function(a,c){e(a,function(a){b.each(c.controls,function(b,d){e.control(d,function(b){var d=function(a){b.container.toggle(c.callback(a))};d(a.get()),a.bind(d)})})})}),e.control("display_header_text",function(a){var b="";a.elements[0].unsync(e("header_textcolor")),a.element=new e.Element(a.container.find("input")),a.element.set("blank"!==a.setting()),a.element.bind(function(c){c||(b=e("header_textcolor").get()),a.setting.set(c?b:"blank")}),a.setting.bind(function(b){a.element.set("blank"!==b)})}),e.trigger("ready"),c=h,c.focus(),setTimeout(function(){c.focus()},200)}})}(wp,jQuery);
\ No newline at end of file
+!function(a,b){var c,d,e=wp.customize;e.Setting=e.Value.extend({initialize:function(a,b,c){e.Value.prototype.initialize.call(this,b,c),this.id=a,this.transport=this.transport||"refresh",this._dirty=c.dirty||!1,this.bind(this.preview)},preview:function(){switch(this.transport){case"refresh":return this.previewer.refresh();case"postMessage":return this.previewer.send("setting",[this.id,this()])}}}),e.utils={},e.utils.bubbleChildValueChanges=function(a,c){b.each(c,function(b,c){a[c].bind(function(b,c){a.parent&&b!==c&&a.parent.trigger("change",a)})})},d=function(a){var b,c,d;b=this,a=a||{},d=function(){var a;a=b.extended(e.Panel)&&b.expanded()?b.container.find(".control-panel-content:first"):b.container,a.find(":focusable:first").focus(),a[0].scrollIntoView(!0)},a.completeCallback?(c=a.completeCallback,a.completeCallback=function(){d(),c()}):a.completeCallback=d,b.expand?b.expand(a):a.completeCallback()},e.utils.prioritySort=function(a,b){return a.priority()===b.priority()&&"number"==typeof a.params.instanceNumber&&"number"==typeof b.params.instanceNumber?a.params.instanceNumber-b.params.instanceNumber:a.priority()-b.priority()},e.utils.isKeydownButNotEnterEvent=function(a){return"keydown"===a.type&&13!==a.which},e.utils.areElementListsEqual=function(a,c){var d=a.length===c.length&&-1===_.indexOf(_.map(_.zip(a,c),function(a){return b(a[0]).is(a[1])}),!1);return d},c=e.Class.extend({defaultActiveArguments:{duration:"fast",completeCallback:b.noop},defaultExpandedArguments:{duration:"fast",completeCallback:b.noop},initialize:function(a,c){var d=this;d.id=a,d.params={},b.extend(d,c||{}),d.container=b(d.params.content),d.deferred={embedded:new b.Deferred},d.priority=new e.Value,d.active=new e.Value,d.activeArgumentsQueue=[],d.expanded=new e.Value,d.expandedArgumentsQueue=[],d.active.bind(function(a){var c=d.activeArgumentsQueue.shift();c=b.extend({},d.defaultActiveArguments,c),a=a&&d.isContextuallyActive(),d.onChangeActive(a,c)}),d.expanded.bind(function(a){var c=d.expandedArgumentsQueue.shift();c=b.extend({},d.defaultExpandedArguments,c),d.onChangeExpanded(a,c)}),d.attachEvents(),e.utils.bubbleChildValueChanges(d,["priority","active"]),d.priority.set(isNaN(d.params.priority)?100:d.params.priority),d.active.set(d.params.active),d.expanded.set(!1)},ready:function(){},_children:function(a,b){var c=this,d=[];return e[b].each(function(b){b[a].get()===c.id&&d.push(b)}),d.sort(e.utils.prioritySort),d},isContextuallyActive:function(){throw new Error("Container.isContextuallyActive() must be overridden in a subclass.")},onChangeActive:function(a,c){var d="resolved"===e.previewer.deferred.active.state()?c.duration:0;b.contains(document,this.container)?a?this.container.stop(!0,!0).slideDown(d,c.completeCallback):this.container.stop(!0,!0).slideUp(d,c.completeCallback):(this.container.toggle(a),c.completeCallback&&c.completeCallback())},_toggleActive:function(a,b){var c=this;return b=b||{},a&&this.active.get()||!a&&!this.active.get()?(b.unchanged=!0,c.onChangeActive(c.active.get(),b),!1):(b.unchanged=!1,this.activeArgumentsQueue.push(b),this.active.set(a),!0)},activate:function(a){return this._toggleActive(!0,a)},deactivate:function(a){return this._toggleActive(!1,a)},onChangeExpanded:function(){throw new Error("Must override with subclass.")},_toggleExpanded:function(a,b){var c=this;b=b||{};var d=this,e=b.completeCallback;return b.completeCallback=function(){e&&e.apply(d,arguments),d.container.trigger(a?"expanded":"collapsed")},a&&this.expanded.get()||!a&&!this.expanded.get()?(b.unchanged=!0,c.onChangeExpanded(c.expanded.get(),b),!1):(b.unchanged=!1,this.expandedArgumentsQueue.push(b),this.expanded.set(a),!0)},expand:function(a){return this._toggleExpanded(!0,a)},collapse:function(a){return this._toggleExpanded(!1,a)},focus:d}),e.Section=c.extend({initialize:function(a,d){var f=this;c.prototype.initialize.call(f,a,d),f.id=a,f.panel=new e.Value,f.panel.bind(function(a){b(f.container).toggleClass("control-subsection",!!a)}),f.panel.set(f.params.panel||""),e.utils.bubbleChildValueChanges(f,["panel"]),f.embed(),f.deferred.embedded.done(function(){f.ready()})},embed:function(){var a,c=this;a=function(a){var d;a?e.panel(a,function(a){a.deferred.embedded.done(function(){d=a.container.find("ul:first"),c.container.parent().is(d)||d.append(c.container),c.deferred.embedded.resolve()})}):(d=b("#customize-theme-controls").children("ul"),c.container.parent().is(d)||d.append(c.container),c.deferred.embedded.resolve())},c.panel.bind(a),a(c.panel.get())},attachEvents:function(){var a=this;a.container.find(".accordion-section-title").on("click keydown",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),a.expanded()?a.collapse():a.expand())})},isContextuallyActive:function(){var a=this,b=a.controls(),c=0;return _(b).each(function(a){a.active()&&(c+=1)}),0!==c},controls:function(){return this._children("section","control")},onChangeExpanded:function(a,b){var c,d=this,f=d.container.find(".accordion-section-content");a?(c=b.unchanged?b.completeCallback:function(){f.stop().slideDown(b.duration,b.completeCallback),d.container.addClass("open")},b.allowMultiple||e.section.each(function(a){a!==d&&a.collapse({duration:b.duration})}),d.panel()?e.panel(d.panel()).expand({duration:b.duration,completeCallback:c}):c()):(d.container.removeClass("open"),f.slideUp(b.duration,b.completeCallback))}}),e.ThemesSection=e.Section.extend({currentTheme:"",overlay:"",template:"",screenshotQueue:null,$window:b(window),initialize:function(){return this.$customizeSidebar=b(".wp-full-overlay-sidebar-content:first"),e.Section.prototype.initialize.apply(this,arguments)},ready:function(){var a=this;a.overlay=a.container.find(".theme-overlay"),a.template=wp.template("customize-themes-details-view"),b("body").on("keyup",function(b){a.overlay.find(".theme-wrap").is(":visible")&&(39===b.keyCode&&a.nextTheme(),37===b.keyCode&&a.previousTheme(),27===b.keyCode&&a.closeDetails())}),_.bindAll(this,"renderScreenshots")},isContextuallyActive:function(){return this.active()},attachEvents:function(){var a=this;a.container.find(".change-theme, .customize-theme").on("click keydown",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),a.expanded()?a.collapse():a.expand())}),a.container.on("click keydown",".left",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),a.previousTheme())}),a.container.on("click keydown",".right",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),a.nextTheme())}),a.container.on("click keydown",".theme-backdrop, .close",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),a.closeDetails())});var b=_.throttle(_.bind(a.renderScreenshots,this),100);a.container.on("input","#themes-filter",function(c){var d,e=c.currentTarget.value.toLowerCase().trim().replace("-"," "),f=a.controls();_.each(f,function(a){a.filter(e)}),b(),d=a.container.find("li.customize-control:visible").length,a.container.find(".theme-count").text(d)}),e.bind("ready",function(){_.each(a.controls().slice(0,3),function(a){var b,c=a.params.theme.screenshot[0];c&&(b=new Image,b.src=c)})})},onChangeExpanded:function(a,c){if(c.unchanged)return void(c.completeCallback&&c.completeCallback());var d,f,g=this,h=g.container.closest(".accordion-section"),i=h.closest(".wp-full-overlay"),j=h.closest(".wp-full-overlay-sidebar-content"),k=j.find(".open"),l=i.find("#customize-theme-controls > ul > .accordion-section > .accordion-section-title").add("#customize-info > .accordion-section-title"),m=h.find(".customize-theme"),n=h.find(".change-theme"),o=h.find(".control-panel-content");a?(e.section.each(function(a){a!==g&&a.collapse({duration:c.duration})}),e.panel.each(function(a){a.collapse({duration:0})}),o.show(0,function(){d=o.offset().top,f=j.scrollTop(),o.css("margin-top",b("#customize-header-actions").height()-d-f),h.addClass("current-panel"),i.addClass("in-themes-panel"),j.scrollTop(0),_.delay(g.renderScreenshots,10),g.$customizeSidebar.on("scroll.customize-themes-section",_.throttle(g.renderScreenshots,300)),c.completeCallback&&c.completeCallback()}),l.attr("tabindex","-1"),n.attr("tabindex","-1"),m.focus()):(k.removeClass("open"),h.removeClass("current-panel"),i.removeClass("in-themes-panel"),g.$customizeSidebar.off("scroll.customize-themes-section"),o.delay(180).hide(0,function(){o.css("margin-top","inherit"),c.completeCallback&&c.completeCallback()}),l.attr("tabindex","0"),m.attr("tabindex","0"),n.focus(),j.scrollTop(0))},renderScreenshots:function(){var a=this;null===a.screenshotQueue&&(a.screenshotQueue=a.controls()),a.screenshotQueue.length&&(a.screenshotQueue=_.filter(a.screenshotQueue,function(b){var c=b.container.find(".theme-screenshot"),d=c.find("img");if(!d.length)return!1;if(d.is(":hidden"))return!0;var e=a.$window.scrollTop(),f=e+a.$window.height(),g=d.offset().top,h=c.height(),i=g+h,j=3*h,k=i>=e-j&&f+j>=g;return k&&b.container.trigger("render-screenshot"),!k}))},nextTheme:function(){var a=this;a.getNextTheme()&&a.showDetails(a.getNextTheme(),function(){a.overlay.find(".right").focus()})},getNextTheme:function(){var a,b;return a=e.control("theme_"+this.currentTheme),b=a.container.next("li.customize-control-theme"),b.length?(b=b[0].id.replace("customize-control-",""),a=e.control(b),a.params.theme):!1},previousTheme:function(){var a=this;a.getPreviousTheme()&&a.showDetails(a.getPreviousTheme(),function(){a.overlay.find(".left").focus()})},getPreviousTheme:function(){var a,b;return a=e.control("theme_"+this.currentTheme),b=a.container.prev("li.customize-control-theme"),b.length?(b=b[0].id.replace("customize-control-",""),a=e.control(b),a.params.theme):!1},updateLimits:function(){this.getNextTheme()||this.overlay.find(".right").addClass("disabled"),this.getPreviousTheme()||this.overlay.find(".left").addClass("disabled")},showDetails:function(a,c){var d=this;c=c||function(){},d.currentTheme=a.id,d.overlay.html(d.template(a)).fadeIn("fast").focus(),b("body").addClass("modal-open"),d.containFocus(d.overlay),d.updateLimits(),c()},closeDetails:function(){b("body").removeClass("modal-open"),this.overlay.fadeOut("fast"),e.control("theme_"+this.currentTheme).focus()},containFocus:function(a){var c;a.on("keydown",function(d){return 9===d.keyCode?(c=b(":tabbable",a),c.last()[0]!==d.target||d.shiftKey?c.first()[0]===d.target&&d.shiftKey?(c.last().focus(),!1):void 0:(c.first().focus(),!1)):void 0})}}),e.Panel=c.extend({initialize:function(a,b){var d=this;c.prototype.initialize.call(d,a,b),d.embed(),d.deferred.embedded.done(function(){d.ready()})},embed:function(){var a=this,c=b("#customize-theme-controls > ul");a.container.parent().is(c)||c.append(a.container),a.deferred.embedded.resolve()},attachEvents:function(){var a,b=this;b.container.find(".accordion-section-title").on("click keydown",function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),b.expanded()||b.expand())}),a=b.container.find(".panel-meta:first"),a.find("> .accordion-section-title").on("click keydown",function(c){if(!e.utils.isKeydownButNotEnterEvent(c)&&(c.preventDefault(),!a.hasClass("cannot-expand"))){var d=a.find(".accordion-section-content:first");a.hasClass("open")?(a.toggleClass("open"),d.slideUp(b.defaultExpandedArguments.duration)):(d.slideDown(b.defaultExpandedArguments.duration),a.toggleClass("open"))}})},sections:function(){return this._children("panel","section")},isContextuallyActive:function(){var a=this,b=a.sections(),c=0;return _(b).each(function(a){a.active()&&a.isContextuallyActive()&&(c+=1)}),0!==c},onChangeExpanded:function(a,c){if(c.unchanged)return void(c.completeCallback&&c.completeCallback());var d,f,g=this,h=g.container.closest(".accordion-section"),i=h.closest(".wp-full-overlay"),j=h.closest(".wp-full-overlay-sidebar-content"),k=j.find(".open"),l=i.find("#customize-theme-controls > ul > .accordion-section > .accordion-section-title").add("#customize-info > .accordion-section-title"),m=i.find(".control-panel-back"),n=h.find(".accordion-section-title").first(),o=h.find(".control-panel-content");a?(e.section.each(function(a){a.panel()||a.collapse({duration:0})}),e.panel.each(function(a){g!==a&&a.collapse({duration:0})}),o.show(0,function(){o.parent().show(),d=o.offset().top,f=j.scrollTop(),o.css("margin-top",b("#customize-header-actions").height()-d-f),h.addClass("current-panel"),i.addClass("in-sub-panel"),j.scrollTop(0),c.completeCallback&&c.completeCallback()}),l.attr("tabindex","-1"),m.attr("tabindex","0"),m.focus()):(k.removeClass("open"),h.removeClass("current-panel"),i.removeClass("in-sub-panel"),o.delay(180).hide(0,function(){o.css("margin-top","inherit"),c.completeCallback&&c.completeCallback()}),l.attr("tabindex","0"),m.attr("tabindex","-1"),n.focus(),j.scrollTop(0))}}),e.Control=e.Class.extend({defaultActiveArguments:{duration:"fast",completeCallback:b.noop},initialize:function(a,c){var d,f,g,h=this;h.params={},b.extend(h,c||{}),h.id=a,h.selector="#customize-control-"+a.replace(/\]/g,"").replace(/\[/g,"-"),h.templateSelector="customize-control-"+h.params.type+"-content",h.container=b(h.params.content?h.params.content:h.selector),h.deferred={embedded:new b.Deferred},h.section=new e.Value,h.priority=new e.Value,h.active=new e.Value,h.activeArgumentsQueue=[],h.elements=[],d=h.container.find("[data-customize-setting-link]"),f={},d.each(function(){var a,c=b(this);if(c.is(":radio")){if(a=c.prop("name"),f[a])return;f[a]=!0,c=d.filter('[name="'+a+'"]')}e(c.data("customizeSettingLink"),function(a){var b=new e.Element(c);h.elements.push(b),b.sync(a),b.set(a())})}),h.active.bind(function(a){var c=h.activeArgumentsQueue.shift();c=b.extend({},h.defaultActiveArguments,c),h.onChangeActive(a,c)}),h.section.set(h.params.section),h.priority.set(isNaN(h.params.priority)?10:h.params.priority),h.active.set(h.params.active),e.utils.bubbleChildValueChanges(h,["section","priority","active"]),g=b.map(h.params.settings,function(a){return a}),e.apply(e,g.concat(function(){var a;h.settings={};for(a in h.params.settings)h.settings[a]=e(h.params.settings[a]);h.setting=h.settings["default"]||null,h.embed()})),h.deferred.embedded.done(function(){h.ready()})},embed:function(){var a,b=this;a=function(a){var c;a&&e.section(a,function(a){a.deferred.embedded.done(function(){c=a.container.find("ul:first"),b.container.parent().is(c)||(c.append(b.container),b.renderContent()),b.deferred.embedded.resolve()})})},b.section.bind(a),a(b.section.get())},ready:function(){},expand:function(a){e.section(this.section()).expand(a)},focus:d,onChangeActive:function(a,c){b.contains(document,this.container)?a?this.container.slideDown(c.duration,c.completeCallback):this.container.slideUp(c.duration,c.completeCallback):(this.container.toggle(a),c.completeCallback&&c.completeCallback())},toggle:function(a){return this.onChangeActive(a,this.defaultActiveArguments)},activate:c.prototype.activate,deactivate:c.prototype.deactivate,_toggleActive:c.prototype._toggleActive,dropdownInit:function(){var a=this,b=this.container.find(".dropdown-status"),c=this.params,d=!1,f=function(a){"string"==typeof a&&c.statuses&&c.statuses[a]?b.html(c.statuses[a]).show():b.hide()};this.container.on("click keydown",".dropdown",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),d||a.container.toggleClass("open"),a.container.hasClass("open")&&a.container.parent().parent().find("li.library-selected").focus(),d=!0,setTimeout(function(){d=!1},400))}),this.setting.bind(f),f(this.setting())},renderContent:function(){var a,c=this;0!==b("#tmpl-"+c.templateSelector).length&&(a=wp.template(c.templateSelector),a&&c.container&&c.container.html(a(c.params)))}}),e.ColorControl=e.Control.extend({ready:function(){var a=this,b=this.container.find(".color-picker-hex");b.val(a.setting()).wpColorPicker({change:function(){a.setting.set(b.wpColorPicker("color"))},clear:function(){a.setting.set(!1)}}),this.setting.bind(function(a){b.val(a),b.wpColorPicker("color",a)})}}),e.MediaControl=e.Control.extend({ready:function(){var a=this;_.bindAll(a,"restoreDefault","removeFile","openFrame","select","pausePlayer"),a.container.on("click keydown",".upload-button",a.openFrame),a.container.on("click keydown",".upload-button",a.pausePlayer),a.container.on("click keydown",".thumbnail-image img",a.openFrame),a.container.on("click keydown",".default-button",a.restoreDefault),a.container.on("click keydown",".remove-button",a.pausePlayer),a.container.on("click keydown",".remove-button",a.removeFile),a.container.on("click keydown",".remove-button",a.cleanupPlayer),e.section(a.section()).container.on("expanded",function(){a.player&&a.player.setControlsSize()}).on("collapsed",function(){a.pausePlayer()}),a.setting.bind(function(){a.renderContent()})},pausePlayer:function(){this.player&&this.player.pause()},cleanupPlayer:function(){this.player&&wp.media.mixin.removePlayer(this.player)},openFrame:function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.frame||this.initFrame(),this.frame.open())},initFrame:function(){this.frame=wp.media({button:{text:this.params.button_labels.frame_button},states:[new wp.media.controller.Library({title:this.params.button_labels.frame_title,library:wp.media.query({type:this.params.mime_type}),multiple:!1,date:!1})]}),this.frame.on("select",this.select)},select:function(){var a,b=this.frame.state().get("selection").first().toJSON(),c=window._wpmejsSettings||{};this.params.attachment=b,this.setting(b.id),a=this.container.find("audio, video").get(0),a?this.player=new MediaElementPlayer(a,c):this.cleanupPlayer()},restoreDefault:function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.params.attachment=this.params.defaultAttachment,this.setting(this.params.defaultAttachment.url))},removeFile:function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),this.params.attachment={},this.setting(""),this.renderContent())}}),e.UploadControl=e.MediaControl.extend({select:function(){var a,b=this.frame.state().get("selection").first().toJSON(),c=window._wpmejsSettings||{};this.params.attachment=b,this.setting(b.url),a=this.container.find("audio, video").get(0),a?this.player=new MediaElementPlayer(a,c):this.cleanupPlayer()},success:function(){},removerVisibility:function(){}}),e.ImageControl=e.UploadControl.extend({thumbnailSrc:function(){}}),e.BackgroundControl=e.UploadControl.extend({ready:function(){e.UploadControl.prototype.ready.apply(this,arguments)},select:function(){e.UploadControl.prototype.select.apply(this,arguments),wp.ajax.post("custom-background-add",{nonce:_wpCustomizeBackground.nonces.add,wp_customize:"on",theme:e.settings.theme.stylesheet,attachment_id:this.params.attachment.id})}}),e.HeaderControl=e.Control.extend({ready:function(){this.btnRemove=b("#customize-control-header_image .actions .remove"),this.btnNew=b("#customize-control-header_image .actions .new"),_.bindAll(this,"openMedia","removeImage"),this.btnNew.on("click",this.openMedia),this.btnRemove.on("click",this.removeImage),e.HeaderTool.currentHeader=this.getInitialHeaderImage(),new e.HeaderTool.CurrentView({model:e.HeaderTool.currentHeader,el:"#customize-control-header_image .current .container"}),new e.HeaderTool.ChoiceListView({collection:e.HeaderTool.UploadsList=new e.HeaderTool.ChoiceList,el:"#customize-control-header_image .choices .uploaded .list"}),new e.HeaderTool.ChoiceListView({collection:e.HeaderTool.DefaultsList=new e.HeaderTool.DefaultsList,el:"#customize-control-header_image .choices .default .list"}),e.HeaderTool.combinedList=e.HeaderTool.CombinedList=new e.HeaderTool.CombinedList([e.HeaderTool.UploadsList,e.HeaderTool.DefaultsList])},getInitialHeaderImage:function(){if(!e.get().header_image||!e.get().header_image_data||_.contains(["remove-header","random-default-image","random-uploaded-image"],e.get().header_image))return new e.HeaderTool.ImageModel;var a=_.find(_wpCustomizeHeader.uploads,function(a){return a.attachment_id===e.get().header_image_data.attachment_id});return a||(a={url:e.get().header_image,thumbnail_url:e.get().header_image,attachment_id:e.get().header_image_data.attachment_id}),new e.HeaderTool.ImageModel({header:a,choice:a.url.split("/").pop()})},calculateImageSelectOptions:function(a,b){var c,d,f,g,h,i,j=parseInt(_wpCustomizeHeader.data.width,10),k=parseInt(_wpCustomizeHeader.data.height,10),l=!!parseInt(_wpCustomizeHeader.data["flex-width"],10),m=!!parseInt(_wpCustomizeHeader.data["flex-height"],10);return h=a.get("width"),g=a.get("height"),this.headerImage=new e.HeaderTool.ImageModel,this.headerImage.set({themeWidth:j,themeHeight:k,themeFlexWidth:l,themeFlexHeight:m,imageWidth:h,imageHeight:g}),b.set("canSkipCrop",!this.headerImage.shouldBeCropped()),c=j/k,d=h,f=g,d/f>c?(k=f,j=k*c):(j=d,k=j/c),i={handles:!0,keys:!0,instance:!0,persistent:!0,imageWidth:h,imageHeight:g,x1:0,y1:0,x2:j,y2:k},m===!1&&l===!1&&(i.aspectRatio=j+":"+k),m===!1&&(i.maxHeight=k),l===!1&&(i.maxWidth=j),i},openMedia:function(a){var b=_wpMediaViewsL10n;a.preventDefault(),this.frame=wp.media({button:{text:b.selectAndCrop,close:!1},states:[new wp.media.controller.Library({title:b.chooseImage,library:wp.media.query({type:"image"}),multiple:!1,date:!1,priority:20,suggestedWidth:_wpCustomizeHeader.data.width,suggestedHeight:_wpCustomizeHeader.data.height}),new wp.media.controller.Cropper({imgSelectOptions:this.calculateImageSelectOptions})]}),this.frame.on("select",this.onSelect,this),this.frame.on("cropped",this.onCropped,this),this.frame.on("skippedcrop",this.onSkippedCrop,this),this.frame.open()},onSelect:function(){this.frame.setState("cropper")},onCropped:function(a){var b=a.post_content,c=a.attachment_id,d=a.width,e=a.height;this.setImageFromURL(b,c,d,e)},onSkippedCrop:function(a){var b=a.get("url"),c=a.get("width"),d=a.get("height");this.setImageFromURL(b,a.id,c,d)},setImageFromURL:function(a,b,c,d){var f,g={};g.url=a,g.thumbnail_url=a,g.timestamp=_.now(),b&&(g.attachment_id=b),c&&(g.width=c),d&&(g.height=d),f=new e.HeaderTool.ImageModel({header:g,choice:a.split("/").pop()}),e.HeaderTool.UploadsList.add(f),e.HeaderTool.currentHeader.set(f.toJSON()),f.save(),f.importImage()},removeImage:function(){e.HeaderTool.currentHeader.trigger("hide"),e.HeaderTool.CombinedList.trigger("control:removeImage")}}),e.ThemeControl=e.Control.extend({touchDrag:!1,isRendered:!1,renderContent:function(){var a=this,b=arguments;e.section(a.section(),function(c){c.expanded()?(e.Control.prototype.renderContent.apply(a,b),a.isRendered=!0):c.expanded.bind(function(c){c&&!a.isRendered&&(e.Control.prototype.renderContent.apply(a,b),a.isRendered=!0)})})},ready:function(){var a=this;a.container.on("touchmove",".theme",function(){a.touchDrag=!0}),a.container.on("click keydown touchend",".theme",function(c){if(!e.utils.isKeydownButNotEnterEvent(c)){if(a.touchDrag===!0)return a.touchDrag=!1;if(!b(c.target).is(".theme-actions .button")){var d=b(this).data("previewUrl");b(".wp-full-overlay").addClass("customize-loading"),window.parent.location=d}}}),a.container.on("click keydown",".theme-actions .theme-details",function(b){e.utils.isKeydownButNotEnterEvent(b)||(b.preventDefault(),e.section(a.section()).showDetails(a.params.theme))}),a.container.on("render-screenshot",function(){var a=b(this).find("img"),c=a.data("src");c&&a.attr("src",c)})},filter:function(a){var b=this,c=b.params.theme.name+" "+b.params.theme.description+" "+b.params.theme.tags+" "+b.params.theme.author;c=c.toLowerCase().replace("-"," "),-1!==c.search(a)?b.activate():b.deactivate()}}),e.defaultConstructor=e.Setting,e.control=new e.Values({defaultConstructor:e.Control}),e.section=new e.Values({defaultConstructor:e.Section}),e.panel=new e.Values({defaultConstructor:e.Panel}),e.PreviewFrame=e.Messenger.extend({sensitivity:2e3,initialize:function(a,c){var d=b.Deferred();d.promise(this),this.container=a.container,this.signature=a.signature,b.extend(a,{channel:e.PreviewFrame.uuid()}),e.Messenger.prototype.initialize.call(this,a,c),this.add("previewUrl",a.previewUrl),this.query=b.extend(a.query||{},{customize_messenger_channel:this.channel()}),this.run(d)},run:function(a){var c=this,d=!1,f=!1;this._ready&&this.unbind("ready",this._ready),this._ready=function(){f=!0,d&&a.resolveWith(c)},this.bind("ready",this._ready),this.bind("ready",function(a){if(this.container.addClass("iframe-ready"),a){var b={panel:a.activePanels,section:a.activeSections,control:a.activeControls};_(b).each(function(a,b){e[b].each(function(b,c){var d=!(!a||!a[c]);b.active(d)})})}}),this.request=b.ajax(this.previewUrl(),{type:"POST",data:this.query,xhrFields:{withCredentials:!0}}),this.request.fail(function(){a.rejectWith(c,["request failure"])}),this.request.done(function(g){var h,i=c.request.getResponseHeader("Location"),j=c.signature;return i&&i!==c.previewUrl()?void a.rejectWith(c,["redirect",i]):"0"===g?void c.login(a):"-1"===g?void a.rejectWith(c,["cheatin"]):(h=g.lastIndexOf(j),-1===h||h<g.lastIndexOf("</html>")?void a.rejectWith(c,["unsigned"]):(g=g.slice(0,h)+g.slice(h+j.length),c.iframe=b("<iframe />",{title:e.l10n.previewIframeTitle}).appendTo(c.container),c.iframe.one("load",function(){d=!0,f?a.resolveWith(c):setTimeout(function(){a.rejectWith(c,["ready timeout"])},c.sensitivity)}),c.targetWindow(c.iframe[0].contentWindow),c.targetWindow().document.open(),c.targetWindow().document.write(g),void c.targetWindow().document.close()))})},login:function(a){var c,d=this;return c=function(){a.rejectWith(d,["logged out"])},this.triedLogin?c():void b.get(e.settings.url.ajax,{action:"logged-in"}).fail(c).done(function(f){var g;"1"!==f&&c(),g=b("<iframe />",{src:d.previewUrl(),title:e.l10n.previewIframeTitle}).hide(),g.appendTo(d.container),g.load(function(){d.triedLogin=!0,g.remove(),d.run(a)})})},destroy:function(){e.Messenger.prototype.destroy.call(this),this.request.abort(),this.iframe&&this.iframe.remove(),delete this.request,delete this.iframe,delete this.targetWindow}}),function(){var a=0;e.PreviewFrame.uuid=function(){return"preview-"+a++}}(),e.setDocumentTitle=function(a){var b,c;b=e.settings.documentTitleTmpl,c=b.replace("%s",a),document.title=c,e.trigger("title",c)},e.Previewer=e.Messenger.extend({refreshBuffer:250,initialize:function(a,c){var d=this,f=/^https?/;b.extend(this,c||{}),this.deferred={active:b.Deferred()},this.refresh=function(a){var b,c=a.refresh,d=function(){b=null,c.call(a)};return function(){if("number"!=typeof b){if(!a.loading)return d();a.abort()}clearTimeout(b),b=setTimeout(d,a.refreshBuffer)}}(this),this.container=e.ensure(a.container),this.allowedUrls=a.allowedUrls,this.signature=a.signature,a.url=window.location.href,e.Messenger.prototype.initialize.call(this,a),this.add("scheme",this.origin()).link(this.origin).setter(function(a){var b=a.match(f);return b?b[0]:""}),this.add("previewUrl",a.previewUrl).setter(function(a){var c;return/\/wp-admin(\/|$)/.test(a.replace(/[#?].*$/,""))?null:(b.each([a.replace(f,d.scheme()),a],function(a,e){return b.each(d.allowedUrls,function(a,b){var d;return b=b.replace(/\/+$/,""),d=e.replace(b,""),0===e.indexOf(b)&&/^([/#?]|$)/.test(d)?(c=e,!1):void 0}),c?!1:void 0}),c?c:null)}),this.previewUrl.bind(this.refresh),this.scroll=0,this.bind("scroll",function(a){this.scroll=a}),this.bind("url",this.previewUrl),this.bind("documentTitle",function(a){e.setDocumentTitle(a)})},query:function(){},abort:function(){this.loading&&(this.loading.destroy(),delete this.loading)},refresh:function(){var a=this;this.send("loading-initiated"),this.abort(),this.loading=new e.PreviewFrame({url:this.url(),previewUrl:this.previewUrl(),query:this.query()||{},container:this.container,signature:this.signature}),this.loading.done(function(){this.bind("synced",function(){a.preview&&a.preview.destroy(),a.preview=this,delete a.loading,a.targetWindow(this.targetWindow()),a.channel(this.channel()),a.deferred.active.resolve(),a.send("active")}),this.send("sync",{scroll:a.scroll,settings:e.get()})}),this.loading.fail(function(b,c){a.send("loading-failed"),"redirect"===b&&c&&a.previewUrl(c),"logged out"===b&&(a.preview&&(a.preview.destroy(),delete a.preview),a.login().done(a.refresh)),"cheatin"===b&&a.cheatin()})},login:function(){var a,c,d,f=this;return this._login?this._login:(a=b.Deferred(),this._login=a.promise(),c=new e.Messenger({channel:"login",url:e.settings.url.login}),d=b("<iframe />",{src:e.settings.url.login,title:e.l10n.loginIframeTitle}).appendTo(this.container),c.targetWindow(d[0].contentWindow),c.bind("login",function(){var b=f.refreshNonces();b.always(function(){d.remove(),c.destroy(),delete f._login}),b.done(function(){a.resolve()}),b.fail(function(){f.cheatin(),a.reject()})}),this._login)},cheatin:function(){b(document.body).empty().addClass("cheatin").append("<p>"+e.l10n.cheatin+"</p>")},refreshNonces:function(){var a,c=b.Deferred();return c.promise(),a=wp.ajax.post("customize_refresh_nonces",{wp_customize:"on",theme:e.settings.theme.stylesheet}),a.done(function(a){e.trigger("nonce-refresh",a),c.resolve()}),a.fail(function(){c.reject()}),c}}),e.controlConstructor={color:e.ColorControl,media:e.MediaControl,upload:e.UploadControl,image:e.ImageControl,header:e.HeaderControl,background:e.BackgroundControl,theme:e.ThemeControl},e.panelConstructor={},e.sectionConstructor={themes:e.ThemesSection},b(function(){if(e.settings=window._wpCustomizeSettings,e.l10n=window._wpCustomizeControlsL10n,e.settings){if(!b.support.postMessage||!b.support.cors&&e.settings.isCrossDomain)return window.location=e.settings.url.fallback;var a,c,d=b(document.body),f=d.children(".wp-full-overlay"),g=b("#customize-info .theme-name.site-title"),h=b(".customize-controls-close"),i=b("#save");b("#customize-controls").on("keydown",function(a){var c=13===a.which,d=b(a.target);c&&(d.is("input:not([type=button])")||d.is("select"))&&a.preventDefault()}),b("#customize-info").find("> .accordion-section-title").on("click keydown",function(a){if(!e.utils.isKeydownButNotEnterEvent(a)){a.preventDefault();var c=b(this).parent(),d=c.find(".accordion-section-content:first");c.hasClass("cannot-expand")||(c.hasClass("open")?(c.toggleClass("open"),d.slideUp(e.Panel.prototype.defaultExpandedArguments.duration)):(d.slideDown(e.Panel.prototype.defaultExpandedArguments.duration),c.toggleClass("open")))}}),e.previewer=new e.Previewer({container:"#customize-preview",form:"#customize-controls",previewUrl:e.settings.url.preview,allowedUrls:e.settings.url.allowed,signature:"WP_CUSTOMIZER_SIGNATURE"},{nonce:e.settings.nonce,query:function(){var a={};return e.each(function(b,c){b._dirty&&(a[c]=b())}),{wp_customize:"on",theme:e.settings.theme.stylesheet,customized:JSON.stringify(a),nonce:this.nonce.preview}},save:function(){var a,c,f=this,g=e.state("processing");d.addClass("saving"),c=function(){var a,c;c=b.extend(f.query(),{nonce:f.nonce.save}),a=wp.ajax.post("customize_save",c),e.trigger("save",a),a.always(function(){d.removeClass("saving")}),a.fail(function(a){"0"===a?a="not_logged_in":"-1"===a&&(a="invalid_nonce"),"invalid_nonce"===a?f.cheatin():"not_logged_in"===a&&(f.preview.iframe.hide(),f.login().done(function(){f.save(),f.preview.iframe.show()})),e.trigger("error",a)}),a.done(function(a){e.each(function(a){a._dirty=!1}),e.trigger("saved",a)})},0===g()?c():(a=function(){0===g()&&(e.state.unbind("change",a),c())},e.state.bind("change",a))}}),e.previewer.bind("nonce",function(a){b.extend(this.nonce,a)}),e.bind("nonce-refresh",function(a){b.extend(e.settings.nonce,a),b.extend(e.previewer.nonce,a)}),b.each(e.settings.settings,function(a,b){e.create(a,a,b.value,{transport:b.transport,previewer:e.previewer,dirty:!!b.dirty})}),b.each(e.settings.panels,function(a,b){var c,d=e.panelConstructor[b.type]||e.Panel;c=new d(a,{params:b}),e.panel.add(a,c)}),b.each(e.settings.sections,function(a,b){var c,d=e.sectionConstructor[b.type]||e.Section;c=new d(a,{params:b}),e.section.add(a,c)}),b.each(e.settings.controls,function(a,b){var c,d=e.controlConstructor[b.type]||e.Control;c=new d(a,{params:b,previewer:e.previewer}),e.control.add(a,c)}),_.each(["panel","section","control"],function(a){var b,c=e.settings.autofocus[a];c&&e[a](c)&&(b=e[a](c),b.deferred.embedded.done(function(){e.previewer.deferred.active.done(function(){
+b.focus()})}))}),e.reflowPaneContents=_.bind(function(){var a,c,d,f=[],g=!1;document.activeElement&&(c=b(document.activeElement)),e.panel.each(function(b){var c=b.sections(),d=_.pluck(c,"container");f.push(b),a=b.container.find("ul:first"),e.utils.areElementListsEqual(d,a.children("[id]"))||(_(c).each(function(b){a.append(b.container)}),g=!0)}),e.section.each(function(b){var c=b.controls(),d=_.pluck(c,"container");b.panel()||f.push(b),a=b.container.find("ul:first"),e.utils.areElementListsEqual(d,a.children("[id]"))||(_(c).each(function(b){a.append(b.container)}),g=!0)}),f.sort(e.utils.prioritySort),d=_.pluck(f,"container"),a=b("#customize-theme-controls").children("ul"),e.utils.areElementListsEqual(d,a.children())||(_(f).each(function(b){a.append(b.container)}),g=!0),e.panel.each(function(a){var b=a.active();a.active.callbacks.fireWith(a.active,[b,b])}),e.section.each(function(a){var b=a.active();a.active.callbacks.fireWith(a.active,[b,b])}),g&&c&&c.focus()},e),e.bind("ready",e.reflowPaneContents),e.reflowPaneContents=_.debounce(e.reflowPaneContents,100),b([e.panel,e.section,e.control]).each(function(a,b){b.bind("add",e.reflowPaneContents),b.bind("change",e.reflowPaneContents),b.bind("remove",e.reflowPaneContents)}),e.previewer.previewUrl()?e.previewer.refresh():e.previewer.previewUrl(e.settings.url.home),function(){var a=new e.Values,b=a.create("saved"),c=a.create("activated"),d=a.create("processing");a.bind("change",function(){c()?b()?(i.val(e.l10n.saved).prop("disabled",!0),h.find(".screen-reader-text").text(e.l10n.close)):(i.val(e.l10n.save).prop("disabled",!1),h.find(".screen-reader-text").text(e.l10n.cancel)):(i.val(e.l10n.activate).prop("disabled",!1),h.find(".screen-reader-text").text(e.l10n.cancel))}),b(!0),c(e.settings.theme.active),d(0),e.bind("change",function(){a("saved").set(!1)}),e.bind("saved",function(){a("saved").set(!0),a("activated").set(!0)}),c.bind(function(a){a&&e.trigger("activated")}),e.state=a}(),i.click(function(a){e.previewer.save(),a.preventDefault()}).keydown(function(a){9!==a.which&&(13===a.which&&e.previewer.save(),a.preventDefault())}),b("#customize-header-actions").on("click keydown",".control-panel-back",function(a){e.utils.isKeydownButNotEnterEvent(a)||(a.preventDefault(),e.panel.each(function(a){a.collapse()}))}),h.keydown(function(a){9!==a.which&&(13===a.which&&this.click(),a.preventDefault())}),b(".collapse-sidebar").on("click keydown",function(a){e.utils.isKeydownButNotEnterEvent(a)||(f.toggleClass("collapsed").toggleClass("expanded"),a.preventDefault())}),b(".customize-controls-preview-toggle").on("click keydown",function(a){e.utils.isKeydownButNotEnterEvent(a)||(f.toggleClass("preview-only"),a.preventDefault())}),g.length&&b("#customize-control-blogname input").on("input",function(){g.text(this.value)}),a=new e.Messenger({url:e.settings.url.parent,channel:"loader"}),a.bind("back",function(){h.on("click.customize-controls-close",function(b){b.preventDefault(),a.send("close")})}),b(window).on("beforeunload",function(){return e.state("saved")()?void 0:(setTimeout(function(){f.removeClass("customize-loading")},1),e.l10n.saveAlert)}),b.each(["saved","change"],function(b,c){e.bind(c,function(){a.send(c)})}),e.bind("activated",function(){a.targetWindow()?a.send("activated",e.settings.url.activated):e.settings.url.activated&&(window.location=e.settings.url.activated)}),e.bind("title",function(b){a.send("title",b)}),a.send("ready"),b.each({background_image:{controls:["background_repeat","background_position_x","background_attachment"],callback:function(a){return!!a}},show_on_front:{controls:["page_on_front","page_for_posts"],callback:function(a){return"page"===a}},header_textcolor:{controls:["header_textcolor"],callback:function(a){return"blank"!==a}}},function(a,c){e(a,function(a){b.each(c.controls,function(b,d){e.control(d,function(b){var d=function(a){b.container.toggle(c.callback(a))};d(a.get()),a.bind(d)})})})}),e.control("display_header_text",function(a){var b="";a.elements[0].unsync(e("header_textcolor")),a.element=new e.Element(a.container.find("input")),a.element.set("blank"!==a.setting()),a.element.bind(function(c){c||(b=e("header_textcolor").get()),a.setting.set(c?b:"blank")}),a.setting.bind(function(b){a.element.set("blank"!==b)})}),e.trigger("ready"),c=h,c.focus(),setTimeout(function(){c.focus()},200)}})}(wp,jQuery);
\ No newline at end of file
index f5c4328d01708c69d36a470639ecc731aadc9eee..729e6a8f1e0779646dc06806b9c605a628855311 100644 (file)
                        // If the available widgets panel is open and the customize controls are
                        // interacted with (i.e. available widgets panel is blurred) then close the
                        // available widgets panel.
-                       $( '#customize-controls' ).on( 'click keydown', function( e ) {
+                       $( '#customize-controls, .customize-overlay-close' ).on( 'click keydown', function( e ) {
                                var isAddNewBtn = $( e.target ).is( '.add-new-widget, .add-new-widget *' );
                                if ( $( 'body' ).hasClass( 'adding-widget' ) && ! isAddNewBtn ) {
                                        self.close();
 
                // Adds a selected widget to the sidebar
                submit: function( widgetTpl ) {
-                       var widgetId, widget;
+                       var widgetId, widget, widgetFormControl;
 
                        if ( ! widgetTpl ) {
                                widgetTpl = this.selected;
                                return;
                        }
 
-                       this.currentSidebarControl.addWidget( widget.get( 'id_base' ) );
+                       widgetFormControl = this.currentSidebarControl.addWidget( widget.get( 'id_base' ) );
+                       if ( widgetFormControl ) {
+                               widgetFormControl.focus();
+                       }
 
                        this.close();
                },
                        // Reset search
                        this.collection.doSearch( '' );
 
-                       this.$search.focus();
+                       if ( ! api.settings.browser.mobile ) {
+                               this.$search.focus();
+                       }
                },
 
                // Closes the panel
                         * Update available sidebars when their rendered state changes
                         */
                        updateAvailableSidebars = function() {
-                               var $sidebarItems = $moveWidgetArea.find( 'li' ), selfSidebarItem;
+                               var $sidebarItems = $moveWidgetArea.find( 'li' ), selfSidebarItem,
+                                       renderedSidebarCount = 0;
 
                                selfSidebarItem = $sidebarItems.filter( function(){
                                        return $( this ).data( 'id' ) === self.params.sidebar_id;
 
                                $sidebarItems.each( function() {
                                        var li = $( this ),
-                                               sidebarId,
-                                               sidebar;
+                                               sidebarId, sidebar, sidebarIsRendered;
 
                                        sidebarId = li.data( 'id' );
                                        sidebar = api.Widgets.registeredSidebars.get( sidebarId );
+                                       sidebarIsRendered = sidebar.get( 'is_rendered' );
 
-                                       li.toggle( sidebar.get( 'is_rendered' ) );
+                                       li.toggle( sidebarIsRendered );
+
+                                       if ( sidebarIsRendered ) {
+                                               renderedSidebarCount += 1;
+                                       }
 
-                                       if ( li.hasClass( 'selected' ) && ! sidebar.get( 'is_rendered' ) ) {
+                                       if ( li.hasClass( 'selected' ) && ! sidebarIsRendered ) {
                                                selectSidebarItem( selfSidebarItem );
                                        }
                                } );
+
+                               if ( renderedSidebarCount > 1 ) {
+                                       self.container.find( '.move-widget' ).show();
+                               } else {
+                                       self.container.find( '.move-widget' ).hide();
+                               }
                        };
 
                        updateAvailableSidebars();
 
                                        if ( isMoveUp ) {
                                                self.moveUp();
-                                               $( '#screen-reader-messages' ).text( l10n.widgetMovedUp );
+                                               wp.a11y.speak( l10n.widgetMovedUp );
                                        } else {
                                                self.moveDown();
-                                               $( '#screen-reader-messages' ).text( l10n.widgetMovedDown );
+                                               wp.a11y.speak( l10n.widgetMovedDown );
                                        }
 
                                        $( 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 ) {
+                       this.container.find( '.widget-area-select' ).on( 'click keypress', 'li', function( event ) {
                                if ( event.type === 'keypress' && ( event.which !== 13 && event.which !== 32 ) ) {
                                        return;
                                }
-                               e.preventDefault();
+                               event.preventDefault();
                                selectSidebarItem( $( this ) );
                        } );
 
                },
 
                /**
-                * Get the property that represents the state of an input.
+                * Get the state for an input depending on its type.
                 *
-                * @param {jQuery|DOMElement} input
-                * @returns {string}
+                * @param {jQuery|Element} input
+                * @returns {string|boolean|array|*}
                 * @private
                 */
-               _getInputStatePropertyName: function( input ) {
-                       var $input = $( input );
+               _getInputState: function( input ) {
+                       input = $( input );
+                       if ( input.is( ':radio, :checkbox' ) ) {
+                               return input.prop( 'checked' );
+                       } else if ( input.is( 'select[multiple]' ) ) {
+                               return input.find( 'option:selected' ).map( function () {
+                                       return $( this ).val();
+                               } ).get();
+                       } else {
+                               return input.val();
+                       }
+               },
 
-                       if ( $input.is( ':radio, :checkbox' ) ) {
-                               return 'checked';
+               /**
+                * Update an input's state based on its type.
+                *
+                * @param {jQuery|Element} input
+                * @param {string|boolean|array|*} state
+                * @private
+                */
+               _setInputState: function ( input, state ) {
+                       input = $( input );
+                       if ( input.is( ':radio, :checkbox' ) ) {
+                               input.prop( 'checked', state );
+                       } else if ( input.is( 'select[multiple]' ) ) {
+                               if ( ! $.isArray( state ) ) {
+                                       state = [];
+                               } else {
+                                       // Make sure all state items are strings since the DOM value is a string
+                                       state = _.map( state, function ( value ) {
+                                               return String( value );
+                                       } );
+                               }
+                               input.find( 'option' ).each( function () {
+                                       $( this ).prop( 'selected', -1 !== _.indexOf( state, String( this.value ) ) );
+                               } );
                        } else {
-                               return 'value';
+                               input.val( state );
                        }
                },
 
                        // 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 ) );
+                               $( this ).data( 'state' + updateNumber, self._getInputState( this ) );
                        } );
 
                        if ( instanceOverride ) {
                        }
                        data += '&' + $widgetContent.find( '~ :input' ).serialize();
 
+                       if ( this._previousUpdateRequest ) {
+                               this._previousUpdateRequest.abort();
+                       }
                        jqxhr = $.post( wp.ajax.settings.url, data );
+                       this._previousUpdateRequest = jqxhr;
 
                        jqxhr.done( function( r ) {
                                var message, sanitizedForm,     $sanitizedInputs, hasSameInputsInResponse,
                                                $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 );
+                                                       sanitizedState = self._getInputState( $sanitizedInput );
                                                        $input.data( 'sanitized', sanitizedState );
 
-                                                       canUpdateState = ( submittedState !== sanitizedState && ( args.ignoreActiveElement || ! $input.is( document.activeElement ) )   );
+                                                       canUpdateState = ( ! _.isEqual( submittedState, sanitizedState ) && ( args.ignoreActiveElement || ! $input.is( document.activeElement ) ) );
                                                        if ( canUpdateState ) {
-                                                               $input.prop( property, sanitizedState );
+                                                               self._setInputState( $input, sanitizedState );
                                                        }
                                                } );
 
                        });
 
                        if ( ! widgetControls.length ) {
+                               this.container.find( '.reorder-toggle' ).hide();
                                return;
+                       } else {
+                               this.container.find( '.reorder-toggle' ).show();
                        }
 
                        $( widgetControls ).each( function () {
                },
 
                /**
+                * Get the widget_form Customize controls associated with the current sidebar.
+                *
+                * @since 3.9
                 * @return {wp.customize.controlConstructor.widget_form[]}
                 */
                getWidgetFormControls: function() {
-                       var formControls;
+                       var formControls = [];
 
-                       formControls = _( this.setting() ).map( function( widgetId ) {
+                       _( this.setting() ).each( function( widgetId ) {
                                var settingId = widgetIdToSettingId( widgetId ),
                                        formControl = api.control( settingId );
-
-                               if ( ! formControl ) {
-                                       return;
+                               if ( formControl ) {
+                                       formControls.push( formControl );
                                }
-
-                               return formControl;
                        } );
 
                        return formControls;
 
                        controlContainer.slideDown( function() {
                                if ( isExistingWidget ) {
-                                       widgetFormControl.expand();
                                        widgetFormControl.updateWidget( {
-                                               instance: widgetFormControl.setting(),
-                                               complete: function( error ) {
-                                                       if ( error ) {
-                                                               throw error;
-                                                       }
-                                                       widgetFormControl.focus();
-                                               }
+                                               instance: widgetFormControl.setting()
                                        } );
-                               } else {
-                                       widgetFormControl.focus();
                                }
                        } );
 
                sidebar_widgets: api.Widgets.SidebarControl
        });
 
+       // Refresh the nonce if login sends updated nonces over.
+       api.bind( 'nonce-refresh', function( nonces ) {
+               api.Widgets.data.nonce = nonces['update-widget'];
+       });
+
        /**
         * Init Customizer for widgets.
         */
index fe24476d57ab274dc80e47823843d307b15f5844..d7e4513d244b9b092e452925eb08cded53e02813 100644 (file)
@@ -1 +1 @@
-!function(a,b){function c(a){var b,c={number:null,id_base:null};return b=a.match(/^(.+)-(\d+)$/),b?(c.id_base=b[1],c.number=parseInt(b[2],10)):c.id_base=a,c}function d(a){var b,d=c(a);return b="widget_"+d.id_base,d.number&&(b+="["+d.number+"]"),b}if(a&&a.customize){var e,f=a.customize;f.Widgets=f.Widgets||{},f.Widgets.data=_wpCustomizeWidgetsSettings||{},e=f.Widgets.data.l10n,delete f.Widgets.data.l10n,f.Widgets.WidgetModel=Backbone.Model.extend({id:null,temp_id:null,classname:null,control_tpl:null,description:null,is_disabled:null,is_multi:null,multi_number:null,name:null,id_base:null,transport:"refresh",params:[],width:null,height:null,search_matched:!0}),f.Widgets.WidgetCollection=Backbone.Collection.extend({model:f.Widgets.WidgetModel,doSearch:function(a){this.terms!==a&&(this.terms=a,this.terms.length>0&&this.search(this.terms),""===this.terms&&this.each(function(a){a.set("search_matched",!0)}))},search:function(a){var b,c;a=a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),a=a.replace(/ /g,")(?=.*"),b=new RegExp("^(?=.*"+a+").+","i"),this.each(function(a){c=[a.get("name"),a.get("id"),a.get("description")].join(" "),a.set("search_matched",b.test(c))})}}),f.Widgets.availableWidgets=new f.Widgets.WidgetCollection(f.Widgets.data.availableWidgets),f.Widgets.SidebarModel=Backbone.Model.extend({after_title:null,after_widget:null,before_title:null,before_widget:null,"class":null,description:null,id:null,name:null,is_rendered:!1}),f.Widgets.SidebarCollection=Backbone.Collection.extend({model:f.Widgets.SidebarModel}),f.Widgets.registeredSidebars=new f.Widgets.SidebarCollection(f.Widgets.data.registeredSidebars),f.Widgets.AvailableWidgetsPanelView=a.Backbone.View.extend({el:"#available-widgets",events:{"input #widgets-search":"search","keyup #widgets-search":"search","change #widgets-search":"search","search #widgets-search":"search","focus .widget-tpl":"focus","click .widget-tpl":"_submit","keypress .widget-tpl":"_submit",keydown:"keyboardAccessible"},selected:null,currentSidebarControl:null,$search:null,initialize:function(){var a=this;this.$search=b("#widgets-search"),_.bindAll(this,"close"),this.listenTo(this.collection,"change",this.updateList),this.updateList(),b("#customize-controls").on("click keydown",function(c){var d=b(c.target).is(".add-new-widget, .add-new-widget *");b("body").hasClass("adding-widget")&&!d&&a.close()}),f.previewer.bind("url",this.close)},search:function(a){var b;this.collection.doSearch(a.target.value),this.selected&&!this.selected.is(":visible")&&(this.selected.removeClass("selected"),this.selected=null),this.selected&&!a.target.value&&(this.selected.removeClass("selected"),this.selected=null),!this.selected&&a.target.value&&(b=this.$el.find("> .widget-tpl:visible:first"),b.length&&this.select(b))},updateList:function(){this.collection.each(function(a){var c=b("#widget-tpl-"+a.id);c.toggle(a.get("search_matched")&&!a.get("is_disabled")),a.get("is_disabled")&&c.is(this.selected)&&(this.selected=null)})},select:function(a){this.selected=b(a),this.selected.siblings(".widget-tpl").removeClass("selected"),this.selected.addClass("selected")},focus:function(a){this.select(b(a.currentTarget))},_submit:function(a){("keypress"!==a.type||13===a.which||32===a.which)&&this.submit(b(a.currentTarget))},submit:function(a){var c,d;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=9===a.which,h=a.shiftKey,i=null,j=this.$el.find("> .widget-tpl:visible:first"),k=this.$el.find("> .widget-tpl:visible:last"),l=b(a.target).is(this.$search),m=b(a.target).is(".widget-tpl:visible:last");return e||f?(e?l?i=j:this.selected&&0!==this.selected.nextAll(".widget-tpl:visible").length&&(i=this.selected.nextAll(".widget-tpl:visible:first")):f&&(l?i=k:this.selected&&0!==this.selected.prevAll(".widget-tpl:visible").length&&(i=this.selected.prevAll(".widget-tpl:visible:first"))),this.select(i),void(i?i.focus():this.$search.focus())):void((!c||this.$search.val())&&(c?this.submit():d&&this.close({returnFocus:!0}),g&&(h&&l||!h&&m)&&(this.currentSidebarControl.container.find(".add-new-widget").focus(),a.preventDefault())))}}),f.Widgets.formSyncHandlers={rss:function(a,c,d){var e=c.find(".widget-error:first"),f=b("<div>"+d+"</div>").find(".widget-error:first");e.length&&f.length?e.replaceWith(f):e.length?e.remove():f.length&&c.find(".widget-content:first").prepend(f)}},f.Widgets.WidgetControl=f.Control.extend({defaultExpandedArguments:{duration:"fast",completeCallback:b.noop},initialize:function(a,c){var d=this;f.Control.prototype.initialize.call(d,a,c),d.expanded=new f.Value,d.expandedArgumentsQueue=[],d.expanded.bind(function(a){var c=d.expandedArgumentsQueue.shift();c=b.extend({},d.defaultExpandedArguments,c),d.onChangeExpanded(a,c)}),d.expanded.set(!1)},ready:function(){this._setupModel(),this._setupWideWidget(),this._setupControlToggle(),this._setupWidgetTitle(),this._setupReorderUI(),this._setupHighlightEffects(),this._setupUpdateUI(),this._setupRemoveUI(),b(document).trigger("widget-added",[this.container.find(".widget:first")])},_setupModel:function(){var a,b=this;f.Widgets.savedWidgetIds=f.Widgets.savedWidgetIds||[],a=function(){f.Widgets.savedWidgetIds[b.params.widget_id]=!0},f.bind("ready",a),f.bind("saved",a),this._updateCount=0,this.isWidgetUpdating=!1,this.liveUpdateMode=!0,this.setting.bind(function(a,c){_(c).isEqual(a)||b.isWidgetUpdating||b.updateWidget({instance:a})})},_setupWideWidget:function(){var a,c,d,e,g,h=this;this.params.is_wide&&(a=this.container.find(".widget-inside"),c=a.find("> .form"),d=b(".wp-full-overlay-sidebar-content:first"),this.container.addClass("wide-widget-control"),this.container.find(".widget-content:first").css({"max-width":this.params.width,"min-height":this.params.height}),g=function(){var d,e=h.container.offset().top,f=b(window).height(),g=c.outerHeight();a.css("max-height",f),d=Math.max(0,Math.min(Math.max(e,0),f-g)),a.css("top",d)},e=b("#customize-theme-controls"),this.container.on("expand",function(){g(),d.on("scroll",g),b(window).on("resize",g),e.on("expanded collapsed",g)}),this.container.on("collapsed",function(){d.off("scroll",g),b(window).off("resize",g),e.off("expanded collapsed",g)}),f.each(function(a){0===a.id.indexOf("sidebars_widgets[")&&a.bind(function(){h.container.hasClass("expanded")&&g()})}))},_setupControlToggle:function(){var a,b=this;this.container.find(".widget-top").on("click",function(a){a.preventDefault();var c=b.getSidebarWidgetsControl();c.isReordering||b.expanded(!b.expanded())}),a=this.container.find(".widget-control-close"),a.on("click",function(a){a.preventDefault(),b.collapse(),b.container.find(".widget-top .widget-action:first").focus()})},_setupWidgetTitle:function(){var a,b=this;a=function(){var a=b.setting().title,c=b.container.find(".in-widget-title");c.text(a?": "+a:"")},this.setting.bind(a),a()},_setupReorderUI:function(){var a,c,d,g,h=this;a=function(a){a.siblings(".selected").removeClass("selected"),a.addClass("selected");var b=a.data("id")===h.params.sidebar_id;h.container.find(".move-widget-btn").prop("disabled",b)},this.container.find(".widget-title-action").after(b(f.Widgets.data.tpl.widgetReorderNav)),c=b(_.template(f.Widgets.data.tpl.moveWidgetArea,{sidebars:_(f.Widgets.registeredSidebars.toArray()).pluck("attributes")})),this.container.find(".widget-top").after(c),g=function(){var d,e=c.find("li");d=e.filter(function(){return b(this).data("id")===h.params.sidebar_id}),e.each(function(){var c,e,g=b(this);c=g.data("id"),e=f.Widgets.registeredSidebars.get(c),g.toggle(e.get("is_rendered")),g.hasClass("selected")&&!e.get("is_rendered")&&a(d)})},g(),f.Widgets.registeredSidebars.on("change:is_rendered",g),d=this.container.find(".widget-reorder-nav"),d.find(".move-widget, .move-widget-down, .move-widget-up").each(function(){b(this).prepend(h.container.find(".widget-title").text()+": ")}).on("click keypress",function(a){if("keypress"!==a.type||13===a.which||32===a.which)if(b(this).focus(),b(this).is(".move-widget"))h.toggleWidgetMoveArea();else{var c=b(this).is(".move-widget-down"),d=b(this).is(".move-widget-up"),f=h.getWidgetSidebarPosition();if(d&&0===f||c&&f===h.getSidebarWidgetsControl().setting().length-1)return;d?(h.moveUp(),b("#screen-reader-messages").text(e.widgetMovedUp)):(h.moveDown(),b("#screen-reader-messages").text(e.widgetMovedDown)),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(){h.getSidebarWidgetsControl().toggleReordering(!1);var a,b,c,d,e,g=h.params.sidebar_id,i=h.container.find(".widget-area-select li.selected").data("id");a=f("sidebars_widgets["+g+"]"),b=f("sidebars_widgets["+i+"]"),c=Array.prototype.slice.call(a()),d=Array.prototype.slice.call(b()),e=h.getWidgetSidebarPosition(),c.splice(e,1),d.push(h.params.widget_id),a(c),b(d),h.focus()})},_setupHighlightEffects:function(){var a=this;this.container.on("mouseenter click",function(){a.setting.previewer.send("highlight-widget",a.params.widget_id)}),this.setting.bind(function(){a.setting.previewer.send("highlight-widget",a.params.widget_id)})},_setupUpdateUI:function(){var a,c,d,g,h,i=this;a=this.container.find(".widget:first"),c=a.find(".widget-content:first"),d=this.container.find(".widget-control-save"),d.val(e.saveBtnLabel),d.attr("title",e.saveBtnTooltip),d.removeClass("button-primary").addClass("button-secondary"),d.on("click",function(a){a.preventDefault(),i.updateWidget({disable_form:!0})}),g=_.debounce(function(){i.updateWidget()},250),c.on("keydown","input",function(a){13===a.which&&(a.preventDefault(),i.updateWidget({ignoreActiveElement:!0}))}),c.on("change input propertychange",":input",function(a){i.liveUpdateMode&&("change"===a.type?i.updateWidget():this.checkValidity&&this.checkValidity()&&g())}),this.setting.previewer.channel.bind("synced",function(){i.container.removeClass("previewer-loading")}),f.previewer.bind("widget-updated",function(a){a===i.params.widget_id&&i.container.removeClass("previewer-loading")}),h=f.Widgets.formSyncHandlers[this.params.widget_id_base],h&&b(document).on("widget-synced",function(b,c){a.is(c)&&h.apply(document,arguments)})},onChangeActive:function(a,b){this.container.toggleClass("widget-rendered",a),b.completeCallback&&b.completeCallback()},_setupRemoveUI:function(){var a,b,c=this;a=this.container.find("a.widget-control-remove"),a.on("click",function(a){a.preventDefault();var b;b=c.container.next().is(".customize-control-widget_form")?c.container.next().find(".widget-action:first"):c.container.prev().is(".customize-control-widget_form")?c.container.prev().find(".widget-action:first"):c.container.next(".customize-control-sidebar_widgets").find(".add-new-widget:first"),c.container.slideUp(function(){var a,d,e=f.Widgets.getSidebarWidgetControlContainingWidget(c.params.widget_id);e&&(a=e.setting().slice(),d=_.indexOf(a,c.params.widget_id),-1!==d&&(a.splice(d,1),e.setting(a),b.focus()))})}),b=function(){a.text(e.removeBtnLabel),a.attr("title",e.removeBtnTooltip)},this.params.is_new?f.bind("saved",b):b()},_getInputs:function(a){return b(a).find(":input[name]")},_getInputsSignature:function(a){var c=_(a).map(function(a){var c,d=b(a);return c=d.is(":checkbox, :radio")?[d.attr("id"),d.attr("name"),d.prop("value")]:[d.attr("id"),d.attr("name")],c.join(",")});return c.join(";")},_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=f.control(a))?b:void 0},updateWidget:function(c){var d,g,h,i,j,k,l,m,n,o,p,q=this;c=b.extend({instance:null,complete:null,ignoreActiveElement:!1},c),d=c.instance,g=c.complete,this._updateCount+=1,j=this._updateCount,h=this.container.find(".widget:first"),i=h.find(".widget-content:first"),i.find(".widget-error").remove(),this.container.addClass("widget-form-loading"),this.container.addClass("previewer-loading"),n=f.state("processing"),n(n()+1),this.liveUpdateMode||this.container.addClass("widget-form-disabled"),k={},k.action="update-widget",k.wp_customize="on",k.nonce=f.Widgets.data.nonce,k.theme=f.settings.theme.stylesheet,l=b.param(k),m=this._getInputs(i),m.each(function(){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?(f.previewer.preview.iframe.hide(),void f.previewer.login().done(function(){q.updateWidget(c),f.previewer.preview.iframe.show()})):"-1"===a?void f.previewer.cheatin():void(a.success?(k=b("<div>"+a.data.form+"</div>"),l=q._getInputs(k),n=q._getInputsSignature(m)===q._getInputsSignature(l),n&&!q.liveUpdateMode&&(q.liveUpdateMode=!0,q.container.removeClass("widget-form-disabled"),q.container.find('input[name="savewidget"]').hide()),n&&q.liveUpdateMode?(m.each(function(a){var d,e,f,g=b(this),h=b(l[a]),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"),g&&g.call(q,null,{noChange:!p,ajaxFinished:!0})):(d=e.error,a.data&&a.data.message&&(d=a.data.message),g?g.call(q,d):i.prepend('<p class="widget-error"><strong>'+d+"</strong></p>")))}),o.fail(function(a,b){g&&g.call(q,b)}),o.always(function(){q.container.removeClass("widget-form-loading"),m.each(function(){b(this).removeData("state"+j)}),n(n()-1)})},expandControlSection:function(){f.Control.prototype.expand.call(this)},_toggleExpanded:f.Section.prototype._toggleExpanded,expand:f.Section.prototype.expand,expandForm:function(){this.expand()},collapse:f.Section.prototype.collapse,collapseForm:function(){this.collapse()},toggleForm:function(a){"undefined"==typeof a&&(a=!this.expanded()),this.expanded(a)},onChangeExpanded:function(a,b){var c,d,e,g,h=this;return b.unchanged?void(a&&f.Control.prototype.expand.call(h,{completeCallback:b.completeCallback})):(c=this.container.find("div.widget:first"),d=c.find(".widget-inside:first"),void(a?(h.expandControlSection(),f.control.each(function(a){h.params.type===a.params.type&&h!==a&&a.collapse()}),e=function(){h.container.removeClass("expanding"),h.container.addClass("expanded"),h.container.trigger("expanded")},b.completeCallback&&(g=e,e=function(){g(),b.completeCallback()}),h.params.is_wide?d.fadeIn(b.duration,e):d.slideDown(b.duration,e),h.container.trigger("expand"),h.container.addClass("expanding")):(e=function(){h.container.removeClass("collapsing"),h.container.removeClass("expanded"),h.container.trigger("collapsed")},b.completeCallback&&(g=e,e=function(){g(),b.completeCallback()}),h.container.trigger("collapse"),h.container.addClass("collapsing"),h.params.is_wide?d.fadeOut(b.duration,e):d.slideUp(b.duration,function(){c.css({width:"",margin:""}),e()}))))},getWidgetSidebarPosition:function(){var a,b;return a=this.getSidebarWidgetsControl().setting(),b=_.indexOf(a,this.params.widget_id),-1!==b?b:void 0},moveUp:function(){this._moveWidgetByOne(-1)},moveDown:function(){this._moveWidgetByOne(1)},_moveWidgetByOne:function(a){var b,c,d,e;b=this.getWidgetSidebarPosition(),c=this.getSidebarWidgetsControl().setting,d=Array.prototype.slice.call(c()),e=d[b+a],d[b+a]=this.params.widget_id,d[b]=e,c(d)},toggleWidgetMoveArea:function(a){var c,d=this;c=this.container.find(".move-widget-area"),"undefined"==typeof a&&(a=!c.hasClass("active")),a&&(c.find(".selected").removeClass("selected"),c.find("li").filter(function(){return b(this).data("id")===d.params.sidebar_id}).addClass("selected"),this.container.find(".move-widget-btn").prop("disabled",!0)),c.toggleClass("active",a)},highlightSectionAndControl:function(){var a;a=this.container.is(":hidden")?this.container.closest(".control-section"):this.container,b(".highlighted").removeClass("highlighted"),a.addClass("highlighted"),setTimeout(function(){a.removeClass("highlighted")},500)}}),f.Widgets.SidebarSection=f.Section.extend({ready:function(){var a,b=this;f.Section.prototype.ready.call(this),a=f.Widgets.registeredSidebars.get(b.params.sidebarId),b.active.bind(function(b){a.set("is_rendered",b)}),a.set("is_rendered",b.active())}}),f.Widgets.SidebarControl=f.Control.extend({ready:function(){this.$controlSection=this.container.closest(".control-section"),this.$sectionContent=this.container.closest(".accordion-section-content"),this._setupModel(),this._setupSortable(),this._setupAddition(),this._applyCardinalOrderClassNames()},_setupModel:function(){var a=this;this.setting.bind(function(d,e){var g,h,i;h=_(e).difference(d),d=_(d).filter(function(a){var b=c(a);return!!f.Widgets.availableWidgets.findWhere({id_base:b.id_base})}),g=_(d).map(function(b){var c=f.Widgets.getWidgetFormControlForWidget(b);return c||(c=a.addWidget(b)),c}),g.sort(function(a,b){var c=_.indexOf(d,a.params.widget_id),e=_.indexOf(d,b.params.widget_id);return c-e}),i=0,_(g).each(function(b){b.priority(i),b.section(a.section()),i+=1}),a.priority(i),a._applyCardinalOrderClassNames(),_(g).each(function(b){b.params.sidebar_id=a.params.sidebar_id}),_(h).each(function(d){setTimeout(function(){var e,g,h,i,j,k=!1;f.each(function(b){if(b.id!==a.setting.id&&0===b.id.indexOf("sidebars_widgets[")&&"sidebars_widgets[wp_inactive_widgets]"!==b.id){var c,e=b();c=_.indexOf(e,d),-1!==c&&(k=!0)}}),k||(e=f.Widgets.getWidgetFormControlForWidget(d),g=e&&b.contains(document,e.container[0])&&!b.contains(a.$sectionContent[0],e.container[0]),e&&!g&&(f.control.remove(e.id),e.container.remove()),f.Widgets.savedWidgetIds[d]&&(h=f.value("sidebars_widgets[wp_inactive_widgets]")().slice(),h.push(d),f.value("sidebars_widgets[wp_inactive_widgets]")(_(h).unique())),i=c(d).id_base,j=f.Widgets.availableWidgets.findWhere({id_base:i}),j&&!j.get("is_multi")&&j.set("is_disabled",!1))})})})},_setupSortable:function(){var a=this;this.isReordering=!1,this.$sectionContent.sortable({items:"> .customize-control-widget_form",handle:".widget-top",axis:"y",connectWith:".accordion-section-content:has(.customize-control-sidebar_widgets)",update:function(){var c,d=a.$sectionContent.sortable("toArray");c=b.map(d,function(a){return b("#"+a).find(":input[name=widget-id]").val()}),a.setting(c)}}),this.$controlSection.find(".accordion-section-title").droppable({accept:".customize-control-widget_form",over:function(){var b=f.section(a.section.get());b.expand({allowMultiple:!0,completeCallback:function(){f.section.each(function(a){a.container.find(".customize-control-sidebar_widgets").length&&a.container.find(".accordion-section-content:first").sortable("refreshPositions")})}})}}),this.container.find(".reorder-toggle").on("click keydown",function(b){("keydown"!==b.type||13===b.which||32===b.which)&&a.toggleReordering(!a.isReordering)})},_setupAddition:function(){var a=this;this.container.find(".add-new-widget").on("click keydown",function(c){("keydown"!==c.type||13===c.which||32===c.which)&&(a.$sectionContent.hasClass("reordering")||(b("body").hasClass("adding-widget")?f.Widgets.availableWidgetsPanel.close():f.Widgets.availableWidgetsPanel.open(a)))})},_applyCardinalOrderClassNames:function(){var a=[];_.each(this.setting(),function(b){var c=f.Widgets.getWidgetFormControlForWidget(b);c&&a.push(c)}),a.length&&(b(a).each(function(){b(this.container).removeClass("first-widget").removeClass("last-widget").find(".move-widget-down, .move-widget-up").prop("tabIndex",0)}),_.first(a).container.addClass("first-widget").find(".move-widget-up").prop("tabIndex",-1),_.last(a).container.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.collapse()}),this.$sectionContent.find(".first-widget .move-widget").focus(),this.$sectionContent.find(".add-new-widget").prop("tabIndex",-1)):this.$sectionContent.find(".add-new-widget").prop("tabIndex",0))},getWidgetFormControls:function(){var a;return a=_(this.setting()).map(function(a){var b=d(a),c=f.control(b);if(c)return c})},addWidget:function(a){var d,e,g,h,i,j,k,l,m,n,o=this,p="widget_form",q=c(a),r=q.number,s=q.id_base,t=f.Widgets.availableWidgets.findWhere({id_base:s});return t?r&&!t.get("is_multi")?!1:(t.get("is_multi")&&!r&&(t.set("multi_number",t.get("multi_number")+1),r=t.get("multi_number")),d=b.trim(b("#widget-tpl-"+t.get("id")).html()),t.get("is_multi")?d=d.replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,r)}):t.set("is_disabled",!0),e=b(d),g=b("<li/>").addClass("customize-control").addClass("customize-control-"+p).append(e),g.find("> .widget-icon").remove(),t.get("is_multi")&&(g.find('input[name="widget_number"]').val(r),g.find('input[name="multi_number"]').val(r)),a=g.find('[name="widget-id"]').val(),g.hide(),i="widget_"+t.get("id_base"),t.get("is_multi")&&(i+="["+r+"]"),g.attr("id","customize-control-"+i.replace(/\]/g,"").replace(/\[/g,"-")),j=f.has(i),j||(m={transport:"refresh",previewer:this.setting.previewer},n=f.create(i,i,"",m),n.set({})),h=f.controlConstructor[p],k=new h(i,{params:{settings:{"default":i},content:g,sidebar_id:o.params.sidebar_id,widget_id:a,widget_id_base:t.get("id_base"),type:p,is_new:!j,width:t.get("width"),height:t.get("height"),is_wide:t.get("is_wide")},previewer:o.setting.previewer}),f.control.add(i,k),f.each(function(b){if(b.id!==o.setting.id&&0===b.id.indexOf("sidebars_widgets[")){var c=b().slice(),d=_.indexOf(c,a);-1!==d&&(c.splice(d),b(c))}}),l=this.setting().slice(),-1===_.indexOf(l,a)&&(l.push(a),this.setting(l)),g.slideDown(function(){j?(k.expand(),k.updateWidget({instance:k.setting(),complete:function(a){if(a)throw a;k.focus()}})):k.focus()}),k):!1}}),b.extend(f.sectionConstructor,{sidebar:f.Widgets.SidebarSection}),b.extend(f.controlConstructor,{widget_form:f.Widgets.WidgetControl,sidebar_widgets:f.Widgets.SidebarControl}),f.bind("ready",function(){f.Widgets.availableWidgetsPanel=new f.Widgets.AvailableWidgetsPanelView({collection:f.Widgets.availableWidgets}),f.previewer.bind("highlight-widget-control",f.Widgets.highlightWidgetFormControl),f.previewer.bind("focus-widget-control",f.Widgets.focusWidgetFormControl)}),f.Widgets.highlightWidgetFormControl=function(a){var b=f.Widgets.getWidgetFormControlForWidget(a);b&&b.highlightSectionAndControl()},f.Widgets.focusWidgetFormControl=function(a){var b=f.Widgets.getWidgetFormControlForWidget(a);b&&b.focus()},f.Widgets.getSidebarWidgetControlContainingWidget=function(a){var b=null;return f.control.each(function(c){"sidebar_widgets"===c.params.type&&-1!==_.indexOf(c.setting(),a)&&(b=c)}),b},f.Widgets.getWidgetFormControlForWidget=function(a){var b=null;return f.control.each(function(c){"widget_form"===c.params.type&&c.params.widget_id===a&&(b=c)}),b}}}(window.wp,jQuery);
\ No newline at end of file
+!function(a,b){function c(a){var b,c={number:null,id_base:null};return b=a.match(/^(.+)-(\d+)$/),b?(c.id_base=b[1],c.number=parseInt(b[2],10)):c.id_base=a,c}function d(a){var b,d=c(a);return b="widget_"+d.id_base,d.number&&(b+="["+d.number+"]"),b}if(a&&a.customize){var e,f=a.customize;f.Widgets=f.Widgets||{},f.Widgets.data=_wpCustomizeWidgetsSettings||{},e=f.Widgets.data.l10n,delete f.Widgets.data.l10n,f.Widgets.WidgetModel=Backbone.Model.extend({id:null,temp_id:null,classname:null,control_tpl:null,description:null,is_disabled:null,is_multi:null,multi_number:null,name:null,id_base:null,transport:"refresh",params:[],width:null,height:null,search_matched:!0}),f.Widgets.WidgetCollection=Backbone.Collection.extend({model:f.Widgets.WidgetModel,doSearch:function(a){this.terms!==a&&(this.terms=a,this.terms.length>0&&this.search(this.terms),""===this.terms&&this.each(function(a){a.set("search_matched",!0)}))},search:function(a){var b,c;a=a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),a=a.replace(/ /g,")(?=.*"),b=new RegExp("^(?=.*"+a+").+","i"),this.each(function(a){c=[a.get("name"),a.get("id"),a.get("description")].join(" "),a.set("search_matched",b.test(c))})}}),f.Widgets.availableWidgets=new f.Widgets.WidgetCollection(f.Widgets.data.availableWidgets),f.Widgets.SidebarModel=Backbone.Model.extend({after_title:null,after_widget:null,before_title:null,before_widget:null,"class":null,description:null,id:null,name:null,is_rendered:!1}),f.Widgets.SidebarCollection=Backbone.Collection.extend({model:f.Widgets.SidebarModel}),f.Widgets.registeredSidebars=new f.Widgets.SidebarCollection(f.Widgets.data.registeredSidebars),f.Widgets.AvailableWidgetsPanelView=a.Backbone.View.extend({el:"#available-widgets",events:{"input #widgets-search":"search","keyup #widgets-search":"search","change #widgets-search":"search","search #widgets-search":"search","focus .widget-tpl":"focus","click .widget-tpl":"_submit","keypress .widget-tpl":"_submit",keydown:"keyboardAccessible"},selected:null,currentSidebarControl:null,$search:null,initialize:function(){var a=this;this.$search=b("#widgets-search"),_.bindAll(this,"close"),this.listenTo(this.collection,"change",this.updateList),this.updateList(),b("#customize-controls, .customize-overlay-close").on("click keydown",function(c){var d=b(c.target).is(".add-new-widget, .add-new-widget *");b("body").hasClass("adding-widget")&&!d&&a.close()}),f.previewer.bind("url",this.close)},search:function(a){var b;this.collection.doSearch(a.target.value),this.selected&&!this.selected.is(":visible")&&(this.selected.removeClass("selected"),this.selected=null),this.selected&&!a.target.value&&(this.selected.removeClass("selected"),this.selected=null),!this.selected&&a.target.value&&(b=this.$el.find("> .widget-tpl:visible:first"),b.length&&this.select(b))},updateList:function(){this.collection.each(function(a){var c=b("#widget-tpl-"+a.id);c.toggle(a.get("search_matched")&&!a.get("is_disabled")),a.get("is_disabled")&&c.is(this.selected)&&(this.selected=null)})},select:function(a){this.selected=b(a),this.selected.siblings(".widget-tpl").removeClass("selected"),this.selected.addClass("selected")},focus:function(a){this.select(b(a.currentTarget))},_submit:function(a){("keypress"!==a.type||13===a.which||32===a.which)&&this.submit(b(a.currentTarget))},submit:function(a){var c,d,e;a||(a=this.selected),a&&this.currentSidebarControl&&(this.select(a),c=b(this.selected).data("widget-id"),d=this.collection.findWhere({id:c}),d&&(e=this.currentSidebarControl.addWidget(d.get("id_base")),e&&e.focus(),this.close()))},open:function(a){this.currentSidebarControl=a,_(this.currentSidebarControl.getWidgetFormControls()).each(function(a){a.params.is_wide&&a.collapseForm()}),b("body").addClass("adding-widget"),this.$el.find(".selected").removeClass("selected"),this.collection.doSearch(""),f.settings.browser.mobile||this.$search.focus()},close:function(a){a=a||{},a.returnFocus&&this.currentSidebarControl&&this.currentSidebarControl.container.find(".add-new-widget").focus(),this.currentSidebarControl=null,this.selected=null,b("body").removeClass("adding-widget"),this.$search.val("")},keyboardAccessible:function(a){var c=13===a.which,d=27===a.which,e=40===a.which,f=38===a.which,g=9===a.which,h=a.shiftKey,i=null,j=this.$el.find("> .widget-tpl:visible:first"),k=this.$el.find("> .widget-tpl:visible:last"),l=b(a.target).is(this.$search),m=b(a.target).is(".widget-tpl:visible:last");return e||f?(e?l?i=j:this.selected&&0!==this.selected.nextAll(".widget-tpl:visible").length&&(i=this.selected.nextAll(".widget-tpl:visible:first")):f&&(l?i=k:this.selected&&0!==this.selected.prevAll(".widget-tpl:visible").length&&(i=this.selected.prevAll(".widget-tpl:visible:first"))),this.select(i),void(i?i.focus():this.$search.focus())):void((!c||this.$search.val())&&(c?this.submit():d&&this.close({returnFocus:!0}),g&&(h&&l||!h&&m)&&(this.currentSidebarControl.container.find(".add-new-widget").focus(),a.preventDefault())))}}),f.Widgets.formSyncHandlers={rss:function(a,c,d){var e=c.find(".widget-error:first"),f=b("<div>"+d+"</div>").find(".widget-error:first");e.length&&f.length?e.replaceWith(f):e.length?e.remove():f.length&&c.find(".widget-content:first").prepend(f)}},f.Widgets.WidgetControl=f.Control.extend({defaultExpandedArguments:{duration:"fast",completeCallback:b.noop},initialize:function(a,c){var d=this;f.Control.prototype.initialize.call(d,a,c),d.expanded=new f.Value,d.expandedArgumentsQueue=[],d.expanded.bind(function(a){var c=d.expandedArgumentsQueue.shift();c=b.extend({},d.defaultExpandedArguments,c),d.onChangeExpanded(a,c)}),d.expanded.set(!1)},ready:function(){this._setupModel(),this._setupWideWidget(),this._setupControlToggle(),this._setupWidgetTitle(),this._setupReorderUI(),this._setupHighlightEffects(),this._setupUpdateUI(),this._setupRemoveUI(),b(document).trigger("widget-added",[this.container.find(".widget:first")])},_setupModel:function(){var a,b=this;f.Widgets.savedWidgetIds=f.Widgets.savedWidgetIds||[],a=function(){f.Widgets.savedWidgetIds[b.params.widget_id]=!0},f.bind("ready",a),f.bind("saved",a),this._updateCount=0,this.isWidgetUpdating=!1,this.liveUpdateMode=!0,this.setting.bind(function(a,c){_(c).isEqual(a)||b.isWidgetUpdating||b.updateWidget({instance:a})})},_setupWideWidget:function(){var a,c,d,e,g,h=this;this.params.is_wide&&(a=this.container.find(".widget-inside"),c=a.find("> .form"),d=b(".wp-full-overlay-sidebar-content:first"),this.container.addClass("wide-widget-control"),this.container.find(".widget-content:first").css({"max-width":this.params.width,"min-height":this.params.height}),g=function(){var d,e=h.container.offset().top,f=b(window).height(),g=c.outerHeight();a.css("max-height",f),d=Math.max(0,Math.min(Math.max(e,0),f-g)),a.css("top",d)},e=b("#customize-theme-controls"),this.container.on("expand",function(){g(),d.on("scroll",g),b(window).on("resize",g),e.on("expanded collapsed",g)}),this.container.on("collapsed",function(){d.off("scroll",g),b(window).off("resize",g),e.off("expanded collapsed",g)}),f.each(function(a){0===a.id.indexOf("sidebars_widgets[")&&a.bind(function(){h.container.hasClass("expanded")&&g()})}))},_setupControlToggle:function(){var a,b=this;this.container.find(".widget-top").on("click",function(a){a.preventDefault();var c=b.getSidebarWidgetsControl();c.isReordering||b.expanded(!b.expanded())}),a=this.container.find(".widget-control-close"),a.on("click",function(a){a.preventDefault(),b.collapse(),b.container.find(".widget-top .widget-action:first").focus()})},_setupWidgetTitle:function(){var a,b=this;a=function(){var a=b.setting().title,c=b.container.find(".in-widget-title");c.text(a?": "+a:"")},this.setting.bind(a),a()},_setupReorderUI:function(){var c,d,g,h,i=this;c=function(a){a.siblings(".selected").removeClass("selected"),a.addClass("selected");var b=a.data("id")===i.params.sidebar_id;i.container.find(".move-widget-btn").prop("disabled",b)},this.container.find(".widget-title-action").after(b(f.Widgets.data.tpl.widgetReorderNav)),d=b(_.template(f.Widgets.data.tpl.moveWidgetArea,{sidebars:_(f.Widgets.registeredSidebars.toArray()).pluck("attributes")})),this.container.find(".widget-top").after(d),h=function(){var a,e=d.find("li"),g=0;a=e.filter(function(){return b(this).data("id")===i.params.sidebar_id}),e.each(function(){var d,e,h,i=b(this);d=i.data("id"),e=f.Widgets.registeredSidebars.get(d),h=e.get("is_rendered"),i.toggle(h),h&&(g+=1),i.hasClass("selected")&&!h&&c(a)}),g>1?i.container.find(".move-widget").show():i.container.find(".move-widget").hide()},h(),f.Widgets.registeredSidebars.on("change:is_rendered",h),g=this.container.find(".widget-reorder-nav"),g.find(".move-widget, .move-widget-down, .move-widget-up").each(function(){b(this).prepend(i.container.find(".widget-title").text()+": ")}).on("click keypress",function(c){if("keypress"!==c.type||13===c.which||32===c.which)if(b(this).focus(),b(this).is(".move-widget"))i.toggleWidgetMoveArea();else{var d=b(this).is(".move-widget-down"),f=b(this).is(".move-widget-up"),g=i.getWidgetSidebarPosition();if(f&&0===g||d&&g===i.getSidebarWidgetsControl().setting().length-1)return;f?(i.moveUp(),a.a11y.speak(e.widgetMovedUp)):(i.moveDown(),a.a11y.speak(e.widgetMovedDown)),b(this).focus()}}),this.container.find(".widget-area-select").on("click keypress","li",function(a){("keypress"!==a.type||13===a.which||32===a.which)&&(a.preventDefault(),c(b(this)))}),this.container.find(".move-widget-btn").click(function(){i.getSidebarWidgetsControl().toggleReordering(!1);var a,b,c,d,e,g=i.params.sidebar_id,h=i.container.find(".widget-area-select li.selected").data("id");a=f("sidebars_widgets["+g+"]"),b=f("sidebars_widgets["+h+"]"),c=Array.prototype.slice.call(a()),d=Array.prototype.slice.call(b()),e=i.getWidgetSidebarPosition(),c.splice(e,1),d.push(i.params.widget_id),a(c),b(d),i.focus()})},_setupHighlightEffects:function(){var a=this;this.container.on("mouseenter click",function(){a.setting.previewer.send("highlight-widget",a.params.widget_id)}),this.setting.bind(function(){a.setting.previewer.send("highlight-widget",a.params.widget_id)})},_setupUpdateUI:function(){var a,c,d,g,h,i=this;a=this.container.find(".widget:first"),c=a.find(".widget-content:first"),d=this.container.find(".widget-control-save"),d.val(e.saveBtnLabel),d.attr("title",e.saveBtnTooltip),d.removeClass("button-primary").addClass("button-secondary"),d.on("click",function(a){a.preventDefault(),i.updateWidget({disable_form:!0})}),g=_.debounce(function(){i.updateWidget()},250),c.on("keydown","input",function(a){13===a.which&&(a.preventDefault(),i.updateWidget({ignoreActiveElement:!0}))}),c.on("change input propertychange",":input",function(a){i.liveUpdateMode&&("change"===a.type?i.updateWidget():this.checkValidity&&this.checkValidity()&&g())}),this.setting.previewer.channel.bind("synced",function(){i.container.removeClass("previewer-loading")}),f.previewer.bind("widget-updated",function(a){a===i.params.widget_id&&i.container.removeClass("previewer-loading")}),h=f.Widgets.formSyncHandlers[this.params.widget_id_base],h&&b(document).on("widget-synced",function(b,c){a.is(c)&&h.apply(document,arguments)})},onChangeActive:function(a,b){this.container.toggleClass("widget-rendered",a),b.completeCallback&&b.completeCallback()},_setupRemoveUI:function(){var a,b,c=this;a=this.container.find("a.widget-control-remove"),a.on("click",function(a){a.preventDefault();var b;b=c.container.next().is(".customize-control-widget_form")?c.container.next().find(".widget-action:first"):c.container.prev().is(".customize-control-widget_form")?c.container.prev().find(".widget-action:first"):c.container.next(".customize-control-sidebar_widgets").find(".add-new-widget:first"),c.container.slideUp(function(){var a,d,e=f.Widgets.getSidebarWidgetControlContainingWidget(c.params.widget_id);e&&(a=e.setting().slice(),d=_.indexOf(a,c.params.widget_id),-1!==d&&(a.splice(d,1),e.setting(a),b.focus()))})}),b=function(){a.text(e.removeBtnLabel),a.attr("title",e.removeBtnTooltip)},this.params.is_new?f.bind("saved",b):b()},_getInputs:function(a){return b(a).find(":input[name]")},_getInputsSignature:function(a){var c=_(a).map(function(a){var c,d=b(a);return c=d.is(":checkbox, :radio")?[d.attr("id"),d.attr("name"),d.prop("value")]:[d.attr("id"),d.attr("name")],c.join(",")});return c.join(";")},_getInputState:function(a){return a=b(a),a.is(":radio, :checkbox")?a.prop("checked"):a.is("select[multiple]")?a.find("option:selected").map(function(){return b(this).val()}).get():a.val()},_setInputState:function(a,c){a=b(a),a.is(":radio, :checkbox")?a.prop("checked",c):a.is("select[multiple]")?(c=b.isArray(c)?_.map(c,function(a){return String(a)}):[],a.find("option").each(function(){b(this).prop("selected",-1!==_.indexOf(c,String(this.value)))})):a.val(c)},getSidebarWidgetsControl:function(){var a,b;return a="sidebars_widgets["+this.params.sidebar_id+"]",(b=f.control(a))?b:void 0},updateWidget:function(c){var d,g,h,i,j,k,l,m,n,o,p,q=this;c=b.extend({instance:null,complete:null,ignoreActiveElement:!1},c),d=c.instance,g=c.complete,this._updateCount+=1,j=this._updateCount,h=this.container.find(".widget:first"),i=h.find(".widget-content:first"),i.find(".widget-error").remove(),this.container.addClass("widget-form-loading"),this.container.addClass("previewer-loading"),n=f.state("processing"),n(n()+1),this.liveUpdateMode||this.container.addClass("widget-form-disabled"),k={},k.action="update-widget",k.wp_customize="on",k.nonce=f.Widgets.data.nonce,k.theme=f.settings.theme.stylesheet,l=b.param(k),m=this._getInputs(i),m.each(function(){b(this).data("state"+j,q._getInputState(this))}),l+=d?"&"+b.param({sanitized_widget_setting:JSON.stringify(d)}):"&"+m.serialize(),l+="&"+i.find("~ :input").serialize(),this._previousUpdateRequest&&this._previousUpdateRequest.abort(),o=b.post(a.ajax.settings.url,l),this._previousUpdateRequest=o,o.done(function(a){var d,k,l,n,o=!1;return"0"===a?(f.previewer.preview.iframe.hide(),void f.previewer.login().done(function(){q.updateWidget(c),f.previewer.preview.iframe.show()})):"-1"===a?void f.previewer.cheatin():void(a.success?(k=b("<div>"+a.data.form+"</div>"),l=q._getInputs(k),n=q._getInputsSignature(m)===q._getInputsSignature(l),n&&!q.liveUpdateMode&&(q.liveUpdateMode=!0,q.container.removeClass("widget-form-disabled"),q.container.find('input[name="savewidget"]').hide()),n&&q.liveUpdateMode?(m.each(function(a){var d,e,f,g=b(this),h=b(l[a]);d=g.data("state"+j),e=q._getInputState(h),g.data("sanitized",e),f=!_.isEqual(d,e)&&(c.ignoreActiveElement||!g.is(document.activeElement)),f&&q._setInputState(g,e)}),b(document).trigger("widget-synced",[h,a.data.form])):q.liveUpdateMode?(q.liveUpdateMode=!1,q.container.find('input[name="savewidget"]').show(),o=!0):(i.html(a.data.form),q.container.removeClass("widget-form-disabled"),b(document).trigger("widget-updated",[h])),p=!o&&!_(q.setting()).isEqual(a.data.instance),p?(q.isWidgetUpdating=!0,q.setting(a.data.instance),q.isWidgetUpdating=!1):q.container.removeClass("previewer-loading"),g&&g.call(q,null,{noChange:!p,ajaxFinished:!0})):(d=e.error,a.data&&a.data.message&&(d=a.data.message),g?g.call(q,d):i.prepend('<p class="widget-error"><strong>'+d+"</strong></p>")))}),o.fail(function(a,b){g&&g.call(q,b)}),o.always(function(){q.container.removeClass("widget-form-loading"),m.each(function(){b(this).removeData("state"+j)}),n(n()-1)})},expandControlSection:function(){f.Control.prototype.expand.call(this)},_toggleExpanded:f.Section.prototype._toggleExpanded,expand:f.Section.prototype.expand,expandForm:function(){this.expand()},collapse:f.Section.prototype.collapse,collapseForm:function(){this.collapse()},toggleForm:function(a){"undefined"==typeof a&&(a=!this.expanded()),this.expanded(a)},onChangeExpanded:function(a,b){var c,d,e,g,h=this;return b.unchanged?void(a&&f.Control.prototype.expand.call(h,{completeCallback:b.completeCallback})):(c=this.container.find("div.widget:first"),d=c.find(".widget-inside:first"),void(a?(h.expandControlSection(),f.control.each(function(a){h.params.type===a.params.type&&h!==a&&a.collapse()}),e=function(){h.container.removeClass("expanding"),h.container.addClass("expanded"),h.container.trigger("expanded")},b.completeCallback&&(g=e,e=function(){g(),b.completeCallback()}),h.params.is_wide?d.fadeIn(b.duration,e):d.slideDown(b.duration,e),h.container.trigger("expand"),h.container.addClass("expanding")):(e=function(){h.container.removeClass("collapsing"),h.container.removeClass("expanded"),h.container.trigger("collapsed")},b.completeCallback&&(g=e,e=function(){g(),b.completeCallback()}),h.container.trigger("collapse"),h.container.addClass("collapsing"),h.params.is_wide?d.fadeOut(b.duration,e):d.slideUp(b.duration,function(){c.css({width:"",margin:""}),e()}))))},getWidgetSidebarPosition:function(){var a,b;return a=this.getSidebarWidgetsControl().setting(),b=_.indexOf(a,this.params.widget_id),-1!==b?b:void 0},moveUp:function(){this._moveWidgetByOne(-1)},moveDown:function(){this._moveWidgetByOne(1)},_moveWidgetByOne:function(a){var b,c,d,e;b=this.getWidgetSidebarPosition(),c=this.getSidebarWidgetsControl().setting,d=Array.prototype.slice.call(c()),e=d[b+a],d[b+a]=this.params.widget_id,d[b]=e,c(d)},toggleWidgetMoveArea:function(a){var c,d=this;c=this.container.find(".move-widget-area"),"undefined"==typeof a&&(a=!c.hasClass("active")),a&&(c.find(".selected").removeClass("selected"),c.find("li").filter(function(){return b(this).data("id")===d.params.sidebar_id}).addClass("selected"),this.container.find(".move-widget-btn").prop("disabled",!0)),c.toggleClass("active",a)},highlightSectionAndControl:function(){var a;a=this.container.is(":hidden")?this.container.closest(".control-section"):this.container,b(".highlighted").removeClass("highlighted"),a.addClass("highlighted"),setTimeout(function(){a.removeClass("highlighted")},500)}}),f.Widgets.SidebarSection=f.Section.extend({ready:function(){var a,b=this;f.Section.prototype.ready.call(this),a=f.Widgets.registeredSidebars.get(b.params.sidebarId),b.active.bind(function(b){a.set("is_rendered",b)}),a.set("is_rendered",b.active())}}),f.Widgets.SidebarControl=f.Control.extend({ready:function(){this.$controlSection=this.container.closest(".control-section"),this.$sectionContent=this.container.closest(".accordion-section-content"),this._setupModel(),this._setupSortable(),this._setupAddition(),this._applyCardinalOrderClassNames()},_setupModel:function(){var a=this;this.setting.bind(function(d,e){var g,h,i;h=_(e).difference(d),d=_(d).filter(function(a){var b=c(a);return!!f.Widgets.availableWidgets.findWhere({id_base:b.id_base})}),g=_(d).map(function(b){var c=f.Widgets.getWidgetFormControlForWidget(b);return c||(c=a.addWidget(b)),c}),g.sort(function(a,b){var c=_.indexOf(d,a.params.widget_id),e=_.indexOf(d,b.params.widget_id);return c-e}),i=0,_(g).each(function(b){b.priority(i),b.section(a.section()),i+=1}),a.priority(i),a._applyCardinalOrderClassNames(),_(g).each(function(b){b.params.sidebar_id=a.params.sidebar_id}),_(h).each(function(d){setTimeout(function(){var e,g,h,i,j,k=!1;f.each(function(b){if(b.id!==a.setting.id&&0===b.id.indexOf("sidebars_widgets[")&&"sidebars_widgets[wp_inactive_widgets]"!==b.id){var c,e=b();c=_.indexOf(e,d),-1!==c&&(k=!0)}}),k||(e=f.Widgets.getWidgetFormControlForWidget(d),g=e&&b.contains(document,e.container[0])&&!b.contains(a.$sectionContent[0],e.container[0]),e&&!g&&(f.control.remove(e.id),e.container.remove()),f.Widgets.savedWidgetIds[d]&&(h=f.value("sidebars_widgets[wp_inactive_widgets]")().slice(),h.push(d),f.value("sidebars_widgets[wp_inactive_widgets]")(_(h).unique())),i=c(d).id_base,j=f.Widgets.availableWidgets.findWhere({id_base:i}),j&&!j.get("is_multi")&&j.set("is_disabled",!1))})})})},_setupSortable:function(){var a=this;this.isReordering=!1,this.$sectionContent.sortable({items:"> .customize-control-widget_form",handle:".widget-top",axis:"y",connectWith:".accordion-section-content:has(.customize-control-sidebar_widgets)",update:function(){var c,d=a.$sectionContent.sortable("toArray");c=b.map(d,function(a){return b("#"+a).find(":input[name=widget-id]").val()}),a.setting(c)}}),this.$controlSection.find(".accordion-section-title").droppable({accept:".customize-control-widget_form",over:function(){var b=f.section(a.section.get());b.expand({allowMultiple:!0,completeCallback:function(){f.section.each(function(a){a.container.find(".customize-control-sidebar_widgets").length&&a.container.find(".accordion-section-content:first").sortable("refreshPositions")})}})}}),this.container.find(".reorder-toggle").on("click keydown",function(b){("keydown"!==b.type||13===b.which||32===b.which)&&a.toggleReordering(!a.isReordering)})},_setupAddition:function(){var a=this;this.container.find(".add-new-widget").on("click keydown",function(c){("keydown"!==c.type||13===c.which||32===c.which)&&(a.$sectionContent.hasClass("reordering")||(b("body").hasClass("adding-widget")?f.Widgets.availableWidgetsPanel.close():f.Widgets.availableWidgetsPanel.open(a)))})},_applyCardinalOrderClassNames:function(){var a=[];return _.each(this.setting(),function(b){var c=f.Widgets.getWidgetFormControlForWidget(b);c&&a.push(c)}),a.length?(this.container.find(".reorder-toggle").show(),b(a).each(function(){b(this.container).removeClass("first-widget").removeClass("last-widget").find(".move-widget-down, .move-widget-up").prop("tabIndex",0)}),_.first(a).container.addClass("first-widget").find(".move-widget-up").prop("tabIndex",-1),void _.last(a).container.addClass("last-widget").find(".move-widget-down").prop("tabIndex",-1)):void this.container.find(".reorder-toggle").hide()},toggleReordering:function(a){a=Boolean(a),a!==this.$sectionContent.hasClass("reordering")&&(this.isReordering=a,this.$sectionContent.toggleClass("reordering",a),a?(_(this.getWidgetFormControls()).each(function(a){a.collapse()}),this.$sectionContent.find(".first-widget .move-widget").focus(),this.$sectionContent.find(".add-new-widget").prop("tabIndex",-1)):this.$sectionContent.find(".add-new-widget").prop("tabIndex",0))},getWidgetFormControls:function(){var a=[];return _(this.setting()).each(function(b){var c=d(b),e=f.control(c);e&&a.push(e)}),a},addWidget:function(a){var d,e,g,h,i,j,k,l,m,n,o=this,p="widget_form",q=c(a),r=q.number,s=q.id_base,t=f.Widgets.availableWidgets.findWhere({id_base:s});return t?r&&!t.get("is_multi")?!1:(t.get("is_multi")&&!r&&(t.set("multi_number",t.get("multi_number")+1),r=t.get("multi_number")),d=b.trim(b("#widget-tpl-"+t.get("id")).html()),t.get("is_multi")?d=d.replace(/<[^<>]+>/g,function(a){return a.replace(/__i__|%i%/g,r)}):t.set("is_disabled",!0),e=b(d),g=b("<li/>").addClass("customize-control").addClass("customize-control-"+p).append(e),g.find("> .widget-icon").remove(),t.get("is_multi")&&(g.find('input[name="widget_number"]').val(r),g.find('input[name="multi_number"]').val(r)),a=g.find('[name="widget-id"]').val(),g.hide(),i="widget_"+t.get("id_base"),t.get("is_multi")&&(i+="["+r+"]"),g.attr("id","customize-control-"+i.replace(/\]/g,"").replace(/\[/g,"-")),j=f.has(i),j||(m={transport:"refresh",previewer:this.setting.previewer},n=f.create(i,i,"",m),n.set({})),h=f.controlConstructor[p],k=new h(i,{params:{settings:{"default":i},content:g,sidebar_id:o.params.sidebar_id,widget_id:a,widget_id_base:t.get("id_base"),type:p,is_new:!j,width:t.get("width"),height:t.get("height"),is_wide:t.get("is_wide")},previewer:o.setting.previewer}),f.control.add(i,k),f.each(function(b){if(b.id!==o.setting.id&&0===b.id.indexOf("sidebars_widgets[")){var c=b().slice(),d=_.indexOf(c,a);-1!==d&&(c.splice(d),b(c))}}),l=this.setting().slice(),-1===_.indexOf(l,a)&&(l.push(a),this.setting(l)),g.slideDown(function(){j&&k.updateWidget({instance:k.setting()})}),k):!1}}),b.extend(f.sectionConstructor,{sidebar:f.Widgets.SidebarSection}),b.extend(f.controlConstructor,{widget_form:f.Widgets.WidgetControl,sidebar_widgets:f.Widgets.SidebarControl}),f.bind("nonce-refresh",function(a){f.Widgets.data.nonce=a["update-widget"]}),f.bind("ready",function(){f.Widgets.availableWidgetsPanel=new f.Widgets.AvailableWidgetsPanelView({collection:f.Widgets.availableWidgets}),f.previewer.bind("highlight-widget-control",f.Widgets.highlightWidgetFormControl),f.previewer.bind("focus-widget-control",f.Widgets.focusWidgetFormControl)}),f.Widgets.highlightWidgetFormControl=function(a){var b=f.Widgets.getWidgetFormControlForWidget(a);b&&b.highlightSectionAndControl()},f.Widgets.focusWidgetFormControl=function(a){var b=f.Widgets.getWidgetFormControlForWidget(a);b&&b.focus()},f.Widgets.getSidebarWidgetControlContainingWidget=function(a){var b=null;return f.control.each(function(c){"sidebar_widgets"===c.params.type&&-1!==_.indexOf(c.setting(),a)&&(b=c)}),b},f.Widgets.getWidgetFormControlForWidget=function(a){var b=null;return f.control.each(function(c){"widget_form"===c.params.type&&c.params.widget_id===a&&(b=c)}),b}}}(window.wp,jQuery);
\ No newline at end of file
index 78c46174eaf9014e8a72a9a798b9b023997d3627..3d55054a33490fed05a9accfa3cd54b0b3fe4645 100644 (file)
@@ -351,8 +351,8 @@ commentReply = {
                $('#com-reply').append( replyrow );
                $('#replycontent').css('height', '').val('');
                $('#edithead input').val('');
-               $('.error', replyrow).html('').hide();
-               $('.spinner', replyrow).hide();
+               $('.error', replyrow).empty().hide();
+               $( '.spinner', replyrow ).removeClass( 'is-active' );
 
                this.cid = '';
        },
@@ -442,7 +442,7 @@ commentReply = {
                var post = {};
 
                $('#replysubmit .error').hide();
-               $('#replysubmit .spinner').show();
+               $( '#replysubmit .spinner' ).addClass( 'is-active' );
 
                $('#replyrow input').not(':button').each(function() {
                        var t = $(this);
@@ -525,7 +525,7 @@ commentReply = {
        error : function(r) {
                var er = r.statusText;
 
-               $('#replysubmit .spinner').hide();
+               $( '#replysubmit .spinner' ).removeClass( 'is-active' );
 
                if ( r.responseText )
                        er = r.responseText.replace( /<.[^<>]*?>/g, '' );
@@ -603,7 +603,9 @@ $(document).ready(function(){
                                        disableInInput: true,
                                        type: 'keypress',
                                        noDisable: '.check-column input[type="checkbox"]'
-                               }
+                               },
+                               cycle_expr: '#the-comment-list tr',
+                               start_row_index: 0
                        }
                );
        }
index 883a72590d9d15c87645506a7b382783d29133d8..35ee42c2c8d794b7635bd76297c4fba6ff559f49 100644 (file)
@@ -1 +1 @@
-var setCommentsList,theList,theExtraList,commentReply;!function(a){var b,c,d;setCommentsList=function(){var e,f,g,h,i,j,k,l,m,n=0;e=a('input[name="_total"]',"#comments-form"),f=a('input[name="_per_page"]',"#comments-form"),g=a('input[name="_page"]',"#comments-form"),h=function(b,c){var e,f,g,h=a("#"+c.element);e=a("#replyrow"),f=a("#comment_ID",e).val(),g=a("#replybtn",e),h.is(".unapproved")?(c.data.id==f&&g.text(adminCommentsL10n.replyApprove),h.find("div.comment_status").html("0")):(c.data.id==f&&g.text(adminCommentsL10n.reply),h.find("div.comment_status").html("1")),m=a("#"+c.element).is("."+c.dimClass)?1:-1,d(m)},i=function(b,c){var d,h,i,j,k,l,m,n=!1,o=a(b.target).attr("data-wp-lists");return b.data._total=e.val()||0,b.data._per_page=f.val()||0,b.data._page=g.val()||0,b.data._url=document.location.href,b.data.comment_status=a('input[name="comment_status"]',"#comments-form").val(),-1!=o.indexOf(":trash=1")?n="trash":-1!=o.indexOf(":spam=1")&&(n="spam"),n&&(h=o.replace(/.*?comment-([0-9]+).*/,"$1"),i=a("#comment-"+h),d=a("#"+n+"-undo-holder").html(),i.find(".check-column :checkbox").prop("checked",!1),i.siblings("#replyrow").length&&commentReply.cid==h&&commentReply.close(),i.is("tr")?(j=i.children(":visible").length,m=a(".author strong",i).text(),k=a('<tr id="undo-'+h+'" class="undo un'+n+'" style="display:none;"><td colspan="'+j+'">'+d+"</td></tr>")):(m=a(".comment-author",i).text(),k=a('<div id="undo-'+h+'" style="display:none;" class="undo un'+n+'">'+d+"</div>")),i.before(k),a("strong","#undo-"+h).text(m),l=a(".undo a","#undo-"+h),l.attr("href","comment.php?action=un"+n+"comment&c="+h+"&_wpnonce="+b.data._ajax_nonce),l.attr("data-wp-lists","delete:the-comment-list:comment-"+h+"::un"+n+"=1"),l.attr("class","vim-z vim-destructive"),a(".avatar",i).first().clone().prependTo("#undo-"+h+" ."+n+"-undo-inside"),l.click(function(){return c.wpList.del(this),a("#undo-"+h).css({backgroundColor:"#ceb"}).fadeOut(350,function(){a(this).remove(),a("#comment-"+h).css("backgroundColor","").fadeIn(300,function(){a(this).show()})}),!1})),b},j=function(a,b,c){n>b||(c&&(n=b),e.val(a.toString()))},b=function(a){var b=parseInt(a.html().replace(/[^0-9]+/g,""),10);return isNaN(b)?0:b},c=function(a,b){var c="";if(!isNaN(b)){if(b=1>b?"0":b.toString(),b.length>3){for(;b.length>3;)c=thousandsSeparator+b.substr(b.length-3)+c,b=b.substr(0,b.length-3);b+=c}a.html(b)}},d=function(d){a("span.pending-count").each(function(){var e=a(this),f=b(e)+d;1>f&&(f=0),e.closest(".awaiting-mod")[0===f?"addClass":"removeClass"]("count-0"),c(e,f)})},k=function(f,g){function h(b){return a(g.target).parent().is("span."+b)?1:a("#"+g.element).is("."+b)?-1:0}var i,k,m,o,p,q=a(g.target).parent().is("span.untrash"),r=a(g.target).parent().is("span.unspam"),s=a("#"+g.element).is(".unapproved");o=q?-1:h("trash"),m=r?-1:h("spam"),a(g.target).parent().is("span.unapprove")||(q||r)&&s?p=1:s&&(p=-1),p&&d(p),a("span.spam-count").each(function(){var d=a(this),e=b(d)+m;c(d,e)}),a("span.trash-count").each(function(){var d=a(this),e=b(d)+o;c(d,e)}),a("#dashboard_right_now").length||(k=e.val()?parseInt(e.val(),10):0,a(g.target).parent().is("span.undo")?k++:k--,0>k&&(k=0),"object"==typeof f&&n<g.parsed.responses[0].supplemental.time?(i=g.parsed.responses[0].supplemental.total_items_i18n||"",i&&(a(".displaying-num").text(i),a(".total-pages").text(g.parsed.responses[0].supplemental.total_pages_i18n),a(".tablenav-pages").find(".next-page, .last-page").toggleClass("disabled",g.parsed.responses[0].supplemental.total_pages==a(".current-page").val())),j(k,g.parsed.responses[0].supplemental.time,!0)):j(k,f,!1)),!theExtraList||0===theExtraList.size()||0===theExtraList.children().size()||q||r||(theList.get(0).wpList.add(theExtraList.children(":eq(0)").remove().clone()),l())},l=function(b){var c=a.query.get(),d=a(".total-pages").text(),e=a('input[name="_per_page"]',"#comments-form").val();c.paged||(c.paged=1),c.paged>d||(b?(theExtraList.empty(),c.number=Math.min(8,e)):(c.number=1,c.offset=Math.min(8,e)-1),c.no_placeholder=!0,c.paged++,!0===c.comment_type&&(c.comment_type=""),c=a.extend(c,{action:"fetch-list",list_args:list_args,_ajax_fetch_list_nonce:a("#_ajax_fetch_list_nonce").val()}),a.ajax({url:ajaxurl,global:!1,dataType:"json",data:c,success:function(a){theExtraList.get(0).wpList.add(a.rows)}}))},theExtraList=a("#the-extra-comment-list").wpList({alt:"",delColor:"none",addColor:"none"}),theList=a("#the-comment-list").wpList({alt:"",delBefore:i,dimAfter:h,delAfter:k,addColor:"none"}).bind("wpListDelEnd",function(b,c){var d=a(c.target).attr("data-wp-lists"),e=c.element.replace(/[^0-9]+/g,"");(-1!=d.indexOf(":trash=1")||-1!=d.indexOf(":spam=1"))&&a("#undo-"+e).fadeIn(300,function(){a(this).show()})})},commentReply={cid:"",act:"",init:function(){var b=a("#replyrow");a("a.cancel",b).click(function(){return commentReply.revert()}),a("a.save",b).click(function(){return commentReply.send()}),a("input#author, input#author-email, input#author-url",b).keypress(function(a){return 13==a.which?(commentReply.send(),a.preventDefault(),!1):void 0}),a("#the-comment-list .column-comment > p").dblclick(function(){commentReply.toggle(a(this).parent())}),a("#doaction, #doaction2, #post-query-submit").click(function(){a("#the-comment-list #replyrow").length>0&&commentReply.close()}),this.comments_listing=a('#comments-form > input[name="comment_status"]').val()||""},addEvents:function(b){b.each(function(){a(this).find(".column-comment > p").dblclick(function(){commentReply.toggle(a(this).parent())})})},toggle:function(b){"none"!=a(b).css("display")&&a(b).find("a.vim-q").click()},revert:function(){return a("#the-comment-list #replyrow").length<1?!1:(a("#replyrow").fadeOut("fast",function(){commentReply.close()}),!1)},close:function(){var b,c=a("#replyrow");c.parent().is("#com-reply")||(this.cid&&"edit-comment"==this.act&&(b=a("#comment-"+this.cid),b.fadeIn(300,function(){b.show()}).css("backgroundColor","")),"undefined"!=typeof QTags&&QTags.closeAllTags("replycontent"),a("#add-new-comment").css("display",""),c.hide(),a("#com-reply").append(c),a("#replycontent").css("height","").val(""),a("#edithead input").val(""),a(".error",c).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"]'}})),a("#the-comment-list").on("click",".comment-inline",function(b){b.preventDefault();var c=a(this),d="replyto";"undefined"!=typeof c.data("action")&&(d=c.data("action")),commentReply.open(c.data("commentId"),c.data("postId"),d)})})}(jQuery);
\ No newline at end of file
+var setCommentsList,theList,theExtraList,commentReply;!function(a){var b,c,d;setCommentsList=function(){var e,f,g,h,i,j,k,l,m,n=0;e=a('input[name="_total"]',"#comments-form"),f=a('input[name="_per_page"]',"#comments-form"),g=a('input[name="_page"]',"#comments-form"),h=function(b,c){var e,f,g,h=a("#"+c.element);e=a("#replyrow"),f=a("#comment_ID",e).val(),g=a("#replybtn",e),h.is(".unapproved")?(c.data.id==f&&g.text(adminCommentsL10n.replyApprove),h.find("div.comment_status").html("0")):(c.data.id==f&&g.text(adminCommentsL10n.reply),h.find("div.comment_status").html("1")),m=a("#"+c.element).is("."+c.dimClass)?1:-1,d(m)},i=function(b,c){var d,h,i,j,k,l,m,n=!1,o=a(b.target).attr("data-wp-lists");return b.data._total=e.val()||0,b.data._per_page=f.val()||0,b.data._page=g.val()||0,b.data._url=document.location.href,b.data.comment_status=a('input[name="comment_status"]',"#comments-form").val(),-1!=o.indexOf(":trash=1")?n="trash":-1!=o.indexOf(":spam=1")&&(n="spam"),n&&(h=o.replace(/.*?comment-([0-9]+).*/,"$1"),i=a("#comment-"+h),d=a("#"+n+"-undo-holder").html(),i.find(".check-column :checkbox").prop("checked",!1),i.siblings("#replyrow").length&&commentReply.cid==h&&commentReply.close(),i.is("tr")?(j=i.children(":visible").length,m=a(".author strong",i).text(),k=a('<tr id="undo-'+h+'" class="undo un'+n+'" style="display:none;"><td colspan="'+j+'">'+d+"</td></tr>")):(m=a(".comment-author",i).text(),k=a('<div id="undo-'+h+'" style="display:none;" class="undo un'+n+'">'+d+"</div>")),i.before(k),a("strong","#undo-"+h).text(m),l=a(".undo a","#undo-"+h),l.attr("href","comment.php?action=un"+n+"comment&c="+h+"&_wpnonce="+b.data._ajax_nonce),l.attr("data-wp-lists","delete:the-comment-list:comment-"+h+"::un"+n+"=1"),l.attr("class","vim-z vim-destructive"),a(".avatar",i).first().clone().prependTo("#undo-"+h+" ."+n+"-undo-inside"),l.click(function(){return c.wpList.del(this),a("#undo-"+h).css({backgroundColor:"#ceb"}).fadeOut(350,function(){a(this).remove(),a("#comment-"+h).css("backgroundColor","").fadeIn(300,function(){a(this).show()})}),!1})),b},j=function(a,b,c){n>b||(c&&(n=b),e.val(a.toString()))},b=function(a){var b=parseInt(a.html().replace(/[^0-9]+/g,""),10);return isNaN(b)?0:b},c=function(a,b){var c="";if(!isNaN(b)){if(b=1>b?"0":b.toString(),b.length>3){for(;b.length>3;)c=thousandsSeparator+b.substr(b.length-3)+c,b=b.substr(0,b.length-3);b+=c}a.html(b)}},d=function(d){a("span.pending-count").each(function(){var e=a(this),f=b(e)+d;1>f&&(f=0),e.closest(".awaiting-mod")[0===f?"addClass":"removeClass"]("count-0"),c(e,f)})},k=function(f,g){function h(b){return a(g.target).parent().is("span."+b)?1:a("#"+g.element).is("."+b)?-1:0}var i,k,m,o,p,q=a(g.target).parent().is("span.untrash"),r=a(g.target).parent().is("span.unspam"),s=a("#"+g.element).is(".unapproved");o=q?-1:h("trash"),m=r?-1:h("spam"),a(g.target).parent().is("span.unapprove")||(q||r)&&s?p=1:s&&(p=-1),p&&d(p),a("span.spam-count").each(function(){var d=a(this),e=b(d)+m;c(d,e)}),a("span.trash-count").each(function(){var d=a(this),e=b(d)+o;c(d,e)}),a("#dashboard_right_now").length||(k=e.val()?parseInt(e.val(),10):0,a(g.target).parent().is("span.undo")?k++:k--,0>k&&(k=0),"object"==typeof f&&n<g.parsed.responses[0].supplemental.time?(i=g.parsed.responses[0].supplemental.total_items_i18n||"",i&&(a(".displaying-num").text(i),a(".total-pages").text(g.parsed.responses[0].supplemental.total_pages_i18n),a(".tablenav-pages").find(".next-page, .last-page").toggleClass("disabled",g.parsed.responses[0].supplemental.total_pages==a(".current-page").val())),j(k,g.parsed.responses[0].supplemental.time,!0)):j(k,f,!1)),!theExtraList||0===theExtraList.size()||0===theExtraList.children().size()||q||r||(theList.get(0).wpList.add(theExtraList.children(":eq(0)").remove().clone()),l())},l=function(b){var c=a.query.get(),d=a(".total-pages").text(),e=a('input[name="_per_page"]',"#comments-form").val();c.paged||(c.paged=1),c.paged>d||(b?(theExtraList.empty(),c.number=Math.min(8,e)):(c.number=1,c.offset=Math.min(8,e)-1),c.no_placeholder=!0,c.paged++,!0===c.comment_type&&(c.comment_type=""),c=a.extend(c,{action:"fetch-list",list_args:list_args,_ajax_fetch_list_nonce:a("#_ajax_fetch_list_nonce").val()}),a.ajax({url:ajaxurl,global:!1,dataType:"json",data:c,success:function(a){theExtraList.get(0).wpList.add(a.rows)}}))},theExtraList=a("#the-extra-comment-list").wpList({alt:"",delColor:"none",addColor:"none"}),theList=a("#the-comment-list").wpList({alt:"",delBefore:i,dimAfter:h,delAfter:k,addColor:"none"}).bind("wpListDelEnd",function(b,c){var d=a(c.target).attr("data-wp-lists"),e=c.element.replace(/[^0-9]+/g,"");(-1!=d.indexOf(":trash=1")||-1!=d.indexOf(":spam=1"))&&a("#undo-"+e).fadeIn(300,function(){a(this).show()})})},commentReply={cid:"",act:"",init:function(){var b=a("#replyrow");a("a.cancel",b).click(function(){return commentReply.revert()}),a("a.save",b).click(function(){return commentReply.send()}),a("input#author, input#author-email, input#author-url",b).keypress(function(a){return 13==a.which?(commentReply.send(),a.preventDefault(),!1):void 0}),a("#the-comment-list .column-comment > p").dblclick(function(){commentReply.toggle(a(this).parent())}),a("#doaction, #doaction2, #post-query-submit").click(function(){a("#the-comment-list #replyrow").length>0&&commentReply.close()}),this.comments_listing=a('#comments-form > input[name="comment_status"]').val()||""},addEvents:function(b){b.each(function(){a(this).find(".column-comment > p").dblclick(function(){commentReply.toggle(a(this).parent())})})},toggle:function(b){"none"!=a(b).css("display")&&a(b).find("a.vim-q").click()},revert:function(){return a("#the-comment-list #replyrow").length<1?!1:(a("#replyrow").fadeOut("fast",function(){commentReply.close()}),!1)},close:function(){var b,c=a("#replyrow");c.parent().is("#com-reply")||(this.cid&&"edit-comment"==this.act&&(b=a("#comment-"+this.cid),b.fadeIn(300,function(){b.show()}).css("backgroundColor","")),"undefined"!=typeof QTags&&QTags.closeAllTags("replycontent"),a("#add-new-comment").css("display",""),c.hide(),a("#com-reply").append(c),a("#replycontent").css("height","").val(""),a("#edithead input").val(""),a(".error",c).empty().hide(),a(".spinner",c).removeClass("is-active"),this.cid="")},open:function(b,c,d){var e,f,g,h,i,j=this,k=a("#comment-"+b),l=k.height();return j.close(),j.cid=b,e=a("#replyrow"),f=a("#inline-"+b),d=d||"replyto",g="edit"==d?"edit":"replyto",g=j.act=g+"-comment",a("#action",e).val(g),a("#comment_post_ID",e).val(c),a("#comment_ID",e).val(b),"edit"==d?(a("#author",e).val(a("div.author",f).text()),a("#author-email",e).val(a("div.author-email",f).text()),a("#author-url",e).val(a("div.author-url",f).text()),a("#status",e).val(a("div.comment_status",f).text()),a("#replycontent",e).val(a("textarea.comment",f).val()),a("#edithead, #savebtn",e).show(),a("#replyhead, #replybtn, #addhead, #addbtn",e).hide(),l>120&&(i=l>500?500:l,a("#replycontent",e).css("height",i+"px")),k.after(e).fadeOut("fast",function(){a("#replyrow").fadeIn(300,function(){a(this).show()})})):"add"==d?(a("#addhead, #addbtn",e).show(),a("#replyhead, #replybtn, #edithead, #editbtn",e).hide(),a("#the-comment-list").prepend(e),a("#replyrow").fadeIn(300)):(h=a("#replybtn",e),a("#edithead, #savebtn, #addhead, #addbtn",e).hide(),a("#replyhead, #replybtn",e).show(),k.after(e),h.text(k.hasClass("unapproved")?adminCommentsL10n.replyApprove:adminCommentsL10n.reply),a("#replyrow").fadeIn(300,function(){a(this).show()})),setTimeout(function(){var b,c,d,e,f;b=a("#replyrow").offset().top,c=b+a("#replyrow").height(),d=window.pageYOffset||document.documentElement.scrollTop,e=document.documentElement.clientHeight||window.innerHeight||0,f=d+e,c>f-20?window.scroll(0,c-e+35):d>b-20&&window.scroll(0,b-35),a("#replycontent").focus().keyup(function(a){27==a.which&&commentReply.revert()})},600),!1},send:function(){var b={};return a("#replysubmit .error").hide(),a("#replysubmit .spinner").addClass("is-active"),a("#replyrow input").not(":button").each(function(){var c=a(this);b[c.attr("name")]=c.val()}),b.content=a("#replycontent").val(),b.id=b.comment_post_ID,b.comments_listing=this.comments_listing,b.p=a('[name="p"]').val(),a("#comment-"+a("#comment_ID").val()).hasClass("unapproved")&&(b.approve_parent=1),a.ajax({type:"POST",url:ajaxurl,data:b,success:function(a){commentReply.show(a)},error:function(a){commentReply.error(a)}}),!1},show:function(b){var c,e,f,g,h,i=this;return"string"==typeof b?(i.error({responseText:b}),!1):(c=wpAjax.parseAjaxResponse(b),c.errors?(i.error({responseText:wpAjax.broken}),!1):(i.revert(),c=c.responses[0],f="#comment-"+c.id,"edit-comment"==i.act&&a(f).remove(),c.supplemental.parent_approved&&(h=a("#comment-"+c.supplemental.parent_approved),d(-1),"moderated"==this.comments_listing)?void h.animate({backgroundColor:"#CCEEBB"},400,function(){h.fadeOut()}):(e=a.trim(c.data),a(e).hide(),a("#replyrow").after(e),f=a(f),i.addEvents(f),g=f.hasClass("unapproved")?"#FFFFE0":f.closest(".widefat, .postbox").css("backgroundColor"),void f.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:g},300,function(){h&&h.length&&h.animate({backgroundColor:"#CCEEBB"},300).animate({backgroundColor:g},300).removeClass("unapproved").addClass("approved").find("div.comment_status").html("1")}))))},error:function(b){var c=b.statusText;a("#replysubmit .spinner").removeClass("is-active"),b.responseText&&(c=b.responseText.replace(/<.[^<>]*?>/g,"")),c&&a("#replysubmit .error").html(c).show()},addcomment:function(b){var c=this;a("#add-new-comment").fadeOut(200,function(){c.open(0,b,"add"),a("table.comments-box").css("display",""),a("#no-comments").remove()})}},a(document).ready(function(){var b,c,d,e;setCommentsList(),commentReply.init(),a(document).delegate("span.delete a.delete","click",function(){return!1}),"undefined"!=typeof a.table_hotkeys&&(b=function(b){return function(){var c,d;c="next"==b?"first":"last",d=a(".tablenav-pages ."+b+"-page:not(.disabled)"),d.length&&(window.location=d[0].href.replace(/\&hotkeys_highlight_(first|last)=1/g,"")+"&hotkeys_highlight_"+c+"=1")}},c=function(b,c){window.location=a("span.edit a",c).attr("href")},d=function(){a("#cb-select-all-1").data("wp-toggle",1).trigger("click").removeData("wp-toggle")},e=function(b){return function(){var c=a('select[name="action"]');a('option[value="'+b+'"]',c).prop("selected",!0),a("#doaction").click()}},a.table_hotkeys(a("table.widefat"),["a","u","s","d","r","q","z",["e",c],["shift+x",d],["shift+a",e("approve")],["shift+s",e("spam")],["shift+d",e("delete")],["shift+t",e("trash")],["shift+z",e("untrash")],["shift+u",e("unapprove")]],{highlight_first:adminCommentsL10n.hotkeys_highlight_first,highlight_last:adminCommentsL10n.hotkeys_highlight_last,prev_page_link_cb:b("prev"),next_page_link_cb:b("next"),hotkeys_opts:{disableInInput:!0,type:"keypress",noDisable:'.check-column input[type="checkbox"]'},cycle_expr:"#the-comment-list tr",start_row_index:0})),a("#the-comment-list").on("click",".comment-inline",function(b){b.preventDefault();var c=a(this),d="replyto";"undefined"!=typeof c.data("action")&&(d=c.data("action")),commentReply.open(c.data("commentId"),c.data("postId"),d)})})}(jQuery);
\ No newline at end of file
index 75496c26ce096a1bfa6e69eebc913a068b000350..db7561e62a843fa7a8233a1c871367da09fbf031 100644 (file)
                                var node = editor.selection.getNode(),
                                        range, view, offset;
 
-                               if ( editor.plugins.wpview && ( view = editor.plugins.wpview.getView( node ) ) ) {
+                               if ( editor.wp && editor.wp.getView && ( view = editor.wp.getView( node ) ) ) {
                                        offset = view.getBoundingClientRect();
                                } else {
                                        range = editor.selection.getRng();
                        var windowPos = $window.scrollTop(),
                                type = event && event.type,
                                resize = type !== 'scroll',
-                               visual = ( mceEditor && ! mceEditor.isHidden() ),
+                               visual = mceEditor && ! mceEditor.isHidden(),
                                buffer = autoresizeMinHeight,
                                postBodyTop = $postBody.offset().top,
                                borderWidth = 1,
                                topHeight = heights.textTopHeight;
                        }
 
+                       // TinyMCE still intializing.
+                       if ( ! visual && ! $top.length ) {
+                               return;
+                       }
+
                        topPos = $top.parent().offset().top;
                        editorPos = $editor.offset().top;
                        editorHeight = $editor.outerHeight();
                                                width: contentWrapWidth - ( borderWidth * 2 ) - ( visual ? 0 : ( $top.outerWidth() - $top.width() ) )
                                        } );
 
-                                       $statusBar.add( $bottom ).attr( 'style', '' );
+                                       $statusBar.attr( 'style', advanced ? '' : 'visibility: hidden;' );
+                                       $bottom.attr( 'style', '' );
                                }
                        } else {
                                // Maybe pin the top.
                                                ( windowPos + heights.windowHeight ) > ( editorPos + editorHeight + heights.bottomHeight + heights.statusBarHeight - borderWidth ) ) ) {
                                        fixedBottom = false;
 
-                                       $statusBar.add( $bottom ).attr( 'style', '' );
-
-                                       if ( ! advanced ) {
-                                               $statusBar.css( 'visibility', 'hidden' );
-                                       }
+                                       $statusBar.attr( 'style', advanced ? '' : 'visibility: hidden;' );
+                                       $bottom.attr( 'style', '' );
                                }
                        }
 
                }
 
                function off() {
-                       var height = window.getUserSetting('ed_size');
+                       var height = parseInt( window.getUserSetting( 'ed_size', 300 ), 10 );
+
+                       if ( height < 50 ) {
+                               height = 50;
+                       } else if ( height > 5000 ) {
+                               height = 5000;
+                       }
 
                        // Scroll to the top when triggering this from JS.
                        // Ensures toolbars are reset properly.
index aacf99eb0d2c17d18463ed436eda4cc395dbd380..b7d23d6eb57c6a83dcf3bcbe1d09d88bddb0ca25 100644 (file)
@@ -1 +1 @@
-!function(a,b){"use strict";var c=b(a),d=b(document),e=b("#wpadminbar"),f=b("#wpfooter");b(function(){function g(){var a=c.width();T={windowHeight:c.height(),windowWidth:a,adminBarHeight:a>600?e.outerHeight():0,toolsHeight:t.outerHeight()||0,menuBarHeight:A.outerHeight()||0,visualTopHeight:u.outerHeight()||0,textTopHeight:w.outerHeight()||0,bottomHeight:z.outerHeight()||0,statusBarHeight:B.outerHeight()||0,sideSortablesHeight:C.height()||0},T.menuBarHeight<3&&(T.menuBarHeight=0)}function h(b){var c,d,e,f,g,h=jQuery.ui.keyCode,i=b.keyCode,j=document.createRange(),k=x[0].selectionStart,l=x[0].selectionEnd,m=y[0].firstChild,n=10;if(!k||!l||k===l){try{j.setStart(m,k),j.setEnd(m,l+1)}catch(o){}c=j.getBoundingClientRect(),c.height&&(d=c.top-n,e=d+c.height+n,f=T.adminBarHeight+T.toolsHeight+T.textTopHeight,g=T.windowHeight-T.bottomHeight,f>d&&(i===h.UP||i===h.LEFT||i===h.BACKSPACE)?a.scrollTo(a.pageXOffset,d+a.pageYOffset-f):e>g&&a.scrollTo(a.pageXOffset,e+a.pageYOffset-g))}}function i(){if(!(p&&!p.isHidden()||!p&&"tinymce"===R)){var a,b=x.height();y.width(x.width()-22),y.text(x.val()+"&nbsp;"),a=y.height(),Q>a&&(a=Q),a!==b&&(x.height(a),j())}}function j(b){if(!F||!F.settings.visible){var e,h,j,k,l,m,n,o,q,r=c.scrollTop(),G=b&&b.type,H="scroll"!==G,N=p&&!p.isHidden(),R=Q,U=E.offset().top,V=1,W=s.width();(H||!T.windowHeight)&&g(),N||"resize"!==G||i(),N?(e=u,h=v,n=T.visualTopHeight):(e=w,h=x,n=T.textTopHeight),m=e.parent().offset().top,o=h.offset().top,q=h.outerHeight(),l=N?Q+n:Q+20,l=q>l+5,l?((!I||H)&&r>=m-T.toolsHeight-T.adminBarHeight&&r<=m-T.toolsHeight-T.adminBarHeight+q-R?(I=!0,t.css({position:"fixed",top:T.adminBarHeight,width:W}),N&&A.length&&A.css({position:"fixed",top:T.adminBarHeight+T.toolsHeight,width:W-2*V-(N?0:e.outerWidth()-e.width())}),e.css({position:"fixed",top:T.adminBarHeight+T.toolsHeight+T.menuBarHeight,width:W-2*V-(N?0:e.outerWidth()-e.width())})):(I||H)&&(r<=m-T.toolsHeight-T.adminBarHeight?(I=!1,t.css({position:"absolute",top:0,width:W}),N&&A.length&&A.css({position:"absolute",top:0,width:W-2*V}),e.css({position:"absolute",top:T.menuBarHeight,width:W-2*V-(N?0:e.outerWidth()-e.width())})):r>=m-T.toolsHeight-T.adminBarHeight+q-R&&(I=!1,t.css({position:"absolute",top:q-R,width:W}),N&&A.length&&A.css({position:"absolute",top:q-R,width:W-2*V}),e.css({position:"absolute",top:q-R+T.menuBarHeight,width:W-2*V-(N?0:e.outerWidth()-e.width())}))),(!J||H&&S)&&r+T.windowHeight<=o+q+T.bottomHeight+T.statusBarHeight+V?b&&b.deltaHeight>0&&b.deltaHeight<100?a.scrollBy(0,b.deltaHeight):S&&(J=!0,B.css({position:"fixed",bottom:T.bottomHeight,visibility:"",width:W-2*V}),z.css({position:"fixed",bottom:0,width:W})):(!S&&J||(J||H)&&r+T.windowHeight>o+q+T.bottomHeight+T.statusBarHeight-V)&&(J=!1,B.add(z).attr("style",""),S||B.css("visibility","hidden"))):H&&(t.css({position:"absolute",top:0,width:W}),N&&A.length&&A.css({position:"absolute",top:0,width:W-2*V}),e.css({position:"absolute",top:T.menuBarHeight,width:W-2*V-(N?0:e.outerWidth()-e.width())}),B.add(z).attr("style","")),D.width()<300&&T.windowWidth>600&&d.height()>C.height()+U+120&&T.windowHeight<q?(T.sideSortablesHeight+O+P>T.windowHeight||K||L?U>=r+O?(C.attr("style",""),K=L=!1):r>M?K?(K=!1,j=C.offset().top-T.adminBarHeight,k=f.offset().top,k<j+T.sideSortablesHeight+P&&(j=k-T.sideSortablesHeight-12),C.css({position:"absolute",top:j,bottom:""})):!L&&T.sideSortablesHeight+C.offset().top+P<r+T.windowHeight&&(L=!0,C.css({position:"fixed",top:"auto",bottom:P})):M>r&&(L?(L=!1,j=C.offset().top-P,k=f.offset().top,k<j+T.sideSortablesHeight+P&&(j=k-T.sideSortablesHeight-12),C.css({position:"absolute",top:j,bottom:""})):!K&&C.offset().top>=r+O&&(K=!0,C.css({position:"fixed",top:O,bottom:""}))):(r>=U-O?C.css({position:"fixed",top:O}):C.attr("style",""),K=L=!1),M=r):(C.attr("style",""),K=L=!1),H&&(s.css({paddingTop:T.toolsHeight}),N?v.css({paddingTop:T.visualTopHeight+T.menuBarHeight}):(x.css({marginTop:T.textTopHeight}),y.width(W-20-2*V)))}}function k(){i(),j()}function l(a){for(var b=1;6>b;b++)setTimeout(a,500*b)}function m(){clearTimeout(q),q=setTimeout(j,100)}function n(){a.pageYOffset&&a.pageYOffset>N&&a.scrollTo(a.pageXOffset,0),r.addClass("wp-editor-expand"),c.on("scroll.editor-expand resize.editor-expand",function(a){j(a.type),m()}),d.on("wp-collapse-menu.editor-expand postboxes-columnchange.editor-expand editor-classchange.editor-expand",j).on("postbox-toggled.editor-expand",function(){!K&&!L&&a.pageYOffset>O&&(L=!0,a.scrollBy(0,-1),j(),a.scrollBy(0,1)),j()}).on("wp-window-resized.editor-expand",function(){p&&!p.isHidden()?p.execCommand("wpAutoResize"):i()}),x.on("focus.editor-expand input.editor-expand propertychange.editor-expand",i),x.on("keyup.editor-expand",h),G(),F&&F.pubsub.subscribe("hidden",k),p&&(p.settings.wp_autoresize_on=!0,p.execCommand("wpAutoResizeOn"),p.isHidden()||p.execCommand("wpAutoResize")),(!p||p.isHidden())&&i(),j(),d.trigger("editor-expand-on")}function o(){var e=a.getUserSetting("ed_size");a.pageYOffset&&a.pageYOffset>N&&a.scrollTo(a.pageXOffset,0),r.removeClass("wp-editor-expand"),c.off(".editor-expand"),d.off(".editor-expand"),x.off(".editor-expand"),H(),F&&F.pubsub.unsubscribe("hidden",k),b.each([u,w,t,A,z,B,s,v,x,C],function(a,b){b&&b.attr("style","")}),I=J=K=L=!1,p&&(p.settings.wp_autoresize_on=!1,p.execCommand("wpAutoResizeOff"),p.isHidden()||(x.hide(),e&&p.theme.resizeTo(null,e))),e&&x.height(e),d.trigger("editor-expand-off")}var p,q,r=b("#postdivrich"),s=b("#wp-content-wrap"),t=b("#wp-content-editor-tools"),u=b(),v=b(),w=b("#ed_toolbar"),x=b("#content"),y=b('<div id="content-textarea-clone"></div>'),z=b("#post-status-info"),A=b(),B=b(),C=b("#side-sortables"),D=b("#postbox-container-1"),E=b("#post-body"),F=a.wp.editor&&a.wp.editor.fullscreen,G=function(){},H=function(){},I=!1,J=!1,K=!1,L=!1,M=0,N=130,O=56,P=20,Q=300,R=s.hasClass("tmce-active")?"tinymce":"html",S=!!parseInt(a.getUserSetting("hidetb"),10),T={windowHeight:0,windowWidth:0,adminBarHeight:0,toolsHeight:0,menuBarHeight:0,visualTopHeight:0,textTopHeight:0,bottomHeight:0,statusBarHeight:0,sideSortablesHeight:0};y.insertAfter(x),y.css({"font-family":x.css("font-family"),"font-size":x.css("font-size"),"line-height":x.css("line-height"),"white-space":"pre-wrap","word-wrap":"break-word"}),d.on("tinymce-editor-init.editor-expand",function(d,e){function f(){var a,b,c,d=e.selection.getNode();if(e.plugins.wpview&&(b=e.plugins.wpview.getView(d)))c=b.getBoundingClientRect();else{a=e.selection.getRng();try{c=a.getClientRects()[0]}catch(f){}c||(c=d.getBoundingClientRect())}return c.height?c:!1}function g(a){var b=a.keyCode;47>=b&&b!==q.SPACEBAR&&b!==q.ENTER&&b!==q.DELETE&&b!==q.BACKSPACE&&b!==q.UP&&b!==q.LEFT&&b!==q.DOWN&&b!==q.UP||b>=91&&93>=b||b>=112&&123>=b||144===b||145===b||h(b)}function h(b){var c,d,g,h,i=f(),j=50;i&&(c=i.top+e.iframeElement.getBoundingClientRect().top,d=c+i.height,c-=j,d+=j,g=T.adminBarHeight+T.toolsHeight+T.menuBarHeight+T.visualTopHeight,h=T.windowHeight-(S?T.bottomHeight+T.statusBarHeight:0),h-g<i.height||(g>c&&(b===q.UP||b===q.LEFT||b===q.BACKSPACE)?a.scrollTo(a.pageXOffset,c+a.pageYOffset-g):d>h&&a.scrollTo(a.pageXOffset,d+a.pageYOffset-h)))}function k(a){a.state||j()}function m(){c.on("scroll.mce-float-panels",t),setTimeout(function(){e.execCommand("wpAutoResize"),j()},300)}function n(){c.off("scroll.mce-float-panels"),setTimeout(function(){var b=s.offset().top;a.pageYOffset>b&&a.scrollTo(a.pageXOffset,b-T.adminBarHeight),i(),j()},100),j()}function o(){S=!S}var q=a.tinymce.util.VK,t=_.debounce(function(){!b(".mce-floatpanel:hover").length&&a.tinymce.ui.FloatPanel.hideAll(),b(".mce-tooltip").hide()},1e3,!0);"content"===e.id&&(p=e,e.settings.autoresize_min_height=Q,u=s.find(".mce-toolbar-grp"),v=s.find(".mce-edit-area"),B=s.find(".mce-statusbar"),A=s.find(".mce-menubar"),G=function(){e.on("keyup",g),e.on("show",m),e.on("hide",n),e.on("wp-toolbar-toggle",o),e.on("setcontent wp-autoresize wp-toolbar-toggle",j),e.on("undo redo",h),e.on("FullscreenStateChanged",k),c.off("scroll.mce-float-panels").on("scroll.mce-float-panels",t)},H=function(){e.off("keyup",g),e.off("show",m),e.off("hide",n),e.off("wp-toolbar-toggle",o),e.off("setcontent wp-autoresize wp-toolbar-toggle",j),e.off("undo redo",h),e.off("FullscreenStateChanged",k),c.off("scroll.mce-float-panels")},r.hasClass("wp-editor-expand")&&(G(),l(j)))}),r.hasClass("wp-editor-expand")&&(n(),s.hasClass("html-active")&&l(function(){j(),i()})),b("#adv-settings .editor-expand").show(),b("#editor-expand-toggle").on("change.editor-expand",function(){b(this).prop("checked")?(n(),a.setUserSetting("editor_expand","on")):(o(),a.setUserSetting("editor_expand","off"))}),a.editorExpand={on:n,off:o}}),b(function(){function g(){z=J.offset(),z.right=z.left+J.outerWidth(),z.bottom=z.top+J.outerHeight()}function h(){S||(S=!0,d.trigger("dfw-activate"),L.on("keydown.focus-shortcut",v))}function i(){S&&(l(),S=!1,d.trigger("dfw-deactivate"),L.off("keydown.focus-shortcut"))}function j(){return S}function k(){!T&&S&&(T=!0,L.on("keydown.focus",o),K.add(L).on("blur.focus",q),o(),a.setUserSetting("post_dfw","on"),d.trigger("dfw-on"))}function l(){T&&(T=!1,K.add(L).off(".focus"),p(),J.off(".focus"),a.setUserSetting("post_dfw","off"),d.trigger("dfw-off"))}function m(){T?l():k()}function n(){return T}function o(b){var d=b&&b.keyCode;return 27===d||87===d&&b.altKey&&b.shiftKey?void p(b):void(b&&(b.metaKey||b.ctrlKey&&!b.altKey||b.altKey&&b.shiftKey||d&&(47>=d&&8!==d&&13!==d&&32!==d&&46!==d||d>=91&&93>=d||d>=112&&135>=d||d>=144&&150>=d||d>=224))||(w||(w=!0,clearTimeout(F),F=setTimeout(function(){M.show()},600),J.css("z-index",9998),M.on("mouseenter.focus",function(){g(),c.on("scroll.focus",function(){var b=a.pageYOffset;D&&C&&D!==b&&(C<z.top-W||C>z.bottom+W)&&p(),D=b})}).on("mouseleave.focus",function(){A=B=null,U=V=0,c.off("scroll.focus")}).on("mousemove.focus",function(b){var c=b.clientX,d=b.clientY,e=a.pageYOffset,f=a.pageXOffset;if(A&&B&&(c!==A||d!==B))if(B>=d&&d<z.top-e||d>=B&&d>z.bottom-e||A>=c&&c<z.left-f||c>=A&&c>z.right-f){if(U+=Math.abs(A-c),V+=Math.abs(B-d),(d<=z.top-W-e||d>=z.bottom+W-e||c<=z.left-W-f||c>=z.right+W-f)&&(U>10||V>10))return p(),A=B=null,void(U=V=0)}else U=V=0;A=c,B=d}).on("touchstart.focus",function(a){a.preventDefault(),p()}),J.off("mouseenter.focus"),E&&(clearTimeout(E),E=null),H.addClass("focus-on").removeClass("focus-off")),r(),t()))}function p(a){w&&(w=!1,clearTimeout(F),F=setTimeout(function(){M.hide()},200),J.css("z-index",""),M.off("mouseenter.focus mouseleave.focus mousemove.focus touchstart.focus"),"undefined"==typeof a&&J.on("mouseenter.focus",function(){(b.contains(J.get(0),document.activeElement)||G)&&o()}),E=setTimeout(function(){E=null,J.off("mouseenter.focus")},1e3),H.addClass("focus-off").removeClass("focus-on")),s(),u()}function q(){setTimeout(function(){function a(a){return b.contains(a.get(0),document.activeElement)}var c=document.activeElement.compareDocumentPosition(J.get(0));2!==c&&4!==c||!(a(P)||a(I)||a(f))||p()},0)}function r(){!x&&w&&(x=!0,e.on("mouseenter.focus",function(){e.addClass("focus-off")}).on("mouseleave.focus",function(){e.removeClass("focus-off")}))}function s(){x&&(x=!1,e.off(".focus"))}function t(){y||!w||N.find(":focus").length||(y=!0,N.stop().fadeTo("fast",.3).on("mouseenter.focus",u).off("mouseleave.focus"),O.on("focus.focus",u).off("blur.focus"))}function u(){y&&(y=!1,N.stop().fadeTo("fast",1).on("mouseleave.focus",t).off("mouseenter.focus"),O.on("blur.focus",t).off("focus.focus"))}function v(a){a.altKey&&a.shiftKey&&87===a.keyCode&&m()}var w,x,y,z,A,B,C,D,E,F,G,H=b(document.body),I=b("#wpcontent"),J=b("#post-body-content"),K=b("#title"),L=b("#content"),M=b(document.createElement("DIV")),N=b("#edit-slug-box"),O=N.find("a").add(N.find("button")).add(N.find("input")),P=b("#adminmenuwrap"),Q=b(),R=b(),S="on"===a.getUserSetting("editor_expand","on"),T=S?"on"===a.getUserSetting("post_dfw"):!1,U=0,V=0,W=20;H.append(M),M.css({display:"none",position:"fixed",top:e.height(),right:0,bottom:0,left:0,"z-index":9997}),J.css({position:"relative"}),c.on("mousemove.focus",function(a){C=a.pageY}),b("#postdivrich").hasClass("wp-editor-expand")&&L.on("keydown.focus-shortcut",v),d.on("tinymce-editor-setup.focus",function(a,b){b.addButton("dfw",{active:T,classes:"wp-dfw btn widget",disabled:!S,onclick:m,onPostRender:function(){var a=this;d.on("dfw-activate.focus",function(){a.disabled(!1)}).on("dfw-deactivate.focus",function(){a.disabled(!0)}).on("dfw-on.focus",function(){a.active(!0)}).on("dfw-off.focus",function(){a.active(!1)})},tooltip:"Distraction-free writing mode",shortcut:"Alt+Shift+W"}),b.addCommand("wpToggleDFW",m),b.addShortcut("alt+shift+w","","wpToggleDFW")}),d.on("tinymce-editor-init.focus",function(a,c){function e(){G=!0}function f(){G=!1}var h,i;"content"===c.id&&(Q=b(c.getWin()),R=b(c.getContentAreaContainer()).find("iframe"),h=function(){c.on("keydown",o),c.on("blur",q),c.on("focus",e),c.on("blur",f),c.on("wp-autoresize",g)},i=function(){c.off("keydown",o),c.off("blur",q),c.off("focus",e),c.off("blur",f),c.off("wp-autoresize",g)},T&&h(),d.on("dfw-on.focus",h).on("dfw-off.focus",i),c.on("click",function(a){a.target===c.getDoc().documentElement&&c.focus()}))}),d.on("quicktags-init",function(a,c){var d;c.settings.buttons&&-1!==(","+c.settings.buttons+",").indexOf(",dfw,")&&(d=b("#"+c.name+"_dfw"),b(document).on("dfw-activate",function(){d.prop("disabled",!1)}).on("dfw-deactivate",function(){d.prop("disabled",!0)}).on("dfw-on",function(){d.addClass("active")}).on("dfw-off",function(){d.removeClass("active")}))}),d.on("editor-expand-on.focus",h).on("editor-expand-off.focus",i),T&&(L.on("keydown.focus",o),K.add(L).on("blur.focus",q)),a.wp=a.wp||{},a.wp.editor=a.wp.editor||{},a.wp.editor.dfw={activate:h,deactivate:i,isActive:j,on:k,off:l,toggle:m,isOn:n}})}(window,window.jQuery);
\ No newline at end of file
+!function(a,b){"use strict";var c=b(a),d=b(document),e=b("#wpadminbar"),f=b("#wpfooter");b(function(){function g(){var a=c.width();T={windowHeight:c.height(),windowWidth:a,adminBarHeight:a>600?e.outerHeight():0,toolsHeight:t.outerHeight()||0,menuBarHeight:A.outerHeight()||0,visualTopHeight:u.outerHeight()||0,textTopHeight:w.outerHeight()||0,bottomHeight:z.outerHeight()||0,statusBarHeight:B.outerHeight()||0,sideSortablesHeight:C.height()||0},T.menuBarHeight<3&&(T.menuBarHeight=0)}function h(b){var c,d,e,f,g,h=jQuery.ui.keyCode,i=b.keyCode,j=document.createRange(),k=x[0].selectionStart,l=x[0].selectionEnd,m=y[0].firstChild,n=10;if(!k||!l||k===l){try{j.setStart(m,k),j.setEnd(m,l+1)}catch(o){}c=j.getBoundingClientRect(),c.height&&(d=c.top-n,e=d+c.height+n,f=T.adminBarHeight+T.toolsHeight+T.textTopHeight,g=T.windowHeight-T.bottomHeight,f>d&&(i===h.UP||i===h.LEFT||i===h.BACKSPACE)?a.scrollTo(a.pageXOffset,d+a.pageYOffset-f):e>g&&a.scrollTo(a.pageXOffset,e+a.pageYOffset-g))}}function i(){if(!(p&&!p.isHidden()||!p&&"tinymce"===R)){var a,b=x.height();y.width(x.width()-22),y.text(x.val()+"&nbsp;"),a=y.height(),Q>a&&(a=Q),a!==b&&(x.height(a),j())}}function j(b){if(!F||!F.settings.visible){var e,h,j,k,l,m,n,o,q,r=c.scrollTop(),G=b&&b.type,H="scroll"!==G,N=p&&!p.isHidden(),R=Q,U=E.offset().top,V=1,W=s.width();(H||!T.windowHeight)&&g(),N||"resize"!==G||i(),N?(e=u,h=v,n=T.visualTopHeight):(e=w,h=x,n=T.textTopHeight),(N||e.length)&&(m=e.parent().offset().top,o=h.offset().top,q=h.outerHeight(),l=N?Q+n:Q+20,l=q>l+5,l?((!I||H)&&r>=m-T.toolsHeight-T.adminBarHeight&&r<=m-T.toolsHeight-T.adminBarHeight+q-R?(I=!0,t.css({position:"fixed",top:T.adminBarHeight,width:W}),N&&A.length&&A.css({position:"fixed",top:T.adminBarHeight+T.toolsHeight,width:W-2*V-(N?0:e.outerWidth()-e.width())}),e.css({position:"fixed",top:T.adminBarHeight+T.toolsHeight+T.menuBarHeight,width:W-2*V-(N?0:e.outerWidth()-e.width())})):(I||H)&&(r<=m-T.toolsHeight-T.adminBarHeight?(I=!1,t.css({position:"absolute",top:0,width:W}),N&&A.length&&A.css({position:"absolute",top:0,width:W-2*V}),e.css({position:"absolute",top:T.menuBarHeight,width:W-2*V-(N?0:e.outerWidth()-e.width())})):r>=m-T.toolsHeight-T.adminBarHeight+q-R&&(I=!1,t.css({position:"absolute",top:q-R,width:W}),N&&A.length&&A.css({position:"absolute",top:q-R,width:W-2*V}),e.css({position:"absolute",top:q-R+T.menuBarHeight,width:W-2*V-(N?0:e.outerWidth()-e.width())}))),(!J||H&&S)&&r+T.windowHeight<=o+q+T.bottomHeight+T.statusBarHeight+V?b&&b.deltaHeight>0&&b.deltaHeight<100?a.scrollBy(0,b.deltaHeight):S&&(J=!0,B.css({position:"fixed",bottom:T.bottomHeight,visibility:"",width:W-2*V}),z.css({position:"fixed",bottom:0,width:W})):(!S&&J||(J||H)&&r+T.windowHeight>o+q+T.bottomHeight+T.statusBarHeight-V)&&(J=!1,B.attr("style",S?"":"visibility: hidden;"),z.attr("style",""))):H&&(t.css({position:"absolute",top:0,width:W}),N&&A.length&&A.css({position:"absolute",top:0,width:W-2*V}),e.css({position:"absolute",top:T.menuBarHeight,width:W-2*V-(N?0:e.outerWidth()-e.width())}),B.attr("style",S?"":"visibility: hidden;"),z.attr("style","")),D.width()<300&&T.windowWidth>600&&d.height()>C.height()+U+120&&T.windowHeight<q?(T.sideSortablesHeight+O+P>T.windowHeight||K||L?U>=r+O?(C.attr("style",""),K=L=!1):r>M?K?(K=!1,j=C.offset().top-T.adminBarHeight,k=f.offset().top,k<j+T.sideSortablesHeight+P&&(j=k-T.sideSortablesHeight-12),C.css({position:"absolute",top:j,bottom:""})):!L&&T.sideSortablesHeight+C.offset().top+P<r+T.windowHeight&&(L=!0,C.css({position:"fixed",top:"auto",bottom:P})):M>r&&(L?(L=!1,j=C.offset().top-P,k=f.offset().top,k<j+T.sideSortablesHeight+P&&(j=k-T.sideSortablesHeight-12),C.css({position:"absolute",top:j,bottom:""})):!K&&C.offset().top>=r+O&&(K=!0,C.css({position:"fixed",top:O,bottom:""}))):(r>=U-O?C.css({position:"fixed",top:O}):C.attr("style",""),K=L=!1),M=r):(C.attr("style",""),K=L=!1),H&&(s.css({paddingTop:T.toolsHeight}),N?v.css({paddingTop:T.visualTopHeight+T.menuBarHeight}):(x.css({marginTop:T.textTopHeight}),y.width(W-20-2*V))))}}function k(){i(),j()}function l(a){for(var b=1;6>b;b++)setTimeout(a,500*b)}function m(){clearTimeout(q),q=setTimeout(j,100)}function n(){a.pageYOffset&&a.pageYOffset>N&&a.scrollTo(a.pageXOffset,0),r.addClass("wp-editor-expand"),c.on("scroll.editor-expand resize.editor-expand",function(a){j(a.type),m()}),d.on("wp-collapse-menu.editor-expand postboxes-columnchange.editor-expand editor-classchange.editor-expand",j).on("postbox-toggled.editor-expand",function(){!K&&!L&&a.pageYOffset>O&&(L=!0,a.scrollBy(0,-1),j(),a.scrollBy(0,1)),j()}).on("wp-window-resized.editor-expand",function(){p&&!p.isHidden()?p.execCommand("wpAutoResize"):i()}),x.on("focus.editor-expand input.editor-expand propertychange.editor-expand",i),x.on("keyup.editor-expand",h),G(),F&&F.pubsub.subscribe("hidden",k),p&&(p.settings.wp_autoresize_on=!0,p.execCommand("wpAutoResizeOn"),p.isHidden()||p.execCommand("wpAutoResize")),(!p||p.isHidden())&&i(),j(),d.trigger("editor-expand-on")}function o(){var e=parseInt(a.getUserSetting("ed_size",300),10);50>e?e=50:e>5e3&&(e=5e3),a.pageYOffset&&a.pageYOffset>N&&a.scrollTo(a.pageXOffset,0),r.removeClass("wp-editor-expand"),c.off(".editor-expand"),d.off(".editor-expand"),x.off(".editor-expand"),H(),F&&F.pubsub.unsubscribe("hidden",k),b.each([u,w,t,A,z,B,s,v,x,C],function(a,b){b&&b.attr("style","")}),I=J=K=L=!1,p&&(p.settings.wp_autoresize_on=!1,p.execCommand("wpAutoResizeOff"),p.isHidden()||(x.hide(),e&&p.theme.resizeTo(null,e))),e&&x.height(e),d.trigger("editor-expand-off")}var p,q,r=b("#postdivrich"),s=b("#wp-content-wrap"),t=b("#wp-content-editor-tools"),u=b(),v=b(),w=b("#ed_toolbar"),x=b("#content"),y=b('<div id="content-textarea-clone"></div>'),z=b("#post-status-info"),A=b(),B=b(),C=b("#side-sortables"),D=b("#postbox-container-1"),E=b("#post-body"),F=a.wp.editor&&a.wp.editor.fullscreen,G=function(){},H=function(){},I=!1,J=!1,K=!1,L=!1,M=0,N=130,O=56,P=20,Q=300,R=s.hasClass("tmce-active")?"tinymce":"html",S=!!parseInt(a.getUserSetting("hidetb"),10),T={windowHeight:0,windowWidth:0,adminBarHeight:0,toolsHeight:0,menuBarHeight:0,visualTopHeight:0,textTopHeight:0,bottomHeight:0,statusBarHeight:0,sideSortablesHeight:0};y.insertAfter(x),y.css({"font-family":x.css("font-family"),"font-size":x.css("font-size"),"line-height":x.css("line-height"),"white-space":"pre-wrap","word-wrap":"break-word"}),d.on("tinymce-editor-init.editor-expand",function(d,e){function f(){var a,b,c,d=e.selection.getNode();if(e.wp&&e.wp.getView&&(b=e.wp.getView(d)))c=b.getBoundingClientRect();else{a=e.selection.getRng();try{c=a.getClientRects()[0]}catch(f){}c||(c=d.getBoundingClientRect())}return c.height?c:!1}function g(a){var b=a.keyCode;47>=b&&b!==q.SPACEBAR&&b!==q.ENTER&&b!==q.DELETE&&b!==q.BACKSPACE&&b!==q.UP&&b!==q.LEFT&&b!==q.DOWN&&b!==q.UP||b>=91&&93>=b||b>=112&&123>=b||144===b||145===b||h(b)}function h(b){var c,d,g,h,i=f(),j=50;i&&(c=i.top+e.iframeElement.getBoundingClientRect().top,d=c+i.height,c-=j,d+=j,g=T.adminBarHeight+T.toolsHeight+T.menuBarHeight+T.visualTopHeight,h=T.windowHeight-(S?T.bottomHeight+T.statusBarHeight:0),h-g<i.height||(g>c&&(b===q.UP||b===q.LEFT||b===q.BACKSPACE)?a.scrollTo(a.pageXOffset,c+a.pageYOffset-g):d>h&&a.scrollTo(a.pageXOffset,d+a.pageYOffset-h)))}function k(a){a.state||j()}function m(){c.on("scroll.mce-float-panels",t),setTimeout(function(){e.execCommand("wpAutoResize"),j()},300)}function n(){c.off("scroll.mce-float-panels"),setTimeout(function(){var b=s.offset().top;a.pageYOffset>b&&a.scrollTo(a.pageXOffset,b-T.adminBarHeight),i(),j()},100),j()}function o(){S=!S}var q=a.tinymce.util.VK,t=_.debounce(function(){!b(".mce-floatpanel:hover").length&&a.tinymce.ui.FloatPanel.hideAll(),b(".mce-tooltip").hide()},1e3,!0);"content"===e.id&&(p=e,e.settings.autoresize_min_height=Q,u=s.find(".mce-toolbar-grp"),v=s.find(".mce-edit-area"),B=s.find(".mce-statusbar"),A=s.find(".mce-menubar"),G=function(){e.on("keyup",g),e.on("show",m),e.on("hide",n),e.on("wp-toolbar-toggle",o),e.on("setcontent wp-autoresize wp-toolbar-toggle",j),e.on("undo redo",h),e.on("FullscreenStateChanged",k),c.off("scroll.mce-float-panels").on("scroll.mce-float-panels",t)},H=function(){e.off("keyup",g),e.off("show",m),e.off("hide",n),e.off("wp-toolbar-toggle",o),e.off("setcontent wp-autoresize wp-toolbar-toggle",j),e.off("undo redo",h),e.off("FullscreenStateChanged",k),c.off("scroll.mce-float-panels")},r.hasClass("wp-editor-expand")&&(G(),l(j)))}),r.hasClass("wp-editor-expand")&&(n(),s.hasClass("html-active")&&l(function(){j(),i()})),b("#adv-settings .editor-expand").show(),b("#editor-expand-toggle").on("change.editor-expand",function(){b(this).prop("checked")?(n(),a.setUserSetting("editor_expand","on")):(o(),a.setUserSetting("editor_expand","off"))}),a.editorExpand={on:n,off:o}}),b(function(){function g(){z=J.offset(),z.right=z.left+J.outerWidth(),z.bottom=z.top+J.outerHeight()}function h(){S||(S=!0,d.trigger("dfw-activate"),L.on("keydown.focus-shortcut",v))}function i(){S&&(l(),S=!1,d.trigger("dfw-deactivate"),L.off("keydown.focus-shortcut"))}function j(){return S}function k(){!T&&S&&(T=!0,L.on("keydown.focus",o),K.add(L).on("blur.focus",q),o(),a.setUserSetting("post_dfw","on"),d.trigger("dfw-on"))}function l(){T&&(T=!1,K.add(L).off(".focus"),p(),J.off(".focus"),a.setUserSetting("post_dfw","off"),d.trigger("dfw-off"))}function m(){T?l():k()}function n(){return T}function o(b){var d=b&&b.keyCode;return 27===d||87===d&&b.altKey&&b.shiftKey?void p(b):void(b&&(b.metaKey||b.ctrlKey&&!b.altKey||b.altKey&&b.shiftKey||d&&(47>=d&&8!==d&&13!==d&&32!==d&&46!==d||d>=91&&93>=d||d>=112&&135>=d||d>=144&&150>=d||d>=224))||(w||(w=!0,clearTimeout(F),F=setTimeout(function(){M.show()},600),J.css("z-index",9998),M.on("mouseenter.focus",function(){g(),c.on("scroll.focus",function(){var b=a.pageYOffset;D&&C&&D!==b&&(C<z.top-W||C>z.bottom+W)&&p(),D=b})}).on("mouseleave.focus",function(){A=B=null,U=V=0,c.off("scroll.focus")}).on("mousemove.focus",function(b){var c=b.clientX,d=b.clientY,e=a.pageYOffset,f=a.pageXOffset;if(A&&B&&(c!==A||d!==B))if(B>=d&&d<z.top-e||d>=B&&d>z.bottom-e||A>=c&&c<z.left-f||c>=A&&c>z.right-f){if(U+=Math.abs(A-c),V+=Math.abs(B-d),(d<=z.top-W-e||d>=z.bottom+W-e||c<=z.left-W-f||c>=z.right+W-f)&&(U>10||V>10))return p(),A=B=null,void(U=V=0)}else U=V=0;A=c,B=d}).on("touchstart.focus",function(a){a.preventDefault(),p()}),J.off("mouseenter.focus"),E&&(clearTimeout(E),E=null),H.addClass("focus-on").removeClass("focus-off")),r(),t()))}function p(a){w&&(w=!1,clearTimeout(F),F=setTimeout(function(){M.hide()},200),J.css("z-index",""),M.off("mouseenter.focus mouseleave.focus mousemove.focus touchstart.focus"),"undefined"==typeof a&&J.on("mouseenter.focus",function(){(b.contains(J.get(0),document.activeElement)||G)&&o()}),E=setTimeout(function(){E=null,J.off("mouseenter.focus")},1e3),H.addClass("focus-off").removeClass("focus-on")),s(),u()}function q(){setTimeout(function(){function a(a){return b.contains(a.get(0),document.activeElement)}var c=document.activeElement.compareDocumentPosition(J.get(0));2!==c&&4!==c||!(a(P)||a(I)||a(f))||p()},0)}function r(){!x&&w&&(x=!0,e.on("mouseenter.focus",function(){e.addClass("focus-off")}).on("mouseleave.focus",function(){e.removeClass("focus-off")}))}function s(){x&&(x=!1,e.off(".focus"))}function t(){y||!w||N.find(":focus").length||(y=!0,N.stop().fadeTo("fast",.3).on("mouseenter.focus",u).off("mouseleave.focus"),O.on("focus.focus",u).off("blur.focus"))}function u(){y&&(y=!1,N.stop().fadeTo("fast",1).on("mouseleave.focus",t).off("mouseenter.focus"),O.on("blur.focus",t).off("focus.focus"))}function v(a){a.altKey&&a.shiftKey&&87===a.keyCode&&m()}var w,x,y,z,A,B,C,D,E,F,G,H=b(document.body),I=b("#wpcontent"),J=b("#post-body-content"),K=b("#title"),L=b("#content"),M=b(document.createElement("DIV")),N=b("#edit-slug-box"),O=N.find("a").add(N.find("button")).add(N.find("input")),P=b("#adminmenuwrap"),Q=b(),R=b(),S="on"===a.getUserSetting("editor_expand","on"),T=S?"on"===a.getUserSetting("post_dfw"):!1,U=0,V=0,W=20;H.append(M),M.css({display:"none",position:"fixed",top:e.height(),right:0,bottom:0,left:0,"z-index":9997}),J.css({position:"relative"}),c.on("mousemove.focus",function(a){C=a.pageY}),b("#postdivrich").hasClass("wp-editor-expand")&&L.on("keydown.focus-shortcut",v),d.on("tinymce-editor-setup.focus",function(a,b){b.addButton("dfw",{active:T,classes:"wp-dfw btn widget",disabled:!S,onclick:m,onPostRender:function(){var a=this;d.on("dfw-activate.focus",function(){a.disabled(!1)}).on("dfw-deactivate.focus",function(){a.disabled(!0)}).on("dfw-on.focus",function(){a.active(!0)}).on("dfw-off.focus",function(){a.active(!1)})},tooltip:"Distraction-free writing mode",shortcut:"Alt+Shift+W"}),b.addCommand("wpToggleDFW",m),b.addShortcut("alt+shift+w","","wpToggleDFW")}),d.on("tinymce-editor-init.focus",function(a,c){function e(){G=!0}function f(){G=!1}var h,i;"content"===c.id&&(Q=b(c.getWin()),R=b(c.getContentAreaContainer()).find("iframe"),h=function(){c.on("keydown",o),c.on("blur",q),c.on("focus",e),c.on("blur",f),c.on("wp-autoresize",g)},i=function(){c.off("keydown",o),c.off("blur",q),c.off("focus",e),c.off("blur",f),c.off("wp-autoresize",g)},T&&h(),d.on("dfw-on.focus",h).on("dfw-off.focus",i),c.on("click",function(a){a.target===c.getDoc().documentElement&&c.focus()}))}),d.on("quicktags-init",function(a,c){var d;c.settings.buttons&&-1!==(","+c.settings.buttons+",").indexOf(",dfw,")&&(d=b("#"+c.name+"_dfw"),b(document).on("dfw-activate",function(){d.prop("disabled",!1)}).on("dfw-deactivate",function(){d.prop("disabled",!0)}).on("dfw-on",function(){d.addClass("active")}).on("dfw-off",function(){d.removeClass("active")}))}),d.on("editor-expand-on.focus",h).on("editor-expand-off.focus",i),T&&(L.on("keydown.focus",o),K.add(L).on("blur.focus",q)),a.wp=a.wp||{},a.wp.editor=a.wp.editor||{},a.wp.editor.dfw={activate:h,deactivate:i,isActive:j,on:k,off:l,toggle:m,isOn:n}})}(window,window.jQuery);
\ No newline at end of file
index 0b3e04b2cdbb563b97ce77161504c24b8935d941..4ff70df848846acce2a696cb11a7cbe6465ee1bb 100644 (file)
@@ -211,7 +211,7 @@ window.switchEditors = {
                        preserve_br = false,
                        blocklist = 'table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre' +
                                '|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section' +
-                               '|article|aside|hgroup|header|footer|nav|figure|details|menu|summary';
+                               '|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary';
 
                if ( pee.indexOf( '<object' ) !== -1 ) {
                        pee = pee.replace( /<object[\s\S]+?<\/object>/g, function( a ) {
index 0b2ce5d1d03c4f3fff8cfec487d1edca2d46d545..fa44e531757f1b89827769079afa22bac1262bab 100644 (file)
@@ -1 +1 @@
-window.switchEditors={switchto:function(a){var b=a.id,c=b.length,d=b.substr(0,c-5),e=b.substr(c-4);this.go(d,e)},go:function(a,b){function c(){var a=k.select(".mce-toolbar-grp",d.getContainer())[0],b=a&&a.clientHeight;return b&&b>10&&200>b?parseInt(b,10):30}var d,e,f,g,h,i,j=this,k=tinymce.DOM;if(a=a||"content",b=b||"toggle",d=tinymce.get(a),e="wp-"+a+"-wrap",f=k.get(a),"toggle"===b&&(b=d&&!d.isHidden()?"html":"tmce"),"tmce"===b||"tinymce"===b){if(d&&!d.isHidden())return!1;"undefined"!=typeof QTags&&QTags.closeAllTags(a),h=f?parseInt(f.style.height,10):0,tinyMCEPreInit.mceInit[a]&&tinyMCEPreInit.mceInit[a].wpautop&&(f.value=j.wpautop(f.value)),d?(d.show(),!tinymce.Env.iOS&&h&&(i=c(),h=h-i+14,h>50&&5e3>h&&d.theme.resizeTo(null,h))):tinymce.init(tinyMCEPreInit.mceInit[a]),k.removeClass(e,"html-active"),k.addClass(e,"tmce-active"),k.setAttrib(f,"aria-hidden",!0),setUserSetting("editor","tinymce")}else if("html"===b){if(d&&d.isHidden())return!1;d?(tinymce.Env.iOS||(g=k.get(a+"_ifr"),h=g?parseInt(g.style.height,10):0,h&&(i=c(),h=h+i-14,h>50&&5e3>h&&(f.style.height=h+"px"))),d.hide()):(tinyMCEPreInit.mceInit[a]&&tinyMCEPreInit.mceInit[a].wpautop&&(f.value=j.pre_wpautop(f.value)),k.setStyles(f,{display:"",visibility:""})),k.removeClass(e,"tmce-active"),k.addClass(e,"html-active"),k.setAttrib(f,"aria-hidden",!1),setUserSetting("editor","html")}return!1},_wp_Nop:function(a){var b,c,d=!1,e=!1;return(-1!==a.indexOf("<pre")||-1!==a.indexOf("<script"))&&(d=!0,a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(a){return a=a.replace(/<br ?\/?>(\r\n|\n)?/g,"<wp-line-break>"),a=a.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"<wp-line-break>"),a.replace(/\r?\n/g,"<wp-line-break>")})),-1!==a.indexOf("[caption")&&(e=!0,a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(a){return a.replace(/<br([^>]*)>/g,"<wp-temp-br$1>").replace(/[\r\n\t]+/,"")})),b="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset",a=a.replace(new RegExp("\\s*</("+b+")>\\s*","g"),"</$1>\n"),a=a.replace(new RegExp("\\s*<((?:"+b+")(?: [^>]*)?)>","g"),"\n<$1>"),a=a.replace(/(<p [^>]+>.*?)<\/p>/g,"$1</p#>"),a=a.replace(/<div( [^>]*)?>\s*<p>/gi,"<div$1>\n\n"),a=a.replace(/\s*<p>/gi,""),a=a.replace(/\s*<\/p>\s*/gi,"\n\n"),a=a.replace(/\n[\s\u00a0]+\n/g,"\n\n"),a=a.replace(/\s*<br ?\/?>\s*/gi,"\n"),a=a.replace(/\s*<div/g,"\n<div"),a=a.replace(/<\/div>\s*/g,"</div>\n"),a=a.replace(/\s*\[caption([^\[]+)\[\/caption\]\s*/gi,"\n\n[caption$1[/caption]\n\n"),a=a.replace(/caption\]\n\n+\[caption/g,"caption]\n\n[caption"),c="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|h[1-6]|pre|fieldset",a=a.replace(new RegExp("\\s*<((?:"+c+")(?: [^>]*)?)\\s*>","g"),"\n<$1>"),a=a.replace(new RegExp("\\s*</("+c+")>\\s*","g"),"</$1>\n"),a=a.replace(/<li([^>]*)>/g," <li$1>"),-1!==a.indexOf("<option")&&(a=a.replace(/\s*<option/g,"\n<option"),a=a.replace(/\s*<\/select>/g,"\n</select>")),-1!==a.indexOf("<hr")&&(a=a.replace(/\s*<hr( [^>]*)?>\s*/g,"\n\n<hr$1>\n\n")),-1!==a.indexOf("<object")&&(a=a.replace(/<object[\s\S]+?<\/object>/g,function(a){return a.replace(/[\r\n]+/g,"")})),a=a.replace(/<\/p#>/g,"</p>\n"),a=a.replace(/\s*(<p [^>]+>[\s\S]*?<\/p>)/g,"\n$1"),a=a.replace(/^\s+/,""),a=a.replace(/[\s\u00a0]+$/,""),d&&(a=a.replace(/<wp-line-break>/g,"\n")),e&&(a=a.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")),a},_wp_Autop:function(a){var b=!1,c=!1,d="table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|details|menu|summary";return-1!==a.indexOf("<object")&&(a=a.replace(/<object[\s\S]+?<\/object>/g,function(a){return a.replace(/[\r\n]+/g,"")})),a=a.replace(/<[^<>]+>/g,function(a){return a.replace(/[\r\n]+/g," ")}),(-1!==a.indexOf("<pre")||-1!==a.indexOf("<script"))&&(b=!0,a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(a){return a.replace(/(\r\n|\n)/g,"<wp-line-break>")})),-1!==a.indexOf("[caption")&&(c=!0,a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(a){return a=a.replace(/<br([^>]*)>/g,"<wp-temp-br$1>"),a=a.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),a.replace(/\s*\n\s*/g,"<wp-temp-br />")})),a+="\n\n",a=a.replace(/<br \/>\s*<br \/>/gi,"\n\n"),a=a.replace(new RegExp("(<(?:"+d+")(?: [^>]*)?>)","gi"),"\n$1"),a=a.replace(new RegExp("(</(?:"+d+")>)","gi"),"$1\n\n"),a=a.replace(/<hr( [^>]*)?>/gi,"<hr$1>\n\n"),a=a.replace(/\s*<option/gi,"<option"),a=a.replace(/<\/option>\s*/gi,"</option>"),a=a.replace(/\r\n|\r/g,"\n"),a=a.replace(/\n\s*\n+/g,"\n\n"),a=a.replace(/([\s\S]+?)\n\n/g,"<p>$1</p>\n"),a=a.replace(/<p>\s*?<\/p>/gi,""),a=a.replace(new RegExp("<p>\\s*(</?(?:"+d+")(?: [^>]*)?>)\\s*</p>","gi"),"$1"),a=a.replace(/<p>(<li.+?)<\/p>/gi,"$1"),a=a.replace(/<p>\s*<blockquote([^>]*)>/gi,"<blockquote$1><p>"),a=a.replace(/<\/blockquote>\s*<\/p>/gi,"</p></blockquote>"),a=a.replace(new RegExp("<p>\\s*(</?(?:"+d+")(?: [^>]*)?>)","gi"),"$1"),a=a.replace(new RegExp("(</?(?:"+d+")(?: [^>]*)?>)\\s*</p>","gi"),"$1"),a=a.replace(/\s*\n/gi,"<br />\n"),a=a.replace(new RegExp("(</?(?:"+d+")[^>]*>)\\s*<br />","gi"),"$1"),a=a.replace(/<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1"),a=a.replace(/(?:<p>|<br ?\/?>)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|<br ?\/?>)*/gi,"[caption$1[/caption]"),a=a.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(a,b,c){return c.match(/<p( [^>]*)?>/)?a:b+"<p>"+c+"</p>"}),b&&(a=a.replace(/<wp-line-break>/g,"\n")),c&&(a=a.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")),a},pre_wpautop:function(a){var b=this,c={o:b,data:a,unfiltered:a},d="undefined"!=typeof jQuery;return d&&jQuery("body").trigger("beforePreWpautop",[c]),c.data=b._wp_Nop(c.data),d&&jQuery("body").trigger("afterPreWpautop",[c]),c.data},wpautop:function(a){var b=this,c={o:b,data:a,unfiltered:a},d="undefined"!=typeof jQuery;return d&&jQuery("body").trigger("beforeWpautop",[c]),c.data=b._wp_Autop(c.data),d&&jQuery("body").trigger("afterWpautop",[c]),c.data}};
\ No newline at end of file
+window.switchEditors={switchto:function(a){var b=a.id,c=b.length,d=b.substr(0,c-5),e=b.substr(c-4);this.go(d,e)},go:function(a,b){function c(){var a=k.select(".mce-toolbar-grp",d.getContainer())[0],b=a&&a.clientHeight;return b&&b>10&&200>b?parseInt(b,10):30}var d,e,f,g,h,i,j=this,k=tinymce.DOM;if(a=a||"content",b=b||"toggle",d=tinymce.get(a),e="wp-"+a+"-wrap",f=k.get(a),"toggle"===b&&(b=d&&!d.isHidden()?"html":"tmce"),"tmce"===b||"tinymce"===b){if(d&&!d.isHidden())return!1;"undefined"!=typeof QTags&&QTags.closeAllTags(a),h=f?parseInt(f.style.height,10):0,tinyMCEPreInit.mceInit[a]&&tinyMCEPreInit.mceInit[a].wpautop&&(f.value=j.wpautop(f.value)),d?(d.show(),!tinymce.Env.iOS&&h&&(i=c(),h=h-i+14,h>50&&5e3>h&&d.theme.resizeTo(null,h))):tinymce.init(tinyMCEPreInit.mceInit[a]),k.removeClass(e,"html-active"),k.addClass(e,"tmce-active"),k.setAttrib(f,"aria-hidden",!0),setUserSetting("editor","tinymce")}else if("html"===b){if(d&&d.isHidden())return!1;d?(tinymce.Env.iOS||(g=k.get(a+"_ifr"),h=g?parseInt(g.style.height,10):0,h&&(i=c(),h=h+i-14,h>50&&5e3>h&&(f.style.height=h+"px"))),d.hide()):(tinyMCEPreInit.mceInit[a]&&tinyMCEPreInit.mceInit[a].wpautop&&(f.value=j.pre_wpautop(f.value)),k.setStyles(f,{display:"",visibility:""})),k.removeClass(e,"tmce-active"),k.addClass(e,"html-active"),k.setAttrib(f,"aria-hidden",!1),setUserSetting("editor","html")}return!1},_wp_Nop:function(a){var b,c,d=!1,e=!1;return(-1!==a.indexOf("<pre")||-1!==a.indexOf("<script"))&&(d=!0,a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(a){return a=a.replace(/<br ?\/?>(\r\n|\n)?/g,"<wp-line-break>"),a=a.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"<wp-line-break>"),a.replace(/\r?\n/g,"<wp-line-break>")})),-1!==a.indexOf("[caption")&&(e=!0,a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(a){return a.replace(/<br([^>]*)>/g,"<wp-temp-br$1>").replace(/[\r\n\t]+/,"")})),b="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset",a=a.replace(new RegExp("\\s*</("+b+")>\\s*","g"),"</$1>\n"),a=a.replace(new RegExp("\\s*<((?:"+b+")(?: [^>]*)?)>","g"),"\n<$1>"),a=a.replace(/(<p [^>]+>.*?)<\/p>/g,"$1</p#>"),a=a.replace(/<div( [^>]*)?>\s*<p>/gi,"<div$1>\n\n"),a=a.replace(/\s*<p>/gi,""),a=a.replace(/\s*<\/p>\s*/gi,"\n\n"),a=a.replace(/\n[\s\u00a0]+\n/g,"\n\n"),a=a.replace(/\s*<br ?\/?>\s*/gi,"\n"),a=a.replace(/\s*<div/g,"\n<div"),a=a.replace(/<\/div>\s*/g,"</div>\n"),a=a.replace(/\s*\[caption([^\[]+)\[\/caption\]\s*/gi,"\n\n[caption$1[/caption]\n\n"),a=a.replace(/caption\]\n\n+\[caption/g,"caption]\n\n[caption"),c="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|h[1-6]|pre|fieldset",a=a.replace(new RegExp("\\s*<((?:"+c+")(?: [^>]*)?)\\s*>","g"),"\n<$1>"),a=a.replace(new RegExp("\\s*</("+c+")>\\s*","g"),"</$1>\n"),a=a.replace(/<li([^>]*)>/g," <li$1>"),-1!==a.indexOf("<option")&&(a=a.replace(/\s*<option/g,"\n<option"),a=a.replace(/\s*<\/select>/g,"\n</select>")),-1!==a.indexOf("<hr")&&(a=a.replace(/\s*<hr( [^>]*)?>\s*/g,"\n\n<hr$1>\n\n")),-1!==a.indexOf("<object")&&(a=a.replace(/<object[\s\S]+?<\/object>/g,function(a){return a.replace(/[\r\n]+/g,"")})),a=a.replace(/<\/p#>/g,"</p>\n"),a=a.replace(/\s*(<p [^>]+>[\s\S]*?<\/p>)/g,"\n$1"),a=a.replace(/^\s+/,""),a=a.replace(/[\s\u00a0]+$/,""),d&&(a=a.replace(/<wp-line-break>/g,"\n")),e&&(a=a.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")),a},_wp_Autop:function(a){var b=!1,c=!1,d="table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary";return-1!==a.indexOf("<object")&&(a=a.replace(/<object[\s\S]+?<\/object>/g,function(a){return a.replace(/[\r\n]+/g,"")})),a=a.replace(/<[^<>]+>/g,function(a){return a.replace(/[\r\n]+/g," ")}),(-1!==a.indexOf("<pre")||-1!==a.indexOf("<script"))&&(b=!0,a=a.replace(/<(pre|script)[^>]*>[\s\S]+?<\/\1>/g,function(a){return a.replace(/(\r\n|\n)/g,"<wp-line-break>")})),-1!==a.indexOf("[caption")&&(c=!0,a=a.replace(/\[caption[\s\S]+?\[\/caption\]/g,function(a){return a=a.replace(/<br([^>]*)>/g,"<wp-temp-br$1>"),a=a.replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),a.replace(/\s*\n\s*/g,"<wp-temp-br />")})),a+="\n\n",a=a.replace(/<br \/>\s*<br \/>/gi,"\n\n"),a=a.replace(new RegExp("(<(?:"+d+")(?: [^>]*)?>)","gi"),"\n$1"),a=a.replace(new RegExp("(</(?:"+d+")>)","gi"),"$1\n\n"),a=a.replace(/<hr( [^>]*)?>/gi,"<hr$1>\n\n"),a=a.replace(/\s*<option/gi,"<option"),a=a.replace(/<\/option>\s*/gi,"</option>"),a=a.replace(/\r\n|\r/g,"\n"),a=a.replace(/\n\s*\n+/g,"\n\n"),a=a.replace(/([\s\S]+?)\n\n/g,"<p>$1</p>\n"),a=a.replace(/<p>\s*?<\/p>/gi,""),a=a.replace(new RegExp("<p>\\s*(</?(?:"+d+")(?: [^>]*)?>)\\s*</p>","gi"),"$1"),a=a.replace(/<p>(<li.+?)<\/p>/gi,"$1"),a=a.replace(/<p>\s*<blockquote([^>]*)>/gi,"<blockquote$1><p>"),a=a.replace(/<\/blockquote>\s*<\/p>/gi,"</p></blockquote>"),a=a.replace(new RegExp("<p>\\s*(</?(?:"+d+")(?: [^>]*)?>)","gi"),"$1"),a=a.replace(new RegExp("(</?(?:"+d+")(?: [^>]*)?>)\\s*</p>","gi"),"$1"),a=a.replace(/\s*\n/gi,"<br />\n"),a=a.replace(new RegExp("(</?(?:"+d+")[^>]*>)\\s*<br />","gi"),"$1"),a=a.replace(/<br \/>(\s*<\/?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)>)/gi,"$1"),a=a.replace(/(?:<p>|<br ?\/?>)*\s*\[caption([^\[]+)\[\/caption\]\s*(?:<\/p>|<br ?\/?>)*/gi,"[caption$1[/caption]"),a=a.replace(/(<(?:div|th|td|form|fieldset|dd)[^>]*>)(.*?)<\/p>/g,function(a,b,c){return c.match(/<p( [^>]*)?>/)?a:b+"<p>"+c+"</p>"}),b&&(a=a.replace(/<wp-line-break>/g,"\n")),c&&(a=a.replace(/<wp-temp-br([^>]*)>/g,"<br$1>")),a},pre_wpautop:function(a){var b=this,c={o:b,data:a,unfiltered:a},d="undefined"!=typeof jQuery;return d&&jQuery("body").trigger("beforePreWpautop",[c]),c.data=b._wp_Nop(c.data),d&&jQuery("body").trigger("afterPreWpautop",[c]),c.data},wpautop:function(a){var b=this,c={o:b,data:a,unfiltered:a},d="undefined"!=typeof jQuery;return d&&jQuery("body").trigger("beforeWpautop",[c]),c.data=b._wp_Autop(c.data),d&&jQuery("body").trigger("afterWpautop",[c]),c.data}};
\ No newline at end of file
index 7bf292880bc8ccb772dab4ac89330ab23dfebc0b..0abf6efc280d3e20326934913977c35d0695dd01 100644 (file)
@@ -306,7 +306,7 @@ var imageEdit = window.imageEdit = {
                        btn = $('#imgedit-open-btn-' + postid), spin = btn.siblings('.spinner');
 
                btn.prop('disabled', true);
-               spin.show();
+               spin.addClass( 'is-active' );
 
                data = {
                        'action': 'image-editor',
@@ -324,7 +324,7 @@ var imageEdit = window.imageEdit = {
                        head.fadeOut('fast', function(){
                                elem.fadeIn('fast');
                                btn.removeAttr('disabled');
-                               spin.hide();
+                               spin.removeClass( 'is-active' );
                        });
                });
 
index 4c7fbe17797c5a5b7e2726e1f1b63acf18515772..29784347afbb8a9cdf6832d5c1bb4bdd48f4c4b4 100644 (file)
@@ -1 +1 @@
-!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,g=a("#image-editor-"+b),h=a("#media-head-"+b),i=a("#imgedit-open-btn-"+b),j=i.siblings(".spinner");return i.prop("disabled",!0),j.show(),f={action:"image-editor",_ajax_nonce:c,postid:b,"do":"open"},e=a.ajax({url:ajaxurl,type:"post",data:f}).done(function(a){g.html(a),h.fadeOut("fast",function(){g.fadeIn("fast"),i.removeAttr("disabled"),j.hide()})})},imgLoaded:function(b){var c=a("#image-preview-"+b),d=a("#imgedit-crop-"+b);this.initCrop(b,c,d),this.setCropSelection(b,0),this.toggleEditor(b,0)},initCrop:function(c,d,e){var f,g=this,h=a("#imgedit-sel-width-"+c),i=a("#imgedit-sel-height-"+c);g.iasapi=a(d).imgAreaSelect({parent:e,instance:!0,handles:!0,keys:!0,minWidth:3,minHeight:3,onInit:function(b){f=a(b),f.next().css("position","absolute").nextAll(".imgareaselect-outer").css("position","absolute"),e.children().mousedown(function(a){var b,d,e=!1;a.shiftKey&&(b=g.iasapi.getSelection(),d=g.getSelRatio(c),e=b&&b.width&&b.height?b.width+":"+b.height:d),g.iasapi.setOptions({aspectRatio:e})})},onSelectStart:function(){b.setDisabled(a("#imgedit-crop-sel-"+c),1)},onSelectEnd:function(a,d){b.setCropSelection(c,d)},onSelectChange:function(a,c){var d=b.hold.sizer;h.val(b.round(c.width/d)),i.val(b.round(c.height/d))}})},setCropSelection:function(b,c){var d;return c=c||0,!c||c.width<3&&c.height<3?(this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),0),this.setDisabled(a("#imgedit-crop-sel-"+b),0),a("#imgedit-sel-width-"+b).val(""),a("#imgedit-sel-height-"+b).val(""),a("#imgedit-selection-"+b).val(""),!1):(d={x:c.x1,y:c.y1,w:c.width,h:c.height},this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),1),void a("#imgedit-selection-"+b).val(JSON.stringify(d)))},close:function(b,c){return c=c||!1,c&&this.notsaved(b)?!1:(this.iasapi={},this.hold={},void(this._view?this._view.back():a("#image-editor-"+b).fadeOut("fast",function(){a("#media-head-"+b).fadeIn("fast"),a(this).empty()})))},notsaved:function(b){var c=a("#imgedit-history-"+b).val(),d=""!==c?JSON.parse(c):[],e=this.intval(a("#imgedit-undone-"+b).val());return 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
+!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,g=a("#image-editor-"+b),h=a("#media-head-"+b),i=a("#imgedit-open-btn-"+b),j=i.siblings(".spinner");return i.prop("disabled",!0),j.addClass("is-active"),f={action:"image-editor",_ajax_nonce:c,postid:b,"do":"open"},e=a.ajax({url:ajaxurl,type:"post",data:f}).done(function(a){g.html(a),h.fadeOut("fast",function(){g.fadeIn("fast"),i.removeAttr("disabled"),j.removeClass("is-active")})})},imgLoaded:function(b){var c=a("#image-preview-"+b),d=a("#imgedit-crop-"+b);this.initCrop(b,c,d),this.setCropSelection(b,0),this.toggleEditor(b,0)},initCrop:function(c,d,e){var f,g=this,h=a("#imgedit-sel-width-"+c),i=a("#imgedit-sel-height-"+c);g.iasapi=a(d).imgAreaSelect({parent:e,instance:!0,handles:!0,keys:!0,minWidth:3,minHeight:3,onInit:function(b){f=a(b),f.next().css("position","absolute").nextAll(".imgareaselect-outer").css("position","absolute"),e.children().mousedown(function(a){var b,d,e=!1;a.shiftKey&&(b=g.iasapi.getSelection(),d=g.getSelRatio(c),e=b&&b.width&&b.height?b.width+":"+b.height:d),g.iasapi.setOptions({aspectRatio:e})})},onSelectStart:function(){b.setDisabled(a("#imgedit-crop-sel-"+c),1)},onSelectEnd:function(a,d){b.setCropSelection(c,d)},onSelectChange:function(a,c){var d=b.hold.sizer;h.val(b.round(c.width/d)),i.val(b.round(c.height/d))}})},setCropSelection:function(b,c){var d;return c=c||0,!c||c.width<3&&c.height<3?(this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),0),this.setDisabled(a("#imgedit-crop-sel-"+b),0),a("#imgedit-sel-width-"+b).val(""),a("#imgedit-sel-height-"+b).val(""),a("#imgedit-selection-"+b).val(""),!1):(d={x:c.x1,y:c.y1,w:c.width,h:c.height},this.setDisabled(a(".imgedit-crop","#imgedit-panel-"+b),1),void a("#imgedit-selection-"+b).val(JSON.stringify(d)))},close:function(b,c){return c=c||!1,c&&this.notsaved(b)?!1:(this.iasapi={},this.hold={},void(this._view?this._view.back():a("#image-editor-"+b).fadeOut("fast",function(){a("#media-head-"+b).fadeIn("fast"),a(this).empty()})))},notsaved:function(b){var c=a("#imgedit-history-"+b).val(),d=""!==c?JSON.parse(c):[],e=this.intval(a("#imgedit-undone-"+b).val());return 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 48e635f23c087f756cb109defde5b129926a7feb..a1a9c028ab909aac137b4a84551ca430557dc9da 100644 (file)
@@ -29,7 +29,7 @@ inlineEditPost = {
                        return inlineEditPost.save(this);
                });
                $('td', qeRow).keydown(function(e){
-                       if ( e.which === 13 ) {
+                       if ( e.which === 13 && ! $( e.target ).hasClass( 'cancel' ) ) {
                                return inlineEditPost.save(this);
                        }
                });
@@ -82,7 +82,8 @@ inlineEditPost = {
                this.revert();
 
                $('#bulk-edit td').attr('colspan', $('.widefat:first thead th:visible').length);
-               $('table.widefat tbody').prepend( $('#bulk-edit') );
+               // Insert the editor at the top of the table with an empty row above to maintain zebra striping.
+               $('table.widefat tbody').prepend( $('#bulk-edit') ).prepend('<tr class="hidden"></tr>');
                $('#bulk-edit').addClass('inline-editor').show();
 
                $( 'tbody th.check-column input[type="checkbox"]' ).each( function() {
@@ -116,7 +117,7 @@ inlineEditPost = {
        },
 
        edit : function(id) {
-               var t = this, fields, editRow, rowData, status, pageOpt, pageLevel, nextPage, pageLoop = true, nextLevel, cur_format, f;
+               var t = this, fields, editRow, rowData, status, pageOpt, pageLevel, nextPage, pageLoop = true, nextLevel, cur_format, f, val;
                t.revert();
 
                if ( typeof(id) === 'object' ) {
@@ -128,14 +129,11 @@ inlineEditPost = {
                        fields.push('post_parent', 'page_template');
                }
 
-               // add the new blank row
+               // add the new edit row with an extra blank row underneath to maintain zebra striping.
                editRow = $('#inline-edit').clone(true);
                $('td', editRow).attr('colspan', $('.widefat:first thead th:visible').length);
 
-               if ( $( t.what + id ).hasClass( 'alternate' ) ) {
-                       $(editRow).addClass('alternate');
-               }
-               $(t.what+id).hide().after(editRow);
+               $(t.what+id).hide().after(editRow).after('<tr class="hidden"></tr>');
 
                // populate the data
                rowData = $('#inline_'+id);
@@ -157,7 +155,11 @@ inlineEditPost = {
                });
 
                for ( f = 0; f < fields.length; f++ ) {
-                       $(':input[name="' + fields[f] + '"]', editRow).val( $('.'+fields[f], rowData).text() );
+                       val = $('.'+fields[f], rowData);
+                       // Deal with Twemoji
+                       val.find( 'img' ).replaceWith( function() { return this.alt; } );
+                       val = val.text();
+                       $(':input[name="' + fields[f] + '"]', editRow).val( val );
                }
 
                if ( $( '.comment_status', rowData ).text() === 'open' ) {
@@ -183,11 +185,14 @@ inlineEditPost = {
 
                //flat taxonomies
                $('.tags_input', rowData).each(function(){
-                       var terms = $(this).text(),
+                       var terms = $(this),
                                taxname = $(this).attr('id').replace('_' + id, ''),
                                textarea = $('textarea.tax_input_' + taxname, editRow),
                                comma = inlineEditL10n.comma;
 
+                       terms.find( 'img' ).replaceWith( function() { return this.alt; } );
+                       terms = terms.text();
+
                        if ( terms ) {
                                if ( ',' !== comma ) {
                                        terms = terms.replace(/,/g, comma);
@@ -245,7 +250,7 @@ inlineEditPost = {
                        id = this.getId(id);
                }
 
-               $('table.widefat .spinner').show();
+               $( 'table.widefat .spinner' ).addClass( 'is-active' );
 
                params = {
                        action: 'inline-save',
@@ -261,11 +266,11 @@ inlineEditPost = {
                // make ajax request
                $.post( ajaxurl, params,
                        function(r) {
-                               $('table.widefat .spinner').hide();
+                               $( 'table.widefat .spinner' ).removeClass( 'is-active' );
 
                                if (r) {
                                        if ( -1 !== r.indexOf( '<tr' ) ) {
-                                               $(inlineEditPost.what+id).remove();
+                                               $(inlineEditPost.what+id).siblings('tr.hidden').addBack().remove();
                                                $('#edit-'+id).before(r).remove();
                                                $(inlineEditPost.what+id).hide().fadeIn();
                                        } else {
@@ -275,10 +280,6 @@ inlineEditPost = {
                                } else {
                                        $('#edit-'+id+' .inline-edit-save .error').html(inlineEditL10n.error).show();
                                }
-
-                               if ( $('#post-'+id).prev().hasClass('alternate') ) {
-                                       $('#post-'+id).removeClass('alternate');
-                               }
                        },
                'html');
                return false;
@@ -288,14 +289,14 @@ inlineEditPost = {
                var id = $('table.widefat tr.inline-editor').attr('id');
 
                if ( id ) {
-                       $('table.widefat .spinner').hide();
+                       $( 'table.widefat .spinner' ).removeClass( 'is-active' );
 
                        if ( 'bulk-edit' === id ) {
-                               $('table.widefat #bulk-edit').removeClass('inline-editor').hide();
-                               $('#bulk-titles').html('');
+                               $('table.widefat #bulk-edit').removeClass('inline-editor').hide().siblings('tr.hidden').remove();
+                               $('#bulk-titles').empty();
                                $('#inlineedit').append( $('#bulk-edit') );
                        } else {
-                               $('#'+id).remove();
+                               $('#'+id).siblings('tr.hidden').addBack().remove();
                                id = id.substr( id.lastIndexOf('-') + 1 );
                                $(this.what+id).show();
                        }
index 7c54650172b13ef8e4da396503feb3b91c2b80fe..c9712985a760588cc2c844fe91644fb0c9e3fd9b 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-edit").find("fieldset:first").after(a("#inline-edit fieldset.inline-edit-categories").clone()).siblings("fieldset:last").prepend(a("#inline-edit label.inline-edit-tags").clone()),a('select[name="_status"] option[value="future"]',d).remove(),a("#doaction, #doaction2").click(function(c){var d=a(this).attr("id").substr(2);"edit"===a('select[name="'+d+'"]').val()?(c.preventDefault(),b.setBulk()):a("form#posts-filter tr.inline-editor").length>0&&b.revert()})},toggle:function(b){var c=this;"none"===a(c.what+c.getId(b)).css("display")?c.revert():c.edit(b)},setBulk:function(){var b,c="",d=this.type,e=!0;return this.revert(),a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length),a("table.widefat tbody").prepend(a("#bulk-edit")),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
+var inlineEditPost;!function(a){inlineEditPost={init:function(){var b=this,c=a("#inline-edit"),d=a("#bulk-edit");b.type=a("table.widefat").hasClass("pages")?"page":"post",b.what="#post-",c.keyup(function(a){return 27===a.which?inlineEditPost.revert():void 0}),d.keyup(function(a){return 27===a.which?inlineEditPost.revert():void 0}),a("a.cancel",c).click(function(){return inlineEditPost.revert()}),a("a.save",c).click(function(){return inlineEditPost.save(this)}),a("td",c).keydown(function(b){return 13!==b.which||a(b.target).hasClass("cancel")?void 0:inlineEditPost.save(this)}),a("a.cancel",d).click(function(){return inlineEditPost.revert()}),a('#inline-edit .inline-edit-private input[value="private"]').click(function(){var b=a("input.inline-edit-password-input");a(this).prop("checked")?b.val("").prop("disabled",!0):b.prop("disabled",!1)}),a("#the-list").on("click","a.editinline",function(){return inlineEditPost.edit(this),!1}),a("#bulk-edit").find("fieldset:first").after(a("#inline-edit fieldset.inline-edit-categories").clone()).siblings("fieldset:last").prepend(a("#inline-edit label.inline-edit-tags").clone()),a('select[name="_status"] option[value="future"]',d).remove(),a("#doaction, #doaction2").click(function(c){var d=a(this).attr("id").substr(2);"edit"===a('select[name="'+d+'"]').val()?(c.preventDefault(),b.setBulk()):a("form#posts-filter tr.inline-editor").length>0&&b.revert()})},toggle:function(b){var c=this;"none"===a(c.what+c.getId(b)).css("display")?c.revert():c.edit(b)},setBulk:function(){var b,c="",d=this.type,e=!0;return this.revert(),a("#bulk-edit td").attr("colspan",a(".widefat:first thead th:visible").length),a("table.widefat tbody").prepend(a("#bulk-edit")).prepend('<tr class="hidden"></tr>'),a("#bulk-edit").addClass("inline-editor").show(),a('tbody th.check-column input[type="checkbox"]').each(function(){if(a(this).prop("checked")){e=!1;var b,d=a(this).val();b=a("#inline_"+d+" .post_title").html()||inlineEditL10n.notitle,c+='<div id="ttle'+d+'"><a id="_'+d+'" class="ntdelbutton" title="'+inlineEditL10n.ntdeltitle+'">X</a>'+b+"</div>"}}),e?this.revert():(a("#bulk-titles").html(c),a("#bulk-titles a").click(function(){var b=a(this).attr("id").substr(1);a('table.widefat input[value="'+b+'"]').prop("checked",!1),a("#ttle"+b).remove()}),"post"===d&&(b="post_tag",a('tr.inline-editor textarea[name="tax_input['+b+']"]').suggest(ajaxurl+"?action=ajax-tag-search&tax="+b,{delay:500,minchars:2,multiple:!0,multipleSep:inlineEditL10n.comma})),void a("html, body").animate({scrollTop:0},"fast"))},edit:function(b){var c,d,e,f,g,h,i,j,k,l,m,n=this,o=!0;for(n.revert(),"object"==typeof b&&(b=n.getId(b)),c=["post_title","post_name","post_author","_status","jj","mm","aa","hh","mn","ss","post_password","post_format","menu_order"],"page"===n.type&&c.push("post_parent","page_template"),d=a("#inline-edit").clone(!0),a("td",d).attr("colspan",a(".widefat:first thead th:visible").length),a(n.what+b).hide().after(d).after('<tr class="hidden"></tr>'),e=a("#inline_"+b),a(':input[name="post_author"] option[value="'+a(".post_author",e).text()+'"]',d).val()||a(':input[name="post_author"]',d).prepend('<option value="'+a(".post_author",e).text()+'">'+a("#"+n.type+"-"+b+" .author").text()+"</option>"),1===a(':input[name="post_author"] option',d).length&&a("label.inline-edit-author",d).hide(),k=a(".post_format",e).text(),a("option.unsupported",d).each(function(){var b=a(this);b.val()!==k&&b.remove()}),l=0;l<c.length;l++)m=a("."+c[l],e),m.find("img").replaceWith(function(){return this.alt}),m=m.text(),a(':input[name="'+c[l]+'"]',d).val(m);if("open"===a(".comment_status",e).text()&&a('input[name="comment_status"]',d).prop("checked",!0),"open"===a(".ping_status",e).text()&&a('input[name="ping_status"]',d).prop("checked",!0),"sticky"===a(".sticky",e).text()&&a('input[name="sticky"]',d).prop("checked",!0),a(".post_category",e).each(function(){var c,e=a(this).text();e&&(c=a(this).attr("id").replace("_"+b,""),a("ul."+c+"-checklist :checkbox",d).val(e.split(",")))}),a(".tags_input",e).each(function(){var c=a(this),e=a(this).attr("id").replace("_"+b,""),f=a("textarea.tax_input_"+e,d),g=inlineEditL10n.comma;c.find("img").replaceWith(function(){return this.alt}),c=c.text(),c&&(","!==g&&(c=c.replace(/,/g,g)),f.val(c)),f.suggest(ajaxurl+"?action=ajax-tag-search&tax="+e,{delay:500,minchars:2,multiple:!0,multipleSep:inlineEditL10n.comma})}),f=a("._status",e).text(),"future"!==f&&a('select[name="_status"] option[value="future"]',d).remove(),"private"===f&&(a('input[name="keep_private"]',d).prop("checked",!0),a("input.inline-edit-password-input").val("").prop("disabled",!0)),g=a('select[name="post_parent"] option[value="'+b+'"]',d),g.length>0){for(h=g[0].className.split("-")[1],i=g;o&&(i=i.next("option"),0!==i.length);)j=i[0].className.split("-")[1],h>=j?o=!1:(i.remove(),i=g);g.remove()}return a(d).attr("id","edit-"+b).addClass("inline-editor").show(),a(".ptitle",d).focus(),!1},save:function(b){var c,d,e=a(".post_status_page").val()||"";return"object"==typeof b&&(b=this.getId(b)),a("table.widefat .spinner").addClass("is-active"),c={action:"inline-save",post_type:typenow,post_ID:b,edit_date:"true",post_status:e},d=a("#edit-"+b).find(":input").serialize(),c=d+"&"+a.param(c),a.post(ajaxurl,c,function(c){a("table.widefat .spinner").removeClass("is-active"),c?-1!==c.indexOf("<tr")?(a(inlineEditPost.what+b).siblings("tr.hidden").addBack().remove(),a("#edit-"+b).before(c).remove(),a(inlineEditPost.what+b).hide().fadeIn()):(c=c.replace(/<.[^<>]*?>/g,""),a("#edit-"+b+" .inline-edit-save .error").html(c).show()):a("#edit-"+b+" .inline-edit-save .error").html(inlineEditL10n.error).show()},"html"),!1},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");return b&&(a("table.widefat .spinner").removeClass("is-active"),"bulk-edit"===b?(a("table.widefat #bulk-edit").removeClass("inline-editor").hide().siblings("tr.hidden").remove(),a("#bulk-titles").empty(),a("#inlineedit").append(a("#bulk-edit"))):(a("#"+b).siblings("tr.hidden").addBack().remove(),b=b.substr(b.lastIndexOf("-")+1),a(this.what+b).show())),!1},getId:function(b){var c=a(b).closest("tr").attr("id"),d=c.split("-");return d[d.length-1]}},a(document).ready(function(){inlineEditPost.init()}),a(document).on("heartbeat-tick.wp-check-locked-posts",function(b,c){var d=c["wp-check-locked-posts"]||{};a("#the-list tr").each(function(b,c){var e,f,g=c.id,h=a(c);d.hasOwnProperty(g)?h.hasClass("wp-locked")||(e=d[g],h.find(".column-title .locked-text").text(e.text),h.find(".check-column checkbox").prop("checked",!1),e.avatar_src&&(f=a('<img class="avatar avatar-18 photo" width="18" height="18" />').attr("src",e.avatar_src.replace(/&amp;/g,"&")),h.find(".column-title .locked-avatar").empty().append(f)),h.addClass("wp-locked")):h.hasClass("wp-locked")&&h.removeClass("wp-locked").delay(1e3).find(".locked-info span").empty()})}).on("heartbeat-send.wp-check-locked-posts",function(b,c){var d=[];a("#the-list tr").each(function(a,b){b.id&&d.push(b.id)}),d.length&&(c["wp-check-locked-posts"]=d)}).ready(function(){"undefined"!=typeof wp&&wp.heartbeat&&wp.heartbeat.interval(15)})}(jQuery);
\ No newline at end of file
index 1efacba7a11b5afe1c9df64013614724ffa3f5ba..e1746462f53d1010b35f3b600aa4159a342e09e6 100644 (file)
@@ -45,7 +45,7 @@ inlineEditTax = {
        },
 
        edit : function(id) {
-               var editRow, rowData,
+               var editRow, rowData, val,
                        t = this;
                t.revert();
 
@@ -56,14 +56,17 @@ inlineEditTax = {
                editRow = $('#inline-edit').clone(true), rowData = $('#inline_'+id);
                $('td', editRow).attr('colspan', $('.widefat:first thead th:visible').length);
 
-               if ( $( t.what + id ).hasClass( 'alternate' ) ) {
-                       $(editRow).addClass('alternate');
-               }
+               $(t.what+id).hide().after(editRow).after('<tr class="hidden"></tr>');
 
-               $(t.what+id).hide().after(editRow);
+               val = $('.name', rowData);
+               val.find( 'img' ).replaceWith( function() { return this.alt; } );
+               val = val.text();
+               $(':input[name="name"]', editRow).val( val );
 
-               $(':input[name="name"]', editRow).val( $('.name', rowData).text() );
-               $(':input[name="slug"]', editRow).val( $('.slug', rowData).text() );
+               val = $('.slug', rowData);
+               val.find( 'img' ).replaceWith( function() { return this.alt; } );
+               val = val.text();
+               $(':input[name="slug"]', editRow).val( val );
 
                $(editRow).attr('id', 'edit-'+id).addClass('inline-editor').show();
                $('.ptitle', editRow).eq(0).focus();
@@ -78,7 +81,7 @@ inlineEditTax = {
                        id = this.getId(id);
                }
 
-               $('table.widefat .spinner').show();
+               $( 'table.widefat .spinner' ).addClass( 'is-active' );
 
                params = {
                        action: 'inline-save-tax',
@@ -93,16 +96,27 @@ inlineEditTax = {
                // make ajax request
                $.post( ajaxurl, params,
                        function(r) {
-                               var row, new_id;
-                               $('table.widefat .spinner').hide();
+                               var row, new_id, option_value;
+                               $( 'table.widefat .spinner' ).removeClass( 'is-active' );
 
                                if (r) {
                                        if ( -1 !== r.indexOf( '<tr' ) ) {
-                                               $(inlineEditTax.what+id).remove();
+                                               $(inlineEditTax.what+id).siblings('tr.hidden').addBack().remove();
                                                new_id = $(r).attr('id');
 
                                                $('#edit-'+id).before(r).remove();
-                                               row = new_id ? $('#'+new_id) : $(inlineEditTax.what+id);
+
+                                               if ( new_id ) {
+                                                       option_value = new_id.replace( inlineEditTax.type + '-', '' );
+                                                       row = $( '#' + new_id );
+                                               } else {
+                                                       option_value = id;
+                                                       row = $( inlineEditTax.what + id );
+                                               }
+
+                                               // Update the value in the Parent dropdown.
+                                               $( '#parent' ).find( 'option[value=' + option_value + ']' ).text( row.find( '.row-title' ).text() );
+
                                                row.hide().fadeIn();
                                        } else {
                                                $('#edit-'+id+' .inline-edit-save .error').html(r).show();
@@ -110,10 +124,6 @@ inlineEditTax = {
                                } else {
                                        $('#edit-'+id+' .inline-edit-save .error').html(inlineEditL10n.error).show();
                                }
-
-                               if ( $( row ).prev( 'tr' ).hasClass( 'alternate' ) ) {
-                                       $(row).removeClass('alternate');
-                               }
                        }
                );
                return false;
@@ -123,8 +133,8 @@ inlineEditTax = {
                var id = $('table.widefat tr.inline-editor').attr('id');
 
                if ( id ) {
-                       $('table.widefat .spinner').hide();
-                       $('#'+id).remove();
+                       $( 'table.widefat .spinner' ).removeClass( 'is-active' );
+                       $('#'+id).siblings('tr.hidden').addBack().remove();
                        id = id.substr( id.lastIndexOf('-') + 1 );
                        $(this.what+id).show();
                }
index 88917407fafe5311ca48eb4cd20b0f9a8bce8bc5..801c1b7f20ce984a5fd296d25cdc5a1173e22c6f 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=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
+var inlineEditTax;!function(a){inlineEditTax={init:function(){var b=this,c=a("#inline-edit");b.type=a("#the-list").attr("data-wp-lists").substr(5),b.what="#"+b.type+"-",a("#the-list").on("click","a.editinline",function(){return inlineEditTax.edit(this),!1}),c.keyup(function(a){return 27===a.which?inlineEditTax.revert():void 0}),a("a.cancel",c).click(function(){return inlineEditTax.revert()}),a("a.save",c).click(function(){return inlineEditTax.save(this)}),a("input, select",c).keydown(function(a){return 13===a.which?inlineEditTax.save(this):void 0}),a('#posts-filter input[type="submit"]').mousedown(function(){b.revert()})},toggle:function(b){var c=this;"none"===a(c.what+c.getId(b)).css("display")?c.revert():c.edit(b)},edit:function(b){var c,d,e,f=this;return f.revert(),"object"==typeof b&&(b=f.getId(b)),c=a("#inline-edit").clone(!0),d=a("#inline_"+b),a("td",c).attr("colspan",a(".widefat:first thead th:visible").length),a(f.what+b).hide().after(c).after('<tr class="hidden"></tr>'),e=a(".name",d),e.find("img").replaceWith(function(){return this.alt}),e=e.text(),a(':input[name="name"]',c).val(e),e=a(".slug",d),e.find("img").replaceWith(function(){return this.alt}),e=e.text(),a(':input[name="slug"]',c).val(e),a(c).attr("id","edit-"+b).addClass("inline-editor").show(),a(".ptitle",c).eq(0).focus(),!1},save:function(b){var c,d,e=a('input[name="taxonomy"]').val()||"";return"object"==typeof b&&(b=this.getId(b)),a("table.widefat .spinner").addClass("is-active"),c={action:"inline-save-tax",tax_type:this.type,tax_ID:b,taxonomy:e},d=a("#edit-"+b).find(":input").serialize(),c=d+"&"+a.param(c),a.post(ajaxurl,c,function(c){var d,e,f;a("table.widefat .spinner").removeClass("is-active"),c?-1!==c.indexOf("<tr")?(a(inlineEditTax.what+b).siblings("tr.hidden").addBack().remove(),e=a(c).attr("id"),a("#edit-"+b).before(c).remove(),e?(f=e.replace(inlineEditTax.type+"-",""),d=a("#"+e)):(f=b,d=a(inlineEditTax.what+b)),a("#parent").find("option[value="+f+"]").text(d.find(".row-title").text()),d.hide().fadeIn()):a("#edit-"+b+" .inline-edit-save .error").html(c).show():a("#edit-"+b+" .inline-edit-save .error").html(inlineEditL10n.error).show()}),!1},revert:function(){var b=a("table.widefat tr.inline-editor").attr("id");return b&&(a("table.widefat .spinner").removeClass("is-active"),a("#"+b).siblings("tr.hidden").addBack().remove(),b=b.substr(b.lastIndexOf("-")+1),a(this.what+b).show()),!1},getId:function(b){var c="TR"===b.tagName?b.id:a(b).parents("tr").attr("id"),d=c.split("-");return d[d.length-1]}},a(document).ready(function(){inlineEditTax.init()})}(jQuery);
\ No newline at end of file
index a071cd6001ed83bc9078276c0a015d0f35cbe8cc..f0c21752c652a3b122e81b7cc90ec92f68db13c6 100644 (file)
@@ -1,4 +1,4 @@
-/* global ajaxurl, attachMediaBoxL10n */
+/* global ajaxurl, attachMediaBoxL10n, _wpMediaGridSettings */
 
 var findPosts;
 ( function( $ ){
@@ -32,7 +32,7 @@ var findPosts;
                },
 
                close: function() {
-                       $('#find-posts-response').html('');
+                       $('#find-posts-response').empty();
                        $('#find-posts').hide();
                        $( '.ui-find-overlay' ).hide();
                },
@@ -51,14 +51,14 @@ var findPosts;
                                },
                                spinner = $( '.find-box-search .spinner' );
 
-                       spinner.show();
+                       spinner.addClass( 'is-active' );
 
                        $.ajax( ajaxurl, {
                                type: 'POST',
                                data: post,
                                dataType: 'json'
                        }).always( function() {
-                               spinner.hide();
+                               spinner.removeClass( 'is-active' );
                        }).done( function( x ) {
                                if ( ! x.success ) {
                                        $( '#find-posts-response' ).text( attachMediaBoxL10n.error );
@@ -72,13 +72,16 @@ var findPosts;
        };
 
        $( document ).ready( function() {
-               var $mediaGridWrap = $( '#wp-media-grid' );
+               var settings, $mediaGridWrap = $( '#wp-media-grid' );
 
                // Open up a manage media frame into the grid.
                if ( $mediaGridWrap.length && window.wp && window.wp.media ) {
+                       settings = _wpMediaGridSettings;
+
                        window.wp.media({
                                frame: 'manage',
-                               container: $mediaGridWrap
+                               container: $mediaGridWrap,
+                               library: settings.queryVars
                        }).open();
                }
 
index 0b040ab7315d72ba6e29a05a58c915ae3034f7e5..357c58ef3ff824499dedfc0c09022def86c8e161 100644 (file)
@@ -1 +1 @@
-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(){var b=a("#wp-media-grid");b.length&&window.wp&&window.wp.media&&window.wp.media({frame:"manage",container:b}).open(),a("#find-posts-submit").click(function(b){a('#find-posts-response input[type="radio"]:checked').length||b.preventDefault()}),a("#find-posts .find-box-search :input").keypress(function(a){return 13==a.which?(findPosts.send(),!1):void 0}),a("#find-posts-search").click(findPosts.send),a("#find-posts-close").click(findPosts.close),a("#doaction, #doaction2").click(function(b){a('select[name^="action"]').each(function(){"attach"===a(this).val()&&(b.preventDefault(),findPosts.open())})}),a(".find-box-inside").on("click","tr",function(){a(this).find(".found-radio input").prop("checked",!0)})})}(jQuery);
\ No newline at end of file
+var findPosts;!function(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").empty(),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.addClass("is-active"),a.ajax(ajaxurl,{type:"POST",data:b,dataType:"json"}).always(function(){c.removeClass("is-active")}).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(){var b,c=a("#wp-media-grid");c.length&&window.wp&&window.wp.media&&(b=_wpMediaGridSettings,window.wp.media({frame:"manage",container:c,library:b.queryVars}).open()),a("#find-posts-submit").click(function(b){a('#find-posts-response input[type="radio"]:checked').length||b.preventDefault()}),a("#find-posts .find-box-search :input").keypress(function(a){return 13==a.which?(findPosts.send(),!1):void 0}),a("#find-posts-search").click(findPosts.send),a("#find-posts-close").click(findPosts.close),a("#doaction, #doaction2").click(function(b){a('select[name^="action"]').each(function(){"attach"===a(this).val()&&(b.preventDefault(),findPosts.open())})}),a(".find-box-inside").on("click","tr",function(){a(this).find(".found-radio input").prop("checked",!0)})})}(jQuery);
\ No newline at end of file
index 33324b149bfe17a47d23f473bf0f7b6ee18e9de5..80578a757dc44b2bd1c0973f4b7be116a641a8c2 100644 (file)
@@ -177,7 +177,7 @@ var wpNavMenu;
                                                        return false;
 
                                                // Show the ajax spinner
-                                               t.find('.spinner').show();
+                                               t.find( '.spinner' ).addClass( 'is-active' );
 
                                                // Retrieve menu item data
                                                $(checkboxes).each(function(){
@@ -194,7 +194,7 @@ var wpNavMenu;
                                                api.addItemToMenu(menuItems, processMethod, function(){
                                                        // Deselect the items and hide the ajax spinner
                                                        checkboxes.removeAttr('checked');
-                                                       t.find('.spinner').hide();
+                                                       t.find( '.spinner' ).removeClass( 'is-active' );
                                                });
                                        });
                                },
@@ -386,104 +386,135 @@ var wpNavMenu;
                        api.refreshKeyboardAccessibility();
                        api.refreshAdvancedAccessibility();
 
-                       // Events
-                       menu.on( 'click', '.menus-move-up', function ( e ) {
-                               api.moveMenuItem( $( this ).parents( 'li.menu-item' ).find( 'a.item-edit' ), 'up' );
-                               e.preventDefault();
-                       });
-                       menu.on( 'click', '.menus-move-down', function ( e ) {
-                               api.moveMenuItem( $( this ).parents( 'li.menu-item' ).find( 'a.item-edit' ), 'down' );
-                               e.preventDefault();
-                       });
-                       menu.on( 'click', '.menus-move-top', function ( e ) {
-                               api.moveMenuItem( $( this ).parents( 'li.menu-item' ).find( 'a.item-edit' ), 'top' );
-                               e.preventDefault();
-                       });
-                       menu.on( 'click', '.menus-move-left', function ( e ) {
-                               api.moveMenuItem( $( this ).parents( 'li.menu-item' ).find( 'a.item-edit' ), 'left' );
-                               e.preventDefault();
-                       });
-                       menu.on( 'click', '.menus-move-right', function ( e ) {
-                               api.moveMenuItem( $( this ).parents( 'li.menu-item' ).find( 'a.item-edit' ), 'right' );
+                       // Refresh the accessibility when the user comes close to the item in any way
+                       menu.on( 'mouseenter.refreshAccessibility focus.refreshAccessibility touchstart.refreshAccessibility' , '.menu-item' , function(){
+                               api.refreshAdvancedAccessibilityOfItem( $( this ).find( '.item-edit' ) );
+                       } );
+
+                       // We have to update on click as well because we might hover first, change the item, and then click.
+                       menu.on( 'click', '.item-edit', function() {
+                               api.refreshAdvancedAccessibilityOfItem( $( this ) );
+                       } );
+
+                       // Links for moving items
+                       menu.on( 'click', '.menus-move', function ( e ) {
+                               var $this = $( this ),
+                                       dir = $this.data( 'dir' );
+
+                               if ( 'undefined' !== typeof dir ) {
+                                       api.moveMenuItem( $( this ).parents( 'li.menu-item' ).find( 'a.item-edit' ), dir );
+                               }
                                e.preventDefault();
                        });
                },
 
-               refreshAdvancedAccessibility : function() {
+               /**
+                * refreshAdvancedAccessibilityOfItem( [itemToRefresh] )
+                *
+                * Refreshes advanced accessibility buttons for one menu item.
+                * Shows or hides buttons based on the location of the menu item.
+                *
+                * @param  {object} itemToRefresh The menu item that might need its advanced accessibility buttons refreshed
+                */
+               refreshAdvancedAccessibilityOfItem : function( itemToRefresh ) {
 
-                       // Hide all links by default
-                       $( '.menu-item-settings .field-move a' ).css( 'display', 'none' );
-
-                       $( '.item-edit' ).each( function() {
-                               var thisLink, thisLinkText, primaryItems, itemPosition, title,
-                                       parentItem, parentItemId, parentItemName, subItems,
-                                       $this = $(this),
-                                       menuItem = $this.closest( 'li.menu-item' ).first(),
-                                       depth = menuItem.menuItemDepth(),
-                                       isPrimaryMenuItem = ( 0 === depth ),
-                                       itemName = $this.closest( '.menu-item-handle' ).find( '.menu-item-title' ).text(),
-                                       position = parseInt( menuItem.index(), 10 ),
-                                       prevItemDepth = ( isPrimaryMenuItem ) ? depth : parseInt( depth - 1, 10 ),
-                                       prevItemNameLeft = menuItem.prevAll('.menu-item-depth-' + prevItemDepth).first().find( '.menu-item-title' ).text(),
-                                       prevItemNameRight = menuItem.prevAll('.menu-item-depth-' + depth).first().find( '.menu-item-title' ).text(),
-                                       totalMenuItems = $('#menu-to-edit li').length,
-                                       hasSameDepthSibling = menuItem.nextAll( '.menu-item-depth-' + depth ).length;
-
-                               // Where can they move this menu item?
-                               if ( 0 !== position ) {
-                                       thisLink = menuItem.find( '.menus-move-up' );
-                                       thisLink.prop( 'title', menus.moveUp ).css( 'display', 'inline' );
-                               }
+                       // Only refresh accessibility when necessary
+                       if ( true !== $( itemToRefresh ).data( 'needs_accessibility_refresh' ) ) {
+                               return;
+                       }
 
-                               if ( 0 !== position && isPrimaryMenuItem ) {
-                                       thisLink = menuItem.find( '.menus-move-top' );
-                                       thisLink.prop( 'title', menus.moveToTop ).css( 'display', 'inline' );
-                               }
+                       var thisLink, thisLinkText, primaryItems, itemPosition, title,
+                               parentItem, parentItemId, parentItemName, subItems,
+                               $this = $( itemToRefresh ),
+                               menuItem = $this.closest( 'li.menu-item' ).first(),
+                               depth = menuItem.menuItemDepth(),
+                               isPrimaryMenuItem = ( 0 === depth ),
+                               itemName = $this.closest( '.menu-item-handle' ).find( '.menu-item-title' ).text(),
+                               position = parseInt( menuItem.index(), 10 ),
+                               prevItemDepth = ( isPrimaryMenuItem ) ? depth : parseInt( depth - 1, 10 ),
+                               prevItemNameLeft = menuItem.prevAll('.menu-item-depth-' + prevItemDepth).first().find( '.menu-item-title' ).text(),
+                               prevItemNameRight = menuItem.prevAll('.menu-item-depth-' + depth).first().find( '.menu-item-title' ).text(),
+                               totalMenuItems = $('#menu-to-edit li').length,
+                               hasSameDepthSibling = menuItem.nextAll( '.menu-item-depth-' + depth ).length;
+
+                               menuItem.find( '.field-move' ).toggle( totalMenuItems > 1 ); 
+
+                       // Where can they move this menu item?
+                       if ( 0 !== position ) {
+                               thisLink = menuItem.find( '.menus-move-up' );
+                               thisLink.prop( 'title', menus.moveUp ).css( 'display', 'inline' );
+                       }
 
-                               if ( position + 1 !== totalMenuItems && 0 !== position ) {
-                                       thisLink = menuItem.find( '.menus-move-down' );
-                                       thisLink.prop( 'title', menus.moveDown ).css( 'display', 'inline' );
-                               }
+                       if ( 0 !== position && isPrimaryMenuItem ) {
+                               thisLink = menuItem.find( '.menus-move-top' );
+                               thisLink.prop( 'title', menus.moveToTop ).css( 'display', 'inline' );
+                       }
 
-                               if ( 0 === position && 0 !== hasSameDepthSibling ) {
-                                       thisLink = menuItem.find( '.menus-move-down' );
-                                       thisLink.prop( 'title', menus.moveDown ).css( 'display', 'inline' );
-                               }
+                       if ( position + 1 !== totalMenuItems && 0 !== position ) {
+                               thisLink = menuItem.find( '.menus-move-down' );
+                               thisLink.prop( 'title', menus.moveDown ).css( 'display', 'inline' );
+                       }
 
-                               if ( ! isPrimaryMenuItem ) {
-                                       thisLink = menuItem.find( '.menus-move-left' ),
-                                       thisLinkText = menus.outFrom.replace( '%s', prevItemNameLeft );
-                                       thisLink.prop( 'title', menus.moveOutFrom.replace( '%s', prevItemNameLeft ) ).text( thisLinkText ).css( 'display', 'inline' );
-                               }
+                       if ( 0 === position && 0 !== hasSameDepthSibling ) {
+                               thisLink = menuItem.find( '.menus-move-down' );
+                               thisLink.prop( 'title', menus.moveDown ).css( 'display', 'inline' );
+                       }
 
-                               if ( 0 !== position ) {
-                                       if ( menuItem.find( '.menu-item-data-parent-id' ).val() !== menuItem.prev().find( '.menu-item-data-db-id' ).val() ) {
-                                               thisLink = menuItem.find( '.menus-move-right' ),
-                                               thisLinkText = menus.under.replace( '%s', prevItemNameRight );
-                                               thisLink.prop( 'title', menus.moveUnder.replace( '%s', prevItemNameRight ) ).text( thisLinkText ).css( 'display', 'inline' );
-                                       }
+                       if ( ! isPrimaryMenuItem ) {
+                               thisLink = menuItem.find( '.menus-move-left' ),
+                               thisLinkText = menus.outFrom.replace( '%s', prevItemNameLeft );
+                               thisLink.prop( 'title', menus.moveOutFrom.replace( '%s', prevItemNameLeft ) ).text( thisLinkText ).css( 'display', 'inline' );
+                       }
+
+                       if ( 0 !== position ) {
+                               if ( menuItem.find( '.menu-item-data-parent-id' ).val() !== menuItem.prev().find( '.menu-item-data-db-id' ).val() ) {
+                                       thisLink = menuItem.find( '.menus-move-right' ),
+                                       thisLinkText = menus.under.replace( '%s', prevItemNameRight );
+                                       thisLink.prop( 'title', menus.moveUnder.replace( '%s', prevItemNameRight ) ).text( thisLinkText ).css( 'display', 'inline' );
                                }
+                       }
 
-                               if ( isPrimaryMenuItem ) {
-                                       primaryItems = $( '.menu-item-depth-0' ),
-                                       itemPosition = primaryItems.index( menuItem ) + 1,
-                                       totalMenuItems = primaryItems.length,
+                       if ( isPrimaryMenuItem ) {
+                               primaryItems = $( '.menu-item-depth-0' ),
+                               itemPosition = primaryItems.index( menuItem ) + 1,
+                               totalMenuItems = primaryItems.length,
 
-                                       // String together help text for primary menu items
-                                       title = menus.menuFocus.replace( '%1$s', itemName ).replace( '%2$d', itemPosition ).replace( '%3$d', totalMenuItems );
-                               } else {
-                                       parentItem = menuItem.prevAll( '.menu-item-depth-' + parseInt( depth - 1, 10 ) ).first(),
-                                       parentItemId = parentItem.find( '.menu-item-data-db-id' ).val(),
-                                       parentItemName = parentItem.find( '.menu-item-title' ).text(),
-                                       subItems = $( '.menu-item .menu-item-data-parent-id[value="' + parentItemId + '"]' ),
-                                       itemPosition = $( subItems.parents('.menu-item').get().reverse() ).index( menuItem ) + 1;
-
-                                       // String together help text for sub menu items
-                                       title = menus.subMenuFocus.replace( '%1$s', itemName ).replace( '%2$d', itemPosition ).replace( '%3$s', parentItemName );
-                               }
+                               // String together help text for primary menu items
+                               title = menus.menuFocus.replace( '%1$s', itemName ).replace( '%2$d', itemPosition ).replace( '%3$d', totalMenuItems );
+                       } else {
+                               parentItem = menuItem.prevAll( '.menu-item-depth-' + parseInt( depth - 1, 10 ) ).first(),
+                               parentItemId = parentItem.find( '.menu-item-data-db-id' ).val(),
+                               parentItemName = parentItem.find( '.menu-item-title' ).text(),
+                               subItems = $( '.menu-item .menu-item-data-parent-id[value="' + parentItemId + '"]' ),
+                               itemPosition = $( subItems.parents('.menu-item').get().reverse() ).index( menuItem ) + 1;
+
+                               // String together help text for sub menu items
+                               title = menus.subMenuFocus.replace( '%1$s', itemName ).replace( '%2$d', itemPosition ).replace( '%3$s', parentItemName );
+                       }
 
-                               $this.prop('title', title).text( title );
-                       });
+                       $this.prop('title', title).html( title );
+
+                       // Mark this item's accessibility as refreshed
+                       $this.data( 'needs_accessibility_refresh', false );
+               },
+
+               /**
+                * refreshAdvancedAccessibility
+                *
+                * Hides all advanced accessibility buttons and marks them for refreshing.
+                */
+               refreshAdvancedAccessibility : function() {
+
+                       // Hide all links by default
+                       $( '.menu-item-settings .field-move a' ).hide();
+
+                       // Mark all menu items as unprocessed
+                       $( '.item-edit' ).data( 'needs_accessibility_refresh', true );
+
+                       // All open items have to be refreshed or they will show no links
+                       $( '.menu-item-edit-active .item-edit' ).each( function() {
+                               api.refreshAdvancedAccessibilityOfItem( this );
+                       } );
                },
 
                refreshKeyboardAccessibility : function() {
@@ -831,9 +862,9 @@ var wpNavMenu;
                                loc.find('select').each(function() {
                                        params[this.name] = $(this).val();
                                });
-                               loc.find('.spinner').show();
+                               loc.find( '.spinner' ).addClass( 'is-active' );
                                $.post( ajaxurl, params, function() {
-                                       loc.find('.spinner').hide();
+                                       loc.find( '.spinner' ).removeClass( 'is-active' );
                                });
                                return false;
                        });
@@ -875,7 +906,7 @@ var wpNavMenu;
                                'type': input.attr('name')
                        };
 
-                       $('.spinner', panel).show();
+                       $( '.spinner', panel ).addClass( 'is-active' );
 
                        $.post( ajaxurl, params, function(menuMarkup) {
                                api.processQuickSearchQueryResponse(menuMarkup, params, panel);
@@ -892,10 +923,10 @@ var wpNavMenu;
                                return false;
 
                        // Show the ajax spinner
-                       $('.customlinkdiv .spinner').show();
+                       $( '.customlinkdiv .spinner' ).addClass( 'is-active' );
                        this.addLinkToMenu( url, label, processMethod, function() {
                                // Remove the ajax spinner
-                               $('.customlinkdiv .spinner').hide();
+                               $( '.customlinkdiv .spinner' ).removeClass( 'is-active' );
                                // Set custom link form back to defaults
                                $('#custom-menu-item-name').val('').blur();
                                $('#custom-menu-item-url').val('http://');
@@ -1143,7 +1174,7 @@ var wpNavMenu;
 
                        if( ! $items.length ) {
                                $('.categorychecklist', panel).html( '<li><p>' + navMenuL10n.noResultsFound + '</p></li>' );
-                               $('.spinner', panel).hide();
+                               $( '.spinner', panel ).removeClass( 'is-active' );
                                return;
                        }
 
@@ -1170,7 +1201,7 @@ var wpNavMenu;
                        });
 
                        $('.categorychecklist', panel).html( $items );
-                       $('.spinner', panel).hide();
+                       $( '.spinner', panel ).removeClass( 'is-active' );
                },
 
                removeMenuItem : function(el) {
@@ -1187,6 +1218,7 @@ var wpNavMenu;
                                                $( '.drag-instructions' ).hide();
                                                ins.removeClass( 'menu-instructions-inactive' );
                                        }
+                                       api.refreshAdvancedAccessibility();
                                });
                },
 
index 62befe4e20c12eb293191576cfddd542cce29f4a..39d5084e3823a7a2f0e13944e61027f6a4e1354e 100644 (file)
@@ -1 +1 @@
-var wpNavMenu;!function(a){var b;b=wpNavMenu={options:{menuItemDepthPerLevel:30,globalMaxDepth:11},menuList:void 0,targetList:void 0,menusChanged:!1,isRTL:!("undefined"==typeof isRtl||!isRtl),negateIfRTL:"undefined"!=typeof isRtl&&isRtl?-1:1,init:function(){b.menuList=a("#menu-to-edit"),b.targetList=b.menuList,this.jQueryExtensions(),this.attachMenuEditListeners(),this.setupInputWithDefaultTitle(),this.attachQuickSearchListeners(),this.attachThemeLocationsListeners(),this.attachTabsPanelListeners(),this.attachUnsavedChangesListener(),b.menuList.length&&this.initSortables(),menus.oneThemeLocationNoMenus&&a("#posttype-page").addSelectedToMenu(b.addMenuItemToBottom),this.initManageLocations(),this.initAccessibility(),this.initToggles(),this.initPreviewing()},jQueryExtensions:function(){a.fn.extend({menuItemDepth:function(){var a=this.eq(0).css(b.isRTL?"margin-right":"margin-left");return b.pxToDepth(a&&-1!=a.indexOf("px")?a.slice(0,-2):0)},updateDepthClass:function(b,c){return this.each(function(){var d=a(this);c=c||d.menuItemDepth(),a(this).removeClass("menu-item-depth-"+c).addClass("menu-item-depth-"+b)})},shiftDepthClass:function(b){return this.each(function(){var c=a(this),d=c.menuItemDepth();a(this).removeClass("menu-item-depth-"+d).addClass("menu-item-depth-"+(d+b))})},childMenuItems:function(){var b=a();return this.each(function(){for(var c=a(this),d=c.menuItemDepth(),e=c.next();e.length&&e.menuItemDepth()>d;)b=b.add(e),e=e.next()}),b},shiftHorizontally:function(b){return this.each(function(){var c=a(this),d=c.menuItemDepth(),e=d+b;c.moveHorizontally(e,d)})},moveHorizontally:function(b,c){return this.each(function(){var d=a(this),e=d.childMenuItems(),f=b-c,g=d.find(".is-submenu");d.updateDepthClass(b,c).updateParentMenuItemDBId(),e&&e.each(function(){var b=a(this),c=b.menuItemDepth(),d=c+f;b.updateDepthClass(d,c).updateParentMenuItemDBId()}),0===b?g.hide():g.show()})},updateParentMenuItemDBId:function(){return this.each(function(){var b=a(this),c=b.find(".menu-item-data-parent-id"),d=parseInt(b.menuItemDepth(),10),e=d-1,f=b.prevAll(".menu-item-depth-"+e).first();c.val(0===d?0:f.find(".menu-item-data-db-id").val())})},hideAdvancedMenuItemFields:function(){return this.each(function(){var b=a(this);a(".hide-column-tog").not(":checked").each(function(){b.find(".field-"+a(this).val()).addClass("hidden-field")})})},addSelectedToMenu:function(c){return 0===a("#menu-to-edit").length?!1:this.each(function(){var d=a(this),e={},f=d.find(menus.oneThemeLocationNoMenus&&0===d.find(".tabs-panel-active .categorychecklist li input:checked").length?'#page-all li input[type="checkbox"]':".tabs-panel-active .categorychecklist li input:checked"),g=/menu-item\[([^\]]*)/;return c=c||b.addMenuItemToBottom,f.length?(d.find(".spinner").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)).text(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)).text(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).text(f)})},refreshKeyboardAccessibility:function(){a(".item-edit").off("focus").on("focus",function(){a(this).off("keydown").on("keydown",function(c){var d,e=a(this),f=e.parents("li.menu-item"),g=f.getItemData();if((37==c.which||38==c.which||39==c.which||40==c.which)&&(e.off("keydown"),1!==a("#menu-to-edit li").length)){switch(d={38:"up",40:"down",37:"left",39:"right"},a("body").hasClass("rtl")&&(d={38:"up",40:"down",39:"left",37:"right"}),d[c.which]){case"up":b.moveMenuItem(e,"up");break;case"down":b.moveMenuItem(e,"down");break;case"left":b.moveMenuItem(e,"left");break;case"right":b.moveMenuItem(e,"right")}return a("#edit-"+g["menu-item-db-id"]).focus(),!1}})})},initPreviewing:function(){a("#menu-to-edit").on("change input",".edit-menu-item-title",function(b){var c,d,e=a(b.currentTarget);c=e.val(),d=e.closest(".menu-item").find(".menu-item-title"),c?d.text(c).removeClass("no-title"):d.text(navMenuL10n.untitled).addClass("no-title")})},initToggles:function(){postboxes.add_postbox_toggles("nav-menus"),columns.useCheckboxesForHidden(),columns.checked=function(b){a(".field-"+b).removeClass("hidden-field")},columns.unchecked=function(b){a(".field-"+b).addClass("hidden-field")},b.menuList.hideAdvancedMenuItemFields(),a(".hide-postbox-tog").click(function(){var b=a(".accordion-container li.accordion-section").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",hidden:b,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:"nav-menus"})})},initSortables:function(){function c(a){var c;j=a.placeholder.prev(),k=a.placeholder.next(),j[0]==a.item[0]&&(j=j.prev()),k[0]==a.item[0]&&(k=k.next()),l=j.length?j.offset().top+j.height():0,m=k.length?k.offset().top+k.height()/3:0,h=k.length?k.menuItemDepth():0,i=j.length?(c=j.menuItemDepth()+1)>b.options.globalMaxDepth?b.options.globalMaxDepth:c:0}function d(a,b){a.placeholder.updateDepthClass(b,q),q=b}function e(){if(!s[0].className)return 0;var a=s[0].className.match(/menu-max-depth-(\d+)/);return a&&a[1]?parseInt(a[1],10):0}function f(c){var d,e=t;if(0!==c){if(c>0)d=p+c,d>t&&(e=d);else if(0>c&&p==t)for(;!a(".menu-item-depth-"+e,b.menuList).length&&e>0;)e--;s.removeClass("menu-max-depth-"+t).addClass("menu-max-depth-"+e),t=e}}var g,h,i,j,k,l,m,n,o,p,q=0,r=b.menuList.offset().left,s=a("body"),t=e();0!==a("#menu-to-edit li").length&&a(".drag-instructions").show(),r+=b.isRTL?b.menuList.width():0,b.menuList.sortable({handle:".menu-item-handle",placeholder:"sortable-placeholder",start:function(e,f){var h,i,j,k,l;b.isRTL&&(f.item[0].style.right="auto"),o=f.item.children(".menu-item-transport"),g=f.item.menuItemDepth(),d(f,g),j=f.item.next()[0]==f.placeholder[0]?f.item.next():f.item,k=j.childMenuItems(),o.append(k),h=o.outerHeight(),h+=h>0?1*f.placeholder.css("margin-top").slice(0,-2):0,h+=f.helper.outerHeight(),n=h,h-=2,f.placeholder.height(h),p=g,k.each(function(){var b=a(this).menuItemDepth();p=b>p?b:p}),i=f.helper.find(".menu-item-handle").outerWidth(),i+=b.depthToPx(p-g),i-=2,f.placeholder.width(i),l=f.placeholder.next(),l.css("margin-top",n+"px"),f.placeholder.detach(),a(this).sortable("refresh"),f.item.after(f.placeholder),l.css("margin-top",0),c(f)},stop:function(a,c){var d,e,h=q-g;d=o.children().insertAfter(c.item),e=c.item.find(".item-title .is-submenu"),q>0?e.show():e.hide(),0!==h&&(c.item.updateDepthClass(q),d.shiftDepthClass(h),f(h)),b.registerChange(),c.item.updateParentMenuItemDBId(),c.item[0].style.top=0,b.isRTL&&(c.item[0].style.left="auto",c.item[0].style.right=0),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},change:function(a,d){d.placeholder.parent().hasClass("menu")||(j.length?j.after(d.placeholder):b.menuList.prepend(d.placeholder)),c(d)},sort:function(e,f){var g=f.helper.offset(),j=b.isRTL?g.left+f.helper.width():g.left,o=b.negateIfRTL*b.pxToDepth(j-r);o>i||g.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
+var wpNavMenu;!function(a){var b;b=wpNavMenu={options:{menuItemDepthPerLevel:30,globalMaxDepth:11},menuList:void 0,targetList:void 0,menusChanged:!1,isRTL:!("undefined"==typeof isRtl||!isRtl),negateIfRTL:"undefined"!=typeof isRtl&&isRtl?-1:1,init:function(){b.menuList=a("#menu-to-edit"),b.targetList=b.menuList,this.jQueryExtensions(),this.attachMenuEditListeners(),this.setupInputWithDefaultTitle(),this.attachQuickSearchListeners(),this.attachThemeLocationsListeners(),this.attachTabsPanelListeners(),this.attachUnsavedChangesListener(),b.menuList.length&&this.initSortables(),menus.oneThemeLocationNoMenus&&a("#posttype-page").addSelectedToMenu(b.addMenuItemToBottom),this.initManageLocations(),this.initAccessibility(),this.initToggles(),this.initPreviewing()},jQueryExtensions:function(){a.fn.extend({menuItemDepth:function(){var a=this.eq(0).css(b.isRTL?"margin-right":"margin-left");return b.pxToDepth(a&&-1!=a.indexOf("px")?a.slice(0,-2):0)},updateDepthClass:function(b,c){return this.each(function(){var d=a(this);c=c||d.menuItemDepth(),a(this).removeClass("menu-item-depth-"+c).addClass("menu-item-depth-"+b)})},shiftDepthClass:function(b){return this.each(function(){var c=a(this),d=c.menuItemDepth();a(this).removeClass("menu-item-depth-"+d).addClass("menu-item-depth-"+(d+b))})},childMenuItems:function(){var b=a();return this.each(function(){for(var c=a(this),d=c.menuItemDepth(),e=c.next();e.length&&e.menuItemDepth()>d;)b=b.add(e),e=e.next()}),b},shiftHorizontally:function(b){return this.each(function(){var c=a(this),d=c.menuItemDepth(),e=d+b;c.moveHorizontally(e,d)})},moveHorizontally:function(b,c){return this.each(function(){var d=a(this),e=d.childMenuItems(),f=b-c,g=d.find(".is-submenu");d.updateDepthClass(b,c).updateParentMenuItemDBId(),e&&e.each(function(){var b=a(this),c=b.menuItemDepth(),d=c+f;b.updateDepthClass(d,c).updateParentMenuItemDBId()}),0===b?g.hide():g.show()})},updateParentMenuItemDBId:function(){return this.each(function(){var b=a(this),c=b.find(".menu-item-data-parent-id"),d=parseInt(b.menuItemDepth(),10),e=d-1,f=b.prevAll(".menu-item-depth-"+e).first();c.val(0===d?0:f.find(".menu-item-data-db-id").val())})},hideAdvancedMenuItemFields:function(){return this.each(function(){var b=a(this);a(".hide-column-tog").not(":checked").each(function(){b.find(".field-"+a(this).val()).addClass("hidden-field")})})},addSelectedToMenu:function(c){return 0===a("#menu-to-edit").length?!1:this.each(function(){var d=a(this),e={},f=d.find(menus.oneThemeLocationNoMenus&&0===d.find(".tabs-panel-active .categorychecklist li input:checked").length?'#page-all li input[type="checkbox"]':".tabs-panel-active .categorychecklist li input:checked"),g=/menu-item\[([^\]]*)/;return c=c||b.addMenuItemToBottom,f.length?(d.find(".spinner").addClass("is-active"),a(f).each(function(){var d=a(this),f=g.exec(d.attr("name")),h="undefined"==typeof f[1]?0:parseInt(f[1],10);this.className&&-1!=this.className.indexOf("add-to-top")&&(c=b.addMenuItemToTop),e[h]=d.closest("li").getItemData("add-menu-item",h)}),void b.addItemToMenu(e,c,function(){f.removeAttr("checked"),d.find(".spinner").removeClass("is-active")})):!1})},getItemData:function(a,b){a=a||"menu-item";var c,d={},e=["menu-item-db-id","menu-item-object-id","menu-item-object","menu-item-parent-id","menu-item-position","menu-item-type","menu-item-title","menu-item-url","menu-item-description","menu-item-attr-title","menu-item-target","menu-item-classes","menu-item-xfn"];return b||"menu-item"!=a||(b=this.find(".menu-item-data-db-id").val()),b?(this.find("input").each(function(){var f;for(c=e.length;c--;)"menu-item"==a?f=e[c]+"["+b+"]":"add-menu-item"==a&&(f="menu-item["+b+"]["+e[c]+"]"),this.name&&f==this.name&&(d[e[c]]=this.value)}),d):d},setItemData:function(b,c,d){return c=c||"menu-item",d||"menu-item"!=c||(d=a(".menu-item-data-db-id",this).val()),d?(this.find("input").each(function(){var e,f=a(this);a.each(b,function(a,b){"menu-item"==c?e=a+"["+d+"]":"add-menu-item"==c&&(e="menu-item["+d+"]["+a+"]"),e==f.attr("name")&&f.val(b)})}),this):this}})},countMenuItems:function(b){return a(".menu-item-depth-"+b).length},moveMenuItem:function(c,d){var e,f,g,h=a("#menu-to-edit li"),i=h.length,j=c.parents("li.menu-item"),k=j.childMenuItems(),l=j.getItemData(),m=parseInt(j.menuItemDepth(),10),n=parseInt(j.index(),10),o=j.next(),p=o.childMenuItems(),q=parseInt(o.menuItemDepth(),10)+1,r=j.prev(),s=parseInt(r.menuItemDepth(),10),t=r.getItemData()["menu-item-db-id"];switch(d){case"up":if(f=n-1,0===n)break;0===f&&0!==m&&j.moveHorizontally(0,m),0!==s&&j.moveHorizontally(s,m),k?(e=j.add(k),e.detach().insertBefore(h.eq(f)).updateParentMenuItemDBId()):j.detach().insertBefore(h.eq(f)).updateParentMenuItemDBId();break;case"down":if(k){if(e=j.add(k),o=h.eq(e.length+n),p=0!==o.childMenuItems().length,p&&(g=parseInt(o.menuItemDepth(),10)+1,j.moveHorizontally(g,m)),i===n+e.length)break;e.detach().insertAfter(h.eq(n+e.length)).updateParentMenuItemDBId()}else{if(0!==p.length&&j.moveHorizontally(q,m),i===n+1)break;j.detach().insertAfter(h.eq(n+1)).updateParentMenuItemDBId()}break;case"top":if(0===n)break;k?(e=j.add(k),e.detach().insertBefore(h.eq(0)).updateParentMenuItemDBId()):j.detach().insertBefore(h.eq(0)).updateParentMenuItemDBId();break;case"left":if(0===m)break;j.shiftHorizontally(-1);break;case"right":if(0===n)break;if(l["menu-item-parent-id"]===t)break;j.shiftHorizontally(1)}c.focus(),b.registerChange(),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},initAccessibility:function(){var c=a("#menu-to-edit");b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility(),c.on("mouseenter.refreshAccessibility focus.refreshAccessibility touchstart.refreshAccessibility",".menu-item",function(){b.refreshAdvancedAccessibilityOfItem(a(this).find(".item-edit"))}),c.on("click",".item-edit",function(){b.refreshAdvancedAccessibilityOfItem(a(this))}),c.on("click",".menus-move",function(c){var d=a(this),e=d.data("dir");"undefined"!=typeof e&&b.moveMenuItem(a(this).parents("li.menu-item").find("a.item-edit"),e),c.preventDefault()})},refreshAdvancedAccessibilityOfItem:function(b){if(!0===a(b).data("needs_accessibility_refresh")){var c,d,e,f,g,h,i,j,k,l=a(b),m=l.closest("li.menu-item").first(),n=m.menuItemDepth(),o=0===n,p=l.closest(".menu-item-handle").find(".menu-item-title").text(),q=parseInt(m.index(),10),r=o?n:parseInt(n-1,10),s=m.prevAll(".menu-item-depth-"+r).first().find(".menu-item-title").text(),t=m.prevAll(".menu-item-depth-"+n).first().find(".menu-item-title").text(),u=a("#menu-to-edit li").length,v=m.nextAll(".menu-item-depth-"+n).length;m.find(".field-move").toggle(u>1),0!==q&&(c=m.find(".menus-move-up"),c.prop("title",menus.moveUp).css("display","inline")),0!==q&&o&&(c=m.find(".menus-move-top"),c.prop("title",menus.moveToTop).css("display","inline")),q+1!==u&&0!==q&&(c=m.find(".menus-move-down"),c.prop("title",menus.moveDown).css("display","inline")),0===q&&0!==v&&(c=m.find(".menus-move-down"),c.prop("title",menus.moveDown).css("display","inline")),o||(c=m.find(".menus-move-left"),d=menus.outFrom.replace("%s",s),c.prop("title",menus.moveOutFrom.replace("%s",s)).text(d).css("display","inline")),0!==q&&m.find(".menu-item-data-parent-id").val()!==m.prev().find(".menu-item-data-db-id").val()&&(c=m.find(".menus-move-right"),d=menus.under.replace("%s",t),c.prop("title",menus.moveUnder.replace("%s",t)).text(d).css("display","inline")),o?(e=a(".menu-item-depth-0"),f=e.index(m)+1,u=e.length,g=menus.menuFocus.replace("%1$s",p).replace("%2$d",f).replace("%3$d",u)):(h=m.prevAll(".menu-item-depth-"+parseInt(n-1,10)).first(),i=h.find(".menu-item-data-db-id").val(),j=h.find(".menu-item-title").text(),k=a('.menu-item .menu-item-data-parent-id[value="'+i+'"]'),f=a(k.parents(".menu-item").get().reverse()).index(m)+1,g=menus.subMenuFocus.replace("%1$s",p).replace("%2$d",f).replace("%3$s",j)),l.prop("title",g).html(g),l.data("needs_accessibility_refresh",!1)}},refreshAdvancedAccessibility:function(){a(".menu-item-settings .field-move a").hide(),a(".item-edit").data("needs_accessibility_refresh",!0),a(".menu-item-edit-active .item-edit").each(function(){b.refreshAdvancedAccessibilityOfItem(this)})},refreshKeyboardAccessibility:function(){a(".item-edit").off("focus").on("focus",function(){a(this).off("keydown").on("keydown",function(c){var d,e=a(this),f=e.parents("li.menu-item"),g=f.getItemData();if((37==c.which||38==c.which||39==c.which||40==c.which)&&(e.off("keydown"),1!==a("#menu-to-edit li").length)){switch(d={38:"up",40:"down",37:"left",39:"right"},a("body").hasClass("rtl")&&(d={38:"up",40:"down",39:"left",37:"right"}),d[c.which]){case"up":b.moveMenuItem(e,"up");break;case"down":b.moveMenuItem(e,"down");break;case"left":b.moveMenuItem(e,"left");break;case"right":b.moveMenuItem(e,"right")}return a("#edit-"+g["menu-item-db-id"]).focus(),!1}})})},initPreviewing:function(){a("#menu-to-edit").on("change input",".edit-menu-item-title",function(b){var c,d,e=a(b.currentTarget);c=e.val(),d=e.closest(".menu-item").find(".menu-item-title"),c?d.text(c).removeClass("no-title"):d.text(navMenuL10n.untitled).addClass("no-title")})},initToggles:function(){postboxes.add_postbox_toggles("nav-menus"),columns.useCheckboxesForHidden(),columns.checked=function(b){a(".field-"+b).removeClass("hidden-field")},columns.unchecked=function(b){a(".field-"+b).addClass("hidden-field")},b.menuList.hideAdvancedMenuItemFields(),a(".hide-postbox-tog").click(function(){var b=a(".accordion-container li.accordion-section").filter(":hidden").map(function(){return this.id}).get().join(",");a.post(ajaxurl,{action:"closed-postboxes",hidden:b,closedpostboxesnonce:jQuery("#closedpostboxesnonce").val(),page:"nav-menus"})})},initSortables:function(){function c(a){var c;j=a.placeholder.prev(),k=a.placeholder.next(),j[0]==a.item[0]&&(j=j.prev()),k[0]==a.item[0]&&(k=k.next()),l=j.length?j.offset().top+j.height():0,m=k.length?k.offset().top+k.height()/3:0,h=k.length?k.menuItemDepth():0,i=j.length?(c=j.menuItemDepth()+1)>b.options.globalMaxDepth?b.options.globalMaxDepth:c:0}function d(a,b){a.placeholder.updateDepthClass(b,q),q=b}function e(){if(!s[0].className)return 0;var a=s[0].className.match(/menu-max-depth-(\d+)/);return a&&a[1]?parseInt(a[1],10):0}function f(c){var d,e=t;if(0!==c){if(c>0)d=p+c,d>t&&(e=d);else if(0>c&&p==t)for(;!a(".menu-item-depth-"+e,b.menuList).length&&e>0;)e--;s.removeClass("menu-max-depth-"+t).addClass("menu-max-depth-"+e),t=e}}var g,h,i,j,k,l,m,n,o,p,q=0,r=b.menuList.offset().left,s=a("body"),t=e();0!==a("#menu-to-edit li").length&&a(".drag-instructions").show(),r+=b.isRTL?b.menuList.width():0,b.menuList.sortable({handle:".menu-item-handle",placeholder:"sortable-placeholder",start:function(e,f){var h,i,j,k,l;b.isRTL&&(f.item[0].style.right="auto"),o=f.item.children(".menu-item-transport"),g=f.item.menuItemDepth(),d(f,g),j=f.item.next()[0]==f.placeholder[0]?f.item.next():f.item,k=j.childMenuItems(),o.append(k),h=o.outerHeight(),h+=h>0?1*f.placeholder.css("margin-top").slice(0,-2):0,h+=f.helper.outerHeight(),n=h,h-=2,f.placeholder.height(h),p=g,k.each(function(){var b=a(this).menuItemDepth();p=b>p?b:p}),i=f.helper.find(".menu-item-handle").outerWidth(),i+=b.depthToPx(p-g),i-=2,f.placeholder.width(i),l=f.placeholder.next(),l.css("margin-top",n+"px"),f.placeholder.detach(),a(this).sortable("refresh"),f.item.after(f.placeholder),l.css("margin-top",0),c(f)},stop:function(a,c){var d,e,h=q-g;d=o.children().insertAfter(c.item),e=c.item.find(".item-title .is-submenu"),q>0?e.show():e.hide(),0!==h&&(c.item.updateDepthClass(q),d.shiftDepthClass(h),f(h)),b.registerChange(),c.item.updateParentMenuItemDBId(),c.item[0].style.top=0,b.isRTL&&(c.item[0].style.left="auto",c.item[0].style.right=0),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},change:function(a,d){d.placeholder.parent().hasClass("menu")||(j.length?j.after(d.placeholder):b.menuList.prepend(d.placeholder)),c(d)},sort:function(e,f){var g=f.helper.offset(),j=b.isRTL?g.left+f.helper.width():g.left,o=b.negateIfRTL*b.pxToDepth(j-r);o>i||g.top<l?o=i:h>o&&(o=h),o!=q&&d(f,o),m&&g.top+n>m&&(k.after(f.placeholder),c(f),a(this).sortable("refreshPositions"))}})},initManageLocations:function(){a("#menu-locations-wrap form").submit(function(){window.onbeforeunload=null}),a(".menu-location-menus select").on("change",function(){var b=a(this).closest("tr").find(".locations-edit-menu-link");a(this).find("option:selected").data("orig")?b.show():b.hide()})},attachMenuEditListeners:function(){var b=this;a("#update-nav-menu").bind("click",function(a){if(a.target&&a.target.className){if(-1!=a.target.className.indexOf("item-edit"))return b.eventOnClickEditLink(a.target);if(-1!=a.target.className.indexOf("menu-save"))return b.eventOnClickMenuSave(a.target);if(-1!=a.target.className.indexOf("menu-delete"))return b.eventOnClickMenuDelete(a.target);if(-1!=a.target.className.indexOf("item-delete"))return b.eventOnClickMenuItemDelete(a.target);if(-1!=a.target.className.indexOf("item-cancel"))return b.eventOnClickCancelLink(a.target)}}),a('#add-custom-links input[type="text"]').keypress(function(b){13===b.keyCode&&(b.preventDefault(),a("#submit-customlinkdiv").click())})},setupInputWithDefaultTitle:function(){var b="input-with-default-title";a("."+b).each(function(){var c=a(this),d=c.attr("title"),e=c.val();if(c.data(b,d),""===e)c.val(d);else{if(d==e)return;c.removeClass(b)}}).focus(function(){var c=a(this);c.val()==c.data(b)&&c.val("").removeClass(b)}).blur(function(){var c=a(this);""===c.val()&&c.addClass(b).val(c.data(b))}),a(".blank-slate .input-with-default-title").focus()},attachThemeLocationsListeners:function(){var b=a("#nav-menu-theme-locations"),c={};c.action="menu-locations-save",c["menu-settings-column-nonce"]=a("#menu-settings-column-nonce").val(),b.find('input[type="submit"]').click(function(){return b.find("select").each(function(){c[this.name]=a(this).val()}),b.find(".spinner").addClass("is-active"),a.post(ajaxurl,c,function(){b.find(".spinner").removeClass("is-active")}),!1})},attachQuickSearchListeners:function(){var c;a(".quick-search").keypress(function(d){var e=a(this);return 13==d.which?(b.updateQuickSearchResults(e),!1):(c&&clearTimeout(c),void(c=setTimeout(function(){b.updateQuickSearchResults(e)},400)))}).attr("autocomplete","off")},updateQuickSearchResults:function(c){var d,e,f=2,g=c.val();g.length<f||(d=c.parents(".tabs-panel"),e={action:"menu-quick-search","response-format":"markup",menu:a("#menu").val(),"menu-settings-column-nonce":a("#menu-settings-column-nonce").val(),q:g,type:c.attr("name")},a(".spinner",d).addClass("is-active"),a.post(ajaxurl,e,function(a){b.processQuickSearchQueryResponse(a,e,d)}))},addCustomLink:function(c){var d=a("#custom-menu-item-url").val(),e=a("#custom-menu-item-name").val();return c=c||b.addMenuItemToBottom,""===d||"http://"==d?!1:(a(".customlinkdiv .spinner").addClass("is-active"),void this.addLinkToMenu(d,e,c,function(){a(".customlinkdiv .spinner").removeClass("is-active"),a("#custom-menu-item-name").val("").blur(),a("#custom-menu-item-url").val("http://")}))},addLinkToMenu:function(a,c,d,e){d=d||b.addMenuItemToBottom,e=e||function(){},b.addItemToMenu({"-1":{"menu-item-type":"custom","menu-item-url":a,"menu-item-title":c}},d,e)},addItemToMenu:function(b,c,d){var e,f=a("#menu").val(),g=a("#menu-settings-column-nonce").val();c=c||function(){},d=d||function(){},e={action:"add-menu-item",menu:f,"menu-settings-column-nonce":g,"menu-item":b},a.post(ajaxurl,e,function(b){var f=a("#menu-instructions");b=a.trim(b),c(b,e),a("li.pending").hide().fadeIn("slow"),a(".drag-instructions").show(),!f.hasClass("menu-instructions-inactive")&&f.siblings().length&&f.addClass("menu-instructions-inactive"),d()})},addMenuItemToBottom:function(c){a(c).hideAdvancedMenuItemFields().appendTo(b.targetList),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},addMenuItemToTop:function(c){a(c).hideAdvancedMenuItemFields().prependTo(b.targetList),b.refreshKeyboardAccessibility(),b.refreshAdvancedAccessibility()},attachUnsavedChangesListener:function(){a("#menu-management input, #menu-management select, #menu-management, #menu-management textarea, .menu-location-menus select").change(function(){b.registerChange()}),0!==a("#menu-to-edit").length||0!==a(".menu-location-menus select").length?window.onbeforeunload=function(){return b.menusChanged?navMenuL10n.saveAlert:void 0}:a("#menu-settings-column").find("input,select").end().find("a").attr("href","#").unbind("click")},registerChange:function(){b.menusChanged=!0},attachTabsPanelListeners:function(){a("#menu-settings-column").bind("click",function(c){var d,e,f,g,h=a(c.target);if(h.hasClass("nav-tab-link"))e=h.data("type"),f=h.parents(".accordion-section-content").first(),a("input",f).removeAttr("checked"),a(".tabs-panel-active",f).removeClass("tabs-panel-active").addClass("tabs-panel-inactive"),a("#"+e,f).removeClass("tabs-panel-inactive").addClass("tabs-panel-active"),a(".tabs",f).removeClass("tabs"),h.parent().addClass("tabs"),a(".quick-search",f).focus(),c.preventDefault();else if(h.hasClass("select-all")){if(d=/#(.*)$/.exec(c.target.href),d&&d[1])return g=a("#"+d[1]+" .tabs-panel-active .menu-item-title input"),g.length===g.filter(":checked").length?g.removeAttr("checked"):g.prop("checked",!0),!1}else{if(h.hasClass("submit-add-to-menu"))return b.registerChange(),c.target.id&&"submit-customlinkdiv"==c.target.id?b.addCustomLink(b.addMenuItemToBottom):c.target.id&&-1!=c.target.id.indexOf("submit-")&&a("#"+c.target.id.replace(/submit-/,"")).addSelectedToMenu(b.addMenuItemToBottom),!1;if(h.hasClass("page-numbers"))return a.post(ajaxurl,c.target.href.replace(/.*\?/,"").replace(/action=([^&]*)/,"")+"&action=menu-get-metabox",function(b){if(-1!=b.indexOf("replace-id")){var c=a.parseJSON(b),d=document.getElementById(c["replace-id"]),e=document.createElement("div"),f=document.createElement("div");c.markup&&d&&(f.innerHTML=c.markup?c.markup:"",d.parentNode.insertBefore(e,d),e.parentNode.removeChild(d),e.parentNode.insertBefore(f,e),e.parentNode.removeChild(e))}}),!1}})},eventOnClickEditLink:function(b){var c,d,e=/#(.*)$/.exec(b.href);return e&&e[1]&&(c=a("#"+e[1]),d=c.parent(),0!==d.length)?(d.hasClass("menu-item-edit-inactive")?(c.data("menu-item-data")||c.data("menu-item-data",c.getItemData()),c.slideDown("fast"),d.removeClass("menu-item-edit-inactive").addClass("menu-item-edit-active")):(c.slideUp("fast"),d.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive")),!1):void 0},eventOnClickCancelLink:function(b){var c=a(b).closest(".menu-item-settings"),d=a(b).closest(".menu-item");return d.removeClass("menu-item-edit-active").addClass("menu-item-edit-inactive"),c.setItemData(c.data("menu-item-data")).hide(),!1},eventOnClickMenuSave:function(){var c="",d=a("#menu-name"),e=d.val();return e&&e!=d.attr("title")&&e.replace(/\s+/,"")?(a("#nav-menu-theme-locations select").each(function(){c+='<input type="hidden" name="'+this.name+'" value="'+a(this).val()+'" />'}),a("#update-nav-menu").append(c),b.menuList.find(".menu-item-data-position").val(function(a){return a+1}),window.onbeforeunload=null,!0):(d.parent().addClass("form-invalid"),!1)},eventOnClickMenuDelete:function(){return window.confirm(navMenuL10n.warnDeleteMenu)?(window.onbeforeunload=null,!0):!1},eventOnClickMenuItemDelete:function(c){var d=parseInt(c.id.replace("delete-",""),10);return b.removeMenuItem(a("#menu-item-"+d)),b.registerChange(),!1},processQuickSearchQueryResponse:function(b,c,d){var e,f,g,h={},i=document.getElementById("nav-menu-meta"),j=/menu-item[(\[^]\]*/,k=a("<div>").html(b).find("li");return k.length?(k.each(function(){if(g=a(this),e=j.exec(g.html()),e&&e[1]){for(f=e[1];i.elements["menu-item["+f+"][menu-item-type]"]||h[f];)f--;h[f]=!0,f!=e[1]&&g.html(g.html().replace(new RegExp("menu-item\\["+e[1]+"\\]","g"),"menu-item["+f+"]"))}}),a(".categorychecklist",d).html(k),void a(".spinner",d).removeClass("is-active")):(a(".categorychecklist",d).html("<li><p>"+navMenuL10n.noResultsFound+"</p></li>"),void a(".spinner",d).removeClass("is-active"))},removeMenuItem:function(c){var d=c.childMenuItems();c.addClass("deleting").animate({opacity:0,height:0},350,function(){var e=a("#menu-instructions");c.remove(),d.shiftDepthClass(-1).updateParentMenuItemDBId(),0===a("#menu-to-edit li").length&&(a(".drag-instructions").hide(),e.removeClass("menu-instructions-inactive")),b.refreshAdvancedAccessibility()})},depthToPx:function(a){return a*b.options.menuItemDepthPerLevel},pxToDepth:function(a){return Math.floor(a/b.options.menuItemDepthPerLevel)}},a(document).ready(function(){wpNavMenu.init()})}(jQuery);
\ No newline at end of file
index 7403769e8b2756fc92bca0e1e98e0502436d73e1..cd23dc7049dc9b8b16fb99348485ae2f486c93d6 100644 (file)
@@ -1,4 +1,4 @@
-/* global plugininstallL10n, tb_click, confirm */
+/* global plugininstallL10n, tb_click */
 
 /* Plugin Browser Thickbox related JS*/
 var tb_position;
@@ -41,7 +41,7 @@ jQuery( document ).ready( function( $ ) {
        $( '.plugin-card, .plugins .column-description' ).on( 'click', 'a.thickbox', function() {
                tb_click.call(this);
 
-               $('#TB_title').css({'background-color':'#222','color':'#cfcfcf'});
+               $('#TB_title').css({'background-color':'#23282d','color':'#cfcfcf'});
                $('#TB_ajaxWindowTitle').html( '<strong>' + plugininstallL10n.plugin_information + '</strong>&nbsp;' + $(this).data( 'title' ) );
                $('#TB_iframeContent').attr( 'title', plugininstallL10n.plugin_information + ' ' + $(this).data( 'title' ) );
                $('#TB_closeWindowButton').focus();
@@ -69,8 +69,4 @@ jQuery( document ).ready( function( $ ) {
                $( '#section-holder div.section' ).hide(); // Hide 'em all.
                $( '#section-' + tab ).show();
        });
-
-       $( 'a.install-now' ).click( function() {
-               return confirm( plugininstallL10n.ays );
-       });
 });
index f9401ddcb94b7afb08d67bc0acbd03888e0bdad7..beed366fca1bd6490b589a9c363a24686aee7e23 100644 (file)
@@ -1 +1 @@
-var tb_position;jQuery(document).ready(function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height()-(c>792?60:20),e=c>792?772:c-20;return b.size()&&(b.width(e).height(d),a("#TB_iframeContent").width(e).height(d),b.css({"margin-left":"-"+parseInt(e/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:"30px","margin-top":"0"})),a("a.thickbox").each(function(){var b=a(this).attr("href");b&&(b=b.replace(/&width=[0-9]+/g,""),b=b.replace(/&height=[0-9]+/g,""),a(this).attr("href",b+"&width="+e+"&height="+d))})},a(window).resize(function(){tb_position()}),a(".plugin-card, .plugins .column-description").on("click","a.thickbox",function(){return tb_click.call(this),a("#TB_title").css({"background-color":"#222",color:"#cfcfcf"}),a("#TB_ajaxWindowTitle").html("<strong>"+plugininstallL10n.plugin_information+"</strong>&nbsp;"+a(this).data("title")),a("#TB_iframeContent").attr("title",plugininstallL10n.plugin_information+" "+a(this).data("title")),a("#TB_closeWindowButton").focus(),!1}),a("#plugin-information-tabs a").click(function(b){var c=a(this).attr("name");b.preventDefault(),a("#plugin-information-tabs a.current").removeClass("current"),a(this).addClass("current"),"description"!==c&&a(window).width()<772?a("#plugin-information-content").find(".fyi").hide():a("#plugin-information-content").find(".fyi").show(),a("#section-holder div.section").hide(),a("#section-"+c).show()}),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>792?60:20),e=c>792?772:c-20;return b.size()&&(b.width(e).height(d),a("#TB_iframeContent").width(e).height(d),b.css({"margin-left":"-"+parseInt(e/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:"30px","margin-top":"0"})),a("a.thickbox").each(function(){var b=a(this).attr("href");b&&(b=b.replace(/&width=[0-9]+/g,""),b=b.replace(/&height=[0-9]+/g,""),a(this).attr("href",b+"&width="+e+"&height="+d))})},a(window).resize(function(){tb_position()}),a(".plugin-card, .plugins .column-description").on("click","a.thickbox",function(){return tb_click.call(this),a("#TB_title").css({"background-color":"#23282d",color:"#cfcfcf"}),a("#TB_ajaxWindowTitle").html("<strong>"+plugininstallL10n.plugin_information+"</strong>&nbsp;"+a(this).data("title")),a("#TB_iframeContent").attr("title",plugininstallL10n.plugin_information+" "+a(this).data("title")),a("#TB_closeWindowButton").focus(),!1}),a("#plugin-information-tabs a").click(function(b){var c=a(this).attr("name");b.preventDefault(),a("#plugin-information-tabs a.current").removeClass("current"),a(this).addClass("current"),"description"!==c&&a(window).width()<772?a("#plugin-information-content").find(".fyi").hide():a("#plugin-information-content").find(".fyi").show(),a("#section-holder div.section").hide(),a("#section-"+c).show()})});
\ No newline at end of file
index 096ae2fe07f9d7118088e5ea6f8c47ef6dfc5589..8dfdf3715f41e019f8f61bddc21e5644c9c84a6f 100644 (file)
 /* global postL10n, ajaxurl, wpAjax, setPostThumbnailL10n, postboxes, pagenow, tinymce, alert, deleteUserSetting */
 /* global theList:true, theExtraList:true, getUserSetting, setUserSetting */
 
-var tagBox, commentsBox, WPSetThumbnailHTML, WPSetThumbnailID, WPRemoveThumbnail, wptitlehint, makeSlugeditClickable, editPermalink;
+var 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) {
-       var out = [];
-       jQuery.each( a, function(key, val) {
-               val = jQuery.trim(val);
-               if ( val && jQuery.inArray(val, out) == -1 )
-                       out.push(val);
-               } );
-       return out;
-}
-
-( function($) {
+( function( $ ) {
        var titleHasFocus = false;
 
-tagBox = {
-       clean : function(tags) {
-               var comma = postL10n.comma;
-               if ( ',' !== comma )
-                       tags = tags.replace(new RegExp(comma, 'g'), ',');
-               tags = tags.replace(/\s*,\s*/g, ',').replace(/,+/g, ',').replace(/[,\s]+$/, '').replace(/^[,\s]+/, '');
-               if ( ',' !== comma )
-                       tags = tags.replace(/,/g, comma);
-               return tags;
-       },
-
-       parseTags : function(el) {
-               var id = el.id, num = id.split('-check-num-')[1], taxbox = $(el).closest('.tagsdiv'),
-                       thetags = taxbox.find('.the-tags'), comma = postL10n.comma,
-                       current_tags = thetags.val().split(comma), new_tags = [];
-               delete current_tags[num];
-
-               $.each( current_tags, function(key, val) {
-                       val = $.trim(val);
-                       if ( val ) {
-                               new_tags.push(val);
-                       }
-               });
-
-               thetags.val( this.clean( new_tags.join(comma) ) );
-
-               this.quickClicks(taxbox);
-               return false;
-       },
-
-       quickClicks : function(el) {
-               var thetags = $('.the-tags', el),
-                       tagchecklist = $('.tagchecklist', el),
-                       id = $(el).attr('id'),
-                       current_tags, disabled;
-
-               if ( !thetags.length )
-                       return;
-
-               disabled = thetags.prop('disabled');
-
-               current_tags = thetags.val().split(postL10n.comma);
-               tagchecklist.empty();
-
-               $.each( current_tags, function( key, val ) {
-                       var span, xbutton;
-
-                       val = $.trim( val );
-
-                       if ( ! val )
-                               return;
-
-                       // Create a new span, and ensure the text is properly escaped.
-                       span = $('<span />').text( val );
-
-                       // If tags editing isn't disabled, create the X button.
-                       if ( ! disabled ) {
-                               xbutton = $( '<a id="' + id + '-check-num-' + key + '" class="ntdelbutton">X</a>' );
-                               xbutton.click( function(){ tagBox.parseTags(this); });
-                               span.prepend('&nbsp;').prepend( xbutton );
-                       }
-
-                       // Append the span to the tag list.
-                       tagchecklist.append( span );
-               });
-       },
-
-       flushTags : function(el, a, f) {
-               var tagsval, newtags, text,
-                       tags = $('.the-tags', el),
-                       newtag = $('input.newtag', el),
-                       comma = postL10n.comma;
-               a = a || false;
-
-               text = a ? $(a).text() : newtag.val();
-               tagsval = tags.val();
-               newtags = tagsval ? tagsval + comma + text : text;
-
-               newtags = this.clean( newtags );
-               newtags = array_unique_noempty( newtags.split(comma) ).join(comma);
-               tags.val(newtags);
-               this.quickClicks(el);
-
-               if ( !a )
-                       newtag.val('');
-               if ( 'undefined' == typeof(f) )
-                       newtag.focus();
-
-               return false;
-       },
-
-       get : function(id) {
-               var tax = id.substr(id.indexOf('-')+1);
-
-               $.post(ajaxurl, {'action':'get-tagcloud', 'tax':tax}, function(r, stat) {
-                       if ( 0 === r || 'success' != stat )
-                               r = wpAjax.broken;
-
-                       r = $('<p id="tagcloud-'+tax+'" class="the-tagcloud">'+r+'</p>');
-                       $('a', r).click(function(){
-                               tagBox.flushTags( $(this).closest('.inside').children('.tagsdiv'), this);
-                               return false;
-                       });
-
-                       $('#'+id).after(r);
-               });
-       },
-
-       init : function() {
-               var t = this, ajaxtag = $('div.ajaxtag');
-
-               $('.tagsdiv').each( function() {
-                       tagBox.quickClicks(this);
-               });
-
-               $('input.tagadd', ajaxtag).click(function(){
-                       t.flushTags( $(this).closest('.tagsdiv') );
-               });
-
-               $('div.taghint', ajaxtag).click(function(){
-                       $(this).css('visibility', 'hidden').parent().siblings('.newtag').focus();
-               });
-
-               $('input.newtag', ajaxtag).blur(function() {
-                       if ( '' === this.value )
-                               $(this).parent().siblings('.taghint').css('visibility', '');
-               }).focus(function(){
-                       $(this).parent().siblings('.taghint').css('visibility', 'hidden');
-               }).keyup(function(e){
-                       if ( 13 == e.which ) {
-                               tagBox.flushTags( $(this).closest('.tagsdiv') );
-                               return false;
-                       }
-               }).keypress(function(e){
-                       if ( 13 == e.which ) {
-                               e.preventDefault();
-                               return false;
-                       }
-               }).each(function(){
-                       var tax = $(this).closest('div.tagsdiv').attr('id');
-                       $(this).suggest( ajaxurl + '?action=ajax-tag-search&tax=' + tax, { delay: 500, minchars: 2, multiple: true, multipleSep: postL10n.comma + ' ' } );
-               });
-
-               // save tags on post save/publish
-               $('#post').submit(function(){
-                       $('div.tagsdiv').each( function() {
-                               tagBox.flushTags(this, false, 1);
-                       });
-               });
-
-               // tag cloud
-               $('a.tagcloud-link').click(function(){
-                       tagBox.get( $(this).attr('id') );
-                       $(this).unbind().click(function(){
-                               $(this).siblings('.the-tagcloud').toggle();
-                               return false;
-                       });
-                       return false;
-               });
-       }
-};
-
 commentsBox = {
        st : 0,
 
@@ -193,7 +20,7 @@ commentsBox = {
 
                this.st += num;
                this.total = total;
-               $('#commentsdiv .spinner').show();
+               $( '#commentsdiv .spinner' ).addClass( 'is-active' );
 
                data = {
                        'action' : 'get-comments',
@@ -208,7 +35,7 @@ commentsBox = {
                        function(r) {
                                r = wpAjax.parseAjaxResponse(r);
                                $('#commentsdiv .widefat').show();
-                               $('#commentsdiv .spinner').hide();
+                               $( '#commentsdiv .spinner' ).removeClass( 'is-active' );
 
                                if ( 'object' == typeof r && r.responses[0] ) {
                                        $('#the-comment-list').append( r.responses[0].data );
@@ -445,9 +272,9 @@ jQuery(document).ready( function($) {
                        $submitButtons.addClass( 'disabled' );
 
                        if ( $button.attr('id') === 'publish' ) {
-                               $submitpost.find('#major-publishing-actions .spinner').show();
+                               $submitpost.find( '#major-publishing-actions .spinner' ).addClass( 'is-active' );
                        } else {
-                               $submitpost.find('#minor-publishing .spinner').show();
+                               $submitpost.find( '#minor-publishing .spinner' ).addClass( 'is-active' );
                        }
                });
        });
@@ -572,11 +399,11 @@ jQuery(document).ready( function($) {
 
        // multi-taxonomies
        if ( $('#tagsdiv-post_tag').length ) {
-               tagBox.init();
+               window.tagBox && window.tagBox.init();
        } else {
                $('#side-sortables, #normal-sortables, #advanced-sortables').children('div.postbox').each(function(){
                        if ( this.id.indexOf('tagsdiv-') === 0 ) {
-                               tagBox.init();
+                               window.tagBox && window.tagBox.init();
                                return false;
                        }
                });
@@ -849,7 +676,7 @@ jQuery(document).ready( function($) {
                                        wp.autosave.enableButtons();
                                }
 
-                               $('#publishing-action .spinner').hide();
+                               $( '#publishing-action .spinner' ).removeClass( 'is-active' );
                        }
                });
 
@@ -885,7 +712,11 @@ jQuery(document).ready( function($) {
                        revert_slug = real_slug.val(),
                        b = $('#edit-slug-buttons'),
                        revert_b = b.html(),
-                       full = $('#editable-post-name-full').html();
+                       full = $('#editable-post-name-full');
+
+               // Deal with Twemoji in the post-name
+               full.find( 'img' ).replaceWith( function() { return this.alt; } );
+               full = 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>');
@@ -909,6 +740,7 @@ jQuery(document).ready( function($) {
                                                box.removeClass('hidden');
                                        });
                                }
+
                                b.html(revert_b);
                                real_slug.val(new_slug);
                                $('#view-post-btn').show();
index e88df4265e38cb648e8b6c5951f14c66d45c3ba1..8c864240ab33d83aead2a63a4a6cb031bff414a5 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,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()?(i.children(".cancel").click(),!1):(a.post(ajaxurl,{action:"sample-permalink",post_id:m,new_slug:b,new_title:a("#title").val(),samplepermalinknonce:a("#samplepermalinknonce").val()},function(c){var d=a("#edit-slug-box");d.html(c),d.hasClass("hidden")&&d.fadeIn("fast",function(){d.removeClass("hidden")}),i.html(j),g.val(b),a("#view-post-btn").show()}),!1)}),i.children(".cancel").click(function(){return a("#view-post-btn").show(),e.html(f),i.html(j),g.val(h),!1}),b=0;b<k.length;++b)"%"==k.charAt(b)&&d++;c=d>k.length/4?"":k,e.html('<input type="text" id="new-post-slug" value="'+c+'" />').children("input").keypress(function(a){var b=a.keyCode||0;return 13==b?(i.children(".save").click(),!1):27==b?(i.children(".cancel").click(),!1):void 0}).keyup(function(){g.val(this.value)}).focus()}var c,d,e,f,g,h="",i=0,j=a("#content"),k=a(document),l=a("#edit-slug-box"),m=a("#post_ID").val()||0,n=a("#submitpost"),o=!0,p=a("#post-visibility-select"),q=a("#timestampdiv"),r=a("#post-status-select");postboxes.add_postbox_toggles(pagenow),window.name="",a("#post-lock-dialog .notification-dialog").on("keydown",function(b){if(9==b.which){var c=a(b.target);c.hasClass("wp-tab-first")&&b.shiftKey?(a(this).find(".wp-tab-last").focus(),b.preventDefault()):c.hasClass("wp-tab-last")&&!b.shiftKey&&(a(this).find(".wp-tab-first").focus(),b.preventDefault())}}).filter(":visible").find(".wp-tab-first").focus(),wp.heartbeat&&a("#post-lock-dialog").length&&wp.heartbeat.interval(15),e=n.find(":submit, a.submitdelete, #post-preview").on("click.edit-post",function(b){var c=a(this);return c.hasClass("disabled")?void b.preventDefault():void(c.hasClass("submitdelete")||c.is("#post-preview")||a("form#post").off("submit.edit-post").on("submit.edit-post",function(b){b.isDefaultPrevented()||(wp.autosave&&wp.autosave.server.suspend(),o=!1,a(window).off("beforeunload.edit-post"),e.addClass("disabled"),"publish"===c.attr("id")?n.find("#major-publishing-actions .spinner").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){i.hasClass("wp-editor-expand")||(f?d.theme.resizeTo(null,e+a.pageY):g.height(Math.max(50,e+a.pageY)),a.preventDefault())}function c(){var b,c;i.hasClass("wp-editor-expand")||(f?(d.focus(),c=parseInt(a("#wp-content-editor-container .mce-toolbar-grp").height(),10),(10>c||c>200)&&(c=30),b=parseInt(a("#content_ifr").css("height"),10)+c-28):(g.focus(),b=parseInt(g.css("height"),10)),k.off(".wp-editor-resize"),b&&b>50&&5e3>b&&setUserSetting("ed_size",b))}var d,e,f,g=a("textarea#content"),h=a("#post-status-info"),i=a("#postdivrich");return!g.length||"ontouchstart"in window?void a("#content-resize-handle").hide():void h.on("mousedown.wp-editor-resize",function(h){"undefined"!=typeof tinymce&&(d=tinymce.get("content")),d&&!d.isHidden()?(f=!0,e=a("#content_ifr").height()-h.pageY):(f=!1,e=g.height()-h.pageY,g.blur()),k.on("mousemove.wp-editor-resize",b).on("mouseup.wp-editor-resize mouseleave.wp-editor-resize",c),h.preventDefault()}).on("mouseup.wp-editor-resize",c)}(),"undefined"!=typeof tinymce&&a("#post-formats-select input.post-format").on("change.set-editor-class",function(){var b,c,d=this.id;d&&a(this).prop("checked")&&(b=tinymce.get("content"))&&(c=b.getBody(),c.className=c.className.replace(/\bpost-format-[^ ]+/,""),b.dom.addClass(c,"post-format-0"==d?"post-format-standard":d),a(document).trigger("editor-classchange"))})});
\ No newline at end of file
+var commentsBox,WPSetThumbnailHTML,WPSetThumbnailID,WPRemoveThumbnail,wptitlehint,makeSlugeditClickable,editPermalink;makeSlugeditClickable=editPermalink=function(){},window.wp=window.wp||{},function(a){var b=!1;commentsBox={st:0,get:function(b,c){var d,e=this.st;return c||(c=20),this.st+=c,this.total=b,a("#commentsdiv .spinner").addClass("is-active"),d={action:"get-comments",mode:"single",_ajax_nonce:a("#add_comment_nonce").val(),p:a("#post_ID").val(),start:e,number:c},a.post(ajaxurl,d,function(b){return b=wpAjax.parseAjaxResponse(b),a("#commentsdiv .widefat").show(),a("#commentsdiv .spinner").removeClass("is-active"),"object"==typeof b&&b.responses[0]?(a("#the-comment-list").append(b.responses[0].data),theList=theExtraList=null,a("a[className*=':']").unbind(),void(commentsBox.st>commentsBox.total?a("#show-comments").hide():a("#show-comments").show().children("a").html(postL10n.showcomm))):1==b?void a("#show-comments").html(postL10n.endcomm):void a("#the-comment-list").append('<tr><td colspan="2">'+wpAjax.broken+"</td></tr>")}),!1}},WPSetThumbnailHTML=function(b){a(".inside","#postimagediv").html(b)},WPSetThumbnailID=function(b){var c=a('input[value="_thumbnail_id"]',"#list-table");c.size()>0&&a("#meta\\["+c.attr("id").match(/[0-9]+/)+"\\]\\[value\\]").text(b)},WPRemoveThumbnail=function(b){a.post(ajaxurl,{action:"set-post-thumbnail",post_id:a("#post_ID").val(),thumbnail_id:-1,_ajax_nonce:b,cookie:encodeURIComponent(document.cookie)},function(a){"0"==a?alert(setPostThumbnailL10n.error):WPSetThumbnailHTML(a)})},a(document).on("heartbeat-send.refresh-lock",function(b,c){var d=a("#active_post_lock").val(),e=a("#post_ID").val(),f={};e&&a("#post-lock-dialog").length&&(f.post_id=e,d&&(f.lock=d),c["wp-refresh-post-lock"]=f)}).on("heartbeat-tick.refresh-lock",function(b,c){var d,e,f;c["wp-refresh-post-lock"]&&(d=c["wp-refresh-post-lock"],d.lock_error?(e=a("#post-lock-dialog"),e.length&&!e.is(":visible")&&(wp.autosave&&(a(document).one("heartbeat-tick",function(){wp.autosave.server.suspend(),e.removeClass("saving").addClass("saved"),a(window).off("beforeunload.edit-post")}),e.addClass("saving"),wp.autosave.server.triggerSave()),d.lock_error.avatar_src&&(f=a('<img class="avatar avatar-64 photo" width="64" height="64" />').attr("src",d.lock_error.avatar_src.replace(/&amp;/g,"&")),e.find("div.post-locked-avatar").empty().append(f)),e.show().find(".currently-editing").text(d.lock_error.text),e.find(".wp-tab-first").focus())):d.new_lock&&a("#active_post_lock").val(d.new_lock))}).on("before-autosave.update-post-slug",function(){b=document.activeElement&&"title"===document.activeElement.id}).on("after-autosave.update-post-slug",function(){a("#edit-slug-box > *").length||b||a.post(ajaxurl,{action:"sample-permalink",post_id:a("#post_ID").val(),new_title:a("#title").val(),samplepermalinknonce:a("#samplepermalinknonce").val()},function(b){"-1"!=b&&a("#edit-slug-box").html(b)})})}(jQuery),function(a){function b(){c=!1,window.clearTimeout(d),d=window.setTimeout(function(){c=!0},3e5)}var c,d;a(document).on("heartbeat-send.wp-refresh-nonces",function(b,d){var e,f;c&&(f=a("#post_ID").val())&&(e=a("#_wpnonce").val())&&(d["wp-refresh-post-nonces"]={post_id:f,post_nonce:e})}).on("heartbeat-tick.wp-refresh-nonces",function(c,d){var e=d["wp-refresh-post-nonces"];e&&(b(),e.replace&&a.each(e.replace,function(b,c){a("#"+b).val(c)}),e.heartbeatNonce&&(window.heartbeatSettings.nonce=e.heartbeatNonce))}).ready(function(){b()})}(jQuery),jQuery(document).ready(function(a){function b(){var b,c,d=0,e=a("#editable-post-name"),f=e.html(),g=a("#post_name"),h=g.val(),i=a("#edit-slug-buttons"),j=i.html(),k=a("#editable-post-name-full");for(k.find("img").replaceWith(function(){return this.alt}),k=k.html(),a("#view-post-btn").hide(),i.html('<a href="#" class="save button button-small">'+postL10n.ok+'</a> <a class="cancel" href="#">'+postL10n.cancel+"</a>"),i.children(".save").click(function(){var b=e.children("input").val();return b==a("#editable-post-name-full").text()?(i.children(".cancel").click(),!1):(a.post(ajaxurl,{action:"sample-permalink",post_id:m,new_slug:b,new_title:a("#title").val(),samplepermalinknonce:a("#samplepermalinknonce").val()},function(c){var d=a("#edit-slug-box");d.html(c),d.hasClass("hidden")&&d.fadeIn("fast",function(){d.removeClass("hidden")}),i.html(j),g.val(b),a("#view-post-btn").show()}),!1)}),i.children(".cancel").click(function(){return a("#view-post-btn").show(),e.html(f),i.html(j),g.val(h),!1}),b=0;b<k.length;++b)"%"==k.charAt(b)&&d++;c=d>k.length/4?"":k,e.html('<input type="text" id="new-post-slug" value="'+c+'" />').children("input").keypress(function(a){var b=a.keyCode||0;return 13==b?(i.children(".save").click(),!1):27==b?(i.children(".cancel").click(),!1):void 0}).keyup(function(){g.val(this.value)}).focus()}var c,d,e,f,g,h="",i=0,j=a("#content"),k=a(document),l=a("#edit-slug-box"),m=a("#post_ID").val()||0,n=a("#submitpost"),o=!0,p=a("#post-visibility-select"),q=a("#timestampdiv"),r=a("#post-status-select");postboxes.add_postbox_toggles(pagenow),window.name="",a("#post-lock-dialog .notification-dialog").on("keydown",function(b){if(9==b.which){var c=a(b.target);c.hasClass("wp-tab-first")&&b.shiftKey?(a(this).find(".wp-tab-last").focus(),b.preventDefault()):c.hasClass("wp-tab-last")&&!b.shiftKey&&(a(this).find(".wp-tab-first").focus(),b.preventDefault())}}).filter(":visible").find(".wp-tab-first").focus(),wp.heartbeat&&a("#post-lock-dialog").length&&wp.heartbeat.interval(15),e=n.find(":submit, a.submitdelete, #post-preview").on("click.edit-post",function(b){var c=a(this);return c.hasClass("disabled")?void b.preventDefault():void(c.hasClass("submitdelete")||c.is("#post-preview")||a("form#post").off("submit.edit-post").on("submit.edit-post",function(b){b.isDefaultPrevented()||(wp.autosave&&wp.autosave.server.suspend(),o=!1,a(window).off("beforeunload.edit-post"),e.addClass("disabled"),"publish"===c.attr("id")?n.find("#major-publishing-actions .spinner").addClass("is-active"):n.find("#minor-publishing .spinner").addClass("is-active"))}))}),a("#post-preview").on("click.post-preview",function(b){var c=a(this),d=a("form#post"),e=a("input#wp-preview"),f=c.attr("target")||"wp-preview",g=navigator.userAgent.toLowerCase();b.preventDefault(),c.hasClass("disabled")||(wp.autosave&&wp.autosave.server.tempBlockSave(),e.val("dopreview"),d.attr("target",f).submit().attr("target",""),-1!==g.indexOf("safari")&&-1===g.indexOf("chrome")&&d.attr("action",function(a,b){return b+"?t="+(new Date).getTime()}),e.val(""))}),a("#title").on("keydown.editor-focus",function(b){var c,d;if(9===b.keyCode&&!b.ctrlKey&&!b.altKey&&!b.shiftKey){if(c="undefined"!=typeof tinymce&&tinymce.get("content"),d=a("#content"),c&&!c.isHidden())c.focus();else{if(!d.length)return;d.focus()}b.preventDefault()}}),a("#auto_draft").val()&&a("#title").blur(function(){var b;this.value&&!a("#edit-slug-box > *").length&&(a("form#post").one("submit",function(){b=!0}),window.setTimeout(function(){!b&&wp.autosave&&wp.autosave.server.triggerSave()},200))}),k.on("autosave-disable-buttons.edit-post",function(){e.addClass("disabled")}).on("autosave-enable-buttons.edit-post",function(){wp.heartbeat&&wp.heartbeat.hasConnectionError()||e.removeClass("disabled")}).on("before-autosave.edit-post",function(){a(".autosave-message").text(postL10n.savingText)}).on("after-autosave.edit-post",function(b,c){a(".autosave-message").text(c.message)}),a(window).on("beforeunload.edit-post",function(){var a="undefined"!=typeof tinymce&&tinymce.get("content");return a&&!a.isHidden()&&a.isDirty()||wp.autosave&&wp.autosave.server.postChanged()?postL10n.saveAlert:void 0}).on("unload.edit-post",function(b){o&&(b.target&&"#document"!=b.target.nodeName||a.ajax({type:"POST",url:ajaxurl,async:!1,data:{action:"wp-remove-post-lock",_wpnonce:a("#_wpnonce").val(),post_ID:a("#post_ID").val(),active_post_lock:a("#active_post_lock").val()}}))}),a("#tagsdiv-post_tag").length?window.tagBox&&window.tagBox.init():a("#side-sortables, #normal-sortables, #advanced-sortables").children("div.postbox").each(function(){return 0===this.id.indexOf("tagsdiv-")?(window.tagBox&&window.tagBox.init(),!1):void 0}),a(".categorydiv").each(function(){var b,c,d,e,f,g=a(this).attr("id");d=g.split("-"),d.shift(),e=d.join("-"),f=e+"_tab","category"==e&&(f="cats"),a("a","#"+e+"-tabs").click(function(){var b=a(this).attr("href");return a(this).parent().addClass("tabs").siblings("li").removeClass("tabs"),a("#"+e+"-tabs").siblings(".tabs-panel").hide(),a(b).show(),"#"+e+"-all"==b?deleteUserSetting(f):setUserSetting(f,"pop"),!1}),getUserSetting(f)&&a('a[href="#'+e+'-pop"]',"#"+e+"-tabs").click(),a("#new"+e).one("focus",function(){a(this).val("").removeClass("form-input-tip")}),a("#new"+e).keypress(function(b){13===b.keyCode&&(b.preventDefault(),a("#"+e+"-add-submit").click())}),a("#"+e+"-add-submit").click(function(){a("#new"+e).focus()}),b=function(b){return a("#new"+e).val()?(b.data+="&"+a(":checked","#"+e+"checklist").serialize(),a("#"+e+"-add-submit").prop("disabled",!0),b):!1},c=function(b,c){var d,f=a("#new"+e+"_parent");a("#"+e+"-add-submit").prop("disabled",!1),"undefined"!=c.parsed.responses[0]&&(d=c.parsed.responses[0].supplemental.newcat_parent)&&(f.before(d),f.remove())},a("#"+e+"checklist").wpList({alt:"",response:e+"-ajax-response",addBefore:b,addAfter:c}),a("#"+e+"-add-toggle").click(function(){return a("#"+e+"-adder").toggleClass("wp-hidden-children"),a('a[href="#'+e+'-all"]',"#"+e+"-tabs").click(),a("#new"+e).focus(),!1}),a("#"+e+"checklist, #"+e+"checklist-pop").on("click",'li.popular-category > label input[type="checkbox"]',function(){var b=a(this),c=b.is(":checked"),d=b.val();d&&b.parents("#taxonomy-"+e).length&&a("#in-"+e+"-"+d+", #in-popular-"+e+"-"+d).prop("checked",c)})}),a("#postcustom").length&&a("#the-list").wpList({addAfter:function(){a("table#list-table").show()},addBefore:function(b){return b.data+="&post_id="+a("#post_ID").val(),b}}),a("#submitdiv").length&&(c=a("#timestamp").html(),d=a("#post-visibility-display").html(),f=function(){"public"!=p.find("input:radio:checked").val()?(a("#sticky").prop("checked",!1),a("#sticky-span").hide()):a("#sticky-span").show(),"password"!=p.find("input:radio:checked").val()?a("#password-span").hide():a("#password-span").show()},g=function(){if(!q.length)return!0;var b,d,e,f,g=a("#post_status"),h=a('option[value="publish"]',g),i=a("#aa").val(),j=a("#mm").val(),k=a("#jj").val(),l=a("#hh").val(),m=a("#mn").val();return b=new Date(i,j-1,k,l,m),d=new Date(a("#hidden_aa").val(),a("#hidden_mm").val()-1,a("#hidden_jj").val(),a("#hidden_hh").val(),a("#hidden_mn").val()),e=new Date(a("#cur_aa").val(),a("#cur_mm").val()-1,a("#cur_jj").val(),a("#cur_hh").val(),a("#cur_mn").val()),b.getFullYear()!=i||1+b.getMonth()!=j||b.getDate()!=k||b.getMinutes()!=m?(q.find(".timestamp-wrap").addClass("form-invalid"),!1):(q.find(".timestamp-wrap").removeClass("form-invalid"),b>e&&"future"!=a("#original_post_status").val()?(f=postL10n.publishOnFuture,a("#publish").val(postL10n.schedule)):e>=b&&"publish"!=a("#original_post_status").val()?(f=postL10n.publishOn,a("#publish").val(postL10n.publish)):(f=postL10n.publishOnPast,a("#publish").val(postL10n.update)),a("#timestamp").html(d.toUTCString()==b.toUTCString()?c:f+" <b>"+postL10n.dateFormat.replace("%1$s",a('option[value="'+a("#mm").val()+'"]',"#mm").text()).replace("%2$s",k).replace("%3$s",i).replace("%4$s",l).replace("%5$s",m)+"</b> "),"private"==p.find("input:radio:checked").val()?(a("#publish").val(postL10n.update),0===h.length?g.append('<option value="publish">'+postL10n.privatelyPublished+"</option>"):h.html(postL10n.privatelyPublished),a('option[value="publish"]',g).prop("selected",!0),a("#misc-publishing-actions .edit-post-status").hide()):("future"==a("#original_post_status").val()||"draft"==a("#original_post_status").val()?h.length&&(h.remove(),g.val(a("#hidden_post_status").val())):h.html(postL10n.published),g.is(":hidden")&&a("#misc-publishing-actions .edit-post-status").show()),a("#post-status-display").html(a("option:selected",g).text()),"private"==a("option:selected",g).val()||"publish"==a("option:selected",g).val()?a("#save-post").hide():(a("#save-post").show(),a("#save-post").show().val("pending"==a("option:selected",g).val()?postL10n.savePending:postL10n.saveDraft)),!0)},a("#visibility .edit-visibility").click(function(){return p.is(":hidden")&&(f(),p.slideDown("fast").find('input[type="radio"]').first().focus(),a(this).hide()),!1}),p.find(".cancel-post-visibility").click(function(b){p.slideUp("fast"),a("#visibility-radio-"+a("#hidden-post-visibility").val()).prop("checked",!0),a("#post_password").val(a("#hidden-post-password").val()),a("#sticky").prop("checked",a("#hidden-post-sticky").prop("checked")),a("#post-visibility-display").html(d),a("#visibility .edit-visibility").show().focus(),g(),b.preventDefault()}),p.find(".save-post-visibility").click(function(b){p.slideUp("fast"),a("#visibility .edit-visibility").show(),g(),"public"!=p.find("input:radio:checked").val()&&a("#sticky").prop("checked",!1),h=a("#sticky").prop("checked")?"Sticky":"",a("#post-visibility-display").html(postL10n[p.find("input:radio:checked").val()+h]),b.preventDefault()}),p.find("input:radio").change(function(){f()}),q.siblings("a.edit-timestamp").click(function(b){q.is(":hidden")&&(q.slideDown("fast"),a("#mm").focus(),a(this).hide()),b.preventDefault()}),q.find(".cancel-timestamp").click(function(b){q.slideUp("fast").siblings("a.edit-timestamp").show().focus(),a("#mm").val(a("#hidden_mm").val()),a("#jj").val(a("#hidden_jj").val()),a("#aa").val(a("#hidden_aa").val()),a("#hh").val(a("#hidden_hh").val()),a("#mn").val(a("#hidden_mn").val()),g(),b.preventDefault()}),q.find(".save-timestamp").click(function(a){g()&&(q.slideUp("fast"),q.siblings("a.edit-timestamp").show()),a.preventDefault()}),a("#post").on("submit",function(b){g()||(b.preventDefault(),q.show(),wp.autosave&&wp.autosave.enableButtons(),a("#publishing-action .spinner").removeClass("is-active"))}),r.siblings("a.edit-post-status").click(function(b){r.is(":hidden")&&(r.slideDown("fast").find("select").focus(),a(this).hide()),b.preventDefault()}),r.find(".save-post-status").click(function(a){r.slideUp("fast").siblings("a.edit-post-status").show(),g(),a.preventDefault()}),r.find(".cancel-post-status").click(function(b){a("#post-status-select").slideUp("fast").siblings("a.edit-post-status").show().focus(),a("#post_status").val(a("#hidden_post_status").val()),g(),b.preventDefault()})),l.length&&l.on("click",function(c){var d=a(c.target);(d.is("#editable-post-name")||d.hasClass("edit-slug"))&&b()}),"undefined"!=typeof wpWordCount&&(k.triggerHandler("wpcountwords",[j.val()]),j.keyup(function(a){var b=a.keyCode||a.charCode;return b==i?!0:((13==b||8==i||46==i)&&k.triggerHandler("wpcountwords",[j.val()]),i=b,!0)})),wptitlehint=function(b){b=b||"title";var c=a("#"+b),d=a("#"+b+"-prompt-text");""===c.val()&&d.removeClass("screen-reader-text"),d.click(function(){a(this).addClass("screen-reader-text"),c.focus()}),c.blur(function(){""===this.value&&d.removeClass("screen-reader-text")}).focus(function(){d.addClass("screen-reader-text")}).keydown(function(b){d.addClass("screen-reader-text"),a(this).unbind(b)})},wptitlehint(),function(){function b(a){i.hasClass("wp-editor-expand")||(f?d.theme.resizeTo(null,e+a.pageY):g.height(Math.max(50,e+a.pageY)),a.preventDefault())}function c(){var b,c;i.hasClass("wp-editor-expand")||(f?(d.focus(),c=parseInt(a("#wp-content-editor-container .mce-toolbar-grp").height(),10),(10>c||c>200)&&(c=30),b=parseInt(a("#content_ifr").css("height"),10)+c-28):(g.focus(),b=parseInt(g.css("height"),10)),k.off(".wp-editor-resize"),b&&b>50&&5e3>b&&setUserSetting("ed_size",b))}var d,e,f,g=a("textarea#content"),h=a("#post-status-info"),i=a("#postdivrich");return!g.length||"ontouchstart"in window?void a("#content-resize-handle").hide():void h.on("mousedown.wp-editor-resize",function(h){"undefined"!=typeof tinymce&&(d=tinymce.get("content")),d&&!d.isHidden()?(f=!0,e=a("#content_ifr").height()-h.pageY):(f=!1,e=g.height()-h.pageY,g.blur()),k.on("mousemove.wp-editor-resize",b).on("mouseup.wp-editor-resize mouseleave.wp-editor-resize",c),h.preventDefault()}).on("mouseup.wp-editor-resize",c)}(),"undefined"!=typeof tinymce&&a("#post-formats-select input.post-format").on("change.set-editor-class",function(){var b,c,d=this.id;d&&a(this).prop("checked")&&(b=tinymce.get("content"))&&(c=b.getBody(),c.className=c.className.replace(/\bpost-format-[^ ]+/,""),b.dom.addClass(c,"post-format-0"==d?"post-format-standard":d),a(document).trigger("editor-classchange"))})});
\ No newline at end of file
diff --git a/wp-admin/js/press-this.js b/wp-admin/js/press-this.js
new file mode 100644 (file)
index 0000000..b8f28c9
--- /dev/null
@@ -0,0 +1,796 @@
+/**
+ * PressThis App
+ *
+ */
+( function( $, window ) {
+       var PressThis = function() {
+               var editor, $mediaList, $mediaThumbWrap,
+                       saveAlert             = false,
+                       editLinkVisible       = false,
+                       textarea              = document.createElement( 'textarea' ),
+                       sidebarIsOpen         = false,
+                       settings              = window.wpPressThisConfig || {},
+                       data                  = window.wpPressThisData || {},
+                       smallestWidth         = 128,
+                       hasSetFocus           = false,
+                       catsCache             = [],
+                       isOffScreen           = 'is-off-screen',
+                       isHidden              = 'is-hidden',
+                       offscreenHidden       = isOffScreen + ' ' + isHidden,
+                       transitionEndEvent    = ( function() {
+                               var style = document.documentElement.style;
+
+                               if ( typeof style.transition !== 'undefined' ) {
+                                       return 'transitionend';
+                               }
+
+                               if ( typeof style.WebkitTransition !== 'undefined' ) {
+                                       return 'webkitTransitionEnd';
+                               }
+
+                               return false;
+                       }() );
+
+               /* ***************************************************************
+                * HELPER FUNCTIONS
+                *************************************************************** */
+
+               /**
+                * Emulates our PHP __() gettext function, powered by the strings exported in pressThisL10n.
+                *
+                * @param key string Key of the string to be translated, as found in pressThisL10n.
+                * @returns string Original or translated string, or empty string if no key.
+                */
+               function __( key ) {
+                       if ( key && window.pressThisL10n ) {
+                               return window.pressThisL10n[key] || key;
+                       }
+
+                       return key || '';
+               }
+
+               /**
+                * Strips HTML tags
+                *
+                * @param string string Text to have the HTML tags striped out of.
+                * @returns string Stripped text.
+                */
+               function stripTags( string ) {
+                       string = string || '';
+
+                       return string
+                               .replace( /<!--[\s\S]*?(-->|$)/g, '' )
+                               .replace( /<(script|style)[^>]*>[\s\S]*?(<\/\1>|$)/ig, '' )
+                               .replace( /<\/?[a-z][\s\S]*?(>|$)/ig, '' );
+               }
+
+               /**
+                * Strip HTML tags and convert HTML entities.
+                *
+                * @param text string Text.
+                * @returns string Sanitized text.
+                */
+               function sanitizeText( text ) {
+                       var _text = stripTags( text );
+
+                       try {
+                               textarea.innerHTML = _text;
+                               _text = stripTags( textarea.value );
+                       } catch ( er ) {}
+
+                       return _text;
+               }
+
+               /**
+                * Allow only HTTP or protocol relative URLs.
+                *
+                * @param url string The URL.
+                * @returns string Processed URL.
+                */
+               function checkUrl( url ) {
+                       url = $.trim( url || '' );
+
+                       if ( /^(?:https?:)?\/\//.test( url ) ) {
+                               url = stripTags( url );
+                               return url.replace( /["\\]+/g, '' );
+                       }
+
+                       return '';
+               }
+
+               /**
+                * Show UX spinner
+                */
+               function showSpinner() {
+                       $( '.spinner' ).addClass( 'is-active' );
+                       $( '.post-actions button' ).attr( 'disabled', 'disabled' );
+               }
+
+               /**
+                * Hide UX spinner
+                */
+               function hideSpinner() {
+                       $( '.spinner' ).removeClass( 'is-active' );
+                       $( '.post-actions button' ).removeAttr( 'disabled' );
+               }
+
+               /**
+                * Replace emoji images with chars and sanitize the text content.
+                */
+               function getTitleText() {
+                       var $element = $( '#title-container' );
+
+                       $element.find( 'img.emoji' ).each( function() {
+                               var $image = $( this );
+                               $image.replaceWith( $( '<span>' ).text( $image.attr( 'alt' ) ) );
+                       });
+
+                       return sanitizeText( $element.text() );
+               }
+
+               /**
+                * Prepare the form data for saving.
+                */
+               function prepareFormData() {
+                       var $form = $( '#pressthis-form' ),
+                               $input = $( '<input type="hidden" name="post_category[]" value="">' );
+
+                       editor && editor.save();
+
+                       $( '#post_title' ).val( getTitleText() );
+
+                       // Make sure to flush out the tags with tagBox before saving
+                       if ( window.tagBox ) {
+                               $( 'div.tagsdiv' ).each( function() {
+                                       window.tagBox.flushTags( this, false, 1 );
+                               } );
+                       }
+
+                       // Get selected categories
+                       $( '.categories-select .category' ).each( function( i, element ) {
+                               var $cat = $( element );
+
+                               if ( $cat.hasClass( 'selected' ) ) {
+                                       // Have to append a node as we submit the actual form on preview
+                                       $form.append( $input.clone().val( $cat.attr( 'data-term-id' ) || '' ) );
+                               }
+                       });
+               }
+
+               /**
+                * Submit the post form via AJAX, and redirect to the proper screen if published vs saved as a draft.
+                *
+                * @param action string publish|draft
+                */
+               function submitPost( action ) {
+                       var data,
+                               keepFocus = $( document.activeElement ).hasClass( 'draft-button' );
+
+                       saveAlert = false;
+                       showSpinner();
+
+                       if ( 'publish' === action ) {
+                               $( '#post_status' ).val( 'publish' );
+                       }
+
+                       prepareFormData();
+                       data = $( '#pressthis-form' ).serialize();
+
+                       $.ajax( {
+                               type: 'post',
+                               url: window.ajaxurl,
+                               data: data
+                       }).always( function() {
+                               hideSpinner();
+                               clearNotices();
+                       }).done( function( response ) {
+                               var $link, $button;
+
+                               if ( ! response.success ) {
+                                       renderError( response.data.errorMessage );
+                               } else if ( response.data.redirect ) {
+                                       if ( window.opener && settings.redirInParent ) {
+                                               try {
+                                                       window.opener.location.href = response.data.redirect;
+                                               } catch( er ) {}
+
+                                               window.self.close();
+                                       } else {
+                                               window.location.href = response.data.redirect;
+                                       }
+                               } else if ( response.data.postSaved ) {
+                                       $link = $( '.edit-post-link' );
+                                       $button = $( '.draft-button' );
+                                       editLinkVisible = true;
+
+                                       $button.fadeOut( 200, function() {
+                                               $button.removeClass( 'is-saving' );
+                                               $link.fadeIn( 200, function() {
+                                                       var active = document.activeElement;
+                                                       // Different browsers move the focus to different places when the button is disabled.
+                                                       if ( keepFocus && ( active === $button[0] || $( active ).hasClass( 'post-actions' ) || active.nodeName === 'BODY' ) ) {
+                                                               $link.focus();
+                                                       }
+                                               });
+                                       });
+                               }
+                       }).fail( function() {
+                               renderError( __( 'serverError' ) );
+                       });
+               }
+
+               function resetDraftButton() {
+                       if ( editLinkVisible ) {
+                               editLinkVisible = false;
+
+                               $( '.edit-post-link' ).fadeOut( 200, function() {
+                                       $( '.draft-button' ).removeClass( 'is-saving' ).fadeIn( 200 );
+                               });
+                       }
+               }
+
+               /**
+                * Inserts the media a user has selected from the presented list inside the editor, as an image or embed, based on type
+                *
+                * @param type string img|embed
+                * @param src string Source URL
+                * @param link string Optional destination link, for images (defaults to src)
+                */
+               function insertSelectedMedia( $element ) {
+                       var src, link, newContent = '';
+
+                       if ( ! editor ) {
+                               return;
+                       }
+
+                       src = checkUrl( $element.attr( 'data-wp-src' ) || '' );
+                       link = checkUrl( data.u );
+
+                       if ( $element.hasClass( 'is-image' ) ) {
+                               if ( ! link ) {
+                                       link = src;
+                               }
+
+                               newContent = '<a href="' + link + '"><img class="alignnone size-full" src="' + src + '" /></a>';
+                       } else {
+                               newContent = '[embed]' + src + '[/embed]';
+                       }
+
+                       if ( ! hasSetFocus ) {
+                               editor.setContent( '<p>' + newContent + '</p>' + editor.getContent() );
+                       } else {
+                               editor.execCommand( 'mceInsertContent', false, newContent );
+                       }
+               }
+
+               /**
+                * Save a new user-generated category via AJAX
+                */
+               function saveNewCategory() {
+                       var data,
+                               name = $( '#new-category' ).val();
+
+                       if ( ! name ) {
+                               return;
+                       }
+
+                       data = {
+                               action: 'press-this-add-category',
+                               post_id: $( '#post_ID' ).val() || 0,
+                               name: name,
+                               new_cat_nonce: $( '#_ajax_nonce-add-category' ).val() || '',
+                               parent: $( '#new-category-parent' ).val() || 0
+                       };
+
+                       $.post( window.ajaxurl, data, function( response ) {
+                               if ( ! response.success ) {
+                                       renderError( response.data.errorMessage );
+                               } else {
+                                       var $parent, $ul,
+                                               $wrap = $( 'ul.categories-select' );
+
+                                       $.each( response.data, function( i, newCat ) {
+                                               var $node = $( '<li>' ).append( $( '<div class="category selected" tabindex="0" role="checkbox" aria-checked="true">' )
+                                                       .attr( 'data-term-id', newCat.term_id )
+                                                       .text( newCat.name ) );
+
+                                               if ( newCat.parent ) {
+                                                       if ( ! $ul || ! $ul.length ) {
+                                                               $parent = $wrap.find( 'div[data-term-id="' + newCat.parent + '"]' ).parent();
+                                                               $ul = $parent.find( 'ul.children:first' );
+
+                                                               if ( ! $ul.length ) {
+                                                                       $ul = $( '<ul class="children">' ).appendTo( $parent );
+                                                               }
+                                                       }
+
+                                                       $ul.prepend( $node );
+                                               } else {
+                                                       $wrap.prepend( $node );
+                                               }
+
+                                               $node.focus();
+                                       } );
+
+                                       refreshCatsCache();
+                               }
+                       } );
+               }
+
+               /* ***************************************************************
+                * RENDERING FUNCTIONS
+                *************************************************************** */
+
+               /**
+                * Hide the form letting users enter a URL to be scanned, if a URL was already passed.
+                */
+               function renderToolsVisibility() {
+                       if ( data.hasData ) {
+                               $( '#scanbar' ).hide();
+                       }
+               }
+
+               /**
+                * Render error notice
+                *
+                * @param msg string Notice/error message
+                * @param error string error|notice CSS class for display
+                */
+               function renderNotice( msg, error ) {
+                       var $alerts = $( '.editor-wrapper div.alerts' ),
+                               className = error ? 'is-error' : 'is-notice';
+
+                       $alerts.append( $( '<p class="alert ' + className + '">' ).text( msg ) );
+               }
+
+               /**
+                * Render error notice
+                *
+                * @param msg string Error message
+                */
+               function renderError( msg ) {
+                       renderNotice( msg, true );
+               }
+
+               function clearNotices() {
+                       $( 'div.alerts' ).empty();
+               }
+
+               /**
+                * Render notices on page load, if any already
+                */
+               function renderStartupNotices() {
+                       // Render errors sent in the data, if any
+                       if ( data.errors ) {
+                               $.each( data.errors, function( i, msg ) {
+                                       renderError( msg );
+                               } );
+                       }
+               }
+
+               /**
+                * Add an image to the list of found images.
+                */
+               function addImg( src, displaySrc, i ) {
+                       var $element = $mediaThumbWrap.clone().addClass( 'is-image' );
+
+                       $element.attr( 'data-wp-src', src ).css( 'background-image', 'url(' + displaySrc + ')' )
+                               .find( 'span' ).text( __( 'suggestedImgAlt' ).replace( '%d', i + 1 ) );
+
+                       $mediaList.append( $element );
+               }
+
+               /**
+                * Render the detected images and embed for selection, if any
+                */
+               function renderDetectedMedia() {
+                       var found = 0;
+
+                       $mediaList = $( 'ul.media-list' );
+                       $mediaThumbWrap = $( '<li class="suggested-media-thumbnail" tabindex="0"><span class="screen-reader-text"></span></li>' );
+
+                       if ( data._embeds ) {
+                               $.each( data._embeds, function ( i, src ) {
+                                       var displaySrc = '',
+                                               cssClass = '',
+                                               $element = $mediaThumbWrap.clone().addClass( 'is-embed' );
+
+                                       src = checkUrl( src );
+
+                                       if ( src.indexOf( 'youtube.com/' ) > -1 ) {
+                                               displaySrc = 'https://i.ytimg.com/vi/' + src.replace( /.+v=([^&]+).*/, '$1' ) + '/hqdefault.jpg';
+                                               cssClass += ' is-video';
+                                       } else if ( src.indexOf( 'youtu.be/' ) > -1 ) {
+                                               displaySrc = 'https://i.ytimg.com/vi/' + src.replace( /\/([^\/])$/, '$1' ) + '/hqdefault.jpg';
+                                               cssClass += ' is-video';
+                                       } else if ( src.indexOf( 'dailymotion.com' ) > -1 ) {
+                                               displaySrc = src.replace( '/video/', '/thumbnail/video/' );
+                                               cssClass += ' is-video';
+                                       } else if ( src.indexOf( 'soundcloud.com' ) > -1 ) {
+                                               cssClass += ' is-audio';
+                                       } else if ( src.indexOf( 'twitter.com' ) > -1 ) {
+                                               cssClass += ' is-tweet';
+                                       } else {
+                                               cssClass += ' is-video';
+                                       }
+
+                                       $element.attr( 'data-wp-src', src ).find( 'span' ).text( __( 'suggestedEmbedAlt' ).replace( '%d', i + 1 ) );
+
+                                       if ( displaySrc ) {
+                                               $element.css( 'background-image', 'url(' + displaySrc + ')' );
+                                       }
+
+                                       $mediaList.append( $element );
+                                       found++;
+                               } );
+                       }
+
+                       if ( data._images ) {
+                               $.each( data._images, function( i, src ) {
+                                       var displaySrc, img = new Image();
+
+                                       src = checkUrl( src );
+                                       displaySrc = src.replace( /^(http[^\?]+)(\?.*)?$/, '$1' );
+
+                                       if ( src.indexOf( 'files.wordpress.com/' ) > -1 ) {
+                                               displaySrc = displaySrc.replace( /\?.*$/, '' ) + '?w=' + smallestWidth;
+                                       } else if ( src.indexOf( 'gravatar.com/' ) > -1 ) {
+                                               displaySrc = displaySrc.replace( /\?.*$/, '' ) + '?s=' + smallestWidth;
+                                       } else {
+                                               displaySrc = src;
+                                       }
+
+                                       img.onload = function() {
+                                               if ( ( img.width && img.width < 256 ) ||
+                                                       ( img.height && img.height < 128 ) ) {
+
+                                                       return;
+                                               }
+
+                                               addImg( src, displaySrc, i );
+                                       };
+
+                                       img.src = src;
+                                       found++;
+                               } );
+                       }
+
+                       if ( found ) {
+                               $( '.media-list-container' ).addClass( 'has-media' );
+                       }
+               }
+
+               /* ***************************************************************
+                * MONITORING FUNCTIONS
+                *************************************************************** */
+
+               /**
+                * Interactive navigation behavior for the options modal (post format, tags, categories)
+                */
+               function monitorOptionsModal() {
+                       var $postOptions  = $( '.post-options' ),
+                               $postOption   = $( '.post-option' ),
+                               $settingModal = $( '.setting-modal' ),
+                               $modalClose   = $( '.modal-close' );
+
+                       $postOption.on( 'click', function() {
+                               var index = $( this ).index(),
+                                       $targetSettingModal = $settingModal.eq( index );
+
+                               $postOptions.addClass( isOffScreen )
+                                       .one( transitionEndEvent, function() {
+                                               $( this ).addClass( isHidden );
+                                       } );
+
+                               $targetSettingModal.removeClass( offscreenHidden )
+                                       .one( transitionEndEvent, function() {
+                                               $( this ).find( '.modal-close' ).focus();
+                                       } );
+                       } );
+
+                       $modalClose.on( 'click', function() {
+                               var $targetSettingModal = $( this ).parent(),
+                                       index = $targetSettingModal.index();
+
+                               $postOptions.removeClass( offscreenHidden );
+                               $targetSettingModal.addClass( isOffScreen );
+
+                               if ( transitionEndEvent ) {
+                                       $targetSettingModal.one( transitionEndEvent, function() {
+                                               $( this ).addClass( isHidden );
+                                               $postOption.eq( index - 1 ).focus();
+                                       } );
+                               } else {
+                                       setTimeout( function() {
+                                               $targetSettingModal.addClass( isHidden );
+                                               $postOption.eq( index - 1 ).focus();
+                                       }, 350 );
+                               }
+                       } );
+               }
+
+               /**
+                * Interactive behavior for the sidebar toggle, to show the options modals
+                */
+               function openSidebar() {
+                       sidebarIsOpen = true;
+
+                       $( '.options' ).removeClass( 'closed' ).addClass( 'open' );
+                       $( '.press-this-actions, #scanbar' ).addClass( isHidden );
+                       $( '.options-panel-back' ).removeClass( isHidden );
+
+                       $( '.options-panel' ).removeClass( offscreenHidden )
+                               .one( transitionEndEvent, function() {
+                                       $( '.post-option:first' ).focus();
+                               } );
+               }
+
+               function closeSidebar() {
+                       sidebarIsOpen = false;
+
+                       $( '.options' ).removeClass( 'open' ).addClass( 'closed' );
+                       $( '.options-panel-back' ).addClass( isHidden );
+                       $( '.press-this-actions, #scanbar' ).removeClass( isHidden );
+
+                       $( '.options-panel' ).addClass( isOffScreen )
+                               .one( transitionEndEvent, function() {
+                                       $( this ).addClass( isHidden );
+                                       // Reset to options list
+                                       $( '.post-options' ).removeClass( offscreenHidden );
+                                       $( '.setting-modal').addClass( offscreenHidden );
+                               });
+               }
+
+               /**
+                * Interactive behavior for the post title's field placeholder
+                */
+               function monitorPlaceholder() {
+                       var $titleField = $( '#title-container' ),
+                               $placeholder = $( '.post-title-placeholder' );
+
+                       $titleField.on( 'focus', function() {
+                               $placeholder.addClass( 'is-hidden' );
+                               resetDraftButton();
+                       }).on( 'blur', function() {
+                               if ( ! $titleField.text() && ! $titleField.html() ) {
+                                       $placeholder.removeClass( 'is-hidden' );
+                               }
+                       }).on( 'keyup', function() {
+                               saveAlert = true;
+                       }).on( 'paste', function( event ) {
+                               var text, range,
+                                       clipboard = event.originalEvent.clipboardData || window.clipboardData;
+
+                               if ( clipboard ) {
+                                       try{
+                                               text = clipboard.getData( 'Text' ) || clipboard.getData( 'text/plain' );
+
+                                               if ( text ) {
+                                                       text = $.trim( text.replace( /\s+/g, ' ' ) );
+
+                                                       if ( window.getSelection ) {
+                                                               range = window.getSelection().getRangeAt(0);
+
+                                                               if ( range ) {
+                                                                       if ( ! range.collapsed ) {
+                                                                               range.deleteContents();
+                                                                       }
+
+                                                                       range.insertNode( document.createTextNode( text ) );
+                                                               }
+                                                       } else if ( document.selection ) {
+                                                               range = document.selection.createRange();
+
+                                                               if ( range ) {
+                                                                       range.text = text;
+                                                               }
+                                                       }
+                                               }
+                                       } catch ( er ) {}
+
+                                       event.preventDefault();
+                               }
+
+                               saveAlert = true;
+
+                               setTimeout( function() {
+                                       $titleField.text( getTitleText() );
+                               }, 50 );
+                       });
+
+                       if ( $titleField.text() || $titleField.html() ) {
+                               $placeholder.addClass('is-hidden');
+                       }
+               }
+
+               function toggleCatItem( $element ) {
+                       if ( $element.hasClass( 'selected' ) ) {
+                               $element.removeClass( 'selected' ).attr( 'aria-checked', 'false' );
+                       } else {
+                               $element.addClass( 'selected' ).attr( 'aria-checked', 'true' );
+                       }
+               }
+
+               function monitorCatList() {
+                       $( '.categories-select' ).on( 'click.press-this keydown.press-this', function( event ) {
+                               var $element = $( event.target );
+
+                               if ( $element.is( 'div.category' ) ) {
+                                       if ( event.type === 'keydown' && event.keyCode !== 32 ) {
+                                               return;
+                                       }
+
+                                       toggleCatItem( $element );
+                                       event.preventDefault();
+                               }
+                       });
+               }
+
+               /* ***************************************************************
+                * PROCESSING FUNCTIONS
+                *************************************************************** */
+
+               /**
+                * Calls all the rendring related functions to happen on page load
+                */
+               function render(){
+                       // We're on!
+                       renderToolsVisibility();
+                       renderDetectedMedia();
+                       renderStartupNotices();
+
+                       if ( window.tagBox ) {
+                               window.tagBox.init();
+                       }
+               }
+
+               /**
+                * Set app events and other state monitoring related code.
+                */
+               function monitor() {
+                       $( document ).on( 'tinymce-editor-init', function( event, ed ) {
+                               editor = ed;
+
+                               editor.on( 'nodechange', function() {
+                                       hasSetFocus = true;
+                                       resetDraftButton();
+                               } );
+                       }).on( 'click.press-this keypress.press-this', '.suggested-media-thumbnail', function( event ) {
+                               if ( event.type === 'click' || event.keyCode === 13 ) {
+                                       insertSelectedMedia( $( this ) );
+                               }
+                       });
+
+                       // Publish, Draft and Preview buttons
+                       $( '.post-actions' ).on( 'click.press-this', function( event ) {
+                               var $target = $( event.target ),
+                                       $button = $target.closest( 'button' );
+
+                               if ( $button.length ) {
+                                       if ( $button.hasClass( 'draft-button' ) ) {
+                                               $button.addClass( 'is-saving' );
+                                               submitPost( 'draft' );
+                                       } else if ( $button.hasClass( 'publish-button' ) ) {
+                                               submitPost( 'publish' );
+                                       } else if ( $button.hasClass( 'preview-button' ) ) {
+                                               prepareFormData();
+                                               window.opener && window.opener.focus();
+
+                                               $( '#wp-preview' ).val( 'dopreview' );
+                                               $( '#pressthis-form' ).attr( 'target', '_blank' ).submit().attr( 'target', '' );
+                                               $( '#wp-preview' ).val( '' );
+                                       }
+                               } else if ( $target.hasClass( 'edit-post-link' ) && window.opener ) {
+                                       window.opener.focus();
+                                       window.self.close();
+                               }
+                       });
+
+                       monitorOptionsModal();
+                       monitorPlaceholder();
+                       monitorCatList();
+
+                       $( '.options' ).on( 'click.press-this', function() {
+                               if ( $( this ).hasClass( 'open' ) ) {
+                                       closeSidebar();
+                               } else {
+                                       openSidebar();
+                               }
+                       });
+
+                       // Close the sidebar when focus moves outside of it.
+                       $( '.options-panel, .options-panel-back' ).on( 'focusout.press-this', function() {
+                               setTimeout( function() {
+                                       var node = document.activeElement,
+                                               $node = $( node );
+
+                                       if ( sidebarIsOpen && node && ! $node.hasClass( 'options-panel-back' ) &&
+                                               ( node.nodeName === 'BODY' ||
+                                                       ( ! $node.closest( '.options-panel' ).length &&
+                                                       ! $node.closest( '.options' ).length ) ) ) {
+
+                                               closeSidebar();
+                                       }
+                               }, 50 );
+                       });
+
+                       $( '#post-formats-select input' ).on( 'change', function() {
+                               var $this = $( this );
+
+                               if ( $this.is( ':checked' ) ) {
+                                       $( '#post-option-post-format' ).text( $( 'label[for="' + $this.attr( 'id' ) + '"]' ).text() || '' );
+                               }
+                       } );
+
+                       $( window ).on( 'beforeunload.press-this', function() {
+                               if ( saveAlert || ( editor && editor.isDirty() ) ) {
+                                       return __( 'saveAlert' );
+                               }
+                       } );
+
+                       $( 'button.add-cat-toggle' ).on( 'click.press-this', function() {
+                               var $this = $( this );
+
+                               $this.toggleClass( 'is-toggled' );
+                               $this.attr( 'aria-expanded', 'false' === $this.attr( 'aria-expanded' ) ? 'true' : 'false' );
+                               $( '.setting-modal .add-category, .categories-search-wrapper' ).toggleClass( 'is-hidden' );
+                       } );
+
+                       $( 'button.add-cat-submit' ).on( 'click.press-this', saveNewCategory );
+
+                       $( '.categories-search' ).on( 'keyup.press-this', function() {
+                               var search = $( this ).val().toLowerCase() || '';
+
+                               // Don't search when less thasn 3 extended ASCII chars
+                               if ( /[\x20-\xFF]+/.test( search ) && search.length < 2 ) {
+                                       return;
+                               }
+
+                               $.each( catsCache, function( i, cat ) {
+                                       cat.node.removeClass( 'is-hidden searched-parent' );
+                               } );
+
+                               if ( search ) {
+                                       $.each( catsCache, function( i, cat ) {
+                                               if ( cat.text.indexOf( search ) === -1 ) {
+                                                       cat.node.addClass( 'is-hidden' );
+                                               } else {
+                                                       cat.parents.addClass( 'searched-parent' );
+                                               }
+                                       } );
+                               }
+                       } );
+
+                       return true;
+               }
+
+               function refreshCatsCache() {
+                       $( '.categories-select' ).find( 'li' ).each( function() {
+                               var $this = $( this );
+
+                               catsCache.push( {
+                                       node: $this,
+                                       parents: $this.parents( 'li' ),
+                                       text: $this.children( '.category' ).text().toLowerCase()
+                               } );
+                       } );
+               }
+
+               // Let's go!
+               $( document ).ready( function() {
+                       render();
+                       monitor();
+                       refreshCatsCache();
+               });
+
+               // Expose public methods?
+               return {
+                       renderNotice: renderNotice,
+                       renderError: renderError
+               };
+       };
+
+       window.wp = window.wp || {};
+       window.wp.pressThis = new PressThis();
+
+}( jQuery, window ));
diff --git a/wp-admin/js/press-this.min.js b/wp-admin/js/press-this.min.js
new file mode 100644 (file)
index 0000000..a9951bb
--- /dev/null
@@ -0,0 +1 @@
+!function(a,b){var c=function(){function c(a){return a&&b.pressThisL10n?b.pressThisL10n[a]||a:a||""}function d(a){return a=a||"",a.replace(/<!--[\s\S]*?(-->|$)/g,"").replace(/<(script|style)[^>]*>[\s\S]*?(<\/\1>|$)/gi,"").replace(/<\/?[a-z][\s\S]*?(>|$)/gi,"")}function e(a){var b=d(a);try{J.innerHTML=b,b=d(J.value)}catch(c){}return b}function f(b){return b=a.trim(b||""),/^(?:https?:)?\/\//.test(b)?(b=d(b),b.replace(/["\\]+/g,"")):""}function g(){a(".spinner").addClass("is-active"),a(".post-actions button").attr("disabled","disabled")}function h(){a(".spinner").removeClass("is-active"),a(".post-actions button").removeAttr("disabled")}function i(){var b=a("#title-container");return b.find("img.emoji").each(function(){var b=a(this);b.replaceWith(a("<span>").text(b.attr("alt")))}),e(b.text())}function j(){var c=a("#pressthis-form"),d=a('<input type="hidden" name="post_category[]" value="">');E&&E.save(),a("#post_title").val(i()),b.tagBox&&a("div.tagsdiv").each(function(){b.tagBox.flushTags(this,!1,1)}),a(".categories-select .category").each(function(b,e){var f=a(e);f.hasClass("selected")&&c.append(d.clone().val(f.attr("data-term-id")||""))})}function k(d){var e,f=a(document.activeElement).hasClass("draft-button");H=!1,g(),"publish"===d&&a("#post_status").val("publish"),j(),e=a("#pressthis-form").serialize(),a.ajax({type:"post",url:b.ajaxurl,data:e}).always(function(){h(),r()}).done(function(c){var d,e;if(c.success)if(c.data.redirect)if(b.opener&&L.redirInParent){try{b.opener.location.href=c.data.redirect}catch(g){}b.self.close()}else b.location.href=c.data.redirect;else c.data.postSaved&&(d=a(".edit-post-link"),e=a(".draft-button"),I=!0,e.fadeOut(200,function(){e.removeClass("is-saving"),d.fadeIn(200,function(){var b=document.activeElement;f&&(b===e[0]||a(b).hasClass("post-actions")||"BODY"===b.nodeName)&&d.focus()})}));else q(c.data.errorMessage)}).fail(function(){q(c("serverError"))})}function l(){I&&(I=!1,a(".edit-post-link").fadeOut(200,function(){a(".draft-button").removeClass("is-saving").fadeIn(200)}))}function m(a){var b,c,d="";E&&(b=f(a.attr("data-wp-src")||""),c=f(M.u),a.hasClass("is-image")?(c||(c=b),d='<a href="'+c+'"><img class="alignnone size-full" src="'+b+'" /></a>'):d="[embed]"+b+"[/embed]",O?E.execCommand("mceInsertContent",!1,d):E.setContent("<p>"+d+"</p>"+E.getContent()))}function n(){var c,d=a("#new-category").val();d&&(c={action:"press-this-add-category",post_id:a("#post_ID").val()||0,name:d,new_cat_nonce:a("#_ajax_nonce-add-category").val()||"",parent:a("#new-category-parent").val()||0},a.post(b.ajaxurl,c,function(b){if(b.success){var c,d,e=a("ul.categories-select");a.each(b.data,function(b,f){var g=a("<li>").append(a('<div class="category selected" tabindex="0" role="checkbox" aria-checked="true">').attr("data-term-id",f.term_id).text(f.name));f.parent?(d&&d.length||(c=e.find('div[data-term-id="'+f.parent+'"]').parent(),d=c.find("ul.children:first"),d.length||(d=a('<ul class="children">').appendTo(c))),d.prepend(g)):e.prepend(g),g.focus()}),D()}else q(b.data.errorMessage)}))}function o(){M.hasData&&a("#scanbar").hide()}function p(b,c){var d=a(".editor-wrapper div.alerts"),e=c?"is-error":"is-notice";d.append(a('<p class="alert '+e+'">').text(b))}function q(a){p(a,!0)}function r(){a("div.alerts").empty()}function s(){M.errors&&a.each(M.errors,function(a,b){q(b)})}function t(a,b,d){var e=G.clone().addClass("is-image");e.attr("data-wp-src",a).css("background-image","url("+b+")").find("span").text(c("suggestedImgAlt").replace("%d",d+1)),F.append(e)}function u(){var b=0;F=a("ul.media-list"),G=a('<li class="suggested-media-thumbnail" tabindex="0"><span class="screen-reader-text"></span></li>'),M._embeds&&a.each(M._embeds,function(a,d){var e="",g="",h=G.clone().addClass("is-embed");d=f(d),d.indexOf("youtube.com/")>-1?(e="https://i.ytimg.com/vi/"+d.replace(/.+v=([^&]+).*/,"$1")+"/hqdefault.jpg",g+=" is-video"):d.indexOf("youtu.be/")>-1?(e="https://i.ytimg.com/vi/"+d.replace(/\/([^\/])$/,"$1")+"/hqdefault.jpg",g+=" is-video"):d.indexOf("dailymotion.com")>-1?(e=d.replace("/video/","/thumbnail/video/"),g+=" is-video"):g+=d.indexOf("soundcloud.com")>-1?" is-audio":d.indexOf("twitter.com")>-1?" is-tweet":" is-video",h.attr("data-wp-src",d).find("span").text(c("suggestedEmbedAlt").replace("%d",a+1)),e&&h.css("background-image","url("+e+")"),F.append(h),b++}),M._images&&a.each(M._images,function(a,c){var d,e=new Image;c=f(c),d=c.replace(/^(http[^\?]+)(\?.*)?$/,"$1"),d=c.indexOf("files.wordpress.com/")>-1?d.replace(/\?.*$/,"")+"?w="+N:c.indexOf("gravatar.com/")>-1?d.replace(/\?.*$/,"")+"?s="+N:c,e.onload=function(){e.width&&e.width<256||e.height&&e.height<128||t(c,d,a)},e.src=c,b++}),b&&a(".media-list-container").addClass("has-media")}function v(){var b=a(".post-options"),c=a(".post-option"),d=a(".setting-modal"),e=a(".modal-close");c.on("click",function(){var c=a(this).index(),e=d.eq(c);b.addClass(Q).one(T,function(){a(this).addClass(R)}),e.removeClass(S).one(T,function(){a(this).find(".modal-close").focus()})}),e.on("click",function(){var d=a(this).parent(),e=d.index();b.removeClass(S),d.addClass(Q),T?d.one(T,function(){a(this).addClass(R),c.eq(e-1).focus()}):setTimeout(function(){d.addClass(R),c.eq(e-1).focus()},350)})}function w(){K=!0,a(".options").removeClass("closed").addClass("open"),a(".press-this-actions, #scanbar").addClass(R),a(".options-panel-back").removeClass(R),a(".options-panel").removeClass(S).one(T,function(){a(".post-option:first").focus()})}function x(){K=!1,a(".options").removeClass("open").addClass("closed"),a(".options-panel-back").addClass(R),a(".press-this-actions, #scanbar").removeClass(R),a(".options-panel").addClass(Q).one(T,function(){a(this).addClass(R),a(".post-options").removeClass(S),a(".setting-modal").addClass(S)})}function y(){var c=a("#title-container"),d=a(".post-title-placeholder");c.on("focus",function(){d.addClass("is-hidden"),l()}).on("blur",function(){c.text()||c.html()||d.removeClass("is-hidden")}).on("keyup",function(){H=!0}).on("paste",function(d){var e,f,g=d.originalEvent.clipboardData||b.clipboardData;if(g){try{e=g.getData("Text")||g.getData("text/plain"),e&&(e=a.trim(e.replace(/\s+/g," ")),b.getSelection?(f=b.getSelection().getRangeAt(0),f&&(f.collapsed||f.deleteContents(),f.insertNode(document.createTextNode(e)))):document.selection&&(f=document.selection.createRange(),f&&(f.text=e)))}catch(h){}d.preventDefault()}H=!0,setTimeout(function(){c.text(i())},50)}),(c.text()||c.html())&&d.addClass("is-hidden")}function z(a){a.hasClass("selected")?a.removeClass("selected").attr("aria-checked","false"):a.addClass("selected").attr("aria-checked","true")}function A(){a(".categories-select").on("click.press-this keydown.press-this",function(b){var c=a(b.target);if(c.is("div.category")){if("keydown"===b.type&&32!==b.keyCode)return;z(c),b.preventDefault()}})}function B(){o(),u(),s(),b.tagBox&&b.tagBox.init()}function C(){return a(document).on("tinymce-editor-init",function(a,b){E=b,E.on("nodechange",function(){O=!0,l()})}).on("click.press-this keypress.press-this",".suggested-media-thumbnail",function(b){("click"===b.type||13===b.keyCode)&&m(a(this))}),a(".post-actions").on("click.press-this",function(c){var d=a(c.target),e=d.closest("button");e.length?e.hasClass("draft-button")?(e.addClass("is-saving"),k("draft")):e.hasClass("publish-button")?k("publish"):e.hasClass("preview-button")&&(j(),b.opener&&b.opener.focus(),a("#wp-preview").val("dopreview"),a("#pressthis-form").attr("target","_blank").submit().attr("target",""),a("#wp-preview").val("")):d.hasClass("edit-post-link")&&b.opener&&(b.opener.focus(),b.self.close())}),v(),y(),A(),a(".options").on("click.press-this",function(){a(this).hasClass("open")?x():w()}),a(".options-panel, .options-panel-back").on("focusout.press-this",function(){setTimeout(function(){var b=document.activeElement,c=a(b);!K||!b||c.hasClass("options-panel-back")||"BODY"!==b.nodeName&&(c.closest(".options-panel").length||c.closest(".options").length)||x()},50)}),a("#post-formats-select input").on("change",function(){var b=a(this);b.is(":checked")&&a("#post-option-post-format").text(a('label[for="'+b.attr("id")+'"]').text()||"")}),a(b).on("beforeunload.press-this",function(){return H||E&&E.isDirty()?c("saveAlert"):void 0}),a("button.add-cat-toggle").on("click.press-this",function(){var b=a(this);b.toggleClass("is-toggled"),b.attr("aria-expanded","false"===b.attr("aria-expanded")?"true":"false"),a(".setting-modal .add-category, .categories-search-wrapper").toggleClass("is-hidden")}),a("button.add-cat-submit").on("click.press-this",n),a(".categories-search").on("keyup.press-this",function(){var b=a(this).val().toLowerCase()||"";/[\x20-\xFF]+/.test(b)&&b.length<2||(a.each(P,function(a,b){b.node.removeClass("is-hidden searched-parent")}),b&&a.each(P,function(a,c){-1===c.text.indexOf(b)?c.node.addClass("is-hidden"):c.parents.addClass("searched-parent")}))}),!0}function D(){a(".categories-select").find("li").each(function(){var b=a(this);P.push({node:b,parents:b.parents("li"),text:b.children(".category").text().toLowerCase()})})}var E,F,G,H=!1,I=!1,J=document.createElement("textarea"),K=!1,L=b.wpPressThisConfig||{},M=b.wpPressThisData||{},N=128,O=!1,P=[],Q="is-off-screen",R="is-hidden",S=Q+" "+R,T=function(){var a=document.documentElement.style;return"undefined"!=typeof a.transition?"transitionend":"undefined"!=typeof a.WebkitTransition?"webkitTransitionEnd":!1}();return a(document).ready(function(){B(),C(),D()}),{renderNotice:p,renderError:q}};b.wp=b.wp||{},b.wp.pressThis=new c}(jQuery,window);
\ No newline at end of file
diff --git a/wp-admin/js/tags-box.js b/wp-admin/js/tags-box.js
new file mode 100644 (file)
index 0000000..9535255
--- /dev/null
@@ -0,0 +1,202 @@
+/* jshint curly: false, eqeqeq: false */
+/* global ajaxurl */
+
+var tagBox, array_unique_noempty;
+
+( function( $ ) {
+       // Return an array with any duplicate, whitespace or empty values removed
+       array_unique_noempty = function( array ) {
+               var out = [];
+
+               $.each( array, function( key, val ) {
+                       val = $.trim( val );
+
+                       if ( val && $.inArray( val, out ) === -1 ) {
+                               out.push( val );
+                       }
+               } );
+
+               return out;
+       };
+
+       tagBox = {
+               clean : function(tags) {
+                       var comma = window.tagsBoxL10n.tagDelimiter;
+                       if ( ',' !== comma )
+                               tags = tags.replace(new RegExp(comma, 'g'), ',');
+                       tags = tags.replace(/\s*,\s*/g, ',').replace(/,+/g, ',').replace(/[,\s]+$/, '').replace(/^[,\s]+/, '');
+                       if ( ',' !== comma )
+                               tags = tags.replace(/,/g, comma);
+                       return tags;
+               },
+
+               parseTags : function(el) {
+                       var id = el.id,
+                               num = id.split('-check-num-')[1],
+                               taxbox = $(el).closest('.tagsdiv'),
+                               thetags = taxbox.find('.the-tags'),
+                               comma = window.tagsBoxL10n.tagDelimiter,
+                               current_tags = thetags.val().split( comma ),
+                               new_tags = [];
+
+                       delete current_tags[num];
+
+                       $.each( current_tags, function( key, val ) {
+                               val = $.trim( val );
+                               if ( val ) {
+                                       new_tags.push( val );
+                               }
+                       });
+
+                       thetags.val( this.clean( new_tags.join( comma ) ) );
+
+                       this.quickClicks( taxbox );
+                       return false;
+               },
+
+               quickClicks : function( el ) {
+                       var thetags = $('.the-tags', el),
+                               tagchecklist = $('.tagchecklist', el),
+                               id = $(el).attr('id'),
+                               current_tags, disabled;
+
+                       if ( ! thetags.length )
+                               return;
+
+                       disabled = thetags.prop('disabled');
+
+                       current_tags = thetags.val().split( window.tagsBoxL10n.tagDelimiter );
+                       tagchecklist.empty();
+
+                       $.each( current_tags, function( key, val ) {
+                               var span, xbutton;
+
+                               val = $.trim( val );
+
+                               if ( ! val )
+                                       return;
+
+                               // Create a new span, and ensure the text is properly escaped.
+                               span = $('<span />').text( val );
+
+                               // If tags editing isn't disabled, create the X button.
+                               if ( ! disabled ) {
+                                       xbutton = $( '<a id="' + id + '-check-num-' + key + '" class="ntdelbutton" tabindex="0">X</a>' );
+
+                                       xbutton.on( 'click keypress', function( e ) {
+                                               // Trigger function if pressed Enter - keyboard navigation
+                                               if ( e.type === 'click' || e.keyCode === 13 ) {
+                                                       // When using keyboard, move focus back to the new tag field.
+                                                       if ( e.keyCode === 13 ) {
+                                                               $( this ).closest( '.tagsdiv' ).find( 'input.newtag' ).focus();
+                                                       }
+
+                                                       tagBox.parseTags( this );
+                                               }
+                                       });
+
+                                       span.prepend( '&nbsp;' ).prepend( xbutton );
+                               }
+
+                               // Append the span to the tag list.
+                               tagchecklist.append( span );
+                       });
+               },
+
+               flushTags : function( el, a, f ) {
+                       var tagsval, newtags, text,
+                               tags = $( '.the-tags', el ),
+                               newtag = $( 'input.newtag', el ),
+                               comma = window.tagsBoxL10n.tagDelimiter;
+
+                       a = a || false;
+
+                       text = a ? $(a).text() : newtag.val();
+
+                       if ( 'undefined' == typeof( text ) ) {
+                               return false;
+                       }
+
+                       tagsval = tags.val();
+                       newtags = tagsval ? tagsval + comma + text : text;
+
+                       newtags = this.clean( newtags );
+                       newtags = array_unique_noempty( newtags.split( comma ) ).join( comma );
+                       tags.val( newtags );
+                       this.quickClicks( el );
+
+                       if ( ! a )
+                               newtag.val('');
+                       if ( 'undefined' == typeof( f ) )
+                               newtag.focus();
+
+                       return false;
+               },
+
+               get : function( id ) {
+                       var tax = id.substr( id.indexOf('-') + 1 );
+
+                       $.post( ajaxurl, { 'action': 'get-tagcloud', 'tax': tax }, function( r, stat ) {
+                               if ( 0 === r || 'success' != stat ) {
+                                       return;
+                               }
+
+                               r = $( '<p id="tagcloud-' + tax + '" class="the-tagcloud">' + r + '</p>' );
+
+                               $( 'a', r ).click( function() {
+                                       tagBox.flushTags( $( '#' + tax ), this );
+                                       return false;
+                               });
+
+                               $( '#' + id ).after( r );
+                       });
+               },
+
+               init : function() {
+                       var t = this, ajaxtag = $('div.ajaxtag');
+
+                       $('.tagsdiv').each( function() {
+                               tagBox.quickClicks(this);
+                       });
+
+                       $('.tagadd', ajaxtag).click(function(){
+                               t.flushTags( $(this).closest('.tagsdiv') );
+                       });
+
+                       $('input.newtag', ajaxtag).keyup(function(e){
+                               if ( 13 == e.which ) {
+                                       tagBox.flushTags( $(this).closest('.tagsdiv') );
+                                       return false;
+                               }
+                       }).keypress(function(e){
+                               if ( 13 == e.which ) {
+                                       e.preventDefault();
+                                       return false;
+                               }
+                       }).each( function() {
+                               var tax = $(this).closest('div.tagsdiv').attr('id');
+                               $(this).suggest(
+                                       ajaxurl + '?action=ajax-tag-search&tax=' + tax,
+                                       { delay: 500, minchars: 2, multiple: true, multipleSep: window.tagsBoxL10n.tagDelimiter + ' ' }
+                               );
+                       });
+
+                       // save tags on post save/publish
+                       $('#post').submit(function(){
+                               $('div.tagsdiv').each( function() {
+                                       tagBox.flushTags(this, false, 1);
+                               });
+                       });
+
+                       // tag cloud
+                       $('.tagcloud-link').click(function(){
+                               tagBox.get( $(this).attr('id') );
+                               $(this).unbind().click(function(){
+                                       $(this).siblings('.the-tagcloud').toggle();
+                                       return false;
+                               });
+                               return false;
+                       });
+               }
+       };
+}( jQuery ));
diff --git a/wp-admin/js/tags-box.min.js b/wp-admin/js/tags-box.min.js
new file mode 100644 (file)
index 0000000..1e26f34
--- /dev/null
@@ -0,0 +1 @@
+var tagBox,array_unique_noempty;!function(a){array_unique_noempty=function(b){var c=[];return a.each(b,function(b,d){d=a.trim(d),d&&-1===a.inArray(d,c)&&c.push(d)}),c},tagBox={clean:function(a){var b=window.tagsBoxL10n.tagDelimiter;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=window.tagsBoxL10n.tagDelimiter,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(window.tagsBoxL10n.tagDelimiter),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" tabindex="0">X</a>'),h.on("click keypress",function(b){("click"===b.type||13===b.keyCode)&&(13===b.keyCode&&a(this).closest(".tagsdiv").find("input.newtag").focus(),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=window.tagsBoxL10n.tagDelimiter;return c=c||!1,g=c?a(c).text():i.val(),"undefined"==typeof g?!1:(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=a('<p id="tagcloud-'+c+'" class="the-tagcloud">'+d+"</p>"),a("a",d).click(function(){return tagBox.flushTags(a("#"+c),this),!1}),a("#"+b).after(d))})},init:function(){var b=this,c=a("div.ajaxtag");a(".tagsdiv").each(function(){tagBox.quickClicks(this)}),a(".tagadd",c).click(function(){b.flushTags(a(this).closest(".tagsdiv"))}),a("input.newtag",c).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:window.tagsBoxL10n.tagDelimiter+" "})}),a("#post").submit(function(){a("div.tagsdiv").each(function(){tagBox.flushTags(this,!1,1)})}),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})}}}(jQuery);
\ No newline at end of file
index 344a8178eafff49955e1f123f862d143162eda94..2cf5f770ad9322f019a2d7002eccc8d50f63c45c 100644 (file)
@@ -79,7 +79,7 @@ themes.view.Appearance = wp.Backbone.View.extend({
 
                // Render and append
                this.view.render();
-               this.$el.empty().append( this.view.el ).addClass('rendered');
+               this.$el.empty().append( this.view.el ).addClass( 'rendered' );
                this.$el.append( '<br class="clear"/>' );
        },
 
@@ -156,6 +156,7 @@ themes.Collection = Backbone.Collection.extend({
                // Useful for resetting the views when you clean the input
                if ( this.terms === '' ) {
                        this.reset( themes.data.themes );
+                       $( 'body' ).removeClass( 'no-results' );
                }
 
                // Trigger an 'update' event
@@ -165,7 +166,7 @@ themes.Collection = Backbone.Collection.extend({
        // Performs a search within the collection
        // @uses RegExp
        search: function( term ) {
-               var match, results, haystack;
+               var match, results, haystack, name, description, author;
 
                // Start with a full collection
                this.reset( themes.data.themes, { silent: true } );
@@ -181,7 +182,11 @@ themes.Collection = Backbone.Collection.extend({
                // Find results
                // _.filter and .test
                results = this.filter( function( data ) {
-                       haystack = _.union( data.get( 'name' ), data.get( 'id' ), data.get( 'description' ), data.get( 'author' ), data.get( 'tags' ) );
+                       name        = data.get( 'name' ).replace( /(<([^>]+)>)/ig, '' );
+                       description = data.get( 'description' ).replace( /(<([^>]+)>)/ig, '' );
+                       author      = data.get( 'author' ).replace( /(<([^>]+)>)/ig, '' );
+
+                       haystack = _.union( name, data.get( 'id' ), description, author, data.get( 'tags' ) );
 
                        if ( match.test( data.get( 'author' ) ) && term.length > 2 ) {
                                data.set( 'displayAuthor', true );
@@ -824,7 +829,10 @@ themes.view.Themes = wp.Backbone.View.extend({
        index: 0,
 
        // The theme count element
-       count: $( '.wp-filter .theme-count' ),
+       count: $( '.wp-core-ui .theme-count' ),
+
+       // The live themes count
+       liveThemeCount: 0,
 
        initialize: function( options ) {
                var self = this;
@@ -849,8 +857,10 @@ themes.view.Themes = wp.Backbone.View.extend({
                this.listenTo( self.collection, 'query:success', function( count ) {
                        if ( _.isNumber( count ) ) {
                                self.count.text( count );
+                               self.announceSearchResults( count );
                        } else {
                                self.count.text( self.collection.length );
+                               self.announceSearchResults( self.collection.length );
                        }
                });
 
@@ -895,7 +905,7 @@ themes.view.Themes = wp.Backbone.View.extend({
        // and keeping theme count in sync
        render: function() {
                // Clear the DOM, please
-               this.$el.html( '' );
+               this.$el.empty();
 
                // If the user doesn't have switch capabilities
                // or there is only one theme in the collection
@@ -921,7 +931,10 @@ themes.view.Themes = wp.Backbone.View.extend({
                }
 
                // Display a live theme count for the collection
-               this.count.text( this.collection.count ? this.collection.count : this.collection.length );
+               this.liveThemeCount = this.collection.count ? this.collection.count : this.collection.length;
+               this.count.text( this.liveThemeCount );
+
+               this.announceSearchResults( this.liveThemeCount );
        },
 
        // Iterates through each instance of the collection
@@ -1073,6 +1086,15 @@ themes.view.Themes = wp.Backbone.View.extend({
                        self.theme.trigger( 'theme:expand', previousModel.cid );
 
                }
+       },
+
+       // Dispatch audible search results feedback message
+       announceSearchResults: function( count ) {
+               if ( 0 === count ) {
+                       wp.a11y.speak( l10n.noThemesFound );
+               } else {
+                       wp.a11y.speak( l10n.themesFound.replace( '%d', count ) );
+               }
        }
 });
 
@@ -1086,15 +1108,14 @@ themes.view.Search = wp.Backbone.View.extend({
 
        attributes: {
                placeholder: l10n.searchPlaceholder,
-               type: 'search'
+               type: 'search',
+               'aria-describedby': 'live-search-desc'
        },
 
        events: {
-               'input':  'search',
-               'keyup':  'search',
-               'change': 'search',
-               'search': 'search',
-               'blur':   'pushState'
+               'input': 'search',
+               'keyup': 'search',
+               'blur': 'pushState'
        },
 
        initialize: function( options ) {
@@ -1107,19 +1128,21 @@ themes.view.Search = wp.Backbone.View.extend({
 
        },
 
-       // 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' );
-               }
+               /**
+                * Since doSearch is debounced, it will only run when user input comes to a rest
+                */
+               this.doSearch( event );
+       },
+
+       // Runs a search on the theme collection.
+       doSearch: _.debounce( function( event ) {
+               var options = {};
 
                this.collection.doSearch( event.target.value );
 
@@ -1136,7 +1159,7 @@ themes.view.Search = wp.Backbone.View.extend({
                } else {
                        themes.router.navigate( themes.router.baseUrl( '' ) );
                }
-       },
+       }, 500 ),
 
        pushState: function( event ) {
                var url = themes.router.baseUrl( '' );
@@ -1247,6 +1270,7 @@ themes.Run = {
 themes.view.InstallerSearch =  themes.view.Search.extend({
 
        events: {
+               'input': 'search',
                'keyup': 'search'
        },
 
@@ -1265,7 +1289,7 @@ themes.view.InstallerSearch =  themes.view.Search.extend({
                        event.target.value = '';
                }
 
-               _.debounce( _.bind( this.doSearch, this ), 300 )( event.target.value );
+               this.doSearch( event.target.value );
        },
 
        doSearch: _.debounce( function( value ) {
@@ -1300,7 +1324,7 @@ themes.view.InstallerSearch =  themes.view.Search.extend({
 
                // Set route
                themes.router.navigate( themes.router.baseUrl( themes.router.searchPath + value ), { replace: true } );
-       }, 300 )
+       }, 500 )
 });
 
 themes.view.Installer = themes.view.Appearance.extend({
index 27985e5bb344d401de924d1f56c755ee45fa8c50..41623cb303fbd0d119399862df416a33f8f7ef3a 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{},function(a){var b,c;b=wp.themes=wp.themes||{},b.data=_wpThemeSettings,c=b.data.l10n,b.isInstall=!!b.data.settings.isInstall,_.extend(b,{model:{},view:{},routes:{},router:{},template:wp.template}),b.Model=Backbone.Model.extend({initialize:function(){var a;-1!==_.indexOf(b.data.installedThemes,this.get("slug"))&&this.set({installed:!0}),this.set({id:this.get("slug")||this.get("id")}),this.has("sections")&&(a=this.get("sections").description,this.set({description:a}))}}),b.view.Appearance=wp.Backbone.View.extend({el:"#wpbody-content .wrap .theme-browser",window:a(window),page:0,initialize:function(a){_.bindAll(this,"scroller"),this.SearchView=a.SearchView?a.SearchView:b.view.Search,this.window.bind("scroll",_.throttle(this.scroller,300))},render:function(){this.view=new b.view.Themes({collection:this.collection,parent:this}),this.search(),this.view.render(),this.$el.empty().append(this.view.el).addClass("rendered"),this.$el.append('<br class="clear"/>')},searchContainer:a("#wpbody h2:first"),search:function(){var d,e=this;1!==b.data.themes.length&&(d=new this.SearchView({collection:e.collection,parent:this}),d.render(),this.searchContainer.append(a.parseHTML('<label class="screen-reader-text" for="wp-filter-search-input">'+c.search+"</label>")).append(d.el))},scroller:function(){var a,b,c=this;a=this.window.scrollTop()+c.window.height(),b=c.$el.offset().top+c.$el.outerHeight(!1)-c.window.height(),b=Math.round(.9*b),a>b&&this.trigger("theme:scroll")}}),b.Collection=Backbone.Collection.extend({model:b.Model,terms:"",doSearch:function(a){this.terms!==a&&(this.terms=a,this.terms.length>0&&this.search(this.terms),""===this.terms&&this.reset(b.data.themes),this.trigger("update"))},search:function(c){var d,e,f;this.reset(b.data.themes,{silent:!0}),c=c.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),c=c.replace(/ /g,")(?=.*"),d=new RegExp("^(?=.*"+c+").+","i"),e=this.filter(function(a){return f=_.union(a.get("name"),a.get("id"),a.get("description"),a.get("author"),a.get("tags")),d.test(a.get("author"))&&c.length>2&&a.set("displayAuthor",!0),d.test(f)}),0===e.length?this.trigger("query:empty"):a("body").removeClass("no-results"),this.reset(e)},paginate:function(a){var b=this;return a=a||0,b=_(b.rest(20*a)),b=_(b.first(20))},count:!1,query:function(b){var c,d,e,f=this.queries,g=this;if(this.currentQuery.request=b,c=_.find(f,function(a){return _.isEqual(a.request,b)}),d=_.has(b,"page"),d||(this.currentQuery.page=1),c||d){if(d)return this.apiCall(b,d).done(function(a){g.add(a.themes),g.trigger("query:success"),g.loadingThemes=!1}).fail(function(){g.trigger("query:fail")});0===c.themes.length?g.trigger("query:empty"):a("body").removeClass("no-results"),_.isNumber(c.total)&&(this.count=c.total),this.reset(c.themes),c.total||(this.count=this.length),this.trigger("update"),this.trigger("query:success",this.count)}else c=this.apiCall(b).done(function(a){a.themes&&(g.reset(a.themes),e=a.info.results,f.push({themes:a.themes,request:b,total:e})),g.trigger("update"),g.trigger("query:success",e),a.themes&&0===a.themes.length&&g.trigger("query:empty")}).fail(function(){g.trigger("query:fail")})},queries:[],currentQuery:{page:1,request:{}},apiCall:function(b,c){return wp.ajax.send("query-themes",{data:{request:_.extend({per_page:100,fields:{description:!0,tested:!0,requires:!0,rating:!0,downloaded:!0,downloadLink:!0,last_updated:!0,homepage:!0,num_ratings:!0}},b)},beforeSend:function(){c||a("body").addClass("loading-content").removeClass("no-results")}})},loadingThemes:!1}),b.view.Theme=wp.Backbone.View.extend({className:"theme",state:"grid",html:b.template("theme"),events:{click:b.isInstall?"preview":"expand",keydown:b.isInstall?"preview":"expand",touchend:b.isInstall?"preview":"expand",keyup:"addFocus",touchmove:"preventExpand"},touchDrag:!1,render:function(){var a=this.model.toJSON();this.$el.html(this.html(a)).attr({tabindex:0,"aria-describedby":a.id+"-action "+a.id+"-name"}),this.activeTheme(),this.model.get("displayAuthor")&&this.$el.addClass("display-author"),this.model.get("installed")&&this.$el.addClass("is-installed")},activeTheme:function(){this.model.get("active")&&this.$el.addClass("active")},addFocus:function(){var b=a(":focus").hasClass("theme")?a(":focus"):a(":focus").parents(".theme");a(".theme.focus").removeClass("focus"),b.addClass("focus")},expand:function(c){var d=this;return c=c||window.event,"keydown"!==c.type||13===c.which||32===c.which?this.touchDrag===!0?this.touchDrag=!1:void(a(c.target).is(".theme-actions a")||(b.focusedTheme=this.$el,this.trigger("theme:expand",d.model.cid))):void 0},preventExpand:function(){this.touchDrag=!0},preview:function(c){var d,e,f=this;return this.touchDrag===!0?this.touchDrag=!1:void(a(c.target).hasClass("button-primary")||("keydown"!==c.type||13===c.which||32===c.which)&&("keydown"===c.type&&13!==c.which&&a(":focus").hasClass("button")||(c.preventDefault(),c=c||window.event,b.focusedTheme=this.$el,e=new b.view.Preview({model:this.model}),e.render(),this.setNavButtonsState(),1===this.model.collection.length?e.$el.addClass("no-navigation"):e.$el.removeClass("no-navigation"),a("div.wrap").append(e.el),this.listenTo(e,"theme:next",function(){return d=f.model,_.isUndefined(f.current)||(d=f.current),f.current=f.model.collection.at(f.model.collection.indexOf(d)+1),_.isUndefined(f.current)?(f.options.parent.parent.trigger("theme:end"),f.current=d):(e.model=f.current,e.render(),this.setNavButtonsState(),void a(".next-theme").focus())}).listenTo(e,"theme:previous",function(){d=f.model,0!==f.model.collection.indexOf(f.current)&&(_.isUndefined(f.current)||(d=f.current),f.current=f.model.collection.at(f.model.collection.indexOf(d)-1),_.isUndefined(f.current)||(e.model=f.current,e.render(),this.setNavButtonsState(),a(".previous-theme").focus()))}),this.listenTo(e,"preview:close",function(){f.current=f.model}))))},setNavButtonsState:function(){var b=a(".theme-install-overlay"),c=_.isUndefined(this.current)?this.model:this.current;0===this.model.collection.indexOf(c)&&b.find(".previous-theme").addClass("disabled"),_.isUndefined(this.model.collection.at(this.model.collection.indexOf(c)+1))&&b.find(".next-theme").addClass("disabled")}}),b.view.Details=wp.Backbone.View.extend({className:"theme-overlay",events:{click:"collapse","click .delete-theme":"deleteTheme","click .left":"previousTheme","click .right":"nextTheme"},html:b.template("theme-single"),render:function(){var a=this.model.toJSON();this.$el.html(this.html(a)),this.activeTheme(),this.navigation(),this.screenshotCheck(this.$el),this.containFocus(this.$el)},activeTheme:function(){this.$el.toggleClass("active",this.model.get("active"))},containFocus:function(b){var c;_.delay(function(){a(".theme-wrap a.button-primary:visible").focus()},500),b.on("keydown.wp-themes",function(d){9===d.which&&(c=a(d.target),c.is("button.left")&&d.shiftKey?(b.find(".theme-actions a:last-child").focus(),d.preventDefault()):c.is(".theme-actions a:last-child")&&(b.find("button.left").focus(),d.preventDefault()))})},collapse:function(c){var d,e=this;c=c||window.event,1!==b.data.themes.length&&(a(c.target).is(".theme-backdrop")||a(c.target).is(".close")||27===c.keyCode)&&(a("body").addClass("closing-overlay"),this.$el.fadeOut(130,function(){a("body").removeClass("closing-overlay"),e.closeOverlay(),d=document.body.scrollTop,b.router.navigate(b.router.baseUrl("")),document.body.scrollTop=d,b.focusedTheme&&b.focusedTheme.focus()}))},navigation:function(){this.model.cid===this.model.collection.at(0).cid&&this.$el.find(".left").addClass("disabled"),this.model.cid===this.model.collection.at(this.model.collection.length-1).cid&&this.$el.find(".right").addClass("disabled")},closeOverlay:function(){a("body").removeClass("modal-open"),this.remove(),this.unbind(),this.trigger("theme:collapse")},deleteTheme:function(){return confirm(b.data.settings.confirmDelete)},nextTheme:function(){var a=this;return a.trigger("theme:next",a.model.cid),!1},previousTheme:function(){var a=this;return a.trigger("theme:previous",a.model.cid),!1},screenshotCheck:function(a){var b,c;b=a.find(".screenshot img"),c=new Image,c.src=b.attr("src"),c.width&&c.width<=300&&a.addClass("small-screenshot")}}),b.view.Preview=b.view.Details.extend({className:"wp-full-overlay expanded",el:".theme-install-overlay",events:{"click .close-full-overlay":"close","click .collapse-sidebar":"collapse","click .previous-theme":"previousTheme","click .next-theme":"nextTheme",keyup:"keyEvent"},html:b.template("theme-preview"),render:function(){var c=this.model.toJSON();this.$el.html(this.html(c)),b.router.navigate(b.router.baseUrl(b.router.themePath+this.model.get("id")),{replace:!0}),this.$el.fadeIn(200,function(){a("body").addClass("theme-installer-active full-overlay-active"),a(".close-full-overlay").focus()})},close:function(){return this.$el.fadeOut(200,function(){a("body").removeClass("theme-installer-active full-overlay-active"),b.focusedTheme&&b.focusedTheme.focus()}),b.router.navigate(b.router.baseUrl("")),this.trigger("preview:close"),this.undelegateEvents(),this.unbind(),!1},collapse:function(){return this.$el.toggleClass("collapsed").toggleClass("expanded"),!1},keyEvent:function(a){27===a.keyCode&&(this.undelegateEvents(),this.close()),39===a.keyCode&&_.once(this.nextTheme()),37===a.keyCode&&this.previousTheme()}}),b.view.Themes=wp.Backbone.View.extend({className:"themes",$overlay:a("div.theme-overlay"),index:0,count:a(".wp-filter .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(b.router.themePath+this.model.id)),this.setView("detail"),a("body").addClass("modal-open"),this.overlay=new b.view.Details({model:d.model}),this.overlay.render(),this.$overlay.html(this.overlay.el),this.listenTo(this.overlay,"theme:next",function(){d.next([d.model.cid])}).listenTo(this.overlay,"theme:previous",function(){d.previous([d.model.cid])})},next:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)+1),void 0!==c&&(this.overlay.closeOverlay(),d.theme.trigger("theme:expand",c.cid))},previous:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)-1),void 0!==c&&(this.overlay.closeOverlay(),d.theme.trigger("theme:expand",c.cid))}}),b.view.Search=wp.Backbone.View.extend({tagName:"input",className:"wp-filter-search",id:"wp-filter-search-input",searching:!1,attributes:{placeholder:c.searchPlaceholder,type:"search"},events:{input:"search",keyup:"search",change:"search",search:"search",blur:"pushState"},initialize:function(a){this.parent=a.parent,this.listenTo(this.parent,"theme:close",function(){this.searching=!1})},search:function(a){var c={};"keyup"===a.type&&27===a.which&&(a.target.value=""),13===a.which&&this.$el.trigger("blur"),this.collection.doSearch(a.target.value),this.searching&&13!==a.which?c.replace=!0:this.searching=!0,a.target.value?b.router.navigate(b.router.baseUrl(b.router.searchPath+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(b.router.searchPath+a.target.value)),this.searching=!1,b.router.navigate(c)}}),b.Router=Backbone.Router.extend({routes:{"themes.php?theme=:slug":"theme","themes.php?search=:query":"search","themes.php?s=:query":"search","themes.php":"themes","":"themes"},baseUrl:function(a){return"themes.php"+a},themePath:"?theme=",searchPath:"?search=",search:function(b){a(".wp-filter-search").val(b)},themes:function(){a(".wp-filter-search").val("")},navigate:function(){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.apply(this,arguments)}}),b.Run={init:function(){this.themes=new b.Collection(b.data.themes),this.view=new b.view.Appearance({collection:this.themes}),this.render()},render:function(){this.view.render(),this.routes(),Backbone.history.start({root:b.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var c=this;b.router=new b.Router,b.router.on("route:theme",function(a){c.view.view.expand(a)}),b.router.on("route:themes",function(){c.themes.doSearch(""),c.view.trigger("theme:close")}),b.router.on("route:search",function(){a(".wp-filter-search").trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},b.view.InstallerSearch=b.view.Search.extend({events:{keyup:"search"},search:function(a){("keyup"!==a.type||9!==a.which&&16!==a.which)&&(this.collection=this.options.parent.view.collection,"keyup"===a.type&&27===a.which&&(a.target.value=""),_.debounce(_.bind(this.doSearch,this),300)(a.target.value))},doSearch:_.debounce(function(c){var d={};d.search=c,"author:"===c.substring(0,7)&&(d.search="",d.author=c.slice(7)),"tag:"===c.substring(0,4)&&(d.search="",d.tag=[c.slice(4)]),a(".filter-links li > a.current").removeClass("current"),a("body").removeClass("show-filters filters-applied"),this.collection.query(d),b.router.navigate(b.router.baseUrl(b.router.searchPath+c),{replace:!0})},300)}),b.view.Installer=b.view.Appearance.extend({el:"#wpbody-content .wrap",events:{"click .filter-links li > a":"onSort","click .theme-filter":"onFilter","click .drawer-toggle":"moreFilters","click .filter-drawer .apply-filters":"applyFilters",'click .filter-group [type="checkbox"]':"addFilter","click .filter-drawer .clear-filters":"clearFilters","click .filtered-by":"backToFilters"},render:function(){var d=this;this.search(),this.uploader(),this.collection=new b.Collection,this.listenTo(this,"theme:end",function(){d.collection.loadingThemes||(d.collection.loadingThemes=!0,d.collection.currentQuery.page++,_.extend(d.collection.currentQuery.request,{page:d.collection.currentQuery.page}),d.collection.query(d.collection.currentQuery.request))}),this.listenTo(this.collection,"query:success",function(){a("body").removeClass("loading-content"),a(".theme-browser").find("div.error").remove()}),this.listenTo(this.collection,"query:fail",function(){a("body").removeClass("loading-content"),a(".theme-browser").find("div.error").remove(),a(".theme-browser").find("div.themes").before('<div class="error"><p>'+c.error+"</p></div>")}),this.view&&this.view.remove(),this.view=new b.view.Themes({collection:this.collection,parent:this}),this.page=0,this.$el.find(".themes").remove(),this.view.render(),this.$el.find(".theme-browser").append(this.view.el).addClass("rendered")},browse:function(a){this.collection.query({browse:a})},onSort:function(c){var d=a(c.target),e=d.data("sort");c.preventDefault(),a("body").removeClass("filters-applied show-filters"),d.hasClass(this.activeClass)||(this.sort(e),b.router.navigate(b.router.baseUrl(b.router.browsePath+e)))},sort:function(b){this.clearSearch(),a(".filter-links li > a, .theme-filter").removeClass(this.activeClass),a('[data-sort="'+b+'"]').addClass(this.activeClass),this.browse(b)},onFilter:function(b){var c,d=a(b.target),e=d.data("filter");d.hasClass(this.activeClass)||(a(".filter-links li > a, .theme-section").removeClass(this.activeClass),d.addClass(this.activeClass),e&&(e=_.union(e,this.filtersChecked()),c={tag:[e]},this.collection.query(c)))},addFilter:function(){this.filtersChecked()},applyFilters:function(b){var c,d=this.filtersChecked(),e={tag:d},f=a(".filtered-by .tags");b&&b.preventDefault(),a("body").addClass("filters-applied"),a(".filter-links li > a.current").removeClass("current"),f.empty(),_.each(d,function(b){c=a('label[for="filter-id-'+b+'"]').text(),f.append('<span class="tag">'+c+"</span>")}),this.collection.query(e)},filtersChecked:function(){var b=a(".filter-group").find(":checkbox"),c=[];return _.each(b.filter(":checked"),function(b){c.push(a(b).prop("value"))}),0===c.length?(a(".filter-drawer .apply-filters").find("span").text(""),a(".filter-drawer .clear-filters").hide(),a("body").removeClass("filters-applied"),!1):(a(".filter-drawer .apply-filters").find("span").text(c.length),a(".filter-drawer .clear-filters").css("display","inline-block"),c)},activeClass:"current",searchContainer:a(".wp-filter .search-form"),uploader:function(){a("a.upload").on("click",function(c){c.preventDefault(),a("body").addClass("show-upload-theme"),b.router.navigate(b.router.baseUrl("?upload"),{replace:!0})}),a("a.browse-themes").on("click",function(c){c.preventDefault(),a("body").removeClass("show-upload-theme"),b.router.navigate(b.router.baseUrl(""),{replace:!0})})},moreFilters:function(c){return c.preventDefault(),a("body").hasClass("filters-applied")?this.backToFilters():a("body").hasClass("show-filters")&&this.filtersChecked()?this.addFilter():(this.clearSearch(),b.router.navigate(b.router.baseUrl("")),void a("body").toggleClass("show-filters"))},clearFilters:function(b){var c=a(".filter-group").find(":checkbox"),d=this;b.preventDefault(),_.each(c.filter(":checked"),function(b){return a(b).prop("checked",!1),d.filtersChecked()})},backToFilters:function(b){b&&b.preventDefault(),a("body").removeClass("filters-applied")},clearSearch:function(){a("#wp-filter-search-input").val("")}}),b.InstallerRouter=Backbone.Router.extend({routes:{"theme-install.php?theme=:slug":"preview","theme-install.php?browse=:sort":"sort","theme-install.php?upload":"upload","theme-install.php?search=:query":"search","theme-install.php":"sort"},baseUrl:function(a){return"theme-install.php"+a},themePath:"?theme=",browsePath:"?browse=",searchPath:"?search=",search:function(b){a(".wp-filter-search").val(b)},navigate:function(){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.apply(this,arguments)}}),b.RunInstaller={init:function(){this.view=new b.view.Installer({section:"featured",SearchView:b.view.InstallerSearch}),this.render()},render:function(){this.view.render(),this.routes(),Backbone.history.start({root:b.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var c=this,d={};b.router=new b.InstallerRouter,b.router.on("route:preview",function(a){d.theme=a,c.view.collection.query(d)}),b.router.on("route:sort",function(a){a||(a="featured"),c.view.sort(a),c.view.trigger("theme:close")}),b.router.on("route:upload",function(){a("a.upload").trigger("click")}),b.router.on("route:search",function(){a(".wp-filter-search").focus().trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},a(document).ready(function(){b.isInstall?b.RunInstaller.init():b.Run.init(),a(".broken-themes .delete-theme").on("click",function(){return confirm(_wpThemeSettings.settings.confirmDelete)})})}(jQuery);var tb_position;jQuery(document).ready(function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height(),e=c>1040?1040:c,f=0;a("#wpadminbar").length&&(f=parseInt(a("#wpadminbar").css("height"),10)),b.size()&&(b.width(e-50).height(d-45-f),a("#TB_iframeContent").width(e-50).height(d-75-f),b.css({"margin-left":"-"+parseInt((e-50)/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:20+f+"px","margin-top":"0"}))},a(window).resize(function(){tb_position()})});
\ No newline at end of file
+window.wp=window.wp||{},function(a){var b,c;b=wp.themes=wp.themes||{},b.data=_wpThemeSettings,c=b.data.l10n,b.isInstall=!!b.data.settings.isInstall,_.extend(b,{model:{},view:{},routes:{},router:{},template:wp.template}),b.Model=Backbone.Model.extend({initialize:function(){var a;-1!==_.indexOf(b.data.installedThemes,this.get("slug"))&&this.set({installed:!0}),this.set({id:this.get("slug")||this.get("id")}),this.has("sections")&&(a=this.get("sections").description,this.set({description:a}))}}),b.view.Appearance=wp.Backbone.View.extend({el:"#wpbody-content .wrap .theme-browser",window:a(window),page:0,initialize:function(a){_.bindAll(this,"scroller"),this.SearchView=a.SearchView?a.SearchView:b.view.Search,this.window.bind("scroll",_.throttle(this.scroller,300))},render:function(){this.view=new b.view.Themes({collection:this.collection,parent:this}),this.search(),this.view.render(),this.$el.empty().append(this.view.el).addClass("rendered"),this.$el.append('<br class="clear"/>')},searchContainer:a("#wpbody h2:first"),search:function(){var d,e=this;1!==b.data.themes.length&&(d=new this.SearchView({collection:e.collection,parent:this}),d.render(),this.searchContainer.append(a.parseHTML('<label class="screen-reader-text" for="wp-filter-search-input">'+c.search+"</label>")).append(d.el))},scroller:function(){var a,b,c=this;a=this.window.scrollTop()+c.window.height(),b=c.$el.offset().top+c.$el.outerHeight(!1)-c.window.height(),b=Math.round(.9*b),a>b&&this.trigger("theme:scroll")}}),b.Collection=Backbone.Collection.extend({model:b.Model,terms:"",doSearch:function(c){this.terms!==c&&(this.terms=c,this.terms.length>0&&this.search(this.terms),""===this.terms&&(this.reset(b.data.themes),a("body").removeClass("no-results")),this.trigger("update"))},search:function(c){var d,e,f,g,h,i;this.reset(b.data.themes,{silent:!0}),c=c.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),c=c.replace(/ /g,")(?=.*"),d=new RegExp("^(?=.*"+c+").+","i"),e=this.filter(function(a){return g=a.get("name").replace(/(<([^>]+)>)/gi,""),h=a.get("description").replace(/(<([^>]+)>)/gi,""),i=a.get("author").replace(/(<([^>]+)>)/gi,""),f=_.union(g,a.get("id"),h,i,a.get("tags")),d.test(a.get("author"))&&c.length>2&&a.set("displayAuthor",!0),d.test(f)}),0===e.length?this.trigger("query:empty"):a("body").removeClass("no-results"),this.reset(e)},paginate:function(a){var b=this;return a=a||0,b=_(b.rest(20*a)),b=_(b.first(20))},count:!1,query:function(b){var c,d,e,f=this.queries,g=this;if(this.currentQuery.request=b,c=_.find(f,function(a){return _.isEqual(a.request,b)}),d=_.has(b,"page"),d||(this.currentQuery.page=1),c||d){if(d)return this.apiCall(b,d).done(function(a){g.add(a.themes),g.trigger("query:success"),g.loadingThemes=!1}).fail(function(){g.trigger("query:fail")});0===c.themes.length?g.trigger("query:empty"):a("body").removeClass("no-results"),_.isNumber(c.total)&&(this.count=c.total),this.reset(c.themes),c.total||(this.count=this.length),this.trigger("update"),this.trigger("query:success",this.count)}else c=this.apiCall(b).done(function(a){a.themes&&(g.reset(a.themes),e=a.info.results,f.push({themes:a.themes,request:b,total:e})),g.trigger("update"),g.trigger("query:success",e),a.themes&&0===a.themes.length&&g.trigger("query:empty")}).fail(function(){g.trigger("query:fail")})},queries:[],currentQuery:{page:1,request:{}},apiCall:function(b,c){return wp.ajax.send("query-themes",{data:{request:_.extend({per_page:100,fields:{description:!0,tested:!0,requires:!0,rating:!0,downloaded:!0,downloadLink:!0,last_updated:!0,homepage:!0,num_ratings:!0}},b)},beforeSend:function(){c||a("body").addClass("loading-content").removeClass("no-results")}})},loadingThemes:!1}),b.view.Theme=wp.Backbone.View.extend({className:"theme",state:"grid",html:b.template("theme"),events:{click:b.isInstall?"preview":"expand",keydown:b.isInstall?"preview":"expand",touchend:b.isInstall?"preview":"expand",keyup:"addFocus",touchmove:"preventExpand"},touchDrag:!1,render:function(){var a=this.model.toJSON();this.$el.html(this.html(a)).attr({tabindex:0,"aria-describedby":a.id+"-action "+a.id+"-name"}),this.activeTheme(),this.model.get("displayAuthor")&&this.$el.addClass("display-author"),this.model.get("installed")&&this.$el.addClass("is-installed")},activeTheme:function(){this.model.get("active")&&this.$el.addClass("active")},addFocus:function(){var b=a(":focus").hasClass("theme")?a(":focus"):a(":focus").parents(".theme");a(".theme.focus").removeClass("focus"),b.addClass("focus")},expand:function(c){var d=this;return c=c||window.event,"keydown"!==c.type||13===c.which||32===c.which?this.touchDrag===!0?this.touchDrag=!1:void(a(c.target).is(".theme-actions a")||(b.focusedTheme=this.$el,this.trigger("theme:expand",d.model.cid))):void 0},preventExpand:function(){this.touchDrag=!0},preview:function(c){var d,e,f=this;return this.touchDrag===!0?this.touchDrag=!1:void(a(c.target).hasClass("button-primary")||("keydown"!==c.type||13===c.which||32===c.which)&&("keydown"===c.type&&13!==c.which&&a(":focus").hasClass("button")||(c.preventDefault(),c=c||window.event,b.focusedTheme=this.$el,e=new b.view.Preview({model:this.model}),e.render(),this.setNavButtonsState(),1===this.model.collection.length?e.$el.addClass("no-navigation"):e.$el.removeClass("no-navigation"),a("div.wrap").append(e.el),this.listenTo(e,"theme:next",function(){return d=f.model,_.isUndefined(f.current)||(d=f.current),f.current=f.model.collection.at(f.model.collection.indexOf(d)+1),_.isUndefined(f.current)?(f.options.parent.parent.trigger("theme:end"),f.current=d):(e.model=f.current,e.render(),this.setNavButtonsState(),void a(".next-theme").focus())}).listenTo(e,"theme:previous",function(){d=f.model,0!==f.model.collection.indexOf(f.current)&&(_.isUndefined(f.current)||(d=f.current),f.current=f.model.collection.at(f.model.collection.indexOf(d)-1),_.isUndefined(f.current)||(e.model=f.current,e.render(),this.setNavButtonsState(),a(".previous-theme").focus()))}),this.listenTo(e,"preview:close",function(){f.current=f.model}))))},setNavButtonsState:function(){var b=a(".theme-install-overlay"),c=_.isUndefined(this.current)?this.model:this.current;0===this.model.collection.indexOf(c)&&b.find(".previous-theme").addClass("disabled"),_.isUndefined(this.model.collection.at(this.model.collection.indexOf(c)+1))&&b.find(".next-theme").addClass("disabled")}}),b.view.Details=wp.Backbone.View.extend({className:"theme-overlay",events:{click:"collapse","click .delete-theme":"deleteTheme","click .left":"previousTheme","click .right":"nextTheme"},html:b.template("theme-single"),render:function(){var a=this.model.toJSON();this.$el.html(this.html(a)),this.activeTheme(),this.navigation(),this.screenshotCheck(this.$el),this.containFocus(this.$el)},activeTheme:function(){this.$el.toggleClass("active",this.model.get("active"))},containFocus:function(b){var c;_.delay(function(){a(".theme-wrap a.button-primary:visible").focus()},500),b.on("keydown.wp-themes",function(d){9===d.which&&(c=a(d.target),c.is("button.left")&&d.shiftKey?(b.find(".theme-actions a:last-child").focus(),d.preventDefault()):c.is(".theme-actions a:last-child")&&(b.find("button.left").focus(),d.preventDefault()))})},collapse:function(c){var d,e=this;c=c||window.event,1!==b.data.themes.length&&(a(c.target).is(".theme-backdrop")||a(c.target).is(".close")||27===c.keyCode)&&(a("body").addClass("closing-overlay"),this.$el.fadeOut(130,function(){a("body").removeClass("closing-overlay"),e.closeOverlay(),d=document.body.scrollTop,b.router.navigate(b.router.baseUrl("")),document.body.scrollTop=d,b.focusedTheme&&b.focusedTheme.focus()}))},navigation:function(){this.model.cid===this.model.collection.at(0).cid&&this.$el.find(".left").addClass("disabled"),this.model.cid===this.model.collection.at(this.model.collection.length-1).cid&&this.$el.find(".right").addClass("disabled")},closeOverlay:function(){a("body").removeClass("modal-open"),this.remove(),this.unbind(),this.trigger("theme:collapse")},deleteTheme:function(){return confirm(b.data.settings.confirmDelete)},nextTheme:function(){var a=this;return a.trigger("theme:next",a.model.cid),!1},previousTheme:function(){var a=this;return a.trigger("theme:previous",a.model.cid),!1},screenshotCheck:function(a){var b,c;b=a.find(".screenshot img"),c=new Image,c.src=b.attr("src"),c.width&&c.width<=300&&a.addClass("small-screenshot")}}),b.view.Preview=b.view.Details.extend({className:"wp-full-overlay expanded",el:".theme-install-overlay",events:{"click .close-full-overlay":"close","click .collapse-sidebar":"collapse","click .previous-theme":"previousTheme","click .next-theme":"nextTheme",keyup:"keyEvent"},html:b.template("theme-preview"),render:function(){var c=this.model.toJSON();this.$el.html(this.html(c)),b.router.navigate(b.router.baseUrl(b.router.themePath+this.model.get("id")),{replace:!0}),this.$el.fadeIn(200,function(){a("body").addClass("theme-installer-active full-overlay-active"),a(".close-full-overlay").focus()})},close:function(){return this.$el.fadeOut(200,function(){a("body").removeClass("theme-installer-active full-overlay-active"),b.focusedTheme&&b.focusedTheme.focus()}),b.router.navigate(b.router.baseUrl("")),this.trigger("preview:close"),this.undelegateEvents(),this.unbind(),!1},collapse:function(){return this.$el.toggleClass("collapsed").toggleClass("expanded"),!1},keyEvent:function(a){27===a.keyCode&&(this.undelegateEvents(),this.close()),39===a.keyCode&&_.once(this.nextTheme()),37===a.keyCode&&this.previousTheme()}}),b.view.Themes=wp.Backbone.View.extend({className:"themes",$overlay:a("div.theme-overlay"),index:0,count:a(".wp-core-ui .theme-count"),liveThemeCount:0,initialize:function(b){var c=this;this.parent=b.parent,this.setView("grid"),c.currentTheme(),this.listenTo(c.collection,"update",function(){c.parent.page=0,c.currentTheme(),c.render(this)}),this.listenTo(c.collection,"query:success",function(a){_.isNumber(a)?(c.count.text(a),c.announceSearchResults(a)):(c.count.text(c.collection.length),c.announceSearchResults(c.collection.length))}),this.listenTo(c.collection,"query:empty",function(){a("body").addClass("no-results")}),this.listenTo(this.parent,"theme:scroll",function(){c.renderThemes(c.parent.page)}),this.listenTo(this.parent,"theme:close",function(){c.overlay&&c.overlay.closeOverlay()}),a("body").on("keyup",function(a){c.overlay&&(39===a.keyCode&&c.overlay.nextTheme(),37===a.keyCode&&c.overlay.previousTheme(),27===a.keyCode&&c.overlay.collapse(a))})},render:function(){this.$el.empty(),1===b.data.themes.length&&(this.singleTheme=new b.view.Details({model:this.collection.models[0]}),this.singleTheme.render(),this.$el.addClass("single-theme"),this.$el.append(this.singleTheme.el)),this.options.collection.size()>0&&this.renderThemes(this.parent.page),this.liveThemeCount=this.collection.count?this.collection.count:this.collection.length,this.count.text(this.liveThemeCount),this.announceSearchResults(this.liveThemeCount)},renderThemes:function(d){var e=this;return e.instance=e.collection.paginate(d),0===e.instance.size()?void this.parent.trigger("theme:end"):(d>=1&&a(".add-new-theme").remove(),e.instance.each(function(a){e.theme=new b.view.Theme({model:a,parent:e}),e.theme.render(),e.$el.append(e.theme.el),e.listenTo(e.theme,"theme:expand",e.expand,e)}),b.data.settings.canInstall&&this.$el.append('<div class="theme add-new-theme"><a href="'+b.data.settings.installURI+'"><div class="theme-screenshot"><span></span></div><h3 class="theme-name">'+c.addNew+"</h3></a></div>"),void this.parent.page++)},currentTheme:function(){var a,b=this;a=b.collection.findWhere({active:!0}),a&&(b.collection.remove(a),b.collection.add(a,{at:0}))},setView:function(a){return a},expand:function(c){var d=this;this.model=d.collection.get(c),b.router.navigate(b.router.baseUrl(b.router.themePath+this.model.id)),this.setView("detail"),a("body").addClass("modal-open"),this.overlay=new b.view.Details({model:d.model}),this.overlay.render(),this.$overlay.html(this.overlay.el),this.listenTo(this.overlay,"theme:next",function(){d.next([d.model.cid])}).listenTo(this.overlay,"theme:previous",function(){d.previous([d.model.cid])})},next:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)+1),void 0!==c&&(this.overlay.closeOverlay(),d.theme.trigger("theme:expand",c.cid))},previous:function(a){var b,c,d=this;b=d.collection.get(a[0]),c=d.collection.at(d.collection.indexOf(b)-1),void 0!==c&&(this.overlay.closeOverlay(),d.theme.trigger("theme:expand",c.cid))},announceSearchResults:function(a){wp.a11y.speak(0===a?c.noThemesFound:c.themesFound.replace("%d",a))}}),b.view.Search=wp.Backbone.View.extend({tagName:"input",className:"wp-filter-search",id:"wp-filter-search-input",searching:!1,attributes:{placeholder:c.searchPlaceholder,type:"search","aria-describedby":"live-search-desc"},events:{input:"search",keyup:"search",blur:"pushState"},initialize:function(a){this.parent=a.parent,this.listenTo(this.parent,"theme:close",function(){this.searching=!1})},search:function(a){"keyup"===a.type&&27===a.which&&(a.target.value=""),this.doSearch(a)},doSearch:_.debounce(function(a){var c={};this.collection.doSearch(a.target.value),this.searching&&13!==a.which?c.replace=!0:this.searching=!0,a.target.value?b.router.navigate(b.router.baseUrl(b.router.searchPath+a.target.value),c):b.router.navigate(b.router.baseUrl(""))},500),pushState:function(a){var c=b.router.baseUrl("");a.target.value&&(c=b.router.baseUrl(b.router.searchPath+a.target.value)),this.searching=!1,b.router.navigate(c)}}),b.Router=Backbone.Router.extend({routes:{"themes.php?theme=:slug":"theme","themes.php?search=:query":"search","themes.php?s=:query":"search","themes.php":"themes","":"themes"},baseUrl:function(a){return"themes.php"+a},themePath:"?theme=",searchPath:"?search=",search:function(b){a(".wp-filter-search").val(b)},themes:function(){a(".wp-filter-search").val("")},navigate:function(){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.apply(this,arguments)}}),b.Run={init:function(){this.themes=new b.Collection(b.data.themes),this.view=new b.view.Appearance({collection:this.themes}),this.render()},render:function(){this.view.render(),this.routes(),Backbone.history.start({root:b.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var c=this;b.router=new b.Router,b.router.on("route:theme",function(a){c.view.view.expand(a)}),b.router.on("route:themes",function(){c.themes.doSearch(""),c.view.trigger("theme:close")}),b.router.on("route:search",function(){a(".wp-filter-search").trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},b.view.InstallerSearch=b.view.Search.extend({events:{input:"search",keyup:"search"},search:function(a){("keyup"!==a.type||9!==a.which&&16!==a.which)&&(this.collection=this.options.parent.view.collection,"keyup"===a.type&&27===a.which&&(a.target.value=""),this.doSearch(a.target.value))},doSearch:_.debounce(function(c){var d={};d.search=c,"author:"===c.substring(0,7)&&(d.search="",d.author=c.slice(7)),"tag:"===c.substring(0,4)&&(d.search="",d.tag=[c.slice(4)]),a(".filter-links li > a.current").removeClass("current"),a("body").removeClass("show-filters filters-applied"),this.collection.query(d),b.router.navigate(b.router.baseUrl(b.router.searchPath+c),{replace:!0})},500)}),b.view.Installer=b.view.Appearance.extend({el:"#wpbody-content .wrap",events:{"click .filter-links li > a":"onSort","click .theme-filter":"onFilter","click .drawer-toggle":"moreFilters","click .filter-drawer .apply-filters":"applyFilters",'click .filter-group [type="checkbox"]':"addFilter","click .filter-drawer .clear-filters":"clearFilters","click .filtered-by":"backToFilters"},render:function(){var d=this;this.search(),this.uploader(),this.collection=new b.Collection,this.listenTo(this,"theme:end",function(){d.collection.loadingThemes||(d.collection.loadingThemes=!0,d.collection.currentQuery.page++,_.extend(d.collection.currentQuery.request,{page:d.collection.currentQuery.page}),d.collection.query(d.collection.currentQuery.request))}),this.listenTo(this.collection,"query:success",function(){a("body").removeClass("loading-content"),a(".theme-browser").find("div.error").remove()}),this.listenTo(this.collection,"query:fail",function(){a("body").removeClass("loading-content"),a(".theme-browser").find("div.error").remove(),a(".theme-browser").find("div.themes").before('<div class="error"><p>'+c.error+"</p></div>")}),this.view&&this.view.remove(),this.view=new b.view.Themes({collection:this.collection,parent:this}),this.page=0,this.$el.find(".themes").remove(),this.view.render(),this.$el.find(".theme-browser").append(this.view.el).addClass("rendered")},browse:function(a){this.collection.query({browse:a})},onSort:function(c){var d=a(c.target),e=d.data("sort");c.preventDefault(),a("body").removeClass("filters-applied show-filters"),d.hasClass(this.activeClass)||(this.sort(e),b.router.navigate(b.router.baseUrl(b.router.browsePath+e)))},sort:function(b){this.clearSearch(),a(".filter-links li > a, .theme-filter").removeClass(this.activeClass),a('[data-sort="'+b+'"]').addClass(this.activeClass),this.browse(b)},onFilter:function(b){var c,d=a(b.target),e=d.data("filter");d.hasClass(this.activeClass)||(a(".filter-links li > a, .theme-section").removeClass(this.activeClass),d.addClass(this.activeClass),e&&(e=_.union(e,this.filtersChecked()),c={tag:[e]},this.collection.query(c)))},addFilter:function(){this.filtersChecked()},applyFilters:function(b){var c,d=this.filtersChecked(),e={tag:d},f=a(".filtered-by .tags");b&&b.preventDefault(),a("body").addClass("filters-applied"),a(".filter-links li > a.current").removeClass("current"),f.empty(),_.each(d,function(b){c=a('label[for="filter-id-'+b+'"]').text(),f.append('<span class="tag">'+c+"</span>")}),this.collection.query(e)},filtersChecked:function(){var b=a(".filter-group").find(":checkbox"),c=[];return _.each(b.filter(":checked"),function(b){c.push(a(b).prop("value"))}),0===c.length?(a(".filter-drawer .apply-filters").find("span").text(""),a(".filter-drawer .clear-filters").hide(),a("body").removeClass("filters-applied"),!1):(a(".filter-drawer .apply-filters").find("span").text(c.length),a(".filter-drawer .clear-filters").css("display","inline-block"),c)},activeClass:"current",searchContainer:a(".wp-filter .search-form"),uploader:function(){a("a.upload").on("click",function(c){c.preventDefault(),a("body").addClass("show-upload-theme"),b.router.navigate(b.router.baseUrl("?upload"),{replace:!0})}),a("a.browse-themes").on("click",function(c){c.preventDefault(),a("body").removeClass("show-upload-theme"),b.router.navigate(b.router.baseUrl(""),{replace:!0})})},moreFilters:function(c){return c.preventDefault(),a("body").hasClass("filters-applied")?this.backToFilters():a("body").hasClass("show-filters")&&this.filtersChecked()?this.addFilter():(this.clearSearch(),b.router.navigate(b.router.baseUrl("")),void a("body").toggleClass("show-filters"))},clearFilters:function(b){var c=a(".filter-group").find(":checkbox"),d=this;b.preventDefault(),_.each(c.filter(":checked"),function(b){return a(b).prop("checked",!1),d.filtersChecked()})},backToFilters:function(b){b&&b.preventDefault(),a("body").removeClass("filters-applied")},clearSearch:function(){a("#wp-filter-search-input").val("")}}),b.InstallerRouter=Backbone.Router.extend({routes:{"theme-install.php?theme=:slug":"preview","theme-install.php?browse=:sort":"sort","theme-install.php?upload":"upload","theme-install.php?search=:query":"search","theme-install.php":"sort"},baseUrl:function(a){return"theme-install.php"+a},themePath:"?theme=",browsePath:"?browse=",searchPath:"?search=",search:function(b){a(".wp-filter-search").val(b)},navigate:function(){Backbone.history._hasPushState&&Backbone.Router.prototype.navigate.apply(this,arguments)}}),b.RunInstaller={init:function(){this.view=new b.view.Installer({section:"featured",SearchView:b.view.InstallerSearch}),this.render()},render:function(){this.view.render(),this.routes(),Backbone.history.start({root:b.data.settings.adminUrl,pushState:!0,hashChange:!1})},routes:function(){var c=this,d={};b.router=new b.InstallerRouter,b.router.on("route:preview",function(a){d.theme=a,c.view.collection.query(d)}),b.router.on("route:sort",function(a){a||(a="featured"),c.view.sort(a),c.view.trigger("theme:close")}),b.router.on("route:upload",function(){a("a.upload").trigger("click")}),b.router.on("route:search",function(){a(".wp-filter-search").focus().trigger("keyup")}),this.extraRoutes()},extraRoutes:function(){return!1}},a(document).ready(function(){b.isInstall?b.RunInstaller.init():b.Run.init(),a(".broken-themes .delete-theme").on("click",function(){return confirm(_wpThemeSettings.settings.confirmDelete)})})}(jQuery);var tb_position;jQuery(document).ready(function(a){tb_position=function(){var b=a("#TB_window"),c=a(window).width(),d=a(window).height(),e=c>1040?1040:c,f=0;a("#wpadminbar").length&&(f=parseInt(a("#wpadminbar").css("height"),10)),b.size()&&(b.width(e-50).height(d-45-f),a("#TB_iframeContent").width(e-50).height(d-75-f),b.css({"margin-left":"-"+parseInt((e-50)/2,10)+"px"}),"undefined"!=typeof document.body.style.maxWidth&&b.css({top:20+f+"px","margin-top":"0"}))},a(window).resize(function(){tb_position()})});
\ No newline at end of file
index b03e4ba8f01e44a8dd89d8f06ffc79acd427b9fd..6574a3cc846aba157f10d9981939a880b8cc2359 100644 (file)
+/* global tb_remove */
 window.wp = window.wp || {};
 
-(function( $, wp ) {
-
+(function( $, wp, pagenow ) {
        wp.updates = {};
 
        /**
-        * Decrement update counts throughout the various menus
+        * User nonce for ajax calls.
+        *
+        * @since 4.2.0
+        *
+        * @var string
+        */
+       wp.updates.ajaxNonce = window._wpUpdatesSettings.ajax_nonce;
+
+       /**
+        * Localized strings.
+        *
+        * @since 4.2.0
+        *
+        * @var object
+        */
+       wp.updates.l10n = window._wpUpdatesSettings.l10n;
+
+       /**
+        * Whether filesystem credentials need to be requested from the user.
+        *
+        * @since 4.2.0
+        *
+        * @var bool
+        */
+       wp.updates.shouldRequestFilesystemCredentials = null;
+
+       /**
+        * Filesystem credentials to be packaged along with the request.
+        *
+        * @since 4.2.0
+        *
+        * @var object
+        */
+       wp.updates.filesystemCredentials = {
+               ftp: {
+                       host: null,
+                       username: null,
+                       password: null,
+                       connectionType: null
+               },
+               ssh: {
+                       publicKey: null,
+                       privateKey: null
+               }
+       };
+
+       /**
+        * Flag if we're waiting for an update to complete.
+        *
+        * @since 4.2.0
+        *
+        * @var bool
+        */
+       wp.updates.updateLock = false;
+
+       /**
+        * * Flag if we've done an update successfully.
+        *
+        * @since 4.2.0
+        *
+        * @var bool
+        */
+       wp.updates.updateDoneSuccessfully = false;
+
+       /**
+        * If the user tries to update a plugin while an update is
+        * already happening, it can be placed in this queue to perform later.
+        *
+        * @since 4.2.0
+        *
+        * @var array
+        */
+       wp.updates.updateQueue = [];
+
+       /**
+        * Store a jQuery reference to return focus to when exiting the request credentials modal.
+        *
+        * @since 4.2.0
+        *
+        * @var jQuery object
+        */
+       wp.updates.$elToReturnFocusToFromCredentialsModal = null;
+
+       /**
+        * Decrement update counts throughout the various menus.
+        *
+        * @since 3.9.0
         *
         * @param {string} updateType
         */
        wp.updates.decrementCount = function( upgradeType ) {
-               var count, pluginCount, $elem;
+               var count,
+                       pluginCount,
+                       $adminBarUpdateCount = $( '#wp-admin-bar-updates .ab-label' ),
+                       $dashboardNavMenuUpdateCount = $( 'a[href="update-core.php"] .update-plugins' ),
+                       $pluginsMenuItem = $( '#menu-plugins' );
+
 
-               $elem = $( '#wp-admin-bar-updates .ab-label' );
-               count = $elem.text();
+               count = $adminBarUpdateCount.text();
                count = parseInt( count, 10 ) - 1;
                if ( count < 0 || isNaN( count ) ) {
                        return;
                }
                $( '#wp-admin-bar-updates .ab-item' ).removeAttr( 'title' );
-               $elem.text( count );
+               $adminBarUpdateCount.text( count );
 
-               $elem = $( 'a[href="update-core.php"] .update-plugins' );
-               $elem.each( function( index, elem ) {
+
+               $dashboardNavMenuUpdateCount.each( function( index, elem ) {
                        elem.className = elem.className.replace( /count-\d+/, 'count-' + count );
                } );
-               $elem.removeAttr( 'title' );
-               $elem.find( '.update-count' ).text( count );
+               $dashboardNavMenuUpdateCount.removeAttr( 'title' );
+               $dashboardNavMenuUpdateCount.find( '.update-count' ).text( count );
 
                if ( 'plugin' === upgradeType ) {
-                       $elem = $( '#menu-plugins' );
-                       pluginCount = $elem.find( '.plugin-count' ).eq(0).text();
+                       pluginCount = $pluginsMenuItem.find( '.plugin-count' ).eq(0).text();
                        pluginCount = parseInt( pluginCount, 10 ) - 1;
                        if ( pluginCount < 0 || isNaN( pluginCount ) ) {
                                return;
                        }
-                       $elem.find( '.plugin-count' ).text( pluginCount );
-                       $elem.find( '.update-plugins' ).each( function( index, elem ) {
+                       $pluginsMenuItem.find( '.plugin-count' ).text( pluginCount );
+                       $pluginsMenuItem.find( '.update-plugins' ).each( function( index, elem ) {
                                elem.className = elem.className.replace( /count-\d+/, 'count-' + pluginCount );
                        } );
+
+                       if (pluginCount > 0 ) {
+                               $( '.subsubsub .upgrade .count' ).text( '(' + pluginCount + ')' );
+                       } else {
+                               $( '.subsubsub .upgrade' ).remove();
+                       }
+               }
+       };
+
+       /**
+        * Send an Ajax request to the server to update a plugin.
+        *
+        * @since 4.2.0
+        *
+        * @param {string} plugin
+        * @param {string} slug
+        */
+       wp.updates.updatePlugin = function( plugin, slug ) {
+               var $message, name;
+               if ( 'plugins' === pagenow || 'plugins-network' === pagenow ) {
+                       $message = $( '[data-slug="' + slug + '"]' ).next().find( '.update-message' );
+               } else if ( 'plugin-install' === pagenow ) {
+                       $message = $( '.plugin-card-' + slug ).find( '.update-now' );
+                       name = $message.data( 'name' );
+                       $message.attr( 'aria-label', wp.updates.l10n.updatingLabel.replace( '%s', name ) );
+               }
+
+               $message.addClass( 'updating-message' );
+               if ( $message.html() !== wp.updates.l10n.updating ){
+                       $message.data( 'originaltext', $message.html() );
+               }
+
+               $message.text( wp.updates.l10n.updating );
+               wp.a11y.speak( wp.updates.l10n.updatingMsg );
+
+               if ( wp.updates.updateLock ) {
+                       wp.updates.updateQueue.push( {
+                               type: 'update-plugin',
+                               data: {
+                                       plugin: plugin,
+                                       slug: slug
+                               }
+                       } );
+                       return;
+               }
+
+               wp.updates.updateLock = true;
+
+               var data = {
+                       _ajax_nonce:     wp.updates.ajaxNonce,
+                       plugin:          plugin,
+                       slug:            slug,
+                       username:        wp.updates.filesystemCredentials.ftp.username,
+                       password:        wp.updates.filesystemCredentials.ftp.password,
+                       hostname:        wp.updates.filesystemCredentials.ftp.hostname,
+                       connection_type: wp.updates.filesystemCredentials.ftp.connectionType,
+                       public_key:      wp.updates.filesystemCredentials.ssh.publicKey,
+                       private_key:     wp.updates.filesystemCredentials.ssh.privateKey
+               };
+
+               wp.ajax.post( 'update-plugin', data )
+                       .done( wp.updates.updateSuccess )
+                       .fail( wp.updates.updateError );
+       };
+
+       /**
+        * On a successful plugin update, update the UI with the result.
+        *
+        * @since 4.2.0
+        *
+        * @param {object} response
+        */
+       wp.updates.updateSuccess = function( response ) {
+               var $updateMessage, name, $pluginRow, newText;
+               if ( 'plugins' === pagenow || 'plugins-network' === pagenow ) {
+                       $pluginRow = $( '[data-slug="' + response.slug + '"]' ).first();
+                       $updateMessage = $pluginRow.next().find( '.update-message' );
+                       $pluginRow.addClass( 'updated' ).removeClass( 'update' );
+
+                       // Update the version number in the row.
+                       newText = $pluginRow.find('.plugin-version-author-uri').html().replace( response.oldVersion, response.newVersion );
+                       $pluginRow.find('.plugin-version-author-uri').html( newText );
+
+                       // Add updated class to update message parent tr
+                       $pluginRow.next().addClass( 'updated' );
+               } else if ( 'plugin-install' === pagenow ) {
+                       $updateMessage = $( '.plugin-card-' + response.slug ).find( '.update-now' );
+                       $updateMessage.addClass( 'button-disabled' );
+                       name = $updateMessage.data( 'name' );
+                       $updateMessage.attr( 'aria-label', wp.updates.l10n.updatedLabel.replace( '%s', name ) );
+               }
+
+               $updateMessage.removeClass( 'updating-message' ).addClass( 'updated-message' );
+               $updateMessage.text( wp.updates.l10n.updated );
+               wp.a11y.speak( wp.updates.l10n.updatedMsg );
+
+               wp.updates.decrementCount( 'plugin' );
+
+               wp.updates.updateDoneSuccessfully = true;
+
+               /*
+                * The lock can be released since the update was successful,
+                * and any other updates can commence.
+                */
+               wp.updates.updateLock = false;
+
+               $(document).trigger( 'wp-plugin-update-success', response );
+
+               wp.updates.queueChecker();
+       };
+
+
+       /**
+        * On a plugin update error, update the UI appropriately.
+        *
+        * @since 4.2.0
+        *
+        * @param {object} response
+        */
+       wp.updates.updateError = function( response ) {
+               var $message, name;
+               wp.updates.updateDoneSuccessfully = false;
+               if ( response.errorCode && response.errorCode == 'unable_to_connect_to_filesystem' ) {
+                       wp.updates.credentialError( response, 'update-plugin' );
+                       return;
+               }
+               if ( 'plugins' === pagenow || 'plugins-network' === pagenow ) {
+                       $message = $( '[data-slug="' + response.slug + '"]' ).next().find( '.update-message' );
+               } else if ( 'plugin-install' === pagenow ) {
+                       $message = $( '.plugin-card-' + response.slug ).find( '.update-now' );
+
+                       name = $message.data( 'name' );
+                       $message.attr( 'aria-label', wp.updates.l10n.updateFailedLabel.replace( '%s', name ) );
+               }
+               $message.removeClass( 'updating-message' );
+               $message.text( wp.updates.l10n.updateFailed );
+               wp.a11y.speak( wp.updates.l10n.updateFailed );
+
+               $(document).trigger( 'wp-plugin-update-error', response );
+       };
+
+       /**
+        * Show an error message in the request for credentials form.
+        *
+        * @param {string} message
+        * @since 4.2.0
+        */
+       wp.updates.showErrorInCredentialsForm = function( message ) {
+               var $modal = $( '.notification-dialog' );
+
+               // Remove any existing error.
+               $modal.find( '.error' ).remove();
+
+               $modal.find( 'h3' ).after( '<div class="error">' + message + '</div>' );
+       };
+
+       /**
+        * Events that need to happen when there is a credential error
+        *
+        * @since 4.2.0
+        */
+       wp.updates.credentialError = function( response, type ) {
+               wp.updates.updateQueue.push( {
+                       'type': type,
+                       'data': {
+                               // Not cool that we're depending on response for this data.
+                               // This would feel more whole in a view all tied together.
+                               plugin: response.plugin,
+                               slug: response.slug
+                       }
+               } );
+               wp.updates.showErrorInCredentialsForm( response.error );
+               wp.updates.requestFilesystemCredentials();
+       };
+
+       /**
+        * If an update job has been placed in the queue, queueChecker pulls it out and runs it.
+        *
+        * @since 4.2.0
+        */
+       wp.updates.queueChecker = function() {
+               if ( wp.updates.updateLock || wp.updates.updateQueue.length <= 0 ) {
+                       return;
+               }
+
+               var job = wp.updates.updateQueue.shift();
+
+               wp.updates.updatePlugin( job.data.plugin, job.data.slug );
+       };
+
+
+       /**
+        * Request the users filesystem credentials if we don't have them already.
+        *
+        * @since 4.2.0
+        */
+       wp.updates.requestFilesystemCredentials = function( event ) {
+               if ( wp.updates.updateDoneSuccessfully === false ) {
+                       /*
+                        * For the plugin install screen, return the focus to the install button
+                        * after exiting the credentials request modal.
+                        */
+                       if ( 'plugin-install' === pagenow && event ) {
+                               wp.updates.$elToReturnFocusToFromCredentialsModal = $( event.target );
+                       }
+
+                       wp.updates.updateLock = true;
+
+                       wp.updates.requestForCredentialsModalOpen();
+               }
+       };
+
+       /**
+        * Keydown handler for the request for credentials modal.
+        *
+        * Close the modal when the escape key is pressed.
+        * Constrain keyboard navigation to inside the modal.
+        *
+        * @since 4.2.0
+        */
+       wp.updates.keydown = function( event ) {
+               if ( 27 === event.keyCode ) {
+                       wp.updates.requestForCredentialsModalCancel();
+               } else if ( 9 === event.keyCode ) {
+                       // #upgrade button must always be the last focusable element in the dialog.
+                       if ( event.target.id === 'upgrade' && ! event.shiftKey ) {
+                               $( '#hostname' ).focus();
+                               event.preventDefault();
+                       } else if ( event.target.id === 'hostname' && event.shiftKey ) {
+                               $( '#upgrade' ).focus();
+                               event.preventDefault();
+                       }
                }
        };
 
+       /**
+        * Open the request for credentials modal.
+        *
+        * @since 4.2.0
+        */
+       wp.updates.requestForCredentialsModalOpen = function() {
+               var $modal = $( '#request-filesystem-credentials-dialog' );
+               $( 'body' ).addClass( 'modal-open' );
+               $modal.show();
+
+               $modal.find( 'input:enabled:first' ).focus();
+               $modal.keydown( wp.updates.keydown );
+       };
+
+       /**
+        * Close the request for credentials modal.
+        *
+        * @since 4.2.0
+        */
+       wp.updates.requestForCredentialsModalClose = function() {
+               $( '#request-filesystem-credentials-dialog' ).hide();
+               $( 'body' ).removeClass( 'modal-open' );
+               wp.updates.$elToReturnFocusToFromCredentialsModal.focus();
+       };
+
+       /**
+        * The steps that need to happen when the modal is canceled out
+        *
+        * @since 4.2.0
+        */
+       wp.updates.requestForCredentialsModalCancel = function() {
+               // no updateLock and no updateQueue means we already have cleared things up
+               var slug, $message;
+
+               if( wp.updates.updateLock === false && wp.updates.updateQueue.length === 0 ){
+                       return;
+               }
+
+               slug = wp.updates.updateQueue[0].data.slug,
+
+               // remove the lock, and clear the queue
+               wp.updates.updateLock = false;
+               wp.updates.updateQueue = [];
+
+               wp.updates.requestForCredentialsModalClose();
+               if ( 'plugins' === pagenow || 'plugins-network' === pagenow ) {
+                       $message = $( '[data-slug="' + slug + '"]' ).next().find( '.update-message' );
+               } else if ( 'plugin-install' === pagenow ) {
+                       $message = $( '.plugin-card-' + slug ).find( '.update-now' );
+               }
+
+               $message.removeClass( 'updating-message' );
+               $message.html( $message.data( 'originaltext' ) );
+               wp.a11y.speak( wp.updates.l10n.updateCancel );
+       };
+       /**
+        * Potentially add an AYS to a user attempting to leave the page
+        *
+        * If an update is on-going and a user attempts to leave the page,
+        * open an "Are you sure?" alert.
+        *
+        * @since 4.2.0
+        */
+
+       wp.updates.beforeunload = function() {
+               if ( wp.updates.updateLock ) {
+                       return wp.updates.l10n.beforeunload;
+               }
+       };
+
+
+       $( document ).ready( function() {
+               /*
+                * Check whether a user needs to submit filesystem credentials based on whether
+                * the form was output on the page server-side.
+                *
+                * @see {wp_print_request_filesystem_credentials_modal() in PHP}
+                */
+               wp.updates.shouldRequestFilesystemCredentials = ( $( '#request-filesystem-credentials-dialog' ).length <= 0 ) ? false : true;
+
+               // File system credentials form submit noop-er / handler.
+               $( '#request-filesystem-credentials-dialog form' ).on( 'submit', function() {
+                       // Persist the credentials input by the user for the duration of the page load.
+                       wp.updates.filesystemCredentials.ftp.hostname = $('#hostname').val();
+                       wp.updates.filesystemCredentials.ftp.username = $('#username').val();
+                       wp.updates.filesystemCredentials.ftp.password = $('#password').val();
+                       wp.updates.filesystemCredentials.ftp.connectionType = $('input[name="connection_type"]:checked').val();
+                       wp.updates.filesystemCredentials.ssh.publicKey = $('#public_key').val();
+                       wp.updates.filesystemCredentials.ssh.privateKey = $('#private_key').val();
+
+                       wp.updates.requestForCredentialsModalClose();
+
+                       // Unlock and invoke the queue.
+                       wp.updates.updateLock = false;
+                       wp.updates.queueChecker();
+
+                       return false;
+               });
+
+               // Close the request credentials modal when
+               $( '#request-filesystem-credentials-dialog [data-js-action="close"], .notification-dialog-background' ).on( 'click', function() {
+                       wp.updates.requestForCredentialsModalCancel();
+               });
+
+               // Click handler for plugin updates in List Table view.
+               $( '.plugin-update-tr' ).on( 'click', '.update-link', function( e ) {
+                       e.preventDefault();
+                       if ( wp.updates.shouldRequestFilesystemCredentials && ! wp.updates.updateLock ) {
+                               wp.updates.requestFilesystemCredentials( e );
+                       }
+                       var updateRow = $( e.target ).parents( '.plugin-update-tr' );
+                       // Return the user to the input box of the plugin's table row after closing the modal.
+                       wp.updates.$elToReturnFocusToFromCredentialsModal = $( '#' + updateRow.data( 'slug' ) ).find( '.check-column input' );
+                       wp.updates.updatePlugin( updateRow.data( 'plugin' ), updateRow.data( 'slug' ) );
+               } );
+
+               $( '.plugin-card' ).on( 'click', '.update-now', function( e ) {
+                       e.preventDefault();
+                       var $button = $( e.target );
+
+                       if ( wp.updates.shouldRequestFilesystemCredentials && ! wp.updates.updateLock ) {
+                               wp.updates.requestFilesystemCredentials( e );
+                       }
+
+                       wp.updates.updatePlugin( $button.data( 'plugin' ), $button.data( 'slug' ) );
+               } );
+
+               //
+               $( '#plugin_update_from_iframe' ).on( 'click' , function( e ) {
+                       var target,     data;
+
+                       target = window.parent == window ? null : window.parent,
+                       $.support.postMessage = !! window.postMessage;
+
+                       if ( $.support.postMessage === false || target === null || window.parent.location.pathname.indexOf( 'update-core.php' ) !== -1 )
+                               return;
+
+                       e.preventDefault();
+
+                       data = {
+                               'action' : 'updatePlugin',
+                               'slug'   : $(this).data('slug')
+                       };
+
+                       target.postMessage( JSON.stringify( data ), window.location.origin );
+               });
+
+       } );
+
        $( window ).on( 'message', function( e ) {
                var event = e.originalEvent,
                        message,
@@ -54,12 +524,30 @@ window.wp = window.wp || {};
 
                message = $.parseJSON( event.data );
 
-               if ( typeof message.action === 'undefined' || message.action !== 'decrementUpdateCount' ) {
+               if ( typeof message.action === 'undefined' ) {
                        return;
                }
 
-               wp.updates.decrementCount( message.upgradeType );
+               switch (message.action){
+                       case 'decrementUpdateCount' :
+                               wp.updates.decrementCount( message.upgradeType );
+                               break;
+                       case 'updatePlugin' :
+                               tb_remove();
+                               if ( 'plugins' === pagenow || 'plugins-network' === pagenow ) {
+                                       // Return the user to the input box of the plugin's table row after closing the modal.
+                                       $( '#' + message.slug ).find( '.check-column input' ).focus();
+                                       // trigger the update
+                                       $( '.plugin-update-tr[data-slug="' + message.slug + '"]' ).find( '.update-link' ).trigger( 'click' );
+                               } else if ( 'plugin-install' === pagenow ) {
+                                       $( '.plugin-card-' + message.slug ).find( 'h4 a' ).focus();
+                                       $( '.plugin-card-' + message.slug ).find( '[data-slug="' + message.slug + '"]' ).trigger( 'click' );
+                               }
+                               break;
+               }
 
        } );
 
-})( jQuery, window.wp );
+       $( window ).on( 'beforeunload', wp.updates.beforeunload );
+
+})( jQuery, window.wp, window.pagenow, window.ajaxurl );
index 660d1e25ebea0839c43ebd59e7981b800fa584b5..ac388ecac36fe1943759fe42fb4e125bec189fe6 100644 (file)
@@ -1 +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||isNaN(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>d||isNaN(d))return;e.find(".plugin-count").text(d),e.find(".update-plugins").each(function(a,b){b.className=b.className.replace(/count-\d+/,"count-"+d)})}},a(window).on("message",function(c){var d,e=c.originalEvent,f=document.location,g=f.protocol+"//"+f.hostname;e.origin===g&&(d=a.parseJSON(e.data),"undefined"!=typeof d.action&&"decrementUpdateCount"===d.action&&b.updates.decrementCount(d.upgradeType))})}(jQuery,window.wp);
\ No newline at end of file
+window.wp=window.wp||{},function(a,b,c){b.updates={},b.updates.ajaxNonce=window._wpUpdatesSettings.ajax_nonce,b.updates.l10n=window._wpUpdatesSettings.l10n,b.updates.shouldRequestFilesystemCredentials=null,b.updates.filesystemCredentials={ftp:{host:null,username:null,password:null,connectionType:null},ssh:{publicKey:null,privateKey:null}},b.updates.updateLock=!1,b.updates.updateDoneSuccessfully=!1,b.updates.updateQueue=[],b.updates.$elToReturnFocusToFromCredentialsModal=null,b.updates.decrementCount=function(b){var c,d,e=a("#wp-admin-bar-updates .ab-label"),f=a('a[href="update-core.php"] .update-plugins'),g=a("#menu-plugins");if(c=e.text(),c=parseInt(c,10)-1,!(0>c||isNaN(c))&&(a("#wp-admin-bar-updates .ab-item").removeAttr("title"),e.text(c),f.each(function(a,b){b.className=b.className.replace(/count-\d+/,"count-"+c)}),f.removeAttr("title"),f.find(".update-count").text(c),"plugin"===b)){if(d=g.find(".plugin-count").eq(0).text(),d=parseInt(d,10)-1,0>d||isNaN(d))return;g.find(".plugin-count").text(d),g.find(".update-plugins").each(function(a,b){b.className=b.className.replace(/count-\d+/,"count-"+d)}),d>0?a(".subsubsub .upgrade .count").text("("+d+")"):a(".subsubsub .upgrade").remove()}},b.updates.updatePlugin=function(d,e){var f,g;if("plugins"===c||"plugins-network"===c?f=a('[data-slug="'+e+'"]').next().find(".update-message"):"plugin-install"===c&&(f=a(".plugin-card-"+e).find(".update-now"),g=f.data("name"),f.attr("aria-label",b.updates.l10n.updatingLabel.replace("%s",g))),f.addClass("updating-message"),f.html()!==b.updates.l10n.updating&&f.data("originaltext",f.html()),f.text(b.updates.l10n.updating),b.a11y.speak(b.updates.l10n.updatingMsg),b.updates.updateLock)return void b.updates.updateQueue.push({type:"update-plugin",data:{plugin:d,slug:e}});b.updates.updateLock=!0;var h={_ajax_nonce:b.updates.ajaxNonce,plugin:d,slug:e,username:b.updates.filesystemCredentials.ftp.username,password:b.updates.filesystemCredentials.ftp.password,hostname:b.updates.filesystemCredentials.ftp.hostname,connection_type:b.updates.filesystemCredentials.ftp.connectionType,public_key:b.updates.filesystemCredentials.ssh.publicKey,private_key:b.updates.filesystemCredentials.ssh.privateKey};b.ajax.post("update-plugin",h).done(b.updates.updateSuccess).fail(b.updates.updateError)},b.updates.updateSuccess=function(d){var e,f,g,h;"plugins"===c||"plugins-network"===c?(g=a('[data-slug="'+d.slug+'"]').first(),e=g.next().find(".update-message"),g.addClass("updated").removeClass("update"),h=g.find(".plugin-version-author-uri").html().replace(d.oldVersion,d.newVersion),g.find(".plugin-version-author-uri").html(h),g.next().addClass("updated")):"plugin-install"===c&&(e=a(".plugin-card-"+d.slug).find(".update-now"),e.addClass("button-disabled"),f=e.data("name"),e.attr("aria-label",b.updates.l10n.updatedLabel.replace("%s",f))),e.removeClass("updating-message").addClass("updated-message"),e.text(b.updates.l10n.updated),b.a11y.speak(b.updates.l10n.updatedMsg),b.updates.decrementCount("plugin"),b.updates.updateDoneSuccessfully=!0,b.updates.updateLock=!1,a(document).trigger("wp-plugin-update-success",d),b.updates.queueChecker()},b.updates.updateError=function(d){var e,f;return b.updates.updateDoneSuccessfully=!1,d.errorCode&&"unable_to_connect_to_filesystem"==d.errorCode?void b.updates.credentialError(d,"update-plugin"):("plugins"===c||"plugins-network"===c?e=a('[data-slug="'+d.slug+'"]').next().find(".update-message"):"plugin-install"===c&&(e=a(".plugin-card-"+d.slug).find(".update-now"),f=e.data("name"),e.attr("aria-label",b.updates.l10n.updateFailedLabel.replace("%s",f))),e.removeClass("updating-message"),e.text(b.updates.l10n.updateFailed),b.a11y.speak(b.updates.l10n.updateFailed),void a(document).trigger("wp-plugin-update-error",d))},b.updates.showErrorInCredentialsForm=function(b){var c=a(".notification-dialog");c.find(".error").remove(),c.find("h3").after('<div class="error">'+b+"</div>")},b.updates.credentialError=function(a,c){b.updates.updateQueue.push({type:c,data:{plugin:a.plugin,slug:a.slug}}),b.updates.showErrorInCredentialsForm(a.error),b.updates.requestFilesystemCredentials()},b.updates.queueChecker=function(){if(!(b.updates.updateLock||b.updates.updateQueue.length<=0)){var a=b.updates.updateQueue.shift();b.updates.updatePlugin(a.data.plugin,a.data.slug)}},b.updates.requestFilesystemCredentials=function(d){b.updates.updateDoneSuccessfully===!1&&("plugin-install"===c&&d&&(b.updates.$elToReturnFocusToFromCredentialsModal=a(d.target)),b.updates.updateLock=!0,b.updates.requestForCredentialsModalOpen())},b.updates.keydown=function(c){27===c.keyCode?b.updates.requestForCredentialsModalCancel():9===c.keyCode&&("upgrade"!==c.target.id||c.shiftKey?"hostname"===c.target.id&&c.shiftKey&&(a("#upgrade").focus(),c.preventDefault()):(a("#hostname").focus(),c.preventDefault()))},b.updates.requestForCredentialsModalOpen=function(){var c=a("#request-filesystem-credentials-dialog");a("body").addClass("modal-open"),c.show(),c.find("input:enabled:first").focus(),c.keydown(b.updates.keydown)},b.updates.requestForCredentialsModalClose=function(){a("#request-filesystem-credentials-dialog").hide(),a("body").removeClass("modal-open"),b.updates.$elToReturnFocusToFromCredentialsModal.focus()},b.updates.requestForCredentialsModalCancel=function(){var d,e;(b.updates.updateLock!==!1||0!==b.updates.updateQueue.length)&&(d=b.updates.updateQueue[0].data.slug,b.updates.updateLock=!1,b.updates.updateQueue=[],b.updates.requestForCredentialsModalClose(),"plugins"===c||"plugins-network"===c?e=a('[data-slug="'+d+'"]').next().find(".update-message"):"plugin-install"===c&&(e=a(".plugin-card-"+d).find(".update-now")),e.removeClass("updating-message"),e.html(e.data("originaltext")),b.a11y.speak(b.updates.l10n.updateCancel))},b.updates.beforeunload=function(){return b.updates.updateLock?b.updates.l10n.beforeunload:void 0},a(document).ready(function(){b.updates.shouldRequestFilesystemCredentials=a("#request-filesystem-credentials-dialog").length<=0?!1:!0,a("#request-filesystem-credentials-dialog form").on("submit",function(){return b.updates.filesystemCredentials.ftp.hostname=a("#hostname").val(),b.updates.filesystemCredentials.ftp.username=a("#username").val(),b.updates.filesystemCredentials.ftp.password=a("#password").val(),b.updates.filesystemCredentials.ftp.connectionType=a('input[name="connection_type"]:checked').val(),b.updates.filesystemCredentials.ssh.publicKey=a("#public_key").val(),b.updates.filesystemCredentials.ssh.privateKey=a("#private_key").val(),b.updates.requestForCredentialsModalClose(),b.updates.updateLock=!1,b.updates.queueChecker(),!1}),a('#request-filesystem-credentials-dialog [data-js-action="close"], .notification-dialog-background').on("click",function(){b.updates.requestForCredentialsModalCancel()}),a(".plugin-update-tr").on("click",".update-link",function(c){c.preventDefault(),b.updates.shouldRequestFilesystemCredentials&&!b.updates.updateLock&&b.updates.requestFilesystemCredentials(c);var d=a(c.target).parents(".plugin-update-tr");b.updates.$elToReturnFocusToFromCredentialsModal=a("#"+d.data("slug")).find(".check-column input"),b.updates.updatePlugin(d.data("plugin"),d.data("slug"))}),a(".plugin-card").on("click",".update-now",function(c){c.preventDefault();var d=a(c.target);b.updates.shouldRequestFilesystemCredentials&&!b.updates.updateLock&&b.updates.requestFilesystemCredentials(c),b.updates.updatePlugin(d.data("plugin"),d.data("slug"))}),a("#plugin_update_from_iframe").on("click",function(b){var c,d;c=window.parent==window?null:window.parent,a.support.postMessage=!!window.postMessage,a.support.postMessage!==!1&&null!==c&&-1===window.parent.location.pathname.indexOf("update-core.php")&&(b.preventDefault(),d={action:"updatePlugin",slug:a(this).data("slug")},c.postMessage(JSON.stringify(d),window.location.origin))})}),a(window).on("message",function(d){var e,f=d.originalEvent,g=document.location,h=g.protocol+"//"+g.hostname;if(f.origin===h&&(e=a.parseJSON(f.data),"undefined"!=typeof e.action))switch(e.action){case"decrementUpdateCount":b.updates.decrementCount(e.upgradeType);break;case"updatePlugin":tb_remove(),"plugins"===c||"plugins-network"===c?(a("#"+e.slug).find(".check-column input").focus(),a('.plugin-update-tr[data-slug="'+e.slug+'"]').find(".update-link").trigger("click")):"plugin-install"===c&&(a(".plugin-card-"+e.slug).find("h4 a").focus(),a(".plugin-card-"+e.slug).find('[data-slug="'+e.slug+'"]').trigger("click"))}}),a(window).on("beforeunload",b.updates.beforeunload)}(jQuery,window.wp,window.pagenow,window.ajaxurl);
\ No newline at end of file
index ae4b97ab899bca1c636a92253afc3731bd9716d6..72a2465c56f0d6683435485f5de9637b63a95ff7 100644 (file)
@@ -34,8 +34,8 @@
                var $colorpicker, $stylesheet, user_id, current_user_id,
                        select = $( '#display_name' );
 
-               $('#pass1').val('').keyup( check_pass_strength );
-               $('#pass2').val('').keyup( check_pass_strength );
+               $('#pass1').val('').on( 'input propertychange', check_pass_strength );
+               $('#pass2').val('').on( 'input propertychange', check_pass_strength );
                $('#pass-strength-result').show();
                $('.color-palette').click( function() {
                        $(this).siblings('input[name="admin_color"]').prop('checked', true);
                                        action:       'save-user-color-scheme',
                                        color_scheme: $this.children( 'input[name="admin_color"]' ).val(),
                                        nonce:        $('#color-nonce').val()
+                               }).done( function( response ) {
+                                       if ( response.success ) {
+                                               $( 'body' ).removeClass( response.data.previousScheme ).addClass( response.data.currentScheme );
+                                       }
                                });
                        }
                });
index 1472b22e9dc9f4fd0e5ccbfc086ef5fee1c4a870..0bc1cb677c393545ae7a5d93c5238b4afb791aae 100644 (file)
@@ -1 +1 @@
-!function(a){function b(){var b,c=a("#pass1").val(),d=a("#pass2").val();if(a("#pass-strength-result").removeClass("short bad good strong"),!c)return void a("#pass-strength-result").html(pwsL10n.empty);switch(b=wp.passwordStrength.meter(c,wp.passwordStrength.userInputBlacklist(),d)){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;case 5:a("#pass-strength-result").addClass("short").html(pwsL10n.mismatch);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n["short"])}}a(document).ready(function(){var c,d,e,f,g=a("#display_name");a("#pass1").val("").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()})}})}),a("#destroy-sessions").on("click",function(b){var c=a(this);wp.ajax.post("destroy-sessions",{nonce:a("#_wpnonce").val(),user_id:a("#user_id").val()}).done(function(a){c.prop("disabled",!0),c.siblings(".notice").remove(),c.before('<div class="notice notice-success inline"><p>'+a.message+"</p></div>")}).fail(function(a){c.siblings(".notice").remove(),c.before('<div class="notice notice-error inline"><p>'+a.message+"</p></div>")}),b.preventDefault()})}(jQuery);
\ No newline at end of file
+!function(a){function b(){var b,c=a("#pass1").val(),d=a("#pass2").val();if(a("#pass-strength-result").removeClass("short bad good strong"),!c)return void a("#pass-strength-result").html(pwsL10n.empty);switch(b=wp.passwordStrength.meter(c,wp.passwordStrength.userInputBlacklist(),d)){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;case 5:a("#pass-strength-result").addClass("short").html(pwsL10n.mismatch);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n["short"])}}a(document).ready(function(){var c,d,e,f,g=a("#display_name");a("#pass1").val("").on("input propertychange",b),a("#pass2").val("").on("input propertychange",b),a("#pass-strength-result").show(),a(".color-palette").click(function(){a(this).siblings('input[name="admin_color"]').prop("checked",!0)}),g.length&&a("#first_name, #last_name, #nickname").bind("blur.user_profile",function(){var b=[],c={display_nickname:a("#nickname").val()||"",display_username:a("#user_login").val()||"",display_firstname:a("#first_name").val()||"",display_lastname:a("#last_name").val()||""};c.display_firstname&&c.display_lastname&&(c.display_firstlast=c.display_firstname+" "+c.display_lastname,c.display_lastfirst=c.display_lastname+" "+c.display_firstname),a.each(a("option",g),function(a,c){b.push(c.value)}),a.each(c,function(d,e){if(e){var f=e.replace(/<\/?[a-z][^>]*>/gi,"");c[d].length&&-1===a.inArray(f,b)&&(b.push(f),a("<option />",{text:f}).appendTo(g))}})}),c=a("#color-picker"),d=a("#colors-css"),e=a("input#user_id").val(),f=a('input[name="checkuser_id"]').val(),c.on("click.colorpicker",".color-option",function(){var b,c=a(this);if(!c.hasClass("selected")&&(c.siblings(".selected").removeClass("selected"),c.addClass("selected").find('input[type="radio"]').prop("checked",!0),e===f)){if(0===d.length&&(d=a('<link rel="stylesheet" />').appendTo("head")),d.attr("href",c.children(".css_url").val()),"undefined"!=typeof wp&&wp.svgPainter){try{b=a.parseJSON(c.children(".icon_colors").val())}catch(g){}b&&(wp.svgPainter.setColors(b),wp.svgPainter.paint())}a.post(ajaxurl,{action:"save-user-color-scheme",color_scheme:c.children('input[name="admin_color"]').val(),nonce:a("#color-nonce").val()}).done(function(b){b.success&&a("body").removeClass(b.data.previousScheme).addClass(b.data.currentScheme)})}})}),a("#destroy-sessions").on("click",function(b){var c=a(this);wp.ajax.post("destroy-sessions",{nonce:a("#_wpnonce").val(),user_id:a("#user_id").val()}).done(function(a){c.prop("disabled",!0),c.siblings(".notice").remove(),c.before('<div class="notice notice-success inline"><p>'+a.message+"</p></div>")}).fail(function(a){c.siblings(".notice").remove(),c.before('<div class="notice notice-error inline"><p>'+a.message+"</p></div>")}),b.preventDefault()})}(jQuery);
\ No newline at end of file
index 2e1dcd1b8012e54065a722a81de993f31d68958e..46b064a7808afe0a631c14f3b576cdc5c594e378 100644 (file)
@@ -233,7 +233,7 @@ wpWidgets = {
                        },
                        drop: function(e,ui) {
                                ui.draggable.addClass('deleting');
-                               $('#removing-widget').hide().children('span').html('');
+                               $('#removing-widget').hide().children('span').empty();
                        },
                        over: function(e,ui) {
                                ui.draggable.addClass('deleting');
@@ -247,7 +247,7 @@ wpWidgets = {
                        out: function(e,ui) {
                                ui.draggable.removeClass('deleting');
                                $('div.widget-placeholder').show();
-                               $('#removing-widget').hide().children('span').html('');
+                               $('#removing-widget').hide().children('span').empty();
                        }
                });
 
@@ -321,7 +321,7 @@ wpWidgets = {
                };
 
                if ( sidebarId ) {
-                       $( '#' + sidebarId ).find('.spinner:first').css('display', 'inline-block');
+                       $( '#' + sidebarId ).find( '.spinner:first' ).addClass( 'is-active' );
                }
 
                $('div.widgets-sortables').each( function() {
@@ -331,7 +331,7 @@ wpWidgets = {
                });
 
                $.post( ajaxurl, data, function() {
-                       $('.spinner').hide();
+                       $( '.spinner' ).removeClass( 'is-active' );
                });
        },
 
@@ -340,7 +340,7 @@ wpWidgets = {
                        data = widget.find('form').serialize(), a;
 
                widget = $(widget);
-               $('.spinner', widget).show();
+               $( '.spinner', widget ).addClass( 'is-active' );
 
                a = {
                        action: 'save-widget',
@@ -377,7 +377,7 @@ wpWidgets = {
                                        widget.remove();
                                }
                        } else {
-                               $('.spinner').hide();
+                               $( '.spinner' ).removeClass( 'is-active' );
                                if ( r && r.length > 2 ) {
                                        $( 'div.widget-content', widget ).html( r );
                                        wpWidgets.appendTitle( widget );
index 82163c45be6d8ed6dff65aca2e286f1f614891da..19a41f6b1ac700ec010d0de5d7f82ca5b9a5aa78 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)),c.addClass("open"),d.slideDown("fast")):d.slideUp("fast",function(){c.attr("style",""),c.removeClass("open")}),b.preventDefault()):i.hasClass("widget-control-save")?(wpWidgets.save(i.closest("div.widget"),0,1,0),b.preventDefault()):i.hasClass("widget-control-remove")?(wpWidgets.save(i.closest("div.widget"),1,1,0),b.preventDefault()):i.hasClass("widget-control-close")&&(c=i.closest("div.widget"),c.removeClass("open"),wpWidgets.close(c),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
+var wpWidgets;!function(a){wpWidgets={init:function(){var b,c,d=this,e=a(".widgets-chooser"),f=e.find(".widgets-chooser-sidebars"),g=a("div.widgets-sortables"),h=!("undefined"==typeof isRtl||!isRtl);a("#widgets-right .sidebar-name").click(function(){var b=a(this),c=b.closest(".widgets-holder-wrap");c.hasClass("closed")?(c.removeClass("closed"),b.parent().sortable("refresh")):c.addClass("closed")}),a("#widgets-left .sidebar-name").click(function(){a(this).closest(".widgets-holder-wrap").toggleClass("closed")}),a(document.body).bind("click.widgets-toggle",function(b){var c,d,e,f,g,i=a(b.target),j={"z-index":100};i.parents(".widget-top").length&&!i.parents("#available-widgets").length?(c=i.closest("div.widget"),d=c.children(".widget-inside"),e=parseInt(c.find("input.widget-width").val(),10),f=c.parent().width(),d.is(":hidden")?(e>250&&e+30>f&&c.closest("div.widgets-sortables").length&&(g=c.closest("div.widget-liquid-right").length?h?"margin-right":"margin-left":h?"margin-left":"margin-right",j[g]=f-(e+30)+"px",c.css(j)),c.addClass("open"),d.slideDown("fast")):d.slideUp("fast",function(){c.attr("style",""),c.removeClass("open")}),b.preventDefault()):i.hasClass("widget-control-save")?(wpWidgets.save(i.closest("div.widget"),0,1,0),b.preventDefault()):i.hasClass("widget-control-remove")?(wpWidgets.save(i.closest("div.widget"),1,1,0),b.preventDefault()):i.hasClass("widget-control-close")&&(c=i.closest("div.widget"),c.removeClass("open"),wpWidgets.close(c),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").empty()},over:function(b,c){c.draggable.addClass("deleting"),a("div.widget-placeholder").hide(),c.draggable.hasClass("ui-sortable-helper")&&a("#removing-widget").show().children("span").html(c.draggable.find("div.widget-title").children("h4").html())},out:function(b,c){c.draggable.removeClass("deleting"),a("div.widget-placeholder").show(),a("#removing-widget").hide().children("span").empty()}}),a("#widgets-right .widgets-holder-wrap").each(function(b,c){var d=a(c),e=d.find(".sidebar-name h3").text(),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").addClass("is-active"),a("div.widgets-sortables").each(function(){a(this).sortable&&(c["sidebars["+a(this).attr("id")+"]"]=a(this).sortable("toArray").join(","))}),a.post(ajaxurl,c,function(){a(".spinner").removeClass("is-active")})},save:function(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).addClass("is-active"),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").removeClass("is-active"),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 2431738b605ff8654061fecc3bee5a8cbd062db9..cb8c8e01565d1afa4bd957d2ce009150321f1da6 100644 (file)
                        $saveMessage = $('#wp-fullscreen-save .wp-fullscreen-saved-message'),
                        $errorMessage = $('#wp-fullscreen-save .wp-fullscreen-error-message');
 
-               $spinner.show();
+               $spinner.addClass( 'is-active' );
                $errorMessage.hide();
                $saveMessage.hide();
                $hidden.val('wp-fullscreen-save-post');
                        data: $('form#post').serialize(),
                        dataType: 'json'
                }).done( function( response ) {
-                       $spinner.hide();
+                       $spinner.removeClass( 'is-active' );
 
                        if ( response && response.success ) {
                                $saveMessage.show();
                                $errorMessage.show();
                        }
                }).fail( function() {
-                       $spinner.hide();
+                       $spinner.removeClass( 'is-active' );
                        $errorMessage.show();
                });
 
index 54044868df88b5030637d72922d15c477902685d..b3977b8c76605141181f69b46d3fbf8887f40452 100644 (file)
@@ -1 +1 @@
-!function(a,b){function c(){m.removeClass("wp-dfw-show-ui")}function d(b){g.$dfwWrap.parents().each(function(c,d){var e,f=a(d);return b?(d.style.position&&f.data("wp-dfw-css-position",d.style.position),f.css("position","static")):(e=f.data("wp-dfw-css-position"),e=e||"",f.css("position",e)),"BODY"===d.nodeName?!1:void 0})}var e,f,g,h,i,j,k=0,l="transitionend webkitTransitionEnd",m=a(document.body),n=a(document);j=function(){this.topics={},this.subscribe=function(a,b){return this.topics[a]||(this.topics[a]=[]),this.topics[a].push(b),b},this.unsubscribe=function(a,b){var c,d,e=this.topics[a];if(!e)return b||[];if(b){for(c=0,d=e.length;d>c;c++)b==e[c]&&e.splice(c,1);return b}return this.topics[a]=[],e},this.publish=function(a,b){var c,d,e,f=this.topics[a];if(f){for(b=b||[],c=0,d=f.length;d>c;c++)e=f[c].apply(null,b)===!1||e;return!e}}},e={},f=e.pubsub=new j,g=e.settings={visible:!1,mode:"tinymce",id:"",title_id:"",timer:0,toolbar_shown:!1},h=e.toggleUI=function(a){clearTimeout(i),m.hasClass("wp-dfw-show-ui")&&"show"!==a?"autohide"!==a&&m.removeClass("wp-dfw-show-ui"):m.addClass("wp-dfw-show-ui"),"autohide"===a&&(i=setTimeout(c,2e3))},e.on=function(){var c,d,f;if(!g.visible){if(g.$fullscreenFader||e.ui.init(),"object"==typeof b.wp_fullscreen_settings&&a.extend(g,b.wp_fullscreen_settings),c=g.id||b.wpActiveEditor,!c){if(!g.hasTinymce)return;c=tinymce.activeEditor.id}g.id=c,d=g.$dfwWrap=a("#wp-"+c+"-wrap"),d.length&&(g.$dfwTextarea=a("#"+c),g.$editorContainer=d.find(".wp-editor-container"),k=n.scrollTop(),g.hasTinymce&&(g.editor=tinymce.get(c)),g.editor&&!g.editor.isHidden()?(g.origHeight=a("#"+c+"_ifr").height(),g.mode="tinymce"):(g.origHeight=g.$dfwTextarea.height(),g.mode="html"),f="undefined"==typeof b.adminpage||"post-php"!==b.adminpage&&"post-new-php"!==b.adminpage?c+"-title":"title",g.$dfwTitle=a("#"+f),g.$dfwTitle.length||(g.$dfwTitle=null),e.ui.fade("show","showing","shown"))}},e.off=function(){g.visible&&e.ui.fade("hide","hiding","hidden")},e.switchmode=function(a){var b=g.mode;return a&&g.visible&&g.hasTinymce&&"undefined"!=typeof switchEditors?b==a?b:("tinymce"!==a||g.editor||(g.editor=tinymce.get(g.id),!g.editor&&"undefined"!=typeof tinyMCEPreInit&&tinyMCEPreInit.mceInit&&tinyMCEPreInit.mceInit[g.id]&&(tinyMCEPreInit.mceInit[g.id].wp_fullscreen=!0)),g.mode=a,switchEditors.go(g.id,a),e.refreshButtons(!0),"html"===a&&setTimeout(e.resizeTextarea,200),a):b},e.save=function(){var c=a("#hiddenaction"),d=c.val(),e=a("#wp-fullscreen-save .spinner"),f=a("#wp-fullscreen-save .wp-fullscreen-saved-message"),h=a("#wp-fullscreen-save .wp-fullscreen-error-message");e.show(),h.hide(),f.hide(),c.val("wp-fullscreen-save-post"),g.editor&&!g.editor.isHidden()&&g.editor.save(),a.ajax({url:b.ajaxurl,type:"post",data:a("form#post").serialize(),dataType:"json"}).done(function(b){e.hide(),b&&b.success?(f.show(),setTimeout(function(){f.fadeOut(300)},3e3),b.data&&b.data.last_edited&&a("#wp-fullscreen-save input").attr("title",b.data.last_edited)):h.show()}).fail(function(){e.hide(),h.show()}),c.val(d)},e.dfwWidth=function(b,c){var d;return b&&-1!==b.toString().indexOf("%")?(g.$editorContainer.css("width",b),g.$statusbar.css("width",b),void(g.$dfwTitle&&g.$dfwTitle.css("width",b))):b?(c?d=b:(d=g.$editorContainer.width(),d+=b),void(200>d||d>1200||(g.$editorContainer.width(d),g.$statusbar.width(d),g.$dfwTitle&&g.$dfwTitle.width(d-16),setUserSetting("dfw_width",d)))):(d=a("#wp-fullscreen-body").data("theme-width")||800,g.$editorContainer.width(d),g.$statusbar.width(d),g.$dfwTitle&&g.$dfwTitle.width(d-16),void deleteUserSetting("dfw_width"))},f.subscribe("show",function(){var b=a("#last-edit").text();b&&a("#wp-fullscreen-save input").attr("title",b)}),f.subscribe("showing",function(){m.addClass("wp-fullscreen-active"),g.$dfwWrap.addClass("wp-fullscreen-wrap"),g.$dfwTitle&&(g.$dfwTitle.after('<span id="wp-fullscreen-title-placeholder">'),g.$dfwWrap.prepend(g.$dfwTitle.addClass("wp-fullscreen-title"))),e.refreshButtons(),d(!0),a("#wpadminbar").hide(),h("autohide"),e.bind_resize(),g.editor&&g.editor.execCommand("wpFullScreenOn"),"ontouchstart"in b?e.dfwWidth("90%"):e.dfwWidth(a("#wp-fullscreen-body").data("dfw-width")||800,!0),scrollTo(0,0)}),f.subscribe("shown",function(){g.visible=!0,g.editor&&!g.editor.isHidden()?g.editor.execCommand("wpAutoResize"):e.resizeTextarea("force")}),f.subscribe("hide",function(){n.unbind(".fullscreen"),g.$dfwTextarea.unbind(".wp-dfw-resize")}),f.subscribe("hiding",function(){m.removeClass("wp-fullscreen-active"),g.$dfwTitle&&a("#wp-fullscreen-title-placeholder").before(g.$dfwTitle.removeClass("wp-fullscreen-title").css("width","")).remove(),g.$dfwWrap.removeClass("wp-fullscreen-wrap"),g.$editorContainer.css("width",""),g.$dfwTextarea.add("#"+g.id+"_ifr").height(g.origHeight),g.editor&&g.editor.execCommand("wpFullScreenOff"),d(!1),b.scrollTo(0,k),a("#wpadminbar").show()}),f.subscribe("hidden",function(){g.visible=!1}),e.refreshButtons=function(b){"html"===g.mode?(a("#wp-fullscreen-mode-bar").removeClass("wp-tmce-mode").addClass("wp-html-mode").find("a").removeClass("active").filter(".wp-fullscreen-mode-html").addClass("active"),b?a("#wp-fullscreen-button-bar").fadeOut(150,function(){a(this).addClass("wp-html-mode").fadeIn(150)}):a("#wp-fullscreen-button-bar").addClass("wp-html-mode")):"tinymce"===g.mode&&(a("#wp-fullscreen-mode-bar").removeClass("wp-html-mode").addClass("wp-tmce-mode").find("a").removeClass("active").filter(".wp-fullscreen-mode-tinymce").addClass("active"),b?a("#wp-fullscreen-button-bar").fadeOut(150,function(){a(this).removeClass("wp-html-mode").fadeIn(150)}):a("#wp-fullscreen-button-bar").removeClass("wp-html-mode"))},e.ui={init:function(){var c;g.toolbar=c=a("#fullscreen-topbar"),g.$fullscreenFader=a("#fullscreen-fader"),g.$statusbar=a("#wp-fullscreen-status"),g.hasTinymce="undefined"!=typeof tinymce,g.hasTinymce||a("#wp-fullscreen-mode-bar").hide(),n.keyup(function(a){var b,c=a.keyCode||a.charCode;g.visible&&(b=navigator.platform&&-1!==navigator.platform.indexOf("Mac")?a.ctrlKey:a.altKey,!b||61!==c&&107!==c&&187!==c||(e.dfwWidth(25),a.preventDefault()),!b||45!==c&&109!==c&&189!==c||(e.dfwWidth(-25),a.preventDefault()),b&&48===c&&(e.dfwWidth(0),a.preventDefault()))}),a(b).on("keydown.wp-fullscreen",function(a){27===a.keyCode&&g.visible&&(e.off(),a.stopImmediatePropagation())}),"ontouchstart"in b&&m.addClass("wp-dfw-touch"),c.on("mouseenter",function(){h("show")}).on("mouseleave",function(){h("autohide")}),a("#wp-fullscreen-buttons").on("click.wp-fullscreen","button",function(a){var c=a.currentTarget.id?a.currentTarget.id.substr(6):null;if(g.editor&&"tinymce"===g.mode)switch(c){case"bold":g.editor.execCommand("Bold");break;case"italic":g.editor.execCommand("Italic");break;case"bullist":g.editor.execCommand("InsertUnorderedList");break;case"numlist":g.editor.execCommand("InsertOrderedList");break;case"link":g.editor.execCommand("WP_Link");break;case"unlink":g.editor.execCommand("unlink");break;case"help":g.editor.execCommand("WP_Help");break;case"blockquote":g.editor.execCommand("mceBlockQuote")}else"link"===c&&b.wpLink&&b.wpLink.open();"wp-media-library"===c&&"undefined"!=typeof wp&&wp.media&&wp.media.editor&&wp.media.editor.open(g.id)})},fade:function(a,b,c){g.$fullscreenFader||e.ui.init(),(!a||f.publish(a))&&e.fade.In(g.$fullscreenFader,200,function(){b&&f.publish(b),e.fade.Out(g.$fullscreenFader,200,function(){c&&f.publish(c)})})}},e.fade={sensitivity:100,In:function(b,c,d,f){if(d=d||a.noop,c=c||400,f=f||!1,e.fade.transitions){if(b.is(":visible"))return b.addClass("fade-trigger"),b;b.show(),b.first().one(l,function(){d()}),setTimeout(function(){b.addClass("fade-trigger")},this.sensitivity)}else f&&b.stop(),b.css("opacity",1),b.first().fadeIn(c,d),b.length>1&&b.not(":first").fadeIn(c);return b},Out:function(b,c,d,f){return d=d||a.noop,c=c||400,f=f||!1,b.is(":visible")?(e.fade.transitions?(b.first().one(l,function(){b.hasClass("fade-trigger")||(b.hide(),d())}),setTimeout(function(){b.removeClass("fade-trigger")},this.sensitivity)):(f&&b.stop(),b.first().fadeOut(c,d),b.length>1&&b.not(":first").fadeOut(c)),b):b},transitions:function(){var a=document.documentElement.style;return"string"==typeof a.WebkitTransition||"string"==typeof a.MozTransition||"string"==typeof a.OTransition||"string"==typeof a.transition}()},e.bind_resize=function(){g.$dfwTextarea.on("keydown.wp-dfw-resize click.wp-dfw-resize paste.wp-dfw-resize",function(){e.resizeTextarea()})},e.resizeTextarea=function(){var a=g.$dfwTextarea[0];a.scrollHeight>a.clientHeight&&(a.style.height=a.scrollHeight+50+"px")},b.wp=b.wp||{},b.wp.editor=b.wp.editor||{},b.wp.editor.fullscreen=e}(jQuery,window);
\ No newline at end of file
+!function(a,b){function c(){m.removeClass("wp-dfw-show-ui")}function d(b){g.$dfwWrap.parents().each(function(c,d){var e,f=a(d);return b?(d.style.position&&f.data("wp-dfw-css-position",d.style.position),f.css("position","static")):(e=f.data("wp-dfw-css-position"),e=e||"",f.css("position",e)),"BODY"===d.nodeName?!1:void 0})}var e,f,g,h,i,j,k=0,l="transitionend webkitTransitionEnd",m=a(document.body),n=a(document);j=function(){this.topics={},this.subscribe=function(a,b){return this.topics[a]||(this.topics[a]=[]),this.topics[a].push(b),b},this.unsubscribe=function(a,b){var c,d,e=this.topics[a];if(!e)return b||[];if(b){for(c=0,d=e.length;d>c;c++)b==e[c]&&e.splice(c,1);return b}return this.topics[a]=[],e},this.publish=function(a,b){var c,d,e,f=this.topics[a];if(f){for(b=b||[],c=0,d=f.length;d>c;c++)e=f[c].apply(null,b)===!1||e;return!e}}},e={},f=e.pubsub=new j,g=e.settings={visible:!1,mode:"tinymce",id:"",title_id:"",timer:0,toolbar_shown:!1},h=e.toggleUI=function(a){clearTimeout(i),m.hasClass("wp-dfw-show-ui")&&"show"!==a?"autohide"!==a&&m.removeClass("wp-dfw-show-ui"):m.addClass("wp-dfw-show-ui"),"autohide"===a&&(i=setTimeout(c,2e3))},e.on=function(){var c,d,f;if(!g.visible){if(g.$fullscreenFader||e.ui.init(),"object"==typeof b.wp_fullscreen_settings&&a.extend(g,b.wp_fullscreen_settings),c=g.id||b.wpActiveEditor,!c){if(!g.hasTinymce)return;c=tinymce.activeEditor.id}g.id=c,d=g.$dfwWrap=a("#wp-"+c+"-wrap"),d.length&&(g.$dfwTextarea=a("#"+c),g.$editorContainer=d.find(".wp-editor-container"),k=n.scrollTop(),g.hasTinymce&&(g.editor=tinymce.get(c)),g.editor&&!g.editor.isHidden()?(g.origHeight=a("#"+c+"_ifr").height(),g.mode="tinymce"):(g.origHeight=g.$dfwTextarea.height(),g.mode="html"),f="undefined"==typeof b.adminpage||"post-php"!==b.adminpage&&"post-new-php"!==b.adminpage?c+"-title":"title",g.$dfwTitle=a("#"+f),g.$dfwTitle.length||(g.$dfwTitle=null),e.ui.fade("show","showing","shown"))}},e.off=function(){g.visible&&e.ui.fade("hide","hiding","hidden")},e.switchmode=function(a){var b=g.mode;return a&&g.visible&&g.hasTinymce&&"undefined"!=typeof switchEditors?b==a?b:("tinymce"!==a||g.editor||(g.editor=tinymce.get(g.id),!g.editor&&"undefined"!=typeof tinyMCEPreInit&&tinyMCEPreInit.mceInit&&tinyMCEPreInit.mceInit[g.id]&&(tinyMCEPreInit.mceInit[g.id].wp_fullscreen=!0)),g.mode=a,switchEditors.go(g.id,a),e.refreshButtons(!0),"html"===a&&setTimeout(e.resizeTextarea,200),a):b},e.save=function(){var c=a("#hiddenaction"),d=c.val(),e=a("#wp-fullscreen-save .spinner"),f=a("#wp-fullscreen-save .wp-fullscreen-saved-message"),h=a("#wp-fullscreen-save .wp-fullscreen-error-message");e.addClass("is-active"),h.hide(),f.hide(),c.val("wp-fullscreen-save-post"),g.editor&&!g.editor.isHidden()&&g.editor.save(),a.ajax({url:b.ajaxurl,type:"post",data:a("form#post").serialize(),dataType:"json"}).done(function(b){e.removeClass("is-active"),b&&b.success?(f.show(),setTimeout(function(){f.fadeOut(300)},3e3),b.data&&b.data.last_edited&&a("#wp-fullscreen-save input").attr("title",b.data.last_edited)):h.show()}).fail(function(){e.removeClass("is-active"),h.show()}),c.val(d)},e.dfwWidth=function(b,c){var d;return b&&-1!==b.toString().indexOf("%")?(g.$editorContainer.css("width",b),g.$statusbar.css("width",b),void(g.$dfwTitle&&g.$dfwTitle.css("width",b))):b?(c?d=b:(d=g.$editorContainer.width(),d+=b),void(200>d||d>1200||(g.$editorContainer.width(d),g.$statusbar.width(d),g.$dfwTitle&&g.$dfwTitle.width(d-16),setUserSetting("dfw_width",d)))):(d=a("#wp-fullscreen-body").data("theme-width")||800,g.$editorContainer.width(d),g.$statusbar.width(d),g.$dfwTitle&&g.$dfwTitle.width(d-16),void deleteUserSetting("dfw_width"))},f.subscribe("show",function(){var b=a("#last-edit").text();b&&a("#wp-fullscreen-save input").attr("title",b)}),f.subscribe("showing",function(){m.addClass("wp-fullscreen-active"),g.$dfwWrap.addClass("wp-fullscreen-wrap"),g.$dfwTitle&&(g.$dfwTitle.after('<span id="wp-fullscreen-title-placeholder">'),g.$dfwWrap.prepend(g.$dfwTitle.addClass("wp-fullscreen-title"))),e.refreshButtons(),d(!0),a("#wpadminbar").hide(),h("autohide"),e.bind_resize(),g.editor&&g.editor.execCommand("wpFullScreenOn"),"ontouchstart"in b?e.dfwWidth("90%"):e.dfwWidth(a("#wp-fullscreen-body").data("dfw-width")||800,!0),scrollTo(0,0)}),f.subscribe("shown",function(){g.visible=!0,g.editor&&!g.editor.isHidden()?g.editor.execCommand("wpAutoResize"):e.resizeTextarea("force")}),f.subscribe("hide",function(){n.unbind(".fullscreen"),g.$dfwTextarea.unbind(".wp-dfw-resize")}),f.subscribe("hiding",function(){m.removeClass("wp-fullscreen-active"),g.$dfwTitle&&a("#wp-fullscreen-title-placeholder").before(g.$dfwTitle.removeClass("wp-fullscreen-title").css("width","")).remove(),g.$dfwWrap.removeClass("wp-fullscreen-wrap"),g.$editorContainer.css("width",""),g.$dfwTextarea.add("#"+g.id+"_ifr").height(g.origHeight),g.editor&&g.editor.execCommand("wpFullScreenOff"),d(!1),b.scrollTo(0,k),a("#wpadminbar").show()}),f.subscribe("hidden",function(){g.visible=!1}),e.refreshButtons=function(b){"html"===g.mode?(a("#wp-fullscreen-mode-bar").removeClass("wp-tmce-mode").addClass("wp-html-mode").find("a").removeClass("active").filter(".wp-fullscreen-mode-html").addClass("active"),b?a("#wp-fullscreen-button-bar").fadeOut(150,function(){a(this).addClass("wp-html-mode").fadeIn(150)}):a("#wp-fullscreen-button-bar").addClass("wp-html-mode")):"tinymce"===g.mode&&(a("#wp-fullscreen-mode-bar").removeClass("wp-html-mode").addClass("wp-tmce-mode").find("a").removeClass("active").filter(".wp-fullscreen-mode-tinymce").addClass("active"),b?a("#wp-fullscreen-button-bar").fadeOut(150,function(){a(this).removeClass("wp-html-mode").fadeIn(150)}):a("#wp-fullscreen-button-bar").removeClass("wp-html-mode"))},e.ui={init:function(){var c;g.toolbar=c=a("#fullscreen-topbar"),g.$fullscreenFader=a("#fullscreen-fader"),g.$statusbar=a("#wp-fullscreen-status"),g.hasTinymce="undefined"!=typeof tinymce,g.hasTinymce||a("#wp-fullscreen-mode-bar").hide(),n.keyup(function(a){var b,c=a.keyCode||a.charCode;g.visible&&(b=navigator.platform&&-1!==navigator.platform.indexOf("Mac")?a.ctrlKey:a.altKey,!b||61!==c&&107!==c&&187!==c||(e.dfwWidth(25),a.preventDefault()),!b||45!==c&&109!==c&&189!==c||(e.dfwWidth(-25),a.preventDefault()),b&&48===c&&(e.dfwWidth(0),a.preventDefault()))}),a(b).on("keydown.wp-fullscreen",function(a){27===a.keyCode&&g.visible&&(e.off(),a.stopImmediatePropagation())}),"ontouchstart"in b&&m.addClass("wp-dfw-touch"),c.on("mouseenter",function(){h("show")}).on("mouseleave",function(){h("autohide")}),a("#wp-fullscreen-buttons").on("click.wp-fullscreen","button",function(a){var c=a.currentTarget.id?a.currentTarget.id.substr(6):null;if(g.editor&&"tinymce"===g.mode)switch(c){case"bold":g.editor.execCommand("Bold");break;case"italic":g.editor.execCommand("Italic");break;case"bullist":g.editor.execCommand("InsertUnorderedList");break;case"numlist":g.editor.execCommand("InsertOrderedList");break;case"link":g.editor.execCommand("WP_Link");break;case"unlink":g.editor.execCommand("unlink");break;case"help":g.editor.execCommand("WP_Help");break;case"blockquote":g.editor.execCommand("mceBlockQuote")}else"link"===c&&b.wpLink&&b.wpLink.open();"wp-media-library"===c&&"undefined"!=typeof wp&&wp.media&&wp.media.editor&&wp.media.editor.open(g.id)})},fade:function(a,b,c){g.$fullscreenFader||e.ui.init(),(!a||f.publish(a))&&e.fade.In(g.$fullscreenFader,200,function(){b&&f.publish(b),e.fade.Out(g.$fullscreenFader,200,function(){c&&f.publish(c)})})}},e.fade={sensitivity:100,In:function(b,c,d,f){if(d=d||a.noop,c=c||400,f=f||!1,e.fade.transitions){if(b.is(":visible"))return b.addClass("fade-trigger"),b;b.show(),b.first().one(l,function(){d()}),setTimeout(function(){b.addClass("fade-trigger")},this.sensitivity)}else f&&b.stop(),b.css("opacity",1),b.first().fadeIn(c,d),b.length>1&&b.not(":first").fadeIn(c);return b},Out:function(b,c,d,f){return d=d||a.noop,c=c||400,f=f||!1,b.is(":visible")?(e.fade.transitions?(b.first().one(l,function(){b.hasClass("fade-trigger")||(b.hide(),d())}),setTimeout(function(){b.removeClass("fade-trigger")},this.sensitivity)):(f&&b.stop(),b.first().fadeOut(c,d),b.length>1&&b.not(":first").fadeOut(c)),b):b},transitions:function(){var a=document.documentElement.style;return"string"==typeof a.WebkitTransition||"string"==typeof a.MozTransition||"string"==typeof a.OTransition||"string"==typeof a.transition}()},e.bind_resize=function(){g.$dfwTextarea.on("keydown.wp-dfw-resize click.wp-dfw-resize paste.wp-dfw-resize",function(){e.resizeTextarea()})},e.resizeTextarea=function(){var a=g.$dfwTextarea[0];a.scrollHeight>a.clientHeight&&(a.style.height=a.scrollHeight+50+"px")},b.wp=b.wp||{},b.wp.editor=b.wp.editor||{},b.wp.editor.fullscreen=e}(jQuery,window);
\ No newline at end of file
index 8e12aa3d34686ba3291f9ddb651e9a7d5c9ef364..9313f375089ef9b5a125fb49f449241d44015f66 100644 (file)
@@ -57,7 +57,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="https://codex.wordpress.org/Links_Screen" target="_blank">Documentation on Managing Links</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -76,7 +76,7 @@ if ( !empty($_REQUEST['s']) )
 
 <?php
 if ( isset($_REQUEST['deleted']) ) {
-       echo '<div id="message" class="updated"><p>';
+       echo '<div id="message" class="updated notice is-dismissible"><p>';
        $deleted = (int) $_REQUEST['deleted'];
        printf(_n('%s link deleted.', '%s links deleted', $deleted), $deleted);
        echo '</p></div>';
@@ -84,7 +84,7 @@ if ( isset($_REQUEST['deleted']) ) {
 }
 ?>
 
-<form id="posts-filter" action="" method="get">
+<form id="posts-filter" method="get">
 
 <?php $wp_list_table->search_box( __( 'Search Links' ), 'link' ); ?>
 
index 6197281d8667bc891e9150dddac608c47994902f..c1c5e3a33b132d8dab34f33db892d7157b235c91 100644 (file)
@@ -74,10 +74,13 @@ $xml_parser = xml_parser_create();
 // Set the functions to handle opening and closing tags
 xml_set_element_handler($xml_parser, "startElement", "endElement");
 
-if (!xml_parse($xml_parser, $opml, true)) {
-       echo(sprintf(__('XML error: %1$s at line %2$s'),
-       xml_error_string(xml_get_error_code($xml_parser)),
-       xml_get_current_line_number($xml_parser)));
+if ( ! xml_parse( $xml_parser, $opml, true ) ) {
+       printf(
+               /* translators: 1: error message, 2: line number */
+               __( 'XML Error: %1$s at line %2$s' ),
+               xml_error_string( xml_get_error_code( $xml_parser ) ),
+               xml_get_current_line_number( $xml_parser )
+       );
 }
 
 // Free up memory used by the XML parser
index 81c4fc61629a915e3cea8bf622dd6d2c87da7778..d6ff5ad5a846ac23625b5c6327b8e862d65e91fa 100644 (file)
@@ -143,7 +143,7 @@ foreach( $load as $handle ) {
        $out .= get_file($path) . "\n";
 }
 
-header('Content-Type: application/x-javascript; charset=UTF-8');
+header('Content-Type: application/javascript; 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 ac96e8a118f8ba6dddc7ec795b4e3e321957f341..f68a4eef2da0fcd9f200effc29678e1d4851adba 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/Media_Add_New_Screen" target="_blank">Documentation on Uploading Media Files</a>') . '</p>' .
+       '<p>' . __('<a href="https://codex.wordpress.org/Media_Add_New_Screen" target="_blank">Documentation on Uploading Media Files</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
index 5c769e01e1c178310efc807b3f6eb19c06f2aa84..2792b25f179da592cdfc93d38b765a662d16c782 100644 (file)
@@ -31,70 +31,73 @@ $ID = isset($ID) ? (int) $ID : 0;
 $post_id = isset($post_id)? (int) $post_id : 0;
 
 // Require an ID for the edit screen.
-if ( isset($action) && $action == 'edit' && !$ID )
+if ( isset($action) && $action == 'edit' && !$ID ) {
        wp_die( __( 'Cheatin&#8217; uh?' ), 403 );
+}
 
-       if ( ! empty( $_REQUEST['post_id'] ) && ! current_user_can( 'edit_post' , $_REQUEST['post_id'] ) )
-               wp_die( __( 'Cheatin&#8217; uh?' ), 403 );
+if ( ! empty( $_REQUEST['post_id'] ) && ! current_user_can( 'edit_post' , $_REQUEST['post_id'] ) ) {
+       wp_die( __( 'Cheatin&#8217; uh?' ), 403 );
+}
+
+// Upload type: image, video, file, ..?
+if ( isset($_GET['type']) ) {
+       $type = strval($_GET['type']);
+} 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' );
+}
 
-       // Upload type: image, video, file, ..?
-       if ( isset($_GET['type']) ) {
-               $type = strval($_GET['type']);
-       } 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']) ) {
+       $tab = strval($_GET['tab']);
+} 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' );
+}
 
-       // Tab: gallery, library, or type-specific.
-       if ( isset($_GET['tab']) ) {
-               $tab = strval($_GET['tab']);
-       } 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';
 
-       $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() ) ) {
+       /**
+        * 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 {@see '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 {@see 'media_upload_tabs'} filter.
+        *
+        * @since 2.5.0
+        */
+       do_action( "media_upload_$tab" );
+}
 
-       // Let the action code decide how to handle the request.
-       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 {@see '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 {@see 'media_upload_tabs'} filter.
-                *
-                * @since 2.5.0
-                */
-               do_action( "media_upload_$tab" );
-       }
index 60abb648f6e5d78b3c51b35c6bde3be1b8caca7e..62b2401be4d505df3a1479783e6b646d8c7ed4a1 100644 (file)
@@ -80,7 +80,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="https://codex.wordpress.org/Media_Add_New_Screen#Edit_Media" target="_blank">Documentation on Edit Media</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
        );
 
@@ -111,7 +111,7 @@ if ( current_user_can( 'upload_files' ) ) { ?>
 <?php } ?>
 </h2>
 
-<form method="post" action="" class="media-upload-form" id="media-single-form">
+<form method="post" class="media-upload-form" id="media-single-form">
 <p class="submit" style="padding-bottom: 0;">
 <?php submit_button( __( 'Update Media' ), 'primary', 'save', false ); ?>
 </p>
index dea73320f064955102c1499deb24c065da773435..d73fe9bd3150b0222d479f400baa99404ab3f939 100644 (file)
@@ -60,7 +60,7 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
                        $first = false;
                }
 
-               $submenu_items = false;
+               $submenu_items = array();
                if ( ! empty( $submenu[$item[2]] ) ) {
                        $class[] = 'wp-has-submenu';
                        $submenu_items = $submenu[$item[2]];
@@ -174,7 +174,7 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
                                                $class[] = 'current';
                                // If plugin_page is set the parent must either match the current page or not physically exist.
                                // This allows plugin pages with the same hook to exist under different parents.
-                               } else if (
+                               } elseif (
                                        ( ! isset( $plugin_page ) && $self == $sub_item[2] ) ||
                                        ( isset( $plugin_page ) && $plugin_page == $sub_item[2] && ( $item[2] == $self_type || $item[2] == $self || file_exists($menu_file) === false ) )
                                ) {
@@ -219,9 +219,12 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) {
 
 ?>
 
+<div id="adminmenumain" role="navigation" aria-label="<?php esc_attr_e( 'Main menu' ); ?>">
+<a href="#wpbody-content" class="screen-reader-shortcut"><?php _e( 'Skip to main content' ); ?></a>
+<a href="#wp-toolbar" class="screen-reader-shortcut"><?php _e( 'Skip to toolbar' ); ?></a>
 <div id="adminmenuback"></div>
 <div id="adminmenuwrap">
-<ul id="adminmenu" role="navigation">
+<ul id="adminmenu">
 
 <?php
 
@@ -236,3 +239,4 @@ do_action( 'adminmenu' );
 ?>
 </ul>
 </div>
+</div>
index 89c13d96840b61f4ad8d72550c0d7b6956e629ac..f4fee7281f9d4ba2c4f840903a9287a53283a146 100644 (file)
@@ -147,24 +147,24 @@ $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', 'dashicons-admin-appearance' );
+$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' );
 
        $customize_url = add_query_arg( 'return', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), 'customize.php' );
-       $submenu['themes.php'][6] = array( __( 'Customize' ), 'customize', $customize_url, '', 'hide-if-no-customize' );
+       $submenu['themes.php'][6] = array( __( 'Customize' ), 'customize', esc_url( $customize_url ), '', 'hide-if-no-customize' );
 
        if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) ) {
-               $submenu['themes.php'][10] = array(__( 'Menus' ), 'edit_theme_options', 'nav-menus.php');
+               $submenu['themes.php'][10] = array( __( 'Menus' ), 'edit_theme_options', 'nav-menus.php' );
        }
 
        if ( current_theme_supports( 'custom-header' ) && current_user_can( 'customize') ) {
-               $customize_header_url = add_query_arg( 'autofocus[control]', 'header_image', $customize_url );
-               $submenu['themes.php'][15] = array( __( 'Header' ), $appearance_cap, $customize_header_url, '', 'hide-if-no-customize' );
+               $customize_header_url = add_query_arg( array( 'autofocus' => array( 'control' => 'header_image' ) ), $customize_url );
+               $submenu['themes.php'][15] = array( __( 'Header' ), $appearance_cap, esc_url( $customize_header_url ), '', 'hide-if-no-customize' );
        }
 
        if ( current_theme_supports( 'custom-background' ) && current_user_can( 'customize') ) {
-               $customize_background_url = add_query_arg( 'autofocus[control]', 'background_image', $customize_url );
-               $submenu['themes.php'][20] = array( __( 'Background' ), $appearance_cap, $customize_background_url, '', 'hide-if-no-customize' );
+               $customize_background_url = add_query_arg( array( 'autofocus' => array( 'control' => 'background_image' ) ), $customize_url );
+               $submenu['themes.php'][20] = array( __( 'Background' ), $appearance_cap, esc_url( $customize_background_url ), '', 'hide-if-no-customize' );
        }
 
        unset( $customize_url );
@@ -228,7 +228,7 @@ $menu[75] = array( __('Tools'), 'edit_posts', 'tools.php', '', 'menu-top menu-ic
        $submenu['tools.php'][10] = array( __('Import'), 'import', 'import.php' );
        $submenu['tools.php'][15] = array( __('Export'), 'export', 'export.php' );
        if ( is_multisite() && !is_main_site() )
-               $submenu['tools.php'][25] = array( __('Delete Site'), 'manage_options', 'ms-delete-site.php' );
+               $submenu['tools.php'][25] = array( __('Delete Site'), 'delete_site', 'ms-delete-site.php' );
        if ( ! is_multisite() && defined('WP_ALLOW_MULTISITE') && WP_ALLOW_MULTISITE )
                $submenu['tools.php'][50] = array(__('Network Setup'), 'manage_options', 'network.php');
 
index 00143089e2c584958e4759f8dd9f6efcd99e3536..af8a5e05dc07c2d563dbf55f5388bfeab927d728 100644 (file)
@@ -12,8 +12,7 @@ require_once( dirname( __FILE__ ) . '/admin.php' );
 if ( !is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
-// @todo Create a delete blog cap.
-if ( ! current_user_can( 'manage_options' ) )
+if ( ! current_user_can( 'delete_site' ) )
        wp_die(__( 'You do not have sufficient permissions to delete this site.'));
 
 if ( isset( $_GET['h'] ) && $_GET['h'] != '' && get_option( 'delete_blog_hash' ) != false ) {
@@ -26,6 +25,7 @@ if ( isset( $_GET['h'] ) && $_GET['h'] != '' && get_option( 'delete_blog_hash' )
 }
 
 $blog = get_blog_details();
+$user = wp_get_current_user();
 
 $title = __( 'Delete Site' );
 $parent_file = 'tools.php';
@@ -42,9 +42,11 @@ if ( isset( $_POST['action'] ) && $_POST['action'] == 'deleteblog' && isset( $_P
 
        $url_delete = esc_url( admin_url( 'ms-delete-site.php?h=' . $hash ) );
 
-       $content = __( "Dear User,
+       $content = __( "Howdy ###USERNAME###,
+
 You recently clicked the 'Delete Site' link on your site and filled in a
 form on that page.
+
 If you really want to delete your site, click the link below. You will not
 be asked to confirm again so only click this link if you are absolutely certain:
 ###URL_DELETE###
@@ -65,6 +67,7 @@ Webmaster
         */
        $content = apply_filters( 'delete_site_email_content', $content );
 
+       $content = str_replace( '###USERNAME###', $user->user_login, $content );
        $content = str_replace( '###URL_DELETE###', $url_delete, $content );
        $content = str_replace( '###SITE_NAME###', $current_site->site_name, $content );
 
index feed16aee654cc933f9e4093fe78465f2fcdff85..269b081166e7b5fb25ad0a4f688cc6c957b030f4 100644 (file)
@@ -45,14 +45,14 @@ 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="https://codex.wordpress.org/Dashboard_My_Sites_Screen" target="_blank">Documentation on My Sites</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 if ( $updated ) { ?>
-       <div id="message" class="updated"><p><strong><?php _e( 'Settings saved.' ); ?></strong></p></div>
+       <div id="message" class="updated notice is-dismissible"><p><strong><?php _e( 'Settings saved.' ); ?></strong></p></div>
 <?php } ?>
 
 <div class="wrap">
@@ -64,7 +64,7 @@ if ( empty( $blogs ) ) :
        echo '</p>';
 else :
 ?>
-<form id="myblogs" action="" method="post">
+<form id="myblogs" method="post">
        <?php
        choose_primary_blog();
        /**
@@ -75,7 +75,7 @@ else :
        do_action( 'myblogs_allblogs_options' );
        ?>
        <br clear="all" />
-       <table class="widefat fixed">
+       <table class="widefat fixed striped">
        <?php
        /**
         * Enable the Global Settings section on the My Sites screen.
@@ -109,10 +109,8 @@ else :
                $split = $split + $cols;
        }
 
-       $c = '';
        foreach ( $rows as $row ) {
-               $c = $c == 'alternate' ? '' : 'alternate';
-               echo "<tr class='$c'>";
+               echo "<tr>";
                $i = 0;
                foreach ( $row as $user_blog ) {
                        $s = $i == 3 ? '' : 'border-right: 1px solid #ccc;';
index 5f99e720c05e616120417ae3b103f7ffd2e7139b..384a85666daf0d2fc3901a81823cf9be4f66e144 100644 (file)
@@ -231,7 +231,7 @@ switch ( $action ) {
                check_admin_referer( 'delete-menu_item_' . $menu_item_id );
 
                if ( is_nav_menu_item( $menu_item_id ) && wp_delete_post( $menu_item_id, true ) )
-                       $messages[] = '<div id="message" class="updated"><p>' . __('The menu item has been successfully deleted.') . '</p></div>';
+                       $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . __('The menu item has been successfully deleted.') . '</p></div>';
                break;
 
        case 'delete':
@@ -248,9 +248,9 @@ switch ( $action ) {
                        break;
 
                if ( is_wp_error( $deletion ) )
-                       $messages[] = '<div id="message" class="error"><p>' . $deletion->get_error_message() . '</p></div>';
+                       $messages[] = '<div id="message" class="error notice is-dismissible"><p>' . $deletion->get_error_message() . '</p></div>';
                else
-                       $messages[] = '<div id="message" class="updated"><p>' . __( 'The menu has been successfully deleted.' ) . '</p></div>';
+                       $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . __( 'The menu has been successfully deleted.' ) . '</p></div>';
                break;
 
        case 'delete_menus':
@@ -261,13 +261,13 @@ switch ( $action ) {
 
                        $deletion = wp_delete_nav_menu( $menu_id_to_delete );
                        if ( is_wp_error( $deletion ) ) {
-                               $messages[] = '<div id="message" class="error"><p>' . $deletion->get_error_message() . '</p></div>';
+                               $messages[] = '<div id="message" class="error notice is-dismissible"><p>' . $deletion->get_error_message() . '</p></div>';
                                $deletion_error = true;
                        }
                }
 
                if ( empty( $deletion_error ) )
-                       $messages[] = '<div id="message" class="updated"><p>' . __( 'Selected menus have been successfully deleted.' ) . '</p></div>';
+                       $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . __( 'Selected menus have been successfully deleted.' ) . '</p></div>';
                break;
 
        case 'update':
@@ -296,7 +296,7 @@ switch ( $action ) {
                                $_nav_menu_selected_id = wp_update_nav_menu_object( 0, array('menu-name' => $new_menu_title) );
 
                                if ( is_wp_error( $_nav_menu_selected_id ) ) {
-                                       $messages[] = '<div id="message" class="error"><p>' . $_nav_menu_selected_id->get_error_message() . '</p></div>';
+                                       $messages[] = '<div id="message" class="error notice is-dismissible"><p>' . $_nav_menu_selected_id->get_error_message() . '</p></div>';
                                } else {
                                        $_menu_object = wp_get_nav_menu_object( $_nav_menu_selected_id );
                                        $nav_menu_selected_id = $_nav_menu_selected_id;
@@ -327,7 +327,7 @@ switch ( $action ) {
                                        exit();
                                }
                        } else {
-                               $messages[] = '<div id="message" class="error"><p>' . __( 'Please enter a valid menu name.' ) . '</p></div>';
+                               $messages[] = '<div id="message" class="error notice is-dismissible"><p>' . __( 'Please enter a valid menu name.' ) . '</p></div>';
                        }
 
                // Update existing menu.
@@ -337,7 +337,7 @@ switch ( $action ) {
 
                        $menu_title = trim( esc_html( $_POST['menu-name'] ) );
                        if ( ! $menu_title ) {
-                               $messages[] = '<div id="message" class="error"><p>' . __( 'Please enter a valid menu name.' ) . '</p></div>';
+                               $messages[] = '<div id="message" class="error notice is-dismissible"><p>' . __( 'Please enter a valid menu name.' ) . '</p></div>';
                                $menu_title = $_menu_object->name;
                        }
 
@@ -345,7 +345,7 @@ switch ( $action ) {
                                $_nav_menu_selected_id = wp_update_nav_menu_object( $nav_menu_selected_id, array( 'menu-name' => $menu_title ) );
                                if ( is_wp_error( $_nav_menu_selected_id ) ) {
                                        $_menu_object = $_nav_menu_selected_id;
-                                       $messages[] = '<div id="message" class="error"><p>' . $_nav_menu_selected_id->get_error_message() . '</p></div>';
+                                       $messages[] = '<div id="message" class="error notice is-dismissible"><p>' . $_nav_menu_selected_id->get_error_message() . '</p></div>';
                                } else {
                                        $_menu_object = wp_get_nav_menu_object( $_nav_menu_selected_id );
                                        $nav_menu_selected_title = $_menu_object->name;
@@ -374,7 +374,7 @@ switch ( $action ) {
                        // Set menu locations
                        set_theme_mod( 'nav_menu_locations', $menu_locations );
 
-                       $messages[] = '<div id="message" class="updated"><p>' . __( 'Menu locations updated.' ) . '</p></div>';
+                       $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . __( 'Menu locations updated.' ) . '</p></div>';
                }
                break;
 }
@@ -517,7 +517,7 @@ if ( ! $locations_screen ) : // Main tab
        $editing_menus  = '<p>' . __( 'Each custom menu may contain a mix of links to pages, categories, custom URLs or other content types. Menu links are added by selecting items from the expanding boxes in the left-hand column below.' ) . '</p>';
        $editing_menus .= '<p>' . __( '<strong>Clicking the arrow to the right of any menu item</strong> in the editor will reveal a standard group of settings. Additional settings such as link target, CSS classes, link relationships, and link descriptions can be enabled and disabled via the Screen Options tab.' ) . '</p>';
        $editing_menus .= '<ul><li>' . __( 'Add one or several items at once by <strong>selecting the checkbox next to each item and clicking Add to Menu</strong>' ) . '</li>';
-       $editing_menus .= '<li>' . __( 'To add a custom link, <strong>expand the Links section, enter a URL and link text, and click Add to Menu</strong>' ) .'</li>';
+       $editing_menus .= '<li>' . __( 'To add a custom link, <strong>expand the Custom Links section, enter a URL and link text, and click Add to Menu</strong>' ) .'</li>';
        $editing_menus .= '<li>' . __( 'To reorganize menu items, <strong>drag and drop items with your mouse or use your keyboard</strong>. Drag or move a menu item a little to the right to make it a submenu' ) . '</li>';
        $editing_menus .= '<li>' . __( 'Delete a menu item by <strong>expanding it and clicking the Remove link</strong>' ) . '</li></ul>';
 
@@ -541,7 +541,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="https://codex.wordpress.org/Appearance_Menus_Screen" target="_blank">Documentation on Menus</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -562,7 +562,11 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
        ?>
        <?php
        if ( $locations_screen ) :
-               echo '<p>' . sprintf( _n( 'Your theme supports %s menu. Select which menu you would like to use.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ), number_format_i18n( $num_locations ) ) . '</p>';
+               if ( 1 == $num_locations ) {
+                       echo '<p>' . __( 'Your theme supports one menu. Select which menu you would like to use.' ) . '</p>';
+               } else {
+                       echo '<p>' .  sprintf( _n( 'Your theme supports %s menu. Select which menu appears in each location.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ), number_format_i18n( $num_locations ) ) . '</p>';
+               }
        ?>
        <div id="menu-locations-wrap">
                <form method="post" action="<?php echo esc_url( add_query_arg( array( 'action' => 'locations' ), admin_url( 'nav-menus.php' ) ) ); ?>">
@@ -573,16 +577,10 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
                                        <th scope="col" class="manage-column column-menus"><?php _e( 'Assigned Menu' ); ?></th>
                                </tr>
                                </thead>
-                               <!--<tfoot>
-                               <tr>
-                                       <th scope="col" class="manage-column column-locations"><?php _e( 'Theme Location' ); ?></th>
-                                       <th scope="col" class="manage-column column-menus"><?php _e( 'Assigned Menu' ); ?></th>
-                               </tr>
-                               </tfoot>-->
                                <tbody class="menu-locations">
                                <?php foreach ( $locations as $_location => $_name ) { ?>
-                                       <tr id="menu-locations-row">
-                                               <td class="menu-location-title"><strong><?php echo $_name; ?></strong></td>
+                                       <tr class="menu-locations-row">
+                                               <td class="menu-location-title"><label for="locations-<?php echo $_location; ?>"><?php echo $_name; ?></label></td>
                                                <td class="menu-location-menus">
                                                        <select name="menu-locations[<?php echo $_location; ?>]" id="locations-<?php echo $_location; ?>">
                                                                <option value="0"><?php printf( '&mdash; %s &mdash;', esc_html__( 'Select a Menu' ) ); ?></option>
@@ -597,7 +595,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
                                                                <?php if ( isset( $menu_locations[ $_location ] ) && 0 != $menu_locations[ $_location ] ) : ?>
                                                                <span class="locations-edit-menu-link">
                                                                        <a href="<?php echo esc_url( add_query_arg( array( 'action' => 'edit', 'menu' => $menu_locations[$_location] ), admin_url( 'nav-menus.php' ) ) ); ?>">
-                                                                               <?php _ex( 'Edit', 'menu' ); ?>
+                                                                               <span aria-hidden="true"><?php _ex( 'Edit', 'menu' ); ?></span><span class="screen-reader-text"><?php _e( 'Edit selected menu' ); ?></span>
                                                                        </a>
                                                                </span>
                                                                <?php endif; ?>
@@ -606,9 +604,9 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
                                                                                <?php _ex( 'Use new menu', 'menu' ); ?>
                                                                        </a>
                                                                </span>
-                                                       </div><!-- #locations-row-links -->
+                                                       </div><!-- .locations-row-links -->
                                                </td><!-- .menu-location-menus -->
-                                       </tr><!-- #menu-locations-row -->
+                                       </tr><!-- .menu-locations-row -->
                                <?php } // foreach ?>
                                </tbody>
                        </table>
@@ -684,7 +682,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
                <div class="clear"></div>
 
-               <form id="nav-menu-meta" action="" class="nav-menu-meta" method="post" enctype="multipart/form-data">
+               <form id="nav-menu-meta" class="nav-menu-meta" method="post" enctype="multipart/form-data">
                        <input type="hidden" name="menu" id="nav-menu-meta-object-id" value="<?php echo esc_attr( $nav_menu_selected_id ); ?>" />
                        <input type="hidden" name="action" value="add-menu-item" />
                        <?php wp_nonce_field( 'add-menu_item', 'menu-settings-column-nonce' ); ?>
@@ -694,7 +692,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
        </div><!-- /#menu-settings-column -->
        <div id="menu-management-liquid">
                <div id="menu-management">
-                       <form id="update-nav-menu" action="" method="post" enctype="multipart/form-data">
+                       <form id="update-nav-menu" method="post" enctype="multipart/form-data">
                                <div class="menu-edit <?php if ( $add_new_screen ) echo 'blank-slate'; ?>">
                                        <?php
                                        wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false );
@@ -784,7 +782,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
                                                        </span><!-- END .delete-action -->
                                                        <?php endif; ?>
                                                        <div class="publishing-action">
-                                                               <?php submit_button( empty( $nav_menu_selected_id ) ? __( 'Create Menu' ) : __( 'Save Menu' ), 'button-primary menu-save', 'save_menu', false, array( 'id' => 'save_menu_header' ) ); ?>
+                                                               <?php submit_button( empty( $nav_menu_selected_id ) ? __( 'Create Menu' ) : __( 'Save Menu' ), 'button-primary menu-save', 'save_menu', false, array( 'id' => 'save_menu_footer' ) ); ?>
                                                        </div><!-- END .publishing-action -->
                                                </div><!-- END .major-publishing-actions -->
                                        </div><!-- /#nav-menu-footer -->
index 051295a1047b2e13e3402b00254f7b0e11d0738f..fdc0a51b52084926434960ded7f75b6766ea4988 100644 (file)
@@ -120,8 +120,8 @@ $network_help = '<p>' . __('This screen allows you to configure a network as hav
        '<p>' . __('Once you add this code and refresh your browser, multisite should be enabled. This screen, now in the Network Admin navigation menu, will keep an archive of the added code. You can toggle between Network Admin and Site Admin by clicking on the Network Admin or an individual site name under the My Sites dropdown in the Toolbar.') . '</p>' .
        '<p>' . __('The choice of subdirectory sites is disabled if this setup is more than a month old because of permalink problems with &#8220;/blog/&#8221; from the main site. This disabling will be addressed in a future version.') . '</p>' .
        '<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="https://codex.wordpress.org/Create_A_Network" target="_blank">Documentation on Creating a Network</a>') . '</p>' .
+       '<p>' . __('<a href="https://codex.wordpress.org/Tools_Network_Screen" target="_blank">Documentation on the Network Screen</a>') . '</p>';
 
 get_current_screen()->add_help_tab( array(
        'id'      => 'network',
@@ -131,8 +131,8 @@ 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/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="https://codex.wordpress.org/Create_A_Network" target="_blank">Documentation on Creating a Network</a>') . '</p>' .
+       '<p>' . __('<a href="https://codex.wordpress.org/Tools_Network_Screen" target="_blank">Documentation on the Network Screen</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -179,7 +179,7 @@ function network_step1( $errors = false ) {
                die();
        }
 
-       echo '<form method="post" action="">';
+       echo '<form method="post">';
 
        wp_nonce_field( 'install-network-1' );
 
@@ -223,11 +223,19 @@ function network_step1( $errors = false ) {
                <table class="form-table">
                        <tr>
                                <th><label><input type="radio" name="subdomain_install" value="1"<?php checked( $subdomain_install ); ?> /> <?php _e( 'Sub-domains' ); ?></label></th>
-                               <td><?php printf( _x( 'like <code>site1.%1$s</code> and <code>site2.%1$s</code>', 'subdomain examples' ), $hostname ); ?></td>
+                               <td><?php printf(
+                                       /* translators: 1: hostname */
+                                       _x( 'like <code>site1.%1$s</code> and <code>site2.%1$s</code>', 'subdomain examples' ),
+                                       $hostname
+                               ); ?></td>
                        </tr>
                        <tr>
                                <th><label><input type="radio" name="subdomain_install" value="0"<?php checked( ! $subdomain_install ); ?> /> <?php _e( 'Sub-directories' ); ?></label></th>
-                               <td><?php printf( _x( 'like <code>%1$s/site1</code> and <code>%1$s/site2</code>', 'subdirectory examples' ), $hostname ); ?></td>
+                               <td><?php printf(
+                                       /* translators: 1: hostname */
+                                       _x( 'like <code>%1$s/site1</code> and <code>%1$s/site2</code>', 'subdirectory examples' ),
+                                       $hostname
+                               ); ?></td>
                        </tr>
                </table>
 
@@ -413,8 +421,16 @@ define('BLOG_ID_CURRENT_SITE', 1);
                }
                $num_keys_salts = count( $keys_salts );
 ?>
-       <p><?php
-               echo _n( 'This unique authentication key is also missing from your <code>wp-config.php</code> file.', 'These unique authentication keys are also missing from your <code>wp-config.php</code> file.', $num_keys_salts ); ?> <?php _e( 'To make your installation more secure, you should also add:' ) ?></p>
+       <p>
+               <?php
+                       if ( 1 == $num_keys_salts ) {
+                               _e( 'This unique authentication key is also missing from your <code>wp-config.php</code> file.' );
+                       } else {
+                               _e( 'These unique authentication keys are also missing from your <code>wp-config.php</code> file.' );
+                       }
+               ?>
+               <?php _e( 'To make your installation more secure, you should also add:' ); ?>
+       </p>
        <textarea class="code" readonly="readonly" cols="100" rows="<?php echo $num_keys_salts; ?>"><?php echo esc_textarea( $keys_salts_str ); ?></textarea>
 <?php
        }
@@ -526,7 +542,7 @@ EOF;
        <?php endif; // end IIS/Apache code branches.
 
        if ( !is_multisite() ) { ?>
-               <p><?php printf( __( 'Once you complete these steps, your network is enabled and configured. You will have to log in again.') ); ?> <a href="<?php echo esc_url( site_url( 'wp-login.php' ) ); ?>"><?php _e( 'Log In' ); ?></a></p>
+               <p><?php _e( 'Once you complete these steps, your network is enabled and configured. You will have to log in again.' ); ?> <a href="<?php echo esc_url( site_url( 'wp-login.php' ) ); ?>"><?php _e( 'Log In' ); ?></a></p>
 <?php
        }
 }
index bd6437e7f001b2109c6fac8f7a5f0f6fb3394e36..70f6bbf5fb33f5958589066070a287264b5c5b48 100644 (file)
@@ -17,7 +17,7 @@ if ( !is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! current_user_can( 'manage_network' ) )
-       wp_die( __( 'You do not have permission to access this page.' ) );
+       wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
 $title = __( 'Dashboard' );
 $parent_file = 'index.php';
@@ -50,7 +50,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="https://codex.wordpress.org/Network_Admin" target="_blank">Documentation on the Network Admin</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
index d3d8584f9e658822f8a1056935e2cfbeb82f5ab8..f3ef480056b946d10d9ae57f3f3f94b905943d3a 100644 (file)
@@ -17,7 +17,7 @@ if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! current_user_can( 'manage_network_options' ) )
-       wp_die( __( 'You do not have permission to access this page.' ) );
+       wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
 $title = __( 'Network Settings' );
 $parent_file = 'settings.php';
@@ -61,7 +61,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="https://codex.wordpress.org/Network_Admin_Settings_Screen" target="_blank">Documentation on Network Settings</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -114,7 +114,7 @@ if ( $_POST ) {
 include( ABSPATH . 'wp-admin/admin-header.php' );
 
 if ( isset( $_GET['updated'] ) ) {
-       ?><div id="message" class="updated"><p><?php _e( 'Options saved.' ) ?></p></div><?php
+       ?><div id="message" class="updated notice is-dismissible"><p><?php _e( 'Options saved.' ) ?></p></div><?php
 }
 ?>
 
@@ -134,8 +134,8 @@ if ( isset( $_GET['updated'] ) ) {
                        <tr>
                                <th scope="row"><label for="admin_email"><?php _e( 'Network Admin Email' ) ?></label></th>
                                <td>
-                                       <input name="admin_email" type="email" id="admin_email" class="regular-text" value="<?php echo esc_attr( get_site_option( 'admin_email' ) ) ?>" />
-                                       <p class="description">
+                                       <input name="admin_email" type="email" id="admin_email" aria-describedby="admin-email-desc" class="regular-text" value="<?php echo esc_attr( get_site_option( 'admin_email' ) ) ?>" />
+                                       <p class="description" id="admin-email-desc">
                                                <?php _e( 'This email address will receive notifications. Registration and support emails will also come from this address.' ); ?>
                                        </p>
                                </td>
@@ -151,15 +151,16 @@ if ( isset( $_GET['updated'] ) ) {
                                $reg = get_site_option( 'registration' );
                                ?>
                                <td>
+                                       <fieldset>
+                                       <legend class="screen-reader-text"><?php _e( 'New registrations settings' ) ?></legend>
                                        <label><input name="registration" type="radio" id="registration1" value="none"<?php checked( $reg, 'none') ?> /> <?php _e( 'Registration is disabled.' ); ?></label><br />
                                        <label><input name="registration" type="radio" id="registration2" value="user"<?php checked( $reg, 'user') ?> /> <?php _e( 'User accounts may be registered.' ); ?></label><br />
                                        <label><input name="registration" type="radio" id="registration3" value="blog"<?php checked( $reg, 'blog') ?> /> <?php _e( 'Logged in users may register new sites.' ); ?></label><br />
                                        <label><input name="registration" type="radio" id="registration4" value="all"<?php checked( $reg, 'all') ?> /> <?php _e( 'Both sites and user accounts can be registered.' ); ?></label>
-                                       <p class="description">
-                                               <?php if ( is_subdomain_install() )
-                                               _e( 'If registration is disabled, please set <code>NOBLOGREDIRECT</code> in <code>wp-config.php</code> to a URL you will redirect visitors to if they visit a non-existent site.' );
-                                       ?>
-                                       </p>
+                                       <?php if ( is_subdomain_install() ) {
+                                               echo '<p class="description">' . __( 'If registration is disabled, please set <code>NOBLOGREDIRECT</code> in <code>wp-config.php</code> to a URL you will redirect visitors to if they visit a non-existent site.' ) . '</p>';
+                                       } ?>
+                                       </fieldset>
                                </td>
                        </tr>
 
@@ -184,8 +185,8 @@ if ( isset( $_GET['updated'] ) ) {
                        <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" />
-                                       <p class="description">
+                                       <input name="illegal_names" type="text" id="illegal_names" aria-describedby="illegal-names-desc" class="large-text" value="<?php echo esc_attr( implode( " ", (array) get_site_option( 'illegal_names' ) ) ); ?>" size="45" />
+                                       <p class="description" id="illegal-names-desc">
                                                <?php _e( 'Users are not allowed to register these sites. Separate names by spaces.' ) ?>
                                        </p>
                                </td>
@@ -196,9 +197,9 @@ if ( isset( $_GET['updated'] ) ) {
                                <td>
                                        <?php $limited_email_domains = get_site_option( 'limited_email_domains' );
                                        $limited_email_domains = str_replace( ' ', "\n", $limited_email_domains ); ?>
-                                       <textarea name="limited_email_domains" id="limited_email_domains" cols="45" rows="5">
+                                       <textarea name="limited_email_domains" id="limited_email_domains" aria-describedby="limited-email-domains-desc" cols="45" rows="5">
 <?php echo esc_textarea( $limited_email_domains == '' ? '' : implode( "\n", (array) $limited_email_domains ) ); ?></textarea>
-                                       <p class="description">
+                                       <p class="description" id="limited-email-domains-desc">
                                                <?php _e( 'If you want to limit site registrations to certain domains. One domain per line.' ) ?>
                                        </p>
                                </td>
@@ -207,9 +208,9 @@ if ( isset( $_GET['updated'] ) ) {
                        <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">
+                                       <textarea name="banned_email_domains" id="banned_email_domains" aria-describedby="banned-email-domains-desc" cols="45" rows="5">
 <?php echo esc_textarea( get_site_option( 'banned_email_domains' ) == '' ? '' : implode( "\n", (array) get_site_option( 'banned_email_domains' ) ) ); ?></textarea>
-                                       <p class="description">
+                                       <p class="description" id="banned-email-domains-desc">
                                                <?php _e( 'If you want to ban domains from site registrations. One domain per line.' ) ?>
                                        </p>
                                </td>
@@ -222,9 +223,9 @@ if ( isset( $_GET['updated'] ) ) {
                        <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">
+                                       <textarea name="welcome_email" id="welcome_email" aria-describedby="welcome-email-desc" rows="5" cols="45" class="large-text">
 <?php echo esc_textarea( get_site_option( 'welcome_email' ) ) ?></textarea>
-                                       <p class="description">
+                                       <p class="description" id="welcome-email-desc">
                                                <?php _e( 'The welcome email sent to new site owners.' ) ?>
                                        </p>
                                </td>
@@ -232,9 +233,9 @@ if ( isset( $_GET['updated'] ) ) {
                        <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">
+                                       <textarea name="welcome_user_email" id="welcome_user_email" aria-describedby="welcome-user-email-desc" rows="5" cols="45" class="large-text">
 <?php echo esc_textarea( get_site_option( 'welcome_user_email' ) ) ?></textarea>
-                                       <p class="description">
+                                       <p class="description" id="welcome-user-email-desc">
                                                <?php _e( 'The welcome email sent to new users.' ) ?>
                                        </p>
                                </td>
@@ -242,9 +243,9 @@ if ( isset( $_GET['updated'] ) ) {
                        <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">
+                                       <textarea name="first_post" id="first_post" aria-describedby="first-post-desc" rows="5" cols="45" class="large-text">
 <?php echo esc_textarea( get_site_option( 'first_post' ) ) ?></textarea>
-                                       <p class="description">
+                                       <p class="description" id="first-post-desc">
                                                <?php _e( 'The first post on a new site.' ) ?>
                                        </p>
                                </td>
@@ -252,9 +253,9 @@ if ( isset( $_GET['updated'] ) ) {
                        <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">
+                                       <textarea name="first_page" id="first_page" aria-describedby="first-page-desc" rows="5" cols="45" class="large-text">
 <?php echo esc_textarea( get_site_option( 'first_page' ) ) ?></textarea>
-                                       <p class="description">
+                                       <p class="description" id="first-page-desc">
                                                <?php _e( 'The first page on a new site.' ) ?>
                                        </p>
                                </td>
@@ -262,9 +263,9 @@ if ( isset( $_GET['updated'] ) ) {
                        <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">
+                                       <textarea name="first_comment" id="first_comment" aria-describedby="first-comment-desc" rows="5" cols="45" class="large-text">
 <?php echo esc_textarea( get_site_option( 'first_comment' ) ) ?></textarea>
-                                       <p class="description">
+                                       <p class="description" id="first-comment-desc">
                                                <?php _e( 'The first comment on a new site.' ) ?>
                                        </p>
                                </td>
@@ -272,8 +273,8 @@ if ( isset( $_GET['updated'] ) ) {
                        <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') ?>" />
-                                       <p class="description">
+                                       <input type="text" size="40" name="first_comment_author" id="first_comment_author" aria-describedby="first-comment-author-desc" value="<?php echo get_site_option('first_comment_author') ?>" />
+                                       <p class="description" id="first-comment-author-desc">
                                                <?php _e( 'The author of the first comment on a new site.' ) ?>
                                        </p>
                                </td>
@@ -281,8 +282,8 @@ if ( isset( $_GET['updated'] ) ) {
                        <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' ) ) ?>" />
-                                       <p class="description">
+                                       <input type="text" size="40" name="first_comment_url" id="first_comment_url" aria-describedby="first-comment-url-desc" value="<?php echo esc_attr( get_site_option( 'first_comment_url' ) ) ?>" />
+                                       <p class="description" id="first-comment-url-desc">
                                                <?php _e( 'The URL for the first comment on a new site.' ) ?>
                                        </p>
                                </td>
@@ -293,18 +294,31 @@ if ( isset( $_GET['updated'] ) ) {
                        <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 />
+                                       <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" aria-describedby="blog-upload-space-desc" value="' . esc_attr( get_site_option('blog_upload_space', 100) ) . '" />' ); ?></label><br />
+                                       <p class="screen-reader-text" id="blog-upload-space-desc">
+                                               <?php _e( 'Size in megabytes' ) ?>
+                                       </p>
                                </td>
                        </tr>
 
                        <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>
+                               <td>
+                                       <input name="upload_filetypes" type="text" id="upload_filetypes" aria-describedby="upload-filetypes-desc" class="large-text" value="<?php echo esc_attr( get_site_option( 'upload_filetypes', 'jpg jpeg png gif' ) ) ?>" size="45" />
+                                       <p class="description" id="upload-filetypes-desc">
+                                               <?php _e( 'Allowed file types. Separate types by spaces.' ) ?>
+                                       </p>
+                               </td>
                        </tr>
 
                        <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>
+                               <td>
+                                       <?php printf( _x( '%s KB', 'File size in kilobytes' ), '<input name="fileupload_maxk" type="number" min="0" style="width: 100px" id="fileupload_maxk" aria-describedby="fileupload-maxk-desc" value="' . esc_attr( get_site_option( 'fileupload_maxk', 300 ) ) . '" />' ); ?>
+                                       <p class="screen-reader-text" id="fileupload-maxk-desc">
+                                               <?php _e( 'Size in kilobytes' ) ?>
+                                       </p>
+                               </td>
                        </tr>
                </table>
 
@@ -363,9 +377,15 @@ if ( isset( $_GET['updated'] ) ) {
                         * @param array $admin_menus The menu items available.
                         */
                        $menu_items = apply_filters( 'mu_menu_items', array( 'plugins' => __( 'Plugins' ) ) );
+                       $fieldset_end = '';
+                       if ( count( (array) $menu_items ) > 1 ) {
+                               echo '<fieldset><legend class="screen-reader-text">' . __( 'Enable menus' ) . '</legend>';
+                               $fieldset_end = '</fieldset>';
+                       }
                        foreach ( (array) $menu_items as $key => $val ) {
                                echo "<label><input type='checkbox' name='menu_items[" . $key . "]' value='1'" . ( isset( $menu_perms[$key] ) ? checked( $menu_perms[$key], '1', false ) : '' ) . " /> " . esc_html( $val ) . "</label><br/>";
                        }
+                       echo $fieldset_end;
                        ?>
                                </td>
                        </tr>
index 0e18020c88d2133d07ccdf2e739fac88c16671bb..87ca256378c2a6339517619573965eaf1068fa10 100644 (file)
@@ -29,7 +29,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="https://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -40,7 +40,7 @@ if ( ! $id )
 
 $details = get_blog_details( $id );
 if ( !can_edit_network( $details->site_id ) )
-       wp_die( __( 'You do not have permission to access this page.' ) );
+       wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
 $parsed = parse_url( $details->siteurl );
 $is_main_site = is_main_site( $id );
@@ -50,15 +50,6 @@ if ( isset($_REQUEST['action']) && 'update-site' == $_REQUEST['action'] ) {
 
        switch_to_blog( $id );
 
-       if ( isset( $_POST['update_home_url'] ) && $_POST['update_home_url'] == 'update' ) {
-               $blog_address = esc_url_raw( $_POST['blog']['domain'] . $_POST['blog']['path'] );
-               if ( get_option( 'siteurl' ) != $blog_address )
-                       update_option( 'siteurl', $blog_address );
-
-               if ( get_option( 'home' ) != $blog_address )
-                       update_option( 'home', $blog_address );
-       }
-
        // Rewrite rules can't be flushed during switch to blog.
        delete_option( 'rewrite_rules' );
 
@@ -74,6 +65,17 @@ if ( isset($_REQUEST['action']) && 'update-site' == $_REQUEST['action'] ) {
        }
        update_blog_details( $id, $blog_data );
 
+       if ( isset( $_POST['update_home_url'] ) && $_POST['update_home_url'] == 'update' ) {
+               $new_details = get_blog_details( $id, false );
+               $blog_address = esc_url_raw( $new_details->domain . $new_details->path );
+               if ( get_option( 'siteurl' ) != $blog_address ) {
+                       update_option( 'siteurl', $blog_address );
+               }
+               if ( get_option( 'home' ) != $blog_address ) {
+                       update_option( 'home', $blog_address );
+               }
+       }
+
        restore_current_blog();
        wp_redirect( add_query_arg( array( 'update' => 'updated', 'id' => $id ), 'site-info.php') );
        exit;
@@ -86,8 +88,8 @@ if ( isset($_GET['update']) ) {
 }
 
 $site_url_no_http = preg_replace( '#^http(s)?://#', '', get_blogaddress_by_id( $id ) );
-$title_site_url_linked = sprintf( __('Edit Site: <a href="%1$s">%2$s</a>'), get_blogaddress_by_id( $id ), $site_url_no_http );
-$title = sprintf( __('Edit Site: %s'), $site_url_no_http );
+$title_site_url_linked = sprintf( __( 'Edit Site: %s' ), '<a href="' . get_blogaddress_by_id( $id ) . '">' . $site_url_no_http . '</a>' );
+$title = sprintf( __( 'Edit Site: %s' ), $site_url_no_http );
 
 $parent_file = 'sites.php';
 $submenu_file = 'sites.php';
@@ -115,42 +117,44 @@ foreach ( $tabs as $tab_id => $tab ) {
 <?php
 if ( ! empty( $messages ) ) {
        foreach ( $messages as $msg )
-               echo '<div id="message" class="updated"><p>' . $msg . '</p></div>';
+               echo '<div id="message" class="updated notice is-dismissible"><p>' . $msg . '</p></div>';
 } ?>
 <form method="post" action="site-info.php?action=update-site">
        <?php wp_nonce_field( 'edit-site' ); ?>
        <input type="hidden" name="id" value="<?php echo esc_attr( $id ) ?>" />
        <table class="form-table">
                <tr class="form-field form-required">
-                       <th scope="row"><?php _e( 'Domain' ) ?></th>
                        <?php if ( $is_main_site ) { ?>
+                               <th scope="row"><?php _e( 'Domain' ) ?></th>
                                <td><code><?php echo $parsed['scheme'] . '://' . esc_attr( $details->domain ) ?></code></td>
                        <?php } else { ?>
+                               <th scope="row"><label for="domain"><?php _e( 'Domain' ) ?></label></th>
                                <td><?php echo $parsed['scheme'] . '://'; ?><input name="blog[domain]" type="text" id="domain" value="<?php echo esc_attr( $details->domain ) ?>" /></td>
                        <?php } ?>
                </tr>
                <tr class="form-field form-required">
-                       <th scope="row"><?php _e( 'Path' ) ?></th>
                        <?php if ( $is_main_site ) { ?>
+                       <th scope="row"><?php _e( 'Path' ) ?></th>
                        <td><code><?php echo esc_attr( $details->path ) ?></code></td>
                        <?php
                        } else {
                                switch_to_blog( $id );
                        ?>
+                       <th scope="row"><label for="path"><?php _e( 'Path' ) ?></label></th>
                        <td>
                                <input name="blog[path]" type="text" id="path" value="<?php echo esc_attr( $details->path ) ?>" /><br />
-                               <label><input type="checkbox" name="update_home_url" value="update" <?php if ( get_option( 'siteurl' ) == untrailingslashit( get_blogaddress_by_id ($id ) ) || get_option( 'home' ) == untrailingslashit( get_blogaddress_by_id( $id ) ) ) echo 'checked="checked"'; ?> /> <?php _e( 'Update <code>siteurl</code> and <code>home</code> as well.' ); ?></label>
+                               <input type="checkbox" name="update_home_url" id="update_home_url" value="update" <?php if ( get_option( 'siteurl' ) == untrailingslashit( get_blogaddress_by_id ($id ) ) || get_option( 'home' ) == untrailingslashit( get_blogaddress_by_id( $id ) ) ) echo 'checked="checked"'; ?> /> <label for="update_home_url"><?php _e( 'Update <code>siteurl</code> and <code>home</code> as well.' ); ?></label>
                        </td>
                        <?php
                                restore_current_blog();
                        } ?>
                </tr>
                <tr class="form-field">
-                       <th scope="row"><?php _ex( 'Registered', 'site' ) ?></th>
+                       <th scope="row"><label for="blog_registered"><?php _ex( 'Registered', 'site' ) ?></label></th>
                        <td><input name="blog[registered]" type="text" id="blog_registered" value="<?php echo esc_attr( $details->registered ) ?>" /></td>
                </tr>
                <tr class="form-field">
-                       <th scope="row"><?php _e( 'Last Updated' ); ?></th>
+                       <th scope="row"><label for="blog_last_updated"><?php _e( 'Last Updated' ); ?></label></th>
                        <td><input name="blog[last_updated]" type="text" id="blog_last_updated" value="<?php echo esc_attr( $details->last_updated ) ?>" /></td>
                </tr>
                <?php
@@ -165,10 +169,13 @@ if ( ! empty( $messages ) ) {
                <tr>
                        <th scope="row"><?php _e( 'Attributes' ); ?></th>
                        <td>
+                       <fieldset>
+                       <legend class="screen-reader-text"><?php _e( 'Set site attributes' ) ?></legend>
                        <?php foreach ( $attribute_fields as $field_key => $field_label ) : ?>
                                <label><input type="checkbox" name="blog[<?php echo $field_key; ?>]" value="1" <?php checked( (bool) $details->$field_key, true ); disabled( ! in_array( $details->$field_key, array( 0, 1 ) ) ); ?> />
                                <?php echo $field_label; ?></label><br/>
                        <?php endforeach; ?>
+                       <fieldset>
                        </td>
                </tr>
        </table>
index 1c3f6f34a753eee0fce062c43516d0e6197cb27b..b2d28755e2482e09e8e1d1139e54d5c296296129 100644 (file)
@@ -26,7 +26,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="https://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -85,13 +85,21 @@ if ( isset($_REQUEST['action']) && 'add-site' == $_REQUEST['action'] ) {
        $wpdb->hide_errors();
        $id = wpmu_create_blog( $newdomain, $path, $title, $user_id , array( 'public' => 1 ), $current_site->id );
        $wpdb->show_errors();
-       if ( !is_wp_error( $id ) ) {
-               if ( !is_super_admin( $user_id ) && !get_user_option( 'primary_blog', $user_id ) )
+       if ( ! is_wp_error( $id ) ) {
+               if ( ! is_super_admin( $user_id ) && !get_user_option( 'primary_blog', $user_id ) ) {
                        update_user_option( $user_id, 'primary_blog', $id, true );
-               $content_mail = sprintf( __( 'New site created by %1$s
+               }
+
+               $content_mail = sprintf(
+                       /* translators: 1: user login, 2: site url, 3: site name/title */
+                       __( 'New site created by %1$s
 
 Address: %2$s
-Name: %3$s' ), $current_user->user_login , get_site_url( $id ), wp_unslash( $title ) );
+Name: %3$s' ),
+                       $current_user->user_login,
+                       get_site_url( $id ),
+                       wp_unslash( $title )
+               );
                wp_mail( get_site_option('admin_email'), sprintf( __( '[%s] New Site Created' ), $current_site->site_name ), $content_mail, 'From: "Site Admin" <' . get_site_option( 'admin_email' ) . '>' );
                wpmu_welcome_notification( $id, $user_id, $password, $title, array( 'public' => 1 ) );
                wp_redirect( add_query_arg( array( 'update' => 'added', 'id' => $id ), 'site-new.php' ) );
@@ -104,7 +112,12 @@ Name: %3$s' ), $current_user->user_login , get_site_url( $id ), wp_unslash( $tit
 if ( isset($_GET['update']) ) {
        $messages = array();
        if ( 'added' == $_GET['update'] )
-               $messages[] = sprintf( __( 'Site added. <a href="%1$s">Visit Dashboard</a> or <a href="%2$s">Edit Site</a>' ), esc_url( get_admin_url( absint( $_GET['id'] ) ) ), network_admin_url( 'site-info.php?id=' . absint( $_GET['id'] ) ) );
+               $messages[] = sprintf(
+                       /* translators: 1: dashboard url, 2: network admin edit url */
+                       __( 'Site added. <a href="%1$s">Visit Dashboard</a> or <a href="%2$s">Edit Site</a>' ),
+                       esc_url( get_admin_url( absint( $_GET['id'] ) ) ),
+                       network_admin_url( 'site-info.php?id=' . absint( $_GET['id'] ) )
+               );
 }
 
 $title = __('Add New Site');
@@ -121,30 +134,30 @@ require( ABSPATH . 'wp-admin/admin-header.php' );
 <?php
 if ( ! empty( $messages ) ) {
        foreach ( $messages as $msg )
-               echo '<div id="message" class="updated"><p>' . $msg . '</p></div>';
+               echo '<div id="message" class="updated notice is-dismissible"><p>' . $msg . '</p></div>';
 } ?>
 <form method="post" action="<?php echo network_admin_url( 'site-new.php?action=add-site' ); ?>" novalidate="novalidate">
 <?php wp_nonce_field( 'add-blog', '_wpnonce_add-blog' ) ?>
        <table class="form-table">
                <tr class="form-field form-required">
-                       <th scope="row"><?php _e( 'Site Address' ) ?></th>
+                       <th scope="row"><label for="site-address"><?php _e( 'Site Address' ) ?></label></th>
                        <td>
                        <?php if ( is_subdomain_install() ) { ?>
-                               <input name="blog[domain]" type="text" class="regular-text" id="site-address" title="<?php esc_attr_e( 'Domain' ) ?>"/><span class="no-break">.<?php echo preg_replace( '|^www\.|', '', $current_site->domain ); ?></span>
+                               <input name="blog[domain]" type="text" class="regular-text" id="site-address" aria-describedby="site-address-desc" /><span class="no-break">.<?php echo preg_replace( '|^www\.|', '', $current_site->domain ); ?></span>
                        <?php } else {
-                               echo $current_site->domain . $current_site->path ?><input name="blog[domain]" class="regular-text" id="site-address" type="text" title="<?php esc_attr_e( 'Domain' ) ?>"/>
+                               echo $current_site->domain . $current_site->path ?><input name="blog[domain]" type="text" class="regular-text" id="site-address" aria-describedby="site-address-desc" />
                        <?php }
-                       echo '<p>' . __( 'Only lowercase letters (a-z) and numbers are allowed.' ) . '</p>';
+                       echo '<p id="site-address-desc">' . __( 'Only lowercase letters (a-z) and numbers are allowed.' ) . '</p>';
                        ?>
                        </td>
                </tr>
                <tr class="form-field form-required">
-                       <th scope="row"><?php _e( 'Site Title' ) ?></th>
-                       <td><input name="blog[title]" type="text" class="regular-text" id="site-title" title="<?php esc_attr_e( 'Title' ) ?>"/></td>
+                       <th scope="row"><label for="site-title"><?php _e( 'Site Title' ) ?></label></th>
+                       <td><input name="blog[title]" type="text" class="regular-text" id="site-title" /></td>
                </tr>
                <tr class="form-field form-required">
-                       <th scope="row"><?php _e( 'Admin Email' ) ?></th>
-                       <td><input name="blog[email]" type="email" class="regular-text wp-suggest-user" id="admin-email" data-autocomplete-type="search" data-autocomplete-field="user_email" title="<?php esc_attr_e( 'Email' ) ?>"/></td>
+                       <th scope="row"><label for="admin-email"><?php _e( 'Admin Email' ) ?></label></td>
+                       <td><input name="blog[email]" type="email" class="regular-text wp-suggest-user" id="admin-email" data-autocomplete-type="search" data-autocomplete-field="user_email" /></td>
                </tr>
                <tr class="form-field">
                        <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 1decdcbec1c2a50cb97393ddc4d03a829a986eda..ecf8a12a2255291195170b728cf4699644969e89 100644 (file)
@@ -29,7 +29,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="https://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -40,7 +40,7 @@ if ( ! $id )
 
 $details = get_blog_details( $id );
 if ( !can_edit_network( $details->site_id ) )
-       wp_die( __( 'You do not have permission to access this page.' ) );
+       wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
 $is_main_site = is_main_site( $id );
 
@@ -76,8 +76,8 @@ if ( isset($_GET['update']) ) {
 }
 
 $site_url_no_http = preg_replace( '#^http(s)?://#', '', get_blogaddress_by_id( $id ) );
-$title_site_url_linked = sprintf( __('Edit Site: <a href="%1$s">%2$s</a>'), get_blogaddress_by_id( $id ), $site_url_no_http );
-$title = sprintf( __('Edit Site: %s'), $site_url_no_http );
+$title_site_url_linked = sprintf( __( 'Edit Site: %s' ), '<a href="' . get_blogaddress_by_id( $id ) . '">' . $site_url_no_http . '</a>' );
+$title = sprintf( __( 'Edit Site: %s' ), $site_url_no_http );
 
 $parent_file = 'sites.php';
 $submenu_file = 'sites.php';
@@ -105,7 +105,7 @@ foreach ( $tabs as $tab_id => $tab ) {
 <?php
 if ( ! empty( $messages ) ) {
        foreach ( $messages as $msg )
-               echo '<div id="message" class="updated"><p>' . $msg . '</p></div>';
+               echo '<div id="message" class="updated notice is-dismissible"><p>' . $msg . '</p></div>';
 } ?>
 <form method="post" action="site-settings.php?action=update-site">
        <?php wp_nonce_field( 'edit-site' ); ?>
@@ -138,14 +138,14 @@ if ( ! empty( $messages ) ) {
                        if ( strpos( $option->option_value, "\n" ) !== false ) {
                        ?>
                                <tr class="form-field">
-                                       <th scope="row"><?php echo ucwords( str_replace( "_", " ", $option->option_name ) ) ?></th>
+                                       <th scope="row"><label for="<?php echo esc_attr( $option->option_name ) ?>"><?php echo ucwords( str_replace( "_", " ", $option->option_name ) ) ?></label></th>
                                        <td><textarea class="<?php echo $class; ?>" rows="5" cols="40" name="option[<?php echo esc_attr( $option->option_name ) ?>]" id="<?php echo esc_attr( $option->option_name ) ?>"<?php disabled( $disabled ) ?>><?php echo esc_textarea( $option->option_value ) ?></textarea></td>
                                </tr>
                        <?php
                        } else {
                        ?>
                                <tr class="form-field">
-                                       <th scope="row"><?php echo esc_html( ucwords( str_replace( "_", " ", $option->option_name ) ) ); ?></th>
+                                       <th scope="row"><label for="<?php echo esc_attr( $option->option_name ) ?>"><?php echo esc_html( ucwords( str_replace( "_", " ", $option->option_name ) ) ); ?></label></th>
                                        <?php if ( $is_main_site && in_array( $option->option_name, array( 'siteurl', 'home' ) ) ) { ?>
                                        <td><code><?php echo esc_html( $option->option_value ) ?></code></td>
                                        <?php } else { ?>
index 687e8c03a92dc8169936b696a3f389c6f41b655b..384f58c64efcdeb63b8e6478eb5187ae3228075f 100644 (file)
@@ -29,7 +29,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="https://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -57,7 +57,7 @@ $wp_list_table->prepare_items();
 
 $details = get_blog_details( $id );
 if ( !can_edit_network( $details->site_id ) )
-       wp_die( __( 'You do not have permission to access this page.' ) );
+       wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
 $is_main_site = is_main_site( $id );
 
@@ -127,11 +127,11 @@ if ( isset( $_GET['action'] ) && 'update-site' == $_GET['action'] ) {
 }
 
 add_thickbox();
-add_screen_option( 'per_page', array( 'label' => _x( 'Themes', 'themes per page (screen options)' ) ) );
+add_screen_option( 'per_page' );
 
 $site_url_no_http = preg_replace( '#^http(s)?://#', '', get_blogaddress_by_id( $id ) );
-$title_site_url_linked = sprintf( __('Edit Site: <a href="%1$s">%2$s</a>'), get_blogaddress_by_id( $id ), $site_url_no_http );
-$title = sprintf( __('Edit Site: %s'), $site_url_no_http );
+$title_site_url_linked = sprintf( __( 'Edit Site: %s' ), '<a href="' . get_blogaddress_by_id( $id ) . '">' . $site_url_no_http . '</a>' );
+$title = sprintf( __( 'Edit Site: %s' ), $site_url_no_http );
 
 $parent_file = 'sites.php';
 $submenu_file = 'sites.php';
@@ -156,18 +156,28 @@ foreach ( $tabs as $tab_id => $tab ) {
 </h3><?php
 
 if ( isset( $_GET['enabled'] ) ) {
-       $_GET['enabled'] = absint( $_GET['enabled'] );
-       echo '<div id="message" class="updated"><p>' . sprintf( _n( 'Theme enabled.', '%s themes enabled.', $_GET['enabled'] ), number_format_i18n( $_GET['enabled'] ) ) . '</p></div>';
+       $enabled = absint( $_GET['enabled'] );
+       if ( 1 == $enabled ) {
+               $message = __( 'Theme enabled.' );
+       } else {
+               $message = _n( '%s theme enabled.', '%s themes enabled.', $enabled );
+       }
+       echo '<div id="message" class="updated notice is-dismissible"><p>' . sprintf( $message, number_format_i18n( $enabled ) ) . '</p></div>';
 } elseif ( isset( $_GET['disabled'] ) ) {
-       $_GET['disabled'] = absint( $_GET['disabled'] );
-       echo '<div id="message" class="updated"><p>' . sprintf( _n( 'Theme disabled.', '%s themes disabled.', $_GET['disabled'] ), number_format_i18n( $_GET['disabled'] ) ) . '</p></div>';
+       $disabled = absint( $_GET['disabled'] );
+       if ( 1 == $disabled ) {
+               $message = __( 'Theme disabled.' );
+       } else {
+               $message = _n( '%s theme disabled.', '%s themes disabled.', $disabled );
+       }
+       echo '<div id="message" class="updated notice is-dismissible"><p>' . sprintf( $message, number_format_i18n( $disabled ) ) . '</p></div>';
 } elseif ( isset( $_GET['error'] ) && 'none' == $_GET['error'] ) {
-       echo '<div id="message" class="error"><p>' . __( 'No theme selected.' ) . '</p></div>';
+       echo '<div id="message" class="error notice is-dismissible"><p>' . __( 'No theme selected.' ) . '</p></div>';
 } ?>
 
 <p><?php _e( 'Network enabled themes are not shown on this screen.' ) ?></p>
 
-<form method="get" action="">
+<form method="get">
 <?php $wp_list_table->search_box( __( 'Search Installed Themes' ), 'theme' ); ?>
 <input type="hidden" name="id" value="<?php echo esc_attr( $id ) ?>" />
 </form>
index b5a6ab7259116de7dc10213ec543ffb50700fdce..57a189b7ae512701e837c76399370b11910c71d1 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/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
+       '<p>' . __('<a href="https://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -50,7 +50,7 @@ if ( ! $id )
 
 $details = get_blog_details( $id );
 if ( ! can_edit_network( $details->site_id ) )
-       wp_die( __( 'You do not have permission to access this page.' ) );
+       wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
 $is_main_site = is_main_site( $id );
 
@@ -155,11 +155,11 @@ if ( isset( $_GET['action'] ) && 'update-site' == $_GET['action'] ) {
        exit();
 }
 
-add_screen_option( 'per_page', array( 'label' => _x( 'Users', 'users per page (screen options)' ) ) );
+add_screen_option( 'per_page' );
 
 $site_url_no_http = preg_replace( '#^http(s)?://#', '', get_blogaddress_by_id( $id ) );
-$title_site_url_linked = sprintf( __('Edit Site: <a href="%1$s">%2$s</a>'), get_blogaddress_by_id( $id ), $site_url_no_http );
-$title = sprintf( __('Edit Site: %s'), $site_url_no_http );
+$title_site_url_linked = sprintf( __( 'Edit Site: %s' ), '<a href="' . get_blogaddress_by_id( $id ) . '">' . $site_url_no_http . '</a>' );
+$title = sprintf( __( 'Edit Site: %s' ), $site_url_no_http );
 
 $parent_file = 'sites.php';
 $submenu_file = 'sites.php';
@@ -177,9 +177,7 @@ if ( ! wp_is_large_network( 'users' ) && apply_filters( 'show_network_site_users
 require( ABSPATH . 'wp-admin/admin-header.php' ); ?>
 
 <script type="text/javascript">
-/* <![CDATA[ */
 var current_site_id = <?php echo $id; ?>;
-/* ]]> */
 </script>
 
 
@@ -203,39 +201,39 @@ foreach ( $tabs as $tab_id => $tab ) {
 if ( isset($_GET['update']) ) :
        switch($_GET['update']) {
        case 'adduser':
-               echo '<div id="message" class="updated"><p>' . __( 'User added.' ) . '</p></div>';
+               echo '<div id="message" class="updated notice is-dismissible"><p>' . __( 'User added.' ) . '</p></div>';
                break;
        case 'err_add_member':
-               echo '<div id="message" class="error"><p>' . __( 'User is already a member of this site.' ) . '</p></div>';
+               echo '<div id="message" class="error notice is-dismissible"><p>' . __( 'User is already a member of this site.' ) . '</p></div>';
                break;
        case 'err_add_notfound':
-               echo '<div id="message" class="error"><p>' . __( 'Enter the username of an existing user.' ) . '</p></div>';
+               echo '<div id="message" class="error notice is-dismissible"><p>' . __( 'Enter the username of an existing user.' ) . '</p></div>';
                break;
        case 'promote':
-               echo '<div id="message" class="updated"><p>' . __( 'Changed roles.' ) . '</p></div>';
+               echo '<div id="message" class="updated notice is-dismissible"><p>' . __( 'Changed roles.' ) . '</p></div>';
                break;
        case 'err_promote':
-               echo '<div id="message" class="error"><p>' . __( 'Select a user to change role.' ) . '</p></div>';
+               echo '<div id="message" class="error notice is-dismissible"><p>' . __( 'Select a user to change role.' ) . '</p></div>';
                break;
        case 'remove':
-               echo '<div id="message" class="updated"><p>' . __( 'User removed from this site.' ) . '</p></div>';
+               echo '<div id="message" class="updated notice is-dismissible"><p>' . __( 'User removed from this site.' ) . '</p></div>';
                break;
        case 'err_remove':
-               echo '<div id="message" class="error"><p>' . __( 'Select a user to remove.' ) . '</p></div>';
+               echo '<div id="message" class="error notice is-dismissible"><p>' . __( 'Select a user to remove.' ) . '</p></div>';
                break;
        case 'newuser':
-               echo '<div id="message" class="updated"><p>' . __( 'User created.' ) . '</p></div>';
+               echo '<div id="message" class="updated notice is-dismissible"><p>' . __( 'User created.' ) . '</p></div>';
                break;
        case 'err_new':
-               echo '<div id="message" class="error"><p>' . __( 'Enter the username and email.' ) . '</p></div>';
+               echo '<div id="message" class="error notice is-dismissible"><p>' . __( 'Enter the username and email.' ) . '</p></div>';
                break;
        case 'err_new_dup':
-               echo '<div id="message" class="error"><p>' . __( 'Duplicated username or email address.' ) . '</p></div>';
+               echo '<div id="message" class="error notice is-dismissible"><p>' . __( 'Duplicated username or email address.' ) . '</p></div>';
                break;
        }
 endif; ?>
 
-<form class="search-form" action="" method="get">
+<form class="search-form" method="get">
 <?php $wp_list_table->search_box( __( 'Search Users' ), 'user' ); ?>
 <input type="hidden" name="id" value="<?php echo esc_attr( $id ) ?>" />
 </form>
@@ -264,12 +262,12 @@ if ( current_user_can( 'promote_users' ) && apply_filters( 'show_network_site_us
        <input type="hidden" name="id" value="<?php echo esc_attr( $id ) ?>" />
        <table class="form-table">
                <tr>
-                       <th scope="row"><?php _e( 'Username' ); ?></th>
+                       <th scope="row"><label for="newuser"><?php _e( 'Username' ); ?></label></th>
                        <td><input type="text" class="regular-text wp-suggest-user" name="newuser" id="newuser" /></td>
                </tr>
                <tr>
-                       <th scope="row"><?php _e( 'Role' ); ?></th>
-                       <td><select name="new_role" id="new_role_0">
+                       <th scope="row"><label for="new_role_adduser"><?php _e( 'Role' ); ?></label></th>
+                       <td><select name="new_role" id="new_role_adduser">
                        <?php wp_dropdown_roles( get_option( 'default_role' ) ); ?>
                        </select></td>
                </tr>
@@ -293,16 +291,16 @@ if ( current_user_can( 'create_users' ) && apply_filters( 'show_network_site_use
        <input type="hidden" name="id" value="<?php echo esc_attr( $id ) ?>" />
        <table class="form-table">
                <tr>
-                       <th scope="row"><?php _e( 'Username' ) ?></th>
-                       <td><input type="text" class="regular-text" name="user[username]" /></td>
+                       <th scope="row"><label for="user_username"><?php _e( 'Username' ) ?></label></th>
+                       <td><input type="text" class="regular-text" name="user[username]" id="user_username" /></td>
                </tr>
                <tr>
-                       <th scope="row"><?php _e( 'Email' ) ?></th>
-                       <td><input type="text" class="regular-text" name="user[email]" /></td>
+                       <th scope="row"><label for="user_email"><?php _e( 'Email' ) ?></label></th>
+                       <td><input type="text" class="regular-text" name="user[email]" id="user_email" /></td>
                </tr>
                <tr>
-                       <th scope="row"><?php _e( 'Role' ); ?></th>
-                       <td><select name="new_role" id="new_role_0">
+                       <th scope="row"><label for="new_role_newuser"><?php _e( 'Role' ); ?></label></th>
+                       <td><select name="new_role" id="new_role_newuser">
                        <?php wp_dropdown_roles( get_option( 'default_role' ) ); ?>
                        </select></td>
                </tr>
index 1dcdc781dc931a2525ef1f06df7a2a7006225a39..922ce76532940e9904ffe441eb1eeccd29d8d469 100644 (file)
@@ -14,7 +14,7 @@ if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! current_user_can( 'manage_sites' ) )
-       wp_die( __( 'You do not have permission to access this page.' ) );
+       wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
 $wp_list_table = _get_list_table( 'WP_MS_Sites_List_Table' );
 $pagenum = $wp_list_table->get_pagenum();
@@ -22,7 +22,7 @@ $pagenum = $wp_list_table->get_pagenum();
 $title = __( 'Sites' );
 $parent_file = 'sites.php';
 
-add_screen_option( 'per_page', array( 'label' => _x( 'Sites', 'sites per page (screen options)' ) ) );
+add_screen_option( 'per_page' );
 
 get_current_screen()->add_help_tab( array(
        'id'      => 'overview',
@@ -42,7 +42,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="https://codex.wordpress.org/Network_Admin_Sites_Screen" target="_blank">Documentation on Site Management</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -97,7 +97,7 @@ if ( isset( $_GET['action'] ) ) {
 
                case 'deleteblog':
                        if ( ! current_user_can( 'delete_sites' ) )
-                               wp_die( __( 'You do not have permission to access this page.' ) );
+                               wp_die( __( 'You do not have permission to access this page.' ), '', array( 'response' => 403 ) );
 
                        $updated_action = 'not_deleted';
                        if ( $id != '0' && $id != $current_site->blog_id && current_user_can( 'delete_site', $id ) ) {
@@ -239,7 +239,7 @@ if ( isset( $_GET['updated'] ) ) {
        }
 
        if ( ! empty( $msg ) )
-               $msg = '<div class="updated" id="message"><p>' . $msg . '</p></div>';
+               $msg = '<div class="updated" id="message notice is-dismissible"><p>' . $msg . '</p></div>';
 }
 
 $wp_list_table->prepare_items();
@@ -261,7 +261,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 <?php echo $msg; ?>
 
-<form action="" method="get" id="ms-search">
+<form method="get" id="ms-search">
 <?php $wp_list_table->search_box( __( 'Search Sites' ), 'site' ); ?>
 <input type="hidden" name="action" value="blogs" />
 </form>
index e326c93cb6fbda847a11a9c777e14781f5165aea..2b77f188fb448002eacd9cf0a92c48a08c6fe271 100644 (file)
@@ -146,14 +146,18 @@ if ( $action ) {
                        if ( ! isset( $_REQUEST['verify-delete'] ) ) {
                                wp_enqueue_script( 'jquery' );
                                require_once( ABSPATH . 'wp-admin/admin-header.php' );
+                               $themes_to_delete = count( $themes );
                                ?>
                        <div class="wrap">
-                               <?php
-                                       $themes_to_delete = count( $themes );
-                                       echo '<h2>' . _n( 'Delete Theme', 'Delete Themes', $themes_to_delete ) . '</h2>';
-                               ?>
-                               <div class="error"><p><strong><?php _e( 'Caution:' ); ?></strong> <?php echo _n( 'This theme may be active on other sites in the network.', 'These themes may be active on other sites in the network.', $themes_to_delete ); ?></p></div>
-                               <p><?php echo _n( 'You are about to remove the following theme:', 'You are about to remove the following themes:', $themes_to_delete ); ?></p>
+                               <?php if ( 1 == $themes_to_delete ) : ?>
+                                       <h2><?php _e( 'Delete Theme' ); ?></h2>
+                                       <div class="error"><p><strong><?php _e( 'Caution:' ); ?></strong> <?php _e( 'This theme may be active on other sites in the network.' ); ?></p></div>
+                                       <p><?php _e( 'You are about to remove the following theme:' ); ?></p>
+                               <?php else : ?>
+                                       <h2><?php _e( 'Delete Themes' ); ?></h2>
+                                       <div class="error"><p><strong><?php _e( 'Caution:' ); ?></strong> <?php _e( 'These themes may be active on other sites in the network.' ); ?></p></div>
+                                       <p><?php _e( 'You are about to remove the following themes:' ); ?></p>
+                               <?php endif; ?>
                                        <ul class="ul-disc">
                                        <?php
                                                foreach ( $theme_info as $theme ) {
@@ -162,7 +166,11 @@ if ( $action ) {
                                                }
                                        ?>
                                        </ul>
-                               <p><?php _e('Are you sure you wish to delete these themes?'); ?></p>
+                               <?php if ( 1 == $themes_to_delete ) : ?>
+                                       <p><?php _e( 'Are you sure you wish to delete this theme?' ); ?></p>
+                               <?php else : ?>
+                                       <p><?php _e( 'Are you sure you wish to delete these themes?' ); ?></p>
+                               <?php endif; ?>
                                <form method="post" action="<?php echo esc_url($_SERVER['REQUEST_URI']); ?>" style="display:inline;">
                                        <input type="hidden" name="verify-delete" value="1" />
                                        <input type="hidden" name="action" value="delete-selected" />
@@ -170,11 +178,20 @@ if ( $action ) {
                                                foreach ( (array) $themes as $theme ) {
                                                        echo '<input type="hidden" name="checked[]" value="' . esc_attr($theme) . '" />';
                                                }
+
+                                               wp_nonce_field( 'bulk-themes' );
+
+                                               if ( 1 == $themes_to_delete ) {
+                                                       submit_button( __( 'Yes, Delete this theme' ), 'button', 'submit', false );
+                                               } else {
+                                                       submit_button( __( 'Yes, Delete these themes' ), 'button', 'submit', false );
+                                               }
                                        ?>
-                                       <?php wp_nonce_field('bulk-themes') ?>
-                                       <?php submit_button( _n( 'Yes, Delete this theme', 'Yes, Delete these themes', $themes_to_delete ), 'button', 'submit', false ); ?>
                                </form>
-                               <form method="post" action="<?php echo esc_url(wp_get_referer()); ?>" style="display:inline;">
+                               <?php
+                               $referer = wp_get_referer();
+                               ?>
+                               <form method="post" action="<?php echo $referer ? esc_url( $referer ) : ''; ?>" style="display:inline;">
                                        <?php submit_button( __( 'No, Return me to the theme list' ), 'button', 'submit', false ); ?>
                                </form>
 
@@ -217,7 +234,7 @@ $wp_list_table->prepare_items();
 
 add_thickbox();
 
-add_screen_option( 'per_page', array('label' => _x( 'Themes', 'themes per page (screen options)' )) );
+add_screen_option( 'per_page' );
 
 get_current_screen()->add_help_tab( array(
        'id'      => 'overview',
@@ -230,7 +247,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="https://codex.wordpress.org/Network_Admin_Themes_Screen" target="_blank">Documentation on Network Themes</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -251,23 +268,38 @@ if ( $s )
 
 <?php
 if ( isset( $_GET['enabled'] ) ) {
-       $_GET['enabled'] = absint( $_GET['enabled'] );
-       echo '<div id="message" class="updated"><p>' . sprintf( _n( 'Theme enabled.', '%s themes enabled.', $_GET['enabled'] ), number_format_i18n( $_GET['enabled'] ) ) . '</p></div>';
+       $enabled = absint( $_GET['enabled'] );
+       if ( 1 == $enabled ) {
+               $message = __( 'Theme enabled.' );
+       } else {
+               $message = _n( '%s theme enabled.', '%s themes enabled.', $enabled );
+       }
+       echo '<div id="message" class="updated notice is-dismissible"><p>' . sprintf( $message, number_format_i18n( $enabled ) ) . '</p></div>';
 } elseif ( isset( $_GET['disabled'] ) ) {
-       $_GET['disabled'] = absint( $_GET['disabled'] );
-       echo '<div id="message" class="updated"><p>' . sprintf( _n( 'Theme disabled.', '%s themes disabled.', $_GET['disabled'] ), number_format_i18n( $_GET['disabled'] ) ) . '</p></div>';
+       $disabled = absint( $_GET['disabled'] );
+       if ( 1 == $disabled ) {
+               $message = __( 'Theme disabled.' );
+       } else {
+               $message = _n( '%s theme disabled.', '%s themes disabled.', $disabled );
+       }
+       echo '<div id="message" class="updated notice is-dismissible"><p>' . sprintf( $message, number_format_i18n( $disabled ) ) . '</p></div>';
 } elseif ( isset( $_GET['deleted'] ) ) {
-       $_GET['deleted'] = absint( $_GET['deleted'] );
-       echo '<div id="message" class="updated"><p>' . sprintf( _nx( 'Theme deleted.', '%s themes deleted.', $_GET['deleted'], 'network' ), number_format_i18n( $_GET['deleted'] ) ) . '</p></div>';
+       $deleted = absint( $_GET['deleted'] );
+       if ( 1 == $deleted ) {
+               $message = __( 'Theme deleted.' );
+       } else {
+               $message = _n( '%s theme deleted.', '%s themes deleted.', $deleted );
+       }
+       echo '<div id="message" class="updated notice is-dismissible"><p>' . sprintf( $message, number_format_i18n( $deleted ) ) . '</p></div>';
 } elseif ( isset( $_GET['error'] ) && 'none' == $_GET['error'] ) {
-       echo '<div id="message" class="error"><p>' . __( 'No theme selected.' ) . '</p></div>';
+       echo '<div id="message" class="error notice is-dismissible"><p>' . __( 'No theme selected.' ) . '</p></div>';
 } elseif ( isset( $_GET['error'] ) && 'main' == $_GET['error'] ) {
-       echo '<div class="error"><p>' . __( 'You cannot delete a theme while it is active on the main site.' ) . '</p></div>';
+       echo '<div class="error notice is-dismissible"><p>' . __( 'You cannot delete a theme while it is active on the main site.' ) . '</p></div>';
 }
 
 ?>
 
-<form method="get" action="">
+<form method="get">
 <?php $wp_list_table->search_box( __( 'Search Installed Themes' ), 'theme' ); ?>
 </form>
 
@@ -278,7 +310,7 @@ if ( 'broken' == $status )
        echo '<p class="clear">' . __('The following themes are installed but incomplete. Themes must have a stylesheet and a template.') . '</p>';
 ?>
 
-<form method="post" action="">
+<form method="post">
 <input type="hidden" name="theme_status" value="<?php echo esc_attr($status) ?>" />
 <input type="hidden" name="paged" value="<?php echo esc_attr($page) ?>" />
 
index dcca3deb414a6b38c01193213036066abdd33442..f1574aeabba856abd8433ee650557c759bcddf10 100644 (file)
@@ -29,14 +29,14 @@ 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="https://codex.wordpress.org/Network_Admin_Updates_Screen" target="_blank">Documentation on Upgrade Network</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 if ( ! current_user_can( 'manage_network' ) )
-       wp_die( __( 'You do not have permission to access this page.' ) );
+       wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
 echo '<div class="wrap">';
 echo '<h2>' . __( 'Upgrade Network' ) . '</h2>';
@@ -63,10 +63,19 @@ switch ( $action ) {
                        $siteurl = site_url();
                        $upgrade_url = admin_url( 'upgrade.php?step=upgrade_db' );
                        restore_current_blog();
+
                        echo "<li>$siteurl</li>";
+
                        $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() ) );
+                       if ( is_wp_error( $response ) ) {
+                               wp_die( sprintf(
+                                       /* translators: 1: site url, 2: server error message */
+                                       __( 'Warning! Problem updating %1$s. Your server may not be able to connect to sites running on it. Error message: %2$s' ),
+                                       $siteurl,
+                                       '<em>' . $response->get_error_message() . '</em>'
+                               ) );
+                       }
+
                        /**
                         * Fires after the Multisite DB upgrade for each site is complete.
                         *
index 5c671403d520876cd223cdf2608a6a0025ebf668..b47e74cc12583043b0add73f75a3cabbf1f26b89 100644 (file)
@@ -26,14 +26,15 @@ 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="https://codex.wordpress.org/Network_Admin_Users_Screen" target="_blank">Documentation on Network Users</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'] ) {
        check_admin_referer( 'add-user', '_wpnonce_add-user' );
+
        if ( ! current_user_can( 'manage_network_users' ) )
-               wp_die( __( 'You do not have permission to access this page.' ) );
+               wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
        if ( ! is_array( $_POST['user'] ) )
                wp_die( __( 'Cannot create an empty user.' ) );
@@ -73,7 +74,7 @@ require( ABSPATH . 'wp-admin/admin-header.php' ); ?>
 <?php
 if ( ! empty( $messages ) ) {
        foreach ( $messages as $msg )
-               echo '<div id="message" class="updated"><p>' . $msg . '</p></div>';
+               echo '<div id="message" class="updated notice is-dismissible"><p>' . $msg . '</p></div>';
 }
 
 if ( isset( $add_user_errors ) && is_wp_error( $add_user_errors ) ) { ?>
@@ -87,12 +88,12 @@ if ( isset( $add_user_errors ) && is_wp_error( $add_user_errors ) ) { ?>
        <form action="<?php echo network_admin_url('user-new.php?action=add-user'); ?>" id="adduser" method="post">
        <table class="form-table">
                <tr class="form-field form-required">
-                       <th scope="row"><?php _e( 'Username' ) ?></th>
-                       <td><input type="text" class="regular-text" name="user[username]" /></td>
+                       <th scope="row"><label for="username"><?php _e( 'Username' ) ?></label></th>
+                       <td><input type="text" class="regular-text" name="user[username]" id="username" /></td>
                </tr>
                <tr class="form-field form-required">
-                       <th scope="row"><?php _e( 'Email' ) ?></th>
-                       <td><input type="text" class="regular-text" name="user[email]" /></td>
+                       <th scope="row"><label for="email"><?php _e( 'Email' ) ?></label></th>
+                       <td><input type="text" class="regular-text" name="user[email]" id="email"/></td>
                </tr>
                <tr class="form-field">
                        <td colspan="2"><?php _e( 'Username and password will be mailed to the above email address.' ) ?></td>
index 86a4d74d805b9065f963f0cb4bcbe3634d44a6c0..c900b825cee576bbb65f539087eff2d91acc29ed 100644 (file)
@@ -14,51 +14,70 @@ if ( ! is_multisite() )
        wp_die( __( 'Multisite support is not enabled.' ) );
 
 if ( ! current_user_can( 'manage_network_users' ) )
-       wp_die( __( 'You do not have permission to access this page.' ) );
+       wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
 function confirm_delete_users( $users ) {
        $current_user = wp_get_current_user();
-       if ( !is_array( $users ) )
+       if ( ! is_array( $users ) || empty( $users ) ) {
                return false;
+       }
        ?>
        <h2><?php esc_html_e( 'Users' ); ?></h2>
-       <p><?php _e( 'Transfer or delete content before deleting users.' ); ?></p>
+
+       <?php if ( 1 == count( $users ) ) : ?>
+               <p><?php _e( 'You have chosen to delete the user from all networks and sites.' ); ?></p>
+       <?php else : ?>
+               <p><?php _e( 'You have chosen to delete the following users from all networks and sites.' ); ?></p>
+       <?php endif; ?>
+
        <form action="users.php?action=dodelete" method="post">
        <input type="hidden" name="dodelete" />
        <?php
        wp_nonce_field( 'ms-users-delete' );
        $site_admins = get_super_admins();
-       $admin_out = '<option value="' . $current_user->ID . '">' . $current_user->user_login . '</option>';
-
-       foreach ( ( $allusers = (array) $_POST['allusers'] ) as $user_id ) {
+       $admin_out = '<option value="' . esc_attr( $current_user->ID ) . '">' . $current_user->user_login . '</option>'; ?>
+       <table class="form-table">
+       <?php foreach ( ( $allusers = (array) $_POST['allusers'] ) as $user_id ) {
                if ( $user_id != '' && $user_id != '0' ) {
                        $delete_user = get_userdata( $user_id );
 
-                       if ( ! current_user_can( 'delete_user', $delete_user->ID ) )
+                       if ( ! current_user_can( 'delete_user', $delete_user->ID ) ) {
                                wp_die( sprintf( __( 'Warning! User %s cannot be deleted.' ), $delete_user->user_login ) );
+                       }
 
-                       if ( in_array( $delete_user->user_login, $site_admins ) )
-                               wp_die( sprintf( __( 'Warning! User cannot be deleted. The user %s is a network administrator.' ), $delete_user->user_login ) );
-
-                       echo "<input type='hidden' name='user[]' value='{$user_id}'/>\n";
-                       $blogs = get_blogs_of_user( $user_id, true );
-
-                       if ( !empty( $blogs ) ) {
+                       if ( in_array( $delete_user->user_login, $site_admins ) ) {
+                               wp_die( sprintf( __( 'Warning! User cannot be deleted. The user %s is a network administrator.' ), '<em>' . $delete_user->user_login . '</em>' ) );
+                       }
+                       ?>
+                       <tr>
+                               <th scope="row"><?php echo $delete_user->user_login; ?>
+                                       <?php echo '<input type="hidden" name="user[]" value="' . esc_attr( $user_id ) . '" />' . "\n"; ?>
+                               </th>
+                       <?php $blogs = get_blogs_of_user( $user_id, true );
+
+                       if ( ! empty( $blogs ) ) {
                                ?>
-                               <br /><fieldset><p><legend><?php printf( __( "What should be done with content owned by %s?" ), '<em>' . $delete_user->user_login . '</em>' ); ?></legend></p>
+                               <td><fieldset><p><legend><?php printf(
+                                       /* translators: user login */
+                                       __( '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' ) ) );
                                        if ( is_array( $blog_users ) && !empty( $blog_users ) ) {
                                                $user_site = "<a href='" . esc_url( get_home_url( $details->userblog_id ) ) . "'>{$details->blogname}</a>";
-                                               $user_dropdown = "<select name='blog[$user_id][$key]'>";
+                                               $user_dropdown = '<label for="reassign_user" class="screen-reader-text">' . __( 'Select a user' ) . '</label>';
+                                               $user_dropdown .= "<select name='blog[$user_id][$key]' id='reassign_user'>";
                                                $user_list = '';
                                                foreach ( $blog_users as $user ) {
-                                                       if ( ! in_array( $user->ID, $allusers ) )
+                                                       if ( ! in_array( $user->ID, $allusers ) ) {
                                                                $user_list .= "<option value='{$user->ID}'>{$user->user_login}</option>";
+                                                       }
                                                }
-                                               if ( '' == $user_list )
+                                               if ( '' == $user_list ) {
                                                        $user_list = $admin_out;
+                                               }
                                                $user_dropdown .= $user_list;
                                                $user_dropdown .= "</select>\n";
                                                ?>
@@ -67,23 +86,37 @@ function confirm_delete_users( $users ) {
                                                        <li><label><input type="radio" id="delete_option0" name="delete[<?php echo $details->userblog_id . '][' . $delete_user->ID ?>]" value="delete" checked="checked" />
                                                        <?php _e( 'Delete all content.' ); ?></label></li>
                                                        <li><label><input type="radio" id="delete_option1" name="delete[<?php echo $details->userblog_id . '][' . $delete_user->ID ?>]" value="reassign" />
-                                                       <?php echo __( 'Attribute all content to:' ) . '</label>' . $user_dropdown; ?></li>
+                                                       <?php echo __( 'Attribute all content to:' ) . "</label>\n" . $user_dropdown; ?></li>
                                                </ul>
                                                <?php
                                        }
                                }
-                               echo "</fieldset>";
-                       }
+                               echo "</fieldset></td></tr>";
+                       } else {
+                               ?>
+                               <td><fieldset><p><legend><?php _e( 'User has no sites or content and will be deleted.' ); ?></legend></p>
+                       <?php } ?>
+                       </tr>
+               <?php
                }
        }
 
+       ?>
+       </table>
+       <?php
        /** This action is documented in wp-admin/users.php */
        do_action( 'delete_user_form', $current_user );
 
+       if ( 1 == count( $users ) ) : ?>
+               <p><?php _e( 'Once you hit &#8220;Confirm Deletion&#8221;, the user will be permanently removed.' ); ?></p>
+       <?php else : ?>
+               <p><?php _e( 'Once you hit &#8220;Confirm Deletion&#8221;, these users will be permanently removed.' ); ?></p>
+       <?php endif;
+
        submit_button( __('Confirm Deletion'), 'delete' );
        ?>
        </form>
-    <?php
+       <?php
        return true;
 }
 
@@ -94,7 +127,7 @@ if ( isset( $_GET['action'] ) ) {
        switch ( $_GET['action'] ) {
                case 'deleteuser':
                        if ( ! current_user_can( 'manage_network_users' ) )
-                               wp_die( __( 'You do not have permission to access this page.' ) );
+                               wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
                        check_admin_referer( 'deleteuser' );
 
@@ -107,15 +140,15 @@ if ( isset( $_GET['action'] ) ) {
                                echo '<div class="wrap">';
                                confirm_delete_users( $_POST['allusers'] );
                                echo '</div>';
-                   require_once( ABSPATH . 'wp-admin/admin-footer.php' );
-                       } else {
+                               require_once( ABSPATH . 'wp-admin/admin-footer.php' );
+                       } else {
                                wp_redirect( network_admin_url( 'users.php' ) );
                        }
                        exit();
 
                case 'allusers':
                        if ( !current_user_can( 'manage_network_users' ) )
-                               wp_die( __( 'You do not have permission to access this page.' ) );
+                               wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
                        if ( ( isset( $_POST['action']) || isset($_POST['action2'] ) ) && isset( $_POST['allusers'] ) ) {
                                check_admin_referer( 'bulk-users-network' );
@@ -128,7 +161,7 @@ if ( isset( $_GET['action'] ) ) {
                                                switch ( $doaction ) {
                                                        case 'delete':
                                                                if ( ! current_user_can( 'delete_users' ) )
-                                                                       wp_die( __( 'You do not have permission to access this page.' ) );
+                                                                       wp_die( __( 'You do not have permission to access this page.' ), 403 );
                                                                $title = __( 'Users' );
                                                                $parent_file = 'users.php';
                                                                require_once( ABSPATH . 'wp-admin/admin-header.php' );
@@ -177,7 +210,7 @@ if ( isset( $_GET['action'] ) ) {
                case 'dodelete':
                        check_admin_referer( 'ms-users-delete' );
                        if ( ! ( current_user_can( 'manage_network_users' ) && current_user_can( 'delete_users' ) ) )
-                               wp_die( __( 'You do not have permission to access this page.' ) );
+                               wp_die( __( 'You do not have permission to access this page.' ), 403 );
 
                        if ( ! empty( $_POST['blog'] ) && is_array( $_POST['blog'] ) ) {
                                foreach ( $_POST['blog'] as $id => $users ) {
@@ -223,7 +256,7 @@ if ( $pagenum > $total_pages && $total_pages > 0 ) {
 $title = __( 'Users' );
 $parent_file = 'users.php';
 
-add_screen_option( 'per_page', array('label' => _x( 'Users', 'users per page (screen options)' )) );
+add_screen_option( 'per_page' );
 
 get_current_screen()->add_help_tab( array(
        'id'      => 'overview',
@@ -239,7 +272,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="https://codex.wordpress.org/Network_Admin_Users_Screen" target="_blank">Documentation on Network Users</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -247,7 +280,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 if ( isset( $_REQUEST['updated'] ) && $_REQUEST['updated'] == 'true' && ! empty( $_REQUEST['action'] ) ) {
        ?>
-       <div id="message" class="updated"><p>
+       <div id="message" class="updated notice is-dismissible"><p>
                <?php
                switch ( $_REQUEST['action'] ) {
                        case 'delete':
@@ -284,7 +317,7 @@ if ( isset( $_REQUEST['updated'] ) && $_REQUEST['updated'] == 'true' && ! empty(
 
        <?php $wp_list_table->views(); ?>
 
-       <form action="" method="get" class="search-form">
+       <form method="get" class="search-form">
                <?php $wp_list_table->search_box( __( 'Search Users' ), 'all-user' ); ?>
        </form>
 
index c9c8627e65055265b270cabff6db2202f40df16b..41450fc4d8a3cadddeaa9419684e4e8aa8765635 100644 (file)
@@ -14,6 +14,26 @@ if ( ! current_user_can( 'manage_options' ) )
 $title = __('Discussion Settings');
 $parent_file = 'options-general.php';
 
+/**
+ * Output JavaScript to toggle display of additional settings if avatars are disabled.
+ *
+ * @since 4.2.0
+ */
+function options_discussion_add_js() {
+?>
+       <script>
+       (function($){
+               var parent = $( '#show_avatars' ),
+                       children = $( '.avatar-settings' );
+               parent.change(function(){
+                       children.toggleClass( 'hide-if-js', ! this.checked );
+               });
+       })(jQuery);
+       </script>
+<?php
+}
+add_action( 'admin_print_footer_scripts', 'options_discussion_add_js' );
+
 get_current_screen()->add_help_tab( array(
        'id'      => 'overview',
        'title'   => __('Overview'),
@@ -23,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/Settings_Discussion_Screen" target="_blank">Documentation on Discussion Settings</a>') . '</p>' .
+       '<p>' . __('<a href="https://codex.wordpress.org/Settings_Discussion_Screen" target="_blank">Documentation on Discussion Settings</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -172,19 +192,23 @@ printf( __('Comments should be displayed with the %s comments at the top of each
 
 <p><?php _e('An avatar is an image that follows you from weblog to weblog appearing beside your name when you comment on avatar enabled sites. Here you can enable the display of avatars for people who comment on your site.'); ?></p>
 
-<?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? ?>
+<?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?
+
+$show_avatars = get_option( 'show_avatars' );
+?>
 
 <table class="form-table">
 <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">
-               <input type="checkbox" id="show_avatars" name="show_avatars" value="1" <?php checked( get_option('show_avatars'), 1 ); ?> />
+               <input type="checkbox" id="show_avatars" name="show_avatars" value="1" <?php checked( $show_avatars, 1 ); ?> />
                <?php _e( 'Show Avatars' ); ?>
        </label>
 </fieldset></td>
 </tr>
-<tr>
+<tr class="avatar-settings<?php if ( ! $show_avatars ) echo ' hide-if-js'; ?>">
 <th scope="row"><?php _e('Maximum Rating'); ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e('Maximum Rating'); ?></span></legend>
 
@@ -207,7 +231,7 @@ endforeach;
 
 </fieldset></td>
 </tr>
-<tr>
+<tr class="avatar-settings<?php if ( ! $show_avatars ) echo ' hide-if-js'; ?>">
 <th scope="row"><?php _e('Default Avatar'); ?></th>
 <td class="defaultavatarpicker"><fieldset><legend class="screen-reader-text"><span><?php _e('Default Avatar'); ?></span></legend>
 
@@ -239,16 +263,25 @@ if ( empty($default) )
        $default = 'mystery';
 $size = 32;
 $avatar_list = '';
+
+// Force avatars on to display these choices
+add_filter( 'pre_option_show_avatars', '__return_true', 100 );
+
 foreach ( $avatar_defaults as $default_key => $default_name ) {
        $selected = ($default == $default_key) ? 'checked="checked" ' : '';
        $avatar_list .= "\n\t<label><input type='radio' name='avatar_default' id='avatar_{$default_key}' value='" . esc_attr($default_key) . "' {$selected}/> ";
 
        $avatar = get_avatar( $user_email, $size, $default_key );
-       $avatar_list .= preg_replace("/src='(.+?)'/", "src='\$1&amp;forcedefault=1'", $avatar);
+       $avatar = preg_replace( "/src='(.+?)'/", "src='\$1&amp;forcedefault=1'", $avatar );
+       $avatar = preg_replace( "/srcset='(.+?) 2x'/", "srcset='\$1&amp;forcedefault=1 2x'", $avatar );
+       $avatar_list .= $avatar;
 
        $avatar_list .= ' ' . $default_name . '</label>';
        $avatar_list .= '<br />';
 }
+
+remove_filter( 'pre_option_show_avatars', '__return_true', 100 );
+
 /**
  * Filter the HTML output of the default avatar list.
  *
index 629c4d2f35e066013734a7b0d696487dcd8ae985..cdcde0a9acb5ffd12304b9a4f0795d6088582cdc 100644 (file)
@@ -18,7 +18,7 @@ if ( ! current_user_can( 'manage_options' ) )
 $title = __('General Settings');
 $parent_file = 'options-general.php';
 /* translators: date and time format for exact current time, mainly about timezones, see http://php.net/date */
-$timezone_format = _x('Y-m-d G:i:s', 'timezone date format');
+$timezone_format = _x('Y-m-d H:i:s', 'timezone date format');
 
 /**
  * Display JavaScript on the page.
@@ -28,7 +28,6 @@ $timezone_format = _x('Y-m-d G:i:s', 'timezone date format');
 function options_general_add_js() {
 ?>
 <script type="text/javascript">
-//<![CDATA[
        jQuery(document).ready(function($){
                var $siteName = $( '#wp-admin-bar-site-name' ).children( 'a' ).first(),
                        homeURL = ( <?php echo wp_json_encode( get_home_url() ); ?> || '' ).replace( /^(https?:\/\/)?(www\.)?/, '' );
@@ -46,7 +45,7 @@ function options_general_add_js() {
 
                $("input[name='date_format']").click(function(){
                        if ( "date_format_custom_radio" != $(this).attr("id") )
-                               $("input[name='date_format_custom']").val( $(this).val() ).siblings('.example').text( $(this).siblings('span').text() );
+                               $( "input[name='date_format_custom']" ).val( $( this ).val() ).siblings( '.example' ).text( $( this ).parent( 'label' ).text() );
                });
                $("input[name='date_format_custom']").focus(function(){
                        $( '#date_format_custom_radio' ).prop( 'checked', true );
@@ -54,18 +53,18 @@ function options_general_add_js() {
 
                $("input[name='time_format']").click(function(){
                        if ( "time_format_custom_radio" != $(this).attr("id") )
-                               $("input[name='time_format_custom']").val( $(this).val() ).siblings('.example').text( $(this).siblings('span').text() );
+                               $( "input[name='time_format_custom']" ).val( $( this ).val() ).siblings( '.example' ).text( $( this ).parent( 'label' ).text() );
                });
                $("input[name='time_format_custom']").focus(function(){
                        $( '#time_format_custom_radio' ).prop( 'checked', true );
                });
                $("input[name='date_format_custom'], input[name='time_format_custom']").change( function() {
                        var format = $(this);
-                       format.siblings('.spinner').css('display', 'inline-block'); // show(); can't be used here
+                       format.siblings( '.spinner' ).addClass( 'is-active' );
                        $.post(ajaxurl, {
                                        action: 'date_format_custom' == format.attr('name') ? 'date_format' : 'time_format',
                                        date : format.val()
-                               }, function(d) { format.siblings('.spinner').hide(); format.siblings('.example').text(d); } );
+                               }, function(d) { format.siblings( '.spinner' ).removeClass( 'is-active' ); format.siblings('.example').text(d); } );
                });
 
                var languageSelect = $( '#WPLANG' );
@@ -77,7 +76,6 @@ function options_general_add_js() {
                        }
                });
        });
-//]]>
 </script>
 <?php
 }
@@ -103,7 +101,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="https://codex.wordpress.org/Settings_General_Screen" target="_blank">Documentation on General Settings</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -123,8 +121,8 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 </tr>
 <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>
+<td><input name="blogdescription" type="text" id="blogdescription" aria-describedby="tagline-description" value="<?php form_option('blogdescription'); ?>" class="regular-text" />
+<p class="description" id="tagline-description"><?php _e( 'In a few words, explain what this site is about.' ) ?></p></td>
 </tr>
 <?php if ( !is_multisite() ) { ?>
 <tr>
@@ -133,13 +131,13 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 </tr>
 <tr>
 <th scope="row"><label for="home"><?php _e('Site Address (URL)') ?></label></th>
-<td><input name="home" type="url" 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>
+<td><input name="home" type="url" id="home" aria-describedby="home-description" value="<?php form_option( 'home' ); ?>"<?php disabled( defined( 'WP_HOME' ) ); ?> class="regular-text code<?php if ( defined( 'WP_HOME' ) ) echo ' disabled' ?>" />
+<p class="description" id="home-description"><?php _e( 'Enter the address here if you <a href="https://codex.wordpress.org/Giving_WordPress_Its_Own_Directory">want your site home page to be different from your WordPress installation directory.</a>' ); ?></p></td>
 </tr>
 <tr>
 <th scope="row"><label for="admin_email"><?php _e('E-mail Address') ?> </label></th>
-<td><input name="admin_email" type="email" 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>
+<td><input name="admin_email" type="email" id="admin_email" aria-describedby="admin-email-description" value="<?php form_option( 'admin_email' ); ?>" class="regular-text ltr" />
+<p class="description" id="admin-email-description"><?php _e( 'This address is used for admin purposes, like new user notification.' ) ?></p></td>
 </tr>
 <tr>
 <th scope="row"><?php _e('Membership') ?></th>
@@ -157,8 +155,8 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
 <?php } else { ?>
 <tr>
 <th scope="row"><label for="new_admin_email"><?php _e('E-mail Address') ?> </label></th>
-<td><input name="new_admin_email" type="email" 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>
+<td><input name="new_admin_email" type="email" id="new_admin_email" aria-describedby="new-admin-email-description" value="<?php form_option( 'admin_email' ); ?>" class="regular-text ltr" />
+<p class="description" id="new-admin-email-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>
 <?php
 $new_admin_email = get_option( 'new_admin_email' );
 if ( $new_admin_email && $new_admin_email != get_option('admin_email') ) : ?>
@@ -194,7 +192,7 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
 <th scope="row"><label for="timezone_string"><?php _e('Timezone') ?></label></th>
 <td>
 
-<select id="timezone_string" name="timezone_string">
+<select id="timezone_string" name="timezone_string" aria-describedby="timezone-description">
 <?php echo wp_timezone_choice($tzstring); ?>
 </select>
 
@@ -202,7 +200,7 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
 <?php if ( get_option('timezone_string') || !empty($current_offset) ) : ?>
        <span id="local-time"><?php printf(__('Local time is <code>%1$s</code>'), date_i18n($timezone_format)); ?></span>
 <?php endif; ?>
-<p class="description"><?php _e('Choose a city in the same timezone as you.'); ?></p>
+<p class="description" id="timezone-description"><?php _e( 'Choose a city in the same timezone as you.' ); ?></p>
 <?php if ($check_zone_info && $tzstring) : ?>
 <br />
 <span>
@@ -273,12 +271,13 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
                        echo " checked='checked'";
                        $custom = false;
                }
-               echo ' /> <span>' . date_i18n( $format ) . "</span></label><br />\n";
+               echo ' /> ' . date_i18n( $format ) . "</label><br />\n";
        }
 
        echo '  <label><input type="radio" name="date_format" id="date_format_custom_radio" value="\c\u\s\t\o\m"';
        checked( $custom );
-       echo '/> ' . __('Custom:') . ' </label><input type="text" name="date_format_custom" value="' . esc_attr( get_option('date_format') ) . '" class="small-text" /> <span class="example"> ' . date_i18n( get_option('date_format') ) . "</span> <span class='spinner'></span>\n";
+       echo '/> ' . __( 'Custom:' ) . '<span class="screen-reader-text"> ' . __( 'enter a custom date format in the following field' ) . "</span></label>\n";
+       echo '<label for="date_format_custom" class="screen-reader-text">' . __( 'Custom date format:' ) . '</label><input type="text" name="date_format_custom" id="date_format_custom" value="' . esc_attr( get_option('date_format') ) . '" class="small-text" /> <span class="screen-reader-text">' . __( 'example:' ) . ' </span><span class="example"> ' . date_i18n( get_option('date_format') ) . "</span> <span class='spinner'></span>\n";
 ?>
        </fieldset>
 </td>
@@ -305,14 +304,15 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
                        echo " checked='checked'";
                        $custom = false;
                }
-               echo ' /> <span>' . date_i18n( $format ) . "</span></label><br />\n";
+               echo ' /> ' . date_i18n( $format ) . "</label><br />\n";
        }
 
        echo '  <label><input type="radio" name="time_format" id="time_format_custom_radio" value="\c\u\s\t\o\m"';
        checked( $custom );
-       echo '/> ' . __('Custom:') . ' </label><input type="text" name="time_format_custom" value="' . esc_attr( get_option('time_format') ) . '" class="small-text" /> <span class="example"> ' . date_i18n( get_option('time_format') ) . "</span> <span class='spinner'></span>\n";
+       echo '/> ' . __( 'Custom:' ) . '<span class="screen-reader-text"> ' . __( 'enter a custom time format in the following field' ) . "</span></label>\n";
+       echo '<label for="time_format_custom" class="screen-reader-text">' . __( 'Custom time format:' ) . '</label><input type="text" name="time_format_custom" id="time_format_custom" value="' . esc_attr( get_option('time_format') ) . '" class="small-text" /> <span class="screen-reader-text">' . __( 'example:' ) . ' </span><span class="example"> ' . date_i18n( get_option('time_format') ) . "</span> <span class='spinner'></span>\n";
 
-       echo "\t<p>" . __('<a href="http://codex.wordpress.org/Formatting_Date_and_Time">Documentation on date and time formatting</a>.') . "</p>\n";
+       echo "\t<p>" . __('<a href="https://codex.wordpress.org/Formatting_Date_and_Time">Documentation on date and time formatting</a>.') . "</p>\n";
 ?>
        </fieldset>
 </td>
@@ -321,6 +321,8 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
 <th scope="row"><label for="start_of_week"><?php _e('Week Starts On') ?></label></th>
 <td><select name="start_of_week" id="start_of_week">
 <?php
+global $wp_locale;
+
 for ($day_index = 0; $day_index <= 6; $day_index++) :
        $selected = (get_option('start_of_week') == $day_index) ? 'selected="selected"' : '';
        echo "\n\t<option value='" . esc_attr($day_index) . "' $selected>" . $wp_locale->get_weekday($day_index) . '</option>';
index 651b08dd2098b696f8ffe7dd6372aec449ce6fe6..e1a628f99c66f2812467f17103ea55072f564a64 100644 (file)
@@ -31,7 +31,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="https://codex.wordpress.org/Settings_Media_Screen" target="_blank">Documentation on Media Settings</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
index 110ceda21e82475b48af517c537c00c6280daf1e..0d241ae84ef624dffba32172f76ca184efa52f57 100644 (file)
@@ -41,8 +41,8 @@ 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_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="https://codex.wordpress.org/Settings_Permalinks_Screen" target="_blank">Documentation on Permalinks Settings</a>') . '</p>' .
+       '<p>' . __('<a href="https://codex.wordpress.org/Using_Permalinks" target="_blank">Documentation on Using Permalinks</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -54,7 +54,6 @@ get_current_screen()->set_help_sidebar(
 function options_permalink_add_js() {
        ?>
 <script type="text/javascript">
-//<![CDATA[
 jQuery(document).ready(function() {
        jQuery('.permalink-structure input:radio').change(function() {
                if ( 'custom' == this.value )
@@ -65,7 +64,6 @@ jQuery(document).ready(function() {
                jQuery("#custom_selection").attr('checked', 'checked');
        });
 });
-//]]>
 </script>
 <?php
 }
@@ -150,15 +148,16 @@ flush_rewrite_rules();
 require( ABSPATH . 'wp-admin/admin-header.php' );
 
 if ( ! empty( $_GET['settings-updated'] ) ) : ?>
-<div id="message" class="updated"><p><?php
+<div id="message" class="updated notice is-dismissible"><p><?php
 if ( ! is_multisite() ) {
        if ( $iis7_permalinks ) {
-               if ( $permalink_structure && ! $usingpi && ! $writable )
+               if ( $permalink_structure && ! $usingpi && ! $writable ) {
                        _e('You should update your web.config now.');
-               else if ( $permalink_structure && ! $usingpi && $writable )
+               } elseif ( $permalink_structure && ! $usingpi && $writable ) {
                        _e('Permalink structure updated. Remove write access on web.config file now!');
-               else
+               } else {
                        _e('Permalink structure updated.');
+               }
        } elseif ( $is_nginx ) {
                _e('Permalink structure updated.');
        } else {
@@ -181,7 +180,7 @@ if ( ! is_multisite() ) {
 <form name="form" action="options-permalink.php" method="post">
 <?php wp_nonce_field('update-permalink') ?>
 
-  <p><?php _e('By default WordPress uses web <abbr title="Universal Resource Locator">URL</abbr>s which have question marks and lots of numbers in them; however, WordPress offers you the ability to create a custom URL structure for your permalinks and archives. This can improve the aesthetics, usability, and forward-compatibility of your links. A <a href="http://codex.wordpress.org/Using_Permalinks">number of tags are available</a>, and here are some examples to get you started.'); ?></p>
+  <p><?php _e('By default WordPress uses web <abbr title="Universal Resource Locator">URL</abbr>s which have question marks and lots of numbers in them; however, WordPress offers you the ability to create a custom URL structure for your permalinks and archives. This can improve the aesthetics, usability, and forward-compatibility of your links. A <a href="https://codex.wordpress.org/Using_Permalinks">number of tags are available</a>, and here are some examples to get you started.'); ?></p>
 
 <?php
 if ( is_multisite() && !is_subdomain_install() && is_main_site() ) {
@@ -258,14 +257,14 @@ printf( __('If you like, you may enter custom structures for your category and t
 <?php if ( $iis7_permalinks ) :
        if ( isset($_POST['submit']) && $permalink_structure && ! $usingpi && ! $writable ) :
                if ( file_exists($home_path . 'web.config') ) : ?>
-<p><?php _e('If your <code>web.config</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 this is the url rewrite rule you should have in your <code>web.config</code> file. Click in the field and press <kbd>CTRL + a</kbd> to select all. Then insert this rule inside of the <code>/&lt;configuration&gt;/&lt;system.webServer&gt;/&lt;rewrite&gt;/&lt;rules&gt;</code> element in <code>web.config</code> file.') ?></p>
+<p><?php _e('If your <code>web.config</code> file were <a href="https://codex.wordpress.org/Changing_File_Permissions">writable</a>, we could do this automatically, but it isn&#8217;t so this is the url rewrite rule you should have in your <code>web.config</code> file. Click in the field and press <kbd>CTRL + a</kbd> to select all. Then insert this rule inside of the <code>/&lt;configuration&gt;/&lt;system.webServer&gt;/&lt;rewrite&gt;/&lt;rules&gt;</code> element in <code>web.config</code> file.') ?></p>
 <form action="options-permalink.php" method="post">
 <?php wp_nonce_field('update-permalink') ?>
        <p><textarea rows="9" class="large-text readonly" name="rules" id="rules" readonly="readonly"><?php echo esc_textarea( $wp_rewrite->iis7_url_rewrite_rules() ); ?></textarea></p>
 </form>
 <p><?php _e('If you temporarily make your <code>web.config</code> file writable for us to generate rewrite rules automatically, do not forget to revert the permissions after rule has been saved.') ?></p>
                <?php else : ?>
-<p><?php _e('If the root directory of your site were <a href="http://codex.wordpress.org/Changing_File_Permissions">writable</a>, we could do this automatically, but it isn&#8217;t so this is the url rewrite rule you should have in your <code>web.config</code> file. Create a new file, called <code>web.config</code> in the root directory of your site. Click in the field and press <kbd>CTRL + a</kbd> to select all. Then insert this code into the <code>web.config</code> file.') ?></p>
+<p><?php _e('If the root directory of your site were <a href="https://codex.wordpress.org/Changing_File_Permissions">writable</a>, we could do this automatically, but it isn&#8217;t so this is the url rewrite rule you should have in your <code>web.config</code> file. Create a new file, called <code>web.config</code> in the root directory of your site. Click in the field and press <kbd>CTRL + a</kbd> to select all. Then insert this code into the <code>web.config</code> file.') ?></p>
 <form action="options-permalink.php" method="post">
 <?php wp_nonce_field('update-permalink') ?>
        <p><textarea rows="18" class="large-text readonly" name="rules" id="rules" readonly="readonly"><?php echo esc_textarea( $wp_rewrite->iis7_url_rewrite_rules(true) ); ?></textarea></p>
@@ -275,7 +274,7 @@ printf( __('If you like, you may enter custom structures for your category and t
        <?php endif; ?>
 <?php elseif ( ! $is_nginx ) :
        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>
+<p><?php _e('If your <code>.htaccess</code> file were <a href="https://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') ?>
        <p><textarea rows="6" class="large-text readonly" name="rules" id="rules" readonly="readonly"><?php echo esc_textarea( $wp_rewrite->mod_rewrite_rules() ); ?></textarea></p>
index 7bcb20be61b318e021e75cfa50a218290210b960..7d28208d6de96ed512c7f21c996ed51db0149e12 100644 (file)
@@ -23,7 +23,6 @@ $parent_file = 'options-general.php';
 function options_reading_add_js() {
 ?>
 <script type="text/javascript">
-//<![CDATA[
        jQuery(document).ready(function($){
                var section = $('#front-static-pages'),
                        staticPage = section.find('input:radio[value="page"]'),
@@ -34,7 +33,6 @@ function options_reading_add_js() {
                check_disabled();
                section.find('input:radio').change(check_disabled);
        });
-//]]>
 </script>
 <?php
 }
@@ -47,7 +45,7 @@ add_action('admin_head', 'options_reading_add_js');
  */
 function options_reading_blog_charset() {
        echo '<input name="blog_charset" type="text" id="blog_charset" value="' . esc_attr( get_option( 'blog_charset' ) ) . '" class="regular-text" />';
-       echo '<p class="description">' . __( 'The <a href="http://codex.wordpress.org/Glossary#Character_set">character encoding</a> of your site (UTF-8 is recommended)' ) . '</p>';
+       echo '<p class="description">' . __( 'The <a href="https://codex.wordpress.org/Glossary#Character_set">character encoding</a> of your site (UTF-8 is recommended)' ) . '</p>';
 }
 
 get_current_screen()->add_help_tab( array(
@@ -68,7 +66,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="https://codex.wordpress.org/Settings_Reading_Screen" target="_blank">Documentation on Reading Settings</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
index 4c761d264610fdfe7781268b352d3082c975451e..5e62f54824096eb36bb7210a1e4015c83bb3dc4a 100644 (file)
@@ -22,12 +22,6 @@ get_current_screen()->add_help_tab( array(
                '<p>' . __('You must click the Save Changes button at the bottom of the screen for new settings to take effect.') . '</p>',
 ) );
 
-get_current_screen()->add_help_tab( array(
-       'id'      => 'options-press',
-       'title'   => __('Press This'),
-       'content' => '<p>' . __('Press This is a bookmarklet that makes it easy to blog about something you come across on the web. You can use it to just grab a link, or to post an excerpt. Press This will even allow you to choose from images included on the page and use them in your post. Just drag the Press This link on this screen to your bookmarks bar in your browser, and you&#8217;ll be on your way to easier content creation. Clicking on it while on another website opens a popup window with all these options.') . '</p>',
-) );
-
 /** This filter is documented in wp-admin/options.php */
 if ( apply_filters( 'enable_post_by_email_configuration', true ) ) {
        get_current_screen()->add_help_tab( array(
@@ -48,7 +42,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="https://codex.wordpress.org/Settings_Writing_Screen" target="_blank">Documentation on Writing Settings</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -113,16 +107,6 @@ do_settings_fields('writing', 'remote_publishing'); // A deprecated section.
 ?>
 </table>
 
-<h3 class="title"><?php _e('Press This') ?></h3>
-<p><?php _e('Press This is a bookmarklet: a little app that runs in your browser and lets you grab bits of the web.');?></p>
-<p><?php _e('Use Press This to clip text, images and videos from any web page. Then edit and add more straight from Press This before you save or publish it in a post on your site.'); ?></p>
-<p><?php _e('Drag-and-drop the following link to your bookmarks bar or right click it and add it to your favorites for a posting shortcut.') ?></p>
-<p class="pressthis"><a onclick="return false;" oncontextmenu="if(window.navigator.userAgent.indexOf('WebKit')!=-1||window.navigator.userAgent.indexOf('MSIE')!=-1){jQuery('.pressthis-code').show().find('textarea').focus().select();return false;}" href="<?php echo htmlspecialchars( get_shortcut_link() ); ?>"><span><?php _e('Press This') ?></span></a></p>
-<div class="pressthis-code" style="display:none;">
-       <p class="description"><?php _e('If your bookmarks toolbar is hidden: copy the code below, open your Bookmarks manager, create new bookmark, type Press This into the name field and paste the code into the URL field.') ?></p>
-       <p><textarea rows="5" cols="120" readonly="readonly"><?php echo htmlspecialchars( get_shortcut_link() ); ?></textarea></p>
-</div>
-
 <?php
 /** This filter is documented in wp-admin/options.php */
 if ( apply_filters( 'enable_post_by_email_configuration', true ) ) {
@@ -174,13 +158,13 @@ if ( apply_filters( 'enable_update_services_configuration', true ) ) {
 
 <?php if ( 1 == get_option('blog_public') ) : ?>
 
-<p><label for="ping_sites"><?php _e('When you publish a new post, WordPress automatically notifies the following site update services. For more about this, see <a href="http://codex.wordpress.org/Update_Services">Update Services</a> on the Codex. Separate multiple service <abbr title="Universal Resource Locator">URL</abbr>s with line breaks.') ?></label></p>
+<p><label for="ping_sites"><?php _e('When you publish a new post, WordPress automatically notifies the following site update services. For more about this, see <a href="https://codex.wordpress.org/Update_Services">Update Services</a> on the Codex. Separate multiple service <abbr title="Universal Resource Locator">URL</abbr>s with line breaks.') ?></label></p>
 
 <textarea name="ping_sites" id="ping_sites" class="large-text code" rows="3"><?php echo esc_textarea( get_option('ping_sites') ); ?></textarea>
 
 <?php else : ?>
 
-       <p><?php printf(__('WordPress is not notifying any <a href="http://codex.wordpress.org/Update_Services">Update Services</a> because of your site&#8217;s <a href="%s">visibility settings</a>.'), 'options-reading.php'); ?></p>
+       <p><?php printf(__('WordPress is not notifying any <a href="https://codex.wordpress.org/Update_Services">Update Services</a> because of your site&#8217;s <a href="%s">visibility settings</a>.'), 'options-reading.php'); ?></p>
 
 <?php endif; ?>
 <?php } // multisite ?>
index 6cf5823544015f7f967268d4c5f3b426fdd49b00..0f149c95c55665d54a030c0e6e8100686a5f9bc0 100644 (file)
@@ -180,7 +180,7 @@ if ( 'update' == $action ) {
        if ( $options ) {
                foreach ( $options as $option ) {
                        if ( $unregistered )
-                               _deprecated_argument( 'options.php', '2.7', sprintf( __( 'The <code>%1$s</code> setting is unregistered. Unregistered settings are deprecated. See http://codex.wordpress.org/Settings_API' ), $option, $option_page ) );
+                               _deprecated_argument( 'options.php', '2.7', sprintf( __( 'The <code>%1$s</code> setting is unregistered. Unregistered settings are deprecated. See https://codex.wordpress.org/Settings_API' ), $option, $option_page ) );
 
                        $option = trim( $option );
                        $value = null;
index 1c242955ba72318c0a8dab4ffbedc94cd0e01253..f6033e9a593c90c12515d59951107f2f8642b6b7 100644 (file)
@@ -130,15 +130,15 @@ default:
                '<p>' . __('You can use the editor to make changes to any of your plugins&#8217; individual PHP files. Be aware that if you make changes, plugins updates will overwrite your customizations.') . '</p>' .
                '<p>' . __('Choose a plugin to edit from the menu in the upper right and click the Select button. Click once on any file name to load it in the editor, and make your changes. Don&#8217;t forget to save your changes (Update File) when you&#8217;re finished.') . '</p>' .
                '<p>' . __('The Documentation menu below the editor lists the PHP functions recognized in the plugin file. Clicking Look Up takes you to a web page about that particular function.') . '</p>' .
-               '<p id="newcontent-description">' . __('In the editing area the Tab key enters a tab character. To move below this area by pressing Tab, press the Esc key followed by the Tab key.') . '</p>' .
+               '<p id="newcontent-description">' . __( 'In the editing area the Tab key enters a tab character. To move below this area by pressing Tab, press the Esc key followed by the Tab key. In some cases the Esc key will need to be pressed twice before the Tab key will allow you to continue.' ) . '</p>' .
                '<p>' . __('If you want to make changes but don&#8217;t want them to be overwritten when the plugin is updated, you may be ready to think about writing your own plugin. For information on how to edit plugins, write your own from scratch, or just better understand their anatomy, check out the links below.') . '</p>' .
                ( is_network_admin() ? '<p>' . __('Any edits to files from this screen will be reflected on all sites in the network.') . '</p>' : '' )
        ) );
 
        get_current_screen()->set_help_sidebar(
                '<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="https://codex.wordpress.org/Plugins_Editor_Screen" target="_blank">Documentation on Editing Plugins</a>') . '</p>' .
+               '<p>' . __('<a href="https://codex.wordpress.org/Writing_a_Plugin" target="_blank">Documentation on Writing Plugins</a>') . '</p>' .
                '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
        );
 
@@ -164,7 +164,7 @@ default:
        $content = esc_textarea( $content );
        ?>
 <?php if (isset($_GET['a'])) : ?>
- <div id="message" class="updated"><p><?php _e('File edited successfully.') ?></p></div>
+ <div id="message" class="updated notice is-dismissible"><p><?php _e('File edited successfully.') ?></p></div>
 <?php elseif (isset($_GET['phperror'])) : ?>
  <div id="message" class="updated"><p><?php _e('This plugin has been deactivated because your changes resulted in a <strong>fatal error</strong>.') ?></p>
        <?php
@@ -262,7 +262,7 @@ foreach ( $plugin_files as $plugin_file ) :
        ?>
        </p>
 <?php else : ?>
-       <p><em><?php _e('You need to make this file writable before you can save your changes. See <a href="http://codex.wordpress.org/Changing_File_Permissions">the Codex</a> for more information.'); ?></em></p>
+       <p><em><?php _e('You need to make this file writable before you can save your changes. See <a href="https://codex.wordpress.org/Changing_File_Permissions">the Codex</a> for more information.'); ?></em></p>
 <?php endif; ?>
 </form>
 <br class="clear" />
index e2431eb9b5686abf11207b35389480429f04fbd5..be8e80f6582ebb3b50541427b073887a310d0e6d 100644 (file)
@@ -54,6 +54,8 @@ if ( 'plugin-information' != $tab )
 
 $body_id = $tab;
 
+wp_enqueue_script( 'updates' );
+
 /**
  * Fires before each tab on the Install Plugins screen is loaded.
  *
@@ -82,7 +84,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="https://codex.wordpress.org/Plugins_Add_New_Screen" target="_blank">Documentation on Installing Plugins</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -126,7 +128,10 @@ if ( $tab !== 'upload' ) {
  */
 do_action( "install_plugins_$tab", $paged ); ?>
 </div>
+
 <?php
+wp_print_request_filesystem_credentials_modal();
+
 /**
  * WordPress Administration Template Footer.
  */
index afc83bb4259268c8910f7a29e367d7c850d796c4..d8676ec906eeacb978144efd0ff8b7e3c54afdbf 100644 (file)
@@ -23,6 +23,8 @@ $s = isset($_REQUEST['s']) ? urlencode($_REQUEST['s']) : '';
 // Clean up request URI from temporary args for screen options/paging uri's to work as expected.
 $_SERVER['REQUEST_URI'] = remove_query_arg(array('error', 'deleted', 'activate', 'activate-multi', 'deactivate', 'deactivate-multi', '_error_nonce'), $_SERVER['REQUEST_URI']);
 
+wp_enqueue_script( 'updates' );
+
 if ( $action ) {
 
        switch ( $action ) {
@@ -281,12 +283,20 @@ if ( $action ) {
                                                }
                                        }
                                        $plugins_to_delete = count( $plugin_info );
-                                       echo '<h2>' . _n( 'Delete Plugin', 'Delete Plugins', $plugins_to_delete ) . '</h2>';
                                ?>
-                               <?php if ( $have_non_network_plugins && is_network_admin() ) : ?>
-                               <div class="error"><p><strong><?php _e( 'Caution:' ); ?></strong> <?php echo _n( 'This plugin may be active on other sites in the network.', 'These plugins may be active on other sites in the network.', $plugins_to_delete ); ?></p></div>
+                               <?php if ( 1 == $plugins_to_delete ) : ?>
+                                       <h2><?php _e( 'Delete Plugin' ); ?></h2>
+                                       <?php if ( $have_non_network_plugins && is_network_admin() ) : ?>
+                                               <div class="error"><p><strong><?php _e( 'Caution:' ); ?></strong> <?php _e( 'This plugin may be active on other sites in the network.' ); ?></p></div>
+                                       <?php endif; ?>
+                                       <p><?php _e( 'You are about to remove the following plugin:' ); ?></p>
+                               <?php else: ?>
+                                       <h2><?php _e( 'Delete Plugins' ); ?></h2>
+                                       <?php if ( $have_non_network_plugins && is_network_admin() ) : ?>
+                                               <div class="error"><p><strong><?php _e( 'Caution:' ); ?></strong> <?php _e( 'These plugins may be active on other sites in the network.' ); ?></p></div>
+                                       <?php endif; ?>
+                                       <p><?php _e( 'You are about to remove the following plugins:' ); ?></p>
                                <?php endif; ?>
-                               <p><?php echo _n( 'You are about to remove the following plugin:', 'You are about to remove the following plugins:', $plugins_to_delete ); ?></p>
                                        <ul class="ul-disc">
                                                <?php
                                                $data_to_delete = false;
@@ -319,7 +329,10 @@ if ( $action ) {
                                        <?php wp_nonce_field('bulk-plugins') ?>
                                        <?php submit_button( $data_to_delete ? __( 'Yes, Delete these files and data' ) : __( 'Yes, Delete these files' ), 'button', 'submit', false ); ?>
                                </form>
-                               <form method="post" action="<?php echo esc_url(wp_get_referer()); ?>" style="display:inline;">
+                               <?php
+                               $referer = wp_get_referer();
+                               ?>
+                               <form method="post" action="<?php echo $referer ? esc_url( $referer ) : ''; ?>" style="display:inline;">
                                        <?php submit_button( __( 'No, Return me to the plugin list' ), 'button', 'submit', false ); ?>
                                </form>
 
@@ -356,7 +369,7 @@ $wp_list_table->prepare_items();
 wp_enqueue_script('plugin-install');
 add_thickbox();
 
-add_screen_option( 'per_page', array('label' => _x( 'Plugins', 'plugins per page (screen options)' ), 'default' => 999 ) );
+add_screen_option( 'per_page', array( 'default' => 999 ) );
 
 get_current_screen()->add_help_tab( array(
 'id'           => 'overview',
@@ -375,7 +388,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="https://codex.wordpress.org/Managing_Plugins#Plugin_Management" target="_blank">Documentation on Managing Plugins</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -413,20 +426,20 @@ if ( !empty($invalid) )
                delete_transient( 'plugins_delete_result_' . $user_ID );
 
                if ( is_wp_error($delete_result) ) : ?>
-               <div id="message" class="error"><p><?php printf( __('Plugin could not be deleted due to an error: %s'), $delete_result->get_error_message() ); ?></p></div>
+               <div id="message" class="error notice is-dismissible"><p><?php printf( __('Plugin could not be deleted due to an error: %s'), $delete_result->get_error_message() ); ?></p></div>
                <?php else : ?>
-               <div id="message" class="updated"><p><?php _e('The selected plugins have been <strong>deleted</strong>.'); ?></p></div>
+               <div id="message" class="updated notice is-dismissible"><p><?php _e('The selected plugins have been <strong>deleted</strong>.'); ?></p></div>
                <?php endif; ?>
 <?php elseif ( isset($_GET['activate']) ) : ?>
-       <div id="message" class="updated"><p><?php _e('Plugin <strong>activated</strong>.') ?></p></div>
+       <div id="message" class="updated notice is-dismissible"><p><?php _e('Plugin <strong>activated</strong>.') ?></p></div>
 <?php elseif (isset($_GET['activate-multi'])) : ?>
-       <div id="message" class="updated"><p><?php _e('Selected plugins <strong>activated</strong>.'); ?></p></div>
+       <div id="message" class="updated notice is-dismissible"><p><?php _e('Selected plugins <strong>activated</strong>.'); ?></p></div>
 <?php elseif ( isset($_GET['deactivate']) ) : ?>
-       <div id="message" class="updated"><p><?php _e('Plugin <strong>deactivated</strong>.') ?></p></div>
+       <div id="message" class="updated notice is-dismissible"><p><?php _e('Plugin <strong>deactivated</strong>.') ?></p></div>
 <?php elseif (isset($_GET['deactivate-multi'])) : ?>
-       <div id="message" class="updated"><p><?php _e('Selected plugins <strong>deactivated</strong>.'); ?></p></div>
+       <div id="message" class="updated notice is-dismissible"><p><?php _e('Selected plugins <strong>deactivated</strong>.'); ?></p></div>
 <?php elseif ( 'update-selected' == $action ) : ?>
-       <div id="message" class="updated"><p><?php _e('No out of date plugins were selected.'); ?></p></div>
+       <div id="message" class="updated notice is-dismissible"><p><?php _e('No out of date plugins were selected.'); ?></p></div>
 <?php endif; ?>
 
 <div class="wrap">
@@ -456,11 +469,11 @@ do_action( 'pre_current_active_plugins', $plugins['all'] );
 
 <?php $wp_list_table->views(); ?>
 
-<form method="get" action="">
+<form method="get">
 <?php $wp_list_table->search_box( __( 'Search Installed Plugins' ), 'plugin' ); ?>
 </form>
 
-<form method="post" action="">
+<form method="post" id="bulk-action-form">
 
 <input type="hidden" name="plugin_status" value="<?php echo esc_attr($status) ?>" />
 <input type="hidden" name="paged" value="<?php echo esc_attr($page) ?>" />
@@ -471,4 +484,6 @@ do_action( 'pre_current_active_plugins', $plugins['all'] );
 </div>
 
 <?php
+wp_print_request_filesystem_credentials_modal();
+
 include(ABSPATH . 'wp-admin/admin-footer.php');
index d919d55ca111399c1df12e69aed15742620358ae..0a1181587d93c6c92333e72ea668d642d99dc1cc 100644 (file)
@@ -9,13 +9,15 @@
 /** Load WordPress Administration Bootstrap */
 require_once( dirname( __FILE__ ) . '/admin.php' );
 
-if ( !isset($_GET['post_type']) )
+global $post_type, $post_type_object, $post;
+
+if ( ! isset( $_GET['post_type'] ) ) {
        $post_type = 'post';
-elseif ( in_array( $_GET['post_type'], get_post_types( array('show_ui' => true ) ) ) )
+} elseif ( in_array( $_GET['post_type'], get_post_types( array('show_ui' => true ) ) ) ) {
        $post_type = $_GET['post_type'];
-else
+} else {
        wp_die( __('Invalid post type') );
-
+}
 $post_type_object = get_post_type_object( $post_type );
 
 if ( 'post' == $post_type ) {
index 805c46e6edf6e0461112c1d5196859eb567aba6a..0c38b5631e074150c872d83a364ca6b4c46eb626 100644 (file)
@@ -23,7 +23,7 @@ elseif ( isset( $_POST['post_ID'] ) )
 else
        $post_id = $post_ID = 0;
 
-$post = $post_type = $post_type_object = null;
+global $post_type, $post_type_object, $post;
 
 if ( $post_id )
        $post = get_post( $post_id );
@@ -95,7 +95,9 @@ if ( ! $sendback ||
                $sendback = admin_url( 'upload.php' );
        } else {
                $sendback = admin_url( 'edit.php' );
-               $sendback .= ( ! empty( $post_type ) ) ? '?post_type=' . $post_type : '';
+               if ( ! empty( $post_type ) ) {
+                       $sendback = add_query_arg( 'post_type', $post_type, $sendback );
+               }
        }
 } else {
        $sendback = remove_query_arg( array('trashed', 'untrashed', 'deleted', 'ids'), $sendback );
index 6ae7341f3459a98002c81be19e5bb6fe3e84783c..5b405cc05886cba2d6a511f28e2925b0efea9956 100644 (file)
@@ -11,681 +11,11 @@ define('IFRAME_REQUEST' , true);
 /** WordPress Administration Bootstrap */
 require_once( dirname( __FILE__ ) . '/admin.php' );
 
-header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
-
 if ( ! current_user_can( 'edit_posts' ) || ! current_user_can( get_post_type_object( 'post' )->cap->create_posts ) )
        wp_die( __( 'Cheatin&#8217; uh?' ), 403 );
 
-/**
- * Press It form handler.
- *
- * @since 2.6.0
- *
- * @return int Post ID
- */
-function press_it() {
-
-       $post = get_default_post_to_edit();
-       $post = get_object_vars($post);
-       $post_ID = $post['ID'] = (int) $_POST['post_id'];
-
-       if ( !current_user_can('edit_post', $post_ID) )
-               wp_die(__('You are not allowed to edit this post.'));
-
-       $post['post_category'] = isset($_POST['post_category']) ? $_POST['post_category'] : '';
-       $post['tax_input'] = isset($_POST['tax_input']) ? $_POST['tax_input'] : '';
-       $post['post_title'] = isset($_POST['title']) ? $_POST['title'] : '';
-       $content = isset($_POST['content']) ? $_POST['content'] : '';
-
-       $upload = false;
-       if ( !empty($_POST['photo_src']) && current_user_can('upload_files') ) {
-               foreach( (array) $_POST['photo_src'] as $key => $image) {
-                       // See if files exist in content - we don't want to upload non-used selected files.
-                       if ( strpos($_POST['content'], htmlspecialchars($image)) !== false ) {
-                               $desc = isset($_POST['photo_description'][$key]) ? $_POST['photo_description'][$key] : '';
-                               $upload = media_sideload_image($image, $post_ID, $desc);
-
-                               // Replace the POSTED content <img> with correct uploaded ones. Regex contains fix for Magic Quotes
-                               if ( !is_wp_error($upload) )
-                                       $content = preg_replace('/<img ([^>]*)src=\\\?(\"|\')'.preg_quote(htmlspecialchars($image), '/').'\\\?(\2)([^>\/]*)\/*>/is', $upload, $content);
-                       }
-               }
-       }
-       // Set the post_content and status.
-       $post['post_content'] = $content;
-       if ( isset( $_POST['publish'] ) && current_user_can( 'publish_posts' ) )
-               $post['post_status'] = 'publish';
-       elseif ( isset( $_POST['review'] ) )
-               $post['post_status'] = 'pending';
-       else
-               $post['post_status'] = 'draft';
-
-       // Error handling for media_sideload.
-       if ( is_wp_error($upload) ) {
-               wp_delete_post($post_ID);
-               wp_die( esc_html( $upload->get_error_message() ) );
-       } else {
-               // Post formats.
-               if ( isset( $_POST['post_format'] ) ) {
-                       if ( current_theme_supports( 'post-formats', $_POST['post_format'] ) )
-                               set_post_format( $post_ID, $_POST['post_format'] );
-                       elseif ( '0' == $_POST['post_format'] )
-                               set_post_format( $post_ID, false );
-               }
-
-               $post_ID = wp_update_post($post);
-       }
-
-       return $post_ID;
-}
-
-// For submitted posts.
-if ( isset($_REQUEST['action']) && 'post' == $_REQUEST['action'] ) {
-       check_admin_referer('press-this');
-       $posted = $post_ID = press_it();
-} else {
-       $post = get_default_post_to_edit('post', true);
-       $post_ID = $post->ID;
-}
-
-// Set Variables
-$title = isset( $_GET['t'] ) ? trim( strip_tags( html_entity_decode( wp_unslash( $_GET['t'] ) , ENT_QUOTES) ) ) : '';
-
-$selection = '';
-if ( !empty($_GET['s']) ) {
-       $selection = str_replace('&apos;', "'", wp_unslash($_GET['s']));
-       $selection = trim( htmlspecialchars( html_entity_decode($selection, ENT_QUOTES) ) );
-}
-
-if ( ! empty($selection) ) {
-       $selection = preg_replace('/(\r?\n|\r)/', '</p><p>', $selection);
-       $selection = '<p>' . str_replace('<p></p>', '', $selection) . '</p>';
-}
-
-$url = isset($_GET['u']) ? esc_url($_GET['u']) : '';
-$image = isset($_GET['i']) ? $_GET['i'] : '';
-
-if ( !empty($_REQUEST['ajax']) ) {
-       switch ($_REQUEST['ajax']) {
-               case 'video': ?>
-                       <script type="text/javascript">
-                       /* <![CDATA[ */
-                               jQuery('.select').click(function() {
-                                       append_editor(jQuery('#embed-code').val());
-                                       jQuery('#extra-fields').hide();
-                                       jQuery('#extra-fields').html('');
-                               });
-                               jQuery('.close').click(function() {
-                                       jQuery('#extra-fields').hide();
-                                       jQuery('#extra-fields').html('');
-                               });
-                       /* ]]> */
-                       </script>
-                       <div class="postbox">
-                               <h2><label for="embed-code"><?php _e('Embed Code') ?></label></h2>
-                               <div class="inside">
-                                       <textarea name="embed-code" id="embed-code" rows="8" cols="40"><?php echo esc_textarea( $selection ); ?></textarea>
-                                       <p id="options"><a href="#" class="select button"><?php _e('Insert Video'); ?></a> <a href="#" class="close button"><?php _e('Cancel'); ?></a></p>
-                               </div>
-                       </div>
-                       <?php break;
-
-               case 'photo_thickbox': ?>
-                       <script type="text/javascript">
-                               /* <![CDATA[ */
-                               jQuery('.cancel').click(function() {
-                                       tb_remove();
-                               });
-                               jQuery('.select').click(function() {
-                                       image_selector(this);
-                               });
-                               /* ]]> */
-                       </script>
-                       <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" type="text" onkeypress="if(event.keyCode==13) image_selector(this);" value="<?php echo esc_attr($title);?>"/>
-                               </div>
-                       </div>
-
-                       <p class="centered">
-                               <input type="hidden" name="this_photo" value="<?php echo esc_attr( $image ); ?>" id="tb_this_photo" class="tb_this_photo" />
-                               <a href="#" class="select">
-                                       <img src="<?php echo esc_url( $image ); ?>" alt="<?php esc_attr_e( 'Click to insert.' ); ?>" title="<?php esc_attr_e( 'Click to insert.' ); ?>" />
-                               </a>
-                       </p>
-
-                       <p id="options"><a href="#" class="select button"><?php _e('Insert Image'); ?></a> <a href="#" class="cancel button"><?php _e('Cancel'); ?></a></p>
-                       <?php break;
-       case 'photo_images':
-               /**
-                * Retrieve all image URLs from given URI.
-                *
-                * @since 2.6.0
-                *
-                * @param string $uri
-                * @return string
-                */
-               function get_images_from_uri($uri) {
-                       $uri = preg_replace('/\/#.+?$/','', $uri);
-                       if ( preg_match( '/\.(jpe?g|jpe|gif|png)\b/i', $uri ) && !strpos( $uri, 'blogger.com' ) )
-                               return "'" . esc_attr( html_entity_decode($uri) ) . "'";
-                       $content = wp_remote_fopen($uri);
-                       if ( false === $content )
-                               return '';
-                       $host = parse_url($uri);
-                       $pattern = '/<img ([^>]*)src=(\"|\')([^<>\'\"]+)(\2)([^>]*)\/*>/i';
-                       $content = str_replace(array("\n","\t","\r"), '', $content);
-                       preg_match_all($pattern, $content, $matches);
-                       if ( empty($matches[0]) )
-                               return '';
-                       $sources = array();
-                       foreach ($matches[3] as $src) {
-
-                               // If no http in URL.
-                               if (strpos($src, 'http') === false)
-                                       // If it doesn't have a relative URI.
-                                       if ( strpos($src, '../') === false && strpos($src, './') === false && strpos($src, '/') === 0)
-                                               $src = 'http://'.str_replace('//','/', $host['host'].'/'.$src);
-                                       else
-                                               $src = 'http://'.str_replace('//','/', $host['host'].'/'.dirname($host['path']).'/'.$src);
-                               $sources[] = esc_url($src);
-                       }
-                       return "'" . implode("','", $sources) . "'";
-               }
-               $url = wp_kses(urldecode($url), null);
-               echo 'new Array('.get_images_from_uri($url).')';
-               break;
-
-       case 'photo_js': ?>
-               // Gather images and load some default JS.
-               var last = null
-               var img, img_tag, aspect, w, h, skip, i, strtoappend = "";
-               if(photostorage == false) {
-               var my_src = eval(
-                       jQuery.ajax({
-                               type: "GET",
-                               url: "<?php echo esc_url($_SERVER['PHP_SELF']); ?>",
-                               cache : false,
-                               async : false,
-                               data: "ajax=photo_images&u=<?php echo urlencode($url); ?>",
-                               dataType : "script"
-                       }).responseText
-               );
-               if(my_src.length == 0) {
-                       var my_src = eval(
-                               jQuery.ajax({
-                                       type: "GET",
-                                       url: "<?php echo esc_url($_SERVER['PHP_SELF']); ?>",
-                                       cache : false,
-                                       async : false,
-                                       data: "ajax=photo_images&u=<?php echo urlencode($url); ?>",
-                                       dataType : "script"
-                               }).responseText
-                       );
-                       if(my_src.length == 0) {
-                               strtoappend = '<?php _e('Unable to retrieve images or no images on page.'); ?>';
-                       }
-               }
-               }
-               for (i = 0; i < my_src.length; i++) {
-                       img = new Image();
-                       img.src = my_src[i];
-                       img_attr = 'id="img' + i + '"';
-                       skip = false;
-
-                       maybeappend = '<a href="?ajax=photo_thickbox&amp;i=' + encodeURIComponent(img.src) + '&amp;u=<?php echo urlencode($url); ?>&amp;height=400&amp;width=500" title="" class="thickbox"><img src="' + img.src + '" ' + img_attr + '/></a>';
-
-                       if (img.width && img.height) {
-                               if (img.width >= 30 && img.height >= 30) {
-                                       aspect = img.width / img.height;
-                                       scale = (aspect > 1) ? (71 / img.width) : (71 / img.height);
-
-                                       w = img.width;
-                                       h = img.height;
-
-                                       if (scale < 1) {
-                                               w = parseInt(img.width * scale);
-                                               h = parseInt(img.height * scale);
-                                       }
-                                       img_attr += ' style="width: ' + w + 'px; height: ' + h + 'px;"';
-                                       strtoappend += maybeappend;
-                               }
-                       } else {
-                               strtoappend += maybeappend;
-                       }
-               }
-
-               function pick(img, desc) {
-                       if (img) {
-                               if('object' == typeof jQuery('.photolist input') && jQuery('.photolist input').length != 0) length = jQuery('.photolist input').length;
-                               if(length == 0) length = 1;
-                               jQuery('.photolist').append('<input name="photo_src[' + length + ']" value="' + img +'" type="hidden"/>');
-                               jQuery('.photolist').append('<input name="photo_description[' + length + ']" value="' + desc +'" type="hidden"/>');
-                               insert_editor( "\n\n" + encodeURI('<p style="text-align: center;"><a href="<?php echo $url; ?>"><img src="' + img +'" alt="' + desc + '" /></a></p>'));
-                       }
-                       return false;
-               }
-
-               function image_selector(el) {
-                       var desc, src, parent = jQuery(el).closest('#photo-add-url-div');
-
-                       if ( parent.length ) {
-                               desc = parent.find('input.tb_this_photo_description').val() || '';
-                               src = parent.find('input.tb_this_photo').val() || ''
-                       } else {
-                               desc = jQuery('#tb_this_photo_description').val() || '';
-                               src = jQuery('#tb_this_photo').val() || ''
-                       }
-
-                       tb_remove();
-                       pick(src, desc);
-                       jQuery('#extra-fields').hide();
-                       jQuery('#extra-fields').html('');
-                       return false;
-               }
-
-               jQuery('#extra-fields').html('<div class="postbox"><h2><?php _e( 'Add Photos' ); ?> <small id="photo_directions">(<?php _e("click images to select") ?>)</small></h2><ul class="actions"><li><a href="#" id="photo-add-url" class="button button-small"><?php _e("Add from URL") ?> +</a></li></ul><div class="inside"><div class="titlewrap"><div id="img_container"></div></div><p id="options"><a href="#" class="close button"><?php _e('Cancel'); ?></a><a href="#" class="refresh button"><?php _e('Refresh'); ?></a></p></div>');
-               jQuery('#img_container').html(strtoappend);
-               <?php break;
+if ( empty( $GLOBALS['wp_press_this'] ) ) {
+       include( ABSPATH . 'wp-admin/includes/class-wp-press-this.php' );
 }
-die;
-}
-
-       wp_enqueue_style( 'colors' );
-       wp_enqueue_script( 'post' );
-       add_thickbox();
-       _wp_admin_html_begin();
-?>
-<title><?php _e('Press This') ?></title>
-<script type="text/javascript">
-//<![CDATA[
-addLoadEvent = function(func){if(typeof jQuery!="undefined")jQuery(document).ready(func);else if(typeof wpOnload!='function'){wpOnload=func;}else{var oldonload=wpOnload;wpOnload=function(){oldonload();func();}}};
-var ajaxurl = '<?php echo admin_url( 'admin-ajax.php', 'relative' ); ?>', pagenow = 'press-this', isRtl = <?php echo (int) is_rtl(); ?>;
-var photostorage = false;
-//]]>
-</script>
-
-<?php
-       /** This action is documented in wp-admin/admin-header.php */
-       do_action( 'admin_enqueue_scripts', 'press-this.php' );
-
-       /**
-        * 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' );
-
-       /**
-        * 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' );
-?>
-       <script type="text/javascript">
-       var wpActiveEditor = 'content';
-
-       function insert_plain_editor(text) {
-               if ( typeof(QTags) != 'undefined' )
-                       QTags.insertContent(text);
-       }
-       function set_editor(text) {
-               if ( '' == text || '<p></p>' == text )
-                       text = '<p><br /></p>';
-
-               if ( tinyMCE.activeEditor )
-                       tinyMCE.execCommand('mceSetContent', false, text);
-       }
-       function insert_editor(text) {
-               if ( '' != text && tinyMCE.activeEditor && ! tinyMCE.activeEditor.isHidden()) {
-                       tinyMCE.execCommand('mceInsertContent', false, '<p>' + decodeURI(tinymce.DOM.decode(text)) + '</p>', {format : 'raw'});
-               } else {
-                       insert_plain_editor(decodeURI(text));
-               }
-       }
-       function append_editor(text) {
-               if ( '' != text && tinyMCE.activeEditor && ! tinyMCE.activeEditor.isHidden()) {
-                       tinyMCE.execCommand('mceSetContent', false, tinyMCE.activeEditor.getContent({format : 'raw'}) + '<p>' + text + '</p>');
-               } else {
-                       insert_plain_editor(text);
-               }
-       }
-
-       function show(tab_name) {
-               jQuery('#extra-fields').html('');
-               switch(tab_name) {
-                       case 'video' :
-                               jQuery('#extra-fields').load('<?php echo esc_url($_SERVER['PHP_SELF']); ?>', { ajax: 'video', s: '<?php echo esc_attr($selection); ?>'}, function() {
-                                       <?php
-                                       $content = '';
-                                       if ( preg_match("/youtube\.com\/watch/i", $url) ) {
-                                               list($domain, $video_id) = explode("v=", $url);
-                                               $video_id = esc_attr($video_id);
-                                               $content = '<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/' . $video_id . '"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/' . $video_id . '" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>';
-
-                                       } elseif ( preg_match("/vimeo\.com\/[0-9]+/i", $url) ) {
-                                               list($domain, $video_id) = explode(".com/", $url);
-                                               $video_id = esc_attr($video_id);
-                                               $content = '<object width="400" height="225"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=' . $video_id . '&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" />      <embed src="http://www.vimeo.com/moogaloop.swf?clip_id=' . $video_id . '&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object>';
-
-                                               if ( trim($selection) == '' )
-                                                       $selection = '<p><a href="http://www.vimeo.com/' . $video_id . '?pg=embed&sec=' . $video_id . '">' . $title . '</a> on <a href="http://vimeo.com?pg=embed&sec=' . $video_id . '">Vimeo</a></p>';
-
-                                       } elseif ( strpos( $selection, '<object' ) !== false ) {
-                                               $content = $selection;
-                                       }
-                                       ?>
-                                       jQuery('#embed-code').prepend('<?php echo htmlentities($content); ?>');
-                               });
-                               jQuery('#extra-fields').show();
-                               return false;
-                               break;
-                       case 'photo' :
-                               function setup_photo_actions() {
-                                       jQuery('.close').click(function() {
-                                               jQuery('#extra-fields').hide();
-                                               jQuery('#extra-fields').html('');
-                                       });
-                                       jQuery('.refresh').click(function() {
-                                               photostorage = false;
-                                               show('photo');
-                                       });
-                                       jQuery('#photo-add-url').click(function(){
-                                               var form = jQuery('#photo-add-url-div').clone();
-                                               jQuery('#img_container').empty().append( form.show() );
-                                       });
-                                       jQuery('#waiting').hide();
-                                       jQuery('#extra-fields').show();
-                               }
-
-                               jQuery('#waiting').show();
-                               if(photostorage == false) {
-                                       jQuery.ajax({
-                                               type: "GET",
-                                               cache : false,
-                                               url: "<?php echo esc_url($_SERVER['PHP_SELF']); ?>",
-                                               data: "ajax=photo_js&u=<?php echo urlencode($url)?>",
-                                               dataType : "script",
-                                               success : function(data) {
-                                                       eval(data);
-                                                       photostorage = jQuery('#extra-fields').html();
-                                                       setup_photo_actions();
-                                               }
-                                       });
-                               } else {
-                                       jQuery('#extra-fields').html(photostorage);
-                                       setup_photo_actions();
-                               }
-                               return false;
-                               break;
-               }
-       }
-       jQuery(document).ready(function($) {
-               var $contnet = $( '#content' );
-
-               // Resize screen.
-               window.resizeTo(760,580);
-
-               // Set button actions.
-               jQuery('#photo_button').click(function() { show('photo'); return false; });
-               jQuery('#video_button').click(function() { show('video'); return false; });
-
-               // Auto select.
-               <?php if ( preg_match("/youtube\.com\/watch/i", $url) ) { ?>
-                       show('video');
-               <?php } elseif ( preg_match("/vimeo\.com\/[0-9]+/i", $url) ) { ?>
-                       show('video');
-               <?php } elseif ( preg_match("/flickr\.com/i", $url) ) { ?>
-                       show('photo');
-               <?php } ?>
-               jQuery('#title').unbind();
-               jQuery('#publish, #save').click(function() { jQuery('.press-this #publishing-actions .spinner').css('display', 'inline-block'); });
-
-               $('#tagsdiv-post_tag, #categorydiv').children('h3, .handlediv').click(function(){
-                       $(this).siblings('.inside').toggle();
-               });
-
-               if ( $( '#wp-content-wrap' ).hasClass( 'html-active' ) && window.switchEditors &&
-                       ( tinyMCEPreInit.mceInit.content && tinyMCEPreInit.mceInit.content.wpautop ) ) {
-                       // The Text editor is default, run the initial content through pre_wpautop() to convert the paragraphs
-                       $contnet.text( window.switchEditors.pre_wpautop( $contnet.text() ) );
-               }
-       });
-</script>
-</head>
-<?php
-$admin_body_class = ( is_rtl() ) ? 'rtl' : '';
-$admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
-?>
-<body class="press-this wp-admin wp-core-ui <?php echo $admin_body_class; ?>">
-<form action="press-this.php?action=post" method="post">
-<div id="poststuff" class="metabox-holder">
-       <div id="side-sortables" class="press-this-sidebar">
-               <div class="sleeve">
-                       <?php wp_nonce_field('press-this') ?>
-                       <input type="hidden" name="post_type" id="post_type" value="text"/>
-                       <input type="hidden" name="autosave" id="autosave" />
-                       <input type="hidden" id="original_post_status" name="original_post_status" value="draft" />
-                       <input type="hidden" id="prev_status" name="prev_status" value="draft" />
-                       <input type="hidden" id="post_id" name="post_id" value="<?php echo (int) $post_ID; ?>" />
-
-                       <!-- This div holds the photo metadata -->
-                       <div class="photolist"></div>
-
-                       <div id="submitdiv" class="postbox">
-                               <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle' ); ?>"><br /></div>
-                               <h3 class="hndle"><?php _e('Press This') ?></h3>
-                               <div class="inside">
-                                       <p id="publishing-actions">
-                                       <?php
-                                               submit_button( __( 'Save Draft' ), 'button', 'draft', false, array( 'id' => 'save' ) );
-                                               if ( current_user_can('publish_posts') ) {
-                                                       submit_button( __( 'Publish' ), 'primary', 'publish', false );
-                                               } else {
-                                                       echo '<br /><br />';
-                                                       submit_button( __( 'Submit for Review' ), 'primary', 'review', false );
-                                               } ?>
-                                               <span class="spinner" style="display: none;"></span>
-                                       </p>
-                                       <?php if ( current_theme_supports( 'post-formats' ) && post_type_supports( 'post', 'post-formats' ) ) :
-                                                       $post_formats = get_theme_support( 'post-formats' );
-                                                       if ( is_array( $post_formats[0] ) ) :
-                                                               $default_format = get_option( 'default_post_format', '0' );
-                                               ?>
-                                       <p>
-                                               <label for="post_format"><?php _e( 'Post Format:' ); ?>
-                                               <select name="post_format" id="post_format">
-                                                       <option value="0"><?php echo get_post_format_string( 'standard' ); ?></option>
-                                               <?php foreach ( $post_formats[0] as $format ): ?>
-                                                       <option<?php selected( $default_format, $format ); ?> value="<?php echo esc_attr( $format ); ?>"> <?php echo esc_html( get_post_format_string( $format ) ); ?></option>
-                                               <?php endforeach; ?>
-                                               </select></label>
-                                       </p>
-                                       <?php endif; endif; ?>
-                               </div>
-                       </div>
-
-                       <?php $tax = get_taxonomy( 'category' ); ?>
-                       <div id="categorydiv" class="postbox">
-                               <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle' ); ?>"><br /></div>
-                               <h3 class="hndle"><?php _e('Categories') ?></h3>
-                               <div class="inside">
-                               <div id="taxonomy-category" class="categorydiv">
-
-                                       <ul id="category-tabs" class="category-tabs">
-                                               <li class="tabs"><a href="#category-all"><?php echo $tax->labels->all_items; ?></a></li>
-                                               <li class="hide-if-no-js"><a href="#category-pop"><?php _e( 'Most Used' ); ?></a></li>
-                                       </ul>
-
-                                       <div id="category-pop" class="tabs-panel" style="display: none;">
-                                               <ul id="categorychecklist-pop" class="categorychecklist form-no-clear" >
-                                                       <?php $popular_ids = wp_popular_terms_checklist( 'category' ); ?>
-                                               </ul>
-                                       </div>
-
-                                       <div id="category-all" class="tabs-panel">
-                                               <ul id="categorychecklist" data-wp-lists="list:category" class="categorychecklist form-no-clear">
-                                                       <?php wp_terms_checklist($post_ID, array( 'taxonomy' => 'category', 'popular_cats' => $popular_ids ) ) ?>
-                                               </ul>
-                                       </div>
-
-                                       <?php if ( !current_user_can($tax->cap->assign_terms) ) : ?>
-                                       <p><em><?php _e('You cannot modify this Taxonomy.'); ?></em></p>
-                                       <?php endif; ?>
-                                       <?php if ( current_user_can($tax->cap->edit_terms) ) : ?>
-                                               <div id="category-adder" class="wp-hidden-children">
-                                                       <h4>
-                                                               <a id="category-add-toggle" href="#category-add" class="hide-if-no-js">
-                                                                       <?php printf( __( '+ %s' ), $tax->labels->add_new_item ); ?>
-                                                               </a>
-                                                       </h4>
-                                                       <p id="category-add" class="category-add wp-hidden-child">
-                                                               <label class="screen-reader-text" for="newcategory"><?php echo $tax->labels->add_new_item; ?></label>
-                                                               <input type="text" name="newcategory" id="newcategory" class="form-required form-input-tip" value="<?php echo esc_attr( $tax->labels->new_item_name ); ?>" aria-required="true"/>
-                                                               <label class="screen-reader-text" for="newcategory_parent">
-                                                                       <?php echo $tax->labels->parent_item_colon; ?>
-                                                               </label>
-                                                               <?php wp_dropdown_categories( array( 'taxonomy' => 'category', 'hide_empty' => 0, 'name' => 'newcategory_parent', 'orderby' => 'name', 'hierarchical' => 1, 'show_option_none' => '&mdash; ' . $tax->labels->parent_item . ' &mdash;' ) ); ?>
-                                                               <input type="button" id="category-add-submit" data-wp-lists="add:categorychecklist:category-add" class="button category-add-submit" value="<?php echo esc_attr( $tax->labels->add_new_item ); ?>" />
-                                                               <?php wp_nonce_field( 'add-category', '_ajax_nonce-add-category', false ); ?>
-                                                               <span id="category-ajax-response"></span>
-                                                       </p>
-                                               </div>
-                                       <?php endif; ?>
-                               </div>
-                               </div>
-                       </div>
-
-                       <div id="tagsdiv-post_tag" class="postbox">
-                               <div class="handlediv" title="<?php esc_attr_e( 'Click to toggle' ); ?>"><br /></div>
-                               <h3><span><?php _e('Tags'); ?></span></h3>
-                               <div class="inside">
-                                       <div class="tagsdiv" id="post_tag">
-                                               <div class="jaxtag">
-                                                       <label class="screen-reader-text" for="newtag"><?php _e('Tags'); ?></label>
-                                                       <input type="hidden" name="tax_input[post_tag]" class="the-tags" id="tax-input[post_tag]" value="" />
-                                                       <div class="ajaxtag">
-                                                               <input type="text" name="newtag[post_tag]" class="newtag form-input-tip" size="16" autocomplete="off" value="" />
-                                                               <input type="button" class="button tagadd" value="<?php esc_attr_e('Add'); ?>" />
-                                                       </div>
-                                               </div>
-                                               <div class="tagchecklist"></div>
-                                       </div>
-                                       <p class="tagcloud-link"><a href="#titlediv" class="tagcloud-link" id="link-post_tag"><?php _e('Choose from the most used tags'); ?></a></p>
-                               </div>
-                       </div>
-               </div>
-       </div>
-       <div class="posting">
-
-               <div id="wphead">
-                       <h1 id="site-heading">
-                               <a href="<?php echo get_option('home'); ?>/" target="_blank">
-                                       <span id="site-title"><?php bloginfo('name'); ?></span>
-                               </a>
-                       </h1>
-               </div>
-
-               <?php
-               if ( isset($posted) && intval($posted) ) {
-                       $post_ID = intval($posted); ?>
-                       <div id="message" class="updated">
-                       <p><strong><?php _e('Your post has been saved.'); ?></strong>
-                       <a onclick="window.opener.location.replace(this.href); window.close();" href="<?php echo get_permalink($post_ID); ?>"><?php _e('View post'); ?></a>
-                       | <a href="<?php echo get_edit_post_link( $post_ID ); ?>" onclick="window.opener.location.replace(this.href); window.close();"><?php _e('Edit Post'); ?></a>
-                       | <a href="#" onclick="window.close();"><?php _e('Close Window'); ?></a></p>
-                       </div>
-               <?php } ?>
-
-               <div id="titlediv">
-                       <div class="titlewrap">
-                               <input name="title" id="title" class="text" type="text" value="<?php echo esc_attr($title);?>"/>
-                       </div>
-               </div>
-
-               <div id="waiting" style="display: none"><span class="spinner"></span> <span><?php esc_html_e( 'Loading&hellip;' ); ?></span></div>
-
-               <div id="extra-fields" style="display: none"></div>
-
-               <div class="postdivrich">
-               <?php
-
-               $editor_settings = array(
-                       'teeny' => true,
-                       'textarea_rows' => '15'
-               );
-
-               $content = '';
-               if ( $selection )
-                       $content .= $selection;
-
-               if ( $url ) {
-                       $content .= '<p>';
-
-                       if ( $selection )
-                               $content .= __('via ');
-
-                       $content .= sprintf( "<a href='%s'>%s</a>.</p>", esc_url( $url ), esc_html( $title ) );
-               }
-
-               remove_action( 'media_buttons', 'media_buttons' );
-               add_action( 'media_buttons', 'press_this_media_buttons' );
-               function press_this_media_buttons() {
-                       _e( 'Add:' );
-
-                       if ( current_user_can('upload_files') ) {
-                               ?>
-                               <a id="photo_button" title="<?php esc_attr_e('Insert an Image'); ?>" href="#">
-                               <img alt="<?php esc_attr_e('Insert an Image'); ?>" src="<?php echo esc_url( admin_url( 'images/media-button-image.gif?ver=20100531' ) ); ?>"/></a>
-                               <?php
-                       }
-                       ?>
-                       <a id="video_button" title="<?php esc_attr_e('Embed a Video'); ?>" href="#"><img alt="<?php esc_attr_e('Embed a Video'); ?>" src="<?php echo esc_url( admin_url( 'images/media-button-video.gif?ver=20100531' ) ); ?>"/></a>
-                       <?php
-               }
-
-               wp_editor( $content, 'content', $editor_settings );
-
-               ?>
-               </div>
-       </div>
-</div>
-</form>
-<div id="photo-add-url-div" style="display:none;">
-       <table><tr>
-       <td><label for="this_photo"><?php _e('URL') ?></label></td>
-       <td><input type="text" id="this_photo" name="this_photo" class="tb_this_photo text" onkeypress="if(event.keyCode==13) image_selector(this);" /></td>
-       </tr><tr>
-       <td><label for="this_photo_description"><?php _e('Description') ?></label></td>
-       <td><input type="text" id="this_photo_description" name="photo_description" class="tb_this_photo_description text" onkeypress="if(event.keyCode==13) image_selector(this);" value="<?php echo esc_attr($title);?>"/></td>
-       </tr><tr>
-       <td><input type="button" class="button" onclick="image_selector(this)" value="<?php esc_attr_e('Insert Image'); ?>" /></td>
-       </tr></table>
-</div>
-<?php
-/** 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' );
-?>
-<script type="text/javascript">if(typeof wpOnload=='function')wpOnload();</script>
-</body>
-</html>
+$GLOBALS['wp_press_this']->html();
index f65ae6ae86078a1a86f0998fee732f7bf087f519..0f48ef9a2707a5231e37a51251592227db6170c3 100644 (file)
@@ -116,7 +116,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="https://codex.wordpress.org/Revision_Management" target="_blank">Revisions Management</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 );
index 5f71f53e6749877e87b5b14655f7767b6595ae37..34e19c763307dcada5369bb8ad024ae2d8e251cd 100644 (file)
@@ -136,7 +136,7 @@ switch($step) {
 <p>
        <?php _e( 'We&#8217;re going to use this information to create a <code>wp-config.php</code> file.' ); ?>
        <strong><?php _e( "If for any reason this automatic file creation doesn&#8217;t work, don&#8217;t worry. All this does is fill in the database information to a configuration file. You may also simply open <code>wp-config-sample.php</code> in a text editor, fill in your information, and save it as <code>wp-config.php</code>." ); ?></strong>
-       <?php _e( "Need more help? <a href='http://codex.wordpress.org/Editing_wp-config.php'>We got it</a>." ); ?>
+       <?php _e( "Need more help? <a href='https://codex.wordpress.org/Editing_wp-config.php'>We got it</a>." ); ?>
 </p>
 <p><?php _e( "In all likelihood, these items were supplied to you by your Web Host. If you do not have this information, then you will need to contact them before you can continue. If you&#8217;re all ready&hellip;" ); ?></p>
 
@@ -280,6 +280,11 @@ switch($step) {
                        case 'DB_HOST'     :
                                $config_file[ $line_num ] = "define('" . $constant . "'," . $padding . "'" . addcslashes( constant( $constant ), "\\'" ) . "');\r\n";
                                break;
+                       case 'DB_CHARSET'  :
+                               if ( 'utf8mb4' === $wpdb->charset || ( ! $wpdb->charset && $wpdb->has_cap( 'utf8mb4' ) ) ) {
+                                       $config_file[ $line_num ] = "define('" . $constant . "'," . $padding . "'utf8mb4');\r\n";
+                               }
+                               break;
                        case 'AUTH_KEY'         :
                        case 'SECURE_AUTH_KEY'  :
                        case 'LOGGED_IN_KEY'    :
index d0ecee48f4904fd5c4d542bcf66bcd964a1ef9a7..e0ca475bd0210c731fb0825ced056644949277e7 100644 (file)
@@ -27,19 +27,19 @@ get_current_screen()->add_help_tab( array(
        '<p>' . __('You can use the Theme Editor to edit the individual CSS and PHP files which make up your theme.') . '</p>
        <p>' . __('Begin by choosing a theme to edit from the dropdown menu and clicking Select. A list then appears of all the template files. Clicking once on any file name causes the file to appear in the large Editor box.') . '</p>
        <p>' . __('For PHP files, you can use the Documentation dropdown to select from functions recognized in that file. Look Up takes you to a web page with reference material about that particular function.') . '</p>
-       <p id="newcontent-description">' . __('In the editing area the Tab key enters a tab character. To move below this area by pressing Tab, press the Esc key followed by the Tab key.') . '</p>
+       <p id="newcontent-description">' . __( 'In the editing area the Tab key enters a tab character. To move below this area by pressing Tab, press the Esc key followed by the Tab key. In some cases the Esc key will need to be pressed twice before the Tab key will allow you to continue.' ) . '</p>
        <p>' . __('After typing in your edits, click Update File.') . '</p>
        <p>' . __('<strong>Advice:</strong> think very carefully about your site crashing if you are live-editing the theme currently in use.') . '</p>
-       <p>' . sprintf( __('Upgrading to a newer version of the same theme will override changes made here. To avoid this, consider creating a <a href="%s" target="_blank">child theme</a> instead.'), __('http://codex.wordpress.org/Child_Themes') ) . '</p>' .
+       <p>' . sprintf( __('Upgrading to a newer version of the same theme will override changes made here. To avoid this, consider creating a <a href="%s" target="_blank">child theme</a> instead.'), __('https://codex.wordpress.org/Child_Themes') ) . '</p>' .
        ( is_network_admin() ? '<p>' . __('Any edits to files from this screen will be reflected on all sites in the network.') . '</p>' : '' )
 ) );
 
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
-       '<p>' . __('<a href="http://codex.wordpress.org/Theme_Development" target="_blank">Documentation on Theme Development</a>') . '</p>' .
-       '<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="https://codex.wordpress.org/Theme_Development" target="_blank">Documentation on Theme Development</a>') . '</p>' .
+       '<p>' . __('<a href="https://codex.wordpress.org/Using_Themes" target="_blank">Documentation on Using Themes</a>') . '</p>' .
+       '<p>' . __('<a href="https://codex.wordpress.org/Editing_Files" target="_blank">Documentation on Editing Files</a>') . '</p>' .
+       '<p>' . __('<a href="https://codex.wordpress.org/Template_Tags" target="_blank">Documentation on Template Tags</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -122,7 +122,7 @@ default:
        }
 
        if ( isset( $_GET['updated'] ) ) : ?>
- <div id="message" class="updated"><p><?php _e( 'File edited successfully.' ) ?></p></div>
+ <div id="message" class="updated notice is-dismissible"><p><?php _e( 'File edited successfully.' ) ?></p></div>
 <?php endif;
 
 $description = get_file_description( $file );
@@ -219,7 +219,7 @@ else : ?>
        if ( is_writeable( $file ) ) :
                submit_button( __( 'Update File' ), 'primary', 'submit', true );
        else : ?>
-<p><em><?php _e('You need to make this file writable before you can save your changes. See <a href="http://codex.wordpress.org/Changing_File_Permissions">the Codex</a> for more information.'); ?></em></p>
+<p><em><?php _e('You need to make this file writable before you can save your changes. See <a href="https://codex.wordpress.org/Changing_File_Permissions">the Codex</a> for more information.'); ?></em></p>
 <?php endif; ?>
                </div>
        </form>
@@ -229,12 +229,10 @@ endif; // $error
 <br class="clear" />
 </div>
 <script type="text/javascript">
-/* <![CDATA[ */
 jQuery(document).ready(function($){
        $('#template').submit(function(){ $('#scrollto').val( $('#newcontent').scrollTop() ); });
        $('#newcontent').scrollTop( $('#scrollto').val() );
 });
-/* ]]> */
 </script>
 <?php
 break;
index a4f018fd77f745bb8b4ba453958429c83ae0f443..56c20b5859c6270b7db4cfd4fef67b4dcedbfd98 100644 (file)
@@ -44,11 +44,13 @@ wp_localize_script( 'theme', '_wpThemeSettings', array(
        ),
        'l10n' => array(
                'addNew' => __( 'Add New Theme' ),
-               'search'  => __( 'Search Themes' ),
+               '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>.' )
+               'error'  => __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="https://wordpress.org/support/">support forums</a>.' ),
+               'themesFound'   => __( 'Number of Themes found: %d' ),
+               'noThemesFound' => __( 'No themes found. Try a different search.' ),
        ),
        'installedThemes' => array_keys( $installed_themes ),
 ) );
@@ -70,7 +72,8 @@ if ( $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.'), '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, Popular, or Latest. When you find a theme you like, you can preview it or install it.') . '</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.' ) . ' <span id="live-search-desc">' . __( 'The search results will be updated as you type.' ) . '</span></p>' .
+       '<p>' . __( 'Alternately, you can browse the themes that are Featured, Popular, or Latest. 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>';
 
 get_current_screen()->add_help_tab( array(
@@ -91,7 +94,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/Using_Themes#Adding_New_Themes" target="_blank">Documentation on Adding New Themes</a>') . '</p>' .
+       '<p>' . __('<a href="https://codex.wordpress.org/Using_Themes#Adding_New_Themes" target="_blank">Documentation on Adding New Themes</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -233,18 +236,20 @@ if ( $tab ) {
                                <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 ) { #>
-                                               <small class="ratings">{{ data.num_ratings }}</small>
+                                       <# if ( data.rating ) { #>
+                                               <div class="rating rating-{{ Math.round( data.rating / 10 ) * 10 }}">
+                                                       <span class="one"></span>
+                                                       <span class="two"></span>
+                                                       <span class="three"></span>
+                                                       <span class="four"></span>
+                                                       <span class="five"></span>
+                                                       <small class="ratings">{{ data.num_ratings }}</small>
+                                               </div>
                                        <# } else { #>
-                                               <small class="ratings"><?php _e( 'No ratings.' ); ?></small>
+                                               <div class="rating">
+                                                       <small class="ratings"><?php _e( 'This theme has not been rated yet.' ); ?></small>
+                                               </div>
                                        <# } #>
-                                       </div>
                                        <div class="theme-version"><?php printf( __( 'Version: %s' ), '{{ data.version }}' ); ?></div>
                                        <div class="theme-description">{{{ data.description }}}</div>
                                </div>
@@ -258,7 +263,7 @@ if ( $tab ) {
                </div>
        </div>
        <div class="wp-full-overlay-main">
-               <iframe src="{{ data.preview_url }}" />
+               <iframe src="{{ data.preview_url }}" title="<?php esc_attr_e( 'Preview' ); ?>" />
        </div>
 </script>
 
index bf265b8f60c8d6d2cb2c92e04f5a8e4dbf72793c..45776cc967b167974f24810e9f980abb855a60b5 100644 (file)
@@ -47,7 +47,8 @@ if ( current_user_can( 'switch_themes' ) ) {
                '<ul><li>' . __( 'Hover or tap to see Activate and Live Preview buttons' ) . '</li>' .
                '<li>' . __( 'Click on the theme to see the theme name, version, author, description, tags, and the Delete link' ) . '</li>' .
                '<li>' . __( 'Click Customize for the current theme or Live Preview for any other theme to see a live preview' ) . '</li></ul>' .
-               '<p>' . __( 'The current theme is displayed highlighted as the first theme.' ) . '</p>';
+               '<p>' . __( 'The current theme is displayed highlighted as the first theme.' ) . '</p>' .
+               '<p>' . __( 'The search for installed themes will search for terms in their name, description, author, or tag.' ) . ' <span id="live-search-desc">' . __( 'The search results will be updated as you type.' ) . '</span></p>';
 
        get_current_screen()->add_help_tab( array(
                'id'      => 'overview',
@@ -87,7 +88,7 @@ if ( current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' )
 
 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="https://codex.wordpress.org/Using_Themes" target="_blank">Documentation on Using Themes</a>' ) . '</p>' .
        '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
@@ -107,9 +108,11 @@ wp_localize_script( 'theme', '_wpThemeSettings', array(
                'adminUrl'      => parse_url( admin_url(), PHP_URL_PATH ),
        ),
        'l10n' => array(
-               'addNew' => __( 'Add New Theme' ),
-               'search'  => __( 'Search Installed Themes' ),
+               'addNew'            => __( 'Add New Theme' ),
+               'search'            => __( 'Search Installed Themes' ),
                'searchPlaceholder' => __( 'Search installed themes...' ), // placeholder (no ellipsis)
+               'themesFound'       => __( 'Number of Themes found: %d' ),
+               'noThemesFound'     => __( 'No themes found. Try a different search.' ),
        ),
 ) );
 
@@ -129,15 +132,15 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
        </h2>
 <?php
 if ( ! validate_current_theme() || isset( $_GET['broken'] ) ) : ?>
-<div id="message1" class="updated"><p><?php _e('The active theme is broken. Reverting to the default theme.'); ?></p></div>
+<div id="message1" class="updated notice is-dismissible"><p><?php _e('The active theme is broken. Reverting to the default theme.'); ?></p></div>
 <?php elseif ( isset($_GET['activated']) ) :
                if ( isset( $_GET['previewed'] ) ) { ?>
-               <div id="message2" class="updated"><p><?php printf( __( 'Settings saved and theme activated. <a href="%s">Visit site</a>' ), home_url( '/' ) ); ?></p></div>
+               <div id="message2" class="updated notice is-dismissible"><p><?php printf( __( 'Settings saved and theme activated. <a href="%s">Visit site</a>' ), home_url( '/' ) ); ?></p></div>
                <?php } else { ?>
-<div id="message2" class="updated"><p><?php printf( __( 'New theme activated. <a href="%s">Visit site</a>' ), home_url( '/' ) ); ?></p></div><?php
+<div id="message2" class="updated notice is-dismissible"><p><?php printf( __( 'New theme activated. <a href="%s">Visit site</a>' ), home_url( '/' ) ); ?></p></div><?php
                }
        elseif ( isset($_GET['deleted']) ) : ?>
-<div id="message3" class="updated"><p><?php _e('Theme deleted.') ?></p></div>
+<div id="message3" class="updated notice is-dismissible"><p><?php _e('Theme deleted.') ?></p></div>
 <?php elseif ( isset( $_GET['delete-active-child'] ) ) : ?>
        <div id="message4" class="error"><p><?php _e( 'You cannot delete a theme while it has an active child theme.' ); ?></p></div>
 <?php
@@ -222,7 +225,12 @@ foreach ( $themes as $theme ) :
        <div class="theme-author"><?php printf( __( 'By %s' ), $theme['author'] ); ?></div>
 
        <?php if ( $theme['active'] ) { ?>
-               <h3 class="theme-name" id="<?php echo $aria_name; ?>"><span><?php _ex( 'Active:', 'theme' ); ?></span> <?php echo $theme['name']; ?></h3>
+               <h3 class="theme-name" id="<?php echo $aria_name; ?>">
+                       <?php
+                       /* translators: %s: theme name */
+                       printf( __( '<span>Active:</span> %s' ), $theme['name'] );
+                       ?>
+               </h3>
        <?php } else { ?>
                <h3 class="theme-name" id="<?php echo $aria_name; ?>"><?php echo $theme['name']; ?></h3>
        <?php } ?>
@@ -320,7 +328,12 @@ $can_delete = current_user_can( 'delete_themes' );
        <div class="theme-author"><?php printf( __( 'By %s' ), '{{{ data.author }}}' ); ?></div>
 
        <# if ( data.active ) { #>
-               <h3 class="theme-name" id="{{ data.id }}-name"><span><?php _ex( 'Active:', 'theme' ); ?></span> {{{ data.name }}}</h3>
+               <h3 class="theme-name" id="{{ data.id }}-name">
+                       <?php
+                       /* translators: %s: theme name */
+                       printf( __( '<span>Active:</span> %s' ), '{{ data.name }}' );
+                       ?>
+               </h3>
        <# } else { #>
                <h3 class="theme-name" id="{{ data.id }}-name">{{{ data.name }}}</h3>
        <# } #>
@@ -365,7 +378,7 @@ $can_delete = current_user_can( 'delete_themes' );
                                <# if ( data.active ) { #>
                                        <span class="current-label"><?php _e( 'Current Theme' ); ?></span>
                                <# } #>
-                               <h3 class="theme-name">{{{ data.name }}}<span class="theme-version"><?php printf( __( 'Version: %s' ), '{{{ data.version }}}' ); ?></span></h3>
+                               <h3 class="theme-name">{{{ data.name }}}<span class="theme-version"><?php printf( __( 'Version: %s' ), '{{ data.version }}' ); ?></span></h3>
                                <h4 class="theme-author"><?php printf( __( 'By %s' ), '{{{ data.authorAndUri }}}' ); ?></h4>
 
                                <# if ( data.hasUpdate ) { #>
index afc65d90991a1c8db666c1f1944292cb6aa1ab35..692fe9273b0900718638626114ca01ffcab9d8e0 100644 (file)
@@ -25,7 +25,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="https://codex.wordpress.org/Tools_Screen" target="_blank">Documentation on Tools</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -36,17 +36,61 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' );
 <h2><?php echo esc_html( $title ); ?></h2>
 
 <?php if ( current_user_can('edit_posts') ) : ?>
-<div class="tool-box">
-       <h3 class="title"><?php _e('Press This') ?></h3>
-       <p><?php _e('Press This is a bookmarklet: a little app that runs in your browser and lets you grab bits of the web.');?></p>
-
-       <p><?php _e('Use Press This to clip text, images and videos from any web page. Then edit and add more straight from Press This before you save or publish it in a post on your site.'); ?></p>
-       <p class="description"><?php _e('Drag-and-drop the following link to your bookmarks bar or right click it and add it to your favorites for a posting shortcut.') ?></p>
-       <p class="pressthis"><a onclick="return false;" oncontextmenu="if(window.navigator.userAgent.indexOf('WebKit')!=-1||window.navigator.userAgent.indexOf('MSIE')!=-1){jQuery('.pressthis-code').show().find('textarea').focus().select();return false;}" href="<?php echo htmlspecialchars( get_shortcut_link() ); ?>"><span><?php _e('Press This') ?></span></a></p>
-       <div class="pressthis-code" style="display:none;">
-       <p class="description"><?php _e('If your bookmarks toolbar is hidden: copy the code below, open your Bookmarks manager, create new bookmark, type Press This into the name field and paste the code into the URL field.') ?></p>
-       <p><textarea rows="5" cols="120" readonly="readonly"><?php echo htmlspecialchars( get_shortcut_link() ); ?></textarea></p>
-       </div>
+<div class="card pressthis">
+       <h3><?php _e('Press This') ?></h3>
+       <p><?php _e( 'Press This is a little tool that lets you grab bits of the web and create new posts with ease.' );?></p>
+       <p><?php _e( 'Use Press This to clip text, images and videos from any web page. Then edit and add more straight from Press This before you save or publish it in a post on your site.' ); ?></p>
+
+
+       <form>
+               <h3><?php _e( 'Install Press This' ); ?></h3>
+               <h4><?php _e( 'Bookmarklet' ); ?></h4>
+               <p><?php _e( 'Drag the bookmarklet below to your bookmarks bar. Then, when you&#8217;re on a page you want to share, simply &#8220;press&#8221; it.' ); ?></p>
+
+               <p class="pressthis-bookmarklet-wrapper">
+                       <a class="pressthis-bookmarklet" onclick="return false;" href="<?php echo htmlspecialchars( get_shortcut_link() ); ?>"><span><?php _e( 'Press This' ); ?></span></a>
+                       <button type="button" class="button button-secondary pressthis-js-toggle js-show-pressthis-code-wrap" aria-expanded="false" aria-controls="pressthis-code-wrap">
+                               <span class="dashicons dashicons-clipboard"></span>
+                               <span class="screen-reader-text"><?php _e( 'Copy &#8220;Press This&#8221; bookmarklet code' ) ?></span>
+                       </button>
+               </p>
+
+               <div class="hidden js-pressthis-code-wrap clear" id="pressthis-code-wrap">
+                       <p id="pressthis-code-desc">
+                               <?php _e( 'If you can&#8217;t drag the bookmarklet to your bookmarks, copy the following code and create a new bookmark. Paste the code into the new bookmark&#8217;s URL field.' ) ?>
+                       </p>
+                       <p>
+                               <textarea class="js-pressthis-code" rows="5" cols="120" readonly="readonly" aria-labelledby="pressthis-code-desc"><?php echo htmlspecialchars( get_shortcut_link() ); ?></textarea>
+                       </p>
+               </div>
+
+               <h4><?php _e( 'Direct link (best for mobile)' ); ?></h4>
+               <p><?php _e( 'Follow the link to open Press This. Then add it to your device&#8217;s bookmarks or home screen.' ); ?></p>
+
+               <p>
+                       <a class="button button-secondary" href="<?php echo htmlspecialchars( admin_url( 'press-this.php' ) ); ?>"><?php _e( 'Open Press This' ) ?></a>
+               </p>
+               <script>
+                       jQuery( document ).ready( function( $ ) {
+                               var $showPressThisWrap = $( '.js-show-pressthis-code-wrap' );
+                               var $pressthisCode = $( '.js-pressthis-code' );
+
+                               $showPressThisWrap.on( 'click', function( event ) {
+                                       var $this = $( this );
+
+                                       $this.parent().next( '.js-pressthis-code-wrap' ).slideToggle( 200 );
+                                       $this.attr( 'aria-expanded', $this.attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
+                               });
+
+                               // Select Press This code when focusing (tabbing) or clicking the textarea.
+                               $pressthisCode.on( 'click focus', function() {
+                                       var self = this;
+                                       setTimeout( function() { self.select(); }, 50 );
+                               });
+
+                       });
+               </script>
+       </form>
 </div>
 <?php
 endif;
@@ -55,7 +99,7 @@ if ( current_user_can( 'import' ) ) :
 $cats = get_taxonomy('category');
 $tags = get_taxonomy('post_tag');
 if ( current_user_can($cats->cap->manage_terms) || current_user_can($tags->cap->manage_terms) ) : ?>
-<div class="tool-box">
+<div class="card">
     <h3 class="title"><?php _e( 'Categories and Tags Converter' ) ?></h3>
     <p><?php printf( __('If you want to convert your categories to tags (or vice versa), use the <a href="%s">Categories and Tags Converter</a> available from the Import screen.'), 'import.php' ); ?></p>
 </div>
index 600db23eee9a197c63585b968545c6bae7833c0b..a8eb7f51e0675b86b49ce6777d8ff876532695aa 100644 (file)
@@ -58,13 +58,13 @@ function list_core_update( $update ) {
                                $mysql_compat = version_compare( $mysql_version, $update->mysql_version, '>=' );
 
                        if ( !$mysql_compat && !$php_compat )
-                               $message = sprintf( __('You cannot update because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.'), $update->current, $update->php_version, $update->mysql_version, $php_version, $mysql_version );
+                               $message = sprintf( __('You cannot update because <a href="https://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.'), $update->current, $update->php_version, $update->mysql_version, $php_version, $mysql_version );
                        elseif ( !$php_compat )
-                               $message = sprintf( __('You cannot update because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher. You are running version %3$s.'), $update->current, $update->php_version, $php_version );
+                               $message = sprintf( __('You cannot update because <a href="https://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher. You are running version %3$s.'), $update->current, $update->php_version, $php_version );
                        elseif ( !$mysql_compat )
-                               $message = sprintf( __('You cannot update because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires MySQL version %2$s or higher. You are running version %3$s.'), $update->current, $update->mysql_version, $mysql_version );
+                               $message = sprintf( __('You cannot update because <a href="https://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires MySQL version %2$s or higher. You are running version %3$s.'), $update->current, $update->mysql_version, $mysql_version );
                        else
-                               $message =      sprintf(__('You can update to <a href="http://codex.wordpress.org/Version_%1$s">WordPress %2$s</a> automatically or download the package and install it manually:'), $update->current, $version_string);
+                               $message =      sprintf(__('You can update to <a href="https://codex.wordpress.org/Version_%1$s">WordPress %2$s</a> automatically or download the package and install it manually:'), $update->current, $version_string);
                        if ( !$mysql_compat || !$php_compat )
                                $show_buttons = false;
                }
@@ -163,7 +163,7 @@ function core_upgrade_preamble() {
                echo '</h3>';
        } else {
                echo '<div class="updated inline"><p>';
-               _e('<strong>Important:</strong> before updating, please <a href="http://codex.wordpress.org/WordPress_Backups">back up your database and files</a>. For help with updates, visit the <a href="http://codex.wordpress.org/Updating_WordPress">Updating WordPress</a> Codex page.');
+               _e('<strong>Important:</strong> before updating, please <a href="https://codex.wordpress.org/WordPress_Backups">back up your database and files</a>. For help with updates, visit the <a href="https://codex.wordpress.org/Updating_WordPress">Updating WordPress</a> Codex page.');
                echo '</p></div>';
 
                echo '<h3 class="response">';
@@ -231,12 +231,6 @@ function list_plugin_updates() {
        </tr>
        </thead>
 
-       <tfoot>
-       <tr>
-               <th scope="col" class="manage-column check-column"><input type="checkbox" id="plugins-select-all-2" /></th>
-               <th scope="col" class="manage-column"><label for="plugins-select-all-2"><?php _e('Select All'); ?></label></th>
-       </tr>
-       </tfoot>
        <tbody class="plugins">
 <?php
        foreach ( (array) $plugins as $plugin_file => $plugin_data) {
@@ -282,6 +276,13 @@ function list_plugin_updates() {
        }
 ?>
        </tbody>
+
+       <tfoot>
+       <tr>
+               <th scope="col" class="manage-column check-column"><input type="checkbox" id="plugins-select-all-2" /></th>
+               <th scope="col" class="manage-column"><label for="plugins-select-all-2"><?php _e( 'Select All' ); ?></label></th>
+       </tr>
+       </tfoot>
 </table>
 <p><input id="upgrade-plugins-2" class="button" type="submit" value="<?php esc_attr_e('Update Plugins'); ?>" name="upgrade" /></p>
 </form>
@@ -301,7 +302,7 @@ function list_theme_updates() {
 ?>
 <h3><?php _e( 'Themes' ); ?></h3>
 <p><?php _e( 'The following themes have new versions available. Check the ones you want to update and then click &#8220;Update Themes&#8221;.' ); ?></p>
-<p><?php printf( __( '<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.' ), __( 'http://codex.wordpress.org/Child_Themes' ) ); ?></p>
+<p><?php printf( __( '<strong>Please Note:</strong> Any customizations you have made to theme files will be lost. Please consider using <a href="%s">child themes</a> for modifications.' ), __( 'https://codex.wordpress.org/Child_Themes' ) ); ?></p>
 <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>
@@ -313,12 +314,6 @@ function list_theme_updates() {
        </tr>
        </thead>
 
-       <tfoot>
-       <tr>
-               <th scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></th>
-               <th scope="col" class="manage-column"><label for="themes-select-all-2"><?php _e('Select All'); ?></label></th>
-       </tr>
-       </tfoot>
        <tbody class="plugins">
 <?php
        foreach ( $themes as $stylesheet => $theme ) {
@@ -330,6 +325,13 @@ function list_theme_updates() {
        }
 ?>
        </tbody>
+
+       <tfoot>
+       <tr>
+               <th scope="col" class="manage-column check-column"><input type="checkbox" id="themes-select-all-2" /></th>
+               <th scope="col" class="manage-column"><label for="themes-select-all-2"><?php _e( 'Select All' ); ?></label></th>
+       </tr>
+       </tfoot>
 </table>
 <p><input id="upgrade-themes-2" class="button" type="submit" value="<?php esc_attr_e('Update Themes'); ?>" name="upgrade" /></p>
 </form>
@@ -350,7 +352,7 @@ function list_translation_updates() {
        ?>
        <h3><?php _e( 'Translations' ); ?></h3>
        <form method="post" action="<?php echo esc_url( $form_action ); ?>" name="upgrade-translations" class="upgrade">
-               <p><?php _e( 'Some of your translations are out of date.' ); ?></p>
+               <p><?php _e( 'New translations are available.' ); ?></p>
                <?php wp_nonce_field( 'upgrade-translations' ); ?>
                <p><input class="button" type="submit" value="<?php esc_attr_e( 'Update Translations' ); ?>" name="upgrade" /></p>
        </form>
@@ -496,7 +498,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="https://codex.wordpress.org/Dashboard_Updates_Screen" target="_blank">Documentation on Updating WordPress</a>' ) . '</p>' .
        '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
index 6ded7a7d7a7c39a49d6311d89f49917ffe9a629d..4cfdeca6c6b6703d2db4214e3bed66fb4f608812 100644 (file)
@@ -201,7 +201,7 @@ if ( isset($_GET['action']) ) {
                if ( ! current_user_can('install_themes') )
                        wp_die( __( 'You do not have sufficient permissions to install themes on this site.' ) );
 
-               include_once( ABSPATH . 'wp-admin/includes/theme-install.php' ); //for themes_api..
+               include_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' ); //for themes_api..
 
                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.
index 57dedad94cc69f4f9c5ef13751b5469af6d1a50a..249de5a2398d620ce65d7591a05bbb5c4e45c564 100644 (file)
@@ -35,6 +35,8 @@ if ( 'upgrade_db' === $step ) {
        die( '0' );
 }
 
+global $wp_version, $required_php_version, $required_mysql_version;
+
 $step = (int) $step;
 
 $php_version    = phpversion();
@@ -69,18 +71,20 @@ else
 
 <?php elseif ( !$php_compat || !$mysql_compat ) :
        if ( !$mysql_compat && !$php_compat )
-               printf( __('You cannot update because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.'), $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version );
+               printf( __('You cannot update because <a href="https://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher and MySQL version %3$s or higher. You are running PHP version %4$s and MySQL version %5$s.'), $wp_version, $required_php_version, $required_mysql_version, $php_version, $mysql_version );
        elseif ( !$php_compat )
-               printf( __('You cannot update because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher. You are running version %3$s.'), $wp_version, $required_php_version, $php_version );
+               printf( __('You cannot update because <a href="https://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires PHP version %2$s or higher. You are running version %3$s.'), $wp_version, $required_php_version, $php_version );
        elseif ( !$mysql_compat )
-               printf( __('You cannot update because <a href="http://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires MySQL version %2$s or higher. You are running version %3$s.'), $wp_version, $required_mysql_version, $mysql_version );
+               printf( __('You cannot update because <a href="https://codex.wordpress.org/Version_%1$s">WordPress %1$s</a> requires MySQL version %2$s or higher. You are running version %3$s.'), $wp_version, $required_mysql_version, $mysql_version );
 ?>
 <?php else :
 switch ( $step ) :
        case 0:
                $goback = wp_get_referer();
-               $goback = esc_url_raw( $goback );
-               $goback = urlencode( $goback );
+               if ( $goback ) {
+                       $goback = esc_url_raw( $goback );
+                       $goback = urlencode( $goback );
+               }
 ?>
 <h2><?php _e( 'Database Update Required' ); ?></h2>
 <p><?php _e( 'WordPress has been updated! Before we send you on your way, we have to update your database to the newest version.' ); ?></p>
index dbdf3100b5a0cfd0e2f53a6aba3d515154f5272e..39fa165fb2b6f25f5160bb30811bf81c7819354f 100644 (file)
@@ -24,8 +24,21 @@ if ( 'grid' === $mode ) {
        wp_enqueue_media();
        wp_enqueue_script( 'media-grid' );
        wp_enqueue_script( 'media' );
+
+       $q = $_GET;
+       // let JS handle this
+       unset( $q['s'] );
+       $vars = wp_edit_attachments_query_vars( $q );
+       $ignore = array( 'mode', 'post_type', 'post_status', 'posts_per_page' );
+       foreach ( $vars as $key => $value ) {
+               if ( ! $value || in_array( $key, $ignore ) ) {
+                       unset( $vars[ $key ] );
+               }
+       }
+
        wp_localize_script( 'media-grid', '_wpMediaGridSettings', array(
                'adminUrl' => parse_url( self_admin_url(), PHP_URL_PATH ),
+               'queryVars' => (object) $vars
        ) );
 
        get_current_screen()->add_help_tab( array(
@@ -48,7 +61,7 @@ if ( 'grid' === $mode ) {
 
        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="https://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' .
                '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
        );
 
@@ -57,7 +70,7 @@ if ( 'grid' === $mode ) {
 
        require_once( ABSPATH . 'wp-admin/admin-header.php' );
        ?>
-       <div class="wrap" id="wp-media-grid">
+       <div class="wrap" id="wp-media-grid" data-search="<?php _admin_search_query() ?>">
                <h2>
                <?php
                echo esc_html( $title );
@@ -100,45 +113,14 @@ if ( $doaction ) {
        }
 
        switch ( $doaction ) {
-               case 'attach':
-                       $parent_id = (int) $_REQUEST['found_post_id'];
-                       if ( !$parent_id )
-                               return;
-
-                       $parent = get_post( $parent_id );
-                       if ( !current_user_can( 'edit_post', $parent_id ) )
-                               wp_die( __( 'You are not allowed to edit this post.' ) );
-
-                       $attach = array();
-                       foreach ( (array) $_REQUEST['media'] as $att_id ) {
-                               $att_id = (int) $att_id;
-
-                               if ( !current_user_can( 'edit_post', $att_id ) )
-                                       continue;
-
-                               $attach[] = $att_id;
-                       }
-
-                       if ( ! empty( $attach ) ) {
-                               $attach_string = implode( ',', $attach );
-                               $attached = $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_parent = %d WHERE post_type = 'attachment' AND ID IN ( $attach_string )", $parent_id ) );
-                               foreach ( $attach as $att_id ) {
-                                       clean_attachment_cache( $att_id );
-                               }
-                       }
-
-                       if ( isset( $attached ) ) {
-                               $location = 'upload.php';
-                               if ( $referer = wp_get_referer() ) {
-                                       if ( false !== strpos( $referer, 'upload.php' ) )
-                                               $location = $referer;
-                               }
+               case 'detach':
+                       wp_media_attach_action( $_REQUEST['parent_post_id'], 'detach' );
+                       break;
 
-                               $location = add_query_arg( array( 'attached' => $attached ) , $location );
-                               wp_redirect( $location );
-                               exit;
-                       }
+               case 'attach':
+                       wp_media_attach_action( $_REQUEST['found_post_id'] );
                        break;
+
                case 'trash':
                        if ( !isset( $post_ids ) )
                                break;
@@ -191,7 +173,7 @@ $parent_file = 'upload.php';
 
 wp_enqueue_script( 'media' );
 
-add_screen_option( 'per_page', array('label' => _x( 'Media items', 'items per page (screen options)' )) );
+add_screen_option( 'per_page' );
 
 get_current_screen()->add_help_tab( array(
 'id'           => 'overview',
@@ -216,7 +198,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="https://codex.wordpress.org/Media_Library_Screen" target="_blank">Documentation on Media Library</a>' ) . '</p>' .
        '<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
@@ -237,28 +219,48 @@ if ( ! empty( $_REQUEST['s'] ) )
 <?php
 $message = '';
 if ( ! empty( $_GET['posted'] ) ) {
-       $message = __('Media attachment updated.');
+       $message = __( 'Media attachment updated.' );
        $_SERVER['REQUEST_URI'] = remove_query_arg(array('posted'), $_SERVER['REQUEST_URI']);
 }
 
 if ( ! empty( $_GET['attached'] ) && $attached = absint( $_GET['attached'] ) ) {
-       $message = sprintf( _n('Reattached %d attachment.', 'Reattached %d attachments.', $attached), $attached );
-       $_SERVER['REQUEST_URI'] = remove_query_arg(array('attached'), $_SERVER['REQUEST_URI']);
+       $message = sprintf( _n( 'Reattached %d attachment.', 'Reattached %d attachments.', $attached ), $attached );
+       $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'detach', 'attached' ), $_SERVER['REQUEST_URI'] );
+}
+
+if ( ! empty( $_GET['detach'] ) && $detached = absint( $_GET['detach'] ) ) {
+       $message = sprintf( _n( 'Detached %d attachment.', 'Detached %d attachments.', $detached ), $detached );
+       $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'detach', 'attached' ), $_SERVER['REQUEST_URI'] );
 }
 
 if ( ! empty( $_GET['deleted'] ) && $deleted = absint( $_GET['deleted'] ) ) {
-       $message = sprintf( _n( 'Media attachment permanently deleted.', '%d media attachments permanently deleted.', $deleted ), number_format_i18n( $_GET['deleted'] ) );
+       if ( 1 == $deleted ) {
+               $message = __( 'Media attachment permanently deleted.' );
+       } else {
+               $message = _n( '%d media attachment permanently deleted.', '%d media attachments permanently deleted.', $deleted );
+       }
+       $message = sprintf( $message, number_format_i18n( $deleted ) );
        $_SERVER['REQUEST_URI'] = remove_query_arg(array('deleted'), $_SERVER['REQUEST_URI']);
 }
 
 if ( ! empty( $_GET['trashed'] ) && $trashed = absint( $_GET['trashed'] ) ) {
-       $message = sprintf( _n( 'Media attachment moved to the trash.', '%d media attachments moved to the trash.', $trashed ), number_format_i18n( $_GET['trashed'] ) );
+       if ( 1 == $trashed ) {
+               $message = __( 'Media attachment moved to the trash.' );
+       } else {
+               $message = _n( '%d media attachment moved to the trash.', '%d media attachments moved to the trash.', $trashed );
+       }
+       $message = sprintf( $message, number_format_i18n( $trashed ) );
        $message .= ' <a href="' . esc_url( wp_nonce_url( 'upload.php?doaction=undo&action=untrash&ids='.(isset($_GET['ids']) ? $_GET['ids'] : ''), "bulk-media" ) ) . '">' . __('Undo') . '</a>';
        $_SERVER['REQUEST_URI'] = remove_query_arg(array('trashed'), $_SERVER['REQUEST_URI']);
 }
 
 if ( ! empty( $_GET['untrashed'] ) && $untrashed = absint( $_GET['untrashed'] ) ) {
-       $message = sprintf( _n( 'Media attachment restored from the trash.', '%d media attachments restored from the trash.', $untrashed ), number_format_i18n( $_GET['untrashed'] ) );
+       if ( 1 == $untrashed ) {
+               $message = __( 'Media attachment restored from the trash.' );
+       } else {
+               $message = _n( '%d media attachment restored from the trash.', '%d media attachments restored from the trash.', $untrashed );
+       }
+       $message = sprintf( $message, number_format_i18n( $untrashed ) );
        $_SERVER['REQUEST_URI'] = remove_query_arg(array('untrashed'), $_SERVER['REQUEST_URI']);
 }
 
@@ -274,10 +276,10 @@ if ( ! empty( $_GET['message'] ) && isset( $messages[ $_GET['message'] ] ) ) {
 }
 
 if ( !empty($message) ) { ?>
-<div id="message" class="updated"><p><?php echo $message; ?></p></div>
+<div id="message" class="updated notice is-dismissible"><p><?php echo $message; ?></p></div>
 <?php } ?>
 
-<form id="posts-filter" action="" method="get">
+<form id="posts-filter" method="get">
 
 <?php $wp_list_table->views(); ?>
 
index fb614cbd4343ab1aaabbad0704942b0cc26c4d4a..29af243176869ebe891e43eb5686aefd684e9235 100644 (file)
@@ -39,7 +39,7 @@ else
 $profile_help = '<p>' . __('Your profile contains information about you (your &#8220;account&#8221;) as well as some personal options related to using WordPress.') . '</p>' .
        '<p>' . __('You can change your password, turn on keyboard shortcuts, change the color scheme of your WordPress administration screens, and turn off the WYSIWYG (Visual) editor, among other things. You can hide the Toolbar (formerly called the Admin Bar) from the front end of your site, however it cannot be disabled on the admin screens.') . '</p>' .
        '<p>' . __('Your username cannot be changed, but you can use other fields to enter your real name or a nickname, and change which name to display on your posts.') . '</p>' .
-       '<p>' . __( 'You can log out of other devices, such as your phone or a public computer, by clicking the Log Out of All Other Sessions button. The button will only display if you are logged in to more than one device.' ) . '</p>' .
+       '<p>' . __( 'You can log out of other devices, such as your phone or a public computer, by clicking the Log Out of All Other Sessions button.' ) . '</p>' .
        '<p>' . __('Required fields are indicated; the rest are optional. Profile information will only be displayed if your theme is set up to do so.') . '</p>' .
        '<p>' . __('Remember to click the Update Profile button when you are finished.') . '</p>';
 
@@ -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="https://codex.wordpress.org/Users_Your_Profile_Screen" target="_blank">Documentation on User Profiles</a>') . '</p>' .
     '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -146,32 +146,21 @@ if ( IS_PROFILE_PAGE ) {
        do_action( 'edit_user_profile_update', $user_id );
 }
 
-if ( !is_multisite() ) {
-       $errors = edit_user($user_id);
-} else {
+// Update the email address in signups, if present.
+if ( is_multisite() ) {
        $user = get_userdata( $user_id );
 
-       // Update the email address in signups, if present.
-       if ( $user->user_login && isset( $_POST[ 'email' ] ) && is_email( $_POST[ 'email' ] ) && $wpdb->get_var( $wpdb->prepare( "SELECT user_login FROM {$wpdb->signups} WHERE user_login = %s", $user->user_login ) ) )
+       if ( $user->user_login && isset( $_POST[ 'email' ] ) && is_email( $_POST[ 'email' ] ) && $wpdb->get_var( $wpdb->prepare( "SELECT user_login FROM {$wpdb->signups} WHERE user_login = %s", $user->user_login ) ) ) {
                $wpdb->query( $wpdb->prepare( "UPDATE {$wpdb->signups} SET user_email = %s WHERE user_login = %s", $_POST[ 'email' ], $user_login ) );
-
-       // We must delete the user from the current blog if WP added them after editing.
-       $delete_role = false;
-       $blog_prefix = $wpdb->get_blog_prefix();
-       if ( $user_id != $current_user->ID ) {
-               $cap = $wpdb->get_var( "SELECT meta_value FROM {$wpdb->usermeta} WHERE user_id = '{$user_id}' AND meta_key = '{$blog_prefix}capabilities' AND meta_value = 'a:0:{}'" );
-               if ( !is_network_admin() && null == $cap && $_POST[ 'role' ] == '' ) {
-                       $_POST[ 'role' ] = 'contributor';
-                       $delete_role = true;
-               }
        }
-       if ( !isset( $errors ) || ( isset( $errors ) && is_object( $errors ) && false == $errors->get_error_codes() ) )
-               $errors = edit_user($user_id);
-       if ( $delete_role ) // stops users being added to current blog when they are edited
-               delete_user_meta( $user_id, $blog_prefix . 'capabilities' );
+}
+
+// Update the user.
+$errors = edit_user( $user_id );
 
-       if ( is_multisite() && is_network_admin() && !IS_PROFILE_PAGE && current_user_can( 'manage_network_options' ) && !isset($super_admins) && empty( $_POST['super_admin'] ) == is_super_admin( $user_id ) )
-               empty( $_POST['super_admin'] ) ? revoke_super_admin( $user_id ) : grant_super_admin( $user_id );
+// Grant or revoke super admin status if requested.
+if ( is_multisite() && is_network_admin() && !IS_PROFILE_PAGE && current_user_can( 'manage_network_options' ) && !isset($super_admins) && empty( $_POST['super_admin'] ) == is_super_admin( $user_id ) ) {
+       empty( $_POST['super_admin'] ) ? revoke_super_admin( $user_id ) : grant_super_admin( $user_id );
 }
 
 if ( !is_wp_error( $errors ) ) {
@@ -197,7 +186,7 @@ include(ABSPATH . 'wp-admin/admin-header.php');
        <div class="updated"><p><strong><?php _e('Important:'); ?></strong> <?php _e('This user has super admin privileges.'); ?></p></div>
 <?php } ?>
 <?php if ( isset($_GET['updated']) ) : ?>
-<div id="message" class="updated">
+<div id="message" class="updated notice is-dismissible">
        <?php if ( IS_PROFILE_PAGE ) : ?>
        <p><strong><?php _e('Profile updated.') ?></strong></p>
        <?php else: ?>
@@ -246,7 +235,7 @@ if ( ! IS_PROFILE_PAGE ) {
 <table class="form-table">
 <?php if ( ! ( IS_PROFILE_PAGE && ! $user_can_edit ) ) : ?>
        <tr class="user-rich-editing-wrap">
-               <th scope="row"><label for="rich_editing"><?php _e( 'Visual Editor' )?></label></th>
+               <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>
        </tr>
 <?php endif; ?>
@@ -272,12 +261,12 @@ if ( ! IS_PROFILE_PAGE ) {
 endif; // $_wp_admin_css_colors
 if ( !( IS_PROFILE_PAGE && !$user_can_edit ) ) : ?>
 <tr class="user-comment-shortcuts-wrap">
-<th scope="row"><label for="comment_shortcuts"><?php _e( 'Keyboard Shortcuts' ); ?></label></th>
-<td><label for="comment_shortcuts"><input type="checkbox" name="comment_shortcuts" id="comment_shortcuts" value="true" <?php if ( ! empty( $profileuser->comment_shortcuts ) ) checked( 'true', $profileuser->comment_shortcuts ); ?> /> <?php _e('Enable keyboard shortcuts for comment moderation.'); ?></label> <?php _e('<a href="http://codex.wordpress.org/Keyboard_Shortcuts" target="_blank">More information</a>'); ?></td>
+<th scope="row"><?php _e( 'Keyboard Shortcuts' ); ?></th>
+<td><label for="comment_shortcuts"><input type="checkbox" name="comment_shortcuts" id="comment_shortcuts" value="true" <?php if ( ! empty( $profileuser->comment_shortcuts ) ) checked( 'true', $profileuser->comment_shortcuts ); ?> /> <?php _e('Enable keyboard shortcuts for comment moderation.'); ?></label> <?php _e('<a href="https://codex.wordpress.org/Keyboard_Shortcuts" target="_blank">More information</a>'); ?></td>
 </tr>
 <?php endif; ?>
 <tr class="show-admin-bar user-admin-bar-front-wrap">
-<th scope="row"><label for="admin_bar_front"><?php _e( 'Toolbar' )?></label></th>
+<th scope="row"><?php _e( 'Toolbar' ); ?></th>
 <td><fieldset><legend class="screen-reader-text"><span><?php _e('Toolbar') ?></span></legend>
 <label for="admin_bar_front">
 <input name="admin_bar_front" type="checkbox" id="admin_bar_front" value="1"<?php checked( _get_admin_bar_pref( 'front', $profileuser->ID ) ); ?> />
@@ -326,7 +315,7 @@ do_action( 'personal_options', $profileuser );
 <?php
 // Compare user role against currently editable roles
 $user_roles = array_intersect( array_values( $profileuser->roles ), array_keys( get_editable_roles() ) );
-$user_role  = array_shift( $user_roles );
+$user_role  = reset( $user_roles );
 
 // print the full list of roles with the primary one selected.
 wp_dropdown_roles($user_role);
index 78300b45a583061cd78d43d3c0915369dac215db..45968255433bd5df7da13239eba902a4540d311d 100644 (file)
@@ -180,7 +180,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="https://codex.wordpress.org/Users_Add_New_Screen" target="_blank">Documentation on Adding New Users</a>') . '</p>' .
     '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -253,7 +253,7 @@ if ( current_user_can( 'create_users' ) ) {
 
 if ( ! empty( $messages ) ) {
        foreach ( $messages as $msg )
-               echo '<div id="message" class="updated"><p>' . $msg . '</p></div>';
+               echo '<div id="message" class="updated notice is-dismissible"><p>' . $msg . '</p></div>';
 } ?>
 
 <?php if ( isset($add_user_errors) && is_wp_error( $add_user_errors ) ) : ?>
@@ -280,7 +280,7 @@ if ( is_multisite() ) {
                $type  = 'text';
        }
 ?>
-<form action="" method="post" name="adduser" id="adduser" class="validate" novalidate="novalidate"<?php
+<form method="post" name="adduser" id="adduser" class="validate" novalidate="novalidate"<?php
        /**
         * Fires inside the adduser form tag.
         *
@@ -324,7 +324,7 @@ if ( is_multisite() ) {
  */
 do_action( 'user_new_form', 'add-existing-user' );
 ?>
-<?php submit_button( __( 'Add Existing User '), 'primary', 'adduser', true, array( 'id' => 'addusersub' ) ); ?>
+<?php submit_button( __( 'Add Existing User), 'primary', 'adduser', true, array( 'id' => 'addusersub' ) ); ?>
 </form>
 <?php
 } // is_multisite()
@@ -334,7 +334,7 @@ if ( current_user_can( 'create_users') ) {
                echo '<h3 id="create-new-user">' . __( 'Add New User' ) . '</h3>';
 ?>
 <p><?php _e('Create a brand new user and add them to this site.'); ?></p>
-<form action="" method="post" name="createuser" id="createuser" class="validate" novalidate="novalidate"<?php
+<form method="post" name="createuser" id="createuser" class="validate" novalidate="novalidate"<?php
        /** This action is documented in wp-admin/user-new.php */
        do_action( 'user_new_form_tag' );
 ?>>
@@ -402,7 +402,7 @@ if ( apply_filters( 'show_password_fields', true ) ) : ?>
                </td>
        </tr>
        <tr>
-               <th scope="row"><label for="send_password"><?php _e('Send Password?') ?></label></th>
+               <th scope="row"><?php _e('Send Password?') ?></th>
                <td><label for="send_password"><input type="checkbox" name="send_password" id="send_password" value="1" <?php checked( $new_user_send_password ); ?> /> <?php _e('Send this password to the new user by email.'); ?></label></td>
        </tr>
 <?php endif; ?>
@@ -431,7 +431,7 @@ if ( apply_filters( 'show_password_fields', true ) ) : ?>
 do_action( 'user_new_form', 'add-new-user' );
 ?>
 
-<?php submit_button( __( 'Add New User '), 'primary', 'createuser', true, array( 'id' => 'createusersub' ) ); ?>
+<?php submit_button( __( 'Add New User), 'primary', 'createuser', true, array( 'id' => 'createusersub' ) ); ?>
 
 </form>
 <?php } // current_user_can('create_users') ?>
index 64f029cd812916efcb6e890107a5f545b573c78d..27e264ca5992533ac80cbffaa60435f91794591a 100644 (file)
@@ -17,7 +17,7 @@ $pagenum = $wp_list_table->get_pagenum();
 $title = __('Users');
 $parent_file = 'users.php';
 
-add_screen_option( 'per_page', array('label' => _x( 'Users', 'users per page (screen options)' )) );
+add_screen_option( 'per_page' );
 
 // contextual help - choose Help on the top right of admin panel to preview this.
 get_current_screen()->add_help_tab( array(
@@ -58,8 +58,8 @@ unset( $help );
 
 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="https://codex.wordpress.org/Users_Screen" target="_blank">Documentation on Managing Users</a>') . '</p>' .
+    '<p>' . __('<a href="https://codex.wordpress.org/Roles_and_Capabilities" target="_blank">Descriptions of Roles and Capabilities</a>') . '</p>' .
     '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
@@ -209,18 +209,24 @@ case 'delete':
 
        include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
-<form action="" method="post" name="updateusers" id="updateusers">
+<form method="post" name="updateusers" id="updateusers">
 <?php wp_nonce_field('delete-users') ?>
 <?php echo $referer; ?>
 
 <div class="wrap">
 <h2><?php _e('Delete Users'); ?></h2>
 <?php if ( isset( $_REQUEST['error'] ) ) : ?>
-<div class="error">
-       <p><strong><?php _e( 'ERROR:' ); ?></strong> <?php _e( 'Please select an option.' ); ?></p>
-</div>
+       <div class="error">
+               <p><strong><?php _e( 'ERROR:' ); ?></strong> <?php _e( 'Please select an option.' ); ?></p>
+       </div>
 <?php endif; ?>
-<p><?php echo _n( 'You have specified this user for deletion:', 'You have specified these users for deletion:', count( $userids ) ); ?></p>
+
+<?php if ( 1 == count( $userids ) ) : ?>
+       <p><?php _e( 'You have specified this user for deletion:' ); ?></p>
+<?php else : ?>
+       <p><?php _e( 'You have specified these users for deletion:' ); ?></p>
+<?php endif; ?>
+
 <ul>
 <?php
        $go_delete = 0;
@@ -236,7 +242,11 @@ case 'delete':
        ?>
        </ul>
 <?php if ( $go_delete ) : ?>
-       <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>
+       <?php if ( 1 == $go_delete ) : ?>
+               <fieldset><p><legend><?php _e( 'What should be done with content owned by this user?' ); ?></legend></p>
+       <?php else : ?>
+               <fieldset><p><legend><?php _e( 'What should be done with content owned by these users?' ); ?></legend></p>
+       <?php endif; ?>
        <ul style="list-style:none;">
                <li><label><input type="radio" id="delete_option0" name="delete_option" value="delete" />
                <?php _e('Delete all content.'); ?></label></li>
@@ -321,7 +331,7 @@ case 'remove':
 
        include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
-<form action="" method="post" name="updateusers" id="updateusers">
+<form method="post" name="updateusers" id="updateusers">
 <?php wp_nonce_field('remove-users') ?>
 <?php echo $referer; ?>
 
@@ -379,34 +389,39 @@ default:
                case 'del':
                case 'del_many':
                        $delete_count = isset($_GET['delete_count']) ? (int) $_GET['delete_count'] : 0;
-                       $messages[] = '<div id="message" class="updated"><p>' . sprintf( _n( 'User deleted.', '%s users deleted.', $delete_count ), number_format_i18n( $delete_count ) ) . '</p></div>';
+                       if ( 1 == $delete_count ) {
+                               $message = __( 'User deleted.' );
+                       } else {
+                               $message = _n( '%s user deleted.', '%s users deleted.', $delete_count );
+                       }
+                       $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . sprintf( $message, number_format_i18n( $delete_count ) ) . '</p></div>';
                        break;
                case 'add':
                        if ( isset( $_GET['id'] ) && ( $user_id = $_GET['id'] ) && current_user_can( 'edit_user', $user_id ) ) {
-                               $messages[] = '<div id="message" class="updated"><p>' . sprintf( __( 'New user created. <a href="%s">Edit user</a>' ),
+                               $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . sprintf( __( 'New user created. <a href="%s">Edit user</a>' ),
                                        esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ),
                                                self_admin_url( 'user-edit.php?user_id=' . $user_id ) ) ) ) . '</p></div>';
                        } else {
-                               $messages[] = '<div id="message" class="updated"><p>' . __( 'New user created.' ) . '</p></div>';
+                               $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . __( 'New user created.' ) . '</p></div>';
                        }
                        break;
                case 'promote':
-                       $messages[] = '<div id="message" class="updated"><p>' . __('Changed roles.') . '</p></div>';
+                       $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . __('Changed roles.') . '</p></div>';
                        break;
                case 'err_admin_role':
-                       $messages[] = '<div id="message" class="error"><p>' . __('The current user&#8217;s role must have user editing capabilities.') . '</p></div>';
-                       $messages[] = '<div id="message" class="updated"><p>' . __('Other user roles have been changed.') . '</p></div>';
+                       $messages[] = '<div id="message" class="error notice is-dismissible"><p>' . __('The current user&#8217;s role must have user editing capabilities.') . '</p></div>';
+                       $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . __('Other user roles have been changed.') . '</p></div>';
                        break;
                case 'err_admin_del':
-                       $messages[] = '<div id="message" class="error"><p>' . __('You can&#8217;t delete the current user.') . '</p></div>';
-                       $messages[] = '<div id="message" class="updated"><p>' . __('Other users have been deleted.') . '</p></div>';
+                       $messages[] = '<div id="message" class="error notice is-dismissible"><p>' . __('You can&#8217;t delete the current user.') . '</p></div>';
+                       $messages[] = '<div id="message" class="updated notice is-dismissible"><p>' . __('Other users have been deleted.') . '</p></div>';
                        break;
                case 'remove':
-                       $messages[] = '<div id="message" class="updated fade"><p>' . __('User removed from this site.') . '</p></div>';
+                       $messages[] = '<div id="message" class="updated notice is-dismissible fade"><p>' . __('User removed from this site.') . '</p></div>';
                        break;
                case 'err_admin_remove':
-                       $messages[] = '<div id="message" class="error"><p>' . __("You can't remove the current user.") . '</p></div>';
-                       $messages[] = '<div id="message" class="updated fade"><p>' . __('Other users have been removed.') . '</p></div>';
+                       $messages[] = '<div id="message" class="error notice is-dismissible"><p>' . __("You can't remove the current user.") . '</p></div>';
+                       $messages[] = '<div id="message" class="updated notice is-dismissible fade"><p>' . __('Other users have been removed.') . '</p></div>';
                        break;
                }
        endif; ?>
@@ -443,7 +458,7 @@ if ( $usersearch )
 
 <?php $wp_list_table->views(); ?>
 
-<form action="" method="get">
+<form method="get">
 
 <?php $wp_list_table->search_box( __( 'Search Users' ), 'user' ); ?>
 
index 222251a1bb995c2dc7de09caf814a50862632e22..1e34d81bb016be22536fee2a6586c032dbfdbbf7 100644 (file)
@@ -70,12 +70,12 @@ 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="https://codex.wordpress.org/Appearance_Widgets_Screen" target="_blank">Documentation on Widgets</a>') . '</p>' .
        '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 if ( ! current_theme_supports( 'widgets' ) ) {
-       wp_die( __( 'The theme you are currently using isn&#8217;t widget-aware, meaning that it has no sidebars that you are able to change. For information on making your theme widget-aware, please <a href="http://codex.wordpress.org/Widgetizing_Themes">follow these instructions</a>.' ) );
+       wp_die( __( 'The theme you are currently using isn&#8217;t widget-aware, meaning that it has no sidebars that you are able to change. For information on making your theme widget-aware, please <a href="https://codex.wordpress.org/Widgetizing_Themes">follow these instructions</a>.' ) );
 }
 
 // These are the widgets grouped by sidebar
@@ -189,7 +189,7 @@ if ( isset($_GET['editwidget']) && $_GET['editwidget'] ) {
        if ( isset($_GET['addnew']) ) {
                // Default to the first sidebar
                $keys = array_keys( $wp_registered_sidebars );
-               $sidebar = array_shift( $keys );
+               $sidebar = reset( $keys );
 
                if ( isset($_GET['base']) && isset($_GET['num']) ) { // multi-widget
                        // Copy minimal info from an existing instance of this widget to a new instance
@@ -316,7 +316,13 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' ); ?>
        if ( current_user_can( 'customize' ) ) {
                printf(
                        ' <a class="add-new-h2 hide-if-no-customize" href="%1$s">%2$s</a>',
-                       admin_url( 'customize.php?autofocus[panel]=widgets' ),
+                       esc_url( add_query_arg(
+                               array(
+                                       array( 'autofocus' => array( 'panel' => 'widgets' ) ),
+                                       'return' => urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) )
+                               ),
+                               admin_url( 'customize.php' )
+                       ) ),
                        __( 'Manage in Customizer' )
                );
        }
@@ -324,7 +330,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' ); ?>
 </h2>
 
 <?php if ( isset($_GET['message']) && isset($messages[$_GET['message']]) ) { ?>
-<div id="message" class="updated"><p><?php echo $messages[$_GET['message']]; ?></p></div>
+<div id="message" class="updated notice is-dismissible"><p><?php echo $messages[$_GET['message']]; ?></p></div>
 <?php } ?>
 <?php if ( isset($_GET['error']) && isset($errors[$_GET['error']]) ) { ?>
 <div id="message" class="error"><p><?php echo $errors[$_GET['error']]; ?></p></div>
@@ -428,7 +434,7 @@ foreach ( $theme_sidebars as $sidebar => $registered_sidebar ) {
 </div>
 </div>
 </div>
-<form action="" method="post">
+<form method="post">
 <?php wp_nonce_field( 'save-sidebar-widgets', '_wpnonce_widgets', false ); ?>
 </form>
 <br class="clear" />
index b1612d2f7d476c0fd71494c5a5ed05fec996cb01..e1e41720a40d81e2bf6c5d2d958a2ef39996d690 100644 (file)
@@ -121,7 +121,7 @@ $comment_type = '';
 if ( get_option('require_name_email') && !$user->exists() ) {
        if ( 6 > strlen( $comment_author_email ) || '' == $comment_author ) {
                wp_die( __( '<strong>ERROR</strong>: please fill the required fields (name, email).' ), 200 );
-       } else if ( ! is_email( $comment_author_email ) ) {
+       } elseif ( ! is_email( $comment_author_email ) ) {
                wp_die( __( '<strong>ERROR</strong>: please enter a valid email address.' ), 200 );
        }
 }
index 41e4a63d1f651ce97dcfa749797a3758fe8db991..7ca228ee5c62709cf5b1e48a1f52bcd740e34458 100644 (file)
@@ -4,7 +4,7 @@
  *
  * This file has the following configurations: MySQL settings, Table Prefix,
  * Secret Keys, and ABSPATH. You can find more information by visiting
- * {@link http://codex.wordpress.org/Editing_wp-config.php Editing wp-config.php}
+ * {@link https://codex.wordpress.org/Editing_wp-config.php Editing wp-config.php}
  * Codex page. You can get the MySQL settings from your web host.
  *
  * This file is used by the wp-config.php creation script during the
index c9ea518d35193f13f53e299f4baa2a00dcdbba8f..ab1b75a573c29fd18f3c4e74860f3613d532ea2a 100644 (file)
@@ -15,6 +15,7 @@ Description: Used to style the TinyMCE editor.
  * 6.0 - Galleries
  * 7.0 - Audio / Video
  * 8.0 - RTL
+ * 9.0 - Media Queries
  */
 
 
@@ -300,10 +301,6 @@ img {
        vertical-align: middle;
 }
 
-a img {
-       display: block;
-}
-
 figure {
        margin: 0;
 }
@@ -479,3 +476,18 @@ body.rtl {
 .rtl table caption {
        text-align: right;
 }
+
+
+/**
+ * 9.0 Media Queries
+ */
+
+@media screen and (max-width: 740px) {
+       body, img, .wp-caption {
+               max-width: 100%;
+       }
+
+       img, .wp-caption {
+               width: auto !important;
+       }
+}
index b7203f4099798c029ed461c32cab5b8c75f907b0..53de092d9dd8cf9d63fdb999e6442bde4912679d 100644 (file)
@@ -93,7 +93,9 @@ button,
 input[type="button"],
 input[type="reset"],
 input[type="submit"],
-.post-password-form input[type="submit"] {
+.post-password-form input[type="submit"],
+.widecolumn #submit,
+.widecolumn .mu_register input[type="submit"] {
        font-size: 16px;
        padding: 0.8125em 1.625em;
 }
@@ -123,9 +125,8 @@ textarea {
        padding: 0.75em 0;
 }
 
-.main-navigation .page_item_has_children > a,
-.main-navigation .main-navigation .menu-item-has-children > a {
-       padding-right: 53px;
+.main-navigation .menu-item-has-children > a {
+       padding-right: 48px;
 }
 
 .main-navigation .menu-item-description {
@@ -180,7 +181,9 @@ textarea {
 .site-info,
 .wp-caption-text,
 .gallery-caption,
-.entry-caption {
+.entry-caption,
+.widecolumn label,
+.widecolumn .mu_register label {
        font-size: 16px;
 }
 
@@ -454,7 +457,8 @@ img.aligncenter {
        padding: 0 9.0909%;
 }
 
-.entry-title {
+.entry-title,
+.widecolumn h2 {
        font-size: 39px;
        line-height: 1.2308;
        margin-bottom: 1.2308em;
@@ -767,6 +771,36 @@ video {
        padding: 0.5em 0;
 }
 
+.widecolumn {
+       margin: 7.6923%;
+}
+
+.widecolumn .mu_alert {
+       margin-bottom: 1.6842em;
+}
+
+.widecolumn p {
+       margin: 1.6842em 0;
+}
+
+.widecolumn p + h2 {
+       margin-top: 1.641em;
+}
+
+.widecolumn #key,
+.widecolumn .mu_register #blog_title,
+.widecolumn .mu_register #user_email,
+.widecolumn .mu_register #blogname,
+.widecolumn .mu_register #user_name {
+       font-size: 19px;
+}
+
+.widecolumn .mu_register #blog_title,
+.widecolumn .mu_register #user_email,
+.widecolumn .mu_register #user_name {
+       margin: 0 0 0.421em;
+}
+
 
 /**
  * RTL
@@ -804,10 +838,9 @@ video {
        margin-left: auto;
 }
 
-.rtl .main-navigation .page_item_has_children > a,
-.rtl .main-navigation .main-navigation .menu-item-has-children > a {
+.rtl .main-navigation .menu-item-has-children > a {
        padding-right: 0;
-       padding-left: 53px;
+       padding-left: 48px;
 }
 
 .rtl .secondary-toggle {
index 2c4b59f3cbb7163a4c0e1026e896129072d13231..1a8e8a3a3879f28c89b68e94413b72cca43f8d69 100644 (file)
@@ -154,22 +154,34 @@ function twentyfifteen_fonts_url() {
        $fonts     = array();
        $subsets   = 'latin,latin-ext';
 
-       /* translators: If there are characters in your language that are not supported by Noto Sans, translate this to 'off'. Do not translate into your own language. */
+       /*
+        * Translators: If there are characters in your language that are not supported
+        * by Noto Sans, translate this to 'off'. Do not translate into your own language.
+        */
        if ( 'off' !== _x( 'on', 'Noto Sans font: on or off', 'twentyfifteen' ) ) {
                $fonts[] = 'Noto Sans:400italic,700italic,400,700';
        }
 
-       /* translators: If there are characters in your language that are not supported by Noto Serif, translate this to 'off'. Do not translate into your own language. */
+       /*
+        * Translators: If there are characters in your language that are not supported
+        * by Noto Serif, translate this to 'off'. Do not translate into your own language.
+        */
        if ( 'off' !== _x( 'on', 'Noto Serif font: on or off', 'twentyfifteen' ) ) {
                $fonts[] = 'Noto Serif:400italic,700italic,400,700';
        }
 
-       /* translators: If there are characters in your language that are not supported by Inconsolata, translate this to 'off'. Do not translate into your own language. */
+       /*
+        * Translators: If there are characters in your language that are not supported
+        * by Inconsolata, translate this to 'off'. Do not translate into your own language.
+        */
        if ( 'off' !== _x( 'on', 'Inconsolata font: on or off', 'twentyfifteen' ) ) {
                $fonts[] = 'Inconsolata:400,700';
        }
 
-       /* translators: To add an additional character subset specific to your language, translate this to 'greek', 'cyrillic', 'devanagari' or 'vietnamese'. Do not translate into your own language. */
+       /*
+        * Translators: To add an additional character subset specific to your language,
+        * translate this to 'greek', 'cyrillic', 'devanagari' or 'vietnamese'. Do not translate into your own language.
+        */
        $subset = _x( 'no-subset', 'Add new subset (greek, cyrillic, devanagari, vietnamese)', 'twentyfifteen' );
 
        if ( 'cyrillic' == $subset ) {
@@ -193,6 +205,18 @@ function twentyfifteen_fonts_url() {
 }
 endif;
 
+/**
+ * JavaScript Detection.
+ *
+ * Adds a `js` class to the root `<html>` element when JavaScript is detected.
+ *
+ * @since Twenty Fifteen 1.1
+ */
+function twentyfifteen_javascript_detection() {
+       echo "<script>(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script>\n";
+}
+add_action( 'wp_head', 'twentyfifteen_javascript_detection', 0 );
+
 /**
  * Enqueue scripts and styles.
  *
@@ -226,7 +250,7 @@ function twentyfifteen_scripts() {
                wp_enqueue_script( 'twentyfifteen-keyboard-image-navigation', get_template_directory_uri() . '/js/keyboard-image-navigation.js', array( 'jquery' ), '20141010' );
        }
 
-       wp_enqueue_script( 'twentyfifteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '20141212', true );
+       wp_enqueue_script( 'twentyfifteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '20150330', true );
        wp_localize_script( 'twentyfifteen-script', 'screenReaderText', array(
                'expand'   => '<span class="screen-reader-text">' . __( 'expand child menu', 'twentyfifteen' ) . '</span>',
                'collapse' => '<span class="screen-reader-text">' . __( 'collapse child menu', 'twentyfifteen' ) . '</span>',
@@ -266,7 +290,7 @@ function twentyfifteen_post_nav_background() {
        if ( $next && has_post_thumbnail( $next->ID ) ) {
                $nextthumb = wp_get_attachment_image_src( get_post_thumbnail_id( $next->ID ), 'post-thumbnail' );
                $css .= '
-                       .post-navigation .nav-next { background-image: url(' . esc_url( $nextthumb[0] ) . '); }
+                       .post-navigation .nav-next { background-image: url(' . esc_url( $nextthumb[0] ) . '); border-top: 0; }
                        .post-navigation .nav-next .post-title, .post-navigation .nav-next a:hover .post-title, .post-navigation .nav-next .meta-nav { color: #fff; }
                        .post-navigation .nav-next a:before { background-color: rgba(0, 0, 0, 0.4); }
                ';
index d8e387ff7a9b8d5599094e816ab0339fd4c53713..e415915c59b44b05fc788ecc593c44826845f597 100644 (file)
@@ -18,7 +18,6 @@
        <!--[if lt IE 9]>
        <script src="<?php echo esc_url( get_template_directory_uri() ); ?>/js/html5.js"></script>
        <![endif]-->
-       <script>(function(){document.documentElement.className='js'})();</script>
        <?php wp_head(); ?>
 </head>
 
index 4a7e71910ad8be125c39565355c46473f537c81c..02e2c76af42457061210744537ec12ac94b4dc8b 100644 (file)
@@ -327,7 +327,8 @@ function twentyfifteen_get_color_scheme_css( $colors ) {
        .hentry,
        .page-header,
        .page-content,
-       .comments-area {
+       .comments-area,
+       .widecolumn {
                background-color: {$colors['box_background_color']};
        }
 
@@ -458,7 +459,9 @@ function twentyfifteen_get_color_scheme_css( $colors ) {
        .site-info a,
        .wp-caption-text,
        .gallery-caption,
-       .comment-list .reply a {
+       .comment-list .reply a,
+       .widecolumn label,
+       .widecolumn .mu_register label {
                color: {$colors['textcolor']}; /* Fallback for IE7 and IE8 */
                color: {$colors['secondary_textcolor']};
        }
index 6610757eb0a0d5349741976d989beb3383ead11f..eeeecd2246b07b849e5c6e2a992997eb084b8c92 100644 (file)
@@ -8,10 +8,15 @@
 ( function( $ ) {
        var $body, $window, $sidebar, adminbarOffset, top = false,
            bottom = false, windowWidth, windowHeight, lastWindowPos = 0,
-           topOffset = 0, bodyHeight, sidebarHeight, resizeTimer;
+           topOffset = 0, bodyHeight, sidebarHeight, resizeTimer,
+               secondary, button;
 
        // Add dropdown toggle that display child menu items.
-       $( '.main-navigation .page_item_has_children > a, .main-navigation .menu-item-has-children > a' ).after( '<button class="dropdown-toggle" aria-expanded="false">' + screenReaderText.expand + '</button>' );
+       $( '.main-navigation .menu-item-has-children > a' ).after( '<button class="dropdown-toggle" aria-expanded="false">' + screenReaderText.expand + '</button>' );
+
+       // Toggle buttons and submenu items with active children menu items.
+       $( '.main-navigation .current-menu-ancestor > button' ).addClass( 'toggle-on' );
+       $( '.main-navigation .current-menu-ancestor > .sub-menu' ).addClass( 'toggled-on' );
 
        $( '.dropdown-toggle' ).click( function( e ) {
                var _this = $( this );
                _this.html( _this.html() === screenReaderText.expand ? screenReaderText.collapse : screenReaderText.expand );
        } );
 
+       secondary = $( '#secondary' );
+       button = $( '.site-branding' ).find( '.secondary-toggle' );
+
        // Enable menu toggle for small screens.
        ( function() {
-               var secondary = $( '#secondary' ), button, menu, widgets, social;
-               if ( ! secondary ) {
-                       return;
-               }
-
-               button = $( '.site-branding' ).find( '.secondary-toggle' );
-               if ( ! button ) {
+               var menu, widgets, social;
+               if ( ! secondary || ! button ) {
                        return;
                }
 
                        secondary.toggleClass( 'toggled-on' );
                        secondary.trigger( 'resize' );
                        $( this ).toggleClass( 'toggled-on' );
+                       if ( $( this, secondary ).hasClass( 'toggled-on' ) ) {
+                               $( this ).attr( 'aria-expanded', 'true' );
+                               secondary.attr( 'aria-expanded', 'true' );
+                       } else {
+                               $( this ).attr( 'aria-expanded', 'false' );
+                               secondary.attr( 'aria-expanded', 'false' );
+                       }
                } );
        } )();
 
+       /**
+        * @summary Add or remove ARIA attributes.
+        * Uses jQuery's width() function to determine the size of the window and add
+        * the default ARIA attributes for the menu toggle if it's visible.
+        * @since Twenty Fifteen 1.1
+        */
+       function onResizeARIA() {
+               if ( 955 > $window.width() ) {
+                       button.attr( 'aria-expanded', 'false' );
+                       secondary.attr( 'aria-expanded', 'false' );
+                       button.attr( 'aria-controls', 'secondary' );
+               } else {
+                       button.removeAttr( 'aria-expanded' );
+                       secondary.removeAttr( 'aria-expanded' );
+                       button.removeAttr( 'aria-controls' );
+               }
+       }
+
        // Sidebar scrolling.
        function resize() {
-               windowWidth   = $window.width();
-               windowHeight  = $window.height();
-               bodyHeight    = $body.height();
-               sidebarHeight = $sidebar.height();
+               windowWidth = $window.width();
 
                if ( 955 > windowWidth ) {
                        top = bottom = false;
                        return;
                }
 
+               sidebarHeight = $sidebar.height();
+               windowHeight  = $window.height();
+               bodyHeight    = $body.height();
+
                if ( sidebarHeight + adminbarOffset > windowHeight ) {
                        if ( windowPos > lastWindowPos ) {
                                if ( top ) {
 
                $window
                        .on( 'scroll.twentyfifteen', scroll )
+                       .on( 'load.twentyfifteen', onResizeARIA )
                        .on( 'resize.twentyfifteen', function() {
                                clearTimeout( resizeTimer );
                                resizeTimer = setTimeout( resizeAndScroll, 500 );
+                               onResizeARIA();
                        } );
-               $sidebar.on( 'click keydown', 'button', resizeAndScroll );
+               $sidebar.on( 'click.twentyfifteen keydown.twentyfifteen', 'button', resizeAndScroll );
 
                resizeAndScroll();
 
index 2029927dbac380607414385b6436eac26d8e776c..07f491f837f6326adb16ed163393455eea41150f 100644 (file)
@@ -1,14 +1,14 @@
-# Copyright (C) 2014 the WordPress team
+# Copyright (C) 2015 the WordPress team
 # This file is distributed under the GNU General Public License v2 or later.
 msgid ""
 msgstr ""
-"Project-Id-Version: Twenty Fifteen 1.0\n"
-"Report-Msgid-Bugs-To: http://wordpress.org/tags/twentyfifteen\n"
-"POT-Creation-Date: 2014-12-14 12:26:59+00:00\n"
+"Project-Id-Version: Twenty Fifteen 1.1\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/twentyfifteen\n"
+"POT-Creation-Date: 2015-04-23 15:11:26+00:00\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 
@@ -87,7 +87,7 @@ msgid ""
 "searching can help."
 msgstr ""
 
-#. #-#-#-#-#  twentyfifteen.pot (Twenty Fifteen 1.0)  #-#-#-#-#
+#. #-#-#-#-#  twentyfifteen.pot (Twenty Fifteen 1.1)  #-#-#-#-#
 #. Author URI of the plugin/theme
 #: footer.php:25
 msgid "https://wordpress.org/"
@@ -113,51 +113,51 @@ msgstr ""
 msgid "Add widgets here to appear in your sidebar."
 msgstr ""
 
-#. translators: If there are characters in your language that are not supported
+#. Translators: If there are characters in your language that are not supported
 #. by Noto Sans, translate this to 'off'. Do not translate into your own
 #. language.
-#: functions.php:158
+#: functions.php:161
 msgctxt "Noto Sans font: on or off"
 msgid "on"
 msgstr ""
 
-#. translators: If there are characters in your language that are not supported
+#. Translators: If there are characters in your language that are not supported
 #. by Noto Serif, translate this to 'off'. Do not translate into your own
 #. language.
-#: functions.php:163
+#: functions.php:169
 msgctxt "Noto Serif font: on or off"
 msgid "on"
 msgstr ""
 
-#. translators: If there are characters in your language that are not supported
+#. Translators: If there are characters in your language that are not supported
 #. by Inconsolata, translate this to 'off'. Do not translate into your own
 #. language.
-#: functions.php:168
+#: functions.php:177
 msgctxt "Inconsolata font: on or off"
 msgid "on"
 msgstr ""
 
-#. translators: To add an additional character subset specific to your
+#. Translators: To add an additional character subset specific to your
 #. language, translate this to 'greek', 'cyrillic', 'devanagari' or
 #. 'vietnamese'. Do not translate into your own language.
-#: functions.php:173
+#: functions.php:185
 msgctxt "Add new subset (greek, cyrillic, devanagari, vietnamese)"
 msgid "no-subset"
 msgstr ""
 
-#: functions.php:231
+#: functions.php:255
 msgid "expand child menu"
 msgstr ""
 
-#: functions.php:232
+#: functions.php:256
 msgid "collapse child menu"
 msgstr ""
 
-#: header.php:27
+#: header.php:26
 msgid "Skip to content"
 msgstr ""
 
-#: header.php:44
+#: header.php:43
 msgid "Menu and widgets"
 msgstr ""
 
@@ -182,43 +182,43 @@ msgid ""
 "version %s. Please upgrade and try again."
 msgstr ""
 
-#: inc/customizer.php:36
+#: inc/customizer.php:31
 msgid "Base Color Scheme"
 msgstr ""
 
-#: inc/customizer.php:51
+#: inc/customizer.php:46
 msgid "Header and Sidebar Text Color"
 msgstr ""
 
-#: inc/customizer.php:52 inc/customizer.php:68 inc/customizer.php:73
+#: inc/customizer.php:47 inc/customizer.php:63 inc/customizer.php:68
 msgid "Applied to the header on small screens and the sidebar on wide screens."
 msgstr ""
 
-#: inc/customizer.php:67
+#: inc/customizer.php:62
 msgid "Header and Sidebar Background Color"
 msgstr ""
 
-#: inc/customizer.php:97
+#: inc/customizer.php:92
 msgid "Default"
 msgstr ""
 
-#: inc/customizer.php:108
+#: inc/customizer.php:103
 msgid "Dark"
 msgstr ""
 
-#: inc/customizer.php:119
+#: inc/customizer.php:114
 msgid "Yellow"
 msgstr ""
 
-#: inc/customizer.php:130
+#: inc/customizer.php:125
 msgid "Pink"
 msgstr ""
 
-#: inc/customizer.php:141
+#: inc/customizer.php:136
 msgid "Purple"
 msgstr ""
 
-#: inc/customizer.php:152
+#: inc/customizer.php:147
 msgid "Blue"
 msgstr ""
 
@@ -310,7 +310,7 @@ msgid "Twenty Fifteen"
 msgstr ""
 
 #. Theme URI of the plugin/theme
-msgid "https://wordpress.org/themes/twentyfifteen"
+msgid "https://wordpress.org/themes/twentyfifteen/"
 msgstr ""
 
 #. Description of the plugin/theme
index 35259a664ffd9d6ec7436dcf56fcc9cc092ba405..4f4a471cdd70370e94e2df2de1106ef99972cbf4 100644 (file)
@@ -156,7 +156,6 @@ td {
        margin-left: auto;
 }
 
-.main-navigation .page_item_has_children > a,
 .main-navigation .menu-item-has-children > a {
        padding-right: 0;
        padding-left: 48px;
@@ -477,12 +476,6 @@ img.alignleft {
                margin-left: auto;
        }
 
-       .main-navigation .page_item_has_children > a,
-       .main-navigation .main-navigation .menu-item-has-children > a {
-               padding-right: 0;
-               padding-left: 54px;
-       }
-
        blockquote.alignright,
        .wp-caption.alignright
        img.alignright {
@@ -567,12 +560,6 @@ img.alignleft {
                padding-left: 0;
        }
 
-       .main-navigation .page_item_has_children > a,
-       .main-navigation .main-navigation .menu-item-has-children > a {
-               padding-right: 0;
-               padding-left: 53px;
-       }
-
        blockquote.alignright,
        .wp-caption.alignright
        img.alignright {
@@ -652,10 +639,9 @@ img.alignleft {
                padding-left: 0;
        }
 
-       .main-navigation .page_item_has_children > a,
        .main-navigation .menu-item-has-children > a {
                padding-right: 0;
-               padding-left: 35px;
+               padding-left: 30px;
        }
 
        blockquote.alignright,
@@ -729,10 +715,9 @@ img.alignleft {
                padding-left: 0;
        }
 
-       .main-navigation .page_item_has_children > a,
        .main-navigation .menu-item-has-children > a {
                padding-right: 0;
-               padding-left: 33px;
+               padding-left: 34px;
        }
 
        blockquote.alignright,
@@ -795,10 +780,9 @@ img.alignleft {
                padding-left: 0;
        }
 
-       .main-navigation .page_item_has_children > a,
        .main-navigation .menu-item-has-children > a {
                padding-right: 0;
-               padding-left: 32px;
+               padding-left: 38px;
        }
 
        blockquote.alignright,
index f90dfbaeab6b436b2c77bd370d858acd5698c9a9..2a555606d7f93762ef3493effdd08efdb34ab81a 100644 (file)
@@ -1,10 +1,10 @@
 /*
 Theme Name: Twenty Fifteen
-Theme URI: https://wordpress.org/themes/twentyfifteen
+Theme URI: https://wordpress.org/themes/twentyfifteen/
 Author: the WordPress team
 Author URI: https://wordpress.org/
 Description: Our 2015 default theme is clean, blog-focused, and designed for clarity. Twenty Fifteen's simple, straightforward typography is readable on a wide variety of screen sizes, and suitable for multiple languages. We designed it using a mobile-first approach, meaning your content takes center-stage, regardless of whether your visitors arrive by smartphone, tablet, laptop, or desktop computer.
-Version: 1.0
+Version: 1.1
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Tags: black, blue, gray, pink, purple, white, yellow, dark, light, two-columns, left-sidebar, fixed-layout, responsive-layout, accessibility-ready, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
@@ -39,24 +39,24 @@ Use it to make something cool, have fun, and share what you've learned with othe
  * 14.0 - Media
  *    14.1 - Captions
  *    14.2 - Galleries
- * 15.0 - Media Queries
- *    15.1 - Mobile Large
- *    15.2 - Tablet Small
- *    15.3 - Tablet Large
- *    15.4 - Desktop Small
- *    15.5 - Desktop Medium
- *    15.6 - Desktop Large
- *    15.7 - Desktop X-Large
+ * 15.0 - Multisite
+ * 16.0 - Media Queries
+ *    16.1 - Mobile Large
+ *    16.2 - Tablet Small
+ *    16.3 - Tablet Large
+ *    16.4 - Desktop Small
+ *    16.5 - Desktop Medium
+ *    16.6 - Desktop Large
+ *    16.7 - Desktop X-Large
+ * 17.0 - Print
  */
 
 
 /**
  * 1.0 - Reset
  *
- * Resetting and rebuilding styles have been helped along thanks to the fine work of
- * Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
- * along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
- * and Blueprint http://www.blueprintcss.org/
+ * Resetting and rebuilding styles have been helped along thanks to the fine
+ * work of Eric Meyer, Nicolas Gallagher, Jonathan Neal, and Blueprint.
  */
 
 html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
@@ -680,9 +680,8 @@ a:focus {
        position: relative;
 }
 
-.main-navigation .current_page_item > a,
 .main-navigation .current-menu-item > a,
-.main-navigation .current_page_ancestor > a {
+.main-navigation .current-menu-ancestor > a {
        font-weight: 700;
 }
 
@@ -691,7 +690,6 @@ a:focus {
        border-top: 0;
 }
 
-.main-navigation .page_item_has_children > a,
 .main-navigation .menu-item-has-children > a {
        padding-right: 48px;
 }
@@ -781,10 +779,6 @@ a:focus {
        left: 0;
 }
 
-.social-navigation a[href$="/feed/"]:before {
-       content: "\f413";
-}
-
 .social-navigation a[href*="codepen.io"]:before {
        content: "\f216";
 }
@@ -882,6 +876,10 @@ a:focus {
        content: "\f516";
 }
 
+.social-navigation a[href$="/feed/"]:before {
+       content: "\f413";
+}
+
 .secondary-toggle {
        background-color: transparent;
        border: 1px solid #eaeaea;
@@ -2562,7 +2560,100 @@ p > video {
 
 
 /**
- * 15.0 Media Queries
+ * 15.0 Multisite
+ */
+
+.widecolumn {
+       background-color: #fff;
+       padding: 7.6923%;
+}
+
+.widecolumn .mu_register {
+       width: auto;
+}
+
+.widecolumn .mu_alert {
+       margin-bottom: 1.6em;
+}
+
+.widecolumn form,
+.widecolumn .mu_register form {
+       margin-top: 0;
+}
+
+.widecolumn h2 {
+       font-size: 26px;
+       font-size: 2.6rem;
+       line-height: 1.1538;
+       margin-bottom: 0.9231em;
+}
+
+.widecolumn p {
+       margin: 1.6em 0;
+}
+
+.widecolumn p + h2 {
+       margin-top: 1.8462em;
+}
+
+.widecolumn label,
+.widecolumn .mu_register label {
+       color: #707070;
+       color: rgba(51, 51, 51, 0.7);
+       font-family: "Noto Sans", sans-serif;
+       font-size: 12px;
+       font-size: 1.2rem;
+       font-weight: 700;
+       letter-spacing: 0.04em;
+       line-height: 1.5;
+       text-transform: uppercase;
+}
+
+.widecolumn .mu_register label {
+       margin: 2em 0 0;
+}
+
+.widecolumn #key,
+.widecolumn .mu_register #blog_title,
+.widecolumn .mu_register #user_email,
+.widecolumn .mu_register #blogname,
+.widecolumn .mu_register #user_name {
+       font-size: 16px;
+       font-size: 1.6rem;
+       width: 100%;
+}
+
+.widecolumn .mu_register #blogname {
+       margin: 0;
+}
+
+.widecolumn .mu_register #blog_title,
+.widecolumn .mu_register #user_email,
+.widecolumn .mu_register #user_name {
+       margin: 0 0 0.375em;
+}
+
+.widecolumn #submit,
+.widecolumn .mu_register input[type="submit"] {
+       font-size: 12px;
+       font-size: 1.2rem;
+       margin: 0;
+       width: 100%;
+}
+
+.widecolumn .mu_register .prefix_address,
+.widecolumn .mu_register .suffix_address {
+       font-size: inherit;
+}
+
+.widecolumn .mu_register > :last-child,
+.widecolumn form > :last-child {
+       margin-bottom: 0;
+}
+
+
+/**
+ * 16.0 Media Queries
  */
 
 /*
@@ -2580,7 +2671,7 @@ p > video {
 }
 
 /**
- * 15.1 Mobile Large 620px
+ * 16.1 Mobile Large 620px
  */
 
 @media screen and (min-width: 38.75em) {
@@ -2619,6 +2710,7 @@ p > video {
        }
 
        .secondary {
+               box-shadow: 0 0 1px rgba(0, 0, 0, 0.15);
                margin: 7.6923% 7.6923% 0;
                padding: 7.6923% 7.6923% 0;
        }
@@ -2764,11 +2856,16 @@ p > video {
        .comment-content blockquote > ol {
                margin-left: 1.3333em;
        }
+
+       .widecolumn {
+               box-shadow: 0 0 1px rgba(0, 0, 0, 0.15);
+               margin: 7.6923%;
+       }
 }
 
 
 /**
- * 15.2 Tablet Small 740px
+ * 16.2 Tablet Small 740px
  */
 
 @media screen and (min-width: 46.25em) {
@@ -2827,7 +2924,9 @@ p > video {
        input[type="button"],
        input[type="reset"],
        input[type="submit"],
-       .post-password-form input[type="submit"] {
+       .post-password-form input[type="submit"],
+       .widecolumn #submit,
+       .widecolumn .mu_register input[type="submit"] {
                font-size: 14px;
                font-size: 1.4rem;
                padding: 0.8214em 1.6429em;
@@ -2856,11 +2955,6 @@ p > video {
                margin-left: 1em;
        }
 
-       .main-navigation .page_item_has_children > a,
-       .main-navigation .main-navigation .menu-item-has-children > a {
-               padding-right: 54px;
-       }
-
        .main-navigation .menu-item-description {
                font-size: 14px;
                font-size: 1.4rem;
@@ -2906,7 +3000,9 @@ p > video {
        .site-info,
        .wp-caption-text,
        .gallery-caption,
-       .entry-caption {
+       .entry-caption,
+       .widecolumn label,
+       .widecolumn .mu_register label {
                font-size: 14px;
                font-size: 1.4rem;
        }
@@ -3133,7 +3229,8 @@ p > video {
                margin-bottom: 3em;
        }
 
-       .entry-title {
+       .entry-title,
+       .widecolumn h2 {
                font-size: 35px;
                font-size: 3.5rem;
                line-height: 1.2;
@@ -3361,11 +3458,39 @@ p > video {
        .gallery {
                margin-bottom: 1.6471em;
        }
+
+       .widecolumn .mu_alert {
+               margin-bottom: 1.6471em;
+       }
+
+       .widecolumn p {
+               margin: 1.6471em 0;
+       }
+
+       .widecolumn p + h2 {
+               margin-top: 1.6em;
+       }
+
+       .widecolumn #key,
+       .widecolumn .mu_register #blog_title,
+       .widecolumn .mu_register #user_email,
+       .widecolumn .mu_register #blogname,
+       .widecolumn .mu_register #user_name {
+               font-size: 17px;
+               font-size: 1.7rem;
+               line-height: normal;
+       }
+
+       .widecolumn .mu_register #blog_title,
+       .widecolumn .mu_register #user_email,
+       .widecolumn .mu_register #user_name {
+               margin: 0 0 0.4117em;
+       }
 }
 
 
 /**
- * 15.3 Tablet Large 880px
+ * 16.3 Tablet Large 880px
  */
 
 @media screen and (min-width: 55em) {
@@ -3424,7 +3549,9 @@ p > video {
        input[type="button"],
        input[type="reset"],
        input[type="submit"],
-       .post-password-form input[type="submit"] {
+       .post-password-form input[type="submit"],
+       .widecolumn #submit,
+       .widecolumn .mu_register input[type="submit"] {
                font-size: 16px;
                font-size: 1.6rem;
                padding: 0.8125em 1.625em;
@@ -3449,11 +3576,6 @@ p > video {
                padding: 0.75em 0;
        }
 
-       .main-navigation .page_item_has_children > a,
-       .main-navigation .main-navigation .menu-item-has-children > a {
-               padding-right: 53px;
-       }
-
        .main-navigation .menu-item-description {
                font-size: 16px;
                font-size: 1.6rem;
@@ -3499,7 +3621,9 @@ p > video {
        .site-info,
        .wp-caption-text,
        .gallery-caption,
-       .entry-caption {
+       .entry-caption,
+       .widecolumn label,
+       .widecolumn .mu_register label {
                font-size: 16px;
                font-size: 1.6rem;
        }
@@ -3669,7 +3793,8 @@ p > video {
                margin-bottom: 2.9474em;
        }
 
-       .entry-title {
+       .entry-title,
+       .widecolumn h2 {
                font-size: 39px;
                font-size: 3.9rem;
                line-height: 1.2308;
@@ -3882,11 +4007,38 @@ p > video {
        .gallery {
                margin-bottom: 1.6842em;
        }
+
+       .widecolumn .mu_alert {
+               margin-bottom: 1.6842em;
+       }
+
+       .widecolumn p {
+               margin: 1.6842em 0;
+       }
+
+       .widecolumn p + h2 {
+               margin-top: 1.641em;
+       }
+
+       .widecolumn #key,
+       .widecolumn .mu_register #blog_title,
+       .widecolumn .mu_register #user_email,
+       .widecolumn .mu_register #blogname,
+       .widecolumn .mu_register #user_name {
+               font-size: 19px;
+               font-size: 1.9rem;
+       }
+
+       .widecolumn .mu_register #blog_title,
+       .widecolumn .mu_register #user_email,
+       .widecolumn .mu_register #user_name {
+               margin: 0 0 0.421em;
+       }
 }
 
 
 /**
- * 15.4 Desktop Small 955px
+ * 16.4 Desktop Small 955px
  */
 
 @media screen and (min-width: 59.6875em) {
@@ -3919,6 +4071,7 @@ p > video {
 
        .secondary {
                background-color: transparent;
+               box-shadow: none;
                display: block;
                margin: 0;
                padding: 0;
@@ -3991,7 +4144,9 @@ p > video {
        input[type="button"],
        input[type="reset"],
        input[type="submit"],
-       .post-password-form input[type="submit"] {
+       .post-password-form input[type="submit"],
+       .widecolumn #submit,
+       .widecolumn .mu_register input[type="submit"] {
                font-size: 12px;
                font-size: 1.2rem;
                padding: 0.7917em 1.5833em;
@@ -4016,9 +4171,8 @@ p > video {
                padding: 0.5em 0;
        }
 
-       .main-navigation .page_item_has_children > a,
        .main-navigation .menu-item-has-children > a {
-               padding-right: 35px;
+               padding-right: 30px;
        }
 
        .main-navigation .menu-item-description {
@@ -4078,7 +4232,9 @@ p > video {
        .site-info,
        .wp-caption-text,
        .gallery-caption,
-       .entry-caption {
+       .entry-caption,
+       .widecolumn label,
+       .widecolumn .mu_register label {
                font-size: 12px;
                font-size: 1.2rem;
        }
@@ -4295,7 +4451,8 @@ p > video {
                padding: 0 10%;
        }
 
-       .entry-title {
+       .entry-title,
+       .widecolumn h2 {
                font-size: 31px;
                font-size: 3.1rem;
                line-height: 1.1613;
@@ -4552,11 +4709,43 @@ p > video {
        .gallery {
                margin-bottom: 1.6em;
        }
+
+       .widecolumn {
+               margin: 8.3333%;
+               padding: 8.3333%;
+       }
+
+       .widecolumn .mu_alert {
+               margin-bottom: 1.6em;
+       }
+
+       .widecolumn p {
+               margin: 1.6em 0;
+       }
+
+       .widecolumn p + h2 {
+               margin-top: 1.5484em;
+       }
+
+       .widecolumn #key,
+       .widecolumn .mu_register #blog_title,
+       .widecolumn .mu_register #user_email,
+       .widecolumn .mu_register #blogname,
+       .widecolumn .mu_register #user_name {
+               font-size: 16px;
+               font-size: 1.6rem;
+       }
+
+       .widecolumn .mu_register #blog_title,
+       .widecolumn .mu_register #user_email,
+       .widecolumn .mu_register #user_name {
+               margin: 0 0 0.375em;
+       }
 }
 
 
 /**
- * 15.5 Desktop Medium 1100px
+ * 16.5 Desktop Medium 1100px
  */
 
 @media screen and (min-width: 68.75em) {
@@ -4615,7 +4804,9 @@ p > video {
        input[type="button"],
        input[type="reset"],
        input[type="submit"],
-       .post-password-form input[type="submit"] {
+       .post-password-form input[type="submit"],
+       .widecolumn #submit,
+       .widecolumn .mu_register input[type="submit"] {
                font-size: 14px;
                font-size: 1.4rem;
                padding: 0.8214em 1.5714em;
@@ -4639,9 +4830,8 @@ p > video {
                padding: 0.4643em 0;
        }
 
-       .main-navigation .page_item_has_children > a,
        .main-navigation .menu-item-has-children > a {
-               padding-right: 33px;
+               padding-right: 34px;
        }
 
        .main-navigation .menu-item-description {
@@ -4691,7 +4881,9 @@ p > video {
        .site-info,
        .wp-caption-text,
        .gallery-caption,
-       .entry-caption {
+       .entry-caption,
+       .widecolumn label,
+       .widecolumn .mu_register label {
                font-size: 14px;
                font-size: 1.4rem;
        }
@@ -4841,7 +5033,8 @@ p > video {
                margin-bottom: 2.4706em;
        }
 
-       .entry-title {
+       .entry-title,
+       .widecolumn h2 {
                font-size: 35px;
                font-size: 3.5rem;
                line-height: 1.2;
@@ -5059,11 +5252,38 @@ p > video {
        .gallery {
                margin-bottom: 1.6471em;
        }
+
+       .widecolumn .mu_alert {
+               margin-bottom: 1.6471em;
+       }
+
+       .widecolumn p {
+               margin: 1.6471em 0;
+       }
+
+       .widecolumn p + h2 {
+               margin-top: 1.6em;
+       }
+
+       .widecolumn #key,
+       .widecolumn .mu_register #blog_title,
+       .widecolumn .mu_register #user_email,
+       .widecolumn .mu_register #blogname,
+       .widecolumn .mu_register #user_name {
+               font-size: 17px;
+               font-size: 1.7rem;
+       }
+
+       .widecolumn .mu_register #blog_title,
+       .widecolumn .mu_register #user_email,
+       .widecolumn .mu_register #user_name {
+               margin: 0 0 0.4117em;
+       }
 }
 
 
 /**
- * 15.6 Desktop Large 1240px
+ * 16.6 Desktop Large 1240px
  */
 
 @media screen and (min-width: 77.5em) {
@@ -5122,7 +5342,9 @@ p > video {
        input[type="button"],
        input[type="reset"],
        input[type="submit"],
-       .post-password-form input[type="submit"] {
+       .post-password-form input[type="submit"],
+       .widecolumn #submit,
+       .widecolumn .mu_register input[type="submit"] {
                font-size: 16px;
                font-size: 1.6rem;
                padding: 0.8125em 1.625em;
@@ -5146,9 +5368,8 @@ p > video {
                padding: 0.5em 0;
        }
 
-       .main-navigation .page_item_has_children > a,
        .main-navigation .menu-item-has-children > a {
-               padding-right: 32px;
+               padding-right: 38px;
        }
 
        .main-navigation .menu-item-description {
@@ -5197,7 +5418,9 @@ p > video {
        .site-info,
        .wp-caption-text,
        .gallery-caption,
-       .entry-caption {
+       .entry-caption,
+       .widecolumn label,
+       .widecolumn .mu_register label {
                font-size: 16px;
                font-size: 1.6rem;
        }
@@ -5359,7 +5582,8 @@ p > video {
                margin-bottom: 2.9474em;
        }
 
-       .entry-title {
+       .entry-title,
+       .widecolumn h2 {
                font-size: 39px;
                font-size: 3.9rem;
                line-height: 1.2308;
@@ -5568,11 +5792,38 @@ p > video {
        .gallery {
                margin-bottom: 1.6842em;
        }
+
+       .widecolumn .mu_alert {
+               margin-bottom: 1.6842em;
+       }
+
+       .widecolumn p {
+               margin: 1.6842em 0;
+       }
+
+       .widecolumn p + h2 {
+               margin-top: 1.641em;
+       }
+
+       .widecolumn #key,
+       .widecolumn .mu_register #blog_title,
+       .widecolumn .mu_register #user_email,
+       .widecolumn .mu_register #blogname,
+       .widecolumn .mu_register #user_name {
+               font-size: 19px;
+               font-size: 1.9rem;
+       }
+
+       .widecolumn .mu_register #blog_title,
+       .widecolumn .mu_register #user_email,
+       .widecolumn .mu_register #user_name {
+               margin: 0 0 0.421em;
+       }
 }
 
 
 /**
- * 15.7 Desktop X-Large 1403px
+ * 16.7 Desktop X-Large 1403px
  */
 
 @media screen and (min-width: 87.6875em) {
@@ -5584,7 +5835,7 @@ p > video {
 
 
 /**
- * 16.0 Print
+ * 17.0 Print
  */
 
 @media print {
@@ -5604,7 +5855,9 @@ p > video {
        button,
        input,
        textarea,
-       select {
+       select,
+       .widecolumn form,
+       .widecolumn .mu_register form {
                display: none;
        }
 
@@ -5614,7 +5867,8 @@ p > video {
        .entry-footer,
        .page-header,
        .page-content,
-       .comments-area {
+       .comments-area,
+       .widecolumn {
                background: none !important; /* Make sure color schemes dont't affect to print */
        }
 
@@ -5668,6 +5922,10 @@ p > video {
                margin: 0 7.6923%;
        }
 
+       .sidebar {
+               position: relative !important; /* Make sure sticky sidebar doesn't affect to print */
+       }
+
        .site-branding {
                padding: 0;
        }
@@ -5728,4 +5986,9 @@ p > video {
                margin-top: 7.6923%;
                padding: 3.84615% 0;
        }
+
+       .widecolumn {
+               margin: 7.6923% 0 0;
+               padding: 0;
+       }
 }
index af8e20590a0318e4c031bd1a84e496854700eb33..f4c91815ec3bc24c8203b79f2f2a7d695fc3d8aa 100644 (file)
@@ -10,7 +10,7 @@
  * already has tag.php for Tag archives, category.php for Category archives,
  * and author.php for Author archives.
  *
- * @link http://codex.wordpress.org/Template_Hierarchy
+ * @link https://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Fourteen
index 31394ca366caf32af8c571e9fef01a9969a73019..62d9165917542db4614ae6c47903506621ca3e7e 100644 (file)
@@ -2,7 +2,7 @@
 /**
  * The template for displaying Author archive pages
  *
- * @link http://codex.wordpress.org/Template_Hierarchy
+ * @link https://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Fourteen
index 92daeb8cdbd0412360f9168121be196190a53895..2b05f8db6969c6477a0c2aa9df83e81118d2c915 100644 (file)
@@ -2,7 +2,7 @@
 /**
  * The template for displaying Category pages
  *
- * @link http://codex.wordpress.org/Template_Hierarchy
+ * @link https://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Fourteen
index 9802a2440a079b6b67176e6e2ecfcf7af4105eb4..781c06d4c70325db346725f02224196e1bce2195 100644 (file)
@@ -40,9 +40,9 @@ if ( post_password_required() ) {
        <ol class="comment-list">
                <?php
                        wp_list_comments( array(
-                               'style'      => 'ol',
-                               'short_ping' => true,
-                               'avatar_size'=> 34,
+                               'style'       => 'ol',
+                               'short_ping'  => true,
+                               'avatar_size' => 34,
                        ) );
                ?>
        </ol><!-- .comment-list -->
index 010f35809e87a62e8599f0fb2b4041da9b7046de..b4dd3253f2dd77530b6736506155eef0586f0642 100644 (file)
@@ -17,6 +17,7 @@ Description: Used to style the TinyMCE editor.
  * 8.0 - Galleries
  * 9.0 - Audio/Video
  * 10.0 - RTL
+ * 11.0 - Media Queries
  * ----------------------------------------------------------------------------
  */
 
@@ -719,3 +720,18 @@ html .mceContentBody.rtl {
 .rtl td {
        text-align: right;
 }
+
+
+/**
+ * 11.0 Media Queries
+ */
+
+@media screen and (max-width: 494px) {
+       body, img, .wp-caption {
+               max-width: 100%;
+       }
+
+       img, .wp-caption {
+               width: auto !important;
+       }
+}
index 1a623acfd816a1a0dbbd1d040842bddb05382c3f..c56edf3e24b1325441c8ae34958665c977663bc3 100644 (file)
@@ -22,7 +22,7 @@
                foreach ( (array) $featured_posts as $order => $post ) :
                        setup_postdata( $post );
 
-                        // Include the featured content template.
+                       // Include the featured content template.
                        get_template_part( 'content', 'featured-post' );
                endforeach;
 
index 2e66b2e23a1869dc5d978c2f05260564154957d0..5bf5ce03b9edac51147f71553c3720d18087975f 100644 (file)
  * functions.php file. The child theme's functions.php file is included before
  * the parent theme's file, so the child theme functions would be used.
  *
- * @link http://codex.wordpress.org/Theme_Development
- * @link http://codex.wordpress.org/Child_Themes
+ * @link https://codex.wordpress.org/Theme_Development
+ * @link https://codex.wordpress.org/Child_Themes
  *
  * Functions that are not pluggable (not wrapped in function_exists()) are
  * instead attached to a filter or action hook.
  *
  * For more information on hooks, actions, and filters,
- * @link http://codex.wordpress.org/Plugin_API
+ * @link https://codex.wordpress.org/Plugin_API
  *
  * @package WordPress
  * @subpackage Twenty_Fourteen
@@ -94,7 +94,7 @@ function twentyfourteen_setup() {
 
        /*
         * Enable support for Post Formats.
-        * See http://codex.wordpress.org/Post_Formats
+        * See https://codex.wordpress.org/Post_Formats
         */
        add_theme_support( 'post-formats', array(
                'aside', 'image', 'video', 'audio', 'quote', 'link', 'gallery',
@@ -260,7 +260,7 @@ function twentyfourteen_scripts() {
                ) );
        }
 
-       wp_enqueue_script( 'twentyfourteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '20140616', true );
+       wp_enqueue_script( 'twentyfourteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '20150315', true );
 }
 add_action( 'wp_enqueue_scripts', 'twentyfourteen_scripts' );
 
@@ -330,7 +330,7 @@ function twentyfourteen_the_attached_image() {
 
                // or get the URL of the first image attachment.
                else {
-                       $next_attachment_url = get_attachment_link( array_shift( $attachment_ids ) );
+                       $next_attachment_url = get_attachment_link( reset( $attachment_ids ) );
                }
        }
 
index 139e207fafdaff2bfb9c4e906aee6a79bc2b1889..7286d8893810f763e6c0cac85eb7ba9f1e189d5c 100644 (file)
                        <h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1>
 
                        <div class="search-toggle">
-                               <a href="#search-container" class="screen-reader-text"><?php _e( 'Search', 'twentyfourteen' ); ?></a>
+                               <a href="#search-container" class="screen-reader-text" aria-expanded="false" aria-controls="search-container"><?php _e( 'Search', 'twentyfourteen' ); ?></a>
                        </div>
 
                        <nav id="primary-navigation" class="site-navigation primary-navigation" role="navigation">
                                <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' ) ); ?>
+                               <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu', 'menu_id' => 'primary-menu' ) ); ?>
                        </nav>
                </div>
 
index 4e7fb82ac22beddf294191747ba7f855eac29ab6..83ac67f68d4dabedd9b5ed5e9612a2065280df56 100644 (file)
@@ -28,7 +28,7 @@ get_header();
 
                                                <span class="entry-date"><time class="entry-date" datetime="<?php echo esc_attr( get_the_date( 'c' ) ); ?>"><?php echo esc_html( get_the_date() ); ?></time></span>
 
-                                               <span class="full-size-link"><a href="<?php echo esc_url( wp_get_attachment_url() ); ?>"><?php echo $metadata['width']; ?> &times; <?php echo $metadata['height']; ?></a></span>
+                                               <span class="full-size-link"><a href="<?php echo esc_url( wp_get_attachment_url() ); ?>"><?php echo esc_html( $metadata['width'] ); ?> &times; <?php echo esc_html( $metadata['height'] ); ?></a></span>
 
                                                <span class="parent-post-link"><a href="<?php echo esc_url( get_permalink( $post->post_parent ) ); ?>" rel="gallery"><?php echo get_the_title( $post->post_parent ); ?></a></span>
                                                <?php edit_post_link( __( 'Edit', 'twentyfourteen' ), '<span class="edit-link">', '</span>' ); ?>
index c922e641b9b0ca7f2a08ad3098f50592d4be2957..287b10682d6296f7f9f69ecc46a987d687b18cb6 100644 (file)
@@ -140,7 +140,7 @@ function twentyfourteen_admin_header_image() {
                <?php if ( get_header_image() ) : ?>
                <img src="<?php header_image(); ?>" alt="">
                <?php endif; ?>
-               <h1 class="displaying-header-text"><a id="name"<?php echo sprintf( ' style="color:#%s;"', get_header_textcolor() ); ?> onclick="return false;" href="<?php echo esc_url( home_url( '/' ) ); ?>" tabindex="-1"><?php bloginfo( 'name' ); ?></a></h1>
+               <h1 class="displaying-header-text"><a id="name" style="<?php echo esc_attr( sprintf( 'color: #%s;', get_header_textcolor() ) ); ?>" onclick="return false;" href="<?php echo esc_url( home_url( '/' ) ); ?>" tabindex="-1"><?php bloginfo( 'name' ); ?></a></h1>
        </div>
 <?php
 }
index 78a667f08a4410ebbe90a37e6250aad6ba66b6ae..063d54c3e1a7ac83eba69ec631773078747338b0 100644 (file)
@@ -106,8 +106,8 @@ function twentyfourteen_contextual_help() {
                'content' =>
                        '<ul>' .
                                '<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>' .
+                               '<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' ), 'https://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' ), 'https://codex.wordpress.org/Twenty_Fourteen' ) . '</li>' .
                        '</ul>',
        ) );
 }
index 8bc7dc5beb79aaeae2a489d4adb8b86a565b2a55..5b649102aba2fa7173f34d04b6f45fcfbc9cc990 100644 (file)
@@ -325,7 +325,7 @@ class Featured_Content {
                }
 
                $settings = self::get_setting();
-               foreach( $terms as $order => $term ) {
+               foreach ( $terms as $order => $term ) {
                        if ( ( $settings['tag-id'] === $term->term_id || $settings['tag-name'] === $term->name ) && 'post_tag' === $term->taxonomy ) {
                                unset( $terms[ $order ] );
                        }
@@ -369,7 +369,7 @@ class Featured_Content {
                }
 
                $settings = self::get_setting();
-               foreach( $terms as $order => $term ) {
+               foreach ( $terms as $order => $term ) {
                        if ( ( $settings['tag-id'] === $term->term_id || $settings['tag-name'] === $term->name ) && 'post_tag' === $term->taxonomy ) {
                                unset( $terms[ $term->term_id ] );
                        }
index 084f97ae1f1733f5597afa5bc3923088f97a6660..f63ee8284ba96c2889da49d7b01ca2ab53533758 100644 (file)
@@ -161,6 +161,7 @@ function twentyfourteen_category_transient_flusher() {
 add_action( 'edit_category', 'twentyfourteen_category_transient_flusher' );
 add_action( 'save_post',     'twentyfourteen_category_transient_flusher' );
 
+if ( ! function_exists( 'twentyfourteen_post_thumbnail' ) ) :
 /**
  * Display an optional post thumbnail.
  *
@@ -168,6 +169,7 @@ add_action( 'save_post',     'twentyfourteen_category_transient_flusher' );
  * views, or a div element when on single views.
  *
  * @since Twenty Fourteen 1.0
+ * @since Twenty Fourteen 1.4 Was made 'pluggable', or overridable.
  */
 function twentyfourteen_post_thumbnail() {
        if ( post_password_required() || is_attachment() || ! has_post_thumbnail() ) {
@@ -201,6 +203,7 @@ function twentyfourteen_post_thumbnail() {
 
        <?php endif; // End is_singular()
 }
+endif;
 
 if ( ! function_exists( 'twentyfourteen_excerpt_more' ) && ! is_admin() ) :
 /**
index 9bd1e79efd4b194433324b3df8af53db433792a3..fee265ee3c2eef3c074a42ae0ec68d91336a290e 100644 (file)
@@ -4,7 +4,7 @@
  *
  * Displays posts from Aside, Quote, Video, Audio, Image, Gallery, and Link formats.
  *
- * @link http://codex.wordpress.org/Widgets_API#Developing_Widgets
+ * @link https://codex.wordpress.org/Widgets_API#Developing_Widgets
  *
  * @package WordPress
  * @subpackage Twenty_Fourteen
@@ -107,7 +107,7 @@ class Twenty_Fourteen_Ephemera_Widget extends WP_Widget {
                        echo $args['before_widget'];
                        ?>
                        <h1 class="widget-title <?php echo esc_attr( $format ); ?>">
-                               <a class="entry-format" href="<?php echo esc_url( get_post_format_link( $format ) ); ?>"><?php echo $title; ?></a>
+                               <a class="entry-format" href="<?php echo esc_url( get_post_format_link( $format ) ); ?>"><?php echo esc_html( $title ); ?></a>
                        </h1>
                        <ol>
 
@@ -149,7 +149,7 @@ class Twenty_Fourteen_Ephemera_Widget extends WP_Widget {
                                                                        if ( has_post_thumbnail() ) :
                                                                                $post_thumbnail = get_the_post_thumbnail();
                                                                        elseif ( $total_images > 0 ) :
-                                                                               $image          = array_shift( $images );
+                                                                               $image          = reset( $images );
                                                                                $post_thumbnail = wp_get_attachment_image( $image, 'post-thumbnail' );
                                                                        endif;
 
@@ -261,7 +261,7 @@ class Twenty_Fourteen_Ephemera_Widget extends WP_Widget {
                        <p><label for="<?php echo esc_attr( $this->get_field_id( 'format' ) ); ?>"><?php _e( 'Post format to show:', 'twentyfourteen' ); ?></label>
                        <select id="<?php echo esc_attr( $this->get_field_id( 'format' ) ); ?>" class="widefat" name="<?php echo esc_attr( $this->get_field_name( 'format' ) ); ?>">
                                <?php foreach ( $this->formats as $slug ) : ?>
-                               <option value="<?php echo esc_attr( $slug ); ?>"<?php selected( $format, $slug ); ?>><?php echo get_post_format_string( $slug ); ?></option>
+                               <option value="<?php echo esc_attr( $slug ); ?>"<?php selected( $format, $slug ); ?>><?php echo esc_html( get_post_format_string( $slug ) ); ?></option>
                                <?php endforeach; ?>
                        </select>
                <?php
index 6179e356e78476f09ef2031838a5825162619673..21f4842726b4f53831419211925b95586cfe7842 100644 (file)
@@ -7,7 +7,7 @@
  * It is used to display a page when nothing more specific matches a query,
  * e.g., it puts together the home page when no home.php file exists.
  *
- * @link http://codex.wordpress.org/Template_Hierarchy
+ * @link https://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Fourteen
index 7eddd83ef3750f71e7b298e81f18b06b197ed60e..603e1379a02cd3c1eccacbc0c4be0c3608fce22b 100644 (file)
@@ -7,29 +7,34 @@
  */
 ( function( $ ) {
        var body    = $( 'body' ),
-               _window = $( window );
+               _window = $( window ),
+               nav, button, menu;
+
+       nav = $( '#primary-navigation' );
+       button = nav.find( '.menu-toggle' );
+       menu = nav.find( '.nav-menu' );
 
        // Enable menu toggle for small screens.
        ( function() {
-               var nav = $( '#primary-navigation' ), button, menu;
-               if ( ! nav ) {
-                       return;
-               }
-
-               button = nav.find( '.menu-toggle' );
-               if ( ! button ) {
+               if ( ! nav || ! button ) {
                        return;
                }
 
                // Hide button if menu is missing or empty.
-               menu = nav.find( '.nav-menu' );
                if ( ! menu || ! menu.children().length ) {
                        button.hide();
                        return;
                }
 
-               $( '.menu-toggle' ).on( 'click.twentyfourteen', function() {
+               button.on( 'click.twentyfourteen', function() {
                        nav.toggleClass( 'toggled-on' );
+                       if ( nav.hasClass( 'toggled-on' ) ) {
+                               $( this ).attr( 'aria-expanded', 'true' );
+                               menu.attr( 'aria-expanded', 'true' );
+                       } else {
+                               $( this ).attr( 'aria-expanded', 'false' );
+                               menu.attr( 'aria-expanded', 'false' );
+                       }
                } );
        } )();
 
                // Search toggle.
                $( '.search-toggle' ).on( 'click.twentyfourteen', function( event ) {
                        var that    = $( this ),
-                               wrapper = $( '.search-box-wrapper' );
+                               wrapper = $( '#search-container' ),
+                               container = that.find( 'a' );
 
                        that.toggleClass( 'active' );
                        wrapper.toggleClass( 'hide' );
 
+                       if ( that.hasClass( 'active' ) ) {
+                               container.attr( 'aria-expanded', 'true' );
+                       } else {
+                               container.attr( 'aria-expanded', 'false' );
+                       }
+
                        if ( that.is( '.active' ) || $( '.search-toggle .screen-reader-text' )[0] === event.target ) {
                                wrapper.find( '.search-field' ).focus();
                        }
                } );
        } );
 
+       /**
+        * @summary Add or remove ARIA attributes.
+        * Uses jQuery's width() function to determine the size of the window and add
+        * the default ARIA attributes for the menu toggle if it's visible.
+        * @since Twenty Fourteen 1.4
+        */
+       function onResizeARIA() {
+               if ( 781 > _window.width() ) {
+                       button.attr( 'aria-expanded', 'false' );
+                       menu.attr( 'aria-expanded', 'false' );
+                       button.attr( 'aria-controls', 'primary-menu' );
+               } else {
+                       button.removeAttr( 'aria-expanded' );
+                       menu.removeAttr( 'aria-expanded' );
+                       button.removeAttr( 'aria-controls' );
+               }
+       }
+
+       _window
+               .on( 'load.twentyfourteen', onResizeARIA )
+               .on( 'resize.twentyfourteen', function() {
+                       onResizeARIA();
+       } );
+
        _window.load( function() {
                // Arrange footer widgets vertically.
                if ( $.isFunction( $.fn.masonry ) ) {
index f1e2facda3eb8d747bd6eefd63bbac7727517b76..7073235b3408889cced8ea3de6fba56df49ccf10 100644 (file)
@@ -14,7 +14,7 @@
                        url = $( '.entry-attachment a' ).attr( 'href' );
                }
 
-               if ( url && ( !$( 'textarea, input' ).is( ':focus' ) ) ) {
+               if ( url && ( ! $( 'textarea, input' ).is( ':focus' ) ) ) {
                        window.location = url;
                }
        } );
index 2fdb99ded723d2ff7c5035909a916ba96e0bfa34..1a08c6263af644944684ef9cc3835085637a8fe0 100644 (file)
                slider.doMath = function() {
                        var slide = slider.slides.first();
 
-                       slider.w = ( slider.viewport===undefined ) ? slider.width() : slider.viewport.width();
+                       slider.w = ( slider.viewport === undefined ) ? slider.width() : slider.viewport.width();
                        slider.h = slide.height();
                        slider.boxPadding = slide.outerWidth() - slide.width();
 
index 634f3e2d7f73ef0a3afac2b258c7fca0a22fda92..e238d26683e20de4c144c37bca600603c4752a4a 100644 (file)
@@ -1,14 +1,14 @@
-# Copyright (C) 2014 the WordPress team
+# Copyright (C) 2015 the WordPress team
 # This file is distributed under the GNU General Public License v2 or later.
 msgid ""
 msgstr ""
-"Project-Id-Version: Twenty Fourteen 1.3\n"
-"Report-Msgid-Bugs-To: http://wordpress.org/tags/twentyfourteen\n"
-"POT-Creation-Date: 2014-12-18 16:59:51+00:00\n"
+"Project-Id-Version: Twenty Fourteen 1.4\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/twentyfourteen\n"
+"POT-Creation-Date: 2015-04-23 15:11:25+00:00\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 
@@ -111,7 +111,7 @@ msgstr ""
 #. translators: %s: Name of current post
 #: content-aside.php:48 content-audio.php:48 content-gallery.php:48
 #: content-image.php:48 content-link.php:48 content-quote.php:48
-#: content-video.php:48 content.php:56 inc/template-tags.php:219
+#: content-video.php:48 content.php:56 inc/template-tags.php:222
 msgid "Continue reading %s <span class=\"meta-nav\">&rarr;</span>"
 msgstr ""
 
@@ -142,8 +142,6 @@ msgid ""
 "searching can help."
 msgstr ""
 
-#. #-#-#-#-#  twentyfourteen.pot (Twenty Fourteen 1.3)  #-#-#-#-#
-#. Author URI of the plugin/theme
 #: footer.php:21
 msgid "http://wordpress.org/"
 msgstr ""
@@ -184,6 +182,8 @@ msgstr ""
 msgid "Appears in the footer section of the site."
 msgstr ""
 
+#. Translators: If there are characters in your language that are not supported
+#. by Lato, translate this to 'off'. Do not translate into your own language.
 #: functions.php:213
 msgctxt "Lato font: on or off"
 msgid "on"
@@ -277,7 +277,7 @@ msgstr ""
 msgid "Slider"
 msgstr ""
 
-#. #-#-#-#-#  twentyfourteen.pot (Twenty Fourteen 1.3)  #-#-#-#-#
+#. #-#-#-#-#  twentyfourteen.pot (Twenty Fourteen 1.4)  #-#-#-#-#
 #. Theme Name of the plugin/theme
 #: inc/customizer.php:105
 msgid "Twenty Fourteen"
@@ -450,7 +450,7 @@ msgid "Tag Archives: %s"
 msgstr ""
 
 #. Theme URI of the plugin/theme
-msgid "http://wordpress.org/themes/twentyfourteen"
+msgid "https://wordpress.org/themes/twentyfourteen/"
 msgstr ""
 
 #. Description of the plugin/theme
@@ -467,6 +467,10 @@ msgstr ""
 msgid "the WordPress team"
 msgstr ""
 
+#. Author URI of the plugin/theme
+msgid "https://wordpress.org/"
+msgstr ""
+
 #. Template Name of the plugin/theme
 msgid "Contributor Page"
 msgstr ""
index 0bba06068cacfc03f62e1656cff483c91f00cef3..9b9515f61dcd311f780503d193bcae8f9cd6656f 100644 (file)
@@ -1,10 +1,10 @@
 /*
 Theme Name: Twenty Fourteen
-Theme URI: http://wordpress.org/themes/twentyfourteen
+Theme URI: https://wordpress.org/themes/twentyfourteen/
 Author: the WordPress team
-Author URI: http://wordpress.org/
+Author URI: https://wordpress.org/
 Description: In 2014, our default theme lets you create a responsive magazine website with a sleek, modern design. Feature your favorite homepage content in either a grid or a slider. Use the three widget areas to customize your website, and change your content's layout with a full-width page template and a contributor page to show off your authors. Creating a magazine website with WordPress has never been easier.
-Version: 1.3
+Version: 1.4
 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
@@ -53,10 +53,7 @@ Use it to make something cool, have fun, and share what you've learned with othe
  * 1.0 Reset
  *
  * Resetting and rebuilding styles have been helped along thanks to the fine
- * work of Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
- * along with Nicolas Gallagher and Jonathan Neal
- * http://necolas.github.com/normalize.css/ and Blueprint
- * http://www.blueprintcss.org/
+ * work of Eric Meyer, Nicolas Gallagher, Jonathan Neal, and Blueprint.
  *
  * -----------------------------------------------------------------------------
  */
@@ -719,7 +716,10 @@ div.wp-caption.alignright .wp-caption-text {
 
 .screen-reader-text {
        clip: rect(1px, 1px, 1px, 1px);
-       position: absolute;
+       overflow: hidden;
+       position: absolute !important;
+       height: 1px;
+       width: 1px;
 }
 
 .screen-reader-text:focus {
index 8f6e69b6cd248937a97ce7fad94387c933b3d4e1..208455de8455f01f62fef1a0b50f129f9a504ba8 100644 (file)
@@ -4,7 +4,7 @@
  *
  * Used to display archive-type pages for posts in a tag.
  *
- * @link http://codex.wordpress.org/Template_Hierarchy
+ * @link https://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Fourteen
index 0503d2b3d68ec63affbb4a25f346ba341c16ed16..2ef44a48016d844c52239629a27b363bca66a49d 100644 (file)
@@ -9,7 +9,7 @@
  * @todo https://core.trac.wordpress.org/ticket/23257: Add plural versions of Post Format strings
  * and remove plurals below.
  *
- * @link http://codex.wordpress.org/Template_Hierarchy
+ * @link https://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Fourteen
index 9e0dd4d67f2ed4c0de6ad1ca59ff8a97698a5960..445db7e641a7d10faea1401fecd5a3402403b1d0 100644 (file)
@@ -10,7 +10,7 @@
  * already has tag.php for Tag archives, category.php for Category archives,
  * and author.php for Author archives.
  *
- * @link http://codex.wordpress.org/Template_Hierarchy
+ * @link https://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
@@ -52,4 +52,4 @@ get_header(); ?>
        </div><!-- #primary -->
 
 <?php get_sidebar(); ?>
-<?php get_footer(); ?>
\ No newline at end of file
+<?php get_footer(); ?>
index 3d76ba33ca44e4e3143956b8caec899c06cb7f5b..c7b5d87ada7a9c9f1d2ed484322e01fd996583f2 100644 (file)
@@ -2,7 +2,7 @@
 /**
  * The template for displaying Author archive pages
  *
- * @link http://codex.wordpress.org/Template_Hierarchy
+ * @link https://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
@@ -59,4 +59,4 @@ get_header(); ?>
        </div><!-- #primary -->
 
 <?php get_sidebar(); ?>
-<?php get_footer(); ?>
\ No newline at end of file
+<?php get_footer(); ?>
index a221239db2de7eaf21b45e895bda98cc7dc36b3c..f82e0abccb31681cfdd58fc3dea541a403d73bb0 100644 (file)
@@ -2,7 +2,7 @@
 /**
  * The template for displaying Category pages
  *
- * @link http://codex.wordpress.org/Template_Hierarchy
+ * @link https://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
@@ -38,4 +38,4 @@ get_header(); ?>
        </div><!-- #primary -->
 
 <?php get_sidebar(); ?>
-<?php get_footer(); ?>
\ No newline at end of file
+<?php get_footer(); ?>
index 568418992b4b45e9b1a9aa9f35d2055844ba83a0..2e6218449e5283182d7e001c30594c8fce022662 100644 (file)
@@ -18,6 +18,7 @@ Description: Used to style the TinyMCE editor.
  * 9.0 - Audio/Video
  * 10.0 - Post Formats
  * 11.0 - RTL
+ * 12.0 - Media Queries
  * ----------------------------------------------------------------------------
  */
 
@@ -769,3 +770,18 @@ html .mceContentBody.rtl {
        background: none;
        content: none;
 }
+
+
+/**
+ * 12.0 Media Queries
+ */
+
+@media screen and (max-width: 604px) {
+       body, img, .wp-caption {
+               max-width: 100%;
+       }
+
+       img, .wp-caption {
+               width: auto !important;
+       }
+}
index 5724b94edc38d910e7df34fb00f125361395c11b..da48acd3cad4db3fd7ee2447fb840dcd4e6152d9 100644 (file)
@@ -195,7 +195,7 @@ img.alignleft {
 }
 
 .ie7 .screen-reader-text {
-       clip: rect(1px 1px 1px 1px); /* IE7 */
+       clip: rect(1px 1px 1px 1px);
 }
 
 .ie7 .site-header {
index 5d0b0a38d8314e539d06f110405c7f5f36350964..9c85c993f3fb5cb6a0b097934c5383a89f254db4 100644 (file)
@@ -6,8 +6,8 @@
  * theme as custom template tags. Others are attached to action and filter
  * hooks in WordPress to change core functionality.
  *
- * When using a child theme (see http://codex.wordpress.org/Theme_Development
- * and http://codex.wordpress.org/Child_Themes), you can override certain
+ * When using a child theme (see https://codex.wordpress.org/Theme_Development
+ * and https://codex.wordpress.org/Child_Themes), you can override certain
  * functions (those wrapped in a function_exists() call) by defining them first
  * in your child theme's functions.php file. The child theme's functions.php
  * file is included before the parent theme's file, so the child theme
@@ -16,7 +16,7 @@
  * Functions that are not pluggable (not wrapped in function_exists()) are
  * instead attached to a filter or action hook.
  *
- * For more information on hooks, actions, and filters, @link http://codex.wordpress.org/Plugin_API
+ * For more information on hooks, actions, and filters, @link https://codex.wordpress.org/Plugin_API
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
@@ -87,7 +87,7 @@ function twentythirteen_setup() {
 
        /*
         * This theme supports all available post formats by default.
-        * See http://codex.wordpress.org/Post_Formats
+        * See https://codex.wordpress.org/Post_Formats
         */
        add_theme_support( 'post-formats', array(
                'aside', 'audio', 'chat', 'gallery', 'image', 'link', 'quote', 'status', 'video'
@@ -146,7 +146,7 @@ function twentythirteen_fonts_url() {
                        'family' => urlencode( implode( '|', $font_families ) ),
                        'subset' => urlencode( 'latin,latin-ext' ),
                );
-               $fonts_url = add_query_arg( $query_args, "//fonts.googleapis.com/css" );
+               $fonts_url = add_query_arg( $query_args, '//fonts.googleapis.com/css' );
        }
 
        return $fonts_url;
@@ -170,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' ), '2014-06-08', true );
+       wp_enqueue_script( 'twentythirteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '20150330', true );
 
        // Add Source Sans Pro and Bitter fonts, used in the main stylesheet.
        wp_enqueue_style( 'twentythirteen-fonts', twentythirteen_fonts_url(), array(), null );
@@ -319,7 +319,7 @@ if ( ! function_exists( 'twentythirteen_entry_meta' ) ) :
  */
 function twentythirteen_entry_meta() {
        if ( is_sticky() && is_home() && ! is_paged() )
-               echo '<span class="featured-post">' . __( 'Sticky', 'twentythirteen' ) . '</span>';
+               echo '<span class="featured-post">' . esc_html__( 'Sticky', 'twentythirteen' ) . '</span>';
 
        if ( ! has_post_format( 'link' ) && 'post' == get_post_type() )
                twentythirteen_entry_date();
@@ -413,7 +413,7 @@ function twentythirteen_the_attached_image() {
                'post_type'      => 'attachment',
                'post_mime_type' => 'image',
                'order'          => 'ASC',
-               'orderby'        => 'menu_order ID'
+               'orderby'        => 'menu_order ID',
        ) );
 
        // If there is more than 1 attachment in a gallery...
@@ -431,7 +431,7 @@ function twentythirteen_the_attached_image() {
 
                // or get the URL of the first image attachment.
                else
-                       $next_attachment_url = get_attachment_link( array_shift( $attachment_ids ) );
+                       $next_attachment_url = get_attachment_link( reset( $attachment_ids ) );
        }
 
        printf( '<a href="%1$s" title="%2$s" rel="attachment">%3$s</a>',
index f61c28f0f8a2e204675a2990b730de321adee8cc..094f74cc9fd66dce4a6567ad5fb20bbac747bf05 100644 (file)
@@ -42,7 +42,7 @@
                                <nav id="site-navigation" class="navigation main-navigation" role="navigation">
                                        <button class="menu-toggle"><?php _e( 'Menu', 'twentythirteen' ); ?></button>
                                        <a class="screen-reader-text skip-link" href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentythirteen' ); ?>"><?php _e( 'Skip to content', 'twentythirteen' ); ?></a>
-                                       <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
+                                       <?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu', 'menu_id' => 'primary-menu' ) ); ?>
                                        <?php get_search_form(); ?>
                                </nav><!-- #site-navigation -->
                        </div><!-- #navbar -->
index b2d86bf99d2797b6a9e8f505bb8984ad56b1fae9..9f5f29b4710b63a6f84ca87394db3a6e96a43454 100644 (file)
@@ -2,7 +2,7 @@
 /**
  * The template for displaying image attachments
  *
- * @link http://codex.wordpress.org/Template_Hierarchy
+ * @link https://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
@@ -79,4 +79,4 @@ get_header(); ?>
                </div><!-- #content -->
        </div><!-- #primary -->
 
-<?php get_footer(); ?>
\ No newline at end of file
+<?php get_footer(); ?>
index 61bc6aff7b85954a64faab37ac7ed824c2c2a20d..6a9a6adc5eb7f4e381bf9a4f281816fc48f6785b 100644 (file)
@@ -2,7 +2,7 @@
 /**
  * Implement a custom header for Twenty Thirteen
  *
- * @link http://codex.wordpress.org/Custom_Headers
+ * @link https://codex.wordpress.org/Custom_Headers
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
@@ -216,12 +216,15 @@ function twentythirteen_admin_header_style() {
  * @since Twenty Thirteen 1.0
  */
 function twentythirteen_admin_header_image() {
+       $style = 'color: #' . get_header_textcolor() . ';';
+       if ( ! display_header_text() ) {
+               $style = 'display: none;';
+       }
        ?>
-       <div id="headimg" style="background: url(<?php header_image(); ?>) no-repeat scroll top; background-size: 1600px auto;">
-               <?php $style = ' style="color:#' . get_header_textcolor() . ';"'; ?>
+       <div id="headimg" style="background: url(<?php echo esc_url( get_header_image() ); ?>) no-repeat scroll top; background-size: 1600px auto;">
                <div class="home-link">
-                       <h1 class="displaying-header-text"><a id="name"<?php echo $style; ?> onclick="return false;" href="#" tabindex="-1"><?php bloginfo( 'name' ); ?></a></h1>
-                       <h2 id="desc" class="displaying-header-text"<?php echo $style; ?>><?php bloginfo( 'description' ); ?></h2>
+                       <h1 class="displaying-header-text"><a id="name" style="<?php echo esc_attr( $style ); ?>" onclick="return false;" href="#" tabindex="-1"><?php bloginfo( 'name' ); ?></a></h1>
+                       <h2 id="desc" class="displaying-header-text" style="<?php echo esc_attr( $style ); ?>"><?php bloginfo( 'description' ); ?></h2>
                </div>
        </div>
 <?php }
index d59c10834bfc715c8a97c70f9119c890d613571d..1fe9b550db9332a966c8818c4b5fd46fecd33311 100644 (file)
@@ -7,7 +7,7 @@
  * It is used to display a page when nothing more specific matches a query.
  * For example, it puts together the home page when no home.php file exists.
  *
- * @link http://codex.wordpress.org/Template_Hierarchy
+ * @link https://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
@@ -35,4 +35,4 @@ get_header(); ?>
        </div><!-- #primary -->
 
 <?php get_sidebar(); ?>
-<?php get_footer(); ?>
\ No newline at end of file
+<?php get_footer(); ?>
index 526c15d6b3f913cee09decc1581bdf96207b8461..fa8160d53a237f1f0f040ffabb1040d4d2ef0006 100644 (file)
@@ -6,7 +6,12 @@
 
 ( function( $ ) {
        var body    = $( 'body' ),
-           _window = $( window );
+           _window = $( window ),
+               nav, button, menu;
+
+       nav = $( '#site-navigation' );
+       button = nav.find( '.menu-toggle' );
+       menu = nav.find( '.nav-menu' );
 
        /**
         * Adds a top margin to the footer if the sidebar widget area is higher
         * Enables menu toggle for small screens.
         */
        ( function() {
-               var nav = $( '#site-navigation' ), button, menu;
-               if ( ! nav ) {
-                       return;
-               }
-
-               button = nav.find( '.menu-toggle' );
-               if ( ! button ) {
+               if ( ! nav || ! button ) {
                        return;
                }
 
                // Hide button if menu is missing or empty.
-               menu = nav.find( '.nav-menu' );
                if ( ! menu || ! menu.children().length ) {
                        button.hide();
                        return;
 
                button.on( 'click.twentythirteen', function() {
                        nav.toggleClass( 'toggled-on' );
+                       if ( nav.hasClass( 'toggled-on' ) ) {
+                               $( this ).attr( 'aria-expanded', 'true' );
+                               menu.attr( 'aria-expanded', 'true' );
+                       } else {
+                               $( this ).attr( 'aria-expanded', 'false' );
+                               menu.attr( 'aria-expanded', 'false' );
+                       }
                } );
 
                // Fix sub-menus for touch devices.
                if ( 'ontouchstart' in window ) {
-                       menu.find( '.menu-item-has-children > a' ).on( 'touchstart.twentythirteen', function( e ) {
+                       menu.find( '.menu-item-has-children > a, .page_item_has_children > a' ).on( 'touchstart.twentythirteen', function( e ) {
                                var el = $( this ).parent( 'li' );
 
                                if ( ! el.hasClass( 'focus' ) ) {
                } );
        } )();
 
+       /**
+        * @summary Add or remove ARIA attributes.
+        * Uses jQuery's width() function to determine the size of the window and add
+        * the default ARIA attributes for the menu toggle if it's visible.
+        * @since Twenty Thirteen 1.5
+        */
+       function onResizeARIA() {
+               if ( 643 > _window.width() ) {
+                       button.attr( 'aria-expanded', 'false' );
+                       menu.attr( 'aria-expanded', 'false' );
+                       button.attr( 'aria-controls', 'primary-menu' );
+               } else {
+                       button.removeAttr( 'aria-expanded' );
+                       menu.removeAttr( 'aria-expanded' );
+                       button.removeAttr( 'aria-controls' );
+               }
+       }
+
+       _window
+               .on( 'load.twentythirteen', onResizeARIA )
+               .on( 'resize.twentythirteen', function() {
+                       onResizeARIA();
+       } );
+
        /**
         * Makes "skip to content" link work correctly in IE9 and Chrome for better
         * accessibility.
index e6317d1a010419e831496cc8ed8a2997a6042a6c..884def612d63098dec18afd7d27838c34664e99a 100644 (file)
@@ -1,14 +1,14 @@
-# Copyright (C) 2014 the WordPress team
+# Copyright (C) 2015 the WordPress team
 # This file is distributed under the GNU General Public License v2 or later.
 msgid ""
 msgstr ""
-"Project-Id-Version: Twenty Thirteen 1.4\n"
-"Report-Msgid-Bugs-To: http://wordpress.org/tags/twentythirteen\n"
-"POT-Creation-Date: 2014-12-18 16:59:50+00:00\n"
+"Project-Id-Version: Twenty Thirteen 1.5\n"
+"Report-Msgid-Bugs-To: http://wordpress.org/support/theme/twentythirteen\n"
+"POT-Creation-Date: 2015-04-23 15:11:25+00:00\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n"
+"PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 
@@ -147,8 +147,6 @@ msgid ""
 "searching can help."
 msgstr ""
 
-#. #-#-#-#-#  twentythirteen.pot (Twenty Thirteen 1.4)  #-#-#-#-#
-#. Author URI of the plugin/theme
 #: footer.php:19
 msgid "http://wordpress.org/"
 msgstr ""
@@ -165,17 +163,16 @@ msgstr ""
 msgid "Navigation Menu"
 msgstr ""
 
-#. Translators: If there are characters in your language that are not
-#.      * supported by Source Sans Pro, translate this to 'off'. Do not translate
-#.      * into your own language.
+#. Translators: If there are characters in your language that are not supported
+#. by Source Sans Pro, translate this to 'off'. Do not translate into your own
+#. language.
 #: functions.php:128
 msgctxt "Source Sans Pro font: on or off"
 msgid "on"
 msgstr ""
 
-#. Translators: If there are characters in your language that are not
-#.      * supported by Bitter, translate this to 'off'. Do not translate into your
-#.      * own language.
+#. Translators: If there are characters in your language that are not supported
+#. by Bitter, translate this to 'off'. Do not translate into your own language.
 #: functions.php:134
 msgctxt "Bitter font: on or off"
 msgid "on"
@@ -318,7 +315,7 @@ msgid "Twenty Thirteen"
 msgstr ""
 
 #. Theme URI of the plugin/theme
-msgid "http://wordpress.org/themes/twentythirteen"
+msgid "https://wordpress.org/themes/twentythirteen/"
 msgstr ""
 
 #. Description of the plugin/theme
@@ -333,3 +330,7 @@ msgstr ""
 #. Author of the plugin/theme
 msgid "the WordPress team"
 msgstr ""
+
+#. Author URI of the plugin/theme
+msgid "https://wordpress.org/"
+msgstr ""
index c229164c8bb99a08ea3e361afdc64ec46956409b..1322f48c76a0560afc66dbf79bbcc779c92936aa 100644 (file)
@@ -1,10 +1,10 @@
 /*
 Theme Name: Twenty Thirteen
-Theme URI: http://wordpress.org/themes/twentythirteen
+Theme URI: https://wordpress.org/themes/twentythirteen/
 Author: the WordPress team
-Author URI: http://wordpress.org/
+Author URI: https://wordpress.org/
 Description: The 2013 theme for WordPress takes us back to the blog, featuring a full range of post formats, each displayed beautifully in their own unique way. Design details abound, starting with a vibrant color scheme and matching header images, beautiful typography and icons, and a flexible layout that looks great on any device, big or small.
-Version: 1.4
+Version: 1.5
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Tags: black, brown, orange, tan, white, yellow, light, one-column, two-columns, right-sidebar, fluid-layout, responsive-layout, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready, accessibility-ready
@@ -539,7 +539,10 @@ hr {
 /* Assistive text */
 .screen-reader-text {
        clip: rect(1px, 1px, 1px, 1px);
+       overflow: hidden;
        position: absolute !important;
+       height: 1px;
+       width: 1px;
 }
 
 .screen-reader-text:focus {
index 2929321033740bdde77a36e35a7420e489ec1998..f00180d3bb7c2eef1e6b730824f7166e34517c63 100644 (file)
@@ -4,7 +4,7 @@
  *
  * Used to display archive-type pages for posts in a tag.
  *
- * @link http://codex.wordpress.org/Template_Hierarchy
+ * @link https://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
@@ -40,4 +40,4 @@ get_header(); ?>
        </div><!-- #primary -->
 
 <?php get_sidebar(); ?>
-<?php get_footer(); ?>
\ No newline at end of file
+<?php get_footer(); ?>
index bbec0461d1c010355b649a7669e58d7996067758..3cf2970ee1dbd4673609ff6a9ec124d57a7fa4a9 100644 (file)
@@ -6,7 +6,7 @@
  * If you'd like to further customize these Post Format views, you may create a
  * new template file for each specific one.
  *
- * @link http://codex.wordpress.org/Template_Hierarchy
+ * @link https://codex.wordpress.org/Template_Hierarchy
  *
  * @package WordPress
  * @subpackage Twenty_Thirteen
@@ -20,7 +20,7 @@ get_header(); ?>
 
                <?php if ( have_posts() ) : ?>
                        <header class="archive-header">
-                               <h1 class="archive-title"><?php printf( __( '%s Archives', 'twentythirteen' ), '<span>' . get_post_format_string( get_post_format() ) . '</span>' ); ?></h1>
+                               <h1 class="archive-title"><?php printf( __( '%s Archives', 'twentythirteen' ), '<span>' . esc_html( get_post_format_string( get_post_format() ) ) . '</span>' ); ?></h1>
                        </header><!-- .archive-header -->
 
                        <?php /* The loop */ ?>
@@ -38,4 +38,4 @@ get_header(); ?>
        </div><!-- #primary -->
 
 <?php get_sidebar(); ?>
-<?php get_footer(); ?>
\ No newline at end of file
+<?php get_footer(); ?>
index 2b965ddf5b0b561d7e2853877246864820c9eb10..75379a053c2d0f52565f665d096488d0a6820a9c 100644 (file)
@@ -26,7 +26,16 @@ if ( !defined('ABSPATH') ) {
        require_once( dirname( __FILE__ ) . '/wp-load.php' );
 }
 
-// Uncached doing_cron transient fetch
+/**
+ * Retrieves the cron lock.
+ *
+ * Returns the uncached `doing_cron` transient.
+ *
+ * @ignore
+ * @since 3.3.0
+ *
+ * @return string|false Value of the `doing_cron` transient, 0|false otherwise.
+ */
 function _get_cron_lock() {
        global $wpdb;
 
@@ -94,7 +103,7 @@ foreach ( $crons as $timestamp => $cronhooks ) {
                        /**
                         * Fires scheduled events.
                         *
-                        * @internal
+                        * @ignore
                         * @since 2.1.0
                         *
                         * @param string $hook Name of the hook that was scheduled to be fired.
index 32853c3a14efdbd7a465066b3f339e4919a19c8b..746fdca7821fc0a7b47fd732ca67fbf9459c82ff 100644 (file)
@@ -22,7 +22,7 @@ function _wp_admin_bar_init() {
                return false;
 
        /* Load the admin bar class code ready for instantiation */
-       require( ABSPATH . WPINC . '/class-wp-admin-bar.php' );
+       require_once( ABSPATH . WPINC . '/class-wp-admin-bar.php' );
 
        /* Instantiate the admin bar */
 
@@ -44,9 +44,6 @@ function _wp_admin_bar_init() {
 
        return true;
 }
-// Don't remove. Wrong way to disable.
-add_action( 'template_redirect', '_wp_admin_bar_init', 0 );
-add_action( 'admin_init', '_wp_admin_bar_init' );
 
 /**
  * Render the admin bar to the page based on the $wp_admin_bar->menu member var.
@@ -92,8 +89,6 @@ function wp_admin_bar_render() {
         */
        do_action( 'wp_after_admin_bar_render' );
 }
-add_action( 'wp_footer', 'wp_admin_bar_render', 1000 );
-add_action( 'in_admin_header', 'wp_admin_bar_render', 0 );
 
 /**
  * Add the WordPress logo menu.
@@ -105,11 +100,8 @@ add_action( 'in_admin_header', 'wp_admin_bar_render', 0 );
 function wp_admin_bar_wp_menu( $wp_admin_bar ) {
        $wp_admin_bar->add_menu( array(
                'id'    => 'wp-logo',
-               'title' => '<span class="ab-icon"></span>',
+               'title' => '<span class="ab-icon"></span><span class="screen-reader-text">' . __( 'About WordPress' ) . '</span>',
                'href'  => self_admin_url( 'about.php' ),
-               'meta'  => array(
-                       'title' => __('About WordPress'),
-               ),
        ) );
 
        if ( is_user_logged_in() ) {
@@ -118,7 +110,7 @@ function wp_admin_bar_wp_menu( $wp_admin_bar ) {
                        'parent' => 'wp-logo',
                        'id'     => 'about',
                        'title'  => __('About WordPress'),
-                       'href'  => self_admin_url( 'about.php' ),
+                       'href'   => self_admin_url( 'about.php' ),
                ) );
        }
 
@@ -135,7 +127,7 @@ function wp_admin_bar_wp_menu( $wp_admin_bar ) {
                'parent'    => 'wp-logo-external',
                'id'        => 'documentation',
                'title'     => __('Documentation'),
-               'href'      => __('http://codex.wordpress.org/'),
+               'href'      => __('https://codex.wordpress.org/'),
        ) );
 
        // Add forums link
@@ -198,7 +190,6 @@ function wp_admin_bar_my_account_item( $wp_admin_bar ) {
                'href'      => $profile_url,
                'meta'      => array(
                        'class'     => $class,
-                       'title'     => __('My Account'),
                ),
        ) );
 }
@@ -338,10 +329,16 @@ function wp_admin_bar_my_sites_menu( $wp_admin_bar ) {
        if ( count( $wp_admin_bar->user->blogs ) < 1 && ! is_super_admin() )
                return;
 
+       if ( $wp_admin_bar->user->active_blog ) {
+               $my_sites_url = get_admin_url( $wp_admin_bar->user->active_blog->blog_id, 'my-sites.php' );
+       } else {
+               $my_sites_url = admin_url( 'my-sites.php' );
+       }
+
        $wp_admin_bar->add_menu( array(
                'id'    => 'my-sites',
                'title' => __( 'My Sites' ),
-               'href'  => admin_url( 'my-sites.php' ),
+               'href'  => $my_sites_url,
        ) );
 
        if ( is_super_admin() ) {
@@ -609,9 +606,6 @@ function wp_admin_bar_new_content_menu( $wp_admin_bar ) {
                'id'    => 'new-content',
                'title' => $title,
                'href'  => admin_url( current( array_keys( $actions ) ) ),
-               'meta'  => array(
-                       'title' => _x( 'Add New', 'admin bar menu group label' ),
-               ),
        ) );
 
        foreach ( $actions as $link => $action ) {
@@ -662,14 +656,33 @@ function wp_admin_bar_comments_menu( $wp_admin_bar ) {
 function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
        $wp_admin_bar->add_group( array( 'parent' => 'site-name', 'id' => 'appearance' ) );
 
-       if ( current_user_can( 'switch_themes' ) || current_user_can( 'edit_theme_options' ) )
-               $wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'themes', 'title' => __('Themes'), 'href' => admin_url('themes.php') ) );
-
-       if ( ! current_user_can( 'edit_theme_options' ) )
-               return;
-
        $current_url = ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
        $customize_url = add_query_arg( 'url', urlencode( $current_url ), wp_customize_url() );
+
+       if ( current_user_can( 'switch_themes' ) ) {
+               $wp_admin_bar->add_menu( array(
+                       'parent' => 'appearance',
+                       'id'     => 'themes',
+                       'title'  => __( 'Themes' ),
+                       'href'   => admin_url( 'themes.php' ),
+                       'meta'   => array(
+                               'class' => 'hide-if-customize',
+                       ),
+               ) );
+
+               if ( current_user_can( 'customize' ) ) {
+                       $wp_admin_bar->add_menu( array(
+                               'parent' => 'appearance',
+                               'id'     => 'customize-themes',
+                               'title'  => __( 'Themes' ),
+                               'href'   => add_query_arg( urlencode( 'autofocus[section]' ), 'themes', $customize_url ), // urlencode() needed due to #16859
+                               'meta'   => array(
+                                       'class' => 'hide-if-no-customize',
+                               ),
+                       ) );
+               }
+       }
+
        if ( current_user_can( 'customize' ) ) {
                $wp_admin_bar->add_menu( array(
                        'parent' => 'appearance',
@@ -683,8 +696,33 @@ function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
                add_action( 'wp_before_admin_bar_render', 'wp_customize_support_script' );
        }
 
-       if ( current_theme_supports( 'widgets' )  )
-               $wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'widgets', 'title' => __('Widgets'), 'href' => admin_url('widgets.php') ) );
+       if ( ! current_user_can( 'edit_theme_options' ) ) {
+               return;
+       }
+
+       if ( current_theme_supports( 'widgets' )  ) {
+               $wp_admin_bar->add_menu( array(
+                       'parent' => 'appearance',
+                       'id'     => 'widgets',
+                       'title'  => __( 'Widgets' ),
+                       'href'   => admin_url( 'widgets.php' ),
+                       'meta'   => array(
+                               'class' => 'hide-if-customize',
+                       ),
+               ) );
+
+               if ( current_user_can( 'customize' ) ) {
+                       $wp_admin_bar->add_menu( array(
+                               'parent' => 'appearance',
+                               'id'     => 'customize-widgets',
+                               'title'  => __( 'Widgets' ),
+                               'href'   => add_query_arg( urlencode( 'autofocus[panel]' ), 'widgets', $customize_url ), // urlencode() needed due to #16859
+                               'meta'   => array(
+                                       'class' => 'hide-if-no-customize',
+                               ),
+                       ) );
+               }
+       }
 
        if ( current_theme_supports( 'menus' ) || current_theme_supports( 'widgets' ) )
                $wp_admin_bar->add_menu( array( 'parent' => 'appearance', 'id' => 'menus', 'title' => __('Menus'), 'href' => admin_url('nav-menus.php') ) );
@@ -779,6 +817,7 @@ function wp_admin_bar_search_menu( $wp_admin_bar ) {
 
        $form  = '<form action="' . esc_url( home_url( '/' ) ) . '" method="get" id="adminbarsearch">';
        $form .= '<input class="adminbar-input" name="s" id="adminbar-search" type="text" value="" maxlength="150" />';
+       $form .= '<label for="adminbar-search" class="screen-reader-text">' . __( 'Search' ) . '</label>';
        $form .= '<input type="submit" class="adminbar-button" value="' . __('Search') . '"/>';
        $form .= '</form>';
 
index 2280487d09dd8ed4c055f3a58abe09e01a8c11f1..2e520f5424c90252c552aec364d805064dc8cb68 100644 (file)
@@ -4,7 +4,7 @@
  *
  * These functions must be used within the WordPress Loop.
  *
- * @link http://codex.wordpress.org/Author_Templates
+ * @link https://codex.wordpress.org/Author_Templates
  *
  * @package WordPress
  * @subpackage Template
@@ -49,7 +49,7 @@ function get_the_author($deprecated = '') {
  *
  * @since 0.71
  * @see get_the_author()
- * @link http://codex.wordpress.org/Template_Tags/the_author
+ * @link https://codex.wordpress.org/Template_Tags/the_author
  *
  * @param string $deprecated Deprecated.
  * @param string $deprecated_echo Deprecated. Use get_the_author(). Echo the string or return it.
@@ -101,7 +101,7 @@ function the_modified_author() {
 
 /**
  * Retrieve the requested data of the author of the current post.
- * @link http://codex.wordpress.org/Template_Tags/the_author_meta
+ * @link https://codex.wordpress.org/Template_Tags/the_author_meta
  * @since 2.8.0
  * @param string $field selects the field of the users record.
  * @param int $user_id Optional. User ID.
@@ -135,7 +135,7 @@ function get_the_author_meta( $field = '', $user_id = false ) {
 
 /**
  * Retrieve the requested data of the author of the current post.
- * @link http://codex.wordpress.org/Template_Tags/the_author_meta
+ * @link https://codex.wordpress.org/Template_Tags/the_author_meta
  * @since 2.8.0
  * @param string $field selects the field of the users record.
  * @param int $user_id Optional. User ID.
@@ -177,7 +177,7 @@ function get_the_author_link() {
  * If the author has a home page set, echo an HTML link, otherwise just echo the
  * author's name.
  *
- * @link http://codex.wordpress.org/Template_Tags/the_author_link
+ * @link https://codex.wordpress.org/Template_Tags/the_author_link
  *
  * @since 2.1.0
  */
@@ -197,13 +197,13 @@ function get_the_author_posts() {
        if ( ! $post ) {
                return 0;
        }
-       return count_user_posts( $post->post_author );
+       return count_user_posts( $post->post_author, $post->post_type );
 }
 
 /**
  * Display the number of posts by the author of the current post.
  *
- * @link http://codex.wordpress.org/Template_Tags/the_author_posts
+ * @link https://codex.wordpress.org/Template_Tags/the_author_posts
  * @since 0.71
  */
 function the_author_posts() {
@@ -217,7 +217,7 @@ function the_author_posts() {
  * reason for this, is that another function is used to help in printing the
  * link to the author's posts.
  *
- * @link http://codex.wordpress.org/Template_Tags/the_author_posts_link
+ * @link https://codex.wordpress.org/Template_Tags/the_author_posts_link
  * @since 1.2.0
  * @param string $deprecated Deprecated.
  */
@@ -287,7 +287,7 @@ function get_author_posts_url($author_id, $author_nicename = '') {
 /**
  * List all the authors of the blog, with several options available.
  *
- * @link http://codex.wordpress.org/Template_Tags/wp_list_authors
+ * @link https://codex.wordpress.org/Template_Tags/wp_list_authors
  *
  * @since 1.2.0
  *
@@ -337,7 +337,7 @@ function wp_list_authors( $args = '' ) {
        $authors = get_users( $query_args );
 
        $author_count = array();
-       foreach ( (array) $wpdb->get_results( "SELECT DISTINCT post_author, COUNT(ID) AS count FROM $wpdb->posts WHERE post_type = 'post' AND " . get_private_posts_cap_sql( 'post' ) . " GROUP BY post_author" ) as $row ) {
+       foreach ( (array) $wpdb->get_results( "SELECT DISTINCT post_author, COUNT(ID) AS count FROM $wpdb->posts WHERE " . get_private_posts_cap_sql( 'post' ) . " GROUP BY post_author" ) as $row ) {
                $author_count[$row->post_author] = $row->count;
        }
        foreach ( $authors as $author_id ) {
@@ -451,4 +451,3 @@ function is_multi_author() {
 function __clear_multi_author_cache() {
        delete_transient( 'is_multi_author' );
 }
-add_action('transition_post_status', '__clear_multi_author_cache');
index 08b21297732fc17d9025f5ab4911dee1a1523868..47f5d233ab13d861c850da296e3ae394e5284bad 100644 (file)
@@ -386,17 +386,18 @@ function sanitize_bookmark_field($field, $value, $bookmark_id, $context) {
                } else {
                        $value = esc_attr($value);
                }
-       } else if ( 'db' == $context ) {
+       } elseif ( 'db' == $context ) {
                /** This filter is documented in wp-includes/post.php */
                $value = apply_filters( "pre_$field", $value );
        } else {
                /** This filter is documented in wp-includes/post.php */
                $value = apply_filters( $field, $value, $bookmark_id, $context );
 
-               if ( 'attribute' == $context )
-                       $value = esc_attr($value);
-               else if ( 'js' == $context )
-                       $value = esc_js($value);
+               if ( 'attribute' == $context ) {
+                       $value = esc_attr( $value );
+               } elseif ( 'js' == $context ) {
+                       $value = esc_js( $value );
+               }
        }
 
        return $value;
index 3cd344bb09ceb1125c7078d2b5a2b326775ec5f2..d75c82c669864cb597c1b191437d18db23aa26d4 100644 (file)
@@ -2,7 +2,7 @@
 /**
  * Object Cache API
  *
- * @link http://codex.wordpress.org/Function_Reference/WP_Cache
+ * @link https://codex.wordpress.org/Function_Reference/WP_Cache
  *
  * @package WordPress
  * @subpackage Cache
@@ -103,7 +103,7 @@ function wp_cache_flush() {
  * @param int|string $key What the contents in the cache are called
  * @param string $group Where the cache contents are grouped
  * @param bool $force Whether to force an update of the local cache from the persistent cache (default is false)
- * @param &bool $found Whether key was found in the cache. Disambiguates a return of false, a storable value.
+ * @param bool &$found Whether key was found in the cache. Disambiguates a return of false, a storable value.
  * @return bool|mixed False on failure to retrieve contents or the cache
  *             contents on success
  */
@@ -217,7 +217,6 @@ function wp_cache_add_global_groups( $groups ) {
  */
 function wp_cache_add_non_persistent_groups( $groups ) {
        // Default cache doesn't persist so nothing to do here.
-       return;
 }
 
 /**
@@ -306,6 +305,15 @@ class WP_Object_Cache {
         */
        private $blog_prefix;
 
+       /**
+        * Holds the value of `is_multisite()`
+        *
+        * @var bool
+        * @access private
+        * @since 3.5.0
+        */
+       private $multisite;
+
        /**
         * Make private properties readable for backwards compatibility.
         *
@@ -676,7 +684,6 @@ class WP_Object_Cache {
         * Sets up object properties; PHP 5 style constructor
         *
         * @since 2.0.8
-        * @return null|WP_Object_Cache If cache is disabled, returns null.
         */
        public function __construct() {
                global $blog_id;
index 5b2f84d6b7caae8429713a0e9fd4636437d57c3a..5f4bda087e2bc823a8c2bcbbbf7485121e913df1 100644 (file)
@@ -83,6 +83,11 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
        if ( !isset($redirect['query']) )
                $redirect['query'] = '';
 
+       // If the original URL ended with non-breaking spaces, they were almost
+       // certainly inserted by accident. Let's remove them, so the reader doesn't
+       // see a 404 error with no obvious cause.
+       $redirect['path'] = preg_replace( '|(%C2%A0)+$|i', '', $redirect['path'] );
+
        // It's not a preview, so remove it from URL
        if ( get_query_var( 'preview' ) ) {
                $redirect['query'] = remove_query_arg( 'preview', $redirect['query'] );
@@ -254,11 +259,11 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
 
                // paging and feeds
                if ( get_query_var('paged') || is_feed() || get_query_var('cpage') ) {
-                       while ( preg_match( "#/$wp_rewrite->pagination_base/?[0-9]+?(/+)?$#", $redirect['path'] ) || preg_match( '#/(comments/?)?(feed|rss|rdf|atom|rss2)(/+)?$#', $redirect['path'] ) || preg_match( '#/comment-page-[0-9]+(/+)?$#', $redirect['path'] ) ) {
+                       while ( preg_match( "#/$wp_rewrite->pagination_base/?[0-9]+?(/+)?$#", $redirect['path'] ) || preg_match( '#/(comments/?)?(feed|rss|rdf|atom|rss2)(/+)?$#', $redirect['path'] ) || preg_match( "#/{$wp_rewrite->comments_pagination_base}-[0-9]+(/+)?$#", $redirect['path'] ) ) {
                                // Strip off paging and feed
                                $redirect['path'] = preg_replace("#/$wp_rewrite->pagination_base/?[0-9]+?(/+)?$#", '/', $redirect['path']); // strip off any existing paging
                                $redirect['path'] = preg_replace('#/(comments/?)?(feed|rss2?|rdf|atom)(/+|$)#', '/', $redirect['path']); // strip off feed endings
-                               $redirect['path'] = preg_replace('#/comment-page-[0-9]+?(/+)?$#', '/', $redirect['path']); // strip off any existing comment paging
+                               $redirect['path'] = preg_replace("#/{$wp_rewrite->comments_pagination_base}-[0-9]+?(/+)?$#", '/', $redirect['path']); // strip off any existing comment paging
                        }
 
                        $addl_path = '';
@@ -302,7 +307,7 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
                        }
 
                        if ( get_option('page_comments') && ( ( 'newest' == get_option('default_comments_page') && get_query_var('cpage') > 0 ) || ( 'newest' != get_option('default_comments_page') && get_query_var('cpage') > 1 ) ) ) {
-                               $addl_path = ( !empty( $addl_path ) ? trailingslashit($addl_path) : '' ) . user_trailingslashit( 'comment-page-' . get_query_var('cpage'), 'commentpaged' );
+                               $addl_path = ( !empty( $addl_path ) ? trailingslashit($addl_path) : '' ) . user_trailingslashit( $wp_rewrite->comments_pagination_base . '-' . get_query_var('cpage'), 'commentpaged' );
                                $redirect['query'] = remove_query_arg( 'cpage', $redirect['query'] );
                        }
 
@@ -553,8 +558,6 @@ function redirect_guess_404_permalink() {
        return false;
 }
 
-add_action('template_redirect', 'redirect_canonical');
-
 function wp_redirect_admin_locations() {
        global $wp_rewrite;
        if ( ! ( is_404() && $wp_rewrite->using_permalinks() ) )
@@ -582,5 +585,3 @@ function wp_redirect_admin_locations() {
                exit;
        }
 }
-
-add_action( 'template_redirect', 'wp_redirect_admin_locations', 1000 );
index bdb5c7a2d9962dc1e6530eb5e05728b37d716acf..588432dcfc717d272bf5ca4e3e687380b76700ee 100644 (file)
@@ -90,7 +90,10 @@ class WP_Roles {
         * @return mixed|bool Return value of the callback, false otherwise.
         */
        public function __call( $name, $arguments ) {
-               return call_user_func_array( array( $this, $name ), $arguments );
+               if ( '_init' === $name ) {
+                       return call_user_func_array( array( $this, $name ), $arguments );
+               }
+               return false;
        }
 
        /**
@@ -415,16 +418,31 @@ class WP_Role {
  * @since 2.0.0
  * @package WordPress
  * @subpackage User
+ *
+ * @property string $nickname
+ * @property string $user_description
+ * @property string $user_firstname
+ * @property string $user_lastname
+ * @property string $user_login
+ * @property string $user_pass
+ * @property string $user_nicename
+ * @property string $user_email
+ * @property string $user_url
+ * @property string $user_registered
+ * @property string $user_activation_key
+ * @property string $user_status
+ * @property string $display_name
+ * @property string $spam
+ * @property string $deleted
  */
 class WP_User {
        /**
         * User data container.
         *
         * @since 2.0.0
-        * @access private
-        * @var array
+        * @var object
         */
-       var $data;
+       public $data;
 
        /**
         * The user's ID.
@@ -493,7 +511,6 @@ class WP_User {
         * @param int|string|stdClass|WP_User $id User's ID, a WP_User object, or a user object from the DB.
         * @param string $name Optional. User's username
         * @param int $blog_id Optional Blog ID, defaults to current blog.
-        * @return WP_User
         */
        public function __construct( $id = 0, $name = '', $blog_id = '' ) {
                if ( ! isset( self::$back_compat_keys ) ) {
@@ -508,7 +525,7 @@ class WP_User {
                        );
                }
 
-               if ( is_a( $id, 'WP_User' ) ) {
+               if ( $id instanceof WP_User ) {
                        $this->init( $id->data, $blog_id );
                        return;
                } elseif ( is_object( $id ) ) {
@@ -521,13 +538,17 @@ class WP_User {
                        $id = 0;
                }
 
-               if ( $id )
+               if ( $id ) {
                        $data = self::get_data_by( 'id', $id );
-               else
+               } else {
                        $data = self::get_data_by( 'login', $name );
+               }
 
-               if ( $data )
+               if ( $data ) {
                        $this->init( $data, $blog_id );
+               } else {
+                       $this->data = new stdClass;
+               }
        }
 
        /**
@@ -550,7 +571,7 @@ class WP_User {
         *
         * @param string $field The field to query against: 'id', 'slug', 'email' or 'login'
         * @param string|int $value The field value
-        * @return object Raw user object
+        * @return object|false Raw user object
         */
        public static function get_data_by( $field, $value ) {
                global $wpdb;
@@ -918,6 +939,8 @@ class WP_User {
        public function add_cap( $cap, $grant = true ) {
                $this->caps[$cap] = $grant;
                update_user_meta( $this->ID, $this->cap_key, $this->caps );
+               $this->get_role_caps();
+               $this->update_user_level_from_caps();
        }
 
        /**
@@ -929,10 +952,13 @@ class WP_User {
         * @param string $cap Capability name.
         */
        public function remove_cap( $cap ) {
-               if ( ! isset( $this->caps[$cap] ) )
+               if ( ! isset( $this->caps[ $cap ] ) ) {
                        return;
-               unset( $this->caps[$cap] );
+               }
+               unset( $this->caps[ $cap ] );
                update_user_meta( $this->ID, $this->cap_key, $this->caps );
+               $this->get_role_caps();
+               $this->update_user_level_from_caps();
        }
 
        /**
@@ -985,7 +1011,7 @@ class WP_User {
                 * @since 2.0.0
                 * @since 3.7.0 Added the user object.
                 *
-                * @param array   $allcaps An array of all the role's capabilities.
+                * @param array   $allcaps An array of all the user's capabilities.
                 * @param array   $caps    Actual capabilities for meta capability.
                 * @param array   $args    Optional parameters passed to has_cap(), typically object ID.
                 * @param WP_User $user    The user object.
@@ -1319,6 +1345,9 @@ function map_meta_cap( $cap, $user_id ) {
        case 'customize' :
                $caps[] = 'edit_theme_options';
                break;
+       case 'delete_site':
+               $caps[] = 'manage_options';
+               break;
        default:
                // Handle meta capabilities for custom post types.
                $post_type_meta_caps = _post_type_meta_capabilities();
index 0f97068ff9ba9309ac0b781485e93fd82da2d2ed..9a2120c9e38753b40856e61a77e56e1511902501 100644 (file)
@@ -287,36 +287,51 @@ function category_description( $category = 0 ) {
 /**
  * Display or retrieve the HTML dropdown list of categories.
  *
- * The list of arguments is below:
- *     'show_option_all' (string) - Text to display for showing all categories.
- *     'show_option_none' (string) - Text to display for showing no categories.
- *     'option_none_value' (mixed) - Value to use when no category is selected.
- *     'orderby' (string) default is 'ID' - What column to use for ordering the
- * categories.
- *     'order' (string) default is 'ASC' - What direction to order categories.
- *     'show_count' (bool|int) default is 0 - Whether to show how many posts are
- * in the category.
- *     'hide_empty' (bool|int) default is 1 - Whether to hide categories that
- * don't have any posts attached to them.
- *     'child_of' (int) default is 0 - See {@link get_categories()}.
- *     'exclude' (string) - See {@link get_categories()}.
- *     'echo' (bool|int) default is 1 - Whether to display or retrieve content.
- *     'depth' (int) - The max depth.
- *     'tab_index' (int) - Tab index for select element.
- *     'name' (string) - The name attribute value for select element.
- *     'id' (string) - The ID attribute value for select element. Defaults to name if omitted.
- *     'class' (string) - The class attribute value for select element.
- *     'selected' (int) - Which category ID is selected.
- *     'taxonomy' (string) - The name of the taxonomy to retrieve. Defaults to category.
- *
  * The 'hierarchical' argument, which is disabled by default, will override the
  * depth argument, unless it is true. When the argument is false, it will
  * display all of the categories. When it is enabled it will use the value in
  * the 'depth' argument.
  *
  * @since 2.1.0
- *
- * @param string|array $args Optional. Override default arguments.
+ * @since 4.2.0 Introduced the `value_field` argument.
+ *
+ * @param string|array $args {
+ *     Optional. Array or string of arguments to generate a categories drop-down element.
+ *
+ *     @type string       $show_option_all   Text to display for showing all categories. Default empty.
+ *     @type string       $show_option_none  Text to display for showing no categories. Default empty.
+ *     @type string       $option_none_value Value to use when no category is selected. Default empty.
+ *     @type string       $orderby           Which column to use for ordering categories. See get_terms() for a list
+ *                                           of accepted values. Default 'id' (term_id).
+ *     @type string       $order             Whether to order terms in ascending or descending order. Accepts 'ASC'
+ *                                           or 'DESC'. Default 'ASC'.
+ *     @type bool         $pad_counts        See get_terms() for an argument description. Default false.
+ *     @type bool|int     $show_count        Whether to include post counts. Accepts 0, 1, or their bool equivalents.
+ *                                           Default 0.
+ *     @type bool|int     $hide_empty        Whether to hide categories that don't have any posts. Accepts 0, 1, or
+ *                                           their bool equivalents. Default 1.
+ *     @type int          $child_of          Term ID to retrieve child terms of. See get_terms(). Default 0.
+ *     @type array|string $exclude           Array or comma/space-separated string of term ids to exclude.
+ *                                           If `$include` is non-empty, `$exclude` is ignored. Default empty array.
+ *     @type bool|int     $echo              Whether to echo or return the generated markup. Accepts 0, 1, or their
+ *                                           bool equivalents. Default 1.
+ *     @type bool|int     $hierarchical      Whether to traverse the taxonomy hierarchy. Accepts 0, 1, or their bool
+ *                                           equivalents. Default 0.
+ *     @type int          $depth             Maximum depth. Default 0.
+ *     @type int          $tab_index         Tab index for the select element. Default 0 (no tabindex).
+ *     @type string       $name              Value for the 'name' attribute of the select element. Default 'cat'.
+ *     @type string       $id                Value for the 'id' attribute of the select element. Defaults to the value
+ *                                           of `$name`.
+ *     @type string       $class             Value for the 'class' attribute of the select element. Default 'postform'.
+ *     @type int|string   $selected          Value of the option that should be selected. Default 0.
+ *     @type string       $value_field       Term field that should be used to populate the 'value' attribute
+ *                                           of the option elements. Accepts any valid term field: 'term_id', 'name',
+ *                                           'slug', 'term_group', 'term_taxonomy_id', 'taxonomy', 'description',
+ *                                           'parent', 'count'. Default 'term_id'.
+ *     @type string       $taxonomy          Name of the category to retrieve. Default 'category'.
+ *     @type bool         $hide_if_empty     True to skip generating markup if no categories are found.
+ *                                           Default false (create select element even if no categories are found).
+ * }
  * @return string HTML content only if 'echo' argument is 0.
  */
 function wp_dropdown_categories( $args = '' ) {
@@ -330,7 +345,8 @@ function wp_dropdown_categories( $args = '' ) {
                'name' => 'cat', 'id' => '',
                'class' => 'postform', 'depth' => 0,
                'tab_index' => 0, 'taxonomy' => 'category',
-               'hide_if_empty' => false, 'option_none_value' => -1
+               'hide_if_empty' => false, 'option_none_value' => -1,
+               'value_field' => 'term_id',
        );
 
        $defaults['selected'] = ( is_category() ) ? get_query_var( 'cat' ) : 0;
@@ -354,7 +370,12 @@ function wp_dropdown_categories( $args = '' ) {
        if ( (int) $tab_index > 0 ) {
                $tab_index_attribute = " tabindex=\"$tab_index\"";
        }
-       $categories = get_terms( $r['taxonomy'], $r );
+
+       // Avoid clashes with the 'name' param of get_terms().
+       $get_terms_args = $r;
+       unset( $get_terms_args['name'] );
+       $categories = get_terms( $r['taxonomy'], $get_terms_args );
+
        $name = esc_attr( $r['name'] );
        $class = esc_attr( $r['class'] );
        $id = $r['id'] ? esc_attr( $r['id'] ) : $name;
@@ -855,11 +876,11 @@ function _wp_object_count_sort_cb( $a, $b ) {
 function walk_category_tree() {
        $args = func_get_args();
        // the user's options are the third parameter
-       if ( empty($args[2]['walker']) || !is_a($args[2]['walker'], 'Walker') )
+       if ( empty( $args[2]['walker'] ) || ! ( $args[2]['walker'] instanceof Walker ) ) {
                $walker = new Walker_Category;
-       else
+       } else {
                $walker = $args[2]['walker'];
-
+       }
        return call_user_func_array(array( &$walker, 'walk' ), $args );
 }
 
@@ -969,6 +990,11 @@ class Walker_Category extends Walker {
                        $category
                );
 
+               // Don't generate an element if the category name is empty.
+               if ( ! $cat_name ) {
+                       return;
+               }
+
                $link = '<a href="' . esc_url( get_term_link( $category ) ) . '" ';
                if ( $args['use_desc_for_title'] && ! empty( $category->description ) ) {
                        /**
@@ -1021,16 +1047,35 @@ class Walker_Category extends Walker {
                }
                if ( 'list' == $args['style'] ) {
                        $output .= "\t<li";
-                       $class = 'cat-item cat-item-' . $category->term_id;
+                       $css_classes = array(
+                               'cat-item',
+                               'cat-item-' . $category->term_id,
+                       );
+
                        if ( ! empty( $args['current_category'] ) ) {
                                $_current_category = get_term( $args['current_category'], $category->taxonomy );
                                if ( $category->term_id == $args['current_category'] ) {
-                                       $class .=  ' current-cat';
+                                       $css_classes[] = 'current-cat';
                                } elseif ( $category->term_id == $_current_category->parent ) {
-                                       $class .=  ' current-cat-parent';
+                                       $css_classes[] = 'current-cat-parent';
                                }
                        }
-                       $output .=  ' class="' . $class . '"';
+
+                       /**
+                        * Filter the list of CSS classes to include with each category in the list.
+                        *
+                        * @since 4.2.0
+                        *
+                        * @see wp_list_categories()
+                        *
+                        * @param array  $css_classes An array of CSS classes to be applied to each list item.
+                        * @param object $category    Category data object.
+                        * @param int    $depth       Depth of page, used for padding.
+                        * @param array  $args        An array of wp_list_categories() arguments.
+                        */
+                       $css_classes = implode( ' ', apply_filters( 'category_css_class', $css_classes, $category, $depth, $args ) );
+
+                       $output .=  ' class="' . $css_classes . '"';
                        $output .= ">$link\n";
                } else {
                        $output .= "\t$link<br />\n";
@@ -1090,7 +1135,8 @@ class Walker_CategoryDropdown extends Walker {
         * @param string $output   Passed by reference. Used to append additional content.
         * @param object $category Category data object.
         * @param int    $depth    Depth of category. Used for padding.
-        * @param array  $args     Uses 'selected' and 'show_count' keys, if they exist. @see wp_dropdown_categories()
+        * @param array  $args     Uses 'selected', 'show_count', and 'value_field' keys, if they exist.
+        *                         See {@see wp_dropdown_categories()}.
         */
        public function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
                $pad = str_repeat('&nbsp;', $depth * 3);
@@ -1098,7 +1144,12 @@ class Walker_CategoryDropdown extends Walker {
                /** 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 ( ! isset( $args['value_field'] ) || ! isset( $category->{$args['value_field']} ) ) {
+                       $args['value_field'] = 'term_id';
+               }
+
+               $output .= "\t<option class=\"level-$depth\" value=\"" . esc_attr( $category->{$args['value_field']} ) . "\"";
+
                if ( $category->term_id == $args['selected'] )
                        $output .= ' selected="selected"';
                $output .= '>';
@@ -1289,11 +1340,14 @@ function get_the_term_list( $id, $taxonomy, $before = '', $sep = '', $after = ''
        if ( empty( $terms ) )
                return false;
 
+       $links = array();
+
        foreach ( $terms as $term ) {
                $link = get_term_link( $term, $taxonomy );
-               if ( is_wp_error( $link ) )
+               if ( is_wp_error( $link ) ) {
                        return $link;
-               $term_links[] = '<a href="' . esc_url( $link ) . '" rel="tag">' . $term->name . '</a>';
+               }
+               $links[] = '<a href="' . esc_url( $link ) . '" rel="tag">' . $term->name . '</a>';
        }
 
        /**
@@ -1304,9 +1358,9 @@ function get_the_term_list( $id, $taxonomy, $before = '', $sep = '', $after = ''
         *
         * @since 2.5.0
         *
-        * @param array $term_links An array of term links.
+        * @param array $links An array of term links.
         */
-       $term_links = apply_filters( "term_links-$taxonomy", $term_links );
+       $term_links = apply_filters( "term_links-$taxonomy", $links );
 
        return $before . join( $sep, $term_links ) . $after;
 }
index 6d2ad99319414a169f6f5207d2a8b3b9e7907986..1cd4acc7475cfeccaa9638218796066a04186e75 100644 (file)
@@ -14,7 +14,7 @@
  *
  * @since 2.1.0
  * @see get_terms() Type of arguments that can be changed.
- * @link http://codex.wordpress.org/Function_Reference/get_categories
+ * @link https://codex.wordpress.org/Function_Reference/get_categories
  *
  * @param string|array $args Optional. Change the defaults retrieving categories.
  * @return array List of categories.
index 91b65e96bf8f401f96b11db8e96b9334f24e81ab..5930f562e45ff035a6c1063fda64561466feb5ea 100644 (file)
@@ -402,7 +402,11 @@ class IXR_Server
     {
         if (!$data) {
             if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] !== 'POST') {
-               header('Content-Type: text/plain'); // merged from WP #9093
+                if ( function_exists( 'status_header' ) ) {
+                    status_header( 405 ); // WP #20986
+                    header( 'Allow: POST' );
+                }
+                header('Content-Type: text/plain'); // merged from WP #9093
                 die('XML-RPC server accepts POST requests only.');
             }
 
index 9aa144a52b91ce2dd0108be8ac57a3b751574054..01acff82e6ae08c2d425492b1a3bdfcfa914418e 100644 (file)
@@ -37,8 +37,9 @@ class WP_Feed_Cache_Transient {
        }
 
        public function save($data) {
-               if ( is_a($data, 'SimplePie') )
+               if ( $data instanceof SimplePie ) {
                        $data = $data->data;
+               }
 
                set_transient($this->name, $data, $this->lifetime);
                set_transient($this->mod_name, time(), $this->lifetime);
index 8f7351de8e79c1a6da7e87edb6bcb1e568736452..6ba1996b4711ed663ff48e17c09692ff0dee8446 100644 (file)
@@ -182,7 +182,9 @@ class WP_Http {
                if ( function_exists( 'wp_kses_bad_protocol' ) ) {
                        if ( $r['reject_unsafe_urls'] )
                                $url = wp_http_validate_url( $url );
-                       $url = wp_kses_bad_protocol( $url, array( 'http', 'https', 'ssl' ) );
+                       if ( $url ) {
+                               $url = wp_kses_bad_protocol( $url, array( 'http', 'https', 'ssl' ) );
+                       }
                }
 
                $arrURL = @parse_url( $url );
@@ -226,7 +228,7 @@ class WP_Http {
                        $r['headers'] = array();
 
                if ( ! is_array( $r['headers'] ) ) {
-                       $processedHeaders = WP_Http::processHeaders( $r['headers'], $url );
+                       $processedHeaders = self::processHeaders( $r['headers'], $url );
                        $r['headers'] = $processedHeaders['headers'];
                }
 
@@ -245,7 +247,7 @@ class WP_Http {
                }
 
                // Construct Cookie: header if any cookies are set.
-               WP_Http::buildCookieHeader( $r );
+               self::buildCookieHeader( $r );
 
                // Avoid issues where mbstring.func_overload is enabled.
                mbstring_binary_safe_encoding();
@@ -893,12 +895,12 @@ class WP_Http_Streams {
 
                $r = wp_parse_args( $args, $defaults );
 
-               if ( isset($r['headers']['User-Agent']) ) {
+               if ( isset( $r['headers']['User-Agent'] ) ) {
                        $r['user-agent'] = $r['headers']['User-Agent'];
-                       unset($r['headers']['User-Agent']);
-               } else if ( isset($r['headers']['user-agent']) ) {
+                       unset( $r['headers']['User-Agent'] );
+               } elseif ( isset( $r['headers']['user-agent'] ) ) {
                        $r['user-agent'] = $r['headers']['user-agent'];
-                       unset($r['headers']['user-agent']);
+                       unset( $r['headers']['user-agent'] );
                }
 
                // Construct Cookie: header if any cookies are set.
@@ -1358,12 +1360,12 @@ class WP_Http_Curl {
 
                $r = wp_parse_args( $args, $defaults );
 
-               if ( isset($r['headers']['User-Agent']) ) {
+               if ( isset( $r['headers']['User-Agent'] ) ) {
                        $r['user-agent'] = $r['headers']['User-Agent'];
-                       unset($r['headers']['User-Agent']);
-               } else if ( isset($r['headers']['user-agent']) ) {
+                       unset( $r['headers']['User-Agent'] );
+               } elseif ( isset( $r['headers']['user-agent'] ) ) {
                        $r['user-agent'] = $r['headers']['user-agent'];
-                       unset($r['headers']['user-agent']);
+                       unset( $r['headers']['user-agent'] );
                }
 
                // Construct Cookie: header if any cookies are set.
@@ -1520,10 +1522,16 @@ class WP_Http_Curl {
 
                // If an error occurred, or, no response.
                if ( $curl_error || ( 0 == strlen( $theBody ) && empty( $theHeaders['headers'] ) ) ) {
-                       if ( CURLE_WRITE_ERROR /* 23 */ == $curl_error && $r['stream'] ) {
+                       if ( CURLE_WRITE_ERROR /* 23 */ == $curl_error ) {
                                if ( ! $this->max_body_length || $this->max_body_length != $bytes_written_total ) {
-                                       fclose( $this->stream_handle );
-                                       return new WP_Error( 'http_request_failed', __( 'Failed to write request to temporary file.' ) );
+                                       if ( $r['stream'] ) {
+                                               curl_close( $handle );
+                                               fclose( $this->stream_handle );
+                                               return new WP_Error( 'http_request_failed', __( 'Failed to write request to temporary file.' ) );
+                                       } else {
+                                               curl_close( $handle );
+                                               return new WP_Error( 'http_request_failed', curl_error( $handle ) );
+                                       }
                                }
                        } else {
                                if ( $curl_error = curl_error( $handle ) ) {
@@ -1961,7 +1969,7 @@ class WP_Http_Cookie {
                        }
                } else {
                        if ( !isset( $data['name'] ) )
-                               return false;
+                               return;
 
                        // Set properties based directly on parameters.
                        foreach ( array( 'name', 'value', 'path', 'domain', 'port' ) as $field ) {
@@ -2108,7 +2116,7 @@ class WP_Http_Encoding {
                if ( false !== ( $decompressed = @gzinflate( $compressed ) ) )
                        return $decompressed;
 
-               if ( false !== ( $decompressed = WP_Http_Encoding::compatible_gzinflate( $compressed ) ) )
+               if ( false !== ( $decompressed = self::compatible_gzinflate( $compressed ) ) )
                        return $decompressed;
 
                if ( false !== ( $decompressed = @gzuncompress( $compressed ) ) )
@@ -2186,7 +2194,7 @@ class WP_Http_Encoding {
         */
        public static function accept_encoding( $url, $args ) {
                $type = array();
-               $compression_enabled = WP_Http_Encoding::is_available();
+               $compression_enabled = self::is_available();
 
                if ( ! $args['decompress'] ) // Decompression specifically disabled.
                        $compression_enabled = false;
@@ -2244,7 +2252,7 @@ class WP_Http_Encoding {
                if ( is_array( $headers ) ) {
                        if ( array_key_exists('content-encoding', $headers) && ! empty( $headers['content-encoding'] ) )
                                return true;
-               } else if ( is_string( $headers ) ) {
+               } elseif ( is_string( $headers ) ) {
                        return ( stripos($headers, 'content-encoding:') !== false );
                }
 
index 6042fd4332630dd5423a7298db1eddf8b820955a..4e88836799af064a278fdcf90575a1c44b233e76 100644 (file)
@@ -3,7 +3,7 @@
  * API for fetching the HTML to embed remote content based on a provided URL.
  * Used internally by the {@link WP_Embed} class, but is designed to be generic.
  *
- * @link http://codex.wordpress.org/oEmbed oEmbed Codex Article
+ * @link https://codex.wordpress.org/oEmbed oEmbed Codex Article
  * @link http://oembed.com/ oEmbed Homepage
  *
  * @package WordPress
@@ -21,6 +21,8 @@ class WP_oEmbed {
        public $providers = array();
        public static $early_providers = array();
 
+       private $compat_methods = array( '_fetch_with_format', '_parse_json', '_parse_xml', '_parse_body' );
+
        /**
         * Constructor
         *
@@ -42,11 +44,10 @@ class WP_oEmbed {
                        '#https?://flic\.kr/.*#i'                             => array( 'https://www.flickr.com/services/oembed/',            true  ),
                        '#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  ),
-                       '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/doc/.*#i'              => array( 'http://www.scribd.com/services/oembed',              true  ),
-                       '#https?://wordpress.tv/.*#i'                         => array( 'http://wordpress.tv/oembed/',                        true ),
+                       '#https?://wordpress.tv/.*#i'                         => array( 'http://wordpress.tv/oembed/',                        true  ),
                        '#https?://(.+\.)?polldaddy\.com/.*#i'                => array( 'https://polldaddy.com/oembed/',                      true  ),
                        '#https?://poll\.fm/.*#i'                             => array( 'https://polldaddy.com/oembed/',                      true  ),
                        '#https?://(www\.)?funnyordie\.com/videos/.*#i'       => array( 'http://www.funnyordie.com/oembed',                   true  ),
@@ -54,7 +55,7 @@ class WP_oEmbed {
                        '#https?://vine.co/v/.*#i'                            => array( 'https://vine.co/oembed.{format}',                    true  ),
                        '#https?://(www\.)?soundcloud\.com/.*#i'              => array( 'http://soundcloud.com/oembed',                       true  ),
                        '#https?://(.+?\.)?slideshare\.net/.*#i'              => array( 'https://www.slideshare.net/api/oembed/2',            true  ),
-                       '#http://instagr(\.am|am\.com)/p/.*#i'                => array( 'http://api.instagram.com/oembed',                    true  ),
+                       '#https?://instagr(\.am|am\.com)/p/.*#i'              => array( 'https://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  ),
@@ -65,6 +66,9 @@ class WP_oEmbed {
                        '#https?://(www\.)?mixcloud\.com/.*#i'                => array( 'http://www.mixcloud.com/oembed',                     true  ),
                        '#https?://(www\.|embed\.)?ted\.com/talks/.*#i'       => array( 'http://www.ted.com/talks/oembed.{format}',           true  ),
                        '#https?://(www\.)?(animoto|video214)\.com/play/.*#i' => array( 'http://animoto.com/oembeds/create',                  true  ),
+                       '#https?://(.+)\.tumblr\.com/post/.*#i'               => array( 'https://www.tumblr.com/oembed/1.0',                  true  ),
+                       '#https?://(www\.)?kickstarter\.com/projects/.*#i'    => array( 'https://www.kickstarter.com/services/oembed',        true  ),
+                       '#https?://kck\.st/.*#i'                              => array( 'https://www.kickstarter.com/services/oembed',        true  ),
                );
 
                if ( ! empty( self::$early_providers['add'] ) ) {
@@ -92,12 +96,11 @@ class WP_oEmbed {
                 * | ------------ | -------------------- | ----- | --------- |
                 * |   Provider   |        Flavor        |  SSL  |   Since   |
                 * | ------------ | -------------------- | ----- | --------- |
-                * | Blip         | blip.tv              |       | 2.9.0     |
+                * | Blip         | blip.tv              |   !   | 2.9.0     |
                 * | Dailymotion  | dailymotion.com      |  Yes  | 2.9.0     |
                 * | Flickr       | flickr.com           |  Yes  | 2.9.0     |
                 * | Hulu         | hulu.com             |  Yes  | 2.9.0     |
-                * | Photobucket  | photobucket.com      |       | 2.9.0     |
-                * | Revision3    | revision3.com        |       | 2.9.0     |
+                * | Photobucket  | photobucket.com      |   !   | 2.9.0     |
                 * | Scribd       | scribd.com           |  Yes  | 2.9.0     |
                 * | Vimeo        | vimeo.com            |  Yes  | 2.9.0     |
                 * | WordPress.tv | wordpress.tv         |  Yes  | 2.9.0     |
@@ -110,12 +113,12 @@ class WP_oEmbed {
                 * | ------------ | -------------------- | ----- | --------- |
                 * | Twitter      | twitter.com          |  Yes  | 3.4.0     |
                 * | ------------ | -------------------- | ----- | --------- |
-                * | Instagram    | instagram.com        |       | 3.5.0     |
-                * | Instagram    | instagr.am           |       | 3.5.0     |
+                * | Instagram    | instagram.com        |  Yes  | 3.5.0     |
+                * | Instagram    | instagr.am           |  Yes  | 3.5.0     |
                 * | Slideshare   | slideshare.net       |  Yes  | 3.5.0     |
                 * | SoundCloud   | soundcloud.com       |  Yes  | 3.5.0     |
                 * | ------------ | -------------------- | ----- | --------- |
-                * | Dailymotion  | dai.ly               |       | 3.6.0     |
+                * | Dailymotion  | dai.ly               |   !   | 3.6.0     |
                 * | Flickr       | flic.kr              |  Yes  | 3.6.0     |
                 * | Rdio         | rdio.com             |  Yes  | 3.6.0     |
                 * | Rdio         | rd.io                |  Yes  | 3.6.0     |
@@ -136,6 +139,10 @@ class WP_oEmbed {
                 * | ------------ | -------------------- | ----- | --------- |
                 * | Vine         | vine.co              |  Yes  | 4.1.0     |
                 * | ------------ | -------------------- | ----- | --------- |
+                * | Tumblr       | tumblr.com           |  Yes  | 4.2.0     |
+                * | Kickstarter  | kickstarter.com      |  Yes  | 4.2.0     |
+                * | Kickstarter  | kck.st               |  Yes  | 4.2.0     |
+                * | ------------ | -------------------- | ----- | --------- |
                 *
                 * No longer supported providers:
                 *
@@ -146,6 +153,8 @@ class WP_oEmbed {
                 * | ------------ | -------------------- | ----- | --------- | --------- |
                 * | Viddler      | viddler.com          |  Yes  | 2.9.0     | 4.0.0     |
                 * | ------------ | -------------------- | ----- | --------- | --------- |
+                * | Revision3    | revision3.com        |   !   | 2.9.0     | 4.2.0     |
+                * | ------------ | -------------------- | ----- | --------- | --------- |
                 *
                 * @see wp_oembed_add_provider()
                 *
@@ -170,7 +179,10 @@ class WP_oEmbed {
         * @return mixed|bool Return value of the callback, false otherwise.
         */
        public function __call( $name, $arguments ) {
-               return call_user_func_array( array( $this, $name ), $arguments );
+               if ( in_array( $name, $this->compat_methods ) ) {
+                       return call_user_func_array( array( $this, $name ), $arguments );
+               }
+               return false;
        }
 
        /**
@@ -272,7 +284,7 @@ class WP_oEmbed {
         * @param array $args Optional arguments. Usually passed from a shortcode.
         * @return false|string False on failure, otherwise the UNSANITIZED (and potentially unsafe) HTML that should be used to embed.
         */
-       function get_html( $url, $args = '' ) {
+       public function get_html( $url, $args = '' ) {
                $provider = $this->get_provider( $url, $args );
 
                if ( !$provider || false === $data = $this->fetch( $provider, $url, $args ) )
@@ -342,12 +354,12 @@ class WP_oEmbed {
                                }
                        }
 
-                       if ( $tagfound && preg_match_all( '/<link([^<>]+)>/i', $html, $links ) ) {
+                       if ( $tagfound && preg_match_all( '#<link([^<>]+)/?>#iU', $html, $links ) ) {
                                foreach ( $links[1] as $link ) {
                                        $atts = shortcode_parse_atts( $link );
 
                                        if ( !empty($atts['type']) && !empty($linktypes[$atts['type']]) && !empty($atts['href']) ) {
-                                               $providers[$linktypes[$atts['type']]] = $atts['href'];
+                                               $providers[$linktypes[$atts['type']]] = htmlspecialchars_decode( $atts['href'] );
 
                                                // Stop here if it's JSON (that's all we need)
                                                if ( 'json' == $linktypes[$atts['type']] )
@@ -554,10 +566,32 @@ class WP_oEmbed {
         * @return string Possibly modified $html
         */
        public function _strip_newlines( $html, $data, $url ) {
-               if ( false !== strpos( $html, "\n" ) )
-                       $html = str_replace( array( "\r\n", "\n" ), '', $html );
+               if ( false === strpos( $html, "\n" ) ) {
+                       return $html;
+               }
+
+               $count = 1;
+               $found = array();
+               $token = '__PRE__';
+               $search = array( "\t", "\n", "\r", ' ' );
+               $replace = array( '__TAB__', '__NL__', '__CR__', '__SPACE__' );
+               $tokenized = str_replace( $search, $replace, $html );
+
+               preg_match_all( '#(<pre[^>]*>.+?</pre>)#i', $tokenized, $matches, PREG_SET_ORDER );
+               foreach ( $matches as $i => $match ) {
+                       $tag_html = str_replace( $replace, $search, $match[0] );
+                       $tag_token = $token . $i;
+
+                       $found[ $tag_token ] = $tag_html;
+                       $html = str_replace( $tag_html, $tag_token, $html, $count );
+               }
+
+               $replaced = str_replace( $replace, $search, $html );
+               $stripped = str_replace( array( "\r\n", "\n" ), '', $replaced );
+               $pre = array_values( $found );
+               $tokens = array_keys( $found );
 
-               return $html;
+               return str_replace( $tokens, $pre, $stripped );
        }
 }
 
index 749e48de7599ff92579f9545e02ace1f7e48f840..8bfc2d49ba32f60676d2ab7909c64efc8ff2fd8d 100644 (file)
@@ -363,9 +363,11 @@ class WP_Admin_Bar {
                }
 
                ?>
-               <div id="wpadminbar" class="<?php echo $class; ?>" role="navigation">
-                       <a class="screen-reader-shortcut" href="#wp-toolbar" tabindex="1"><?php _e('Skip to toolbar'); ?></a>
-                       <div class="quicklinks" id="wp-toolbar" role="navigation" aria-label="<?php esc_attr_e('Top navigation toolbar.'); ?>" tabindex="0">
+               <div id="wpadminbar" class="<?php echo $class; ?>">
+                       <?php if ( ! is_admin() ) { ?>
+                               <a class="screen-reader-shortcut" href="#wp-toolbar" tabindex="1"><?php _e( 'Skip to toolbar' ); ?></a>
+                       <?php } ?>
+                       <div class="quicklinks" id="wp-toolbar" role="navigation" aria-label="<?php esc_attr_e( 'Toolbar' ); ?>" tabindex="0">
                                <?php foreach ( $root->children as $group ) {
                                        $this->_render_group( $group );
                                } ?>
index 7bed81c7bc0628e8fe116680b0e68115983a4b88..1c6d8a834c66449ce424646e9a7101b75131429c 100644 (file)
@@ -11,9 +11,8 @@ class WP_Ajax_Response {
         *
         * @since 2.1.0
         * @var array
-        * @access private
         */
-       private $responses = array();
+       public $responses = array();
 
        /**
         * Constructor - Passes args to {@link WP_Ajax_Response::add()}.
@@ -22,65 +21,12 @@ class WP_Ajax_Response {
         * @see WP_Ajax_Response::add()
         *
         * @param string|array $args Optional. Will be passed to add() method.
-        * @return WP_Ajax_Response
         */
        public function __construct( $args = '' ) {
                if ( !empty($args) )
                        $this->add($args);
        }
 
-       /**
-        * Make private properties readable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to get.
-        * @return mixed Property.
-        */
-       public function __get( $name ) {
-               return $this->$name;
-       }
-
-       /**
-        * Make private properties settable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name  Property to set.
-        * @param mixed  $value Property value.
-        * @return mixed Newly-set property.
-        */
-       public function __set( $name, $value ) {
-               return $this->$name = $value;
-       }
-
-       /**
-        * Make private properties checkable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to check if set.
-        * @return bool Whether the property is set.
-        */
-       public function __isset( $name ) {
-               return isset( $this->$name );
-       }
-
-       /**
-        * Make private properties un-settable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to unset.
-        */
-       public function __unset( $name ) {
-               unset( $this->$name );
-       }
-
        /**
         * Append to XML response based on given arguments.
         *
index 950b0d5a344fffdb65fbd477d74c4b47519f203c..bf17fb203f1a3558b4c7f52d3eac3fcac8efcb4a 100644 (file)
@@ -1,11 +1,17 @@
 <?php
 /**
- * Customize Control Class
+ * WordPress Customize Control classes
  *
  * @package WordPress
  * @subpackage Customize
  * @since 3.4.0
  */
+
+/**
+ * Customize Control class.
+ *
+ * @since 3.4.0
+ */
 class WP_Customize_Control {
 
        /**
@@ -183,7 +189,7 @@ class WP_Customize_Control {
         *
         * @return bool Whether the control is active to the current preview.
         */
-       public final function active() {
+       final public function active() {
                $control = $this;
                $active = call_user_func( $this->active_callback, $this );
 
@@ -224,7 +230,7 @@ class WP_Customize_Control {
         * @param string $setting_key
         * @return mixed The requested setting's value, if the setting exists.
         */
-       public final function value( $setting_key = 'default' ) {
+       final public function value( $setting_key = 'default' ) {
                if ( isset( $this->settings[ $setting_key ] ) ) {
                        return $this->settings[ $setting_key ]->value();
                }
@@ -270,7 +276,7 @@ class WP_Customize_Control {
         *
         * @return bool False if theme doesn't support the control or user doesn't have the required permissions, otherwise true.
         */
-       public final function check_capabilities() {
+       final public function check_capabilities() {
                foreach ( $this->settings as $setting ) {
                        if ( ! $setting->check_capabilities() )
                                return false;
@@ -290,7 +296,7 @@ class WP_Customize_Control {
         *
         * @return string Contents of the control.
         */
-       public final function get_content() {
+       final public function get_content() {
                ob_start();
                $this->maybe_render();
                $template = trim( ob_get_contents() );
@@ -304,7 +310,7 @@ class WP_Customize_Control {
         * @since 3.4.0
         * @uses WP_Customize_Control::render()
         */
-       public final function maybe_render() {
+       final public function maybe_render() {
                if ( ! $this->check_capabilities() )
                        return;
 
@@ -515,11 +521,11 @@ class WP_Customize_Control {
         * @since 4.1.0
         */
        final public function print_template() {
-               ?>
-               <script type="text/html" id="tmpl-customize-control-<?php echo $this->type; ?>-content">
-                       <?php $this->content_template(); ?>
-               </script>
-               <?php
+               ?>
+               <script type="text/html" id="tmpl-customize-control-<?php echo $this->type; ?>-content">
+                       <?php $this->content_template(); ?>
+               </script>
+               <?php
        }
 
        /**
@@ -537,11 +543,11 @@ class WP_Customize_Control {
 }
 
 /**
- * Customize Color Control Class
+ * Customize Color Control class.
  *
- * @package WordPress
- * @subpackage Customize
  * @since 3.4.0
+ *
+ * @see WP_Customize_Control
  */
 class WP_Customize_Color_Control extends WP_Customize_Control {
        /**
@@ -632,24 +638,45 @@ class WP_Customize_Color_Control extends WP_Customize_Control {
 }
 
 /**
- * Customize Upload Control Class
+ * Customize Media Control class.
  *
- * @package WordPress
- * @subpackage Customize
- * @since 3.4.0
+ * @since 4.2.0
+ *
+ * @see WP_Customize_Control
  */
-class WP_Customize_Upload_Control extends WP_Customize_Control {
-       public $type          = 'upload';
-       public $mime_type     = '';
+class WP_Customize_Media_Control extends WP_Customize_Control {
+       /**
+        * Control type.
+        *
+        * @since 4.2.0
+        * @access public
+        * @var string
+        */
+       public $type = 'media';
+
+       /**
+        * Media control mime type.
+        *
+        * @since 4.2.0
+        * @access public
+        * @var string
+        */
+       public $mime_type = '';
+
+       /**
+        * Button labels.
+        *
+        * @since 4.2.0
+        * @access public
+        * @var array
+        */
        public $button_labels = array();
-       public $removed = ''; // unused
-       public $context; // unused
-       public $extensions = array(); // unused
 
        /**
         * Constructor.
         *
         * @since 4.1.0
+        * @since 4.2.0 Moved from WP_Customize_Upload_Control.
         *
         * @param WP_Customize_Manager $manager {@see WP_Customize_Manager} instance.
         */
@@ -671,6 +698,7 @@ class WP_Customize_Upload_Control extends WP_Customize_Control {
         * Enqueue control related scripts/styles.
         *
         * @since 3.4.0
+        * @since 4.2.0 Moved from WP_Customize_Upload_Control.
         */
        public function enqueue() {
                wp_enqueue_media();
@@ -680,7 +708,9 @@ class WP_Customize_Upload_Control extends WP_Customize_Control {
         * Refresh the parameters passed to the JavaScript via JSON.
         *
         * @since 3.4.0
-        * @uses WP_Customize_Control::to_json()
+        * @since 4.2.0 Moved from WP_Customize_Upload_Control.
+        *
+        * @see WP_Customize_Control::to_json()
         */
        public function to_json() {
                parent::to_json();
@@ -692,6 +722,7 @@ class WP_Customize_Upload_Control extends WP_Customize_Control {
                if ( is_object( $this->setting ) ) {
                        if ( $this->setting->default ) {
                                // Fake an attachment model - needs all fields used by template.
+                               // Note that the default value must be a URL, NOT an attachment ID.
                                $type = in_array( substr( $this->setting->default, -3 ), array( 'jpg', 'png', 'gif', 'bmp' ) ) ? 'image' : 'document';
                                $default_attachment = array(
                                        'id' => 1,
@@ -714,11 +745,7 @@ class WP_Customize_Upload_Control extends WP_Customize_Control {
                                // Set the default as the attachment.
                                $this->json['attachment'] = $this->json['defaultAttachment'];
                        } elseif ( $value ) {
-                               // Get the attachment model for the existing file.
-                               $attachment_id = attachment_url_to_postid( $value );
-                               if ( $attachment_id ) {
-                                       $this->json['attachment'] = wp_prepare_attachment_for_js( $attachment_id );
-                               }
+                               $this->json['attachment'] = wp_prepare_attachment_for_js( $value );
                        }
                }
        }
@@ -726,15 +753,18 @@ class WP_Customize_Upload_Control extends WP_Customize_Control {
        /**
         * Don't render any content for this control from PHP.
         *
-        * @see WP_Customize_Upload_Control::content_template()
         * @since 3.4.0
+        * @since 4.2.0 Moved from WP_Customize_Upload_Control.
+        *
+        * @see WP_Customize_Media_Control::content_template()
         */
        public function render_content() {}
 
        /**
-        * Render a JS template for the content of the upload control.
+        * Render a JS template for the content of the media control.
         *
         * @since 4.1.0
+        * @since 4.2.0 Moved from WP_Customize_Upload_Control.
         */
        public function content_template() {
                ?>
@@ -757,7 +787,11 @@ class WP_Customize_Upload_Control extends WP_Customize_Control {
                                                        <# } else if ( 'image' === data.attachment.type && data.attachment.sizes && data.attachment.sizes.full ) { #>
                                                                <img class="attachment-thumb" src="{{ data.attachment.sizes.full.url }}" draggable="false" />
                                                        <# } else if ( 'audio' === data.attachment.type ) { #>
-                                                               <img class="attachment-thumb type-icon" src="{{ data.attachment.icon }}" class="icon" draggable="false" />
+                                                               <# if ( data.attachment.image && data.attachment.image.src && data.attachment.image.src !== data.attachment.icon ) { #>
+                                                                       <img src="{{ data.attachment.image.src }}" class="thumbnail" draggable="false" />
+                                                               <# } else { #>
+                                                                       <img src="{{ data.attachment.icon }}" class="attachment-thumb type-icon" draggable="false" />
+                                                               <# } #>
                                                                <p class="attachment-meta attachment-meta-title">&#8220;{{ data.attachment.title }}&#8221;</p>
                                                                <# if ( data.attachment.album || data.attachment.meta.album ) { #>
                                                                <p class="attachment-meta"><em>{{ data.attachment.album || data.attachment.meta.album }}</em></p>
@@ -765,6 +799,16 @@ class WP_Customize_Upload_Control extends WP_Customize_Control {
                                                                <# if ( data.attachment.artist || data.attachment.meta.artist ) { #>
                                                                <p class="attachment-meta">{{ data.attachment.artist || data.attachment.meta.artist }}</p>
                                                                <# } #>
+                                                               <audio style="visibility: hidden" controls class="wp-audio-shortcode" width="100%" preload="none">
+                                                                       <source type="{{ data.attachment.mime }}" src="{{ data.attachment.url }}"/>
+                                                               </audio>
+                                                       <# } else if ( 'video' === data.attachment.type ) { #>
+                                                               <div class="wp-media-wrapper wp-video">
+                                                                       <video controls="controls" class="wp-video-shortcode" preload="metadata"
+                                                                               <# if ( data.attachment.image && data.attachment.image.src !== data.attachment.icon ) { #>poster="{{ data.attachment.image.src }}"<# } #>>
+                                                                               <source type="{{ data.attachment.mime }}" src="{{ data.attachment.url }}"/>
+                                                                       </video>
+                                                               </div>
                                                        <# } else { #>
                                                                <img class="attachment-thumb type-icon" src="{{ data.attachment.icon }}" class="icon" draggable="false" />
                                                                <p class="attachment-title">{{ data.attachment.title }}</p>
@@ -803,11 +847,47 @@ class WP_Customize_Upload_Control extends WP_Customize_Control {
 }
 
 /**
- * Customize Image Control Class
+ * Customize Upload Control Class.
  *
- * @package WordPress
- * @subpackage Customize
  * @since 3.4.0
+ *
+ * @see WP_Customize_Media_Control
+ */
+class WP_Customize_Upload_Control extends WP_Customize_Media_Control {
+       public $type          = 'upload';
+       public $mime_type     = '';
+       public $button_labels = array();
+       public $removed = ''; // unused
+       public $context; // unused
+       public $extensions = array(); // unused
+
+       /**
+        * Refresh the parameters passed to the JavaScript via JSON.
+        *
+        * @since 3.4.0
+        *
+        * @uses WP_Customize_Media_Control::to_json()
+        */
+       public function to_json() {
+               parent::to_json();
+
+               $value = $this->value();
+               if ( $value ) {
+                       // Get the attachment model for the existing file.
+                       $attachment_id = attachment_url_to_postid( $value );
+                       if ( $attachment_id ) {
+                               $this->json['attachment'] = wp_prepare_attachment_for_js( $attachment_id );
+                       }
+               }
+       }
+}
+
+/**
+ * Customize Image Control class.
+ *
+ * @since 3.4.0
+ *
+ * @see WP_Customize_Upload_Control
  */
 class WP_Customize_Image_Control extends WP_Customize_Upload_Control {
        public $type = 'image';
@@ -872,11 +952,11 @@ class WP_Customize_Image_Control extends WP_Customize_Upload_Control {
 }
 
 /**
- * Customize Background Image Control Class
+ * Customize Background Image Control class.
  *
- * @package WordPress
- * @subpackage Customize
  * @since 3.4.0
+ *
+ * @see WP_Customize_Image_Control
  */
 class WP_Customize_Background_Image_Control extends WP_Customize_Image_Control {
        public $type = 'background';
@@ -912,6 +992,13 @@ class WP_Customize_Background_Image_Control extends WP_Customize_Image_Control {
        }
 }
 
+/**
+ * Customize Header Image Control class.
+ *
+ * @since 3.4.0
+ *
+ * @see WP_Customize_Image_Control
+ */
 class WP_Customize_Header_Image_Control extends WP_Customize_Image_Control {
        public $type = 'header';
        public $uploaded_headers;
@@ -934,10 +1021,6 @@ class WP_Customize_Header_Image_Control extends WP_Customize_Image_Control {
 
        }
 
-       public function to_json() {
-               parent::to_json();
-       }
-
        public function enqueue() {
                wp_enqueue_media();
                wp_enqueue_script( 'customize-views' );
@@ -975,7 +1058,7 @@ class WP_Customize_Header_Image_Control extends WP_Customize_Image_Control {
                $this->uploaded_headers = $custom_image_header->get_uploaded_header_images();
        }
 
-       function print_header_image_template() {
+       public function print_header_image_template() {
                ?>
                <script type="text/template" id="tmpl-header-choice">
                        <# if (data.random) { #>
@@ -1105,9 +1188,111 @@ class WP_Customize_Header_Image_Control extends WP_Customize_Image_Control {
 }
 
 /**
- * Widget Area Customize Control Class
+ * Customize Theme Control class.
+ *
+ * @since 4.2.0
+ *
+ * @see WP_Customize_Control
+ */
+class WP_Customize_Theme_Control extends WP_Customize_Control {
+
+       /**
+        * Customize control type.
+        *
+        * @since 4.2.0
+        * @access public
+        * @var string
+        */
+       public $type = 'theme';
+
+       /**
+        * Theme object.
+        *
+        * @since 4.2.0
+        * @access public
+        * @var WP_Theme
+        */
+       public $theme;
+
+       /**
+        * Refresh the parameters passed to the JavaScript via JSON.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @see WP_Customize_Control::to_json()
+        */
+       public function to_json() {
+               parent::to_json();
+               $this->json['theme'] = $this->theme;
+       }
+
+       /**
+        * Don't render the control content from PHP, as it's rendered via JS on load.
+        *
+        * @since 4.2.0
+        * @access public
+        */
+       public function render_content() {}
+
+       /**
+        * Render a JS template for theme display.
+        *
+        * @since 4.2.0
+        * @access public
+        */
+       public function content_template() {
+               $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
+               $active_url  = esc_url( remove_query_arg( 'theme', $current_url ) );
+               $preview_url = esc_url( add_query_arg( 'theme', '__THEME__', $current_url ) ); // Token because esc_url() strips curly braces.
+               $preview_url = str_replace( '__THEME__', '{{ data.theme.id }}', $preview_url );
+               ?>
+               <# if ( data.theme.isActiveTheme ) { #>
+                       <div class="theme active" tabindex="0" data-preview-url="<?php echo esc_attr( $active_url ); ?>" aria-describedby="{{ data.theme.id }}-action {{ data.theme.id }}-name">
+               <# } else { #>
+                       <div class="theme" tabindex="0" data-preview-url="<?php echo esc_attr( $preview_url ); ?>" aria-describedby="{{ data.theme.id }}-action {{ data.theme.id }}-name">
+               <# } #>
+
+                       <# if ( data.theme.screenshot[0] ) { #>
+                               <div class="theme-screenshot">
+                                       <img data-src="{{ data.theme.screenshot[0] }}" alt="" />
+                               </div>
+                       <# } else { #>
+                               <div class="theme-screenshot blank"></div>
+                       <# } #>
+
+                       <# if ( data.theme.isActiveTheme ) { #>
+                               <span class="more-details" id="{{ data.theme.id }}-action"><?php _e( 'Customize' ); ?></span>
+                       <# } else { #>
+                               <span class="more-details" id="{{ data.theme.id }}-action"><?php _e( 'Live Preview' ); ?></span>
+                       <# } #>
+
+                       <div class="theme-author"><?php printf( __( 'By %s' ), '{{ data.theme.author }}' ); ?></div>
+
+                       <# if ( data.theme.isActiveTheme ) { #>
+                               <h3 class="theme-name" id="{{ data.theme.id }}-name">
+                                       <?php
+                                       /* translators: %s: theme name */
+                                       printf( __( '<span>Active:</span> %s' ), '{{ data.theme.name }}' );
+                                       ?>
+                               </h3>
+                       <# } else { #>
+                               <h3 class="theme-name" id="{{ data.theme.id }}-name">{{ data.theme.name }}</h3>
+                               <div class="theme-actions">
+                                       <button type="button" class="button theme-details"><?php _e( 'Theme Details' ); ?></button>
+                               </div>
+                       <# } #>
+               </div>
+       <?php
+       }
+}
+
+/**
+ * Widget Area Customize Control class.
  *
  * @since 3.9.0
+ *
+ * @see WP_Customize_Control
  */
 class WP_Widget_Area_Customize_Control extends WP_Customize_Control {
        public $type = 'sidebar_widgets';
@@ -1129,7 +1314,7 @@ class WP_Widget_Area_Customize_Control extends WP_Customize_Control {
 
                <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 class="reorder-done"><?php _ex( 'Done', 'Cancel reordering widgets in Customizer' ); ?></span>
                </span>
                <?php
        }
@@ -1137,9 +1322,11 @@ class WP_Widget_Area_Customize_Control extends WP_Customize_Control {
 }
 
 /**
- * Widget Form Customize Control Class
+ * Widget Form Customize Control class.
  *
  * @since 3.9.0
+ *
+ * @see WP_Customize_Control
  */
 class WP_Widget_Form_Customize_Control extends WP_Customize_Control {
        public $type = 'widget_form';
@@ -1185,8 +1372,7 @@ class WP_Widget_Form_Customize_Control extends WP_Customize_Control {
         *
         * @return bool Whether the widget is rendered.
         */
-       function active_callback() {
+       public function active_callback() {
                return $this->manager->widgets->is_widget_rendered( $this->widget_id );
        }
 }
-
index c14d61652ab28e114cb7b66d8e57b1e6f0d4125d..8d78bddaef092b44a470b08a840dac710d3b39ab 100644 (file)
@@ -1,6 +1,14 @@
 <?php
 /**
- * Customize Manager.
+ * WordPress Customize Manager classes
+ *
+ * @package WordPress
+ * @subpackage Customize
+ * @since 3.4.0
+ */
+
+/**
+ * Customize Manager class.
  *
  * Bootstraps the Customize experience on the server-side.
  *
@@ -10,8 +18,6 @@
  * 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 {
@@ -65,7 +71,7 @@ final class WP_Customize_Manager {
        /**
         * Unsanitized values for Customize Settings parsed from $_POST['customized'].
         *
-        * @var array|false
+        * @var array
         */
        private $_post_values;
 
@@ -85,8 +91,8 @@ final class WP_Customize_Manager {
 
                add_filter( 'wp_die_handler', array( $this, 'wp_die_handler' ) );
 
-               add_action( 'setup_theme',  array( $this, 'setup_theme' ) );
-               add_action( 'wp_loaded',    array( $this, 'wp_loaded' ) );
+               add_action( 'setup_theme', array( $this, 'setup_theme' ) );
+               add_action( 'wp_loaded',   array( $this, 'wp_loaded' ) );
 
                // Run wp_redirect_status late to make sure we override the status last.
                add_action( 'wp_redirect_status', array( $this, 'wp_redirect_status' ), 1000 );
@@ -99,9 +105,11 @@ final class WP_Customize_Manager {
                remove_action( 'admin_init', '_maybe_update_plugins' );
                remove_action( 'admin_init', '_maybe_update_themes' );
 
-               add_action( 'wp_ajax_customize_save', array( $this, 'save' ) );
+               add_action( 'wp_ajax_customize_save',           array( $this, 'save' ) );
+               add_action( 'wp_ajax_customize_refresh_nonces', array( $this, 'refresh_nonces' ) );
 
                add_action( 'customize_register',                 array( $this, 'register_controls' ) );
+               add_action( 'customize_register',                 array( $this, 'register_dynamic_settings' ), 11 ); // allow code to create settings first
                add_action( 'customize_controls_init',            array( $this, 'prepare_controls' ) );
                add_action( 'customize_controls_enqueue_scripts', array( $this, 'enqueue_control_scripts' ) );
        }
@@ -110,11 +118,27 @@ final class WP_Customize_Manager {
         * Return true if it's an AJAX request.
         *
         * @since 3.4.0
+        * @since 4.2.0 Added `$action` param.
+        * @access public
         *
-        * @return bool
+        * @param string|null $action Whether the supplied AJAX action is being run.
+        * @return bool True if it's an AJAX request, false otherwise.
         */
-       public function doing_ajax() {
-               return isset( $_POST['customized'] ) || ( defined( 'DOING_AJAX' ) && DOING_AJAX );
+       public function doing_ajax( $action = null ) {
+               $doing_ajax = ( defined( 'DOING_AJAX' ) && DOING_AJAX );
+               if ( ! $doing_ajax ) {
+                       return false;
+               }
+
+               if ( ! $action ) {
+                       return true;
+               } else {
+                       /*
+                        * Note: we can't just use doing_action( "wp_ajax_{$action}" ) because we need
+                        * to check before admin-ajax.php gets to that point.
+                        */
+                       return isset( $_REQUEST['action'] ) && wp_unslash( $_REQUEST['action'] ) === $action;
+               }
        }
 
        /**
@@ -127,11 +151,13 @@ final class WP_Customize_Manager {
         * @param mixed $message UI message
         */
        protected function wp_die( $ajax_message, $message = null ) {
-               if ( $this->doing_ajax() )
+               if ( $this->doing_ajax() || isset( $_POST['customized'] ) ) {
                        wp_die( $ajax_message );
+               }
 
-               if ( ! $message )
+               if ( ! $message ) {
                        $message = __( 'Cheatin&#8217; uh?' );
+               }
 
                wp_die( $message );
        }
@@ -144,8 +170,9 @@ final class WP_Customize_Manager {
         * @return string
         */
        public function wp_die_handler() {
-               if ( $this->doing_ajax() )
+               if ( $this->doing_ajax() || isset( $_POST['customized'] ) ) {
                        return '_ajax_wp_die_handler';
+               }
 
                return '_default_wp_die_handler';
        }
@@ -160,10 +187,12 @@ final class WP_Customize_Manager {
        public function setup_theme() {
                send_origin_headers();
 
-               if ( is_admin() && ! $this->doing_ajax() )
-                   auth_redirect();
-               elseif ( $this->doing_ajax() && ! is_user_logged_in() )
-                   $this->wp_die( 0 );
+               $doing_ajax_or_is_customized = ( $this->doing_ajax() || isset( $_POST['customized'] ) );
+               if ( is_admin() && ! $doing_ajax_or_is_customized ) {
+                       auth_redirect();
+               } elseif ( $doing_ajax_or_is_customized && ! is_user_logged_in() ) {
+                       $this->wp_die( 0 );
+               }
 
                show_admin_bar( false );
 
@@ -181,16 +210,19 @@ final class WP_Customize_Manager {
                } 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' ) )
+                       if ( ! current_user_can( 'switch_themes' ) ) {
                                $this->wp_die( -1 );
+                       }
 
                        // If the theme has errors while loading, bail.
-                       if ( $this->theme()->errors() )
+                       if ( $this->theme()->errors() ) {
                                $this->wp_die( -1 );
+                       }
 
                        // If the theme isn't allowed per multisite settings, bail.
-                       if ( ! $this->theme()->is_allowed() )
+                       if ( ! $this->theme()->is_allowed() ) {
                                $this->wp_die( -1 );
+                       }
                }
 
                $this->start_previewing_theme();
@@ -202,7 +234,8 @@ final class WP_Customize_Manager {
         * @since 3.4.0
         */
        public function after_setup_theme() {
-               if ( ! $this->doing_ajax() && ! validate_current_theme() ) {
+               $doing_ajax_or_is_customized = ( $this->doing_ajax() || isset( $_SERVER['customized'] ) );
+               if ( ! $doing_ajax_or_is_customized && ! validate_current_theme() ) {
                        wp_redirect( 'themes.php?broken=true' );
                        exit;
                }
@@ -216,8 +249,9 @@ final class WP_Customize_Manager {
         */
        public function start_previewing_theme() {
                // Bail if we're already previewing.
-               if ( $this->is_preview() )
+               if ( $this->is_preview() ) {
                        return;
+               }
 
                $this->previewing = true;
 
@@ -253,8 +287,9 @@ final class WP_Customize_Manager {
         * @since 3.4.0
         */
        public function stop_previewing_theme() {
-               if ( ! $this->is_preview() )
+               if ( ! $this->is_preview() ) {
                        return;
+               }
 
                $this->previewing = false;
 
@@ -290,6 +325,9 @@ final class WP_Customize_Manager {
         * @return WP_Theme
         */
        public function theme() {
+               if ( ! $this->theme ) {
+                       $this->theme = wp_get_theme();
+               }
                return $this->theme;
        }
 
@@ -411,8 +449,8 @@ final class WP_Customize_Manager {
                        if ( isset( $_POST['customized'] ) ) {
                                $this->_post_values = json_decode( wp_unslash( $_POST['customized'] ), true );
                        }
-                       if ( empty( $this->_post_values ) ) { // if not isset or of JSON error
-                               $this->_post_values = false;
+                       if ( empty( $this->_post_values ) ) { // if not isset or if JSON error
+                               $this->_post_values = array();
                        }
                }
                if ( empty( $this->_post_values ) ) {
@@ -441,6 +479,20 @@ final class WP_Customize_Manager {
                }
        }
 
+       /**
+        * Override a setting's (unsanitized) value as found in any incoming $_POST['customized'].
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @param string $setting_id ID for the WP_Customize_Setting instance.
+        * @param mixed  $value      Post value.
+        */
+       public function set_post_value( $setting_id, $value ) {
+               $this->unsanitized_post_values();
+               $this->_post_values[ $setting_id ] = $value;
+       }
+
        /**
         * Print JavaScript settings.
         *
@@ -455,6 +507,7 @@ final class WP_Customize_Manager {
                add_action( 'wp', array( $this, 'customize_preview_override_404_status' ) );
                add_action( 'wp_head', array( $this, 'customize_preview_base' ) );
                add_action( 'wp_head', array( $this, 'customize_preview_html5' ) );
+               add_action( 'wp_head', array( $this, 'customize_preview_loading_style' ) );
                add_action( 'wp_footer', array( $this, 'customize_preview_settings' ), 20 );
                add_action( 'shutdown', array( $this, 'customize_preview_signature' ), 1000 );
                add_filter( 'wp_die_handler', array( $this, 'remove_preview_signature' ) );
@@ -497,7 +550,7 @@ final class WP_Customize_Manager {
        }
 
        /**
-        * Print a workaround to handle HTML5 tags in IE < 9
+        * Print a workaround to handle HTML5 tags in IE < 9.
         *
         * @since 3.4.0
         */
@@ -514,6 +567,26 @@ final class WP_Customize_Manager {
                <![endif]--><?php
        }
 
+       /**
+        * Print CSS for loading indicators for the Customizer preview.
+        *
+        * @since 4.2.0
+        * @access public
+        */
+       public function customize_preview_loading_style() {
+               ?><style>
+                       body.wp-customizer-unloading {
+                               opacity: 0.25;
+                               cursor: progress !important;
+                               -webkit-transition: opacity 0.5s;
+                               transition: opacity 0.5s;
+                       }
+                       body.wp-customizer-unloading * {
+                               pointer-events: none !important;
+                       }
+               </style><?php
+       }
+
        /**
         * Print JavaScript settings for preview frame.
         *
@@ -526,6 +599,9 @@ final class WP_Customize_Manager {
                        'activePanels' => array(),
                        'activeSections' => array(),
                        'activeControls' => array(),
+                       'l10n' => array(
+                               'loading'  => __( 'Loading ...' ),
+                       ),
                );
 
                if ( 2 == $this->nonce_tick ) {
@@ -651,10 +727,14 @@ final class WP_Customize_Manager {
         * @since 3.4.0
         */
        public function save() {
-               if ( ! $this->is_preview() )
-                       die;
+               if ( ! $this->is_preview() ) {
+                       wp_send_json_error( 'not_preview' );
+               }
 
-               check_ajax_referer( 'save-customize_' . $this->get_stylesheet(), 'nonce' );
+               $action = 'save-customize_' . $this->get_stylesheet();
+               if ( ! check_ajax_referer( $action, 'nonce', false ) ) {
+                       wp_send_json_error( 'invalid_nonce' );
+               }
 
                // Do we have to switch themes?
                if ( ! $this->is_theme_active() ) {
@@ -689,7 +769,47 @@ final class WP_Customize_Manager {
                 */
                do_action( 'customize_save_after', $this );
 
-               die;
+               /**
+                * Filter response data for a successful customize_save AJAX request.
+                *
+                * This filter does not apply if there was a nonce or authentication failure.
+                *
+                * @since 4.2.0
+                *
+                * @param array                $data Additional information passed back to the 'saved'
+                *                                   event on `wp.customize`.
+                * @param WP_Customize_Manager $this WP_Customize_Manager instance.
+                */
+               $response = apply_filters( 'customize_save_response', array(), $this );
+               wp_send_json_success( $response );
+       }
+
+       /**
+        * Refresh nonces for the current preview.
+        *
+        * @since 4.2.0
+        */
+       public function refresh_nonces() {
+               if ( ! $this->is_preview() ) {
+                       wp_send_json_error( 'not_preview' );
+               }
+
+               $nonces = array(
+                       'save'    => wp_create_nonce( 'save-customize_' . $this->get_stylesheet() ),
+                       'preview' => wp_create_nonce( 'preview-customize_' . $this->get_stylesheet() ),
+               );
+
+               /**
+                * Filter nonces for a customize_refresh_nonces AJAX request.
+                *
+                * @since 4.2.0
+                *
+                * @param array                $nonces Array of refreshed nonces for save and
+                *                                     preview actions.
+                * @param WP_Customize_Manager $this   WP_Customize_Manager instance.
+                */
+               $nonces = apply_filters( 'customize_refresh_nonces', $nonces, $this );
+               wp_send_json_success( $nonces );
        }
 
        /**
@@ -702,14 +822,75 @@ final class WP_Customize_Manager {
         *                                        constructor.
         */
        public function add_setting( $id, $args = array() ) {
-               if ( is_a( $id, 'WP_Customize_Setting' ) )
+               if ( $id instanceof WP_Customize_Setting ) {
                        $setting = $id;
-               else
+               } else {
                        $setting = new WP_Customize_Setting( $this, $id, $args );
-
+               }
                $this->settings[ $setting->id ] = $setting;
        }
 
+       /**
+        * Register any dynamically-created settings, such as those from $_POST['customized']
+        * that have no corresponding setting created.
+        *
+        * This is a mechanism to "wake up" settings that have been dynamically created
+        * on the frontend and have been sent to WordPress in `$_POST['customized']`. When WP
+        * loads, the dynamically-created settings then will get created and previewed
+        * even though they are not directly created statically with code.
+        *
+        * @since 4.2.0
+        *
+        * @param string $setting_ids The setting IDs to add.
+        * @return WP_Customize_Setting The settings added.
+        */
+       public function add_dynamic_settings( $setting_ids ) {
+               $new_settings = array();
+               foreach ( $setting_ids as $setting_id ) {
+                       // Skip settings already created
+                       if ( $this->get_setting( $setting_id ) ) {
+                               continue;
+                       }
+
+                       $setting_args = false;
+                       $setting_class = 'WP_Customize_Setting';
+
+                       /**
+                        * Filter a dynamic setting's constructor args.
+                        *
+                        * For a dynamic setting to be registered, this filter must be employed
+                        * to override the default false value with an array of args to pass to
+                        * the WP_Customize_Setting constructor.
+                        *
+                        * @since 4.2.0
+                        *
+                        * @param false|array $setting_args The arguments to the WP_Customize_Setting constructor.
+                        * @param string      $setting_id   ID for dynamic setting, usually coming from `$_POST['customized']`.
+                        */
+                       $setting_args = apply_filters( 'customize_dynamic_setting_args', $setting_args, $setting_id );
+                       if ( false === $setting_args ) {
+                               continue;
+                       }
+
+                       /**
+                        * Allow non-statically created settings to be constructed with custom WP_Customize_Setting subclass.
+                        *
+                        * @since 4.2.0
+                        *
+                        * @param string $setting_class WP_Customize_Setting or a subclass.
+                        * @param string $setting_id    ID for dynamic setting, usually coming from `$_POST['customized']`.
+                        * @param string $setting_args  WP_Customize_Setting or a subclass.
+                        */
+                       $setting_class = apply_filters( 'customize_dynamic_setting_class', $setting_class, $setting_id, $setting_args );
+
+                       $setting = new $setting_class( $this, $setting_id, $setting_args );
+
+                       $this->add_setting( $setting );
+                       $new_settings[] = $setting;
+               }
+               return $new_settings;
+       }
+
        /**
         * Retrieve a customize setting.
         *
@@ -719,8 +900,9 @@ final class WP_Customize_Manager {
         * @return WP_Customize_Setting
         */
        public function get_setting( $id ) {
-               if ( isset( $this->settings[ $id ] ) )
+               if ( isset( $this->settings[ $id ] ) ) {
                        return $this->settings[ $id ];
+               }
        }
 
        /**
@@ -744,10 +926,9 @@ final class WP_Customize_Manager {
         * @param array                     $args Optional. Panel arguments. Default empty array.
         */
        public function add_panel( $id, $args = array() ) {
-               if ( is_a( $id, 'WP_Customize_Panel' ) ) {
+               if ( $id instanceof WP_Customize_Panel ) {
                        $panel = $id;
-               }
-               else {
+               } else {
                        $panel = new WP_Customize_Panel( $this, $id, $args );
                }
 
@@ -790,11 +971,11 @@ final class WP_Customize_Manager {
         * @param array                       $args Section arguments.
         */
        public function add_section( $id, $args = array() ) {
-               if ( is_a( $id, 'WP_Customize_Section' ) )
+               if ( $id instanceof WP_Customize_Section ) {
                        $section = $id;
-               else
+               } else {
                        $section = new WP_Customize_Section( $this, $id, $args );
-
+               }
                $this->sections[ $section->id ] = $section;
        }
 
@@ -832,11 +1013,11 @@ final class WP_Customize_Manager {
         *                                          constructor.
         */
        public function add_control( $id, $args = array() ) {
-               if ( is_a( $id, 'WP_Customize_Control' ) )
+               if ( $id instanceof WP_Customize_Control ) {
                        $control = $id;
-               else
+               } else {
                        $control = new WP_Customize_Control( $this, $id, $args );
-
+               }
                $this->controls[ $control->id ] = $control;
        }
 
@@ -897,11 +1078,11 @@ final class WP_Customize_Manager {
         *
         * @since 3.4.0
         *
-        * @param {WP_Customize_Panel|WP_Customize_Section|WP_Customize_Control} $a Object A.
-        * @param {WP_Customize_Panel|WP_Customize_Section|WP_Customize_Control} $b Object B.
+        * @param WP_Customize_Panel|WP_Customize_Section|WP_Customize_Control $a Object A.
+        * @param WP_Customize_Panel|WP_Customize_Section|WP_Customize_Control $b Object B.
         * @return int
         */
-       protected final function _cmp_priority( $a, $b ) {
+       protected function _cmp_priority( $a, $b ) {
                if ( $a->priority === $b->priority ) {
                        return $a->instance_number - $a->instance_number;
                } else {
@@ -995,9 +1176,55 @@ final class WP_Customize_Manager {
 
                /* Control Types (custom control classes) */
                $this->register_control_type( 'WP_Customize_Color_Control' );
+               $this->register_control_type( 'WP_Customize_Media_Control' );
                $this->register_control_type( 'WP_Customize_Upload_Control' );
                $this->register_control_type( 'WP_Customize_Image_Control' );
                $this->register_control_type( 'WP_Customize_Background_Image_Control' );
+               $this->register_control_type( 'WP_Customize_Theme_Control' );
+
+               /* Themes */
+
+               $this->add_section( new WP_Customize_Themes_Section( $this, 'themes', array(
+                       'title'      => $this->theme()->display( 'Name' ),
+                       'capability' => 'switch_themes',
+                       'priority'   => 0,
+               ) ) );
+
+               // Themes Setting (unused - the theme is considerably more fundamental to the Customizer experience).
+               $this->add_setting( new WP_Customize_Filter_Setting( $this, 'active_theme', array(
+                       'capability' => 'switch_themes',
+               ) ) );
+
+               require_once( ABSPATH . 'wp-admin/includes/theme.php' );
+
+               // Theme Controls.
+
+               // Add a control for the active/original theme.
+               if ( ! $this->is_theme_active() ) {
+                       $themes = wp_prepare_themes_for_js( array( wp_get_theme( $this->original_stylesheet ) ) );
+                       $active_theme = current( $themes );
+                       $active_theme['isActiveTheme'] = true;
+                       $this->add_control( new WP_Customize_Theme_Control( $this, $active_theme['id'], array(
+                               'theme'    => $active_theme,
+                               'section'  => 'themes',
+                               'settings' => 'active_theme',
+                       ) ) );
+               }
+
+               $themes = wp_prepare_themes_for_js();
+               foreach ( $themes as $theme ) {
+                       if ( $theme['active'] || $theme['id'] === $this->original_stylesheet ) {
+                               continue;
+                       }
+
+                       $theme_id = 'theme_' . $theme['id'];
+                       $theme['isActiveTheme'] = false;
+                       $this->add_control( new WP_Customize_Theme_Control( $this, $theme_id, array(
+                               'theme'    => $theme,
+                               'section'  => 'themes',
+                               'settings' => 'active_theme',
+                       ) ) );
+               }
 
                /* Site Title & Tagline */
 
@@ -1174,15 +1401,21 @@ final class WP_Customize_Manager {
                $menus          = wp_get_nav_menus();
                $num_locations  = count( array_keys( $locations ) );
 
+               if ( 1 == $num_locations ) {
+                       $description = __( 'Your theme supports one menu. Select which menu you would like to use.' );
+               } else {
+                       $description = sprintf( _n( 'Your theme supports %s menu. Select which menu appears in each location.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ), number_format_i18n( $num_locations ) );
+               }
+
                $this->add_section( 'nav', array(
                        'title'          => __( 'Navigation' ),
                        'theme_supports' => 'menus',
                        'priority'       => 100,
-                       'description'    => sprintf( _n('Your theme supports %s menu. Select which menu you would like to use.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ), number_format_i18n( $num_locations ) ) . "\n\n" . __('You can edit your menu content on the Menus screen in the Appearance section.'),
+                       'description'    => $description . "\n\n" . __( 'You can edit your menu content on the Menus screen in the Appearance section.' ),
                ) );
 
                if ( $menus ) {
-                       $choices = array( 0 => __( '&mdash; Select &mdash;' ) );
+                       $choices = array( '' => __( '&mdash; Select &mdash;' ) );
                        foreach ( $menus as $menu ) {
                                $choices[ $menu->term_id ] = wp_html_excerpt( $menu->name, 40, '&hellip;' );
                        }
@@ -1207,53 +1440,68 @@ final class WP_Customize_Manager {
                /* Static Front Page */
                // #WP19627
 
-               $this->add_section( 'static_front_page', array(
-                       'title'          => __( 'Static Front Page' ),
-               //      'theme_supports' => 'static-front-page',
-                       'priority'       => 120,
-                       'description'    => __( 'Your theme supports a static front page.' ),
-               ) );
-
-               $this->add_setting( 'show_on_front', array(
-                       'default'        => get_option( 'show_on_front' ),
-                       'capability'     => 'manage_options',
-                       'type'           => 'option',
-               //      'theme_supports' => 'static-front-page',
-               ) );
-
-               $this->add_control( 'show_on_front', array(
-                       'label'   => __( 'Front page displays' ),
-                       'section' => 'static_front_page',
-                       'type'    => 'radio',
-                       'choices' => array(
-                               'posts' => __( 'Your latest posts' ),
-                               'page'  => __( 'A static page' ),
-                       ),
-               ) );
-
-               $this->add_setting( 'page_on_front', array(
-                       'type'       => 'option',
-                       'capability' => 'manage_options',
-               //      'theme_supports' => 'static-front-page',
-               ) );
-
-               $this->add_control( 'page_on_front', array(
-                       'label'      => __( 'Front page' ),
-                       'section'    => 'static_front_page',
-                       'type'       => 'dropdown-pages',
-               ) );
-
-               $this->add_setting( 'page_for_posts', array(
-                       'type'           => 'option',
-                       'capability'     => 'manage_options',
-               //      'theme_supports' => 'static-front-page',
-               ) );
+               // Replicate behavior from options-reading.php and hide front page options if there are no pages
+               if ( get_pages() ) {
+                       $this->add_section( 'static_front_page', array(
+                               'title'          => __( 'Static Front Page' ),
+                       //      'theme_supports' => 'static-front-page',
+                               'priority'       => 120,
+                               'description'    => __( 'Your theme supports a static front page.' ),
+                       ) );
+
+                       $this->add_setting( 'show_on_front', array(
+                               'default'        => get_option( 'show_on_front' ),
+                               'capability'     => 'manage_options',
+                               'type'           => 'option',
+                       //      'theme_supports' => 'static-front-page',
+                       ) );
+
+                       $this->add_control( 'show_on_front', array(
+                               'label'   => __( 'Front page displays' ),
+                               'section' => 'static_front_page',
+                               'type'    => 'radio',
+                               'choices' => array(
+                                       'posts' => __( 'Your latest posts' ),
+                                       'page'  => __( 'A static page' ),
+                               ),
+                       ) );
+
+                       $this->add_setting( 'page_on_front', array(
+                               'type'       => 'option',
+                               'capability' => 'manage_options',
+                       //      'theme_supports' => 'static-front-page',
+                       ) );
+
+                       $this->add_control( 'page_on_front', array(
+                               'label'      => __( 'Front page' ),
+                               'section'    => 'static_front_page',
+                               'type'       => 'dropdown-pages',
+                       ) );
+
+                       $this->add_setting( 'page_for_posts', array(
+                               'type'           => 'option',
+                               'capability'     => 'manage_options',
+                       //      'theme_supports' => 'static-front-page',
+                       ) );
+
+                       $this->add_control( 'page_for_posts', array(
+                               'label'      => __( 'Posts page' ),
+                               'section'    => 'static_front_page',
+                               'type'       => 'dropdown-pages',
+                       ) );
+               }
+       }
 
-               $this->add_control( 'page_for_posts', array(
-                       'label'      => __( 'Posts page' ),
-                       'section'    => 'static_front_page',
-                       'type'       => 'dropdown-pages',
-               ) );
+       /**
+        * Add settings from the POST data that were not added with code, e.g. dynamically-created settings for Widgets
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @see add_dynamic_settings()
+        */
+       public function register_dynamic_settings() {
+               $this->add_dynamic_settings( array_keys( $this->unsanitized_post_values() ) );
        }
 
        /**
index f5da18e3d7a3447e59959389b8fadab786393bf8..ee9f846bc80e84780786b2d2230d1117bb13ed7f 100644 (file)
@@ -1,13 +1,21 @@
 <?php
 /**
- * Customize Panel Class.
- *
- * A UI container for sections, managed by the WP_Customize_Manager.
+ * WordPress Customize Panel classes
  *
  * @package WordPress
  * @subpackage Customize
  * @since 4.0.0
  */
+
+/**
+ * Customize Panel class.
+ *
+ * A UI container for sections, managed by the WP_Customize_Manager.
+ *
+ * @since 4.0.0
+ *
+ * @see WP_Customize_Manager
+ */
 class WP_Customize_Panel {
 
        /**
@@ -154,8 +162,6 @@ class WP_Customize_Panel {
                $this->instance_number = self::$instance_count;
 
                $this->sections = array(); // Users cannot customize the $sections array.
-
-               return $this;
        }
 
        /**
@@ -166,7 +172,7 @@ class WP_Customize_Panel {
         *
         * @return bool Whether the panel is active to the current preview.
         */
-       public final function active() {
+       final public function active() {
                $panel = $this;
                $active = call_user_func( $this->active_callback, $this );
 
@@ -221,7 +227,7 @@ class WP_Customize_Panel {
         *
         * @return bool False if theme doesn't support the panel or the user doesn't have the capability.
         */
-       public final function check_capabilities() {
+       final public function check_capabilities() {
                if ( $this->capability && ! call_user_func_array( 'current_user_can', (array) $this->capability ) ) {
                        return false;
                }
@@ -240,7 +246,7 @@ class WP_Customize_Panel {
         *
         * @return string Content for the panel.
         */
-       public final function get_content() {
+       final public function get_content() {
                ob_start();
                $this->maybe_render();
                $template = trim( ob_get_contents() );
@@ -253,7 +259,7 @@ class WP_Customize_Panel {
         *
         * @since 4.0.0
         */
-       public final function maybe_render() {
+       final public function maybe_render() {
                if ( ! $this->check_capabilities() ) {
                        return;
                }
index b033203e7fa9394ebeefbb8d86e8d4fe51970161..b852dfbacdf148a281e70006a6e88da8418f0cfb 100644 (file)
@@ -1,13 +1,21 @@
 <?php
 /**
- * Customize Section Class.
- *
- * A UI container for controls, managed by the WP_Customize_Manager.
+ * WordPress Customize Section classes
  *
  * @package WordPress
  * @subpackage Customize
  * @since 3.4.0
  */
+
+/**
+ * Customize Section class.
+ *
+ * A UI container for controls, managed by the WP_Customize_Manager class.
+ *
+ * @since 3.4.0
+ *
+ * @see WP_Customize_Manager
+ */
 class WP_Customize_Section {
 
        /**
@@ -163,8 +171,6 @@ class WP_Customize_Section {
                $this->instance_number = self::$instance_count;
 
                $this->controls = array(); // Users cannot customize the $controls array.
-
-               return $this;
        }
 
        /**
@@ -175,7 +181,7 @@ class WP_Customize_Section {
         *
         * @return bool Whether the section is active to the current preview.
         */
-       public final function active() {
+       final public function active() {
                $section = $this;
                $active = call_user_func( $this->active_callback, $this );
 
@@ -230,7 +236,7 @@ class WP_Customize_Section {
         *
         * @return bool False if theme doesn't support the section or user doesn't have the capability.
         */
-       public final function check_capabilities() {
+       final public function check_capabilities() {
                if ( $this->capability && ! call_user_func_array( 'current_user_can', (array) $this->capability ) ) {
                        return false;
                }
@@ -249,7 +255,7 @@ class WP_Customize_Section {
         *
         * @return string Contents of the section.
         */
-       public final function get_content() {
+       final public function get_content() {
                ob_start();
                $this->maybe_render();
                $template = trim( ob_get_contents() );
@@ -262,7 +268,7 @@ class WP_Customize_Section {
         *
         * @since 3.4.0
         */
-       public final function maybe_render() {
+       final public function maybe_render() {
                if ( ! $this->check_capabilities() ) {
                        return;
                }
@@ -314,10 +320,87 @@ class WP_Customize_Section {
 }
 
 /**
- * Customizer section representing widget area (sidebar).
+ * Customize Themes Section class.
  *
- * @package WordPress
- * @subpackage Customize
+ * A UI container for theme controls, which behaves like a backwards Panel.
+ *
+ * @since 4.2.0
+ *
+ * @see WP_Customize_Section
+ */
+class WP_Customize_Themes_Section extends WP_Customize_Section {
+
+       /**
+        * Customize section type.
+        *
+        * @since 4.2.0
+        * @access public
+        * @var string
+        */
+       public $type = 'themes';
+
+       /**
+        * Render the themes section, which behaves like a panel.
+        *
+        * @since 4.2.0
+        * @access protected
+        */
+       protected function render() {
+               $classes = 'accordion-section control-section control-section-' . $this->type;
+               ?>
+               <li id="accordion-section-<?php echo esc_attr( $this->id ); ?>" class="<?php echo esc_attr( $classes ); ?>">
+                       <h3 class="accordion-section-title">
+                               <?php
+                               if ( $this->manager->is_theme_active() ) {
+                                       /* translators: %s: theme name */
+                                       printf( __( '<span>Active theme</span> %s' ), $this->title );
+                               } else {
+                                       /* translators: %s: theme name */
+                                       printf( __( '<span>Previewing theme</span> %s' ), $this->title );
+                               }
+                               ?>
+
+                               <button type="button" class="button change-theme"><?php _ex( 'Change', 'theme' ); ?></button>
+                       </h3>
+                       <div class="customize-themes-panel control-panel-content themes-php">
+                               <h2>
+                                       <?php _e( 'Themes' ); ?>
+                                       <span class="title-count theme-count"><?php echo count( $this->controls ) + 1 /* Active theme */; ?></span>
+                               </h2>
+
+                               <h3 class="accordion-section-title customize-section-title">
+                                       <?php
+                                       if ( $this->manager->is_theme_active() ) {
+                                               /* translators: %s: theme name */
+                                               printf( __( '<span>Active theme</span> %s' ), $this->title );
+                                       } else {
+                                               /* translators: %s: theme name */
+                                               printf( __( '<span>Previewing theme</span> %s' ), $this->title );
+                                       }
+                                       ?>
+                                       <button type="button" class="button customize-theme"><?php _e( 'Customize' ); ?></button>
+                               </h3>
+
+                               <div class="theme-overlay" tabindex="0" role="dialog" aria-label="<?php esc_attr_e( 'Theme Details' ); ?>"></div>
+
+                               <div id="customize-container"></div>
+                               <?php if ( count( $this->controls ) > 4 ) : ?>
+                                       <p><label for="themes-filter">
+                                               <span class="screen-reader-text"><?php _e( 'Search installed themes...' ); ?></span>
+                                               <input type="text" id="themes-filter" placeholder="<?php esc_attr_e( 'Search installed themes...' ); ?>" />
+                                       </label></p>
+                               <?php endif; ?>
+                               <div class="theme-browser rendered">
+                                       <ul class="themes accordion-section-content">
+                                       </ul>
+                               </div>
+                       </div>
+               </li>
+<?php }
+}
+
+/**
+ * Customizer section representing widget area (sidebar).
  *
  * @since 4.1.0
  *
index d8bf1e2371c076299f0ea619f3f6574986c78cb9..f8f9ce083b9d786d508db9f27044ba8759a828d0 100644 (file)
@@ -1,13 +1,21 @@
 <?php
 /**
- * Customize Setting Class.
- *
- * Handles saving and sanitizing of settings.
+ * WordPress Customize Setting classes
  *
  * @package WordPress
  * @subpackage Customize
  * @since 3.4.0
  */
+
+/**
+ * Customize Setting class.
+ *
+ * Handles saving and sanitizing of settings.
+ *
+ * @since 3.4.0
+ *
+ * @see WP_Customize_Manager
+ */
 class WP_Customize_Setting {
        /**
         * @access public
@@ -52,15 +60,21 @@ class WP_Customize_Setting {
        public $sanitize_callback    = '';
        public $sanitize_js_callback = '';
 
-       protected $id_data = array();
-
        /**
-        * Cached and sanitized $_POST value for the setting.
+        * Whether or not the setting is initially dirty when created.
         *
-        * @access private
-        * @var mixed
+        * This is used to ensure that a setting will be sent from the pane to the
+        * preview when loading the Customizer. Normally a setting only is synced to
+        * the preview if it has been changed. This allows the setting to be sent
+        * from the start.
+        *
+        * @since 4.2.0
+        * @access public
+        * @var bool
         */
-       private $_post_value;
+       public $dirty = false;
+
+       protected $id_data = array();
 
        /**
         * Constructor.
@@ -73,7 +87,6 @@ class 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
         */
        public function __construct( $manager, $id, $args = array() ) {
                $keys = array_keys( get_object_vars( $this ) );
@@ -99,10 +112,39 @@ class WP_Customize_Setting {
 
                if ( $this->sanitize_js_callback )
                        add_filter( "customize_sanitize_js_{$this->id}", $this->sanitize_js_callback, 10, 2 );
+       }
+
+       /**
+        * The ID for the current blog when the preview() method was called.
+        *
+        * @since 4.2.0
+        * @access protected
+        * @var int
+        */
+       protected $_previewed_blog_id;
 
-               return $this;
+       /**
+        * Return true if the current blog is not the same as the previewed blog.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @return bool|null Returns null if preview() has not been called yet.
+        */
+       public function is_current_blog_previewed() {
+               if ( ! isset( $this->_previewed_blog_id ) ) {
+                       return null;
+               }
+               return ( get_current_blog_id() === $this->_previewed_blog_id );
        }
 
+       /**
+        * Original non-previewed value stored by the preview method.
+        *
+        * @see WP_Customize_Setting::preview()
+        * @since 4.1.1
+        * @var mixed
+        */
        protected $_original_value;
 
        /**
@@ -114,6 +156,9 @@ class WP_Customize_Setting {
                if ( ! isset( $this->_original_value ) ) {
                        $this->_original_value = $this->value();
                }
+               if ( ! isset( $this->_previewed_blog_id ) ) {
+                       $this->_previewed_blog_id = get_current_blog_id();
+               }
 
                switch( $this->type ) {
                        case 'theme_mod' :
@@ -158,6 +203,10 @@ class WP_Customize_Setting {
        /**
         * Callback function to filter the theme mods and options.
         *
+        * If switch_to_blog() was called after the preview() method, and the current
+        * blog is now not the same blog, then this method does a no-op and returns
+        * the original value.
+        *
         * @since 3.4.0
         * @uses WP_Customize_Setting::multidimensional_replace()
         *
@@ -165,8 +214,12 @@ class WP_Customize_Setting {
         * @return mixed New or old value.
         */
        public function _preview_filter( $original ) {
+               if ( ! $this->is_current_blog_previewed() ) {
+                       return $original;
+               }
+
                $undefined = new stdClass(); // symbol hack
-               $post_value = $this->manager->post_value( $this, $undefined );
+               $post_value = $this->post_value( $undefined );
                if ( $undefined === $post_value ) {
                        $value = $this->_original_value;
                } else {
@@ -184,7 +237,7 @@ class WP_Customize_Setting {
         *
         * @return false|null False if cap check fails or value isn't set.
         */
-       public final function save() {
+       final public function save() {
                $value = $this->post_value();
 
                if ( ! $this->check_capabilities() || ! isset( $value ) )
@@ -213,18 +266,8 @@ class WP_Customize_Setting {
         * @param mixed $default A default value which is used as a fallback. Default is null.
         * @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 ) )
-                       return $this->_post_value = $result;
-               else
-                       return $default;
+       final public function post_value( $default = null ) {
+               return $this->manager->post_value( $this, $default );
        }
 
        /**
@@ -399,7 +442,7 @@ class WP_Customize_Setting {
         *
         * @return bool False if theme doesn't support the setting or user can't change setting, otherwise true.
         */
-       public final function check_capabilities() {
+       final public function check_capabilities() {
                if ( $this->capability && ! call_user_func_array( 'current_user_can', (array) $this->capability ) )
                        return false;
 
@@ -521,9 +564,9 @@ class WP_Customize_Setting {
  *
  * Results should be properly handled using another setting or callback.
  *
- * @package WordPress
- * @subpackage Customize
  * @since 3.4.0
+ *
+ * @see WP_Customize_Setting
  */
 class WP_Customize_Filter_Setting extends WP_Customize_Setting {
 
@@ -538,9 +581,9 @@ class WP_Customize_Filter_Setting extends WP_Customize_Setting {
  *
  * Results should be properly handled using another setting or callback.
  *
- * @package WordPress
- * @subpackage Customize
  * @since 3.4.0
+ *
+ * @see WP_Customize_Setting
  */
 final class WP_Customize_Header_Image_Setting extends WP_Customize_Setting {
        public $id = 'header_image_data';
@@ -566,11 +609,11 @@ final class WP_Customize_Header_Image_Setting extends WP_Customize_Setting {
 }
 
 /**
- * Class WP_Customize_Background_Image_Setting
+ * Customizer Background Image Setting class.
  *
- * @package WordPress
- * @subpackage Customize
  * @since 3.4.0
+ *
+ * @see WP_Customize_Setting
  */
 final class WP_Customize_Background_Image_Setting extends WP_Customize_Setting {
        public $id = 'background_image_thumb';
index ad5742fabef53ffcd93e964219c443f89f27e525..1a87581ebe6b90f7590d8f7b3905e565f7f455d1 100644 (file)
@@ -1,13 +1,21 @@
 <?php
 /**
- * Customize Widgets Class
- *
- * Implements widget management in the Customizer.
+ * WordPress Customize Widgets classes
  *
  * @package WordPress
  * @subpackage Customize
  * @since 3.9.0
  */
+
+/**
+ * Customize Widgets class.
+ *
+ * Implements widget management in the Customizer.
+ *
+ * @since 3.9.0
+ *
+ * @see WP_Customize_Manager
+ */
 final class WP_Customize_Widgets {
 
        /**
@@ -32,40 +40,38 @@ final class WP_Customize_Widgets {
                '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();
+       protected $rendered_sidebars = array();
 
        /**
         * @since 3.9.0
         * @access protected
         * @var array
         */
-       protected $rendered_sidebars = array();
+       protected $rendered_widgets = array();
 
        /**
         * @since 3.9.0
         * @access protected
         * @var array
         */
-       protected $rendered_widgets = array();
+       protected $old_sidebars_widgets = array();
 
        /**
-        * @since 3.9.0
+        * Mapping of setting type to setting ID pattern.
+        *
+        * @since 4.2.0
         * @access protected
         * @var array
         */
-       protected $old_sidebars_widgets = array();
+       protected $setting_id_patterns = array(
+               'widget_instance' => '/^(widget_.+?)(?:\[(\d+)\])?$/',
+               'sidebar_widgets' => '/^sidebars_widgets\[(.+?)\]$/',
+       );
 
        /**
         * Initial loader.
@@ -78,7 +84,8 @@ final class WP_Customize_Widgets {
        public function __construct( $manager ) {
                $this->manager = $manager;
 
-               add_action( 'after_setup_theme',                       array( $this, 'setup_widget_addition_previews' ) );
+               add_filter( 'customize_dynamic_setting_args',          array( $this, 'filter_customize_dynamic_setting_args' ), 10, 2 );
+               add_action( 'after_setup_theme',                       array( $this, 'register_settings' ) );
                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 );
@@ -88,6 +95,7 @@ final class WP_Customize_Widgets {
                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_filter( 'customize_refresh_nonces',                array( $this, 'refresh_nonces' ) );
 
                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 );
@@ -95,193 +103,94 @@ final class WP_Customize_Widgets {
        }
 
        /**
-        * Get an unslashed post value or return a default.
-        *
-        * @since 3.9.0
+        * Get the widget setting type given a setting ID.
         *
+        * @since 4.2.0
         * @access protected
         *
-        * @param string $name    Post value.
-        * @param mixed  $default Default post value.
-        * @return mixed Unslashed post value or default value.
+        * @param $setting_id Setting ID.
+        * @return string|null Setting type. Null otherwise.
         */
-       protected function get_post_value( $name, $default = null ) {
-               if ( ! isset( $_POST[ $name ] ) ) {
-                       return $default;
+       protected function get_setting_type( $setting_id ) {
+               static $cache = array();
+               if ( isset( $cache[ $setting_id ] ) ) {
+                       return $cache[ $setting_id ];
                }
-
-               return wp_unslash( $_POST[$name] );
+               foreach ( $this->setting_id_patterns as $type => $pattern ) {
+                       if ( preg_match( $pattern, $setting_id ) ) {
+                               $cache[ $setting_id ] = $type;
+                               return $type;
+                       }
+               }
+               return null;
        }
 
        /**
-        * 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
+        * Inspect the incoming customized data for any widget settings, and dynamically add them up-front so widgets will be initialized properly.
         *
+        * @since 4.2.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();
+       public function register_settings() {
+               $widget_setting_ids = array();
+               $incoming_setting_ids = array_keys( $this->manager->unsanitized_post_values() );
+               foreach ( $incoming_setting_ids as $setting_id ) {
+                       if ( ! is_null( $this->get_setting_type( $setting_id ) ) ) {
+                               $widget_setting_ids[] = $setting_id;
                        }
                }
+               if ( $this->manager->doing_ajax( 'update-widget' ) && isset( $_REQUEST['widget-id'] ) ) {
+                       $widget_setting_ids[] = $this->get_setting_id( wp_unslash( $_REQUEST['widget-id'] ) );
+               }
 
-               $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' );
-                               }
+               $settings = $this->manager->add_dynamic_settings( array_unique( $widget_setting_ids ) );
 
-                               /*
-                                * 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() );
+               /*
+                * Preview settings right away so that widgets and sidebars will get registered properly.
+                * But don't do this if a customize_save because this will cause WP to think there is nothing
+                * changed that needs to be saved.
+                */
+               if ( ! $this->manager->doing_ajax( 'customize_save' ) ) {
+                       foreach ( $settings as $setting ) {
+                               $setting->preview();
                        }
                }
        }
 
        /**
-        * 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.
+        * Determine the arguments for a dynamically-created setting.
         *
-        * @since 3.9.0
+        * @since 4.2.0
         * @access public
         *
-        * @param array $sidebars_widgets Associative array of sidebars and their widgets.
-        * @return array Filtered array of sidebars and their widgets.
+        * @param false|array $setting_args The arguments to the WP_Customize_Setting constructor.
+        * @param string      $setting_id   ID for dynamic setting, usually coming from `$_POST['customized']`.
+        * @return false|array Setting arguments, false otherwise.
         */
-       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;
-                       }
+       public function filter_customize_dynamic_setting_args( $args, $setting_id ) {
+               if ( $this->get_setting_type( $setting_id ) ) {
+                       $args = $this->get_setting_args( $setting_id );
                }
-               return $sidebars_widgets;
+               return $args;
        }
 
        /**
-        * 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.
+        * Get an unslashed post value or return a default.
         *
         * @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'.
+        * @access protected
         *
-        * @since 3.9.0
-        * @access public
+        * @param string $name    Post value.
+        * @param mixed  $default Default post value.
+        * @return mixed Unslashed post value or default value.
         */
-       public function remove_prepreview_filters() {
-               foreach ( $this->_prepreview_added_filters as $prepreview_added_filter ) {
-                       remove_filter( $prepreview_added_filter['hook'], $prepreview_added_filter['function'] );
+       protected function get_post_value( $name, $default = null ) {
+               if ( ! isset( $_POST[ $name ] ) ) {
+                       return $default;
                }
-               $this->_prepreview_added_filters = array();
+
+               return wp_unslash( $_POST[ $name ] );
        }
 
        /**
@@ -310,6 +219,7 @@ final class WP_Customize_Widgets {
                $sidebars_widgets = $this->old_sidebars_widgets;
                $sidebars_widgets = retrieve_widgets( 'customize' );
                add_filter( 'option_sidebars_widgets', array( $this, 'filter_option_sidebars_widgets_for_theme_switch' ), 1 );
+               unset( $GLOBALS['_wp_sidebars_widgets'] ); // reset global cache var used by wp_get_sidebars_widgets()
        }
 
        /**
@@ -380,7 +290,7 @@ final class WP_Customize_Widgets {
         * @access public
         */
        public function schedule_customize_register() {
-               if ( is_admin() ) { // @todo for some reason, $wp_customize->is_preview() is true here?
+               if ( is_admin() ) {
                        $this->customize_register();
                } else {
                        add_action( 'wp', array( $this, 'customize_register' ) );
@@ -412,12 +322,9 @@ final class WP_Customize_Widgets {
                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 );
-
+                       if ( ! $this->manager->get_setting( $setting_id ) ) {
+                               $this->manager->add_setting( $setting_id, $setting_args );
+                       }
                        $new_setting_ids[] = $setting_id;
                }
 
@@ -429,6 +336,7 @@ final class WP_Customize_Widgets {
                        $setting_id = 'old_sidebars_widgets_data';
                        $setting_args = $this->get_setting_args( $setting_id, array(
                                'type' => 'global_variable',
+                               'dirty' => true,
                        ) );
                        $this->manager->add_setting( $setting_id, $setting_args );
                }
@@ -452,11 +360,12 @@ final class WP_Customize_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 );
+                               if ( ! $this->manager->get_setting( $setting_id ) ) {
+                                       if ( ! $this->manager->is_theme_active() ) {
+                                               $setting_args['dirty'] = true;
+                                       }
+                                       $this->manager->add_setting( $setting_id, $setting_args );
+                               }
                                $new_setting_ids[] = $setting_id;
 
                                // Add section to contain controls.
@@ -523,16 +432,13 @@ final class WP_Customize_Widgets {
                        }
                }
 
-               /*
-                * 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' ) ) {
+               if ( ! $this->manager->doing_ajax( 'customize_save' ) ) {
                        foreach ( $new_setting_ids as $new_setting_id ) {
                                $this->manager->get_setting( $new_setting_id )->preview();
                        }
                }
-               $this->remove_prepreview_filters();
+
+               add_filter( 'sidebars_widgets', array( $this, 'preview_sidebars_widgets' ), 1 );
        }
 
        /**
@@ -762,11 +668,13 @@ final class WP_Customize_Widgets {
                                <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>
+                       <div id="available-widgets-list">
                        <?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-list -->
                </div><!-- #available-widgets -->
                </div><!-- #widgets-left -->
                <?php
@@ -804,6 +712,15 @@ final class WP_Customize_Widgets {
                        'transport'  => 'refresh',
                        'default'    => array(),
                );
+
+               if ( preg_match( $this->setting_id_patterns['sidebar_widgets'], $id, $matches ) ) {
+                       $args['sanitize_callback'] = array( $this, 'sanitize_sidebar_widgets' );
+                       $args['sanitize_js_callback'] = array( $this, 'sanitize_sidebar_widgets_js_instance' );
+               } else if ( preg_match( $this->setting_id_patterns['widget_instance'], $id, $matches ) ) {
+                       $args['sanitize_callback'] = array( $this, 'sanitize_widget_instance' );
+                       $args['sanitize_js_callback'] = array( $this, 'sanitize_widget_js_instance' );
+               }
+
                $args = array_merge( $args, $overrides );
 
                /**
@@ -831,15 +748,10 @@ final class WP_Customize_Widgets {
         * @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 );
+               $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;
-                       }
+                       $sanitized_widget_ids[] = preg_replace( '/[^a-z0-9_\-]/', '', $widget_id );
                }
                return $sanitized_widget_ids;
        }
@@ -956,7 +868,7 @@ final class WP_Customize_Widgets {
 
                call_user_func_array( 'wp_widget_control', $args );
                $replacements = array(
-                       '<form action="" method="post">' => '<div class="form">',
+                       '<form method="post">' => '<div class="form">',
                        '</form>' => '</div><!-- .form -->',
                );
 
@@ -974,12 +886,25 @@ final class WP_Customize_Widgets {
         * @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 );
        }
 
+       /**
+        * Refresh nonce for widget updates.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @param  array $nonces Array of nonces.
+        * @return array $nonces Array of nonces.
+        */
+       public function refresh_nonces( $nonces ) {
+               $nonces['update-widget'] = wp_create_nonce( 'update-widget' );
+               return $nonces;
+       }
+
        /**
         * When previewing, make sure the proper previewing widgets are used.
         *
@@ -1315,8 +1240,8 @@ final class WP_Customize_Widgets {
 
                // Clean up any input vars that were manually added
                foreach ( $added_input_vars as $key ) {
-                       unset( $_POST[$key] );
-                       unset( $_REQUEST[$key] );
+                       unset( $_POST[ $key ] );
+                       unset( $_REQUEST[ $key ] );
                }
 
                // Make sure the expected option was updated.
@@ -1333,25 +1258,31 @@ final class WP_Customize_Widgets {
                        }
                }
 
+               // Obtain the widget instance.
+               $option = $this->get_captured_option( $option_name );
+               if ( null !== $parsed_id['number'] ) {
+                       $instance = $option[ $parsed_id['number'] ];
+               } else {
+                       $instance = $option;
+               }
+
+               /*
+                * Override the incoming $_POST['customized'] for a newly-created widget's
+                * setting with the new $instance so that the preview filter currently
+                * in place from WP_Customize_Setting::preview() will use this value
+                * instead of the default widget instance value (an empty array).
+                */
+               $setting_id = $this->get_setting_id( $widget_id );
+               $this->manager->set_post_value( $setting_id, $instance );
+
                // Obtain the widget control with the updated instance in place.
                ob_start();
-
-               $form = $wp_registered_widget_controls[$widget_id];
+               $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' );
@@ -1383,8 +1314,8 @@ final class WP_Customize_Widgets {
                        wp_die( -1 );
                }
 
-               if ( ! isset( $_POST['widget-id'] ) ) {
-                       wp_send_json_error();
+               if ( empty( $_POST['widget-id'] ) ) {
+                       wp_send_json_error( 'missing_widget-id' );
                }
 
                /** This action is documented in wp-admin/includes/ajax-actions.php */
@@ -1398,15 +1329,22 @@ final class WP_Customize_Widgets {
 
                $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();
+               $id_base = $parsed_id['id_base'];
+
+               $is_updating_widget_template = (
+                       isset( $_POST[ 'widget-' . $id_base ] )
+                       &&
+                       is_array( $_POST[ 'widget-' . $id_base ] )
+                       &&
+                       preg_match( '/__i__|%i%/', key( $_POST[ 'widget-' . $id_base ] ) )
+               );
+               if ( $is_updating_widget_template ) {
+                       wp_send_json_error( 'template_widget_not_updatable' );
                }
 
                $updated_widget = $this->call_widget_update( $widget_id ); // => {instance,form}
                if ( is_wp_error( $updated_widget ) ) {
-                       wp_send_json_error();
+                       wp_send_json_error( $updated_widget->get_error_message() );
                }
 
                $form = $updated_widget['form'];
@@ -1462,6 +1400,25 @@ final class WP_Customize_Widgets {
                return $this->_captured_options;
        }
 
+       /**
+        * Get the option that was captured from being saved.
+        *
+        * @since 4.2.0
+        * @access protected
+        *
+        * @param string $option_name Option name.
+        * @param mixed  $default     Optional. Default value to return if the option does not exist.
+        * @return mixed Value set for the option.
+        */
+       protected function get_captured_option( $option_name, $default = false ) {
+               if ( array_key_exists( $option_name, $this->_captured_options ) ) {
+                       $value = $this->_captured_options[ $option_name ];
+               } else {
+                       $value = $default;
+               }
+               return $value;
+       }
+
        /**
         * Get the number of captured widget option updates.
         *
@@ -1496,21 +1453,21 @@ final class WP_Customize_Widgets {
         * @since 3.9.0
         * @access public
         *
-        * @param mixed $new_value
-        * @param string $option_name
-        * @param mixed $old_value
-        * @return mixed
+        * @param mixed  $new_value   The new option value.
+        * @param string $option_name Name of the option.
+        * @param mixed  $old_value   The old option value.
+        * @return mixed Filtered option value.
         */
        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] ) ) {
+               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;
+               $this->_captured_options[ $option_name ] = $new_value;
 
                return $old_value;
        }
@@ -1521,14 +1478,14 @@ final class WP_Customize_Widgets {
         * @since 3.9.0
         * @access public
         *
-        * @param mixed $value Option
-        * @return mixed
+        * @param mixed $value Value to return instead of the option value.
+        * @return mixed Filtered option value.
         */
        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];
+               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 );
@@ -1557,4 +1514,36 @@ final class WP_Customize_Widgets {
                $this->_captured_options = array();
                $this->_is_capturing_option_updates = false;
        }
+
+       /**
+        * @since 3.9.0
+        * @deprecated 4.2.0 Deprecated in favor of customize_dynamic_setting_args filter.
+        */
+       public function setup_widget_addition_previews() {
+               _deprecated_function( __METHOD__, '4.2.0' );
+       }
+
+       /**
+        * @since 3.9.0
+        * @deprecated 4.2.0 Deprecated in favor of customize_dynamic_setting_args filter.
+        */
+       public function prepreview_added_sidebars_widgets() {
+               _deprecated_function( __METHOD__, '4.2.0' );
+       }
+
+       /**
+        * @since 3.9.0
+        * @deprecated 4.2.0 Deprecated in favor of customize_dynamic_setting_args filter.
+        */
+       public function prepreview_added_widget_instance() {
+               _deprecated_function( __METHOD__, '4.2.0' );
+       }
+
+       /**
+        * @since 3.9.0
+        * @deprecated 4.2.0 Deprecated in favor of customize_dynamic_setting_args filter.
+        */
+       public function remove_prepreview_filters() {
+               _deprecated_function( __METHOD__, '4.2.0' );
+       }
 }
index 6148583d0c2b4262143dc281d3eb173a3c6f3361..ae02621539284d96f90b1064ac9910c2e4d31d06 100644 (file)
@@ -354,6 +354,7 @@ final class _WP_Editors {
                                                'wordpress',
                                                'wpautoresize',
                                                'wpeditimage',
+                                               'wpemoji',
                                                'wpgallery',
                                                'wplink',
                                                'wpdialogs',
@@ -484,15 +485,6 @@ final class _WP_Editors {
                                                ],
                                                strikethrough: {inline: 'del'}
                                        }",
-                                       'block_formats' =>
-                                               'Paragraph=p;' .
-                                               'Pre=pre;' .
-                                               'Heading 1=h1;' .
-                                               'Heading 2=h2;' .
-                                               'Heading 3=h3;' .
-                                               'Heading 4=h4;' .
-                                               'Heading 5=h5;' .
-                                               'Heading 6=h6',
                                        'relative_urls' => false,
                                        'remove_script_host' => false,
                                        'convert_urls' => false,
@@ -506,6 +498,7 @@ final class _WP_Editors {
                                        // Limit the preview styles in the menu/toolbar
                                        'preview_styles' => 'font-family font-size font-weight font-style text-decoration text-transform',
 
+                                       'end_container_on_empty_block' => true,
                                        'wpeditimage_disable_captions' => $no_captions,
                                        'wpeditimage_html5_captions' => current_theme_supports( 'html5', 'caption' ),
                                        'plugins' => implode( ',', $plugins ),
@@ -578,6 +571,12 @@ final class _WP_Editors {
                                 */
                                $mce_buttons = apply_filters( 'mce_buttons', $mce_buttons, $editor_id );
 
+                               $mce_buttons_2 = array( 'formatselect', 'underline', 'alignjustify', 'forecolor', 'pastetext', 'removeformat', 'charmap', 'outdent', 'indent', 'undo', 'redo' );
+
+                               if ( ! wp_is_mobile() ) {
+                                       $mce_buttons_2[] = 'wp_help';
+                               }
+
                                /**
                                 * Filter the second-row list of TinyMCE buttons (Visual tab).
                                 *
@@ -586,7 +585,7 @@ final class _WP_Editors {
                                 * @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 );
+                               $mce_buttons_2 = apply_filters( 'mce_buttons_2', $mce_buttons_2, $editor_id );
 
                                /**
                                 * Filter the third-row list of TinyMCE buttons (Visual tab).
@@ -1245,7 +1244,7 @@ final class _WP_Editors {
                $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');
+               $save = $post && $post->post_status == 'publish' ? __('Update') : __('Save');
 
                ?>
                <div id="wp-fullscreen-body" class="wp-core-ui<?php if ( is_rtl() ) echo ' rtl'; ?>" data-theme-width="<?php echo (int) $width; ?>" data-dfw-width="<?php echo (int) $dfw_width; ?>">
@@ -1310,7 +1309,7 @@ final class _WP_Editors {
 
                <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-saved-message"><?php if ( $post && $post->post_status == 'publish' ) _e('Updated.'); else _e('Saved.'); ?></span>
                        <span class="wp-fullscreen-error-message"><?php _e('Save failed.'); ?></span>
                        <span class="spinner"></span>
                </div>
@@ -1442,13 +1441,13 @@ final class _WP_Editors {
                        <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>
+                                       <label><span><?php _e( 'URL' ); ?></span><input id="wp-link-url" type="text" /></label>
                                </div>
-                               <div>
-                                       <label><span><?php _e( 'Title' ); ?></span><input id="link-title-field" type="text" name="linktitle" /></label>
+                               <div class="wp-link-text-field">
+                                       <label><span><?php _e( 'Link Text' ); ?></span><input id="wp-link-text" type="text" /></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>
+                                       <label><span>&nbsp;</span><input type="checkbox" id="wp-link-target" /> <?php _e( 'Open link in a new window/tab' ); ?></label>
                                </div>
                        </div>
                        <p class="howto"><a href="#" id="wp-link-search-toggle"><?php _e( 'Or link to existing content' ); ?></a></p>
@@ -1456,7 +1455,7 @@ final class _WP_Editors {
                                <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" />
+                                               <input type="search" id="wp-link-search" class="link-search-field" autocomplete="off" />
                                                <span class="spinner"></span>
                                        </label>
                                </div>
index a10024a789a74ae532401574dcd3e792ca8790c4..9569f38df3b78aa08e2a2426cb492fc667bf9f50 100644 (file)
@@ -77,11 +77,9 @@ class WP_Embed {
 
 ?>
 <script type="text/javascript">
-/* <![CDATA[ */
        jQuery(document).ready(function($){
                $.get("<?php echo admin_url( 'admin-ajax.php?action=oembed-cache&post=' . $post->ID, 'relative' ); ?>");
        });
-/* ]]> */
 </script>
 <?php
        }
@@ -126,7 +124,8 @@ class WP_Embed {
         *     @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.
+        * @return string|false The embed HTML on success, otherwise the original URL.
+        *                      `->maybe_make_link()` can return false on failure.
         */
        public function shortcode( $attr, $url = '' ) {
                $post = get_post();
@@ -135,6 +134,7 @@ class WP_Embed {
                        $url = $attr['src'];
                }
 
+
                if ( empty( $url ) )
                        return '';
 
@@ -312,7 +312,7 @@ class WP_Embed {
         * @return string Potentially modified $content.
         */
        public function autoembed( $content ) {
-               return preg_replace_callback( '|^\s*(https?://[^\s"]+)\s*$|im', array( $this, 'autoembed_callback' ), $content );
+               return preg_replace_callback( '|^(\s*)(https?://[^\s"]+)(\s*)$|im', array( $this, 'autoembed_callback' ), $content );
        }
 
        /**
@@ -324,10 +324,10 @@ class WP_Embed {
        public function autoembed_callback( $match ) {
                $oldval = $this->linkifunknown;
                $this->linkifunknown = false;
-               $return = $this->shortcode( array(), $match[1] );
+               $return = $this->shortcode( array(), $match[2] );
                $this->linkifunknown = $oldval;
 
-               return "\n$return\n";
+               return $match[1] . $return . $match[3];
        }
 
        /**
index cee2affb991696a2bd925b5238fe6fe0dc36c70f..c1b07ab6374a5efa935c0329a5a3fc1c20f5a3ca 100644 (file)
@@ -24,18 +24,16 @@ class WP_Error {
         *
         * @since 2.1.0
         * @var array
-        * @access private
         */
-       private $errors = array();
+       public $errors = array();
 
        /**
         * Stores the list of data for error codes.
         *
         * @since 2.1.0
         * @var array
-        * @access private
         */
-       private $error_data = array();
+       public $error_data = array();
 
        /**
         * Initialize the error.
@@ -53,7 +51,6 @@ class WP_Error {
         * @param string|int $code Error code
         * @param string $message Error message
         * @param mixed $data Optional. Error data.
-        * @return WP_Error
         */
        public function __construct( $code = '', $message = '', $data = '' ) {
                if ( empty($code) )
@@ -65,58 +62,6 @@ class WP_Error {
                        $this->error_data[$code] = $data;
        }
 
-       /**
-        * Make private properties readable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to get.
-        * @return mixed Property.
-        */
-       public function __get( $name ) {
-               return $this->$name;
-       }
-
-       /**
-        * Make private properties settable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name  Property to set.
-        * @param mixed  $value Property value.
-        * @return mixed Newly-set property.
-        */
-       public function __set( $name, $value ) {
-               return $this->$name = $value;
-       }
-
-       /**
-        * Make private properties checkable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to check if set.
-        * @return bool Whether the property is set.
-        */
-       public function __isset( $name ) {
-               return isset( $this->$name );
-       }
-
-       /**
-        * Make private properties un-settable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to unset.
-        */
-       public function __unset( $name ) {
-               unset( $this->$name );
-       }
-
        /**
         * Retrieve all error codes.
         *
@@ -269,8 +214,6 @@ class WP_Error {
  * @param mixed $thing Check if unknown variable is a WP_Error object.
  * @return bool True, if WP_Error. False, if not WP_Error.
  */
-function is_wp_error($thing) {
-       if ( is_object($thing) && is_a($thing, 'WP_Error') )
-               return true;
-       return false;
+function is_wp_error( $thing ) {
+       return ( $thing instanceof WP_Error );
 }
index ddba1ff8bb5e47329f0e2e0de3644e67a93b72e3..371552c28c14b468b2475af0be8f19477e6a33dc 100644 (file)
@@ -231,8 +231,9 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
                        }
 
                        $image = $this->_resize( $size_data['width'], $size_data['height'], $size_data['crop'] );
+                       $duplicate = ( ( $orig_size['width'] == $size_data['width'] ) && ( $orig_size['height'] == $size_data['height'] ) );
 
-                       if( ! is_wp_error( $image ) ) {
+                       if ( ! is_wp_error( $image ) && ! $duplicate ) {
                                $resized = $this->_save( $image );
 
                                imagedestroy( $image );
@@ -306,9 +307,12 @@ class WP_Image_Editor_GD extends WP_Image_Editor {
         */
        public function rotate( $angle ) {
                if ( function_exists('imagerotate') ) {
-                       $rotated = imagerotate( $this->image, $angle, 0 );
+                       $transparency = imagecolorallocatealpha( $this->image, 255, 255, 255, 127 );
+                       $rotated = imagerotate( $this->image, $angle, $transparency );
 
                        if ( is_resource( $rotated ) ) {
+                               imagealphablending( $rotated, true );
+                               imagesavealpha( $rotated, true );
                                imagedestroy( $this->image );
                                $this->image = $rotated;
                                $this->update_size();
index 843b85c541076983ca21f65c938c60929acbb5bc..a70bebdaebdacf0e29441f694185ad7eddd2c705 100644 (file)
@@ -190,6 +190,8 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
         *
         * @param int $width
         * @param int $height
+        *
+        * @return true|WP_Error
         */
        protected function update_size( $width = null, $height = null ) {
                $size = null;
@@ -299,8 +301,9 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
                        }
 
                        $resize_result = $this->resize( $size_data['width'], $size_data['height'], $size_data['crop'] );
+                       $duplicate = ( ( $orig_size['width'] == $size_data['width'] ) && ( $orig_size['height'] == $size_data['height'] ) );
 
-                       if( ! is_wp_error( $resize_result ) ) {
+                       if ( ! is_wp_error( $resize_result ) && ! $duplicate ) {
                                $resized = $this->_save( $this->image );
 
                                $this->image->clear();
@@ -327,7 +330,6 @@ class WP_Image_Editor_Imagick extends WP_Image_Editor {
         * @since 3.5.0
         * @access public
         *
-        * @param string|int $src The source file or Attachment ID.
         * @param int $src_x The start x position to crop from.
         * @param int $src_y The start y position to crop from.
         * @param int $src_w The width to crop.
index fcca5574b875d6a0eff71a3c45dbb60870f913b7..58643d42e431e51431bb8e916cb82cec837dd75a 100644 (file)
@@ -125,7 +125,6 @@ abstract class WP_Image_Editor {
         * @access public
         * @abstract
         *
-        * @param string|int $src The source file or Attachment ID.
         * @param int $src_x The start x position to crop from.
         * @param int $src_y The start y position to crop from.
         * @param int $src_w The width to crop.
@@ -194,6 +193,7 @@ abstract class WP_Image_Editor {
         *
         * @param int $width
         * @param int $height
+        * @return true
         */
        protected function update_size( $width = null, $height = null ) {
                $this->size = array(
@@ -388,7 +388,7 @@ abstract class WP_Image_Editor {
         * @since 3.5.0
         * @access public
         *
-        * @return string suffix
+        * @return false|string suffix
         */
        public function get_suffix() {
                if ( ! $this->get_size() )
index a02d5f67821e57a7bbd86388ad958cecd7422f96..b0115aef60ad4dd376e56b9a4b42c7050047c09b 100644 (file)
@@ -274,7 +274,7 @@ final class WP_Theme implements ArrayAccess {
                // Set the parent, if we're a child theme.
                if ( $this->template != $this->stylesheet ) {
                        // If we are a parent, then there is a problem. Only two generations allowed! Cancel things out.
-                       if ( is_a( $_child, 'WP_Theme' ) && $_child->template == $this->stylesheet ) {
+                       if ( $_child instanceof WP_Theme && $_child->template == $this->stylesheet ) {
                                $_child->parent = null;
                                $_child->errors = new WP_Error( 'theme_parent_invalid', sprintf( __( 'The "%s" theme is not a valid parent theme.' ), $_child->template ) );
                                $_child->cache_add( 'theme', array( 'headers' => $_child->headers, 'errors' => $_child->errors, 'stylesheet' => $_child->stylesheet, 'template' => $_child->template ) );
@@ -636,6 +636,9 @@ final class WP_Theme implements ArrayAccess {
                        case 'Tags' :
                                $value = array_filter( array_map( 'trim', explode( ',', strip_tags( $value ) ) ) );
                                break;
+                       case 'Version' :
+                               $value = strip_tags( $value );
+                               break;
                }
 
                return $value;
@@ -1033,8 +1036,8 @@ final class WP_Theme implements ArrayAccess {
         * @since 3.4.0
         * @access public
         *
-        * @return bool If the textdomain was successfully loaded or has already been loaded. False if
-        *      no textdomain was specified in the file headers, or if the domain could not be loaded.
+        * @return bool True if the textdomain was successfully loaded or has already been loaded.
+        *      False if no textdomain was specified in the file headers, or if the domain could not be loaded.
         */
        public function load_textdomain() {
                if ( isset( $this->textdomain_loaded ) )
index 25191641c0cfd9ae3eeaab8108b6470f16d805ee..f1d759789244115730fab602dc7285bb02801d7f 100644 (file)
@@ -25,19 +25,17 @@ class Walker {
         * DB fields to use.
         *
         * @since 2.1.0
-        * @access protected
         * @var array
         */
-       protected $db_fields;
+       public $db_fields;
 
        /**
         * Max number of pages walked by the paged walker
         *
         * @since 2.7.0
-        * @access protected
         * @var int
         */
-       protected $max_pages = 1;
+       public $max_pages = 1;
 
        /**
         * Whether the current element has children or not.
@@ -45,62 +43,9 @@ class Walker {
         * To be used in start_el().
         *
         * @since 4.0.0
-        * @access protected
         * @var bool
         */
-       protected $has_children;
-
-       /**
-        * Make private properties readable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to get.
-        * @return mixed Property.
-        */
-       public function __get( $name ) {
-               return $this->$name;
-       }
-
-       /**
-        * Make private properties settable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name  Property to set.
-        * @param mixed  $value Property value.
-        * @return mixed Newly-set property.
-        */
-       public function __set( $name, $value ) {
-               return $this->$name = $value;
-       }
-
-       /**
-        * Make private properties checkable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to check if set.
-        * @return bool Whether the property is set.
-        */
-       public function __isset( $name ) {
-               return isset( $this->$name );
-       }
-
-       /**
-        * Make private properties un-settable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to unset.
-        */
-       public function __unset( $name ) {
-               unset( $this->$name );
-       }
+       public $has_children;
 
        /**
         * Starts the list before the elements are added.
index 89bf512930c108e907a241b680936c0978d76e78..10c593d2a49d0e0c3d057d6e7557fea10a2443fa 100644 (file)
@@ -41,8 +41,6 @@ class wp_xmlrpc_server extends IXR_Server {
         * or replace XMLRPC methods.
         *
         * @since 1.5.0
-        *
-        * @return wp_xmlrpc_server
         */
        public function __construct() {
                $this->methods = array(
@@ -163,7 +161,10 @@ class wp_xmlrpc_server extends IXR_Server {
         * @return mixed|bool Return value of the callback, false otherwise.
         */
        public function __call( $name, $arguments ) {
-               return call_user_func_array( array( $this, $name ), $arguments );
+               if ( '_multisite_getUsersBlogs' === $name ) {
+                       return call_user_func_array( array( $this, $name ), $arguments );
+               }
+               return false;
        }
 
        public function serve_request() {
@@ -1116,13 +1117,13 @@ class wp_xmlrpc_server extends IXR_Server {
                        return $this->error;
 
                // convert the date field back to IXR form
-               if ( isset( $content_struct['post_date'] ) && ! is_a( $content_struct['post_date'], 'IXR_Date' ) ) {
+               if ( isset( $content_struct['post_date'] ) && ! ( $content_struct['post_date'] instanceof IXR_Date ) ) {
                        $content_struct['post_date'] = $this->_convert_date( $content_struct['post_date'] );
                }
 
                // ignore the existing GMT date if it is empty or a non-GMT date was supplied in $content_struct,
                // since _insert_post will ignore the non-GMT date if the GMT date is set
-               if ( isset( $content_struct['post_date_gmt'] ) && ! is_a( $content_struct['post_date_gmt'], 'IXR_Date' ) ) {
+               if ( isset( $content_struct['post_date_gmt'] ) && ! ( $content_struct['post_date_gmt'] instanceof IXR_Date ) ) {
                        if ( $content_struct['post_date_gmt'] == '0000-00-00 00:00:00' || isset( $content_struct['post_date'] ) ) {
                                unset( $content_struct['post_date_gmt'] );
                        } else {
@@ -1519,7 +1520,7 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @uses get_post()
         * @param array $args Method parameters. Contains:
-        *  - int     $blog_id (unset)
+        *  - int     $blog_id (unused)
         *  - string  $username
         *  - string  $password
         *  - int     $post_id
@@ -2545,8 +2546,6 @@ class wp_xmlrpc_server extends IXR_Server {
                // Items not escaped here will be escaped in newPost.
                $username       = $this->escape($args[1]);
                $password       = $this->escape($args[2]);
-               $page           = $args[3];
-               $publish        = $args[4];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -2917,7 +2916,7 @@ class wp_xmlrpc_server extends IXR_Server {
                        return $this->error;
 
                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.' ) );
+                       return new IXR_Error( 401, __( 'Sorry, you must be able to edit posts on this site in order to view categories.' ) );
 
                /** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
                do_action( 'xmlrpc_call', 'wp.suggestCategories' );
@@ -3098,7 +3097,7 @@ class wp_xmlrpc_server extends IXR_Server {
         *
         * @since 2.7.0
         *
-        * @param array $args. Contains:
+        * @param array $args Contains:
         *  - blog_id (unused)
         *  - username
         *  - password
@@ -3211,10 +3210,11 @@ class wp_xmlrpc_server extends IXR_Server {
 
                if ( !$user ) {
                        $logged_in = false;
-                       if ( $allow_anon && get_option('comment_registration') )
+                       if ( $allow_anon && get_option('comment_registration') ) {
                                return new IXR_Error( 403, __( 'You must be registered to comment' ) );
-                       else if ( !$allow_anon )
+                       } elseif ( ! $allow_anon ) {
                                return $this->error;
+                       }
                } else {
                        $logged_in = true;
                }
@@ -3634,7 +3634,7 @@ class wp_xmlrpc_server extends IXR_Server {
 
                $formats = get_post_format_strings();
 
-               # find out if they want a list of currently supports formats
+               // find out if they want a list of currently supports formats
                if ( isset( $args[3] ) && is_array( $args[3] ) ) {
                        if ( $args[3]['show-supported'] ) {
                                if ( current_theme_supports( 'post-formats' ) ) {
@@ -4212,7 +4212,6 @@ class wp_xmlrpc_server extends IXR_Server {
                $username  = $args[2];
                $password   = $args[3];
                $content     = $args[4];
-               $publish     = $args[5];
 
                if ( ! $user = $this->login( $username, $password ) ) {
                        return $this->error;
@@ -4278,7 +4277,6 @@ class wp_xmlrpc_server extends IXR_Server {
                $post_ID     = (int) $args[1];
                $username  = $args[2];
                $password   = $args[3];
-               $publish     = $args[4];
 
                if ( !$user = $this->login($username, $password) )
                        return $this->error;
@@ -4448,7 +4446,6 @@ class wp_xmlrpc_server extends IXR_Server {
                                        break;
                                default:
                                        return new IXR_Error( 401, __( 'Invalid post type' ) );
-                                       break;
                        }
                        $author = get_userdata( $content_struct['wp_author_id'] );
                        if ( ! $author )
@@ -4736,7 +4733,6 @@ class wp_xmlrpc_server extends IXR_Server {
                $menu_order = $postdata['menu_order'];
 
                // Let WordPress manage slug if none was provided.
-               $post_name = "";
                $post_name = $postdata['post_name'];
                if ( isset($content_struct['wp_slug']) )
                        $post_name = $content_struct['wp_slug'];
@@ -4760,21 +4756,26 @@ class wp_xmlrpc_server extends IXR_Server {
                $post_author = $postdata['post_author'];
 
                // Only set the post_author if one is set.
-               if ( isset($content_struct['wp_author_id']) && ($user->ID != $content_struct['wp_author_id']) ) {
-                       switch ( $post_type ) {
-                               case 'post':
-                                       if ( !current_user_can('edit_others_posts') )
-                                               return new IXR_Error( 401, __( 'You are not allowed to change the post author as this user.' ) );
-                                       break;
-                               case 'page':
-                                       if ( !current_user_can('edit_others_pages') )
-                                               return new IXR_Error( 401, __( 'You are not allowed to change the page author as this user.' ) );
-                                       break;
-                               default:
-                                       return new IXR_Error( 401, __( 'Invalid post type' ) );
-                                       break;
+               if ( isset( $content_struct['wp_author_id'] ) ) {
+                       // Check permissions if attempting to switch author to or from another user.
+                       if ( $user->ID != $content_struct['wp_author_id'] || $user->ID != $post_author ) {
+                               switch ( $post_type ) {
+                                       case 'post':
+                                               if ( ! current_user_can( 'edit_others_posts' ) ) {
+                                                       return new IXR_Error( 401, __( 'You are not allowed to change the post author as this user.' ) );
+                                               }
+                                               break;
+                                       case 'page':
+                                               if ( ! current_user_can( 'edit_others_pages' ) ) {
+                                                       return new IXR_Error( 401, __( 'You are not allowed to change the page author as this user.' ) );
+                                               }
+                                               break;
+                                       default:
+                                               return new IXR_Error( 401, __( 'Invalid post type' ) );
+                                               break;
+                               }
+                               $post_author = $content_struct['wp_author_id'];
                        }
-                       $post_author = $content_struct['wp_author_id'];
                }
 
                if ( isset($content_struct['mt_allow_comments']) ) {
@@ -4873,10 +4874,11 @@ class wp_xmlrpc_server extends IXR_Server {
                $tags_input = isset( $content_struct['mt_keywords'] ) ? $content_struct['mt_keywords'] : null;
 
                if ( ('publish' == $post_status) ) {
-                       if ( ( 'page' == $post_type ) && !current_user_can('publish_pages') )
-                               return new IXR_Error(401, __('Sorry, you do not have the right to publish this page.'));
-                       else if ( !current_user_can('publish_posts') )
-                               return new IXR_Error(401, __('Sorry, you do not have the right to publish this post.'));
+                       if ( ( 'page' == $post_type ) && ! current_user_can( 'publish_pages' ) ) {
+                               return new IXR_Error( 401, __( 'Sorry, you do not have the right to publish this page.' ) );
+                       } elseif ( ! current_user_can( 'publish_posts' ) ) {
+                               return new IXR_Error( 401, __( 'Sorry, you do not have the right to publish this post.' ) );
+                       }
                }
 
                if ( $post_more )
@@ -5683,8 +5685,6 @@ class wp_xmlrpc_server extends IXR_Server {
                $pagelinkedfrom = $args[0];
                $pagelinkedto   = $args[1];
 
-               $title = '';
-
                $pagelinkedfrom = str_replace('&amp;', '&', $pagelinkedfrom);
                $pagelinkedto = str_replace('&amp;', '&', $pagelinkedto);
                $pagelinkedto = str_replace('&', '&amp;', $pagelinkedto);
index f8b3f8275345566f06e8e1a0456de14bbb9cbc75..a079c122d5a0b895f4f1171d285c106ab8523a36 100644 (file)
@@ -135,11 +135,11 @@ class WP {
                $this->query_vars = array();
                $post_type_query_vars = array();
 
-               if ( is_array($extra_query_vars) )
+               if ( is_array( $extra_query_vars ) ) {
                        $this->extra_query_vars = & $extra_query_vars;
-               else if (! empty($extra_query_vars))
-                       parse_str($extra_query_vars, $this->extra_query_vars);
-
+               } elseif ( ! empty( $extra_query_vars ) ) {
+                       parse_str( $extra_query_vars, $this->extra_query_vars );
+               }
                // Process PATH_INFO, REQUEST_URI, and 404 for permalinks.
 
                // Fetch the rewrite rules.
@@ -357,7 +357,7 @@ class WP {
                        } elseif ( in_array( $status, array( 403, 500, 502, 503 ) ) ) {
                                $exit_required = true;
                        }
-               } else if ( empty($this->query_vars['feed']) ) {
+               } elseif ( empty( $this->query_vars['feed'] ) ) {
                        $headers['Content-Type'] = get_option('html_type') . '; charset=' . get_option('blog_charset');
                } else {
                        // We're showing a feed, so WP is indeed the only thing that last changed
@@ -541,7 +541,7 @@ class WP {
        }
 
        /**
-        * Set the Headers for 404, if nothing is found for requested URL.
+        * Set the Headers for 404, if nothing is found for requested URL.
         *
         * Issue a 404 if a request doesn't match any posts and doesn't match
         * any object (e.g. an existing-but-empty category, tag, author) and a 404 was not already
@@ -661,80 +661,13 @@ class WP_MatchesMapRegex {
         */
        public $_pattern = '(\$matches\[[1-9]+[0-9]*\])'; // magic number
 
-       /**
-        * Make private properties readable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to get.
-        * @return mixed Property.
-        */
-       public function __get( $name ) {
-               return $this->$name;
-       }
-
-       /**
-        * Make private properties settable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name  Property to set.
-        * @param mixed  $value Property value.
-        * @return mixed Newly-set property.
-        */
-       public function __set( $name, $value ) {
-               return $this->$name = $value;
-       }
-
-       /**
-        * Make private properties checkable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to check if set.
-        * @return bool Whether the property is set.
-        */
-       public function __isset( $name ) {
-               return isset( $this->$name );
-       }
-
-       /**
-        * Make private properties un-settable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to unset.
-        */
-       public function __unset( $name ) {
-               unset( $this->$name );
-       }
-
-       /**
-        * Make private/protected methods readable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param callable $name      Method to call.
-        * @param array    $arguments Arguments to pass when calling.
-        * @return mixed|bool Return value of the callback, false otherwise.
-        */
-       public function __call( $name, $arguments ) {
-               return call_user_func_array( array( $this, $name ), $arguments );
-       }
-
        /**
         * constructor
         *
         * @param string $subject subject if regex
         * @param array  $matches data to use in map
-        * @return self
         */
-       public function WP_MatchesMapRegex($subject, $matches) {
+       public function __construct($subject, $matches) {
                $this->_subject = $subject;
                $this->_matches = $matches;
                $this->output = $this->_map();
index fbb8b2202dcd269fe6588b1f412a928bf6d3d4f4..b7c7dedad54a5fec0678462d127a5aa48b732e4a 100644 (file)
@@ -95,15 +95,25 @@ class WP_Scripts extends WP_Dependencies {
                if ( false === $group && in_array($handle, $this->in_footer, true) )
                        $this->in_footer = array_diff( $this->in_footer, (array) $handle );
 
-               if ( null === $this->registered[$handle]->ver )
+               $obj = $this->registered[$handle];
+
+               if ( null === $obj->ver ) {
                        $ver = '';
-               else
-                       $ver = $this->registered[$handle]->ver ? $this->registered[$handle]->ver : $this->default_version;
+               } else {
+                       $ver = $obj->ver ? $obj->ver : $this->default_version;
+               }
 
                if ( isset($this->args[$handle]) )
                        $ver = $ver ? $ver . '&amp;' . $this->args[$handle] : $this->args[$handle];
 
-               $src = $this->registered[$handle]->src;
+               $src = $obj->src;
+               $cond_before = $cond_after = '';
+               $conditional = isset( $obj->extra['conditional'] ) ? $obj->extra['conditional'] : '';
+
+               if ( $conditional ) {
+                       $cond_before = "<!--[if {$conditional}]>\n";
+                       $cond_after = "<![endif]-->\n";
+               }
 
                if ( $this->do_concat ) {
                        /**
@@ -115,7 +125,7 @@ class WP_Scripts extends WP_Dependencies {
                         * @param string $handle Script handle.
                         */
                        $srce = apply_filters( 'script_loader_src', $src, $handle );
-                       if ( $this->in_default_dir($srce) ) {
+                       if ( $this->in_default_dir( $srce ) && ! $conditional ) {
                                $this->print_code .= $this->print_extra_script( $handle, false );
                                $this->concat .= "$handle,";
                                $this->concat_version .= "$handle$ver";
@@ -126,13 +136,24 @@ class WP_Scripts extends WP_Dependencies {
                        }
                }
 
+               $has_conditional_data = $conditional && $this->get_data( $handle, 'data' );
+
+               if ( $has_conditional_data ) {
+                       echo $cond_before;
+               }
+
                $this->print_extra_script( $handle );
-               if ( !preg_match('|^(https?:)?//|', $src) && ! ( $this->content_url && 0 === strpos($src, $this->content_url) ) ) {
+
+               if ( $has_conditional_data ) {
+                       echo $cond_after;
+               }
+
+               if ( ! preg_match( '|^(https?:)?//|', $src ) && ! ( $this->content_url && 0 === strpos( $src, $this->content_url ) ) ) {
                        $src = $this->base_url . $src;
                }
 
-               if ( !empty($ver) )
-                       $src = add_query_arg('ver', $ver, $src);
+               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 ) );
@@ -140,7 +161,7 @@ class WP_Scripts extends WP_Dependencies {
                if ( ! $src )
                        return true;
 
-               $tag = "<script type='text/javascript' src='$src'></script>\n";
+               $tag = "{$cond_before}<script type='text/javascript' src='$src'></script>\n{$cond_after}";
 
                /** 
                 * Filter the HTML script tag of an enqueued script.
index eb160670cadfa2cb7d025474cac045e41602aef3..46cb913bd3541ecfa8fd4a40cab4815f696a577c 100644 (file)
@@ -107,17 +107,24 @@ class WP_Styles extends WP_Dependencies {
                        }
                }
 
-               if ( isset($obj->extra['conditional']) && $obj->extra['conditional'] ) {
-                       $tag = "<!--[if {$obj->extra['conditional']}]>\n" . $tag . "<![endif]-->\n";
+               $conditional_pre = $conditional_post = '';
+               if ( isset( $obj->extra['conditional'] ) && $obj->extra['conditional'] ) {
+                       $conditional_pre  = "<!--[if {$obj->extra['conditional']}]>\n";
+                       $conditional_post = "<![endif]-->\n";
                }
 
                if ( $this->do_concat ) {
+                       $this->print_html .= $conditional_pre;
                        $this->print_html .= $tag;
-                       if ( $inline_style = $this->print_inline_style( $handle, false ) )
+                       if ( $inline_style = $this->print_inline_style( $handle, false ) ) {
                                $this->print_html .= sprintf( "<style id='%s-inline-css' type='text/css'>\n%s\n</style>\n", esc_attr( $handle ), $inline_style );
+                       }
+                       $this->print_html .= $conditional_post;
                } else {
+                       echo $conditional_pre;
                        echo $tag;
                        $this->print_inline_style( $handle );
+                       echo $conditional_post;
                }
 
                return true;
index 4e75e7bca8e5fa2d859be977ddf338d23e1563bd..7af2f3b1b1a1b90d333d32844d40bf3b29177421 100644 (file)
@@ -420,15 +420,15 @@ function get_comment_class( $class = '', $comment_id = null, $post_id = null ) {
        // Get the comment type (comment, trackback),
        $classes[] = ( empty( $comment->comment_type ) ) ? 'comment' : $comment->comment_type;
 
-       // If the comment author has an id (registered), then print the log in name
-       if ( $comment->user_id > 0 && $user = get_userdata($comment->user_id) ) {
-               // For all registered users, 'byuser'
+       // Add classes for comment authors that are registered users.
+       if ( $comment->user_id > 0 && $user = get_userdata( $comment->user_id ) ) {
                $classes[] = 'byuser';
-               $classes[] = 'comment-author-' . sanitize_html_class($user->user_nicename, $comment->user_id);
+               $classes[] = 'comment-author-' . sanitize_html_class( $user->user_nicename, $comment->user_id );
                // For comment authors who are the author of the post
                if ( $post = get_post($post_id) ) {
-                       if ( $comment->user_id === $post->post_author )
+                       if ( $comment->user_id === $post->post_author ) {
                                $classes[] = 'bypostauthor';
+                       }
                }
        }
 
@@ -658,7 +658,7 @@ function get_comment_link( $comment = null, $args = array() ) {
                        $args['page'] = ( !empty($in_comment_loop) ) ? get_query_var('cpage') : get_page_of_comment( $comment->comment_ID, $args );
 
                if ( $wp_rewrite->using_permalinks() )
-                       $link = user_trailingslashit( trailingslashit( get_permalink( $comment->comment_post_ID ) ) . 'comment-page-' . $args['page'], 'comment' );
+                       $link = user_trailingslashit( trailingslashit( get_permalink( $comment->comment_post_ID ) ) . $wp_rewrite->comments_pagination_base . '-' . $args['page'], 'comment' );
                else
                        $link = add_query_arg( 'cpage', $args['page'], get_permalink( $comment->comment_post_ID ) );
        } else {
@@ -1138,7 +1138,6 @@ function comments_template( $file = '/comments.php', $separate_comments = false
 
        /*
         * Comment author information fetched from the comment cookies.
-        * Uuses wp_get_current_commenter().
         */
        $commenter = wp_get_current_commenter();
 
@@ -1168,7 +1167,7 @@ function comments_template( $file = '/comments.php', $separate_comments = false
 
        if ( $user_ID ) {
                $comment_args['include_unapproved'] = array( $user_ID );
-       } else if ( ! empty( $comment_author_email ) ) {
+       } elseif ( ! empty( $comment_author_email ) ) {
                $comment_args['include_unapproved'] = array( $comment_author_email );
        }
 
@@ -1275,13 +1274,29 @@ function comments_popup_link( $zero = false, $one = false, $more = false, $css_c
        global $wpcommentspopupfile, $wpcommentsjavascript;
 
        $id = get_the_ID();
+       $title = get_the_title();
+       $number = get_comments_number( $id );
 
-       if ( false === $zero ) $zero = __( 'No Comments' );
-       if ( false === $one ) $one = __( '1 Comment' );
-       if ( false === $more ) $more = __( '% Comments' );
-       if ( false === $none ) $none = __( 'Comments Off' );
+       if ( false === $zero ) {
+               /* translators: %s: post title */
+               $zero = sprintf( __( 'No Comments<span class="screen-reader-text"> on %s</span>' ), $title );
+       }
 
-       $number = get_comments_number( $id );
+       if ( false === $one ) {
+               /* translators: %s: post title */
+               $one = sprintf( __( '1 Comment<span class="screen-reader-text"> on %s</span>' ), $title );
+       }
+
+       if ( false === $more ) {
+               /* translators: 1: Number of comments 2: post title */
+               $more = _n( '%1$s Comment<span class="screen-reader-text"> on %2$s</span>', '%1$s Comments<span class="screen-reader-text"> on %2$s</span>', $number );
+               $more = sprintf( $more, number_format_i18n( $number ), $title );
+       }
+
+       if ( false === $none ) {
+               /* translators: %s: post title */
+               $none = sprintf( __( 'Comments Off<span class="screen-reader-text"> on %s</span>' ), $title );
+       }
 
        if ( 0 == $number && !comments_open() && !pings_open() ) {
                echo '<span' . ((!empty($css_class)) ? ' class="' . esc_attr( $css_class ) . '"' : '') . '>' . $none . '</span>';
@@ -1312,7 +1327,6 @@ function comments_popup_link( $zero = false, $one = false, $more = false, $css_c
        if ( !empty( $css_class ) ) {
                echo ' class="'.$css_class.'" ';
        }
-       $title = the_title_attribute( array('echo' => 0 ) );
 
        $attributes = '';
        /**
@@ -1324,7 +1338,7 @@ function comments_popup_link( $zero = false, $one = false, $more = false, $css_c
         */
        echo apply_filters( 'comments_popup_link_attributes', $attributes );
 
-       echo ' title="' . esc_attr( sprintf( __('Comment on %s'), $title ) ) . '">';
+       echo '>';
        comments_number( $zero, $one, $more );
        echo '</a>';
 }
@@ -1487,7 +1501,7 @@ function get_post_reply_link($args = array(), $post = null) {
        }
 
        if ( get_option('comment_registration') && ! is_user_logged_in() ) {
-               $link = sprintf( '<a rel="nofollow" href="%s">%s</a>',
+               $link = sprintf( '<a rel="nofollow" class="comment-reply-login" href="%s">%s</a>',
                        wp_login_url( get_permalink() ),
                        $args['login_text']
                );
@@ -2132,6 +2146,8 @@ function wp_list_comments( $args = array(), $comments = null ) {
  * in the array of fields.
  *
  * @since 3.0.0
+ * @since 4.1.0 Introduced the 'class_submit' argument.
+ * @since 4.2.0 Introduced 'submit_button' and 'submit_fields' arguments.
  *
  * @param array       $args {
  *     Optional. Default arguments and form fields to override.
@@ -2159,6 +2175,11 @@ function wp_list_comments( $args = array(), $comments = null ) {
  *                                        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 $submit_button        HTML format for the Submit button.
+ *                                        Default: '<input name="%1$s" type="submit" id="%2$s" class="%3$s" value="%4$s" />'.
+ *     @type string $submit_field         HTML format for the markup surrounding the Submit button and comment hidden
+ *                                        fields. Default: '<p class="form-submit">%1$s %2$s</a>', where %1$s is the
+ *                                        submit button markup and %2$s is the comment hidden fields.
  *     @type string $format               The comment form format. Default 'xhtml'. Accepts 'xhtml', 'html5'.
  * }
  * @param int|WP_Post $post_id Post ID or WP_Post object to generate the form for. Default current post.
@@ -2177,12 +2198,13 @@ function comment_form( $args = array(), $post_id = null ) {
 
        $req      = get_option( 'require_name_email' );
        $aria_req = ( $req ? " aria-required='true'" : '' );
+       $html_req = ( $req ? " required='required'" : '' );
        $html5    = 'html5' === $args['format'];
        $fields   =  array(
                'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
-                           '<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>',
+                           '<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . $html_req . ' /></p>',
                'email'  => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . ( $req ? ' <span class="required">*</span>' : '' ) . '</label> ' .
-                           '<input id="email" name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' value="' . esc_attr(  $commenter['comment_author_email'] ) . '" size="30" aria-describedby="email-notes"' . $aria_req . ' /></p>',
+                           '<input id="email" name="email" ' . ( $html5 ? 'type="email"' : 'type="text"' ) . ' value="' . esc_attr(  $commenter['comment_author_email'] ) . '" size="30" aria-describedby="email-notes"' . $aria_req . $html_req  . ' /></p>',
                'url'    => '<p class="comment-form-url"><label for="url">' . __( 'Website' ) . '</label> ' .
                            '<input id="url" name="url" ' . ( $html5 ? 'type="url"' : 'type="text"' ) . ' value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" /></p>',
        );
@@ -2199,7 +2221,7 @@ function comment_form( $args = array(), $post_id = null ) {
        $fields = apply_filters( 'comment_form_default_fields', $fields );
        $defaults = array(
                'fields'               => $fields,
-               'comment_field'        => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label> <textarea id="comment" name="comment" cols="45" rows="8" aria-describedby="form-allowed-tags" aria-required="true"></textarea></p>',
+               'comment_field'        => '<p class="comment-form-comment"><label for="comment">' . _x( 'Comment', 'noun' ) . '</label> <textarea id="comment" name="comment" cols="45" rows="8" aria-describedby="form-allowed-tags" aria-required="true" required="required"></textarea></p>',
                /** This filter is documented in wp-includes/link-template.php */
                'must_log_in'          => '<p class="must-log-in">' . sprintf( __( 'You must be <a href="%s">logged in</a> to post a comment.' ), wp_login_url( apply_filters( 'the_permalink', get_permalink( $post_id ) ) ) ) . '</p>',
                /** This filter is documented in wp-includes/link-template.php */
@@ -2214,6 +2236,8 @@ function comment_form( $args = array(), $post_id = null ) {
                'title_reply_to'       => __( 'Leave a Reply to %s' ),
                'cancel_reply_link'    => __( 'Cancel reply' ),
                'label_submit'         => __( 'Post Comment' ),
+               'submit_button'        => '<input name="%1$s" type="submit" id="%2$s" class="%3$s" value="%4$s" />',
+               'submit_field'         => '<p class="form-submit">%1$s %2$s</p>',
                'format'               => 'xhtml',
        );
 
@@ -2228,8 +2252,7 @@ function comment_form( $args = array(), $post_id = null ) {
         */
        $args = wp_parse_args( $args, apply_filters( 'comment_form_defaults', $defaults ) );
 
-       ?>
-               <?php if ( comments_open( $post_id ) ) : ?>
+               if ( comments_open( $post_id ) ) : ?>
                        <?php
                        /**
                         * Fires before the comment form.
@@ -2329,11 +2352,45 @@ function comment_form( $args = array(), $post_id = null ) {
                                                echo apply_filters( 'comment_form_field_comment', $args['comment_field'] );
                                                ?>
                                                <?php echo $args['comment_notes_after']; ?>
-                                               <p class="form-submit">
-                                                       <input name="<?php echo esc_attr( $args['name_submit'] ); ?>" type="submit" id="<?php echo esc_attr( $args['id_submit'] ); ?>" class="<?php echo esc_attr( $args['class_submit'] ); ?>" value="<?php echo esc_attr( $args['label_submit'] ); ?>" />
-                                                       <?php comment_id_fields( $post_id ); ?>
-                                               </p>
+
                                                <?php
+                                               $submit_button = sprintf(
+                                                       $args['submit_button'],
+                                                       esc_attr( $args['name_submit'] ),
+                                                       esc_attr( $args['id_submit'] ),
+                                                       esc_attr( $args['class_submit'] ),
+                                                       esc_attr( $args['label_submit'] )
+                                               );
+
+                                               /**
+                                                * Filter the submit button for the comment form to display.
+                                                *
+                                                * @since 4.2.0
+                                                *
+                                                * @param string $submit_button HTML markup for the submit button.
+                                                * @param array  $args          Arguments passed to `comment_form()`.
+                                                */
+                                               $submit_button = apply_filters( 'comment_form_submit_button', $submit_button, $args );
+
+                                               $submit_field = sprintf(
+                                                       $args['submit_field'],
+                                                       $submit_button,
+                                                       get_comment_id_fields( $post_id )
+                                               );
+
+                                               /**
+                                                * Filter the submit field for the comment form to display.
+                                                *
+                                                * The submit field includes the submit button, hidden fields for the
+                                                * comment form, and any wrapper markup.
+                                                *
+                                                * @since 4.2.0
+                                                *
+                                                * @param string $submit_field HTML markup for the submit field.
+                                                * @param array  $args         Arguments passed to comment_form().
+                                                */
+                                               echo apply_filters( 'comment_form_submit_field', $submit_field, $args );
+
                                                /**
                                                 * Fires at the bottom of the comment form, inside the closing </form> tag.
                                                 *
index c8984f08264a917c4ff901fdb03ab7103480e827..75c77b1d9125e032174c7f1188dd15ca0807e4a5 100644 (file)
@@ -218,9 +218,7 @@ function get_comment(&$comment, $output = OBJECT) {
  *
  * @since 2.7.0
  *
- * @global wpdb $wpdb WordPress database abstraction object.
- *
- * @param string|array $args Optional. Array or string of arguments. See {@see WP_Comment_Query::query()}
+ * @param string|array $args Optional. Array or string of arguments. See {@see WP_Comment_Query::parse_query()}
  *                           for information on accepted arguments. Default empty.
  * @return int|array List of comments or number of found comments if `$count` argument is true.
  */
@@ -232,7 +230,7 @@ function get_comments( $args = '' ) {
 /**
  * WordPress Comment Query class.
  *
- * See {@see WP_Comment_Query::query()} for accepted arguments.
+ * See WP_Comment_Query::__construct() for accepted arguments.
  *
  * @since 3.1.0
  */
@@ -265,11 +263,28 @@ class WP_Comment_Query {
        public $date_query = false;
 
        /**
+        * Query vars set by the user.
+        *
+        * @since 3.1.0
+        * @access public
         * @var array
         */
        public $query_vars;
 
        /**
+        * Default values for query vars.
+        *
+        * @since 4.2.0
+        * @access public
+        * @var array
+        */
+       public $query_var_defaults;
+
+       /**
+        * List of comments located by the query.
+        *
+        * @since 4.0.0
+        * @access public
         * @var array
         */
        public $comments;
@@ -285,20 +300,22 @@ class WP_Comment_Query {
         * @return mixed|bool Return value of the callback, false otherwise.
         */
        public function __call( $name, $arguments ) {
-               return call_user_func_array( array( $this, $name ), $arguments );
+               if ( 'get_search_sql' === $name ) {
+                       return call_user_func_array( array( $this, $name ), $arguments );
+               }
+               return false;
        }
 
        /**
-        * Execute the query
+        * Constructor.
         *
-        * @since 3.1.0
-        * @since 4.1.0 Introduced 'comment__in', 'comment__not_in', 'post_author__in',
-        *              'post_author__not_in', 'author__in', 'author__not_in', 'post__in',
-        *              'post__not_in', 'include_unapproved', 'type__in', and 'type__not_in'
-        *              arguments to $query_vars.
+        * Sets up the comment query, based on the query vars passed.
         *
-        * @param string|array $query_vars {
-        *     Optional. Array or query string of comment query parameters.
+        * @since  4.2.0
+        * @access public
+        *
+        * @param string|array $query {
+        *     Optional. Array or query string of comment query parameters. Default empty.
         *
         *     @type string       $author_email        Comment author email address. Default empty.
         *     @type array        $author__in          Array of author IDs to include comments for. Default empty.
@@ -307,7 +324,7 @@ class WP_Comment_Query {
         *     @type array        $comment__not_in     Array of comment IDs to exclude. Default empty.
         *     @type bool         $count               Whether to return a comment count (true) or array of comment
         *                                             objects (false). Default false.
-        *     @type array        $date_query          Date query clauses to limit comments by. See {@see WP_Date_Query}.
+        *     @type array        $date_query          Date query clauses to limit comments by. See WP_Date_Query.
         *                                             Default null.
         *     @type string       $fields              Comment fields to return. Accepts 'ids' for comment IDs only or
         *                                             empty for all fields. Default empty.
@@ -319,18 +336,22 @@ class WP_Comment_Query {
         *     @type string       $meta_value          Include comments with a matching comment meta value. Requires
         *                                             `$meta_key` to be set. Default empty.
         *     @type array        $meta_query          Meta query clauses to limit retrieved comments by.
-        *                                             See {@see WP_Meta_Query}. Default empty.
+        *                                             See WP_Meta_Query. Default empty.
         *     @type int          $number              Maximum number of comments to retrieve. Default null (no limit).
         *     @type int          $offset              Number of comments to offset the query. Used to build LIMIT clause.
         *                                             Default 0.
-        *     @type string|array $orderby             Comment status or array of statuses. Accepts 'comment_agent',
-        *                                             'comment_approved', 'comment_author', 'comment_author_email',
-        *                                             'comment_author_IP', 'comment_author_url', 'comment_content',
-        *                                             'comment_date', 'comment_date_gmt', 'comment_ID', 'comment_karma',
+        *     @type string|array $orderby             Comment status or array of statuses. To use 'meta_value' or
+        *                                             'meta_value_num', `$meta_key` must also be defined. To sort by
+        *                                             a specific `$meta_query` clause, use that clause's array key.
+        *                                             Accepts 'comment_agent', 'comment_approved', 'comment_author',
+        *                                             'comment_author_email', 'comment_author_IP',
+        *                                             'comment_author_url', 'comment_content', 'comment_date',
+        *                                             'comment_date_gmt', 'comment_ID', 'comment_karma',
         *                                             'comment_parent', 'comment_post_ID', 'comment_type', 'user_id',
-        *                                             'meta_value', 'meta_value_num', or value of $meta_key.
-        *                                              Also accepts false, empty array, or 'none' to disable `ORDER BY`
-        *                                             clause. Default: 'comment_date_gmt'.
+        *                                             'meta_value', 'meta_value_num', the value of $meta_key, and the
+        *                                             array keys of `$meta_query`. Also accepts false, an empty array,
+        *                                             or 'none' to disable `ORDER BY` clause.
+        *                                             Default: 'comment_date_gmt'.
         *     @type string       $order               How to order retrieved comments. Accepts 'ASC', 'DESC'.
         *                                             Default: 'DESC'.
         *     @type int          $parent              Parent ID of comment to retrieve children of. Default empty.
@@ -356,12 +377,10 @@ class WP_Comment_Query {
         *     @type array        $type__not_in        Exclude comments from a given array of comment types. Default empty.
         *     @type int          $user_id             Include comments for a specific user ID. Default empty.
         * }
-        * @return int|array Array of comments or number of found comments if `$count` is set to true.
+        * @return WP_Comment_Query WP_Comment_Query instance.
         */
-       public function query( $query_vars ) {
-               global $wpdb;
-
-               $defaults = array(
+       public function __construct( $query = '' ) {
+               $this->query_var_defaults = array(
                        'author_email' => '',
                        'author__in' => '',
                        'author__not_in' => '',
@@ -400,14 +419,73 @@ class WP_Comment_Query {
                        'date_query' => null, // See WP_Date_Query
                );
 
+               if ( ! empty( $query ) ) {
+                       $this->query( $query );
+               }
+       }
+
+       /**
+        * Parse arguments passed to the comment query with default query parameters.
+        *
+        * @since  4.2.0 Extracted from WP_Comment_Query::query().
+        *
+        * @access public
+        *
+        * @param string|array $query WP_Comment_Query arguments. See WP_Comment_Query::__construct()
+        */
+       public function parse_query( $query = '' ) {
+               if ( empty( $query ) ) {
+                       $query = $this->query_vars;
+               }
+
+               $this->query_vars = wp_parse_args( $query, $this->query_var_defaults );
+               do_action_ref_array( 'parse_comment_query', array( &$this ) );
+       }
+
+       /**
+        * Sets up the WordPress query for retrieving comments.
+        *
+        * @since 3.1.0
+        * @since 4.1.0 Introduced 'comment__in', 'comment__not_in', 'post_author__in',
+        *              'post_author__not_in', 'author__in', 'author__not_in', 'post__in',
+        *              'post__not_in', 'include_unapproved', 'type__in', and 'type__not_in'
+        *              arguments to $query_vars.
+        * @since 4.2.0 Moved parsing to WP_Comment_Query::parse_query().
+        * @access public
+        *
+        * @param string|array $query Array or URL query string of parameters.
+        * @return array List of comments.
+        */
+       public function query( $query ) {
+               $this->query_vars = wp_parse_args( $query );
+               return $this->get_comments();
+       }
+
+       /**
+        * Get a list of comments matching the query vars.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @global wpdb $wpdb WordPress database abstraction object.
+        *
+        * @return array The list of comments.
+        */
+       public function get_comments() {
+               global $wpdb;
+
                $groupby = '';
 
-               $this->query_vars = wp_parse_args( $query_vars, $defaults );
+               $this->parse_query();
 
                // Parse meta query
                $this->meta_query = new WP_Meta_Query();
                $this->meta_query->parse_query_vars( $this->query_vars );
 
+               if ( ! empty( $this->meta_query->queries ) ) {
+                       $meta_query_clauses = $this->meta_query->get_sql( 'comment', $wpdb->comments, 'comment_ID', $this );
+               }
+
                /**
                 * Fires before comments are retrieved.
                 *
@@ -417,8 +495,8 @@ class WP_Comment_Query {
                 */
                do_action_ref_array( 'pre_get_comments', array( &$this ) );
 
-               // $args can be whatever, only use the args defined in defaults to compute the key
-               $key = md5( serialize( wp_array_slice_assoc( $this->query_vars, array_keys( $defaults ) ) )  );
+               // $args can include anything. Only use the args defined in the query_var_defaults to compute the key.
+               $key = md5( serialize( wp_array_slice_assoc( $this->query_vars, array_keys( $this->query_var_defaults ) ) ) );
                $last_changed = wp_cache_get( 'last_changed', 'comment' );
                if ( ! $last_changed ) {
                        $last_changed = microtime();
@@ -427,7 +505,8 @@ class WP_Comment_Query {
                $cache_key = "get_comments:$key:$last_changed";
 
                if ( $cache = wp_cache_get( $cache_key, 'comment' ) ) {
-                       return $cache;
+                       $this->comments = $cache;
+                       return $this->comments;
                }
 
                $where = array();
@@ -506,44 +585,80 @@ class WP_Comment_Query {
                // Disable ORDER BY with 'none', an empty array, or boolean false.
                if ( in_array( $this->query_vars['orderby'], array( 'none', array(), false ), true ) ) {
                        $orderby = '';
-               } else if ( ! empty( $this->query_vars['orderby'] ) ) {
+               } elseif ( ! empty( $this->query_vars['orderby'] ) ) {
                        $ordersby = is_array( $this->query_vars['orderby'] ) ?
                                $this->query_vars['orderby'] :
                                preg_split( '/[,\s]/', $this->query_vars['orderby'] );
 
-                       $allowed_keys = array(
-                               'comment_agent',
-                               'comment_approved',
-                               'comment_author',
-                               'comment_author_email',
-                               'comment_author_IP',
-                               'comment_author_url',
-                               'comment_content',
-                               'comment_date',
-                               'comment_date_gmt',
-                               'comment_ID',
-                               'comment_karma',
-                               'comment_parent',
-                               'comment_post_ID',
-                               'comment_type',
-                               'user_id',
-                       );
-                       if ( ! empty( $this->query_vars['meta_key'] ) ) {
-                               $allowed_keys[] = $this->query_vars['meta_key'];
-                               $allowed_keys[] = 'meta_value';
-                               $allowed_keys[] = 'meta_value_num';
+                       $orderby_array = array();
+                       $found_orderby_comment_ID = false;
+                       foreach ( $ordersby as $_key => $_value ) {
+                               if ( ! $_value ) {
+                                       continue;
+                               }
+
+                               if ( is_int( $_key ) ) {
+                                       $_orderby = $_value;
+                                       $_order = $order;
+                               } else {
+                                       $_orderby = $_key;
+                                       $_order = $_value;
+                               }
+
+                               if ( ! $found_orderby_comment_ID && 'comment_ID' === $_orderby ) {
+                                       $found_orderby_comment_ID = true;
+                               }
+
+                               $parsed = $this->parse_orderby( $_orderby );
+
+                               if ( ! $parsed ) {
+                                       continue;
+                               }
+
+                               $orderby_array[] = $parsed . ' ' . $this->parse_order( $_order );
+                       }
+
+                       // If no valid clauses were found, order by comment_date_gmt.
+                       if ( empty( $orderby_array ) ) {
+                               $orderby_array[] = "$wpdb->comments.comment_date_gmt $order";
                        }
-                       $ordersby = array_intersect( $ordersby, $allowed_keys );
-                       foreach ( $ordersby as $key => $value ) {
-                               if ( $value == $this->query_vars['meta_key'] || $value == 'meta_value' ) {
-                                       $ordersby[ $key ] = "$wpdb->commentmeta.meta_value";
-                               } elseif ( $value == 'meta_value_num' ) {
-                                       $ordersby[ $key ] = "$wpdb->commentmeta.meta_value+0";
+
+                       // To ensure determinate sorting, always include a comment_ID clause.
+                       if ( ! $found_orderby_comment_ID ) {
+                               $comment_ID_order = '';
+
+                               // Inherit order from comment_date or comment_date_gmt, if available.
+                               foreach ( $orderby_array as $orderby_clause ) {
+                                       if ( preg_match( '/comment_date(?:_gmt)*\ (ASC|DESC)/', $orderby_clause, $match ) ) {
+                                               $comment_ID_order = $match[1];
+                                               break;
+                                       }
+                               }
+
+                               // If no date-related order is available, use the date from the first available clause.
+                               if ( ! $comment_ID_order ) {
+                                       foreach ( $orderby_array as $orderby_clause ) {
+                                               if ( false !== strpos( 'ASC', $orderby_clause ) ) {
+                                                       $comment_ID_order = 'ASC';
+                                               } else {
+                                                       $comment_ID_order = 'DESC';
+                                               }
+
+                                               break;
+                                       }
+                               }
+
+                               // Default to DESC.
+                               if ( ! $comment_ID_order ) {
+                                       $comment_ID_order = 'DESC';
                                }
+
+                               $orderby_array[] = "$wpdb->comments.comment_ID $comment_ID_order";
                        }
-                       $orderby = empty( $ordersby ) ? 'comment_date_gmt' : implode(', ', $ordersby);
+
+                       $orderby = implode( ', ', $orderby_array );
                } else {
-                       $orderby = 'comment_date_gmt';
+                       $orderby = "$wpdb->comments.comment_date_gmt $order";
                }
 
                $number = absint( $this->query_vars['number'] );
@@ -674,7 +789,9 @@ class WP_Comment_Query {
                if ( ! empty( $post_fields ) ) {
                        $join_posts_table = true;
                        foreach ( $post_fields as $field_name => $field_value ) {
-                               $where[] = $wpdb->prepare( " {$wpdb->posts}.{$field_name} = %s", $field_value );
+                               // $field_value may be an array.
+                               $esses = array_fill( 0, count( (array) $field_value ), '%s' );
+                               $where[] = $wpdb->prepare( " {$wpdb->posts}.{$field_name} IN (" . implode( ',', $esses ) . ')', $field_value );
                        }
                }
 
@@ -704,12 +821,11 @@ class WP_Comment_Query {
                        $join = "JOIN $wpdb->posts ON $wpdb->posts.ID = $wpdb->comments.comment_post_ID";
                }
 
-               if ( ! empty( $this->meta_query->queries ) ) {
-                       $clauses = $this->meta_query->get_sql( 'comment', $wpdb->comments, 'comment_ID', $this );
-                       $join .= $clauses['join'];
+               if ( ! empty( $meta_query_clauses ) ) {
+                       $join .= $meta_query_clauses['join'];
 
                        // Strip leading 'AND'.
-                       $where[] = preg_replace( '/^\s*AND\s*/', '', $clauses['where'] );
+                       $where[] = preg_replace( '/^\s*AND\s*/', '', $meta_query_clauses['where'] );
 
                        if ( ! $this->query_vars['count'] ) {
                                $groupby = "{$wpdb->comments}.comment_ID";
@@ -724,7 +840,7 @@ class WP_Comment_Query {
 
                $where = implode( ' AND ', $where );
 
-               $pieces = array( 'fields', 'join', 'where', 'orderby', 'order', 'limits', 'groupby' );
+               $pieces = array( 'fields', 'join', 'where', 'orderby', 'limits', 'groupby' );
                /**
                 * Filter the comment query clauses.
                 *
@@ -739,7 +855,6 @@ class WP_Comment_Query {
                $join = isset( $clauses[ 'join' ] ) ? $clauses[ 'join' ] : '';
                $where = isset( $clauses[ 'where' ] ) ? $clauses[ 'where' ] : '';
                $orderby = isset( $clauses[ 'orderby' ] ) ? $clauses[ 'orderby' ] : '';
-               $order = isset( $clauses[ 'order' ] ) ? $clauses[ 'order' ] : '';
                $limits = isset( $clauses[ 'limits' ] ) ? $clauses[ 'limits' ] : '';
                $groupby = isset( $clauses[ 'groupby' ] ) ? $clauses[ 'groupby' ] : '';
 
@@ -752,7 +867,7 @@ class WP_Comment_Query {
                }
 
                if ( $orderby ) {
-                       $orderby = "ORDER BY $orderby $order";
+                       $orderby = "ORDER BY $orderby";
                }
 
                $this->request = "SELECT $fields FROM $wpdb->comments $join $where $groupby $orderby $limits";
@@ -779,7 +894,8 @@ class WP_Comment_Query {
 
                wp_cache_add( $cache_key, $comments, 'comment' );
 
-               return $comments;
+               $this->comments = $comments;
+               return $this->comments;
        }
 
        /**
@@ -804,6 +920,88 @@ class WP_Comment_Query {
 
                return ' AND (' . implode(' OR ', $searches) . ')';
        }
+
+       /**
+        * Parse and sanitize 'orderby' keys passed to the comment query.
+        *
+        * @since 4.2.0
+        * @access protected
+        *
+        * @global wpdb $wpdb WordPress database abstraction object.
+        *
+        * @param string $orderby Alias for the field to order by.
+        * @return string|bool Value to used in the ORDER clause. False otherwise.
+        */
+       protected function parse_orderby( $orderby ) {
+               global $wpdb;
+
+               $allowed_keys = array(
+                       'comment_agent',
+                       'comment_approved',
+                       'comment_author',
+                       'comment_author_email',
+                       'comment_author_IP',
+                       'comment_author_url',
+                       'comment_content',
+                       'comment_date',
+                       'comment_date_gmt',
+                       'comment_ID',
+                       'comment_karma',
+                       'comment_parent',
+                       'comment_post_ID',
+                       'comment_type',
+                       'user_id',
+               );
+
+               if ( ! empty( $this->query_vars['meta_key'] ) ) {
+                       $allowed_keys[] = $this->query_vars['meta_key'];
+                       $allowed_keys[] = 'meta_value';
+                       $allowed_keys[] = 'meta_value_num';
+               }
+
+               $meta_query_clauses = $this->meta_query->get_clauses();
+               if ( $meta_query_clauses ) {
+                       $allowed_keys = array_merge( $allowed_keys, array_keys( $meta_query_clauses ) );
+               }
+
+               $parsed = false;
+               if ( $orderby == $this->query_vars['meta_key'] || $orderby == 'meta_value' ) {
+                       $parsed = "$wpdb->commentmeta.meta_value";
+               } else if ( $orderby == 'meta_value_num' ) {
+                       $parsed = "$wpdb->commentmeta.meta_value+0";
+               } else if ( in_array( $orderby, $allowed_keys ) ) {
+
+                       if ( isset( $meta_query_clauses[ $orderby ] ) ) {
+                               $meta_clause = $meta_query_clauses[ $orderby ];
+                               $parsed = sprintf( "CAST(%s.meta_value AS %s)", esc_sql( $meta_clause['alias'] ), esc_sql( $meta_clause['cast'] ) );
+                       } else {
+                               $parsed = "$wpdb->comments.$orderby";
+                       }
+               }
+
+               return $parsed;
+       }
+
+       /**
+        * Parse an 'order' query variable and cast it to ASC or DESC as necessary.
+        *
+        * @since 4.2.0
+        * @access protected
+        *
+        * @param string $order The 'order' query variable.
+        * @return string The sanitized 'order' query variable.
+        */
+       protected function parse_order( $order ) {
+               if ( ! is_string( $order ) || empty( $order ) ) {
+                       return 'DESC';
+               }
+
+               if ( 'ASC' === strtoupper( $order ) ) {
+                       return 'ASC';
+               } else {
+                       return 'DESC';
+               }
+       }
 }
 
 /**
@@ -933,7 +1131,7 @@ function get_comment_count( $post_id = 0 ) {
  * Add meta data field to a comment.
  *
  * @since 2.9.0
- * @link http://codex.wordpress.org/Function_Reference/add_comment_meta
+ * @link https://codex.wordpress.org/Function_Reference/add_comment_meta
  *
  * @param int $comment_id Comment ID.
  * @param string $meta_key Metadata name.
@@ -953,7 +1151,7 @@ function add_comment_meta($comment_id, $meta_key, $meta_value, $unique = false)
  * allows removing all metadata matching key, if needed.
  *
  * @since 2.9.0
- * @link http://codex.wordpress.org/Function_Reference/delete_comment_meta
+ * @link https://codex.wordpress.org/Function_Reference/delete_comment_meta
  *
  * @param int $comment_id comment ID
  * @param string $meta_key Metadata name.
@@ -968,7 +1166,7 @@ function delete_comment_meta($comment_id, $meta_key, $meta_value = '') {
  * Retrieve comment meta field for a comment.
  *
  * @since 2.9.0
- * @link http://codex.wordpress.org/Function_Reference/get_comment_meta
+ * @link https://codex.wordpress.org/Function_Reference/get_comment_meta
  *
  * @param int $comment_id Comment ID.
  * @param string $key Optional. The meta key to retrieve. By default, returns data for all keys.
@@ -989,7 +1187,7 @@ function get_comment_meta($comment_id, $key = '', $single = false) {
  * If the meta field for the comment does not exist, it will be added.
  *
  * @since 2.9.0
- * @link http://codex.wordpress.org/Function_Reference/update_comment_meta
+ * @link https://codex.wordpress.org/Function_Reference/update_comment_meta
  *
  * @param int $comment_id Comment ID.
  * @param string $meta_key Metadata key.
@@ -1920,7 +2118,17 @@ function wp_insert_comment( $commentdata ) {
 
        $compacted = compact( 'comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_author_IP', 'comment_date', 'comment_date_gmt', 'comment_content', 'comment_karma', 'comment_approved', 'comment_agent', 'comment_type', 'comment_parent', 'user_id' );
        if ( ! $wpdb->insert( $wpdb->comments, $compacted ) ) {
-               return false;
+               $fields = array( 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content' );
+
+               foreach( $fields as $field ) {
+                       if ( isset( $compacted[ $field ] ) ) {
+                               $compacted[ $field ] = $wpdb->strip_invalid_text_for_column( $wpdb->comments, $field, $compacted[ $field ] );
+                       }
+               }
+
+               if ( ! $wpdb->insert( $wpdb->comments, $compacted ) ) {
+                       return false;
+               }
        }
 
        $id = (int) $wpdb->insert_id;
@@ -2073,8 +2281,13 @@ function wp_new_comment( $commentdata ) {
        $commentdata['comment_author_IP'] = preg_replace( '/[^0-9a-fA-F:., ]/', '',$_SERVER['REMOTE_ADDR'] );
        $commentdata['comment_agent']     = isset( $_SERVER['HTTP_USER_AGENT'] ) ? substr( $_SERVER['HTTP_USER_AGENT'], 0, 254 ) : '';
 
-       $commentdata['comment_date']     = current_time('mysql');
-       $commentdata['comment_date_gmt'] = current_time('mysql', 1);
+       if ( empty( $commentdata['comment_date'] ) ) {
+               $commentdata['comment_date'] = current_time('mysql');
+       }
+
+       if ( empty( $commentdata['comment_date_gmt'] ) ) {
+               $commentdata['comment_date_gmt'] = current_time( 'mysql', 1 );
+       }
 
        $commentdata = wp_filter_comment($commentdata);
 
@@ -2200,6 +2413,12 @@ function wp_update_comment($commentarr) {
        if ( empty( $comment ) ) {
                return 0;
        }
+
+       // Make sure that the comment post ID is valid (if specified).
+       if ( isset( $commentarr['comment_post_ID'] ) && ! get_post( $commentarr['comment_post_ID'] ) ) {
+               return 0;
+       }
+
        // Escape data pulled from DB.
        $comment = wp_slash($comment);
 
@@ -2226,15 +2445,15 @@ function wp_update_comment($commentarr) {
 
        if ( ! isset( $data['comment_approved'] ) ) {
                $data['comment_approved'] = 1;
-       } else if ( 'hold' == $data['comment_approved'] ) {
+       } elseif ( 'hold' == $data['comment_approved'] ) {
                $data['comment_approved'] = 0;
-       } else if ( 'approve' == $data['comment_approved'] ) {
+       } elseif ( 'approve' == $data['comment_approved'] ) {
                $data['comment_approved'] = 1;
        }
 
        $comment_ID = $data['comment_ID'];
        $comment_post_ID = $data['comment_post_ID'];
-       $keys = array( 'comment_content', 'comment_author', 'comment_author_email', 'comment_approved', 'comment_karma', 'comment_author_url', 'comment_date', 'comment_date_gmt', 'comment_parent' );
+       $keys = array( 'comment_post_ID', 'comment_content', 'comment_author', 'comment_author_email', 'comment_approved', 'comment_karma', 'comment_author_url', 'comment_date', 'comment_date_gmt', 'comment_type', 'comment_parent', 'user_id' );
        $data = wp_array_slice_assoc( $data, $keys );
        $rval = $wpdb->update( $wpdb->comments, $data, compact( 'comment_ID' ) );
 
index ab4045250a6e434a62f19c4dc20d196a9efad1a9..43667053f163917d06c89467f71ec61e9d471246 100644 (file)
@@ -13,25 +13,43 @@ if ( !function_exists('_') ) {
        }
 }
 
-if ( !function_exists('mb_substr') ):
-       function mb_substr( $str, $start, $length=null, $encoding=null ) {
-               return _mb_substr($str, $start, $length, $encoding);
+if ( ! function_exists( 'mb_substr' ) ) :
+       function mb_substr( $str, $start, $length = null, $encoding = null ) {
+               return _mb_substr( $str, $start, $length, $encoding );
        }
 endif;
 
-function _mb_substr( $str, $start, $length=null, $encoding=null ) {
-       // the solution below, works only for utf-8, so in case of a different
-       // charset, just use built-in substr
+function _mb_substr( $str, $start, $length = null, $encoding = null ) {
+       // The solution below works only for UTF-8,
+       // so in case of a different charset just use built-in substr()
        $charset = get_option( 'blog_charset' );
-       if ( !in_array( $charset, array('utf8', 'utf-8', 'UTF8', 'UTF-8') ) ) {
-               return is_null( $length )? substr( $str, $start ) : substr( $str, $start, $length);
+       if ( ! in_array( $charset, array( 'utf8', 'utf-8', 'UTF8', 'UTF-8' ) ) ) {
+               return is_null( $length ) ? substr( $str, $start ) : substr( $str, $start, $length );
        }
-       // use the regex unicode support to separate the UTF-8 characters into an array
+       // Use the regex unicode support to separate the UTF-8 characters into an array
        preg_match_all( '/./us', $str, $match );
-       $chars = is_null( $length )? array_slice( $match[0], $start ) : array_slice( $match[0], $start, $length );
+       $chars = is_null( $length ) ? array_slice( $match[0], $start ) : array_slice( $match[0], $start, $length );
        return implode( '', $chars );
 }
 
+if ( ! function_exists( 'mb_strlen' ) ) :
+       function mb_strlen( $str, $encoding = null ) {
+               return _mb_strlen( $str, $encoding );
+       }
+endif;
+
+function _mb_strlen( $str, $encoding = null ) {
+       // The solution below works only for UTF-8,
+       // so in case of a different charset just use built-in strlen()
+       $charset = get_option( 'blog_charset' );
+       if ( ! in_array( $charset, array( 'utf8', 'utf-8', 'UTF8', 'UTF-8' ) ) ) {
+               return strlen( $str );
+       }
+       // Use the regex unicode support to separate the UTF-8 characters into an array
+       preg_match_all( '/./us', $str, $match );
+       return count( $match[0] );
+}
+
 if ( !function_exists('hash_hmac') ):
 function hash_hmac($algo, $data, $key, $raw_output = false) {
        return _hash_hmac($algo, $data, $key, $raw_output);
@@ -65,7 +83,7 @@ if ( !function_exists('json_encode') ) {
        function json_encode( $string ) {
                global $wp_json;
 
-               if ( !is_a($wp_json, 'Services_JSON') ) {
+               if ( ! ( $wp_json instanceof Services_JSON ) ) {
                        require_once( ABSPATH . WPINC . '/class-json.php' );
                        $wp_json = new Services_JSON();
                }
@@ -78,7 +96,7 @@ if ( !function_exists('json_decode') ) {
        function json_decode( $string, $assoc_array = false ) {
                global $wp_json;
 
-               if ( !is_a($wp_json, 'Services_JSON') ) {
+               if ( ! ($wp_json instanceof Services_JSON ) ) {
                        require_once( ABSPATH . WPINC . '/class-json.php' );
                        $wp_json = new Services_JSON();
                }
index 6455acf2c481ea73480998cc21a03641d80bccef..4b755068ab98cf6f4f97771256d25a8f47f0020a 100644 (file)
@@ -13,7 +13,7 @@
  * WordPress site, if the schedule time has passed.
  *
  * @since 2.1.0
- * @link http://codex.wordpress.org/Function_Reference/wp_schedule_single_event
+ * @link https://codex.wordpress.org/Function_Reference/wp_schedule_single_event
  *
  * @param int $timestamp Timestamp for when to run the event.
  * @param string $hook Action hook to execute when cron is run.
index db2f983a5d807f95f30be6ea69fcf815412f5a27..26d1032e4073fa962b007fc9230208e11fac319b 100644 (file)
@@ -16,6 +16,7 @@
        -webkit-transition: none;
        transition: none;
        -webkit-font-smoothing: subpixel-antialiased; /* Prevent Safari from switching to standard antialiasing on hover */
+       -moz-osx-font-smoothing: auto; /* Prevent Firefox from inheriting from themes that use other values */
 }
 
 .rtl #wpadminbar * {
@@ -81,7 +82,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
        width: 100%;
        min-width: 600px; /* match the min-width of the body in wp-admin.css */
        z-index: 99999;
-       background: #222;
+       background: #23282d;
 }
 
 #wpadminbar .ab-sub-wrapper,
@@ -136,7 +137,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
        padding: 0;
        -webkit-box-shadow: 0 3px 5px rgba(0,0,0,0.2);
        box-shadow: 0 3px 5px rgba(0,0,0,0.2);
-       background: #333;
+       background: #32373c;
        display: none;
        position: absolute;
        float: none;
@@ -210,14 +211,14 @@ html:lang(he-il) .rtl #wpadminbar *  {
 #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: #45bbe6;
+       background: #32373c;
+       color: #00b9eb;
 }
 
 #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: #45bbe6;
+       color: #00b9eb;
 }
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-root-default .ab-icon,
@@ -237,7 +238,8 @@ html:lang(he-il) .rtl #wpadminbar *  {
 #wpadminbar .ab-icon:before,
 #wpadminbar .ab-item:before,
 #wpadminbar #adminbarsearch:before {
-       color: #999;
+       color: #a0a5aa;
+       color: rgba(240,245,250,0.6);
 }
 
 #wpadminbar .ab-icon:before,
@@ -254,14 +256,16 @@ html:lang(he-il) .rtl #wpadminbar *  {
 }
 
 #wpadminbar .ab-submenu .ab-item {
-       color: #eee;
+       color: #b4b9be;
+       color: rgba(240,245,250,0.7);
 }
 
 #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;
+       color: #b4b9be;
+       color: rgba(240,245,250,0.7);
 }
 
 #wpadminbar .quicklinks .menupop ul li a:hover,
@@ -278,8 +282,9 @@ html:lang(he-il) .rtl #wpadminbar *  {
 #wpadminbar li .ab-item:focus:before,
 #wpadminbar li.hover .ab-icon:before,
 #wpadminbar li.hover .ab-item:before,
-#wpadminbar li:hover #adminbarsearch:before {
-       color: #45bbe6;
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
+       color: #00b9eb;
 }
 
 #wpadminbar .menupop .menupop > .ab-item:before,
@@ -325,17 +330,17 @@ html:lang(he-il) .rtl #wpadminbar *  {
 
 #wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
 #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-       background: #4b4b4b;
+       background: #464b50;
 }
 
 #wpadminbar .quicklinks .menupop .ab-sub-secondary > li > a:hover,
 #wpadminbar .quicklinks .menupop .ab-sub-secondary > li .ab-item:focus a {
-       color: #45bbe6;
+       color: #00b9eb;
 }
 
 #wpadminbar .quicklinks a span#ab-updates {
        background: #eee;
-       color: #333;
+       color: #32373c;
        display: inline;
        padding: 2px 5px;
        font-size: 10px;
@@ -383,6 +388,10 @@ html:lang(he-il) .rtl #wpadminbar *  {
        min-width: 270px;
 }
 
+#wpadminbar.ie8 #wp-admin-bar-my-account.with-avatar .ab-item {
+       white-space: nowrap;
+}
+
 #wpadminbar #wp-admin-bar-user-actions > li {
        margin-right: 16px;
        margin-left: 16px;
@@ -432,11 +441,11 @@ html:lang(he-il) .rtl #wpadminbar *  {
        font-size: 11px;
 }
 
-#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
-       width: 16px;
+#wpadminbar #wp-admin-bar-my-account.with-avatar > a img {
+       width: auto;
        height: 16px;
        padding: 0;
-       border: 1px solid #888;
+       border: 1px solid #82878c;
        background: #eee;
        line-height: 24px;
        vertical-align: middle;
@@ -445,6 +454,10 @@ html:lang(he-il) .rtl #wpadminbar *  {
        display: inline;
 }
 
+#wpadminbar.ie8 #wp-admin-bar-my-account.with-avatar > a img {
+       width: auto;
+}
+
 /**
  * WP Logo
  */
@@ -477,7 +490,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
 }
 
 #wpadminbar .quicklinks li a:hover .blavatar {
-       color: #45bbe6;
+       color: #00b9eb;
 }
 
 #wpadminbar .quicklinks li .blavatar:before {
@@ -548,6 +561,10 @@ html:lang(he-il) .rtl #wpadminbar *  {
 /**
  * Search
  */
+#wpadminbar.ie8 #wp-admin-bar-search {
+       display: block;
+       min-width: 32px;
+}
 #wpadminbar #wp-admin-bar-search .ab-item {
        padding: 0;
        background: transparent;
@@ -557,6 +574,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
        position: relative;
        height: 32px;
        padding: 0 2px;
+       z-index: 1;
 }
 
 #wpadminbar #adminbarsearch:before {
@@ -577,6 +595,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
        font: 13px/24px "Open Sans", sans-serif;
        height: 24px;
        width: 24px;
+       max-width: none;
        padding: 0 24px 0 3px;
        margin: 0;
        color: #ccc;
@@ -612,12 +631,18 @@ html:lang(he-il) .rtl #wpadminbar *  {
 }
 
 #wpadminbar.ie8 > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input {
-       margin-top: 4px;
-       background-color: #464646;
+       /* IE8 z-index bug with transparent / empty elements - fill in with an encoded transparent GIF */
+       background: transparent 100% 0 repeat scroll url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBR‌​AA7");
+}
+
+/* IE8 doesn't redraw the pseudo elements unless you make a change to the content */
+#wpadminbar.ie8 #adminbarsearch.adminbar-focused:before {
+       content: '\f179 '; /* extra space */
 }
 
 #wpadminbar.ie8 > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
-       background-color: #fff;
+       background: #fff;
+       z-index: -1;
 }
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
index 2d7250a04b25fcc8d2cedb933fb7d9d7ce12e46b..6a6dbdd811eeedfa216c4b911774fd0924b05ae5 100644 (file)
@@ -1 +1 @@
-#wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-shadow:none;text-transform:none;letter-spacing:normal;font:400 13px/32px "Open Sans",sans-serif;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transition:none;transition:none;-webkit-font-smoothing:subpixel-antialiased}.rtl #wpadminbar *{font-family:Tahoma,sans-serif}html:lang(he-il) .rtl #wpadminbar *{font-family:Arial,sans-serif}#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#eee}#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wpadminbar ul li:after,#wpadminbar ul li:before{content:normal}#wpadminbar a,#wpadminbar a img,#wpadminbar a img:hover,#wpadminbar a:hover{outline:0;border:none;text-decoration:none;background:0 0}#wpadminbar a:active,#wpadminbar a:focus,#wpadminbar div,#wpadminbar input[type=email],#wpadminbar input[type=number],#wpadminbar input[type=password],#wpadminbar input[type=search],#wpadminbar input[type=text],#wpadminbar input[type=url],#wpadminbar select,#wpadminbar textarea{-webkit-box-shadow:none;box-shadow:none;outline:0}#wpadminbar{direction:rtl;color:#ccc;font:400 13px/32px "Open Sans",sans-serif;height:32px;position:fixed;top:0;right:0;width:100%;min-width:600px;z-index:99999;background:#222}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0 0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#wpadminbar ul#wp-admin-bar-root-default>li{margin-left:0}#wpadminbar .quicklinks ul{text-align:right}#wpadminbar li{float:right}#wpadminbar .ab-empty-item{outline:0}#wpadminbar .quicklinks .ab-top-secondary>li{float:left}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks a,#wpadminbar .shortlink-input{height:32px;display:block;padding:0 10px;margin:0}#wpadminbar .quicklinks>ul>li>a{padding:0 7px 0 8px}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0;padding:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);background:#333;display:none;position:absolute;float:none}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:32px;right:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{left:0;right:auto}#wpadminbar .ab-submenu{padding:6px 0}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:700}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar .shortlink-input,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item{line-height:26px;height:26px;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar li.hover>.ab-sub-wrapper,#wpadminbar.nojs li:hover>.ab-sub-wrapper{display:block}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-right:100%;margin-top:-32px}#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper{margin-right:0;right:inherit;left:100%}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#333;color:#45bbe6}#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:#45bbe6}#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:#45bbe6}#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:#45bbe6}#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:#45bbe6}#wpadminbar .quicklinks li .blavatar:before{content:'\f120';height:16px;width:16px;display:inline-block;margin:6px -2px 0 8px}#wpadminbar #wp-admin-bar-appearance{margin-top:-12px}#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:'\f112';top:2px}#wpadminbar #wp-admin-bar-edit>.ab-item:before{content:'\f464';top:2px}#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f226"}.wp-admin #wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f102"}#wpadminbar #wp-admin-bar-comments .ab-icon{margin-left:6px}#wpadminbar #wp-admin-bar-comments .ab-icon:before{content:'\f101';top:3px}#wpadminbar #wp-admin-bar-comments .count-0{opacity:.5}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{content:'\f132';top:4px}#wpadminbar #wp-admin-bar-updates .ab-icon:before{content:'\f463';top:2px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px}#wpadminbar #adminbarsearch:before{position:absolute;top:6px;right:5px;z-index:20;font:400 20px/1 dashicons!important;content:'\f179';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{position:relative;z-index:30;font:13px/24px "Open Sans",sans-serif;height:24px;width:24px;padding:0 24px 0 3px;margin:0;color:#ccc;background-color:rgba(255,255,255,0);border:none;outline:0;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transition-property:width,background;transition-property:width,background;-webkit-transition-timing-function:ease;transition-timing-function:ease}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{z-index:10;color:#000;width:200px;background-color:rgba(255,255,255,.9);cursor:text;border:0}#wpadminbar.ie7>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:3px;width:120px}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{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 #wpadminbar .hide-if-customize,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support #wpadminbar .hide-if-no-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#wpadminbar .screen-reader-text,#wpadminbar .screen-reader-text span{position:absolute;right:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}#wpadminbar .screen-reader-shortcut{position:absolute;top:-1000em}#wpadminbar .screen-reader-shortcut:focus{right:6px;top:7px;height:auto;width:auto;display:block;font-size:14px;font-weight:700;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;text-decoration:none;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:right}* html #wpadminbar .menupop a span{background-image:none}.no-font-face #wpadminbar ul.ab-top-menu>li>a.ab-item{display:block;width:45px;text-align:center;overflow:hidden;margin:0 3px}.no-font-face #wpadminbar #wp-admin-bar-edit>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-my-sites>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:0}.no-font-face #wpadminbar #wp-admin-bar-wp-logo>.ab-item,.no-font-face #wpadminbar .ab-icon,.no-font-face #wpadminbar .ab-icon:before,.no-font-face #wpadminbar a.ab-item:before{display:none!important}.no-font-face #wpadminbar ul.ab-top-menu>li>a>span.ab-label{display:inline}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon{display:inline!important}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon:before{content:"Menu";font:14px/45px sans-serif!important;display:inline-block!important;color:#fff}.no-font-face #wpadminbar #wp-admin-bar-site-name a.ab-item{color:#fff}@media screen and (max-width:782px){html #wpadminbar{height:46px;min-width:300px}#wpadminbar *{font:400 14px/32px "Open Sans",sans-serif}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks>ul>li>a{padding:0;height:46px;line-height:46px;width:auto}#wpadminbar .ab-icon{font:40px/1 dashicons!important;margin:0;width:52px;height:46px;text-align:center}#wpadminbar .ab-icon:before{text-align:center}#wpadminbar .ab-submenu{padding:0}#wpadminbar #wp-admin-bar-my-account a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{text-overflow:clip}#wpadminbar .ab-label{display:none}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar .ab-top-menu .menupop .ab-sub-wrapper .menupop>.ab-item{padding-left:30px}#wpadminbar .menupop .menupop>.ab-item:before{top:10px;left:6px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 12px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{padding:0;width:52px;height:46px;text-align:center;vertical-align:top}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{font:28px/1 dashicons!important;top:-3px}#wpadminbar #wp-admin-bar-edit>.ab-item,#wpadminbar #wp-admin-bar-my-account>.ab-item,#wpadminbar #wp-admin-bar-my-sites>.ab-item,#wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:100%;white-space:nowrap;overflow:hidden;width:52px;padding:0;color:#999;position:relative}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{padding:0;margin-left:0}#wpadminbar #wp-admin-bar-edit>.ab-item:before,#wpadminbar #wp-admin-bar-my-account>.ab-item:before,#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{display:block;text-indent:0;font:400 32px/1 dashicons;speak:none;top:7px;width:52px;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar #wp-admin-bar-appearance{margin-top:0}#wpadminbar #wp-admin-bar-search,#wpadminbar .quicklinks li .blavatar:before{display:none}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{top:0;line-height:53px;height:46px!important;text-align:center;width:52px;display:block}#wpadminbar #wp-admin-bar-updates{text-align:center}#wpadminbar #wp-admin-bar-updates .ab-icon:before{top:3px}#wpadminbar #wp-admin-bar-comments .ab-icon{margin:0}#wpadminbar #wp-admin-bar-comments .ab-icon:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wpadminbar #wp-admin-bar-my-account>a{position:relative;white-space:nowrap;text-indent:150%;width:28px;padding:0 10px;overflow:hidden}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{position:absolute;top:13px;left:10px;width:26px;height:26px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#wpadminbar #wp-admin-bar-user-info .display-name{height:auto;font-size:16px;line-height:24px;color:#eee}#wpadminbar #wp-admin-bar-user-info a{padding-top:4px}#wpadminbar #wp-admin-bar-user-info .username{line-height:.8!important;margin-bottom:-2px}#wp-toolbar>ul>li{display:none}#wpadminbar li#wp-admin-bar-comments,#wpadminbar li#wp-admin-bar-edit,#wpadminbar li#wp-admin-bar-menu-toggle,#wpadminbar li#wp-admin-bar-my-account,#wpadminbar li#wp-admin-bar-my-sites,#wpadminbar li#wp-admin-bar-new-content,#wpadminbar li#wp-admin-bar-site-name,#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:block}#wpadminbar li.hover ul li,#wpadminbar li:hover ul li,#wpadminbar li:hover ul li:hover ul li{display:list-item}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}#wpadminbar ul#wp-admin-bar-root-default>li{margin-left:0}#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-edit,#wpadminbar #wp-admin-bar-my-account,#wpadminbar #wp-admin-bar-my-sites,#wpadminbar #wp-admin-bar-new-content,#wpadminbar #wp-admin-bar-site-name,#wpadminbar #wp-admin-bar-updates,#wpadminbar #wp-admin-bar-wp-logo,#wpadminbar .ab-top-menu,#wpadminbar .ab-top-secondary{position:static}#wpadminbar #wp-admin-bar-my-account{float:left}.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-left:0}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:10px;right:0}}@media screen and (max-width:600px){#wpadminbar{position:absolute}#wp-responsive-overlay{position:fixed;top:0;right:0;width:100%;height:100%;z-index:400}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{width:100%;right:0}#wpadminbar .menupop .menupop>.ab-item:before{display:none}#wpadminbar #wp-admin-bar-wp-logo.menupop .ab-sub-wrapper{margin-right:0}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{margin:0;width:100%;top:auto;right:auto}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 30px 19px 15px}#wpadminbar li:hover ul li ul li{display:list-item}#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:none}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{position:static;-webkit-box-shadow:none;box-shadow:none}}
\ No newline at end of file
+#wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-shadow:none;text-transform:none;letter-spacing:normal;font:400 13px/32px "Open Sans",sans-serif;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transition:none;transition:none;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto}.rtl #wpadminbar *{font-family:Tahoma,sans-serif}html:lang(he-il) .rtl #wpadminbar *{font-family:Arial,sans-serif}#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#eee}#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wpadminbar ul li:after,#wpadminbar ul li:before{content:normal}#wpadminbar a,#wpadminbar a img,#wpadminbar a img:hover,#wpadminbar a:hover{outline:0;border:none;text-decoration:none;background:0 0}#wpadminbar a:active,#wpadminbar a:focus,#wpadminbar div,#wpadminbar input[type=email],#wpadminbar input[type=number],#wpadminbar input[type=password],#wpadminbar input[type=search],#wpadminbar input[type=text],#wpadminbar input[type=url],#wpadminbar select,#wpadminbar textarea{-webkit-box-shadow:none;box-shadow:none;outline:0}#wpadminbar{direction:rtl;color:#ccc;font:400 13px/32px "Open Sans",sans-serif;height:32px;position:fixed;top:0;right:0;width:100%;min-width:600px;z-index:99999;background:#23282d}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0 0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#wpadminbar ul#wp-admin-bar-root-default>li{margin-left:0}#wpadminbar .quicklinks ul{text-align:right}#wpadminbar li{float:right}#wpadminbar .ab-empty-item{outline:0}#wpadminbar .quicklinks .ab-top-secondary>li{float:left}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks a,#wpadminbar .shortlink-input{height:32px;display:block;padding:0 10px;margin:0}#wpadminbar .quicklinks>ul>li>a{padding:0 7px 0 8px}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0;padding:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);background:#32373c;display:none;position:absolute;float:none}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:32px;right:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{left:0;right:auto}#wpadminbar .ab-submenu{padding:6px 0}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:700}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar .shortlink-input,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item{line-height:26px;height:26px;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar li.hover>.ab-sub-wrapper,#wpadminbar.nojs li:hover>.ab-sub-wrapper{display:block}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-right:100%;margin-top:-32px}#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper{margin-right:0;right:inherit;left:100%}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#32373c;color:#00b9eb}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#00b9eb}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{position:relative;float:right;font:400 20px/1 dashicons;speak:none;padding:4px 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:none!important;margin-left:6px}#wpadminbar #adminbarsearch:before,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:before{color:#a0a5aa;color:rgba(240,245,250,.6);position:relative;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#wpadminbar .ab-label{display:inline-block;height:32px}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#b4b9be;color:rgba(240,245,250,.7)}#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar li #adminbarsearch.adminbar-focused:before,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#00b9eb}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before,#wpadminbar .menupop .menupop>.ab-item:before{position:absolute;font:400 17px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar .menupop .menupop>.ab-item{display:block;padding-left:2em}#wpadminbar .menupop .menupop>.ab-item:before{top:1px;left:4px;content:'\f139';color:inherit}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{padding-right:2em;padding-left:1em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:5px;right:3px;content:'\f141'}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;left:auto;margin:0;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#464b50}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover{color:#00b9eb}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#32373c;display:inline;padding:2px 5px;font-size:10px;font-weight:700;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000}#wpadminbar .ab-top-secondary{float:left}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{-webkit-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#wp-admin-bar-my-account>.ab-item:before{content:"\f110";top:2px;float:left;margin-right:6px;margin-left:0}#wp-admin-bar-my-account.with-avatar>.ab-item:before{display:none;content:none}#wp-admin-bar-my-account.with-avatar>ul{min-width:270px}#wpadminbar.ie8 #wp-admin-bar-my-account.with-avatar .ab-item{white-space:nowrap}#wpadminbar #wp-admin-bar-user-actions>li{margin-right:16px;margin-left:16px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:6px 0 12px}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-right:88px}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background:0 0}#wp-admin-bar-user-info .avatar{position:absolute;right:-72px;top:4px;width:64px;height:64px}#wpadminbar #wp-admin-bar-user-info a{background:0 0;height:auto}#wpadminbar #wp-admin-bar-user-info span{background:0 0;padding:0;height:18px}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{display:block}#wpadminbar #wp-admin-bar-user-info .username{color:#999;font-size:11px}#wpadminbar #wp-admin-bar-my-account.with-avatar>a img{width:auto;height:16px;padding:0;border:1px solid #82878c;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 6px 0 0;float:none;display:inline}#wpadminbar.ie8 #wp-admin-bar-my-account.with-avatar>a img{width:auto}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{width:15px;height:20px;margin-left:0;padding:6px 0 5px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0 7px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{content:'\f120';top:2px}#wpadminbar .quicklinks li .blavatar{float:right;font:400 16px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#eee}#wpadminbar .quicklinks li a:hover .blavatar{color:#00b9eb}#wpadminbar .quicklinks li .blavatar:before{content:'\f120';height:16px;width:16px;display:inline-block;margin:6px -2px 0 8px}#wpadminbar #wp-admin-bar-appearance{margin-top:-12px}#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:'\f112';top:2px}#wpadminbar #wp-admin-bar-edit>.ab-item:before{content:'\f464';top:2px}#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f226"}.wp-admin #wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f102"}#wpadminbar #wp-admin-bar-comments .ab-icon{margin-left:6px}#wpadminbar #wp-admin-bar-comments .ab-icon:before{content:'\f101';top:3px}#wpadminbar #wp-admin-bar-comments .count-0{opacity:.5}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{content:'\f132';top:4px}#wpadminbar #wp-admin-bar-updates .ab-icon:before{content:'\f463';top:2px}#wpadminbar.ie8 #wp-admin-bar-search{display:block;min-width:32px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px;z-index:1}#wpadminbar #adminbarsearch:before{position:absolute;top:6px;right:5px;z-index:20;font:400 20px/1 dashicons!important;content:'\f179';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{position:relative;z-index:30;font:13px/24px "Open Sans",sans-serif;height:24px;width:24px;max-width:none;padding:0 24px 0 3px;margin:0;color:#ccc;background-color:rgba(255,255,255,0);border:none;outline:0;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transition-property:width,background;transition-property:width,background;-webkit-transition-timing-function:ease;transition-timing-function:ease}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{z-index:10;color:#000;width:200px;background-color:rgba(255,255,255,.9);cursor:text;border:0}#wpadminbar.ie7>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:3px;width:120px}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBR‌​AA7) 100% 0}#wpadminbar.ie8 #adminbarsearch.adminbar-focused:before{content:'\f179 '}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background:#fff;z-index:-1}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-button,.customize-support #wpadminbar .hide-if-customize,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support #wpadminbar .hide-if-no-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#wpadminbar .screen-reader-text,#wpadminbar .screen-reader-text span{position:absolute;right:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}#wpadminbar .screen-reader-shortcut{position:absolute;top:-1000em}#wpadminbar .screen-reader-shortcut:focus{right:6px;top:7px;height:auto;width:auto;display:block;font-size:14px;font-weight:700;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;text-decoration:none;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:right}* html #wpadminbar .menupop a span{background-image:none}.no-font-face #wpadminbar ul.ab-top-menu>li>a.ab-item{display:block;width:45px;text-align:center;overflow:hidden;margin:0 3px}.no-font-face #wpadminbar #wp-admin-bar-edit>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-my-sites>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:0}.no-font-face #wpadminbar #wp-admin-bar-wp-logo>.ab-item,.no-font-face #wpadminbar .ab-icon,.no-font-face #wpadminbar .ab-icon:before,.no-font-face #wpadminbar a.ab-item:before{display:none!important}.no-font-face #wpadminbar ul.ab-top-menu>li>a>span.ab-label{display:inline}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon{display:inline!important}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon:before{content:"Menu";font:14px/45px sans-serif!important;display:inline-block!important;color:#fff}.no-font-face #wpadminbar #wp-admin-bar-site-name a.ab-item{color:#fff}@media screen and (max-width:782px){html #wpadminbar{height:46px;min-width:300px}#wpadminbar *{font:400 14px/32px "Open Sans",sans-serif}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks>ul>li>a{padding:0;height:46px;line-height:46px;width:auto}#wpadminbar .ab-icon{font:40px/1 dashicons!important;margin:0;width:52px;height:46px;text-align:center}#wpadminbar .ab-icon:before{text-align:center}#wpadminbar .ab-submenu{padding:0}#wpadminbar #wp-admin-bar-my-account a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{text-overflow:clip}#wpadminbar .ab-label{display:none}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar .ab-top-menu .menupop .ab-sub-wrapper .menupop>.ab-item{padding-left:30px}#wpadminbar .menupop .menupop>.ab-item:before{top:10px;left:6px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 12px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{padding:0;width:52px;height:46px;text-align:center;vertical-align:top}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{font:28px/1 dashicons!important;top:-3px}#wpadminbar #wp-admin-bar-edit>.ab-item,#wpadminbar #wp-admin-bar-my-account>.ab-item,#wpadminbar #wp-admin-bar-my-sites>.ab-item,#wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:100%;white-space:nowrap;overflow:hidden;width:52px;padding:0;color:#999;position:relative}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{padding:0;margin-left:0}#wpadminbar #wp-admin-bar-edit>.ab-item:before,#wpadminbar #wp-admin-bar-my-account>.ab-item:before,#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{display:block;text-indent:0;font:400 32px/1 dashicons;speak:none;top:7px;width:52px;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar #wp-admin-bar-appearance{margin-top:0}#wpadminbar #wp-admin-bar-search,#wpadminbar .quicklinks li .blavatar:before{display:none}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{top:0;line-height:53px;height:46px!important;text-align:center;width:52px;display:block}#wpadminbar #wp-admin-bar-updates{text-align:center}#wpadminbar #wp-admin-bar-updates .ab-icon:before{top:3px}#wpadminbar #wp-admin-bar-comments .ab-icon{margin:0}#wpadminbar #wp-admin-bar-comments .ab-icon:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wpadminbar #wp-admin-bar-my-account>a{position:relative;white-space:nowrap;text-indent:150%;width:28px;padding:0 10px;overflow:hidden}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{position:absolute;top:13px;left:10px;width:26px;height:26px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#wpadminbar #wp-admin-bar-user-info .display-name{height:auto;font-size:16px;line-height:24px;color:#eee}#wpadminbar #wp-admin-bar-user-info a{padding-top:4px}#wpadminbar #wp-admin-bar-user-info .username{line-height:.8!important;margin-bottom:-2px}#wp-toolbar>ul>li{display:none}#wpadminbar li#wp-admin-bar-comments,#wpadminbar li#wp-admin-bar-edit,#wpadminbar li#wp-admin-bar-menu-toggle,#wpadminbar li#wp-admin-bar-my-account,#wpadminbar li#wp-admin-bar-my-sites,#wpadminbar li#wp-admin-bar-new-content,#wpadminbar li#wp-admin-bar-site-name,#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:block}#wpadminbar li.hover ul li,#wpadminbar li:hover ul li,#wpadminbar li:hover ul li:hover ul li{display:list-item}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}#wpadminbar ul#wp-admin-bar-root-default>li{margin-left:0}#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-edit,#wpadminbar #wp-admin-bar-my-account,#wpadminbar #wp-admin-bar-my-sites,#wpadminbar #wp-admin-bar-new-content,#wpadminbar #wp-admin-bar-site-name,#wpadminbar #wp-admin-bar-updates,#wpadminbar #wp-admin-bar-wp-logo,#wpadminbar .ab-top-menu,#wpadminbar .ab-top-secondary{position:static}#wpadminbar #wp-admin-bar-my-account{float:left}.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-left:0}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:10px;right:0}}@media screen and (max-width:600px){#wpadminbar{position:absolute}#wp-responsive-overlay{position:fixed;top:0;right:0;width:100%;height:100%;z-index:400}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{width:100%;right:0}#wpadminbar .menupop .menupop>.ab-item:before{display:none}#wpadminbar #wp-admin-bar-wp-logo.menupop .ab-sub-wrapper{margin-right:0}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{margin:0;width:100%;top:auto;right:auto}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 30px 19px 15px}#wpadminbar li:hover ul li ul li{display:list-item}#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:none}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{position:static;-webkit-box-shadow:none;box-shadow:none}}
\ No newline at end of file
index f48f6a1e2ab79681eaad9e9eff38e43acb45df7a..3ff4f8a5c95af8136eb94b8f58790dbb134a9d48 100644 (file)
@@ -16,6 +16,7 @@
        -webkit-transition: none;
        transition: none;
        -webkit-font-smoothing: subpixel-antialiased; /* Prevent Safari from switching to standard antialiasing on hover */
+       -moz-osx-font-smoothing: auto; /* Prevent Firefox from inheriting from themes that use other values */
 }
 
 .rtl #wpadminbar * {
@@ -81,7 +82,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
        width: 100%;
        min-width: 600px; /* match the min-width of the body in wp-admin.css */
        z-index: 99999;
-       background: #222;
+       background: #23282d;
 }
 
 #wpadminbar .ab-sub-wrapper,
@@ -136,7 +137,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
        padding: 0;
        -webkit-box-shadow: 0 3px 5px rgba(0,0,0,0.2);
        box-shadow: 0 3px 5px rgba(0,0,0,0.2);
-       background: #333;
+       background: #32373c;
        display: none;
        position: absolute;
        float: none;
@@ -210,14 +211,14 @@ html:lang(he-il) .rtl #wpadminbar *  {
 #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: #45bbe6;
+       background: #32373c;
+       color: #00b9eb;
 }
 
 #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: #45bbe6;
+       color: #00b9eb;
 }
 
 #wpadminbar > #wp-toolbar > #wp-admin-bar-root-default .ab-icon,
@@ -237,7 +238,8 @@ html:lang(he-il) .rtl #wpadminbar *  {
 #wpadminbar .ab-icon:before,
 #wpadminbar .ab-item:before,
 #wpadminbar #adminbarsearch:before {
-       color: #999;
+       color: #a0a5aa;
+       color: rgba(240,245,250,0.6);
 }
 
 #wpadminbar .ab-icon:before,
@@ -254,14 +256,16 @@ html:lang(he-il) .rtl #wpadminbar *  {
 }
 
 #wpadminbar .ab-submenu .ab-item {
-       color: #eee;
+       color: #b4b9be;
+       color: rgba(240,245,250,0.7);
 }
 
 #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;
+       color: #b4b9be;
+       color: rgba(240,245,250,0.7);
 }
 
 #wpadminbar .quicklinks .menupop ul li a:hover,
@@ -278,8 +282,9 @@ html:lang(he-il) .rtl #wpadminbar *  {
 #wpadminbar li .ab-item:focus:before,
 #wpadminbar li.hover .ab-icon:before,
 #wpadminbar li.hover .ab-item:before,
-#wpadminbar li:hover #adminbarsearch:before {
-       color: #45bbe6;
+#wpadminbar li:hover #adminbarsearch:before,
+#wpadminbar li #adminbarsearch.adminbar-focused:before {
+       color: #00b9eb;
 }
 
 #wpadminbar .menupop .menupop > .ab-item:before,
@@ -325,17 +330,17 @@ html:lang(he-il) .rtl #wpadminbar *  {
 
 #wpadminbar .quicklinks .menupop ul.ab-sub-secondary,
 #wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu {
-       background: #4b4b4b;
+       background: #464b50;
 }
 
 #wpadminbar .quicklinks .menupop .ab-sub-secondary > li > a:hover,
 #wpadminbar .quicklinks .menupop .ab-sub-secondary > li .ab-item:focus a {
-       color: #45bbe6;
+       color: #00b9eb;
 }
 
 #wpadminbar .quicklinks a span#ab-updates {
        background: #eee;
-       color: #333;
+       color: #32373c;
        display: inline;
        padding: 2px 5px;
        font-size: 10px;
@@ -383,6 +388,10 @@ html:lang(he-il) .rtl #wpadminbar *  {
        min-width: 270px;
 }
 
+#wpadminbar.ie8 #wp-admin-bar-my-account.with-avatar .ab-item {
+       white-space: nowrap;
+}
+
 #wpadminbar #wp-admin-bar-user-actions > li {
        margin-left: 16px;
        margin-right: 16px;
@@ -432,11 +441,11 @@ html:lang(he-il) .rtl #wpadminbar *  {
        font-size: 11px;
 }
 
-#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar > a img {
-       width: 16px;
+#wpadminbar #wp-admin-bar-my-account.with-avatar > a img {
+       width: auto;
        height: 16px;
        padding: 0;
-       border: 1px solid #888;
+       border: 1px solid #82878c;
        background: #eee;
        line-height: 24px;
        vertical-align: middle;
@@ -445,6 +454,10 @@ html:lang(he-il) .rtl #wpadminbar *  {
        display: inline;
 }
 
+#wpadminbar.ie8 #wp-admin-bar-my-account.with-avatar > a img {
+       width: auto;
+}
+
 /**
  * WP Logo
  */
@@ -477,7 +490,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
 }
 
 #wpadminbar .quicklinks li a:hover .blavatar {
-       color: #45bbe6;
+       color: #00b9eb;
 }
 
 #wpadminbar .quicklinks li .blavatar:before {
@@ -548,6 +561,10 @@ html:lang(he-il) .rtl #wpadminbar *  {
 /**
  * Search
  */
+#wpadminbar.ie8 #wp-admin-bar-search {
+       display: block;
+       min-width: 32px;
+}
 #wpadminbar #wp-admin-bar-search .ab-item {
        padding: 0;
        background: transparent;
@@ -557,6 +574,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
        position: relative;
        height: 32px;
        padding: 0 2px;
+       z-index: 1;
 }
 
 #wpadminbar #adminbarsearch:before {
@@ -577,6 +595,7 @@ html:lang(he-il) .rtl #wpadminbar *  {
        font: 13px/24px "Open Sans", sans-serif;
        height: 24px;
        width: 24px;
+       max-width: none;
        padding: 0 3px 0 24px;
        margin: 0;
        color: #ccc;
@@ -612,12 +631,18 @@ html:lang(he-il) .rtl #wpadminbar *  {
 }
 
 #wpadminbar.ie8 > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input {
-       margin-top: 4px;
-       background-color: #464646;
+       /* IE8 z-index bug with transparent / empty elements - fill in with an encoded transparent GIF */
+       background: transparent 0 0 repeat scroll url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBR‌​AA7");
+}
+
+/* IE8 doesn't redraw the pseudo elements unless you make a change to the content */
+#wpadminbar.ie8 #adminbarsearch.adminbar-focused:before {
+       content: '\f179 '; /* extra space */
 }
 
 #wpadminbar.ie8 > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
-       background-color: #fff;
+       background: #fff;
+       z-index: -1;
 }
 
 #wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder {
index 440613db04ddebca2f9c10c71e4846344cbcdca0..94b37d1b4cac52832291727d36bc9c3f0ec0a23f 100644 (file)
@@ -1 +1 @@
-#wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-shadow:none;text-transform:none;letter-spacing:normal;font:400 13px/32px "Open Sans",sans-serif;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transition:none;transition:none;-webkit-font-smoothing:subpixel-antialiased}.rtl #wpadminbar *{font-family:Tahoma,sans-serif}html:lang(he-il) .rtl #wpadminbar *{font-family:Arial,sans-serif}#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#eee}#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wpadminbar ul li:after,#wpadminbar ul li:before{content:normal}#wpadminbar a,#wpadminbar a img,#wpadminbar a img:hover,#wpadminbar a:hover{outline:0;border:none;text-decoration:none;background:0 0}#wpadminbar a:active,#wpadminbar a:focus,#wpadminbar div,#wpadminbar input[type=email],#wpadminbar input[type=number],#wpadminbar input[type=password],#wpadminbar input[type=search],#wpadminbar input[type=text],#wpadminbar input[type=url],#wpadminbar select,#wpadminbar textarea{-webkit-box-shadow:none;box-shadow:none;outline:0}#wpadminbar{direction:ltr;color:#ccc;font:400 13px/32px "Open Sans",sans-serif;height:32px;position:fixed;top:0;left:0;width:100%;min-width:600px;z-index:99999;background:#222}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0 0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#wpadminbar ul#wp-admin-bar-root-default>li{margin-right:0}#wpadminbar .quicklinks ul{text-align:left}#wpadminbar li{float:left}#wpadminbar .ab-empty-item{outline:0}#wpadminbar .quicklinks .ab-top-secondary>li{float:right}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks a,#wpadminbar .shortlink-input{height:32px;display:block;padding:0 10px;margin:0}#wpadminbar .quicklinks>ul>li>a{padding:0 8px 0 7px}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0;padding:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);background:#333;display:none;position:absolute;float:none}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:32px;left:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{right:0;left:auto}#wpadminbar .ab-submenu{padding:6px 0}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:700}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar .shortlink-input,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item{line-height:26px;height:26px;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar li.hover>.ab-sub-wrapper,#wpadminbar.nojs li:hover>.ab-sub-wrapper{display:block}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-left:100%;margin-top:-32px}#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper{margin-left:0;left:inherit;right:100%}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#333;color:#45bbe6}#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:#45bbe6}#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:#45bbe6}#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:#45bbe6}#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:#45bbe6}#wpadminbar .quicklinks li .blavatar:before{content:'\f120';height:16px;width:16px;display:inline-block;margin:6px 8px 0 -2px}#wpadminbar #wp-admin-bar-appearance{margin-top:-12px}#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:'\f112';top:2px}#wpadminbar #wp-admin-bar-edit>.ab-item:before{content:'\f464';top:2px}#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f226"}.wp-admin #wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f102"}#wpadminbar #wp-admin-bar-comments .ab-icon{margin-right:6px}#wpadminbar #wp-admin-bar-comments .ab-icon:before{content:'\f101';top:3px}#wpadminbar #wp-admin-bar-comments .count-0{opacity:.5}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{content:'\f132';top:4px}#wpadminbar #wp-admin-bar-updates .ab-icon:before{content:'\f463';top:2px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px}#wpadminbar #adminbarsearch:before{position:absolute;top:6px;left:5px;z-index:20;font:400 20px/1 dashicons!important;content:'\f179';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{position:relative;z-index:30;font:13px/24px "Open Sans",sans-serif;height:24px;width:24px;padding:0 3px 0 24px;margin:0;color:#ccc;background-color:rgba(255,255,255,0);border:none;outline:0;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transition-property:width,background;transition-property:width,background;-webkit-transition-timing-function:ease;transition-timing-function:ease}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{z-index:10;color:#000;width:200px;background-color:rgba(255,255,255,.9);cursor:text;border:0}#wpadminbar.ie7>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:3px;width:120px}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{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 #wpadminbar .hide-if-customize,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support #wpadminbar .hide-if-no-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#wpadminbar .screen-reader-text,#wpadminbar .screen-reader-text span{position:absolute;left:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}#wpadminbar .screen-reader-shortcut{position:absolute;top:-1000em}#wpadminbar .screen-reader-shortcut:focus{left:6px;top:7px;height:auto;width:auto;display:block;font-size:14px;font-weight:700;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;text-decoration:none;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:left}* html #wpadminbar .menupop a span{background-image:none}.no-font-face #wpadminbar ul.ab-top-menu>li>a.ab-item{display:block;width:45px;text-align:center;overflow:hidden;margin:0 3px}.no-font-face #wpadminbar #wp-admin-bar-edit>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-my-sites>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:0}.no-font-face #wpadminbar #wp-admin-bar-wp-logo>.ab-item,.no-font-face #wpadminbar .ab-icon,.no-font-face #wpadminbar .ab-icon:before,.no-font-face #wpadminbar a.ab-item:before{display:none!important}.no-font-face #wpadminbar ul.ab-top-menu>li>a>span.ab-label{display:inline}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon{display:inline!important}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon:before{content:"Menu";font:14px/45px sans-serif!important;display:inline-block!important;color:#fff}.no-font-face #wpadminbar #wp-admin-bar-site-name a.ab-item{color:#fff}@media screen and (max-width:782px){html #wpadminbar{height:46px;min-width:300px}#wpadminbar *{font:400 14px/32px "Open Sans",sans-serif}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks>ul>li>a{padding:0;height:46px;line-height:46px;width:auto}#wpadminbar .ab-icon{font:40px/1 dashicons!important;margin:0;width:52px;height:46px;text-align:center}#wpadminbar .ab-icon:before{text-align:center}#wpadminbar .ab-submenu{padding:0}#wpadminbar #wp-admin-bar-my-account a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{text-overflow:clip}#wpadminbar .ab-label{display:none}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar .ab-top-menu .menupop .ab-sub-wrapper .menupop>.ab-item{padding-right:30px}#wpadminbar .menupop .menupop>.ab-item:before{top:10px;right:6px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 12px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{padding:0;width:52px;height:46px;text-align:center;vertical-align:top}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{font:28px/1 dashicons!important;top:-3px}#wpadminbar #wp-admin-bar-edit>.ab-item,#wpadminbar #wp-admin-bar-my-account>.ab-item,#wpadminbar #wp-admin-bar-my-sites>.ab-item,#wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:100%;white-space:nowrap;overflow:hidden;width:52px;padding:0;color:#999;position:relative}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{padding:0;margin-right:0}#wpadminbar #wp-admin-bar-edit>.ab-item:before,#wpadminbar #wp-admin-bar-my-account>.ab-item:before,#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{display:block;text-indent:0;font:400 32px/1 dashicons;speak:none;top:7px;width:52px;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar #wp-admin-bar-appearance{margin-top:0}#wpadminbar #wp-admin-bar-search,#wpadminbar .quicklinks li .blavatar:before{display:none}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{top:0;line-height:53px;height:46px!important;text-align:center;width:52px;display:block}#wpadminbar #wp-admin-bar-updates{text-align:center}#wpadminbar #wp-admin-bar-updates .ab-icon:before{top:3px}#wpadminbar #wp-admin-bar-comments .ab-icon{margin:0}#wpadminbar #wp-admin-bar-comments .ab-icon:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wpadminbar #wp-admin-bar-my-account>a{position:relative;white-space:nowrap;text-indent:150%;width:28px;padding:0 10px;overflow:hidden}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{position:absolute;top:13px;right:10px;width:26px;height:26px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#wpadminbar #wp-admin-bar-user-info .display-name{height:auto;font-size:16px;line-height:24px;color:#eee}#wpadminbar #wp-admin-bar-user-info a{padding-top:4px}#wpadminbar #wp-admin-bar-user-info .username{line-height:.8!important;margin-bottom:-2px}#wp-toolbar>ul>li{display:none}#wpadminbar li#wp-admin-bar-comments,#wpadminbar li#wp-admin-bar-edit,#wpadminbar li#wp-admin-bar-menu-toggle,#wpadminbar li#wp-admin-bar-my-account,#wpadminbar li#wp-admin-bar-my-sites,#wpadminbar li#wp-admin-bar-new-content,#wpadminbar li#wp-admin-bar-site-name,#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:block}#wpadminbar li.hover ul li,#wpadminbar li:hover ul li,#wpadminbar li:hover ul li:hover ul li{display:list-item}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}#wpadminbar ul#wp-admin-bar-root-default>li{margin-right:0}#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-edit,#wpadminbar #wp-admin-bar-my-account,#wpadminbar #wp-admin-bar-my-sites,#wpadminbar #wp-admin-bar-new-content,#wpadminbar #wp-admin-bar-site-name,#wpadminbar #wp-admin-bar-updates,#wpadminbar #wp-admin-bar-wp-logo,#wpadminbar .ab-top-menu,#wpadminbar .ab-top-secondary{position:static}#wpadminbar #wp-admin-bar-my-account{float:right}.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-right:0}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:10px;left:0}}@media screen and (max-width:600px){#wpadminbar{position:absolute}#wp-responsive-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:400}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{width:100%;left:0}#wpadminbar .menupop .menupop>.ab-item:before{display:none}#wpadminbar #wp-admin-bar-wp-logo.menupop .ab-sub-wrapper{margin-left:0}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{margin:0;width:100%;top:auto;left:auto}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 19px 30px}#wpadminbar li:hover ul li ul li{display:list-item}#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:none}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{position:static;-webkit-box-shadow:none;box-shadow:none}}
\ No newline at end of file
+#wpadminbar *{height:auto;width:auto;margin:0;padding:0;position:static;text-shadow:none;text-transform:none;letter-spacing:normal;font:400 13px/32px "Open Sans",sans-serif;-webkit-border-radius:0;border-radius:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-transition:none;transition:none;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto}.rtl #wpadminbar *{font-family:Tahoma,sans-serif}html:lang(he-il) .rtl #wpadminbar *{font-family:Arial,sans-serif}#wpadminbar a.ab-item,#wpadminbar>#wp-toolbar span.ab-label,#wpadminbar>#wp-toolbar span.noticon{color:#eee}#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wpadminbar ul li:after,#wpadminbar ul li:before{content:normal}#wpadminbar a,#wpadminbar a img,#wpadminbar a img:hover,#wpadminbar a:hover{outline:0;border:none;text-decoration:none;background:0 0}#wpadminbar a:active,#wpadminbar a:focus,#wpadminbar div,#wpadminbar input[type=email],#wpadminbar input[type=number],#wpadminbar input[type=password],#wpadminbar input[type=search],#wpadminbar input[type=text],#wpadminbar input[type=url],#wpadminbar select,#wpadminbar textarea{-webkit-box-shadow:none;box-shadow:none;outline:0}#wpadminbar{direction:ltr;color:#ccc;font:400 13px/32px "Open Sans",sans-serif;height:32px;position:fixed;top:0;left:0;width:100%;min-width:600px;z-index:99999;background:#23282d}#wpadminbar .ab-sub-wrapper,#wpadminbar ul,#wpadminbar ul li{background:0 0;clear:none;list-style:none;margin:0;padding:0;position:relative;text-indent:0;z-index:99999}#wpadminbar ul#wp-admin-bar-root-default>li{margin-right:0}#wpadminbar .quicklinks ul{text-align:left}#wpadminbar li{float:left}#wpadminbar .ab-empty-item{outline:0}#wpadminbar .quicklinks .ab-top-secondary>li{float:right}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks a,#wpadminbar .shortlink-input{height:32px;display:block;padding:0 10px;margin:0}#wpadminbar .quicklinks>ul>li>a{padding:0 8px 0 7px}#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input{margin:0;padding:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);background:#32373c;display:none;position:absolute;float:none}#wpadminbar.ie7 .menupop .ab-sub-wrapper,#wpadminbar.ie7 .shortlink-input{top:32px;left:0}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:100%}#wpadminbar .ab-top-secondary .menupop .ab-sub-wrapper{right:0;left:auto}#wpadminbar .ab-submenu{padding:6px 0}#wpadminbar .selected .shortlink-input{display:block}#wpadminbar .quicklinks .menupop ul li{float:none}#wpadminbar .quicklinks .menupop ul li a strong{font-weight:700}#wpadminbar .quicklinks .menupop ul li .ab-item,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li .ab-item,#wpadminbar .shortlink-input,#wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item{line-height:26px;height:26px;white-space:nowrap;min-width:140px}#wpadminbar .shortlink-input{width:200px}#wpadminbar li.hover>.ab-sub-wrapper,#wpadminbar.nojs li:hover>.ab-sub-wrapper{display:block}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-left:100%;margin-top:-32px}#wpadminbar .ab-top-secondary .menupop li.hover>.ab-sub-wrapper,#wpadminbar .ab-top-secondary .menupop li:hover>.ab-sub-wrapper{margin-left:0;left:inherit;right:100%}#wpadminbar .ab-top-menu>li.hover>.ab-item,#wpadminbar .ab-top-menu>li:hover>.ab-item,#wpadminbar .ab-top-menu>li>.ab-item:focus,#wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus{background:#32373c;color:#00b9eb}#wpadminbar>#wp-toolbar a:focus span.ab-label,#wpadminbar>#wp-toolbar li.hover span.ab-label,#wpadminbar>#wp-toolbar li:hover span.ab-label{color:#00b9eb}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{position:relative;float:left;font:400 20px/1 dashicons;speak:none;padding:4px 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:none!important;margin-right:6px}#wpadminbar #adminbarsearch:before,#wpadminbar .ab-icon:before,#wpadminbar .ab-item:before{color:#a0a5aa;color:rgba(240,245,250,.6);position:relative;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#wpadminbar .ab-label{display:inline-block;height:32px}#wpadminbar .ab-submenu .ab-item,#wpadminbar .quicklinks .menupop ul li a,#wpadminbar .quicklinks .menupop ul li a strong,#wpadminbar .quicklinks .menupop.hover ul li a,#wpadminbar.nojs .quicklinks .menupop:hover ul li a{color:#b4b9be;color:rgba(240,245,250,.7)}#wpadminbar .quicklinks .menupop ul li a:focus,#wpadminbar .quicklinks .menupop ul li a:focus strong,#wpadminbar .quicklinks .menupop ul li a:hover,#wpadminbar .quicklinks .menupop ul li a:hover strong,#wpadminbar .quicklinks .menupop.hover ul li a:focus,#wpadminbar .quicklinks .menupop.hover ul li a:hover,#wpadminbar li #adminbarsearch.adminbar-focused:before,#wpadminbar li .ab-item:focus:before,#wpadminbar li a:focus .ab-icon:before,#wpadminbar li.hover .ab-icon:before,#wpadminbar li.hover .ab-item:before,#wpadminbar li:hover #adminbarsearch:before,#wpadminbar li:hover .ab-icon:before,#wpadminbar li:hover .ab-item:before,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus,#wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover{color:#00b9eb}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before,#wpadminbar .menupop .menupop>.ab-item:before{position:absolute;font:400 17px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar .menupop .menupop>.ab-item{display:block;padding-right:2em}#wpadminbar .menupop .menupop>.ab-item:before{top:1px;right:4px;content:'\f139';color:inherit}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item{padding-left:2em;padding-right:1em}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:5px;left:3px;content:'\f141'}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary{display:block;position:relative;right:auto;margin:0;-webkit-box-shadow:none;box-shadow:none}#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu{background:#464b50}#wpadminbar .quicklinks .menupop .ab-sub-secondary>li .ab-item:focus a,#wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover{color:#00b9eb}#wpadminbar .quicklinks a span#ab-updates{background:#eee;color:#32373c;display:inline;padding:2px 5px;font-size:10px;font-weight:700;-webkit-border-radius:10px;border-radius:10px}#wpadminbar .quicklinks a:hover span#ab-updates{background:#fff;color:#000}#wpadminbar .ab-top-secondary{float:right}#wpadminbar ul li:last-child,#wpadminbar ul li:last-child .ab-item{-webkit-box-shadow:none;box-shadow:none}#wp-admin-bar-my-account>ul{min-width:198px}#wp-admin-bar-my-account>.ab-item:before{content:"\f110";top:2px;float:right;margin-left:6px;margin-right:0}#wp-admin-bar-my-account.with-avatar>.ab-item:before{display:none;content:none}#wp-admin-bar-my-account.with-avatar>ul{min-width:270px}#wpadminbar.ie8 #wp-admin-bar-my-account.with-avatar .ab-item{white-space:nowrap}#wpadminbar #wp-admin-bar-user-actions>li{margin-left:16px;margin-right:16px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:6px 0 12px}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin-left:88px}#wpadminbar #wp-admin-bar-user-info{margin-top:6px;margin-bottom:15px;height:auto;background:0 0}#wp-admin-bar-user-info .avatar{position:absolute;left:-72px;top:4px;width:64px;height:64px}#wpadminbar #wp-admin-bar-user-info a{background:0 0;height:auto}#wpadminbar #wp-admin-bar-user-info span{background:0 0;padding:0;height:18px}#wpadminbar #wp-admin-bar-user-info .display-name,#wpadminbar #wp-admin-bar-user-info .username{display:block}#wpadminbar #wp-admin-bar-user-info .username{color:#999;font-size:11px}#wpadminbar #wp-admin-bar-my-account.with-avatar>a img{width:auto;height:16px;padding:0;border:1px solid #82878c;background:#eee;line-height:24px;vertical-align:middle;margin:-4px 0 0 6px;float:none;display:inline}#wpadminbar.ie8 #wp-admin-bar-my-account.with-avatar>a img{width:auto}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{width:15px;height:20px;margin-right:0;padding:6px 0 5px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0 7px}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{content:'\f120';top:2px}#wpadminbar .quicklinks li .blavatar{float:left;font:400 16px/1 dashicons!important;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#eee}#wpadminbar .quicklinks li a:hover .blavatar{color:#00b9eb}#wpadminbar .quicklinks li .blavatar:before{content:'\f120';height:16px;width:16px;display:inline-block;margin:6px 8px 0 -2px}#wpadminbar #wp-admin-bar-appearance{margin-top:-12px}#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:'\f112';top:2px}#wpadminbar #wp-admin-bar-edit>.ab-item:before{content:'\f464';top:2px}#wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f226"}.wp-admin #wpadminbar #wp-admin-bar-site-name>.ab-item:before{content:"\f102"}#wpadminbar #wp-admin-bar-comments .ab-icon{margin-right:6px}#wpadminbar #wp-admin-bar-comments .ab-icon:before{content:'\f101';top:3px}#wpadminbar #wp-admin-bar-comments .count-0{opacity:.5}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{content:'\f132';top:4px}#wpadminbar #wp-admin-bar-updates .ab-icon:before{content:'\f463';top:2px}#wpadminbar.ie8 #wp-admin-bar-search{display:block;min-width:32px}#wpadminbar #wp-admin-bar-search .ab-item{padding:0;background:0 0}#wpadminbar #adminbarsearch{position:relative;height:32px;padding:0 2px;z-index:1}#wpadminbar #adminbarsearch:before{position:absolute;top:6px;left:5px;z-index:20;font:400 20px/1 dashicons!important;content:'\f179';speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{position:relative;z-index:30;font:13px/24px "Open Sans",sans-serif;height:24px;width:24px;max-width:none;padding:0 3px 0 24px;margin:0;color:#ccc;background-color:rgba(255,255,255,0);border:none;outline:0;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transition-property:width,background;transition-property:width,background;-webkit-transition-timing-function:ease;transition-timing-function:ease}#wpadminbar>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{z-index:10;color:#000;width:200px;background-color:rgba(255,255,255,.9);cursor:text;border:0}#wpadminbar.ie7>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{margin-top:3px;width:120px}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBR‌​AA7)}#wpadminbar.ie8 #adminbarsearch.adminbar-focused:before{content:'\f179 '}#wpadminbar.ie8>#wp-toolbar>#wp-admin-bar-top-secondary>#wp-admin-bar-search #adminbarsearch input.adminbar-input:focus{background:#fff;z-index:-1}#wpadminbar #adminbarsearch .adminbar-input::-webkit-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input::-moz-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-input:-ms-input-placeholder{color:#999}#wpadminbar #adminbarsearch .adminbar-button,.customize-support #wpadminbar .hide-if-customize,.customize-support .hide-if-customize,.customize-support .wp-core-ui .hide-if-customize,.customize-support.wp-core-ui .hide-if-customize,.no-customize-support #wpadminbar .hide-if-no-customize,.no-customize-support .hide-if-no-customize,.no-customize-support .wp-core-ui .hide-if-no-customize,.no-customize-support.wp-core-ui .hide-if-no-customize{display:none}#wpadminbar .screen-reader-text,#wpadminbar .screen-reader-text span{position:absolute;left:-1000em;top:-1000em;height:1px;width:1px;overflow:hidden}#wpadminbar .screen-reader-shortcut{position:absolute;top:-1000em}#wpadminbar .screen-reader-shortcut:focus{left:6px;top:7px;height:auto;width:auto;display:block;font-size:14px;font-weight:700;padding:15px 23px 14px;background:#f1f1f1;color:#21759b;z-index:100000;line-height:normal;text-decoration:none;-webkit-box-shadow:0 0 2px 2px rgba(0,0,0,.6);box-shadow:0 0 2px 2px rgba(0,0,0,.6)}* html #wpadminbar{overflow:hidden;position:absolute}* html #wpadminbar .quicklinks ul li a{float:left}* html #wpadminbar .menupop a span{background-image:none}.no-font-face #wpadminbar ul.ab-top-menu>li>a.ab-item{display:block;width:45px;text-align:center;overflow:hidden;margin:0 3px}.no-font-face #wpadminbar #wp-admin-bar-edit>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-my-sites>.ab-item,.no-font-face #wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:0}.no-font-face #wpadminbar #wp-admin-bar-wp-logo>.ab-item,.no-font-face #wpadminbar .ab-icon,.no-font-face #wpadminbar .ab-icon:before,.no-font-face #wpadminbar a.ab-item:before{display:none!important}.no-font-face #wpadminbar ul.ab-top-menu>li>a>span.ab-label{display:inline}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon{display:inline!important}.no-font-face #wpadminbar #wp-admin-bar-menu-toggle span.ab-icon:before{content:"Menu";font:14px/45px sans-serif!important;display:inline-block!important;color:#fff}.no-font-face #wpadminbar #wp-admin-bar-site-name a.ab-item{color:#fff}@media screen and (max-width:782px){html #wpadminbar{height:46px;min-width:300px}#wpadminbar *{font:400 14px/32px "Open Sans",sans-serif}#wpadminbar .quicklinks .ab-empty-item,#wpadminbar .quicklinks>ul>li>a{padding:0;height:46px;line-height:46px;width:auto}#wpadminbar .ab-icon{font:40px/1 dashicons!important;margin:0;width:52px;height:46px;text-align:center}#wpadminbar .ab-icon:before{text-align:center}#wpadminbar .ab-submenu{padding:0}#wpadminbar #wp-admin-bar-my-account a.ab-item,#wpadminbar #wp-admin-bar-my-sites a.ab-item,#wpadminbar #wp-admin-bar-site-name a.ab-item{text-overflow:clip}#wpadminbar .ab-label{display:none}#wpadminbar .menupop li.hover>.ab-sub-wrapper,#wpadminbar .menupop li:hover>.ab-sub-wrapper{margin-top:-46px}#wpadminbar .ab-top-menu .menupop .ab-sub-wrapper .menupop>.ab-item{padding-right:30px}#wpadminbar .menupop .menupop>.ab-item:before{top:10px;right:6px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 12px}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper a:empty{display:none}#wpadminbar #wp-admin-bar-wp-logo>.ab-item{padding:0}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon{padding:0;width:52px;height:46px;text-align:center;vertical-align:top}#wpadminbar #wp-admin-bar-wp-logo>.ab-item .ab-icon:before{font:28px/1 dashicons!important;top:-3px}#wpadminbar #wp-admin-bar-edit>.ab-item,#wpadminbar #wp-admin-bar-my-account>.ab-item,#wpadminbar #wp-admin-bar-my-sites>.ab-item,#wpadminbar #wp-admin-bar-site-name>.ab-item{text-indent:100%;white-space:nowrap;overflow:hidden;width:52px;padding:0;color:#999;position:relative}#wpadminbar .ab-icon,#wpadminbar .ab-item:before,#wpadminbar>#wp-toolbar>#wp-admin-bar-root-default .ab-icon{padding:0;margin-right:0}#wpadminbar #wp-admin-bar-edit>.ab-item:before,#wpadminbar #wp-admin-bar-my-account>.ab-item:before,#wpadminbar #wp-admin-bar-my-sites>.ab-item:before,#wpadminbar #wp-admin-bar-site-name>.ab-item:before{display:block;text-indent:0;font:400 32px/1 dashicons;speak:none;top:7px;width:52px;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#wpadminbar #wp-admin-bar-appearance{margin-top:0}#wpadminbar #wp-admin-bar-search,#wpadminbar .quicklinks li .blavatar:before{display:none}#wpadminbar #wp-admin-bar-new-content .ab-icon:before{top:0;line-height:53px;height:46px!important;text-align:center;width:52px;display:block}#wpadminbar #wp-admin-bar-updates{text-align:center}#wpadminbar #wp-admin-bar-updates .ab-icon:before{top:3px}#wpadminbar #wp-admin-bar-comments .ab-icon{margin:0}#wpadminbar #wp-admin-bar-comments .ab-icon:before{display:block;font-size:34px;height:46px;line-height:47px;top:0}#wpadminbar #wp-admin-bar-my-account>a{position:relative;white-space:nowrap;text-indent:150%;width:28px;padding:0 10px;overflow:hidden}#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img{position:absolute;top:13px;right:10px;width:26px;height:26px}#wpadminbar #wp-admin-bar-user-actions.ab-submenu{padding:0}#wpadminbar #wp-admin-bar-user-actions.ab-submenu img.avatar{display:none}#wpadminbar #wp-admin-bar-my-account.with-avatar #wp-admin-bar-user-actions>li{margin:0}#wpadminbar #wp-admin-bar-user-info .display-name{height:auto;font-size:16px;line-height:24px;color:#eee}#wpadminbar #wp-admin-bar-user-info a{padding-top:4px}#wpadminbar #wp-admin-bar-user-info .username{line-height:.8!important;margin-bottom:-2px}#wp-toolbar>ul>li{display:none}#wpadminbar li#wp-admin-bar-comments,#wpadminbar li#wp-admin-bar-edit,#wpadminbar li#wp-admin-bar-menu-toggle,#wpadminbar li#wp-admin-bar-my-account,#wpadminbar li#wp-admin-bar-my-sites,#wpadminbar li#wp-admin-bar-new-content,#wpadminbar li#wp-admin-bar-site-name,#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:block}#wpadminbar li.hover ul li,#wpadminbar li:hover ul li,#wpadminbar li:hover ul li:hover ul li{display:list-item}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}#wpadminbar ul#wp-admin-bar-root-default>li{margin-right:0}#wpadminbar #wp-admin-bar-comments,#wpadminbar #wp-admin-bar-edit,#wpadminbar #wp-admin-bar-my-account,#wpadminbar #wp-admin-bar-my-sites,#wpadminbar #wp-admin-bar-new-content,#wpadminbar #wp-admin-bar-site-name,#wpadminbar #wp-admin-bar-updates,#wpadminbar #wp-admin-bar-wp-logo,#wpadminbar .ab-top-menu,#wpadminbar .ab-top-secondary{position:static}#wpadminbar #wp-admin-bar-my-account{float:right}.network-admin #wpadminbar ul#wp-admin-bar-top-secondary>li#wp-admin-bar-my-account{margin-right:0}#wpadminbar .ab-top-secondary .menupop .menupop>.ab-item:before{top:10px;left:0}}@media screen and (max-width:600px){#wpadminbar{position:absolute}#wp-responsive-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:400}#wpadminbar .ab-top-menu>.menupop>.ab-sub-wrapper{width:100%;left:0}#wpadminbar .menupop .menupop>.ab-item:before{display:none}#wpadminbar #wp-admin-bar-wp-logo.menupop .ab-sub-wrapper{margin-left:0}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{margin:0;width:100%;top:auto;left:auto}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper .ab-item{font-size:16px;padding:6px 15px 19px 30px}#wpadminbar li:hover ul li ul li{display:list-item}#wpadminbar li#wp-admin-bar-updates,#wpadminbar li#wp-admin-bar-wp-logo{display:none}#wpadminbar .ab-top-menu>.menupop li>.ab-sub-wrapper{position:static;-webkit-box-shadow:none;box-shadow:none}}
\ No newline at end of file
index d4e0b53c5de626ad8b53aa7df26a51b28da076f4..b528402948c5a2645da5f78d0210bf0f3ed0c015 100644 (file)
@@ -8,7 +8,7 @@ buttons in the following files are updated.
 
 WordPress-style Buttons
 =======================
-Create a button by adding the %60.button` class to an element. For backwards
+Create a button by adding the `.button` class to an element. For backwards
 compatibility, we support several other classes (such as `.button-secondary`),
 but these will *not* work with the stackable classes described below.
 
@@ -144,7 +144,7 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-secondary:focus {
        background: #fafafa;
        border-color: #999;
-       color: #222;
+       color: #23282d;
 }
 
 .wp-core-ui .button.focus,
@@ -164,7 +164,7 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-secondary:active {
        background: #eee;
        border-color: #999;
-       color: #333;
+       color: #32373c;
        -webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
        box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
 }
@@ -187,7 +187,7 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-secondary:disabled,
 .wp-core-ui .button-secondary.disabled,
 .wp-core-ui .button-disabled {
-       color: #aaa !important;
+       color: #a0a5aa !important;
        border-color: #ddd !important;
        background: #f7f7f7 !important;
        -webkit-box-shadow: none !important;
@@ -201,8 +201,8 @@ TABLE OF CONTENTS:
 ---------------------------------------------------------------------------- */
 
 .wp-core-ui .button-primary {
-       background: #2ea2cc;
-       border-color: #0074a2;
+       background: #00a0d2;
+       border-color: #0073aa;
        -webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5), 0 1px 0 rgba( 0, 0, 0, 0.15 );
        box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5 ), 0 1px 0 rgba( 0, 0, 0, 0.15 );
        color: #fff;
@@ -213,8 +213,8 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-primary:hover,
 .wp-core-ui .button-primary.focus,
 .wp-core-ui .button-primary:focus {
-       background: #1e8cbe;
-       border-color: #0074a2;
+       background: #0091cd;
+       border-color: #0073aa;
        -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;
@@ -237,8 +237,8 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-primary.active:hover,
 .wp-core-ui .button-primary.active:focus,
 .wp-core-ui .button-primary:active {
-       background: #1b7aa6;
-       border-color: #005684;
+       background: #0073aa;
+       border-color: #005082;
        color: rgba( 255, 255, 255, 0.95 );
        -webkit-box-shadow: inset 0 1px 0 rgba( 0, 0, 0, 0.1 );
        box-shadow: inset 0 1px 0 rgba( 0, 0, 0, 0.1 );
@@ -340,11 +340,7 @@ TABLE OF CONTENTS:
 
        /* Reset responsive styles in Press This, Customizer */
 
-       .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 {
+       .wp-core-ui.wp-customizer .button {
                padding: 0 10px 1px;
                font-size: 13px;
                line-height: 26px;
index f37e3712327a02917111a9a91ce5f44d858134a3..fad70ba20241848e67e3bf80bd570f0dc62859e6 100644 (file)
@@ -1 +1 @@
-.wp-core-ui .button,.wp-core-ui .button-primary,.wp-core-ui .button-secondary{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-core-ui button::-moz-focus-inner,.wp-core-ui input[type=button]::-moz-focus-inner,.wp-core-ui input[type=reset]::-moz-focus-inner,.wp-core-ui input[type=submit]::-moz-focus-inner{border-width:0;border-style:none;padding:0}.wp-core-ui .button-group.button-large .button,.wp-core-ui .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}.wp-core-ui .button-group.button-small .button,.wp-core-ui .button.button-small{height:24px;line-height:22px;padding:0 8px 1px;font-size:11px}.wp-core-ui .button-group.button-hero .button,.wp-core-ui .button.button-hero{font-size:14px;height:46px;line-height:44px;padding:0 36px}.wp-core-ui .button:active,.wp-core-ui .button:focus{outline:0}.wp-core-ui .button.hidden{display:none}.wp-core-ui input[type=reset],.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:focus,.wp-core-ui input[type=reset]:hover{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.wp-core-ui .button,.wp-core-ui .button-secondary{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.wp-core-ui p .button{vertical-align:baseline}.wp-core-ui .button-secondary:focus,.wp-core-ui .button-secondary:hover,.wp-core-ui .button.focus,.wp-core-ui .button.hover,.wp-core-ui .button:focus,.wp-core-ui .button:hover{background:#fafafa;border-color:#999;color:#222}.wp-core-ui .button-secondary:focus,.wp-core-ui .button.focus,.wp-core-ui .button:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-secondary:active,.wp-core-ui .button.active,.wp-core-ui .button.active:hover,.wp-core-ui .button:active{background:#eee;border-color:#999;color:#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.active:focus{-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-disabled,.wp-core-ui .button-secondary.disabled,.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button.disabled,.wp-core-ui .button:disabled,.wp-core-ui .button[disabled]{color:#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),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.active,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary.active:hover,.wp-core-ui .button-primary:active{background:#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}.wp-core-ui .button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:782px){.wp-core-ui .button,.wp-core-ui .button.button-large,.wp-core-ui .button.button-small,a.preview,input#publish,input#save-post{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}#media-upload.wp-core-ui .button{padding:0 10px 1px;height:24px;line-height:22px;font-size:13px}.media-frame.mode-grid .bulk-select .button{margin-bottom:0}.wp-core-ui .save-post-status.button{position:relative;margin:0 10px 0 14px}.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
+.wp-core-ui .button,.wp-core-ui .button-primary,.wp-core-ui .button-secondary{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-core-ui button::-moz-focus-inner,.wp-core-ui input[type=button]::-moz-focus-inner,.wp-core-ui input[type=reset]::-moz-focus-inner,.wp-core-ui input[type=submit]::-moz-focus-inner{border-width:0;border-style:none;padding:0}.wp-core-ui .button-group.button-large .button,.wp-core-ui .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}.wp-core-ui .button-group.button-small .button,.wp-core-ui .button.button-small{height:24px;line-height:22px;padding:0 8px 1px;font-size:11px}.wp-core-ui .button-group.button-hero .button,.wp-core-ui .button.button-hero{font-size:14px;height:46px;line-height:44px;padding:0 36px}.wp-core-ui .button:active,.wp-core-ui .button:focus{outline:0}.wp-core-ui .button.hidden{display:none}.wp-core-ui input[type=reset],.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:focus,.wp-core-ui input[type=reset]:hover{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.wp-core-ui .button,.wp-core-ui .button-secondary{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.wp-core-ui p .button{vertical-align:baseline}.wp-core-ui .button-secondary:focus,.wp-core-ui .button-secondary:hover,.wp-core-ui .button.focus,.wp-core-ui .button.hover,.wp-core-ui .button:focus,.wp-core-ui .button:hover{background:#fafafa;border-color:#999;color:#23282d}.wp-core-ui .button-secondary:focus,.wp-core-ui .button.focus,.wp-core-ui .button:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-secondary:active,.wp-core-ui .button.active,.wp-core-ui .button.active:hover,.wp-core-ui .button:active{background:#eee;border-color:#999;color:#32373c;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button.active:focus{-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-disabled,.wp-core-ui .button-secondary.disabled,.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button.disabled,.wp-core-ui .button:disabled,.wp-core-ui .button[disabled]{color:#a0a5aa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}.wp-core-ui .button-primary{background:#00a0d2;border-color:#0073aa;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary.hover,.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0091cd;border-color:#0073aa;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.active,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary.active:hover,.wp-core-ui .button-primary:active{background:#0073aa;border-color:#005082;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);vertical-align:top}.wp-core-ui .button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#94cde7!important;background:#298cba!important;border-color:#1b607f!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important;cursor:default}.wp-core-ui .button-group{position:relative;display:inline-block;white-space:nowrap;font-size:0;vertical-align:middle}.wp-core-ui .button-group>.button{display:inline-block;-webkit-border-radius:0;border-radius:0;margin-left:-1px;z-index:10}.wp-core-ui .button-group>.button-primary{z-index:100}.wp-core-ui .button-group>.button:hover{z-index:20}.wp-core-ui .button-group>.button:first-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.wp-core-ui .button-group>.button:last-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.wp-core-ui .button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:782px){.wp-core-ui .button,.wp-core-ui .button.button-large,.wp-core-ui .button.button-small,a.preview,input#publish,input#save-post{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}#media-upload.wp-core-ui .button{padding:0 10px 1px;height:24px;line-height:22px;font-size:13px}.media-frame.mode-grid .bulk-select .button{margin-bottom:0}.wp-core-ui .save-post-status.button{position:relative;margin:0 10px 0 14px}.wp-core-ui.wp-customizer .button{padding:0 10px 1px;font-size:13px;line-height:26px;height:28px;margin:0;vertical-align:inherit}.interim-login .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}}
\ No newline at end of file
index e84a0b52adf8e80cbff1dd73324d4f5fe51a1685..99d5a6959afde296f76f336f8c229b3aefdd6c88 100644 (file)
@@ -144,7 +144,7 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-secondary:focus {
        background: #fafafa;
        border-color: #999;
-       color: #222;
+       color: #23282d;
 }
 
 .wp-core-ui .button.focus,
@@ -164,7 +164,7 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-secondary:active {
        background: #eee;
        border-color: #999;
-       color: #333;
+       color: #32373c;
        -webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
        box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
 }
@@ -187,7 +187,7 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-secondary:disabled,
 .wp-core-ui .button-secondary.disabled,
 .wp-core-ui .button-disabled {
-       color: #aaa !important;
+       color: #a0a5aa !important;
        border-color: #ddd !important;
        background: #f7f7f7 !important;
        -webkit-box-shadow: none !important;
@@ -201,8 +201,8 @@ TABLE OF CONTENTS:
 ---------------------------------------------------------------------------- */
 
 .wp-core-ui .button-primary {
-       background: #2ea2cc;
-       border-color: #0074a2;
+       background: #00a0d2;
+       border-color: #0073aa;
        -webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5), 0 1px 0 rgba( 0, 0, 0, 0.15 );
        box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5 ), 0 1px 0 rgba( 0, 0, 0, 0.15 );
        color: #fff;
@@ -213,8 +213,8 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-primary:hover,
 .wp-core-ui .button-primary.focus,
 .wp-core-ui .button-primary:focus {
-       background: #1e8cbe;
-       border-color: #0074a2;
+       background: #0091cd;
+       border-color: #0073aa;
        -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;
@@ -237,8 +237,8 @@ TABLE OF CONTENTS:
 .wp-core-ui .button-primary.active:hover,
 .wp-core-ui .button-primary.active:focus,
 .wp-core-ui .button-primary:active {
-       background: #1b7aa6;
-       border-color: #005684;
+       background: #0073aa;
+       border-color: #005082;
        color: rgba( 255, 255, 255, 0.95 );
        -webkit-box-shadow: inset 0 1px 0 rgba( 0, 0, 0, 0.1 );
        box-shadow: inset 0 1px 0 rgba( 0, 0, 0, 0.1 );
@@ -340,11 +340,7 @@ TABLE OF CONTENTS:
 
        /* Reset responsive styles in Press This, Customizer */
 
-       .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 {
+       .wp-core-ui.wp-customizer .button {
                padding: 0 10px 1px;
                font-size: 13px;
                line-height: 26px;
index 96804805f129648ab6670388b1ebdf0c92d16355..e76582ce651f5d5631ecd5fda4c3db9041334d8e 100644 (file)
@@ -1 +1 @@
-.wp-core-ui .button,.wp-core-ui .button-primary,.wp-core-ui .button-secondary{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-core-ui button::-moz-focus-inner,.wp-core-ui input[type=button]::-moz-focus-inner,.wp-core-ui input[type=reset]::-moz-focus-inner,.wp-core-ui input[type=submit]::-moz-focus-inner{border-width:0;border-style:none;padding:0}.wp-core-ui .button-group.button-large .button,.wp-core-ui .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}.wp-core-ui .button-group.button-small .button,.wp-core-ui .button.button-small{height:24px;line-height:22px;padding:0 8px 1px;font-size:11px}.wp-core-ui .button-group.button-hero .button,.wp-core-ui .button.button-hero{font-size:14px;height:46px;line-height:44px;padding:0 36px}.wp-core-ui .button:active,.wp-core-ui .button:focus{outline:0}.wp-core-ui .button.hidden{display:none}.wp-core-ui input[type=reset],.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:focus,.wp-core-ui input[type=reset]:hover{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.wp-core-ui .button,.wp-core-ui .button-secondary{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.wp-core-ui p .button{vertical-align:baseline}.wp-core-ui .button-secondary:focus,.wp-core-ui .button-secondary:hover,.wp-core-ui .button.focus,.wp-core-ui .button.hover,.wp-core-ui .button:focus,.wp-core-ui .button:hover{background:#fafafa;border-color:#999;color:#222}.wp-core-ui .button-secondary:focus,.wp-core-ui .button.focus,.wp-core-ui .button:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-secondary:active,.wp-core-ui .button.active,.wp-core-ui .button.active:hover,.wp-core-ui .button:active{background:#eee;border-color:#999;color:#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.active:focus{-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-disabled,.wp-core-ui .button-secondary.disabled,.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button.disabled,.wp-core-ui .button:disabled,.wp-core-ui .button[disabled]{color:#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),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.active,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary.active:hover,.wp-core-ui .button-primary:active{background:#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}.wp-core-ui .button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:782px){.wp-core-ui .button,.wp-core-ui .button.button-large,.wp-core-ui .button.button-small,a.preview,input#publish,input#save-post{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}#media-upload.wp-core-ui .button{padding:0 10px 1px;height:24px;line-height:22px;font-size:13px}.media-frame.mode-grid .bulk-select .button{margin-bottom:0}.wp-core-ui .save-post-status.button{position:relative;margin:0 14px 0 10px}.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
+.wp-core-ui .button,.wp-core-ui .button-primary,.wp-core-ui .button-secondary{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-core-ui button::-moz-focus-inner,.wp-core-ui input[type=button]::-moz-focus-inner,.wp-core-ui input[type=reset]::-moz-focus-inner,.wp-core-ui input[type=submit]::-moz-focus-inner{border-width:0;border-style:none;padding:0}.wp-core-ui .button-group.button-large .button,.wp-core-ui .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}.wp-core-ui .button-group.button-small .button,.wp-core-ui .button.button-small{height:24px;line-height:22px;padding:0 8px 1px;font-size:11px}.wp-core-ui .button-group.button-hero .button,.wp-core-ui .button.button-hero{font-size:14px;height:46px;line-height:44px;padding:0 36px}.wp-core-ui .button:active,.wp-core-ui .button:focus{outline:0}.wp-core-ui .button.hidden{display:none}.wp-core-ui input[type=reset],.wp-core-ui input[type=reset]:active,.wp-core-ui input[type=reset]:focus,.wp-core-ui input[type=reset]:hover{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;padding:0 2px 1px;width:auto}.wp-core-ui .button,.wp-core-ui .button-secondary{color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.wp-core-ui p .button{vertical-align:baseline}.wp-core-ui .button-secondary:focus,.wp-core-ui .button-secondary:hover,.wp-core-ui .button.focus,.wp-core-ui .button.hover,.wp-core-ui .button:focus,.wp-core-ui .button:hover{background:#fafafa;border-color:#999;color:#23282d}.wp-core-ui .button-secondary:focus,.wp-core-ui .button.focus,.wp-core-ui .button:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-secondary:active,.wp-core-ui .button.active,.wp-core-ui .button.active:hover,.wp-core-ui .button:active{background:#eee;border-color:#999;color:#32373c;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.wp-core-ui .button.active:focus{-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-disabled,.wp-core-ui .button-secondary.disabled,.wp-core-ui .button-secondary:disabled,.wp-core-ui .button-secondary[disabled],.wp-core-ui .button.disabled,.wp-core-ui .button:disabled,.wp-core-ui .button[disabled]{color:#a0a5aa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}.wp-core-ui .button-primary{background:#00a0d2;border-color:#0073aa;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary.hover,.wp-core-ui .button-primary:focus,.wp-core-ui .button-primary:hover{background:#0091cd;border-color:#0073aa;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.wp-core-ui .button-primary.focus,.wp-core-ui .button-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.wp-core-ui .button-primary.active,.wp-core-ui .button-primary.active:focus,.wp-core-ui .button-primary.active:hover,.wp-core-ui .button-primary:active{background:#0073aa;border-color:#005082;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);vertical-align:top}.wp-core-ui .button-primary-disabled,.wp-core-ui .button-primary.disabled,.wp-core-ui .button-primary:disabled,.wp-core-ui .button-primary[disabled]{color:#94cde7!important;background:#298cba!important;border-color:#1b607f!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important;cursor:default}.wp-core-ui .button-group{position:relative;display:inline-block;white-space:nowrap;font-size:0;vertical-align:middle}.wp-core-ui .button-group>.button{display:inline-block;-webkit-border-radius:0;border-radius:0;margin-right:-1px;z-index:10}.wp-core-ui .button-group>.button-primary{z-index:100}.wp-core-ui .button-group>.button:hover{z-index:20}.wp-core-ui .button-group>.button:first-child{-webkit-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.wp-core-ui .button-group>.button:last-child{-webkit-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.wp-core-ui .button-group>.button:focus{position:relative;z-index:1}@media screen and (max-width:782px){.wp-core-ui .button,.wp-core-ui .button.button-large,.wp-core-ui .button.button-small,a.preview,input#publish,input#save-post{padding:6px 14px;line-height:normal;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}#media-upload.wp-core-ui .button{padding:0 10px 1px;height:24px;line-height:22px;font-size:13px}.media-frame.mode-grid .bulk-select .button{margin-bottom:0}.wp-core-ui .save-post-status.button{position:relative;margin:0 14px 0 10px}.wp-core-ui.wp-customizer .button{padding:0 10px 1px;font-size:13px;line-height:26px;height:28px;margin:0;vertical-align:inherit}.interim-login .button.button-large{height:30px;line-height:28px;padding:0 12px 2px}}
\ No newline at end of file
index 03f7aad5ef357f5c035ba4c110b716e8f5acd5ec..6f5fc1eeeda36ca751d7ffef1438dc1af36fcc14 100644 (file)
        content: "\f163";
 }
 
-.dashicons-exerpt-view:before {
+.dashicons-exerpt-view:before, /* Misspelled. Use .dashicons-excerpt-view instead. */
+.dashicons-excerpt-view:before {
        content: "\f164";
 }
 
index f494aaff3d9ff282f224a25f67d6d0f49fc165d6..cc49c481742999638f66ebb1c7de87868998b636 100644 (file)
@@ -1 +1 @@
-@font-face{font-family:dashicons;src:url(../fonts/dashicons.eot)}@font-face{font-family:dashicons;src:url(data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAGBQAA4AAAAAm3wAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABRAAAABwAAAAcbYyDmkdERUYAAAFgAAAAHgAAACABIwAET1MvMgAAAYAAAABAAAAAYJYFaatjbWFwAAABwAAAASoAAAKC/cQq02dhc3AAAALsAAAACAAAAAj//wADZ2x5ZgAAAvQAAFSXAACESOAO2gZoZWFkAABXjAAAAC4AAAA2CEgozmhoZWEAAFe8AAAAGgAAACQPogifaG10eAAAV9gAAAEcAAAD2GOq3ltsb2NhAABY9AAAAe4AAAHu4pbA6m1heHAAAFrkAAAAHwAAACABSQC1bmFtZQAAWwQAAAGKAAADLCbHbA5wb3N0AABckAAAA7UAAAmnz3C/rndlYmYAAGBIAAAABgAAAAY81VSHAAAAAQAAAADMPaLPAAAAANCh83cAAAAA0KztU3jaY2BkYGDgA2IJBhBgYmAEwq9AzALmMQAADtEBKAAAeNpjYGY/yTiBgZWBhVWEZQMDA8M0CM20h8GIKQLIB0phB6He4X4MDqp/vqqzXwDxgaQGkGJEUqLAwAgAMrcKp3ja3ZA7SwNRFITPNTGy7N3jglosWCxIkHRBVAw2q6JJQEWMILGQ9dHEKjZCwCKNhZ2t/8hGG1EwWKuVOvehjbouCVhYWzlw5jAwfMUQUYZ6N0oidRLHaRLdnBVx+jcoon4azn/AwRACjKGAIqZRwgIWUUEdO2ighRMllKMCVVAlFal57ehAF3RJV03VbJq6iU3DtMypObdZ69jAjicJUUol+BhBiHxKncAMopRaRg0x9nCItiKVUb4KVbFLFdrXoS7qyFTMWpe6a5qmbc4s2Zz1bZgknYHBLH/xJ7/zG7/yCz/zEz/yA9/zLd/wFV/wKq9wmed4lqd40jvymt6Bt+9ty1huybqsyXW5LJdk5HbcO/favewt8/cSOfpBi77U+n4X6N/rG5Q9gGkAAAAAAAH//wACeNqsvQd8FGX6OD7vzM7Mbtpmsy1tN9lsS9nUbSFlEyD00EKLBaQsPWAUaRJQMSIqJTZsiA0Re1TkLBxnO107clFPDz3Uk+PUO/WOrwdJ9vX3PO/sJhvE+973//lnM/O+887MO++85enPM5zIwR85xR/iBE7iNFwKp+W4Sp1NJ+hterOO2JKJTk9O9T5CH4s8QneQ6Y9EHuEPRZvIDdzPtOdnQqMfcj8TD+W5nznCJfxVchzPhbmo/ILUC3X6OU5DgiFiMluJ2SoEghoiS4Y8YjLIabwswc7Kh0gwEAzxwUAVlFcFxf3R+l1Z626pKX1gWknd7JYVNdGHovVPWSzLLJacUYtNI+y+KRXy2CWXXOIr8KY2+3It0+DUNIuwiX91V26q3WXdUpaZa0slKdGH+FefYmenW3ICY9Mr7b5LLlkyVq6Y7Cto0q0cmcPq5AjxcBGpUVZzGdAntiqTUWeQSgjR2Qtcfp0vQE4JnS1r1rREaEoEUlm9piXa1LKGppBTa1r4Qy1r4LUF7t9QxyfSR9CXaawes6whbg3xe0UC3Yqb1HjHsuj66Ppl/I+kKxLdz7f2TRHyabtq0x3L+GtZOW2P3Bl9OPooP4NqySmaAvVGuF1ym1zDZXIurg7qNaVrSRpxkwYS8LldBVpCXAHI52vYsSQTyWA2BWRikrREyne70htIiJhZaZX0j02b7mj5chmRmpsbGhqebphIn7AMa7n9CrKw/1velJdX0JoX/RaTMrLHiifo7iuUW+j8xsaGp6VDWHJ7yzArESc2QwWNjc30iWVfttyxqW8WVHB+Xj5vjX7D0jfIPezEpk1k0Sa4xULnNTzd2MBxKpgfYXinNk7P5XBFOEeIzucqIW6bbC+QoPdNXltVgKsyGaQCl0+06Vga8FaZdTbo0IFD0VBb9NA1tP2ah4pqa4uEk0W10cYjN9105CbhIDkFyU1LzDm0B/pUyQud/KGi2kiktijaBDfwz2DxEVXfiSV4j0jOUHkpvZ8dcPzAnBBgRDkcPtFmtOm8fKtwsu+AkN+fGSGnREPvd+GIaMDx/4Y7If1FOsmp4Z0cOOvdJICzXgwSOY3YbbJU4Hb5GuBNAxrljEzEPHroRdKUfaHLndH/+gXCNWurvp1HOzo8HR6Pp6NekEhTFp7LpoekXOVSvdt1wdvt/RumV42Ai0o2ejpI59xTdC+cyoBT2fRFWH8R7nUpKvVzRs4GbZdUboI9FiSujGDAYdbwJgkXGps/sBqlzgX0H5dHvxp/9Jbx/Dafb8EcolpD/0yyibWoune3dbrFarVMt1qEnxf4fNHLxt9ydBxvvZxkLJhT7aF/pidI3uqfo3kWS+xCTiAe4pHV0l5Y/yXcGGV07bbBkSVeHNoSYsSBrCd2HM1a7BhYevEjPx5Z4leyIffL6tqi3u9wrEVDUW1/ZhizYUuxZSBDTp2jrEvVjfm+KTjoltqW2l1Gi8W4CzK8C3P0/sSy6KeYY+CR6+Lul0fLrTCiHIFhdEm49MwydKcKupK4g6YAri6V4SDf8ZtJr4ya0KT3/eZHejJAPwy85SfmH6GwacIovXT/weg1B336URNGvTz54I/0b4G3AqQULvgnK2x6BeabAebbIZhvmVwFPLugTFVOXCHBWwXzJE0UnJBaSJrKXlDGl0PnhIhXZbpwasCTpRMESSppWBRavLUsjah0mSX+TST9sj9s1Pof3PvlwkVfPHGj233ZB5ervK76cePq9frg8gUTStc8MlvOGjN8yjD614Nbjq44I2rd1kyzrSAl+Uz7e5sVGB6W1dAeN1cOb2+XZHhvSTba/C637A663HadNxB0B82BoN9mNJmDZtlk9nJVAZ+rQDLI6k+zg3cevbN1Me1Z3Hpnz53BzE8/MQ+DkhltxMNKhpk/6a863d19ulvIXz4TzsAln2YG4UzrYlK0cDaUBHJiJbMX0uHdeC1rV0QukKcCjIVR4UwZgEVUbkEUbG5lemdUBfysDVLDS6NGzW2nb259kX64i/aEhZwxlavmEr585aRJKyfJZS9RSn+e2+5vpM/m0W0RgdxAGlbNHRU9Pqk6CFfgs0ih3AbzWIcrmlSpzHIZzE9J9mqIN5Dh0Bc43EErzNFA0K4h9jRBOHkn0c1/NPTCsrt/LDhJ76f3H8l8hZQ+fhf9YaCUzCFzjmRsOPi9tHdT+6stc1+7lbaTrv0kY09vZ6yAdNH2TZ/dO5tDWBmB91XWUhas5qJfriYuX2WWVPkOd0DF3ttURQBS+eHH1stWtl7WwXoJkhbi27CBvkOfoO9s2MA/uGbvmjV7Yf56ercSj5CPoA0v7s+EvTBuz44de2A7jhetie4Ph8PQnlQuAmu7DeaFFqC3GcYgD2ZICcyRIFfLNcBqn3CO9W7T2fTQJG9si0P2ILTTCeeGHMN5VcKx3Abv4GDvcKyottfBQC7xKP99K4otsMIj2GF8KyLM/mhCyaGhV5AuBBsxEKL6BAo8EfZHUyzsqnAYcLonnocTsSy8N+KDsLSX0QjWoVSCLUYluIOwMGCVwFIAiuFkjGKgPZAR9vb2huP/SD/0H4/TD0J+y5r+JxJOIy7hYMyPwLNk6OU8xCV6ux5oCQcb3YBPcJrMLnuBSnY57AVyICicjJrKIhW3CCeFk/3DW2oBioX50vZMX9Eh+vLs2fTlQ4X+zHbhJCnuO6haXYt9EWavFv39n299Vn5+9+7n5WdvVXCePFJeA9SgDikYINIQ8dmAfkN0Jkt3bLdYaEvfAVXJAeu06F/5rB3Rk2Pk1u1AY9Gp/cPEYwcspP8mPnNH9K89HNCV8AfvcQRmip1rhZW7jGuHonS+jDjyVWmET8+wEpi5IQJz2JSRzuM0dkFpgNGMLlmyF7gDDi8sPJdkNAAFaTKbAGkAzRMiCHjZFS4AlJIpj+g1JKRyw3leQ1y830f0eLt8ZOHzP9H36Qv0/Z+eXwh5UklGk8qfnu97nawkE3/cseNH+gy9iT6DOVJP319qSNMbr5pu068k89+7k5jbfLPNpmxRqGrIz6c/Gl1qtUFrMGyebl9qdxggO72dPEdEQW3SyElzPuw9Rja99T9C8derNy5eLIxSHrXwrCaIs4Y8dCJrSF+R4Ffz3nKSRPa9snKBPGG8ZXhhkVqctaXueEsL/w+iVgl80EeSJV4g/iBR0yPRXP55Oaul5cphj/zhT3SbcFPfyQXk2m+foW9HdxZbOTE2Z9tgRslcMluxHK5FAhB7yOYR1/VuVTX3Hwe6hm18a3S/3Hb6tLgO1kTP4AYwcQbpkkU5DWiLEqjN5y4DvJgRdKepzAgJgwHnL4uEmWOrHh+X9d59D8x/ds+KqvTsrx65bd584clzlfIfbb6wwZW+kwyf+pfyLQfePXPlH/pbW3edqxCnlzhAS6qA8krh0vEd9UBv2wgAErbBC2qIDZBZdH/fFOJRdfdNUXVH90f3C/kIMeS2vinR/eIxeMF2BACYklNYN59Ap7oQBxZIlkGuwMtAwAAc0JFYuaq5Zep1tAc5hRa+tWUNbggJesKQiut2jH+O9hDPmhZyCstpO2wpAAwGymDJMByHz9UAvNVBT2dxFi4f3wuf5oSHiIJXb7MLXhLfYJlqeCBYi2pPn64lz0fCAKbDkTDQQ/EdAvlTyrjWFp15iZdCRbVhfOzgBnTtyf5MoZO203ZG/yjvH0YYRJwBIMfgVfNd6YwSF3Vp+MrKgS/Av6iaVFj7Lv383XdvHDexvyMj0nkjy1ZLuyNSQ0mk7x9wTAretfOrIv2dVz7G8kJtoT+BH9AyjmB4/E0Nkj0OXOH9uDh284Vk78C5KqsqD9Z9lZU3fyGl+caN8535J+zFf/du5Q8pCO5+IiYZLWU1LRUKbiuaWOOzZ0mSKr26cUn74pHeZLktdpsPqzjzEi4HoZchPtqjzm6Z0jZ7zshihheL+EOeMTNmjDGZUooWTx4OJcb4XIkwvKhn1OJZ7fcCnuPyA+mufCldPEZcnlDIc+Yd3BMXUMtd9CbS/M039MA3UmPI07egtKmpVHW3JxTp/e4b5QQ+Q4Jn7Brgm+yw/ryAczmAnVbekMYD7CzjfSE+I0aDqc5K41hWiqVCDrmT1Lx5pc935Zv0dbqIvq7k5Y7W1o5WPjsxiUos+R3DLXLbyFUPv/DlCw+vGhnPRO2t7IKE/+hmlrTX4j3AY3eRUwx/JivcVPwn7UUcibgQoJAhnmO8r8KDKfeY8S67H1kwYML8QaPdaPfb/V6gJ6S9sLj6O1TNgLIBaYdFA+D1cK9D6Iyw40gE+XPkSaS9QEcpsBBGyG/DdgiYKvCvG3g6zIjHIv2ZuFKAc2Qw5qx7Y3BUuR9THeYH6hE6sTGDa2pIlYzxx///VK8uVncRieVZvVibuK6/A2kUzLFaWWVYcazOX3vPrIT2wRr/xWsSJP/EdeI6mMmchscjAIrr6Aq6iiP8ITh3TNWtnBOPYSmCUL41ds4Qv080YCmQYjeT7ezcIfEYsMfsHJBjUIrXR/f/x3OyQvPKNdAfeYy29DLqkuEu6A+FM1RSo82IJFE9wSkuJuSx/5w6O+yVDVad58xLxAOTknTBrr9DIe74Q0pKuqCHuyJ8K/5LjdA968Kh1tZQmO17kSccuutdhQMdRqFYfEOYCW+/QHKKjyD1Q8zEToJm8Z4t0b9uoUe3fCs+MidqJjduRB79j9wfpdPSaQVjAW8xSP/4fRkOwCfCyXtJwdGOjqP0c/oS/fxoRw9ZSu6KviCdHizqOEoK7v2QLD3a1yao6RUc4/0jjG/TMv7obLqKBzJS1hCzhjDipPCjK674iP4RSJM/Yk74HU5aWE6Av3CSRRROPvESUshu6/fiqcjQy4fgTA2+l4aIRIBnESfRi0TvFPXEKZykPbAQ7r4EJ0o72Q0TsOcb8gF9ZRb1UM8s+gr5QG6L7p9Aq6JLsVb+NvLeBLKOltTQ3dHoN98A+ROu4RLwEz6LPQkoQFY/8fCtNNyOOP4SuoBv/WV12E4sZ/NPxJlFiggBCigToQ+0MAVmMowp60/kg9u4NIUHNKUzqhInYojoY7ym0WBGwYAJOUFiEl/bcvjwFptzGeDTFzQHrpl99dUvXJ1DD9uvyRDk/KespKlCbvsdPXVYvazvK/HYjXdF/9R54ezOztmBSrjotQzVBrgEAR7ZT/ZLhVIRW8eKODGoQVme/k/0EXrLe6SNPvIpmUXa3qW38GveIyvow+zwPXoLmfkpfZj7X+cDlx8i6WUkP42km841IchIkn5iy5YT9AfYn3Mi9C3fcmLgGoQ/XTG5mRnWbim02zsUEzI5T77JKOhYx+mIO0RifWgyy7DoBjjQojDivgjgYOJxuMthzZa7HarmmPSuCGV5xLPvm2/24SRktFRPtOnjjHEeXLCecRkfD6UPkYZyck3cxKFtqieJ9BxCmAE6IyR5YZiBssjDLFIYgILYbUap8bWS+vqS3lMl9SwjppTU936nau47QE4xtEfyebUlPzBsYlF/R3WLy0QIEVIzbO7agvIJRbki/1K4vqT/SqlRqaO+5DWljvqSvumqZhphOJT2JDmWXLRq2jCkx+Gl8vJU2iJXmc2MREe0AmbrlSX1wJxqEugnM6MM3AxmIj/OBYH/9ifw4xkx7I98Nv9f5BlNiQQj7CMM/Yvr+g78+B9z4dqiwbukRkYB1AKb3f6fcoljNfgenPNsaUe8bTA0fEJeoWrxofjoM33naFbiq0ii8lxEV/3HB/Mcp/Df2I4jwOsbucyh9AqyTzAPYKKY8aFAKvf0H0fZAgCdQ0Bzo7wZGAnSJeRjFlNG4LWzc9EmoGzwLMcpcnCFP06CJ2VyuchjwET0F3BGuyb+UJElKCbhD7268/aT9IeniSRNpylIaQj5AEkBENMUoNtPiseuu+Mo/dtn9HH+q96tNEU4CTRQtAlYD8Cqv/I8DTySsxurTCT2dnqWCEia1b5KGon0NP3h5O07e4uwNqyVIYUwPo0+TqZ9RsxH7yByfweCTiShsB/6O+J9qWJ9eQTGNJnpRYBYJkYFjePeadOgsEq0EfkI7YHae5BG6TvBH6L384cQCdP7oc/mqJojyJhGkDeNkK7omnAvY1Fi74RjhfSTUn8M5wOdCK9h1wkaAQYK7mM1VOGdMConabu0N/5AxAv4MCACs1FqhzI6hs4Bx0S4o3IStN/MdC+yEyC+24U/uw7GqApFEtKLkyfTb4JB3/x5Gzu346u/88LBrdcLn79Al7ywunP7js0b58/zB+FZr5BX6EeTJ16/Van7dahbHas7EISfF+sskCX8AVIRXenECFcffOEdpIy2d3bMn+8LBuk3k4XP4QETJ5NiGqIh4gn6583fuHnH9s7VL5DbGT8C3Q/ELMDhdDaDDZKsQ8GJrgwl6/kmFRMkuQrEdQ9fHa6quvphhLXR/WwhiOuu/6ggeqcnnJsrlBV8dD3A2Cy2QNjaUNaoekAaacNFqEB3JrpHOArUGbHFV6cjlvKtQmccuEcwQzxFtUDyt/d3tDN4JxxTWI5D2AqYbizB+duewFbE+KDIWTJI+7l5RiZ1RCo9lg4FAb1bUYwo5KNYAJKh4lKFkBfywwqT3K6kMboDqSLxGOP0rKjGYM/0BYK4A344xDCMQXz3moPv3tifeeO73Zulm5ZUllX97tJ93whfp71+LfLG17ymy85dcpN+wbpv9lUofUuuBZrkDwDRzShdAZ7fLMHOHRB9OOXS4FFIY3D5jmAZQVEXcON+XzCNyCb+Fb6Z/OXyy2lu9ADNvfxy4X98hbr8yqZmf2ACtZGT5K6lo37YveLv9Om/r9j9w6il4h/o0dOn6VFSdvq02tOUwvOqcV5/c3P0tn8e2vBo0ep7Hvr73x+6Z3XRoxsOKXh0kI7QM86z8ZdyXjcsOpENv13nNeI2OBoc431N+YLZquh9sLuG9ngYl2BfUJWd5wnDnyev70SexyO0Il8M03PfxGATEANNQVyxTI4buxOu3AgUKO3ZCJfn4e1RPsZO84dWZYbrkTioD2eydUEMhEiHpMOch6vGFZ0hK2LF+E+GzpSUBR77SQ63Kz0YcKiEQLrblS9L6WZTvurwDa6lQpa6oDykqrdV2h1mk0oYUVFZ5fN5K20evjQ/M9NwJ7198733LiM5JMe+aNFi+vmixYsXkQKp7Aa6/h7BJOXkl6hKbZVINZZWjBAEk9Flr7TVCQ1l+VbDNN9V95E37102YUI0ezGxLYY/+ufFixHm/YJvHMBQQjztRO6NcYWYqJoRfOCmiPYYmwXrCHgdmMfrEvhPs1KXE2AnIgKg1uwDUsJTwsne7yIAg1Fk3qPUAosaQHI4XqnC4uJSAYQuDehQtQCX8xg+L1EghsK+eYGErjKJtjLoE2KLL91Erk3VjUCi9zsEFrqdB3bSq4gnfcb8GXQuEoL9HUgCAjbFf6AzisJAPc689NKZJcOG0YdjRORQBk09MI/xndNjsjUbUIacM8bNw/srCmazHxaxM8aPxzdZjeIhFCH2dxAPKqWOo4wPcUp8w5Pw3nCdAcmBng5UckUia1pQtAgUDwoauThtzsZRUvAWMoFGfPwgge4QTu4kwosXw7gduvhFGqVf0uiLF1/8IhGEk0rJTujzpp3xUgBHcDXH7AYG3zNZebt4v8pq1g78x2Yi2YqjyGgf4N094jGpEXBpLvYKNKcqqOA8P1LqbpdN0AGIQ+Bjl71VRoMslQDXS15/f+06r2/VjEWrV9Ho+q0rfN45S3bd+0dv1fL9wE5/F17w9KYJzTka7a7LHps0ORoltnzb+Cmj/3TfBSUI6Qh5B+a0Cp6LvI6deGVb0EvsQZv4+of0ZE8oOjv0Ecn8MMQ/gCIQmISdOL+62DpoZG+oZxyHHXWnLpQMGFB7xP9aPszQSRhB/KFzZkWDIr4C0unsDJPFwbOz2dihjNYHsGQxt5zJqGQzIHIZKBujTfDb/UGG1/0oFLcriN2MeJ51IB5qiZFdCh0L55VzRqYcj18D7KbLbTR5B4YBrjHjO7SOuqqwLCWDJ7nY4A2PeavTjJqk9LQ6u8WkyzLmlGYajZnmlFRJTkkuX0B24lVXOZ0Nk4KFOXqDscZTkZfnzTQbjMU51qycqqYpxSXZWZWFWearlA4gXYu9zqSMYvqvSDj6+GhVhU+fbTbn2mCThJQUc0CfnJSckqnVputSK8M1r4bpJ2VZ2YV1GaJclpc5IiXFkq/VquXU8SabrbYwM1PiNbm5TWGAwQ7SJX0K42ZgFMSgwoDnf6lEGCgTnq0vuSVkfPL6G5a9eMtYnenVG6+cPk1wDhbeDIWvYCG/75KJflva5SRj1Kve3W/T6NYDH08Yf9UlEwP5ZxdyvwJPz9KQ4GqPy/ZisjNcPQPbf1MHTNzjqmZFz4Lp/5c6pL1AknQinoylZ9dxbpkiQjY/UwqzjRkj7VUkiijth60H9QM45Mi9KFpRhOSMyI7L49I5K+fiarhRwEO3cnNQGgIYM+hS5jUjTYJ+SZmwQJUEiFewC96gV68bMncxY5f9A9NbtMMKgYrEeEkJYWIqqcJhz3bZJ10wc8TwgoJtna1j84tdjvNKyysq+59YcnzZ8cU1Xx/9ZGF1tTV3eFVubnVg45QZTZY8S249nfZEwKzRqjVky4LGgvz8vNASmoZWXGFk1aRDyWrdVLfTOabpolv3ZE9P0qiHBdqX1tVFmXpkH3k6ur/M01Jnt6eoNHand5LDcXqfPqOkzGBYtHt4qS87a5vZXObNzIy+ACxWfhg5MKSPYjYvIut1I6MNZb1T1hURnVvUMwsis1MwF5GgIAZ1fOvGL+h1GwHBdW2k133R/wbf2ndgI1n7xUbarure+AVZu1Hai2c24ijgcf8Zprhlt8Uu5ACDxWnhRByeM4Bt47LThtgsYLQwytGHbuc+Z/MLbL4ox6gPlPaiDDVCTiX8d51VDIxvShinOB6g1g2wY4rCAUcG/oBhhQmMWA0wc+tAaY+SIp12CvkXoLFNXDZiBKQOGI+hM1iFqpDg17ElFdm2dNmtkazhC+6J3LdgRDaszmPR3++8a/c2vj76bP3aDbNrhl1w+dr6KAoYVANjNLC+9PCSiT+GD4dseyPxJmGbyCnxbwzfJKEUCfGU3ua26cWSw3QBLMBDy8n9JfTlW4ETRlGQ505yYtCGA8ZIBFxhR/seDdNMxjU1ivWbGYqCCfZvRLAno24vh8C/6iMiAW+tfpUxYkJnbdGdgb4pwbvitDP2XDh85KUIKkHCgOB7wmFc3oyh6zOiBVTD3/8RillBCeOYICIF2OwUTBV9Z2I7tYD7SxPaGRPROX8hzUOLIIHpZby6oY3kr7lrkEq/Kwg0Uf9xmAKDbaspxjPFxdio4pqaYqWRf49ejdMDmhSzwZO6YQ64mT2ChRhkIhWU86564gsSRKNo9lhOEAYRZldaJd66sr4+urTuibqLIcPfVjdrZj3l+c0Wy0eWkmJLdBNmZkjixXWzembVRZfW169k2Xp+V319XwQunG79yALXWafDhdgvOkZnNDI91K+vr5Ex2xcGYnUM1MZXE0qL5VhePCv9T+ekRiSzETYjVdafGRZOhsNoiQMpEN0D+3OVyepwuNcRDqMGP8wMW06xTGRgd64ytIVl+GMlw8wKQE5jg2xD0A0MkA04IJ0B4DW+KHChDNQLJw8vDI+yrZgCa33nTSPGP7gPCNUvHnxwXOgWehPfOn2ldWR4gXigre3dl64NLfBGIguvueMgSb7rrrt309PP3r55WSQSDIeu+e17y9uQRg8n4DCUGiEMsHIFCj4UYZPtfjStdSagRnsshTndjugxHEFaPCKc7O9AIMOUNYDq8mmP1Bhm1j0RFPXEwY6ygBjfomZaj7Zfez7auxEvPt+e+HzvgDEF4BkEd8zmKIL6dGQ+ENxBMS4BRNph9qxfacAQPZ4W5lg9s5px2AtUEjAFJpW3ykHs2O/BOD4tkN0JRCVgYyEmimAlBdLeQ/Tw4QEuYedhMoKO3p1pGlFvMOTmelvbG6++ad3YMZac6cF07c05Pm95bk5OzlyhmHSQkS8OMh4vkhUl1cXuqpLcbIfTqB925fiamnkjSkvrC80mO307u7yqKju7ojwrJyYz4A9IfxTNXBM3iTuPmw00MswpaLNRIWrtMXTvt5vtbrtsD9r9QC6YvTHaQEu8ilCsyiy73AqZAZMOmHQie9049dyS0+iNdwFUYxTddqNCbEhlhQW2wtGtV4+u1czJCA5b8PH22Ytr/1KzZPbsq2cvu/Dpp1aFgjnqq9RmR6hx1uxmpDQc0yrsGuKkn2jspX0nMhYb+WRVCp9Gnl7rzsq1WkfSix7nfyu8tKQuP0+QZTl1evbkke355VPKSnt7H3qoN3zmTG+RY6LPrglVjLE7XVNTU5JrPSPDE4urybhAvViQUpRUW/uAoNWXF+sz6GlCCL/fnFlVhn2l8KWKniIXoEsBF+CGcXUMb6PFtyS7G3jF4FtwK/bevBdVa04SNMsxO2+zVjHzDooaQE16DRGZwXdpw4cPx+29m/cOzytDe+/eVpQdR5g+mln8HG8cf71i7n3Dt6NuR2PvBuEMiguQsEQhuZAv/YNZf5flDd8bN/5ufvijBs8dmxBOKbZDjH6MvjHq2xsUw+/rxzfewS6drNQBC6ALHhp7Z9LF8HEq0EuonSmDtw5xoxGKBnQ+3uXIhwlvTI/L/FVnSRQ1MbvggYJ4OqDCWac63j2otOL/zRATfVRBohcoRxPIVLTzGMOOVN8qhYpagnT9iWQ9EFeKPUD/KnzIyrcrCgP2T9PJG9H9KGKa8XFi8Ym4yDRux8DgiQ45cTvQWiHg1ANBXRop45Fs8kzr+eQ4XTntuz///E5EPNbrQMFKLrFY+Jz+43Z1QZ5agQldjN8d0O2jKF3ZFN1+fJMaI0wiFok9n2+V9jIdvYg4XQdTA8siSO8KX5Ob2cChqh+u7SKE4Tqk9VFfyKNizioCwA8EQ2IQZQC8Kt+UjoZAqhugY7+7b9slKreh0OJMv8ZiuSbdaSk0uFWXbLsv+iLJfest+pe3ZPV99LsHdpyZL9gynJZi4xPz5j1hLLY4M2zC/DM7HiCGi/Cqt0jugNxC+ohLAe4QLS31CfrBuPKKOHWiU9Q5Rb1oWF037qYjN42rCzLenYwgY2lmdDczI3n0cf4JvsW2evSSm25aMnq1jVzKOHi67pr+jrffRhnC9qhrkL9B/I6wHuVBJTATkZtnWgQmQYYW2HwuLCKQ2tHCwK5zDFBGxF9QJsK5rggQOpG+KWjKRbpW9/8YFvIhnYb2nmHh1n2rUZ/ZtfDhdStXrnt4YUzb3EN7UHGi6l7TMm01rBAkyTzTVq+JzsRsGO+GM9G+iM3f2Oi30ZS4DBzmVDLTlqF9mItZSNiNdiTG/MwmLC4LAQpNh/oKNP3DNzgFlHOkd2skIhr6pggfMUuncN+BMLamP5M/BFlpb9+BSERRvADuJF3MmCpaBe+DuAzokhSWVeTWuI4bmf1dPsyamFiY0bEw3Yh8lqBYyK8toilFtfVucqqIv5nxNbVF/ceZG0d+Ua34DIr+i2sQg0PHoFkGnoruhz2zMSCn5DbgDWLc7dDKgdUi2JPoo6P45yjiyUOKJR5bq6SZhqDfQyiDi+F6LfPaOasuJ7S9bU1L73d4p2hoWdN3AO2MFeve/kzYH0SQp+iJItJHMIeczEpAgUtBp2SPea44XcxeBbkYt2gyyGJAfIQJBjV0/HmdkOvYfAE5qEGBIuToeI2GHDxPyGfHBfYTCyCz4IS9gN0CmSYoUmSIb3Bvsrmbx/wGUM9jI8qzALma8dEkRgoEjSZBR0yK9D3oxpYQWe0t6s0h+4ywMsSu0hFAYi+qbQ1l5YpF2+lvsJQ8UFiRmUNfku69cIKu9wv+PqcbFew6Q0OVhr/KMz7UmqRJ1vWOUJ0ffUY5JY+1JFFB0c0pvCnCEoTtnDNxNSPVDngtMFgQB/RnA3xZTUoDMP8avHSBrzEUNn+Utnrfan8p/UgyMzDbd4PCcnQqymTVOzkXBHCIaudlRle6mqrvKHBOW716WuD8nOj34jEGoKNXsORHxT4N57AG5sEbTG+OA2pKIwlaAIWqitFWQIbobIHgwC+uO4ijHdGFDm8Dv2DCpf5AEO5FHUP8F3+CNNNuXrLebixw5DkLi4vPv7CkqNBpsxWYMnUkJZl6SZJGKK701jUMHzP6tttGjxneUOetpAeZD1O0GO69vEC511Ex66IKB96bl5WthXvJu/QnXo7d3DjxttsmNrKbxW2+9aPNvjxHgTErXS8b9JqM9CyTrcDmKOR5azHxpKtCld7Ckhxran5+qjWnpNBbGT3IHKwe8V0+OjN2Z3qSXp+UjnfmOYrseCft4dNit+ak5+en57Bb2VpT8H0K6hkAMKSp5AzAhwQYX1RbqGQbcIcpM6+588rrQiYynzShJV2k1yE8Sf/xED2q6gaAUMKnuRraxpNUUmEkVQCj7o0eUTVX3I5rcBnRyYukw+iECBQTzPQkIqns+U6TN58pzIA0LCP1MDaoBQ2aVObYyggEJTkgL5rQRmZ2n6KPvEqP0GhFIfdzZO2LDre1vPKKh6bMnNBadT257oukj2+/t23T8pK1y6WM9kna/JvpJ/SfRzoeFO/md1wsp2a/1akqEbz3zQlPf/jt5FL3bR9flt3QOTqZ6Q3J9TF9SB5KqRHIyIYMcxWDNAzu+HWxHODYA09sIN9+wScJvGZmR8fM6HErH2KZV2T1hln9l0nCB/RniXQ8scFNyjc80fHeLMV2QcGf3wPfkoMYwWnzJRHOQ+y6qhSSTUSbj+cccKAymzLEAexlEnuIb9X78C730XmfHCXXk9D3V0ePE99++jVd/9Eukr582SXRv7Vu3Ni9sSPyEbmdnEfs71xCj171LX2Dbnj/D+QqYn6QHm1fsoT+86bLZ83csGHmrMtj+nMFtzoSrWJ1XqD1mZuXi1lVA9U+4EdhE3c6vV4nXXIk7/uq0VeOWLfj4Q8+iPJOH4ABr7O33eHj2368s7b2j5qHbn/6x+gtPofY5fQqtndcRLwNnmXA99Z59Tb2DF3sGTqvMIk4/8dJT9S23HZRx0Nv/PRThP+U5B4cNYr7Ofn3zxylf8H+A9yiyIg0zAtCkZfCiucG9Ni0RzzW3xGhKYKaOTAhQ9efiaiyQ4HYpzmJaGCsX5eeBYyYC7x0NTeWa8VZaRW8VSGeaQMkUbKSqhBxo/4L8974gaAPsAvMeuZdRCCDiMQtuHC2Ss4qkyyg9bVbHwDQERDssuioGF9U1VphTk2/ZGRTO21JLTjv0vMKUtPmXjpXWAIH1cOUo4vGbXSGDl77/ivDNuk2Nk/YGH1y+fB2/8jhS7XLK/Z2F7mShcruByuXa5cOH+m/eOSKVK1Lyii8YPaE8rHL1lWMveCC+4NbFy3aGqyfNKl+INfXTJ7Y9PT8T5+jLf6mJqHi5h56Td6wMrJi93NSsu653fTmsmF5ZP3HN2VoJTYnJnIH5bXScmZXbiboTaZBsQ5hPopOh9mqMUvfbKcP7pgemEe90X9aplnXWSyqcX+l3WT3T1lVbm+uTx9MrhHE1h300R0tVy2KrqDFFst6dAM+fqOw8aKkHHOJqVo/MnWCAHDndlIt3SI9xhVzNUxjnyYAWA6pgkiEm62ER3isKsNRCcl6Bq/jMN9sEmYZ+ExHbrLFZW4ef0HzlCz3BQtm59nSSy968pLVNPrTZ91eizHdM2bW4pWXXfyEde4FLXMFkpI9/8Lpc2Re2iNbiyqC/mqzLrNq4piRaab09Ekjxx6j0f6TY8Y3Zs5+bNWIXTfuuvaKcEtxanRxU0rK2JkLC/KG51umzZmYrugIyU5GW6EkYsA6WG9DQxEb6VKYKmDk0JgSDR6BsOub/CbKi2gKUpGK/J6UsDpSAe7auHLgLEcyO7ghXBZRaAaY4uJAjgQcDSSN8Irz6mC58xy5s5mtQworRFOUlLzmJKO7uqyzf+ts6G4IUZNSzLcOTUnJZyTzflLEWK6P76cnhXYmJayp2RNL6UfOJ0eNanyZ3uVsaAg9NT9WXHxWqsgzFdvNDOaTi7pnLzMfR/fJKqSNrMSIkhsfyl2RMCkhQAARABZQJu0Nn3kpvOXE1qUXXbR064ktfVMii/iObuFkdwe/iPaEgdDvOwCLHk4VF8Nlkcjerd30UKSje+veCNl3fmck0smJJMBNke6Udcz+0gltqGS+4XnAtjfAzC8nslsmBQoewn50F8QJRVF264NeYg4Kbjs5HAi8ueHEiQ1vBgKRjhNfbyQLHvrm230PfvPNQx1PPnn6qW4iXHkkuq237+2NH/Zt6xXfOfF1B1z6ZsfXJzreDAYi0aRvHoKLH9z3bfjJjYyGXHm8PPr8Md74hTf622MczK1EfXESHOsAisYlnS6AYB70A9Wj+RtqMoIscbqBPja7ZWY0VgQlonJOCLpFs05LbBFF9AYMhXUX7UGHG8iQU7t29e4inki0SWpksrFMmqLahC6au3aROeycrI5r7Xt3KTJqSHuIZ9euql3IoOAZJsDctYu274I/4undpcjNYj5PcftT41meGDj4+VYiGm0M9xF/AkVqFI8NEPYtil1rtIlxPiQzMAKSEQFYX4msBY4+G3so6Hv8k8wFdUhn1i3I/ITx0oADhjM/Ply7jI/06qCPgBHTieuHLlToCkUQ0xrBdYzrmUusQ1LqUO6NqfJRmolKCRS/RFRPvYk3KWAgEgcMCg5meo9G5snODETM0BB0Xz/zEn8IhiEsGvozRUMEublBGy+0w6zlJjHZowIkUPaY7wgQhzvAOdN4k1kqUyGMhJ9VJfNioEx0hwRiVaUJWlKmAhDatjPu6bZzZ9zTrX8k3fLIeHID4WxlGcU+e1Ol31VhaC2rejo0dt61k4pTiETb+ZzK+hG1lclJOtcIYXNeuTVdVolatVo2hmqrS5PcQiWra+eQ+nvdh38g1cnBHbvv8IomV7FV1I2a2lptSNWV+8aNqqIfPTZzy/SGIluhudg7to68VbFg5oWjp3pH5GRmes+rq24suG6oL48tTrUM+qDHzJaVvL2gjMB00vB8If9XZm0yIAEq2XBk/fojwtvMxUwNBYrjeoIrehE/ff2Rn46s75uCEjH23JXc27IoiwAnqhieykD61YGiziBDVCGhDPC+bCaCOUQcKsbY+e05hDiDLnHGje9daLrlND1OD994/etVewvuWXXxT8d+e2nG2Ls/h3TYIapzPz3+DLGR4fSYRUXmzSPlNMSnSt3jT9M/09/Rz9+dbRo/5i/bF697rW6YbsweuOvwpZBePI++w4++AKo39++3FKtSBPIFzaMv9/AywFgNzK2XgV5CX406bjz2FxIuGYBcvTYU28KhLNpCqlpgi80EFmJVIKgPMCKXndTyeAWgGKJchHbWXfSwtUS1+3mHepiNV42W9bX02dxSmbwOE0PSG3JSPzRWaaP3VU6UnIVB9X6xMIf+1p1Dt5o9SUlj6JisQtU9qTrVh3Q8r8nOcmi/NhQYtYJ4rNzZn8Uff8pRcMQ8qsC6VZVWkG2qyurbPMHjFprtrpu1Los2bUeOOTq/4UJhOTtttFiSuUR/eBVwL7iKNCTu7K5qRhAWbVK9wuQoCLoQRMUkJigHj/vBZgAVOIO7EG1WYU1xsKY43mhAJ1hvlYNzntPpVfWfXF7FkOBjLq9yBnFxOl8QhoPdnyEfuYeeojvoMrqdntrD/F4feJtcSlL6PqGPrs5MN2XeeKHTuJ7c8NfHSPDymuUadWaSXRUcbbfTDzKL4Aiu6JrjvsztzjSlZ164SUhLSTbJmqX/eOvffa98Sb8fS6aQfxD+muvXt+U+LFjILqz7HvbMtx9gjq57SIpTuFktVPtJMnnhj5e3a2a0ZLizy9NrpLm7RvReeKEwiqhVKj5US1IkQSB1IaKmj5blWy+YvLHp5ZP/Qy+6jL812ryCHCTSaw/0Lyb3RkeX2qaRvys2mHEf6Rnn8jFAfcx/VYZGaP4hHp3M9gZzspr5IlBGf6Bj6K8eoeMmOyZd7Bhlf0D+FNOPimtri0lxMQYd+fUjwCJKTikF/KLMmTCTS5m5bKBbJ3OzFA9UWbAJXpQhJHot2PXi2cavfngtpG0AbgCngNFGYNkBN+EK8Q1Ab7hDJCi73F6YWC5V821ls7LPp198//B4koPeqApuow1vhcmrmIthPMFNX72MvnqlZoS/8dp8UUwmoedaph1qICpJEnjbtuHe4Zr/ac76IHu8ShAN7jySFm2KoIerUgcw786XE5EnTWn75JO2Eduqsx3Z2WNNw6uqhqe5XbbkZGd29bbhL4/e0DFK4BEf3ch1yQ1yY9yeRUNMkkxEPRcMmNCXiXcTMUImFRFnvyvaslN4uMK+mX4SnXId/wjV8t2d0cmygT7lWefqd+zku4XHKp0quik68Tr++f7t/DNwGp/xFLdSzhMjgGUtqPvkmPwMOUctUTQMiYdcPqd3M9NcOYNfum917tiwZ6bRmMu/O5in1/Bl5PXzO5vp1dRDr27uPF+MrJ7mqzAkiWKFD8mEgXxfDmki6rLP6Q8k/fMyehrpGLQ1OCYeG5D1J1oSHUNrf2UDrD1o/aPw2wrNq1eo3fg0gZyEMk2pMdL7HYobUajLMFIzWm90d6i6O7p7t6LKYtDnSQd9wbQMQ2vRx5GgCXhTFgQHK8QUKvwx5k/niSTUiRb86DjXdwD2CToRWL8Wzou4TuU1JJE0HsgGmfcDhxzUAzbwAw2hs1mFPCKcTCm9+c4T7RM7br21w+3S5M29cNOKlZMq27964GpbATnFYLVh1G9uuzWXpuR2bL2yuFhWq3NG+UuO00vp30/cMFevV2lDEzpv+9O/yIin0IOm/5QqY9KiF9pV2tLShtxok1JVTPd6Stp77r5Hu6kBTctZfZ/wTud6o//4Dv9ba1n9Z8gZ8WPxY2yThh9wCBM/pnvI/O10D71nB5nHdmS+OB6O92yPH8/bQe8h8xReUJHVC0AdVwL0RL3svFhcgJiQsgFYQT9jgWMmi/DLS5RoVjE6381OWgbMp1HxipG8UG2rOEnYxZi+nuns1WhS0/e8Pi0tKVUlihKRk1MK7F5LTrZWl5TEE57nVYC+klNTtHp9hfATTYmeuL7e78+1GLItRe6CEUFf1bCKqkBuuoNPVefl+/w1wpa4AQt6b6q6aW1yanpGdnKqMZOXSGlpCWDvlAxDZmZOhlOTnGYVMvRADKo1LlQ5TGvNt/l8wY2iWkqSZVmSRE2SLCSp+I1Bn99me5/ZRERY2BOgnAf5I+w3f6zfFnJLmazp/9B3cRuG/0v/kSF92G/5b/uwTOke+sSQfqz2nt2P/OF4FAA0XgZOF7iRj/+7riQS66Tf/OfOXM4uQssfpUMH138RNx1mn9sVl5B7mUsNarwHfsxYIPYjzAgoLkCPn8GQSErXmWWdOahzB6EW/lMB6AqTyWqr8tUvbhplMqUKJElOTTVmWLKK3eVlRcVZWZmmlDRZI9xaZZHrrCuDM1a2L1x4yfltnvaShpyy4TPKn5780MhF85se/GDqXHGdPuivrqhyuI3m2rrpM2brk1w2RwEMdLZJrzdacl0OpzvXFr1vxlVnVBpeBxSVNiUlRa1XZyfpk89smbrKb8l+6Bra09ZGPNc85Ktn/XAQ+NUcgLU2hINcvirDaECgkUbgPWMeij6Xu0zl92XoYQYgeYIbQGQgW4TJpIoItxXX1hmNWXaFILFnqXNG+z272vnW/JKsYHmkzJdVki+33UbpHb7OVWGL1basSImOVbTMluxetexa3x2E7w3PmuWvKwv4y+sSeMa9nJp5bDGnYSKrkVkJK8x3u6qZmQYcAhZSiRfBbMfXMRtIBT6J65iNEV4vHkM2l13NDYGVUL/TrkNQJpMhNUZQ3M/M92P+cmRAj83qhzsSKlXC/4RjbthD2w/9hnDSTYZUKXQy64cmoFFi9Q9tP9yRUCniY3KKXf6L9gOeRY/qIBlS5dDO+mX74Y6EShO6KkGOz3wnzOf03I3pmvQoBjiH5y5fHnOsPKfXLn2dnVS8QWI+j9BfRwb9BQYsQtE+7cjpiviGfvTMf3tgD9cnxvlBz6DxwONcokSmINDoNAzyU4bhfkIkJkdIIfkOLiM9CY+HvJdYIKODkMykMqIS8AhyREYqwOsrA3bRnYa8jy0AxMGvRdjhb6Wb6L0/79rF/Uzmks1kLgf5n6NV5HxS+5ctW/5Cf0/30d9jjt89beyau4ILNj9K71j/6KP/fOxRUu4dMb/cwgtXmpyVfn+lM/mznp6mlWMAXgoIXqcn5dY0Tx5p/NXIQt5dP9N7f/H8qsSnklrWEmdp7ksbw7NM9yxZ/2j4sX8++uj6yx+lybX68xbMzrM2b5w+wpGlFkjLBx+oXLUTpk4dG9SlL9q7cEKBgcTs1mNz0Az9Xs4i7dmU6HkupvhgNCuLoCcOeOn5Avpf5EuYUpjBFJSEQrk4OtqEqtx7NK2hcKhVcw8c9KckCC+2J4QK+1HRzq+IXbsCDpj3hMWIVRgt6FIRkwX3JKTx08xKBmW178qL5ZnAXWdzZWj3xLkKYsEsgyRgTjzw6QmqYjAiFQtriOJSmfgwMl4amqvAmwdUja0dnuhbHk/ZhhI+4Pnes7Fk4Kikgdzvad1YQuc85elo9cBp2Pc9UlBZqdNpPRMmDssPjZVoK97e4fEQvH+VB45KNno8fDHcvzG6jc7Bm8j9T0FFHt7vwaf1lK4Kt2Zn5y34Y+D8lefButgDdHSV9CU3hTufm89dyl3FbefuQN2yAbUdhjRJLhP9yksw30GU8gBjptgMxCMgxlJloJQLcFwhR+Kh7kzxyGBEMloJvn4Q6AcYUNHHBDCypJgziHFFIxybvZiHayAvfdrafaa1QJ9d7qq312mSJ/omlBUUtJ7pbl3UtlWd0bnIf7NTh1wbhlKDDbM6xx2Vizoz1Fsrllj6b3GFcGTJJmV4D+r5XH1Yn8vrtdqwlmj02nTak67VW4zEY7TQ+3FvMdIe2K8PYxZ3wtv4QN+Iy6Y1l1aa7JK6wjH1/Jtbfdi0kQ3PfVXuv/rrltwaac3eNVV4T5Wyh0OpPqvl66v95V89lzs8g1xWV1jEIJ+i5qe6bH1Ojt5oSu41AzrWAXfytcKixMK7xWxAkN+p5UYyOS2KBYwBry4WfdKiyP7qiWSPh6yMpQVuY0wSqGga4yIhIT/y3GUXrMCQTy04972VsQZVejE4W3dHhC+PxdIBXLHq+ZkzaQ+a4BCaikvp0wzmIBtR9hmfKrKFcEc3YiLFYIH5IMVl3UmcESBAJTeLWS74BhxFnYNZZtkSM2xBu5bEI/Qujb1HAbTeHntbdqvZyleFUDDFsUQIwkmE1X6dFR1zhM5wYR12ODRPydB2VL/gRroGc4fvBSigLkgvUEN67+G79+bf0dnReUf+A3ui4qbrbnM2LRxbbHmR/pZ20t++6ByxcZb9DmnvhW2Fl3mcDXWF8Uz0CJmDVkP0fmY7NJivX/Gc/ycEJ6SEEPoh5n7yP7di5ZO+pEaXa3iS90k62R1K0leO8JfSnhXPLV/+3AriqRk3MSspxKmZr8Ex5ittg14czo3ixnETuanYlwyoqFhgGWfigWKzr3QhLjjnWcckaJSdsImxVFju8PoyMuTMujLXzKdn8q1DDqMvwzizwS5CTdhAHl3d0D0iul9JxZ3uZXNnZGUnFcw7r809f8KE+Wcd9/2M9lOJtlSxPH8VRkdiVt5KinzuK4A/0mQjZ+ByuUKUq6TxBWVAJ8GmNyGg0QPiRb7ELQkAU9xM5yybVOPJaxWHjh45eqiCvDLs810/vTHfu3rRb16igdljpr2xe+HW2Tf3Tpw/sffmWec13C4W9781d1tj47a5QtXsZSri2H54yiIr/bKMZjycftHBadHPwjO7Zy40rpoa97ePSPfAWDCpAHABGOvYTiQggZHFMksYSFqS9Tq0/w0RFh6VyDo9k2gF3AFJc97E/MbaN2fS00vpv2d8UN+YP+m8pgm8xnDPcmvNm4ue0RvGdp/qHmvQP7Po/QbHivsNGn6ceFHZ/lfOn7ZYTVPJv1KWzDr/lf2lBUKo9qqfQjPd9Go+kHuys/Mv27b9pbPzZG70d+RK27z6M5trG/iE+CqpGE+BY9FCgGQKCUCgynqn4I5F27ll/1dvP+MPnHnJMObdQ8JpegNZXfJlZv/NZW/YyGq6v5Bfy2+X1YtvvtnrQ62ioemxzt7HiINkOjeTJ3205qI8epJ+VUJup/O4s+LsaH8ZZ+c/xdj5T8F1ME6X0Ck1qpoZRYh2pV0sYF5zBHF0N/cps2Mt42q40dwFMe/3NB71IH6fA0CJF7GY5EKJKipZbbLdFPMhgFXjNgWY2TaOoZgQwYvhMXeZBLgKRd4m4e7W0XUrHl2y6egVRPVcmi+l3qzOlW57+eLfLCCvLeyaZii50m+b/FbrIq22qxX3N6qmsFBf/fc/tltUpZozXEZfSnX11a8/KjSFOheEVs0ONmyYfOXvSf3wkhIivLJt1j3zwrMsDVOvXVBc5cyd8YawZ9Wl9wv8nZeu2jdciRkWrbliuSkrPSdXb0lzqDP47XPD21m/TyFj5SulrZyO2VtWqTLMGA1WiQvrDjj0BWW8205MGWa7EhnWLKmE/sdJ6SuZR9Dc/2TBj3cveyH06Hyiu3Tz9wc3ZABIq/1bzUAx/UHauof+Yz+aPt762tyWV9s39b40+97PNpGukfSnkbEiWLtVxCvtke47l0xUiMlEVxBtAbH2/znacxl/2m1Z+n30g4v5YrqCL1se/UDaSH+wz8/r//wyvozvK7QK9I3o+xfz/qiPr2iLHlFsC4GLaWM+uUpMOwBuzErJpyHMUgXmtgu4cJOZXC2WHjrU+4dDQgt/vzHFYByTFX09+kbWGKMhxSg1PtN/8JlnhPHP9O/li3TDbFbZQDeRzUDD2IbpEp+jZbGGzzYWRSgAr8cgAcZeBn4feDMFHGhIQG5rDfVeiyBfXB9qvVorpibRZWRLtkHj0tAJH31IJ0DGkE220GVJqaK2MMi385cEeZfQiff0d8BeeFdrz0yi2+gyqzGZV5PVr75Kb1DzyUBM7SKXJWXatYXlVE1Ol7P1vkLWyHOgrTalrTIiSmhrEPoE1mAZD8gyj4gcJGaTrFnT0jcZhb2qp6at3hndG10sp2iSNbaUZH4N+So3xZFlEy4VFpw31UbttifO799z/hQb+cz2uNDUfwF5R9RatOnJ6Ot9uUObnGpGn/0BvtDEbOY9TG5wtoZWL8nOECGiy623krgVsOg0mYUyIgqBoAhA85xxvcbfOq+U3uA/rNLTG0rn3brhMFUxrVb/s2Q1OxYWwBVktf/wubhO1aT4XW/EroruZ1qwV2PV/itWy9k8bg7in19Gp3LAIbwXHBCMDkWSidcAEOKcoarwBQz33Ue/Yzbp95H2NA1PXqEfzJtHVOcOXSXfRwyJN5H2JJHvIQ2o3iTpfDGTBcdpA1xlpl9GdmRRRmwEzfUHce3X0f3MBWhofIu+KbHwmimKnYLCu/3neocEL1et7s9ktsxnRypRQDSrd6BPLYPaa6Ve1H4pcRdQFzb0KbGIGjQFaY5MID3QOrtWrO+bwpzh8XksbIsSYiGiBNtXHKsw9sGArQ3ghri31LliJGMIfTOL96MgFkYe0xRmkq3ag3gvjPJHDOcIWGjv2d9ZiBEuZECGrY5Z9KAtlNQY6TuA1yL+6u+gPahVj8Wki18vxiXnKgAg6PmM8pn9KPZhJuixmIftzOGFb0XLc+Yfg/EKB2JZlDEuG4WP6AQHtJ6OudxgkK1gAP2WBo7jXs/isaipY8nSuvr6uqWLN5ZY8qbkWXFnseJuYaHVas2T1XWhxYtPL15SVx99rBCD6RepuoE9seQVwtBbMRUN1txiyA6BAQXcRdwKbj235ZyrJ5ARhwtG1lhUrqcjukZiSUFPAWaErQ+gtVsaMQUDVmYNZ2S6LjkjyE4EHMQbsBJ2Ah3LOBb6FdXR3ioxIW8SRpOmuO0WPUQ/ZqutCn7GN9eufZN+S9+j37659vKiwBLy+HW9B5YvP9B73Xv7J93kN6y7YPNn2ZZLN5Yuci/hk1OrH81I1WUAAlZJyQDjh11VttAdFoTk1OLr5hANXSxl56QJqclkYS3vKls7PdikK9CuqGvhy03r8MCubatrCbJVP9iOIta23kvWvkmMg026488v1lcvFbOhKfQf0KRLVM31NdO7O654rDiP/DlNq9LqeGsuISqduSxQIpB/zYbydzNS01XJ2hUb6MdEbS4eWcETWrn5pvfpzUe2tkx4qHHmN0uUdDOLV3S237ESZyUWoNh2VooyfgQUUiNlIQxhNh/HoCLoiqz45g/ugfMLM9y595z+3wNxYeKp/qznxf28MfIh2i3gWpTVfQfC/cdlNSyidgwihpHUI+hWKe0dCHOSMhA1WGlLTzj2F4tj5GH4PC5LhCfoY3Gn0Ys8rEQdwVfDW9FYAm9UA007W35Xfp3L4oqYjmUYV8+4MfT9DRGcmezLMQRlP4rgxyyTIFMdlOHXZCSVYqIbEGX8XsPQTbVvW9XNy9c2m7VaaZvF0r/UOs3S/5PFItxumTarhnxfk6kRpGRVxcJxpeXLSXFNzfSamugHY/iNo/t/Gs13jOn/ieX/PSaeHyM/vE3Sas3Na5ffXLXNArUtgdqSLNOswm0WWkN1NROWl5eOW1ihSpYETSHWN71m+Ojo1WPI92OinaPJ9wN5tr96jGLvBd0DdH0K44AGNK3ItBs42egdFN6h9TQXNxzEC5S8qnv1vtVrWqZfBsP01ccRNIlkjjNFkY/ol8iNf/vgvm8wxahA01avnYrgd+3Uz+jTjg8U8dwHDjLpM7wDoysylxto13RilTqkd2BE3Uw7rjhi+RwNRMXsUyr0GbKEDHKFzLuZlYFDeESJY8iT8Q8+yN9yvP3i2gs8usmzWnJy5j5VqlO7SnQ62ii909px3nkdtMPiElXJwy2jjQb6XjSqkxfddXd19cv0kfS0B6PfzZgxgYvZsiqyGpSL4xypZ/EouLP58Xj0MYWaNMZVKYl0JayH+BcTHHHPDVN+MI3ku1Tdgzz4jzGXewwwOX8U/WnUfBbTvwXRV7h3K9/KxEhknBJR/83byDe3pX9J3/kSJeUMqfbAnsxQPPHdGO/fNmr+/FE25SsAa/hHEAP9OOg5WGucPLkZAz2pYC2nyb+TD3KZTDtUx3F6lHyHCBeCLua0pEwtnuMzM2d/ZUZveuvidkuYpJ74dkO6lWae+FqlrSodFWgqLhW/p79/ltRmned0ZfR/1iq0XVb5lzn02vUl62aWrK/lf4idyqa/F6/MOH3ZKqhF+8/+ezU6euNLvxPUlkxnljVFvZz+/iBcmeFynvf7Ff23Tq1sXF8yc51nHVk35+/0cVKbDWdas+hrMH4psXiAaAuVz42PSUY3cTdxt3P3cPu5p2AkBb/CVBgFaHqIAAlLAsg2qmQJY3U5BJMZP3QkAXUN805vBq4SDaLSUMuaR2SlwI0CATEQ1JcRokfFIvIPgt5gRo0h2tLVIkxkAlS7ziuLyHfm45HTLCn1CGiNZWfWVLIP63EqTslBA+LLIGDTHGIwmeEC+cjCSbssuWMmL+y1Lpi0q3rMpEXCKwX2Gxbtph9WY3oX8USuaVRllmqStBqtpnq8ujBNnTbM3ioniSoJiNs7oEBOq7YL+jHddGeWXzW2lPzmaKVBJafl2W5+gCd1dZVFZMLRjGUjyZmXpsHyXppLHluKQfv46Kpbkklqhr560tVFGkmtqXVq1frJ+Y9eeDF54LGUXPuBeS0rZdkn0Kq2iwmpqy0XD9ITJHfspEm7cgk9wWcTc+6Y3bfmkrz+W9ve3OcM7rir7a19juAOfnXFBl6TlZnbECrOGbeQ3J4s5Kq0qQ5B0qQIavUDr5G7lBIiB3JPjwvQlLFv0BuIHByWlHX+rAs3kAp6WMUbM6z0gQmNUwFZFKIjI6mYcvuqOxCyqFL+7hcyCU/u/I5sEYg2TSSWr5pH0+LSJ34KWfJzW9d9On9fOQkZsvU6uovU0A+IQDBQFvdbki/rpcdY1KwAcLwZbhdKgXCSyFKG2cQJJ38gSxfP00/v+nrB4fHjDy/4umu6fsFCspTkLyTjfvcb0rzyWVmY3Ng4WZCfXUkP/OZ39DeAre6DuWmW5wMXOpLZWynR4Oz4s+lhtgEMAd5TsLslpnVGbX9c749LTbDHfNGRNZYUw1ghoHy0Ao+Vm0JENo9oyls/KT1TSpHSo62fC7pUIz1qTNUJ4ct5Z4t9apYtL2cyL3QaVBqtPm/iIxOa137F15TNzK26smZzzeUVFYHa9Zs6rfkjHMUp1urshqwaQ2Z2Upm46W8fz73KLPF89NOM9PR0nY538SqbbdLKlSvnOHg+N0UlSUlqk39kUyTqS6teErlw2RsbqyvSbQ/t/mNP+1r+Kykpd+z0OR7H1FS1Oavmwmnn2b2J/rFDaQxmDZ5FbDqMiKBPoDJsSqTFMy8B9cz+kZLGDV1hMfiYElqI0Q3MPCFFiRuHIWKAYlcNxBBWwfNylC+gsOBsRNDFFRqMzPZibDJRJxsxjA5+TA3vDwOtTHuQhs4rJB5IlaAj7UBBNeITMDCLcjZ2VR05heJQTp3w3KGxPpTnmxkZwyzHSYJdi8jiQ+HzgYFggU2QKcIXjttoKSyb0oKwEkdy0Bhi0MZEGrC7Uvo5HvU8wfrIKaL/oY7ZliBJz0xGdM54ASMCsIsSrJUc6E2OhuWSJro/Izk9LzR1WHX1sKnjqqs15F/FRRcOG3bp1CmXpqf3VytjEKczcXutHWjxTOpPG1bdMrV6WEUlEC0X0736YdVwy6VT+Kez0jOiD8doUfms9uewmBmus97gbD63lJzdWOVrPrFgoR0MeZKJ9BmYJ+1nty+SKOmONsUiaSjmWP+/8H3pQ+YE+jcbWOTcfOCtCzkPV8Fiv9VhNExNXF0uMpLazsjr/0temUTAUzO1OnPPZ9GE/6ts4gyHTggPBnY5ZxKLYZewzjLiMU7ia40FApa9QbPXHRcgOWOsQ+JyY1F9lJppVHHh6cIZPjjllUXHPlIAf8SjhFBQmAZsR9KvrjvGw5xj7Vl4GwtZ5UxYiudegughxfwr0FOK+Y2ceyHGjlg2bqXED+mfgX5JfPnEV0yIfa4Cviw9foc76NYQmwagvqzcCuAmwp6GcYXQkWhg8NDjnoWMZCGWcRYLQ9pQmjg6sMxl1S+ggR86xcVkE3g0BC6mJOnoqlxHumeYu7DQPWx4XiPxzBrmdhc2QcGQwaK8qEtJ4cfIcil9UnYXB4KFhdnDgqS57kT2MHd7odtdfNa4oc9QKvuWgQm4N5cS40ppqWgMmmWzM2EvVKEeoJxHKi/uPeb3JbaVth9Yd+AA7Rnc72q8SMNnJSe/USqLcyyNHk+jJ7HJVZFwVTicuKft80bopuTnr3y1uXbJ96V5+aWl+XkAE97n3peBKFbi4RPl+3EOt4vHb8ephnyZxHN3e/vde+j59Pw9LEf2kX30BxYij0X2ljxnncRc7xkc1fhFzJ9U4f1xRmRhr7BvhXhhE21m2W3HAnfQjHw/QiDkrCNoFYRBiVe1L47g+9EUyJEucS39EJYbi8D6yYHfR0fCIaRKbLJ4vKDYV0x1bph5xKbXMc9qGUPCwm3RI9v5eXRJJIIRPyMIS/uPh4kv+sF2fj5GoIhEm1TNsEuwn8Je0uuEIKB50eY062xmQaeH+mSnTXTrbJL7C4xEt5GsBXS/FnNfYMi6jfQ6aPh1kBNLydrerUNPAbDFUxvZrUP8jcyA834hzf7vuM1z+xq9+9+woOdyJlKd/G/Z0tQY3quB1ruHRAObzE0DOvIC7qLBb5cwGSETwyrSQptRERfWE+VrnOJZxwNR+bxGO349TzwrL9r9XrbFvm/iYSYrXSzp79CmFadptameVC1/KC29MD0tTVusTYt96wT+cWMR1eM5VDLjkdSIuDhcV+bxlNWFY2mvUQsVGHtNqVCnqdcA1aUbeo3whLRerSLbZrHywgn7s+L6D1BU54rWnRjBODFSN38i+pC4HqMZs2RoqP/+LwZiG/95MLaxOODDNfgFLU6vDEGMgiRKoDadEENqYRR82QsqaUVlgR2DdqFJXkRxQ5Ru7vWL66ZV2AsKCugB9PZGsViM1ECd9fXyKHkL8LJc0BSSgsiuBqqs6GDsZi5xKEZNkzCKFTIUVpXMxFWMPU9jcawS8kkkktvZ/eEnH3Z35jiyLhibP6pu+LBQwFpWakypLGvxzE11tM4dToQbRmV5HDm56Vliektw0XhCCmsaSpJNk+65fdjo2fu3a+XkJKf2+sfGNNx9uVZKSnKmr75z5/V35+hql1y+vfOKsrq77hpvtFf43WnazA2l2W5ThqQhGuewKcWjNqoFU4l7pGtC6p/HliRNC+Y1VNYFxjnrxmkLSjuenpPs0KbLyXOeWrpmzzQlP+V2eoKi+hvoJQ8QFnuBv/9f41GivyiJz17Y/qs8RhiHVId55atIytRlG8zf/zWPzAeSBjg18ZsDsWiU50j6O3AxwIFCS3LcQia3sMGq5vRMwh8T9Mcxb3zh4rfnDLHPKQAryPsN/6+tq49powzj995de9dee9xde9eOftJ2bQ9KKR+FFSjjI2yUj8k2BgPGNuYYDFyczCFOJ4sogU0jJoaQLJoxp3+YqPMjBrPETf8wuCVmyeb4zzDjEhIX58yMZsDp+9616BbT8ObN2/ejLc897/s8z+/5vepV177/rR5Mfpo8mC66dqerys2Hd9GuBveBafCgJBb0O0xeh6u8u7syU93TlakWFhPLeXmNL42lHi1TYxrSdWy1RON6pAIObyLsjgRtYi4eebReHvageoDGtHsbtdwqFMvxYVGozToxLJ4Tl8qqCDwUJam4mukLVHnlq5A7RSehWILql5FQexSgKKikgrKRaOttamPZY63E8v1fTnw3sZXOz33r0o/Lo0iHrC7paooX+6Le5CdtfQ3KJU42QzuZD8MSJNuv7bVKxoDInx1vyGXCAm9kEsKRhydFO0n6JenGxb56o8wLBqZ5IXtzR/657+8CcOLYlfHtlDNbJZhfvdrXUCRtBMdrfHLxogXODOc363lOVl5JBOy6QFjUkY72wnreYGRkvmsxFbeSfqiVSdI+UjcEZzbKwomMfZHBGCOmCJ6C2gVu5+qeKxqACA96ZLNqYaDQlHr/qHJzBj+9oNyAOzc65s+sjSxACyhvIX0fBHid0uuTqrUCePTy88U8ID/SqNsR9zr5AxiAR4MBZRYsKV7youIFS2m8s2br/Du2GDE9oRxgFJxETwH+lzILR8zC0XAUnAXO8MhY+J+3aGMXiGWVHAyWqL+24uN90+tQ9KpdXWQZfqWBzBJpDDZKL0J4Z3h4h4fBBSTPyJBDVMPo4U3Hgde5c6MIdaX1BW69ldVpGH8oL/p4SZRQxcpiRenFmXZSa1aj7TZpfQHyD9pVV50qDQRKU9V1Lppm/AzNWYxCRawq151IdURoC8cFZwribdkiMBh8Zoq36F2l+T5ffqlLb4HfKmh5M+HOfFBiG8FGyroHZ96fGewui7AE6bEEaR0dirR0nKzff2FfykbQwSC3dmvLC/VVZmhmeuH7OCuXdg10lcosDqeDk1aPb8EQ7Hta5VhX7z5DdFIo2qPam/j6e0h/aihsFDl5kLEW0ngc+LeeV/oUfEplaIPuwQbXvae2tPs0zWVhASpTCEJrEAiugRwFBuQvRTwiCO9VZkHxOyBpXtGydbeoBm1A7vIk/H11atJk5sIL6npfy6zT6Q+ofs+W5kaXM+B74hDx+5QgSbE1LraPnxIiMfw3SQzVrDXh91ysmZkyJlxrvMvBTFFhG4N/GUcOzbZEherR9ISKUiWEtyS1U1j5LOLZSdgjntUlT0S3Q/NYtjQ3rbss4VItzSkX8Kx8CEYLYlEouHykQJks3Msrv9JRwqPcY5xOlzLpdDJAgKuCUcmxkpSRH7Ii0aY6Ig+ZamTlKLr38WN3TSuY9kSUO1c8kQiSyUPYJLWDeg6e2hNYA8pQQYATUKVzQwVmAG5ST0H9jQNYsABKoBqhQvjIKjwE+6KLGMtUFUh+IWabLA7AMTms3SwK9iwRqoJ5UY5v3KCz5JR0OH9STssHdjXnDfQf2F/tBvMjXE2d13am96jLm5dlX7GIWTwumXKNQJDzZatu1OoIBxzAwvhZkSCNHGtVWDDv3NzT2384v3lnf1D5Wznv6ih187gjEA+KYP68zRzx2l7rfdbjra3hV18VOfsG1mkOGwEXovyixtWJYbep6yoPWgWUpCHsGIYhjgEVJ6oFg3PA47lM6YyldOLTI3lPCL6PeL7Xk5yK/jsEdtalydCQqIWqAKaRXvio602XJ/a/Ew7LDcfsq0ai3ghwAr5wmjAZWLMgSKLAsSajAe4dOMABPOV4vAUum501gc/LYwVlL57aFCtwOARQFPZ5KhO54fJyD7QyGVA3PDc3PNS6MR7NmVAi/dP9/dP6CyutE5cPt3NttcTzdpvDRnMUbWOkLC6LNhho1mTNEuD5hqZInSwHnQ4jw2etnRkuPOD2tO1wuwtixcM61qDXUzqopwiziaDmfp5r2VSXeNLdCC1DtEQ/ls6nZPS3sRospbLqqiju4iI3ga5xplDQzoZATlEc/XZGeBgtEaD4BP1eHboBXrJFCdQtkMn5ILoKfLu3g00Lu+Rtu7Ym+Xevfjte3vT01wGfobKC6n27va72yEydYuo5u3BrsKdTuaz86Tx46kxjzwcJe+fw8epn9tSCXDymkiHqb7OhxTdaZi1F28a27+3k6qvK3zsbGPhqJFirLCov3zkHiu5fm/BnfTN0fl+0vrL1eNLp75lcLVbNKuwfErMzKQB42mNgZGBgYGTs9NeexxjPb/OVgZv9AlCE4cKatyHINPsFsDgHAxOIBwBGoQtZAAB42mNgZGBgv/D/BohkYACTjAyo4BsAdroFVQAAeNptU6FuwzAQPacgKl4+oKBwaGB/UWmglfIB0cBAP2TIY1XBpLLClhRtpKAJqLTAfUOxpWps5+ScnF8S6enu7PO7d2fHOGq+ZEtk2E9rKtLaPLK9MyoV39q48S3brN3rUKl9AruCXICxbR5iMkvr5CuGr5HkbH97fVqD2Yu1sEcjvj9/Eb5ihCsT/VVvA/wZcxXtHvOh/i7f9+iEx8WzCr2HOWOdiNPGnDh7KmHtjc+8x5obzinbBWMDtZ5Bl4Vaa8ZUzTDgg3Ec6S3gD9ZPaoaqZ4wDfxd/Kg6uZc4wY6/3wHhh/0nmUUKPbjjjwf3i21zK+oNo+mbs+ncW3YtaGwP9QL0Caqp/qIG8UdTb9eIk7zXkJznRP0LGRxcAAAAmACYAJgAuAIYAqADUAT4BkAGoAe4CLgKSAsgDEANcA5ID1AQcBJgEzgUKBTIF8gYcBmQGkgbOBxIHRgeoB9oIOAhSCHgIlgjCCOwJCAkWCSQJMglACU4JrAnACewKLApiCoAKlArSCvQLLAt0C+YMSgyODMIM+g00DWQNlA3CDfAOHA5eDp4Oyg8YD3wP3hACEDIQfBDCEPARDBFIEWIRoBI+EoYSqBLKEuwTFhOoE+QUUBR6FJoUthUKFVIVlhYMFk4WjhbQFzIXyBhCGLYY2hj2GQwZTBmGGeAaJhpeGoQaqBrkGzIbiBw6HGocuhzsHTQdah2MHbAePh52HtQe9h9yH7QgCCBsILIg1CD2IQ4hjiHKIiQimCK2I2Aj0CRWJIgk0CTsJQ4lQCWOJaol2iX8JpgnQCfEKBAoKihAKFoocCiKKKAouijQKQgpJiniKkgqsiuGK+Ishi0CLUwtpC3gLgwuGi6cLuAvEi9GL5wv3DBCMJQwwDDsMSgxXjF2MZgx3jK2MuQzLjNKM8w0GDRcNNI1PDZeNoo3FjdON4o3yjgqOHI4lDkCOUY5kjmqOdQ6Ijp8OrQ66DsQO0Y7pjw2PHA8pj0sPZg+Dj6iPso+6D8GPxw/Mj9GP74/zD/iQJBBCEG2QiRCJAAAeNpjYGRgYPjGsIlBkAEEmICYkQEk5gDmMwAALxQB/wB42o1Sy07CQBQ9bdGEhLhw4cK4aHSjJhQQRYQt6kJiiC/cFiiPiLSUCpj4HX6T7ty68RuMH2A8Mx0a0m7MZGbOPT33MfcWQAavMKCl0gC+uEOsYZ1WiHWs4VthA2X8KpzCtlZSeAVz7V7hVfIfCqexr/0onMGmvqXwGzb0he878no9xJ8GNS84RwN1mJjCgY8JBnAxon3A7ZIxYdN+5j0kCqQqqZ4RBegTdSUTEDmYo83To7XQ7VITcHmoIMc1k8tCj1+feIuMPfJDegjfEXM43DmyHtks49sYUyniPJLZwZnKeJrIt4ca1RNqRTRXRruiosdc4jU+CoyU5yqhiltcoIlLoqRXNuaXVJgxxV2sQ8uZGrgmI6xltk9loOJNIw8LxzyrfKuNB8YUmi5Z0aEWp2ThSO4yirRO/lF7U3a5wyp82VtRe0eigZyDKadsM+NMKb1IuZhQk3ZradZhrTfM4dCq8WzzNlmP+FbktAt8R4V1luS/JV5+GE3OZD/G9B0wtsg0/AP9pH7rAAB42m2UZZAdRRhF9wRJcHd3hzf9dc/MwyGwwd3dAgmEJUgIwd3d3d0tuLu7u7tD8Rfbs/94VVu3pnb69Ntb92zPoJ7/Pn+N70k9//f5858fegYxiAmYkImYmMEMYRImZTImZwqmZCqmZhqmZTqmZwZmZCZmZhZmZTZmZw7mZC7mZh7mZT7mZwEWZCEWZhEWZTEWZwmWZCk6VCSCTKGmoaXL0izDsizH8qzAiqzEygxlFVall2GsxuqswZqsxdqsw7qsx/pswIZsxMZswqZsxuZswZZsxdZsw7Zsx/bswI7sxHB2ZhdGMJJd2Y1R7E4fezCaPdmLvdmHMezLWPZjHPtzAAdyEAdzCIdyGIdzBEdyFEdzDMdyHMdzAidyEidzCqdyGqdzBmdyFmdzDudyHudzARdyERdzCZdyGZdzBVdyFVdzDddyHddzAzdyEzdzC7dyG7dzB3cynru4m3u4l/u4nwd4kId4mEd4lMd4nCd4kqd4mmd4lud4nhd4kZd4mVd4ldd4nTd4k7d4m3d4l/d4nw/4kI/4mE/4lM/4nC/4kq/4mm/4lu/4nh/4kZ/4mV/4ld/4nT8Gj+kbmUrv0H+zt+p0zMpMZpjZLGZtNmZrdvuzklfJq+RV8io5lZxKTiWnkpPkJDlJTpKT5CQ5SU6Sk+SEnPB8eD78u0JOyAnPh+ez57PfI8vJcrLns/dnzxd/X7yn+F7xnuL7ZeB976u9r/a+Wk4tp5ZTy6nl1HJqOY3nG79vI6eR08hp5DRyGjmNnNbv08pr5bXyWnltPy+5p+SekjtK7ih1Bt6rzcZszf57kztK7ii5o+SOUiXPPSX3lNxTck/JPSX3lNxTck/JPaUkz10ld5XcVXJXyV0ld5VCnvtK7iu5r+S+kvtKIc+dJXeW3FlyX2F/0Rl4DjObxazNxmzNfm7YY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY+hrDPSpr5Hl6W1kefob+hu5n5d9zgPPpWNWZjLDzGYxa7Mx5eh5rj2v51nPs55nPc96nvU863lu5Oh71ves71nfs75nfc/6nvU963vW96zvWd+zvmd9z/qeW3mtvFZeK68rryuvK68rryuvK68rryuvK6/bzyv+fyn6UfSj6EfRj6IXRS+KXhS9KHpR9KLoRdGLohdFL4peFL0oelH0ouhF0YuiF0Uvil4UvSh6UVIzpG/42GGjxo0e8TfXWJDWAAAAAAFUhzzUAAA=) format('woff'),url(../fonts/dashicons.ttf) format("truetype"),url(../fonts/dashicons.svg#dashicons) format("svg");font-weight:400;font-style:normal}.dashicons,.dashicons-before:before{display:inline-block;width:20px;height:20px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;text-align:center;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dashicons-menu:before{content:"\f333"}.dashicons-admin-site:before{content:"\f319"}.dashicons-dashboard:before{content:"\f226"}.dashicons-admin-media:before{content:"\f104"}.dashicons-admin-page:before{content:"\f105"}.dashicons-admin-comments:before{content:"\f101"}.dashicons-admin-appearance:before{content:"\f100"}.dashicons-admin-plugins:before{content:"\f106"}.dashicons-admin-users:before{content:"\f110"}.dashicons-admin-tools:before{content:"\f107"}.dashicons-admin-settings:before{content:"\f108"}.dashicons-admin-network:before{content:"\f112"}.dashicons-admin-generic:before{content:"\f111"}.dashicons-admin-home:before{content:"\f102"}.dashicons-admin-collapse:before{content:"\f148"}.dashicons-admin-links:before,.dashicons-format-links:before{content:"\f103"}.dashicons-admin-post:before,.dashicons-format-standard:before{content:"\f109"}.dashicons-format-image:before{content:"\f128"}.dashicons-format-gallery:before{content:"\f161"}.dashicons-format-audio:before{content:"\f127"}.dashicons-format-video:before{content:"\f126"}.dashicons-format-chat:before{content:"\f125"}.dashicons-format-status:before{content:"\f130"}.dashicons-format-aside:before{content:"\f123"}.dashicons-format-quote:before{content:"\f122"}.dashicons-welcome-edit-page:before,.dashicons-welcome-write-blog:before{content:"\f119"}.dashicons-welcome-add-page:before{content:"\f133"}.dashicons-welcome-view-site:before{content:"\f115"}.dashicons-welcome-widgets-menus:before{content:"\f116"}.dashicons-welcome-comments:before{content:"\f117"}.dashicons-welcome-learn-more:before{content:"\f118"}.dashicons-image-crop:before{content:"\f165"}.dashicons-image-rotate-left:before{content:"\f166"}.dashicons-image-rotate-right:before{content:"\f167"}.dashicons-image-flip-vertical:before{content:"\f168"}.dashicons-image-flip-horizontal:before{content:"\f169"}.dashicons-undo:before{content:"\f171"}.dashicons-redo:before{content:"\f172"}.dashicons-editor-bold:before{content:"\f200"}.dashicons-editor-italic:before{content:"\f201"}.dashicons-editor-ul:before{content:"\f203"}.dashicons-editor-ol:before{content:"\f204"}.dashicons-editor-quote:before{content:"\f205"}.dashicons-editor-alignleft:before{content:"\f206"}.dashicons-editor-aligncenter:before{content:"\f207"}.dashicons-editor-alignright:before{content:"\f208"}.dashicons-editor-insertmore:before{content:"\f209"}.dashicons-editor-spellcheck:before{content:"\f210"}.dashicons-editor-distractionfree:before,.dashicons-editor-expand:before{content:"\f211"}.dashicons-editor-contract:before{content:"\f506"}.dashicons-editor-kitchensink:before{content:"\f212"}.dashicons-editor-underline:before{content:"\f213"}.dashicons-editor-justify:before{content:"\f214"}.dashicons-editor-textcolor:before{content:"\f215"}.dashicons-editor-paste-word:before{content:"\f216"}.dashicons-editor-paste-text:before{content:"\f217"}.dashicons-editor-removeformatting:before{content:"\f218"}.dashicons-editor-video:before{content:"\f219"}.dashicons-editor-customchar:before{content:"\f220"}.dashicons-editor-outdent:before{content:"\f221"}.dashicons-editor-indent:before{content:"\f222"}.dashicons-editor-help:before{content:"\f223"}.dashicons-editor-strikethrough:before{content:"\f224"}.dashicons-editor-unlink:before{content:"\f225"}.dashicons-editor-rtl:before{content:"\f320"}.dashicons-editor-break:before{content:"\f474"}.dashicons-editor-code:before{content:"\f475"}.dashicons-editor-paragraph:before{content:"\f476"}.dashicons-align-left:before{content:"\f135"}.dashicons-align-right:before{content:"\f136"}.dashicons-align-center:before{content:"\f134"}.dashicons-align-none:before{content:"\f138"}.dashicons-lock:before{content:"\f160"}.dashicons-calendar:before{content:"\f145"}.dashicons-calendar-alt:before{content:"\f508"}.dashicons-visibility:before{content:"\f177"}.dashicons-post-status:before{content:"\f173"}.dashicons-edit:before{content:"\f464"}.dashicons-post-trash:before,.dashicons-trash:before{content:"\f182"}.dashicons-external:before{content:"\f504"}.dashicons-arrow-up:before{content:"\f142"}.dashicons-arrow-down:before{content:"\f140"}.dashicons-arrow-left:before{content:"\f141"}.dashicons-arrow-right:before{content:"\f139"}.dashicons-arrow-up-alt:before{content:"\f342"}.dashicons-arrow-down-alt:before{content:"\f346"}.dashicons-arrow-left-alt:before{content:"\f340"}.dashicons-arrow-right-alt:before{content:"\f344"}.dashicons-arrow-up-alt2:before{content:"\f343"}.dashicons-arrow-down-alt2:before{content:"\f347"}.dashicons-arrow-left-alt2:before{content:"\f341"}.dashicons-arrow-right-alt2:before{content:"\f345"}.dashicons-leftright:before{content:"\f229"}.dashicons-sort:before{content:"\f156"}.dashicons-randomize:before{content:"\f503"}.dashicons-list-view:before{content:"\f163"}.dashicons-exerpt-view:before{content:"\f164"}.dashicons-grid-view:before{content:"\f509"}.dashicons-hammer:before{content:"\f308"}.dashicons-art:before{content:"\f309"}.dashicons-migrate:before{content:"\f310"}.dashicons-performance:before{content:"\f311"}.dashicons-universal-access:before{content:"\f483"}.dashicons-universal-access-alt:before{content:"\f507"}.dashicons-tickets:before{content:"\f486"}.dashicons-nametag:before{content:"\f484"}.dashicons-clipboard:before{content:"\f481"}.dashicons-heart:before{content:"\f487"}.dashicons-megaphone:before{content:"\f488"}.dashicons-schedule:before{content:"\f489"}.dashicons-wordpress:before{content:"\f120"}.dashicons-wordpress-alt:before{content:"\f324"}.dashicons-pressthis:before{content:"\f157"}.dashicons-update:before{content:"\f463"}.dashicons-screenoptions:before{content:"\f180"}.dashicons-info:before{content:"\f348"}.dashicons-cart:before{content:"\f174"}.dashicons-feedback:before{content:"\f175"}.dashicons-cloud:before{content:"\f176"}.dashicons-translation:before{content:"\f326"}.dashicons-tag:before{content:"\f323"}.dashicons-category:before{content:"\f318"}.dashicons-archive:before{content:"\f480"}.dashicons-tagcloud:before{content:"\f479"}.dashicons-text:before{content:"\f478"}.dashicons-media-archive:before{content:"\f501"}.dashicons-media-audio:before{content:"\f500"}.dashicons-media-code:before{content:"\f499"}.dashicons-media-default:before{content:"\f498"}.dashicons-media-document:before{content:"\f497"}.dashicons-media-interactive:before{content:"\f496"}.dashicons-media-spreadsheet:before{content:"\f495"}.dashicons-media-text:before{content:"\f491"}.dashicons-media-video:before{content:"\f490"}.dashicons-playlist-audio:before{content:"\f492"}.dashicons-playlist-video:before{content:"\f493"}.dashicons-controls-play:before{content:"\f522"}.dashicons-controls-pause:before{content:"\f523"}.dashicons-controls-forward:before{content:"\f519"}.dashicons-controls-skipforward:before{content:"\f517"}.dashicons-controls-back:before{content:"\f518"}.dashicons-controls-skipback:before{content:"\f516"}.dashicons-controls-repeat:before{content:"\f515"}.dashicons-controls-volumeon:before{content:"\f521"}.dashicons-controls-volumeoff:before{content:"\f520"}.dashicons-yes:before{content:"\f147"}.dashicons-no:before{content:"\f158"}.dashicons-no-alt:before{content:"\f335"}.dashicons-plus:before{content:"\f132"}.dashicons-plus-alt:before{content:"\f502"}.dashicons-minus:before{content:"\f460"}.dashicons-dismiss:before{content:"\f153"}.dashicons-marker:before{content:"\f159"}.dashicons-star-filled:before{content:"\f155"}.dashicons-star-half:before{content:"\f459"}.dashicons-star-empty:before{content:"\f154"}.dashicons-flag:before{content:"\f227"}.dashicons-share1:before,.dashicons-share:before{content:"\f237"}.dashicons-share-alt:before{content:"\f240"}.dashicons-share-alt2:before{content:"\f242"}.dashicons-twitter:before{content:"\f301"}.dashicons-rss:before{content:"\f303"}.dashicons-email:before{content:"\f465"}.dashicons-email-alt:before{content:"\f466"}.dashicons-facebook:before{content:"\f304"}.dashicons-facebook-alt:before{content:"\f305"}.dashicons-networking:before{content:"\f325"}.dashicons-googleplus:before{content:"\f462"}.dashicons-location:before{content:"\f230"}.dashicons-location-alt:before{content:"\f231"}.dashicons-camera:before{content:"\f306"}.dashicons-images-alt:before{content:"\f232"}.dashicons-images-alt2:before{content:"\f233"}.dashicons-video-alt:before{content:"\f234"}.dashicons-video-alt2:before{content:"\f235"}.dashicons-video-alt3:before{content:"\f236"}.dashicons-vault:before{content:"\f178"}.dashicons-shield:before{content:"\f332"}.dashicons-shield-alt:before{content:"\f334"}.dashicons-sos:before{content:"\f468"}.dashicons-search:before{content:"\f179"}.dashicons-slides:before{content:"\f181"}.dashicons-analytics:before{content:"\f183"}.dashicons-chart-pie:before{content:"\f184"}.dashicons-chart-bar:before{content:"\f185"}.dashicons-chart-line:before{content:"\f238"}.dashicons-chart-area:before{content:"\f239"}.dashicons-groups:before{content:"\f307"}.dashicons-businessman:before{content:"\f338"}.dashicons-id:before{content:"\f336"}.dashicons-id-alt:before{content:"\f337"}.dashicons-products:before{content:"\f312"}.dashicons-awards:before{content:"\f313"}.dashicons-forms:before{content:"\f314"}.dashicons-testimonial:before{content:"\f473"}.dashicons-portfolio:before{content:"\f322"}.dashicons-book:before{content:"\f330"}.dashicons-book-alt:before{content:"\f331"}.dashicons-download:before{content:"\f316"}.dashicons-upload:before{content:"\f317"}.dashicons-backup:before{content:"\f321"}.dashicons-clock:before{content:"\f469"}.dashicons-lightbulb:before{content:"\f339"}.dashicons-microphone:before{content:"\f482"}.dashicons-desktop:before{content:"\f472"}.dashicons-tablet:before{content:"\f471"}.dashicons-smartphone:before{content:"\f470"}.dashicons-phone:before{content:"\f525"}.dashicons-smiley:before{content:"\f328"}.dashicons-index-card:before{content:"\f510"}.dashicons-carrot:before{content:"\f511"}.dashicons-building:before{content:"\f512"}.dashicons-store:before{content:"\f513"}.dashicons-album:before{content:"\f514"}.dashicons-palmtree:before{content:"\f527"}.dashicons-tickets-alt:before{content:"\f524"}.dashicons-money:before{content:"\f526"}
\ No newline at end of file
+@font-face{font-family:dashicons;src:url(../fonts/dashicons.eot)}@font-face{font-family:dashicons;src:url(data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAGBQAA4AAAAAm3wAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABRAAAABwAAAAcbYyDmkdERUYAAAFgAAAAHgAAACABIwAET1MvMgAAAYAAAABAAAAAYJYFaatjbWFwAAABwAAAASoAAAKC/cQq02dhc3AAAALsAAAACAAAAAj//wADZ2x5ZgAAAvQAAFSXAACESOAO2gZoZWFkAABXjAAAAC4AAAA2CEgozmhoZWEAAFe8AAAAGgAAACQPogifaG10eAAAV9gAAAEcAAAD2GOq3ltsb2NhAABY9AAAAe4AAAHu4pbA6m1heHAAAFrkAAAAHwAAACABSQC1bmFtZQAAWwQAAAGKAAADLCbHbA5wb3N0AABckAAAA7UAAAmnz3C/rndlYmYAAGBIAAAABgAAAAY81VSHAAAAAQAAAADMPaLPAAAAANCh83cAAAAA0KztU3jaY2BkYGDgA2IJBhBgYmAEwq9AzALmMQAADtEBKAAAeNpjYGY/yTiBgZWBhVWEZQMDA8M0CM20h8GIKQLIB0phB6He4X4MDqp/vqqzXwDxgaQGkGJEUqLAwAgAMrcKp3ja3ZA7SwNRFITPNTGy7N3jglosWCxIkHRBVAw2q6JJQEWMILGQ9dHEKjZCwCKNhZ2t/8hGG1EwWKuVOvehjbouCVhYWzlw5jAwfMUQUYZ6N0oidRLHaRLdnBVx+jcoon4azn/AwRACjKGAIqZRwgIWUUEdO2ighRMllKMCVVAlFal57ehAF3RJV03VbJq6iU3DtMypObdZ69jAjicJUUol+BhBiHxKncAMopRaRg0x9nCItiKVUb4KVbFLFdrXoS7qyFTMWpe6a5qmbc4s2Zz1bZgknYHBLH/xJ7/zG7/yCz/zEz/yA9/zLd/wFV/wKq9wmed4lqd40jvymt6Bt+9ty1huybqsyXW5LJdk5HbcO/favewt8/cSOfpBi77U+n4X6N/rG5Q9gGkAAAAAAAH//wACeNqsvQd8FGX6OD7vzM7Mbtpmsy1tN9lsS9nUbSFlEyD00EKLBaQsPWAUaRJQMSIqJTZsiA0Re1TkLBxnO107clFPDz3Uk+PUO/WOrwdJ9vX3PO/sJhvE+973//lnM/O+887MO++85enPM5zIwR85xR/iBE7iNFwKp+W4Sp1NJ+hterOO2JKJTk9O9T5CH4s8QneQ6Y9EHuEPRZvIDdzPtOdnQqMfcj8TD+W5nznCJfxVchzPhbmo/ILUC3X6OU5DgiFiMluJ2SoEghoiS4Y8YjLIabwswc7Kh0gwEAzxwUAVlFcFxf3R+l1Z626pKX1gWknd7JYVNdGHovVPWSzLLJacUYtNI+y+KRXy2CWXXOIr8KY2+3It0+DUNIuwiX91V26q3WXdUpaZa0slKdGH+FefYmenW3ICY9Mr7b5LLlkyVq6Y7Cto0q0cmcPq5AjxcBGpUVZzGdAntiqTUWeQSgjR2Qtcfp0vQE4JnS1r1rREaEoEUlm9piXa1LKGppBTa1r4Qy1r4LUF7t9QxyfSR9CXaawes6whbg3xe0UC3Yqb1HjHsuj66Ppl/I+kKxLdz7f2TRHyabtq0x3L+GtZOW2P3Bl9OPooP4NqySmaAvVGuF1ym1zDZXIurg7qNaVrSRpxkwYS8LldBVpCXAHI52vYsSQTyWA2BWRikrREyne70htIiJhZaZX0j02b7mj5chmRmpsbGhqebphIn7AMa7n9CrKw/1velJdX0JoX/RaTMrLHiifo7iuUW+j8xsaGp6VDWHJ7yzArESc2QwWNjc30iWVfttyxqW8WVHB+Xj5vjX7D0jfIPezEpk1k0Sa4xULnNTzd2MBxKpgfYXinNk7P5XBFOEeIzucqIW6bbC+QoPdNXltVgKsyGaQCl0+06Vga8FaZdTbo0IFD0VBb9NA1tP2ah4pqa4uEk0W10cYjN9105CbhIDkFyU1LzDm0B/pUyQud/KGi2kiktijaBDfwz2DxEVXfiSV4j0jOUHkpvZ8dcPzAnBBgRDkcPtFmtOm8fKtwsu+AkN+fGSGnREPvd+GIaMDx/4Y7If1FOsmp4Z0cOOvdJICzXgwSOY3YbbJU4Hb5GuBNAxrljEzEPHroRdKUfaHLndH/+gXCNWurvp1HOzo8HR6Pp6NekEhTFp7LpoekXOVSvdt1wdvt/RumV42Ai0o2ejpI59xTdC+cyoBT2fRFWH8R7nUpKvVzRs4GbZdUboI9FiSujGDAYdbwJgkXGps/sBqlzgX0H5dHvxp/9Jbx/Dafb8EcolpD/0yyibWoune3dbrFarVMt1qEnxf4fNHLxt9ydBxvvZxkLJhT7aF/pidI3uqfo3kWS+xCTiAe4pHV0l5Y/yXcGGV07bbBkSVeHNoSYsSBrCd2HM1a7BhYevEjPx5Z4leyIffL6tqi3u9wrEVDUW1/ZhizYUuxZSBDTp2jrEvVjfm+KTjoltqW2l1Gi8W4CzK8C3P0/sSy6KeYY+CR6+Lul0fLrTCiHIFhdEm49MwydKcKupK4g6YAri6V4SDf8ZtJr4ya0KT3/eZHejJAPwy85SfmH6GwacIovXT/weg1B336URNGvTz54I/0b4G3AqQULvgnK2x6BeabAebbIZhvmVwFPLugTFVOXCHBWwXzJE0UnJBaSJrKXlDGl0PnhIhXZbpwasCTpRMESSppWBRavLUsjah0mSX+TST9sj9s1Pof3PvlwkVfPHGj233ZB5ervK76cePq9frg8gUTStc8MlvOGjN8yjD614Nbjq44I2rd1kyzrSAl+Uz7e5sVGB6W1dAeN1cOb2+XZHhvSTba/C637A663HadNxB0B82BoN9mNJmDZtlk9nJVAZ+rQDLI6k+zg3cevbN1Me1Z3Hpnz53BzE8/MQ+DkhltxMNKhpk/6a863d19ulvIXz4TzsAln2YG4UzrYlK0cDaUBHJiJbMX0uHdeC1rV0QukKcCjIVR4UwZgEVUbkEUbG5lemdUBfysDVLDS6NGzW2nb259kX64i/aEhZwxlavmEr585aRJKyfJZS9RSn+e2+5vpM/m0W0RgdxAGlbNHRU9Pqk6CFfgs0ih3AbzWIcrmlSpzHIZzE9J9mqIN5Dh0Bc43EErzNFA0K4h9jRBOHkn0c1/NPTCsrt/LDhJ76f3H8l8hZQ+fhf9YaCUzCFzjmRsOPi9tHdT+6stc1+7lbaTrv0kY09vZ6yAdNH2TZ/dO5tDWBmB91XWUhas5qJfriYuX2WWVPkOd0DF3ttURQBS+eHH1stWtl7WwXoJkhbi27CBvkOfoO9s2MA/uGbvmjV7Yf56ercSj5CPoA0v7s+EvTBuz44de2A7jhetie4Ph8PQnlQuAmu7DeaFFqC3GcYgD2ZICcyRIFfLNcBqn3CO9W7T2fTQJG9si0P2ILTTCeeGHMN5VcKx3Abv4GDvcKyottfBQC7xKP99K4otsMIj2GF8KyLM/mhCyaGhV5AuBBsxEKL6BAo8EfZHUyzsqnAYcLonnocTsSy8N+KDsLSX0QjWoVSCLUYluIOwMGCVwFIAiuFkjGKgPZAR9vb2huP/SD/0H4/TD0J+y5r+JxJOIy7hYMyPwLNk6OU8xCV6ux5oCQcb3YBPcJrMLnuBSnY57AVyICicjJrKIhW3CCeFk/3DW2oBioX50vZMX9Eh+vLs2fTlQ4X+zHbhJCnuO6haXYt9EWavFv39n299Vn5+9+7n5WdvVXCePFJeA9SgDikYINIQ8dmAfkN0Jkt3bLdYaEvfAVXJAeu06F/5rB3Rk2Pk1u1AY9Gp/cPEYwcspP8mPnNH9K89HNCV8AfvcQRmip1rhZW7jGuHonS+jDjyVWmET8+wEpi5IQJz2JSRzuM0dkFpgNGMLlmyF7gDDi8sPJdkNAAFaTKbAGkAzRMiCHjZFS4AlJIpj+g1JKRyw3leQ1y830f0eLt8ZOHzP9H36Qv0/Z+eXwh5UklGk8qfnu97nawkE3/cseNH+gy9iT6DOVJP319qSNMbr5pu068k89+7k5jbfLPNpmxRqGrIz6c/Gl1qtUFrMGyebl9qdxggO72dPEdEQW3SyElzPuw9Rja99T9C8derNy5eLIxSHrXwrCaIs4Y8dCJrSF+R4Ffz3nKSRPa9snKBPGG8ZXhhkVqctaXueEsL/w+iVgl80EeSJV4g/iBR0yPRXP55Oaul5cphj/zhT3SbcFPfyQXk2m+foW9HdxZbOTE2Z9tgRslcMluxHK5FAhB7yOYR1/VuVTX3Hwe6hm18a3S/3Hb6tLgO1kTP4AYwcQbpkkU5DWiLEqjN5y4DvJgRdKepzAgJgwHnL4uEmWOrHh+X9d59D8x/ds+KqvTsrx65bd584clzlfIfbb6wwZW+kwyf+pfyLQfePXPlH/pbW3edqxCnlzhAS6qA8krh0vEd9UBv2wgAErbBC2qIDZBZdH/fFOJRdfdNUXVH90f3C/kIMeS2vinR/eIxeMF2BACYklNYN59Ap7oQBxZIlkGuwMtAwAAc0JFYuaq5Zep1tAc5hRa+tWUNbggJesKQiut2jH+O9hDPmhZyCstpO2wpAAwGymDJMByHz9UAvNVBT2dxFi4f3wuf5oSHiIJXb7MLXhLfYJlqeCBYi2pPn64lz0fCAKbDkTDQQ/EdAvlTyrjWFp15iZdCRbVhfOzgBnTtyf5MoZO203ZG/yjvH0YYRJwBIMfgVfNd6YwSF3Vp+MrKgS/Av6iaVFj7Lv383XdvHDexvyMj0nkjy1ZLuyNSQ0mk7x9wTAretfOrIv2dVz7G8kJtoT+BH9AyjmB4/E0Nkj0OXOH9uDh284Vk78C5KqsqD9Z9lZU3fyGl+caN8535J+zFf/du5Q8pCO5+IiYZLWU1LRUKbiuaWOOzZ0mSKr26cUn74pHeZLktdpsPqzjzEi4HoZchPtqjzm6Z0jZ7zshihheL+EOeMTNmjDGZUooWTx4OJcb4XIkwvKhn1OJZ7fcCnuPyA+mufCldPEZcnlDIc+Yd3BMXUMtd9CbS/M039MA3UmPI07egtKmpVHW3JxTp/e4b5QQ+Q4Jn7Brgm+yw/ryAczmAnVbekMYD7CzjfSE+I0aDqc5K41hWiqVCDrmT1Lx5pc935Zv0dbqIvq7k5Y7W1o5WPjsxiUos+R3DLXLbyFUPv/DlCw+vGhnPRO2t7IKE/+hmlrTX4j3AY3eRUwx/JivcVPwn7UUcibgQoJAhnmO8r8KDKfeY8S67H1kwYML8QaPdaPfb/V6gJ6S9sLj6O1TNgLIBaYdFA+D1cK9D6Iyw40gE+XPkSaS9QEcpsBBGyG/DdgiYKvCvG3g6zIjHIv2ZuFKAc2Qw5qx7Y3BUuR9THeYH6hE6sTGDa2pIlYzxx///VK8uVncRieVZvVibuK6/A2kUzLFaWWVYcazOX3vPrIT2wRr/xWsSJP/EdeI6mMmchscjAIrr6Aq6iiP8ITh3TNWtnBOPYSmCUL41ds4Qv080YCmQYjeT7ezcIfEYsMfsHJBjUIrXR/f/x3OyQvPKNdAfeYy29DLqkuEu6A+FM1RSo82IJFE9wSkuJuSx/5w6O+yVDVad58xLxAOTknTBrr9DIe74Q0pKuqCHuyJ8K/5LjdA968Kh1tZQmO17kSccuutdhQMdRqFYfEOYCW+/QHKKjyD1Q8zEToJm8Z4t0b9uoUe3fCs+MidqJjduRB79j9wfpdPSaQVjAW8xSP/4fRkOwCfCyXtJwdGOjqP0c/oS/fxoRw9ZSu6KviCdHizqOEoK7v2QLD3a1yao6RUc4/0jjG/TMv7obLqKBzJS1hCzhjDipPCjK674iP4RSJM/Yk74HU5aWE6Av3CSRRROPvESUshu6/fiqcjQy4fgTA2+l4aIRIBnESfRi0TvFPXEKZykPbAQ7r4EJ0o72Q0TsOcb8gF9ZRb1UM8s+gr5QG6L7p9Aq6JLsVb+NvLeBLKOltTQ3dHoN98A+ROu4RLwEz6LPQkoQFY/8fCtNNyOOP4SuoBv/WV12E4sZ/NPxJlFiggBCigToQ+0MAVmMowp60/kg9u4NIUHNKUzqhInYojoY7ym0WBGwYAJOUFiEl/bcvjwFptzGeDTFzQHrpl99dUvXJ1DD9uvyRDk/KespKlCbvsdPXVYvazvK/HYjXdF/9R54ezOztmBSrjotQzVBrgEAR7ZT/ZLhVIRW8eKODGoQVme/k/0EXrLe6SNPvIpmUXa3qW38GveIyvow+zwPXoLmfkpfZj7X+cDlx8i6WUkP42km841IchIkn5iy5YT9AfYn3Mi9C3fcmLgGoQ/XTG5mRnWbim02zsUEzI5T77JKOhYx+mIO0RifWgyy7DoBjjQojDivgjgYOJxuMthzZa7HarmmPSuCGV5xLPvm2/24SRktFRPtOnjjHEeXLCecRkfD6UPkYZyck3cxKFtqieJ9BxCmAE6IyR5YZiBssjDLFIYgILYbUap8bWS+vqS3lMl9SwjppTU936nau47QE4xtEfyebUlPzBsYlF/R3WLy0QIEVIzbO7agvIJRbki/1K4vqT/SqlRqaO+5DWljvqSvumqZhphOJT2JDmWXLRq2jCkx+Gl8vJU2iJXmc2MREe0AmbrlSX1wJxqEugnM6MM3AxmIj/OBYH/9ifw4xkx7I98Nv9f5BlNiQQj7CMM/Yvr+g78+B9z4dqiwbukRkYB1AKb3f6fcoljNfgenPNsaUe8bTA0fEJeoWrxofjoM33naFbiq0ii8lxEV/3HB/Mcp/Df2I4jwOsbucyh9AqyTzAPYKKY8aFAKvf0H0fZAgCdQ0Bzo7wZGAnSJeRjFlNG4LWzc9EmoGzwLMcpcnCFP06CJ2VyuchjwET0F3BGuyb+UJElKCbhD7268/aT9IeniSRNpylIaQj5AEkBENMUoNtPiseuu+Mo/dtn9HH+q96tNEU4CTRQtAlYD8Cqv/I8DTySsxurTCT2dnqWCEia1b5KGon0NP3h5O07e4uwNqyVIYUwPo0+TqZ9RsxH7yByfweCTiShsB/6O+J9qWJ9eQTGNJnpRYBYJkYFjePeadOgsEq0EfkI7YHae5BG6TvBH6L384cQCdP7oc/mqJojyJhGkDeNkK7omnAvY1Fi74RjhfSTUn8M5wOdCK9h1wkaAQYK7mM1VOGdMConabu0N/5AxAv4MCACs1FqhzI6hs4Bx0S4o3IStN/MdC+yEyC+24U/uw7GqApFEtKLkyfTb4JB3/x5Gzu346u/88LBrdcLn79Al7ywunP7js0b58/zB+FZr5BX6EeTJ16/Van7dahbHas7EISfF+sskCX8AVIRXenECFcffOEdpIy2d3bMn+8LBuk3k4XP4QETJ5NiGqIh4gn6583fuHnH9s7VL5DbGT8C3Q/ELMDhdDaDDZKsQ8GJrgwl6/kmFRMkuQrEdQ9fHa6quvphhLXR/WwhiOuu/6ggeqcnnJsrlBV8dD3A2Cy2QNjaUNaoekAaacNFqEB3JrpHOArUGbHFV6cjlvKtQmccuEcwQzxFtUDyt/d3tDN4JxxTWI5D2AqYbizB+duewFbE+KDIWTJI+7l5RiZ1RCo9lg4FAb1bUYwo5KNYAJKh4lKFkBfywwqT3K6kMboDqSLxGOP0rKjGYM/0BYK4A344xDCMQXz3moPv3tifeeO73Zulm5ZUllX97tJ93whfp71+LfLG17ymy85dcpN+wbpv9lUofUuuBZrkDwDRzShdAZ7fLMHOHRB9OOXS4FFIY3D5jmAZQVEXcON+XzCNyCb+Fb6Z/OXyy2lu9ADNvfxy4X98hbr8yqZmf2ACtZGT5K6lo37YveLv9Om/r9j9w6il4h/o0dOn6VFSdvq02tOUwvOqcV5/c3P0tn8e2vBo0ep7Hvr73x+6Z3XRoxsOKXh0kI7QM86z8ZdyXjcsOpENv13nNeI2OBoc431N+YLZquh9sLuG9ngYl2BfUJWd5wnDnyev70SexyO0Il8M03PfxGATEANNQVyxTI4buxOu3AgUKO3ZCJfn4e1RPsZO84dWZYbrkTioD2eydUEMhEiHpMOch6vGFZ0hK2LF+E+GzpSUBR77SQ63Kz0YcKiEQLrblS9L6WZTvurwDa6lQpa6oDykqrdV2h1mk0oYUVFZ5fN5K20evjQ/M9NwJ7198733LiM5JMe+aNFi+vmixYsXkQKp7Aa6/h7BJOXkl6hKbZVINZZWjBAEk9Flr7TVCQ1l+VbDNN9V95E37102YUI0ezGxLYY/+ufFixHm/YJvHMBQQjztRO6NcYWYqJoRfOCmiPYYmwXrCHgdmMfrEvhPs1KXE2AnIgKg1uwDUsJTwsne7yIAg1Fk3qPUAosaQHI4XqnC4uJSAYQuDehQtQCX8xg+L1EghsK+eYGErjKJtjLoE2KLL91Erk3VjUCi9zsEFrqdB3bSq4gnfcb8GXQuEoL9HUgCAjbFf6AzisJAPc689NKZJcOG0YdjRORQBk09MI/xndNjsjUbUIacM8bNw/srCmazHxaxM8aPxzdZjeIhFCH2dxAPKqWOo4wPcUp8w5Pw3nCdAcmBng5UckUia1pQtAgUDwoauThtzsZRUvAWMoFGfPwgge4QTu4kwosXw7gduvhFGqVf0uiLF1/8IhGEk0rJTujzpp3xUgBHcDXH7AYG3zNZebt4v8pq1g78x2Yi2YqjyGgf4N094jGpEXBpLvYKNKcqqOA8P1LqbpdN0AGIQ+Bjl71VRoMslQDXS15/f+06r2/VjEWrV9Ho+q0rfN45S3bd+0dv1fL9wE5/F17w9KYJzTka7a7LHps0ORoltnzb+Cmj/3TfBSUI6Qh5B+a0Cp6LvI6deGVb0EvsQZv4+of0ZE8oOjv0Ecn8MMQ/gCIQmISdOL+62DpoZG+oZxyHHXWnLpQMGFB7xP9aPszQSRhB/KFzZkWDIr4C0unsDJPFwbOz2dihjNYHsGQxt5zJqGQzIHIZKBujTfDb/UGG1/0oFLcriN2MeJ51IB5qiZFdCh0L55VzRqYcj18D7KbLbTR5B4YBrjHjO7SOuqqwLCWDJ7nY4A2PeavTjJqk9LQ6u8WkyzLmlGYajZnmlFRJTkkuX0B24lVXOZ0Nk4KFOXqDscZTkZfnzTQbjMU51qycqqYpxSXZWZWFWearlA4gXYu9zqSMYvqvSDj6+GhVhU+fbTbn2mCThJQUc0CfnJSckqnVputSK8M1r4bpJ2VZ2YV1GaJclpc5IiXFkq/VquXU8SabrbYwM1PiNbm5TWGAwQ7SJX0K42ZgFMSgwoDnf6lEGCgTnq0vuSVkfPL6G5a9eMtYnenVG6+cPk1wDhbeDIWvYCG/75KJflva5SRj1Kve3W/T6NYDH08Yf9UlEwP5ZxdyvwJPz9KQ4GqPy/ZisjNcPQPbf1MHTNzjqmZFz4Lp/5c6pL1AknQinoylZ9dxbpkiQjY/UwqzjRkj7VUkiijth60H9QM45Mi9KFpRhOSMyI7L49I5K+fiarhRwEO3cnNQGgIYM+hS5jUjTYJ+SZmwQJUEiFewC96gV68bMncxY5f9A9NbtMMKgYrEeEkJYWIqqcJhz3bZJ10wc8TwgoJtna1j84tdjvNKyysq+59YcnzZ8cU1Xx/9ZGF1tTV3eFVubnVg45QZTZY8S249nfZEwKzRqjVky4LGgvz8vNASmoZWXGFk1aRDyWrdVLfTOabpolv3ZE9P0qiHBdqX1tVFmXpkH3k6ur/M01Jnt6eoNHand5LDcXqfPqOkzGBYtHt4qS87a5vZXObNzIy+ACxWfhg5MKSPYjYvIut1I6MNZb1T1hURnVvUMwsis1MwF5GgIAZ1fOvGL+h1GwHBdW2k133R/wbf2ndgI1n7xUbarure+AVZu1Hai2c24ijgcf8Zprhlt8Uu5ACDxWnhRByeM4Bt47LThtgsYLQwytGHbuc+Z/MLbL4ox6gPlPaiDDVCTiX8d51VDIxvShinOB6g1g2wY4rCAUcG/oBhhQmMWA0wc+tAaY+SIp12CvkXoLFNXDZiBKQOGI+hM1iFqpDg17ElFdm2dNmtkazhC+6J3LdgRDaszmPR3++8a/c2vj76bP3aDbNrhl1w+dr6KAoYVANjNLC+9PCSiT+GD4dseyPxJmGbyCnxbwzfJKEUCfGU3ua26cWSw3QBLMBDy8n9JfTlW4ETRlGQ505yYtCGA8ZIBFxhR/seDdNMxjU1ivWbGYqCCfZvRLAno24vh8C/6iMiAW+tfpUxYkJnbdGdgb4pwbvitDP2XDh85KUIKkHCgOB7wmFc3oyh6zOiBVTD3/8RillBCeOYICIF2OwUTBV9Z2I7tYD7SxPaGRPROX8hzUOLIIHpZby6oY3kr7lrkEq/Kwg0Uf9xmAKDbaspxjPFxdio4pqaYqWRf49ejdMDmhSzwZO6YQ64mT2ChRhkIhWU86564gsSRKNo9lhOEAYRZldaJd66sr4+urTuibqLIcPfVjdrZj3l+c0Wy0eWkmJLdBNmZkjixXWzembVRZfW169k2Xp+V319XwQunG79yALXWafDhdgvOkZnNDI91K+vr5Ex2xcGYnUM1MZXE0qL5VhePCv9T+ekRiSzETYjVdafGRZOhsNoiQMpEN0D+3OVyepwuNcRDqMGP8wMW06xTGRgd64ytIVl+GMlw8wKQE5jg2xD0A0MkA04IJ0B4DW+KHChDNQLJw8vDI+yrZgCa33nTSPGP7gPCNUvHnxwXOgWehPfOn2ldWR4gXigre3dl64NLfBGIguvueMgSb7rrrt309PP3r55WSQSDIeu+e17y9uQRg8n4DCUGiEMsHIFCj4UYZPtfjStdSagRnsshTndjugxHEFaPCKc7O9AIMOUNYDq8mmP1Bhm1j0RFPXEwY6ygBjfomZaj7Zfez7auxEvPt+e+HzvgDEF4BkEd8zmKIL6dGQ+ENxBMS4BRNph9qxfacAQPZ4W5lg9s5px2AtUEjAFJpW3ykHs2O/BOD4tkN0JRCVgYyEmimAlBdLeQ/Tw4QEuYedhMoKO3p1pGlFvMOTmelvbG6++ad3YMZac6cF07c05Pm95bk5OzlyhmHSQkS8OMh4vkhUl1cXuqpLcbIfTqB925fiamnkjSkvrC80mO307u7yqKju7ojwrJyYz4A9IfxTNXBM3iTuPmw00MswpaLNRIWrtMXTvt5vtbrtsD9r9QC6YvTHaQEu8ilCsyiy73AqZAZMOmHQie9049dyS0+iNdwFUYxTddqNCbEhlhQW2wtGtV4+u1czJCA5b8PH22Ytr/1KzZPbsq2cvu/Dpp1aFgjnqq9RmR6hx1uxmpDQc0yrsGuKkn2jspX0nMhYb+WRVCp9Gnl7rzsq1WkfSix7nfyu8tKQuP0+QZTl1evbkke355VPKSnt7H3qoN3zmTG+RY6LPrglVjLE7XVNTU5JrPSPDE4urybhAvViQUpRUW/uAoNWXF+sz6GlCCL/fnFlVhn2l8KWKniIXoEsBF+CGcXUMb6PFtyS7G3jF4FtwK/bevBdVa04SNMsxO2+zVjHzDooaQE16DRGZwXdpw4cPx+29m/cOzytDe+/eVpQdR5g+mln8HG8cf71i7n3Dt6NuR2PvBuEMiguQsEQhuZAv/YNZf5flDd8bN/5ufvijBs8dmxBOKbZDjH6MvjHq2xsUw+/rxzfewS6drNQBC6ALHhp7Z9LF8HEq0EuonSmDtw5xoxGKBnQ+3uXIhwlvTI/L/FVnSRQ1MbvggYJ4OqDCWac63j2otOL/zRATfVRBohcoRxPIVLTzGMOOVN8qhYpagnT9iWQ9EFeKPUD/KnzIyrcrCgP2T9PJG9H9KGKa8XFi8Ym4yDRux8DgiQ45cTvQWiHg1ANBXRop45Fs8kzr+eQ4XTntuz///E5EPNbrQMFKLrFY+Jz+43Z1QZ5agQldjN8d0O2jKF3ZFN1+fJMaI0wiFok9n2+V9jIdvYg4XQdTA8siSO8KX5Ob2cChqh+u7SKE4Tqk9VFfyKNizioCwA8EQ2IQZQC8Kt+UjoZAqhugY7+7b9slKreh0OJMv8ZiuSbdaSk0uFWXbLsv+iLJfest+pe3ZPV99LsHdpyZL9gynJZi4xPz5j1hLLY4M2zC/DM7HiCGi/Cqt0jugNxC+ohLAe4QLS31CfrBuPKKOHWiU9Q5Rb1oWF037qYjN42rCzLenYwgY2lmdDczI3n0cf4JvsW2evSSm25aMnq1jVzKOHi67pr+jrffRhnC9qhrkL9B/I6wHuVBJTATkZtnWgQmQYYW2HwuLCKQ2tHCwK5zDFBGxF9QJsK5rggQOpG+KWjKRbpW9/8YFvIhnYb2nmHh1n2rUZ/ZtfDhdStXrnt4YUzb3EN7UHGi6l7TMm01rBAkyTzTVq+JzsRsGO+GM9G+iM3f2Oi30ZS4DBzmVDLTlqF9mItZSNiNdiTG/MwmLC4LAQpNh/oKNP3DNzgFlHOkd2skIhr6pggfMUuncN+BMLamP5M/BFlpb9+BSERRvADuJF3MmCpaBe+DuAzokhSWVeTWuI4bmf1dPsyamFiY0bEw3Yh8lqBYyK8toilFtfVucqqIv5nxNbVF/ceZG0d+Ua34DIr+i2sQg0PHoFkGnoruhz2zMSCn5DbgDWLc7dDKgdUi2JPoo6P45yjiyUOKJR5bq6SZhqDfQyiDi+F6LfPaOasuJ7S9bU1L73d4p2hoWdN3AO2MFeve/kzYH0SQp+iJItJHMIeczEpAgUtBp2SPea44XcxeBbkYt2gyyGJAfIQJBjV0/HmdkOvYfAE5qEGBIuToeI2GHDxPyGfHBfYTCyCz4IS9gN0CmSYoUmSIb3Bvsrmbx/wGUM9jI8qzALma8dEkRgoEjSZBR0yK9D3oxpYQWe0t6s0h+4ywMsSu0hFAYi+qbQ1l5YpF2+lvsJQ8UFiRmUNfku69cIKu9wv+PqcbFew6Q0OVhr/KMz7UmqRJ1vWOUJ0ffUY5JY+1JFFB0c0pvCnCEoTtnDNxNSPVDngtMFgQB/RnA3xZTUoDMP8avHSBrzEUNn+Utnrfan8p/UgyMzDbd4PCcnQqymTVOzkXBHCIaudlRle6mqrvKHBOW716WuD8nOj34jEGoKNXsORHxT4N57AG5sEbTG+OA2pKIwlaAIWqitFWQIbobIHgwC+uO4ijHdGFDm8Dv2DCpf5AEO5FHUP8F3+CNNNuXrLebixw5DkLi4vPv7CkqNBpsxWYMnUkJZl6SZJGKK701jUMHzP6tttGjxneUOetpAeZD1O0GO69vEC511Ex66IKB96bl5WthXvJu/QnXo7d3DjxttsmNrKbxW2+9aPNvjxHgTErXS8b9JqM9CyTrcDmKOR5azHxpKtCld7Ckhxran5+qjWnpNBbGT3IHKwe8V0+OjN2Z3qSXp+UjnfmOYrseCft4dNit+ak5+en57Bb2VpT8H0K6hkAMKSp5AzAhwQYX1RbqGQbcIcpM6+588rrQiYynzShJV2k1yE8Sf/xED2q6gaAUMKnuRraxpNUUmEkVQCj7o0eUTVX3I5rcBnRyYukw+iECBQTzPQkIqns+U6TN58pzIA0LCP1MDaoBQ2aVObYyggEJTkgL5rQRmZ2n6KPvEqP0GhFIfdzZO2LDre1vPKKh6bMnNBadT257oukj2+/t23T8pK1y6WM9kna/JvpJ/SfRzoeFO/md1wsp2a/1akqEbz3zQlPf/jt5FL3bR9flt3QOTqZ6Q3J9TF9SB5KqRHIyIYMcxWDNAzu+HWxHODYA09sIN9+wScJvGZmR8fM6HErH2KZV2T1hln9l0nCB/RniXQ8scFNyjc80fHeLMV2QcGf3wPfkoMYwWnzJRHOQ+y6qhSSTUSbj+cccKAymzLEAexlEnuIb9X78C730XmfHCXXk9D3V0ePE99++jVd/9Eukr582SXRv7Vu3Ni9sSPyEbmdnEfs71xCj171LX2Dbnj/D+QqYn6QHm1fsoT+86bLZ83csGHmrMtj+nMFtzoSrWJ1XqD1mZuXi1lVA9U+4EdhE3c6vV4nXXIk7/uq0VeOWLfj4Q8+iPJOH4ABr7O33eHj2368s7b2j5qHbn/6x+gtPofY5fQqtndcRLwNnmXA99Z59Tb2DF3sGTqvMIk4/8dJT9S23HZRx0Nv/PRThP+U5B4cNYr7Ofn3zxylf8H+A9yiyIg0zAtCkZfCiucG9Ni0RzzW3xGhKYKaOTAhQ9efiaiyQ4HYpzmJaGCsX5eeBYyYC7x0NTeWa8VZaRW8VSGeaQMkUbKSqhBxo/4L8974gaAPsAvMeuZdRCCDiMQtuHC2Ss4qkyyg9bVbHwDQERDssuioGF9U1VphTk2/ZGRTO21JLTjv0vMKUtPmXjpXWAIH1cOUo4vGbXSGDl77/ivDNuk2Nk/YGH1y+fB2/8jhS7XLK/Z2F7mShcruByuXa5cOH+m/eOSKVK1Lyii8YPaE8rHL1lWMveCC+4NbFy3aGqyfNKl+INfXTJ7Y9PT8T5+jLf6mJqHi5h56Td6wMrJi93NSsu653fTmsmF5ZP3HN2VoJTYnJnIH5bXScmZXbiboTaZBsQ5hPopOh9mqMUvfbKcP7pgemEe90X9aplnXWSyqcX+l3WT3T1lVbm+uTx9MrhHE1h300R0tVy2KrqDFFst6dAM+fqOw8aKkHHOJqVo/MnWCAHDndlIt3SI9xhVzNUxjnyYAWA6pgkiEm62ER3isKsNRCcl6Bq/jMN9sEmYZ+ExHbrLFZW4ef0HzlCz3BQtm59nSSy968pLVNPrTZ91eizHdM2bW4pWXXfyEde4FLXMFkpI9/8Lpc2Re2iNbiyqC/mqzLrNq4piRaab09Ekjxx6j0f6TY8Y3Zs5+bNWIXTfuuvaKcEtxanRxU0rK2JkLC/KG51umzZmYrugIyU5GW6EkYsA6WG9DQxEb6VKYKmDk0JgSDR6BsOub/CbKi2gKUpGK/J6UsDpSAe7auHLgLEcyO7ghXBZRaAaY4uJAjgQcDSSN8Irz6mC58xy5s5mtQworRFOUlLzmJKO7uqyzf+ts6G4IUZNSzLcOTUnJZyTzflLEWK6P76cnhXYmJayp2RNL6UfOJ0eNanyZ3uVsaAg9NT9WXHxWqsgzFdvNDOaTi7pnLzMfR/fJKqSNrMSIkhsfyl2RMCkhQAARABZQJu0Nn3kpvOXE1qUXXbR064ktfVMii/iObuFkdwe/iPaEgdDvOwCLHk4VF8Nlkcjerd30UKSje+veCNl3fmck0smJJMBNke6Udcz+0gltqGS+4XnAtjfAzC8nslsmBQoewn50F8QJRVF264NeYg4Kbjs5HAi8ueHEiQ1vBgKRjhNfbyQLHvrm230PfvPNQx1PPnn6qW4iXHkkuq237+2NH/Zt6xXfOfF1B1z6ZsfXJzreDAYi0aRvHoKLH9z3bfjJjYyGXHm8PPr8Md74hTf622MczK1EfXESHOsAisYlnS6AYB70A9Wj+RtqMoIscbqBPja7ZWY0VgQlonJOCLpFs05LbBFF9AYMhXUX7UGHG8iQU7t29e4inki0SWpksrFMmqLahC6au3aROeycrI5r7Xt3KTJqSHuIZ9euql3IoOAZJsDctYu274I/4undpcjNYj5PcftT41meGDj4+VYiGm0M9xF/AkVqFI8NEPYtil1rtIlxPiQzMAKSEQFYX4msBY4+G3so6Hv8k8wFdUhn1i3I/ITx0oADhjM/Ply7jI/06qCPgBHTieuHLlToCkUQ0xrBdYzrmUusQ1LqUO6NqfJRmolKCRS/RFRPvYk3KWAgEgcMCg5meo9G5snODETM0BB0Xz/zEn8IhiEsGvozRUMEublBGy+0w6zlJjHZowIkUPaY7wgQhzvAOdN4k1kqUyGMhJ9VJfNioEx0hwRiVaUJWlKmAhDatjPu6bZzZ9zTrX8k3fLIeHID4WxlGcU+e1Ol31VhaC2rejo0dt61k4pTiETb+ZzK+hG1lclJOtcIYXNeuTVdVolatVo2hmqrS5PcQiWra+eQ+nvdh38g1cnBHbvv8IomV7FV1I2a2lptSNWV+8aNqqIfPTZzy/SGIluhudg7to68VbFg5oWjp3pH5GRmes+rq24suG6oL48tTrUM+qDHzJaVvL2gjMB00vB8If9XZm0yIAEq2XBk/fojwtvMxUwNBYrjeoIrehE/ff2Rn46s75uCEjH23JXc27IoiwAnqhieykD61YGiziBDVCGhDPC+bCaCOUQcKsbY+e05hDiDLnHGje9daLrlND1OD994/etVewvuWXXxT8d+e2nG2Ls/h3TYIapzPz3+DLGR4fSYRUXmzSPlNMSnSt3jT9M/09/Rz9+dbRo/5i/bF697rW6YbsweuOvwpZBePI++w4++AKo39++3FKtSBPIFzaMv9/AywFgNzK2XgV5CX406bjz2FxIuGYBcvTYU28KhLNpCqlpgi80EFmJVIKgPMCKXndTyeAWgGKJchHbWXfSwtUS1+3mHepiNV42W9bX02dxSmbwOE0PSG3JSPzRWaaP3VU6UnIVB9X6xMIf+1p1Dt5o9SUlj6JisQtU9qTrVh3Q8r8nOcmi/NhQYtYJ4rNzZn8Uff8pRcMQ8qsC6VZVWkG2qyurbPMHjFprtrpu1Los2bUeOOTq/4UJhOTtttFiSuUR/eBVwL7iKNCTu7K5qRhAWbVK9wuQoCLoQRMUkJigHj/vBZgAVOIO7EG1WYU1xsKY43mhAJ1hvlYNzntPpVfWfXF7FkOBjLq9yBnFxOl8QhoPdnyEfuYeeojvoMrqdntrD/F4feJtcSlL6PqGPrs5MN2XeeKHTuJ7c8NfHSPDymuUadWaSXRUcbbfTDzKL4Aiu6JrjvsztzjSlZ164SUhLSTbJmqX/eOvffa98Sb8fS6aQfxD+muvXt+U+LFjILqz7HvbMtx9gjq57SIpTuFktVPtJMnnhj5e3a2a0ZLizy9NrpLm7RvReeKEwiqhVKj5US1IkQSB1IaKmj5blWy+YvLHp5ZP/Qy+6jL812ryCHCTSaw/0Lyb3RkeX2qaRvys2mHEf6Rnn8jFAfcx/VYZGaP4hHp3M9gZzspr5IlBGf6Bj6K8eoeMmOyZd7Bhlf0D+FNOPimtri0lxMQYd+fUjwCJKTikF/KLMmTCTS5m5bKBbJ3OzFA9UWbAJXpQhJHot2PXi2cavfngtpG0AbgCngNFGYNkBN+EK8Q1Ab7hDJCi73F6YWC5V821ls7LPp198//B4koPeqApuow1vhcmrmIthPMFNX72MvnqlZoS/8dp8UUwmoedaph1qICpJEnjbtuHe4Zr/ac76IHu8ShAN7jySFm2KoIerUgcw786XE5EnTWn75JO2Eduqsx3Z2WNNw6uqhqe5XbbkZGd29bbhL4/e0DFK4BEf3ch1yQ1yY9yeRUNMkkxEPRcMmNCXiXcTMUImFRFnvyvaslN4uMK+mX4SnXId/wjV8t2d0cmygT7lWefqd+zku4XHKp0quik68Tr++f7t/DNwGp/xFLdSzhMjgGUtqPvkmPwMOUctUTQMiYdcPqd3M9NcOYNfum917tiwZ6bRmMu/O5in1/Bl5PXzO5vp1dRDr27uPF+MrJ7mqzAkiWKFD8mEgXxfDmki6rLP6Q8k/fMyehrpGLQ1OCYeG5D1J1oSHUNrf2UDrD1o/aPw2wrNq1eo3fg0gZyEMk2pMdL7HYobUajLMFIzWm90d6i6O7p7t6LKYtDnSQd9wbQMQ2vRx5GgCXhTFgQHK8QUKvwx5k/niSTUiRb86DjXdwD2CToRWL8Wzou4TuU1JJE0HsgGmfcDhxzUAzbwAw2hs1mFPCKcTCm9+c4T7RM7br21w+3S5M29cNOKlZMq27964GpbATnFYLVh1G9uuzWXpuR2bL2yuFhWq3NG+UuO00vp30/cMFevV2lDEzpv+9O/yIin0IOm/5QqY9KiF9pV2tLShtxok1JVTPd6Stp77r5Hu6kBTctZfZ/wTud6o//4Dv9ba1n9Z8gZ8WPxY2yThh9wCBM/pnvI/O10D71nB5nHdmS+OB6O92yPH8/bQe8h8xReUJHVC0AdVwL0RL3svFhcgJiQsgFYQT9jgWMmi/DLS5RoVjE6381OWgbMp1HxipG8UG2rOEnYxZi+nuns1WhS0/e8Pi0tKVUlihKRk1MK7F5LTrZWl5TEE57nVYC+klNTtHp9hfATTYmeuL7e78+1GLItRe6CEUFf1bCKqkBuuoNPVefl+/w1wpa4AQt6b6q6aW1yanpGdnKqMZOXSGlpCWDvlAxDZmZOhlOTnGYVMvRADKo1LlQ5TGvNt/l8wY2iWkqSZVmSRE2SLCSp+I1Bn99me5/ZRERY2BOgnAf5I+w3f6zfFnJLmazp/9B3cRuG/0v/kSF92G/5b/uwTOke+sSQfqz2nt2P/OF4FAA0XgZOF7iRj/+7riQS66Tf/OfOXM4uQssfpUMH138RNx1mn9sVl5B7mUsNarwHfsxYIPYjzAgoLkCPn8GQSErXmWWdOahzB6EW/lMB6AqTyWqr8tUvbhplMqUKJElOTTVmWLKK3eVlRcVZWZmmlDRZI9xaZZHrrCuDM1a2L1x4yfltnvaShpyy4TPKn5780MhF85se/GDqXHGdPuivrqhyuI3m2rrpM2brk1w2RwEMdLZJrzdacl0OpzvXFr1vxlVnVBpeBxSVNiUlRa1XZyfpk89smbrKb8l+6Bra09ZGPNc85Ktn/XAQ+NUcgLU2hINcvirDaECgkUbgPWMeij6Xu0zl92XoYQYgeYIbQGQgW4TJpIoItxXX1hmNWXaFILFnqXNG+z272vnW/JKsYHmkzJdVki+33UbpHb7OVWGL1basSImOVbTMluxetexa3x2E7w3PmuWvKwv4y+sSeMa9nJp5bDGnYSKrkVkJK8x3u6qZmQYcAhZSiRfBbMfXMRtIBT6J65iNEV4vHkM2l13NDYGVUL/TrkNQJpMhNUZQ3M/M92P+cmRAj83qhzsSKlXC/4RjbthD2w/9hnDSTYZUKXQy64cmoFFi9Q9tP9yRUCniY3KKXf6L9gOeRY/qIBlS5dDO+mX74Y6EShO6KkGOz3wnzOf03I3pmvQoBjiH5y5fHnOsPKfXLn2dnVS8QWI+j9BfRwb9BQYsQtE+7cjpiviGfvTMf3tgD9cnxvlBz6DxwONcokSmINDoNAzyU4bhfkIkJkdIIfkOLiM9CY+HvJdYIKODkMykMqIS8AhyREYqwOsrA3bRnYa8jy0AxMGvRdjhb6Wb6L0/79rF/Uzmks1kLgf5n6NV5HxS+5ctW/5Cf0/30d9jjt89beyau4ILNj9K71j/6KP/fOxRUu4dMb/cwgtXmpyVfn+lM/mznp6mlWMAXgoIXqcn5dY0Tx5p/NXIQt5dP9N7f/H8qsSnklrWEmdp7ksbw7NM9yxZ/2j4sX8++uj6yx+lybX68xbMzrM2b5w+wpGlFkjLBx+oXLUTpk4dG9SlL9q7cEKBgcTs1mNz0Az9Xs4i7dmU6HkupvhgNCuLoCcOeOn5Avpf5EuYUpjBFJSEQrk4OtqEqtx7NK2hcKhVcw8c9KckCC+2J4QK+1HRzq+IXbsCDpj3hMWIVRgt6FIRkwX3JKTx08xKBmW178qL5ZnAXWdzZWj3xLkKYsEsgyRgTjzw6QmqYjAiFQtriOJSmfgwMl4amqvAmwdUja0dnuhbHk/ZhhI+4Pnes7Fk4Kikgdzvad1YQuc85elo9cBp2Pc9UlBZqdNpPRMmDssPjZVoK97e4fEQvH+VB45KNno8fDHcvzG6jc7Bm8j9T0FFHt7vwaf1lK4Kt2Zn5y34Y+D8lefButgDdHSV9CU3hTufm89dyl3FbefuQN2yAbUdhjRJLhP9yksw30GU8gBjptgMxCMgxlJloJQLcFwhR+Kh7kzxyGBEMloJvn4Q6AcYUNHHBDCypJgziHFFIxybvZiHayAvfdrafaa1QJ9d7qq312mSJ/omlBUUtJ7pbl3UtlWd0bnIf7NTh1wbhlKDDbM6xx2Vizoz1Fsrllj6b3GFcGTJJmV4D+r5XH1Yn8vrtdqwlmj02nTak67VW4zEY7TQ+3FvMdIe2K8PYxZ3wtv4QN+Iy6Y1l1aa7JK6wjH1/Jtbfdi0kQ3PfVXuv/rrltwaac3eNVV4T5Wyh0OpPqvl66v95V89lzs8g1xWV1jEIJ+i5qe6bH1Ojt5oSu41AzrWAXfytcKixMK7xWxAkN+p5UYyOS2KBYwBry4WfdKiyP7qiWSPh6yMpQVuY0wSqGga4yIhIT/y3GUXrMCQTy04972VsQZVejE4W3dHhC+PxdIBXLHq+ZkzaQ+a4BCaikvp0wzmIBtR9hmfKrKFcEc3YiLFYIH5IMVl3UmcESBAJTeLWS74BhxFnYNZZtkSM2xBu5bEI/Qujb1HAbTeHntbdqvZyleFUDDFsUQIwkmE1X6dFR1zhM5wYR12ODRPydB2VL/gRroGc4fvBSigLkgvUEN67+G79+bf0dnReUf+A3ui4qbrbnM2LRxbbHmR/pZ20t++6ByxcZb9DmnvhW2Fl3mcDXWF8Uz0CJmDVkP0fmY7NJivX/Gc/ycEJ6SEEPoh5n7yP7di5ZO+pEaXa3iS90k62R1K0leO8JfSnhXPLV/+3AriqRk3MSspxKmZr8Ex5ittg14czo3ixnETuanYlwyoqFhgGWfigWKzr3QhLjjnWcckaJSdsImxVFju8PoyMuTMujLXzKdn8q1DDqMvwzizwS5CTdhAHl3d0D0iul9JxZ3uZXNnZGUnFcw7r809f8KE+Wcd9/2M9lOJtlSxPH8VRkdiVt5KinzuK4A/0mQjZ+ByuUKUq6TxBWVAJ8GmNyGg0QPiRb7ELQkAU9xM5yybVOPJaxWHjh45eqiCvDLs810/vTHfu3rRb16igdljpr2xe+HW2Tf3Tpw/sffmWec13C4W9781d1tj47a5QtXsZSri2H54yiIr/bKMZjycftHBadHPwjO7Zy40rpoa97ePSPfAWDCpAHABGOvYTiQggZHFMksYSFqS9Tq0/w0RFh6VyDo9k2gF3AFJc97E/MbaN2fS00vpv2d8UN+YP+m8pgm8xnDPcmvNm4ue0RvGdp/qHmvQP7Po/QbHivsNGn6ceFHZ/lfOn7ZYTVPJv1KWzDr/lf2lBUKo9qqfQjPd9Go+kHuys/Mv27b9pbPzZG70d+RK27z6M5trG/iE+CqpGE+BY9FCgGQKCUCgynqn4I5F27ll/1dvP+MPnHnJMObdQ8JpegNZXfJlZv/NZW/YyGq6v5Bfy2+X1YtvvtnrQ62ioemxzt7HiINkOjeTJ3205qI8epJ+VUJup/O4s+LsaH8ZZ+c/xdj5T8F1ME6X0Ck1qpoZRYh2pV0sYF5zBHF0N/cps2Mt42q40dwFMe/3NB71IH6fA0CJF7GY5EKJKipZbbLdFPMhgFXjNgWY2TaOoZgQwYvhMXeZBLgKRd4m4e7W0XUrHl2y6egVRPVcmi+l3qzOlW57+eLfLCCvLeyaZii50m+b/FbrIq22qxX3N6qmsFBf/fc/tltUpZozXEZfSnX11a8/KjSFOheEVs0ONmyYfOXvSf3wkhIivLJt1j3zwrMsDVOvXVBc5cyd8YawZ9Wl9wv8nZeu2jdciRkWrbliuSkrPSdXb0lzqDP47XPD21m/TyFj5SulrZyO2VtWqTLMGA1WiQvrDjj0BWW8205MGWa7EhnWLKmE/sdJ6SuZR9Dc/2TBj3cveyH06Hyiu3Tz9wc3ZABIq/1bzUAx/UHauof+Yz+aPt762tyWV9s39b40+97PNpGukfSnkbEiWLtVxCvtke47l0xUiMlEVxBtAbH2/znacxl/2m1Z+n30g4v5YrqCL1se/UDaSH+wz8/r//wyvozvK7QK9I3o+xfz/qiPr2iLHlFsC4GLaWM+uUpMOwBuzErJpyHMUgXmtgu4cJOZXC2WHjrU+4dDQgt/vzHFYByTFX09+kbWGKMhxSg1PtN/8JlnhPHP9O/li3TDbFbZQDeRzUDD2IbpEp+jZbGGzzYWRSgAr8cgAcZeBn4feDMFHGhIQG5rDfVeiyBfXB9qvVorpibRZWRLtkHj0tAJH31IJ0DGkE220GVJqaK2MMi385cEeZfQiff0d8BeeFdrz0yi2+gyqzGZV5PVr75Kb1DzyUBM7SKXJWXatYXlVE1Ol7P1vkLWyHOgrTalrTIiSmhrEPoE1mAZD8gyj4gcJGaTrFnT0jcZhb2qp6at3hndG10sp2iSNbaUZH4N+So3xZFlEy4VFpw31UbttifO799z/hQb+cz2uNDUfwF5R9RatOnJ6Ot9uUObnGpGn/0BvtDEbOY9TG5wtoZWL8nOECGiy623krgVsOg0mYUyIgqBoAhA85xxvcbfOq+U3uA/rNLTG0rn3brhMFUxrVb/s2Q1OxYWwBVktf/wubhO1aT4XW/EroruZ1qwV2PV/itWy9k8bg7in19Gp3LAIbwXHBCMDkWSidcAEOKcoarwBQz33Ue/Yzbp95H2NA1PXqEfzJtHVOcOXSXfRwyJN5H2JJHvIQ2o3iTpfDGTBcdpA1xlpl9GdmRRRmwEzfUHce3X0f3MBWhofIu+KbHwmimKnYLCu/3neocEL1et7s9ktsxnRypRQDSrd6BPLYPaa6Ve1H4pcRdQFzb0KbGIGjQFaY5MID3QOrtWrO+bwpzh8XksbIsSYiGiBNtXHKsw9sGArQ3ghri31LliJGMIfTOL96MgFkYe0xRmkq3ag3gvjPJHDOcIWGjv2d9ZiBEuZECGrY5Z9KAtlNQY6TuA1yL+6u+gPahVj8Wki18vxiXnKgAg6PmM8pn9KPZhJuixmIftzOGFb0XLc+Yfg/EKB2JZlDEuG4WP6AQHtJ6OudxgkK1gAP2WBo7jXs/isaipY8nSuvr6uqWLN5ZY8qbkWXFnseJuYaHVas2T1XWhxYtPL15SVx99rBCD6RepuoE9seQVwtBbMRUN1txiyA6BAQXcRdwKbj235ZyrJ5ARhwtG1lhUrqcjukZiSUFPAWaErQ+gtVsaMQUDVmYNZ2S6LjkjyE4EHMQbsBJ2Ah3LOBb6FdXR3ioxIW8SRpOmuO0WPUQ/ZqutCn7GN9eufZN+S9+j37659vKiwBLy+HW9B5YvP9B73Xv7J93kN6y7YPNn2ZZLN5Yuci/hk1OrH81I1WUAAlZJyQDjh11VttAdFoTk1OLr5hANXSxl56QJqclkYS3vKls7PdikK9CuqGvhy03r8MCubatrCbJVP9iOIta23kvWvkmMg026488v1lcvFbOhKfQf0KRLVM31NdO7O654rDiP/DlNq9LqeGsuISqduSxQIpB/zYbydzNS01XJ2hUb6MdEbS4eWcETWrn5pvfpzUe2tkx4qHHmN0uUdDOLV3S237ESZyUWoNh2VooyfgQUUiNlIQxhNh/HoCLoiqz45g/ugfMLM9y595z+3wNxYeKp/qznxf28MfIh2i3gWpTVfQfC/cdlNSyidgwihpHUI+hWKe0dCHOSMhA1WGlLTzj2F4tj5GH4PC5LhCfoY3Gn0Ys8rEQdwVfDW9FYAm9UA007W35Xfp3L4oqYjmUYV8+4MfT9DRGcmezLMQRlP4rgxyyTIFMdlOHXZCSVYqIbEGX8XsPQTbVvW9XNy9c2m7VaaZvF0r/UOs3S/5PFItxumTarhnxfk6kRpGRVxcJxpeXLSXFNzfSamugHY/iNo/t/Gs13jOn/ieX/PSaeHyM/vE3Sas3Na5ffXLXNArUtgdqSLNOswm0WWkN1NROWl5eOW1ihSpYETSHWN71m+Ojo1WPI92OinaPJ9wN5tr96jGLvBd0DdH0K44AGNK3ItBs42egdFN6h9TQXNxzEC5S8qnv1vtVrWqZfBsP01ccRNIlkjjNFkY/ol8iNf/vgvm8wxahA01avnYrgd+3Uz+jTjg8U8dwHDjLpM7wDoysylxto13RilTqkd2BE3Uw7rjhi+RwNRMXsUyr0GbKEDHKFzLuZlYFDeESJY8iT8Q8+yN9yvP3i2gs8usmzWnJy5j5VqlO7SnQ62ii909px3nkdtMPiElXJwy2jjQb6XjSqkxfddXd19cv0kfS0B6PfzZgxgYvZsiqyGpSL4xypZ/EouLP58Xj0MYWaNMZVKYl0JayH+BcTHHHPDVN+MI3ku1Tdgzz4jzGXewwwOX8U/WnUfBbTvwXRV7h3K9/KxEhknBJR/83byDe3pX9J3/kSJeUMqfbAnsxQPPHdGO/fNmr+/FE25SsAa/hHEAP9OOg5WGucPLkZAz2pYC2nyb+TD3KZTDtUx3F6lHyHCBeCLua0pEwtnuMzM2d/ZUZveuvidkuYpJ74dkO6lWae+FqlrSodFWgqLhW/p79/ltRmned0ZfR/1iq0XVb5lzn02vUl62aWrK/lf4idyqa/F6/MOH3ZKqhF+8/+ezU6euNLvxPUlkxnljVFvZz+/iBcmeFynvf7Ff23Tq1sXF8yc51nHVk35+/0cVKbDWdas+hrMH4psXiAaAuVz42PSUY3cTdxt3P3cPu5p2AkBb/CVBgFaHqIAAlLAsg2qmQJY3U5BJMZP3QkAXUN805vBq4SDaLSUMuaR2SlwI0CATEQ1JcRokfFIvIPgt5gRo0h2tLVIkxkAlS7ziuLyHfm45HTLCn1CGiNZWfWVLIP63EqTslBA+LLIGDTHGIwmeEC+cjCSbssuWMmL+y1Lpi0q3rMpEXCKwX2Gxbtph9WY3oX8USuaVRllmqStBqtpnq8ujBNnTbM3ioniSoJiNs7oEBOq7YL+jHddGeWXzW2lPzmaKVBJafl2W5+gCd1dZVFZMLRjGUjyZmXpsHyXppLHluKQfv46Kpbkklqhr560tVFGkmtqXVq1frJ+Y9eeDF54LGUXPuBeS0rZdkn0Kq2iwmpqy0XD9ITJHfspEm7cgk9wWcTc+6Y3bfmkrz+W9ve3OcM7rir7a19juAOfnXFBl6TlZnbECrOGbeQ3J4s5Kq0qQ5B0qQIavUDr5G7lBIiB3JPjwvQlLFv0BuIHByWlHX+rAs3kAp6WMUbM6z0gQmNUwFZFKIjI6mYcvuqOxCyqFL+7hcyCU/u/I5sEYg2TSSWr5pH0+LSJ34KWfJzW9d9On9fOQkZsvU6uovU0A+IQDBQFvdbki/rpcdY1KwAcLwZbhdKgXCSyFKG2cQJJ38gSxfP00/v+nrB4fHjDy/4umu6fsFCspTkLyTjfvcb0rzyWVmY3Ng4WZCfXUkP/OZ39DeAre6DuWmW5wMXOpLZWynR4Oz4s+lhtgEMAd5TsLslpnVGbX9c749LTbDHfNGRNZYUw1ghoHy0Ao+Vm0JENo9oyls/KT1TSpHSo62fC7pUIz1qTNUJ4ct5Z4t9apYtL2cyL3QaVBqtPm/iIxOa137F15TNzK26smZzzeUVFYHa9Zs6rfkjHMUp1urshqwaQ2Z2Upm46W8fz73KLPF89NOM9PR0nY538SqbbdLKlSvnOHg+N0UlSUlqk39kUyTqS6teErlw2RsbqyvSbQ/t/mNP+1r+Kykpd+z0OR7H1FS1Oavmwmnn2b2J/rFDaQxmDZ5FbDqMiKBPoDJsSqTFMy8B9cz+kZLGDV1hMfiYElqI0Q3MPCFFiRuHIWKAYlcNxBBWwfNylC+gsOBsRNDFFRqMzPZibDJRJxsxjA5+TA3vDwOtTHuQhs4rJB5IlaAj7UBBNeITMDCLcjZ2VR05heJQTp3w3KGxPpTnmxkZwyzHSYJdi8jiQ+HzgYFggU2QKcIXjttoKSyb0oKwEkdy0Bhi0MZEGrC7Uvo5HvU8wfrIKaL/oY7ZliBJz0xGdM54ASMCsIsSrJUc6E2OhuWSJro/Izk9LzR1WHX1sKnjqqs15F/FRRcOG3bp1CmXpqf3VytjEKczcXutHWjxTOpPG1bdMrV6WEUlEC0X0736YdVwy6VT+Kez0jOiD8doUfms9uewmBmus97gbD63lJzdWOVrPrFgoR0MeZKJ9BmYJ+1nty+SKOmONsUiaSjmWP+/8H3pQ+YE+jcbWOTcfOCtCzkPV8Fiv9VhNExNXF0uMpLazsjr/0temUTAUzO1OnPPZ9GE/6ts4gyHTggPBnY5ZxKLYZewzjLiMU7ia40FApa9QbPXHRcgOWOsQ+JyY1F9lJppVHHh6cIZPjjllUXHPlIAf8SjhFBQmAZsR9KvrjvGw5xj7Vl4GwtZ5UxYiudegughxfwr0FOK+Y2ceyHGjlg2bqXED+mfgX5JfPnEV0yIfa4Cviw9foc76NYQmwagvqzcCuAmwp6GcYXQkWhg8NDjnoWMZCGWcRYLQ9pQmjg6sMxl1S+ggR86xcVkE3g0BC6mJOnoqlxHumeYu7DQPWx4XiPxzBrmdhc2QcGQwaK8qEtJ4cfIcil9UnYXB4KFhdnDgqS57kT2MHd7odtdfNa4oc9QKvuWgQm4N5cS40ppqWgMmmWzM2EvVKEeoJxHKi/uPeb3JbaVth9Yd+AA7Rnc72q8SMNnJSe/USqLcyyNHk+jJ7HJVZFwVTicuKft80bopuTnr3y1uXbJ96V5+aWl+XkAE97n3peBKFbi4RPl+3EOt4vHb8ephnyZxHN3e/vde+j59Pw9LEf2kX30BxYij0X2ljxnncRc7xkc1fhFzJ9U4f1xRmRhr7BvhXhhE21m2W3HAnfQjHw/QiDkrCNoFYRBiVe1L47g+9EUyJEucS39EJYbi8D6yYHfR0fCIaRKbLJ4vKDYV0x1bph5xKbXMc9qGUPCwm3RI9v5eXRJJIIRPyMIS/uPh4kv+sF2fj5GoIhEm1TNsEuwn8Je0uuEIKB50eY062xmQaeH+mSnTXTrbJL7C4xEt5GsBXS/FnNfYMi6jfQ6aPh1kBNLydrerUNPAbDFUxvZrUP8jcyA834hzf7vuM1z+xq9+9+woOdyJlKd/G/Z0tQY3quB1ruHRAObzE0DOvIC7qLBb5cwGSETwyrSQptRERfWE+VrnOJZxwNR+bxGO349TzwrL9r9XrbFvm/iYSYrXSzp79CmFadptameVC1/KC29MD0tTVusTYt96wT+cWMR1eM5VDLjkdSIuDhcV+bxlNWFY2mvUQsVGHtNqVCnqdcA1aUbeo3whLRerSLbZrHywgn7s+L6D1BU54rWnRjBODFSN38i+pC4HqMZs2RoqP/+LwZiG/95MLaxOODDNfgFLU6vDEGMgiRKoDadEENqYRR82QsqaUVlgR2DdqFJXkRxQ5Ru7vWL66ZV2AsKCugB9PZGsViM1ECd9fXyKHkL8LJc0BSSgsiuBqqs6GDsZi5xKEZNkzCKFTIUVpXMxFWMPU9jcawS8kkkktvZ/eEnH3Z35jiyLhibP6pu+LBQwFpWakypLGvxzE11tM4dToQbRmV5HDm56Vliektw0XhCCmsaSpJNk+65fdjo2fu3a+XkJKf2+sfGNNx9uVZKSnKmr75z5/V35+hql1y+vfOKsrq77hpvtFf43WnazA2l2W5ThqQhGuewKcWjNqoFU4l7pGtC6p/HliRNC+Y1VNYFxjnrxmkLSjuenpPs0KbLyXOeWrpmzzQlP+V2eoKi+hvoJQ8QFnuBv/9f41GivyiJz17Y/qs8RhiHVId55atIytRlG8zf/zWPzAeSBjg18ZsDsWiU50j6O3AxwIFCS3LcQia3sMGq5vRMwh8T9Mcxb3zh4rfnDLHPKQAryPsN/6+tq49powzj995de9dee9xde9eOftJ2bQ9KKR+FFSjjI2yUj8k2BgPGNuYYDFyczCFOJ4sogU0jJoaQLJoxp3+YqPMjBrPETf8wuCVmyeb4zzDjEhIX58yMZsDp+9616BbT8ObN2/ejLc897/s8z+/5vepV177/rR5Mfpo8mC66dqerys2Hd9GuBveBafCgJBb0O0xeh6u8u7syU93TlakWFhPLeXmNL42lHi1TYxrSdWy1RON6pAIObyLsjgRtYi4eebReHvageoDGtHsbtdwqFMvxYVGozToxLJ4Tl8qqCDwUJam4mukLVHnlq5A7RSehWILql5FQexSgKKikgrKRaOttamPZY63E8v1fTnw3sZXOz33r0o/Lo0iHrC7paooX+6Le5CdtfQ3KJU42QzuZD8MSJNuv7bVKxoDInx1vyGXCAm9kEsKRhydFO0n6JenGxb56o8wLBqZ5IXtzR/657+8CcOLYlfHtlDNbJZhfvdrXUCRtBMdrfHLxogXODOc363lOVl5JBOy6QFjUkY72wnreYGRkvmsxFbeSfqiVSdI+UjcEZzbKwomMfZHBGCOmCJ6C2gVu5+qeKxqACA96ZLNqYaDQlHr/qHJzBj+9oNyAOzc65s+sjSxACyhvIX0fBHid0uuTqrUCePTy88U8ID/SqNsR9zr5AxiAR4MBZRYsKV7youIFS2m8s2br/Du2GDE9oRxgFJxETwH+lzILR8zC0XAUnAXO8MhY+J+3aGMXiGWVHAyWqL+24uN90+tQ9KpdXWQZfqWBzBJpDDZKL0J4Z3h4h4fBBSTPyJBDVMPo4U3Hgde5c6MIdaX1BW69ldVpGH8oL/p4SZRQxcpiRenFmXZSa1aj7TZpfQHyD9pVV50qDQRKU9V1Lppm/AzNWYxCRawq151IdURoC8cFZwribdkiMBh8Zoq36F2l+T5ffqlLb4HfKmh5M+HOfFBiG8FGyroHZ96fGewui7AE6bEEaR0dirR0nKzff2FfykbQwSC3dmvLC/VVZmhmeuH7OCuXdg10lcosDqeDk1aPb8EQ7Hta5VhX7z5DdFIo2qPam/j6e0h/aihsFDl5kLEW0ngc+LeeV/oUfEplaIPuwQbXvae2tPs0zWVhASpTCEJrEAiugRwFBuQvRTwiCO9VZkHxOyBpXtGydbeoBm1A7vIk/H11atJk5sIL6npfy6zT6Q+ofs+W5kaXM+B74hDx+5QgSbE1LraPnxIiMfw3SQzVrDXh91ysmZkyJlxrvMvBTFFhG4N/GUcOzbZEherR9ISKUiWEtyS1U1j5LOLZSdgjntUlT0S3Q/NYtjQ3rbss4VItzSkX8Kx8CEYLYlEouHykQJks3Msrv9JRwqPcY5xOlzLpdDJAgKuCUcmxkpSRH7Ii0aY6Ig+ZamTlKLr38WN3TSuY9kSUO1c8kQiSyUPYJLWDeg6e2hNYA8pQQYATUKVzQwVmAG5ST0H9jQNYsABKoBqhQvjIKjwE+6KLGMtUFUh+IWabLA7AMTms3SwK9iwRqoJ5UY5v3KCz5JR0OH9STssHdjXnDfQf2F/tBvMjXE2d13am96jLm5dlX7GIWTwumXKNQJDzZatu1OoIBxzAwvhZkSCNHGtVWDDv3NzT2384v3lnf1D5Wznv6ih187gjEA+KYP68zRzx2l7rfdbjra3hV18VOfsG1mkOGwEXovyixtWJYbep6yoPWgWUpCHsGIYhjgEVJ6oFg3PA47lM6YyldOLTI3lPCL6PeL7Xk5yK/jsEdtalydCQqIWqAKaRXvio602XJ/a/Ew7LDcfsq0ai3ghwAr5wmjAZWLMgSKLAsSajAe4dOMABPOV4vAUum501gc/LYwVlL57aFCtwOARQFPZ5KhO54fJyD7QyGVA3PDc3PNS6MR7NmVAi/dP9/dP6CyutE5cPt3NttcTzdpvDRnMUbWOkLC6LNhho1mTNEuD5hqZInSwHnQ4jw2etnRkuPOD2tO1wuwtixcM61qDXUzqopwiziaDmfp5r2VSXeNLdCC1DtEQ/ls6nZPS3sRospbLqqiju4iI3ga5xplDQzoZATlEc/XZGeBgtEaD4BP1eHboBXrJFCdQtkMn5ILoKfLu3g00Lu+Rtu7Ym+Xevfjte3vT01wGfobKC6n27va72yEydYuo5u3BrsKdTuaz86Tx46kxjzwcJe+fw8epn9tSCXDymkiHqb7OhxTdaZi1F28a27+3k6qvK3zsbGPhqJFirLCov3zkHiu5fm/BnfTN0fl+0vrL1eNLp75lcLVbNKuwfErMzKQB42mNgZGBgYGTs9NeexxjPb/OVgZv9AlCE4cKatyHINPsFsDgHAxOIBwBGoQtZAAB42mNgZGBgv/D/BohkYACTjAyo4BsAdroFVQAAeNptU6FuwzAQPacgKl4+oKBwaGB/UWmglfIB0cBAP2TIY1XBpLLClhRtpKAJqLTAfUOxpWps5+ScnF8S6enu7PO7d2fHOGq+ZEtk2E9rKtLaPLK9MyoV39q48S3brN3rUKl9AruCXICxbR5iMkvr5CuGr5HkbH97fVqD2Yu1sEcjvj9/Eb5ihCsT/VVvA/wZcxXtHvOh/i7f9+iEx8WzCr2HOWOdiNPGnDh7KmHtjc+8x5obzinbBWMDtZ5Bl4Vaa8ZUzTDgg3Ec6S3gD9ZPaoaqZ4wDfxd/Kg6uZc4wY6/3wHhh/0nmUUKPbjjjwf3i21zK+oNo+mbs+ncW3YtaGwP9QL0Caqp/qIG8UdTb9eIk7zXkJznRP0LGRxcAAAAmACYAJgAuAIYAqADUAT4BkAGoAe4CLgKSAsgDEANcA5ID1AQcBJgEzgUKBTIF8gYcBmQGkgbOBxIHRgeoB9oIOAhSCHgIlgjCCOwJCAkWCSQJMglACU4JrAnACewKLApiCoAKlArSCvQLLAt0C+YMSgyODMIM+g00DWQNlA3CDfAOHA5eDp4Oyg8YD3wP3hACEDIQfBDCEPARDBFIEWIRoBI+EoYSqBLKEuwTFhOoE+QUUBR6FJoUthUKFVIVlhYMFk4WjhbQFzIXyBhCGLYY2hj2GQwZTBmGGeAaJhpeGoQaqBrkGzIbiBw6HGocuhzsHTQdah2MHbAePh52HtQe9h9yH7QgCCBsILIg1CD2IQ4hjiHKIiQimCK2I2Aj0CRWJIgk0CTsJQ4lQCWOJaol2iX8JpgnQCfEKBAoKihAKFoocCiKKKAouijQKQgpJiniKkgqsiuGK+Ishi0CLUwtpC3gLgwuGi6cLuAvEi9GL5wv3DBCMJQwwDDsMSgxXjF2MZgx3jK2MuQzLjNKM8w0GDRcNNI1PDZeNoo3FjdON4o3yjgqOHI4lDkCOUY5kjmqOdQ6Ijp8OrQ66DsQO0Y7pjw2PHA8pj0sPZg+Dj6iPso+6D8GPxw/Mj9GP74/zD/iQJBBCEG2QiRCJAAAeNpjYGRgYPjGsIlBkAEEmICYkQEk5gDmMwAALxQB/wB42o1Sy07CQBQ9bdGEhLhw4cK4aHSjJhQQRYQt6kJiiC/cFiiPiLSUCpj4HX6T7ty68RuMH2A8Mx0a0m7MZGbOPT33MfcWQAavMKCl0gC+uEOsYZ1WiHWs4VthA2X8KpzCtlZSeAVz7V7hVfIfCqexr/0onMGmvqXwGzb0he878no9xJ8GNS84RwN1mJjCgY8JBnAxon3A7ZIxYdN+5j0kCqQqqZ4RBegTdSUTEDmYo83To7XQ7VITcHmoIMc1k8tCj1+feIuMPfJDegjfEXM43DmyHtks49sYUyniPJLZwZnKeJrIt4ca1RNqRTRXRruiosdc4jU+CoyU5yqhiltcoIlLoqRXNuaXVJgxxV2sQ8uZGrgmI6xltk9loOJNIw8LxzyrfKuNB8YUmi5Z0aEWp2ThSO4yirRO/lF7U3a5wyp82VtRe0eigZyDKadsM+NMKb1IuZhQk3ZradZhrTfM4dCq8WzzNlmP+FbktAt8R4V1luS/JV5+GE3OZD/G9B0wtsg0/AP9pH7rAAB42m2UZZAdRRhF9wRJcHd3hzf9dc/MwyGwwd3dAgmEJUgIwd3d3d0tuLu7u7tD8Rfbs/94VVu3pnb69Ntb92zPoJ7/Pn+N70k9//f5858fegYxiAmYkImYmMEMYRImZTImZwqmZCqmZhqmZTqmZwZmZCZmZhZmZTZmZw7mZC7mZh7mZT7mZwEWZCEWZhEWZTEWZwmWZCk6VCSCTKGmoaXL0izDsizH8qzAiqzEygxlFVall2GsxuqswZqsxdqsw7qsx/pswIZsxMZswqZsxuZswZZsxdZsw7Zsx/bswI7sxHB2ZhdGMJJd2Y1R7E4fezCaPdmLvdmHMezLWPZjHPtzAAdyEAdzCIdyGIdzBEdyFEdzDMdyHMdzAidyEidzCqdyGqdzBmdyFmdzDudyHudzARdyERdzCZdyGZdzBVdyFVdzDddyHddzAzdyEzdzC7dyG7dzB3cynru4m3u4l/u4nwd4kId4mEd4lMd4nCd4kqd4mmd4lud4nhd4kZd4mVd4ldd4nTd4k7d4m3d4l/d4nw/4kI/4mE/4lM/4nC/4kq/4mm/4lu/4nh/4kZ/4mV/4ld/4nT8Gj+kbmUrv0H+zt+p0zMpMZpjZLGZtNmZrdvuzklfJq+RV8io5lZxKTiWnkpPkJDlJTpKT5CQ5SU6Sk+SEnPB8eD78u0JOyAnPh+ez57PfI8vJcrLns/dnzxd/X7yn+F7xnuL7ZeB976u9r/a+Wk4tp5ZTy6nl1HJqOY3nG79vI6eR08hp5DRyGjmNnNbv08pr5bXyWnltPy+5p+SekjtK7ih1Bt6rzcZszf57kztK7ii5o+SOUiXPPSX3lNxTck/JPSX3lNxTck/JPaUkz10ld5XcVXJXyV0ld5VCnvtK7iu5r+S+kvtKIc+dJXeW3FlyX2F/0Rl4DjObxazNxmzNfm7YY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY9hj2GPYY+hrDPSpr5Hl6W1kefob+hu5n5d9zgPPpWNWZjLDzGYxa7Mx5eh5rj2v51nPs55nPc96nvU863lu5Oh71ves71nfs75nfc/6nvU963vW96zvWd+zvmd9z/qeW3mtvFZeK68rryuvK68rryuvK68rryuvK6/bzyv+fyn6UfSj6EfRj6IXRS+KXhS9KHpR9KLoRdGLohdFL4peFL0oelH0ouhF0YuiF0Uvil4UvSh6UVIzpG/42GGjxo0e8TfXWJDWAAAAAAFUhzzUAAA=) format('woff'),url(../fonts/dashicons.ttf) format("truetype"),url(../fonts/dashicons.svg#dashicons) format("svg");font-weight:400;font-style:normal}.dashicons,.dashicons-before:before{display:inline-block;width:20px;height:20px;font-size:20px;line-height:1;font-family:dashicons;text-decoration:inherit;font-weight:400;font-style:normal;vertical-align:top;text-align:center;-webkit-transition:color .1s ease-in 0;transition:color .1s ease-in 0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dashicons-menu:before{content:"\f333"}.dashicons-admin-site:before{content:"\f319"}.dashicons-dashboard:before{content:"\f226"}.dashicons-admin-media:before{content:"\f104"}.dashicons-admin-page:before{content:"\f105"}.dashicons-admin-comments:before{content:"\f101"}.dashicons-admin-appearance:before{content:"\f100"}.dashicons-admin-plugins:before{content:"\f106"}.dashicons-admin-users:before{content:"\f110"}.dashicons-admin-tools:before{content:"\f107"}.dashicons-admin-settings:before{content:"\f108"}.dashicons-admin-network:before{content:"\f112"}.dashicons-admin-generic:before{content:"\f111"}.dashicons-admin-home:before{content:"\f102"}.dashicons-admin-collapse:before{content:"\f148"}.dashicons-admin-links:before,.dashicons-format-links:before{content:"\f103"}.dashicons-admin-post:before,.dashicons-format-standard:before{content:"\f109"}.dashicons-format-image:before{content:"\f128"}.dashicons-format-gallery:before{content:"\f161"}.dashicons-format-audio:before{content:"\f127"}.dashicons-format-video:before{content:"\f126"}.dashicons-format-chat:before{content:"\f125"}.dashicons-format-status:before{content:"\f130"}.dashicons-format-aside:before{content:"\f123"}.dashicons-format-quote:before{content:"\f122"}.dashicons-welcome-edit-page:before,.dashicons-welcome-write-blog:before{content:"\f119"}.dashicons-welcome-add-page:before{content:"\f133"}.dashicons-welcome-view-site:before{content:"\f115"}.dashicons-welcome-widgets-menus:before{content:"\f116"}.dashicons-welcome-comments:before{content:"\f117"}.dashicons-welcome-learn-more:before{content:"\f118"}.dashicons-image-crop:before{content:"\f165"}.dashicons-image-rotate-left:before{content:"\f166"}.dashicons-image-rotate-right:before{content:"\f167"}.dashicons-image-flip-vertical:before{content:"\f168"}.dashicons-image-flip-horizontal:before{content:"\f169"}.dashicons-undo:before{content:"\f171"}.dashicons-redo:before{content:"\f172"}.dashicons-editor-bold:before{content:"\f200"}.dashicons-editor-italic:before{content:"\f201"}.dashicons-editor-ul:before{content:"\f203"}.dashicons-editor-ol:before{content:"\f204"}.dashicons-editor-quote:before{content:"\f205"}.dashicons-editor-alignleft:before{content:"\f206"}.dashicons-editor-aligncenter:before{content:"\f207"}.dashicons-editor-alignright:before{content:"\f208"}.dashicons-editor-insertmore:before{content:"\f209"}.dashicons-editor-spellcheck:before{content:"\f210"}.dashicons-editor-distractionfree:before,.dashicons-editor-expand:before{content:"\f211"}.dashicons-editor-contract:before{content:"\f506"}.dashicons-editor-kitchensink:before{content:"\f212"}.dashicons-editor-underline:before{content:"\f213"}.dashicons-editor-justify:before{content:"\f214"}.dashicons-editor-textcolor:before{content:"\f215"}.dashicons-editor-paste-word:before{content:"\f216"}.dashicons-editor-paste-text:before{content:"\f217"}.dashicons-editor-removeformatting:before{content:"\f218"}.dashicons-editor-video:before{content:"\f219"}.dashicons-editor-customchar:before{content:"\f220"}.dashicons-editor-outdent:before{content:"\f221"}.dashicons-editor-indent:before{content:"\f222"}.dashicons-editor-help:before{content:"\f223"}.dashicons-editor-strikethrough:before{content:"\f224"}.dashicons-editor-unlink:before{content:"\f225"}.dashicons-editor-rtl:before{content:"\f320"}.dashicons-editor-break:before{content:"\f474"}.dashicons-editor-code:before{content:"\f475"}.dashicons-editor-paragraph:before{content:"\f476"}.dashicons-align-left:before{content:"\f135"}.dashicons-align-right:before{content:"\f136"}.dashicons-align-center:before{content:"\f134"}.dashicons-align-none:before{content:"\f138"}.dashicons-lock:before{content:"\f160"}.dashicons-calendar:before{content:"\f145"}.dashicons-calendar-alt:before{content:"\f508"}.dashicons-visibility:before{content:"\f177"}.dashicons-post-status:before{content:"\f173"}.dashicons-edit:before{content:"\f464"}.dashicons-post-trash:before,.dashicons-trash:before{content:"\f182"}.dashicons-external:before{content:"\f504"}.dashicons-arrow-up:before{content:"\f142"}.dashicons-arrow-down:before{content:"\f140"}.dashicons-arrow-left:before{content:"\f141"}.dashicons-arrow-right:before{content:"\f139"}.dashicons-arrow-up-alt:before{content:"\f342"}.dashicons-arrow-down-alt:before{content:"\f346"}.dashicons-arrow-left-alt:before{content:"\f340"}.dashicons-arrow-right-alt:before{content:"\f344"}.dashicons-arrow-up-alt2:before{content:"\f343"}.dashicons-arrow-down-alt2:before{content:"\f347"}.dashicons-arrow-left-alt2:before{content:"\f341"}.dashicons-arrow-right-alt2:before{content:"\f345"}.dashicons-leftright:before{content:"\f229"}.dashicons-sort:before{content:"\f156"}.dashicons-randomize:before{content:"\f503"}.dashicons-list-view:before{content:"\f163"}.dashicons-excerpt-view:before,.dashicons-exerpt-view:before{content:"\f164"}.dashicons-grid-view:before{content:"\f509"}.dashicons-hammer:before{content:"\f308"}.dashicons-art:before{content:"\f309"}.dashicons-migrate:before{content:"\f310"}.dashicons-performance:before{content:"\f311"}.dashicons-universal-access:before{content:"\f483"}.dashicons-universal-access-alt:before{content:"\f507"}.dashicons-tickets:before{content:"\f486"}.dashicons-nametag:before{content:"\f484"}.dashicons-clipboard:before{content:"\f481"}.dashicons-heart:before{content:"\f487"}.dashicons-megaphone:before{content:"\f488"}.dashicons-schedule:before{content:"\f489"}.dashicons-wordpress:before{content:"\f120"}.dashicons-wordpress-alt:before{content:"\f324"}.dashicons-pressthis:before{content:"\f157"}.dashicons-update:before{content:"\f463"}.dashicons-screenoptions:before{content:"\f180"}.dashicons-info:before{content:"\f348"}.dashicons-cart:before{content:"\f174"}.dashicons-feedback:before{content:"\f175"}.dashicons-cloud:before{content:"\f176"}.dashicons-translation:before{content:"\f326"}.dashicons-tag:before{content:"\f323"}.dashicons-category:before{content:"\f318"}.dashicons-archive:before{content:"\f480"}.dashicons-tagcloud:before{content:"\f479"}.dashicons-text:before{content:"\f478"}.dashicons-media-archive:before{content:"\f501"}.dashicons-media-audio:before{content:"\f500"}.dashicons-media-code:before{content:"\f499"}.dashicons-media-default:before{content:"\f498"}.dashicons-media-document:before{content:"\f497"}.dashicons-media-interactive:before{content:"\f496"}.dashicons-media-spreadsheet:before{content:"\f495"}.dashicons-media-text:before{content:"\f491"}.dashicons-media-video:before{content:"\f490"}.dashicons-playlist-audio:before{content:"\f492"}.dashicons-playlist-video:before{content:"\f493"}.dashicons-controls-play:before{content:"\f522"}.dashicons-controls-pause:before{content:"\f523"}.dashicons-controls-forward:before{content:"\f519"}.dashicons-controls-skipforward:before{content:"\f517"}.dashicons-controls-back:before{content:"\f518"}.dashicons-controls-skipback:before{content:"\f516"}.dashicons-controls-repeat:before{content:"\f515"}.dashicons-controls-volumeon:before{content:"\f521"}.dashicons-controls-volumeoff:before{content:"\f520"}.dashicons-yes:before{content:"\f147"}.dashicons-no:before{content:"\f158"}.dashicons-no-alt:before{content:"\f335"}.dashicons-plus:before{content:"\f132"}.dashicons-plus-alt:before{content:"\f502"}.dashicons-minus:before{content:"\f460"}.dashicons-dismiss:before{content:"\f153"}.dashicons-marker:before{content:"\f159"}.dashicons-star-filled:before{content:"\f155"}.dashicons-star-half:before{content:"\f459"}.dashicons-star-empty:before{content:"\f154"}.dashicons-flag:before{content:"\f227"}.dashicons-share1:before,.dashicons-share:before{content:"\f237"}.dashicons-share-alt:before{content:"\f240"}.dashicons-share-alt2:before{content:"\f242"}.dashicons-twitter:before{content:"\f301"}.dashicons-rss:before{content:"\f303"}.dashicons-email:before{content:"\f465"}.dashicons-email-alt:before{content:"\f466"}.dashicons-facebook:before{content:"\f304"}.dashicons-facebook-alt:before{content:"\f305"}.dashicons-networking:before{content:"\f325"}.dashicons-googleplus:before{content:"\f462"}.dashicons-location:before{content:"\f230"}.dashicons-location-alt:before{content:"\f231"}.dashicons-camera:before{content:"\f306"}.dashicons-images-alt:before{content:"\f232"}.dashicons-images-alt2:before{content:"\f233"}.dashicons-video-alt:before{content:"\f234"}.dashicons-video-alt2:before{content:"\f235"}.dashicons-video-alt3:before{content:"\f236"}.dashicons-vault:before{content:"\f178"}.dashicons-shield:before{content:"\f332"}.dashicons-shield-alt:before{content:"\f334"}.dashicons-sos:before{content:"\f468"}.dashicons-search:before{content:"\f179"}.dashicons-slides:before{content:"\f181"}.dashicons-analytics:before{content:"\f183"}.dashicons-chart-pie:before{content:"\f184"}.dashicons-chart-bar:before{content:"\f185"}.dashicons-chart-line:before{content:"\f238"}.dashicons-chart-area:before{content:"\f239"}.dashicons-groups:before{content:"\f307"}.dashicons-businessman:before{content:"\f338"}.dashicons-id:before{content:"\f336"}.dashicons-id-alt:before{content:"\f337"}.dashicons-products:before{content:"\f312"}.dashicons-awards:before{content:"\f313"}.dashicons-forms:before{content:"\f314"}.dashicons-testimonial:before{content:"\f473"}.dashicons-portfolio:before{content:"\f322"}.dashicons-book:before{content:"\f330"}.dashicons-book-alt:before{content:"\f331"}.dashicons-download:before{content:"\f316"}.dashicons-upload:before{content:"\f317"}.dashicons-backup:before{content:"\f321"}.dashicons-clock:before{content:"\f469"}.dashicons-lightbulb:before{content:"\f339"}.dashicons-microphone:before{content:"\f482"}.dashicons-desktop:before{content:"\f472"}.dashicons-tablet:before{content:"\f471"}.dashicons-smartphone:before{content:"\f470"}.dashicons-phone:before{content:"\f525"}.dashicons-smiley:before{content:"\f328"}.dashicons-index-card:before{content:"\f510"}.dashicons-carrot:before{content:"\f511"}.dashicons-building:before{content:"\f512"}.dashicons-store:before{content:"\f513"}.dashicons-album:before{content:"\f514"}.dashicons-palmtree:before{content:"\f527"}.dashicons-tickets-alt:before{content:"\f524"}.dashicons-money:before{content:"\f526"}
\ No newline at end of file
index 7d59c9d3884dd9369a02ab00756fc14ee9131724..cb773388085eb8ea6d19e15e3eb78674f43a5bdc 100644 (file)
 }
 
 /* TinyMCE windows */
-#mce-modal-block.mce-in {
+#mce-modal-block,
+#mce-modal-block.mce-fade {
        opacity: 0.7;
        filter: alpha(opacity=70);
+       -webkit-transition: none;
+       transition: none;
 }
 
 .mce-window {
@@ -24,6 +27,8 @@
        -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;
+       -webkit-transition: none;
+       transition: none;
 }
 
 .mce-window .mce-container-body.mce-abs-layout {
@@ -66,7 +71,7 @@
 }
 
 .mce-window .mce-window-head .mce-close:hover:before {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .mce-window .mce-window-head .mce-dragh {
@@ -155,7 +160,7 @@ div.mce-toolbar-grp {
 }
 
 div.mce-inline-toolbar-grp {
-       border: 1px solid #aaa;
+       border: 1px solid #a0a5aa;
        -webkit-border-radius: 2px;
        border-radius: 2px;
        -webkit-box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.15 );
@@ -165,7 +170,6 @@ div.mce-inline-toolbar-grp {
        box-sizing: border-box;
        margin-bottom: 8px;
        position: absolute;
-       visibility: hidden;
        -moz-user-select: none;
        -webkit-user-select: none;
        -ms-user-select: none;
@@ -173,7 +177,7 @@ div.mce-inline-toolbar-grp {
        z-index: 100100; /* Same as the other TinyMCE "panels" */
 }
 
-div.mce-wp-image-toolbar > div.mce-stack-layout {
+div.mce-inline-toolbar-grp > div.mce-stack-layout {
        padding: 1px;
 }
 
@@ -196,14 +200,14 @@ div.mce-inline-toolbar-grp:after {
 
 div.mce-inline-toolbar-grp.mce-arrow-up:before {
        top: -18px;
-       border-bottom-color: #aaa;
+       border-bottom-color: #a0a5aa;
        border-width: 9px;
        margin-right: -9px;
 }
 
 div.mce-inline-toolbar-grp.mce-arrow-down:before {
        bottom: -18px;
-       border-top-color: #aaa;
+       border-top-color: #a0a5aa;
        border-width: 9px;
        margin-right: -9px;
 }
@@ -257,10 +261,6 @@ div.mce-inline-toolbar-grp.mce-arrow-full > div {
        overflow-x: auto;
 }
 
-div.mce-inline-toolbar-grp-active {
-       visibility: visible;
-}
-
 div.mce-toolbar-grp > div {
        padding: 3px;
 }
@@ -319,7 +319,7 @@ div.mce-path {
 .qt-dfw:focus {
        background: #fafafa;
        border-color: #999;
-       color: #222;
+       color: #23282d;
        -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 );
        outline: none;
@@ -348,7 +348,7 @@ div.mce-path {
 #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;
+       color: #a0a5aa;
        background: none;
        border-color: #ddd;
        text-shadow: 0 1px 0 #fff;
@@ -402,7 +402,7 @@ div.mce-path {
 
 .mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover {
     background-image: none;
-    border-color: #bbb;
+    border-color: #b4b9be;
 }
 
 .mce-toolbar .mce-btn-group .mce-btn.mce-listbox span {
@@ -426,12 +426,12 @@ div.mce-path {
 }
 
 .mce-panel .mce-btn:hover i.mce-caret {
-       border-top-color: #333;
+       border-top-color: #32373c;
 }
 
 .mce-panel .mce-active i.mce-caret {
        border-top: 0;
-       border-bottom: 6px solid #333;
+       border-bottom: 6px solid #32373c;
        margin-top: 7px;
 }
 
@@ -458,7 +458,7 @@ div.mce-path {
 .mce-menu .mce-menu-item.mce-selected,
 .mce-menu .mce-menu-item:focus {
        color: #000;
-       background-color: #bbb;
+       background-color: #b4b9be;
        background-image: none;
        -webkit-filter: none;
        filter: none;
@@ -540,7 +540,7 @@ div.mce-menu .mce-menu-item-sep,
 .mce-window .mce-btn:focus {
        background: #fafafa;
        border-color: #999;
-       color: #222;
+       color: #23282d;
 }
 
 .mce-window .mce-btn:focus {
@@ -555,13 +555,13 @@ div.mce-menu .mce-menu-item-sep,
 .mce-window .mce-btn:active {
        background: #eee;
        border-color: #999;
-       color: #333;
+       color: #32373c;
        -webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
        box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
 }
 
 .mce-window .mce-btn.mce-disabled {
-       color: #aaa;
+       color: #a0a5aa;
        border-color: #ddd;
        background: #f7f7f7;
        -webkit-box-shadow: none;
@@ -571,8 +571,8 @@ div.mce-menu .mce-menu-item-sep,
 }
 
 .mce-window .mce-btn.mce-primary {
-       background: #2ea2cc;
-       border-color: #0074a2;
+       background: #00a0d2;
+       border-color: #0073aa;
        -webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5), 0 1px 0 rgba( 0, 0, 0, 0.15 );
        box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5 ), 0 1px 0 rgba( 0, 0, 0, 0.15 );
        color: #fff;
@@ -582,7 +582,7 @@ div.mce-menu .mce-menu-item-sep,
 .mce-window .mce-btn.mce-primary:hover,
 .mce-window .mce-btn.mce-primary:focus {
        background: #1e8cbe;
-       border-color: #0074a2;
+       border-color: #0073aa;
        -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;
@@ -731,6 +731,7 @@ i.mce-i-wp-media-library,
 i.mce-i-ltr,
 i.mce-i-wp_page,
 i.mce-i-hr,
+i.mce-i-wp_code,
 i.mce-i-dashicon,
 .mce-close {
        font: normal 20px/1 'dashicons';
@@ -880,10 +881,19 @@ i.mce-i-hr:before {
        content: '\f158';
 }
 
-.mce-i-wp_code:before {
+i.mce-i-wp_code:before {
        content: '\f475';
 }
 
+/* RTL button icons */
+.rtl i.mce-i-outdent:before {
+       content: '\f222';
+}
+
+.rtl i.mce-i-indent:before {
+       content: '\f221';
+}
+
 /* Editors */
 .wp-editor-wrap {
        position: relative;
@@ -963,7 +973,7 @@ i.mce-i-hr:before {
                0 0 0 1px #5b9dd9,
                0 0 2px 1px rgba(30, 140, 190, .8);
        outline: none;
-       color: #222;
+       color: #23282d;
 }
 
 .wp-switch-editor:active,
@@ -1179,7 +1189,6 @@ i.mce-i-hr:before {
        -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;
@@ -1215,6 +1224,14 @@ i.mce-i-hr:before {
        margin-top: -250px;
 }
 
+#wp-link-wrap .wp-link-text-field {
+       display: none;
+}
+
+#wp-link-wrap.has-text-field .wp-link-text-field {
+       display: block;
+}
+
 #link-modal-title {
        background: #fcfcfc;
        border-bottom: 1px solid #dfdfdf;
@@ -1255,7 +1272,7 @@ i.mce-i-hr:before {
 
 #wp-link-close:hover,
 #wp-link-close:focus {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 #wp-link-close:focus {
@@ -1273,6 +1290,7 @@ i.mce-i-hr:before {
 }
 
 #wp-link-wrap.search-panel-visible #link-selector {
+       -webkit-overflow-scrolling: touch;
        padding: 0 16px;
        position: absolute;
        top: 36px;
@@ -1357,8 +1375,7 @@ i.mce-i-hr:before {
 }
 
 #wp-link .link-search-wrapper .spinner {
-       display: none;
-       vertical-align: text-bottom;
+       margin-top: 5px;
 }
 
 #wp-link .link-target {
@@ -1381,6 +1398,10 @@ i.mce-i-hr:before {
        right: 16px;
        left: 16px;
        bottom: 16px;
+       top: 172px;
+}
+
+.has-text-field #wp-link .query-results {
        top: 205px;
 }
 
@@ -1388,7 +1409,7 @@ i.mce-i-hr:before {
        clear: both;
        margin-bottom: 0;
        border-bottom: 1px solid #f1f1f1;
-       color: #333;
+       color: #32373c;
        padding: 4px 10px 4px 6px;
        cursor: pointer;
        position: relative;
@@ -1405,7 +1426,7 @@ i.mce-i-hr:before {
 #wp-link .query-notice .query-notice-hint {
        display: block;
        padding: 6px;
-       border-right: 4px solid #2ea2cc;
+       border-right: 4px solid #00a0d2;
 }
 
 #wp-link .unselectable.no-matches-found {
@@ -1436,12 +1457,12 @@ i.mce-i-hr:before {
 #wp-link li.unselectable:hover {
        background: #fff;
        cursor: auto;
-       color: #333;
+       color: #32373c;
 }
 
 #wp-link li.selected {
        background: #ddd;
-       color: #333;
+       color: #32373c;
 }
 
 #wp-link li.selected .item-title {
@@ -1457,6 +1478,7 @@ i.mce-i-hr:before {
        width: 80%;
        width: -webkit-calc(100% - 68px);
        width: calc(100% - 68px);
+       word-wrap: break-word;
 }
 
 #wp-link .item-info {
@@ -1482,12 +1504,6 @@ i.mce-i-hr:before {
        padding: 10px 0;
 }
 
-#wp-link .river-waiting .spinner {
-       margin: 0 auto;
-       display: block;
-       float: none;
-}
-
 #wp-link .submitbox {
        padding: 8px 16px;
        background: #fcfcfc;
@@ -1515,11 +1531,14 @@ i.mce-i-hr:before {
 
 @media screen and ( max-width: 782px ) {
        #wp-link-wrap {
-               height: 280px;
                margin-top: -140px;
        }
 
        #wp-link-wrap.search-panel-visible .query-results {
+               top: 195px;
+       }
+
+       #wp-link-wrap.search-panel-visible.has-text-field .query-results {
                top: 235px;
        }
 
@@ -1675,7 +1694,7 @@ i.mce-i-hr:before {
 
 .clearlooks2 .mceTop span,
 .clearlooks2 .mceFocus .mceTop span {
-       color: #222;
+       color: #23282d;
 }
 
 .clearlooks2 .mceClose:before {
@@ -1683,7 +1702,7 @@ i.mce-i-hr:before {
 }
 
 .clearlooks2 .mceClose:hover:before {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 */
 /* Distraction-Free Writing mode
@@ -1798,7 +1817,7 @@ i.mce-i-hr:before {
 }
 
 #wp-fullscreen-tagline {
-       color: #888;
+       color: #82878c;
        font-size: 18px;
        float: left;
        padding: 4px 0 0;
@@ -1882,7 +1901,7 @@ i.mce-i-hr:before {
     white-space: nowrap;
     width: auto;
     background: none;
-       color: #333333;
+       color: #32373c;
     cursor: pointer;
     font-size: 18px;
     line-height: 20px;
@@ -2098,12 +2117,12 @@ i.mce-i-hr:before {
        font-family: Tahoma, sans-serif;
 }
 
-/* @noflip */
+/* rtl:ignore */
 .mce-rtl .mce-flow-layout .mce-flow-layout-item > div {
        direction: rtl;
 }
 
-/* @noflip */
+/* rtl:ignore */
 .mce-rtl .mce-listbox i.mce-caret {
        left: 6px;
 }
@@ -2115,7 +2134,6 @@ html:lang(he-il) .rtl .quicktags-toolbar input  {
 
 /* HiDPI */
 @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,
index 6f1853da4c225a09073c8842e51d2b028eaf702c..fe338b5ffb71d24050c2e24d805c0cc73e85b673 100644 (file)
@@ -1 +1 @@
-.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}#mce-modal-block.mce-in{opacity:.7;filter:alpha(opacity=70)}.mce-window{-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);-webkit-font-smoothing:subpixel-antialiased}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 16px 0 36px}.mce-window .mce-window-head .mce-close{color:transparent;top:0;left:0;width:36px;height:36px;line-height:36px;text-align:center}.mce-window .mce-window-head .mce-close:before{font:400 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window .mce-window-head .mce-close:hover:before{color:#2ea2cc}.mce-window .mce-window-head .mce-dragh{width:-webkit-calc(100% - 36px);width:calc(100% - 36px)}.mce-wp-help .mce-window-head{border-bottom:none}#wp-link .query-results,.mce-checkbox i.mce-i-checkbox,.mce-textbox{border:1px solid #ddd;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);-webkit-transition:.05s all ease-in-out;transition:.05s all ease-in-out}#wp-link .query-results:focus,.mce-checkbox:focus i.mce-i-checkbox,.mce-textbox.mce-focus,.mce-textbox:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.mce-floatpanel.mce-popover,.mce-menu{border-color:rgba(0,0,0,.15);-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:2px}.mce-floatpanel .mce-arrow{display:none}.mce-menu .mce-container-body{min-width:160px}.mce-menu-item{border:none;margin-bottom:2px}.mce-menu-has-icons i.mce-ico{line-height:20px}div.mce-panel{border:0;background:#fff;-webkit-filter:none;filter:none}.mce-panel.mce-menu{border:1px solid #ddd}div.mce-tab{line-height:13px}div.mce-toolbar-grp{border-bottom:1px solid #dedede;background:#f5f5f5;padding:0;position:relative}div.mce-inline-toolbar-grp{border:1px solid #aaa;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:8px;position:absolute;visibility:hidden;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;z-index:100100}div.mce-wp-image-toolbar>div.mce-stack-layout{padding:1px}div.mce-inline-toolbar-grp.mce-arrow-up{margin-bottom:0;margin-top:8px}div.mce-inline-toolbar-grp:after,div.mce-inline-toolbar-grp:before{position:absolute;right:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:''}div.mce-inline-toolbar-grp.mce-arrow-up:before{top:-18px;border-bottom-color:#aaa;border-width:9px;margin-right:-9px}div.mce-inline-toolbar-grp.mce-arrow-down:before{bottom:-18px;border-top-color:#aaa;border-width:9px;margin-right:-9px}div.mce-inline-toolbar-grp.mce-arrow-up:after{top:-16px;border-bottom-color:#f5f5f5;border-width:8px;margin-right:-8px}div.mce-inline-toolbar-grp.mce-arrow-down:after{bottom:-16px;border-top-color:#f5f5f5;border-width:8px;margin-right:-8px}div.mce-inline-toolbar-grp.mce-arrow-left:after,div.mce-inline-toolbar-grp.mce-arrow-left:before{margin:0}div.mce-inline-toolbar-grp.mce-arrow-left:before{right:20px}div.mce-inline-toolbar-grp.mce-arrow-left:after{right:21px}div.mce-inline-toolbar-grp.mce-arrow-right:after,div.mce-inline-toolbar-grp.mce-arrow-right:before{right:auto;margin:0}div.mce-inline-toolbar-grp.mce-arrow-right:before{left:20px}div.mce-inline-toolbar-grp.mce-arrow-right:after{left:21px}div.mce-inline-toolbar-grp.mce-arrow-full{left:0}div.mce-inline-toolbar-grp.mce-arrow-full>div{width:100%;overflow-x:auto}div.mce-inline-toolbar-grp-active{visibility:visible}div.mce-toolbar-grp>div{padding:3px}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-left:32px}.mce-toolbar .mce-btn-group{margin:0}div.mce-statusbar{border-top:1px solid #e5e5e5}div.mce-path{padding:2px 10px;margin:0}.mce-path,.mce-path .mce-divider,.mce-path-item{font-size:12px;line-height:18px}.mce-toolbar .mce-btn,.qt-dfw{border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;cursor:pointer}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn,.qt-dfw{border:1px solid transparent;margin:2px;background-image:none;-webkit-border-radius:2px;border-radius:2px;-webkit-filter:none;filter:none}#wp-fullscreen-buttons .mce-btn:focus,#wp-fullscreen-buttons .mce-btn:hover,.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-dfw:focus,.qt-dfw:hover{background:#fafafa;border-color:#999;color:#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);outline:0}#wp-fullscreen-buttons .mce-btn.mce-active,#wp-fullscreen-buttons .mce-btn:active,.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active,.qt-dfw.active{background:#ebebeb;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#555}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover i.mce-ico{color:#555}#wp-fullscreen-buttons .mce-btn.mce-disabled:focus,#wp-fullscreen-buttons .mce-btn.mce-disabled:hover,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#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-dfw{padding:2px 3px;line-height:normal}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-left:0}.mce-toolbar .mce-colorbutton .mce-preview{margin:0;padding:0;top:auto;bottom:2px;right:3px;height:3px;width:20px}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{-webkit-border-radius:0;border-radius:0;direction:rtl;background:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{background-image:none;border-color:#bbb}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox span{font-size:13px}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #777;margin-right:2px;margin-left:2px}.mce-listbox i.mce-caret{left:6px}.mce-panel .mce-btn button.mce-open i.mce-caret,.mce-panel .mce-btn.mce-listbox i.mce-caret{margin-right:0;margin-left:0}.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#333}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #333;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-left-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:none;box-shadow:none}.mce-menu .mce-menu-item-normal.mce-active{background-color:#e5e5e5;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{color:#000;background-color:#bbb;background-image:none;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-active:hover .mce-text,.mce-menu .mce-menu-item.mce-selected .mce-ico,.mce-menu .mce-menu-item.mce-selected .mce-text,.mce-menu .mce-menu-item:focus .mce-ico,.mce-menu .mce-menu-item:hover .mce-ico,.mce-menu .mce-menu-item:hover .mce-text{color:#000}.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}.mce-menubar .mce-btn:focus{outline:0}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{margin:5px 0 4px}.mce-menubtn span{margin-left:0;padding-right:3px}.mce-menu-has-icons i.mce-ico:before{margin-right:-2px}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}.mce-window .mce-btn::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.mce-window .mce-btn:focus,.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#222}.mce-window .mce-btn:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.mce-window .mce-btn.mce-disabled{color:#aaa;border-color:#ddd;background:#f7f7f7;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 1px 0 #fff;cursor:default}.mce-window .mce-btn.mce-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.mce-window .mce-btn.mce-primary:focus,.mce-window .mce-btn.mce-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.mce-window .mce-btn.mce-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn.mce-primary:active{background:#1b7aa6;border-color:#005684;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);vertical-align:top}.mce-window .mce-btn.mce-primary.mce-disabled{color:#94cde7;background:#298cba;border-color:#1b607f;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 -1px 0 rgba(0,0,0,.1);cursor:default}.mce-menubtn.mce-fixed-width button span{max-width:80px;padding-left:16px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#dfdfdf;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-tooltip{margin-top:2px}.mce-tooltip-inner{-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#777;line-height:20px;width:20px;height:20px;text-align:center;text-shadow:none;margin:0;padding:0}.qt-dfw{color:#777;line-height:20px;width:28px;height:26px;text-align:center;text-shadow:none}.mce-toolbar .mce-btn .mce-open{line-height:20px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-right-color:#999}.mce-close,i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-backcolor,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-dashicon,i.mce-i-dfw,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:400 20px/1 dashicons;padding:0 0 0 2px;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-right:-2px}.qt-dfw{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:'\f200'}i.mce-i-italic:before{content:'\f201'}i.mce-i-bullist:before{content:'\f203'}i.mce-i-numlist:before{content:'\f204'}i.mce-i-blockquote:before{content:'\f205'}i.mce-i-alignleft:before{content:'\f206'}i.mce-i-aligncenter:before{content:'\f207'}i.mce-i-alignright:before{content:'\f208'}i.mce-i-link:before{content:'\f103'}i.mce-i-unlink:before{content:'\f225'}i.mce-i-wp_more:before{content:'\f209'}i.mce-i-strikethrough:before{content:'\f224'}i.mce-i-spellchecker:before{content:'\f210'}.qt-dfw:before,i.mce-i-dfw:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:'\f211'}i.mce-i-wp_adv:before{content:'\f212'}i.mce-i-underline:before{content:'\f213'}i.mce-i-alignjustify:before{content:'\f214'}i.mce-i-backcolor:before,i.mce-i-forecolor:before{content:'\f215'}i.mce-i-pastetext:before{content:'\f217'}i.mce-i-removeformat:before{content:'\f218'}i.mce-i-charmap:before{content:'\f220'}i.mce-i-outdent:before{content:'\f221'}i.mce-i-indent:before{content:'\f222'}i.mce-i-undo:before{content:'\f171'}i.mce-i-redo:before{content:'\f172'}i.mce-i-help:before,i.mce-i-wp_help:before{content:'\f223'}i.mce-i-wp-media-library:before{content:'\f104'}i.mce-i-ltr:before{content:'\f320'}i.mce-i-wp_page:before{content:'\f105'}i.mce-i-hr:before{content:'\f460'}.mce-close:before{content:'\f158'}.mce-i-wp_code:before{content:'\f475'}.wp-editor-wrap{position:relative}.wp-editor-tools{position:relative;z-index:1}.wp-editor-tools:after{clear:both;content:'';display:table}.wp-editor-container{clear:both}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0;outline:0;display:block;resize:vertical;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.rtl .wp-editor-area{font-family:Tahoma,Monaco,monospace}.locale-he-il .wp-editor-area{font-family:Arial,Monaco,monospace}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.wp-editor-tabs{float:left}.wp-switch-editor{float:right;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;position:relative;top:1px;background:#ebebeb;color:#777;cursor:pointer;font:13px/19px "Open Sans",sans-serif;height:20px;margin:5px 5px 0 0;padding:3px 8px 4px;border:1px solid #e5e5e5}.wp-switch-editor:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);outline:0;color:#222}.html-active .switch-html:focus,.tmce-active .switch-tmce:focus,.wp-switch-editor:active{-webkit-box-shadow:none;box-shadow:none}.wp-switch-editor:active{background-color:#f5f5f5;-webkit-box-shadow:none;box-shadow:none}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;border-bottom-color:#f5f5f5}.wp-media-buttons{float:right}.wp-media-buttons .button{margin-left:5px;margin-bottom:4px;padding-right:7px;padding-left:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-right:5px}.wp-media-buttons a{text-decoration:none;color:#464646;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f104'}.quicktags-toolbar{padding:3px;position:relative;border-bottom:1px solid #dedede;background:#f5f5f5}.has-dfw .quicktags-toolbar{padding-left:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:700}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw,.qt-dfw{position:absolute;top:0;left:0;margin:5px 0 0 5px}.qt-fullscreen{position:static;margin:2px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-dfw{padding:6px 7px}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-dfw{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw{margin:4px 0 0 4px}.mce-toolbar .mce-colorbutton .mce-preview{right:8px;bottom:6px}.mce-window .mce-btn{padding:2px 0}.has-dfw .quicktags-toolbar,.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-left:40px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:500px;height:250px;overflow:hidden;margin-right:-250px;margin-top:-125px;position:fixed;top:50%;right:50%;z-index:100105;-webkit-transition:height .2s,margin-top .2s;transition:height .2s,margin-top .2s}#wp-link-backdrop{display:none;position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap.search-panel-visible{height:500px;margin-top:-250px}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px;top:0;left:0;right:0}#wp-link-close{color:#666;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}#wp-link-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:'\f158'}#wp-link-close:focus,#wp-link-close:hover{color:#2ea2cc}#wp-link-close:focus{outline:0;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#link-selector{padding:0 16px 50px}#wp-link-wrap.search-panel-visible #link-selector{padding:0 16px;position:absolute;top:36px;right:0;left:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link-search-toggle:after{display:inline-block;font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140'}.search-panel-visible #wp-link-search-toggle:after{content:'\f142'}#wp-link input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-link #link-options{padding:8px 0 12px}#wp-link p.howto{margin:3px 0}#wp-link p.howto a{text-decoration:none;color:inherit}#wp-link-search-toggle{cursor:pointer}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:left;padding-left:5px;max-width:24%}#wp-link .link-search-field{float:right;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:right;margin-top:4px}#wp-link .link-search-wrapper .spinner{display:none;vertical-align:text-bottom}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px solid #dfdfdf;margin:0;background:#fff;overflow:auto;position:absolute;right:16px;left:16px;bottom:16px;top:205px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#333;padding:4px 10px 4px 6px;cursor:pointer;position:relative}#wp-link .query-notice{padding:0;border-bottom:1px solid #dfdfdf;background-color:#f7fcfe;color:#000}#wp-link .query-notice .query-notice-default,#wp-link .query-notice .query-notice-hint{display:block;padding:6px;border-right:4px solid #2ea2cc}#wp-link .unselectable.no-matches-found{padding:0;border-bottom:1px solid #dfdfdf;background-color:#fef7f1}#wp-link .no-matches-found .item-title{display:block;padding:6px;border-right:4px solid #d54e21}#wp-link .query-results em{font-style:normal}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#333}#wp-link li.selected{background:#ddd;color:#333}#wp-link li.selected .item-title{font-weight:700}#wp-link li:last-child{border:none}#wp-link .item-title{display:inline-block;width:80%;width:-webkit-calc(100% - 68px);width:calc(100% - 68px)}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;left:5px;top:5px}#wp-link #search-panel,#wp-link #search-results{display:none}#wp-link-wrap.search-panel-visible #search-panel{display:block}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting .spinner{margin:0 auto;display:block;float:none}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;right:0;left:0}#wp-link-cancel{line-height:25px;float:right}#wp-link-update{line-height:23px;float:left}#wp-link-submit{float:left;margin-bottom:0}@media screen and (max-width:782px){#wp-link-wrap{height:280px;margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap.search-panel-visible #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-right:0;right:10px;left:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{-webkit-transition:none;transition:none}#wp-link-wrap.search-panel-visible{height:auto;margin-top:0;top:10px;bottom:10px}.search-panel-visible #link-selector{overflow:auto}.search-panel-visible #search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:-webkit-calc(100% - 92px);height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}.fullscreen-overlay{z-index:100005;display:none;position:fixed;top:0;bottom:0;right:0;left:0;-webkit-filter:inherit;filter:inherit}.wp-fullscreen-active #wp-fullscreen-body,.wp-fullscreen-active .fullscreen-overlay{display:block}.fullscreen-fader{z-index:200000}.wp-core-ui.wp-fullscreen-active .postbox-container,.wp-fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body,.mce-fullscreen{z-index:100010}#wp-fullscreen-body{display:none}.wp-fullscreen-wrap{margin:0;padding:0;position:absolute;right:0;left:0;bottom:30px;top:60px;z-index:100015}#wp-fullscreen-central-toolbar,.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%}.wp-fullscreen-active .mce-statusbar,.wp-fullscreen-active .mce-toolbar-grp,.wp-fullscreen-active .quicktags-toolbar,.wp-fullscreen-active .wp-editor-tools{display:none}#wp-fullscreen-statusbar{position:fixed;right:0;left:0;bottom:0;height:30px;z-index:100020;background:#fff;-webkit-transition:height .2s;transition:height .2s}#wp-fullscreen-status{margin:0 auto;padding:0}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title,.wp-fullscreen-active .wp-fullscreen-title:focus{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color .4s;transition:border-color .4s}.wp-fullscreen-active .wp-editor-container{margin:0 auto 40px}.wp-fullscreen-active .wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:0;padding:3px 7px;margin:10px auto 30px;display:block}#wp-fullscreen-tagline{color:#888;font-size:18px;float:left;padding:4px 0 0}#fullscreen-topbar{background:#f5f5f5;border-bottom:1px solid #dedede;height:45px;position:fixed;right:0;left:0;top:0;width:100%;z-index:100020;-webkit-transition:opacity .4s;transition:opacity .4s}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;margin:0 auto}#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-mode-bar{float:right}#wp-fullscreen-count,#wp-fullscreen-tagline{display:inline-block}#wp-fullscreen-button-bar{margin-top:2px}#wp-fullscreen-save{float:left;padding:2px 0 0;min-width:95px}#wp-fullscreen-close,#wp-fullscreen-count{padding:5px 0 0}#wp-fullscreen-central-toolbar{margin:auto;padding:0;min-width:620px}#wp-fullscreen-buttons>div{float:right}#wp-fullscreen-mode-bar{padding:3px 0 0 14px}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}#wp-fullscreen-buttons .mce-btn button{margin:0;outline:0;border:0;white-space:nowrap;width:auto;background:0 0;color:#333;cursor:pointer;font-size:18px;line-height:20px;overflow:visible;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save span{display:none;margin:5px 6px 0;float:right}.wp-fullscreen-active #TB_overlay{z-index:100050}.wp-fullscreen-active #TB_window{z-index:100051}.fullscreen-overlay{background:#fff}.wp-fullscreen-active #fullscreen-topbar{-webkit-transition-duration:.8s;transition-duration:.8s;opacity:0;filter:alpha(opacity=0)}.wp-fullscreen-active #wp-fullscreen-statusbar{height:0}.wp-fullscreen-active.wp-dfw-show-ui #fullscreen-topbar{-webkit-transition-duration:.4s;transition-duration:.4s;opacity:1;filter:alpha(opacity=100)}.wp-fullscreen-active.wp-dfw-show-ui #wp-fullscreen-statusbar{height:29px;background:#f8f8f8;border-top:1px solid #eee}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title{-webkit-transition-duration:.8s;transition-duration:.8s;border-color:transparent}.wp-fullscreen-active.wp-dfw-show-ui .wp-editor-container,.wp-fullscreen-active.wp-dfw-show-ui .wp-fullscreen-title{-webkit-transition-duration:.4s;transition-duration:.4s;border-color:#ccc}.fade-1000,.fade-300,.fade-400,.fade-600{opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-1000{-webkit-transition-duration:1s;transition-duration:1s}.fade-600{-webkit-transition-duration:.6s;transition-duration:.6s}.fade-400{-webkit-transition-duration:.4s;transition-duration:.4s}.fade-300{-webkit-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.wp-dfw-touch #fullscreen-topbar{position:absolute;opacity:1}.wp-dfw-touch .wp-fullscreen-title,.wp-dfw-touch .wp-fullscreen-wrap .wp-editor-container{max-width:700px}.wp-fullscreen-active.wp-dfw-touch .wp-editor-container,.wp-fullscreen-active.wp-dfw-touch .wp-fullscreen-title{border-color:#ccc}.wp-dfw-touch #wp-fullscreen-statusbar{height:30px}@media screen and (max-width:782px){#wp-fullscreen-button-bar,#wp-fullscreen-central-toolbar,#wp-fullscreen-close,#wp-fullscreen-mode-bar,#wp-fullscreen-save{display:inline-block}#fullscreen-topbar{height:85px}#wp-fullscreen-central-toolbar{width:auto!important;min-width:0}#wp-fullscreen-close{line-height:30px;vertical-align:top;padding:0 12px}#wp-fullscreen-button-bar{position:absolute;top:45px;right:0}.wp-fullscreen-wrap{top:95px}#wp-fullscreen-save{position:absolute;left:10px}}@media screen and (max-width:480px){#wp_fs_help{display:none}.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{width:480px!important}body.wp-fullscreen-active{width:480px;overflow:auto}#fullscreen-topbar,.wp-fullscreen-wrap{width:480px}#fullscreen-topbar{position:absolute}#wp-fullscreen-status{width:auto!important;max-width:100%;padding:0 10px}}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#wp-fullscreen-buttons #wp_fs_image span.mce_image,.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
+.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}#mce-modal-block,#mce-modal-block.mce-fade{opacity:.7;filter:alpha(opacity=70);-webkit-transition:none;transition:none}.mce-window{-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);-webkit-font-smoothing:subpixel-antialiased;-webkit-transition:none;transition:none}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 16px 0 36px}.mce-window .mce-window-head .mce-close{color:transparent;top:0;left:0;width:36px;height:36px;line-height:36px;text-align:center}.mce-window .mce-window-head .mce-close:before{font:400 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window .mce-window-head .mce-close:hover:before{color:#00a0d2}.mce-window .mce-window-head .mce-dragh{width:-webkit-calc(100% - 36px);width:calc(100% - 36px)}.mce-wp-help .mce-window-head{border-bottom:none}#wp-link .query-results,.mce-checkbox i.mce-i-checkbox,.mce-textbox{border:1px solid #ddd;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);-webkit-transition:.05s all ease-in-out;transition:.05s all ease-in-out}#wp-link .query-results:focus,.mce-checkbox:focus i.mce-i-checkbox,.mce-textbox.mce-focus,.mce-textbox:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.mce-floatpanel.mce-popover,.mce-menu{border-color:rgba(0,0,0,.15);-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:2px}.mce-floatpanel .mce-arrow{display:none}.mce-menu .mce-container-body{min-width:160px}.mce-menu-item{border:none;margin-bottom:2px}.mce-menu-has-icons i.mce-ico{line-height:20px}div.mce-panel{border:0;background:#fff;-webkit-filter:none;filter:none}.mce-panel.mce-menu{border:1px solid #ddd}div.mce-tab{line-height:13px}div.mce-toolbar-grp{border-bottom:1px solid #dedede;background:#f5f5f5;padding:0;position:relative}div.mce-inline-toolbar-grp{border:1px solid #a0a5aa;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:8px;position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;z-index:100100}div.mce-inline-toolbar-grp>div.mce-stack-layout{padding:1px}div.mce-inline-toolbar-grp.mce-arrow-up{margin-bottom:0;margin-top:8px}div.mce-inline-toolbar-grp:after,div.mce-inline-toolbar-grp:before{position:absolute;right:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:''}div.mce-inline-toolbar-grp.mce-arrow-up:before{top:-18px;border-bottom-color:#a0a5aa;border-width:9px;margin-right:-9px}div.mce-inline-toolbar-grp.mce-arrow-down:before{bottom:-18px;border-top-color:#a0a5aa;border-width:9px;margin-right:-9px}div.mce-inline-toolbar-grp.mce-arrow-up:after{top:-16px;border-bottom-color:#f5f5f5;border-width:8px;margin-right:-8px}div.mce-inline-toolbar-grp.mce-arrow-down:after{bottom:-16px;border-top-color:#f5f5f5;border-width:8px;margin-right:-8px}div.mce-inline-toolbar-grp.mce-arrow-left:after,div.mce-inline-toolbar-grp.mce-arrow-left:before{margin:0}div.mce-inline-toolbar-grp.mce-arrow-left:before{right:20px}div.mce-inline-toolbar-grp.mce-arrow-left:after{right:21px}div.mce-inline-toolbar-grp.mce-arrow-right:after,div.mce-inline-toolbar-grp.mce-arrow-right:before{right:auto;margin:0}div.mce-inline-toolbar-grp.mce-arrow-right:before{left:20px}div.mce-inline-toolbar-grp.mce-arrow-right:after{left:21px}div.mce-inline-toolbar-grp.mce-arrow-full{left:0}div.mce-inline-toolbar-grp.mce-arrow-full>div{width:100%;overflow-x:auto}div.mce-toolbar-grp>div{padding:3px}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-left:32px}.mce-toolbar .mce-btn-group{margin:0}div.mce-statusbar{border-top:1px solid #e5e5e5}div.mce-path{padding:2px 10px;margin:0}.mce-path,.mce-path .mce-divider,.mce-path-item{font-size:12px;line-height:18px}.mce-toolbar .mce-btn,.qt-dfw{border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;cursor:pointer}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn,.qt-dfw{border:1px solid transparent;margin:2px;background-image:none;-webkit-border-radius:2px;border-radius:2px;-webkit-filter:none;filter:none}#wp-fullscreen-buttons .mce-btn:focus,#wp-fullscreen-buttons .mce-btn:hover,.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-dfw:focus,.qt-dfw:hover{background:#fafafa;border-color:#999;color:#23282d;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);outline:0}#wp-fullscreen-buttons .mce-btn.mce-active,#wp-fullscreen-buttons .mce-btn:active,.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active,.qt-dfw.active{background:#ebebeb;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#555}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover i.mce-ico{color:#555}#wp-fullscreen-buttons .mce-btn.mce-disabled:focus,#wp-fullscreen-buttons .mce-btn.mce-disabled:hover,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#a0a5aa;background:0 0;border-color:#ddd;text-shadow:0 1px 0 #fff;-webkit-box-shadow:none;box-shadow:none}.mce-toolbar .mce-btn-group .mce-first,.mce-toolbar .mce-btn-group .mce-last{border-color:transparent}.mce-toolbar .mce-btn button,.qt-dfw{padding:2px 3px;line-height:normal}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-left:0}.mce-toolbar .mce-colorbutton .mce-preview{margin:0;padding:0;top:auto;bottom:2px;right:3px;height:3px;width:20px}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{-webkit-border-radius:0;border-radius:0;direction:rtl;background:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{background-image:none;border-color:#b4b9be}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox span{font-size:13px}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #777;margin-right:2px;margin-left:2px}.mce-listbox i.mce-caret{left:6px}.mce-panel .mce-btn button.mce-open i.mce-caret,.mce-panel .mce-btn.mce-listbox i.mce-caret{margin-right:0;margin-left:0}.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#32373c}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #32373c;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-left-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:none;box-shadow:none}.mce-menu .mce-menu-item-normal.mce-active{background-color:#e5e5e5;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{color:#000;background-color:#b4b9be;background-image:none;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-active:hover .mce-text,.mce-menu .mce-menu-item.mce-selected .mce-ico,.mce-menu .mce-menu-item.mce-selected .mce-text,.mce-menu .mce-menu-item:focus .mce-ico,.mce-menu .mce-menu-item:hover .mce-ico,.mce-menu .mce-menu-item:hover .mce-text{color:#000}.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}.mce-menubar .mce-btn:focus{outline:0}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{margin:5px 0 4px}.mce-menubtn span{margin-left:0;padding-right:3px}.mce-menu-has-icons i.mce-ico:before{margin-right:-2px}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}.mce-window .mce-btn::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.mce-window .mce-btn:focus,.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#23282d}.mce-window .mce-btn:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn:active{background:#eee;border-color:#999;color:#32373c;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.mce-window .mce-btn.mce-disabled{color:#a0a5aa;border-color:#ddd;background:#f7f7f7;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 1px 0 #fff;cursor:default}.mce-window .mce-btn.mce-primary{background:#00a0d2;border-color:#0073aa;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.mce-window .mce-btn.mce-primary:focus,.mce-window .mce-btn.mce-primary:hover{background:#1e8cbe;border-color:#0073aa;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.mce-window .mce-btn.mce-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn.mce-primary:active{background:#1b7aa6;border-color:#005684;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);vertical-align:top}.mce-window .mce-btn.mce-primary.mce-disabled{color:#94cde7;background:#298cba;border-color:#1b607f;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 -1px 0 rgba(0,0,0,.1);cursor:default}.mce-menubtn.mce-fixed-width button span{max-width:80px;padding-left:16px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#dfdfdf;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-tooltip{margin-top:2px}.mce-tooltip-inner{-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#777;line-height:20px;width:20px;height:20px;text-align:center;text-shadow:none;margin:0;padding:0}.qt-dfw{color:#777;line-height:20px;width:28px;height:26px;text-align:center;text-shadow:none}.mce-toolbar .mce-btn .mce-open{line-height:20px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-right-color:#999}.mce-close,i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-backcolor,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-dashicon,i.mce-i-dfw,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_code,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:400 20px/1 dashicons;padding:0 0 0 2px;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-right:-2px}.qt-dfw{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:'\f200'}i.mce-i-italic:before{content:'\f201'}i.mce-i-bullist:before{content:'\f203'}i.mce-i-numlist:before{content:'\f204'}i.mce-i-blockquote:before{content:'\f205'}i.mce-i-alignleft:before{content:'\f206'}i.mce-i-aligncenter:before{content:'\f207'}i.mce-i-alignright:before{content:'\f208'}i.mce-i-link:before{content:'\f103'}i.mce-i-unlink:before{content:'\f225'}i.mce-i-wp_more:before{content:'\f209'}i.mce-i-strikethrough:before{content:'\f224'}i.mce-i-spellchecker:before{content:'\f210'}.qt-dfw:before,i.mce-i-dfw:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:'\f211'}i.mce-i-wp_adv:before{content:'\f212'}i.mce-i-underline:before{content:'\f213'}i.mce-i-alignjustify:before{content:'\f214'}i.mce-i-backcolor:before,i.mce-i-forecolor:before{content:'\f215'}i.mce-i-pastetext:before{content:'\f217'}i.mce-i-removeformat:before{content:'\f218'}i.mce-i-charmap:before{content:'\f220'}i.mce-i-outdent:before{content:'\f221'}i.mce-i-indent:before{content:'\f222'}i.mce-i-undo:before{content:'\f171'}i.mce-i-redo:before{content:'\f172'}i.mce-i-help:before,i.mce-i-wp_help:before{content:'\f223'}i.mce-i-wp-media-library:before{content:'\f104'}i.mce-i-ltr:before{content:'\f320'}i.mce-i-wp_page:before{content:'\f105'}i.mce-i-hr:before{content:'\f460'}.mce-close:before{content:'\f158'}i.mce-i-wp_code:before{content:'\f475'}.rtl i.mce-i-outdent:before{content:'\f222'}.rtl i.mce-i-indent:before{content:'\f221'}.wp-editor-wrap{position:relative}.wp-editor-tools{position:relative;z-index:1}.wp-editor-tools:after{clear:both;content:'';display:table}.wp-editor-container{clear:both}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0;outline:0;display:block;resize:vertical;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.rtl .wp-editor-area{font-family:Tahoma,Monaco,monospace}.locale-he-il .wp-editor-area{font-family:Arial,Monaco,monospace}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.wp-editor-tabs{float:left}.wp-switch-editor{float:right;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;position:relative;top:1px;background:#ebebeb;color:#777;cursor:pointer;font:13px/19px "Open Sans",sans-serif;height:20px;margin:5px 5px 0 0;padding:3px 8px 4px;border:1px solid #e5e5e5}.wp-switch-editor:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);outline:0;color:#23282d}.html-active .switch-html:focus,.tmce-active .switch-tmce:focus,.wp-switch-editor:active{-webkit-box-shadow:none;box-shadow:none}.wp-switch-editor:active{background-color:#f5f5f5;-webkit-box-shadow:none;box-shadow:none}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;border-bottom-color:#f5f5f5}.wp-media-buttons{float:right}.wp-media-buttons .button{margin-left:5px;margin-bottom:4px;padding-right:7px;padding-left:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-right:5px}.wp-media-buttons a{text-decoration:none;color:#464646;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f104'}.quicktags-toolbar{padding:3px;position:relative;border-bottom:1px solid #dedede;background:#f5f5f5}.has-dfw .quicktags-toolbar{padding-left:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:700}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw,.qt-dfw{position:absolute;top:0;left:0;margin:5px 0 0 5px}.qt-fullscreen{position:static;margin:2px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-dfw{padding:6px 7px}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-dfw{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw{margin:4px 0 0 4px}.mce-toolbar .mce-colorbutton .mce-preview{right:8px;bottom:6px}.mce-window .mce-btn{padding:2px 0}.has-dfw .quicktags-toolbar,.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-left:40px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:500px;overflow:hidden;margin-right:-250px;margin-top:-125px;position:fixed;top:50%;right:50%;z-index:100105;-webkit-transition:height .2s,margin-top .2s;transition:height .2s,margin-top .2s}#wp-link-backdrop{display:none;position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap.search-panel-visible{height:500px;margin-top:-250px}#wp-link-wrap .wp-link-text-field{display:none}#wp-link-wrap.has-text-field .wp-link-text-field{display:block}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px;top:0;left:0;right:0}#wp-link-close{color:#666;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}#wp-link-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:'\f158'}#wp-link-close:focus,#wp-link-close:hover{color:#00a0d2}#wp-link-close:focus{outline:0;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#link-selector{padding:0 16px 50px}#wp-link-wrap.search-panel-visible #link-selector{-webkit-overflow-scrolling:touch;padding:0 16px;position:absolute;top:36px;right:0;left:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link-search-toggle:after{display:inline-block;font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140'}.search-panel-visible #wp-link-search-toggle:after{content:'\f142'}#wp-link input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-link #link-options{padding:8px 0 12px}#wp-link p.howto{margin:3px 0}#wp-link p.howto a{text-decoration:none;color:inherit}#wp-link-search-toggle{cursor:pointer}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:left;padding-left:5px;max-width:24%}#wp-link .link-search-field{float:right;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:right;margin-top:4px}#wp-link .link-search-wrapper .spinner{margin-top:5px}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px solid #dfdfdf;margin:0;background:#fff;overflow:auto;position:absolute;right:16px;left:16px;bottom:16px;top:172px}.has-text-field #wp-link .query-results{top:205px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#32373c;padding:4px 10px 4px 6px;cursor:pointer;position:relative}#wp-link .query-notice{padding:0;border-bottom:1px solid #dfdfdf;background-color:#f7fcfe;color:#000}#wp-link .query-notice .query-notice-default,#wp-link .query-notice .query-notice-hint{display:block;padding:6px;border-right:4px solid #00a0d2}#wp-link .unselectable.no-matches-found{padding:0;border-bottom:1px solid #dfdfdf;background-color:#fef7f1}#wp-link .no-matches-found .item-title{display:block;padding:6px;border-right:4px solid #d54e21}#wp-link .query-results em{font-style:normal}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#32373c}#wp-link li.selected{background:#ddd;color:#32373c}#wp-link li.selected .item-title{font-weight:700}#wp-link li:last-child{border:none}#wp-link .item-title{display:inline-block;width:80%;width:-webkit-calc(100% - 68px);width:calc(100% - 68px);word-wrap:break-word}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;left:5px;top:5px}#wp-link #search-panel,#wp-link #search-results{display:none}#wp-link-wrap.search-panel-visible #search-panel{display:block}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;right:0;left:0}#wp-link-cancel{line-height:25px;float:right}#wp-link-update{line-height:23px;float:left}#wp-link-submit{float:left;margin-bottom:0}@media screen and (max-width:782px){#wp-link-wrap{margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:195px}#wp-link-wrap.search-panel-visible.has-text-field .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap.search-panel-visible #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-right:0;right:10px;left:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{-webkit-transition:none;transition:none}#wp-link-wrap.search-panel-visible{height:auto;margin-top:0;top:10px;bottom:10px}.search-panel-visible #link-selector{overflow:auto}.search-panel-visible #search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:-webkit-calc(100% - 92px);height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}.fullscreen-overlay{z-index:100005;display:none;position:fixed;top:0;bottom:0;right:0;left:0;-webkit-filter:inherit;filter:inherit}.wp-fullscreen-active #wp-fullscreen-body,.wp-fullscreen-active .fullscreen-overlay{display:block}.fullscreen-fader{z-index:200000}.wp-core-ui.wp-fullscreen-active .postbox-container,.wp-fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body,.mce-fullscreen{z-index:100010}#wp-fullscreen-body{display:none}.wp-fullscreen-wrap{margin:0;padding:0;position:absolute;right:0;left:0;bottom:30px;top:60px;z-index:100015}#wp-fullscreen-central-toolbar,.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%}.wp-fullscreen-active .mce-statusbar,.wp-fullscreen-active .mce-toolbar-grp,.wp-fullscreen-active .quicktags-toolbar,.wp-fullscreen-active .wp-editor-tools{display:none}#wp-fullscreen-statusbar{position:fixed;right:0;left:0;bottom:0;height:30px;z-index:100020;background:#fff;-webkit-transition:height .2s;transition:height .2s}#wp-fullscreen-status{margin:0 auto;padding:0}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title,.wp-fullscreen-active .wp-fullscreen-title:focus{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color .4s;transition:border-color .4s}.wp-fullscreen-active .wp-editor-container{margin:0 auto 40px}.wp-fullscreen-active .wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:0;padding:3px 7px;margin:10px auto 30px;display:block}#wp-fullscreen-tagline{color:#82878c;font-size:18px;float:left;padding:4px 0 0}#fullscreen-topbar{background:#f5f5f5;border-bottom:1px solid #dedede;height:45px;position:fixed;right:0;left:0;top:0;width:100%;z-index:100020;-webkit-transition:opacity .4s;transition:opacity .4s}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;margin:0 auto}#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-mode-bar{float:right}#wp-fullscreen-count,#wp-fullscreen-tagline{display:inline-block}#wp-fullscreen-button-bar{margin-top:2px}#wp-fullscreen-save{float:left;padding:2px 0 0;min-width:95px}#wp-fullscreen-close,#wp-fullscreen-count{padding:5px 0 0}#wp-fullscreen-central-toolbar{margin:auto;padding:0;min-width:620px}#wp-fullscreen-buttons>div{float:right}#wp-fullscreen-mode-bar{padding:3px 0 0 14px}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}#wp-fullscreen-buttons .mce-btn button{margin:0;outline:0;border:0;white-space:nowrap;width:auto;background:0 0;color:#32373c;cursor:pointer;font-size:18px;line-height:20px;overflow:visible;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save span{display:none;margin:5px 6px 0;float:right}.wp-fullscreen-active #TB_overlay{z-index:100050}.wp-fullscreen-active #TB_window{z-index:100051}.fullscreen-overlay{background:#fff}.wp-fullscreen-active #fullscreen-topbar{-webkit-transition-duration:.8s;transition-duration:.8s;opacity:0;filter:alpha(opacity=0)}.wp-fullscreen-active #wp-fullscreen-statusbar{height:0}.wp-fullscreen-active.wp-dfw-show-ui #fullscreen-topbar{-webkit-transition-duration:.4s;transition-duration:.4s;opacity:1;filter:alpha(opacity=100)}.wp-fullscreen-active.wp-dfw-show-ui #wp-fullscreen-statusbar{height:29px;background:#f8f8f8;border-top:1px solid #eee}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title{-webkit-transition-duration:.8s;transition-duration:.8s;border-color:transparent}.wp-fullscreen-active.wp-dfw-show-ui .wp-editor-container,.wp-fullscreen-active.wp-dfw-show-ui .wp-fullscreen-title{-webkit-transition-duration:.4s;transition-duration:.4s;border-color:#ccc}.fade-1000,.fade-300,.fade-400,.fade-600{opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-1000{-webkit-transition-duration:1s;transition-duration:1s}.fade-600{-webkit-transition-duration:.6s;transition-duration:.6s}.fade-400{-webkit-transition-duration:.4s;transition-duration:.4s}.fade-300{-webkit-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.wp-dfw-touch #fullscreen-topbar{position:absolute;opacity:1}.wp-dfw-touch .wp-fullscreen-title,.wp-dfw-touch .wp-fullscreen-wrap .wp-editor-container{max-width:700px}.wp-fullscreen-active.wp-dfw-touch .wp-editor-container,.wp-fullscreen-active.wp-dfw-touch .wp-fullscreen-title{border-color:#ccc}.wp-dfw-touch #wp-fullscreen-statusbar{height:30px}@media screen and (max-width:782px){#wp-fullscreen-button-bar,#wp-fullscreen-central-toolbar,#wp-fullscreen-close,#wp-fullscreen-mode-bar,#wp-fullscreen-save{display:inline-block}#fullscreen-topbar{height:85px}#wp-fullscreen-central-toolbar{width:auto!important;min-width:0}#wp-fullscreen-close{line-height:30px;vertical-align:top;padding:0 12px}#wp-fullscreen-button-bar{position:absolute;top:45px;right:0}.wp-fullscreen-wrap{top:95px}#wp-fullscreen-save{position:absolute;left:10px}}@media screen and (max-width:480px){#wp_fs_help{display:none}.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{width:480px!important}body.wp-fullscreen-active{width:480px;overflow:auto}#fullscreen-topbar,.wp-fullscreen-wrap{width:480px}#fullscreen-topbar{position:absolute}#wp-fullscreen-status{width:auto!important;max-width:100%;padding:0 10px}}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#wp-fullscreen-buttons #wp_fs_image span.mce_image,.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
index b90bdf88dadd64abbf1af0a38fe5b5516ad7a80a..7ba00f92ddb85c66338adebf8d25f7fe79f836e3 100644 (file)
 }
 
 /* TinyMCE windows */
-#mce-modal-block.mce-in {
+#mce-modal-block,
+#mce-modal-block.mce-fade {
        opacity: 0.7;
        filter: alpha(opacity=70);
+       -webkit-transition: none;
+       transition: none;
 }
 
 .mce-window {
@@ -24,6 +27,8 @@
        -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;
+       -webkit-transition: none;
+       transition: none;
 }
 
 .mce-window .mce-container-body.mce-abs-layout {
@@ -66,7 +71,7 @@
 }
 
 .mce-window .mce-window-head .mce-close:hover:before {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .mce-window .mce-window-head .mce-dragh {
@@ -155,7 +160,7 @@ div.mce-toolbar-grp {
 }
 
 div.mce-inline-toolbar-grp {
-       border: 1px solid #aaa;
+       border: 1px solid #a0a5aa;
        -webkit-border-radius: 2px;
        border-radius: 2px;
        -webkit-box-shadow: 0 1px 3px rgba( 0, 0, 0, 0.15 );
@@ -165,7 +170,6 @@ div.mce-inline-toolbar-grp {
        box-sizing: border-box;
        margin-bottom: 8px;
        position: absolute;
-       visibility: hidden;
        -moz-user-select: none;
        -webkit-user-select: none;
        -ms-user-select: none;
@@ -173,7 +177,7 @@ div.mce-inline-toolbar-grp {
        z-index: 100100; /* Same as the other TinyMCE "panels" */
 }
 
-div.mce-wp-image-toolbar > div.mce-stack-layout {
+div.mce-inline-toolbar-grp > div.mce-stack-layout {
        padding: 1px;
 }
 
@@ -196,14 +200,14 @@ div.mce-inline-toolbar-grp:after {
 
 div.mce-inline-toolbar-grp.mce-arrow-up:before {
        top: -18px;
-       border-bottom-color: #aaa;
+       border-bottom-color: #a0a5aa;
        border-width: 9px;
        margin-left: -9px;
 }
 
 div.mce-inline-toolbar-grp.mce-arrow-down:before {
        bottom: -18px;
-       border-top-color: #aaa;
+       border-top-color: #a0a5aa;
        border-width: 9px;
        margin-left: -9px;
 }
@@ -257,10 +261,6 @@ div.mce-inline-toolbar-grp.mce-arrow-full > div {
        overflow-x: auto;
 }
 
-div.mce-inline-toolbar-grp-active {
-       visibility: visible;
-}
-
 div.mce-toolbar-grp > div {
        padding: 3px;
 }
@@ -319,7 +319,7 @@ div.mce-path {
 .qt-dfw:focus {
        background: #fafafa;
        border-color: #999;
-       color: #222;
+       color: #23282d;
        -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 );
        outline: none;
@@ -348,7 +348,7 @@ div.mce-path {
 #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;
+       color: #a0a5aa;
        background: none;
        border-color: #ddd;
        text-shadow: 0 1px 0 #fff;
@@ -402,7 +402,7 @@ div.mce-path {
 
 .mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover {
     background-image: none;
-    border-color: #bbb;
+    border-color: #b4b9be;
 }
 
 .mce-toolbar .mce-btn-group .mce-btn.mce-listbox span {
@@ -426,12 +426,12 @@ div.mce-path {
 }
 
 .mce-panel .mce-btn:hover i.mce-caret {
-       border-top-color: #333;
+       border-top-color: #32373c;
 }
 
 .mce-panel .mce-active i.mce-caret {
        border-top: 0;
-       border-bottom: 6px solid #333;
+       border-bottom: 6px solid #32373c;
        margin-top: 7px;
 }
 
@@ -458,7 +458,7 @@ div.mce-path {
 .mce-menu .mce-menu-item.mce-selected,
 .mce-menu .mce-menu-item:focus {
        color: #000;
-       background-color: #bbb;
+       background-color: #b4b9be;
        background-image: none;
        -webkit-filter: none;
        filter: none;
@@ -540,7 +540,7 @@ div.mce-menu .mce-menu-item-sep,
 .mce-window .mce-btn:focus {
        background: #fafafa;
        border-color: #999;
-       color: #222;
+       color: #23282d;
 }
 
 .mce-window .mce-btn:focus {
@@ -555,13 +555,13 @@ div.mce-menu .mce-menu-item-sep,
 .mce-window .mce-btn:active {
        background: #eee;
        border-color: #999;
-       color: #333;
+       color: #32373c;
        -webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
        box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
 }
 
 .mce-window .mce-btn.mce-disabled {
-       color: #aaa;
+       color: #a0a5aa;
        border-color: #ddd;
        background: #f7f7f7;
        -webkit-box-shadow: none;
@@ -571,8 +571,8 @@ div.mce-menu .mce-menu-item-sep,
 }
 
 .mce-window .mce-btn.mce-primary {
-       background: #2ea2cc;
-       border-color: #0074a2;
+       background: #00a0d2;
+       border-color: #0073aa;
        -webkit-box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5), 0 1px 0 rgba( 0, 0, 0, 0.15 );
        box-shadow: inset 0 1px 0 rgba( 120, 200, 230, 0.5 ), 0 1px 0 rgba( 0, 0, 0, 0.15 );
        color: #fff;
@@ -582,7 +582,7 @@ div.mce-menu .mce-menu-item-sep,
 .mce-window .mce-btn.mce-primary:hover,
 .mce-window .mce-btn.mce-primary:focus {
        background: #1e8cbe;
-       border-color: #0074a2;
+       border-color: #0073aa;
        -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;
@@ -731,6 +731,7 @@ i.mce-i-wp-media-library,
 i.mce-i-ltr,
 i.mce-i-wp_page,
 i.mce-i-hr,
+i.mce-i-wp_code,
 i.mce-i-dashicon,
 .mce-close {
        font: normal 20px/1 'dashicons';
@@ -880,10 +881,19 @@ i.mce-i-hr:before {
        content: '\f158';
 }
 
-.mce-i-wp_code:before {
+i.mce-i-wp_code:before {
        content: '\f475';
 }
 
+/* RTL button icons */
+.rtl i.mce-i-outdent:before {
+       content: '\f222';
+}
+
+.rtl i.mce-i-indent:before {
+       content: '\f221';
+}
+
 /* Editors */
 .wp-editor-wrap {
        position: relative;
@@ -963,7 +973,7 @@ i.mce-i-hr:before {
                0 0 0 1px #5b9dd9,
                0 0 2px 1px rgba(30, 140, 190, .8);
        outline: none;
-       color: #222;
+       color: #23282d;
 }
 
 .wp-switch-editor:active,
@@ -1179,7 +1189,6 @@ i.mce-i-hr:before {
        -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;
@@ -1215,6 +1224,14 @@ i.mce-i-hr:before {
        margin-top: -250px;
 }
 
+#wp-link-wrap .wp-link-text-field {
+       display: none;
+}
+
+#wp-link-wrap.has-text-field .wp-link-text-field {
+       display: block;
+}
+
 #link-modal-title {
        background: #fcfcfc;
        border-bottom: 1px solid #dfdfdf;
@@ -1255,7 +1272,7 @@ i.mce-i-hr:before {
 
 #wp-link-close:hover,
 #wp-link-close:focus {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 #wp-link-close:focus {
@@ -1273,6 +1290,7 @@ i.mce-i-hr:before {
 }
 
 #wp-link-wrap.search-panel-visible #link-selector {
+       -webkit-overflow-scrolling: touch;
        padding: 0 16px;
        position: absolute;
        top: 36px;
@@ -1357,8 +1375,7 @@ i.mce-i-hr:before {
 }
 
 #wp-link .link-search-wrapper .spinner {
-       display: none;
-       vertical-align: text-bottom;
+       margin-top: 5px;
 }
 
 #wp-link .link-target {
@@ -1381,6 +1398,10 @@ i.mce-i-hr:before {
        left: 16px;
        right: 16px;
        bottom: 16px;
+       top: 172px;
+}
+
+.has-text-field #wp-link .query-results {
        top: 205px;
 }
 
@@ -1388,7 +1409,7 @@ i.mce-i-hr:before {
        clear: both;
        margin-bottom: 0;
        border-bottom: 1px solid #f1f1f1;
-       color: #333;
+       color: #32373c;
        padding: 4px 6px 4px 10px;
        cursor: pointer;
        position: relative;
@@ -1405,7 +1426,7 @@ i.mce-i-hr:before {
 #wp-link .query-notice .query-notice-hint {
        display: block;
        padding: 6px;
-       border-left: 4px solid #2ea2cc;
+       border-left: 4px solid #00a0d2;
 }
 
 #wp-link .unselectable.no-matches-found {
@@ -1436,12 +1457,12 @@ i.mce-i-hr:before {
 #wp-link li.unselectable:hover {
        background: #fff;
        cursor: auto;
-       color: #333;
+       color: #32373c;
 }
 
 #wp-link li.selected {
        background: #ddd;
-       color: #333;
+       color: #32373c;
 }
 
 #wp-link li.selected .item-title {
@@ -1457,6 +1478,7 @@ i.mce-i-hr:before {
        width: 80%;
        width: -webkit-calc(100% - 68px);
        width: calc(100% - 68px);
+       word-wrap: break-word;
 }
 
 #wp-link .item-info {
@@ -1482,12 +1504,6 @@ i.mce-i-hr:before {
        padding: 10px 0;
 }
 
-#wp-link .river-waiting .spinner {
-       margin: 0 auto;
-       display: block;
-       float: none;
-}
-
 #wp-link .submitbox {
        padding: 8px 16px;
        background: #fcfcfc;
@@ -1515,11 +1531,14 @@ i.mce-i-hr:before {
 
 @media screen and ( max-width: 782px ) {
        #wp-link-wrap {
-               height: 280px;
                margin-top: -140px;
        }
 
        #wp-link-wrap.search-panel-visible .query-results {
+               top: 195px;
+       }
+
+       #wp-link-wrap.search-panel-visible.has-text-field .query-results {
                top: 235px;
        }
 
@@ -1675,7 +1694,7 @@ i.mce-i-hr:before {
 
 .clearlooks2 .mceTop span,
 .clearlooks2 .mceFocus .mceTop span {
-       color: #222;
+       color: #23282d;
 }
 
 .clearlooks2 .mceClose:before {
@@ -1683,7 +1702,7 @@ i.mce-i-hr:before {
 }
 
 .clearlooks2 .mceClose:hover:before {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 */
 /* Distraction-Free Writing mode
@@ -1798,7 +1817,7 @@ i.mce-i-hr:before {
 }
 
 #wp-fullscreen-tagline {
-       color: #888;
+       color: #82878c;
        font-size: 18px;
        float: right;
        padding: 4px 0 0;
@@ -1882,7 +1901,7 @@ i.mce-i-hr:before {
     white-space: nowrap;
     width: auto;
     background: none;
-       color: #333333;
+       color: #32373c;
     cursor: pointer;
     font-size: 18px;
     line-height: 20px;
@@ -2098,12 +2117,12 @@ i.mce-i-hr:before {
        font-family: Tahoma, sans-serif;
 }
 
-/* @noflip */
+/* rtl:ignore */
 .mce-rtl .mce-flow-layout .mce-flow-layout-item > div {
        direction: rtl;
 }
 
-/* @noflip */
+/* rtl:ignore */
 .mce-rtl .mce-listbox i.mce-caret {
        left: 6px;
 }
@@ -2115,7 +2134,6 @@ html:lang(he-il) .rtl .quicktags-toolbar input  {
 
 /* HiDPI */
 @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,
index 4706e0506c45ba7f480b43db9d354f08048f43c6..fff18d41e617d65233bc15e11d2421a99611904f 100644 (file)
@@ -1 +1 @@
-.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}#mce-modal-block.mce-in{opacity:.7;filter:alpha(opacity=70)}.mce-window{-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);-webkit-font-smoothing:subpixel-antialiased}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 36px 0 16px}.mce-window .mce-window-head .mce-close{color:transparent;top:0;right:0;width:36px;height:36px;line-height:36px;text-align:center}.mce-window .mce-window-head .mce-close:before{font:400 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window .mce-window-head .mce-close:hover:before{color:#2ea2cc}.mce-window .mce-window-head .mce-dragh{width:-webkit-calc(100% - 36px);width:calc(100% - 36px)}.mce-wp-help .mce-window-head{border-bottom:none}#wp-link .query-results,.mce-checkbox i.mce-i-checkbox,.mce-textbox{border:1px solid #ddd;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);-webkit-transition:.05s all ease-in-out;transition:.05s all ease-in-out}#wp-link .query-results:focus,.mce-checkbox:focus i.mce-i-checkbox,.mce-textbox.mce-focus,.mce-textbox:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.mce-floatpanel.mce-popover,.mce-menu{border-color:rgba(0,0,0,.15);-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:2px}.mce-floatpanel .mce-arrow{display:none}.mce-menu .mce-container-body{min-width:160px}.mce-menu-item{border:none;margin-bottom:2px}.mce-menu-has-icons i.mce-ico{line-height:20px}div.mce-panel{border:0;background:#fff;-webkit-filter:none;filter:none}.mce-panel.mce-menu{border:1px solid #ddd}div.mce-tab{line-height:13px}div.mce-toolbar-grp{border-bottom:1px solid #dedede;background:#f5f5f5;padding:0;position:relative}div.mce-inline-toolbar-grp{border:1px solid #aaa;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:8px;position:absolute;visibility:hidden;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;z-index:100100}div.mce-wp-image-toolbar>div.mce-stack-layout{padding:1px}div.mce-inline-toolbar-grp.mce-arrow-up{margin-bottom:0;margin-top:8px}div.mce-inline-toolbar-grp:after,div.mce-inline-toolbar-grp:before{position:absolute;left:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:''}div.mce-inline-toolbar-grp.mce-arrow-up:before{top:-18px;border-bottom-color:#aaa;border-width:9px;margin-left:-9px}div.mce-inline-toolbar-grp.mce-arrow-down:before{bottom:-18px;border-top-color:#aaa;border-width:9px;margin-left:-9px}div.mce-inline-toolbar-grp.mce-arrow-up:after{top:-16px;border-bottom-color:#f5f5f5;border-width:8px;margin-left:-8px}div.mce-inline-toolbar-grp.mce-arrow-down:after{bottom:-16px;border-top-color:#f5f5f5;border-width:8px;margin-left:-8px}div.mce-inline-toolbar-grp.mce-arrow-left:after,div.mce-inline-toolbar-grp.mce-arrow-left:before{margin:0}div.mce-inline-toolbar-grp.mce-arrow-left:before{left:20px}div.mce-inline-toolbar-grp.mce-arrow-left:after{left:21px}div.mce-inline-toolbar-grp.mce-arrow-right:after,div.mce-inline-toolbar-grp.mce-arrow-right:before{left:auto;margin:0}div.mce-inline-toolbar-grp.mce-arrow-right:before{right:20px}div.mce-inline-toolbar-grp.mce-arrow-right:after{right:21px}div.mce-inline-toolbar-grp.mce-arrow-full{right:0}div.mce-inline-toolbar-grp.mce-arrow-full>div{width:100%;overflow-x:auto}div.mce-inline-toolbar-grp-active{visibility:visible}div.mce-toolbar-grp>div{padding:3px}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-right:32px}.mce-toolbar .mce-btn-group{margin:0}div.mce-statusbar{border-top:1px solid #e5e5e5}div.mce-path{padding:2px 10px;margin:0}.mce-path,.mce-path .mce-divider,.mce-path-item{font-size:12px;line-height:18px}.mce-toolbar .mce-btn,.qt-dfw{border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;cursor:pointer}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn,.qt-dfw{border:1px solid transparent;margin:2px;background-image:none;-webkit-border-radius:2px;border-radius:2px;-webkit-filter:none;filter:none}#wp-fullscreen-buttons .mce-btn:focus,#wp-fullscreen-buttons .mce-btn:hover,.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-dfw:focus,.qt-dfw:hover{background:#fafafa;border-color:#999;color:#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);outline:0}#wp-fullscreen-buttons .mce-btn.mce-active,#wp-fullscreen-buttons .mce-btn:active,.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active,.qt-dfw.active{background:#ebebeb;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#555}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover i.mce-ico{color:#555}#wp-fullscreen-buttons .mce-btn.mce-disabled:focus,#wp-fullscreen-buttons .mce-btn.mce-disabled:hover,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#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-dfw{padding:2px 3px;line-height:normal}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-right:0}.mce-toolbar .mce-colorbutton .mce-preview{margin:0;padding:0;top:auto;bottom:2px;left:3px;height:3px;width:20px}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{-webkit-border-radius:0;border-radius:0;direction:ltr;background:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{background-image:none;border-color:#bbb}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox span{font-size:13px}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #777;margin-left:2px;margin-right:2px}.mce-listbox i.mce-caret{right:6px}.mce-panel .mce-btn button.mce-open i.mce-caret,.mce-panel .mce-btn.mce-listbox i.mce-caret{margin-left:0;margin-right:0}.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#333}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #333;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-right-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:none;box-shadow:none}.mce-menu .mce-menu-item-normal.mce-active{background-color:#e5e5e5;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{color:#000;background-color:#bbb;background-image:none;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-active:hover .mce-text,.mce-menu .mce-menu-item.mce-selected .mce-ico,.mce-menu .mce-menu-item.mce-selected .mce-text,.mce-menu .mce-menu-item:focus .mce-ico,.mce-menu .mce-menu-item:hover .mce-ico,.mce-menu .mce-menu-item:hover .mce-text{color:#000}.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}.mce-menubar .mce-btn:focus{outline:0}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{margin:5px 0 4px}.mce-menubtn span{margin-right:0;padding-left:3px}.mce-menu-has-icons i.mce-ico:before{margin-left:-2px}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}.mce-window .mce-btn::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.mce-window .mce-btn:focus,.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#222}.mce-window .mce-btn:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.mce-window .mce-btn.mce-disabled{color:#aaa;border-color:#ddd;background:#f7f7f7;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 1px 0 #fff;cursor:default}.mce-window .mce-btn.mce-primary{background:#2ea2cc;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.mce-window .mce-btn.mce-primary:focus,.mce-window .mce-btn.mce-primary:hover{background:#1e8cbe;border-color:#0074a2;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.mce-window .mce-btn.mce-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn.mce-primary:active{background:#1b7aa6;border-color:#005684;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);vertical-align:top}.mce-window .mce-btn.mce-primary.mce-disabled{color:#94cde7;background:#298cba;border-color:#1b607f;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 -1px 0 rgba(0,0,0,.1);cursor:default}.mce-menubtn.mce-fixed-width button span{max-width:80px;padding-right:16px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#dfdfdf;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-tooltip{margin-top:2px}.mce-tooltip-inner{-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#777;line-height:20px;width:20px;height:20px;text-align:center;text-shadow:none;margin:0;padding:0}.qt-dfw{color:#777;line-height:20px;width:28px;height:26px;text-align:center;text-shadow:none}.mce-toolbar .mce-btn .mce-open{line-height:20px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-left-color:#999}.mce-close,i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-backcolor,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-dashicon,i.mce-i-dfw,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:400 20px/1 dashicons;padding:0 2px 0 0;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:-2px}.qt-dfw{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:'\f200'}i.mce-i-italic:before{content:'\f201'}i.mce-i-bullist:before{content:'\f203'}i.mce-i-numlist:before{content:'\f204'}i.mce-i-blockquote:before{content:'\f205'}i.mce-i-alignleft:before{content:'\f206'}i.mce-i-aligncenter:before{content:'\f207'}i.mce-i-alignright:before{content:'\f208'}i.mce-i-link:before{content:'\f103'}i.mce-i-unlink:before{content:'\f225'}i.mce-i-wp_more:before{content:'\f209'}i.mce-i-strikethrough:before{content:'\f224'}i.mce-i-spellchecker:before{content:'\f210'}.qt-dfw:before,i.mce-i-dfw:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:'\f211'}i.mce-i-wp_adv:before{content:'\f212'}i.mce-i-underline:before{content:'\f213'}i.mce-i-alignjustify:before{content:'\f214'}i.mce-i-backcolor:before,i.mce-i-forecolor:before{content:'\f215'}i.mce-i-pastetext:before{content:'\f217'}i.mce-i-removeformat:before{content:'\f218'}i.mce-i-charmap:before{content:'\f220'}i.mce-i-outdent:before{content:'\f221'}i.mce-i-indent:before{content:'\f222'}i.mce-i-undo:before{content:'\f171'}i.mce-i-redo:before{content:'\f172'}i.mce-i-help:before,i.mce-i-wp_help:before{content:'\f223'}i.mce-i-wp-media-library:before{content:'\f104'}i.mce-i-ltr:before{content:'\f320'}i.mce-i-wp_page:before{content:'\f105'}i.mce-i-hr:before{content:'\f460'}.mce-close:before{content:'\f158'}.mce-i-wp_code:before{content:'\f475'}.wp-editor-wrap{position:relative}.wp-editor-tools{position:relative;z-index:1}.wp-editor-tools:after{clear:both;content:'';display:table}.wp-editor-container{clear:both}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0;outline:0;display:block;resize:vertical;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.rtl .wp-editor-area{font-family:Tahoma,Monaco,monospace}.locale-he-il .wp-editor-area{font-family:Arial,Monaco,monospace}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.wp-editor-tabs{float:right}.wp-switch-editor{float:left;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;position:relative;top:1px;background:#ebebeb;color:#777;cursor:pointer;font:13px/19px "Open Sans",sans-serif;height:20px;margin:5px 0 0 5px;padding:3px 8px 4px;border:1px solid #e5e5e5}.wp-switch-editor:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);outline:0;color:#222}.html-active .switch-html:focus,.tmce-active .switch-tmce:focus,.wp-switch-editor:active{-webkit-box-shadow:none;box-shadow:none}.wp-switch-editor:active{background-color:#f5f5f5;-webkit-box-shadow:none;box-shadow:none}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;border-bottom-color:#f5f5f5}.wp-media-buttons{float:left}.wp-media-buttons .button{margin-right:5px;margin-bottom:4px;padding-left:7px;padding-right:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-left:5px}.wp-media-buttons a{text-decoration:none;color:#464646;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f104'}.quicktags-toolbar{padding:3px;position:relative;border-bottom:1px solid #dedede;background:#f5f5f5}.has-dfw .quicktags-toolbar{padding-right:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:700}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw,.qt-dfw{position:absolute;top:0;right:0;margin:5px 5px 0 0}.qt-fullscreen{position:static;margin:2px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-dfw{padding:6px 7px}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-dfw{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw{margin:4px 4px 0 0}.mce-toolbar .mce-colorbutton .mce-preview{left:8px;bottom:6px}.mce-window .mce-btn{padding:2px 0}.has-dfw .quicktags-toolbar,.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-right:40px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:500px;height:250px;overflow:hidden;margin-left:-250px;margin-top:-125px;position:fixed;top:50%;left:50%;z-index:100105;-webkit-transition:height .2s,margin-top .2s;transition:height .2s,margin-top .2s}#wp-link-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap.search-panel-visible{height:500px;margin-top:-250px}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px;top:0;right:0;left:0}#wp-link-close{color:#666;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}#wp-link-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:'\f158'}#wp-link-close:focus,#wp-link-close:hover{color:#2ea2cc}#wp-link-close:focus{outline:0;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#link-selector{padding:0 16px 50px}#wp-link-wrap.search-panel-visible #link-selector{padding:0 16px;position:absolute;top:36px;left:0;right:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link-search-toggle:after{display:inline-block;font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140'}.search-panel-visible #wp-link-search-toggle:after{content:'\f142'}#wp-link input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-link #link-options{padding:8px 0 12px}#wp-link p.howto{margin:3px 0}#wp-link p.howto a{text-decoration:none;color:inherit}#wp-link-search-toggle{cursor:pointer}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:right;padding-right:5px;max-width:24%}#wp-link .link-search-field{float:left;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:left;margin-top:4px}#wp-link .link-search-wrapper .spinner{display:none;vertical-align:text-bottom}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px solid #dfdfdf;margin:0;background:#fff;overflow:auto;position:absolute;left:16px;right:16px;bottom:16px;top:205px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#333;padding:4px 6px 4px 10px;cursor:pointer;position:relative}#wp-link .query-notice{padding:0;border-bottom:1px solid #dfdfdf;background-color:#f7fcfe;color:#000}#wp-link .query-notice .query-notice-default,#wp-link .query-notice .query-notice-hint{display:block;padding:6px;border-left:4px solid #2ea2cc}#wp-link .unselectable.no-matches-found{padding:0;border-bottom:1px solid #dfdfdf;background-color:#fef7f1}#wp-link .no-matches-found .item-title{display:block;padding:6px;border-left:4px solid #d54e21}#wp-link .query-results em{font-style:normal}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#333}#wp-link li.selected{background:#ddd;color:#333}#wp-link li.selected .item-title{font-weight:700}#wp-link li:last-child{border:none}#wp-link .item-title{display:inline-block;width:80%;width:-webkit-calc(100% - 68px);width:calc(100% - 68px)}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;right:5px;top:5px}#wp-link #search-panel,#wp-link #search-results{display:none}#wp-link-wrap.search-panel-visible #search-panel{display:block}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .river-waiting .spinner{margin:0 auto;display:block;float:none}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;left:0;right:0}#wp-link-cancel{line-height:25px;float:left}#wp-link-update{line-height:23px;float:right}#wp-link-submit{float:right;margin-bottom:0}@media screen and (max-width:782px){#wp-link-wrap{height:280px;margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap.search-panel-visible #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-left:0;left:10px;right:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{-webkit-transition:none;transition:none}#wp-link-wrap.search-panel-visible{height:auto;margin-top:0;top:10px;bottom:10px}.search-panel-visible #link-selector{overflow:auto}.search-panel-visible #search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:-webkit-calc(100% - 92px);height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}.fullscreen-overlay{z-index:100005;display:none;position:fixed;top:0;bottom:0;left:0;right:0;-webkit-filter:inherit;filter:inherit}.wp-fullscreen-active #wp-fullscreen-body,.wp-fullscreen-active .fullscreen-overlay{display:block}.fullscreen-fader{z-index:200000}.wp-core-ui.wp-fullscreen-active .postbox-container,.wp-fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body,.mce-fullscreen{z-index:100010}#wp-fullscreen-body{display:none}.wp-fullscreen-wrap{margin:0;padding:0;position:absolute;left:0;right:0;bottom:30px;top:60px;z-index:100015}#wp-fullscreen-central-toolbar,.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%}.wp-fullscreen-active .mce-statusbar,.wp-fullscreen-active .mce-toolbar-grp,.wp-fullscreen-active .quicktags-toolbar,.wp-fullscreen-active .wp-editor-tools{display:none}#wp-fullscreen-statusbar{position:fixed;left:0;right:0;bottom:0;height:30px;z-index:100020;background:#fff;-webkit-transition:height .2s;transition:height .2s}#wp-fullscreen-status{margin:0 auto;padding:0}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title,.wp-fullscreen-active .wp-fullscreen-title:focus{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color .4s;transition:border-color .4s}.wp-fullscreen-active .wp-editor-container{margin:0 auto 40px}.wp-fullscreen-active .wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:0;padding:3px 7px;margin:10px auto 30px;display:block}#wp-fullscreen-tagline{color:#888;font-size:18px;float:right;padding:4px 0 0}#fullscreen-topbar{background:#f5f5f5;border-bottom:1px solid #dedede;height:45px;position:fixed;left:0;right:0;top:0;width:100%;z-index:100020;-webkit-transition:opacity .4s;transition:opacity .4s}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;margin:0 auto}#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-mode-bar{float:left}#wp-fullscreen-count,#wp-fullscreen-tagline{display:inline-block}#wp-fullscreen-button-bar{margin-top:2px}#wp-fullscreen-save{float:right;padding:2px 0 0;min-width:95px}#wp-fullscreen-close,#wp-fullscreen-count{padding:5px 0 0}#wp-fullscreen-central-toolbar{margin:auto;padding:0;min-width:620px}#wp-fullscreen-buttons>div{float:left}#wp-fullscreen-mode-bar{padding:3px 14px 0 0}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}#wp-fullscreen-buttons .mce-btn button{margin:0;outline:0;border:0;white-space:nowrap;width:auto;background:0 0;color:#333;cursor:pointer;font-size:18px;line-height:20px;overflow:visible;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save span{display:none;margin:5px 6px 0;float:left}.wp-fullscreen-active #TB_overlay{z-index:100050}.wp-fullscreen-active #TB_window{z-index:100051}.fullscreen-overlay{background:#fff}.wp-fullscreen-active #fullscreen-topbar{-webkit-transition-duration:.8s;transition-duration:.8s;opacity:0;filter:alpha(opacity=0)}.wp-fullscreen-active #wp-fullscreen-statusbar{height:0}.wp-fullscreen-active.wp-dfw-show-ui #fullscreen-topbar{-webkit-transition-duration:.4s;transition-duration:.4s;opacity:1;filter:alpha(opacity=100)}.wp-fullscreen-active.wp-dfw-show-ui #wp-fullscreen-statusbar{height:29px;background:#f8f8f8;border-top:1px solid #eee}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title{-webkit-transition-duration:.8s;transition-duration:.8s;border-color:transparent}.wp-fullscreen-active.wp-dfw-show-ui .wp-editor-container,.wp-fullscreen-active.wp-dfw-show-ui .wp-fullscreen-title{-webkit-transition-duration:.4s;transition-duration:.4s;border-color:#ccc}.fade-1000,.fade-300,.fade-400,.fade-600{opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-1000{-webkit-transition-duration:1s;transition-duration:1s}.fade-600{-webkit-transition-duration:.6s;transition-duration:.6s}.fade-400{-webkit-transition-duration:.4s;transition-duration:.4s}.fade-300{-webkit-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.wp-dfw-touch #fullscreen-topbar{position:absolute;opacity:1}.wp-dfw-touch .wp-fullscreen-title,.wp-dfw-touch .wp-fullscreen-wrap .wp-editor-container{max-width:700px}.wp-fullscreen-active.wp-dfw-touch .wp-editor-container,.wp-fullscreen-active.wp-dfw-touch .wp-fullscreen-title{border-color:#ccc}.wp-dfw-touch #wp-fullscreen-statusbar{height:30px}@media screen and (max-width:782px){#wp-fullscreen-button-bar,#wp-fullscreen-central-toolbar,#wp-fullscreen-close,#wp-fullscreen-mode-bar,#wp-fullscreen-save{display:inline-block}#fullscreen-topbar{height:85px}#wp-fullscreen-central-toolbar{width:auto!important;min-width:0}#wp-fullscreen-close{line-height:30px;vertical-align:top;padding:0 12px}#wp-fullscreen-button-bar{position:absolute;top:45px;left:0}.wp-fullscreen-wrap{top:95px}#wp-fullscreen-save{position:absolute;right:10px}}@media screen and (max-width:480px){#wp_fs_help{display:none}.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{width:480px!important}body.wp-fullscreen-active{width:480px;overflow:auto}#fullscreen-topbar,.wp-fullscreen-wrap{width:480px}#fullscreen-topbar{position:absolute}#wp-fullscreen-status{width:auto!important;max-width:100%;padding:0 10px}}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#wp-fullscreen-buttons #wp_fs_image span.mce_image,.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
+.mce-container,.mce-container *,.mce-widget,.mce-widget *{color:inherit;font-family:inherit}#mce-modal-block,#mce-modal-block.mce-fade{opacity:.7;filter:alpha(opacity=70);-webkit-transition:none;transition:none}.mce-window{-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);-webkit-font-smoothing:subpixel-antialiased;-webkit-transition:none;transition:none}.mce-window .mce-container-body.mce-abs-layout{overflow:visible}.mce-window .mce-window-head{background:#fcfcfc;border-bottom:1px solid #dfdfdf;padding:0;min-height:36px}.mce-window .mce-window-head .mce-title{color:#444;font-size:18px;font-weight:600;line-height:36px;margin:0;padding:0 36px 0 16px}.mce-window .mce-window-head .mce-close{color:transparent;top:0;right:0;width:36px;height:36px;line-height:36px;text-align:center}.mce-window .mce-window-head .mce-close:before{font:400 20px/36px dashicons;text-align:center;color:#666;width:36px;height:36px;display:block}.mce-window .mce-window-head .mce-close:hover:before{color:#00a0d2}.mce-window .mce-window-head .mce-dragh{width:-webkit-calc(100% - 36px);width:calc(100% - 36px)}.mce-wp-help .mce-window-head{border-bottom:none}#wp-link .query-results,.mce-checkbox i.mce-i-checkbox,.mce-textbox{border:1px solid #ddd;-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.07);box-shadow:inset 0 1px 2px rgba(0,0,0,.07);-webkit-transition:.05s all ease-in-out;transition:.05s all ease-in-out}#wp-link .query-results:focus,.mce-checkbox:focus i.mce-i-checkbox,.mce-textbox.mce-focus,.mce-textbox:focus{border-color:#5b9dd9;-webkit-box-shadow:0 0 2px rgba(30,140,190,.8);box-shadow:0 0 2px rgba(30,140,190,.8)}.mce-floatpanel.mce-popover,.mce-menu{border-color:rgba(0,0,0,.15);-webkit-border-radius:0;border-radius:0;-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:2px}.mce-floatpanel .mce-arrow{display:none}.mce-menu .mce-container-body{min-width:160px}.mce-menu-item{border:none;margin-bottom:2px}.mce-menu-has-icons i.mce-ico{line-height:20px}div.mce-panel{border:0;background:#fff;-webkit-filter:none;filter:none}.mce-panel.mce-menu{border:1px solid #ddd}div.mce-tab{line-height:13px}div.mce-toolbar-grp{border-bottom:1px solid #dedede;background:#f5f5f5;padding:0;position:relative}div.mce-inline-toolbar-grp{border:1px solid #a0a5aa;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:8px;position:absolute;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;z-index:100100}div.mce-inline-toolbar-grp>div.mce-stack-layout{padding:1px}div.mce-inline-toolbar-grp.mce-arrow-up{margin-bottom:0;margin-top:8px}div.mce-inline-toolbar-grp:after,div.mce-inline-toolbar-grp:before{position:absolute;left:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:''}div.mce-inline-toolbar-grp.mce-arrow-up:before{top:-18px;border-bottom-color:#a0a5aa;border-width:9px;margin-left:-9px}div.mce-inline-toolbar-grp.mce-arrow-down:before{bottom:-18px;border-top-color:#a0a5aa;border-width:9px;margin-left:-9px}div.mce-inline-toolbar-grp.mce-arrow-up:after{top:-16px;border-bottom-color:#f5f5f5;border-width:8px;margin-left:-8px}div.mce-inline-toolbar-grp.mce-arrow-down:after{bottom:-16px;border-top-color:#f5f5f5;border-width:8px;margin-left:-8px}div.mce-inline-toolbar-grp.mce-arrow-left:after,div.mce-inline-toolbar-grp.mce-arrow-left:before{margin:0}div.mce-inline-toolbar-grp.mce-arrow-left:before{left:20px}div.mce-inline-toolbar-grp.mce-arrow-left:after{left:21px}div.mce-inline-toolbar-grp.mce-arrow-right:after,div.mce-inline-toolbar-grp.mce-arrow-right:before{left:auto;margin:0}div.mce-inline-toolbar-grp.mce-arrow-right:before{right:20px}div.mce-inline-toolbar-grp.mce-arrow-right:after{right:21px}div.mce-inline-toolbar-grp.mce-arrow-full{right:0}div.mce-inline-toolbar-grp.mce-arrow-full>div{width:100%;overflow-x:auto}div.mce-toolbar-grp>div{padding:3px}.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-right:32px}.mce-toolbar .mce-btn-group{margin:0}div.mce-statusbar{border-top:1px solid #e5e5e5}div.mce-path{padding:2px 10px;margin:0}.mce-path,.mce-path .mce-divider,.mce-path-item{font-size:12px;line-height:18px}.mce-toolbar .mce-btn,.qt-dfw{border-color:transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;cursor:pointer}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn,.qt-dfw{border:1px solid transparent;margin:2px;background-image:none;-webkit-border-radius:2px;border-radius:2px;-webkit-filter:none;filter:none}#wp-fullscreen-buttons .mce-btn:focus,#wp-fullscreen-buttons .mce-btn:hover,.mce-toolbar .mce-btn-group .mce-btn:focus,.mce-toolbar .mce-btn-group .mce-btn:hover,.qt-dfw:focus,.qt-dfw:hover{background:#fafafa;border-color:#999;color:#23282d;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);outline:0}#wp-fullscreen-buttons .mce-btn.mce-active,#wp-fullscreen-buttons .mce-btn:active,.mce-toolbar .mce-btn-group .mce-btn.mce-active,.mce-toolbar .mce-btn-group .mce-btn:active,.qt-dfw.active{background:#ebebeb;border-color:#999;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.3)}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover{border-color:#555}.mce-toolbar .mce-btn-group .mce-btn.mce-active:hover i.mce-ico{color:#555}#wp-fullscreen-buttons .mce-btn.mce-disabled:focus,#wp-fullscreen-buttons .mce-btn.mce-disabled:hover,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:focus,.mce-toolbar .mce-btn-group .mce-btn.mce-disabled:hover{color:#a0a5aa;background:0 0;border-color:#ddd;text-shadow:0 1px 0 #fff;-webkit-box-shadow:none;box-shadow:none}.mce-toolbar .mce-btn-group .mce-first,.mce-toolbar .mce-btn-group .mce-last{border-color:transparent}.mce-toolbar .mce-btn button,.qt-dfw{padding:2px 3px;line-height:normal}.mce-toolbar .mce-btn i{text-shadow:none}.mce-toolbar .mce-btn-group>div{white-space:normal}.mce-toolbar .mce-colorbutton .mce-open{border-right:0}.mce-toolbar .mce-colorbutton .mce-preview{margin:0;padding:0;top:auto;bottom:2px;left:3px;height:3px;width:20px}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox{-webkit-border-radius:0;border-radius:0;direction:ltr;background:#fff;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2);box-shadow:inset 0 1px 1px -1px rgba(0,0,0,.2)}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox:hover{background-image:none;border-color:#b4b9be}.mce-toolbar .mce-btn-group .mce-btn.mce-listbox span{font-size:13px}.mce-panel .mce-btn i.mce-caret{border-top:6px solid #777;margin-left:2px;margin-right:2px}.mce-listbox i.mce-caret{right:6px}.mce-panel .mce-btn button.mce-open i.mce-caret,.mce-panel .mce-btn.mce-listbox i.mce-caret{margin-left:0;margin-right:0}.mce-panel .mce-btn:hover i.mce-caret{border-top-color:#32373c}.mce-panel .mce-active i.mce-caret{border-top:0;border-bottom:6px solid #32373c;margin-top:7px}.mce-listbox.mce-active i.mce-caret{margin-top:-3px}.mce-toolbar .mce-splitbtn:hover .mce-open{border-right-color:transparent}.mce-toolbar .mce-splitbtn .mce-open.mce-active{-webkit-box-shadow:none;box-shadow:none}.mce-menu .mce-menu-item-normal.mce-active{background-color:#e5e5e5;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-selected,.mce-menu .mce-menu-item:focus,.mce-menu .mce-menu-item:hover{color:#000;background-color:#b4b9be;background-image:none;-webkit-filter:none;filter:none}.mce-menu .mce-menu-item.mce-active:hover .mce-text,.mce-menu .mce-menu-item.mce-selected .mce-ico,.mce-menu .mce-menu-item.mce-selected .mce-text,.mce-menu .mce-menu-item:focus .mce-ico,.mce-menu .mce-menu-item:hover .mce-ico,.mce-menu .mce-menu-item:hover .mce-text{color:#000}.mce-menubar{border-color:#e5e5e5;background:#fff;border-width:0 0 1px}.mce-menubar .mce-btn:focus{outline:0}.mce-menu-item-sep:hover,div.mce-menu .mce-menu-item-sep{margin:5px 0 4px}.mce-menubtn span{margin-right:0;padding-left:3px}.mce-menu-has-icons i.mce-ico:before{margin-left:-2px}.mce-primary button,.mce-primary button i{text-align:center;color:#fff;text-shadow:none;padding:0;line-height:26px}.mce-window .mce-btn{color:#555;background:#f7f7f7;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0;cursor:pointer;border:1px solid #ccc;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08)}.mce-window .mce-btn::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.mce-window .mce-btn:focus,.mce-window .mce-btn:hover{background:#fafafa;border-color:#999;color:#23282d}.mce-window .mce-btn:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn:active{background:#eee;border-color:#999;color:#32373c;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.mce-window .mce-btn.mce-disabled{color:#a0a5aa;border-color:#ddd;background:#f7f7f7;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 1px 0 #fff;cursor:default}.mce-window .mce-btn.mce-primary{background:#00a0d2;border-color:#0073aa;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none}.mce-window .mce-btn.mce-primary:focus,.mce-window .mce-btn.mce-primary:hover{background:#1e8cbe;border-color:#0073aa;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6);box-shadow:inset 0 1px 0 rgba(120,200,230,.6);color:#fff}.mce-window .mce-btn.mce-primary:focus{border-color:#0e3950;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:inset 0 1px 0 rgba(120,200,230,.6),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.mce-window .mce-btn.mce-primary:active{background:#1b7aa6;border-color:#005684;color:rgba(255,255,255,.95);-webkit-box-shadow:inset 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(0,0,0,.1);vertical-align:top}.mce-window .mce-btn.mce-primary.mce-disabled{color:#94cde7;background:#298cba;border-color:#1b607f;-webkit-box-shadow:none;box-shadow:none;text-shadow:0 -1px 0 rgba(0,0,0,.1);cursor:default}.mce-menubtn.mce-fixed-width button span{max-width:80px;padding-right:16px}.mce-charmap{margin:3px}.mce-charmap td{padding:0;border-color:#dfdfdf;cursor:pointer}.mce-charmap td:hover{background:#f3f3f3}.mce-charmap td div{width:18px;height:22px;line-height:22px}.mce-tooltip{margin-top:2px}.mce-tooltip-inner{-webkit-box-shadow:0 3px 5px rgba(0,0,0,.2);box-shadow:0 3px 5px rgba(0,0,0,.2);color:#fff;font-size:12px}.mce-ico{font-family:tinymce,Arial}.mce-btn-small .mce-ico{font-family:tinymce-small,Arial}.mce-toolbar .mce-ico{color:#777;line-height:20px;width:20px;height:20px;text-align:center;text-shadow:none;margin:0;padding:0}.qt-dfw{color:#777;line-height:20px;width:28px;height:26px;text-align:center;text-shadow:none}.mce-toolbar .mce-btn .mce-open{line-height:20px}.mce-toolbar .mce-btn.mce-active .mce-open,.mce-toolbar .mce-btn:focus .mce-open,.mce-toolbar .mce-btn:hover .mce-open{border-left-color:#999}.mce-close,i.mce-i-aligncenter,i.mce-i-alignjustify,i.mce-i-alignleft,i.mce-i-alignright,i.mce-i-backcolor,i.mce-i-blockquote,i.mce-i-bold,i.mce-i-bullist,i.mce-i-charmap,i.mce-i-dashicon,i.mce-i-dfw,i.mce-i-forecolor,i.mce-i-fullscreen,i.mce-i-help,i.mce-i-hr,i.mce-i-indent,i.mce-i-italic,i.mce-i-link,i.mce-i-ltr,i.mce-i-numlist,i.mce-i-outdent,i.mce-i-pastetext,i.mce-i-pasteword,i.mce-i-redo,i.mce-i-removeformat,i.mce-i-spellchecker,i.mce-i-strikethrough,i.mce-i-underline,i.mce-i-undo,i.mce-i-unlink,i.mce-i-wp-media-library,i.mce-i-wp_adv,i.mce-i-wp_code,i.mce-i-wp_fullscreen,i.mce-i-wp_help,i.mce-i-wp_more,i.mce-i-wp_page{font:400 20px/1 dashicons;padding:0 2px 0 0;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-left:-2px}.qt-dfw{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}i.mce-i-bold:before{content:'\f200'}i.mce-i-italic:before{content:'\f201'}i.mce-i-bullist:before{content:'\f203'}i.mce-i-numlist:before{content:'\f204'}i.mce-i-blockquote:before{content:'\f205'}i.mce-i-alignleft:before{content:'\f206'}i.mce-i-aligncenter:before{content:'\f207'}i.mce-i-alignright:before{content:'\f208'}i.mce-i-link:before{content:'\f103'}i.mce-i-unlink:before{content:'\f225'}i.mce-i-wp_more:before{content:'\f209'}i.mce-i-strikethrough:before{content:'\f224'}i.mce-i-spellchecker:before{content:'\f210'}.qt-dfw:before,i.mce-i-dfw:before,i.mce-i-fullscreen:before,i.mce-i-wp_fullscreen:before{content:'\f211'}i.mce-i-wp_adv:before{content:'\f212'}i.mce-i-underline:before{content:'\f213'}i.mce-i-alignjustify:before{content:'\f214'}i.mce-i-backcolor:before,i.mce-i-forecolor:before{content:'\f215'}i.mce-i-pastetext:before{content:'\f217'}i.mce-i-removeformat:before{content:'\f218'}i.mce-i-charmap:before{content:'\f220'}i.mce-i-outdent:before{content:'\f221'}i.mce-i-indent:before{content:'\f222'}i.mce-i-undo:before{content:'\f171'}i.mce-i-redo:before{content:'\f172'}i.mce-i-help:before,i.mce-i-wp_help:before{content:'\f223'}i.mce-i-wp-media-library:before{content:'\f104'}i.mce-i-ltr:before{content:'\f320'}i.mce-i-wp_page:before{content:'\f105'}i.mce-i-hr:before{content:'\f460'}.mce-close:before{content:'\f158'}i.mce-i-wp_code:before{content:'\f475'}.rtl i.mce-i-outdent:before{content:'\f222'}.rtl i.mce-i-indent:before{content:'\f221'}.wp-editor-wrap{position:relative}.wp-editor-tools{position:relative;z-index:1}.wp-editor-tools:after{clear:both;content:'';display:table}.wp-editor-container{clear:both}.wp-editor-area{font-family:Consolas,Monaco,monospace;font-size:13px;padding:10px;margin:1px 0 0;line-height:150%;border:0;outline:0;display:block;resize:vertical;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.rtl .wp-editor-area{font-family:Tahoma,Monaco,monospace}.locale-he-il .wp-editor-area{font-family:Arial,Monaco,monospace}.wp-editor-container textarea.wp-editor-area{width:100%;margin:0;-webkit-box-shadow:none;box-shadow:none}.wp-editor-tabs{float:right}.wp-switch-editor{float:left;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;position:relative;top:1px;background:#ebebeb;color:#777;cursor:pointer;font:13px/19px "Open Sans",sans-serif;height:20px;margin:5px 0 0 5px;padding:3px 8px 4px;border:1px solid #e5e5e5}.wp-switch-editor:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);outline:0;color:#23282d}.html-active .switch-html:focus,.tmce-active .switch-tmce:focus,.wp-switch-editor:active{-webkit-box-shadow:none;box-shadow:none}.wp-switch-editor:active{background-color:#f5f5f5;-webkit-box-shadow:none;box-shadow:none}.js .tmce-active .wp-editor-area{color:#fff}.tmce-active .quicktags-toolbar{display:none}.html-active .switch-html,.tmce-active .switch-tmce{background:#f5f5f5;color:#555;border-bottom-color:#f5f5f5}.wp-media-buttons{float:left}.wp-media-buttons .button{margin-right:5px;margin-bottom:4px;padding-left:7px;padding-right:7px}.wp-media-buttons .button:active{position:relative;top:1px;margin-top:-1px;margin-bottom:1px}.wp-media-buttons .insert-media{padding-left:5px}.wp-media-buttons a{text-decoration:none;color:#464646;font-size:12px}.wp-media-buttons img{padding:0 4px;vertical-align:middle}.wp-media-buttons span.wp-media-buttons-icon{display:inline-block;width:18px;height:18px;vertical-align:text-top;margin:0 2px}.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}.wp-media-buttons .add_media span.wp-media-buttons-icon:before{font:400 18px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f104'}.quicktags-toolbar{padding:3px;position:relative;border-bottom:1px solid #dedede;background:#f5f5f5}.has-dfw .quicktags-toolbar{padding-right:35px}.wp-core-ui .quicktags-toolbar input.button.button-small{margin:2px}.quicktags-toolbar input[value=link]{text-decoration:underline}.quicktags-toolbar input[value=del]{text-decoration:line-through}.quicktags-toolbar input[value="i"]{font-style:italic}.quicktags-toolbar input[value="b"]{font-weight:700}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw,.qt-dfw{position:absolute;top:0;right:0;margin:5px 5px 0 0}.qt-fullscreen{position:static;margin:2px}@media screen and (max-width:782px){.mce-toolbar .mce-btn button,.qt-dfw{padding:6px 7px}#wp-fullscreen-buttons .mce-btn,.mce-toolbar .mce-btn-group .mce-btn{margin:1px}.qt-dfw{width:36px;height:34px}.mce-toolbar .mce-btn-group .mce-btn.mce-wp-dfw{margin:4px 4px 0 0}.mce-toolbar .mce-colorbutton .mce-preview{left:8px;bottom:6px}.mce-window .mce-btn{padding:2px 0}.has-dfw .quicktags-toolbar,.has-dfw div.mce-toolbar-grp .mce-toolbar.mce-first{padding-right:40px}}@media screen and (min-width:782px){.wp-core-ui .quicktags-toolbar input.button.button-small{font-size:12px;height:26px;line-height:24px}}#wp_editbtns,#wp_gallerybtns{padding:2px;position:absolute;display:none;z-index:100020}#wp_delgallery,#wp_delimgbtn,#wp_editgallery,#wp_editimgbtn{border-color:#999;background-color:#eee;margin:2px;padding:2px;border-width:1px;border-style:solid;-webkit-border-radius:3px;border-radius:3px}#wp_delgallery:hover,#wp_delimgbtn:hover,#wp_editgallery:hover,#wp_editimgbtn:hover{border-color:#555;background-color:#ccc}#wp-link-wrap{display:none;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3);width:500px;overflow:hidden;margin-left:-250px;margin-top:-125px;position:fixed;top:50%;left:50%;z-index:100105;-webkit-transition:height .2s,margin-top .2s;transition:height .2s,margin-top .2s}#wp-link-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100100}#wp-link{position:relative;height:100%}#wp-link-wrap.search-panel-visible{height:500px;margin-top:-250px}#wp-link-wrap .wp-link-text-field{display:none}#wp-link-wrap.has-text-field .wp-link-text-field{display:block}#link-modal-title{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px;top:0;right:0;left:0}#wp-link-close{color:#666;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center;background:0 0;border:none;cursor:pointer}#wp-link-close:before{font:400 20px/36px dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:36px;height:36px;content:'\f158'}#wp-link-close:focus,#wp-link-close:hover{color:#00a0d2}#wp-link-close:focus{outline:0;-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#link-selector{padding:0 16px 50px}#wp-link-wrap.search-panel-visible #link-selector{-webkit-overflow-scrolling:touch;padding:0 16px;position:absolute;top:36px;left:0;right:0;bottom:44px}#wp-link ol,#wp-link ul{list-style:none;margin:0;padding:0}#wp-link-search-toggle:after{display:inline-block;font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140'}.search-panel-visible #wp-link-search-toggle:after{content:'\f142'}#wp-link input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#wp-link #link-options{padding:8px 0 12px}#wp-link p.howto{margin:3px 0}#wp-link p.howto a{text-decoration:none;color:inherit}#wp-link-search-toggle{cursor:pointer}#wp-link label input[type=text]{margin-top:5px;width:70%}#wp-link #link-options label span,#wp-link #search-panel label span.search-label{display:inline-block;width:80px;text-align:right;padding-right:5px;max-width:24%}#wp-link .link-search-field{float:left;width:250px;max-width:70%}#wp-link .link-search-wrapper{margin:5px 0 9px;display:block;overflow:hidden}#wp-link .link-search-wrapper span{float:left;margin-top:4px}#wp-link .link-search-wrapper .spinner{margin-top:5px}#wp-link .link-target{padding:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#wp-link .link-target label{max-width:70%}#wp-link .query-results{border:1px solid #dfdfdf;margin:0;background:#fff;overflow:auto;position:absolute;left:16px;right:16px;bottom:16px;top:172px}.has-text-field #wp-link .query-results{top:205px}#wp-link li{clear:both;margin-bottom:0;border-bottom:1px solid #f1f1f1;color:#32373c;padding:4px 6px 4px 10px;cursor:pointer;position:relative}#wp-link .query-notice{padding:0;border-bottom:1px solid #dfdfdf;background-color:#f7fcfe;color:#000}#wp-link .query-notice .query-notice-default,#wp-link .query-notice .query-notice-hint{display:block;padding:6px;border-left:4px solid #00a0d2}#wp-link .unselectable.no-matches-found{padding:0;border-bottom:1px solid #dfdfdf;background-color:#fef7f1}#wp-link .no-matches-found .item-title{display:block;padding:6px;border-left:4px solid #d54e21}#wp-link .query-results em{font-style:normal}#wp-link li:hover{background:#eaf2fa;color:#151515}#wp-link li.unselectable{border-bottom:1px solid #dfdfdf}#wp-link li.unselectable:hover{background:#fff;cursor:auto;color:#32373c}#wp-link li.selected{background:#ddd;color:#32373c}#wp-link li.selected .item-title{font-weight:700}#wp-link li:last-child{border:none}#wp-link .item-title{display:inline-block;width:80%;width:-webkit-calc(100% - 68px);width:calc(100% - 68px);word-wrap:break-word}#wp-link .item-info{text-transform:uppercase;color:#666;font-size:11px;position:absolute;right:5px;top:5px}#wp-link #search-panel,#wp-link #search-results{display:none}#wp-link-wrap.search-panel-visible #search-panel{display:block}#wp-link .river-waiting{display:none;padding:10px 0}#wp-link .submitbox{padding:8px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;position:absolute;bottom:0;left:0;right:0}#wp-link-cancel{line-height:25px;float:left}#wp-link-update{line-height:23px;float:right}#wp-link-submit{float:right;margin-bottom:0}@media screen and (max-width:782px){#wp-link-wrap{margin-top:-140px}#wp-link-wrap.search-panel-visible .query-results{top:195px}#wp-link-wrap.search-panel-visible.has-text-field .query-results{top:235px}#link-selector{padding:0 16px 60px}#wp-link-wrap.search-panel-visible #link-selector{bottom:52px}#wp-link-cancel{line-height:32px}}@media screen and (max-width:520px){#wp-link-wrap{width:auto;margin-left:0;left:10px;right:10px;max-width:500px}}@media screen and (max-height:520px){#wp-link-wrap{-webkit-transition:none;transition:none}#wp-link-wrap.search-panel-visible{height:auto;margin-top:0;top:10px;bottom:10px}.search-panel-visible #link-selector{overflow:auto}.search-panel-visible #search-panel .query-results{position:static}}@media screen and (max-height:290px){#wp-link-wrap{height:auto;margin-top:0;top:10px;bottom:10px}#link-selector{overflow:auto;height:-webkit-calc(100% - 92px);height:calc(100% - 92px);padding-bottom:2px}#search-panel .query-results{position:static}}.fullscreen-overlay{z-index:100005;display:none;position:fixed;top:0;bottom:0;left:0;right:0;-webkit-filter:inherit;filter:inherit}.wp-fullscreen-active #wp-fullscreen-body,.wp-fullscreen-active .fullscreen-overlay{display:block}.fullscreen-fader{z-index:200000}.wp-core-ui.wp-fullscreen-active .postbox-container,.wp-fullscreen-active .fullscreen-fader{display:none}#wp-fullscreen-body,.mce-fullscreen{z-index:100010}#wp-fullscreen-body{display:none}.wp-fullscreen-wrap{margin:0;padding:0;position:absolute;left:0;right:0;bottom:30px;top:60px;z-index:100015}#wp-fullscreen-central-toolbar,.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-width:100%}.wp-fullscreen-active .mce-statusbar,.wp-fullscreen-active .mce-toolbar-grp,.wp-fullscreen-active .quicktags-toolbar,.wp-fullscreen-active .wp-editor-tools{display:none}#wp-fullscreen-statusbar{position:fixed;left:0;right:0;bottom:0;height:30px;z-index:100020;background:#fff;-webkit-transition:height .2s;transition:height .2s}#wp-fullscreen-status{margin:0 auto;padding:0}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title,.wp-fullscreen-active .wp-fullscreen-title:focus{-webkit-border-radius:0;border-radius:0;border:1px dashed transparent;background:0 0;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:border-color .4s;transition:border-color .4s}.wp-fullscreen-active .wp-editor-container{margin:0 auto 40px}.wp-fullscreen-active .wp-fullscreen-title{font-size:1.7em;line-height:100%;outline:0;padding:3px 7px;margin:10px auto 30px;display:block}#wp-fullscreen-tagline{color:#82878c;font-size:18px;float:right;padding:4px 0 0}#fullscreen-topbar{background:#f5f5f5;border-bottom:1px solid #dedede;height:45px;position:fixed;left:0;right:0;top:0;width:100%;z-index:100020;-webkit-transition:opacity .4s;transition:opacity .4s}#wp-fullscreen-toolbar{padding:6px 10px 0;clear:both;max-width:1100px;margin:0 auto}#wp-fullscreen-button-bar,#wp-fullscreen-close,#wp-fullscreen-mode-bar{float:left}#wp-fullscreen-count,#wp-fullscreen-tagline{display:inline-block}#wp-fullscreen-button-bar{margin-top:2px}#wp-fullscreen-save{float:right;padding:2px 0 0;min-width:95px}#wp-fullscreen-close,#wp-fullscreen-count{padding:5px 0 0}#wp-fullscreen-central-toolbar{margin:auto;padding:0;min-width:620px}#wp-fullscreen-buttons>div{float:left}#wp-fullscreen-mode-bar{padding:3px 14px 0 0}#wp-fullscreen-buttons .hidden{display:none}#wp-fullscreen-buttons .disabled{opacity:.5}#wp-fullscreen-buttons .mce-btn button{margin:0;outline:0;border:0;white-space:nowrap;width:auto;background:0 0;color:#32373c;cursor:pointer;font-size:18px;line-height:20px;overflow:visible;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-html-mode #wp-fullscreen-buttons div{display:none}.wp-html-mode #wp-fullscreen-buttons div.wp-fullscreen-both{display:block}#wp-fullscreen-save img{vertical-align:middle}#wp-fullscreen-save span{display:none;margin:5px 6px 0;float:left}.wp-fullscreen-active #TB_overlay{z-index:100050}.wp-fullscreen-active #TB_window{z-index:100051}.fullscreen-overlay{background:#fff}.wp-fullscreen-active #fullscreen-topbar{-webkit-transition-duration:.8s;transition-duration:.8s;opacity:0;filter:alpha(opacity=0)}.wp-fullscreen-active #wp-fullscreen-statusbar{height:0}.wp-fullscreen-active.wp-dfw-show-ui #fullscreen-topbar{-webkit-transition-duration:.4s;transition-duration:.4s;opacity:1;filter:alpha(opacity=100)}.wp-fullscreen-active.wp-dfw-show-ui #wp-fullscreen-statusbar{height:29px;background:#f8f8f8;border-top:1px solid #eee}.wp-fullscreen-active .wp-editor-container,.wp-fullscreen-active .wp-fullscreen-title{-webkit-transition-duration:.8s;transition-duration:.8s;border-color:transparent}.wp-fullscreen-active.wp-dfw-show-ui .wp-editor-container,.wp-fullscreen-active.wp-dfw-show-ui .wp-fullscreen-title{-webkit-transition-duration:.4s;transition-duration:.4s;border-color:#ccc}.fade-1000,.fade-300,.fade-400,.fade-600{opacity:0;-webkit-transition-property:opacity;transition-property:opacity}.fade-1000{-webkit-transition-duration:1s;transition-duration:1s}.fade-600{-webkit-transition-duration:.6s;transition-duration:.6s}.fade-400{-webkit-transition-duration:.4s;transition-duration:.4s}.fade-300{-webkit-transition-duration:.3s;transition-duration:.3s}.fade-trigger{opacity:1}.wp-dfw-touch #fullscreen-topbar{position:absolute;opacity:1}.wp-dfw-touch .wp-fullscreen-title,.wp-dfw-touch .wp-fullscreen-wrap .wp-editor-container{max-width:700px}.wp-fullscreen-active.wp-dfw-touch .wp-editor-container,.wp-fullscreen-active.wp-dfw-touch .wp-fullscreen-title{border-color:#ccc}.wp-dfw-touch #wp-fullscreen-statusbar{height:30px}@media screen and (max-width:782px){#wp-fullscreen-button-bar,#wp-fullscreen-central-toolbar,#wp-fullscreen-close,#wp-fullscreen-mode-bar,#wp-fullscreen-save{display:inline-block}#fullscreen-topbar{height:85px}#wp-fullscreen-central-toolbar{width:auto!important;min-width:0}#wp-fullscreen-close{line-height:30px;vertical-align:top;padding:0 12px}#wp-fullscreen-button-bar{position:absolute;top:45px;left:0}.wp-fullscreen-wrap{top:95px}#wp-fullscreen-save{position:absolute;right:10px}}@media screen and (max-width:480px){#wp_fs_help{display:none}.wp-fullscreen-title,.wp-fullscreen-wrap .wp-editor-container{width:480px!important}body.wp-fullscreen-active{width:480px;overflow:auto}#fullscreen-topbar,.wp-fullscreen-wrap{width:480px}#fullscreen-topbar{position:absolute}#wp-fullscreen-status{width:auto!important;max-width:100%;padding:0 10px}}.rtl .quicktags-toolbar input,.rtl .wp-switch-editor{font-family:Tahoma,sans-serif}.mce-rtl .mce-flow-layout .mce-flow-layout-item>div{direction:rtl}.mce-rtl .mce-listbox i.mce-caret{left:6px}html:lang(he-il) .rtl .quicktags-toolbar input,html:lang(he-il) .rtl .wp-switch-editor{font-family:Arial,sans-serif}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){#wp-fullscreen-buttons #wp_fs_image span.mce_image,.wp-media-buttons .add_media span.wp-media-buttons-icon{background:0 0}}
\ No newline at end of file
index 885f00199ab21010218c53df1c4d4022f4c78bfc..2a6107029dcbff0ea019dd7214f14adcc647b10b 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI CSS Framework 1.11.2
+ * jQuery UI CSS Framework 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
 }
 
 /*!
- * jQuery UI Resizable 1.11.2
+ * jQuery UI Resizable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
        bottom: -5px;
        right: 0;
 }
-/* @noflip */
+/* rtl:ignore */
 .ui-resizable-e {
        cursor: e-resize;
        width: 7px;
        top: 0;
        height: 100%;
 }
-/* @noflip */
+/* rtl:ignore */
 .ui-resizable-w {
        cursor: w-resize;
        width: 7px;
        top: 0;
        height: 100%;
 }
-/* @noflip */
+/* rtl:ignore */
 .ui-resizable-se {
        cursor: se-resize;
        width: 12px;
        right: 1px;
        bottom: 1px;
 }
-/* @noflip */
+/* rtl:ignore */
 .ui-resizable-sw {
        cursor: sw-resize;
        width: 9px;
        left: -5px;
        bottom: -5px;
 }
-/* @noflip */
+/* rtl:ignore */
 .ui-resizable-nw {
        cursor: nw-resize;
        width: 9px;
        left: -5px;
        top: -5px;
 }
-/* @noflip */
+/* rtl:ignore */
 .ui-resizable-ne {
        cursor: ne-resize;
        width: 9px;
 .ui-button:focus {
        background: #fafafa;
        border-color: #999;
-       color: #222;
+       color: #23282d;
 }
 
 .ui-button:focus {
 .ui-button:active {
        background: #eee;
        border-color: #999;
-       color: #333;
+       color: #32373c;
        -webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
        box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
 }
 
 .ui-button[disabled],
 .ui-button:disabled {
-       color: #aaa !important;
+       color: #a0a5aa !important;
        border-color: #ddd !important;
        background: #f7f7f7 !important;
        -webkit-box-shadow: none !important;
 }
 
 .ui-button.ui-dialog-titlebar-close:hover {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .ui-dialog-titlebar-close .ui-button-text {
index 5ac7519f62bc1074e846dd76499e15558885af2b..b0c19e5b247c4956178b785ccaf59e6a97d5c16e 100644 (file)
@@ -1,17 +1,17 @@
 /*!
- * jQuery UI CSS Framework 1.11.2
+ * jQuery UI CSS Framework 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/category/theming/
  */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;right:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{width:100%;height:100%}/*!
- * jQuery UI Resizable 1.11.2
+ * jQuery UI Resizable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
- */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;right:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;right:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-button{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.ui-button:active,.ui-button:focus{outline:0}.ui-button::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.ui-button:focus,.ui-button:hover{background:#fafafa;border-color:#999;color:#222}.ui-button:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ui-button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.ui-button:disabled,.ui-button[disabled]{color:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}@media screen and (max-width:782px){.ui-button{padding:10px 14px;line-height:1;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.ui-dialog{position:absolute;top:0;right:0;z-index:100102;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}.ui-dialog-titlebar{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px}.ui-button.ui-dialog-titlebar-close{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;color:#666;cursor:pointer;display:block;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center}.ui-dialog-titlebar-close:before{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:36px;width:36px;height:36px;content:'\f158'}.ui-button.ui-dialog-titlebar-close:hover{color:#2ea2cc}.ui-dialog-titlebar-close .ui-button-text{display:none}.ui-dialog-content{padding:16px;overflow:auto}.ui-dialog-buttonpane{background:#fcfcfc;border-top:1px solid #dfdfdf;padding:16px}.ui-dialog-buttonpane .ui-button{margin-right:16px}.ui-dialog-buttonpane .ui-dialog-buttonset{float:left}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-widget-overlay{position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100101}
\ No newline at end of file
+ */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;right:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;right:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-button{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.ui-button:active,.ui-button:focus{outline:0}.ui-button::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.ui-button:focus,.ui-button:hover{background:#fafafa;border-color:#999;color:#23282d}.ui-button:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ui-button:active{background:#eee;border-color:#999;color:#32373c;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.ui-button:disabled,.ui-button[disabled]{color:#a0a5aa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}@media screen and (max-width:782px){.ui-button{padding:10px 14px;line-height:1;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.ui-dialog{position:absolute;top:0;right:0;z-index:100102;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}.ui-dialog-titlebar{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 16px 0 36px}.ui-button.ui-dialog-titlebar-close{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;color:#666;cursor:pointer;display:block;padding:0;position:absolute;top:0;left:0;width:36px;height:36px;text-align:center}.ui-dialog-titlebar-close:before{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:36px;width:36px;height:36px;content:'\f158'}.ui-button.ui-dialog-titlebar-close:hover{color:#00a0d2}.ui-dialog-titlebar-close .ui-button-text{display:none}.ui-dialog-content{padding:16px;overflow:auto}.ui-dialog-buttonpane{background:#fcfcfc;border-top:1px solid #dfdfdf;padding:16px}.ui-dialog-buttonpane .ui-button{margin-right:16px}.ui-dialog-buttonpane .ui-dialog-buttonset{float:left}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-widget-overlay{position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100101}
\ No newline at end of file
index 5fdfee440f9520ebf083e9606976c25d640e51aa..091cb7480c870c7c2b09468c76e11b6f2ae9d980 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI CSS Framework 1.11.2
+ * jQuery UI CSS Framework 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
 }
 
 /*!
- * jQuery UI Resizable 1.11.2
+ * jQuery UI Resizable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
        bottom: -5px;
        left: 0;
 }
-/* @noflip */
+/* rtl:ignore */
 .ui-resizable-e {
        cursor: e-resize;
        width: 7px;
        top: 0;
        height: 100%;
 }
-/* @noflip */
+/* rtl:ignore */
 .ui-resizable-w {
        cursor: w-resize;
        width: 7px;
        top: 0;
        height: 100%;
 }
-/* @noflip */
+/* rtl:ignore */
 .ui-resizable-se {
        cursor: se-resize;
        width: 12px;
        right: 1px;
        bottom: 1px;
 }
-/* @noflip */
+/* rtl:ignore */
 .ui-resizable-sw {
        cursor: sw-resize;
        width: 9px;
        left: -5px;
        bottom: -5px;
 }
-/* @noflip */
+/* rtl:ignore */
 .ui-resizable-nw {
        cursor: nw-resize;
        width: 9px;
        left: -5px;
        top: -5px;
 }
-/* @noflip */
+/* rtl:ignore */
 .ui-resizable-ne {
        cursor: ne-resize;
        width: 9px;
 .ui-button:focus {
        background: #fafafa;
        border-color: #999;
-       color: #222;
+       color: #23282d;
 }
 
 .ui-button:focus {
 .ui-button:active {
        background: #eee;
        border-color: #999;
-       color: #333;
+       color: #32373c;
        -webkit-box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
        box-shadow: inset 0 2px 5px -3px rgba( 0, 0, 0, 0.5 );
 }
 
 .ui-button[disabled],
 .ui-button:disabled {
-       color: #aaa !important;
+       color: #a0a5aa !important;
        border-color: #ddd !important;
        background: #f7f7f7 !important;
        -webkit-box-shadow: none !important;
 }
 
 .ui-button.ui-dialog-titlebar-close:hover {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .ui-dialog-titlebar-close .ui-button-text {
index b5a74d7e26a15a33328089e266db4ed20b3ca7d7..c9adc2417928fc0e66d364be3ba71c1daa81fe75 100644 (file)
@@ -1,17 +1,17 @@
 /*!
- * jQuery UI CSS Framework 1.11.2
+ * jQuery UI CSS Framework 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/category/theming/
  */.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{width:100%;height:100%}/*!
- * jQuery UI Resizable 1.11.2
+ * jQuery UI Resizable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
- */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-button{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.ui-button:active,.ui-button:focus{outline:0}.ui-button::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.ui-button:focus,.ui-button:hover{background:#fafafa;border-color:#999;color:#222}.ui-button:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ui-button:active{background:#eee;border-color:#999;color:#333;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.ui-button:disabled,.ui-button[disabled]{color:#aaa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}@media screen and (max-width:782px){.ui-button{padding:10px 14px;line-height:1;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.ui-dialog{position:absolute;top:0;left:0;z-index:100102;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}.ui-dialog-titlebar{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px}.ui-button.ui-dialog-titlebar-close{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;color:#666;cursor:pointer;display:block;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center}.ui-dialog-titlebar-close:before{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:36px;width:36px;height:36px;content:'\f158'}.ui-button.ui-dialog-titlebar-close:hover{color:#2ea2cc}.ui-dialog-titlebar-close .ui-button-text{display:none}.ui-dialog-content{padding:16px;overflow:auto}.ui-dialog-buttonpane{background:#fcfcfc;border-top:1px solid #dfdfdf;padding:16px}.ui-dialog-buttonpane .ui-button{margin-left:16px}.ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-widget-overlay{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100101}
\ No newline at end of file
+ */.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-button{display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:3px;border-radius:3px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#555;border-color:#ccc;background:#f7f7f7;-webkit-box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);box-shadow:inset 0 1px 0 #fff,0 1px 0 rgba(0,0,0,.08);vertical-align:top}.ui-button:active,.ui-button:focus{outline:0}.ui-button::-moz-focus-inner{border-width:1px 0;border-style:solid none;border-color:transparent;padding:0}.ui-button:focus,.ui-button:hover{background:#fafafa;border-color:#999;color:#23282d}.ui-button:focus{-webkit-box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}.ui-button:active{background:#eee;border-color:#999;color:#32373c;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.ui-button:disabled,.ui-button[disabled]{color:#a0a5aa!important;border-color:#ddd!important;background:#f7f7f7!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:0 1px 0 #fff!important;cursor:default}@media screen and (max-width:782px){.ui-button{padding:10px 14px;line-height:1;font-size:14px;vertical-align:middle;height:auto;margin-bottom:4px}}.ui-dialog{position:absolute;top:0;left:0;z-index:100102;background-color:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}.ui-dialog-titlebar{background:#fcfcfc;border-bottom:1px solid #dfdfdf;height:36px;font-size:18px;font-weight:600;line-height:36px;padding:0 36px 0 16px}.ui-button.ui-dialog-titlebar-close{background:0 0;border:none;-webkit-box-shadow:none;box-shadow:none;color:#666;cursor:pointer;display:block;padding:0;position:absolute;top:0;right:0;width:36px;height:36px;text-align:center}.ui-dialog-titlebar-close:before{font:400 20px/1 dashicons;vertical-align:top;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:36px;width:36px;height:36px;content:'\f158'}.ui-button.ui-dialog-titlebar-close:hover{color:#00a0d2}.ui-dialog-titlebar-close .ui-button-text{display:none}.ui-dialog-content{padding:16px;overflow:auto}.ui-dialog-buttonpane{background:#fcfcfc;border-top:1px solid #dfdfdf;padding:16px}.ui-dialog-buttonpane .ui-button{margin-left:16px}.ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-widget-overlay{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:100101}
\ No newline at end of file
index 2ad671a4a97d60e3b9b28f63666f067e4950f507..f45fc9a2aa64bd8c5dad44677d111621d18092f5 100644 (file)
@@ -19,6 +19,7 @@
 .media-frame {
        font-family: "Open Sans", sans-serif;
        font-size: 12px;
+       -webkit-overflow-scrolling: touch;
 }
 
 .media-frame input,
 }
 
 .media-frame a.button {
-       color: #333;
+       color: #32373c;
 }
 
 .media-frame a.button:hover {
-       color: #222;
+       color: #23282d;
 }
 
 .media-frame a.button-primary,
 }
 
 /*!
- * jQuery UI Draggable/Sortable 1.11.2
+ * jQuery UI Draggable/Sortable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
 .ui-draggable-handle,
 .ui-sortable-handle {
        -ms-touch-action: none;
-       touch-action:     none;
+       touch-action: none;
 }
 
 /**
 }
 
 .media-modal-close:hover .media-modal-icon:before {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .media-modal-close:active {
 .media-toolbar-primary {
        float: left;
        height: 100%;
-       max-width: 33%;
 }
 
 .media-toolbar-secondary {
        float: right;
        height: 100%;
-       max-width: 66%;
 }
 
 .media-toolbar-primary > .media-button,
 
 .compat-item .field {
        float: left;
-       width: 66%;
+       width: 65%;
+       margin: 1px;
 }
 
 .compat-item .field input[type="text"],
 .compat-item .field input[type="number"],
 .compat-item .field input[type="search"],
 .compat-item .field input[type="tel"],
-.compat-item .field input[type="url"] {
+.compat-item .field input[type="url"],
+.compat-item .field textarea {
        width: 100%;
        margin: 0;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
 }
 
 .sidebar-for-errors .attachment-details,
        margin: 0;
        line-height: 18px;
        font-size: 14px;
-       color: #0074a2;
+       color: #0073aa;
        text-decoration: none;
 }
 
 
 .media-menu .active,
 .media-menu .active:hover {
-       color: #222;
+       color: #23282d;
        font-weight: bold;
 }
 
 
 .media-router .active,
 .media-router .active:hover {
-       color: #333;
+       color: #32373c;
 }
 
 .media-router .active,
 .media-frame select.attachment-filters {
        margin-top: 11px;
        margin-left: 2%;
-       max-width: 47%;
+       max-width: 42%;
+       max-width: -webkit-calc(48% - 12px);
+       max-width: calc(48% - 12px);
+}
+
+.media-frame select.attachment-filters:last-of-type {
+       margin-left: 0;
 }
 
 /**
 /**
  * Attachments
  */
-.attachments {
+.wp-core-ui .attachments {
        margin: 0;
        -webkit-overflow-scrolling: touch;
 }
 /**
  * Attachment
  */
-.attachment {
+.wp-core-ui .attachment {
        position: relative;
        float: right;
        padding: 8px;
        box-sizing: border-box;
 }
 
-.attachment:focus,
-.selected.attachment:focus,
-.attachment.details:focus {
+.wp-core-ui .attachment:focus,
+.wp-core-ui .selected.attachment:focus,
+.wp-core-ui .attachment.details:focus {
        -webkit-box-shadow:
                inset 0 0 2px 3px #fff,
                inset 0 0 0 7px #5b9dd9;
        outline: none;
 }
 
-.selected.attachment {
+.wp-core-ui .selected.attachment {
        -webkit-box-shadow:
                inset 0 0 0 5px #fff,
                inset 0 0 0 7px #ccc;
                inset 0 0 0 7px #ccc;
 }
 
-.attachment.details {
+.wp-core-ui .attachment.details {
        -webkit-box-shadow:
                inset 0 0 0 3px #fff,
                inset 0 0 0 7px #1e8cbe;
                inset 0 0 0 7px #1e8cbe;
 }
 
-.attachment-preview {
+.wp-core-ui .attachment-preview {
        position: relative;
        -webkit-box-shadow:
                inset 0 0 15px rgba( 0, 0, 0, 0.1 ),
        cursor: pointer;
 }
 
-.attachment-preview:before {
+.wp-core-ui .attachment-preview:before {
        content: '';
        display: block;
        padding-top: 100%;
 }
 
-.attachment .icon {
+.wp-core-ui .attachment .icon {
        margin: 0 auto;
        overflow: hidden;
 }
 
-.attachment .thumbnail {
+.wp-core-ui .attachment .thumbnail {
        overflow: hidden;
        position: absolute;
        top: 0;
        transition: opacity .1s;
 }
 
-.attachment .portrait img {
+.wp-core-ui .attachment .portrait img {
        max-width: 100%;
 }
 
-.attachment .landscape img {
+.wp-core-ui .attachment .landscape img {
        max-height: 100%;
 }
 
-.attachment .thumbnail:after {
+.wp-core-ui .attachment .thumbnail:after {
        content: '';
        display: block;
        position: absolute;
        overflow: hidden;
 }
 
-/* @noflip */
-.attachment .thumbnail img {
+.wp-core-ui .attachment .thumbnail img {
        top: 0;
-       left: 0;
+       right: 0;
 }
 
-/* @noflip */
-.attachment .thumbnail .centered {
+.wp-core-ui .attachment .thumbnail .centered {
        position: absolute;
        top: 0;
-       left: 0;
+       right: 0;
        width: 100%;
        height: 100%;
-       -webkit-transform: translate( 50%, 50% );
-       -ms-transform: translate(50%,50%); /* Fails with spaces?? Weird! */
-       transform: translate( 50%, 50% );
+       -webkit-transform: translate( -50%, 50% );
+       -ms-transform: translate(-50%,50%); /* Fails with spaces?? Weird! */
+       transform: translate( -50%, 50% );
 }
 
-.attachment .thumbnail .centered img {
-       -webkit-transform: translate( -50%, -50% );
-       -ms-transform: translate(-50%,-50%);
-       transform: translate( -50%, -50% );
+.wp-core-ui .attachment .thumbnail .centered img {
+       -webkit-transform: translate( 50%, -50% );
+       -ms-transform: translate(50%,-50%);
+       transform: translate( 50%, -50% );
 }
 
-.attachment .thumbnail .centered img.icon {
-       -webkit-transform: translate( -50%, -70% );
-       -ms-transform: translate(-50%,-70%);
-       transform: translate( -50%, -70% );
+.wp-core-ui .attachments-browser .attachment .thumbnail .centered img.icon {
+       -webkit-transform: translate( 50%, -70% );
+       -ms-transform: translate(50%,-70%);
+       transform: translate( 50%, -70% );
 }
 
-.ie8 .attachment img.icon {
+.ie8 .wp-core-ui .attachment img.icon {
        top: 20%;
        position: relative;
 }
 
-.attachment .filename {
+.wp-core-ui .attachment .filename {
        position: absolute;
        right: 0;
        left: 0;
        box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.15 );
 }
 
-.attachment .filename div {
+.wp-core-ui .attachment .filename div {
        padding: 5px 10px;
 }
 
-.attachment .thumbnail img {
+.wp-core-ui .attachment .thumbnail img {
        position: absolute;
 }
 
-.attachment .close {
+.wp-core-ui .attachment .close {
        display: block;
        position: absolute;
        top: 5px;
        transition-property: none;
 }
 
-.attachment a.close:hover,
-.attachment a.close:focus {
+.wp-core-ui .attachment a.close:hover,
+.wp-core-ui .attachment a.close:focus {
        -webkit-box-shadow: 0 0 0 1px rgba( 0, 0, 0, 0.6 );
        box-shadow: 0 0 0 1px rgba( 0, 0, 0, 0.6 );
        background-position: -36px 4px;
 
 }
 
-.attachment .check {
+.wp-core-ui .attachment .check {
        display: none;
        height: 24px;
        width: 24px;
        box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.15 );
 }
 
-.attachment .check div {
+.wp-core-ui .attachment .check div {
        background-position: -1px 0;
        height: 15px;
        width: 15px;
        margin: 5px;
 }
 
-.attachment .check:hover div {
+.wp-core-ui .attachment .check:hover div {
        background-position: -40px 0;
 }
 
-.attachment.selected .check {
+.wp-core-ui .attachment.selected .check {
        display: block;
 }
 
-.attachment.details .check,
-.attachment.selected .check:focus,
-.media-frame.mode-grid .attachment.selected .check {
+.wp-core-ui .attachment.details .check,
+.wp-core-ui .attachment.selected .check:focus,
+.wp-core-ui .media-frame.mode-grid .attachment.selected .check {
        background-color: #1e8cbe;
        -webkit-box-shadow:
                0 0 0 1px #fff,
                0 0 0 2px #1e8cbe;
 }
 
-.attachment.details .check div,
-.media-frame.mode-grid .attachment.selected .check div {
+.wp-core-ui .attachment.details .check div,
+.wp-core-ui .media-frame.mode-grid .attachment.selected .check div {
        background-position: -21px 0;
 }
 
-.attachment.details .check:hover div,
-.attachment.selected .check:focus div,
-.media-frame.mode-grid .attachment.selected .check:hover div {
+.wp-core-ui .attachment.details .check:hover div,
+.wp-core-ui .attachment.selected .check:focus div,
+.wp-core-ui .media-frame.mode-grid .attachment.selected .check:hover div {
        background-position: -60px 0;
 }
 
-.media-frame .attachment .describe {
+.wp-core-ui .media-frame .attachment .describe {
        position: relative;
        display: block;
        width: 100%;
        display: none;
 }
 
+.attachments-browser .media-toolbar-primary {
+       max-width: 33%;
+}
+
+.attachments-browser .media-toolbar-secondary {
+       max-width: 66%;
+}
+
 .uploader-inline .close {
        background-color: transparent;
        border: 0;
        width: 40px;
        padding: 0;
        margin: 4px;
-       -webkit-box-shadow: none;
-       box-shadow: none;
 }
 
 .media-selection .attachment .thumbnail {
        background: none;
 }
 
-.media-selection .attachment.selection.details .thumbnail {
+.wp-core-ui .media-selection .attachment:focus,
+.wp-core-ui .media-selection .selected.attachment:focus,
+.wp-core-ui .media-selection .attachment.details:focus {
+       -webkit-box-shadow:
+               0 0 0 1px #fff,
+               0 0 2px 3px #5b9dd9;
+       box-shadow:
+               0 0 0 1px #fff,
+               0 0 2px 3px #5b9dd9;
+}
+
+.wp-core-ui .media-selection .selected.attachment {
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+.wp-core-ui .media-selection .attachment.details {
        -webkit-box-shadow:
                0 0 0 1px #fff,
                0 0 0 3px #1e8cbe;
        background: url(../images/spinner.gif) no-repeat;
        -webkit-background-size: 20px 20px;
        background-size: 20px 20px;
-       display: none;
+       float: left;
+       display: inline-block;
+       visibility: hidden;
        opacity: 0.7;
        filter: alpha(opacity=70);
        width: 20px;
        height: 20px;
        margin: 0;
+       vertical-align: middle;
+}
+
+.media-frame .spinner.is-active {
+       visibility: visible;
 }
 
 .media-toolbar .spinner {
 }
 
 .attachment-details .settings-save-status .spinner {
-       margin: 0 5px 0;
+       margin-right: 5px;
 }
 
 .attachment-details .settings-save-status .saved {
        display: none;
 }
 
-.attachment-details.save-waiting .settings-save-status .spinner,
+.attachment-details.save-waiting .settings-save-status .spinner {
+       visibility: visible;
+}
+
 .attachment-details.save-complete .settings-save-status .saved {
        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 );
+       -webkit-box-shadow: inset -2px 2px 4px -2px rgba( 0, 0, 0, 0.1 );
+       box-shadow: inset -2px 2px 4px -2px rgba( 0, 0, 0, 0.1 );
 }
 
 .media-frame .embed-url .spinner {
 }
 
 .media-frame .embed-loading .embed-url .spinner {
-       display: block;
+       visibility: visible;
 }
 
 .embed-link-settings,
        overflow: auto;
 }
 
-.embed-preview img, .embed-preview iframe, .embed-preview embed {
+.embed-preview img,
+.embed-preview iframe,
+.embed-preview embed {
        max-width: 100%;
 }
 
+.embed-preview a {
+       display: inline-block;
+}
+
 .embed-preview img {
+       display: block;
        height: auto;
 }
 
        }
 
        .media-modal .attachments-browser .media-toolbar .spinner {
-               margin: 14px 8px 0;
+               margin: 14px 2px 0;
        }
 
        /* Text inputs need to be 16px, or they force zooming on iOS */
  * HiDPI Displays
  */
 @media print,
-  (-o-min-device-pixel-ratio: 5/4),
   (-webkit-min-device-pixel-ratio: 1.25),
   (min-resolution: 120dpi) {
 
index 6868c3925e8feefa34d0d6b22e4f0a782459688e..0a8adc8e11e650aa2a1a9276fe5599de26d2223c 100644 (file)
@@ -1,8 +1,8 @@
-.media-modal *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.media-frame input,.media-frame select,.media-frame textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.media-frame,.media-modal{font-family:"Open Sans",sans-serif;font-size:12px}.media-frame input,.media-frame textarea{padding:6px 8px}.media-frame select,.wp-admin .media-frame select{line-height:28px;margin-top:3px}.media-frame a{border-bottom:none;color:#21759b}.media-frame a:hover{color:#d54e21}.media-frame a.button{color:#333}.media-frame a.button:hover{color:#222}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-family:"Open Sans",sans-serif;font-size:12px;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame input[type=email]:focus,.media-frame input[type=number]:focus,.media-frame input[type=password]:focus,.media-frame input[type=search]:focus,.media-frame input[type=text]:focus,.media-frame input[type=url]:focus,.media-frame select:focus,.media-frame textarea:focus{border-color:#5b9dd9}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame input[readonly],.media-frame textarea:disabled,.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.media-frame .hidden{display:none}/*!
- * jQuery UI Draggable/Sortable 1.11.2
+.media-modal *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.media-frame input,.media-frame select,.media-frame textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.media-frame,.media-modal{font-family:"Open Sans",sans-serif;font-size:12px;-webkit-overflow-scrolling:touch}.media-frame input,.media-frame textarea{padding:6px 8px}.media-frame select,.wp-admin .media-frame select{line-height:28px;margin-top:3px}.media-frame a{border-bottom:none;color:#21759b}.media-frame a:hover{color:#d54e21}.media-frame a.button{color:#32373c}.media-frame a.button:hover{color:#23282d}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-family:"Open Sans",sans-serif;font-size:12px;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame input[type=email]:focus,.media-frame input[type=number]:focus,.media-frame input[type=password]:focus,.media-frame input[type=search]:focus,.media-frame input[type=text]:focus,.media-frame input[type=url]:focus,.media-frame select:focus,.media-frame textarea:focus{border-color:#5b9dd9}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame input[readonly],.media-frame textarea:disabled,.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.media-frame .hidden{display:none}/*!
+ * jQuery UI Draggable/Sortable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
- */.ui-draggable-handle,.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.media-modal{position:fixed;top:30px;right:30px;left:30px;bottom:30px;z-index:160000}.wp-customizer .media-modal{z-index:560000}.media-modal-backdrop{position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.wp-customizer .media-modal-backdrop{z-index:559900}.media-modal-close{position:absolute;text-decoration:none;top:10px;left:10px;width:30px;height:30px;z-index:1000;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.media-modal-close:active{-webkit-box-shadow:none;box-shadow:none}.media-modal-close span.media-modal-icon{display:block;margin-top:5px;width:30px;height:15px;background-image:none;text-align:center}.media-modal-close .media-modal-icon:before{content:'\f158';font:400 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#666}.media-modal-close:hover .media-modal-icon:before{color:#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%;max-width:33%}.media-toolbar-secondary{float:right;height:100%;max-width:66%}.media-toolbar-primary>.media-button,.media-toolbar-primary>.media-button-group{margin-right:10px;float:right;margin-top:15px}.media-toolbar-secondary>.media-button,.media-toolbar-secondary>.media-button-group{margin-left:10px;margin-top:15px}.media-sidebar{position:absolute;top:0;left:0;bottom:0;width:267px;padding:0 16px 24px;z-index:75;background:#f3f3f3;border-right:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch}.hide-toolbar .media-sidebar{bottom:0}.media-sidebar .sidebar-title{font-size:20px;margin:0;padding:12px 10px 10px;line-height:28px}.media-sidebar .sidebar-content{padding:0 10px;margin-bottom:130px}.media-sidebar .search{display:block;width:100%}.image-details h3,.media-sidebar h3{position:relative;font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}.attachment-details .setting,.media-sidebar .setting{display:block;float:right;width:100%;margin:1px 0}.attachment-details .setting label,.media-sidebar .setting label{display:block}.attachment-details .setting .link-to-custom,.media-sidebar .setting .link-to-custom{margin:3px 2px 0}.attachment-details .setting span,.media-sidebar .setting span{min-width:30%;margin-left:4%;font-size:12px;text-align:left;word-wrap:break-word}.media-sidebar .setting .name{max-width:80px}.attachment-details .setting select,.media-sidebar .setting select{max-width:65%}.attachment-details .field input[type=checkbox],.attachment-details .field input[type=radio],.attachment-details .setting input[type=checkbox],.attachment-details .setting input[type=radio],.media-sidebar .field input[type=checkbox],.media-sidebar .field input[type=radio],.media-sidebar .setting input[type=checkbox],.media-sidebar .setting input[type=radio]{float:none;margin:8px 3px 0;padding:0}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{float:right;min-height:22px;padding-top:8px;line-height:16px;font-weight:400;color:#666}.compat-item label span{text-align:left}.attachment-details .setting .value,.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting textarea,.media-sidebar .setting .value,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px;width:65%;float:left}.attachment-details .setting .value,.media-sidebar .setting .value{margin:0 1px;text-align:right}.attachment-details .setting textarea,.compat-item .field textarea,.media-sidebar .setting textarea{height:62px;resize:vertical}.attachment-details select,.media-sidebar select{margin-top:3px}.compat-item{float:right;width:100%;overflow:hidden}.compat-item table{width:100%;table-layout:fixed;border-spacing:0;border:0}.compat-item tr{padding:2px 0;display:block;overflow:hidden}.compat-item .field,.compat-item .label{display:block;margin:0;padding:0}.compat-item .label{min-width:30%;margin-left:4%;float:right;text-align:left}.compat-item .label span{display:block;width:100%}.compat-item .field{float:left;width:66%}.compat-item .field input[type=email],.compat-item .field input[type=number],.compat-item .field input[type=password],.compat-item .field input[type=search],.compat-item .field input[type=tel],.compat-item .field input[type=text],.compat-item .field input[type=url]{width:100%;margin:0}.sidebar-for-errors .attachment-details,.sidebar-for-errors .compat-item,.sidebar-for-errors .media-sidebar .media-progress-bar,.sidebar-for-errors .upload-details{display:none!important}.media-menu{position:absolute;top:0;right:0;left:0;bottom:0;margin:0;padding:10px 0;background:#f3f3f3;border-left-width:1px;border-left-style:solid;border-left-color:#ccc;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:8px 20px;margin:0;line-height:18px;font-size:14px;color:#0074a2;text-decoration:none}.media-menu>a:hover{color:#21759B;background:rgba(0,0,0,.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#222;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.media-router{position:relative;padding:0 6px;margin:0;clear:both;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-router a{-webkit-transition:none;transition:none}.media-router>a{position:relative;float:right;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none}.media-router>a:last-child{border-left:0}.media-router>a:active{outline:0}.media-router .active,.media-router .active:hover{color:#333}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:none}.media-router .active:after{display:none}.media-frame{overflow:hidden;position:absolute;top:0;right:0;left:0;bottom:0}.media-frame-menu{position:absolute;top:0;right:0;bottom:0;width:200px;z-index:150}.media-frame-title{position:absolute;top:0;right:200px;left:0;height:50px;z-index:200}.media-frame-router{position:absolute;top:50px;right:200px;left:0;height:36px;z-index:200}.media-frame-content{position:absolute;top:84px;right:200px;left:0;bottom:61px;height:auto;width:auto;margin:0;overflow:auto;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.media-frame-toolbar{position:absolute;right:200px;left:0;bottom:0;height:60px;z-index:100}.media-frame.hide-menu .media-frame-content,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-title,.media-frame.hide-menu .media-frame-toolbar{right:0}.media-frame.hide-menu .media-frame-menu{right:-200px}.media-frame.hide-toolbar .media-frame-content{bottom:0}.media-frame.hide-toolbar .media-frame-toolbar{bottom:-61px}.media-frame.hide-router .media-frame-content{top:50px}.media-frame.hide-router .media-frame-router{display:none}.media-frame.hide-router .media-frame-title{border-bottom:1px solid #dfdfdf;-webkit-box-shadow:0 4px 4px -4px rgba(0,0,0,.1);box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.media-frame-title .dashicons{display:none}.media-frame-title h1{padding:0 16px;font-size:22px;line-height:50px;margin:0}.media-frame-title .suggested-dimensions{font-size:14px;float:left;margin-left:20px}.media-frame-content .crop-content{height:100%}.media-frame-content .crop-content .crop-image{display:block;margin:auto;max-width:100%;max-height:100%}.media-frame-content .crop-content .upload-errors{position:absolute;width:300px;top:50%;right:50%;margin-right:-150px;margin-left:-150px;z-index:600000}.media-frame .media-iframe{overflow:hidden}.media-frame .media-iframe,.media-frame .media-iframe iframe{height:100%;width:100%;border:0}.media-frame select.attachment-filters{margin-top:11px;margin-left:2%;max-width:47%}.media-frame .search{margin-top:11px;padding:4px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-primary .search{max-width:100%}.attachments{margin:0;-webkit-overflow-scrolling:touch}.attachment{position:relative;float:right;padding:8px;margin:0;color:#464646;cursor:pointer;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:25%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.attachment.details:focus,.attachment:focus,.selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;outline:0}.selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc}.attachment.details{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe}.attachment-preview{position:relative;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}.attachment-preview:before{content:'';display:block;padding-top:100%}.attachment .icon{margin:0 auto;overflow:hidden}.attachment .thumbnail{overflow:hidden;position:absolute;top:0;left:0;bottom:0;right:0;opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.attachment .portrait img{max-width:100%}.attachment .landscape img{max-height:100%}.attachment .thumbnail:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.attachment .thumbnail img{top:0;left:0}.attachment .thumbnail .centered{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);-ms-transform:translate(50%,50%);transform:translate(50%,50%)}.attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.attachment .thumbnail .centered img.icon{-webkit-transform:translate(-50%,-70%);-ms-transform:translate(-50%,-70%);transform:translate(-50%,-70%)}.ie8 .attachment img.icon{top:20%;position:relative}.attachment .filename{position:absolute;right:0;left:0;bottom:0;overflow:hidden;max-height:100%;word-wrap:break-word;text-align:center;font-weight:700;background:rgba(255,255,255,.8);-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.attachment .filename div{padding:5px 10px}.attachment .thumbnail img{position:absolute}.attachment .close{display:block;position:absolute;top:5px;left:5px;height:22px;width:22px;padding:0;font-size:20px;line-height:20px;text-align:center;text-decoration:none;color:#464646;background-color:#fff;background-position:-96px 4px;border-width:0;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3);-webkit-transition-duration:none;transition-duration:none;-webkit-transition-property:none;transition-property:none}.attachment a.close:focus,.attachment a.close:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.6);box-shadow:0 0 0 1px rgba(0,0,0,.6);background-position:-36px 4px}.attachment .check{display:none;height:24px;width:24px;position:absolute;z-index:10;top:0;left:0;outline:0;background:#eee;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15)}.attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.attachment .check:hover div{background-position:-40px 0}.attachment.selected .check{display:block}.attachment.details .check,.attachment.selected .check:focus,.media-frame.mode-grid .attachment.selected .check{background-color:#1e8cbe;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.attachment.details .check div,.media-frame.mode-grid .attachment.selected .check div{background-position:-21px 0}.attachment.details .check:hover div,.attachment.selected .check:focus div,.media-frame.mode-grid .attachment.selected .check:hover div{background-position:-60px 0}.media-frame .attachment .describe{position:relative;display:block;width:100%;margin:0;padding:8px;font-size:12px;-webkit-border-radius:0;border-radius:0}.media-frame .attachments-browser{position:relative;width:100%;height:100%;overflow:hidden}.attachments-browser .media-toolbar{left:300px;height:50px}.attachments-browser.hide-sidebar .media-toolbar{left:0}.attachments-browser .media-toolbar-primary>.media-button,.attachments-browser .media-toolbar-primary>.media-button-group,.attachments-browser .media-toolbar-secondary>.media-button,.attachments-browser .media-toolbar-secondary>.media-button-group{margin:11px 0}.attachments-browser .attachments{padding:2px 8px 8px}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:absolute;top:50px;right:0;left:300px;bottom:0;overflow:auto;outline:0}.attachments-browser .uploader-inline.hidden{display:none}.uploader-inline .close{background-color:transparent;border:0;cursor:pointer;height:48px;position:absolute;left:0;text-align:center;top:0;width:50px;z-index:1}.uploader-inline .close:before{font:400 30px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.attachments-browser.hide-sidebar .attachments,.attachments-browser.hide-sidebar .uploader-inline{left:0;margin-left:0}.attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666;margin-left:.5em}.attachments-browser .no-media{padding:2em 2em 0 0}.media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;-webkit-border-radius:10px;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,.1)}.media-progress-bar div{height:10px;min-width:20px;width:0;background:#1e8cbe;-webkit-border-radius:10px;border-radius:10px;-webkit-transition:width 300ms;transition:width 300ms}.media-uploader-status .media-progress-bar{display:none;width:100%}.uploading.media-uploader-status .media-progress-bar{display:block}.attachment-preview .media-progress-bar{position:absolute;top:50%;right:15%;width:70%;margin:-5px 0 0}.media-uploader-status{position:relative;margin:0 auto;padding-bottom:10px;max-width:400px}.media-sidebar .media-uploader-status{border-bottom:1px solid #dfdfdf}.uploader-inline .media-uploader-status h3{display:none}.media-uploader-status .upload-details{display:none;font-size:12px;color:#666}.uploading.media-uploader-status .upload-details{display:block}.media-uploader-status .upload-detail-separator{padding:0 4px}.media-uploader-status .upload-count{color:#464646}.media-uploader-status .upload-dismiss-errors,.media-uploader-status .upload-errors{display:none}.errors.media-uploader-status .upload-dismiss-errors,.errors.media-uploader-status .upload-errors{display:block}.media-uploader-status .upload-dismiss-errors{text-decoration:none}.media-sidebar .media-uploader-status .upload-dismiss-errors{position:absolute;top:0;left:0}.upload-errors .upload-error{margin:8px auto 0;padding:8px;border:1px solid #c00;background:#ffebe8;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-left:8px;font-weight:700;color:#fff;background:#e00;background:-webkit-gradient(linear,right top,right bottom,from(#e00),to(#a00)) #e00;background:-webkit-linear-gradient(top,#e00,#a00) #e00;background:linear-gradient(to bottom,#e00,#a00) #e00;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-message{display:block;padding-top:8px;color:#b44;word-wrap:break-word}.uploader-window{position:fixed;top:0;right:0;left:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;-webkit-transition:opacity 250ms;transition:opacity 250ms}.uploader-window-content{position:absolute;top:10px;right:10px;left:10px;bottom:10px;border:1px dashed #fff}.uploader-window h3{margin:-.5em 0 0;position:absolute;top:50%;right:0;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:40px;color:#fff;padding:0}.uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:0 0;border-color:#fff;display:none}.uploader-window .media-progress-bar div{background:#fff}.uploading .uploader-window .media-progress-bar{display:block}.media-frame .uploader-inline{margin-bottom:20px;padding:0;text-align:center}.uploader-inline-content{position:absolute;top:30%;right:0;left:0}.uploader-inline-content .upload-ui{margin:2em 0}.uploader-inline-content .post-upload-ui{margin-bottom:2em}.uploader-inline .has-upload-message .upload-ui{margin:0 0 4em}.uploader-inline h3{font-size:20px;line-height:28px;font-weight:400;margin:0}.uploader-inline .has-upload-message .upload-instructions{font-size:14px;color:#464646;font-weight:400}.uploader-inline .drop-instructions{display:none}.supports-drag-drop .uploader-inline .drop-instructions{display:block}.uploader-inline p{font-size:12px;margin:.5em 0}.uploader-inline .media-progress-bar{display:none}.uploading.uploader-inline .media-progress-bar{display:block}.uploader-inline .browser{display:inline-block!important}.media-selection{position:absolute;top:0;right:0;left:350px;height:60px;padding:0 16px 0 0;overflow:hidden;white-space:nowrap}.media-selection .selection-info{display:inline-block;font-size:12px;height:60px;margin-left:10px;vertical-align:top}.media-selection.editing,.media-selection.empty,.media-selection.one .edit-selection{display:none}.media-selection .count{display:block;padding-top:12px;font-size:14px;line-height:20px;font-weight:700}.media-selection .selection-info a{display:block;float:right;padding:1px 8px;margin:1px -8px 1px 8px;line-height:16px;text-decoration:none;border-left:1px solid #dfdfdf;color:#21759B}.media-selection .selection-info a:hover{background:#21759B;color:#fff;border-color:transparent}.media-selection .selection-info a:last-child{border-left:0;margin-left:0}.media-selection .selection-info .clear-selection{color:red}.media-selection .selection-info .clear-selection:hover{background:red}.media-selection .selection-view{display:inline-block;vertical-align:top}.media-selection .attachments{display:inline-block;height:48px;margin:6px;padding:0;overflow:hidden;vertical-align:top}.media-selection .attachment{width:40px;padding:0;margin:4px;-webkit-box-shadow:none;box-shadow:none}.media-selection .attachment .thumbnail{top:0;left:0;bottom:0;right:0}.media-selection .attachment .icon{width:50%}.media-selection .attachment-preview{-webkit-box-shadow:none;box-shadow:none;background:0 0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe}.media-selection:after{content:'';display:block;position:absolute;top:0;left:0;bottom:0;width:25px;background-image:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,1)),to(rgba(255,255,255,0)));background-image:-webkit-linear-gradient(left,rgba(255,255,255,1),rgba(255,255,255,0));background-image:linear-gradient(to right,rgba(255,255,255,1),rgba(255,255,255,0))}.media-selection .attachment .filename{display:none}.media-frame .spinner{background:url(../images/spinner.gif) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;display:none;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0}.media-toolbar .spinner{margin-top:14px}.attachment-details{position:relative;overflow:auto}.attachment-details .settings-save-status{float:left;text-transform:none;z-index:10}.attachment-details .settings-save-status .spinner{margin:0 5px}.attachment-details .settings-save-status .saved{float:left;display:none}.attachment-details.save-complete .settings-save-status .saved,.attachment-details.save-waiting .settings-save-status .spinner{display:block}.attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#666;border-bottom:1px solid #ddd;padding-bottom:11px}.attachment-info .filename{font-weight:700;color:#464646;word-wrap:break-word}.attachment-info .thumbnail{position:relative;float:right;max-width:120px;max-height:120px;margin-top:5px;margin-left:10px;margin-bottom:5px}.uploading .attachment-info .thumbnail{width:120px;height:80px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1);box-shadow:inset 0 0 15px rgba(0,0,0,.1)}.uploading .attachment-info .media-progress-bar{margin-top:35px}.attachment-info .thumbnail-image:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);overflow:hidden}.attachment-info .thumbnail img{display:block;max-width:120px;max-height:120px;margin:0 auto}.attachment-info .details{float:right;font-size:12px;max-width:100%}.attachment-info .delete-attachment,.attachment-info .edit-attachment,.attachment-info .refresh-attachment,.attachment-info .trash-attachment,.attachment-info .untrash-attachment{display:block;text-decoration:none;white-space:nowrap}.attachment-details.needs-refresh .attachment-info .edit-attachment,.attachment-info .refresh-attachment{display:none}.attachment-details.needs-refresh .attachment-info .refresh-attachment,.attachment-info .edit-attachment{display:block}.media-modal .delete-attachment,.media-modal .trash-attachment,.media-modal .untrash-attachment{color:#bc0b0b}.media-modal .delete-attachment:hover,.media-modal .trash-attachment:hover,.media-modal .untrash-attachment:hover{color:red}.attachment-display-settings{width:100%;float:right;overflow:hidden}.attachment-display-settings h4{margin:1.4em 0 .4em}.collection-settings{overflow:hidden}.collection-settings .setting input[type=checkbox]{float:right;margin-left:8px}.collection-settings .setting span{min-width:inherit}.media-modal .imgedit-wrap{position:static}.media-modal .imgedit-wait{height:auto!important;left:0;bottom:0;right:0}.media-modal .imgedit-wrap .imgedit-panel-content{padding:16px;position:absolute;top:0;left:282px;bottom:0;right:0;overflow:auto}.media-modal .imgedit-wrap .imgedit-settings{background:#f3f3f3;border-right:1px solid #ddd;padding:0 16px 16px;position:absolute;top:0;left:0;bottom:0;width:250px;overflow:auto}.media-modal .imgedit-group{background:0 0;border:none;border-bottom:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;margin:0 0 16px;padding:0 0 16px;position:relative}.media-modal .imgedit-group:last-of-type{border:none;margin:0;padding:0}.media-modal .imgedit-group-top h3{text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 0}.media-modal .imgedit-group-top h3 a{text-decoration:none;color:#666}.media-modal .imgedit-help-toggle{margin-top:-2px;cursor:pointer;color:#666}.media-modal .imgedit-help-toggled span.dashicons:before{content:'\f142'}.media-modal .imgedit-group img{margin-top:5px}.media-modal .imgedit-wrap div.updated{margin:0 0 16px}.embed-url{display:block;position:relative;padding:16px;margin:0;z-index:250;background:#fff;font-size:18px}.media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;-webkit-box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1);box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1)}.media-frame .embed-url .spinner{position:absolute;top:32px;left:26px}.media-frame .embed-loading .embed-url .spinner{display:block}.embed-link-settings,.embed-media-settings{position:absolute;top:70px;right:0;left:0;bottom:0;padding:16px 16px 32px;overflow:auto}.embed-preview embed,.embed-preview iframe,.embed-preview img{max-width:100%}.embed-preview img{height:auto}.image-details .media-modal{right:140px;left:140px}.image-details .media-frame-content,.image-details .media-frame-router,.image-details .media-frame-title{right:0}.image-details .embed-media-settings{top:0;overflow:visible;padding:0}.image-details .embed-media-settings,.image-details .embed-media-settings div{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.image-details .column-settings{background:#f3f3f3;border-left:1px solid #ddd;min-height:100%;width:55%;position:absolute;top:0;right:0}.image-details .column-settings h3{margin:20px;padding-top:20px;border-top:1px solid #ddd}.image-details .column-image{width:45%;position:absolute;right:55%;top:0}.image-details .image{margin:20px}.image-details .image img{max-width:100%;max-height:500px}.image-details .advanced-toggle{color:#666;text-decoration:none;display:block}.image-details .advanced-toggle:after{font:400 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140';display:inline-block;margin-top:-2px}.image-details .advanced-visible .advanced-toggle:after{content:'\f142'}.image-details .embed-media-settings .size{margin-bottom:4px}.image-details .custom-size span{display:block}.image-details .custom-size label{display:block;float:right}.image-details .custom-size span small{color:#999;font-size:inherit}.image-details .custom-size input{width:5em}.image-details .custom-size .sep{float:right;margin:26px 6px 0}.image-details .custom-size:after{content:'';display:table;clear:both}.media-embed .thumbnail{max-width:100%;max-height:200px;position:relative;float:right}.media-embed .thumbnail img{max-height:200px;display:block}.media-embed .thumbnail:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.media-embed .setting{width:100%;margin:10px 0;float:right;display:block;clear:both}.image-details .embed-media-settings .setting{float:none;width:auto}.image-details .actions{margin:10px 0}.image-details .hidden{display:none}.media-embed .setting input[type=text],.media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{max-width:inherit;width:70%}.image-details .embed-media-settings .custom-size,.image-details .embed-media-settings .link-target,.image-details .embed-media-settings .setting input.link-to-custom{margin-right:27%;width:70%}.image-details .embed-media-settings .link-target{margin-top:24px}.media-embed .setting input.hidden,.media-embed .setting textarea.hidden{display:none}.media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#666}.image-details .embed-media-settings .setting span{float:right;width:25%;text-align:left;margin:8px 1% 0;line-height:1.1}.media-embed .setting .button-group{margin:2px 0}.media-embed-sidebar{position:absolute;top:0;right:440px}.advanced-section,.link-settings{margin-top:10px}#wp-fullscreen-body .uploader-editor,.wp-editor-wrap .uploader-editor{background:rgba(150,150,150,.9);position:absolute;top:0;right:0;width:100%;height:100%;z-index:99998;display:none;text-align:center}#wp-fullscreen-body .uploader-editor{background:rgba(0,86,132,.9);position:fixed;z-index:100050}.wp-editor-wrap.wp-fullscreen-wrap .uploader-editor{opacity:0}#wp-fullscreen-body .uploader-editor-content,.wp-editor-wrap .uploader-editor-content{border:1px dashed #fff;position:absolute;top:10px;right:10px;left:10px;bottom:10px}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor .uploader-editor-title{position:absolute;top:50%;right:0;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:3em;line-height:1.3;font-weight:700;color:#fff;padding:0;margin:0;display:none}.wp-editor-wrap .uploader-editor.droppable{background:rgba(0,86,132,.9)}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor.droppable .uploader-editor-title{display:block}.ie7 .media-frame .attachments-browser{position:static}.ie7 .media-frame .embed-url input{margin-top:4px;width:90%}.ie7 .compat-item{width:99%}.ie7 .attachment-display-settings{width:auto}.ie7 .attachment-preview,.ie7 .attachment-preview .thumbnail{width:120px;height:120px}.ie7 .media-frame .attachment .describe{width:102px}.ie7 .media-sidebar .setting select{max-width:55%}.ie7 .media-sidebar .setting input[type=email],.ie7 .media-sidebar .setting input[type=number],.ie7 .media-sidebar .setting input[type=password],.ie7 .media-sidebar .setting input[type=search],.ie7 .media-sidebar .setting input[type=tel],.ie7 .media-sidebar .setting input[type=text],.ie7 .media-sidebar .setting input[type=url],.ie7 .media-sidebar .setting textarea{width:55%}.ie7 .media-sidebar .setting .link-to-custom{float:right}.rtl .media-frame,.rtl .media-frame .search,.rtl .media-frame input[type=email],.rtl .media-frame input[type=number],.rtl .media-frame input[type=password],.rtl .media-frame input[type=search],.rtl .media-frame input[type=tel],.rtl .media-frame input[type=text],.rtl .media-frame input[type=url],.rtl .media-frame select,.rtl .media-frame textarea,.rtl .media-modal{font-family:Tahoma,sans-serif}:lang(he-il) .rtl .media-frame,:lang(he-il) .rtl .media-frame .search,:lang(he-il) .rtl .media-frame input[type=email],:lang(he-il) .rtl .media-frame input[type=number],:lang(he-il) .rtl .media-frame input[type=password],:lang(he-il) .rtl .media-frame input[type=search],:lang(he-il) .rtl .media-frame input[type=text],:lang(he-il) .rtl .media-frame input[type=url],:lang(he-il) .rtl .media-frame select,:lang(he-il) .rtl .media-frame textarea,:lang(he-il) .rtl .media-modal{font-family:Arial,sans-serif}@media only screen and (max-width:900px){.media-frame:not(.hide-menu) .media-frame-content,.media-frame:not(.hide-menu) .media-frame-router,.media-frame:not(.hide-menu) .media-frame-title,.media-frame:not(.hide-menu) .media-frame-toolbar{right:0}.media-frame:not(.hide-menu) .media-frame-menu{position:static;width:0}.media-frame:not(.hide-menu) .media-menu{width:auto;max-width:80%;overflow:auto;z-index:2000;top:50px;right:-300px;left:auto;bottom:auto;padding:5px 0;border:1px solid #ccc}.media-frame:not(.hide-menu) .media-menu.visible{right:0}.media-frame:not(.hide-menu) .media-menu>a{padding:12px 16px;font-size:16px}.media-frame:not(.hide-menu) .media-menu>a.active{display:none}.media-frame:not(.hide-menu) .media-menu .separator{margin:5px 10px}.media-frame:not(.hide-menu) .media-frame-title{right:0;color:#21759b}.media-frame:not(.hide-menu) .media-frame-title .dashicons{display:inline-block;line-height:50px}.media-frame:not(.hide-menu) .media-frame-title h1{line-height:3;font-size:18px;float:right;cursor:pointer}.media-sidebar{width:230px}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{left:262px}.attachment-details .setting,.media-sidebar .setting{margin:6px 0}.attachment-details .setting input,.attachment-details .setting span,.attachment-details .setting textarea,.compat-item label span,.media-sidebar .setting input,.media-sidebar .setting span,.media-sidebar .setting textarea{float:none}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{text-align:inherit;min-height:16px;margin:0;padding:8px 2px 0}.attachment-details .setting .value,.media-sidebar .setting .value{float:none;width:auto}.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting select,.attachment-details .setting textarea,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting select,.media-sidebar .setting textarea{float:none;width:98%;max-width:none;height:auto}.attachment-details .setting select.columns,.media-sidebar .setting select.columns{width:auto}.media-frame .search,.media-frame input,.media-frame textarea{padding:3px 6px}.image-details .column-image{width:30%;right:70%}.image-details .column-settings{width:70%}.image-details .media-modal{right:30px;left:30px}.image-details .embed-media-settings .setting{margin:20px}.image-details .embed-media-settings .setting span{float:none;text-align:right;width:100%;margin-bottom:4px}.image-details .embed-media-settings .setting input.link-to-custom,.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{width:100%;margin-right:0}.image-details .embed-media-settings .custom-size{margin-right:20px}.collection-settings .setting input[type=checkbox]{margin-top:0}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-modal .attachments-browser .media-toolbar .search{max-width:100%;height:auto;float:left}.media-modal .attachments-browser .media-toolbar .attachment-filters{height:auto}.media-modal .attachments-browser .media-toolbar .spinner{margin:14px 8px 0}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-size:16px}}@media only screen and (max-width:640px),screen and (max-height:400px){.image-details .media-modal,.media-modal{position:fixed;top:0;right:0;left:0;bottom:0}.media-modal-backdrop{position:fixed}.media-sidebar{z-index:1900;max-width:70%;bottom:120%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding-bottom:0}.media-sidebar.visible{bottom:0}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{left:0}.image-details .media-frame-title{display:block;top:0;font-size:14px}.image-details .column-image,.image-details .column-settings{width:100%;position:relative;right:0}.image-details .column-settings{padding:4px 0}.media-frame-content .media-toolbar .instructions{display:none}}@media screen and (max-height:400px){.media-menu{padding:0}.media-frame-router{top:44px}.media-frame-content{top:78px}.attachments-browser .attachments{top:40px}.embed-link-settings{overflow:visible}}@media only screen and (max-width:480px){.media-modal-close{top:5px;left:5px}.media-modal .media-frame-title{height:40px}.media-frame:not(.hide-menu) .media-frame-title h1,.media-modal .media-frame-title h1{font-size:18px;line-height:40px}.media-frame:not(.hide-menu) .media-frame-title .dashicons{line-height:40px}.media-frame-router,.media-frame:not(.hide-menu) .media-menu{top:40px}.media-frame-content{top:74px}.media-frame.hide-router .media-frame-content{top:40px}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.media-modal-icon{background-image:url(../images/uploader-icons-2x.png);-webkit-background-size:134px 15px;background-size:134px 15px}.media-frame .spinner{background-image:url(../images/spinner-2x.gif)}}.media-frame-content[data-columns="1"] .attachment{width:100%}.media-frame-content[data-columns="2"] .attachment{width:50%}.media-frame-content[data-columns="3"] .attachment{width:33.33%}.media-frame-content[data-columns="4"] .attachment{width:25%}.media-frame-content[data-columns="5"] .attachment{width:20%}.media-frame-content[data-columns="6"] .attachment{width:16.66%}.media-frame-content[data-columns="7"] .attachment{width:14.28%}.media-frame-content[data-columns="8"] .attachment{width:12.5%}.media-frame-content[data-columns="9"] .attachment{width:11.11%}.media-frame-content[data-columns="10"] .attachment{width:10%}.media-frame-content[data-columns="11"] .attachment{width:9.09%}.media-frame-content[data-columns="12"] .attachment{width:8.33%}
\ No newline at end of file
+ */.ui-draggable-handle,.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.media-modal{position:fixed;top:30px;right:30px;left:30px;bottom:30px;z-index:160000}.wp-customizer .media-modal{z-index:560000}.media-modal-backdrop{position:fixed;top:0;right:0;left:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.wp-customizer .media-modal-backdrop{z-index:559900}.media-modal-close{position:absolute;text-decoration:none;top:10px;left:10px;width:30px;height:30px;z-index:1000;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.media-modal-close:active{-webkit-box-shadow:none;box-shadow:none}.media-modal-close span.media-modal-icon{display:block;margin-top:5px;width:30px;height:15px;background-image:none;text-align:center}.media-modal-close .media-modal-icon:before{content:'\f158';font:400 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#666}.media-modal-close:hover .media-modal-icon:before{color:#00a0d2}.media-modal-close:active{outline:0}.media-modal-content{position:absolute;top:0;right:0;left:0;bottom:0;overflow:auto;min-height:300px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc;-webkit-font-smoothing:subpixel-antialiased}.media-modal-icon{background-image:url(../images/uploader-icons.png);background-repeat:no-repeat}.media-toolbar{position:absolute;top:0;right:0;left:0;z-index:100;height:60px;padding:0 16px;border:0 solid #dfdfdf;overflow:hidden}.media-toolbar-primary{float:left;height:100%}.media-toolbar-secondary{float:right;height:100%}.media-toolbar-primary>.media-button,.media-toolbar-primary>.media-button-group{margin-right:10px;float:right;margin-top:15px}.media-toolbar-secondary>.media-button,.media-toolbar-secondary>.media-button-group{margin-left:10px;margin-top:15px}.media-sidebar{position:absolute;top:0;left:0;bottom:0;width:267px;padding:0 16px 24px;z-index:75;background:#f3f3f3;border-right:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch}.hide-toolbar .media-sidebar{bottom:0}.media-sidebar .sidebar-title{font-size:20px;margin:0;padding:12px 10px 10px;line-height:28px}.media-sidebar .sidebar-content{padding:0 10px;margin-bottom:130px}.media-sidebar .search{display:block;width:100%}.image-details h3,.media-sidebar h3{position:relative;font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}.attachment-details .setting,.media-sidebar .setting{display:block;float:right;width:100%;margin:1px 0}.attachment-details .setting label,.media-sidebar .setting label{display:block}.attachment-details .setting .link-to-custom,.media-sidebar .setting .link-to-custom{margin:3px 2px 0}.attachment-details .setting span,.media-sidebar .setting span{min-width:30%;margin-left:4%;font-size:12px;text-align:left;word-wrap:break-word}.media-sidebar .setting .name{max-width:80px}.attachment-details .setting select,.media-sidebar .setting select{max-width:65%}.attachment-details .field input[type=checkbox],.attachment-details .field input[type=radio],.attachment-details .setting input[type=checkbox],.attachment-details .setting input[type=radio],.media-sidebar .field input[type=checkbox],.media-sidebar .field input[type=radio],.media-sidebar .setting input[type=checkbox],.media-sidebar .setting input[type=radio]{float:none;margin:8px 3px 0;padding:0}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{float:right;min-height:22px;padding-top:8px;line-height:16px;font-weight:400;color:#666}.compat-item label span{text-align:left}.attachment-details .setting .value,.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting textarea,.media-sidebar .setting .value,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px;width:65%;float:left}.attachment-details .setting .value,.media-sidebar .setting .value{margin:0 1px;text-align:right}.attachment-details .setting textarea,.compat-item .field textarea,.media-sidebar .setting textarea{height:62px;resize:vertical}.attachment-details select,.media-sidebar select{margin-top:3px}.compat-item{float:right;width:100%;overflow:hidden}.compat-item table{width:100%;table-layout:fixed;border-spacing:0;border:0}.compat-item tr{padding:2px 0;display:block;overflow:hidden}.compat-item .field,.compat-item .label{display:block;margin:0;padding:0}.compat-item .label{min-width:30%;margin-left:4%;float:right;text-align:left}.compat-item .label span{display:block;width:100%}.compat-item .field{float:left;width:65%;margin:1px}.compat-item .field input[type=email],.compat-item .field input[type=number],.compat-item .field input[type=password],.compat-item .field input[type=search],.compat-item .field input[type=tel],.compat-item .field input[type=text],.compat-item .field input[type=url],.compat-item .field textarea{width:100%;margin:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.sidebar-for-errors .attachment-details,.sidebar-for-errors .compat-item,.sidebar-for-errors .media-sidebar .media-progress-bar,.sidebar-for-errors .upload-details{display:none!important}.media-menu{position:absolute;top:0;right:0;left:0;bottom:0;margin:0;padding:10px 0;background:#f3f3f3;border-left-width:1px;border-left-style:solid;border-left-color:#ccc;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:8px 20px;margin:0;line-height:18px;font-size:14px;color:#0073aa;text-decoration:none}.media-menu>a:hover{color:#21759B;background:rgba(0,0,0,.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#23282d;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.media-router{position:relative;padding:0 6px;margin:0;clear:both;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-router a{-webkit-transition:none;transition:none}.media-router>a{position:relative;float:right;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none}.media-router>a:last-child{border-left:0}.media-router>a:active{outline:0}.media-router .active,.media-router .active:hover{color:#32373c}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:none}.media-router .active:after{display:none}.media-frame{overflow:hidden;position:absolute;top:0;right:0;left:0;bottom:0}.media-frame-menu{position:absolute;top:0;right:0;bottom:0;width:200px;z-index:150}.media-frame-title{position:absolute;top:0;right:200px;left:0;height:50px;z-index:200}.media-frame-router{position:absolute;top:50px;right:200px;left:0;height:36px;z-index:200}.media-frame-content{position:absolute;top:84px;right:200px;left:0;bottom:61px;height:auto;width:auto;margin:0;overflow:auto;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.media-frame-toolbar{position:absolute;right:200px;left:0;bottom:0;height:60px;z-index:100}.media-frame.hide-menu .media-frame-content,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-title,.media-frame.hide-menu .media-frame-toolbar{right:0}.media-frame.hide-menu .media-frame-menu{right:-200px}.media-frame.hide-toolbar .media-frame-content{bottom:0}.media-frame.hide-toolbar .media-frame-toolbar{bottom:-61px}.media-frame.hide-router .media-frame-content{top:50px}.media-frame.hide-router .media-frame-router{display:none}.media-frame.hide-router .media-frame-title{border-bottom:1px solid #dfdfdf;-webkit-box-shadow:0 4px 4px -4px rgba(0,0,0,.1);box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.media-frame-title .dashicons{display:none}.media-frame-title h1{padding:0 16px;font-size:22px;line-height:50px;margin:0}.media-frame-title .suggested-dimensions{font-size:14px;float:left;margin-left:20px}.media-frame-content .crop-content{height:100%}.media-frame-content .crop-content .crop-image{display:block;margin:auto;max-width:100%;max-height:100%}.media-frame-content .crop-content .upload-errors{position:absolute;width:300px;top:50%;right:50%;margin-right:-150px;margin-left:-150px;z-index:600000}.media-frame .media-iframe{overflow:hidden}.media-frame .media-iframe,.media-frame .media-iframe iframe{height:100%;width:100%;border:0}.media-frame select.attachment-filters{margin-top:11px;margin-left:2%;max-width:42%;max-width:-webkit-calc(48% - 12px);max-width:calc(48% - 12px)}.media-frame select.attachment-filters:last-of-type{margin-left:0}.media-frame .search{margin-top:11px;padding:4px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-primary .search{max-width:100%}.wp-core-ui .attachments{margin:0;-webkit-overflow-scrolling:touch}.wp-core-ui .attachment{position:relative;float:right;padding:8px;margin:0;color:#464646;cursor:pointer;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:25%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-core-ui .attachment.details:focus,.wp-core-ui .attachment:focus,.wp-core-ui .selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;outline:0}.wp-core-ui .selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc}.wp-core-ui .attachment.details{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe}.wp-core-ui .attachment-preview{position:relative;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}.wp-core-ui .attachment-preview:before{content:'';display:block;padding-top:100%}.wp-core-ui .attachment .icon{margin:0 auto;overflow:hidden}.wp-core-ui .attachment .thumbnail{overflow:hidden;position:absolute;top:0;left:0;bottom:0;right:0;opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.wp-core-ui .attachment .portrait img{max-width:100%}.wp-core-ui .attachment .landscape img{max-height:100%}.wp-core-ui .attachment .thumbnail:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.wp-core-ui .attachment .thumbnail img{top:0;right:0}.wp-core-ui .attachment .thumbnail .centered{position:absolute;top:0;right:0;width:100%;height:100%;-webkit-transform:translate(-50%,50%);-ms-transform:translate(-50%,50%);transform:translate(-50%,50%)}.wp-core-ui .attachment .thumbnail .centered img{-webkit-transform:translate(50%,-50%);-ms-transform:translate(50%,-50%);transform:translate(50%,-50%)}.wp-core-ui .attachments-browser .attachment .thumbnail .centered img.icon{-webkit-transform:translate(50%,-70%);-ms-transform:translate(50%,-70%);transform:translate(50%,-70%)}.ie8 .wp-core-ui .attachment img.icon{top:20%;position:relative}.wp-core-ui .attachment .filename{position:absolute;right:0;left:0;bottom:0;overflow:hidden;max-height:100%;word-wrap:break-word;text-align:center;font-weight:700;background:rgba(255,255,255,.8);-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.wp-core-ui .attachment .filename div{padding:5px 10px}.wp-core-ui .attachment .thumbnail img{position:absolute}.wp-core-ui .attachment .close{display:block;position:absolute;top:5px;left:5px;height:22px;width:22px;padding:0;font-size:20px;line-height:20px;text-align:center;text-decoration:none;color:#464646;background-color:#fff;background-position:-96px 4px;border-width:0;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3);-webkit-transition-duration:none;transition-duration:none;-webkit-transition-property:none;transition-property:none}.wp-core-ui .attachment a.close:focus,.wp-core-ui .attachment a.close:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.6);box-shadow:0 0 0 1px rgba(0,0,0,.6);background-position:-36px 4px}.wp-core-ui .attachment .check{display:none;height:24px;width:24px;position:absolute;z-index:10;top:0;left:0;outline:0;background:#eee;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15)}.wp-core-ui .attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.wp-core-ui .attachment .check:hover div{background-position:-40px 0}.wp-core-ui .attachment.selected .check{display:block}.wp-core-ui .attachment.details .check,.wp-core-ui .attachment.selected .check:focus,.wp-core-ui .media-frame.mode-grid .attachment.selected .check{background-color:#1e8cbe;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.wp-core-ui .attachment.details .check div,.wp-core-ui .media-frame.mode-grid .attachment.selected .check div{background-position:-21px 0}.wp-core-ui .attachment.details .check:hover div,.wp-core-ui .attachment.selected .check:focus div,.wp-core-ui .media-frame.mode-grid .attachment.selected .check:hover div{background-position:-60px 0}.wp-core-ui .media-frame .attachment .describe{position:relative;display:block;width:100%;margin:0;padding:8px;font-size:12px;-webkit-border-radius:0;border-radius:0}.media-frame .attachments-browser{position:relative;width:100%;height:100%;overflow:hidden}.attachments-browser .media-toolbar{left:300px;height:50px}.attachments-browser.hide-sidebar .media-toolbar{left:0}.attachments-browser .media-toolbar-primary>.media-button,.attachments-browser .media-toolbar-primary>.media-button-group,.attachments-browser .media-toolbar-secondary>.media-button,.attachments-browser .media-toolbar-secondary>.media-button-group{margin:11px 0}.attachments-browser .attachments{padding:2px 8px 8px}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:absolute;top:50px;right:0;left:300px;bottom:0;overflow:auto;outline:0}.attachments-browser .uploader-inline.hidden{display:none}.attachments-browser .media-toolbar-primary{max-width:33%}.attachments-browser .media-toolbar-secondary{max-width:66%}.uploader-inline .close{background-color:transparent;border:0;cursor:pointer;height:48px;position:absolute;left:0;text-align:center;top:0;width:50px;z-index:1}.uploader-inline .close:before{font:400 30px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.attachments-browser.hide-sidebar .attachments,.attachments-browser.hide-sidebar .uploader-inline{left:0;margin-left:0}.attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666;margin-left:.5em}.attachments-browser .no-media{padding:2em 2em 0 0}.media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;-webkit-border-radius:10px;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,.1)}.media-progress-bar div{height:10px;min-width:20px;width:0;background:#1e8cbe;-webkit-border-radius:10px;border-radius:10px;-webkit-transition:width 300ms;transition:width 300ms}.media-uploader-status .media-progress-bar{display:none;width:100%}.uploading.media-uploader-status .media-progress-bar{display:block}.attachment-preview .media-progress-bar{position:absolute;top:50%;right:15%;width:70%;margin:-5px 0 0}.media-uploader-status{position:relative;margin:0 auto;padding-bottom:10px;max-width:400px}.media-sidebar .media-uploader-status{border-bottom:1px solid #dfdfdf}.uploader-inline .media-uploader-status h3{display:none}.media-uploader-status .upload-details{display:none;font-size:12px;color:#666}.uploading.media-uploader-status .upload-details{display:block}.media-uploader-status .upload-detail-separator{padding:0 4px}.media-uploader-status .upload-count{color:#464646}.media-uploader-status .upload-dismiss-errors,.media-uploader-status .upload-errors{display:none}.errors.media-uploader-status .upload-dismiss-errors,.errors.media-uploader-status .upload-errors{display:block}.media-uploader-status .upload-dismiss-errors{text-decoration:none}.media-sidebar .media-uploader-status .upload-dismiss-errors{position:absolute;top:0;left:0}.upload-errors .upload-error{margin:8px auto 0;padding:8px;border:1px solid #c00;background:#ffebe8;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-left:8px;font-weight:700;color:#fff;background:#e00;background:-webkit-gradient(linear,right top,right bottom,from(#e00),to(#a00)) #e00;background:-webkit-linear-gradient(top,#e00,#a00) #e00;background:linear-gradient(to bottom,#e00,#a00) #e00;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-message{display:block;padding-top:8px;color:#b44;word-wrap:break-word}.uploader-window{position:fixed;top:0;right:0;left:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;-webkit-transition:opacity 250ms;transition:opacity 250ms}.uploader-window-content{position:absolute;top:10px;right:10px;left:10px;bottom:10px;border:1px dashed #fff}.uploader-window h3{margin:-.5em 0 0;position:absolute;top:50%;right:0;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:40px;color:#fff;padding:0}.uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:0 0;border-color:#fff;display:none}.uploader-window .media-progress-bar div{background:#fff}.uploading .uploader-window .media-progress-bar{display:block}.media-frame .uploader-inline{margin-bottom:20px;padding:0;text-align:center}.uploader-inline-content{position:absolute;top:30%;right:0;left:0}.uploader-inline-content .upload-ui{margin:2em 0}.uploader-inline-content .post-upload-ui{margin-bottom:2em}.uploader-inline .has-upload-message .upload-ui{margin:0 0 4em}.uploader-inline h3{font-size:20px;line-height:28px;font-weight:400;margin:0}.uploader-inline .has-upload-message .upload-instructions{font-size:14px;color:#464646;font-weight:400}.uploader-inline .drop-instructions{display:none}.supports-drag-drop .uploader-inline .drop-instructions{display:block}.uploader-inline p{font-size:12px;margin:.5em 0}.uploader-inline .media-progress-bar{display:none}.uploading.uploader-inline .media-progress-bar{display:block}.uploader-inline .browser{display:inline-block!important}.media-selection{position:absolute;top:0;right:0;left:350px;height:60px;padding:0 16px 0 0;overflow:hidden;white-space:nowrap}.media-selection .selection-info{display:inline-block;font-size:12px;height:60px;margin-left:10px;vertical-align:top}.media-selection.editing,.media-selection.empty,.media-selection.one .edit-selection{display:none}.media-selection .count{display:block;padding-top:12px;font-size:14px;line-height:20px;font-weight:700}.media-selection .selection-info a{display:block;float:right;padding:1px 8px;margin:1px -8px 1px 8px;line-height:16px;text-decoration:none;border-left:1px solid #dfdfdf;color:#21759B}.media-selection .selection-info a:hover{background:#21759B;color:#fff;border-color:transparent}.media-selection .selection-info a:last-child{border-left:0;margin-left:0}.media-selection .selection-info .clear-selection{color:red}.media-selection .selection-info .clear-selection:hover{background:red}.media-selection .selection-view{display:inline-block;vertical-align:top}.media-selection .attachments{display:inline-block;height:48px;margin:6px;padding:0;overflow:hidden;vertical-align:top}.media-selection .attachment{width:40px;padding:0;margin:4px}.media-selection .attachment .thumbnail{top:0;left:0;bottom:0;right:0}.media-selection .attachment .icon{width:50%}.media-selection .attachment-preview{-webkit-box-shadow:none;box-shadow:none;background:0 0}.wp-core-ui .media-selection .attachment.details:focus,.wp-core-ui .media-selection .attachment:focus,.wp-core-ui .media-selection .selected.attachment:focus{-webkit-box-shadow:0 0 0 1px #fff,0 0 2px 3px #5b9dd9;box-shadow:0 0 0 1px #fff,0 0 2px 3px #5b9dd9}.wp-core-ui .media-selection .selected.attachment{-webkit-box-shadow:none;box-shadow:none}.wp-core-ui .media-selection .attachment.details{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe}.media-selection:after{content:'';display:block;position:absolute;top:0;left:0;bottom:0;width:25px;background-image:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,1)),to(rgba(255,255,255,0)));background-image:-webkit-linear-gradient(left,rgba(255,255,255,1),rgba(255,255,255,0));background-image:linear-gradient(to right,rgba(255,255,255,1),rgba(255,255,255,0))}.media-selection .attachment .filename{display:none}.media-frame .spinner{background:url(../images/spinner.gif) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;float:left;display:inline-block;visibility:hidden;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0;vertical-align:middle}.media-frame .spinner.is-active{visibility:visible}.media-toolbar .spinner{margin-top:14px}.attachment-details{position:relative;overflow:auto}.attachment-details .settings-save-status{float:left;text-transform:none;z-index:10}.attachment-details .settings-save-status .spinner{margin-right:5px}.attachment-details .settings-save-status .saved{float:left;display:none}.attachment-details.save-waiting .settings-save-status .spinner{visibility:visible}.attachment-details.save-complete .settings-save-status .saved{display:block}.attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#666;border-bottom:1px solid #ddd;padding-bottom:11px}.attachment-info .filename{font-weight:700;color:#464646;word-wrap:break-word}.attachment-info .thumbnail{position:relative;float:right;max-width:120px;max-height:120px;margin-top:5px;margin-left:10px;margin-bottom:5px}.uploading .attachment-info .thumbnail{width:120px;height:80px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1);box-shadow:inset 0 0 15px rgba(0,0,0,.1)}.uploading .attachment-info .media-progress-bar{margin-top:35px}.attachment-info .thumbnail-image:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);overflow:hidden}.attachment-info .thumbnail img{display:block;max-width:120px;max-height:120px;margin:0 auto}.attachment-info .details{float:right;font-size:12px;max-width:100%}.attachment-info .delete-attachment,.attachment-info .edit-attachment,.attachment-info .refresh-attachment,.attachment-info .trash-attachment,.attachment-info .untrash-attachment{display:block;text-decoration:none;white-space:nowrap}.attachment-details.needs-refresh .attachment-info .edit-attachment,.attachment-info .refresh-attachment{display:none}.attachment-details.needs-refresh .attachment-info .refresh-attachment,.attachment-info .edit-attachment{display:block}.media-modal .delete-attachment,.media-modal .trash-attachment,.media-modal .untrash-attachment{color:#bc0b0b}.media-modal .delete-attachment:hover,.media-modal .trash-attachment:hover,.media-modal .untrash-attachment:hover{color:red}.attachment-display-settings{width:100%;float:right;overflow:hidden}.attachment-display-settings h4{margin:1.4em 0 .4em}.collection-settings{overflow:hidden}.collection-settings .setting input[type=checkbox]{float:right;margin-left:8px}.collection-settings .setting span{min-width:inherit}.media-modal .imgedit-wrap{position:static}.media-modal .imgedit-wait{height:auto!important;left:0;bottom:0;right:0}.media-modal .imgedit-wrap .imgedit-panel-content{padding:16px;position:absolute;top:0;left:282px;bottom:0;right:0;overflow:auto}.media-modal .imgedit-wrap .imgedit-settings{background:#f3f3f3;border-right:1px solid #ddd;padding:0 16px 16px;position:absolute;top:0;left:0;bottom:0;width:250px;overflow:auto}.media-modal .imgedit-group{background:0 0;border:none;border-bottom:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;margin:0 0 16px;padding:0 0 16px;position:relative}.media-modal .imgedit-group:last-of-type{border:none;margin:0;padding:0}.media-modal .imgedit-group-top h3{text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 0}.media-modal .imgedit-group-top h3 a{text-decoration:none;color:#666}.media-modal .imgedit-help-toggle{margin-top:-2px;cursor:pointer;color:#666}.media-modal .imgedit-help-toggled span.dashicons:before{content:'\f142'}.media-modal .imgedit-group img{margin-top:5px}.media-modal .imgedit-wrap div.updated{margin:0 0 16px}.embed-url{display:block;position:relative;padding:16px;margin:0;z-index:250;background:#fff;font-size:18px}.media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;-webkit-box-shadow:inset -2px 2px 4px -2px rgba(0,0,0,.1);box-shadow:inset -2px 2px 4px -2px rgba(0,0,0,.1)}.media-frame .embed-url .spinner{position:absolute;top:32px;left:26px}.media-frame .embed-loading .embed-url .spinner{visibility:visible}.embed-link-settings,.embed-media-settings{position:absolute;top:70px;right:0;left:0;bottom:0;padding:16px 16px 32px;overflow:auto}.embed-preview embed,.embed-preview iframe,.embed-preview img{max-width:100%}.embed-preview a{display:inline-block}.embed-preview img{display:block;height:auto}.image-details .media-modal{right:140px;left:140px}.image-details .media-frame-content,.image-details .media-frame-router,.image-details .media-frame-title{right:0}.image-details .embed-media-settings{top:0;overflow:visible;padding:0}.image-details .embed-media-settings,.image-details .embed-media-settings div{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.image-details .column-settings{background:#f3f3f3;border-left:1px solid #ddd;min-height:100%;width:55%;position:absolute;top:0;right:0}.image-details .column-settings h3{margin:20px;padding-top:20px;border-top:1px solid #ddd}.image-details .column-image{width:45%;position:absolute;right:55%;top:0}.image-details .image{margin:20px}.image-details .image img{max-width:100%;max-height:500px}.image-details .advanced-toggle{color:#666;text-decoration:none;display:block}.image-details .advanced-toggle:after{font:400 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140';display:inline-block;margin-top:-2px}.image-details .advanced-visible .advanced-toggle:after{content:'\f142'}.image-details .embed-media-settings .size{margin-bottom:4px}.image-details .custom-size span{display:block}.image-details .custom-size label{display:block;float:right}.image-details .custom-size span small{color:#999;font-size:inherit}.image-details .custom-size input{width:5em}.image-details .custom-size .sep{float:right;margin:26px 6px 0}.image-details .custom-size:after{content:'';display:table;clear:both}.media-embed .thumbnail{max-width:100%;max-height:200px;position:relative;float:right}.media-embed .thumbnail img{max-height:200px;display:block}.media-embed .thumbnail:after{content:'';display:block;position:absolute;top:0;right:0;left:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.media-embed .setting{width:100%;margin:10px 0;float:right;display:block;clear:both}.image-details .embed-media-settings .setting{float:none;width:auto}.image-details .actions{margin:10px 0}.image-details .hidden{display:none}.media-embed .setting input[type=text],.media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{max-width:inherit;width:70%}.image-details .embed-media-settings .custom-size,.image-details .embed-media-settings .link-target,.image-details .embed-media-settings .setting input.link-to-custom{margin-right:27%;width:70%}.image-details .embed-media-settings .link-target{margin-top:24px}.media-embed .setting input.hidden,.media-embed .setting textarea.hidden{display:none}.media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#666}.image-details .embed-media-settings .setting span{float:right;width:25%;text-align:left;margin:8px 1% 0;line-height:1.1}.media-embed .setting .button-group{margin:2px 0}.media-embed-sidebar{position:absolute;top:0;right:440px}.advanced-section,.link-settings{margin-top:10px}#wp-fullscreen-body .uploader-editor,.wp-editor-wrap .uploader-editor{background:rgba(150,150,150,.9);position:absolute;top:0;right:0;width:100%;height:100%;z-index:99998;display:none;text-align:center}#wp-fullscreen-body .uploader-editor{background:rgba(0,86,132,.9);position:fixed;z-index:100050}.wp-editor-wrap.wp-fullscreen-wrap .uploader-editor{opacity:0}#wp-fullscreen-body .uploader-editor-content,.wp-editor-wrap .uploader-editor-content{border:1px dashed #fff;position:absolute;top:10px;right:10px;left:10px;bottom:10px}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor .uploader-editor-title{position:absolute;top:50%;right:0;left:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:3em;line-height:1.3;font-weight:700;color:#fff;padding:0;margin:0;display:none}.wp-editor-wrap .uploader-editor.droppable{background:rgba(0,86,132,.9)}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor.droppable .uploader-editor-title{display:block}.ie7 .media-frame .attachments-browser{position:static}.ie7 .media-frame .embed-url input{margin-top:4px;width:90%}.ie7 .compat-item{width:99%}.ie7 .attachment-display-settings{width:auto}.ie7 .attachment-preview,.ie7 .attachment-preview .thumbnail{width:120px;height:120px}.ie7 .media-frame .attachment .describe{width:102px}.ie7 .media-sidebar .setting select{max-width:55%}.ie7 .media-sidebar .setting input[type=email],.ie7 .media-sidebar .setting input[type=number],.ie7 .media-sidebar .setting input[type=password],.ie7 .media-sidebar .setting input[type=search],.ie7 .media-sidebar .setting input[type=tel],.ie7 .media-sidebar .setting input[type=text],.ie7 .media-sidebar .setting input[type=url],.ie7 .media-sidebar .setting textarea{width:55%}.ie7 .media-sidebar .setting .link-to-custom{float:right}.rtl .media-frame,.rtl .media-frame .search,.rtl .media-frame input[type=email],.rtl .media-frame input[type=number],.rtl .media-frame input[type=password],.rtl .media-frame input[type=search],.rtl .media-frame input[type=tel],.rtl .media-frame input[type=text],.rtl .media-frame input[type=url],.rtl .media-frame select,.rtl .media-frame textarea,.rtl .media-modal{font-family:Tahoma,sans-serif}:lang(he-il) .rtl .media-frame,:lang(he-il) .rtl .media-frame .search,:lang(he-il) .rtl .media-frame input[type=email],:lang(he-il) .rtl .media-frame input[type=number],:lang(he-il) .rtl .media-frame input[type=password],:lang(he-il) .rtl .media-frame input[type=search],:lang(he-il) .rtl .media-frame input[type=text],:lang(he-il) .rtl .media-frame input[type=url],:lang(he-il) .rtl .media-frame select,:lang(he-il) .rtl .media-frame textarea,:lang(he-il) .rtl .media-modal{font-family:Arial,sans-serif}@media only screen and (max-width:900px){.media-frame:not(.hide-menu) .media-frame-content,.media-frame:not(.hide-menu) .media-frame-router,.media-frame:not(.hide-menu) .media-frame-title,.media-frame:not(.hide-menu) .media-frame-toolbar{right:0}.media-frame:not(.hide-menu) .media-frame-menu{position:static;width:0}.media-frame:not(.hide-menu) .media-menu{width:auto;max-width:80%;overflow:auto;z-index:2000;top:50px;right:-300px;left:auto;bottom:auto;padding:5px 0;border:1px solid #ccc}.media-frame:not(.hide-menu) .media-menu.visible{right:0}.media-frame:not(.hide-menu) .media-menu>a{padding:12px 16px;font-size:16px}.media-frame:not(.hide-menu) .media-menu>a.active{display:none}.media-frame:not(.hide-menu) .media-menu .separator{margin:5px 10px}.media-frame:not(.hide-menu) .media-frame-title{right:0;color:#21759b}.media-frame:not(.hide-menu) .media-frame-title .dashicons{display:inline-block;line-height:50px}.media-frame:not(.hide-menu) .media-frame-title h1{line-height:3;font-size:18px;float:right;cursor:pointer}.media-sidebar{width:230px}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{left:262px}.attachment-details .setting,.media-sidebar .setting{margin:6px 0}.attachment-details .setting input,.attachment-details .setting span,.attachment-details .setting textarea,.compat-item label span,.media-sidebar .setting input,.media-sidebar .setting span,.media-sidebar .setting textarea{float:none}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{text-align:inherit;min-height:16px;margin:0;padding:8px 2px 0}.attachment-details .setting .value,.media-sidebar .setting .value{float:none;width:auto}.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting select,.attachment-details .setting textarea,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting select,.media-sidebar .setting textarea{float:none;width:98%;max-width:none;height:auto}.attachment-details .setting select.columns,.media-sidebar .setting select.columns{width:auto}.media-frame .search,.media-frame input,.media-frame textarea{padding:3px 6px}.image-details .column-image{width:30%;right:70%}.image-details .column-settings{width:70%}.image-details .media-modal{right:30px;left:30px}.image-details .embed-media-settings .setting{margin:20px}.image-details .embed-media-settings .setting span{float:none;text-align:right;width:100%;margin-bottom:4px}.image-details .embed-media-settings .setting input.link-to-custom,.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{width:100%;margin-right:0}.image-details .embed-media-settings .custom-size{margin-right:20px}.collection-settings .setting input[type=checkbox]{margin-top:0}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-modal .attachments-browser .media-toolbar .search{max-width:100%;height:auto;float:left}.media-modal .attachments-browser .media-toolbar .attachment-filters{height:auto}.media-modal .attachments-browser .media-toolbar .spinner{margin:14px 2px 0}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-size:16px}}@media only screen and (max-width:640px),screen and (max-height:400px){.image-details .media-modal,.media-modal{position:fixed;top:0;right:0;left:0;bottom:0}.media-modal-backdrop{position:fixed}.media-sidebar{z-index:1900;max-width:70%;bottom:120%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding-bottom:0}.media-sidebar.visible{bottom:0}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{left:0}.image-details .media-frame-title{display:block;top:0;font-size:14px}.image-details .column-image,.image-details .column-settings{width:100%;position:relative;right:0}.image-details .column-settings{padding:4px 0}.media-frame-content .media-toolbar .instructions{display:none}}@media screen and (max-height:400px){.media-menu{padding:0}.media-frame-router{top:44px}.media-frame-content{top:78px}.attachments-browser .attachments{top:40px}.embed-link-settings{overflow:visible}}@media only screen and (max-width:480px){.media-modal-close{top:5px;left:5px}.media-modal .media-frame-title{height:40px}.media-frame:not(.hide-menu) .media-frame-title h1,.media-modal .media-frame-title h1{font-size:18px;line-height:40px}.media-frame:not(.hide-menu) .media-frame-title .dashicons{line-height:40px}.media-frame-router,.media-frame:not(.hide-menu) .media-menu{top:40px}.media-frame-content{top:74px}.media-frame.hide-router .media-frame-content{top:40px}}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.media-modal-icon{background-image:url(../images/uploader-icons-2x.png);-webkit-background-size:134px 15px;background-size:134px 15px}.media-frame .spinner{background-image:url(../images/spinner-2x.gif)}}.media-frame-content[data-columns="1"] .attachment{width:100%}.media-frame-content[data-columns="2"] .attachment{width:50%}.media-frame-content[data-columns="3"] .attachment{width:33.33%}.media-frame-content[data-columns="4"] .attachment{width:25%}.media-frame-content[data-columns="5"] .attachment{width:20%}.media-frame-content[data-columns="6"] .attachment{width:16.66%}.media-frame-content[data-columns="7"] .attachment{width:14.28%}.media-frame-content[data-columns="8"] .attachment{width:12.5%}.media-frame-content[data-columns="9"] .attachment{width:11.11%}.media-frame-content[data-columns="10"] .attachment{width:10%}.media-frame-content[data-columns="11"] .attachment{width:9.09%}.media-frame-content[data-columns="12"] .attachment{width:8.33%}
\ No newline at end of file
index ec696504b4161be4dbbdd722dcc1caaadec4c8e1..3d41c252a10ae891c789ab3599de4886c53b0e39 100644 (file)
@@ -19,6 +19,7 @@
 .media-frame {
        font-family: "Open Sans", sans-serif;
        font-size: 12px;
+       -webkit-overflow-scrolling: touch;
 }
 
 .media-frame input,
 }
 
 .media-frame a.button {
-       color: #333;
+       color: #32373c;
 }
 
 .media-frame a.button:hover {
-       color: #222;
+       color: #23282d;
 }
 
 .media-frame a.button-primary,
 }
 
 /*!
- * jQuery UI Draggable/Sortable 1.11.2
+ * jQuery UI Draggable/Sortable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  */
 .ui-draggable-handle,
 .ui-sortable-handle {
        -ms-touch-action: none;
-       touch-action:     none;
+       touch-action: none;
 }
 
 /**
 }
 
 .media-modal-close:hover .media-modal-icon:before {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
 
 .media-modal-close:active {
 .media-toolbar-primary {
        float: right;
        height: 100%;
-       max-width: 33%;
 }
 
 .media-toolbar-secondary {
        float: left;
        height: 100%;
-       max-width: 66%;
 }
 
 .media-toolbar-primary > .media-button,
 
 .compat-item .field {
        float: right;
-       width: 66%;
+       width: 65%;
+       margin: 1px;
 }
 
 .compat-item .field input[type="text"],
 .compat-item .field input[type="number"],
 .compat-item .field input[type="search"],
 .compat-item .field input[type="tel"],
-.compat-item .field input[type="url"] {
+.compat-item .field input[type="url"],
+.compat-item .field textarea {
        width: 100%;
        margin: 0;
+       -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+       box-sizing: border-box;
 }
 
 .sidebar-for-errors .attachment-details,
        margin: 0;
        line-height: 18px;
        font-size: 14px;
-       color: #0074a2;
+       color: #0073aa;
        text-decoration: none;
 }
 
 
 .media-menu .active,
 .media-menu .active:hover {
-       color: #222;
+       color: #23282d;
        font-weight: bold;
 }
 
 
 .media-router .active,
 .media-router .active:hover {
-       color: #333;
+       color: #32373c;
 }
 
 .media-router .active,
 .media-frame select.attachment-filters {
        margin-top: 11px;
        margin-right: 2%;
-       max-width: 47%;
+       max-width: 42%;
+       max-width: -webkit-calc(48% - 12px);
+       max-width: calc(48% - 12px);
+}
+
+.media-frame select.attachment-filters:last-of-type {
+       margin-right: 0;
 }
 
 /**
 /**
  * Attachments
  */
-.attachments {
+.wp-core-ui .attachments {
        margin: 0;
        -webkit-overflow-scrolling: touch;
 }
 /**
  * Attachment
  */
-.attachment {
+.wp-core-ui .attachment {
        position: relative;
        float: left;
        padding: 8px;
        box-sizing: border-box;
 }
 
-.attachment:focus,
-.selected.attachment:focus,
-.attachment.details:focus {
+.wp-core-ui .attachment:focus,
+.wp-core-ui .selected.attachment:focus,
+.wp-core-ui .attachment.details:focus {
        -webkit-box-shadow:
                inset 0 0 2px 3px #fff,
                inset 0 0 0 7px #5b9dd9;
        outline: none;
 }
 
-.selected.attachment {
+.wp-core-ui .selected.attachment {
        -webkit-box-shadow:
                inset 0 0 0 5px #fff,
                inset 0 0 0 7px #ccc;
                inset 0 0 0 7px #ccc;
 }
 
-.attachment.details {
+.wp-core-ui .attachment.details {
        -webkit-box-shadow:
                inset 0 0 0 3px #fff,
                inset 0 0 0 7px #1e8cbe;
                inset 0 0 0 7px #1e8cbe;
 }
 
-.attachment-preview {
+.wp-core-ui .attachment-preview {
        position: relative;
        -webkit-box-shadow:
                inset 0 0 15px rgba( 0, 0, 0, 0.1 ),
        cursor: pointer;
 }
 
-.attachment-preview:before {
+.wp-core-ui .attachment-preview:before {
        content: '';
        display: block;
        padding-top: 100%;
 }
 
-.attachment .icon {
+.wp-core-ui .attachment .icon {
        margin: 0 auto;
        overflow: hidden;
 }
 
-.attachment .thumbnail {
+.wp-core-ui .attachment .thumbnail {
        overflow: hidden;
        position: absolute;
        top: 0;
        transition: opacity .1s;
 }
 
-.attachment .portrait img {
+.wp-core-ui .attachment .portrait img {
        max-width: 100%;
 }
 
-.attachment .landscape img {
+.wp-core-ui .attachment .landscape img {
        max-height: 100%;
 }
 
-.attachment .thumbnail:after {
+.wp-core-ui .attachment .thumbnail:after {
        content: '';
        display: block;
        position: absolute;
        overflow: hidden;
 }
 
-/* @noflip */
-.attachment .thumbnail img {
+.wp-core-ui .attachment .thumbnail img {
        top: 0;
        left: 0;
 }
 
-/* @noflip */
-.attachment .thumbnail .centered {
+.wp-core-ui .attachment .thumbnail .centered {
        position: absolute;
        top: 0;
        left: 0;
        transform: translate( 50%, 50% );
 }
 
-.attachment .thumbnail .centered img {
+.wp-core-ui .attachment .thumbnail .centered img {
        -webkit-transform: translate( -50%, -50% );
        -ms-transform: translate(-50%,-50%);
        transform: translate( -50%, -50% );
 }
 
-.attachment .thumbnail .centered img.icon {
+.wp-core-ui .attachments-browser .attachment .thumbnail .centered img.icon {
        -webkit-transform: translate( -50%, -70% );
        -ms-transform: translate(-50%,-70%);
        transform: translate( -50%, -70% );
 }
 
-.ie8 .attachment img.icon {
+.ie8 .wp-core-ui .attachment img.icon {
        top: 20%;
        position: relative;
 }
 
-.attachment .filename {
+.wp-core-ui .attachment .filename {
        position: absolute;
        left: 0;
        right: 0;
        box-shadow: inset 0 0 0 1px rgba( 0, 0, 0, 0.15 );
 }
 
-.attachment .filename div {
+.wp-core-ui .attachment .filename div {
        padding: 5px 10px;
 }
 
-.attachment .thumbnail img {
+.wp-core-ui .attachment .thumbnail img {
        position: absolute;
 }
 
-.attachment .close {
+.wp-core-ui .attachment .close {
        display: block;
        position: absolute;
        top: 5px;
        transition-property: none;
 }
 
-.attachment a.close:hover,
-.attachment a.close:focus {
+.wp-core-ui .attachment a.close:hover,
+.wp-core-ui .attachment a.close:focus {
        -webkit-box-shadow: 0 0 0 1px rgba( 0, 0, 0, 0.6 );
        box-shadow: 0 0 0 1px rgba( 0, 0, 0, 0.6 );
        background-position: -36px 4px;
 
 }
 
-.attachment .check {
+.wp-core-ui .attachment .check {
        display: none;
        height: 24px;
        width: 24px;
        box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba( 0, 0, 0, 0.15 );
 }
 
-.attachment .check div {
+.wp-core-ui .attachment .check div {
        background-position: -1px 0;
        height: 15px;
        width: 15px;
        margin: 5px;
 }
 
-.attachment .check:hover div {
+.wp-core-ui .attachment .check:hover div {
        background-position: -40px 0;
 }
 
-.attachment.selected .check {
+.wp-core-ui .attachment.selected .check {
        display: block;
 }
 
-.attachment.details .check,
-.attachment.selected .check:focus,
-.media-frame.mode-grid .attachment.selected .check {
+.wp-core-ui .attachment.details .check,
+.wp-core-ui .attachment.selected .check:focus,
+.wp-core-ui .media-frame.mode-grid .attachment.selected .check {
        background-color: #1e8cbe;
        -webkit-box-shadow:
                0 0 0 1px #fff,
                0 0 0 2px #1e8cbe;
 }
 
-.attachment.details .check div,
-.media-frame.mode-grid .attachment.selected .check div {
+.wp-core-ui .attachment.details .check div,
+.wp-core-ui .media-frame.mode-grid .attachment.selected .check div {
        background-position: -21px 0;
 }
 
-.attachment.details .check:hover div,
-.attachment.selected .check:focus div,
-.media-frame.mode-grid .attachment.selected .check:hover div {
+.wp-core-ui .attachment.details .check:hover div,
+.wp-core-ui .attachment.selected .check:focus div,
+.wp-core-ui .media-frame.mode-grid .attachment.selected .check:hover div {
        background-position: -60px 0;
 }
 
-.media-frame .attachment .describe {
+.wp-core-ui .media-frame .attachment .describe {
        position: relative;
        display: block;
        width: 100%;
        display: none;
 }
 
+.attachments-browser .media-toolbar-primary {
+       max-width: 33%;
+}
+
+.attachments-browser .media-toolbar-secondary {
+       max-width: 66%;
+}
+
 .uploader-inline .close {
        background-color: transparent;
        border: 0;
        width: 40px;
        padding: 0;
        margin: 4px;
-       -webkit-box-shadow: none;
-       box-shadow: none;
 }
 
 .media-selection .attachment .thumbnail {
        background: none;
 }
 
-.media-selection .attachment.selection.details .thumbnail {
+.wp-core-ui .media-selection .attachment:focus,
+.wp-core-ui .media-selection .selected.attachment:focus,
+.wp-core-ui .media-selection .attachment.details:focus {
+       -webkit-box-shadow:
+               0 0 0 1px #fff,
+               0 0 2px 3px #5b9dd9;
+       box-shadow:
+               0 0 0 1px #fff,
+               0 0 2px 3px #5b9dd9;
+}
+
+.wp-core-ui .media-selection .selected.attachment {
+       -webkit-box-shadow: none;
+       box-shadow: none;
+}
+
+.wp-core-ui .media-selection .attachment.details {
        -webkit-box-shadow:
                0 0 0 1px #fff,
                0 0 0 3px #1e8cbe;
        background: url(../images/spinner.gif) no-repeat;
        -webkit-background-size: 20px 20px;
        background-size: 20px 20px;
-       display: none;
+       float: right;
+       display: inline-block;
+       visibility: hidden;
        opacity: 0.7;
        filter: alpha(opacity=70);
        width: 20px;
        height: 20px;
        margin: 0;
+       vertical-align: middle;
+}
+
+.media-frame .spinner.is-active {
+       visibility: visible;
 }
 
 .media-toolbar .spinner {
 }
 
 .attachment-details .settings-save-status .spinner {
-       margin: 0 5px 0;
+       margin-left: 5px;
 }
 
 .attachment-details .settings-save-status .saved {
        display: none;
 }
 
-.attachment-details.save-waiting .settings-save-status .spinner,
+.attachment-details.save-waiting .settings-save-status .spinner {
+       visibility: visible;
+}
+
 .attachment-details.save-complete .settings-save-status .saved {
        display: block;
 }
 }
 
 .media-frame .embed-loading .embed-url .spinner {
-       display: block;
+       visibility: visible;
 }
 
 .embed-link-settings,
        overflow: auto;
 }
 
-.embed-preview img, .embed-preview iframe, .embed-preview embed {
+.embed-preview img,
+.embed-preview iframe,
+.embed-preview embed {
        max-width: 100%;
 }
 
+.embed-preview a {
+       display: inline-block;
+}
+
 .embed-preview img {
+       display: block;
        height: auto;
 }
 
        }
 
        .media-modal .attachments-browser .media-toolbar .spinner {
-               margin: 14px 8px 0;
+               margin: 14px 2px 0;
        }
 
        /* Text inputs need to be 16px, or they force zooming on iOS */
  * HiDPI Displays
  */
 @media print,
-  (-o-min-device-pixel-ratio: 5/4),
   (-webkit-min-device-pixel-ratio: 1.25),
   (min-resolution: 120dpi) {
 
index 4692a0fd5f57309dcec24c9411356d6a97b94c2a..1c5bbb83dc3a74be703835e2f23b75b412cebdc4 100644 (file)
@@ -1,8 +1,8 @@
-.media-modal *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.media-frame input,.media-frame select,.media-frame textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.media-frame,.media-modal{font-family:"Open Sans",sans-serif;font-size:12px}.media-frame input,.media-frame textarea{padding:6px 8px}.media-frame select,.wp-admin .media-frame select{line-height:28px;margin-top:3px}.media-frame a{border-bottom:none;color:#21759b}.media-frame a:hover{color:#d54e21}.media-frame a.button{color:#333}.media-frame a.button:hover{color:#222}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-family:"Open Sans",sans-serif;font-size:12px;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame input[type=email]:focus,.media-frame input[type=number]:focus,.media-frame input[type=password]:focus,.media-frame input[type=search]:focus,.media-frame input[type=text]:focus,.media-frame input[type=url]:focus,.media-frame select:focus,.media-frame textarea:focus{border-color:#5b9dd9}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame input[readonly],.media-frame textarea:disabled,.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.media-frame .hidden{display:none}/*!
- * jQuery UI Draggable/Sortable 1.11.2
+.media-modal *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.media-frame input,.media-frame select,.media-frame textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.media-frame,.media-modal{font-family:"Open Sans",sans-serif;font-size:12px;-webkit-overflow-scrolling:touch}.media-frame input,.media-frame textarea{padding:6px 8px}.media-frame select,.wp-admin .media-frame select{line-height:28px;margin-top:3px}.media-frame a{border-bottom:none;color:#21759b}.media-frame a:hover{color:#d54e21}.media-frame a.button{color:#32373c}.media-frame a.button:hover{color:#23282d}.media-frame a.button-primary,.media-frame a.button-primary:hover{color:#fff}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-family:"Open Sans",sans-serif;font-size:12px;border-width:1px;border-style:solid;border-color:#dfdfdf}.media-frame input[type=email]:focus,.media-frame input[type=number]:focus,.media-frame input[type=password]:focus,.media-frame input[type=search]:focus,.media-frame input[type=text]:focus,.media-frame input[type=url]:focus,.media-frame select:focus,.media-frame textarea:focus{border-color:#5b9dd9}.media-frame select{height:24px;padding:2px}.media-frame input:disabled,.media-frame input[readonly],.media-frame textarea:disabled,.media-frame textarea[readonly]{background-color:#eee}.media-frame input[type=search]{-webkit-appearance:textfield}.media-frame :-moz-placeholder{color:#a9a9a9}.media-frame .hidden{display:none}/*!
+ * jQuery UI Draggable/Sortable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
- */.ui-draggable-handle,.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.media-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:160000}.wp-customizer .media-modal{z-index:560000}.media-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.wp-customizer .media-modal-backdrop{z-index:559900}.media-modal-close{position:absolute;text-decoration:none;top:10px;right:10px;width:30px;height:30px;z-index:1000;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.media-modal-close:active{-webkit-box-shadow:none;box-shadow:none}.media-modal-close span.media-modal-icon{display:block;margin-top:5px;width:30px;height:15px;background-image:none;text-align:center}.media-modal-close .media-modal-icon:before{content:'\f158';font:400 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#666}.media-modal-close:hover .media-modal-icon:before{color:#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%;max-width:33%}.media-toolbar-secondary{float:left;height:100%;max-width:66%}.media-toolbar-primary>.media-button,.media-toolbar-primary>.media-button-group{margin-left:10px;float:left;margin-top:15px}.media-toolbar-secondary>.media-button,.media-toolbar-secondary>.media-button-group{margin-right:10px;margin-top:15px}.media-sidebar{position:absolute;top:0;right:0;bottom:0;width:267px;padding:0 16px 24px;z-index:75;background:#f3f3f3;border-left:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch}.hide-toolbar .media-sidebar{bottom:0}.media-sidebar .sidebar-title{font-size:20px;margin:0;padding:12px 10px 10px;line-height:28px}.media-sidebar .sidebar-content{padding:0 10px;margin-bottom:130px}.media-sidebar .search{display:block;width:100%}.image-details h3,.media-sidebar h3{position:relative;font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}.attachment-details .setting,.media-sidebar .setting{display:block;float:left;width:100%;margin:1px 0}.attachment-details .setting label,.media-sidebar .setting label{display:block}.attachment-details .setting .link-to-custom,.media-sidebar .setting .link-to-custom{margin:3px 2px 0}.attachment-details .setting span,.media-sidebar .setting span{min-width:30%;margin-right:4%;font-size:12px;text-align:right;word-wrap:break-word}.media-sidebar .setting .name{max-width:80px}.attachment-details .setting select,.media-sidebar .setting select{max-width:65%}.attachment-details .field input[type=checkbox],.attachment-details .field input[type=radio],.attachment-details .setting input[type=checkbox],.attachment-details .setting input[type=radio],.media-sidebar .field input[type=checkbox],.media-sidebar .field input[type=radio],.media-sidebar .setting input[type=checkbox],.media-sidebar .setting input[type=radio]{float:none;margin:8px 3px 0;padding:0}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{float:left;min-height:22px;padding-top:8px;line-height:16px;font-weight:400;color:#666}.compat-item label span{text-align:right}.attachment-details .setting .value,.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting textarea,.media-sidebar .setting .value,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px;width:65%;float:right}.attachment-details .setting .value,.media-sidebar .setting .value{margin:0 1px;text-align:left}.attachment-details .setting textarea,.compat-item .field textarea,.media-sidebar .setting textarea{height:62px;resize:vertical}.attachment-details select,.media-sidebar select{margin-top:3px}.compat-item{float:left;width:100%;overflow:hidden}.compat-item table{width:100%;table-layout:fixed;border-spacing:0;border:0}.compat-item tr{padding:2px 0;display:block;overflow:hidden}.compat-item .field,.compat-item .label{display:block;margin:0;padding:0}.compat-item .label{min-width:30%;margin-right:4%;float:left;text-align:right}.compat-item .label span{display:block;width:100%}.compat-item .field{float:right;width:66%}.compat-item .field input[type=email],.compat-item .field input[type=number],.compat-item .field input[type=password],.compat-item .field input[type=search],.compat-item .field input[type=tel],.compat-item .field input[type=text],.compat-item .field input[type=url]{width:100%;margin:0}.sidebar-for-errors .attachment-details,.sidebar-for-errors .compat-item,.sidebar-for-errors .media-sidebar .media-progress-bar,.sidebar-for-errors .upload-details{display:none!important}.media-menu{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:10px 0;background:#f3f3f3;border-right-width:1px;border-right-style:solid;border-right-color:#ccc;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:8px 20px;margin:0;line-height:18px;font-size:14px;color:#0074a2;text-decoration:none}.media-menu>a:hover{color:#21759B;background:rgba(0,0,0,.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#222;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.media-router{position:relative;padding:0 6px;margin:0;clear:both;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-router a{-webkit-transition:none;transition:none}.media-router>a{position:relative;float:left;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none}.media-router>a:last-child{border-right:0}.media-router>a:active{outline:0}.media-router .active,.media-router .active:hover{color:#333}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:none}.media-router .active:after{display:none}.media-frame{overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0}.media-frame-menu{position:absolute;top:0;left:0;bottom:0;width:200px;z-index:150}.media-frame-title{position:absolute;top:0;left:200px;right:0;height:50px;z-index:200}.media-frame-router{position:absolute;top:50px;left:200px;right:0;height:36px;z-index:200}.media-frame-content{position:absolute;top:84px;left:200px;right:0;bottom:61px;height:auto;width:auto;margin:0;overflow:auto;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.media-frame-toolbar{position:absolute;left:200px;right:0;bottom:0;height:60px;z-index:100}.media-frame.hide-menu .media-frame-content,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-title,.media-frame.hide-menu .media-frame-toolbar{left:0}.media-frame.hide-menu .media-frame-menu{left:-200px}.media-frame.hide-toolbar .media-frame-content{bottom:0}.media-frame.hide-toolbar .media-frame-toolbar{bottom:-61px}.media-frame.hide-router .media-frame-content{top:50px}.media-frame.hide-router .media-frame-router{display:none}.media-frame.hide-router .media-frame-title{border-bottom:1px solid #dfdfdf;-webkit-box-shadow:0 4px 4px -4px rgba(0,0,0,.1);box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.media-frame-title .dashicons{display:none}.media-frame-title h1{padding:0 16px;font-size:22px;line-height:50px;margin:0}.media-frame-title .suggested-dimensions{font-size:14px;float:right;margin-right:20px}.media-frame-content .crop-content{height:100%}.media-frame-content .crop-content .crop-image{display:block;margin:auto;max-width:100%;max-height:100%}.media-frame-content .crop-content .upload-errors{position:absolute;width:300px;top:50%;left:50%;margin-left:-150px;margin-right:-150px;z-index:600000}.media-frame .media-iframe{overflow:hidden}.media-frame .media-iframe,.media-frame .media-iframe iframe{height:100%;width:100%;border:0}.media-frame select.attachment-filters{margin-top:11px;margin-right:2%;max-width:47%}.media-frame .search{margin-top:11px;padding:4px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-primary .search{max-width:100%}.attachments{margin:0;-webkit-overflow-scrolling:touch}.attachment{position:relative;float:left;padding:8px;margin:0;color:#464646;cursor:pointer;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:25%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.attachment.details:focus,.attachment:focus,.selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;outline:0}.selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc}.attachment.details{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe}.attachment-preview{position:relative;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}.attachment-preview:before{content:'';display:block;padding-top:100%}.attachment .icon{margin:0 auto;overflow:hidden}.attachment .thumbnail{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.attachment .portrait img{max-width:100%}.attachment .landscape img{max-height:100%}.attachment .thumbnail:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.attachment .thumbnail img{top:0;left:0}.attachment .thumbnail .centered{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);-ms-transform:translate(50%,50%);transform:translate(50%,50%)}.attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.attachment .thumbnail .centered img.icon{-webkit-transform:translate(-50%,-70%);-ms-transform:translate(-50%,-70%);transform:translate(-50%,-70%)}.ie8 .attachment img.icon{top:20%;position:relative}.attachment .filename{position:absolute;left:0;right:0;bottom:0;overflow:hidden;max-height:100%;word-wrap:break-word;text-align:center;font-weight:700;background:rgba(255,255,255,.8);-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.attachment .filename div{padding:5px 10px}.attachment .thumbnail img{position:absolute}.attachment .close{display:block;position:absolute;top:5px;right:5px;height:22px;width:22px;padding:0;font-size:20px;line-height:20px;text-align:center;text-decoration:none;color:#464646;background-color:#fff;background-position:-96px 4px;border-width:0;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3);-webkit-transition-duration:none;transition-duration:none;-webkit-transition-property:none;transition-property:none}.attachment a.close:focus,.attachment a.close:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.6);box-shadow:0 0 0 1px rgba(0,0,0,.6);background-position:-36px 4px}.attachment .check{display:none;height:24px;width:24px;position:absolute;z-index:10;top:0;right:0;outline:0;background:#eee;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15)}.attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.attachment .check:hover div{background-position:-40px 0}.attachment.selected .check{display:block}.attachment.details .check,.attachment.selected .check:focus,.media-frame.mode-grid .attachment.selected .check{background-color:#1e8cbe;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.attachment.details .check div,.media-frame.mode-grid .attachment.selected .check div{background-position:-21px 0}.attachment.details .check:hover div,.attachment.selected .check:focus div,.media-frame.mode-grid .attachment.selected .check:hover div{background-position:-60px 0}.media-frame .attachment .describe{position:relative;display:block;width:100%;margin:0;padding:8px;font-size:12px;-webkit-border-radius:0;border-radius:0}.media-frame .attachments-browser{position:relative;width:100%;height:100%;overflow:hidden}.attachments-browser .media-toolbar{right:300px;height:50px}.attachments-browser.hide-sidebar .media-toolbar{right:0}.attachments-browser .media-toolbar-primary>.media-button,.attachments-browser .media-toolbar-primary>.media-button-group,.attachments-browser .media-toolbar-secondary>.media-button,.attachments-browser .media-toolbar-secondary>.media-button-group{margin:11px 0}.attachments-browser .attachments{padding:2px 8px 8px}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:absolute;top:50px;left:0;right:300px;bottom:0;overflow:auto;outline:0}.attachments-browser .uploader-inline.hidden{display:none}.uploader-inline .close{background-color:transparent;border:0;cursor:pointer;height:48px;position:absolute;right:0;text-align:center;top:0;width:50px;z-index:1}.uploader-inline .close:before{font:400 30px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.attachments-browser.hide-sidebar .attachments,.attachments-browser.hide-sidebar .uploader-inline{right:0;margin-right:0}.attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666;margin-right:.5em}.attachments-browser .no-media{padding:2em 0 0 2em}.media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;-webkit-border-radius:10px;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,.1)}.media-progress-bar div{height:10px;min-width:20px;width:0;background:#1e8cbe;-webkit-border-radius:10px;border-radius:10px;-webkit-transition:width 300ms;transition:width 300ms}.media-uploader-status .media-progress-bar{display:none;width:100%}.uploading.media-uploader-status .media-progress-bar{display:block}.attachment-preview .media-progress-bar{position:absolute;top:50%;left:15%;width:70%;margin:-5px 0 0}.media-uploader-status{position:relative;margin:0 auto;padding-bottom:10px;max-width:400px}.media-sidebar .media-uploader-status{border-bottom:1px solid #dfdfdf}.uploader-inline .media-uploader-status h3{display:none}.media-uploader-status .upload-details{display:none;font-size:12px;color:#666}.uploading.media-uploader-status .upload-details{display:block}.media-uploader-status .upload-detail-separator{padding:0 4px}.media-uploader-status .upload-count{color:#464646}.media-uploader-status .upload-dismiss-errors,.media-uploader-status .upload-errors{display:none}.errors.media-uploader-status .upload-dismiss-errors,.errors.media-uploader-status .upload-errors{display:block}.media-uploader-status .upload-dismiss-errors{text-decoration:none}.media-sidebar .media-uploader-status .upload-dismiss-errors{position:absolute;top:0;right:0}.upload-errors .upload-error{margin:8px auto 0;padding:8px;border:1px solid #c00;background:#ffebe8;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-right:8px;font-weight:700;color:#fff;background:#e00;background:-webkit-gradient(linear,left top,left bottom,from(#e00),to(#a00)) #e00;background:-webkit-linear-gradient(top,#e00,#a00) #e00;background:linear-gradient(to bottom,#e00,#a00) #e00;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-message{display:block;padding-top:8px;color:#b44;word-wrap:break-word}.uploader-window{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;-webkit-transition:opacity 250ms;transition:opacity 250ms}.uploader-window-content{position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:1px dashed #fff}.uploader-window h3{margin:-.5em 0 0;position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:40px;color:#fff;padding:0}.uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:0 0;border-color:#fff;display:none}.uploader-window .media-progress-bar div{background:#fff}.uploading .uploader-window .media-progress-bar{display:block}.media-frame .uploader-inline{margin-bottom:20px;padding:0;text-align:center}.uploader-inline-content{position:absolute;top:30%;left:0;right:0}.uploader-inline-content .upload-ui{margin:2em 0}.uploader-inline-content .post-upload-ui{margin-bottom:2em}.uploader-inline .has-upload-message .upload-ui{margin:0 0 4em}.uploader-inline h3{font-size:20px;line-height:28px;font-weight:400;margin:0}.uploader-inline .has-upload-message .upload-instructions{font-size:14px;color:#464646;font-weight:400}.uploader-inline .drop-instructions{display:none}.supports-drag-drop .uploader-inline .drop-instructions{display:block}.uploader-inline p{font-size:12px;margin:.5em 0}.uploader-inline .media-progress-bar{display:none}.uploading.uploader-inline .media-progress-bar{display:block}.uploader-inline .browser{display:inline-block!important}.media-selection{position:absolute;top:0;left:0;right:350px;height:60px;padding:0 0 0 16px;overflow:hidden;white-space:nowrap}.media-selection .selection-info{display:inline-block;font-size:12px;height:60px;margin-right:10px;vertical-align:top}.media-selection.editing,.media-selection.empty,.media-selection.one .edit-selection{display:none}.media-selection .count{display:block;padding-top:12px;font-size:14px;line-height:20px;font-weight:700}.media-selection .selection-info a{display:block;float:left;padding:1px 8px;margin:1px 8px 1px -8px;line-height:16px;text-decoration:none;border-right:1px solid #dfdfdf;color:#21759B}.media-selection .selection-info a:hover{background:#21759B;color:#fff;border-color:transparent}.media-selection .selection-info a:last-child{border-right:0;margin-right:0}.media-selection .selection-info .clear-selection{color:red}.media-selection .selection-info .clear-selection:hover{background:red}.media-selection .selection-view{display:inline-block;vertical-align:top}.media-selection .attachments{display:inline-block;height:48px;margin:6px;padding:0;overflow:hidden;vertical-align:top}.media-selection .attachment{width:40px;padding:0;margin:4px;-webkit-box-shadow:none;box-shadow:none}.media-selection .attachment .thumbnail{top:0;right:0;bottom:0;left:0}.media-selection .attachment .icon{width:50%}.media-selection .attachment-preview{-webkit-box-shadow:none;box-shadow:none;background:0 0}.media-selection .attachment.selection.details .thumbnail{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe}.media-selection:after{content:'';display:block;position:absolute;top:0;right:0;bottom:0;width:25px;background-image:-webkit-gradient(linear,right top,left top,from(rgba(255,255,255,1)),to(rgba(255,255,255,0)));background-image:-webkit-linear-gradient(right,rgba(255,255,255,1),rgba(255,255,255,0));background-image:linear-gradient(to left,rgba(255,255,255,1),rgba(255,255,255,0))}.media-selection .attachment .filename{display:none}.media-frame .spinner{background:url(../images/spinner.gif) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;display:none;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0}.media-toolbar .spinner{margin-top:14px}.attachment-details{position:relative;overflow:auto}.attachment-details .settings-save-status{float:right;text-transform:none;z-index:10}.attachment-details .settings-save-status .spinner{margin:0 5px}.attachment-details .settings-save-status .saved{float:right;display:none}.attachment-details.save-complete .settings-save-status .saved,.attachment-details.save-waiting .settings-save-status .spinner{display:block}.attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#666;border-bottom:1px solid #ddd;padding-bottom:11px}.attachment-info .filename{font-weight:700;color:#464646;word-wrap:break-word}.attachment-info .thumbnail{position:relative;float:left;max-width:120px;max-height:120px;margin-top:5px;margin-right:10px;margin-bottom:5px}.uploading .attachment-info .thumbnail{width:120px;height:80px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1);box-shadow:inset 0 0 15px rgba(0,0,0,.1)}.uploading .attachment-info .media-progress-bar{margin-top:35px}.attachment-info .thumbnail-image:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);overflow:hidden}.attachment-info .thumbnail img{display:block;max-width:120px;max-height:120px;margin:0 auto}.attachment-info .details{float:left;font-size:12px;max-width:100%}.attachment-info .delete-attachment,.attachment-info .edit-attachment,.attachment-info .refresh-attachment,.attachment-info .trash-attachment,.attachment-info .untrash-attachment{display:block;text-decoration:none;white-space:nowrap}.attachment-details.needs-refresh .attachment-info .edit-attachment,.attachment-info .refresh-attachment{display:none}.attachment-details.needs-refresh .attachment-info .refresh-attachment,.attachment-info .edit-attachment{display:block}.media-modal .delete-attachment,.media-modal .trash-attachment,.media-modal .untrash-attachment{color:#bc0b0b}.media-modal .delete-attachment:hover,.media-modal .trash-attachment:hover,.media-modal .untrash-attachment:hover{color:red}.attachment-display-settings{width:100%;float:left;overflow:hidden}.attachment-display-settings h4{margin:1.4em 0 .4em}.collection-settings{overflow:hidden}.collection-settings .setting input[type=checkbox]{float:left;margin-right:8px}.collection-settings .setting span{min-width:inherit}.media-modal .imgedit-wrap{position:static}.media-modal .imgedit-wait{height:auto!important;right:0;bottom:0;left:0}.media-modal .imgedit-wrap .imgedit-panel-content{padding:16px;position:absolute;top:0;right:282px;bottom:0;left:0;overflow:auto}.media-modal .imgedit-wrap .imgedit-settings{background:#f3f3f3;border-left:1px solid #ddd;padding:0 16px 16px;position:absolute;top:0;right:0;bottom:0;width:250px;overflow:auto}.media-modal .imgedit-group{background:0 0;border:none;border-bottom:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;margin:0 0 16px;padding:0 0 16px;position:relative}.media-modal .imgedit-group:last-of-type{border:none;margin:0;padding:0}.media-modal .imgedit-group-top h3{text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 0}.media-modal .imgedit-group-top h3 a{text-decoration:none;color:#666}.media-modal .imgedit-help-toggle{margin-top:-2px;cursor:pointer;color:#666}.media-modal .imgedit-help-toggled span.dashicons:before{content:'\f142'}.media-modal .imgedit-group img{margin-top:5px}.media-modal .imgedit-wrap div.updated{margin:0 0 16px}.embed-url{display:block;position:relative;padding:16px;margin:0;z-index:250;background:#fff;font-size:18px}.media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;-webkit-box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1);box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1)}.media-frame .embed-url .spinner{position:absolute;top:32px;right:26px}.media-frame .embed-loading .embed-url .spinner{display:block}.embed-link-settings,.embed-media-settings{position:absolute;top:70px;left:0;right:0;bottom:0;padding:16px 16px 32px;overflow:auto}.embed-preview embed,.embed-preview iframe,.embed-preview img{max-width:100%}.embed-preview img{height:auto}.image-details .media-modal{left:140px;right:140px}.image-details .media-frame-content,.image-details .media-frame-router,.image-details .media-frame-title{left:0}.image-details .embed-media-settings{top:0;overflow:visible;padding:0}.image-details .embed-media-settings,.image-details .embed-media-settings div{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.image-details .column-settings{background:#f3f3f3;border-right:1px solid #ddd;min-height:100%;width:55%;position:absolute;top:0;left:0}.image-details .column-settings h3{margin:20px;padding-top:20px;border-top:1px solid #ddd}.image-details .column-image{width:45%;position:absolute;left:55%;top:0}.image-details .image{margin:20px}.image-details .image img{max-width:100%;max-height:500px}.image-details .advanced-toggle{color:#666;text-decoration:none;display:block}.image-details .advanced-toggle:after{font:400 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140';display:inline-block;margin-top:-2px}.image-details .advanced-visible .advanced-toggle:after{content:'\f142'}.image-details .embed-media-settings .size{margin-bottom:4px}.image-details .custom-size span{display:block}.image-details .custom-size label{display:block;float:left}.image-details .custom-size span small{color:#999;font-size:inherit}.image-details .custom-size input{width:5em}.image-details .custom-size .sep{float:left;margin:26px 6px 0}.image-details .custom-size:after{content:'';display:table;clear:both}.media-embed .thumbnail{max-width:100%;max-height:200px;position:relative;float:left}.media-embed .thumbnail img{max-height:200px;display:block}.media-embed .thumbnail:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.media-embed .setting{width:100%;margin:10px 0;float:left;display:block;clear:both}.image-details .embed-media-settings .setting{float:none;width:auto}.image-details .actions{margin:10px 0}.image-details .hidden{display:none}.media-embed .setting input[type=text],.media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{max-width:inherit;width:70%}.image-details .embed-media-settings .custom-size,.image-details .embed-media-settings .link-target,.image-details .embed-media-settings .setting input.link-to-custom{margin-left:27%;width:70%}.image-details .embed-media-settings .link-target{margin-top:24px}.media-embed .setting input.hidden,.media-embed .setting textarea.hidden{display:none}.media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#666}.image-details .embed-media-settings .setting span{float:left;width:25%;text-align:right;margin:8px 1% 0;line-height:1.1}.media-embed .setting .button-group{margin:2px 0}.media-embed-sidebar{position:absolute;top:0;left:440px}.advanced-section,.link-settings{margin-top:10px}#wp-fullscreen-body .uploader-editor,.wp-editor-wrap .uploader-editor{background:rgba(150,150,150,.9);position:absolute;top:0;left:0;width:100%;height:100%;z-index:99998;display:none;text-align:center}#wp-fullscreen-body .uploader-editor{background:rgba(0,86,132,.9);position:fixed;z-index:100050}.wp-editor-wrap.wp-fullscreen-wrap .uploader-editor{opacity:0}#wp-fullscreen-body .uploader-editor-content,.wp-editor-wrap .uploader-editor-content{border:1px dashed #fff;position:absolute;top:10px;left:10px;right:10px;bottom:10px}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor .uploader-editor-title{position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:3em;line-height:1.3;font-weight:700;color:#fff;padding:0;margin:0;display:none}.wp-editor-wrap .uploader-editor.droppable{background:rgba(0,86,132,.9)}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor.droppable .uploader-editor-title{display:block}.ie7 .media-frame .attachments-browser{position:static}.ie7 .media-frame .embed-url input{margin-top:4px;width:90%}.ie7 .compat-item{width:99%}.ie7 .attachment-display-settings{width:auto}.ie7 .attachment-preview,.ie7 .attachment-preview .thumbnail{width:120px;height:120px}.ie7 .media-frame .attachment .describe{width:102px}.ie7 .media-sidebar .setting select{max-width:55%}.ie7 .media-sidebar .setting input[type=email],.ie7 .media-sidebar .setting input[type=number],.ie7 .media-sidebar .setting input[type=password],.ie7 .media-sidebar .setting input[type=search],.ie7 .media-sidebar .setting input[type=tel],.ie7 .media-sidebar .setting input[type=text],.ie7 .media-sidebar .setting input[type=url],.ie7 .media-sidebar .setting textarea{width:55%}.ie7 .media-sidebar .setting .link-to-custom{float:left}.rtl .media-frame,.rtl .media-frame .search,.rtl .media-frame input[type=email],.rtl .media-frame input[type=number],.rtl .media-frame input[type=password],.rtl .media-frame input[type=search],.rtl .media-frame input[type=tel],.rtl .media-frame input[type=text],.rtl .media-frame input[type=url],.rtl .media-frame select,.rtl .media-frame textarea,.rtl .media-modal{font-family:Tahoma,sans-serif}:lang(he-il) .rtl .media-frame,:lang(he-il) .rtl .media-frame .search,:lang(he-il) .rtl .media-frame input[type=email],:lang(he-il) .rtl .media-frame input[type=number],:lang(he-il) .rtl .media-frame input[type=password],:lang(he-il) .rtl .media-frame input[type=search],:lang(he-il) .rtl .media-frame input[type=text],:lang(he-il) .rtl .media-frame input[type=url],:lang(he-il) .rtl .media-frame select,:lang(he-il) .rtl .media-frame textarea,:lang(he-il) .rtl .media-modal{font-family:Arial,sans-serif}@media only screen and (max-width:900px){.media-frame:not(.hide-menu) .media-frame-content,.media-frame:not(.hide-menu) .media-frame-router,.media-frame:not(.hide-menu) .media-frame-title,.media-frame:not(.hide-menu) .media-frame-toolbar{left:0}.media-frame:not(.hide-menu) .media-frame-menu{position:static;width:0}.media-frame:not(.hide-menu) .media-menu{width:auto;max-width:80%;overflow:auto;z-index:2000;top:50px;left:-300px;right:auto;bottom:auto;padding:5px 0;border:1px solid #ccc}.media-frame:not(.hide-menu) .media-menu.visible{left:0}.media-frame:not(.hide-menu) .media-menu>a{padding:12px 16px;font-size:16px}.media-frame:not(.hide-menu) .media-menu>a.active{display:none}.media-frame:not(.hide-menu) .media-menu .separator{margin:5px 10px}.media-frame:not(.hide-menu) .media-frame-title{left:0;color:#21759b}.media-frame:not(.hide-menu) .media-frame-title .dashicons{display:inline-block;line-height:50px}.media-frame:not(.hide-menu) .media-frame-title h1{line-height:3;font-size:18px;float:left;cursor:pointer}.media-sidebar{width:230px}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{right:262px}.attachment-details .setting,.media-sidebar .setting{margin:6px 0}.attachment-details .setting input,.attachment-details .setting span,.attachment-details .setting textarea,.compat-item label span,.media-sidebar .setting input,.media-sidebar .setting span,.media-sidebar .setting textarea{float:none}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{text-align:inherit;min-height:16px;margin:0;padding:8px 2px 0}.attachment-details .setting .value,.media-sidebar .setting .value{float:none;width:auto}.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting select,.attachment-details .setting textarea,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting select,.media-sidebar .setting textarea{float:none;width:98%;max-width:none;height:auto}.attachment-details .setting select.columns,.media-sidebar .setting select.columns{width:auto}.media-frame .search,.media-frame input,.media-frame textarea{padding:3px 6px}.image-details .column-image{width:30%;left:70%}.image-details .column-settings{width:70%}.image-details .media-modal{left:30px;right:30px}.image-details .embed-media-settings .setting{margin:20px}.image-details .embed-media-settings .setting span{float:none;text-align:left;width:100%;margin-bottom:4px}.image-details .embed-media-settings .setting input.link-to-custom,.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{width:100%;margin-left:0}.image-details .embed-media-settings .custom-size{margin-left:20px}.collection-settings .setting input[type=checkbox]{margin-top:0}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-modal .attachments-browser .media-toolbar .search{max-width:100%;height:auto;float:right}.media-modal .attachments-browser .media-toolbar .attachment-filters{height:auto}.media-modal .attachments-browser .media-toolbar .spinner{margin:14px 8px 0}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-size:16px}}@media only screen and (max-width:640px),screen and (max-height:400px){.image-details .media-modal,.media-modal{position:fixed;top:0;left:0;right:0;bottom:0}.media-modal-backdrop{position:fixed}.media-sidebar{z-index:1900;max-width:70%;bottom:120%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding-bottom:0}.media-sidebar.visible{bottom:0}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{right:0}.image-details .media-frame-title{display:block;top:0;font-size:14px}.image-details .column-image,.image-details .column-settings{width:100%;position:relative;left:0}.image-details .column-settings{padding:4px 0}.media-frame-content .media-toolbar .instructions{display:none}}@media screen and (max-height:400px){.media-menu{padding:0}.media-frame-router{top:44px}.media-frame-content{top:78px}.attachments-browser .attachments{top:40px}.embed-link-settings{overflow:visible}}@media only screen and (max-width:480px){.media-modal-close{top:5px;right:5px}.media-modal .media-frame-title{height:40px}.media-frame:not(.hide-menu) .media-frame-title h1,.media-modal .media-frame-title h1{font-size:18px;line-height:40px}.media-frame:not(.hide-menu) .media-frame-title .dashicons{line-height:40px}.media-frame-router,.media-frame:not(.hide-menu) .media-menu{top:40px}.media-frame-content{top:74px}.media-frame.hide-router .media-frame-content{top:40px}}@media print,(-o-min-device-pixel-ratio:5/4),(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.media-modal-icon{background-image:url(../images/uploader-icons-2x.png);-webkit-background-size:134px 15px;background-size:134px 15px}.media-frame .spinner{background-image:url(../images/spinner-2x.gif)}}.media-frame-content[data-columns="1"] .attachment{width:100%}.media-frame-content[data-columns="2"] .attachment{width:50%}.media-frame-content[data-columns="3"] .attachment{width:33.33%}.media-frame-content[data-columns="4"] .attachment{width:25%}.media-frame-content[data-columns="5"] .attachment{width:20%}.media-frame-content[data-columns="6"] .attachment{width:16.66%}.media-frame-content[data-columns="7"] .attachment{width:14.28%}.media-frame-content[data-columns="8"] .attachment{width:12.5%}.media-frame-content[data-columns="9"] .attachment{width:11.11%}.media-frame-content[data-columns="10"] .attachment{width:10%}.media-frame-content[data-columns="11"] .attachment{width:9.09%}.media-frame-content[data-columns="12"] .attachment{width:8.33%}
\ No newline at end of file
+ */.ui-draggable-handle,.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.media-modal{position:fixed;top:30px;left:30px;right:30px;bottom:30px;z-index:160000}.wp-customizer .media-modal{z-index:560000}.media-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:159900}.wp-customizer .media-modal-backdrop{z-index:559900}.media-modal-close{position:absolute;text-decoration:none;top:10px;right:10px;width:30px;height:30px;z-index:1000;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.media-modal-close:active{-webkit-box-shadow:none;box-shadow:none}.media-modal-close span.media-modal-icon{display:block;margin-top:5px;width:30px;height:15px;background-image:none;text-align:center}.media-modal-close .media-modal-icon:before{content:'\f158';font:400 20px/1 dashicons;speak:none;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#666}.media-modal-close:hover .media-modal-icon:before{color:#00a0d2}.media-modal-close:active{outline:0}.media-modal-content{position:absolute;top:0;left:0;right:0;bottom:0;overflow:auto;min-height:300px;-webkit-box-shadow:0 5px 15px rgba(0,0,0,.7);box-shadow:0 5px 15px rgba(0,0,0,.7);background:#fcfcfc;-webkit-font-smoothing:subpixel-antialiased}.media-modal-icon{background-image:url(../images/uploader-icons.png);background-repeat:no-repeat}.media-toolbar{position:absolute;top:0;left:0;right:0;z-index:100;height:60px;padding:0 16px;border:0 solid #dfdfdf;overflow:hidden}.media-toolbar-primary{float:right;height:100%}.media-toolbar-secondary{float:left;height:100%}.media-toolbar-primary>.media-button,.media-toolbar-primary>.media-button-group{margin-left:10px;float:left;margin-top:15px}.media-toolbar-secondary>.media-button,.media-toolbar-secondary>.media-button-group{margin-right:10px;margin-top:15px}.media-sidebar{position:absolute;top:0;right:0;bottom:0;width:267px;padding:0 16px 24px;z-index:75;background:#f3f3f3;border-left:1px solid #ddd;overflow:auto;-webkit-overflow-scrolling:touch}.hide-toolbar .media-sidebar{bottom:0}.media-sidebar .sidebar-title{font-size:20px;margin:0;padding:12px 10px 10px;line-height:28px}.media-sidebar .sidebar-content{padding:0 10px;margin-bottom:130px}.media-sidebar .search{display:block;width:100%}.image-details h3,.media-sidebar h3{position:relative;font-weight:700;text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 8px}.attachment-details .setting,.media-sidebar .setting{display:block;float:left;width:100%;margin:1px 0}.attachment-details .setting label,.media-sidebar .setting label{display:block}.attachment-details .setting .link-to-custom,.media-sidebar .setting .link-to-custom{margin:3px 2px 0}.attachment-details .setting span,.media-sidebar .setting span{min-width:30%;margin-right:4%;font-size:12px;text-align:right;word-wrap:break-word}.media-sidebar .setting .name{max-width:80px}.attachment-details .setting select,.media-sidebar .setting select{max-width:65%}.attachment-details .field input[type=checkbox],.attachment-details .field input[type=radio],.attachment-details .setting input[type=checkbox],.attachment-details .setting input[type=radio],.media-sidebar .field input[type=checkbox],.media-sidebar .field input[type=radio],.media-sidebar .setting input[type=checkbox],.media-sidebar .setting input[type=radio]{float:none;margin:8px 3px 0;padding:0}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{float:left;min-height:22px;padding-top:8px;line-height:16px;font-weight:400;color:#666}.compat-item label span{text-align:right}.attachment-details .setting .value,.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting textarea,.media-sidebar .setting .value,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px;width:65%;float:right}.attachment-details .setting .value,.media-sidebar .setting .value{margin:0 1px;text-align:left}.attachment-details .setting textarea,.compat-item .field textarea,.media-sidebar .setting textarea{height:62px;resize:vertical}.attachment-details select,.media-sidebar select{margin-top:3px}.compat-item{float:left;width:100%;overflow:hidden}.compat-item table{width:100%;table-layout:fixed;border-spacing:0;border:0}.compat-item tr{padding:2px 0;display:block;overflow:hidden}.compat-item .field,.compat-item .label{display:block;margin:0;padding:0}.compat-item .label{min-width:30%;margin-right:4%;float:left;text-align:right}.compat-item .label span{display:block;width:100%}.compat-item .field{float:right;width:65%;margin:1px}.compat-item .field input[type=email],.compat-item .field input[type=number],.compat-item .field input[type=password],.compat-item .field input[type=search],.compat-item .field input[type=tel],.compat-item .field input[type=text],.compat-item .field input[type=url],.compat-item .field textarea{width:100%;margin:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.sidebar-for-errors .attachment-details,.sidebar-for-errors .compat-item,.sidebar-for-errors .media-sidebar .media-progress-bar,.sidebar-for-errors .upload-details{display:none!important}.media-menu{position:absolute;top:0;left:0;right:0;bottom:0;margin:0;padding:10px 0;background:#f3f3f3;border-right-width:1px;border-right-style:solid;border-right-color:#ccc;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-menu>a{display:block;position:relative;padding:8px 20px;margin:0;line-height:18px;font-size:14px;color:#0073aa;text-decoration:none}.media-menu>a:hover{color:#21759B;background:rgba(0,0,0,.04)}.media-menu>a:active{outline:0}.media-menu .active,.media-menu .active:hover{color:#23282d;font-weight:700}.media-menu .separator{height:0;margin:12px 20px;padding:0;border-top:1px solid #ddd}.media-router{position:relative;padding:0 6px;margin:0;clear:both;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.media-router a{-webkit-transition:none;transition:none}.media-router>a{position:relative;float:left;padding:8px 10px 9px;margin:0;height:18px;line-height:18px;font-size:14px;text-decoration:none}.media-router>a:last-child{border-right:0}.media-router>a:active{outline:0}.media-router .active,.media-router .active:hover{color:#32373c}.media-router .active,.media-router>a.active:last-child{margin:-1px -1px 0;background:#fff;border:1px solid #ddd;border-bottom:none}.media-router .active:after{display:none}.media-frame{overflow:hidden;position:absolute;top:0;left:0;right:0;bottom:0}.media-frame-menu{position:absolute;top:0;left:0;bottom:0;width:200px;z-index:150}.media-frame-title{position:absolute;top:0;left:200px;right:0;height:50px;z-index:200}.media-frame-router{position:absolute;top:50px;left:200px;right:0;height:36px;z-index:200}.media-frame-content{position:absolute;top:84px;left:200px;right:0;bottom:61px;height:auto;width:auto;margin:0;overflow:auto;background:#fff;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.media-frame-toolbar{position:absolute;left:200px;right:0;bottom:0;height:60px;z-index:100}.media-frame.hide-menu .media-frame-content,.media-frame.hide-menu .media-frame-router,.media-frame.hide-menu .media-frame-title,.media-frame.hide-menu .media-frame-toolbar{left:0}.media-frame.hide-menu .media-frame-menu{left:-200px}.media-frame.hide-toolbar .media-frame-content{bottom:0}.media-frame.hide-toolbar .media-frame-toolbar{bottom:-61px}.media-frame.hide-router .media-frame-content{top:50px}.media-frame.hide-router .media-frame-router{display:none}.media-frame.hide-router .media-frame-title{border-bottom:1px solid #dfdfdf;-webkit-box-shadow:0 4px 4px -4px rgba(0,0,0,.1);box-shadow:0 4px 4px -4px rgba(0,0,0,.1)}.media-frame-title .dashicons{display:none}.media-frame-title h1{padding:0 16px;font-size:22px;line-height:50px;margin:0}.media-frame-title .suggested-dimensions{font-size:14px;float:right;margin-right:20px}.media-frame-content .crop-content{height:100%}.media-frame-content .crop-content .crop-image{display:block;margin:auto;max-width:100%;max-height:100%}.media-frame-content .crop-content .upload-errors{position:absolute;width:300px;top:50%;left:50%;margin-left:-150px;margin-right:-150px;z-index:600000}.media-frame .media-iframe{overflow:hidden}.media-frame .media-iframe,.media-frame .media-iframe iframe{height:100%;width:100%;border:0}.media-frame select.attachment-filters{margin-top:11px;margin-right:2%;max-width:42%;max-width:-webkit-calc(48% - 12px);max-width:calc(48% - 12px)}.media-frame select.attachment-filters:last-of-type{margin-right:0}.media-frame .search{margin-top:11px;padding:4px;font-size:13px;color:#464646;font-family:"Open Sans",sans-serif;-webkit-appearance:none}.media-toolbar-primary .search{max-width:100%}.wp-core-ui .attachments{margin:0;-webkit-overflow-scrolling:touch}.wp-core-ui .attachment{position:relative;float:left;padding:8px;margin:0;color:#464646;cursor:pointer;list-style:none;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:25%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.wp-core-ui .attachment.details:focus,.wp-core-ui .attachment:focus,.wp-core-ui .selected.attachment:focus{-webkit-box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;box-shadow:inset 0 0 2px 3px #fff,inset 0 0 0 7px #5b9dd9;outline:0}.wp-core-ui .selected.attachment{-webkit-box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc;box-shadow:inset 0 0 0 5px #fff,inset 0 0 0 7px #ccc}.wp-core-ui .attachment.details{-webkit-box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 7px #1e8cbe}.wp-core-ui .attachment-preview{position:relative;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);box-shadow:inset 0 0 15px rgba(0,0,0,.1),inset 0 0 0 1px rgba(0,0,0,.05);background:#eee;cursor:pointer}.wp-core-ui .attachment-preview:before{content:'';display:block;padding-top:100%}.wp-core-ui .attachment .icon{margin:0 auto;overflow:hidden}.wp-core-ui .attachment .thumbnail{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;opacity:1;-webkit-transition:opacity .1s;transition:opacity .1s}.wp-core-ui .attachment .portrait img{max-width:100%}.wp-core-ui .attachment .landscape img{max-height:100%}.wp-core-ui .attachment .thumbnail:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.wp-core-ui .attachment .thumbnail img{top:0;left:0}.wp-core-ui .attachment .thumbnail .centered{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transform:translate(50%,50%);-ms-transform:translate(50%,50%);transform:translate(50%,50%)}.wp-core-ui .attachment .thumbnail .centered img{-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.wp-core-ui .attachments-browser .attachment .thumbnail .centered img.icon{-webkit-transform:translate(-50%,-70%);-ms-transform:translate(-50%,-70%);transform:translate(-50%,-70%)}.ie8 .wp-core-ui .attachment img.icon{top:20%;position:relative}.wp-core-ui .attachment .filename{position:absolute;left:0;right:0;bottom:0;overflow:hidden;max-height:100%;word-wrap:break-word;text-align:center;font-weight:700;background:rgba(255,255,255,.8);-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.wp-core-ui .attachment .filename div{padding:5px 10px}.wp-core-ui .attachment .thumbnail img{position:absolute}.wp-core-ui .attachment .close{display:block;position:absolute;top:5px;right:5px;height:22px;width:22px;padding:0;font-size:20px;line-height:20px;text-align:center;text-decoration:none;color:#464646;background-color:#fff;background-position:-96px 4px;border-width:0;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3);-webkit-transition-duration:none;transition-duration:none;-webkit-transition-property:none;transition-property:none}.wp-core-ui .attachment a.close:focus,.wp-core-ui .attachment a.close:hover{-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.6);box-shadow:0 0 0 1px rgba(0,0,0,.6);background-position:-36px 4px}.wp-core-ui .attachment .check{display:none;height:24px;width:24px;position:absolute;z-index:10;top:0;right:0;outline:0;background:#eee;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15);box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(0,0,0,.15)}.wp-core-ui .attachment .check div{background-position:-1px 0;height:15px;width:15px;margin:5px}.wp-core-ui .attachment .check:hover div{background-position:-40px 0}.wp-core-ui .attachment.selected .check{display:block}.wp-core-ui .attachment.details .check,.wp-core-ui .attachment.selected .check:focus,.wp-core-ui .media-frame.mode-grid .attachment.selected .check{background-color:#1e8cbe;-webkit-box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 2px #1e8cbe}.wp-core-ui .attachment.details .check div,.wp-core-ui .media-frame.mode-grid .attachment.selected .check div{background-position:-21px 0}.wp-core-ui .attachment.details .check:hover div,.wp-core-ui .attachment.selected .check:focus div,.wp-core-ui .media-frame.mode-grid .attachment.selected .check:hover div{background-position:-60px 0}.wp-core-ui .media-frame .attachment .describe{position:relative;display:block;width:100%;margin:0;padding:8px;font-size:12px;-webkit-border-radius:0;border-radius:0}.media-frame .attachments-browser{position:relative;width:100%;height:100%;overflow:hidden}.attachments-browser .media-toolbar{right:300px;height:50px}.attachments-browser.hide-sidebar .media-toolbar{right:0}.attachments-browser .media-toolbar-primary>.media-button,.attachments-browser .media-toolbar-primary>.media-button-group,.attachments-browser .media-toolbar-secondary>.media-button,.attachments-browser .media-toolbar-secondary>.media-button-group{margin:11px 0}.attachments-browser .attachments{padding:2px 8px 8px}.attachments-browser .attachments,.attachments-browser .uploader-inline{position:absolute;top:50px;left:0;right:300px;bottom:0;overflow:auto;outline:0}.attachments-browser .uploader-inline.hidden{display:none}.attachments-browser .media-toolbar-primary{max-width:33%}.attachments-browser .media-toolbar-secondary{max-width:66%}.uploader-inline .close{background-color:transparent;border:0;cursor:pointer;height:48px;position:absolute;right:0;text-align:center;top:0;width:50px;z-index:1}.uploader-inline .close:before{font:400 30px/50px dashicons!important;color:#777;display:inline-block;content:'\f335';font-weight:300}.attachments-browser.hide-sidebar .attachments,.attachments-browser.hide-sidebar .uploader-inline{right:0;margin-right:0}.attachments-browser .instructions{display:inline-block;margin-top:16px;line-height:18px;font-size:13px;color:#666;margin-right:.5em}.attachments-browser .no-media{padding:2em 0 0 2em}.media-progress-bar{position:relative;height:10px;width:70%;margin:10px auto;-webkit-border-radius:10px;border-radius:10px;background:#dfdfdf;background:rgba(0,0,0,.1)}.media-progress-bar div{height:10px;min-width:20px;width:0;background:#1e8cbe;-webkit-border-radius:10px;border-radius:10px;-webkit-transition:width 300ms;transition:width 300ms}.media-uploader-status .media-progress-bar{display:none;width:100%}.uploading.media-uploader-status .media-progress-bar{display:block}.attachment-preview .media-progress-bar{position:absolute;top:50%;left:15%;width:70%;margin:-5px 0 0}.media-uploader-status{position:relative;margin:0 auto;padding-bottom:10px;max-width:400px}.media-sidebar .media-uploader-status{border-bottom:1px solid #dfdfdf}.uploader-inline .media-uploader-status h3{display:none}.media-uploader-status .upload-details{display:none;font-size:12px;color:#666}.uploading.media-uploader-status .upload-details{display:block}.media-uploader-status .upload-detail-separator{padding:0 4px}.media-uploader-status .upload-count{color:#464646}.media-uploader-status .upload-dismiss-errors,.media-uploader-status .upload-errors{display:none}.errors.media-uploader-status .upload-dismiss-errors,.errors.media-uploader-status .upload-errors{display:block}.media-uploader-status .upload-dismiss-errors{text-decoration:none}.media-sidebar .media-uploader-status .upload-dismiss-errors{position:absolute;top:0;right:0}.upload-errors .upload-error{margin:8px auto 0;padding:8px;border:1px solid #c00;background:#ffebe8;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-label{padding:2px 4px;margin-right:8px;font-weight:700;color:#fff;background:#e00;background:-webkit-gradient(linear,left top,left bottom,from(#e00),to(#a00)) #e00;background:-webkit-linear-gradient(top,#e00,#a00) #e00;background:linear-gradient(to bottom,#e00,#a00) #e00;-webkit-border-radius:3px;border-radius:3px}.upload-errors .upload-error-message{display:block;padding-top:8px;color:#b44;word-wrap:break-word}.uploader-window{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,86,132,.9);z-index:250000;display:none;text-align:center;opacity:0;-webkit-transition:opacity 250ms;transition:opacity 250ms}.uploader-window-content{position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:1px dashed #fff}.uploader-window h3{margin:-.5em 0 0;position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:40px;color:#fff;padding:0}.uploader-window .media-progress-bar{margin-top:20px;max-width:300px;background:0 0;border-color:#fff;display:none}.uploader-window .media-progress-bar div{background:#fff}.uploading .uploader-window .media-progress-bar{display:block}.media-frame .uploader-inline{margin-bottom:20px;padding:0;text-align:center}.uploader-inline-content{position:absolute;top:30%;left:0;right:0}.uploader-inline-content .upload-ui{margin:2em 0}.uploader-inline-content .post-upload-ui{margin-bottom:2em}.uploader-inline .has-upload-message .upload-ui{margin:0 0 4em}.uploader-inline h3{font-size:20px;line-height:28px;font-weight:400;margin:0}.uploader-inline .has-upload-message .upload-instructions{font-size:14px;color:#464646;font-weight:400}.uploader-inline .drop-instructions{display:none}.supports-drag-drop .uploader-inline .drop-instructions{display:block}.uploader-inline p{font-size:12px;margin:.5em 0}.uploader-inline .media-progress-bar{display:none}.uploading.uploader-inline .media-progress-bar{display:block}.uploader-inline .browser{display:inline-block!important}.media-selection{position:absolute;top:0;left:0;right:350px;height:60px;padding:0 0 0 16px;overflow:hidden;white-space:nowrap}.media-selection .selection-info{display:inline-block;font-size:12px;height:60px;margin-right:10px;vertical-align:top}.media-selection.editing,.media-selection.empty,.media-selection.one .edit-selection{display:none}.media-selection .count{display:block;padding-top:12px;font-size:14px;line-height:20px;font-weight:700}.media-selection .selection-info a{display:block;float:left;padding:1px 8px;margin:1px 8px 1px -8px;line-height:16px;text-decoration:none;border-right:1px solid #dfdfdf;color:#21759B}.media-selection .selection-info a:hover{background:#21759B;color:#fff;border-color:transparent}.media-selection .selection-info a:last-child{border-right:0;margin-right:0}.media-selection .selection-info .clear-selection{color:red}.media-selection .selection-info .clear-selection:hover{background:red}.media-selection .selection-view{display:inline-block;vertical-align:top}.media-selection .attachments{display:inline-block;height:48px;margin:6px;padding:0;overflow:hidden;vertical-align:top}.media-selection .attachment{width:40px;padding:0;margin:4px}.media-selection .attachment .thumbnail{top:0;right:0;bottom:0;left:0}.media-selection .attachment .icon{width:50%}.media-selection .attachment-preview{-webkit-box-shadow:none;box-shadow:none;background:0 0}.wp-core-ui .media-selection .attachment.details:focus,.wp-core-ui .media-selection .attachment:focus,.wp-core-ui .media-selection .selected.attachment:focus{-webkit-box-shadow:0 0 0 1px #fff,0 0 2px 3px #5b9dd9;box-shadow:0 0 0 1px #fff,0 0 2px 3px #5b9dd9}.wp-core-ui .media-selection .selected.attachment{-webkit-box-shadow:none;box-shadow:none}.wp-core-ui .media-selection .attachment.details{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe;box-shadow:0 0 0 1px #fff,0 0 0 3px #1e8cbe}.media-selection:after{content:'';display:block;position:absolute;top:0;right:0;bottom:0;width:25px;background-image:-webkit-gradient(linear,right top,left top,from(rgba(255,255,255,1)),to(rgba(255,255,255,0)));background-image:-webkit-linear-gradient(right,rgba(255,255,255,1),rgba(255,255,255,0));background-image:linear-gradient(to left,rgba(255,255,255,1),rgba(255,255,255,0))}.media-selection .attachment .filename{display:none}.media-frame .spinner{background:url(../images/spinner.gif) 0 0/20px 20px no-repeat;-webkit-background-size:20px 20px;float:right;display:inline-block;visibility:hidden;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:0;vertical-align:middle}.media-frame .spinner.is-active{visibility:visible}.media-toolbar .spinner{margin-top:14px}.attachment-details{position:relative;overflow:auto}.attachment-details .settings-save-status{float:right;text-transform:none;z-index:10}.attachment-details .settings-save-status .spinner{margin-left:5px}.attachment-details .settings-save-status .saved{float:right;display:none}.attachment-details.save-waiting .settings-save-status .spinner{visibility:visible}.attachment-details.save-complete .settings-save-status .saved{display:block}.attachment-info{overflow:hidden;min-height:60px;margin-bottom:16px;line-height:18px;color:#666;border-bottom:1px solid #ddd;padding-bottom:11px}.attachment-info .filename{font-weight:700;color:#464646;word-wrap:break-word}.attachment-info .thumbnail{position:relative;float:left;max-width:120px;max-height:120px;margin-top:5px;margin-right:10px;margin-bottom:5px}.uploading .attachment-info .thumbnail{width:120px;height:80px;-webkit-box-shadow:inset 0 0 15px rgba(0,0,0,.1);box-shadow:inset 0 0 15px rgba(0,0,0,.1)}.uploading .attachment-info .media-progress-bar{margin-top:35px}.attachment-info .thumbnail-image:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);overflow:hidden}.attachment-info .thumbnail img{display:block;max-width:120px;max-height:120px;margin:0 auto}.attachment-info .details{float:left;font-size:12px;max-width:100%}.attachment-info .delete-attachment,.attachment-info .edit-attachment,.attachment-info .refresh-attachment,.attachment-info .trash-attachment,.attachment-info .untrash-attachment{display:block;text-decoration:none;white-space:nowrap}.attachment-details.needs-refresh .attachment-info .edit-attachment,.attachment-info .refresh-attachment{display:none}.attachment-details.needs-refresh .attachment-info .refresh-attachment,.attachment-info .edit-attachment{display:block}.media-modal .delete-attachment,.media-modal .trash-attachment,.media-modal .untrash-attachment{color:#bc0b0b}.media-modal .delete-attachment:hover,.media-modal .trash-attachment:hover,.media-modal .untrash-attachment:hover{color:red}.attachment-display-settings{width:100%;float:left;overflow:hidden}.attachment-display-settings h4{margin:1.4em 0 .4em}.collection-settings{overflow:hidden}.collection-settings .setting input[type=checkbox]{float:left;margin-right:8px}.collection-settings .setting span{min-width:inherit}.media-modal .imgedit-wrap{position:static}.media-modal .imgedit-wait{height:auto!important;right:0;bottom:0;left:0}.media-modal .imgedit-wrap .imgedit-panel-content{padding:16px;position:absolute;top:0;right:282px;bottom:0;left:0;overflow:auto}.media-modal .imgedit-wrap .imgedit-settings{background:#f3f3f3;border-left:1px solid #ddd;padding:0 16px 16px;position:absolute;top:0;right:0;bottom:0;width:250px;overflow:auto}.media-modal .imgedit-group{background:0 0;border:none;border-bottom:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;margin:0 0 16px;padding:0 0 16px;position:relative}.media-modal .imgedit-group:last-of-type{border:none;margin:0;padding:0}.media-modal .imgedit-group-top h3{text-transform:uppercase;font-size:12px;color:#666;margin:24px 0 0}.media-modal .imgedit-group-top h3 a{text-decoration:none;color:#666}.media-modal .imgedit-help-toggle{margin-top:-2px;cursor:pointer;color:#666}.media-modal .imgedit-help-toggled span.dashicons:before{content:'\f142'}.media-modal .imgedit-group img{margin-top:5px}.media-modal .imgedit-wrap div.updated{margin:0 0 16px}.embed-url{display:block;position:relative;padding:16px;margin:0;z-index:250;background:#fff;font-size:18px}.media-frame .embed-url input{font-size:18px;padding:12px 14px;width:100%;min-width:200px;-webkit-box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1);box-shadow:inset 2px 2px 4px -2px rgba(0,0,0,.1)}.media-frame .embed-url .spinner{position:absolute;top:32px;right:26px}.media-frame .embed-loading .embed-url .spinner{visibility:visible}.embed-link-settings,.embed-media-settings{position:absolute;top:70px;left:0;right:0;bottom:0;padding:16px 16px 32px;overflow:auto}.embed-preview embed,.embed-preview iframe,.embed-preview img{max-width:100%}.embed-preview a{display:inline-block}.embed-preview img{display:block;height:auto}.image-details .media-modal{left:140px;right:140px}.image-details .media-frame-content,.image-details .media-frame-router,.image-details .media-frame-title{left:0}.image-details .embed-media-settings{top:0;overflow:visible;padding:0}.image-details .embed-media-settings,.image-details .embed-media-settings div{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.image-details .column-settings{background:#f3f3f3;border-right:1px solid #ddd;min-height:100%;width:55%;position:absolute;top:0;left:0}.image-details .column-settings h3{margin:20px;padding-top:20px;border-top:1px solid #ddd}.image-details .column-image{width:45%;position:absolute;left:55%;top:0}.image-details .image{margin:20px}.image-details .image img{max-width:100%;max-height:500px}.image-details .advanced-toggle{color:#666;text-decoration:none;display:block}.image-details .advanced-toggle:after{font:400 20px/1 dashicons;speak:none;vertical-align:top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;content:'\f140';display:inline-block;margin-top:-2px}.image-details .advanced-visible .advanced-toggle:after{content:'\f142'}.image-details .embed-media-settings .size{margin-bottom:4px}.image-details .custom-size span{display:block}.image-details .custom-size label{display:block;float:left}.image-details .custom-size span small{color:#999;font-size:inherit}.image-details .custom-size input{width:5em}.image-details .custom-size .sep{float:left;margin:26px 6px 0}.image-details .custom-size:after{content:'';display:table;clear:both}.media-embed .thumbnail{max-width:100%;max-height:200px;position:relative;float:left}.media-embed .thumbnail img{max-height:200px;display:block}.media-embed .thumbnail:after{content:'';display:block;position:absolute;top:0;left:0;right:0;bottom:0;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);overflow:hidden}.media-embed .setting{width:100%;margin:10px 0;float:left;display:block;clear:both}.image-details .embed-media-settings .setting{float:none;width:auto}.image-details .actions{margin:10px 0}.image-details .hidden{display:none}.media-embed .setting input[type=text],.media-embed .setting textarea{display:block;width:100%;max-width:400px;margin:1px 0}.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{max-width:inherit;width:70%}.image-details .embed-media-settings .custom-size,.image-details .embed-media-settings .link-target,.image-details .embed-media-settings .setting input.link-to-custom{margin-left:27%;width:70%}.image-details .embed-media-settings .link-target{margin-top:24px}.media-embed .setting input.hidden,.media-embed .setting textarea.hidden{display:none}.media-embed .setting span{display:block;width:200px;font-size:13px;line-height:24px;color:#666}.image-details .embed-media-settings .setting span{float:left;width:25%;text-align:right;margin:8px 1% 0;line-height:1.1}.media-embed .setting .button-group{margin:2px 0}.media-embed-sidebar{position:absolute;top:0;left:440px}.advanced-section,.link-settings{margin-top:10px}#wp-fullscreen-body .uploader-editor,.wp-editor-wrap .uploader-editor{background:rgba(150,150,150,.9);position:absolute;top:0;left:0;width:100%;height:100%;z-index:99998;display:none;text-align:center}#wp-fullscreen-body .uploader-editor{background:rgba(0,86,132,.9);position:fixed;z-index:100050}.wp-editor-wrap.wp-fullscreen-wrap .uploader-editor{opacity:0}#wp-fullscreen-body .uploader-editor-content,.wp-editor-wrap .uploader-editor-content{border:1px dashed #fff;position:absolute;top:10px;left:10px;right:10px;bottom:10px}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor .uploader-editor-title{position:absolute;top:50%;left:0;right:0;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:3em;line-height:1.3;font-weight:700;color:#fff;padding:0;margin:0;display:none}.wp-editor-wrap .uploader-editor.droppable{background:rgba(0,86,132,.9)}#wp-fullscreen-body .uploader-editor .uploader-editor-title,.wp-editor-wrap .uploader-editor.droppable .uploader-editor-title{display:block}.ie7 .media-frame .attachments-browser{position:static}.ie7 .media-frame .embed-url input{margin-top:4px;width:90%}.ie7 .compat-item{width:99%}.ie7 .attachment-display-settings{width:auto}.ie7 .attachment-preview,.ie7 .attachment-preview .thumbnail{width:120px;height:120px}.ie7 .media-frame .attachment .describe{width:102px}.ie7 .media-sidebar .setting select{max-width:55%}.ie7 .media-sidebar .setting input[type=email],.ie7 .media-sidebar .setting input[type=number],.ie7 .media-sidebar .setting input[type=password],.ie7 .media-sidebar .setting input[type=search],.ie7 .media-sidebar .setting input[type=tel],.ie7 .media-sidebar .setting input[type=text],.ie7 .media-sidebar .setting input[type=url],.ie7 .media-sidebar .setting textarea{width:55%}.ie7 .media-sidebar .setting .link-to-custom{float:left}.rtl .media-frame,.rtl .media-frame .search,.rtl .media-frame input[type=email],.rtl .media-frame input[type=number],.rtl .media-frame input[type=password],.rtl .media-frame input[type=search],.rtl .media-frame input[type=tel],.rtl .media-frame input[type=text],.rtl .media-frame input[type=url],.rtl .media-frame select,.rtl .media-frame textarea,.rtl .media-modal{font-family:Tahoma,sans-serif}:lang(he-il) .rtl .media-frame,:lang(he-il) .rtl .media-frame .search,:lang(he-il) .rtl .media-frame input[type=email],:lang(he-il) .rtl .media-frame input[type=number],:lang(he-il) .rtl .media-frame input[type=password],:lang(he-il) .rtl .media-frame input[type=search],:lang(he-il) .rtl .media-frame input[type=text],:lang(he-il) .rtl .media-frame input[type=url],:lang(he-il) .rtl .media-frame select,:lang(he-il) .rtl .media-frame textarea,:lang(he-il) .rtl .media-modal{font-family:Arial,sans-serif}@media only screen and (max-width:900px){.media-frame:not(.hide-menu) .media-frame-content,.media-frame:not(.hide-menu) .media-frame-router,.media-frame:not(.hide-menu) .media-frame-title,.media-frame:not(.hide-menu) .media-frame-toolbar{left:0}.media-frame:not(.hide-menu) .media-frame-menu{position:static;width:0}.media-frame:not(.hide-menu) .media-menu{width:auto;max-width:80%;overflow:auto;z-index:2000;top:50px;left:-300px;right:auto;bottom:auto;padding:5px 0;border:1px solid #ccc}.media-frame:not(.hide-menu) .media-menu.visible{left:0}.media-frame:not(.hide-menu) .media-menu>a{padding:12px 16px;font-size:16px}.media-frame:not(.hide-menu) .media-menu>a.active{display:none}.media-frame:not(.hide-menu) .media-menu .separator{margin:5px 10px}.media-frame:not(.hide-menu) .media-frame-title{left:0;color:#21759b}.media-frame:not(.hide-menu) .media-frame-title .dashicons{display:inline-block;line-height:50px}.media-frame:not(.hide-menu) .media-frame-title h1{line-height:3;font-size:18px;float:left;cursor:pointer}.media-sidebar{width:230px}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{right:262px}.attachment-details .setting,.media-sidebar .setting{margin:6px 0}.attachment-details .setting input,.attachment-details .setting span,.attachment-details .setting textarea,.compat-item label span,.media-sidebar .setting input,.media-sidebar .setting span,.media-sidebar .setting textarea{float:none}.attachment-details .setting span,.compat-item label span,.media-sidebar .setting span{text-align:inherit;min-height:16px;margin:0;padding:8px 2px 0}.attachment-details .setting .value,.media-sidebar .setting .value{float:none;width:auto}.attachment-details .setting input[type=email],.attachment-details .setting input[type=number],.attachment-details .setting input[type=password],.attachment-details .setting input[type=search],.attachment-details .setting input[type=tel],.attachment-details .setting input[type=text],.attachment-details .setting input[type=url],.attachment-details .setting select,.attachment-details .setting textarea,.media-sidebar .setting input[type=email],.media-sidebar .setting input[type=number],.media-sidebar .setting input[type=password],.media-sidebar .setting input[type=search],.media-sidebar .setting input[type=tel],.media-sidebar .setting input[type=text],.media-sidebar .setting input[type=url],.media-sidebar .setting select,.media-sidebar .setting textarea{float:none;width:98%;max-width:none;height:auto}.attachment-details .setting select.columns,.media-sidebar .setting select.columns{width:auto}.media-frame .search,.media-frame input,.media-frame textarea{padding:3px 6px}.image-details .column-image{width:30%;left:70%}.image-details .column-settings{width:70%}.image-details .media-modal{left:30px;right:30px}.image-details .embed-media-settings .setting{margin:20px}.image-details .embed-media-settings .setting span{float:none;text-align:left;width:100%;margin-bottom:4px}.image-details .embed-media-settings .setting input.link-to-custom,.image-details .embed-media-settings .setting input[type=text],.image-details .embed-media-settings .setting textarea{width:100%;margin-left:0}.image-details .embed-media-settings .custom-size{margin-left:20px}.collection-settings .setting input[type=checkbox]{margin-top:0}.media-selection{min-width:120px}.media-selection:after{background:0 0}.media-selection .attachments{display:none}.media-modal .attachments-browser .media-toolbar .search{max-width:100%;height:auto;float:right}.media-modal .attachments-browser .media-toolbar .attachment-filters{height:auto}.media-modal .attachments-browser .media-toolbar .spinner{margin:14px 2px 0}.media-frame input[type=email],.media-frame input[type=number],.media-frame input[type=password],.media-frame input[type=search],.media-frame input[type=text],.media-frame input[type=url],.media-frame select,.media-frame textarea{font-size:16px}}@media only screen and (max-width:640px),screen and (max-height:400px){.image-details .media-modal,.media-modal{position:fixed;top:0;left:0;right:0;bottom:0}.media-modal-backdrop{position:fixed}.media-sidebar{z-index:1900;max-width:70%;bottom:120%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding-bottom:0}.media-sidebar.visible{bottom:0}.attachments-browser .attachments,.attachments-browser .media-toolbar,.attachments-browser .uploader-inline{right:0}.image-details .media-frame-title{display:block;top:0;font-size:14px}.image-details .column-image,.image-details .column-settings{width:100%;position:relative;left:0}.image-details .column-settings{padding:4px 0}.media-frame-content .media-toolbar .instructions{display:none}}@media screen and (max-height:400px){.media-menu{padding:0}.media-frame-router{top:44px}.media-frame-content{top:78px}.attachments-browser .attachments{top:40px}.embed-link-settings{overflow:visible}}@media only screen and (max-width:480px){.media-modal-close{top:5px;right:5px}.media-modal .media-frame-title{height:40px}.media-frame:not(.hide-menu) .media-frame-title h1,.media-modal .media-frame-title h1{font-size:18px;line-height:40px}.media-frame:not(.hide-menu) .media-frame-title .dashicons{line-height:40px}.media-frame-router,.media-frame:not(.hide-menu) .media-menu{top:40px}.media-frame-content{top:74px}.media-frame.hide-router .media-frame-content{top:40px}}@media print,(-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.media-modal-icon{background-image:url(../images/uploader-icons-2x.png);-webkit-background-size:134px 15px;background-size:134px 15px}.media-frame .spinner{background-image:url(../images/spinner-2x.gif)}}.media-frame-content[data-columns="1"] .attachment{width:100%}.media-frame-content[data-columns="2"] .attachment{width:50%}.media-frame-content[data-columns="3"] .attachment{width:33.33%}.media-frame-content[data-columns="4"] .attachment{width:25%}.media-frame-content[data-columns="5"] .attachment{width:20%}.media-frame-content[data-columns="6"] .attachment{width:16.66%}.media-frame-content[data-columns="7"] .attachment{width:14.28%}.media-frame-content[data-columns="8"] .attachment{width:12.5%}.media-frame-content[data-columns="9"] .attachment{width:11.11%}.media-frame-content[data-columns="10"] .attachment{width:10%}.media-frame-content[data-columns="11"] .attachment{width:9.09%}.media-frame-content[data-columns="12"] .attachment{width:8.33%}
\ No newline at end of file
index 568fa74b92bee99da27e375126500b3d7a288c4a..404cc32cc21c34814c7f637250fdf016c92cc817 100644 (file)
        width: 380px;
        margin: 0 -190px 0 0;
        padding: 30px 0 0;
-       background-color: #eee;
+       background-color: #f1f1f1;
        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 );
 }
 
+@media screen and ( max-width: 380px ) {
+       #wp-auth-check-wrap #wp-auth-check {
+               right: 0;
+               width: 100%;
+               margin: 0;
+       }
+}
+
 #wp-auth-check-wrap.fallback #wp-auth-check {
        max-height: 180px;
        overflow: auto;
 }
 
 #wp-auth-check-wrap #wp-auth-check-form {
-       background: url(../images/wpspin-2x.gif) no-repeat center center;
+       background: url(../images/spinner-2x.gif) no-repeat center center;
        -webkit-background-size: 16px 16px;
        background-size: 16px 16px;
        height: 100%;
+       overflow: auto;
+       -webkit-overflow-scrolling: touch;
 }
 
 #wp-auth-check-wrap #wp-auth-check-form iframe {
-       height: 100%;
+       height: 98%; /* Scrollbar fix */
        width: 100%;
-       overflow: auto;
 }
 
 #wp-auth-check-wrap .wp-auth-check-close {
 }
 
 #wp-auth-check-wrap .wp-auth-check-close:hover:before {
-       color: #0074a2;
+       color: #0073aa;
 }
 
 #wp-auth-check-wrap .wp-auth-check-close:focus {
-       outline: 1px dotted #888;
+       outline: 1px dotted #82878c;
 }
 
 #wp-auth-check-wrap .wp-auth-fallback-expired {
index 9dd449f932cac954792d1f29bcef16fda1137fca..297066c9e3a988c711d4d71b79f37ef216e04767 100644 (file)
@@ -1 +1 @@
-#wp-auth-check-wrap.hidden{display:none}#wp-auth-check-wrap #wp-auth-check-bg{position:fixed;top:0;bottom:0;right:0;left:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000010}#wp-auth-check-wrap #wp-auth-check{position:fixed;right:50%;overflow:hidden;top:40px;bottom:20px;max-height:415px;width:380px;margin:0 -190px 0 0;padding:30px 0 0;background-color:#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) center center/16px 16px no-repeat;-webkit-background-size:16px 16px;height:100%}#wp-auth-check-wrap #wp-auth-check-form iframe{height:100%;width:100%;overflow:auto}#wp-auth-check-wrap .wp-auth-check-close{position:absolute;top:8px;left:8px;height:22px;width:22px;cursor:pointer}#wp-auth-check-wrap .wp-auth-check-close:before{content:'\f158';display:block!important;font:400 20px/1 dashicons;speak:none;height:22px;margin:2px 0;text-align:center;width:22px;color:#777;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale}#wp-auth-check-wrap .wp-auth-check-close:hover:before{color:#0074a2}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:#888 dotted 1px}#wp-auth-check-wrap .wp-auth-fallback-expired{outline:0}#wp-auth-check-wrap .wp-auth-fallback{font-size:14px;line-height:21px;padding:0 25px;display:none}#wp-auth-check-wrap.fallback .wp-auth-check-close,#wp-auth-check-wrap.fallback .wp-auth-fallback{display:block}
\ No newline at end of file
+#wp-auth-check-wrap.hidden{display:none}#wp-auth-check-wrap #wp-auth-check-bg{position:fixed;top:0;bottom:0;right:0;left:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000010}#wp-auth-check-wrap #wp-auth-check{position:fixed;right:50%;overflow:hidden;top:40px;bottom:20px;max-height:415px;width:380px;margin:0 -190px 0 0;padding:30px 0 0;background-color:#f1f1f1;z-index:1000011;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}@media screen and (max-width:380px){#wp-auth-check-wrap #wp-auth-check{right:0;width:100%;margin:0}}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/spinner-2x.gif) center center/16px 16px no-repeat;-webkit-background-size:16px 16px;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}#wp-auth-check-wrap #wp-auth-check-form iframe{height:98%;width:100%}#wp-auth-check-wrap .wp-auth-check-close{position:absolute;top:8px;left:8px;height:22px;width:22px;cursor:pointer}#wp-auth-check-wrap .wp-auth-check-close:before{content:'\f158';display:block!important;font:400 20px/1 dashicons;speak:none;height:22px;margin:2px 0;text-align:center;width:22px;color:#777;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale}#wp-auth-check-wrap .wp-auth-check-close:hover:before{color:#0073aa}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:#82878c dotted 1px}#wp-auth-check-wrap .wp-auth-fallback-expired{outline:0}#wp-auth-check-wrap .wp-auth-fallback{font-size:14px;line-height:21px;padding:0 25px;display:none}#wp-auth-check-wrap.fallback .wp-auth-check-close,#wp-auth-check-wrap.fallback .wp-auth-fallback{display:block}
\ No newline at end of file
index cd42ed9882be91f2cf613a7287079973d0262a61..32bd8dd6a50e94847a5ce49bc1fff97bbd8dbe1f 100644 (file)
        width: 380px;
        margin: 0 0 0 -190px;
        padding: 30px 0 0;
-       background-color: #eee;
+       background-color: #f1f1f1;
        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 );
 }
 
+@media screen and ( max-width: 380px ) {
+       #wp-auth-check-wrap #wp-auth-check {
+               left: 0;
+               width: 100%;
+               margin: 0;
+       }
+}
+
 #wp-auth-check-wrap.fallback #wp-auth-check {
        max-height: 180px;
        overflow: auto;
 }
 
 #wp-auth-check-wrap #wp-auth-check-form {
-       background: url(../images/wpspin-2x.gif) no-repeat center center;
+       background: url(../images/spinner-2x.gif) no-repeat center center;
        -webkit-background-size: 16px 16px;
        background-size: 16px 16px;
        height: 100%;
+       overflow: auto;
+       -webkit-overflow-scrolling: touch;
 }
 
 #wp-auth-check-wrap #wp-auth-check-form iframe {
-       height: 100%;
+       height: 98%; /* Scrollbar fix */
        width: 100%;
-       overflow: auto;
 }
 
 #wp-auth-check-wrap .wp-auth-check-close {
 }
 
 #wp-auth-check-wrap .wp-auth-check-close:hover:before {
-       color: #0074a2;
+       color: #0073aa;
 }
 
 #wp-auth-check-wrap .wp-auth-check-close:focus {
-       outline: 1px dotted #888;
+       outline: 1px dotted #82878c;
 }
 
 #wp-auth-check-wrap .wp-auth-fallback-expired {
index 8193f8b11b759575b9a3668b4ce2da6aa9b682b5..26eef1e532cca7001ebd4146170dacb8b91d1b80 100644 (file)
@@ -1 +1 @@
-#wp-auth-check-wrap.hidden{display:none}#wp-auth-check-wrap #wp-auth-check-bg{position:fixed;top:0;bottom:0;left:0;right:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000010}#wp-auth-check-wrap #wp-auth-check{position:fixed;left:50%;overflow:hidden;top:40px;bottom:20px;max-height:415px;width:380px;margin:0 0 0 -190px;padding:30px 0 0;background-color:#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) center center/16px 16px no-repeat;-webkit-background-size:16px 16px;height:100%}#wp-auth-check-wrap #wp-auth-check-form iframe{height:100%;width:100%;overflow:auto}#wp-auth-check-wrap .wp-auth-check-close{position:absolute;top:8px;right:8px;height:22px;width:22px;cursor:pointer}#wp-auth-check-wrap .wp-auth-check-close:before{content:'\f158';display:block!important;font:400 20px/1 dashicons;speak:none;height:22px;margin:2px 0;text-align:center;width:22px;color:#777;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale}#wp-auth-check-wrap .wp-auth-check-close:hover:before{color:#0074a2}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:#888 dotted 1px}#wp-auth-check-wrap .wp-auth-fallback-expired{outline:0}#wp-auth-check-wrap .wp-auth-fallback{font-size:14px;line-height:21px;padding:0 25px;display:none}#wp-auth-check-wrap.fallback .wp-auth-check-close,#wp-auth-check-wrap.fallback .wp-auth-fallback{display:block}
\ No newline at end of file
+#wp-auth-check-wrap.hidden{display:none}#wp-auth-check-wrap #wp-auth-check-bg{position:fixed;top:0;bottom:0;left:0;right:0;background:#000;opacity:.7;filter:alpha(opacity=70);z-index:1000010}#wp-auth-check-wrap #wp-auth-check{position:fixed;left:50%;overflow:hidden;top:40px;bottom:20px;max-height:415px;width:380px;margin:0 0 0 -190px;padding:30px 0 0;background-color:#f1f1f1;z-index:1000011;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.3);box-shadow:0 3px 6px rgba(0,0,0,.3)}@media screen and (max-width:380px){#wp-auth-check-wrap #wp-auth-check{left:0;width:100%;margin:0}}#wp-auth-check-wrap.fallback #wp-auth-check{max-height:180px;overflow:auto}#wp-auth-check-wrap #wp-auth-check-form{background:url(../images/spinner-2x.gif) center center/16px 16px no-repeat;-webkit-background-size:16px 16px;height:100%;overflow:auto;-webkit-overflow-scrolling:touch}#wp-auth-check-wrap #wp-auth-check-form iframe{height:98%;width:100%}#wp-auth-check-wrap .wp-auth-check-close{position:absolute;top:8px;right:8px;height:22px;width:22px;cursor:pointer}#wp-auth-check-wrap .wp-auth-check-close:before{content:'\f158';display:block!important;font:400 20px/1 dashicons;speak:none;height:22px;margin:2px 0;text-align:center;width:22px;color:#777;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale}#wp-auth-check-wrap .wp-auth-check-close:hover:before{color:#0073aa}#wp-auth-check-wrap .wp-auth-check-close:focus{outline:#82878c dotted 1px}#wp-auth-check-wrap .wp-auth-fallback-expired{outline:0}#wp-auth-check-wrap .wp-auth-fallback{font-size:14px;line-height:21px;padding:0 25px;display:none}#wp-auth-check-wrap.fallback .wp-auth-check-close,#wp-auth-check-wrap.fallback .wp-auth-fallback{display:block}
\ No newline at end of file
index 75088cb1d101f872b1ebf585809bb01128a58ec4..52192c2e24b3ab0b29b536a2e823f6df0dbe49c8 100644 (file)
        line-height: 1.4em;
        font-size: 14px;
        color: #fff;
-       background: #2ea2cc;
+       background: #00a0d2;
 }
 
 .wp-pointer-content h3:before {
        background: #fff;
        -webkit-border-radius: 50%;
        border-radius: 50%;
-       color: #2ea2cc;
+       color: #00a0d2;
        content: '\f227';
        font: normal 20px/1.6 'dashicons';
        position: absolute;
 
 .wp-pointer-buttons a.close:before {
        background: none;
-       color: #bbb;
+       color: #b4b9be;
        content: '\f153';
        display: block !important;
-       font: normal 13px/1 'dashicons';
+       font: normal 16px/1 'dashicons';
        speak: none;
        margin: 1px 0;
        text-align: center;
@@ -72,7 +72,7 @@
        width: 10px;
        height: 100%;
        position: absolute;
-       right: -12px;
+       right: -15px;
        top: 1px;
 }
 
        padding-bottom: 13px;
 }
 
-/* @noflip */
+/* rtl:ignore */
 .wp-pointer-left {
        padding-left: 13px;
 }
-/* @noflip */
+/* rtl:ignore */
 .wp-pointer-right {
        margin-left: -13px;
        padding-right: 13px;
        margin-right: -13px;
        margin-top: -13px;
        border: 13px solid transparent;
-       border-bottom-color: #2ea2cc;
+       border-bottom-color: #00a0d2;
        display: block;
        content: ' ';
 }
        content: ' ';
 }
 
-/* @noflip */
+/* rtl:ignore */
 .wp-pointer-left .wp-pointer-arrow {
        left: 0;
        border-width: 13px 13px 13px 0;
        border-right-color: #ccc;
 }
 
-/* @noflip */
+/* rtl:ignore */
 .wp-pointer-left .wp-pointer-arrow-inner {
        left: 1px;
        margin-left: -13px;
        content: ' ';
 }
 
-/* @noflip */
+/* rtl:ignore */
 .wp-pointer-right .wp-pointer-arrow {
        right: 0;
        border-width: 13px 0 13px 13px;
        border-left-color: #ccc;
 }
 
-/* @noflip */
+/* rtl:ignore */
 .wp-pointer-right .wp-pointer-arrow-inner {
        right: 1px;
        margin-right: -13px;
index fe9343d9ef17335a002164e07d95ef4cbe60f8af..6f52d54dfa71f88c2c6af07aa0ea55b36eee58fe 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:none;line-height:1.4em;font-size:14px;color:#fff;background:#2ea2cc}.wp-pointer-content h3:before{background:#fff;-webkit-border-radius:50%;border-radius:50%;color:#2ea2cc;content:'\f227';font:400 20px/1.6 dashicons;position:absolute;top:8px;right:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:left;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-right:3px;position:relative}.wp-pointer-buttons a.close:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 13px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;right:-12px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{margin-top:-13px;padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{margin-left:-13px;padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{right:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer-undefined .wp-pointer-arrow-inner{top:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-bottom-color:#2ea2cc;display:block;content:' '}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow-inner{bottom:1px;margin-right:-13px;margin-bottom:-13px;border:13px solid transparent;border-top-color:#fff;display:block;content:' '}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow-inner{left:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:' '}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow-inner{right:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:' '}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
+.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #dfdfdf;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 60px 14px 18px;border:1px solid #3592b6;border-bottom:none;line-height:1.4em;font-size:14px;color:#fff;background:#00a0d2}.wp-pointer-content h3:before{background:#fff;-webkit-border-radius:50%;border-radius:50%;color:#00a0d2;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:#b4b9be;content:'\f153';display:block!important;font:400 16px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;right:-15px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{margin-top:-13px;padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{margin-left:-13px;padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{right:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer-undefined .wp-pointer-arrow-inner{top:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-bottom-color:#00a0d2;display:block;content:' '}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow-inner{bottom:1px;margin-right:-13px;margin-bottom:-13px;border:13px solid transparent;border-top-color:#fff;display:block;content:' '}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow-inner{left:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:' '}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow-inner{right:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:' '}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
index 1d69823f11cbf4ce6c5ec00bbca717871934bd0a..f7e461628d86a1c6138faa84c32ca406c7cd393f 100644 (file)
        line-height: 1.4em;
        font-size: 14px;
        color: #fff;
-       background: #2ea2cc;
+       background: #00a0d2;
 }
 
 .wp-pointer-content h3:before {
        background: #fff;
        -webkit-border-radius: 50%;
        border-radius: 50%;
-       color: #2ea2cc;
+       color: #00a0d2;
        content: '\f227';
        font: normal 20px/1.6 'dashicons';
        position: absolute;
 
 .wp-pointer-buttons a.close:before {
        background: none;
-       color: #bbb;
+       color: #b4b9be;
        content: '\f153';
        display: block !important;
-       font: normal 13px/1 'dashicons';
+       font: normal 16px/1 'dashicons';
        speak: none;
        margin: 1px 0;
        text-align: center;
@@ -72,7 +72,7 @@
        width: 10px;
        height: 100%;
        position: absolute;
-       left: -12px;
+       left: -15px;
        top: 1px;
 }
 
        padding-bottom: 13px;
 }
 
-/* @noflip */
+/* rtl:ignore */
 .wp-pointer-left {
        padding-left: 13px;
 }
-/* @noflip */
+/* rtl:ignore */
 .wp-pointer-right {
        margin-left: -13px;
        padding-right: 13px;
        margin-left: -13px;
        margin-top: -13px;
        border: 13px solid transparent;
-       border-bottom-color: #2ea2cc;
+       border-bottom-color: #00a0d2;
        display: block;
        content: ' ';
 }
        content: ' ';
 }
 
-/* @noflip */
+/* rtl:ignore */
 .wp-pointer-left .wp-pointer-arrow {
        left: 0;
        border-width: 13px 13px 13px 0;
        border-right-color: #ccc;
 }
 
-/* @noflip */
+/* rtl:ignore */
 .wp-pointer-left .wp-pointer-arrow-inner {
        left: 1px;
        margin-left: -13px;
        content: ' ';
 }
 
-/* @noflip */
+/* rtl:ignore */
 .wp-pointer-right .wp-pointer-arrow {
        right: 0;
        border-width: 13px 0 13px 13px;
        border-left-color: #ccc;
 }
 
-/* @noflip */
+/* rtl:ignore */
 .wp-pointer-right .wp-pointer-arrow-inner {
        right: 1px;
        margin-right: -13px;
index 01f27d632761c5b0757e91113526d75a7d0976a9..d337dbb8f414ab2f72ebe8a4c1d1f8e48d06815d 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:none;line-height:1.4em;font-size:14px;color:#fff;background:#2ea2cc}.wp-pointer-content h3:before{background:#fff;-webkit-border-radius:50%;border-radius:50%;color:#2ea2cc;content:'\f227';font:400 20px/1.6 dashicons;position:absolute;top:8px;left:15px;speak:none;text-align:center;width:32px;height:32px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.wp-pointer-content p{padding:0 15px}.wp-pointer-buttons{margin:0;padding:5px 15px;overflow:auto}.wp-pointer-buttons a{float:right;display:inline-block;text-decoration:none}.wp-pointer-buttons a.close{padding-left:3px;position:relative}.wp-pointer-buttons a.close:before{background:0 0;color:#bbb;content:'\f153';display:block!important;font:400 13px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;left:-12px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{margin-top:-13px;padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{margin-left:-13px;padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{left:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer-undefined .wp-pointer-arrow-inner{top:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-bottom-color:#2ea2cc;display:block;content:' '}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow-inner{bottom:1px;margin-left:-13px;margin-bottom:-13px;border:13px solid transparent;border-top-color:#fff;display:block;content:' '}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow-inner{left:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:' '}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow-inner{right:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:' '}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
+.wp-pointer-content{padding:0 0 10px;position:relative;font-size:13px;background:#fff;border:1px solid #dfdfdf;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075)}.wp-pointer-content h3{position:relative;margin:-1px -1px 5px;padding:15px 18px 14px 60px;border:1px solid #3592b6;border-bottom:none;line-height:1.4em;font-size:14px;color:#fff;background:#00a0d2}.wp-pointer-content h3:before{background:#fff;-webkit-border-radius:50%;border-radius:50%;color:#00a0d2;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:#b4b9be;content:'\f153';display:block!important;font:400 16px/1 dashicons;speak:none;margin:1px 0;text-align:center;-webkit-font-smoothing:antialiased!important;width:10px;height:100%;position:absolute;left:-15px;top:1px}.wp-pointer-buttons a.close:hover:before{color:#c00}.wp-pointer-arrow,.wp-pointer-arrow-inner{position:absolute;width:0;height:0}.wp-pointer-arrow{z-index:10;width:0;height:0;border:0 solid transparent}.wp-pointer-arrow-inner{z-index:20}.wp-pointer-top,.wp-pointer-undefined{padding-top:13px}.wp-pointer-bottom{margin-top:-13px;padding-bottom:13px}.wp-pointer-left{padding-left:13px}.wp-pointer-right{margin-left:-13px;padding-right:13px}.wp-pointer-bottom .wp-pointer-arrow,.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{left:50px}.wp-pointer-left .wp-pointer-arrow,.wp-pointer-right .wp-pointer-arrow{top:50%;margin-top:-15px}.wp-pointer-top .wp-pointer-arrow,.wp-pointer-undefined .wp-pointer-arrow{top:0;border-width:0 13px 13px;border-bottom-color:#3592b6}.wp-pointer-top .wp-pointer-arrow-inner,.wp-pointer-undefined .wp-pointer-arrow-inner{top:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-bottom-color:#00a0d2;display:block;content:' '}.wp-pointer-bottom .wp-pointer-arrow{bottom:0;border-width:13px 13px 0;border-top-color:#ccc}.wp-pointer-bottom .wp-pointer-arrow-inner{bottom:1px;margin-left:-13px;margin-bottom:-13px;border:13px solid transparent;border-top-color:#fff;display:block;content:' '}.wp-pointer-left .wp-pointer-arrow{left:0;border-width:13px 13px 13px 0;border-right-color:#ccc}.wp-pointer-left .wp-pointer-arrow-inner{left:1px;margin-left:-13px;margin-top:-13px;border:13px solid transparent;border-right-color:#fff;display:block;content:' '}.wp-pointer-right .wp-pointer-arrow{right:0;border-width:13px 0 13px 13px;border-left-color:#ccc}.wp-pointer-right .wp-pointer-arrow-inner{right:1px;margin-right:-13px;margin-top:-13px;border:13px solid transparent;border-left-color:#fff;display:block;content:' '}@media screen and (max-width:782px){.wp-pointer{display:none}}
\ No newline at end of file
index 9869611e2702a53504bea6f362f9009079b050c3..2e903a2518e4bdfeba83b016a628af8ead57a778 100644 (file)
@@ -10,7 +10,7 @@
  * return no results. In these cases, a _doing_it_wrong() error notice is also thrown.
  * See {@link WP_Date_Query::validate_date_values()}.
  *
- * @link http://codex.wordpress.org/Function_Reference/WP_Query Codex page.
+ * @link https://codex.wordpress.org/Function_Reference/WP_Query Codex page.
  *
  * @since 3.7.0
  */
@@ -65,6 +65,11 @@ class WP_Date_Query {
        /**
         * Constructor.
         *
+        * Time-related parameters that normally require integer values ('year', 'month', 'week', 'dayofyear', 'day',
+        * 'dayofweek', 'dayofweek_iso', 'hour', 'minute', 'second') accept arrays of integers for some values of
+        * 'compare'. When 'compare' is 'IN' or 'NOT IN', arrays are accepted; when 'compare' is 'BETWEEN' or 'NOT
+        * BETWEEN', arrays of two valid values are required. See individual argument descriptions for accepted values.
+        *
         * @since 3.7.0
         * @since 4.0.0 The $inclusive logic was updated to include all times within the date range.
         * @since 4.1.0 Introduced 'dayofweek_iso' time type parameter.
@@ -75,19 +80,19 @@ class WP_Date_Query {
         *
         *     @type array {
         *         @type string $column   Optional. The column to query against. If undefined, inherits the value of
-        *                                the $default_column parameter. Default 'post_date'. Accepts 'post_date',
-        *                                'post_date_gmt', 'post_modified','post_modified_gmt', 'comment_date',
-        *                                'comment_date_gmt'.
-        *         @type string $compare  Optional. The comparison operator.
-        *                                Accepts '=', '!=', '>', '>=', '<', '<=', 'IN', 'NOT IN'. Default '='.
-        *                                'BETWEEN', 'NOT BETWEEN'.
-        *         @type string $relation Optional. The boolean relationship between the date queries.
-        *                                Accepts 'OR', 'AND'. Default 'OR'.
+        *                                the `$default_column` parameter. Accepts 'post_date', 'post_date_gmt',
+        *                                'post_modified','post_modified_gmt', 'comment_date', 'comment_date_gmt'.
+        *                                Default 'post_date'.
+        *         @type string $compare  Optional. The comparison operator. Accepts '=', '!=', '>', '>=', '<', '<=',
+        *                                'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'. Default '='.
+        *         @type string $relation Optional. The boolean relationship between the date queries. Accepts 'OR' or 'AND'.
+        *                                Default 'OR'.
         *         @type array {
         *             Optional. An array of first-order clause parameters, or another fully-formed date query.
         *
-        *             @type string|array $before Optional. Date to retrieve posts before. Accepts strtotime()-compatible
-        *                                        string, or array of 'year', 'month', 'day' values. {
+        *             @type string|array $before {
+        *                 Optional. Date to retrieve posts before. 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.
         *                 @type string $month Optional when passing array.The month of the year.
@@ -95,43 +100,49 @@ 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 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.
-        *                 @type string $month Optional when passing array.The month of the year.
-        *                                     Default (string:empty)|(array:12). Accepts numbers 1-12.
-        *                 @type string $day   Optional when passing array.The day of the month.
-        *                                     Default (string:empty)|(array:last day of month). Accepts numbers 1-31.
+        *             @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. Accepts any four-digit year. Default empty.
+        *                 @type string $month Optional when passing array. The month of the year. Accepts numbers 1-12.
+        *                                     Default (string:empty)|(array:12).
+        *                 @type string $day   Optional when passing array.The day of the month. Accepts numbers 1-31.
+        *                                     Default (string:empty)|(array:last day of month).
         *             }
-        *             @type string       $column    Optional. Used to add a clause comparing a column other than the column
-        *                                           specified in the top-level $column parameter.  Default is the value
-        *                                           of top-level $column. Accepts 'post_date', 'post_date_gmt',
-        *                                           'post_modified', 'post_modified_gmt', 'comment_date', 'comment_date_gmt'.
-        *             @type string       $compare       Optional. The comparison operator. Default '='.
-        *                                               Accepts '=', '!=', '>', '>=', '<', '<=', 'IN', 'NOT IN',
-        *                                               'BETWEEN', 'NOT BETWEEN'.
+        *             @type string       $column        Optional. Used to add a clause comparing a column other than the
+        *                                               column specified in the top-level `$column` parameter. Accepts
+        *                                               'post_date', 'post_date_gmt', 'post_modified', 'post_modified_gmt',
+        *                                               'comment_date', 'comment_date_gmt'. Default is the value of
+        *                                               top-level `$column`.
+        *             @type string       $compare       Optional. The comparison operator. Accepts '=', '!=', '>', '>=',
+        *                                               '<', '<=', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'. 'IN',
+        *                                               'NOT IN', 'BETWEEN', and 'NOT BETWEEN'. Comparisons support
+        *                                               arrays in some time-related parameters. Default '='.
         *             @type bool         $inclusive     Optional. Include results from dates specified in 'before' or
         *                                               'after'. Default false.
-        *             @type int          $year          Optional. The four-digit year number. Default empty. Accepts
-        *                                               any four-digit year.
-        *             @type int          $month         Optional. The two-digit month number. Default empty.
-        *                                               Accepts numbers 1-12.
-        *             @type int          $week          Optional. The week number of the year. Default empty.
-        *                                               Accepts numbers 0-53.
-        *             @type int          $dayofyear     Optional. The day number of the year. Default empty.
-        *                                               Accepts numbers 1-366.
-        *             @type int          $day           Optional. The day of the month. Default empty.
-        *                                               Accepts numbers 1-31.
-        *             @type int          $dayofweek     Optional. The day number of the week. Default empty.
-        *                                               Accepts numbers 1-7 (1 is Sunday).
-        *             @type int          $dayofweek_iso Optional. The day number of the week (ISO). Accepts numbers 1-7
-        *                                               (1 is Monday). Default empty.
-        *             @type int          $hour          Optional. The hour of the day. Default empty. Accepts numbers 0-23.
-        *             @type int          $minute        Optional. The minute of the hour. Default empty. Accepts
-        *                                               numbers 0-60.
-        *             @type int          $second        Optional. The second of the minute. Default empty.
-        *                                               Accepts numbers 0-60.
+        *             @type int|array    $year          Optional. The four-digit year number. Accepts any four-digit year
+        *                                               or an array of years if `$compare` supports it. Default empty.
+        *             @type int|array    $month         Optional. The two-digit month number. Accepts numbers 1-12 or an
+        *                                               array of valid numbers if `$compare` supports it. Default empty.
+        *             @type int|array    $week          Optional. The week number of the year. Accepts numbers 0-53 or an
+        *                                               array of valid numbers if `$compare` supports it. Default empty.
+        *             @type int|array    $dayofyear     Optional. The day number of the year. Accepts numbers 1-366 or an
+        *                                               array of valid numbers if `$compare` supports it.
+        *             @type int|array    $day           Optional. The day of the month. Accepts numbers 1-31 or an array
+        *                                               of valid numbers if `$compare` supports it. Default empty.
+        *             @type int|array    $dayofweek     Optional. The day number of the week. Accepts numbers 1-7 (1 is
+        *                                               Sunday) or an array of valid numbers if `$compare` supports it.
+        *                                               Default empty.
+        *             @type int|array    $dayofweek_iso Optional. The day number of the week (ISO). Accepts numbers 1-7
+        *                                               (1 is Monday) or an array of valid numbers if `$compare` supports it.
+        *                                               Default empty.
+        *             @type int|array    $hour          Optional. The hour of the day. Accepts numbers 0-23 or an array
+        *                                               of valid numbers if `$compare` supports it. Default empty.
+        *             @type int|array    $minute        Optional. The minute of the hour. Accepts numbers 0-60 or an array
+        *                                               of valid numbers if `$compare` supports it. Default empty.
+        *             @type int|array    $second        Optional. The second of the minute. Accepts numbers 0-60 or an
+        *                                               array of valid numbers if `$compare` supports it. Default empty.
         *         }
         *     }
         * }
@@ -171,8 +182,6 @@ class WP_Date_Query {
                $this->compare = $this->get_compare( $date_query );
 
                $this->queries = $this->sanitize_query( $date_query );
-
-               return;
        }
 
        /**
@@ -392,7 +401,6 @@ class WP_Date_Query {
                        }
 
                        // Throw a notice for each failing value.
-                       $is_between = true;
                        foreach ( (array) $date_query[ $key ] as $_value ) {
                                $is_between = $_value >= $check['min'] && $_value <= $check['max'];
 
@@ -438,7 +446,7 @@ class WP_Date_Query {
                                $valid = false;
                        }
 
-               } else if ( $day_exists && $month_exists ) {
+               } elseif ( $day_exists && $month_exists ) {
                        /*
                         * 2. checking day, month combination
                         * We use 2012 because, as a leap year, it's the most permissive.
@@ -620,7 +628,7 @@ class WP_Date_Query {
                foreach ( $query as $key => $clause ) {
                        if ( 'relation' === $key ) {
                                $relation = $query['relation'];
-                       } else if ( is_array( $clause ) ) {
+                       } elseif ( is_array( $clause ) ) {
 
                                // This is a first-order clause.
                                if ( $this->is_first_order_clause( $clause ) ) {
@@ -629,7 +637,7 @@ class WP_Date_Query {
                                        $where_count = count( $clause_sql['where'] );
                                        if ( ! $where_count ) {
                                                $sql_chunks['where'][] = '';
-                                       } else if ( 1 === $where_count ) {
+                                       } elseif ( 1 === $where_count ) {
                                                $sql_chunks['where'][] = $clause_sql['where'][0];
                                        } else {
                                                $sql_chunks['where'][] = '( ' . implode( ' AND ', $clause_sql['where'] ) . ' )';
@@ -738,16 +746,16 @@ class WP_Date_Query {
                if ( isset( $query['year'] ) && $value = $this->build_value( $compare, $query['year'] ) )
                        $where_parts[] = "YEAR( $column ) $compare $value";
 
-               if ( isset( $query['month'] ) && $value = $this->build_value( $compare, $query['month'] ) )
+               if ( isset( $query['month'] ) && $value = $this->build_value( $compare, $query['month'] ) ) {
                        $where_parts[] = "MONTH( $column ) $compare $value";
-               else if ( isset( $query['monthnum'] ) && $value = $this->build_value( $compare, $query['monthnum'] ) )
+               } elseif ( isset( $query['monthnum'] ) && $value = $this->build_value( $compare, $query['monthnum'] ) ) {
                        $where_parts[] = "MONTH( $column ) $compare $value";
-
-               if ( isset( $query['week'] ) && false !== ( $value = $this->build_value( $compare, $query['week'] ) ) )
+               }
+               if ( isset( $query['week'] ) && false !== ( $value = $this->build_value( $compare, $query['week'] ) ) ) {
                        $where_parts[] = _wp_mysql_week( $column ) . " $compare $value";
-               else if ( isset( $query['w'] ) && false !== ( $value = $this->build_value( $compare, $query['w'] ) ) )
+               } elseif ( isset( $query['w'] ) && false !== ( $value = $this->build_value( $compare, $query['w'] ) ) ) {
                        $where_parts[] = _wp_mysql_week( $column ) . " $compare $value";
-
+               }
                if ( isset( $query['dayofyear'] ) && $value = $this->build_value( $compare, $query['dayofyear'] ) )
                        $where_parts[] = "DAYOFYEAR( $column ) $compare $value";
 
@@ -871,14 +879,14 @@ class WP_Date_Query {
                                        'year' => intval( $matches[1] ),
                                );
 
-                       } else if ( preg_match( '/^(\d{4})\-(\d{2})$/', $datetime, $matches ) ) {
+                       } elseif ( preg_match( '/^(\d{4})\-(\d{2})$/', $datetime, $matches ) ) {
                                // Y-m
                                $datetime = array(
                                        'year'  => intval( $matches[1] ),
                                        'month' => intval( $matches[2] ),
                                );
 
-                       } else if ( preg_match( '/^(\d{4})\-(\d{2})\-(\d{2})$/', $datetime, $matches ) ) {
+                       } elseif ( preg_match( '/^(\d{4})\-(\d{2})\-(\d{2})$/', $datetime, $matches ) ) {
                                // Y-m-d
                                $datetime = array(
                                        'year'  => intval( $matches[1] ),
@@ -886,7 +894,7 @@ class WP_Date_Query {
                                        'day'   => intval( $matches[3] ),
                                );
 
-                       } else if ( preg_match( '/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2})$/', $datetime, $matches ) ) {
+                       } elseif ( preg_match( '/^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2})$/', $datetime, $matches ) ) {
                                // Y-m-d H:i
                                $datetime = array(
                                        'year'   => intval( $matches[1] ),
index ae97efdd776bb8ae011edd346ef115bb0710bbaf..734509a44ebb40e97b4ef57eb083f42714e3f1db 100644 (file)
@@ -154,7 +154,7 @@ function wp_plugin_directory_constants() {
 /**
  * Defines cookie related WordPress constants
  *
- * Defines constants after multisite is loaded. Cookie-related constants may be overridden in ms_network_cookies().
+ * Defines constants after multisite is loaded.
  * @since 3.0.0
  */
 function wp_cookie_constants() {
index dc0c8f80d07d555f6dbabc01b493c80ae62d3dcf..b64869ec9198953cd855f4a711898943601586e1 100644 (file)
@@ -156,17 +156,23 @@ add_filter( 'list_cats',         'wptexturize' );
 add_filter( 'wp_sprintf', 'wp_sprintf_l', 10, 2 );
 
 // RSS filters
-add_filter( 'the_title_rss',      'strip_tags'      );
-add_filter( 'the_title_rss',      'ent2ncr',      8 );
-add_filter( 'the_title_rss',      'esc_html'        );
-add_filter( 'the_content_rss',    'ent2ncr',      8 );
-add_filter( 'the_excerpt_rss',    'convert_chars'   );
-add_filter( 'the_excerpt_rss',    'ent2ncr',      8 );
-add_filter( 'comment_author_rss', 'ent2ncr',      8 );
-add_filter( 'comment_text_rss',   'ent2ncr',      8 );
-add_filter( 'comment_text_rss',   'esc_html'        );
-add_filter( 'bloginfo_rss',       'ent2ncr',      8 );
-add_filter( 'the_author',         'ent2ncr',      8 );
+add_filter( 'the_title_rss',      'strip_tags'                    );
+add_filter( 'the_title_rss',      'ent2ncr',                    8 );
+add_filter( 'the_title_rss',      'esc_html'                      );
+add_filter( 'the_content_rss',    'ent2ncr',                    8 );
+add_filter( 'the_content_feed',   'wp_staticize_emoji'            );
+add_filter( 'the_excerpt_rss',    'convert_chars'                 );
+add_filter( 'the_excerpt_rss',    'ent2ncr',                    8 );
+add_filter( 'comment_author_rss', 'ent2ncr',                    8 );
+add_filter( 'comment_text_rss',   'ent2ncr',                    8 );
+add_filter( 'comment_text_rss',   'esc_html'                      );
+add_filter( 'comment_text_rss',   'wp_staticize_emoji'            );
+add_filter( 'bloginfo_rss',       'ent2ncr',                    8 );
+add_filter( 'the_author',         'ent2ncr',                    8 );
+add_filter( 'the_guid',           'esc_url'                       );
+
+// Email filters
+add_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
 
 // Misc filters
 add_filter( 'option_ping_sites',        'privacy_ping_filter'                 );
@@ -175,6 +181,7 @@ add_filter( 'option_blog_charset',      '_canonical_charset'                  );
 add_filter( 'option_home',              '_config_wp_home'                     );
 add_filter( 'option_siteurl',           '_config_wp_siteurl'                  );
 add_filter( 'tiny_mce_before_init',     '_mce_set_direction'                  );
+add_filter( 'teeny_mce_before_init',    '_mce_set_direction'                  );
 add_filter( 'pre_kses',                 'wp_pre_kses_less_than'               );
 add_filter( 'sanitize_title',           'sanitize_title_with_dashes',   10, 3 );
 add_action( 'check_comment_flood',      'check_comment_flood_db',       10, 3 );
@@ -206,6 +213,7 @@ add_action( 'wp_head',             'adjacent_posts_rel_link_wp_head', 10, 0 );
 add_action( 'wp_head',             'locale_stylesheet'                      );
 add_action( 'publish_future_post', 'check_and_publish_future_post',   10, 1 );
 add_action( 'wp_head',             'noindex',                          1    );
+add_action( 'wp_head',             'print_emoji_detection_script',     7    );
 add_action( 'wp_head',             'wp_print_styles',                  8    );
 add_action( 'wp_head',             'wp_print_head_scripts',            9    );
 add_action( 'wp_head',             'wp_generator'                           );
@@ -216,6 +224,7 @@ add_action( 'template_redirect',   'wp_shortlink_header',             11, 0 );
 add_action( 'wp_print_footer_scripts', '_wp_footer_scripts'                 );
 add_action( 'init',                'check_theme_switched',            99    );
 add_action( 'after_switch_theme',  '_wp_sidebars_changed'                   );
+add_action( 'wp_print_styles',     'print_emoji_styles'                     );
 
 if ( isset( $_GET['replytocom'] ) )
     add_action( 'wp_head', 'wp_no_robots' );
@@ -243,8 +252,10 @@ add_action( 'do_pings',                   'do_all_pings',
 add_action( 'do_robots',                  'do_robots'                                      );
 add_action( 'set_comment_cookies',        'wp_set_comment_cookies',                  10, 2 );
 add_action( 'sanitize_comment_cookies',   'sanitize_comment_cookies'                       );
+add_action( 'admin_print_scripts',        'print_emoji_detection_script'                   );
 add_action( 'admin_print_scripts',        'print_head_scripts',                      20    );
 add_action( 'admin_print_footer_scripts', '_wp_footer_scripts'                             );
+add_action( 'admin_print_styles',         'print_emoji_styles'                             );
 add_action( 'admin_print_styles',         'print_admin_styles',                      20    );
 add_action( 'init',                       'smilies_init',                             5    );
 add_action( 'plugins_loaded',             'wp_maybe_load_widgets',                    0    );
@@ -306,4 +317,76 @@ 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);
+// Split term updates.
+add_action( 'split_shared_term', '_wp_check_split_default_terms',  10, 4 );
+add_action( 'split_shared_term', '_wp_check_split_terms_in_menus', 10, 4 );
+
+/**
+ * Filters formerly mixed into wp-includes
+ */
+// Theme
+add_action( 'setup_theme', 'preview_theme' );
+add_action( 'wp_loaded', '_custom_header_background_just_in_time' );
+add_action( 'plugins_loaded', '_wp_customize_include' );
+add_action( 'admin_enqueue_scripts', '_wp_customize_loader_settings' );
+add_action( 'delete_attachment', '_delete_attachment_theme_mod' );
+
+// Calendar widget cache
+add_action( 'save_post', 'delete_get_calendar_cache' );
+add_action( 'delete_post', 'delete_get_calendar_cache' );
+add_action( 'update_option_start_of_week', 'delete_get_calendar_cache' );
+add_action( 'update_option_gmt_offset', 'delete_get_calendar_cache' );
+
+// Author
+add_action( 'transition_post_status', '__clear_multi_author_cache' );
+
+// Post
+add_action( 'init', 'create_initial_post_types', 0 ); // highest priority
+add_action( 'admin_menu', '_add_post_type_submenus' );
+add_action( 'before_delete_post', '_reset_front_page_settings_for_post' );
+add_action( 'wp_trash_post',      '_reset_front_page_settings_for_post' );
+
+// Post Formats
+add_filter( 'request', '_post_format_request' );
+add_filter( 'term_link', '_post_format_link', 10, 3 );
+add_filter( 'get_post_format', '_post_format_get_term' );
+add_filter( 'get_terms', '_post_format_get_terms', 10, 3 );
+add_filter( 'wp_get_object_terms', '_post_format_wp_get_object_terms' );
+
+// KSES
+add_action( 'init', 'kses_init' );
+add_action( 'set_current_user', 'kses_init' );
+
+// Script Loader
+add_action( 'wp_default_scripts', 'wp_default_scripts' );
+add_filter( 'wp_print_scripts', 'wp_just_in_time_script_localization' );
+add_filter( 'print_scripts_array', 'wp_prototype_before_jquery' );
+
+add_action( 'wp_default_styles', 'wp_default_styles' );
+add_filter( 'style_loader_src', 'wp_style_loader_src', 10, 2 );
+
+// Taxonomy
+add_action( 'init', 'create_initial_taxonomies', 0 ); // highest priority
+
+// Canonical
+add_action( 'template_redirect', 'redirect_canonical' );
+add_action( 'template_redirect', 'wp_redirect_admin_locations', 1000 );
+
+// Shortcodes
+add_filter( 'the_content', 'do_shortcode', 11 ); // AFTER wpautop()
+
+// Media
+add_action( 'wp_playlist_scripts', 'wp_playlist_scripts' );
+add_action( 'customize_controls_enqueue_scripts', 'wp_plupload_default_settings' );
+
+// Nav menu
+add_filter( 'nav_menu_item_id', '_nav_menu_item_id_use_once', 10, 2 );
+
+// Admin Bar
+// Don't remove. Wrong way to disable.
+add_action( 'template_redirect', '_wp_admin_bar_init', 0 );
+add_action( 'admin_init', '_wp_admin_bar_init' );
+add_action( 'wp_footer', 'wp_admin_bar_render', 1000 );
+add_action( 'in_admin_header', 'wp_admin_bar_render', 0 );
+
+unset( $filter, $action );
index 1bdadd8ee21d3f194d48896a2884d3b36f254f8b..748fc9aee3c1fda5baeba7c25cbb709b252dc3ec 100644 (file)
@@ -285,10 +285,10 @@ class WP_Widget_Archives extends WP_Widget {
                }
 
                if ( $d ) {
+                       $dropdown_id = "{$this->id_base}-dropdown-{$this->number}";
 ?>
-               <select name="archive-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'>
-                       <option value=""><?php esc_attr_e( 'Select Month' ); ?></option>
-
+               <label class="screen-reader-text" for="<?php echo esc_attr( $dropdown_id ); ?>"><?php echo $title; ?></label>
+               <select id="<?php echo esc_attr( $dropdown_id ); ?>" name="archive-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'>
                        <?php
                        /**
                         * Filter the arguments for the Archives widget drop-down.
@@ -299,12 +299,34 @@ class WP_Widget_Archives extends WP_Widget {
                         *
                         * @param array $args An array of Archives widget drop-down arguments.
                         */
-                       wp_get_archives( apply_filters( 'widget_archives_dropdown_args', array(
+                       $dropdown_args = apply_filters( 'widget_archives_dropdown_args', array(
                                'type'            => 'monthly',
                                'format'          => 'option',
                                'show_post_count' => $c
-                       ) ) );
-?>
+                       ) );
+
+                       switch ( $dropdown_args['type'] ) {
+                               case 'yearly':
+                                       $label = __( 'Select Year' );
+                                       break;
+                               case 'monthly':
+                                       $label = __( 'Select Month' );
+                                       break;
+                               case 'daily':
+                                       $label = __( 'Select Day' );
+                                       break;
+                               case 'weekly':
+                                       $label = __( 'Select Week' );
+                                       break;
+                               default:
+                                       $label = __( 'Select Post' );
+                                       break;
+                       }
+                       ?>
+
+                       <option value=""><?php echo esc_attr( $label ); ?></option>
+                       <?php wp_get_archives( $dropdown_args ); ?>
+
                </select>
 <?php
                } else {
@@ -511,7 +533,7 @@ class WP_Widget_Text extends WP_Widget {
                        $instance['text'] =  $new_instance['text'];
                else
                        $instance['text'] = stripslashes( wp_filter_post_kses( addslashes($new_instance['text']) ) ); // wp_filter_post_kses() expects slashed
-               $instance['filter'] = isset($new_instance['filter']);
+               $instance['filter'] = ! empty( $new_instance['filter'] );
                return $instance;
        }
 
@@ -556,10 +578,22 @@ class WP_Widget_Categories extends WP_Widget {
                        echo $args['before_title'] . $title . $args['after_title'];
                }
 
-               $cat_args = array('orderby' => 'name', 'show_count' => $c, 'hierarchical' => $h);
+               $cat_args = array(
+                       'orderby'      => 'name',
+                       'show_count'   => $c,
+                       'hierarchical' => $h
+               );
 
                if ( $d ) {
-                       $cat_args['show_option_none'] = __('Select Category');
+                       static $first_dropdown = true;
+
+                       $dropdown_id = ( $first_dropdown ) ? 'cat' : "{$this->id_base}-dropdown-{$this->number}";
+                       $first_dropdown = false;
+
+                       echo '<label class="screen-reader-text" for="' . esc_attr( $dropdown_id ) . '">' . $title . '</label>';
+
+                       $cat_args['show_option_none'] = __( 'Select Category' );
+                       $cat_args['id'] = $dropdown_id;
 
                        /**
                         * Filter the arguments for the Categories widget drop-down.
@@ -575,13 +609,15 @@ class WP_Widget_Categories extends WP_Widget {
 
 <script type='text/javascript'>
 /* <![CDATA[ */
-       var dropdown = document.getElementById("cat");
+(function() {
+       var dropdown = document.getElementById( "<?php echo esc_js( $dropdown_id ); ?>" );
        function onCatChange() {
-               if ( dropdown.options[dropdown.selectedIndex].value > 0 ) {
-                       location.href = "<?php echo home_url(); ?>/?cat="+dropdown.options[dropdown.selectedIndex].value;
+               if ( dropdown.options[ dropdown.selectedIndex ].value > 0 ) {
+                       location.href = "<?php echo home_url(); ?>/?cat=" + dropdown.options[ dropdown.selectedIndex ].value;
                }
        }
        dropdown.onchange = onCatChange;
+})();
 /* ]]> */
 </script>
 
@@ -1266,6 +1302,7 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
        }
 
        public function update( $new_instance, $old_instance ) {
+               $instance = array();
                $instance['title'] = strip_tags(stripslashes($new_instance['title']));
                $instance['taxonomy'] = stripslashes($new_instance['taxonomy']);
                return $instance;
@@ -1323,7 +1360,26 @@ class WP_Widget_Tag_Cloud extends WP_Widget {
                if ( !empty($instance['title']) )
                        echo $args['before_title'] . $instance['title'] . $args['after_title'];
 
-               wp_nav_menu( array( 'fallback_cb' => '', 'menu' => $nav_menu ) );
+               $nav_menu_args = array(
+                       'fallback_cb' => '',
+                       'menu'        => $nav_menu
+               );
+
+               /**
+                * Filter the arguments for the Custom Menu widget.
+                *
+                * @since 4.2.0
+                *
+                * @param array    $nav_menu_args {
+                *     An array of arguments passed to wp_nav_menu() to retrieve a custom menu.
+                *
+                *     @type callback|bool $fallback_cb Callback to fire if the menu doesn't exist. Default empty.
+                *     @type mixed         $menu        Menu ID, slug, or name.
+                * }
+                * @param stdClass $nav_menu      Nav menu object for the current menu.
+                * @param array    $args          Display arguments for the current widget.
+                */
+               wp_nav_menu( apply_filters( 'widget_nav_menu_args', $nav_menu_args, $nav_menu, $args ) );
 
                echo $args['after_widget'];
        }
index 64291cae76d1f339ac253aeb31ce814cb1cf4e83..6345bd7ca4a6de595cc0ec05a3208cfdde502bf8 100644 (file)
@@ -54,7 +54,7 @@ function get_postdata($postid) {
  *
  * @since 1.0.1
  * @deprecated 1.5.0
- * @deprecated Use The Loop - {@link http://codex.wordpress.org/The_Loop Use new WordPress Loop}
+ * @deprecated Use The Loop - {@link https://codex.wordpress.org/The_Loop Use new WordPress Loop}
  */
 function start_wp() {
        global $wp_query;
@@ -1310,7 +1310,7 @@ function get_category_children( $id, $before = '/', $after = '', $visited = arra
  * @since 2.0.0
  * @deprecated 4.0.0 Use get_terms() instead.
  * @see get_terms()
- * @link http://codex.wordpress.org/Function_Reference/get_all_category_ids
+ * @link https://codex.wordpress.org/Function_Reference/get_all_category_ids
  *
  * @return object List of all of the category IDs.
  */
@@ -1756,7 +1756,7 @@ function make_url_footnote( $content ) {
        _deprecated_function( __FUNCTION__, '2.9', '' );
        preg_match_all( '/<a(.+?)href=\"(.+?)\"(.*?)>(.+?)<\/a>/', $content, $matches );
        $links_summary = "\n";
-       for ( $i=0; $i<count($matches[0]); $i++ ) {
+       for ( $i = 0, $c = count( $matches[0] ); $i < $c; $i++ ) {
                $link_match = $matches[0][$i];
                $link_number = '['.($i+1).']';
                $link_url = $matches[2][$i];
@@ -2161,7 +2161,7 @@ function attribute_escape( $text ) {
  * @param string|int $name Widget ID.
  * @param callback $output_callback Run when widget is called.
  * @param string $classname Classname widget option.
- * @param mixed $params,... Widget parameters.
+ * @param mixed $params ,... Widget parameters.
  */
 function register_sidebar_widget($name, $output_callback, $classname = '') {
        _deprecated_function( __FUNCTION__, '2.8', 'wp_register_sidebar_widget()' );
@@ -2396,7 +2396,7 @@ function update_usermeta( $user_id, $meta_key, $meta_value ) {
 
        if ( !$cur )
                $wpdb->insert($wpdb->usermeta, compact('user_id', 'meta_key', 'meta_value') );
-       else if ( $cur->meta_value != $meta_value )
+       elseif ( $cur->meta_value != $meta_value )
                $wpdb->update($wpdb->usermeta, compact('meta_value'), compact('user_id', 'meta_key') );
        else
                return false;
@@ -2632,7 +2632,6 @@ function the_editor($content, $id = 'content', $prev_id = 'title', $media_button
        _deprecated_function( __FUNCTION__, '3.3', 'wp_editor()' );
 
        wp_editor( $content, $id, array( 'media_buttons' => $media_buttons ) );
-       return;
 }
 
 /**
@@ -2684,7 +2683,7 @@ function sanitize_user_object($user, $context = 'display') {
        if ( is_object($user) ) {
                if ( !isset($user->ID) )
                        $user->ID = 0;
-               if ( !is_a( $user, 'WP_User' ) ) {
+               if ( ! ( $user instanceof WP_User ) ) {
                        $vars = get_object_vars($user);
                        foreach ( array_keys($vars) as $field ) {
                                if ( is_string($user->$field) || is_numeric($user->$field) )
index 7bd354afed9abff9372f8f60ea86ffb8f1eb226b..04cb5aa755e42b4055b4996192db19058e117c17 100644 (file)
@@ -86,11 +86,11 @@ function wptexturize($text, $reset = false) {
 
                // if a plugin has provided an autocorrect array, use it
                if ( isset($wp_cockneyreplace) ) {
-                       $cockney = array_keys($wp_cockneyreplace);
-                       $cockneyreplace = array_values($wp_cockneyreplace);
+                       $cockney = array_keys( $wp_cockneyreplace );
+                       $cockneyreplace = array_values( $wp_cockneyreplace );
                } elseif ( "'" != $apos ) { // Only bother if we're doing a replacement.
-                       $cockney = array( "'tain't", "'twere", "'twas", "'tis", "'twill", "'til", "'bout", "'nuff", "'round", "'cause" );
-                       $cockneyreplace = array( $apos . "tain" . $apos . "t", $apos . "twere", $apos . "twas", $apos . "tis", $apos . "twill", $apos . "til", $apos . "bout", $apos . "nuff", $apos . "round", $apos . "cause" );
+                       $cockney = array( "'tain't", "'twere", "'twas", "'tis", "'twill", "'til", "'bout", "'nuff", "'round", "'cause", "'em" );
+                       $cockneyreplace = array( $apos . "tain" . $apos . "t", $apos . "twere", $apos . "twas", $apos . "tis", $apos . "twill", $apos . "til", $apos . "bout", $apos . "nuff", $apos . "round", $apos . "cause", $apos . "em" );
                } else {
                        $cockney = $cockneyreplace = array();
                }
@@ -174,9 +174,9 @@ function wptexturize($text, $reset = false) {
 
                // Dashes and spaces
                $dynamic[ '/---/' ] = $em_dash;
-               $dynamic[ '/(?<=' . $spaces . ')--(?=' . $spaces . ')/' ] = $em_dash;
+               $dynamic[ '/(?<=^|' . $spaces . ')--(?=$|' . $spaces . ')/' ] = $em_dash;
                $dynamic[ '/(?<!xn)--/' ] = $en_dash;
-               $dynamic[ '/(?<=' . $spaces . ')-(?=' . $spaces . ')/' ] = $en_dash;
+               $dynamic[ '/(?<=^|' . $spaces . ')-(?=$|' . $spaces . ')/' ] = $en_dash;
 
                $dynamic_characters['dash'] = array_keys( $dynamic );
                $dynamic_replacements['dash'] = array_values( $dynamic );
@@ -235,7 +235,7 @@ function wptexturize($text, $reset = false) {
                .     '(?(?=!--)'        // Is this a comment?
                .         $comment_regex // Find end of comment.
                .     '|'
-               .         '[^>]+>'       // Find end of element.
+               .         '[^>]*>'       // Find end of element.
                .     ')'
                . '|'
                .     $shortcode_regex   // Find shortcodes.
@@ -360,14 +360,14 @@ function _wptexturize_pushpop_element($text, &$stack, $disabled_elements) {
  * Replaces double line-breaks with paragraph elements.
  *
  * A group of regex replaces used to identify text formatted with newlines and
- * replace double line-breaks with HTML paragraph tags. The remaining
- * line-breaks after conversion become <<br />> tags, unless $br is set to '0'
- * or 'false'.
+ * replace double line-breaks with HTML paragraph tags. The remaining line-breaks
+ * after conversion become <<br />> tags, unless $br is set to '0' or 'false'.
  *
  * @since 0.71
  *
  * @param string $pee The text which has to be formatted.
- * @param bool $br Optional. If set, this will convert all remaining line-breaks after paragraphing. Default true.
+ * @param bool   $br  Optional. If set, this will convert all remaining line-breaks
+ *                    after paragraphing. Default true.
  * @return string Text which has been converted into correct paragraph tags.
  */
 function wpautop($pee, $br = true) {
@@ -376,8 +376,13 @@ function wpautop($pee, $br = true) {
        if ( trim($pee) === '' )
                return '';
 
-       $pee = $pee . "\n"; // just to make things a little easier, pad the end
+       // Just to make things a little easier, pad the end.
+       $pee = $pee . "\n";
 
+       /*
+        * Pre tags shouldn't be touched by autop.
+        * Replace pre tags with placeholders and bring them back after autop.
+        */
        if ( strpos($pee, '<pre') !== false ) {
                $pee_parts = explode( '</pre>', $pee );
                $last_pee = array_pop($pee_parts);
@@ -402,62 +407,102 @@ function wpautop($pee, $br = true) {
 
                $pee .= $last_pee;
        }
-
+       // Change multiple <br>s into two line breaks, which will turn into paragraphs.
        $pee = preg_replace('|<br />\s*<br />|', "\n\n", $pee);
-       // Space things out a little
-       $allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|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|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)';
+
+       // Add a single line break above block-level opening tags.
        $pee = preg_replace('!(<' . $allblocks . '[^>]*>)!', "\n$1", $pee);
+
+       // Add a double line break below block-level closing tags.
        $pee = preg_replace('!(</' . $allblocks . '>)!', "$1\n\n", $pee);
-       $pee = str_replace(array("\r\n", "\r"), "\n", $pee); // cross-platform newlines
 
+       // Standardize newline characters to "\n".
+       $pee = str_replace(array("\r\n", "\r"), "\n", $pee); 
+
+       // Collapse line breaks before and after <option> elements so they don't get autop'd.
        if ( strpos( $pee, '<option' ) !== false ) {
-               // no P/BR around option
                $pee = preg_replace( '|\s*<option|', '<option', $pee );
                $pee = preg_replace( '|</option>\s*|', '</option>', $pee );
        }
 
+       /*
+        * Collapse line breaks inside <object> elements, before <param> and <embed> elements
+        * so they don't get autop'd.
+        */
        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 );
        }
 
+       /*
+        * Collapse line breaks inside <audio> and <video> elements,
+        * before and after <source> and <track> elements.
+        */
        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
+       // Remove more than two contiguous line breaks.
+       $pee = preg_replace("/\n\n+/", "\n\n", $pee);
+
+       // Split up the contents into an array of strings, separated by double line breaks.
        $pees = preg_split('/\n\s*\n/', $pee, -1, PREG_SPLIT_NO_EMPTY);
+
+       // Reset $pee prior to rebuilding.
        $pee = '';
 
+       // Rebuild the content as a string, wrapping every bit with a <p>.
        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
+       // Under certain strange conditions it could create a P of entirely whitespace.
+       $pee = preg_replace('|<p>\s*</p>|', '', $pee); 
+
+       // Add a closing <p> inside <div>, <address>, or <form> tag if missing.
        $pee = preg_replace('!<p>([^<]+)</(div|address|form)>!', "<p>$1</p></$2>", $pee);
-       $pee = preg_replace('!<p>\s*(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee); // don't pee all over a tag
-       $pee = preg_replace("|<p>(<li.+?)</p>|", "$1", $pee); // problem with nested lists
+       
+       // If an opening or closing block element tag is wrapped in a <p>, unwrap it.
+       $pee = preg_replace('!<p>\s*(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee); 
+       
+       // In some cases <li> may get wrapped in <p>, fix them.
+       $pee = preg_replace("|<p>(<li.+?)</p>|", "$1", $pee); 
+       
+       // If a <blockquote> is wrapped with a <p>, move it inside the <blockquote>.
        $pee = preg_replace('|<p><blockquote([^>]*)>|i', "<blockquote$1><p>", $pee);
        $pee = str_replace('</blockquote></p>', '</p></blockquote>', $pee);
+       
+       // If an opening or closing block element tag is preceded by an opening <p> tag, remove it.
        $pee = preg_replace('!<p>\s*(</?' . $allblocks . '[^>]*>)!', "$1", $pee);
+       
+       // If an opening or closing block element tag is followed by a closing <p> tag, remove it.
        $pee = preg_replace('!(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee);
 
+       // Optionally insert line breaks.
        if ( $br ) {
+               // Replace newlines that shouldn't be touched with a placeholder.
                $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
+
+               // Replace any new line characters that aren't preceded by a <br /> with a <br />.
+               $pee = preg_replace('|(?<!<br />)\s*\n|', "<br />\n", $pee); 
+
+               // Replace newline placeholders with newlines.
                $pee = str_replace('<WPPreserveNewline />', "\n", $pee);
        }
 
+       // If a <br /> tag is after an opening or closing block tag, remove it.
        $pee = preg_replace('!(</?' . $allblocks . '[^>]*>)\s*<br />!', "$1", $pee);
+       
+       // If a <br /> tag is before a subset of opening or closing block tags, remove it.
        $pee = preg_replace('!<br />(\s*</?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)[^>]*>)!', '$1', $pee);
        $pee = preg_replace( "|\n</p>$|", '</p>', $pee );
 
+       // Replace placeholder <pre> tags with their original content.
        if ( !empty($pre_tags) )
                $pee = str_replace(array_keys($pre_tags), array_values($pre_tags), $pee);
 
@@ -550,14 +595,14 @@ function seems_utf8($str) {
        reset_mbstring_encoding();
        for ($i=0; $i < $length; $i++) {
                $c = ord($str[$i]);
-               if ($c < 0x80) $n = 0; # 0bbbbbbb
-               elseif (($c & 0xE0) == 0xC0) $n=1; # 110bbbbb
-               elseif (($c & 0xF0) == 0xE0) $n=2; # 1110bbbb
-               elseif (($c & 0xF8) == 0xF0) $n=3; # 11110bbb
-               elseif (($c & 0xFC) == 0xF8) $n=4; # 111110bb
-               elseif (($c & 0xFE) == 0xFC) $n=5; # 1111110b
-               else return false; # Does not match any model
-               for ($j=0; $j<$n; $j++) { # n bytes matching 10bbbbbb follow ?
+               if ($c < 0x80) $n = 0; // 0bbbbbbb
+               elseif (($c & 0xE0) == 0xC0) $n=1; // 110bbbbb
+               elseif (($c & 0xF0) == 0xE0) $n=2; // 1110bbbb
+               elseif (($c & 0xF8) == 0xF0) $n=3; // 11110bbb
+               elseif (($c & 0xFC) == 0xF8) $n=4; // 111110bb
+               elseif (($c & 0xFE) == 0xFC) $n=5; // 1111110b
+               else return false; // Does not match any model
+               for ($j=0; $j<$n; $j++) { // n bytes matching 10bbbbbb follow ?
                        if ((++$i == $length) || ((ord($str[$i]) & 0xC0) != 0x80))
                                return false;
                }
@@ -633,9 +678,9 @@ function _wp_specialchars( $string, $quote_style = ENT_NOQUOTES, $charset = fals
                // Now re-encode everything except &entity;
                $string = preg_split( '/(&#?x?[0-9a-z]+;)/i', $string, -1, PREG_SPLIT_DELIM_CAPTURE );
 
-               for ( $i = 0; $i < count( $string ); $i += 2 )
+               for ( $i = 0, $c = count( $string ); $i < $c; $i += 2 ) {
                        $string[$i] = @htmlspecialchars( $string[$i], $quote_style, $charset );
-
+               }
                $string = implode( '', $string );
        }
 
@@ -785,21 +830,27 @@ function utf8_uri_encode( $utf8_string, $length = 0 ) {
                        $unicode .= chr($value);
                        $unicode_length++;
                } else {
-                       if ( count( $values ) == 0 ) $num_octets = ( $value < 224 ) ? 2 : 3;
+                       if ( count( $values ) == 0 ) {
+                               if ( $value < 224 ) {
+                                       $num_octets = 2;
+                               } elseif ( $value < 240 ) {
+                                       $num_octets = 3;
+                               } else {
+                                       $num_octets = 4;
+                               }
+                       }
 
                        $values[] = $value;
 
                        if ( $length && ( $unicode_length + ($num_octets * 3) ) > $length )
                                break;
                        if ( count( $values ) == $num_octets ) {
-                               if ($num_octets == 3) {
-                                       $unicode .= '%' . dechex($values[0]) . '%' . dechex($values[1]) . '%' . dechex($values[2]);
-                                       $unicode_length += 9;
-                               } else {
-                                       $unicode .= '%' . dechex($values[0]) . '%' . dechex($values[1]);
-                                       $unicode_length += 6;
+                               for ( $j = 0; $j < $num_octets; $j++ ) {
+                                       $unicode .= '%' . dechex( $values[ $j ] );
                                }
 
+                               $unicode_length += $num_octets * 3;
+
                                $values = array();
                                $num_octets = 1;
                        }
@@ -1022,6 +1073,7 @@ function remove_accents($string) {
 
                $string = strtr($string, $chars);
        } else {
+               $chars = array();
                // Assume ISO-8859-1 if not UTF-8
                $chars['in'] = chr(128).chr(131).chr(138).chr(142).chr(154).chr(158)
                        .chr(159).chr(162).chr(165).chr(181).chr(192).chr(193).chr(194)
@@ -1037,6 +1089,7 @@ function remove_accents($string) {
                $chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy";
 
                $string = strtr($string, $chars['in'], $chars['out']);
+               $double_chars = array();
                $double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254));
                $double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th');
                $string = str_replace($double_chars['in'], $double_chars['out'], $string);
@@ -1502,7 +1555,7 @@ function force_balance_tags( $text ) {
                                // or close to be safe $tag = '/' . $tag;
                        }
                        // if stacktop value = tag close value then pop
-                       else if ( $tagstack[$stacksize - 1] == $tag ) { // found closing tag
+                       elseif ( $tagstack[$stacksize - 1] == $tag ) { // found closing tag
                                $tag = '</' . $tag . '>'; // Close Tag
                                // Pop
                                array_pop( $tagstack );
@@ -1759,7 +1812,7 @@ function rawurlencode_deep( $value ) {
  */
 function antispambot( $email_address, $hex_encoding = 0 ) {
        $email_no_spam_address = '';
-       for ( $i = 0; $i < strlen( $email_address ); $i++ ) {
+       for ( $i = 0, $len = strlen( $email_address ); $i < $len; $i++ ) {
                $j = rand( 0, 1 + $hex_encoding );
                if ( $j == 0 ) {
                        $email_no_spam_address .= '&#' . ord( $email_address[$i] ) . ';';
@@ -2038,6 +2091,15 @@ function translate_smiley( $matches ) {
        $smiley = trim( reset( $matches ) );
        $img = $wpsmiliestrans[ $smiley ];
 
+       $matches = array();
+       $ext = preg_match( '/\.([^.]+)$/', $img, $matches ) ? strtolower( $matches[1] ) : false;
+       $image_exts = array( 'jpg', 'jpeg', 'jpe', 'gif', 'png' );
+
+       // Don't convert smilies that aren't images - they're probably emoji.
+       if ( ! in_array( $ext, $image_exts ) ) {
+               return $img;
+       }
+
        /**
         * Filter the Smiley image URL before it's used in the image element.
         *
@@ -2049,7 +2111,7 @@ function translate_smiley( $matches ) {
         */
        $src_url = apply_filters( 'smilies_src', includes_url( "images/smilies/$img" ), $img, site_url() );
 
-       return sprintf( '<img src="%s" alt="%s" class="wp-smiley" />', esc_url( $src_url ), esc_attr( $smiley ) );
+       return sprintf( '<img src="%s" alt="%s" class="wp-smiley" style="height: 1em; max-height: 1em;" />', esc_url( $src_url ), esc_attr( $smiley ) );
 }
 
 /**
@@ -2337,7 +2399,7 @@ function iso8601_to_datetime($date_string, $timezone = 'user') {
 
                return gmdate('Y-m-d H:i:s', $timestamp);
 
-       } else if ($timezone == 'user') {
+       } elseif ($timezone == 'user') {
                return preg_replace('#([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(Z|[\+|\-][0-9]{2,4}){0,1}#', '$1-$2-$3 $4:$5:$6', $date_string);
        }
 }
@@ -3264,10 +3326,12 @@ function wp_make_link_relative( $link ) {
  * @return string Sanitized value.
  */
 function sanitize_option($option, $value) {
+       global $wpdb;
 
        switch ( $option ) {
                case 'admin_email' :
                case 'new_admin_email' :
+                       $value = $wpdb->strip_invalid_text_for_column( $wpdb->options, 'option_value', $value );
                        $value = sanitize_email( $value );
                        if ( ! is_email( $value ) ) {
                                $value = get_option( $option ); // Resets option to stored value in the case of failed sanitization
@@ -3316,6 +3380,7 @@ function sanitize_option($option, $value) {
 
                case 'blogdescription':
                case 'blogname':
+                       $value = $wpdb->strip_invalid_text_for_column( $wpdb->options, 'option_value', $value );
                        $value = wp_kses_post( $value );
                        $value = esc_html( $value );
                        break;
@@ -3338,6 +3403,7 @@ function sanitize_option($option, $value) {
                case 'mailserver_login':
                case 'mailserver_pass':
                case 'upload_path':
+                       $value = $wpdb->strip_invalid_text_for_column( $wpdb->options, 'option_value', $value );
                        $value = strip_tags( $value );
                        $value = wp_kses_data( $value );
                        break;
@@ -3354,6 +3420,7 @@ function sanitize_option($option, $value) {
                        break;
 
                case 'siteurl':
+                       $value = $wpdb->strip_invalid_text_for_column( $wpdb->options, 'option_value', $value );
                        if ( (bool)preg_match( '#http(s?)://(.+)#i', $value) ) {
                                $value = esc_url_raw($value);
                        } else {
@@ -3364,6 +3431,7 @@ function sanitize_option($option, $value) {
                        break;
 
                case 'home':
+                       $value = $wpdb->strip_invalid_text_for_column( $wpdb->options, 'option_value', $value );
                        if ( (bool)preg_match( '#http(s?)://(.+)#i', $value) ) {
                                $value = esc_url_raw($value);
                        } else {
@@ -3384,6 +3452,7 @@ function sanitize_option($option, $value) {
                        break;
 
                case 'illegal_names':
+                       $value = $wpdb->strip_invalid_text_for_column( $wpdb->options, 'option_value', $value );
                        if ( ! is_array( $value ) )
                                $value = explode( ' ', $value );
 
@@ -3395,6 +3464,7 @@ function sanitize_option($option, $value) {
 
                case 'limited_email_domains':
                case 'banned_email_domains':
+                       $value = $wpdb->strip_invalid_text_for_column( $wpdb->options, 'option_value', $value );
                        if ( ! is_array( $value ) )
                                $value = explode( "\n", $value );
 
@@ -3421,6 +3491,7 @@ function sanitize_option($option, $value) {
                case 'permalink_structure':
                case 'category_base':
                case 'tag_base':
+                       $value = $wpdb->strip_invalid_text_for_column( $wpdb->options, 'option_value', $value );
                        $value = esc_url_raw( $value );
                        $value = str_replace( 'http://', '', $value );
                        break;
@@ -3432,6 +3503,7 @@ function sanitize_option($option, $value) {
 
                case 'moderation_keys':
                case 'blacklist_keys':
+                       $value = $wpdb->strip_invalid_text_for_column( $wpdb->options, 'option_value', $value );
                        $value = explode( "\n", $value );
                        $value = array_filter( array_map( 'trim', $value ) );
                        $value = array_unique( $value );
@@ -3512,7 +3584,7 @@ function wp_pre_kses_less_than_callback( $matches ) {
  * @link http://www.php.net/sprintf
  *
  * @param string $pattern The string which formatted args are inserted.
- * @param mixed $args,... Arguments to be formatted into the $pattern string.
+ * @param mixed  $args ,... Arguments to be formatted into the $pattern string.
  * @return string The formatted string.
  */
 function wp_sprintf( $pattern ) {
@@ -4005,3 +4077,301 @@ function wp_spaces_regexp() {
 
        return $spaces;
 }
+
+/**
+ * Print the important emoji-related styles.
+ *
+ * @since 4.2.0
+ */
+function print_emoji_styles() {
+       static $printed = false;
+
+       if ( $printed ) {
+               return;
+       }
+
+       $printed = true;
+?>
+<style type="text/css">
+img.wp-smiley,
+img.emoji {
+       display: inline !important;
+       border: none !important;
+       box-shadow: none !important;
+       height: 1em !important;
+       width: 1em !important;
+       margin: 0 .07em !important;
+       vertical-align: -0.1em !important;
+       background: none !important;
+       padding: 0 !important;
+}
+</style>
+<?php
+}
+
+function print_emoji_detection_script() {
+       global $wp_version;
+       static $printed = false;
+
+       if ( $printed ) {
+               return;
+       }
+
+       $printed = true;
+
+       $settings = array(
+               /**
+                * Filter the URL where emoji images are hosted.
+                *
+                * @since 4.2.0
+                *
+                * @param string The emoji base URL.
+                */
+               'baseUrl' => apply_filters( 'emoji_url', set_url_scheme( '//s.w.org/images/core/emoji/72x72/' ) ),
+
+               /**
+                * Filter the extension of the emoji files.
+                *
+                * @since 4.2.0
+                *
+                * @param string The emoji extension. Default .png.
+                */
+               'ext' => apply_filters( 'emoji_ext', '.png' ),
+       );
+
+       $version = 'ver=' . $wp_version;
+
+       if ( SCRIPT_DEBUG ) {
+               $settings['source'] = array(
+                       /** This filter is documented in wp-includes/class.wp-scripts.php */
+                       'wpemoji' => apply_filters( 'script_loader_src', includes_url( "js/wp-emoji.js?$version" ), 'wpemoji' ),
+                       /** This filter is documented in wp-includes/class.wp-scripts.php */
+                       'twemoji' => apply_filters( 'script_loader_src', includes_url( "js/twemoji.js?$version" ), 'twemoji' ),
+               );
+
+               ?>
+               <script type="text/javascript">
+                       window._wpemojiSettings = <?php echo wp_json_encode( $settings ); ?>;
+                       <?php readfile( ABSPATH . WPINC . "/js/wp-emoji-loader.js" ); ?>
+               </script>
+               <?php
+       } else {
+               $settings['source'] = array(
+                       /** This filter is documented in wp-includes/class.wp-scripts.php */
+                       'concatemoji' => apply_filters( 'script_loader_src', includes_url( "js/wp-emoji-release.min.js?$version" ), 'concatemoji' ),
+               );
+
+               /*
+                * If you're looking at a src version of this file, you'll see an "include"
+                * statement below. This is used by the `grunt build` process to directly
+                * include a minified version of wp-emoji-loader.js, instead of using the
+                * readfile() method from above.
+                *
+                * If you're looking at a build version of this file, you'll see a string of
+                * minified JavaScript. If you need to debug it, please turn on SCRIPT_DEBUG
+                * and edit wp-emoji-loader.js directly.
+                */
+               ?>
+               <script type="text/javascript">
+                       window._wpemojiSettings = <?php echo wp_json_encode( $settings ); ?>;
+                       !function(a,b,c){function d(a){var c=b.createElement("canvas"),d=c.getContext&&c.getContext("2d");return d&&d.fillText?(d.textBaseline="top",d.font="600 32px Arial","flag"===a?(d.fillText(String.fromCharCode(55356,56812,55356,56807),0,0),c.toDataURL().length>3e3):(d.fillText(String.fromCharCode(55357,56835),0,0),0!==d.getImageData(16,16,1,1).data[0])):!1}function e(a){var c=b.createElement("script");c.src=a,c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f;c.supports={simple:d("simple"),flag:d("flag")},c.supports.simple&&c.supports.flag||(f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings);
+               </script>
+               <?php
+       }
+}
+
+/**
+ * Convert any 4 byte emoji in a string to their equivalent HTML entity.
+ *
+ * Currently, only Unicode 7 emoji are supported. Skin tone modifiers are allowed,
+ * all other Unicode 8 emoji will be added when the spec is finalised.
+ *
+ * This allows us to store emoji in a DB using the utf8 character set.
+ *
+ * @since 4.2.0
+ *
+ * @param string $content The content to encode.
+ * @return string The encoded content.
+ */
+function wp_encode_emoji( $content ) {
+       if ( function_exists( 'mb_convert_encoding' ) ) {
+               $regex = '/(
+                    \x23\xE2\x83\xA3               # Digits
+                    [\x30-\x39]\xE2\x83\xA3
+                  | \xF0\x9F[\x85-\x88][\xA6-\xBF] # Enclosed characters
+                  | \xF0\x9F[\x8C-\x97][\x80-\xBF] # Misc
+                  | \xF0\x9F\x98[\x80-\xBF]        # Smilies
+                  | \xF0\x9F\x99[\x80-\x8F]
+                  | \xF0\x9F\x9A[\x80-\xBF]        # Transport and map symbols
+               )/x';
+
+               $matches = array();
+               if ( preg_match_all( $regex, $content, $matches ) ) {
+                       if ( ! empty( $matches[1] ) ) {
+                               foreach( $matches[1] as $emoji ) {
+                                       /*
+                                        * UTF-32's hex encoding is the same as HTML's hex encoding.
+                                        * So, by converting the emoji from UTF-8 to UTF-32, we magically
+                                        * get the correct hex encoding.
+                                        */
+                                       $unpacked = unpack( 'H*', mb_convert_encoding( $emoji, 'UTF-32', 'UTF-8' ) );
+                                       if ( isset( $unpacked[1] ) ) {
+                                               $entity = '&#x' . ltrim( $unpacked[1], '0' ) . ';';
+                                               $content = str_replace( $emoji, $entity, $content );
+                                       }
+                               }
+                       }
+               }
+       }
+
+       return $content;
+}
+
+/**
+ * Convert emoji to a static img element.
+ *
+ * @since 4.2.0
+ *
+ * @param string $text The content to encode.
+ * @return string The encoded content.
+ */
+function wp_staticize_emoji( $text ) {
+       $text = wp_encode_emoji( $text );
+
+       /** This filter is documented in wp-includes/formatting.php */
+       $cdn_url = apply_filters( 'emoji_url', set_url_scheme( '//s.w.org/images/core/emoji/72x72/' ) );
+
+       /** This filter is documented in wp-includes/formatting.php */
+       $ext = apply_filters( 'emoji_ext', '.png' );
+
+       $output = '';
+       /*
+        * HTML loop taken from smiley function, which was taken from texturize function.
+        * It'll never be consolidated.
+        *
+        * First, capture the tags as well as in between.
+        */
+       $textarr = preg_split( '/(<.*>)/U', $text, -1, PREG_SPLIT_DELIM_CAPTURE );
+       $stop = count( $textarr );
+
+       // Ignore processing of specific tags.
+       $tags_to_ignore = 'code|pre|style|script|textarea';
+       $ignore_block_element = '';
+
+       for ( $i = 0; $i < $stop; $i++ ) {
+               $content = $textarr[$i];
+
+               // If we're in an ignore block, wait until we find its closing tag.
+               if ( '' == $ignore_block_element && preg_match( '/^<(' . $tags_to_ignore . ')>/', $content, $matches ) )  {
+                       $ignore_block_element = $matches[1];
+               }
+
+               // If it's not a tag and not in ignore block.
+               if ( '' ==  $ignore_block_element && strlen( $content ) > 0 && '<' != $content[0] ) {
+                       $matches = array();
+                       if ( preg_match_all( '/(&#x1f1(e[6-9a-f]|f[0-9a-f]);){2}/', $content, $matches ) ) {
+                               if ( ! empty( $matches[0] ) ) {
+                                       foreach ( $matches[0] as $flag ) {
+                                               $chars = str_replace( array( '&#x', ';'), '', $flag );
+
+                                               list( $char1, $char2 ) = str_split( $chars, 5 );
+                                               $entity = sprintf( '<img src="%s" alt="%s" class="wp-smiley" style="height: 1em; max-height: 1em;" />', $cdn_url . $char1 . '-' . $char2 . $ext, html_entity_decode( $flag ) );
+
+                                               $content = str_replace( $flag, $entity, $content );
+                                       }
+                               }
+                       }
+
+                       // Loosely match the Emoji Unicode range.
+                       $regex = '/(&#x[2-3][0-9a-f]{3};|&#x1f[1-6][0-9a-f]{2};)/';
+
+                       $matches = array();
+                       if ( preg_match_all( $regex, $content, $matches ) ) {
+                               if ( ! empty( $matches[1] ) ) {
+                                       foreach ( $matches[1] as $emoji ) {
+                                               $char = str_replace( array( '&#x', ';'), '', $emoji );
+                                               $entity = sprintf( '<img src="%s" alt="%s" class="wp-smiley" style="height: 1em; max-height: 1em;" />', $cdn_url . $char . $ext, html_entity_decode( $emoji ) );
+
+                                               $content = str_replace( $emoji, $entity, $content );
+                                       }
+                               }
+                       }
+               }
+
+               // Did we exit ignore block.
+               if ( '' != $ignore_block_element && '</' . $ignore_block_element . '>' == $content )  {
+                       $ignore_block_element = '';
+               }
+
+               $output .= $content;
+       }
+
+       return $output;
+}
+
+/**
+ * Convert emoji in emails into static images.
+ *
+ * @since 4.2.0
+ *
+ * @param array $mail The email data array.
+ * @return array The email data array, with emoji in the message staticized.
+ */
+function wp_staticize_emoji_for_email( $mail ) {
+       if ( ! isset( $mail['message'] ) ) {
+               return $mail;
+       }
+
+       /*
+        * We can only transform the emoji into images if it's a text/html email.
+        * To do that, here's a cut down version of the same process that happens
+        * in wp_mail() - get the Content-Type from the headers, if there is one,
+        * then pass it through the wp_mail_content_type filter, in case a plugin
+        * is handling changing the Content-Type.
+        */
+       $headers = array();
+       if ( isset( $mail['headers'] ) ) {
+               if ( is_array( $mail['headers'] ) ) {
+                       $headers = $mail['headers'];
+               } else {
+                       $headers = explode( "\n", str_replace( "\r\n", "\n", $mail['headers'] ) );
+               }
+       }
+
+       foreach ( $headers as $header ) {
+               if ( strpos($header, ':') === false ) {
+                       continue;
+               }
+
+               // Explode them out.
+               list( $name, $content ) = explode( ':', trim( $header ), 2 );
+
+               // Cleanup crew.
+               $name    = trim( $name    );
+               $content = trim( $content );
+
+               if ( 'content-type' === strtolower( $name ) ) {
+                       if ( strpos( $content, ';' ) !== false ) {
+                               list( $type, $charset ) = explode( ';', $content );
+                               $content_type = trim( $type );
+                       } else {
+                               $content_type = trim( $content );
+                       }
+                       break;
+               }
+       }
+
+       // Set Content-Type if we don't have a content-type from the input headers.
+       if ( ! isset( $content_type ) ) {
+               $content_type = 'text/plain';
+       }
+
+       /** This filter is documented in wp-includes/pluggable.php */
+       $content_type = apply_filters( 'wp_mail_content_type', $content_type );
+
+       if ( 'text/html' === $content_type ) {
+               $mail['message'] = wp_staticize_emoji( $mail['message'] );
+       }
+
+       return $mail;
+}
index d903349cfbe827e4b1df9a79ab3c4f9c9312008f..929c4e218a5b29c7997b7cd89845eb8055ea3294 100644 (file)
@@ -182,7 +182,7 @@ function number_format_i18n( $number, $decimals = 0 ) {
 /**
  * Convert number of bytes largest unit bytes will fit into.
  *
- * It is easier to read 1kB than 1024 bytes and 1MB than 1048576 bytes. Converts
+ * It is easier to read 1 kB than 1024 bytes and 1 MB than 1048576 bytes. Converts
  * number of bytes to human readable number by taking the number of that unit
  * that the bytes will go into it. Supports TB value.
  *
@@ -206,11 +206,14 @@ function size_format( $bytes, $decimals = 0 ) {
                'GB' => 1073741824,     // pow( 1024, 3)
                'MB' => 1048576,        // pow( 1024, 2)
                'kB' => 1024,           // pow( 1024, 1)
-               'B ' => 1,              // pow( 1024, 0)
+               'B => 1,              // pow( 1024, 0)
        );
-       foreach ( $quant as $unit => $mag )
-               if ( doubleval($bytes) >= $mag )
+
+       foreach ( $quant as $unit => $mag ) {
+               if ( doubleval( $bytes ) >= $mag ) {
                        return number_format_i18n( $bytes / $mag, $decimals ) . ' ' . $unit;
+               }
+       }
 
        return false;
 }
@@ -700,7 +703,7 @@ function _http_build_query( $data, $prefix = null, $sep = null, $key = '', $urle
                        $k = $key . '%5B' . $k . '%5D';
                if ( $v === null )
                        continue;
-               elseif ( $v === FALSE )
+               elseif ( $v === false )
                        $v = '0';
 
                if ( is_array($v) || is_object($v) )
@@ -778,8 +781,9 @@ function add_query_arg() {
        wp_parse_str( $query, $qs );
        $qs = urlencode_deep( $qs ); // this re-URL-encodes things that were already in the query string
        if ( is_array( $args[0] ) ) {
-               $kayvees = $args[0];
-               $qs = array_merge( $qs, $kayvees );
+               foreach ( $args[0] as $k => $v ) {
+                       $qs[ $k ] = $v;
+               }
        } else {
                $qs[ $args[0] ] = $args[1];
        }
@@ -866,7 +870,7 @@ function wp_remote_fopen( $uri ) {
  *
  * @since 2.0.0
  *
- * @param string $query_vars Default WP_Query arguments.
+ * @param string|array $query_vars Default WP_Query arguments.
  */
 function wp( $query_vars = '' ) {
        global $wp, $wp_query, $wp_the_query;
@@ -1434,7 +1438,7 @@ function wp_get_referer() {
        $ref = false;
        if ( ! empty( $_REQUEST['_wp_http_referer'] ) )
                $ref = wp_unslash( $_REQUEST['_wp_http_referer'] );
-       else if ( ! empty( $_SERVER['HTTP_REFERER'] ) )
+       elseif ( ! empty( $_SERVER['HTTP_REFERER'] ) )
                $ref = wp_unslash( $_SERVER['HTTP_REFERER'] );
 
        if ( $ref && $ref !== wp_unslash( $_SERVER['REQUEST_URI'] ) )
@@ -1513,7 +1517,7 @@ function wp_mkdir_p( $target ) {
                 */
                if ( $dir_perms != ( $dir_perms & ~umask() ) ) {
                        $folder_parts = explode( '/', substr( $target, strlen( $target_parent ) + 1 ) );
-                       for ( $i = 1; $i <= count( $folder_parts ); $i++ ) {
+                       for ( $i = 1, $c = count( $folder_parts ); $i <= $c; $i++ ) {
                                @chmod( $target_parent . '/' . implode( '/', array_slice( $folder_parts, 0, $i ) ), $dir_perms );
                        }
                }
@@ -1667,11 +1671,11 @@ function wp_is_writable( $path ) {
  */
 function win_is_writable( $path ) {
 
-       if ( $path[strlen( $path ) - 1] == '/' ) // if it looks like a directory, check a random file within the directory
+       if ( $path[strlen( $path ) - 1] == '/' ) // if it looks like a directory, check a random file within the directory
                return win_is_writable( $path . uniqid( mt_rand() ) . '.tmp');
-       else if ( is_dir( $path ) ) // If it's a directory (and not a file) check a random file within the directory
+       } elseif ( is_dir( $path ) ) { // If it's a directory (and not a file) check a random file within the directory
                return win_is_writable( $path . '/' . uniqid( mt_rand() ) . '.tmp' );
-
+       }
        // check tmp file for read/write capabilities
        $should_delete_tmp_file = !file_exists( $path );
        $f = @fopen( $path, 'a' );
@@ -2016,7 +2020,7 @@ function wp_ext2type( $ext ) {
                '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' ),
                'video'       => array( '3g2',  '3gp', '3gpp', 'asf', 'avi',  'divx', 'dv',   'flv',  'm4v',   'mkv',  'mov',  'mp4',  'mpeg', 'mpg', 'mpv', 'ogm', 'ogv', 'qt',  'rm', 'vob', 'wmv' ),
-               'document'    => array( 'doc', 'docx', 'docm', 'dotm', 'odt',  'pages', 'pdf',  'xps',  'oxps', 'rtf',  'wp', 'wpd', 'psd' ),
+               'document'    => array( 'doc', 'docx', 'docm', 'dotm', 'odt',  'pages', 'pdf',  'xps',  'oxps', 'rtf',  'wp', 'wpd', 'psd', 'xcf' ),
                'spreadsheet' => array( 'numbers',     'ods',  'xls',  'xlsx', 'xlsm',  'xlsb' ),
                'interactive' => array( 'swf', 'key',  'ppt',  'pptx', 'pptm', 'pps',   'ppsx', 'ppsm', 'sldx', 'sldm', 'odp' ),
                'text'        => array( 'asc', 'csv',  'tsv',  'txt' ),
@@ -2153,6 +2157,7 @@ function wp_check_filetype_and_ext( $file, $filename, $mimes = null ) {
  * Retrieve list of mime types and file extensions.
  *
  * @since 3.5.0
+ * @since 4.2.0 Support was added for GIMP (xcf) files.
  *
  * @return array Array of mime types keyed by the file extension regex corresponding to those types.
  */
@@ -2174,7 +2179,7 @@ function wp_get_mime_types() {
        'gif' => 'image/gif',
        'png' => 'image/png',
        'bmp' => 'image/bmp',
-       'tif|tiff' => 'image/tiff',
+       'tiff|tif' => 'image/tiff',
        'ico' => 'image/x-icon',
        // Video formats.
        'asf|asx' => 'video/x-ms-asf',
@@ -2224,6 +2229,7 @@ function wp_get_mime_types() {
        '7z' => 'application/x-7z-compressed',
        'exe' => 'application/x-msdownload',
        'psd' => 'application/octet-stream',
+       'xcf' => 'application/octet-stream',
        // MS Office formats.
        'doc' => 'application/msword',
        'pot|pps|ppt' => 'application/vnd.ms-powerpoint',
@@ -2681,11 +2687,11 @@ function wp_json_encode( $data, $options = 0, $depth = 512 ) {
 /**
  * Perform sanity checks on data that shall be encoded to JSON.
  *
- * @see wp_json_encode()
- *
+ * @ignore
  * @since 4.1.0
  * @access private
- * @internal
+ *
+ * @see wp_json_encode()
  *
  * @param mixed $data  Variable (usually an array or object) to encode as JSON.
  * @param int   $depth Maximum depth to walk through $data. Must be greater than 0.
@@ -2744,11 +2750,11 @@ function _wp_json_sanity_check( $data, $depth ) {
 /**
  * Convert a string to UTF-8, so that it can be safely encoded to JSON.
  *
- * @see _wp_json_sanity_check()
- *
+ * @ignore
  * @since 4.1.0
  * @access private
- * @internal
+ *
+ * @see _wp_json_sanity_check()
  *
  * @param string $string The string which is to be converted.
  * @return string The checked string.
@@ -2901,8 +2907,14 @@ function _config_wp_siteurl( $url = '' ) {
 function _mce_set_direction( $input ) {
        if ( is_rtl() ) {
                $input['directionality'] = 'rtl';
-               $input['plugins'] .= ',directionality';
-               $input['toolbar1'] .= ',ltr';
+
+               if ( ! empty( $input['plugins'] ) && strpos( $input['plugins'], 'directionality' ) === false ) {
+                       $input['plugins'] .= ',directionality';
+               }
+
+               if ( ! empty( $input['toolbar1'] ) && ! preg_match( '/\bltr\b/', $input['toolbar1'] ) ) {
+                       $input['toolbar1'] .= ',ltr';
+               }
        }
 
        return $input;
@@ -2940,51 +2952,51 @@ function smilies_init() {
 
        if ( !isset( $wpsmiliestrans ) ) {
                $wpsmiliestrans = array(
-               ':mrgreen:' => 'icon_mrgreen.gif',
-               ':neutral:' => 'icon_neutral.gif',
-               ':twisted:' => 'icon_twisted.gif',
-                 ':arrow:' => 'icon_arrow.gif',
-                 ':shock:' => 'icon_eek.gif',
-                 ':smile:' => 'icon_smile.gif',
-                   ':???:' => 'icon_confused.gif',
-                  ':cool:' => 'icon_cool.gif',
-                  ':evil:' => 'icon_evil.gif',
-                  ':grin:' => 'icon_biggrin.gif',
-                  ':idea:' => 'icon_idea.gif',
-                  ':oops:' => 'icon_redface.gif',
-                  ':razz:' => 'icon_razz.gif',
-                  ':roll:' => 'icon_rolleyes.gif',
-                  ':wink:' => 'icon_wink.gif',
-                   ':cry:' => 'icon_cry.gif',
-                   ':eek:' => 'icon_surprised.gif',
-                   ':lol:' => 'icon_lol.gif',
-                   ':mad:' => 'icon_mad.gif',
-                   ':sad:' => 'icon_sad.gif',
-                     '8-)' => 'icon_cool.gif',
-                     '8-O' => 'icon_eek.gif',
-                     ':-(' => 'icon_sad.gif',
-                     ':-)' => 'icon_smile.gif',
-                     ':-?' => 'icon_confused.gif',
-                     ':-D' => 'icon_biggrin.gif',
-                     ':-P' => 'icon_razz.gif',
-                     ':-o' => 'icon_surprised.gif',
-                     ':-x' => 'icon_mad.gif',
-                     ':-|' => 'icon_neutral.gif',
-                     ';-)' => 'icon_wink.gif',
+               ':mrgreen:' => 'mrgreen.png',
+               ':neutral:' => "\xf0\x9f\x98\x90",
+               ':twisted:' => "\xf0\x9f\x98\x88",
+                 ':arrow:' => "\xe2\x9e\xa1",
+                 ':shock:' => "\xf0\x9f\x98\xaf",
+                 ':smile:' => 'simple-smile.png',
+                   ':???:' => "\xf0\x9f\x98\x95",
+                  ':cool:' => "\xf0\x9f\x98\x8e",
+                  ':evil:' => "\xf0\x9f\x91\xbf",
+                  ':grin:' => "\xf0\x9f\x98\x80",
+                  ':idea:' => "\xf0\x9f\x92\xa1",
+                  ':oops:' => "\xf0\x9f\x98\xb3",
+                  ':razz:' => "\xf0\x9f\x98\x9b",
+                  ':roll:' => 'rolleyes.png',
+                  ':wink:' => "\xf0\x9f\x98\x89",
+                   ':cry:' => "\xf0\x9f\x98\xa5",
+                   ':eek:' => "\xf0\x9f\x98\xae",
+                   ':lol:' => "\xf0\x9f\x98\x86",
+                   ':mad:' => "\xf0\x9f\x98\xa1",
+                   ':sad:' => 'frownie.png',
+                     '8-)' => "\xf0\x9f\x98\x8e",
+                     '8-O' => "\xf0\x9f\x98\xaf",
+                     ':-(' => 'frownie.png',
+                     ':-)' => 'simple-smile.png',
+                     ':-?' => "\xf0\x9f\x98\x95",
+                     ':-D' => "\xf0\x9f\x98\x80",
+                     ':-P' => "\xf0\x9f\x98\x9b",
+                     ':-o' => "\xf0\x9f\x98\xae",
+                     ':-x' => "\xf0\x9f\x98\xa1",
+                     ':-|' => "\xf0\x9f\x98\x90",
+                     ';-)' => "\xf0\x9f\x98\x89",
                // This one transformation breaks regular text with frequency.
-               //     '8)' => 'icon_cool.gif',
-                      '8O' => 'icon_eek.gif',
-                      ':(' => 'icon_sad.gif',
-                      ':)' => 'icon_smile.gif',
-                      ':?' => 'icon_confused.gif',
-                      ':D' => 'icon_biggrin.gif',
-                      ':P' => 'icon_razz.gif',
-                      ':o' => 'icon_surprised.gif',
-                      ':x' => 'icon_mad.gif',
-                      ':|' => 'icon_neutral.gif',
-                      ';)' => 'icon_wink.gif',
-                     ':!:' => 'icon_exclaim.gif',
-                     ':?:' => 'icon_question.gif',
+               //     '8)' => "\xf0\x9f\x98\x8e",
+                      '8O' => "\xf0\x9f\x98\xaf",
+                      ':(' => 'frownie.png',
+                      ':)' => 'simple-smile.png',
+                      ':?' => "\xf0\x9f\x98\x95",
+                      ':D' => "\xf0\x9f\x98\x80",
+                      ':P' => "\xf0\x9f\x98\x9b",
+                      ':o' => "\xf0\x9f\x98\xae",
+                      ':x' => "\xf0\x9f\x98\xa1",
+                      ':|' => "\xf0\x9f\x98\x90",
+                      ';)' => "\xf0\x9f\x98\x89",
+                     ':!:' => "\xe2\x9d\x97",
+                     ':?:' => "\xe2\x9d\x93",
                );
        }
 
@@ -3169,8 +3181,9 @@ function wp_list_filter( $list, $args = array(), $operator = 'AND' ) {
  * @param int|string $field     Field from the object to place instead of the entire object
  * @param int|string $index_key Optional. Field from the object to use as keys for the new array.
  *                              Default null.
- * @return array Array of found values. If $index_key is set, an array of found values with keys
- *               corresponding to $index_key.
+ * @return array Array of found values. If `$index_key` is set, an array of found values with keys
+ *               corresponding to `$index_key`. If `$index_key` is null, array keys from the original
+ *               `$list` will be preserved in the results.
  */
 function wp_list_pluck( $list, $field, $index_key = null ) {
        if ( ! $index_key ) {
@@ -3543,11 +3556,11 @@ function _doing_it_wrong( $function, $message, $version ) {
        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 );
-                       $message .= ' ' . __( 'Please see <a href="http://codex.wordpress.org/Debugging_in_WordPress">Debugging in WordPress</a> for more information.' );
+                       $message .= ' ' . __( 'Please see <a href="https://codex.wordpress.org/Debugging_in_WordPress">Debugging in WordPress</a> for more information.' );
                        trigger_error( sprintf( __( '%1$s was called <strong>incorrectly</strong>. %2$s %3$s' ), $function, $message, $version ) );
                } else {
                        $version = is_null( $version ) ? '' : sprintf( '(This message was added in version %s.)', $version );
-                       $message .= ' Please see <a href="http://codex.wordpress.org/Debugging_in_WordPress">Debugging in WordPress</a> for more information.';
+                       $message .= ' Please see <a href="https://codex.wordpress.org/Debugging_in_WordPress">Debugging in WordPress</a> for more information.';
                        trigger_error( sprintf( '%1$s was called <strong>incorrectly</strong>. %2$s %3$s', $function, $message, $version ) );
                }
        }
@@ -3616,7 +3629,7 @@ function iis7_supports_permalinks() {
                 * Lastly we make sure that PHP is running via FastCGI. This is important because if it runs
                 * via ISAPI then pretty permalinks will not work.
                 */
-               $supports_permalinks = class_exists('DOMDocument') && isset($_SERVER['IIS_UrlRewriteModule']) && ( php_sapi_name() == 'cgi-fcgi' );
+               $supports_permalinks = class_exists('DOMDocument') && isset($_SERVER['IIS_UrlRewriteModule']) && ( PHP_SAPI == 'cgi-fcgi' );
        }
 
        /**
@@ -4113,8 +4126,10 @@ function _cleanup_header_comment( $str ) {
 }
 
 /**
- * Permanently delete posts, pages, attachments, and comments which have been
- * in the trash for EMPTY_TRASH_DAYS.
+ * Permanently delete comments or posts of any type that have held a status
+ * of 'trash' for the number of days defined in EMPTY_TRASH_DAYS.
+ *
+ * The default value of `EMPTY_TRASH_DAYS` is 30 (days).
  *
  * @since 2.9.0
  */
@@ -4168,7 +4183,7 @@ function wp_scheduled_delete() {
  * If the file data is not within that first 8kiB, then the author should correct
  * their plugin file and move the data headers to the top.
  *
- * @link http://codex.wordpress.org/File_Header
+ * @link https://codex.wordpress.org/File_Header
  *
  * @since 2.9.0
  *
@@ -4317,7 +4332,7 @@ function send_nosniff_header() {
 /**
  * Return a MySQL expression for selecting the week number based on the start_of_week option.
  *
- * @internal
+ * @ignore
  * @since 3.0.0
  *
  * @param string $column Database column.
@@ -4809,3 +4824,24 @@ function wp_validate_boolean( $var ) {
 
        return (bool) $var;
 }
+
+/**
+ * Delete a file
+ *
+ * @since 4.2.0
+ *
+ * @param string $file The path to the file to delete.
+ */
+function wp_delete_file( $file ) {
+       /**
+        * Filter the path of the file to delete.
+        *
+        * @since 2.1.0
+        *
+        * @param string $medium Path to the file to delete.
+        */
+       $delete = apply_filters( 'wp_delete_file', $file );
+       if ( ! empty( $delete ) ) {
+               @unlink( $delete );
+       }
+}
index 6eb7a44f899868b167b35dd8b5e259090eafcbaf..c4be60c48a840d0ef7408f2974d9ee00170453a6 100644 (file)
@@ -8,6 +8,44 @@
  * @subpackage BackPress
  */
 
+/**
+ * Initialize $wp_scripts if it has not been set.
+ *
+ * @global WP_Scripts $wp_scripts
+ *
+ * @since 4.2.0
+ *
+ * @return WP_Scripts WP_Scripts instance.
+ */
+function wp_scripts() {
+       global $wp_scripts;
+       if ( ! ( $wp_scripts instanceof WP_Scripts ) ) {
+               $wp_scripts = new WP_Scripts();
+       }
+       return $wp_scripts;
+}
+
+/**
+ * Helper function to output a _doing_it_wrong message when applicable.
+ *
+ * @ignore
+ * @since 4.2.0
+ *
+ * @param string $function Function name.
+ */
+function _wp_scripts_maybe_doing_it_wrong( $function ) {
+       if ( did_action( 'init' ) ) {
+               return;
+       }
+
+       _doing_it_wrong( $function, sprintf(
+               __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
+               '<code>wp_enqueue_scripts</code>',
+               '<code>admin_enqueue_scripts</code>',
+               '<code>login_enqueue_scripts</code>'
+       ), '3.3' );
+}
+
 /**
  * Print scripts in document head that are in the $handles queue.
  *
@@ -31,22 +69,20 @@ function wp_print_scripts( $handles = false ) {
         * @since 2.1.0
         */
        do_action( 'wp_print_scripts' );
-       if ( '' === $handles ) // for wp_head
+       if ( '' === $handles ) // for wp_head
                $handles = false;
+       }
 
-       global $wp_scripts;
-       if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) {
-               if ( ! did_action( 'init' ) )
-                       _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
-                               '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
+       _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
 
-               if ( !$handles )
+       global $wp_scripts;
+       if ( ! ( $wp_scripts instanceof WP_Scripts ) ) {
+               if ( ! $handles ) {
                        return array(); // No need to instantiate if nothing is there.
-               else
-                       $wp_scripts = new WP_Scripts();
+               }
        }
 
-       return $wp_scripts->do_items( $handles );
+       return wp_scripts()->do_items( $handles );
 }
 
 /**
@@ -71,17 +107,13 @@ function wp_print_scripts( $handles = false ) {
  *                               Default 'false'. Accepts 'false' or 'true'.
  */
 function wp_register_script( $handle, $src, $deps = array(), $ver = false, $in_footer = false ) {
-       global $wp_scripts;
-       if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) {
-               if ( ! did_action( 'init' ) )
-                       _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
-                               '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
-               $wp_scripts = new WP_Scripts();
-       }
+       $wp_scripts = wp_scripts();
+       _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
 
        $wp_scripts->add( $handle, $src, $deps, $ver );
-       if ( $in_footer )
+       if ( $in_footer ) {
                $wp_scripts->add_data( $handle, 'group', 1 );
+       }
 }
 
 /**
@@ -114,15 +146,12 @@ function wp_register_script( $handle, $src, $deps = array(), $ver = false, $in_f
  */
 function wp_localize_script( $handle, $object_name, $l10n ) {
        global $wp_scripts;
-       if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) {
-               if ( ! did_action( 'init' ) )
-                       _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
-                               '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
-
+       if ( ! ( $wp_scripts instanceof WP_Scripts ) ) {
+               _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
                return false;
        }
 
-       return $wp_scripts->localize( $handle, $object_name, $l10n );
+       return wp_scripts()->localize( $handle, $object_name, $l10n );
 }
 
 /**
@@ -139,13 +168,7 @@ function wp_localize_script( $handle, $object_name, $l10n ) {
  * @param string $handle Name of the script to be removed.
  */
 function wp_deregister_script( $handle ) {
-       global $wp_scripts;
-       if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) {
-               if ( ! did_action( 'init' ) )
-                       _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
-                               '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
-               $wp_scripts = new WP_Scripts();
-       }
+       _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
 
        /**
         * Do not allow accidental or negligent de-registering of critical scripts in the admin.
@@ -172,7 +195,7 @@ function wp_deregister_script( $handle ) {
                }
        }
 
-       $wp_scripts->remove( $handle );
+       wp_scripts()->remove( $handle );
 }
 
 /**
@@ -184,7 +207,7 @@ function wp_deregister_script( $handle ) {
  * @global WP_Scripts $wp_scripts The WP_Scripts object for printing scripts.
  *
  * @since 2.6.0
-
+ *
  * @param string      $handle    Name of the script.
  * @param string|bool $src       Path to the script from the root directory of WordPress. Example: '/js/myscript.js'.
  * @param array       $deps      An array of registered handles this script depends on. Default empty array.
@@ -195,20 +218,23 @@ function wp_deregister_script( $handle ) {
  *                               Default 'false'. Accepts 'false' or 'true'.
  */
 function wp_enqueue_script( $handle, $src = false, $deps = array(), $ver = false, $in_footer = false ) {
-       global $wp_scripts;
-       if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) {
-               if ( ! did_action( 'init' ) )
-                       _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
-                               '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
-               $wp_scripts = new WP_Scripts();
-       }
+       $wp_scripts = wp_scripts();
+
+       _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
+
+
+       if ( $src || $in_footer ) {
+               $_handle = explode( '?', $handle );
 
-       if ( $src ) {
-               $_handle = explode('?', $handle);
-               $wp_scripts->add( $_handle[0], $src, $deps, $ver );
-               if ( $in_footer )
+               if ( $src ) {
+                       $wp_scripts->add( $_handle[0], $src, $deps, $ver );
+               }
+
+               if ( $in_footer ) {
                        $wp_scripts->add_data( $_handle[0], 'group', 1 );
+               }
        }
+
        $wp_scripts->enqueue( $handle );
 }
 
@@ -223,15 +249,9 @@ function wp_enqueue_script( $handle, $src = false, $deps = array(), $ver = false
  * @param string $handle Name of the script to be removed.
  */
 function wp_dequeue_script( $handle ) {
-       global $wp_scripts;
-       if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) {
-               if ( ! did_action( 'init' ) )
-                       _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
-                               '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
-               $wp_scripts = new WP_Scripts();
-       }
+       _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
 
-       $wp_scripts->dequeue( $handle );
+       wp_scripts()->dequeue( $handle );
 }
 
 /**
@@ -248,13 +268,29 @@ function wp_dequeue_script( $handle ) {
  * @return bool Whether the script script is queued.
  */
 function wp_script_is( $handle, $list = 'enqueued' ) {
-       global $wp_scripts;
-       if ( ! is_a( $wp_scripts, 'WP_Scripts' ) ) {
-               if ( ! did_action( 'init' ) )
-                       _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
-                               '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
-               $wp_scripts = new WP_Scripts();
-       }
+       _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
+
+       return (bool) wp_scripts()->query( $handle, $list );
+}
 
-       return (bool) $wp_scripts->query( $handle, $list );
+/**
+ * Add metadata to a script.
+ *
+ * Works only if the script has already been added.
+ *
+ * Possible values for $key and $value:
+ * 'conditional' string Comments for IE 6, lte IE 7, etc.
+ *
+ * @since 4.2.0
+ *
+ * @see WP_Dependency::add_data()
+ *
+ * @param string $handle Name of the script.
+ * @param string $key    Name of data point for which we're storing a value.
+ * @param mixed  $value  String containing the data to be added.
+ * @return bool True on success, false on failure.
+ */
+function wp_script_add_data( $handle, $key, $value ){
+       global $wp_scripts;
+       return $wp_scripts->add_data( $handle, $key, $value );
 }
index ead62965eb261a10f0f70399fa57f0606ce367e4..76ca28fac0114aeb6bb6e1a28b1585ab4ba27867 100644 (file)
@@ -8,6 +8,23 @@
  * @subpackage BackPress
  */
 
+/**
+ * Initialize $wp_styles if it has not been set.
+ *
+ * @global WP_Styles $wp_styles
+ *
+ * @since 4.2.0
+ *
+ * @return WP_Styles WP_Styles instance.
+ */
+function wp_styles() {
+       global $wp_styles;
+       if ( ! ( $wp_styles instanceof WP_Styles ) ) {
+               $wp_styles = new WP_Styles();
+       }
+       return $wp_styles;
+}
+
 /**
  * Display styles that are in the $handles queue.
  *
  * @return array On success, a processed array of WP_Dependencies items; otherwise, an empty array.
  */
 function wp_print_styles( $handles = false ) {
-       if ( '' === $handles ) // for wp_head
+       if ( '' === $handles ) // for wp_head
                $handles = false;
+       }
        /**
         * Fires before styles in the $handles queue are printed.
         *
         * @since 2.6.0
         */
-       if ( ! $handles )
+       if ( ! $handles ) {
                do_action( 'wp_print_styles' );
+       }
 
-       global $wp_styles;
-       if ( ! is_a( $wp_styles, 'WP_Styles' ) ) {
-               if ( ! did_action( 'init' ) )
-                       _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
-                               '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
+       _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
 
-               if ( !$handles )
+       global $wp_styles;
+       if ( ! ( $wp_styles instanceof WP_Styles ) ) {
+               if ( ! $handles ) {
                        return array(); // No need to instantiate if nothing is there.
-               else
-                       $wp_styles = new WP_Styles();
+               }
        }
 
-       return $wp_styles->do_items( $handles );
+       return wp_styles()->do_items( $handles );
 }
 
 /**
@@ -57,7 +73,6 @@ function wp_print_styles( $handles = false ) {
  * they were added, i.e. the latter added styles can redeclare the previous.
  *
  * @see WP_Styles::add_inline_style()
- * @global WP_Styles $wp_styles The WP_Styles object for printing styles.
  *
  * @since 3.3.0
  *
@@ -66,20 +81,14 @@ function wp_print_styles( $handles = false ) {
  * @return bool True on success, false on failure.
  */
 function wp_add_inline_style( $handle, $data ) {
-       global $wp_styles;
-       if ( ! is_a( $wp_styles, 'WP_Styles' ) ) {
-               if ( ! did_action( 'init' ) )
-                       _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
-                               '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
-               $wp_styles = new WP_Styles();
-       }
+       _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
 
        if ( false !== stripos( $data, '</style>' ) ) {
                _doing_it_wrong( __FUNCTION__, __( 'Do not pass style tags to wp_add_inline_style().' ), '3.7' );
                $data = trim( preg_replace( '#<style[^>]*>(.*)</style>#is', '$1', $data ) );
        }
 
-       return $wp_styles->add_inline_style( $handle, $data );
+       return wp_styles()->add_inline_style( $handle, $data );
 }
 
 /**
@@ -87,7 +96,6 @@ function wp_add_inline_style( $handle, $data ) {
  *
  * @see WP_Dependencies::add()
  * @link http://www.w3.org/TR/CSS2/media.html#media-types List of CSS media types.
- * @global WP_Styles $wp_styles The WP_Styles object for printing styles.
  *
  * @since 2.6.0
  *
@@ -101,37 +109,24 @@ function wp_add_inline_style( $handle, $data ) {
  *                            'screen', 'tty', or 'tv'.
  */
 function wp_register_style( $handle, $src, $deps = array(), $ver = false, $media = 'all' ) {
-       global $wp_styles;
-       if ( ! is_a( $wp_styles, 'WP_Styles' ) ) {
-               if ( ! did_action( 'init' ) )
-                       _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
-                               '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
-               $wp_styles = new WP_Styles();
-       }
+       _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
 
-       $wp_styles->add( $handle, $src, $deps, $ver, $media );
+       wp_styles()->add( $handle, $src, $deps, $ver, $media );
 }
 
 /**
  * Remove a registered stylesheet.
  *
  * @see WP_Dependencies::remove()
- * @global WP_Styles $wp_styles The WP_Styles object for printing styles.
  *
  * @since 2.1.0
  *
  * @param string $handle Name of the stylesheet to be removed.
  */
 function wp_deregister_style( $handle ) {
-       global $wp_styles;
-       if ( ! is_a( $wp_styles, 'WP_Styles' ) ) {
-               if ( ! did_action( 'init' ) )
-                       _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
-                               '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
-               $wp_styles = new WP_Styles();
-       }
+       _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
 
-       $wp_styles->remove( $handle );
+       wp_styles()->remove( $handle );
 }
 
 /**
@@ -141,7 +136,6 @@ function wp_deregister_style( $handle ) {
  *
  * @see WP_Dependencies::add(), WP_Dependencies::enqueue()
  * @link http://www.w3.org/TR/CSS2/media.html#media-types List of CSS media types.
- * @global WP_Styles $wp_styles The WP_Styles object for printing styles.
  *
  * @since 2.6.0
  *
@@ -157,12 +151,9 @@ function wp_deregister_style( $handle ) {
  */
 function wp_enqueue_style( $handle, $src = false, $deps = array(), $ver = false, $media = 'all' ) {
        global $wp_styles;
-       if ( ! is_a( $wp_styles, 'WP_Styles' ) ) {
-               if ( ! did_action( 'init' ) )
-                       _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
-                               '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
-               $wp_styles = new WP_Styles();
-       }
+       _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
+
+       $wp_styles = wp_styles();
 
        if ( $src ) {
                $_handle = explode('?', $handle);
@@ -175,22 +166,15 @@ function wp_enqueue_style( $handle, $src = false, $deps = array(), $ver = false,
  * Remove a previously enqueued CSS stylesheet.
  *
  * @see WP_Dependencies::dequeue()
- * @global WP_Styles $wp_styles The WP_Styles object for printing styles.
  *
  * @since 3.1.0
  *
  * @param string $handle Name of the stylesheet to be removed.
  */
 function wp_dequeue_style( $handle ) {
-       global $wp_styles;
-       if ( ! is_a( $wp_styles, 'WP_Styles' ) ) {
-               if ( ! did_action( 'init' ) )
-                       _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
-                               '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
-               $wp_styles = new WP_Styles();
-       }
+       _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
 
-       $wp_styles->dequeue( $handle );
+       wp_styles()->dequeue( $handle );
 }
 
 /**
@@ -206,15 +190,9 @@ function wp_dequeue_style( $handle ) {
  * @return bool Whether style is queued.
  */
 function wp_style_is( $handle, $list = 'enqueued' ) {
-       global $wp_styles;
-       if ( ! is_a( $wp_styles, 'WP_Styles' ) ) {
-               if ( ! did_action( 'init' ) )
-                       _doing_it_wrong( __FUNCTION__, sprintf( __( 'Scripts and styles should not be registered or enqueued until the %1$s, %2$s, or %3$s hooks.' ),
-                               '<code>wp_enqueue_scripts</code>', '<code>admin_enqueue_scripts</code>', '<code>login_enqueue_scripts</code>' ), '3.3' );
-               $wp_styles = new WP_Styles();
-       }
+       _wp_scripts_maybe_doing_it_wrong( __FUNCTION__ );
 
-       return (bool) $wp_styles->query( $handle, $list );
+       return (bool) wp_styles()->query( $handle, $list );
 }
 
 /**
@@ -240,6 +218,5 @@ function wp_style_is( $handle, $list = 'enqueued' ) {
  * @return bool True on success, false on failure.
  */
 function wp_style_add_data( $handle, $key, $value ) {
-       global $wp_styles;
-       return $wp_styles->add_data( $handle, $key, $value );
+       return wp_styles()->add_data( $handle, $key, $value );
 }
index 56f4eec2587d3e03841e112de2317da7b4d22028..f9a529f069ed13da81556f73cfb9de53a1acb58a 100644 (file)
@@ -346,11 +346,13 @@ function wp_login_url($redirect = '', $force_reauth = false) {
         * Filter the login URL.
         *
         * @since 2.8.0
+        * @since 4.2.0 The `$force_reauth` parameter was added.
         *
-        * @param string $login_url The login URL.
-        * @param string $redirect  The path to redirect to on login, if supplied.
+        * @param string $login_url    The login URL.
+        * @param string $redirect     The path to redirect to on login, if supplied.
+        * @param bool   $force_reauth Whether to force reauthorization, even if a cookie is present.
         */
-       return apply_filters( 'login_url', $login_url, $redirect );
+       return apply_filters( 'login_url', $login_url, $redirect, $force_reauth );
 }
 
 /**
@@ -607,7 +609,13 @@ function get_bloginfo( $show = '', $filter = 'raw' ) {
        switch( $show ) {
                case 'home' : // DEPRECATED
                case 'siteurl' : // DEPRECATED
-                       _deprecated_argument( __FUNCTION__, '2.2', sprintf( __('The <code>%s</code> option is deprecated for the family of <code>bloginfo()</code> functions.' ), $show ) . ' ' . sprintf( __( 'Use the <code>%s</code> option instead.' ), 'url'  ) );
+                       _deprecated_argument( __FUNCTION__, '2.2', sprintf(
+                               /* translators: 1: 'siteurl'/'home' argument, 2: bloginfo() function name, 3: 'url' argument */
+                               __( 'The %1$s option is deprecated for the family of %2$s functions. Use the %3$s option instead.' ),
+                               '<code>' . $show . '</code>',
+                               '<code>bloginfo()</code>',
+                               '<code>url</code>'
+                       ) );
                case 'url' :
                        $output = home_url();
                        break;
@@ -667,7 +675,13 @@ function get_bloginfo( $show = '', $filter = 'raw' ) {
                        $output = str_replace('_', '-', $output);
                        break;
                case 'text_direction':
-                       //_deprecated_argument( __FUNCTION__, '2.2', sprintf( __('The <code>%s</code> option is deprecated for the family of <code>bloginfo()</code> functions.' ), $show ) . ' ' . sprintf( __( 'Use the <code>%s</code> function instead.' ), 'is_rtl()'  ) );
+                       _deprecated_argument( __FUNCTION__, '2.2', sprintf(
+                               /* translators: 1: 'text_direction' argument, 2: bloginfo() function name, 3: is_rtl() function name */
+                               __( 'The %1$s option is deprecated for the family of %2$s functions. Use the %3$s function instead.' ),
+                               '<code>' . $show . '</code>',
+                               '<code>bloginfo()</code>',
+                               '<code>is_rtl()</code>'
+                       ) );
                        if ( function_exists( 'is_rtl' ) ) {
                                $output = is_rtl() ? 'rtl' : 'ltr';
                        } else {
@@ -716,9 +730,9 @@ function get_bloginfo( $show = '', $filter = 'raw' ) {
 /**
  * Display title tag with contents.
  *
+ * @ignore
  * @since 4.1.0
  * @access private
- * @internal
  *
  * @see wp_title()
  */
@@ -1312,7 +1326,7 @@ function get_archives_link($url, $text, $format = 'html', $before = '', $after =
  *     @type string     $before          Markup to prepend to the beginning of each link. Default empty.
  *     @type string     $after           Markup to append to the end of each link. Default empty.
  *     @type bool       $show_post_count Whether to display the post count alongside the link. Default false.
- *     @type bool       $echo            Whether to echo or return the links list. Default 1|true to echo.
+ *     @type bool|int   $echo            Whether to echo or return the links list. Default 1|true to echo.
  *     @type string     $order           Whether to use ascending or descending order. Accepts 'ASC', or 'DESC'.
  *                                       Default 'DESC'.
  * }
@@ -1438,7 +1452,6 @@ function wp_get_archives( $args = '' ) {
                $key = "wp_get_archives:$key:$last_changed";
                if ( ! $results = wp_cache_get( $key, 'posts' ) ) {
                        $results = $wpdb->get_results( $query );
-                       $cache[ $key ] = $results;
                        wp_cache_set( $key, $results, 'posts' );
                }
                if ( $results ) {
@@ -1482,7 +1495,7 @@ function wp_get_archives( $args = '' ) {
                        }
                }
        } elseif ( ( 'postbypost' == $r['type'] ) || ('alpha' == $r['type'] ) ) {
-               $orderby = ( 'alpha' == $r['type'] ) ? 'post_title ASC ' : 'post_date DESC ';
+               $orderby = ( 'alpha' == $r['type'] ) ? 'post_title ASC ' : 'post_date DESC, ID DESC ';
                $query = "SELECT * FROM $wpdb->posts $join $where ORDER BY $orderby $limit";
                $key = md5( $query );
                $key = "wp_get_archives:$key:$last_changed";
@@ -1657,6 +1670,8 @@ function get_calendar($initial = true, $echo = true) {
        <tbody>
        <tr>';
 
+       $daywithpost = array();
+
        // Get days with posts
        $dayswithposts = $wpdb->get_results("SELECT DISTINCT DAYOFMONTH(post_date)
                FROM $wpdb->posts WHERE post_date >= '{$thisyear}-{$thismonth}-01 00:00:00'
@@ -1666,8 +1681,6 @@ function get_calendar($initial = true, $echo = true) {
                foreach ( (array) $dayswithposts as $daywith ) {
                        $daywithpost[] = $daywith[0];
                }
-       } else {
-               $daywithpost = array();
        }
 
        if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false || stripos($_SERVER['HTTP_USER_AGENT'], 'camino') !== false || stripos($_SERVER['HTTP_USER_AGENT'], 'safari') !== false)
@@ -1757,10 +1770,6 @@ function get_calendar($initial = true, $echo = true) {
 function delete_get_calendar_cache() {
        wp_cache_delete( 'get_calendar', 'calendar' );
 }
-add_action( 'save_post', 'delete_get_calendar_cache' );
-add_action( 'delete_post', 'delete_get_calendar_cache' );
-add_action( 'update_option_start_of_week', 'delete_get_calendar_cache' );
-add_action( 'update_option_gmt_offset', 'delete_get_calendar_cache' );
 
 /**
  * Display all of the allowed tags in HTML format with attributes.
@@ -2581,7 +2590,28 @@ function language_attributes($doctype = 'html') {
  *
  * @since 2.1.0
  *
- * @param string|array $args Optional. Override defaults.
+ * @param string|array $args {
+ *     Optional. Array or string of arguments for generating paginated links for archives.
+ *
+ *     @type string $base               Base of the paginated url. Default empty.
+ *     @type string $format             Format for the pagination structure. Default empty.
+ *     @type int    $total              The total amount of pages. Default is the value WP_Query's
+ *                                      `max_num_pages` or 1.
+ *     @type int    $current            The current page number. Default is 'paged' query var or 1.
+ *     @type bool   $show_all           Whether to show all pages. Default false.
+ *     @type int    $end_size           How many numbers on either the start and the end list edges.
+ *                                      Default 1.
+ *     @type int    $mid_size           How many numbers to either side of the current pages. Default 2.
+ *     @type bool   $prev_next          Whether to include the previous and next links in the list. Default true.
+ *     @type bool   $prev_text          The previous page text. Default '« Previous'.
+ *     @type bool   $next_text          The next page text. Default '« Previous'.
+ *     @type string $type               Controls format of the returned value. Possible values are 'plain',
+ *                                      'array' and 'list'. Default is 'plain'.
+ *     @type array  $add_args           An array of query args to add. Default false.
+ *     @type string $add_fragment       A string to append to each link. Default empty.
+ *     @type string $before_page_number A string to appear before the page number. Default empty.
+ *     @type string $after_page_number  A string to append after the page number. Default empty.
+ * }
  * @return array|string String of page links or array of page links.
  */
 function paginate_links( $args = '' ) {
@@ -2764,8 +2794,8 @@ function register_admin_color_schemes() {
 
        wp_admin_css_color( 'fresh', _x( 'Default', 'admin color scheme' ),
                false,
-               array( '#222', '#333', '#0074a2', '#2ea2cc' ),
-               array( 'base' => '#999', 'focus' => '#2ea2cc', 'current' => '#fff' )
+               array( '#222', '#333', '#0073aa', '#00a0d2' ),
+               array( 'base' => '#999', 'focus' => '#00a0d2', 'current' => '#fff' )
        );
 
        // Other color schemes are not available when running out of src
@@ -2867,8 +2897,9 @@ function wp_admin_css_uri( $file = 'wp-admin' ) {
  */
 function wp_admin_css( $file = 'wp-admin', $force_echo = false ) {
        global $wp_styles;
-       if ( !is_a($wp_styles, 'WP_Styles') )
+       if ( ! ( $wp_styles instanceof WP_Styles ) ) {
                $wp_styles = new WP_Styles();
+       }
 
        // For backward compatibility
        $handle = 0 === strpos( $file, 'css/' ) ? substr( $file, 4 ) : $file;
@@ -3126,18 +3157,3 @@ function wp_heartbeat_settings( $settings ) {
 
        return $settings;
 }
-
-/**
- * Temporary function to add a missing style rule to the themes page.
- * This avoids the need to ship an entirely rebuilt wp-admin.css in partial builds.
- *
- * @since 4.1.1
- * @ignore
- */
-function _wp_add_themesphp_notice_styling() {
-       global $pagenow;
-       if ( 'themes.php' == $pagenow ) {
-               echo "<style type='text/css'>.themes-php div.notice { margin: 0 0 20px 0; clear: both; }</style>\n";
-       }
-}
-add_action( 'admin_head', '_wp_add_themesphp_notice_styling' );
\ No newline at end of file
diff --git a/wp-includes/images/smilies/frownie.png b/wp-includes/images/smilies/frownie.png
new file mode 100644 (file)
index 0000000..1f888a6
Binary files /dev/null and b/wp-includes/images/smilies/frownie.png differ
diff --git a/wp-includes/images/smilies/mrgreen.png b/wp-includes/images/smilies/mrgreen.png
new file mode 100644 (file)
index 0000000..b5e541f
Binary files /dev/null and b/wp-includes/images/smilies/mrgreen.png differ
diff --git a/wp-includes/images/smilies/rolleyes.png b/wp-includes/images/smilies/rolleyes.png
new file mode 100644 (file)
index 0000000..fe3bf8d
Binary files /dev/null and b/wp-includes/images/smilies/rolleyes.png differ
diff --git a/wp-includes/images/smilies/simple-smile.png b/wp-includes/images/smilies/simple-smile.png
new file mode 100644 (file)
index 0000000..dc334ab
Binary files /dev/null and b/wp-includes/images/smilies/simple-smile.png differ
index 912485c642982205be1b5d9143b33a5f1727363d..c028db9d64849bbe844c4b524329d29f67f84c31 100644 (file)
@@ -3,8 +3,8 @@
 if ( typeof(jQuery) != 'undefined' ) {
        if ( typeof(jQuery.fn.hoverIntent) == 'undefined' ) {
                /* jshint ignore:start */
-               // hoverIntent r6 - Copy of wp-includes/js/hoverIntent.min.js
-               (function(a){a.fn.hoverIntent=function(m,d,h){var j={interval:100,sensitivity:7,timeout:0};if(typeof m==="object"){j=a.extend(j,m)}else{if(a.isFunction(d)){j=a.extend(j,{over:m,out:d,selector:h})}else{j=a.extend(j,{over:m,out:m,selector:d})}}var l,k,g,f;var e=function(n){l=n.pageX;k=n.pageY};var c=function(o,n){n.hoverIntent_t=clearTimeout(n.hoverIntent_t);if((Math.abs(g-l)+Math.abs(f-k))<j.sensitivity){a(n).off("mousemove.hoverIntent",e);n.hoverIntent_s=1;return j.over.apply(n,[o])}else{g=l;f=k;n.hoverIntent_t=setTimeout(function(){c(o,n)},j.interval)}};var i=function(o,n){n.hoverIntent_t=clearTimeout(n.hoverIntent_t);n.hoverIntent_s=0;return j.out.apply(n,[o])};var b=function(p){var o=jQuery.extend({},p);var n=this;if(n.hoverIntent_t){n.hoverIntent_t=clearTimeout(n.hoverIntent_t)}if(p.type=="mouseenter"){g=o.pageX;f=o.pageY;a(n).on("mousemove.hoverIntent",e);if(n.hoverIntent_s!=1){n.hoverIntent_t=setTimeout(function(){c(o,n)},j.interval)}}else{a(n).off("mousemove.hoverIntent",e);if(n.hoverIntent_s==1){n.hoverIntent_t=setTimeout(function(){i(o,n)},j.timeout)}}};return this.on({"mouseenter.hoverIntent":b,"mouseleave.hoverIntent":b},j.selector)}})(jQuery);
+               // hoverIntent v1.8.1 - Copy of wp-includes/js/hoverIntent.min.js
+               !function(a){a.fn.hoverIntent=function(b,c,d){var e={interval:100,sensitivity:6,timeout:0};e="object"==typeof b?a.extend(e,b):a.isFunction(c)?a.extend(e,{over:b,out:c,selector:d}):a.extend(e,{over:b,out:b,selector:c});var f,g,h,i,j=function(a){f=a.pageX,g=a.pageY},k=function(b,c){return c.hoverIntent_t=clearTimeout(c.hoverIntent_t),Math.sqrt((h-f)*(h-f)+(i-g)*(i-g))<e.sensitivity?(a(c).off("mousemove.hoverIntent",j),c.hoverIntent_s=!0,e.over.apply(c,[b])):(h=f,i=g,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=!1,e.out.apply(b,[a])},m=function(b){var c=a.extend({},b),d=this;d.hoverIntent_t&&(d.hoverIntent_t=clearTimeout(d.hoverIntent_t)),"mouseenter"===b.type?(h=c.pageX,i=c.pageY,a(d).on("mousemove.hoverIntent",j),d.hoverIntent_s||(d.hoverIntent_t=setTimeout(function(){k(c,d)},e.interval))):(a(d).off("mousemove.hoverIntent",j),d.hoverIntent_s&&(d.hoverIntent_t=setTimeout(function(){l(c,d)},e.timeout)))};return this.on({"mouseenter.hoverIntent":m,"mouseleave.hoverIntent":m},e.selector)}}(jQuery);
                /* jshint ignore:end */
        }
        jQuery(document).ready(function($){
@@ -91,7 +91,9 @@ if ( typeof(jQuery) != 'undefined' ) {
                        if ( e.which != 13 )
                                return;
 
-                       var target = $(e.target), wrap = target.closest('ab-sub-wrapper');
+                       var target = $(e.target),
+                               wrap = target.closest('.ab-sub-wrapper'),
+                               parentHasHover = target.parent().hasClass('hover');
 
                        e.stopPropagation();
                        e.preventDefault();
@@ -100,7 +102,11 @@ if ( typeof(jQuery) != 'undefined' ) {
                                wrap = $('#wpadminbar .quicklinks');
 
                        wrap.find('.menupop').removeClass('hover');
-                       target.parent().toggleClass('hover');
+
+                       if ( ! parentHasHover ) {
+                               target.parent().toggleClass('hover');
+                       }
+
                        target.siblings('.ab-sub-wrapper').find('.ab-item').each(refresh);
                }).each(refresh);
 
@@ -143,6 +149,14 @@ if ( typeof(jQuery) != 'undefined' ) {
                        }
                });
 
+               $( '#adminbar-search' ).on({
+                       focus: function() {
+                               $( '#adminbarsearch' ).addClass( 'adminbar-focused' );
+                       }, blur: function() {
+                               $( '#adminbarsearch' ).removeClass( 'adminbar-focused' );
+                       }
+               } );
+
                // Empty sessionStorage on logging out
                if ( 'sessionStorage' in window ) {
                        $('#wp-admin-bar-logout a').click( function() {
index 1d43a7ccbd3205ff38d0724074c020383e4c8c8c..d4082036d65077d97cfc73b81dbdfe3e7e33aa22 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=Math.round(b>800?b/30:b/20),e=[],f=0;b;)b-=d,0>b&&(b=0),e.push(b),setTimeout(function(){window.scrollTo(0,e.shift())},f*c),f++};d(b,"load",function(){c=a.getElementById("wpadminbar"),a.body&&c&&(a.body.appendChild(c),c.className&&(c.className=c.className.replace(/nojs/,"")),d(c,"mouseover",function(a){i(a.target||a.srcElement)}),d(c,"mouseout",function(a){j(a.target||a.srcElement)}),d(c,"click",k),d(c,"click",function(a){l(a.target||a.srcElement)}),d(document.getElementById("wp-admin-bar-logout"),"click",function(){if("sessionStorage"in window)try{for(var a in sessionStorage)-1!=a.indexOf("wp-autosave-")&&sessionStorage.removeItem(a)}catch(b){}})),b.location.hash&&b.scrollBy(0,-32),navigator.userAgent&&-1===document.body.className.indexOf("no-font-face")&&/Android (1.0|1.1|1.5|1.6|2.0|2.1)|Nokia|Opera Mini|w(eb)?OSBrowser|webOS|UCWEB|Windows Phone OS 7|XBLWP7|ZuneWP7|MSIE 7/.test(navigator.userAgent)&&(document.body.className+=" no-font-face")})}(document,window);
\ No newline at end of file
+"undefined"!=typeof jQuery?("undefined"==typeof jQuery.fn.hoverIntent&&!function(a){a.fn.hoverIntent=function(b,c,d){var e={interval:100,sensitivity:6,timeout:0};e="object"==typeof b?a.extend(e,b):a.isFunction(c)?a.extend(e,{over:b,out:c,selector:d}):a.extend(e,{over:b,out:b,selector:c});var f,g,h,i,j=function(a){f=a.pageX,g=a.pageY},k=function(b,c){return c.hoverIntent_t=clearTimeout(c.hoverIntent_t),Math.sqrt((h-f)*(h-f)+(i-g)*(i-g))<e.sensitivity?(a(c).off("mousemove.hoverIntent",j),c.hoverIntent_s=!0,e.over.apply(c,[b])):(h=f,i=g,void(c.hoverIntent_t=setTimeout(function(){k(b,c)},e.interval)))},l=function(a,b){return b.hoverIntent_t=clearTimeout(b.hoverIntent_t),b.hoverIntent_s=!1,e.out.apply(b,[a])},m=function(b){var c=a.extend({},b),d=this;d.hoverIntent_t&&(d.hoverIntent_t=clearTimeout(d.hoverIntent_t)),"mouseenter"===b.type?(h=c.pageX,i=c.pageY,a(d).on("mousemove.hoverIntent",j),d.hoverIntent_s||(d.hoverIntent_t=setTimeout(function(){k(c,d)},e.interval))):(a(d).off("mousemove.hoverIntent",j),d.hoverIntent_s&&(d.hoverIntent_t=setTimeout(function(){l(c,d)},e.timeout)))};return this.on({"mouseenter.hoverIntent":m,"mouseleave.hoverIntent":m},e.selector)}}(jQuery),jQuery(document).ready(function(a){var b,c,d,e=a("#wpadminbar"),f=!1;b=function(b,c){var d=a(c),e=d.attr("tabindex");e&&d.attr("tabindex","0").attr("tabindex",e)},c=function(b){e.find("li.menupop").on("click.wp-mobile-hover",function(c){var d=a(this);d.parent().is("#wp-admin-bar-root-default")&&!d.hasClass("hover")?(c.preventDefault(),e.find("li.menupop.hover").removeClass("hover"),d.addClass("hover")):d.hasClass("hover")||(c.stopPropagation(),c.preventDefault(),d.addClass("hover")),b&&(a("li.menupop").off("click.wp-mobile-hover"),f=!1)})},d=function(){var b=/Mobile\/.+Safari/.test(navigator.userAgent)?"touchstart":"click";a(document.body).on(b+".wp-mobile-hover",function(b){a(b.target).closest("#wpadminbar").length||e.find("li.menupop.hover").removeClass("hover")})},e.removeClass("nojq").removeClass("nojs"),"ontouchstart"in window?(e.on("touchstart",function(){c(!0),f=!0}),d()):/IEMobile\/[1-9]/.test(navigator.userAgent)&&(c(),d()),e.find("li.menupop").hoverIntent({over:function(){f||a(this).addClass("hover")},out:function(){f||a(this).removeClass("hover")},timeout:180,sensitivity:7,interval:100}),window.location.hash&&window.scrollBy(0,-32),a("#wp-admin-bar-get-shortlink").click(function(b){b.preventDefault(),a(this).addClass("selected").children(".shortlink-input").blur(function(){a(this).parents("#wp-admin-bar-get-shortlink").removeClass("selected")}).focus().select()}),a("#wpadminbar li.menupop > .ab-item").bind("keydown.adminbar",function(c){if(13==c.which){var d=a(c.target),e=d.closest(".ab-sub-wrapper"),f=d.parent().hasClass("hover");c.stopPropagation(),c.preventDefault(),e.length||(e=a("#wpadminbar .quicklinks")),e.find(".menupop").removeClass("hover"),f||d.parent().toggleClass("hover"),d.siblings(".ab-sub-wrapper").find(".ab-item").each(b)}}).each(b),a("#wpadminbar .ab-item").bind("keydown.adminbar",function(c){if(27==c.which){var d=a(c.target);c.stopPropagation(),c.preventDefault(),d.closest(".hover").removeClass("hover").children(".ab-item").focus(),d.siblings(".ab-sub-wrapper").find(".ab-item").each(b)}}),a("#wpadminbar").click(function(b){("wpadminbar"==b.target.id||"wp-admin-bar-top-secondary"==b.target.id)&&(b.preventDefault(),a("html, body").animate({scrollTop:0},"fast"))}),a(".screen-reader-shortcut").keydown(function(b){var c,d;13==b.which&&(c=a(this).attr("href"),d=navigator.userAgent.toLowerCase(),-1!=d.indexOf("applewebkit")&&c&&"#"==c.charAt(0)&&setTimeout(function(){a(c).focus()},100))}),a("#adminbar-search").on({focus:function(){a("#adminbarsearch").addClass("adminbar-focused")},blur:function(){a("#adminbarsearch").removeClass("adminbar-focused")}}),"sessionStorage"in window&&a("#wp-admin-bar-logout a").click(function(){try{for(var a in sessionStorage)-1!=a.indexOf("wp-autosave-")&&sessionStorage.removeItem(a)}catch(b){}}),navigator.userAgent&&-1===document.body.className.indexOf("no-font-face")&&/Android (1.0|1.1|1.5|1.6|2.0|2.1)|Nokia|Opera Mini|w(eb)?OSBrowser|webOS|UCWEB|Windows Phone OS 7|XBLWP7|ZuneWP7|MSIE 7/.test(navigator.userAgent)&&(document.body.className+=" no-font-face")})):!function(a,b){var c,d=function(a,b,c){a.addEventListener?a.addEventListener(b,c,!1):a.attachEvent&&a.attachEvent("on"+b,function(){return c.call(a,window.event)})},e=new RegExp("\\bhover\\b","g"),f=[],g=new RegExp("\\bselected\\b","g"),h=function(a){for(var b=f.length;b--;)if(f[b]&&a==f[b][1])return f[b][0];return!1},i=function(b){for(var d,i,j,k,l,m,n=[],o=0;b&&b!=c&&b!=a;)"LI"==b.nodeName.toUpperCase()&&(n[n.length]=b,i=h(b),i&&clearTimeout(i),b.className=b.className?b.className.replace(e,"")+" hover":"hover",k=b),b=b.parentNode;if(k&&k.parentNode&&(l=k.parentNode,l&&"UL"==l.nodeName.toUpperCase()))for(d=l.childNodes.length;d--;)m=l.childNodes[d],m!=k&&(m.className=m.className?m.className.replace(g,""):"");for(d=f.length;d--;){for(j=!1,o=n.length;o--;)n[o]==f[d][1]&&(j=!0);j||(f[d][1].className=f[d][1].className?f[d][1].className.replace(e,""):"")}},j=function(b){for(;b&&b!=c&&b!=a;)"LI"==b.nodeName.toUpperCase()&&!function(a){var b=setTimeout(function(){a.className=a.className?a.className.replace(e,""):""},500);f[f.length]=[b,a]}(b),b=b.parentNode},k=function(b){for(var d,e,f,h=b.target||b.srcElement;;){if(!h||h==a||h==c)return;if(h.id&&"wp-admin-bar-get-shortlink"==h.id)break;h=h.parentNode}for(b.preventDefault&&b.preventDefault(),b.returnValue=!1,-1==h.className.indexOf("selected")&&(h.className+=" selected"),d=0,e=h.childNodes.length;e>d;d++)if(f=h.childNodes[d],f.className&&-1!=f.className.indexOf("shortlink-input")){f.focus(),f.select(),f.onblur=function(){h.className=h.className?h.className.replace(g,""):""};break}return!1},l=function(a){var b,c,d,e,f,g;if(!("wpadminbar"!=a.id&&"wp-admin-bar-top-secondary"!=a.id||(b=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,1>b)))for(g=b>800?130:100,c=Math.min(12,Math.round(b/g)),d=Math.round(b>800?b/30:b/20),e=[],f=0;b;)b-=d,0>b&&(b=0),e.push(b),setTimeout(function(){window.scrollTo(0,e.shift())},f*c),f++};d(b,"load",function(){c=a.getElementById("wpadminbar"),a.body&&c&&(a.body.appendChild(c),c.className&&(c.className=c.className.replace(/nojs/,"")),d(c,"mouseover",function(a){i(a.target||a.srcElement)}),d(c,"mouseout",function(a){j(a.target||a.srcElement)}),d(c,"click",k),d(c,"click",function(a){l(a.target||a.srcElement)}),d(document.getElementById("wp-admin-bar-logout"),"click",function(){if("sessionStorage"in window)try{for(var a in sessionStorage)-1!=a.indexOf("wp-autosave-")&&sessionStorage.removeItem(a)}catch(b){}})),b.location.hash&&b.scrollBy(0,-32),navigator.userAgent&&-1===document.body.className.indexOf("no-font-face")&&/Android (1.0|1.1|1.5|1.6|2.0|2.1)|Nokia|Opera Mini|w(eb)?OSBrowser|webOS|UCWEB|Windows Phone OS 7|XBLWP7|ZuneWP7|MSIE 7/.test(navigator.userAgent)&&(document.body.className+=" no-font-face")})}(document,window);
\ No newline at end of file
index f06015a7c708b6f711d26baccc53fbd1adb783a8..0688e198c69789b9dbf3b7bd65c4ac7f35e16875 100644 (file)
@@ -1 +1 @@
-!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
+(function(t,e){if(typeof define==="function"&&define.amd){define(["underscore","jquery","exports"],function(i,r,s){t.Backbone=e(t,s,i,r)})}else if(typeof exports!=="undefined"){var i=require("underscore");e(t,exports,i)}else{t.Backbone=e(t,{},t._,t.jQuery||t.Zepto||t.ender||t.$)}})(this,function(t,e,i,r){var s=t.Backbone;var n=[];var a=n.push;var o=n.slice;var h=n.splice;e.VERSION="1.1.2";e.$=r;e.noConflict=function(){t.Backbone=s;return this};e.emulateHTTP=false;e.emulateJSON=false;var u=e.Events={on:function(t,e,i){if(!c(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,r){if(!c(this,"once",t,[e,r])||!e)return this;var s=this;var n=i.once(function(){s.off(t,n);e.apply(this,arguments)});n._callback=e;return this.on(t,n,r)},off:function(t,e,r){var s,n,a,o,h,u,l,f;if(!this._events||!c(this,"off",t,[e,r]))return this;if(!t&&!e&&!r){this._events=void 0;return this}o=t?[t]:i.keys(this._events);for(h=0,u=o.length;h<u;h++){t=o[h];if(a=this._events[t]){this._events[t]=s=[];if(e||r){for(l=0,f=a.length;l<f;l++){n=a[l];if(e&&e!==n.callback&&e!==n.callback._callback||r&&r!==n.context){s.push(n)}}}if(!s.length)delete this._events[t]}}return this},trigger:function(t){if(!this._events)return this;var e=o.call(arguments,1);if(!c(this,"trigger",t,e))return this;var i=this._events[t];var r=this._events.all;if(i)f(i,e);if(r)f(r,arguments);return this},stopListening:function(t,e,r){var s=this._listeningTo;if(!s)return this;var n=!e&&!r;if(!r&&typeof e==="object")r=this;if(t)(s={})[t._listenId]=t;for(var a in s){t=s[a];t.off(e,r,this);if(n||i.isEmpty(t._events))delete this._listeningTo[a]}return this}};var l=/\s+/;var c=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(l.test(i)){var n=i.split(l);for(var a=0,o=n.length;a<o;a++){t[e].apply(t,[n[a]].concat(r))}return false}return true};var f=function(t,e){var i,r=-1,s=t.length,n=e[0],a=e[1],o=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,o);return;default:while(++r<s)(i=t[r]).callback.apply(i.ctx,e);return}};var d={listenTo:"on",listenToOnce:"once"};i.each(d,function(t,e){u[e]=function(e,r,s){var n=this._listeningTo||(this._listeningTo={});var a=e._listenId||(e._listenId=i.uniqueId("l"));n[a]=e;if(!s&&typeof r==="object")s=this;e[t](r,s,this);return this}});u.bind=u.on;u.unbind=u.off;i.extend(e,u);var p=e.Model=function(t,e){var r=t||{};e||(e={});this.cid=i.uniqueId("c");this.attributes={};if(e.collection)this.collection=e.collection;if(e.parse)r=this.parse(r,e)||{};r=i.defaults({},r,i.result(this,"defaults"));this.set(r,e);this.changed={};this.initialize.apply(this,arguments)};i.extend(p.prototype,u,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(t){return i.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return i.escape(this.get(t))},has:function(t){return this.get(t)!=null},set:function(t,e,r){var s,n,a,o,h,u,l,c;if(t==null)return this;if(typeof t==="object"){n=t;r=e}else{(n={})[t]=e}r||(r={});if(!this._validate(n,r))return false;a=r.unset;h=r.silent;o=[];u=this._changing;this._changing=true;if(!u){this._previousAttributes=i.clone(this.attributes);this.changed={}}c=this.attributes,l=this._previousAttributes;if(this.idAttribute in n)this.id=n[this.idAttribute];for(s in n){e=n[s];if(!i.isEqual(c[s],e))o.push(s);if(!i.isEqual(l[s],e)){this.changed[s]=e}else{delete this.changed[s]}a?delete c[s]:c[s]=e}if(!h){if(o.length)this._pending=r;for(var f=0,d=o.length;f<d;f++){this.trigger("change:"+o[f],this,c[o[f]],r)}}if(u)return this;if(!h){while(this._pending){r=this._pending;this._pending=false;this.trigger("change",this,r)}}this._pending=false;this._changing=false;return this},unset:function(t,e){return this.set(t,void 0,i.extend({},e,{unset:true}))},clear:function(t){var e={};for(var r in this.attributes)e[r]=void 0;return this.set(e,i.extend({},t,{unset:true}))},hasChanged:function(t){if(t==null)return!i.isEmpty(this.changed);return i.has(this.changed,t)},changedAttributes:function(t){if(!t)return this.hasChanged()?i.clone(this.changed):false;var e,r=false;var s=this._changing?this._previousAttributes:this.attributes;for(var n in t){if(i.isEqual(s[n],e=t[n]))continue;(r||(r={}))[n]=e}return r},previous:function(t){if(t==null||!this._previousAttributes)return null;return this._previousAttributes[t]},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(t){t=t?i.clone(t):{};if(t.parse===void 0)t.parse=true;var e=this;var r=t.success;t.success=function(i){if(!e.set(e.parse(i,t),t))return false;if(r)r(e,i,t);e.trigger("sync",e,i,t)};q(this,t);return this.sync("read",this,t)},save:function(t,e,r){var s,n,a,o=this.attributes;if(t==null||typeof t==="object"){s=t;r=e}else{(s={})[t]=e}r=i.extend({validate:true},r);if(s&&!r.wait){if(!this.set(s,r))return false}else{if(!this._validate(s,r))return false}if(s&&r.wait){this.attributes=i.extend({},o,s)}if(r.parse===void 0)r.parse=true;var h=this;var u=r.success;r.success=function(t){h.attributes=o;var e=h.parse(t,r);if(r.wait)e=i.extend(s||{},e);if(i.isObject(e)&&!h.set(e,r)){return false}if(u)u(h,t,r);h.trigger("sync",h,t,r)};q(this,r);n=this.isNew()?"create":r.patch?"patch":"update";if(n==="patch")r.attrs=s;a=this.sync(n,this,r);if(s&&r.wait)this.attributes=o;return a},destroy:function(t){t=t?i.clone(t):{};var e=this;var r=t.success;var s=function(){e.trigger("destroy",e,e.collection,t)};t.success=function(i){if(t.wait||e.isNew())s();if(r)r(e,i,t);if(!e.isNew())e.trigger("sync",e,i,t)};if(this.isNew()){t.success();return false}q(this,t);var n=this.sync("delete",this,t);if(!t.wait)s();return n},url:function(){var t=i.result(this,"urlRoot")||i.result(this.collection,"url")||M();if(this.isNew())return t;return t.replace(/([^\/])$/,"$1/")+encodeURIComponent(this.id)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},i.extend(t||{},{validate:true}))},_validate:function(t,e){if(!e.validate||!this.validate)return true;t=i.extend({},this.attributes,t);var r=this.validationError=this.validate(t,e)||null;if(!r)return true;this.trigger("invalid",this,r,i.extend(e,{validationError:r}));return false}});var v=["keys","values","pairs","invert","pick","omit"];i.each(v,function(t){p.prototype[t]=function(){var e=o.call(arguments);e.unshift(this.attributes);return i[t].apply(i,e)}});var g=e.Collection=function(t,e){e||(e={});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,i.extend({silent:true},e))};var m={add:true,remove:true,merge:true};var y={add:true,remove:false};i.extend(g.prototype,u,{model:p,initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,i.extend({merge:false},e,y))},remove:function(t,e){var r=!i.isArray(t);t=r?[t]:i.clone(t);e||(e={});var s,n,a,o;for(s=0,n=t.length;s<n;s++){o=t[s]=this.get(t[s]);if(!o)continue;delete this._byId[o.id];delete this._byId[o.cid];a=this.indexOf(o);this.models.splice(a,1);this.length--;if(!e.silent){e.index=a;o.trigger("remove",o,this,e)}this._removeReference(o,e)}return r?t[0]:t},set:function(t,e){e=i.defaults({},e,m);if(e.parse)t=this.parse(t,e);var r=!i.isArray(t);t=r?t?[t]:[]:i.clone(t);var s,n,a,o,h,u,l;var c=e.at;var f=this.model;var d=this.comparator&&c==null&&e.sort!==false;var v=i.isString(this.comparator)?this.comparator:null;var g=[],y=[],_={};var b=e.add,w=e.merge,x=e.remove;var E=!d&&b&&x?[]:false;for(s=0,n=t.length;s<n;s++){h=t[s]||{};if(h instanceof p){a=o=h}else{a=h[f.prototype.idAttribute||"id"]}if(u=this.get(a)){if(x)_[u.cid]=true;if(w){h=h===o?o.attributes:h;if(e.parse)h=u.parse(h,e);u.set(h,e);if(d&&!l&&u.hasChanged(v))l=true}t[s]=u}else if(b){o=t[s]=this._prepareModel(h,e);if(!o)continue;g.push(o);this._addReference(o,e)}o=u||o;if(E&&(o.isNew()||!_[o.id]))E.push(o);_[o.id]=true}if(x){for(s=0,n=this.length;s<n;++s){if(!_[(o=this.models[s]).cid])y.push(o)}if(y.length)this.remove(y,e)}if(g.length||E&&E.length){if(d)l=true;this.length+=g.length;if(c!=null){for(s=0,n=g.length;s<n;s++){this.models.splice(c+s,0,g[s])}}else{if(E)this.models.length=0;var k=E||g;for(s=0,n=k.length;s<n;s++){this.models.push(k[s])}}}if(l)this.sort({silent:true});if(!e.silent){for(s=0,n=g.length;s<n;s++){(o=g[s]).trigger("add",o,this,e)}if(l||E&&E.length)this.trigger("sort",this,e)}return r?t[0]:t},reset:function(t,e){e||(e={});for(var r=0,s=this.models.length;r<s;r++){this._removeReference(this.models[r],e)}e.previousModels=this.models;this._reset();t=this.add(t,i.extend({silent:true},e));if(!e.silent)this.trigger("reset",this,e);return t},push:function(t,e){return this.add(t,i.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);this.remove(e,t);return e},unshift:function(t,e){return this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);this.remove(e,t);return e},slice:function(){return o.apply(this.models,arguments)},get:function(t){if(t==null)return void 0;return this._byId[t]||this._byId[t.id]||this._byId[t.cid]},at:function(t){return this.models[t]},where:function(t,e){if(i.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(i.isString(this.comparator)||this.comparator.length===1){this.models=this.sortBy(this.comparator,this)}else{this.models.sort(i.bind(this.comparator,this))}if(!t.silent)this.trigger("sort",this,t);return this},pluck:function(t){return i.invoke(this.models,"get",t)},fetch:function(t){t=t?i.clone(t):{};if(t.parse===void 0)t.parse=true;var e=t.success;var r=this;t.success=function(i){var s=t.reset?"reset":"set";r[s](i,t);if(e)e(r,i,t);r.trigger("sync",r,i,t)};q(this,t);return this.sync("read",this,t)},create:function(t,e){e=e?i.clone(e):{};if(!(t=this._prepareModel(t,e)))return false;if(!e.wait)this.add(t,e);var r=this;var s=e.success;e.success=function(t,i){if(e.wait)r.add(t,e);if(s)s(t,i,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 p)return t;e=e?i.clone(e):{};e.collection=this;var r=new this.model(t,e);if(!r.validationError)return r;this.trigger("invalid",this,r.validationError,e);return false},_addReference:function(t,e){this._byId[t.cid]=t;if(t.id!=null)this._byId[t.id]=t;if(!t.collection)t.collection=this;t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){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","difference","indexOf","shuffle","lastIndexOf","isEmpty","chain","sample"];i.each(_,function(t){g.prototype[t]=function(){var e=o.call(arguments);e.unshift(this.models);return i[t].apply(i,e)}});var b=["groupBy","countBy","sortBy","indexBy"];i.each(b,function(t){g.prototype[t]=function(e,r){var s=i.isFunction(e)?e:function(t){return t.get(e)};return i[t](this.models,s,r)}});var w=e.View=function(t){this.cid=i.uniqueId("view");t||(t={});i.extend(this,i.pick(t,E));this._ensureElement();this.initialize.apply(this,arguments);this.delegateEvents()};var x=/^(\S+)\s*(.*)$/;var E=["model","collection","el","id","attributes","className","tagName","events"];i.extend(w.prototype,u,{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,i){if(this.$el)this.undelegateEvents();this.$el=t instanceof e.$?t:e.$(t);this.el=this.$el[0];if(i!==false)this.delegateEvents();return this},delegateEvents:function(t){if(!(t||(t=i.result(this,"events"))))return this;this.undelegateEvents();for(var e in t){var r=t[e];if(!i.isFunction(r))r=this[t[e]];if(!r)continue;var s=e.match(x);var n=s[1],a=s[2];r=i.bind(r,this);n+=".delegateEvents"+this.cid;if(a===""){this.$el.on(n,r)}else{this.$el.on(n,a,r)}}return this},undelegateEvents:function(){this.$el.off(".delegateEvents"+this.cid);return this},_ensureElement:function(){if(!this.el){var t=i.extend({},i.result(this,"attributes"));if(this.id)t.id=i.result(this,"id");if(this.className)t["class"]=i.result(this,"className");var r=e.$("<"+i.result(this,"tagName")+">").attr(t);this.setElement(r,false)}else{this.setElement(i.result(this,"el"),false)}}});e.sync=function(t,r,s){var n=T[t];i.defaults(s||(s={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:n,dataType:"json"};if(!s.url){a.url=i.result(r,"url")||M()}if(s.data==null&&r&&(t==="create"||t==="update"||t==="patch")){a.contentType="application/json";a.data=JSON.stringify(s.attrs||r.toJSON(s))}if(s.emulateJSON){a.contentType="application/x-www-form-urlencoded";a.data=a.data?{model:a.data}:{}}if(s.emulateHTTP&&(n==="PUT"||n==="DELETE"||n==="PATCH")){a.type="POST";if(s.emulateJSON)a.data._method=n;var o=s.beforeSend;s.beforeSend=function(t){t.setRequestHeader("X-HTTP-Method-Override",n);if(o)return o.apply(this,arguments)}}if(a.type!=="GET"&&!s.emulateJSON){a.processData=false}if(a.type==="PATCH"&&k){a.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}var h=s.xhr=e.ajax(i.extend(a,s));r.trigger("request",r,h,s);return h};var k=typeof window!=="undefined"&&!!window.ActiveXObject&&!(window.XMLHttpRequest&&(new XMLHttpRequest).dispatchEvent);var T={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var $=e.Router=function(t){t||(t={});if(t.routes)this.routes=t.routes;this._bindRoutes();this.initialize.apply(this,arguments)};var S=/\((.*?)\)/g;var H=/(\(\?)?:\w+/g;var A=/\*\w+/g;var I=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend($.prototype,u,{initialize:function(){},route:function(t,r,s){if(!i.isRegExp(t))t=this._routeToRegExp(t);if(i.isFunction(r)){s=r;r=""}if(!s)s=this[r];var n=this;e.history.route(t,function(i){var a=n._extractParameters(t,i);n.execute(s,a);n.trigger.apply(n,["route:"+r].concat(a));n.trigger("route",r,a);e.history.trigger("route",n,r,a)});return this},execute:function(t,e){if(t)t.apply(this,e)},navigate:function(t,i){e.history.navigate(t,i);return this},_bindRoutes:function(){if(!this.routes)return;this.routes=i.result(this,"routes");var t,e=i.keys(this.routes);while((t=e.pop())!=null){this.route(t,this.routes[t])}},_routeToRegExp:function(t){t=t.replace(I,"\\$&").replace(S,"(?:$1)?").replace(H,function(t,e){return e?t:"([^/?]+)"}).replace(A,"([^?]*?)");return new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var r=t.exec(e).slice(1);return i.map(r,function(t,e){if(e===r.length-1)return t||null;return t?decodeURIComponent(t):null})}});var N=e.History=function(){this.handlers=[];i.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var R=/^[#\/]|\s+$/g;var O=/^\/+|\/+$/g;var P=/msie [\w.]+/;var C=/\/$/;var j=/#.*$/;N.started=false;i.extend(N.prototype,u,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root},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=decodeURI(this.location.pathname+this.location.search);var i=this.root.replace(C,"");if(!t.indexOf(i))t=t.slice(i.length)}else{t=this.getHash()}}return t.replace(R,"")},start:function(t){if(N.started)throw new Error("Backbone.history has already been started");N.started=true;this.options=i.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 r=this.getFragment();var s=document.documentMode;var n=P.exec(navigator.userAgent.toLowerCase())&&(!s||s<=7);this.root=("/"+this.root+"/").replace(O,"/");if(n&&this._wantsHashChange){var a=e.$('<iframe src="javascript:0" tabindex="-1">');this.iframe=a.hide().appendTo("body")[0].contentWindow;this.navigate(r)}if(this._hasPushState){e.$(window).on("popstate",this.checkUrl)}else if(this._wantsHashChange&&"onhashchange"in window&&!n){e.$(window).on("hashchange",this.checkUrl)}else if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}this.fragment=r;var o=this.location;if(this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){this.fragment=this.getFragment(null,true);this.location.replace(this.root+"#"+this.fragment);return true}else if(this._hasPushState&&this.atRoot()&&o.hash){this.fragment=this.getHash().replace(R,"");this.history.replaceState({},document.title,this.root+this.fragment)}}if(!this.options.silent)return this.loadUrl()},stop:function(){e.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl);if(this._checkUrlInterval)clearInterval(this._checkUrlInterval);N.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()},loadUrl:function(t){t=this.fragment=this.getFragment(t);return i.any(this.handlers,function(e){if(e.route.test(t)){e.callback(t);return true}})},navigate:function(t,e){if(!N.started)return false;if(!e||e===true)e={trigger:!!e};var i=this.root+(t=this.getFragment(t||""));t=t.replace(j,"");if(this.fragment===t)return;this.fragment=t;if(t===""&&i!=="/")i=i.slice(0,-1);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)return this.loadUrl(t)},_updateHash:function(t,e,i){if(i){var r=t.href.replace(/(javascript:|#).*$/,"");t.replace(r+"#"+e)}else{t.hash="#"+e}}});e.history=new N;var U=function(t,e){var r=this;var s;if(t&&i.has(t,"constructor")){s=t.constructor}else{s=function(){return r.apply(this,arguments)}}i.extend(s,r,e);var n=function(){this.constructor=s};n.prototype=r.prototype;s.prototype=new n;if(t)i.extend(s.prototype,t);s.__super__=r.prototype;return s};p.extend=g.extend=$.extend=w.extend=N.extend=U;var M=function(){throw new Error('A "url" property or function must be specified')};var q=function(t,e){var i=e.error;e.error=function(r){if(i)i(t,r,e);t.trigger("error",t,r,e)}};return e});
index 5ffa9245647baa9da9ddc481f69959a50fda185a..2e0ab1957857d7f8affe21369455b31d5625d751 100644 (file)
@@ -538,11 +538,34 @@ window.wp = window.wp || {};
 
                        this.add( 'channel', params.channel );
                        this.add( 'url', params.url || '' );
-                       this.add( 'targetWindow', params.targetWindow || defaultTarget );
                        this.add( 'origin', this.url() ).link( this.url ).setter( function( to ) {
                                return to.replace( /([^:]+:\/\/[^\/]+).*/, '$1' );
                        });
 
+                       // first add with no value
+                       this.add( 'targetWindow', null );
+                       // This avoids SecurityErrors when setting a window object in x-origin iframe'd scenarios.
+                       this.targetWindow.set = function( to ) {
+                               var from = this._value;
+
+                               to = this._setter.apply( this, arguments );
+                               to = this.validate( to );
+
+                               if ( null === to || from === to ) {
+                                       return this;
+                               }
+
+                               this._value = to;
+                               this._dirty = true;
+
+                               this.callbacks.fireWith( this, [ to, from ] );
+
+                               return this;
+                       };
+                       // now set it
+                       this.targetWindow( params.targetWindow || defaultTarget );
+
+
                        // Since we want jQuery to treat the receive function as unique
                        // to this instance, we give the function a new guid.
                        //
index ee500b2053b2bbfdcba9bd5a2f1b41bafe08e947..fa9e50f70bd1bb6bb87f41f9631d480c254ffb50 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{},function(a,b){var c,d,e={},f=Array.prototype.slice;c=function(){},d=function(a,d,e){var f;return f=d&&d.hasOwnProperty("constructor")?d.constructor:function(){var b=a.apply(this,arguments);return b},b.extend(f,a),c.prototype=a.prototype,f.prototype=new c,d&&b.extend(f.prototype,d),e&&b.extend(f,e),f.prototype.constructor=f,f.__super__=a.prototype,f},e.Class=function(a,c,d){var f,g=arguments;return a&&c&&e.Class.applicator===a&&(g=c,b.extend(this,d||{})),f=this,this.instance&&(f=function(){return f.instance.apply(f,arguments)},b.extend(f,this)),f.initialize.apply(f,g),f},e.Class.extend=function(a,b){var c=d(this,a,b);return c.extend=this.extend,c},e.Class.applicator={},e.Class.prototype.initialize=function(){},e.Class.prototype.extended=function(a){for(var b=this;"undefined"!=typeof b.constructor;){if(b.constructor===a)return!0;if("undefined"==typeof b.constructor.__super__)return!1;b=b.constructor.__super__}return!1},e.Events={trigger:function(a){return this.topics&&this.topics[a]&&this.topics[a].fireWith(this,f.call(arguments,1)),this},bind:function(a){return this.topics=this.topics||{},this.topics[a]=this.topics[a]||b.Callbacks(),this.topics[a].add.apply(this.topics[a],f.call(arguments,1)),this},unbind:function(a){return this.topics&&this.topics[a]&&this.topics[a].remove.apply(this.topics[a],f.call(arguments,1)),this}},e.Value=e.Class.extend({initialize:function(a,c){this._value=a,this.callbacks=b.Callbacks(),this._dirty=!1,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||_.isEqual(b,a)?this:(this._value=a,this._dirty=!0,this.callbacks.fireWith(this,[a,b]),this)},_setter:function(a){return a},setter:function(a){var b=this.get();return this._setter=a,this._value=null,this.set(b),this},resetSetter:function(){return this._setter=this.constructor.prototype._setter,this.set(this.get()),this},validate:function(a){return a},bind:function(){return this.callbacks.add.apply(this.callbacks,arguments),this},unbind:function(){return this.callbacks.remove.apply(this.callbacks,arguments),this},link:function(){var a=this.set;return b.each(arguments,function(){this.bind(a)}),this},unlink:function(){var a=this.set;return b.each(arguments,function(){this.unbind(a)}),this},sync:function(){var a=this;return b.each(arguments,function(){a.link(this),this.link(a)}),this},unsync:function(){var a=this;return b.each(arguments,function(){a.unlink(this),this.unlink(a)}),this}}),e.Values=e.Class.extend({defaultConstructor:e.Value,initialize:function(a){b.extend(this,a||{}),this._value={},this._deferreds={}},instance:function(a){return 1===arguments.length?this.value(a):this.when.apply(this,arguments)},value:function(a){return this._value[a]},has:function(a){return"undefined"!=typeof this._value[a]},add:function(a,b){return this.has(a)?this.value(a):(this._value[a]=b,b.parent=this,b.extended(e.Value)&&b.bind(this._change),this.trigger("add",b),this._deferreds[a]&&this._deferreds[a].resolve(),this._value[a])},create:function(a){return this.add(a,new this.defaultConstructor(e.Class.applicator,f.call(arguments,1)))},each:function(a,c){c="undefined"==typeof c?this:c,b.each(this._value,function(b,d){a.call(c,d,b)})},remove:function(a){var b;this.has(a)&&(b=this.value(a),this.trigger("remove",b),b.extended(e.Value)&&b.unbind(this._change),delete b.parent),delete this._value[a],delete this._deferreds[a]},when:function(){var a=this,c=f.call(arguments),d=b.Deferred();return b.isFunction(c[c.length-1])&&d.done(c.pop()),b.when.apply(b,b.map(c,function(c){return a.has(c)?void 0:a._deferreds[c]=a._deferreds[c]||b.Deferred()})).done(function(){var e=b.map(c,function(b){return a(b)});return e.length!==c.length?void a.when.apply(a,c).done(function(){d.resolveWith(a,e)}):void d.resolveWith(a,e)}),d.promise()},_change:function(){this.parent.trigger("change",this)}}),b.extend(e.Values.prototype,e.Events),e.ensure=function(a){return"string"==typeof a?b(a):a},e.Element=e.Value.extend({initialize:function(a,c){var d,f,g,h=this,i=e.Element.synchronizer.html;this.element=e.ensure(a),this.events="",this.element.is("input, select, textarea")&&(this.events+="change",i=e.Element.synchronizer.val,this.element.is("input")?(d=this.element.prop("type"),e.Element.synchronizer[d]&&(i=e.Element.synchronizer[d]),"text"===d||"password"===d?this.events+=" keyup":"range"===d&&(this.events+=" input propertychange")):this.element.is("textarea")&&(this.events+=" keyup")),e.Value.prototype.initialize.call(this,null,b.extend(c||{},i)),this._value=this.get(),f=this.update,g=this.refresh,this.update=function(a){a!==g.call(h)&&f.apply(this,arguments)},this.refresh=function(){h.set(g.call(h))},this.bind(this.update),this.element.bind(this.events,this.refresh)},find:function(a){return b(a,this.element)},refresh:function(){},update:function(){}}),e.Element.synchronizer={},b.each(["html","val"],function(a,b){e.Element.synchronizer[b]={update:function(a){this.element[b](a)},refresh:function(){return this.element[b]()}}}),e.Element.synchronizer.checkbox={update:function(a){this.element.prop("checked",a)},refresh:function(){return this.element.prop("checked")}},e.Element.synchronizer.radio={update:function(a){this.element.filter(function(){return this.value===a}).prop("checked",!0)},refresh:function(){return this.element.filter(":checked").val()}},b.support.postMessage=!!window.postMessage,e.Messenger=e.Class.extend({add:function(a,b,c){return this[a]=new e.Value(b,c)},initialize:function(a,c){var d=window.parent==window?null:window.parent;b.extend(this,c||{}),this.add("channel",a.channel),this.add("url",a.url||""),this.add("targetWindow",a.targetWindow||d),this.add("origin",this.url()).link(this.url).setter(function(a){return a.replace(/([^:]+:\/\/[^\/]+).*/,"$1")}),this.receive=b.proxy(this.receive,this),this.receive.guid=b.guid++,b(window).on("message",this.receive)},destroy:function(){b(window).off("message",this.receive)},receive:function(a){var b;a=a.originalEvent,this.targetWindow()&&(this.origin()&&a.origin!==this.origin()||"string"==typeof a.data&&"{"===a.data[0]&&(b=JSON.parse(a.data),b&&b.id&&"undefined"!=typeof b.data&&(!b.channel&&!this.channel()||this.channel()===b.channel)&&this.trigger(b.id,b.data)))},send:function(a,b){var c;b="undefined"==typeof b?null:b,this.url()&&this.targetWindow()&&(c={id:a,data:b},this.channel()&&(c.channel=this.channel()),this.targetWindow().postMessage(JSON.stringify(c),this.origin()))}}),b.extend(e.Messenger.prototype,e.Events),e=b.extend(new e.Values,e),e.get=function(){var a={};return this.each(function(b,c){a[c]=b.get()}),a},a.customize=e}(wp,jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a,b){var c,d,e={},f=Array.prototype.slice;c=function(){},d=function(a,d,e){var f;return f=d&&d.hasOwnProperty("constructor")?d.constructor:function(){var b=a.apply(this,arguments);return b},b.extend(f,a),c.prototype=a.prototype,f.prototype=new c,d&&b.extend(f.prototype,d),e&&b.extend(f,e),f.prototype.constructor=f,f.__super__=a.prototype,f},e.Class=function(a,c,d){var f,g=arguments;return a&&c&&e.Class.applicator===a&&(g=c,b.extend(this,d||{})),f=this,this.instance&&(f=function(){return f.instance.apply(f,arguments)},b.extend(f,this)),f.initialize.apply(f,g),f},e.Class.extend=function(a,b){var c=d(this,a,b);return c.extend=this.extend,c},e.Class.applicator={},e.Class.prototype.initialize=function(){},e.Class.prototype.extended=function(a){for(var b=this;"undefined"!=typeof b.constructor;){if(b.constructor===a)return!0;if("undefined"==typeof b.constructor.__super__)return!1;b=b.constructor.__super__}return!1},e.Events={trigger:function(a){return this.topics&&this.topics[a]&&this.topics[a].fireWith(this,f.call(arguments,1)),this},bind:function(a){return this.topics=this.topics||{},this.topics[a]=this.topics[a]||b.Callbacks(),this.topics[a].add.apply(this.topics[a],f.call(arguments,1)),this},unbind:function(a){return this.topics&&this.topics[a]&&this.topics[a].remove.apply(this.topics[a],f.call(arguments,1)),this}},e.Value=e.Class.extend({initialize:function(a,c){this._value=a,this.callbacks=b.Callbacks(),this._dirty=!1,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||_.isEqual(b,a)?this:(this._value=a,this._dirty=!0,this.callbacks.fireWith(this,[a,b]),this)},_setter:function(a){return a},setter:function(a){var b=this.get();return this._setter=a,this._value=null,this.set(b),this},resetSetter:function(){return this._setter=this.constructor.prototype._setter,this.set(this.get()),this},validate:function(a){return a},bind:function(){return this.callbacks.add.apply(this.callbacks,arguments),this},unbind:function(){return this.callbacks.remove.apply(this.callbacks,arguments),this},link:function(){var a=this.set;return b.each(arguments,function(){this.bind(a)}),this},unlink:function(){var a=this.set;return b.each(arguments,function(){this.unbind(a)}),this},sync:function(){var a=this;return b.each(arguments,function(){a.link(this),this.link(a)}),this},unsync:function(){var a=this;return b.each(arguments,function(){a.unlink(this),this.unlink(a)}),this}}),e.Values=e.Class.extend({defaultConstructor:e.Value,initialize:function(a){b.extend(this,a||{}),this._value={},this._deferreds={}},instance:function(a){return 1===arguments.length?this.value(a):this.when.apply(this,arguments)},value:function(a){return this._value[a]},has:function(a){return"undefined"!=typeof this._value[a]},add:function(a,b){return this.has(a)?this.value(a):(this._value[a]=b,b.parent=this,b.extended(e.Value)&&b.bind(this._change),this.trigger("add",b),this._deferreds[a]&&this._deferreds[a].resolve(),this._value[a])},create:function(a){return this.add(a,new this.defaultConstructor(e.Class.applicator,f.call(arguments,1)))},each:function(a,c){c="undefined"==typeof c?this:c,b.each(this._value,function(b,d){a.call(c,d,b)})},remove:function(a){var b;this.has(a)&&(b=this.value(a),this.trigger("remove",b),b.extended(e.Value)&&b.unbind(this._change),delete b.parent),delete this._value[a],delete this._deferreds[a]},when:function(){var a=this,c=f.call(arguments),d=b.Deferred();return b.isFunction(c[c.length-1])&&d.done(c.pop()),b.when.apply(b,b.map(c,function(c){return a.has(c)?void 0:a._deferreds[c]=a._deferreds[c]||b.Deferred()})).done(function(){var e=b.map(c,function(b){return a(b)});return e.length!==c.length?void a.when.apply(a,c).done(function(){d.resolveWith(a,e)}):void d.resolveWith(a,e)}),d.promise()},_change:function(){this.parent.trigger("change",this)}}),b.extend(e.Values.prototype,e.Events),e.ensure=function(a){return"string"==typeof a?b(a):a},e.Element=e.Value.extend({initialize:function(a,c){var d,f,g,h=this,i=e.Element.synchronizer.html;this.element=e.ensure(a),this.events="",this.element.is("input, select, textarea")&&(this.events+="change",i=e.Element.synchronizer.val,this.element.is("input")?(d=this.element.prop("type"),e.Element.synchronizer[d]&&(i=e.Element.synchronizer[d]),"text"===d||"password"===d?this.events+=" keyup":"range"===d&&(this.events+=" input propertychange")):this.element.is("textarea")&&(this.events+=" keyup")),e.Value.prototype.initialize.call(this,null,b.extend(c||{},i)),this._value=this.get(),f=this.update,g=this.refresh,this.update=function(a){a!==g.call(h)&&f.apply(this,arguments)},this.refresh=function(){h.set(g.call(h))},this.bind(this.update),this.element.bind(this.events,this.refresh)},find:function(a){return b(a,this.element)},refresh:function(){},update:function(){}}),e.Element.synchronizer={},b.each(["html","val"],function(a,b){e.Element.synchronizer[b]={update:function(a){this.element[b](a)},refresh:function(){return this.element[b]()}}}),e.Element.synchronizer.checkbox={update:function(a){this.element.prop("checked",a)},refresh:function(){return this.element.prop("checked")}},e.Element.synchronizer.radio={update:function(a){this.element.filter(function(){return this.value===a}).prop("checked",!0)},refresh:function(){return this.element.filter(":checked").val()}},b.support.postMessage=!!window.postMessage,e.Messenger=e.Class.extend({add:function(a,b,c){return this[a]=new e.Value(b,c)},initialize:function(a,c){var d=window.parent==window?null:window.parent;b.extend(this,c||{}),this.add("channel",a.channel),this.add("url",a.url||""),this.add("origin",this.url()).link(this.url).setter(function(a){return a.replace(/([^:]+:\/\/[^\/]+).*/,"$1")}),this.add("targetWindow",null),this.targetWindow.set=function(a){var b=this._value;return a=this._setter.apply(this,arguments),a=this.validate(a),null===a||b===a?this:(this._value=a,this._dirty=!0,this.callbacks.fireWith(this,[a,b]),this)},this.targetWindow(a.targetWindow||d),this.receive=b.proxy(this.receive,this),this.receive.guid=b.guid++,b(window).on("message",this.receive)},destroy:function(){b(window).off("message",this.receive)},receive:function(a){var b;a=a.originalEvent,this.targetWindow()&&(this.origin()&&a.origin!==this.origin()||"string"==typeof a.data&&"{"===a.data[0]&&(b=JSON.parse(a.data),b&&b.id&&"undefined"!=typeof b.data&&(!b.channel&&!this.channel()||this.channel()===b.channel)&&this.trigger(b.id,b.data)))},send:function(a,b){var c;b="undefined"==typeof b?null:b,this.url()&&this.targetWindow()&&(c={id:a,data:b},this.channel()&&(c.channel=this.channel()),this.targetWindow().postMessage(JSON.stringify(c),this.origin()))}}),b.extend(e.Messenger.prototype,e.Events),e=b.extend(new e.Values,e),e.get=function(){var a={};return this.each(function(b,c){a[c]=b.get()}),a},a.customize=e}(wp,jQuery);
\ No newline at end of file
index 07f21966a9014f1127beddb78887cb9d97270846..ce69a359c6cdb3d56c5333d1f55e6e526685ae1c 100644 (file)
@@ -114,7 +114,7 @@ window.wp = window.wp || {};
                        // Dirty state of Customizer in iframe
                        this.saved = new api.Value( true );
 
-                       this.iframe = $( '<iframe />', { src: src }).appendTo( this.element );
+                       this.iframe = $( '<iframe />', { 'src': src, 'title': Loader.settings.l10n.mainIframeTitle } ).appendTo( this.element );
                        this.iframe.one( 'load', this.loaded );
 
                        // Create a postMessage connection with the iframe.
@@ -155,6 +155,10 @@ window.wp = window.wp || {};
                                Loader.saved( false );
                        } );
 
+                       this.messenger.bind( 'title', function( newTitle ){
+                               window.document.title = newTitle;
+                       });
+
                        this.pushState( src );
 
                        this.trigger( 'open' );
index f9f03b7a8ae95b10024b83b73b1e605f7c06e51d..67eaa75bf6ee79ea2d9320b6c33dca717b3d0354 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{},function(a,b){var c,d=wp.customize;b.extend(b.support,{history:!(!window.history||!history.pushState),hashchange:"onhashchange"in window&&(void 0===document.documentMode||document.documentMode>7)}),c=b.extend({},d.Events,{initialize:function(){this.body=b(document.body),c.settings&&b.support.postMessage&&(b.support.cors||!c.settings.isCrossDomain)&&(this.window=b(window),this.element=b('<div id="customize-container" />').appendTo(this.body),this.bind("open",this.overlay.show),this.bind("close",this.overlay.hide),b("#wpbody").on("click",".load-customize",function(a){a.preventDefault(),c.link=b(this),c.open(c.link.attr("href"))}),b.support.history&&this.window.on("popstate",c.popstate),b.support.hashchange&&(this.window.on("hashchange",c.hashchange),this.window.triggerHandler("hashchange")))},popstate:function(a){var b=a.originalEvent.state;b&&b.customize?c.open(b.customize):c.active&&c.close()},hashchange:function(){var a=window.location.toString().split("#")[1];a&&0===a.indexOf("wp_customize=on")&&c.open(c.settings.url+"?"+a),a||b.support.history||c.close()},beforeunload:function(){return c.saved()?void 0:c.settings.l10n.saveAlert},open:function(a){if(!this.active){if(c.settings.browser.mobile)return window.location=a;this.originalDocumentTitle=document.title,this.active=!0,this.body.addClass("customize-loading"),this.saved=new d.Value(!0),this.iframe=b("<iframe />",{src:a}).appendTo(this.element),this.iframe.one("load",this.loaded),this.messenger=new d.Messenger({url:a,channel:"loader",targetWindow:this.iframe[0].contentWindow}),this.messenger.bind("ready",function(){c.messenger.send("back")}),this.messenger.bind("close",function(){b.support.history?history.back():b.support.hashchange?window.location.hash="":c.close()}),b(window).on("beforeunload",this.beforeunload),this.messenger.bind("activated",function(a){a&&(window.location=a)}),this.messenger.bind("saved",function(){c.saved(!0)}),this.messenger.bind("change",function(){c.saved(!1)}),this.pushState(a),this.trigger("open")}},pushState:function(a){var c=a.split("?")[1];b.support.history&&window.location.href!==a?history.pushState({customize:a},"",a):!b.support.history&&b.support.hashchange&&c&&(window.location.hash="wp_customize=on&"+c),this.trigger("open")},opened:function(){c.body.addClass("customize-active full-overlay-active")},close:function(){if(this.active){if(!this.saved()&&!confirm(c.settings.l10n.saveAlert))return void history.forward();this.active=!1,this.trigger("close"),this.originalDocumentTitle&&(document.title=this.originalDocumentTitle),this.link&&this.link.focus()}},closed:function(){c.iframe.remove(),c.messenger.destroy(),c.iframe=null,c.messenger=null,c.saved=null,c.body.removeClass("customize-active full-overlay-active").removeClass("customize-loading"),b(window).off("beforeunload",c.beforeunload)},loaded:function(){c.body.removeClass("customize-loading")},overlay:{show:function(){this.element.fadeIn(200,c.opened)},hide:function(){this.element.fadeOut(200,c.closed)}}}),b(function(){c.settings=_wpCustomizeLoaderSettings,c.initialize()}),d.Loader=c}(wp,jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a,b){var c,d=wp.customize;b.extend(b.support,{history:!(!window.history||!history.pushState),hashchange:"onhashchange"in window&&(void 0===document.documentMode||document.documentMode>7)}),c=b.extend({},d.Events,{initialize:function(){this.body=b(document.body),c.settings&&b.support.postMessage&&(b.support.cors||!c.settings.isCrossDomain)&&(this.window=b(window),this.element=b('<div id="customize-container" />').appendTo(this.body),this.bind("open",this.overlay.show),this.bind("close",this.overlay.hide),b("#wpbody").on("click",".load-customize",function(a){a.preventDefault(),c.link=b(this),c.open(c.link.attr("href"))}),b.support.history&&this.window.on("popstate",c.popstate),b.support.hashchange&&(this.window.on("hashchange",c.hashchange),this.window.triggerHandler("hashchange")))},popstate:function(a){var b=a.originalEvent.state;b&&b.customize?c.open(b.customize):c.active&&c.close()},hashchange:function(){var a=window.location.toString().split("#")[1];a&&0===a.indexOf("wp_customize=on")&&c.open(c.settings.url+"?"+a),a||b.support.history||c.close()},beforeunload:function(){return c.saved()?void 0:c.settings.l10n.saveAlert},open:function(a){if(!this.active){if(c.settings.browser.mobile)return window.location=a;this.originalDocumentTitle=document.title,this.active=!0,this.body.addClass("customize-loading"),this.saved=new d.Value(!0),this.iframe=b("<iframe />",{src:a,title:c.settings.l10n.mainIframeTitle}).appendTo(this.element),this.iframe.one("load",this.loaded),this.messenger=new d.Messenger({url:a,channel:"loader",targetWindow:this.iframe[0].contentWindow}),this.messenger.bind("ready",function(){c.messenger.send("back")}),this.messenger.bind("close",function(){b.support.history?history.back():b.support.hashchange?window.location.hash="":c.close()}),b(window).on("beforeunload",this.beforeunload),this.messenger.bind("activated",function(a){a&&(window.location=a)}),this.messenger.bind("saved",function(){c.saved(!0)}),this.messenger.bind("change",function(){c.saved(!1)}),this.messenger.bind("title",function(a){window.document.title=a}),this.pushState(a),this.trigger("open")}},pushState:function(a){var c=a.split("?")[1];b.support.history&&window.location.href!==a?history.pushState({customize:a},"",a):!b.support.history&&b.support.hashchange&&c&&(window.location.hash="wp_customize=on&"+c),this.trigger("open")},opened:function(){c.body.addClass("customize-active full-overlay-active")},close:function(){if(this.active){if(!this.saved()&&!confirm(c.settings.l10n.saveAlert))return void history.forward();this.active=!1,this.trigger("close"),this.originalDocumentTitle&&(document.title=this.originalDocumentTitle),this.link&&this.link.focus()}},closed:function(){c.iframe.remove(),c.messenger.destroy(),c.iframe=null,c.messenger=null,c.saved=null,c.body.removeClass("customize-active full-overlay-active").removeClass("customize-loading"),b(window).off("beforeunload",c.beforeunload)},loaded:function(){c.body.removeClass("customize-loading")},overlay:{show:function(){this.element.fadeIn(200,c.opened)},hide:function(){this.element.fadeOut(200,c.closed)}}}),b(function(){c.settings=_wpCustomizeLoaderSettings,c.initialize()}),d.Loader=c}(wp,jQuery);
\ No newline at end of file
index 82f7bb862d965bce212d9899b51a7cf41206a1ea..e58c8d6d44da62e39665ecd578087760d3be5f20 100644 (file)
                        activeControls: api.settings.activeControls
                } );
 
+               // Display a loading indicator when preview is reloading, and remove on failure.
+               api.preview.bind( 'loading-initiated', function () {
+                       $( 'body' ).addClass( 'wp-customizer-unloading' );
+                       $( 'html' ).prop( 'title', api.settings.l10n.loading );
+               });
+               api.preview.bind( 'loading-failed', function () {
+                       $( 'body' ).removeClass( 'wp-customizer-unloading' );
+                       $( 'html' ).prop( 'title', '' );
+               });
+
                /* Custom Backgrounds */
                bg = $.map(['color', 'image', 'position_x', 'repeat', 'attachment'], function( prop ) {
                        return 'background_' + prop;
index 251c4b01baf719a60af28618a91c8eab72b0e0d1..a5fb9fa8a22b01837a3b38b7d8a50a463451ba06 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;d.preview=new d.Preview({url:window.location.href,channel:d.settings.channel}),d.preview.bind("settings",function(a){b.each(a,function(a,b){d.has(a)?d(a).set(b):d.create(a,b)})}),d.preview.trigger("settings",d.settings.values),d.preview.bind("setting",function(a){var b;a=a.slice(),(b=d(a.shift()))&&b.set.apply(b,a)}),d.preview.bind("sync",function(a){b.each(a,function(a,b){d.preview.trigger(a,b)}),d.preview.send("synced")}),d.preview.bind("active",function(){d.settings.nonce&&d.preview.send("nonce",d.settings.nonce),d.preview.send("documentTitle",document.title)}),d.preview.send("ready",{activePanels:d.settings.activePanels,activeSections:d.settings.activeSections,activeControls:d.settings.activeControls}),a=b.map(["color","image","position_x","repeat","attachment"],function(a){return"background_"+a}),d.when.apply(d,a).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)})}),d.trigger("preview-ready")}})}(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;d.preview=new d.Preview({url:window.location.href,channel:d.settings.channel}),d.preview.bind("settings",function(a){b.each(a,function(a,b){d.has(a)?d(a).set(b):d.create(a,b)})}),d.preview.trigger("settings",d.settings.values),d.preview.bind("setting",function(a){var b;a=a.slice(),(b=d(a.shift()))&&b.set.apply(b,a)}),d.preview.bind("sync",function(a){b.each(a,function(a,b){d.preview.trigger(a,b)}),d.preview.send("synced")}),d.preview.bind("active",function(){d.settings.nonce&&d.preview.send("nonce",d.settings.nonce),d.preview.send("documentTitle",document.title)}),d.preview.send("ready",{activePanels:d.settings.activePanels,activeSections:d.settings.activeSections,activeControls:d.settings.activeControls}),d.preview.bind("loading-initiated",function(){b("body").addClass("wp-customizer-unloading"),b("html").prop("title",d.settings.l10n.loading)}),d.preview.bind("loading-failed",function(){b("body").removeClass("wp-customizer-unloading"),b("html").prop("title","")}),a=b.map(["color","image","position_x","repeat","attachment"],function(a){return"background_"+a}),d.when.apply(d,a).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)})}),d.trigger("preview-ready")}})}(wp,jQuery);
\ No newline at end of file
index 88e0e8a241d6baf7a3e5fd4c44e666810c221662..c0fdf6529b79adfdfd9e85a0446ddd45f03640ad 100644 (file)
@@ -1,10 +1,10 @@
 /*!
- * hoverIntent r7 // 2013.03.11 // jQuery 1.9.1+
+ * hoverIntent v1.8.1 // 2014.08.11 // jQuery v1.9.1+
  * http://cherne.net/brian/resources/jquery.hoverIntent.html
  *
  * You may use hoverIntent under the terms of the MIT license. Basically that
  * means you are free to use hoverIntent as long as this header is left intact.
- * Copyright 2007, 2013 Brian Cherne
+ * Copyright 2007, 2014 Brian Cherne
  */
 
 /* hoverIntent is similar to jQuery's built-in "hover" method except that
@@ -35,7 +35,7 @@
         // default configuration values
         var cfg = {
             interval: 100,
-            sensitivity: 7,
+            sensitivity: 6,
             timeout: 0
         };
 
         var compare = function(ev,ob) {
             ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
             // compare mouse positions to see if they've crossed the threshold
-            if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) {
+            if ( Math.sqrt( (pX-cX)*(pX-cX) + (pY-cY)*(pY-cY) ) < cfg.sensitivity ) {
                 $(ob).off("mousemove.hoverIntent",track);
                 // set hoverIntent state to true (so mouseOut can be called)
-                ob.hoverIntent_s = 1;
+                ob.hoverIntent_s = true;
                 return cfg.over.apply(ob,[ev]);
             } else {
                 // set previous coordinates for next time
         // A private function for delaying the mouseOut function
         var delay = function(ev,ob) {
             ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t);
-            ob.hoverIntent_s = 0;
+            ob.hoverIntent_s = false;
             return cfg.out.apply(ob,[ev]);
         };
 
         // A private function for handling mouse 'hovering'
         var handleHover = function(e) {
             // copy objects to be passed into t (required for event object to be passed in IE)
-            var ev = jQuery.extend({},e);
+            var ev = $.extend({},e);
             var ob = this;
 
             // cancel hoverIntent timer if it exists
             if (ob.hoverIntent_t) { ob.hoverIntent_t = clearTimeout(ob.hoverIntent_t); }
 
-            // if e.type == "mouseenter"
-            if (e.type == "mouseenter") {
+            // if e.type === "mouseenter"
+            if (e.type === "mouseenter") {
                 // set "previous" X and Y position based on initial entry point
                 pX = ev.pageX; pY = ev.pageY;
                 // update "current" X and Y position based on mousemove
                 $(ob).on("mousemove.hoverIntent",track);
                 // start polling interval (self-calling timeout) to compare mouse coordinates over time
-                if (ob.hoverIntent_s != 1) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );}
+                if (!ob.hoverIntent_s) { ob.hoverIntent_t = setTimeout( function(){compare(ev,ob);} , cfg.interval );}
 
                 // else e.type == "mouseleave"
             } else {
                 // unbind expensive mousemove event
                 $(ob).off("mousemove.hoverIntent",track);
                 // if hoverIntent state is true, then call the mouseOut function after the specified delay
-                if (ob.hoverIntent_s == 1) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );}
+                if (ob.hoverIntent_s) { ob.hoverIntent_t = setTimeout( function(){delay(ev,ob);} , cfg.timeout );}
             }
         };
 
index 1b9406204575cd86a45a448cd26c7d6301b12729..0b4aa8bce96917c1d4407b8f49ce36451456346a 100644 (file)
@@ -1 +1 @@
-!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);
\ No newline at end of file
+!function(a){a.fn.hoverIntent=function(b,c,d){var e={interval:100,sensitivity:6,timeout:0};e="object"==typeof b?a.extend(e,b):a.isFunction(c)?a.extend(e,{over:b,out:c,selector:d}):a.extend(e,{over:b,out:b,selector:c});var f,g,h,i,j=function(a){f=a.pageX,g=a.pageY},k=function(b,c){return c.hoverIntent_t=clearTimeout(c.hoverIntent_t),Math.sqrt((h-f)*(h-f)+(i-g)*(i-g))<e.sensitivity?(a(c).off("mousemove.hoverIntent",j),c.hoverIntent_s=!0,e.over.apply(c,[b])):(h=f,i=g,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=!1,e.out.apply(b,[a])},m=function(b){var c=a.extend({},b),d=this;d.hoverIntent_t&&(d.hoverIntent_t=clearTimeout(d.hoverIntent_t)),"mouseenter"===b.type?(h=c.pageX,i=c.pageY,a(d).on("mousemove.hoverIntent",j),d.hoverIntent_s||(d.hoverIntent_t=setTimeout(function(){k(c,d)},e.interval))):(a(d).off("mousemove.hoverIntent",j),d.hoverIntent_s&&(d.hoverIntent_t=setTimeout(function(){l(c,d)},e.timeout)))};return this.on({"mouseenter.hoverIntent":m,"mouseleave.hoverIntent":m},e.selector)}}(jQuery);
\ No newline at end of file
index e4155d36907934e4f991ff7e21f4e597f657522d..435b00631cbff1b4c595d2620ed2aced0d4925c2 100644 (file)
@@ -1,5 +1,5 @@
-/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(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 ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(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=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?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!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.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=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.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]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.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(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(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:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(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]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(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 tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(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 vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(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?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;
-if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")
-},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.ActiveXObject&&m(a).on("unload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m});
+/*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
+!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.2",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=mb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=nb(b);function qb(){}qb.prototype=d.filters=d.pseudos,d.setFilters=new qb,g=gb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?gb.error(a):z(a,i).slice(0)};function rb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;
+return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)
+}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m});
 jQuery.noConflict();
index 86cf17aa6219222ff10b88f590c9d3fd060ba1cb..259a32521680651e9da58b75143977951594ea52 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Accordion 1.11.2
+ * jQuery UI Accordion 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/accordion/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.accordion",{version:"1.11.2",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},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var b=this.options;this.prevShow=this.prevHide=a(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),b.collapsible||b.active!==!1&&null!=b.active||(b.active=0),this._processPanels(),b.active<0&&(b.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():a()}},_createIcons:function(){var b=this.options.icons;b&&(a("<span>").addClass("ui-accordion-header-icon ui-icon "+b.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(b.header).addClass(b.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var a;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active 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").removeUniqueId(),this._destroyIcons(),a=this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&a.css("height","")},_setOption:function(a,b){return"active"===a?void this._activate(b):("event"===a&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(b)),this._super(a,b),"collapsible"!==a||b||this.options.active!==!1||this._activate(0),"icons"===a&&(this._destroyIcons(),b&&this._createIcons()),void("disabled"===a&&(this.element.toggleClass("ui-state-disabled",!!b).attr("aria-disabled",b),this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!b))))},_keydown:function(b){if(!b.altKey&&!b.ctrlKey){var c=a.ui.keyCode,d=this.headers.length,e=this.headers.index(b.target),f=!1;switch(b.keyCode){case c.RIGHT:case c.DOWN:f=this.headers[(e+1)%d];break;case c.LEFT:case c.UP:f=this.headers[(e-1+d)%d];break;case c.SPACE:case c.ENTER:this._eventHandler(b);break;case c.HOME:f=this.headers[0];break;case c.END:f=this.headers[d-1]}f&&(a(b.target).attr("tabIndex",-1),a(f).attr("tabIndex",0),f.focus(),b.preventDefault())}},_panelKeyDown:function(b){b.keyCode===a.ui.keyCode.UP&&b.ctrlKey&&a(b.currentTarget).prev().focus()},refresh:function(){var b=this.options;this._processPanels(),b.active===!1&&b.collapsible===!0||!this.headers.length?(b.active=!1,this.active=a()):b.active===!1?this._activate(0):this.active.length&&!a.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(b.active=!1,this.active=a()):this._activate(Math.max(0,b.active-1)):b.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var a=this.headers,b=this.panels;this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all"),this.panels=this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide(),b&&(this._off(a.not(this.headers)),this._off(b.not(this.panels)))},_refresh:function(){var b,c=this.options,d=c.heightStyle,e=this.element.parent();this.active=this._findActive(c.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(){var b=a(this),c=b.uniqueId().attr("id"),d=b.next(),e=d.uniqueId().attr("id");b.attr("aria-controls",e),d.attr("aria-labelledby",c)}).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(c.event),"fill"===d?(b=e.height(),this.element.siblings(":visible").each(function(){var c=a(this),d=c.css("position");"absolute"!==d&&"fixed"!==d&&(b-=c.outerHeight(!0))}),this.headers.each(function(){b-=a(this).outerHeight(!0)}),this.headers.next().each(function(){a(this).height(Math.max(0,b-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===d&&(b=0,this.headers.next().each(function(){b=Math.max(b,a(this).css("height","").height())}).height(b))},_activate:function(b){var c=this._findActive(b)[0];c!==this.active[0]&&(c=c||this.active[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return"number"==typeof b?this.headers.eq(b):a()},_setupEvents:function(b){var c={keydown:"_keydown"};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,c),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e[0]===d[0],g=f&&c.collapsible,h=g?a():e.next(),i=d.next(),j={oldHeader:d,oldPanel:i,newHeader:g?a():e,newPanel:h};b.preventDefault(),f&&!c.collapsible||this._trigger("beforeActivate",b,j)===!1||(c.active=g?!1:this.headers.index(e),this.active=f?a():e,this._toggle(j),d.removeClass("ui-accordion-header-active ui-state-active"),c.icons&&d.children(".ui-accordion-header-icon").removeClass(c.icons.activeHeader).addClass(c.icons.header),f||(e.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),c.icons&&e.children(".ui-accordion-header-icon").removeClass(c.icons.header).addClass(c.icons.activeHeader),e.next().addClass("ui-accordion-content-active")))},_toggle:function(b){var c=b.newPanel,d=this.prevShow.length?this.prevShow:b.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=c,this.prevHide=d,this.options.animate?this._animate(c,d,b):(d.hide(),c.show(),this._toggleComplete(b)),d.attr({"aria-hidden":"true"}),d.prev().attr("aria-selected","false"),c.length&&d.length?d.prev().attr({tabIndex:-1,"aria-expanded":"false"}):c.length&&this.headers.filter(function(){return 0===a(this).attr("tabIndex")}).attr("tabIndex",-1),c.attr("aria-hidden","false").prev().attr({"aria-selected":"true",tabIndex:0,"aria-expanded":"true"})},_animate:function(a,b,c){var d,e,f,g=this,h=0,i=a.length&&(!b.length||a.index()<b.index()),j=this.options.animate||{},k=i&&j.down||j,l=function(){g._toggleComplete(c)};return"number"==typeof k&&(f=k),"string"==typeof k&&(e=k),e=e||k.easing||j.easing,f=f||k.duration||j.duration,b.length?a.length?(d=a.show().outerHeight(),b.animate(this.hideProps,{duration:f,easing:e,step:function(a,b){b.now=Math.round(a)}}),void a.hide().animate(this.showProps,{duration:f,easing:e,complete:l,step:function(a,c){c.now=Math.round(a),"height"!==c.prop?h+=c.now:"content"!==g.options.heightStyle&&(c.now=Math.round(d-b.outerHeight()-h),h=0)}})):b.animate(this.hideProps,f,e,l):a.animate(this.showProps,f,e,l)},_toggleComplete:function(a){var b=a.oldPanel;b.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),b.length&&(b.parent()[0].className=b.parent()[0].className),this._trigger("activate",null,a)}})});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.accordion",{version:"1.11.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},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var b=this.options;this.prevShow=this.prevHide=a(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),b.collapsible||b.active!==!1&&null!=b.active||(b.active=0),this._processPanels(),b.active<0&&(b.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():a()}},_createIcons:function(){var b=this.options.icons;b&&(a("<span>").addClass("ui-accordion-header-icon ui-icon "+b.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(b.header).addClass(b.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var a;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active 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").removeUniqueId(),this._destroyIcons(),a=this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&a.css("height","")},_setOption:function(a,b){return"active"===a?void this._activate(b):("event"===a&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(b)),this._super(a,b),"collapsible"!==a||b||this.options.active!==!1||this._activate(0),"icons"===a&&(this._destroyIcons(),b&&this._createIcons()),void("disabled"===a&&(this.element.toggleClass("ui-state-disabled",!!b).attr("aria-disabled",b),this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!b))))},_keydown:function(b){if(!b.altKey&&!b.ctrlKey){var c=a.ui.keyCode,d=this.headers.length,e=this.headers.index(b.target),f=!1;switch(b.keyCode){case c.RIGHT:case c.DOWN:f=this.headers[(e+1)%d];break;case c.LEFT:case c.UP:f=this.headers[(e-1+d)%d];break;case c.SPACE:case c.ENTER:this._eventHandler(b);break;case c.HOME:f=this.headers[0];break;case c.END:f=this.headers[d-1]}f&&(a(b.target).attr("tabIndex",-1),a(f).attr("tabIndex",0),f.focus(),b.preventDefault())}},_panelKeyDown:function(b){b.keyCode===a.ui.keyCode.UP&&b.ctrlKey&&a(b.currentTarget).prev().focus()},refresh:function(){var b=this.options;this._processPanels(),b.active===!1&&b.collapsible===!0||!this.headers.length?(b.active=!1,this.active=a()):b.active===!1?this._activate(0):this.active.length&&!a.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(b.active=!1,this.active=a()):this._activate(Math.max(0,b.active-1)):b.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var a=this.headers,b=this.panels;this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all"),this.panels=this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide(),b&&(this._off(a.not(this.headers)),this._off(b.not(this.panels)))},_refresh:function(){var b,c=this.options,d=c.heightStyle,e=this.element.parent();this.active=this._findActive(c.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(){var b=a(this),c=b.uniqueId().attr("id"),d=b.next(),e=d.uniqueId().attr("id");b.attr("aria-controls",e),d.attr("aria-labelledby",c)}).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(c.event),"fill"===d?(b=e.height(),this.element.siblings(":visible").each(function(){var c=a(this),d=c.css("position");"absolute"!==d&&"fixed"!==d&&(b-=c.outerHeight(!0))}),this.headers.each(function(){b-=a(this).outerHeight(!0)}),this.headers.next().each(function(){a(this).height(Math.max(0,b-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===d&&(b=0,this.headers.next().each(function(){b=Math.max(b,a(this).css("height","").height())}).height(b))},_activate:function(b){var c=this._findActive(b)[0];c!==this.active[0]&&(c=c||this.active[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return"number"==typeof b?this.headers.eq(b):a()},_setupEvents:function(b){var c={keydown:"_keydown"};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,c),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e[0]===d[0],g=f&&c.collapsible,h=g?a():e.next(),i=d.next(),j={oldHeader:d,oldPanel:i,newHeader:g?a():e,newPanel:h};b.preventDefault(),f&&!c.collapsible||this._trigger("beforeActivate",b,j)===!1||(c.active=g?!1:this.headers.index(e),this.active=f?a():e,this._toggle(j),d.removeClass("ui-accordion-header-active ui-state-active"),c.icons&&d.children(".ui-accordion-header-icon").removeClass(c.icons.activeHeader).addClass(c.icons.header),f||(e.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),c.icons&&e.children(".ui-accordion-header-icon").removeClass(c.icons.header).addClass(c.icons.activeHeader),e.next().addClass("ui-accordion-content-active")))},_toggle:function(b){var c=b.newPanel,d=this.prevShow.length?this.prevShow:b.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=c,this.prevHide=d,this.options.animate?this._animate(c,d,b):(d.hide(),c.show(),this._toggleComplete(b)),d.attr({"aria-hidden":"true"}),d.prev().attr({"aria-selected":"false","aria-expanded":"false"}),c.length&&d.length?d.prev().attr({tabIndex:-1,"aria-expanded":"false"}):c.length&&this.headers.filter(function(){return 0===parseInt(a(this).attr("tabIndex"),10)}).attr("tabIndex",-1),c.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(a,b,c){var d,e,f,g=this,h=0,i=a.css("box-sizing"),j=a.length&&(!b.length||a.index()<b.index()),k=this.options.animate||{},l=j&&k.down||k,m=function(){g._toggleComplete(c)};return"number"==typeof l&&(f=l),"string"==typeof l&&(e=l),e=e||l.easing||k.easing,f=f||l.duration||k.duration,b.length?a.length?(d=a.show().outerHeight(),b.animate(this.hideProps,{duration:f,easing:e,step:function(a,b){b.now=Math.round(a)}}),void a.hide().animate(this.showProps,{duration:f,easing:e,complete:m,step:function(a,c){c.now=Math.round(a),"height"!==c.prop?"content-box"===i&&(h+=c.now):"content"!==g.options.heightStyle&&(c.now=Math.round(d-b.outerHeight()-h),h=0)}})):b.animate(this.hideProps,f,e,m):a.animate(this.showProps,f,e,m)},_toggleComplete:function(a){var b=a.oldPanel;b.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),b.length&&(b.parent()[0].className=b.parent()[0].className),this._trigger("activate",null,a)}})});
\ No newline at end of file
index d6cdbdab1d8b53671211bfb33df8c067d1c94bf3..c297fe685069e231ac6e8d8ba4fa86a8211f736f 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Autocomplete 1.11.2
+ * jQuery UI Autocomplete 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/autocomplete/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget","./position","./menu"],a):a(jQuery)}(function(a){return a.widget("ui.autocomplete",{version:"1.11.2",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 b,c,d,e=this.element[0].nodeName.toLowerCase(),f="textarea"===e,g="input"===e;this.isMultiLine=f?!0:g?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[f||g?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(e){if(this.element.prop("readOnly"))return b=!0,d=!0,void(c=!0);b=!1,d=!1,c=!1;var f=a.ui.keyCode;switch(e.keyCode){case f.PAGE_UP:b=!0,this._move("previousPage",e);break;case f.PAGE_DOWN:b=!0,this._move("nextPage",e);break;case f.UP:b=!0,this._keyEvent("previous",e);break;case f.DOWN:b=!0,this._keyEvent("next",e);break;case f.ENTER:this.menu.active&&(b=!0,e.preventDefault(),this.menu.select(e));break;case f.TAB:this.menu.active&&this.menu.select(e);break;case f.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(e),e.preventDefault());break;default:c=!0,this._searchTimeout(e)}},keypress:function(d){if(b)return b=!1,void((!this.isMultiLine||this.menu.element.is(":visible"))&&d.preventDefault());if(!c){var e=a.ui.keyCode;switch(d.keyCode){case e.PAGE_UP:this._move("previousPage",d);break;case e.PAGE_DOWN:this._move("nextPage",d);break;case e.UP:this._keyEvent("previous",d);break;case e.DOWN:this._keyEvent("next",d)}}},input:function(a){return d?(d=!1,void a.preventDefault()):void this._searchTimeout(a)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(a){return this.cancelBlur?void delete this.cancelBlur:(clearTimeout(this.searching),this.close(a),void this._change(a))}}),this._initSource(),this.menu=a("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._on(this.menu.element,{mousedown:function(b){b.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var c=this.menu.element[0];a(b.target).closest(".ui-menu-item").length||this._delay(function(){var b=this;this.document.one("mousedown",function(d){d.target===b.element[0]||d.target===c||a.contains(c,d.target)||b.close()})})},menufocus:function(b,c){var d,e;return this.isNewMenu&&(this.isNewMenu=!1,b.originalEvent&&/^mouse/.test(b.originalEvent.type))?(this.menu.blur(),void this.document.one("mousemove",function(){a(b.target).trigger(b.originalEvent)})):(e=c.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",b,{item:e})&&b.originalEvent&&/^key/.test(b.originalEvent.type)&&this._value(e.value),d=c.item.attr("aria-label")||e.value,void(d&&a.trim(d).length&&(this.liveRegion.children().hide(),a("<div>").text(d).appendTo(this.liveRegion))))},menuselect:function(a,b){var c=b.item.data("ui-autocomplete-item"),d=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=d,this._delay(function(){this.previous=d,this.selectedItem=c})),!1!==this._trigger("select",a,{item:c})&&this._value(c.value),this.term=this._value(),this.close(a),this.selectedItem=c}}),this.liveRegion=a("<span>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body),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(a,b){this._super(a,b),"source"===a&&this._initSource(),"appendTo"===a&&this.menu.element.appendTo(this._appendTo()),"disabled"===a&&b&&this.xhr&&this.xhr.abort()},_appendTo:function(){var b=this.options.appendTo;return b&&(b=b.jquery||b.nodeType?a(b):this.document.find(b).eq(0)),b&&b[0]||(b=this.element.closest(".ui-front")),b.length||(b=this.document[0].body),b},_initSource:function(){var b,c,d=this;a.isArray(this.options.source)?(b=this.options.source,this.source=function(c,d){d(a.ui.autocomplete.filter(b,c.term))}):"string"==typeof this.options.source?(c=this.options.source,this.source=function(b,e){d.xhr&&d.xhr.abort(),d.xhr=a.ajax({url:c,data:b,dataType:"json",success:function(a){e(a)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(a){clearTimeout(this.searching),this.searching=this._delay(function(){var b=this.term===this._value(),c=this.menu.element.is(":visible"),d=a.altKey||a.ctrlKey||a.metaKey||a.shiftKey;(!b||b&&!c&&!d)&&(this.selectedItem=null,this.search(null,a))},this.options.delay)},search:function(a,b){return a=null!=a?a:this._value(),this.term=this._value(),a.length<this.options.minLength?this.close(b):this._trigger("search",b)!==!1?this._search(a):void 0},_search:function(a){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:a},this._response())},_response:function(){var b=++this.requestIndex;return a.proxy(function(a){b===this.requestIndex&&this.__response(a),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(a){a&&(a=this._normalize(a)),this._trigger("response",null,{content:a}),!this.options.disabled&&a&&a.length&&!this.cancelSearch?(this._suggest(a),this._trigger("open")):this._close()},close:function(a){this.cancelSearch=!0,this._close(a)},_close:function(a){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",a))},_change:function(a){this.previous!==this._value()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(b){return b.length&&b[0].label&&b[0].value?b:a.map(b,function(b){return"string"==typeof b?{label:b,value:b}:a.extend({},b,{label:b.label||b.value,value:b.value||b.label})})},_suggest:function(b){var c=this.menu.element.empty();this._renderMenu(c,b),this.isNewMenu=!0,this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItemData(b,c)})},_renderItemData:function(a,b){return this._renderItem(a,b).data("ui-autocomplete-item",b)},_renderItem:function(b,c){return a("<li>").text(c.label).appendTo(b)},_move:function(a,b){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(a)||this.menu.isLastItem()&&/^next/.test(a)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[a](b):void this.search(null,b)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(a,b){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(a,b),b.preventDefault())}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}}),a.widget("ui.autocomplete",a.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(a){return a+(a>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(b){var c;this._superApply(arguments),this.options.disabled||this.cancelSearch||(c=b&&b.length?this.options.messages.results(b.length):this.options.messages.noResults,this.liveRegion.children().hide(),a("<div>").text(c).appendTo(this.liveRegion))}}),a.ui.autocomplete});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget","./position","./menu"],a):a(jQuery)}(function(a){return a.widget("ui.autocomplete",{version:"1.11.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 b,c,d,e=this.element[0].nodeName.toLowerCase(),f="textarea"===e,g="input"===e;this.isMultiLine=f?!0:g?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[f||g?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(e){if(this.element.prop("readOnly"))return b=!0,d=!0,void(c=!0);b=!1,d=!1,c=!1;var f=a.ui.keyCode;switch(e.keyCode){case f.PAGE_UP:b=!0,this._move("previousPage",e);break;case f.PAGE_DOWN:b=!0,this._move("nextPage",e);break;case f.UP:b=!0,this._keyEvent("previous",e);break;case f.DOWN:b=!0,this._keyEvent("next",e);break;case f.ENTER:this.menu.active&&(b=!0,e.preventDefault(),this.menu.select(e));break;case f.TAB:this.menu.active&&this.menu.select(e);break;case f.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(e),e.preventDefault());break;default:c=!0,this._searchTimeout(e)}},keypress:function(d){if(b)return b=!1,void((!this.isMultiLine||this.menu.element.is(":visible"))&&d.preventDefault());if(!c){var e=a.ui.keyCode;switch(d.keyCode){case e.PAGE_UP:this._move("previousPage",d);break;case e.PAGE_DOWN:this._move("nextPage",d);break;case e.UP:this._keyEvent("previous",d);break;case e.DOWN:this._keyEvent("next",d)}}},input:function(a){return d?(d=!1,void a.preventDefault()):void this._searchTimeout(a)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(a){return this.cancelBlur?void delete this.cancelBlur:(clearTimeout(this.searching),this.close(a),void this._change(a))}}),this._initSource(),this.menu=a("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._on(this.menu.element,{mousedown:function(b){b.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var c=this.menu.element[0];a(b.target).closest(".ui-menu-item").length||this._delay(function(){var b=this;this.document.one("mousedown",function(d){d.target===b.element[0]||d.target===c||a.contains(c,d.target)||b.close()})})},menufocus:function(b,c){var d,e;return this.isNewMenu&&(this.isNewMenu=!1,b.originalEvent&&/^mouse/.test(b.originalEvent.type))?(this.menu.blur(),void this.document.one("mousemove",function(){a(b.target).trigger(b.originalEvent)})):(e=c.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",b,{item:e})&&b.originalEvent&&/^key/.test(b.originalEvent.type)&&this._value(e.value),d=c.item.attr("aria-label")||e.value,void(d&&a.trim(d).length&&(this.liveRegion.children().hide(),a("<div>").text(d).appendTo(this.liveRegion))))},menuselect:function(a,b){var c=b.item.data("ui-autocomplete-item"),d=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=d,this._delay(function(){this.previous=d,this.selectedItem=c})),!1!==this._trigger("select",a,{item:c})&&this._value(c.value),this.term=this._value(),this.close(a),this.selectedItem=c}}),this.liveRegion=a("<span>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body),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(a,b){this._super(a,b),"source"===a&&this._initSource(),"appendTo"===a&&this.menu.element.appendTo(this._appendTo()),"disabled"===a&&b&&this.xhr&&this.xhr.abort()},_appendTo:function(){var b=this.options.appendTo;return b&&(b=b.jquery||b.nodeType?a(b):this.document.find(b).eq(0)),b&&b[0]||(b=this.element.closest(".ui-front")),b.length||(b=this.document[0].body),b},_initSource:function(){var b,c,d=this;a.isArray(this.options.source)?(b=this.options.source,this.source=function(c,d){d(a.ui.autocomplete.filter(b,c.term))}):"string"==typeof this.options.source?(c=this.options.source,this.source=function(b,e){d.xhr&&d.xhr.abort(),d.xhr=a.ajax({url:c,data:b,dataType:"json",success:function(a){e(a)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(a){clearTimeout(this.searching),this.searching=this._delay(function(){var b=this.term===this._value(),c=this.menu.element.is(":visible"),d=a.altKey||a.ctrlKey||a.metaKey||a.shiftKey;(!b||b&&!c&&!d)&&(this.selectedItem=null,this.search(null,a))},this.options.delay)},search:function(a,b){return a=null!=a?a:this._value(),this.term=this._value(),a.length<this.options.minLength?this.close(b):this._trigger("search",b)!==!1?this._search(a):void 0},_search:function(a){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:a},this._response())},_response:function(){var b=++this.requestIndex;return a.proxy(function(a){b===this.requestIndex&&this.__response(a),this.pending--,this.pending||this.element.removeClass("ui-autocomplete-loading")},this)},__response:function(a){a&&(a=this._normalize(a)),this._trigger("response",null,{content:a}),!this.options.disabled&&a&&a.length&&!this.cancelSearch?(this._suggest(a),this._trigger("open")):this._close()},close:function(a){this.cancelSearch=!0,this._close(a)},_close:function(a){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",a))},_change:function(a){this.previous!==this._value()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(b){return b.length&&b[0].label&&b[0].value?b:a.map(b,function(b){return"string"==typeof b?{label:b,value:b}:a.extend({},b,{label:b.label||b.value,value:b.value||b.label})})},_suggest:function(b){var c=this.menu.element.empty();this._renderMenu(c,b),this.isNewMenu=!0,this.menu.refresh(),c.show(),this._resizeMenu(),c.position(a.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var a=this.menu.element;a.outerWidth(Math.max(a.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(b,c){var d=this;a.each(c,function(a,c){d._renderItemData(b,c)})},_renderItemData:function(a,b){return this._renderItem(a,b).data("ui-autocomplete-item",b)},_renderItem:function(b,c){return a("<li>").text(c.label).appendTo(b)},_move:function(a,b){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(a)||this.menu.isLastItem()&&/^next/.test(a)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[a](b):void this.search(null,b)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(a,b){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(a,b),b.preventDefault())}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}}),a.widget("ui.autocomplete",a.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(a){return a+(a>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(b){var c;this._superApply(arguments),this.options.disabled||this.cancelSearch||(c=b&&b.length?this.options.messages.results(b.length):this.options.messages.noResults,this.liveRegion.children().hide(),a("<div>").text(c).appendTo(this.liveRegion))}}),a.ui.autocomplete});
\ No newline at end of file
index b396f22156ec6a50c72d2a76ea46bc19a772e063..fc5d38aaf7003e5ce4def3b73c7565bbca32ee74 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Button 1.11.2
+ * jQuery UI Button 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/button/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget"],a):a(jQuery)}(function(a){var b,c="ui-button ui-widget ui-state-default ui-corner-all",d="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",e=function(){var b=a(this);setTimeout(function(){b.find(":ui-button").button("refresh")},1)},f=function(b){var c=b.name,d=b.form,e=a([]);return c&&(c=c.replace(/'/g,"\\'"),e=d?a(d).find("[name='"+c+"'][type=radio]"):a("[name='"+c+"'][type=radio]",b.ownerDocument).filter(function(){return!this.form})),e};return a.widget("ui.button",{version:"1.11.2",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,e),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var d=this,g=this.options,h="checkbox"===this.type||"radio"===this.type,i=h?"":"ui-state-active";null===g.label&&(g.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(c).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){g.disabled||this===b&&a(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){g.disabled||a(this).removeClass(i)}).bind("click"+this.eventNamespace,function(a){g.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),h&&this.element.bind("change"+this.eventNamespace,function(){d.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return g.disabled?!1:void 0}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(g.disabled)return!1;a(this).addClass("ui-state-active"),d.buttonElement.attr("aria-pressed","true");var b=d.element[0];f(b).not(b).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return g.disabled?!1:(a(this).addClass("ui-state-active"),b=this,void d.document.one("mouseup",function(){b=null}))}).bind("mouseup"+this.eventNamespace,function(){return g.disabled?!1:void a(this).removeClass("ui-state-active")}).bind("keydown"+this.eventNamespace,function(b){return g.disabled?!1:void((b.keyCode===a.ui.keyCode.SPACE||b.keyCode===a.ui.keyCode.ENTER)&&a(this).addClass("ui-state-active"))}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){a(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(b){b.keyCode===a.ui.keyCode.SPACE&&a(this).click()})),this._setOption("disabled",g.disabled),this._resetButton()},_determineButtonType:function(){var a,b,c;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(a=this.element.parents().last(),b="label[for='"+this.element.attr("id")+"']",this.buttonElement=a.find(b),this.buttonElement.length||(a=a.length?a.siblings():this.element.siblings(),this.buttonElement=a.filter(b),this.buttonElement.length||(this.buttonElement=a.find(b))),this.element.addClass("ui-helper-hidden-accessible"),c=this.element.is(":checked"),c&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",c)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(c+" ui-state-active "+d).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(a,b){return this._super(a,b),"disabled"===a?(this.widget().toggleClass("ui-state-disabled",!!b),this.element.prop("disabled",!!b),void(b&&this.buttonElement.removeClass("checkbox"===this.type||"radio"===this.type?"ui-state-focus":"ui-state-focus ui-state-active"))):void this._resetButton()},refresh:function(){var b=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");b!==this.options.disabled&&this._setOption("disabled",b),"radio"===this.type?f(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return void(this.options.label&&this.element.val(this.options.label));var b=this.buttonElement.removeClass(d),c=a("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),e=this.options.icons,f=e.primary&&e.secondary,g=[];e.primary||e.secondary?(this.options.text&&g.push("ui-button-text-icon"+(f?"s":e.primary?"-primary":"-secondary")),e.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+e.primary+"'></span>"),e.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+e.secondary+"'></span>"),this.options.text||(g.push(f?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",a.trim(c)))):g.push("ui-button-text-only"),b.addClass(g.join(" "))}}),a.widget("ui.buttonset",{version:"1.11.2",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,b){"disabled"===a&&this.buttons.button("option",a,b),this._super(a,b)},refresh:function(){var b="rtl"===this.element.css("direction"),c=this.element.find(this.options.items),d=c.filter(":ui-button");c.not(":ui-button").button(),d.button("refresh"),this.buttons=c.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}}),a.ui.button});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget"],a):a(jQuery)}(function(a){var b,c="ui-button ui-widget ui-state-default ui-corner-all",d="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",e=function(){var b=a(this);setTimeout(function(){b.find(":ui-button").button("refresh")},1)},f=function(b){var c=b.name,d=b.form,e=a([]);return c&&(c=c.replace(/'/g,"\\'"),e=d?a(d).find("[name='"+c+"'][type=radio]"):a("[name='"+c+"'][type=radio]",b.ownerDocument).filter(function(){return!this.form})),e};return a.widget("ui.button",{version:"1.11.4",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,e),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var d=this,g=this.options,h="checkbox"===this.type||"radio"===this.type,i=h?"":"ui-state-active";null===g.label&&(g.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(c).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){g.disabled||this===b&&a(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){g.disabled||a(this).removeClass(i)}).bind("click"+this.eventNamespace,function(a){g.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}),this._on({focus:function(){this.buttonElement.addClass("ui-state-focus")},blur:function(){this.buttonElement.removeClass("ui-state-focus")}}),h&&this.element.bind("change"+this.eventNamespace,function(){d.refresh()}),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return g.disabled?!1:void 0}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(g.disabled)return!1;a(this).addClass("ui-state-active"),d.buttonElement.attr("aria-pressed","true");var b=d.element[0];f(b).not(b).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return g.disabled?!1:(a(this).addClass("ui-state-active"),b=this,void d.document.one("mouseup",function(){b=null}))}).bind("mouseup"+this.eventNamespace,function(){return g.disabled?!1:void a(this).removeClass("ui-state-active")}).bind("keydown"+this.eventNamespace,function(b){return g.disabled?!1:void((b.keyCode===a.ui.keyCode.SPACE||b.keyCode===a.ui.keyCode.ENTER)&&a(this).addClass("ui-state-active"))}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){a(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(b){b.keyCode===a.ui.keyCode.SPACE&&a(this).click()})),this._setOption("disabled",g.disabled),this._resetButton()},_determineButtonType:function(){var a,b,c;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(a=this.element.parents().last(),b="label[for='"+this.element.attr("id")+"']",this.buttonElement=a.find(b),this.buttonElement.length||(a=a.length?a.siblings():this.element.siblings(),this.buttonElement=a.filter(b),this.buttonElement.length||(this.buttonElement=a.find(b))),this.element.addClass("ui-helper-hidden-accessible"),c=this.element.is(":checked"),c&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",c)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(c+" ui-state-active "+d).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(a,b){return this._super(a,b),"disabled"===a?(this.widget().toggleClass("ui-state-disabled",!!b),this.element.prop("disabled",!!b),void(b&&this.buttonElement.removeClass("checkbox"===this.type||"radio"===this.type?"ui-state-focus":"ui-state-focus ui-state-active"))):void this._resetButton()},refresh:function(){var b=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");b!==this.options.disabled&&this._setOption("disabled",b),"radio"===this.type?f(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return void(this.options.label&&this.element.val(this.options.label));var b=this.buttonElement.removeClass(d),c=a("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),e=this.options.icons,f=e.primary&&e.secondary,g=[];e.primary||e.secondary?(this.options.text&&g.push("ui-button-text-icon"+(f?"s":e.primary?"-primary":"-secondary")),e.primary&&b.prepend("<span class='ui-button-icon-primary ui-icon "+e.primary+"'></span>"),e.secondary&&b.append("<span class='ui-button-icon-secondary ui-icon "+e.secondary+"'></span>"),this.options.text||(g.push(f?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||b.attr("title",a.trim(c)))):g.push("ui-button-text-only"),b.addClass(g.join(" "))}}),a.widget("ui.buttonset",{version:"1.11.4",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,b){"disabled"===a&&this.buttons.button("option",a,b),this._super(a,b)},refresh:function(){var b="rtl"===this.element.css("direction"),c=this.element.find(this.options.items),d=c.filter(":ui-button");c.not(":ui-button").button(),d.button("refresh"),this.buttons=c.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(b?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(b?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}}),a.ui.button});
\ No newline at end of file
index ca9f564be6067717711e7387d2411053ee2f744b..db53461fe17dbca313042a0a6722eae3a0886175 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Core 1.11.2
+ * jQuery UI Core 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/category/ui-core/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){function b(b,d){var e,f,g,h=b.nodeName.toLowerCase();return"area"===h?(e=b.parentNode,f=e.name,b.href&&f&&"map"===e.nodeName.toLowerCase()?(g=a("img[usemap='#"+f+"']")[0],!!g&&c(g)):!1):(/input|select|textarea|button|object/.test(h)?!b.disabled:"a"===h?b.href||d:d)&&c(b)}function c(b){return a.expr.filters.visible(b)&&!a(b).parents().addBack().filter(function(){return"hidden"===a.css(this,"visibility")}).length}a.ui=a.ui||{},a.extend(a.ui,{version:"1.11.2",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),a.fn.extend({scrollParent:function(b){var c=this.css("position"),d="absolute"===c,e=b?/(auto|scroll|hidden)/:/(auto|scroll)/,f=this.parents().filter(function(){var b=a(this);return d&&"static"===b.css("position")?!1:e.test(b.css("overflow")+b.css("overflow-y")+b.css("overflow-x"))}).eq(0);return"fixed"!==c&&f.length?f:a(this[0].ownerDocument||document)},uniqueId:function(){var a=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++a)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&a(this).removeAttr("id")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(c){return b(c,!isNaN(a.attr(c,"tabindex")))},tabbable:function(c){var d=a.attr(c,"tabindex"),e=isNaN(d);return(e||d>=0)&&b(c,!e)}}),a("<a>").outerWidth(1).jquery||a.each(["Width","Height"],function(b,c){function d(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.css(b,"padding"+this))||0,d&&(c-=parseFloat(a.css(b,"border"+this+"Width"))||0),f&&(c-=parseFloat(a.css(b,"margin"+this))||0)}),c}var e="Width"===c?["Left","Right"]:["Top","Bottom"],f=c.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+c]=function(b){return void 0===b?g["inner"+c].call(this):this.each(function(){a(this).css(f,d(this,b)+"px")})},a.fn["outer"+c]=function(b,e){return"number"!=typeof b?g["outer"+c].call(this,b):this.each(function(){a(this).css(f,d(this,b,!0,e)+"px")})}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(a.fn.removeData=function(b){return function(c){return arguments.length?b.call(this,a.camelCase(c)):b.call(this)}}(a.fn.removeData)),a.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),a.fn.extend({focus:function(b){return function(c,d){return"number"==typeof c?this.each(function(){var b=this;setTimeout(function(){a(b).focus(),d&&d.call(b)},c)}):b.apply(this,arguments)}}(a.fn.focus),disableSelection:function(){var a="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.bind(a+".ui-disableSelection",function(a){a.preventDefault()})}}(),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(b){if(void 0!==b)return this.css("zIndex",b);if(this.length)for(var c,d,e=a(this[0]);e.length&&e[0]!==document;){if(c=e.css("position"),("absolute"===c||"relative"===c||"fixed"===c)&&(d=parseInt(e.css("zIndex"),10),!isNaN(d)&&0!==d))return d;e=e.parent()}return 0}}),a.ui.plugin={add:function(b,c,d){var e,f=a.ui[b].prototype;for(e in d)f.plugins[e]=f.plugins[e]||[],f.plugins[e].push([c,d[e]])},call:function(a,b,c,d){var e,f=a.plugins[b];if(f&&(d||a.element[0].parentNode&&11!==a.element[0].parentNode.nodeType))for(e=0;e<f.length;e++)a.options[f[e][0]]&&f[e][1].apply(a.element,c)}}});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){function b(b,d){var e,f,g,h=b.nodeName.toLowerCase();return"area"===h?(e=b.parentNode,f=e.name,b.href&&f&&"map"===e.nodeName.toLowerCase()?(g=a("img[usemap='#"+f+"']")[0],!!g&&c(g)):!1):(/^(input|select|textarea|button|object)$/.test(h)?!b.disabled:"a"===h?b.href||d:d)&&c(b)}function c(b){return a.expr.filters.visible(b)&&!a(b).parents().addBack().filter(function(){return"hidden"===a.css(this,"visibility")}).length}a.ui=a.ui||{},a.extend(a.ui,{version:"1.11.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),a.fn.extend({scrollParent:function(b){var c=this.css("position"),d="absolute"===c,e=b?/(auto|scroll|hidden)/:/(auto|scroll)/,f=this.parents().filter(function(){var b=a(this);return d&&"static"===b.css("position")?!1:e.test(b.css("overflow")+b.css("overflow-y")+b.css("overflow-x"))}).eq(0);return"fixed"!==c&&f.length?f:a(this[0].ownerDocument||document)},uniqueId:function(){var a=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++a)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&a(this).removeAttr("id")})}}),a.extend(a.expr[":"],{data:a.expr.createPseudo?a.expr.createPseudo(function(b){return function(c){return!!a.data(c,b)}}):function(b,c,d){return!!a.data(b,d[3])},focusable:function(c){return b(c,!isNaN(a.attr(c,"tabindex")))},tabbable:function(c){var d=a.attr(c,"tabindex"),e=isNaN(d);return(e||d>=0)&&b(c,!e)}}),a("<a>").outerWidth(1).jquery||a.each(["Width","Height"],function(b,c){function d(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.css(b,"padding"+this))||0,d&&(c-=parseFloat(a.css(b,"border"+this+"Width"))||0),f&&(c-=parseFloat(a.css(b,"margin"+this))||0)}),c}var e="Width"===c?["Left","Right"]:["Top","Bottom"],f=c.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+c]=function(b){return void 0===b?g["inner"+c].call(this):this.each(function(){a(this).css(f,d(this,b)+"px")})},a.fn["outer"+c]=function(b,e){return"number"!=typeof b?g["outer"+c].call(this,b):this.each(function(){a(this).css(f,d(this,b,!0,e)+"px")})}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(a.fn.removeData=function(b){return function(c){return arguments.length?b.call(this,a.camelCase(c)):b.call(this)}}(a.fn.removeData)),a.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),a.fn.extend({focus:function(b){return function(c,d){return"number"==typeof c?this.each(function(){var b=this;setTimeout(function(){a(b).focus(),d&&d.call(b)},c)}):b.apply(this,arguments)}}(a.fn.focus),disableSelection:function(){var a="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.bind(a+".ui-disableSelection",function(a){a.preventDefault()})}}(),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(b){if(void 0!==b)return this.css("zIndex",b);if(this.length)for(var c,d,e=a(this[0]);e.length&&e[0]!==document;){if(c=e.css("position"),("absolute"===c||"relative"===c||"fixed"===c)&&(d=parseInt(e.css("zIndex"),10),!isNaN(d)&&0!==d))return d;e=e.parent()}return 0}}),a.ui.plugin={add:function(b,c,d){var e,f=a.ui[b].prototype;for(e in d)f.plugins[e]=f.plugins[e]||[],f.plugins[e].push([c,d[e]])},call:function(a,b,c,d){var e,f=a.plugins[b];if(f&&(d||a.element[0].parentNode&&11!==a.element[0].parentNode.nodeType))for(e=0;e<f.length;e++)a.options[f[e][0]]&&f[e][1].apply(a.element,c)}}});
\ No newline at end of file
index da5515929cf9f03d75225ecade6ed44cf13563fd..0145b2835e908afb9e568fdfd150a091e24dd9ae 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * jQuery UI Datepicker 1.11.2
+ * jQuery UI Datepicker 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/datepicker/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core"],a):a(jQuery)}(function(a){function b(a){for(var b,c;a.length&&a[0]!==document;){if(b=a.css("position"),("absolute"===b||"relative"===b||"fixed"===b)&&(c=parseInt(a.css("zIndex"),10),!isNaN(c)&&0!==c))return c;a=a.parent()}return 0}function c(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},a.extend(this._defaults,this.regional[""]),this.regional.en=a.extend(!0,{},this.regional[""]),this.regional["en-US"]=a.extend(!0,{},this.regional.en),this.dpDiv=d(a("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function d(b){var c="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return b.delegate(c,"mouseout",function(){a(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&a(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&a(this).removeClass("ui-datepicker-next-hover")}).delegate(c,"mouseover",e)}function e(){a.datepicker._isDisabledDatepicker(g.inline?g.dpDiv.parent()[0]:g.input[0])||(a(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),a(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&a(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&a(this).addClass("ui-datepicker-next-hover"))}function f(b,c){a.extend(b,c);for(var d in c)null==c[d]&&(b[d]=c[d]);return b}a.extend(a.ui,{datepicker:{version:"1.11.2"}});var g;return a.extend(c.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return f(this._defaults,a||{}),this},_attachDatepicker:function(b,c){var d,e,f;d=b.nodeName.toLowerCase(),e="div"===d||"span"===d,b.id||(this.uuid+=1,b.id="dp"+this.uuid),f=this._newInst(a(b),e),f.settings=a.extend({},c||{}),"input"===d?this._connectDatepicker(b,f):e&&this._inlineDatepicker(b,f)},_newInst:function(b,c){var e=b[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:e,input:b,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:c,dpDiv:c?d(a("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(b,c){var d=a(b);c.append=a([]),c.trigger=a([]),d.hasClass(this.markerClassName)||(this._attachments(d,c),d.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(c),a.data(b,"datepicker",c),c.settings.disabled&&this._disableDatepicker(b))},_attachments:function(b,c){var d,e,f,g=this._get(c,"appendText"),h=this._get(c,"isRTL");c.append&&c.append.remove(),g&&(c.append=a("<span class='"+this._appendClass+"'>"+g+"</span>"),b[h?"before":"after"](c.append)),b.unbind("focus",this._showDatepicker),c.trigger&&c.trigger.remove(),d=this._get(c,"showOn"),("focus"===d||"both"===d)&&b.focus(this._showDatepicker),("button"===d||"both"===d)&&(e=this._get(c,"buttonText"),f=this._get(c,"buttonImage"),c.trigger=a(this._get(c,"buttonImageOnly")?a("<img/>").addClass(this._triggerClass).attr({src:f,alt:e,title:e}):a("<button type='button'></button>").addClass(this._triggerClass).html(f?a("<img/>").attr({src:f,alt:e,title:e}):e)),b[h?"before":"after"](c.trigger),c.trigger.click(function(){return a.datepicker._datepickerShowing&&a.datepicker._lastInput===b[0]?a.datepicker._hideDatepicker():a.datepicker._datepickerShowing&&a.datepicker._lastInput!==b[0]?(a.datepicker._hideDatepicker(),a.datepicker._showDatepicker(b[0])):a.datepicker._showDatepicker(b[0]),!1}))},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b,c,d,e,f=new Date(2009,11,20),g=this._get(a,"dateFormat");g.match(/[DM]/)&&(b=function(a){for(c=0,d=0,e=0;e<a.length;e++)a[e].length>c&&(c=a[e].length,d=e);return d},f.setMonth(b(this._get(a,g.match(/MM/)?"monthNames":"monthNamesShort"))),f.setDate(b(this._get(a,g.match(/DD/)?"dayNames":"dayNamesShort"))+20-f.getDay())),a.input.attr("size",this._formatDate(a,f).length)}},_inlineDatepicker:function(b,c){var d=a(b);d.hasClass(this.markerClassName)||(d.addClass(this.markerClassName).append(c.dpDiv),a.data(b,"datepicker",c),this._setDate(c,this._getDefaultDate(c),!0),this._updateDatepicker(c),this._updateAlternate(c),c.settings.disabled&&this._disableDatepicker(b),c.dpDiv.css("display","block"))},_dialogDatepicker:function(b,c,d,e,g){var h,i,j,k,l,m=this._dialogInst;return m||(this.uuid+=1,h="dp"+this.uuid,this._dialogInput=a("<input type='text' id='"+h+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),a("body").append(this._dialogInput),m=this._dialogInst=this._newInst(this._dialogInput,!1),m.settings={},a.data(this._dialogInput[0],"datepicker",m)),f(m.settings,e||{}),c=c&&c.constructor===Date?this._formatDate(m,c):c,this._dialogInput.val(c),this._pos=g?g.length?g:[g.pageX,g.pageY]:null,this._pos||(i=document.documentElement.clientWidth,j=document.documentElement.clientHeight,k=document.documentElement.scrollLeft||document.body.scrollLeft,l=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[i/2-100+k,j/2-150+l]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),m.settings.onSelect=d,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),a.blockUI&&a.blockUI(this.dpDiv),a.data(this._dialogInput[0],"datepicker",m),this},_destroyDatepicker:function(b){var c,d=a(b),e=a.data(b,"datepicker");d.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),a.removeData(b,"datepicker"),"input"===c?(e.append.remove(),e.trigger.remove(),d.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===c||"span"===c)&&d.removeClass(this.markerClassName).empty())},_enableDatepicker:function(b){var c,d,e=a(b),f=a.data(b,"datepicker");e.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),"input"===c?(b.disabled=!1,f.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===c||"span"===c)&&(d=e.children("."+this._inlineClass),d.children().removeClass("ui-state-disabled"),d.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}))},_disableDatepicker:function(b){var c,d,e=a(b),f=a.data(b,"datepicker");e.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),"input"===c?(b.disabled=!0,f.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===c||"span"===c)&&(d=e.children("."+this._inlineClass),d.children().addClass("ui-state-disabled"),d.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}),this._disabledInputs[this._disabledInputs.length]=b)},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]===a)return!0;return!1},_getInst:function(b){try{return a.data(b,"datepicker")}catch(c){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(b,c,d){var e,g,h,i,j=this._getInst(b);return 2===arguments.length&&"string"==typeof c?"defaults"===c?a.extend({},a.datepicker._defaults):j?"all"===c?a.extend({},j.settings):this._get(j,c):null:(e=c||{},"string"==typeof c&&(e={},e[c]=d),void(j&&(this._curInst===j&&this._hideDatepicker(),g=this._getDateDatepicker(b,!0),h=this._getMinMaxDate(j,"min"),i=this._getMinMaxDate(j,"max"),f(j.settings,e),null!==h&&void 0!==e.dateFormat&&void 0===e.minDate&&(j.settings.minDate=this._formatDate(j,h)),null!==i&&void 0!==e.dateFormat&&void 0===e.maxDate&&(j.settings.maxDate=this._formatDate(j,i)),"disabled"in e&&(e.disabled?this._disableDatepicker(b):this._enableDatepicker(b)),this._attachments(a(b),j),this._autoSize(j),this._setDate(j,g),this._updateAlternate(j),this._updateDatepicker(j))))},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);return c&&!c.inline&&this._setDateFromField(c,b),c?this._getDate(c):null},_doKeyDown:function(b){var c,d,e,f=a.datepicker._getInst(b.target),g=!0,h=f.dpDiv.is(".ui-datepicker-rtl");if(f._keyEvent=!0,a.datepicker._datepickerShowing)switch(b.keyCode){case 9:a.datepicker._hideDatepicker(),g=!1;break;case 13:return e=a("td."+a.datepicker._dayOverClass+":not(."+a.datepicker._currentClass+")",f.dpDiv),e[0]&&a.datepicker._selectDay(b.target,f.selectedMonth,f.selectedYear,e[0]),c=a.datepicker._get(f,"onSelect"),c?(d=a.datepicker._formatDate(f),c.apply(f.input?f.input[0]:null,[d,f])):a.datepicker._hideDatepicker(),!1;case 27:a.datepicker._hideDatepicker();break;case 33:a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 34:a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 35:(b.ctrlKey||b.metaKey)&&a.datepicker._clearDate(b.target),g=b.ctrlKey||b.metaKey;break;case 36:(b.ctrlKey||b.metaKey)&&a.datepicker._gotoToday(b.target),g=b.ctrlKey||b.metaKey;break;case 37:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?1:-1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 38:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,-7,"D"),g=b.ctrlKey||b.metaKey;break;case 39:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?-1:1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 40:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,7,"D"),g=b.ctrlKey||b.metaKey;break;default:g=!1}else 36===b.keyCode&&b.ctrlKey?a.datepicker._showDatepicker(this):g=!1;g&&(b.preventDefault(),b.stopPropagation())},_doKeyPress:function(b){var c,d,e=a.datepicker._getInst(b.target);return a.datepicker._get(e,"constrainInput")?(c=a.datepicker._possibleChars(a.datepicker._get(e,"dateFormat")),d=String.fromCharCode(null==b.charCode?b.keyCode:b.charCode),b.ctrlKey||b.metaKey||" ">d||!c||c.indexOf(d)>-1):void 0},_doKeyUp:function(b){var c,d=a.datepicker._getInst(b.target);if(d.input.val()!==d.lastVal)try{c=a.datepicker.parseDate(a.datepicker._get(d,"dateFormat"),d.input?d.input.val():null,a.datepicker._getFormatConfig(d)),c&&(a.datepicker._setDateFromField(d),a.datepicker._updateAlternate(d),a.datepicker._updateDatepicker(d))}catch(e){}return!0},_showDatepicker:function(c){if(c=c.target||c,"input"!==c.nodeName.toLowerCase()&&(c=a("input",c.parentNode)[0]),!a.datepicker._isDisabledDatepicker(c)&&a.datepicker._lastInput!==c){var d,e,g,h,i,j,k;d=a.datepicker._getInst(c),a.datepicker._curInst&&a.datepicker._curInst!==d&&(a.datepicker._curInst.dpDiv.stop(!0,!0),d&&a.datepicker._datepickerShowing&&a.datepicker._hideDatepicker(a.datepicker._curInst.input[0])),e=a.datepicker._get(d,"beforeShow"),g=e?e.apply(c,[c,d]):{},g!==!1&&(f(d.settings,g),d.lastVal=null,a.datepicker._lastInput=c,a.datepicker._setDateFromField(d),a.datepicker._inDialog&&(c.value=""),a.datepicker._pos||(a.datepicker._pos=a.datepicker._findPos(c),a.datepicker._pos[1]+=c.offsetHeight),h=!1,a(c).parents().each(function(){return h|="fixed"===a(this).css("position"),!h}),i={left:a.datepicker._pos[0],top:a.datepicker._pos[1]},a.datepicker._pos=null,d.dpDiv.empty(),d.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),a.datepicker._updateDatepicker(d),i=a.datepicker._checkOffset(d,i,h),d.dpDiv.css({position:a.datepicker._inDialog&&a.blockUI?"static":h?"fixed":"absolute",display:"none",left:i.left+"px",top:i.top+"px"}),d.inline||(j=a.datepicker._get(d,"showAnim"),k=a.datepicker._get(d,"duration"),d.dpDiv.css("z-index",b(a(c))+1),a.datepicker._datepickerShowing=!0,a.effects&&a.effects.effect[j]?d.dpDiv.show(j,a.datepicker._get(d,"showOptions"),k):d.dpDiv[j||"show"](j?k:null),a.datepicker._shouldFocusInput(d)&&d.input.focus(),a.datepicker._curInst=d))}},_updateDatepicker:function(b){this.maxRows=4,g=b,b.dpDiv.empty().append(this._generateHTML(b)),this._attachHandlers(b);var c,d=this._getNumberOfMonths(b),f=d[1],h=17,i=b.dpDiv.find("."+this._dayOverClass+" a");i.length>0&&e.apply(i.get(0)),b.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&b.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",h*f+"em"),b.dpDiv[(1!==d[0]||1!==d[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),b.dpDiv[(this._get(b,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),b===a.datepicker._curInst&&a.datepicker._datepickerShowing&&a.datepicker._shouldFocusInput(b)&&b.input.focus(),b.yearshtml&&(c=b.yearshtml,setTimeout(function(){c===b.yearshtml&&b.yearshtml&&b.dpDiv.find("select.ui-datepicker-year:first").replaceWith(b.yearshtml),c=b.yearshtml=null},0))},_shouldFocusInput:function(a){return a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&!a.input.is(":focus")},_checkOffset:function(b,c,d){var e=b.dpDiv.outerWidth(),f=b.dpDiv.outerHeight(),g=b.input?b.input.outerWidth():0,h=b.input?b.input.outerHeight():0,i=document.documentElement.clientWidth+(d?0:a(document).scrollLeft()),j=document.documentElement.clientHeight+(d?0:a(document).scrollTop());return c.left-=this._get(b,"isRTL")?e-g:0,c.left-=d&&c.left===b.input.offset().left?a(document).scrollLeft():0,c.top-=d&&c.top===b.input.offset().top+h?a(document).scrollTop():0,c.left-=Math.min(c.left,c.left+e>i&&i>e?Math.abs(c.left+e-i):0),c.top-=Math.min(c.top,c.top+f>j&&j>f?Math.abs(f+h):0),c},_findPos:function(b){for(var c,d=this._getInst(b),e=this._get(d,"isRTL");b&&("hidden"===b.type||1!==b.nodeType||a.expr.filters.hidden(b));)b=b[e?"previousSibling":"nextSibling"];return c=a(b).offset(),[c.left,c.top]},_hideDatepicker:function(b){var c,d,e,f,g=this._curInst;!g||b&&g!==a.data(b,"datepicker")||this._datepickerShowing&&(c=this._get(g,"showAnim"),d=this._get(g,"duration"),e=function(){a.datepicker._tidyDialog(g)},a.effects&&(a.effects.effect[c]||a.effects[c])?g.dpDiv.hide(c,a.datepicker._get(g,"showOptions"),d,e):g.dpDiv["slideDown"===c?"slideUp":"fadeIn"===c?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1,f=this._get(g,"onClose"),f&&f.apply(g.input?g.input[0]:null,[g.input?g.input.val():"",g]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),a.blockUI&&(a.unblockUI(),a("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(b){if(a.datepicker._curInst){var c=a(b.target),d=a.datepicker._getInst(c[0]);(c[0].id!==a.datepicker._mainDivId&&0===c.parents("#"+a.datepicker._mainDivId).length&&!c.hasClass(a.datepicker.markerClassName)&&!c.closest("."+a.datepicker._triggerClass).length&&a.datepicker._datepickerShowing&&(!a.datepicker._inDialog||!a.blockUI)||c.hasClass(a.datepicker.markerClassName)&&a.datepicker._curInst!==d)&&a.datepicker._hideDatepicker()}},_adjustDate:function(b,c,d){var e=a(b),f=this._getInst(e[0]);this._isDisabledDatepicker(e[0])||(this._adjustInstDate(f,c+("M"===d?this._get(f,"showCurrentAtPos"):0),d),this._updateDatepicker(f))},_gotoToday:function(b){var c,d=a(b),e=this._getInst(d[0]);this._get(e,"gotoCurrent")&&e.currentDay?(e.selectedDay=e.currentDay,e.drawMonth=e.selectedMonth=e.currentMonth,e.drawYear=e.selectedYear=e.currentYear):(c=new Date,e.selectedDay=c.getDate(),e.drawMonth=e.selectedMonth=c.getMonth(),e.drawYear=e.selectedYear=c.getFullYear()),this._notifyChange(e),this._adjustDate(d)},_selectMonthYear:function(b,c,d){var e=a(b),f=this._getInst(e[0]);f["selected"+("M"===d?"Month":"Year")]=f["draw"+("M"===d?"Month":"Year")]=parseInt(c.options[c.selectedIndex].value,10),this._notifyChange(f),this._adjustDate(e)},_selectDay:function(b,c,d,e){var f,g=a(b);a(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(g[0])||(f=this._getInst(g[0]),f.selectedDay=f.currentDay=a("a",e).html(),f.selectedMonth=f.currentMonth=c,f.selectedYear=f.currentYear=d,this._selectDate(b,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear)))},_clearDate:function(b){var c=a(b);this._selectDate(c,"")},_selectDate:function(b,c){var d,e=a(b),f=this._getInst(e[0]);c=null!=c?c:this._formatDate(f),f.input&&f.input.val(c),this._updateAlternate(f),d=this._get(f,"onSelect"),d?d.apply(f.input?f.input[0]:null,[c,f]):f.input&&f.input.trigger("change"),f.inline?this._updateDatepicker(f):(this._hideDatepicker(),this._lastInput=f.input[0],"object"!=typeof f.input[0]&&f.input.focus(),this._lastInput=null)},_updateAlternate:function(b){var c,d,e,f=this._get(b,"altField");f&&(c=this._get(b,"altFormat")||this._get(b,"dateFormat"),d=this._getDate(b),e=this.formatDate(c,d,this._getFormatConfig(b)),a(f).each(function(){a(this).val(e)}))},noWeekends:function(a){var b=a.getDay();return[b>0&&6>b,""]},iso8601Week:function(a){var b,c=new Date(a.getTime());return c.setDate(c.getDate()+4-(c.getDay()||7)),b=c.getTime(),c.setMonth(0),c.setDate(1),Math.floor(Math.round((b-c)/864e5)/7)+1},parseDate:function(b,c,d){if(null==b||null==c)throw"Invalid arguments";if(c="object"==typeof c?c.toString():c+"",""===c)return null;var e,f,g,h,i=0,j=(d?d.shortYearCutoff:null)||this._defaults.shortYearCutoff,k="string"!=typeof j?j:(new Date).getFullYear()%100+parseInt(j,10),l=(d?d.dayNamesShort:null)||this._defaults.dayNamesShort,m=(d?d.dayNames:null)||this._defaults.dayNames,n=(d?d.monthNamesShort:null)||this._defaults.monthNamesShort,o=(d?d.monthNames:null)||this._defaults.monthNames,p=-1,q=-1,r=-1,s=-1,t=!1,u=function(a){var c=e+1<b.length&&b.charAt(e+1)===a;return c&&e++,c},v=function(a){var b=u(a),d="@"===a?14:"!"===a?20:"y"===a&&b?4:"o"===a?3:2,e="y"===a?d:1,f=new RegExp("^\\d{"+e+","+d+"}"),g=c.substring(i).match(f);if(!g)throw"Missing number at position "+i;return i+=g[0].length,parseInt(g[0],10)},w=function(b,d,e){var f=-1,g=a.map(u(b)?e:d,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)});if(a.each(g,function(a,b){var d=b[1];return c.substr(i,d.length).toLowerCase()===d.toLowerCase()?(f=b[0],i+=d.length,!1):void 0}),-1!==f)return f+1;throw"Unknown name at position "+i},x=function(){if(c.charAt(i)!==b.charAt(e))throw"Unexpected literal at position "+i;i++};for(e=0;e<b.length;e++)if(t)"'"!==b.charAt(e)||u("'")?x():t=!1;else switch(b.charAt(e)){case"d":r=v("d");break;case"D":w("D",l,m);break;case"o":s=v("o");break;case"m":q=v("m");break;case"M":q=w("M",n,o);break;case"y":p=v("y");break;case"@":h=new Date(v("@")),p=h.getFullYear(),q=h.getMonth()+1,r=h.getDate();break;case"!":h=new Date((v("!")-this._ticksTo1970)/1e4),p=h.getFullYear(),q=h.getMonth()+1,r=h.getDate();break;case"'":u("'")?x():t=!0;break;default:x()}if(i<c.length&&(g=c.substr(i),!/^\s+/.test(g)))throw"Extra/unparsed characters found in date: "+g;if(-1===p?p=(new Date).getFullYear():100>p&&(p+=(new Date).getFullYear()-(new Date).getFullYear()%100+(k>=p?0:-100)),s>-1)for(q=1,r=s;;){if(f=this._getDaysInMonth(p,q-1),f>=r)break;q++,r-=f}if(h=this._daylightSavingAdjust(new Date(p,q-1,r)),h.getFullYear()!==p||h.getMonth()+1!==q||h.getDate()!==r)throw"Invalid date";return h},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d,e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=function(b){var c=d+1<a.length&&a.charAt(d+1)===b;return c&&d++,c},j=function(a,b,c){var d=""+b;if(i(a))for(;d.length<c;)d="0"+d;return d},k=function(a,b,c,d){return i(a)?d[b]:c[b]},l="",m=!1;if(b)for(d=0;d<a.length;d++)if(m)"'"!==a.charAt(d)||i("'")?l+=a.charAt(d):m=!1;else switch(a.charAt(d)){case"d":l+=j("d",b.getDate(),2);break;case"D":l+=k("D",b.getDay(),e,f);break;case"o":l+=j("o",Math.round((new Date(b.getFullYear(),b.getMonth(),b.getDate()).getTime()-new Date(b.getFullYear(),0,0).getTime())/864e5),3);break;case"m":l+=j("m",b.getMonth()+1,2);break;case"M":l+=k("M",b.getMonth(),g,h);break;case"y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":l+=b.getTime();break;case"!":l+=1e4*b.getTime()+this._ticksTo1970;break;case"'":i("'")?l+="'":m=!0;break;default:l+=a.charAt(d)}return l},_possibleChars:function(a){var b,c="",d=!1,e=function(c){var d=b+1<a.length&&a.charAt(b+1)===c;return d&&b++,d};for(b=0;b<a.length;b++)if(d)"'"!==a.charAt(b)||e("'")?c+=a.charAt(b):d=!1;else switch(a.charAt(b)){case"d":case"m":case"y":case"@":c+="0123456789";break;case"D":case"M":return null;case"'":e("'")?c+="'":d=!0;break;default:c+=a.charAt(b)}return c},_get:function(a,b){return void 0!==a.settings[b]?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!==a.lastVal){var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e=this._getDefaultDate(a),f=e,g=this._getFormatConfig(a);try{f=this.parseDate(c,d,g)||e}catch(h){d=b?"":d}a.selectedDay=f.getDate(),a.drawMonth=a.selectedMonth=f.getMonth(),a.drawYear=a.selectedYear=f.getFullYear(),a.currentDay=d?f.getDate():0,a.currentMonth=d?f.getMonth():0,a.currentYear=d?f.getFullYear():0,this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(b,c,d){var e=function(a){var b=new Date;return b.setDate(b.getDate()+a),b},f=function(c){try{return a.datepicker.parseDate(a.datepicker._get(b,"dateFormat"),c,a.datepicker._getFormatConfig(b))}catch(d){}for(var e=(c.toLowerCase().match(/^c/)?a.datepicker._getDate(b):null)||new Date,f=e.getFullYear(),g=e.getMonth(),h=e.getDate(),i=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,j=i.exec(c);j;){switch(j[2]||"d"){case"d":case"D":h+=parseInt(j[1],10);break;case"w":case"W":h+=7*parseInt(j[1],10);break;case"m":case"M":g+=parseInt(j[1],10),h=Math.min(h,a.datepicker._getDaysInMonth(f,g));break;case"y":case"Y":f+=parseInt(j[1],10),h=Math.min(h,a.datepicker._getDaysInMonth(f,g))}j=i.exec(c)}return new Date(f,g,h)},g=null==c||""===c?d:"string"==typeof c?f(c):"number"==typeof c?isNaN(c)?d:e(c):new Date(c.getTime());return g=g&&"Invalid Date"===g.toString()?d:g,g&&(g.setHours(0),g.setMinutes(0),g.setSeconds(0),g.setMilliseconds(0)),this._daylightSavingAdjust(g)},_daylightSavingAdjust:function(a){return a?(a.setHours(a.getHours()>12?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),e===a.selectedMonth&&f===a.selectedYear||c||this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&""===a.input.val()?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_attachHandlers:function(b){var c=this._get(b,"stepMonths"),d="#"+b.id.replace(/\\\\/g,"\\");b.dpDiv.find("[data-handler]").map(function(){var b={prev:function(){a.datepicker._adjustDate(d,-c,"M")},next:function(){a.datepicker._adjustDate(d,+c,"M")},hide:function(){a.datepicker._hideDatepicker()},today:function(){a.datepicker._gotoToday(d)},selectDay:function(){return a.datepicker._selectDay(d,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return a.datepicker._selectMonthYear(d,this,"M"),!1},selectYear:function(){return a.datepicker._selectMonthYear(d,this,"Y"),!1}};a(this).bind(this.getAttribute("data-event"),b[this.getAttribute("data-handler")])})},_generateHTML:function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O=new Date,P=this._daylightSavingAdjust(new Date(O.getFullYear(),O.getMonth(),O.getDate())),Q=this._get(a,"isRTL"),R=this._get(a,"showButtonPanel"),S=this._get(a,"hideIfNoPrevNext"),T=this._get(a,"navigationAsDateFormat"),U=this._getNumberOfMonths(a),V=this._get(a,"showCurrentAtPos"),W=this._get(a,"stepMonths"),X=1!==U[0]||1!==U[1],Y=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),Z=this._getMinMaxDate(a,"min"),$=this._getMinMaxDate(a,"max"),_=a.drawMonth-V,ab=a.drawYear;if(0>_&&(_+=12,ab--),$)for(b=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-U[0]*U[1]+1,$.getDate())),b=Z&&Z>b?Z:b;this._daylightSavingAdjust(new Date(ab,_,1))>b;)_--,0>_&&(_=11,ab--);for(a.drawMonth=_,a.drawYear=ab,c=this._get(a,"prevText"),c=T?this.formatDate(c,this._daylightSavingAdjust(new Date(ab,_-W,1)),this._getFormatConfig(a)):c,d=this._canAdjustMonth(a,-1,ab,_)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>":S?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>",e=this._get(a,"nextText"),e=T?this.formatDate(e,this._daylightSavingAdjust(new Date(ab,_+W,1)),this._getFormatConfig(a)):e,f=this._canAdjustMonth(a,1,ab,_)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>":S?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>",g=this._get(a,"currentText"),h=this._get(a,"gotoCurrent")&&a.currentDay?Y:P,g=T?this.formatDate(g,h,this._getFormatConfig(a)):g,i=a.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(a,"closeText")+"</button>",j=R?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Q?i:"")+(this._isInRange(a,h)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+g+"</button>":"")+(Q?"":i)+"</div>":"",k=parseInt(this._get(a,"firstDay"),10),k=isNaN(k)?0:k,l=this._get(a,"showWeek"),m=this._get(a,"dayNames"),n=this._get(a,"dayNamesMin"),o=this._get(a,"monthNames"),p=this._get(a,"monthNamesShort"),q=this._get(a,"beforeShowDay"),r=this._get(a,"showOtherMonths"),s=this._get(a,"selectOtherMonths"),t=this._getDefaultDate(a),u="",w=0;w<U[0];w++){for(x="",this.maxRows=4,y=0;y<U[1];y++){if(z=this._daylightSavingAdjust(new Date(ab,_,a.selectedDay)),A=" ui-corner-all",B="",X){if(B+="<div class='ui-datepicker-group",U[1]>1)switch(y){case 0:B+=" ui-datepicker-group-first",A=" ui-corner-"+(Q?"right":"left");break;case U[1]-1:B+=" ui-datepicker-group-last",A=" ui-corner-"+(Q?"left":"right");break;default:B+=" ui-datepicker-group-middle",A=""}B+="'>"}for(B+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+A+"'>"+(/all|left/.test(A)&&0===w?Q?f:d:"")+(/all|right/.test(A)&&0===w?Q?d:f:"")+this._generateMonthYearHeader(a,_,ab,Z,$,w>0||y>0,o,p)+"</div><table class='ui-datepicker-calendar'><thead><tr>",C=l?"<th class='ui-datepicker-week-col'>"+this._get(a,"weekHeader")+"</th>":"",v=0;7>v;v++)D=(v+k)%7,C+="<th scope='col'"+((v+k+6)%7>=5?" class='ui-datepicker-week-end'":"")+"><span title='"+m[D]+"'>"+n[D]+"</span></th>";for(B+=C+"</tr></thead><tbody>",E=this._getDaysInMonth(ab,_),ab===a.selectedYear&&_===a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,E)),F=(this._getFirstDayOfMonth(ab,_)-k+7)%7,G=Math.ceil((F+E)/7),H=X&&this.maxRows>G?this.maxRows:G,this.maxRows=H,I=this._daylightSavingAdjust(new Date(ab,_,1-F)),J=0;H>J;J++){for(B+="<tr>",K=l?"<td class='ui-datepicker-week-col'>"+this._get(a,"calculateWeek")(I)+"</td>":"",v=0;7>v;v++)L=q?q.apply(a.input?a.input[0]:null,[I]):[!0,""],M=I.getMonth()!==_,N=M&&!s||!L[0]||Z&&Z>I||$&&I>$,K+="<td class='"+((v+k+6)%7>=5?" ui-datepicker-week-end":"")+(M?" ui-datepicker-other-month":"")+(I.getTime()===z.getTime()&&_===a.selectedMonth&&a._keyEvent||t.getTime()===I.getTime()&&t.getTime()===z.getTime()?" "+this._dayOverClass:"")+(N?" "+this._unselectableClass+" ui-state-disabled":"")+(M&&!r?"":" "+L[1]+(I.getTime()===Y.getTime()?" "+this._currentClass:"")+(I.getTime()===P.getTime()?" ui-datepicker-today":""))+"'"+(M&&!r||!L[2]?"":" title='"+L[2].replace(/'/g,"&#39;")+"'")+(N?"":" data-handler='selectDay' data-event='click' data-month='"+I.getMonth()+"' data-year='"+I.getFullYear()+"'")+">"+(M&&!r?"&#xa0;":N?"<span class='ui-state-default'>"+I.getDate()+"</span>":"<a class='ui-state-default"+(I.getTime()===P.getTime()?" ui-state-highlight":"")+(I.getTime()===Y.getTime()?" ui-state-active":"")+(M?" ui-priority-secondary":"")+"' href='#'>"+I.getDate()+"</a>")+"</td>",I.setDate(I.getDate()+1),I=this._daylightSavingAdjust(I);B+=K+"</tr>"}_++,_>11&&(_=0,ab++),B+="</tbody></table>"+(X?"</div>"+(U[0]>0&&y===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=B}u+=x}return u+=j,a._keyEvent=!1,u},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q=this._get(a,"changeMonth"),r=this._get(a,"changeYear"),s=this._get(a,"showMonthAfterYear"),t="<div class='ui-datepicker-title'>",u="";if(f||!q)u+="<span class='ui-datepicker-month'>"+g[b]+"</span>";
-else{for(i=d&&d.getFullYear()===c,j=e&&e.getFullYear()===c,u+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",k=0;12>k;k++)(!i||k>=d.getMonth())&&(!j||k<=e.getMonth())&&(u+="<option value='"+k+"'"+(k===b?" selected='selected'":"")+">"+h[k]+"</option>");u+="</select>"}if(s||(t+=u+(!f&&q&&r?"":"&#xa0;")),!a.yearshtml)if(a.yearshtml="",f||!r)t+="<span class='ui-datepicker-year'>"+c+"</span>";else{for(l=this._get(a,"yearRange").split(":"),m=(new Date).getFullYear(),n=function(a){var b=a.match(/c[+\-].*/)?c+parseInt(a.substring(1),10):a.match(/[+\-].*/)?m+parseInt(a,10):parseInt(a,10);return isNaN(b)?m:b},o=n(l[0]),p=Math.max(o,n(l[1]||"")),o=d?Math.max(o,d.getFullYear()):o,p=e?Math.min(p,e.getFullYear()):p,a.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";p>=o;o++)a.yearshtml+="<option value='"+o+"'"+(o===c?" selected='selected'":"")+">"+o+"</option>";a.yearshtml+="</select>",t+=a.yearshtml,a.yearshtml=null}return t+=this._get(a,"yearSuffix"),s&&(t+=(!f&&q&&r?"":"&#xa0;")+u),t+="</div>"},_adjustInstDate:function(a,b,c){var d=a.drawYear+("Y"===c?b:0),e=a.drawMonth+("M"===c?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+("D"===c?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),("M"===c||"Y"===c)&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&c>b?c:b;return d&&e>d?d:e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return null==b?[1,1]:"number"==typeof b?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return new Date(a,b,1).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(0>b?b:e[0]*e[1]),1));return 0>b&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c,d,e=this._getMinMaxDate(a,"min"),f=this._getMinMaxDate(a,"max"),g=null,h=null,i=this._get(a,"yearRange");return i&&(c=i.split(":"),d=(new Date).getFullYear(),g=parseInt(c[0],10),h=parseInt(c[1],10),c[0].match(/[+\-].*/)&&(g+=d),c[1].match(/[+\-].*/)&&(h+=d)),(!e||b.getTime()>=e.getTime())&&(!f||b.getTime()<=f.getTime())&&(!g||b.getFullYear()>=g)&&(!h||b.getFullYear()<=h)},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b="string"!=typeof b?b:(new Date).getFullYear()%100+parseInt(b,10),{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?"object"==typeof b?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),a.fn.datepicker=function(b){if(!this.length)return this;a.datepicker.initialized||(a(document).mousedown(a.datepicker._checkExternalClick),a.datepicker.initialized=!0),0===a("#"+a.datepicker._mainDivId).length&&a("body").append(a.datepicker.dpDiv);var c=Array.prototype.slice.call(arguments,1);return"string"!=typeof b||"isDisabled"!==b&&"getDate"!==b&&"widget"!==b?"option"===b&&2===arguments.length&&"string"==typeof arguments[1]?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c)):this.each(function(){"string"==typeof b?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this].concat(c)):a.datepicker._attachDatepicker(this,b)}):a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c))},a.datepicker=new c,a.datepicker.initialized=!1,a.datepicker.uuid=(new Date).getTime(),a.datepicker.version="1.11.2",a.datepicker});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core"],a):a(jQuery)}(function(a){function b(a){for(var b,c;a.length&&a[0]!==document;){if(b=a.css("position"),("absolute"===b||"relative"===b||"fixed"===b)&&(c=parseInt(a.css("zIndex"),10),!isNaN(c)&&0!==c))return c;a=a.parent()}return 0}function c(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},a.extend(this._defaults,this.regional[""]),this.regional.en=a.extend(!0,{},this.regional[""]),this.regional["en-US"]=a.extend(!0,{},this.regional.en),this.dpDiv=d(a("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function d(b){var c="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return b.delegate(c,"mouseout",function(){a(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&a(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&a(this).removeClass("ui-datepicker-next-hover")}).delegate(c,"mouseover",e)}function e(){a.datepicker._isDisabledDatepicker(g.inline?g.dpDiv.parent()[0]:g.input[0])||(a(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),a(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&a(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&a(this).addClass("ui-datepicker-next-hover"))}function f(b,c){a.extend(b,c);for(var d in c)null==c[d]&&(b[d]=c[d]);return b}a.extend(a.ui,{datepicker:{version:"1.11.4"}});var g;return a.extend(c.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return f(this._defaults,a||{}),this},_attachDatepicker:function(b,c){var d,e,f;d=b.nodeName.toLowerCase(),e="div"===d||"span"===d,b.id||(this.uuid+=1,b.id="dp"+this.uuid),f=this._newInst(a(b),e),f.settings=a.extend({},c||{}),"input"===d?this._connectDatepicker(b,f):e&&this._inlineDatepicker(b,f)},_newInst:function(b,c){var e=b[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:e,input:b,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:c,dpDiv:c?d(a("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(b,c){var d=a(b);c.append=a([]),c.trigger=a([]),d.hasClass(this.markerClassName)||(this._attachments(d,c),d.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(c),a.data(b,"datepicker",c),c.settings.disabled&&this._disableDatepicker(b))},_attachments:function(b,c){var d,e,f,g=this._get(c,"appendText"),h=this._get(c,"isRTL");c.append&&c.append.remove(),g&&(c.append=a("<span class='"+this._appendClass+"'>"+g+"</span>"),b[h?"before":"after"](c.append)),b.unbind("focus",this._showDatepicker),c.trigger&&c.trigger.remove(),d=this._get(c,"showOn"),("focus"===d||"both"===d)&&b.focus(this._showDatepicker),("button"===d||"both"===d)&&(e=this._get(c,"buttonText"),f=this._get(c,"buttonImage"),c.trigger=a(this._get(c,"buttonImageOnly")?a("<img/>").addClass(this._triggerClass).attr({src:f,alt:e,title:e}):a("<button type='button'></button>").addClass(this._triggerClass).html(f?a("<img/>").attr({src:f,alt:e,title:e}):e)),b[h?"before":"after"](c.trigger),c.trigger.click(function(){return a.datepicker._datepickerShowing&&a.datepicker._lastInput===b[0]?a.datepicker._hideDatepicker():a.datepicker._datepickerShowing&&a.datepicker._lastInput!==b[0]?(a.datepicker._hideDatepicker(),a.datepicker._showDatepicker(b[0])):a.datepicker._showDatepicker(b[0]),!1}))},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b,c,d,e,f=new Date(2009,11,20),g=this._get(a,"dateFormat");g.match(/[DM]/)&&(b=function(a){for(c=0,d=0,e=0;e<a.length;e++)a[e].length>c&&(c=a[e].length,d=e);return d},f.setMonth(b(this._get(a,g.match(/MM/)?"monthNames":"monthNamesShort"))),f.setDate(b(this._get(a,g.match(/DD/)?"dayNames":"dayNamesShort"))+20-f.getDay())),a.input.attr("size",this._formatDate(a,f).length)}},_inlineDatepicker:function(b,c){var d=a(b);d.hasClass(this.markerClassName)||(d.addClass(this.markerClassName).append(c.dpDiv),a.data(b,"datepicker",c),this._setDate(c,this._getDefaultDate(c),!0),this._updateDatepicker(c),this._updateAlternate(c),c.settings.disabled&&this._disableDatepicker(b),c.dpDiv.css("display","block"))},_dialogDatepicker:function(b,c,d,e,g){var h,i,j,k,l,m=this._dialogInst;return m||(this.uuid+=1,h="dp"+this.uuid,this._dialogInput=a("<input type='text' id='"+h+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),a("body").append(this._dialogInput),m=this._dialogInst=this._newInst(this._dialogInput,!1),m.settings={},a.data(this._dialogInput[0],"datepicker",m)),f(m.settings,e||{}),c=c&&c.constructor===Date?this._formatDate(m,c):c,this._dialogInput.val(c),this._pos=g?g.length?g:[g.pageX,g.pageY]:null,this._pos||(i=document.documentElement.clientWidth,j=document.documentElement.clientHeight,k=document.documentElement.scrollLeft||document.body.scrollLeft,l=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[i/2-100+k,j/2-150+l]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),m.settings.onSelect=d,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),a.blockUI&&a.blockUI(this.dpDiv),a.data(this._dialogInput[0],"datepicker",m),this},_destroyDatepicker:function(b){var c,d=a(b),e=a.data(b,"datepicker");d.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),a.removeData(b,"datepicker"),"input"===c?(e.append.remove(),e.trigger.remove(),d.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===c||"span"===c)&&d.removeClass(this.markerClassName).empty(),g===e&&(g=null))},_enableDatepicker:function(b){var c,d,e=a(b),f=a.data(b,"datepicker");e.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),"input"===c?(b.disabled=!1,f.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===c||"span"===c)&&(d=e.children("."+this._inlineClass),d.children().removeClass("ui-state-disabled"),d.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}))},_disableDatepicker:function(b){var c,d,e=a(b),f=a.data(b,"datepicker");e.hasClass(this.markerClassName)&&(c=b.nodeName.toLowerCase(),"input"===c?(b.disabled=!0,f.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===c||"span"===c)&&(d=e.children("."+this._inlineClass),d.children().addClass("ui-state-disabled"),d.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=a.map(this._disabledInputs,function(a){return a===b?null:a}),this._disabledInputs[this._disabledInputs.length]=b)},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]===a)return!0;return!1},_getInst:function(b){try{return a.data(b,"datepicker")}catch(c){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(b,c,d){var e,g,h,i,j=this._getInst(b);return 2===arguments.length&&"string"==typeof c?"defaults"===c?a.extend({},a.datepicker._defaults):j?"all"===c?a.extend({},j.settings):this._get(j,c):null:(e=c||{},"string"==typeof c&&(e={},e[c]=d),void(j&&(this._curInst===j&&this._hideDatepicker(),g=this._getDateDatepicker(b,!0),h=this._getMinMaxDate(j,"min"),i=this._getMinMaxDate(j,"max"),f(j.settings,e),null!==h&&void 0!==e.dateFormat&&void 0===e.minDate&&(j.settings.minDate=this._formatDate(j,h)),null!==i&&void 0!==e.dateFormat&&void 0===e.maxDate&&(j.settings.maxDate=this._formatDate(j,i)),"disabled"in e&&(e.disabled?this._disableDatepicker(b):this._enableDatepicker(b)),this._attachments(a(b),j),this._autoSize(j),this._setDate(j,g),this._updateAlternate(j),this._updateDatepicker(j))))},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){var b=this._getInst(a);b&&this._updateDatepicker(b)},_setDateDatepicker:function(a,b){var c=this._getInst(a);c&&(this._setDate(c,b),this._updateDatepicker(c),this._updateAlternate(c))},_getDateDatepicker:function(a,b){var c=this._getInst(a);return c&&!c.inline&&this._setDateFromField(c,b),c?this._getDate(c):null},_doKeyDown:function(b){var c,d,e,f=a.datepicker._getInst(b.target),g=!0,h=f.dpDiv.is(".ui-datepicker-rtl");if(f._keyEvent=!0,a.datepicker._datepickerShowing)switch(b.keyCode){case 9:a.datepicker._hideDatepicker(),g=!1;break;case 13:return e=a("td."+a.datepicker._dayOverClass+":not(."+a.datepicker._currentClass+")",f.dpDiv),e[0]&&a.datepicker._selectDay(b.target,f.selectedMonth,f.selectedYear,e[0]),c=a.datepicker._get(f,"onSelect"),c?(d=a.datepicker._formatDate(f),c.apply(f.input?f.input[0]:null,[d,f])):a.datepicker._hideDatepicker(),!1;case 27:a.datepicker._hideDatepicker();break;case 33:a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 34:a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 35:(b.ctrlKey||b.metaKey)&&a.datepicker._clearDate(b.target),g=b.ctrlKey||b.metaKey;break;case 36:(b.ctrlKey||b.metaKey)&&a.datepicker._gotoToday(b.target),g=b.ctrlKey||b.metaKey;break;case 37:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?1:-1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?-a.datepicker._get(f,"stepBigMonths"):-a.datepicker._get(f,"stepMonths"),"M");break;case 38:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,-7,"D"),g=b.ctrlKey||b.metaKey;break;case 39:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,h?-1:1,"D"),g=b.ctrlKey||b.metaKey,b.originalEvent.altKey&&a.datepicker._adjustDate(b.target,b.ctrlKey?+a.datepicker._get(f,"stepBigMonths"):+a.datepicker._get(f,"stepMonths"),"M");break;case 40:(b.ctrlKey||b.metaKey)&&a.datepicker._adjustDate(b.target,7,"D"),g=b.ctrlKey||b.metaKey;break;default:g=!1}else 36===b.keyCode&&b.ctrlKey?a.datepicker._showDatepicker(this):g=!1;g&&(b.preventDefault(),b.stopPropagation())},_doKeyPress:function(b){var c,d,e=a.datepicker._getInst(b.target);return a.datepicker._get(e,"constrainInput")?(c=a.datepicker._possibleChars(a.datepicker._get(e,"dateFormat")),d=String.fromCharCode(null==b.charCode?b.keyCode:b.charCode),b.ctrlKey||b.metaKey||" ">d||!c||c.indexOf(d)>-1):void 0},_doKeyUp:function(b){var c,d=a.datepicker._getInst(b.target);if(d.input.val()!==d.lastVal)try{c=a.datepicker.parseDate(a.datepicker._get(d,"dateFormat"),d.input?d.input.val():null,a.datepicker._getFormatConfig(d)),c&&(a.datepicker._setDateFromField(d),a.datepicker._updateAlternate(d),a.datepicker._updateDatepicker(d))}catch(e){}return!0},_showDatepicker:function(c){if(c=c.target||c,"input"!==c.nodeName.toLowerCase()&&(c=a("input",c.parentNode)[0]),!a.datepicker._isDisabledDatepicker(c)&&a.datepicker._lastInput!==c){var d,e,g,h,i,j,k;d=a.datepicker._getInst(c),a.datepicker._curInst&&a.datepicker._curInst!==d&&(a.datepicker._curInst.dpDiv.stop(!0,!0),d&&a.datepicker._datepickerShowing&&a.datepicker._hideDatepicker(a.datepicker._curInst.input[0])),e=a.datepicker._get(d,"beforeShow"),g=e?e.apply(c,[c,d]):{},g!==!1&&(f(d.settings,g),d.lastVal=null,a.datepicker._lastInput=c,a.datepicker._setDateFromField(d),a.datepicker._inDialog&&(c.value=""),a.datepicker._pos||(a.datepicker._pos=a.datepicker._findPos(c),a.datepicker._pos[1]+=c.offsetHeight),h=!1,a(c).parents().each(function(){return h|="fixed"===a(this).css("position"),!h}),i={left:a.datepicker._pos[0],top:a.datepicker._pos[1]},a.datepicker._pos=null,d.dpDiv.empty(),d.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),a.datepicker._updateDatepicker(d),i=a.datepicker._checkOffset(d,i,h),d.dpDiv.css({position:a.datepicker._inDialog&&a.blockUI?"static":h?"fixed":"absolute",display:"none",left:i.left+"px",top:i.top+"px"}),d.inline||(j=a.datepicker._get(d,"showAnim"),k=a.datepicker._get(d,"duration"),d.dpDiv.css("z-index",b(a(c))+1),a.datepicker._datepickerShowing=!0,a.effects&&a.effects.effect[j]?d.dpDiv.show(j,a.datepicker._get(d,"showOptions"),k):d.dpDiv[j||"show"](j?k:null),a.datepicker._shouldFocusInput(d)&&d.input.focus(),a.datepicker._curInst=d))}},_updateDatepicker:function(b){this.maxRows=4,g=b,b.dpDiv.empty().append(this._generateHTML(b)),this._attachHandlers(b);var c,d=this._getNumberOfMonths(b),f=d[1],h=17,i=b.dpDiv.find("."+this._dayOverClass+" a");i.length>0&&e.apply(i.get(0)),b.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&b.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",h*f+"em"),b.dpDiv[(1!==d[0]||1!==d[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),b.dpDiv[(this._get(b,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),b===a.datepicker._curInst&&a.datepicker._datepickerShowing&&a.datepicker._shouldFocusInput(b)&&b.input.focus(),b.yearshtml&&(c=b.yearshtml,setTimeout(function(){c===b.yearshtml&&b.yearshtml&&b.dpDiv.find("select.ui-datepicker-year:first").replaceWith(b.yearshtml),c=b.yearshtml=null},0))},_shouldFocusInput:function(a){return a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&!a.input.is(":focus")},_checkOffset:function(b,c,d){var e=b.dpDiv.outerWidth(),f=b.dpDiv.outerHeight(),g=b.input?b.input.outerWidth():0,h=b.input?b.input.outerHeight():0,i=document.documentElement.clientWidth+(d?0:a(document).scrollLeft()),j=document.documentElement.clientHeight+(d?0:a(document).scrollTop());return c.left-=this._get(b,"isRTL")?e-g:0,c.left-=d&&c.left===b.input.offset().left?a(document).scrollLeft():0,c.top-=d&&c.top===b.input.offset().top+h?a(document).scrollTop():0,c.left-=Math.min(c.left,c.left+e>i&&i>e?Math.abs(c.left+e-i):0),c.top-=Math.min(c.top,c.top+f>j&&j>f?Math.abs(f+h):0),c},_findPos:function(b){for(var c,d=this._getInst(b),e=this._get(d,"isRTL");b&&("hidden"===b.type||1!==b.nodeType||a.expr.filters.hidden(b));)b=b[e?"previousSibling":"nextSibling"];return c=a(b).offset(),[c.left,c.top]},_hideDatepicker:function(b){var c,d,e,f,g=this._curInst;!g||b&&g!==a.data(b,"datepicker")||this._datepickerShowing&&(c=this._get(g,"showAnim"),d=this._get(g,"duration"),e=function(){a.datepicker._tidyDialog(g)},a.effects&&(a.effects.effect[c]||a.effects[c])?g.dpDiv.hide(c,a.datepicker._get(g,"showOptions"),d,e):g.dpDiv["slideDown"===c?"slideUp":"fadeIn"===c?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1,f=this._get(g,"onClose"),f&&f.apply(g.input?g.input[0]:null,[g.input?g.input.val():"",g]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),a.blockUI&&(a.unblockUI(),a("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(b){if(a.datepicker._curInst){var c=a(b.target),d=a.datepicker._getInst(c[0]);(c[0].id!==a.datepicker._mainDivId&&0===c.parents("#"+a.datepicker._mainDivId).length&&!c.hasClass(a.datepicker.markerClassName)&&!c.closest("."+a.datepicker._triggerClass).length&&a.datepicker._datepickerShowing&&(!a.datepicker._inDialog||!a.blockUI)||c.hasClass(a.datepicker.markerClassName)&&a.datepicker._curInst!==d)&&a.datepicker._hideDatepicker()}},_adjustDate:function(b,c,d){var e=a(b),f=this._getInst(e[0]);this._isDisabledDatepicker(e[0])||(this._adjustInstDate(f,c+("M"===d?this._get(f,"showCurrentAtPos"):0),d),this._updateDatepicker(f))},_gotoToday:function(b){var c,d=a(b),e=this._getInst(d[0]);this._get(e,"gotoCurrent")&&e.currentDay?(e.selectedDay=e.currentDay,e.drawMonth=e.selectedMonth=e.currentMonth,e.drawYear=e.selectedYear=e.currentYear):(c=new Date,e.selectedDay=c.getDate(),e.drawMonth=e.selectedMonth=c.getMonth(),e.drawYear=e.selectedYear=c.getFullYear()),this._notifyChange(e),this._adjustDate(d)},_selectMonthYear:function(b,c,d){var e=a(b),f=this._getInst(e[0]);f["selected"+("M"===d?"Month":"Year")]=f["draw"+("M"===d?"Month":"Year")]=parseInt(c.options[c.selectedIndex].value,10),this._notifyChange(f),this._adjustDate(e)},_selectDay:function(b,c,d,e){var f,g=a(b);a(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(g[0])||(f=this._getInst(g[0]),f.selectedDay=f.currentDay=a("a",e).html(),f.selectedMonth=f.currentMonth=c,f.selectedYear=f.currentYear=d,this._selectDate(b,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear)))},_clearDate:function(b){var c=a(b);this._selectDate(c,"")},_selectDate:function(b,c){var d,e=a(b),f=this._getInst(e[0]);c=null!=c?c:this._formatDate(f),f.input&&f.input.val(c),this._updateAlternate(f),d=this._get(f,"onSelect"),d?d.apply(f.input?f.input[0]:null,[c,f]):f.input&&f.input.trigger("change"),f.inline?this._updateDatepicker(f):(this._hideDatepicker(),this._lastInput=f.input[0],"object"!=typeof f.input[0]&&f.input.focus(),this._lastInput=null)},_updateAlternate:function(b){var c,d,e,f=this._get(b,"altField");f&&(c=this._get(b,"altFormat")||this._get(b,"dateFormat"),d=this._getDate(b),e=this.formatDate(c,d,this._getFormatConfig(b)),a(f).each(function(){a(this).val(e)}))},noWeekends:function(a){var b=a.getDay();return[b>0&&6>b,""]},iso8601Week:function(a){var b,c=new Date(a.getTime());return c.setDate(c.getDate()+4-(c.getDay()||7)),b=c.getTime(),c.setMonth(0),c.setDate(1),Math.floor(Math.round((b-c)/864e5)/7)+1},parseDate:function(b,c,d){if(null==b||null==c)throw"Invalid arguments";if(c="object"==typeof c?c.toString():c+"",""===c)return null;var e,f,g,h,i=0,j=(d?d.shortYearCutoff:null)||this._defaults.shortYearCutoff,k="string"!=typeof j?j:(new Date).getFullYear()%100+parseInt(j,10),l=(d?d.dayNamesShort:null)||this._defaults.dayNamesShort,m=(d?d.dayNames:null)||this._defaults.dayNames,n=(d?d.monthNamesShort:null)||this._defaults.monthNamesShort,o=(d?d.monthNames:null)||this._defaults.monthNames,p=-1,q=-1,r=-1,s=-1,t=!1,u=function(a){var c=e+1<b.length&&b.charAt(e+1)===a;return c&&e++,c},v=function(a){var b=u(a),d="@"===a?14:"!"===a?20:"y"===a&&b?4:"o"===a?3:2,e="y"===a?d:1,f=new RegExp("^\\d{"+e+","+d+"}"),g=c.substring(i).match(f);if(!g)throw"Missing number at position "+i;return i+=g[0].length,parseInt(g[0],10)},w=function(b,d,e){var f=-1,g=a.map(u(b)?e:d,function(a,b){return[[b,a]]}).sort(function(a,b){return-(a[1].length-b[1].length)});if(a.each(g,function(a,b){var d=b[1];return c.substr(i,d.length).toLowerCase()===d.toLowerCase()?(f=b[0],i+=d.length,!1):void 0}),-1!==f)return f+1;throw"Unknown name at position "+i},x=function(){if(c.charAt(i)!==b.charAt(e))throw"Unexpected literal at position "+i;i++};for(e=0;e<b.length;e++)if(t)"'"!==b.charAt(e)||u("'")?x():t=!1;else switch(b.charAt(e)){case"d":r=v("d");break;case"D":w("D",l,m);break;case"o":s=v("o");break;case"m":q=v("m");break;case"M":q=w("M",n,o);break;case"y":p=v("y");break;case"@":h=new Date(v("@")),p=h.getFullYear(),q=h.getMonth()+1,r=h.getDate();break;case"!":h=new Date((v("!")-this._ticksTo1970)/1e4),p=h.getFullYear(),q=h.getMonth()+1,r=h.getDate();break;case"'":u("'")?x():t=!0;break;default:x()}if(i<c.length&&(g=c.substr(i),!/^\s+/.test(g)))throw"Extra/unparsed characters found in date: "+g;if(-1===p?p=(new Date).getFullYear():100>p&&(p+=(new Date).getFullYear()-(new Date).getFullYear()%100+(k>=p?0:-100)),s>-1)for(q=1,r=s;;){if(f=this._getDaysInMonth(p,q-1),f>=r)break;q++,r-=f}if(h=this._daylightSavingAdjust(new Date(p,q-1,r)),h.getFullYear()!==p||h.getMonth()+1!==q||h.getDate()!==r)throw"Invalid date";return h},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d,e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=function(b){var c=d+1<a.length&&a.charAt(d+1)===b;return c&&d++,c},j=function(a,b,c){var d=""+b;if(i(a))for(;d.length<c;)d="0"+d;return d},k=function(a,b,c,d){return i(a)?d[b]:c[b]},l="",m=!1;if(b)for(d=0;d<a.length;d++)if(m)"'"!==a.charAt(d)||i("'")?l+=a.charAt(d):m=!1;else switch(a.charAt(d)){case"d":l+=j("d",b.getDate(),2);break;case"D":l+=k("D",b.getDay(),e,f);break;case"o":l+=j("o",Math.round((new Date(b.getFullYear(),b.getMonth(),b.getDate()).getTime()-new Date(b.getFullYear(),0,0).getTime())/864e5),3);break;case"m":l+=j("m",b.getMonth()+1,2);break;case"M":l+=k("M",b.getMonth(),g,h);break;case"y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case"@":l+=b.getTime();break;case"!":l+=1e4*b.getTime()+this._ticksTo1970;break;case"'":i("'")?l+="'":m=!0;break;default:l+=a.charAt(d)}return l},_possibleChars:function(a){var b,c="",d=!1,e=function(c){var d=b+1<a.length&&a.charAt(b+1)===c;return d&&b++,d};for(b=0;b<a.length;b++)if(d)"'"!==a.charAt(b)||e("'")?c+=a.charAt(b):d=!1;else switch(a.charAt(b)){case"d":case"m":case"y":case"@":c+="0123456789";break;case"D":case"M":return null;case"'":e("'")?c+="'":d=!0;break;default:c+=a.charAt(b)}return c},_get:function(a,b){return void 0!==a.settings[b]?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!==a.lastVal){var c=this._get(a,"dateFormat"),d=a.lastVal=a.input?a.input.val():null,e=this._getDefaultDate(a),f=e,g=this._getFormatConfig(a);try{f=this.parseDate(c,d,g)||e}catch(h){d=b?"":d}a.selectedDay=f.getDate(),a.drawMonth=a.selectedMonth=f.getMonth(),a.drawYear=a.selectedYear=f.getFullYear(),a.currentDay=d?f.getDate():0,a.currentMonth=d?f.getMonth():0,a.currentYear=d?f.getFullYear():0,this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},_determineDate:function(b,c,d){var e=function(a){var b=new Date;return b.setDate(b.getDate()+a),b},f=function(c){try{return a.datepicker.parseDate(a.datepicker._get(b,"dateFormat"),c,a.datepicker._getFormatConfig(b))}catch(d){}for(var e=(c.toLowerCase().match(/^c/)?a.datepicker._getDate(b):null)||new Date,f=e.getFullYear(),g=e.getMonth(),h=e.getDate(),i=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,j=i.exec(c);j;){switch(j[2]||"d"){case"d":case"D":h+=parseInt(j[1],10);break;case"w":case"W":h+=7*parseInt(j[1],10);break;case"m":case"M":g+=parseInt(j[1],10),h=Math.min(h,a.datepicker._getDaysInMonth(f,g));break;case"y":case"Y":f+=parseInt(j[1],10),h=Math.min(h,a.datepicker._getDaysInMonth(f,g))}j=i.exec(c)}return new Date(f,g,h)},g=null==c||""===c?d:"string"==typeof c?f(c):"number"==typeof c?isNaN(c)?d:e(c):new Date(c.getTime());return g=g&&"Invalid Date"===g.toString()?d:g,g&&(g.setHours(0),g.setMinutes(0),g.setSeconds(0),g.setMilliseconds(0)),this._daylightSavingAdjust(g)},_daylightSavingAdjust:function(a){return a?(a.setHours(a.getHours()>12?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),e===a.selectedMonth&&f===a.selectedYear||c||this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&""===a.input.val()?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_attachHandlers:function(b){var c=this._get(b,"stepMonths"),d="#"+b.id.replace(/\\\\/g,"\\");b.dpDiv.find("[data-handler]").map(function(){var b={prev:function(){a.datepicker._adjustDate(d,-c,"M")},next:function(){a.datepicker._adjustDate(d,+c,"M")},hide:function(){a.datepicker._hideDatepicker()},today:function(){a.datepicker._gotoToday(d)},selectDay:function(){return a.datepicker._selectDay(d,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return a.datepicker._selectMonthYear(d,this,"M"),!1},selectYear:function(){return a.datepicker._selectMonthYear(d,this,"Y"),!1}};a(this).bind(this.getAttribute("data-event"),b[this.getAttribute("data-handler")])})},_generateHTML:function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O=new Date,P=this._daylightSavingAdjust(new Date(O.getFullYear(),O.getMonth(),O.getDate())),Q=this._get(a,"isRTL"),R=this._get(a,"showButtonPanel"),S=this._get(a,"hideIfNoPrevNext"),T=this._get(a,"navigationAsDateFormat"),U=this._getNumberOfMonths(a),V=this._get(a,"showCurrentAtPos"),W=this._get(a,"stepMonths"),X=1!==U[0]||1!==U[1],Y=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),Z=this._getMinMaxDate(a,"min"),$=this._getMinMaxDate(a,"max"),_=a.drawMonth-V,aa=a.drawYear;if(0>_&&(_+=12,aa--),$)for(b=this._daylightSavingAdjust(new Date($.getFullYear(),$.getMonth()-U[0]*U[1]+1,$.getDate())),b=Z&&Z>b?Z:b;this._daylightSavingAdjust(new Date(aa,_,1))>b;)_--,0>_&&(_=11,aa--);for(a.drawMonth=_,a.drawYear=aa,c=this._get(a,"prevText"),c=T?this.formatDate(c,this._daylightSavingAdjust(new Date(aa,_-W,1)),this._getFormatConfig(a)):c,d=this._canAdjustMonth(a,-1,aa,_)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>":S?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+c+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"e":"w")+"'>"+c+"</span></a>",e=this._get(a,"nextText"),e=T?this.formatDate(e,this._daylightSavingAdjust(new Date(aa,_+W,1)),this._getFormatConfig(a)):e,f=this._canAdjustMonth(a,1,aa,_)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>":S?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+e+"'><span class='ui-icon ui-icon-circle-triangle-"+(Q?"w":"e")+"'>"+e+"</span></a>",g=this._get(a,"currentText"),h=this._get(a,"gotoCurrent")&&a.currentDay?Y:P,g=T?this.formatDate(g,h,this._getFormatConfig(a)):g,i=a.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(a,"closeText")+"</button>",j=R?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Q?i:"")+(this._isInRange(a,h)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+g+"</button>":"")+(Q?"":i)+"</div>":"",k=parseInt(this._get(a,"firstDay"),10),k=isNaN(k)?0:k,l=this._get(a,"showWeek"),m=this._get(a,"dayNames"),n=this._get(a,"dayNamesMin"),o=this._get(a,"monthNames"),p=this._get(a,"monthNamesShort"),q=this._get(a,"beforeShowDay"),r=this._get(a,"showOtherMonths"),s=this._get(a,"selectOtherMonths"),t=this._getDefaultDate(a),u="",w=0;w<U[0];w++){for(x="",this.maxRows=4,y=0;y<U[1];y++){if(z=this._daylightSavingAdjust(new Date(aa,_,a.selectedDay)),A=" ui-corner-all",B="",X){if(B+="<div class='ui-datepicker-group",U[1]>1)switch(y){case 0:B+=" ui-datepicker-group-first",A=" ui-corner-"+(Q?"right":"left");break;case U[1]-1:B+=" ui-datepicker-group-last",A=" ui-corner-"+(Q?"left":"right");break;default:B+=" ui-datepicker-group-middle",A=""}B+="'>"}for(B+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+A+"'>"+(/all|left/.test(A)&&0===w?Q?f:d:"")+(/all|right/.test(A)&&0===w?Q?d:f:"")+this._generateMonthYearHeader(a,_,aa,Z,$,w>0||y>0,o,p)+"</div><table class='ui-datepicker-calendar'><thead><tr>",C=l?"<th class='ui-datepicker-week-col'>"+this._get(a,"weekHeader")+"</th>":"",v=0;7>v;v++)D=(v+k)%7,C+="<th scope='col'"+((v+k+6)%7>=5?" class='ui-datepicker-week-end'":"")+"><span title='"+m[D]+"'>"+n[D]+"</span></th>";for(B+=C+"</tr></thead><tbody>",E=this._getDaysInMonth(aa,_),aa===a.selectedYear&&_===a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,E)),F=(this._getFirstDayOfMonth(aa,_)-k+7)%7,G=Math.ceil((F+E)/7),H=X&&this.maxRows>G?this.maxRows:G,this.maxRows=H,I=this._daylightSavingAdjust(new Date(aa,_,1-F)),J=0;H>J;J++){for(B+="<tr>",K=l?"<td class='ui-datepicker-week-col'>"+this._get(a,"calculateWeek")(I)+"</td>":"",v=0;7>v;v++)L=q?q.apply(a.input?a.input[0]:null,[I]):[!0,""],M=I.getMonth()!==_,N=M&&!s||!L[0]||Z&&Z>I||$&&I>$,K+="<td class='"+((v+k+6)%7>=5?" ui-datepicker-week-end":"")+(M?" ui-datepicker-other-month":"")+(I.getTime()===z.getTime()&&_===a.selectedMonth&&a._keyEvent||t.getTime()===I.getTime()&&t.getTime()===z.getTime()?" "+this._dayOverClass:"")+(N?" "+this._unselectableClass+" ui-state-disabled":"")+(M&&!r?"":" "+L[1]+(I.getTime()===Y.getTime()?" "+this._currentClass:"")+(I.getTime()===P.getTime()?" ui-datepicker-today":""))+"'"+(M&&!r||!L[2]?"":" title='"+L[2].replace(/'/g,"&#39;")+"'")+(N?"":" data-handler='selectDay' data-event='click' data-month='"+I.getMonth()+"' data-year='"+I.getFullYear()+"'")+">"+(M&&!r?"&#xa0;":N?"<span class='ui-state-default'>"+I.getDate()+"</span>":"<a class='ui-state-default"+(I.getTime()===P.getTime()?" ui-state-highlight":"")+(I.getTime()===Y.getTime()?" ui-state-active":"")+(M?" ui-priority-secondary":"")+"' href='#'>"+I.getDate()+"</a>")+"</td>",I.setDate(I.getDate()+1),I=this._daylightSavingAdjust(I);B+=K+"</tr>"}_++,_>11&&(_=0,aa++),B+="</tbody></table>"+(X?"</div>"+(U[0]>0&&y===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=B}u+=x}return u+=j,a._keyEvent=!1,u},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q=this._get(a,"changeMonth"),r=this._get(a,"changeYear"),s=this._get(a,"showMonthAfterYear"),t="<div class='ui-datepicker-title'>",u="";if(f||!q)u+="<span class='ui-datepicker-month'>"+g[b]+"</span>";
+else{for(i=d&&d.getFullYear()===c,j=e&&e.getFullYear()===c,u+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",k=0;12>k;k++)(!i||k>=d.getMonth())&&(!j||k<=e.getMonth())&&(u+="<option value='"+k+"'"+(k===b?" selected='selected'":"")+">"+h[k]+"</option>");u+="</select>"}if(s||(t+=u+(!f&&q&&r?"":"&#xa0;")),!a.yearshtml)if(a.yearshtml="",f||!r)t+="<span class='ui-datepicker-year'>"+c+"</span>";else{for(l=this._get(a,"yearRange").split(":"),m=(new Date).getFullYear(),n=function(a){var b=a.match(/c[+\-].*/)?c+parseInt(a.substring(1),10):a.match(/[+\-].*/)?m+parseInt(a,10):parseInt(a,10);return isNaN(b)?m:b},o=n(l[0]),p=Math.max(o,n(l[1]||"")),o=d?Math.max(o,d.getFullYear()):o,p=e?Math.min(p,e.getFullYear()):p,a.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";p>=o;o++)a.yearshtml+="<option value='"+o+"'"+(o===c?" selected='selected'":"")+">"+o+"</option>";a.yearshtml+="</select>",t+=a.yearshtml,a.yearshtml=null}return t+=this._get(a,"yearSuffix"),s&&(t+=(!f&&q&&r?"":"&#xa0;")+u),t+="</div>"},_adjustInstDate:function(a,b,c){var d=a.drawYear+("Y"===c?b:0),e=a.drawMonth+("M"===c?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+("D"===c?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),("M"===c||"Y"===c)&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&c>b?c:b;return d&&e>d?d:e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return null==b?[1,1]:"number"==typeof b?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return new Date(a,b,1).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(0>b?b:e[0]*e[1]),1));return 0>b&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c,d,e=this._getMinMaxDate(a,"min"),f=this._getMinMaxDate(a,"max"),g=null,h=null,i=this._get(a,"yearRange");return i&&(c=i.split(":"),d=(new Date).getFullYear(),g=parseInt(c[0],10),h=parseInt(c[1],10),c[0].match(/[+\-].*/)&&(g+=d),c[1].match(/[+\-].*/)&&(h+=d)),(!e||b.getTime()>=e.getTime())&&(!f||b.getTime()<=f.getTime())&&(!g||b.getFullYear()>=g)&&(!h||b.getFullYear()<=h)},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b="string"!=typeof b?b:(new Date).getFullYear()%100+parseInt(b,10),{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?"object"==typeof b?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),a.fn.datepicker=function(b){if(!this.length)return this;a.datepicker.initialized||(a(document).mousedown(a.datepicker._checkExternalClick),a.datepicker.initialized=!0),0===a("#"+a.datepicker._mainDivId).length&&a("body").append(a.datepicker.dpDiv);var c=Array.prototype.slice.call(arguments,1);return"string"!=typeof b||"isDisabled"!==b&&"getDate"!==b&&"widget"!==b?"option"===b&&2===arguments.length&&"string"==typeof arguments[1]?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c)):this.each(function(){"string"==typeof b?a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this].concat(c)):a.datepicker._attachDatepicker(this,b)}):a.datepicker["_"+b+"Datepicker"].apply(a.datepicker,[this[0]].concat(c))},a.datepicker=new c,a.datepicker.initialized=!1,a.datepicker.uuid=(new Date).getTime(),a.datepicker.version="1.11.4",a.datepicker});
\ No newline at end of file
index b5380c5bef27228e27a92d6836e637ab9a969cfd..fc8be0bc9cef35baab6af20d2ee29af4810c627b 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Dialog 1.11.2
+ * jQuery UI Dialog 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/dialog/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget","./button","./draggable","./mouse","./position","./resizable"],a):a(jQuery)}(function(a){return a.widget("ui.dialog",{version:"1.11.2",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(b){var c=a(this).css(b).offset().top;0>c&&a(this).css("top",b.top-c)}},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},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_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&&a.fn.draggable&&this._makeDraggable(),this.options.resizable&&a.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var b=this.options.appendTo;return b&&(b.jquery||b.nodeType)?a(b):this.document.find(b||"body").eq(0)},_destroy:function(){var a,b=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),a=b.parent.children().eq(b.index),a.length&&a[0]!==this.element[0]?a.before(this.element):b.parent.append(this.element)},widget:function(){return this.uiDialog},disable:a.noop,enable:a.noop,close:function(b){var c,d=this;if(this._isOpen&&this._trigger("beforeClose",b)!==!1){if(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),!this.opener.filter(":focusable").focus().length)try{c=this.document[0].activeElement,c&&"body"!==c.nodeName.toLowerCase()&&a(c).blur()}catch(e){}this._hide(this.uiDialog,this.options.hide,function(){d._trigger("close",b)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(b,c){var d=!1,e=this.uiDialog.siblings(".ui-front:visible").map(function(){return+a(this).css("z-index")}).get(),f=Math.max.apply(null,e);return f>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",f+1),d=!0),d&&!c&&this._trigger("focus",b),d},open:function(){var b=this;return this._isOpen?void(this._moveToTop()&&this._focusTabbable()):(this._isOpen=!0,this.opener=a(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){b._focusTabbable(),b._trigger("focus")}),this._makeFocusTarget(),void this._trigger("open"))},_focusTabbable:function(){var a=this._focusedElement;a||(a=this.element.find("[autofocus]")),a.length||(a=this.element.find(":tabbable")),a.length||(a=this.uiDialogButtonPane.find(":tabbable")),a.length||(a=this.uiDialogTitlebarClose.filter(":tabbable")),a.length||(a=this.uiDialog),a.eq(0).focus()},_keepFocus:function(b){function c(){var b=this.document[0].activeElement,c=this.uiDialog[0]===b||a.contains(this.uiDialog[0],b);c||this._focusTabbable()}b.preventDefault(),c.call(this),this._delay(c)},_createWrapper:function(){this.uiDialog=a("<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(b){if(this.options.closeOnEscape&&!b.isDefaultPrevented()&&b.keyCode&&b.keyCode===a.ui.keyCode.ESCAPE)return b.preventDefault(),void this.close(b);if(b.keyCode===a.ui.keyCode.TAB&&!b.isDefaultPrevented()){var c=this.uiDialog.find(":tabbable"),d=c.filter(":first"),e=c.filter(":last");b.target!==e[0]&&b.target!==this.uiDialog[0]||b.shiftKey?b.target!==d[0]&&b.target!==this.uiDialog[0]||!b.shiftKey||(this._delay(function(){e.focus()}),b.preventDefault()):(this._delay(function(){d.focus()}),b.preventDefault())}},mousedown:function(a){this._moveToTop(a)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var b;this.uiDialogTitlebar=a("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(b){a(b.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=a("<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(a){a.preventDefault(),this.close(a)}}),b=a("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(b),this.uiDialog.attr({"aria-labelledby":b.attr("id")})},_title:function(a){this.options.title||a.html("&#160;"),a.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=a("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=a("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var b=this,c=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),a.isEmptyObject(c)||a.isArray(c)&&!c.length?void this.uiDialog.removeClass("ui-dialog-buttons"):(a.each(c,function(c,d){var e,f;d=a.isFunction(d)?{click:d,text:c}:d,d=a.extend({type:"button"},d),e=d.click,d.click=function(){e.apply(b.element[0],arguments)},f={icons:d.icons,text:d.showText},delete d.icons,delete d.showText,a("<button></button>",d).button(f).appendTo(b.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),void this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){function b(a){return{position:a.position,offset:a.offset}}var c=this,d=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(d,e){a(this).addClass("ui-dialog-dragging"),c._blockFrames(),c._trigger("dragStart",d,b(e))},drag:function(a,d){c._trigger("drag",a,b(d))},stop:function(e,f){var g=f.offset.left-c.document.scrollLeft(),h=f.offset.top-c.document.scrollTop();d.position={my:"left top",at:"left"+(g>=0?"+":"")+g+" top"+(h>=0?"+":"")+h,of:c.window},a(this).removeClass("ui-dialog-dragging"),c._unblockFrames(),c._trigger("dragStop",e,b(f))}})},_makeResizable:function(){function b(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}var c=this,d=this.options,e=d.resizable,f=this.uiDialog.css("position"),g="string"==typeof e?e:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:d.maxWidth,maxHeight:d.maxHeight,minWidth:d.minWidth,minHeight:this._minHeight(),handles:g,start:function(d,e){a(this).addClass("ui-dialog-resizing"),c._blockFrames(),c._trigger("resizeStart",d,b(e))},resize:function(a,d){c._trigger("resize",a,b(d))},stop:function(e,f){var g=c.uiDialog.offset(),h=g.left-c.document.scrollLeft(),i=g.top-c.document.scrollTop();d.height=c.uiDialog.height(),d.width=c.uiDialog.width(),d.position={my:"left top",at:"left"+(h>=0?"+":"")+h+" top"+(i>=0?"+":"")+i,of:c.window},a(this).removeClass("ui-dialog-resizing"),c._unblockFrames(),c._trigger("resizeStop",e,b(f))}}).css("position",f)},_trackFocus:function(){this._on(this.widget(),{focusin:function(b){this._makeFocusTarget(),this._focusedElement=a(b.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var b=this._trackingInstances(),c=a.inArray(this,b);-1!==c&&b.splice(c,1)},_trackingInstances:function(){var a=this.document.data("ui-dialog-instances");return a||(a=[],this.document.data("ui-dialog-instances",a)),a},_minHeight:function(){var a=this.options;return"auto"===a.height?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(){var a=this.uiDialog.is(":visible");a||this.uiDialog.show(),this.uiDialog.position(this.options.position),a||this.uiDialog.hide()},_setOptions:function(b){var c=this,d=!1,e={};a.each(b,function(a,b){c._setOption(a,b),a in c.sizeRelatedOptions&&(d=!0),a in c.resizableRelatedOptions&&(e[a]=b)}),d&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",e)},_setOption:function(a,b){var c,d,e=this.uiDialog;"dialogClass"===a&&e.removeClass(this.options.dialogClass).addClass(b),"disabled"!==a&&(this._super(a,b),"appendTo"===a&&this.uiDialog.appendTo(this._appendTo()),"buttons"===a&&this._createButtons(),"closeText"===a&&this.uiDialogTitlebarClose.button({label:""+b}),"draggable"===a&&(c=e.is(":data(ui-draggable)"),c&&!b&&e.draggable("destroy"),!c&&b&&this._makeDraggable()),"position"===a&&this._position(),"resizable"===a&&(d=e.is(":data(ui-resizable)"),d&&!b&&e.resizable("destroy"),d&&"string"==typeof b&&e.resizable("option","handles",b),d||b===!1||this._makeResizable()),"title"===a&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var a,b,c,d=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),d.minWidth>d.width&&(d.width=d.minWidth),a=this.uiDialog.css({height:"auto",width:d.width}).outerHeight(),b=Math.max(0,d.minHeight-a),c="number"==typeof d.maxHeight?Math.max(0,d.maxHeight-a):"none","auto"===d.height?this.element.css({minHeight:b,maxHeight:c,height:"auto"}):this.element.height(Math.max(0,d.height-a)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var b=a(this);return a("<div>").css({position:"absolute",width:b.outerWidth(),height:b.outerHeight()}).appendTo(b.parent()).offset(b.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(b){return a(b.target).closest(".ui-dialog").length?!0:!!a(b.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var b=!0;this._delay(function(){b=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(a){b||this._allowInteraction(a)||(a.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=a("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var a=this.document.data("ui-dialog-overlays")-1;a?this.document.data("ui-dialog-overlays",a):this.document.unbind("focusin").removeData("ui-dialog-overlays"),this.overlay.remove(),this.overlay=null}}})});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget","./button","./draggable","./mouse","./position","./resizable"],a):a(jQuery)}(function(a){return a.widget("ui.dialog",{version:"1.11.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(b){var c=a(this).css(b).offset().top;0>c&&a(this).css("top",b.top-c)}},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},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_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&&a.fn.draggable&&this._makeDraggable(),this.options.resizable&&a.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var b=this.options.appendTo;return b&&(b.jquery||b.nodeType)?a(b):this.document.find(b||"body").eq(0)},_destroy:function(){var a,b=this.originalPosition;this._untrackInstance(),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),a=b.parent.children().eq(b.index),a.length&&a[0]!==this.element[0]?a.before(this.element):b.parent.append(this.element)},widget:function(){return this.uiDialog},disable:a.noop,enable:a.noop,close:function(b){var c,d=this;if(this._isOpen&&this._trigger("beforeClose",b)!==!1){if(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),!this.opener.filter(":focusable").focus().length)try{c=this.document[0].activeElement,c&&"body"!==c.nodeName.toLowerCase()&&a(c).blur()}catch(e){}this._hide(this.uiDialog,this.options.hide,function(){d._trigger("close",b)})}},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(b,c){var d=!1,e=this.uiDialog.siblings(".ui-front:visible").map(function(){return+a(this).css("z-index")}).get(),f=Math.max.apply(null,e);return f>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",f+1),d=!0),d&&!c&&this._trigger("focus",b),d},open:function(){var b=this;return this._isOpen?void(this._moveToTop()&&this._focusTabbable()):(this._isOpen=!0,this.opener=a(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){b._focusTabbable(),b._trigger("focus")}),this._makeFocusTarget(),void this._trigger("open"))},_focusTabbable:function(){var a=this._focusedElement;a||(a=this.element.find("[autofocus]")),a.length||(a=this.element.find(":tabbable")),a.length||(a=this.uiDialogButtonPane.find(":tabbable")),a.length||(a=this.uiDialogTitlebarClose.filter(":tabbable")),a.length||(a=this.uiDialog),a.eq(0).focus()},_keepFocus:function(b){function c(){var b=this.document[0].activeElement,c=this.uiDialog[0]===b||a.contains(this.uiDialog[0],b);c||this._focusTabbable()}b.preventDefault(),c.call(this),this._delay(c)},_createWrapper:function(){this.uiDialog=a("<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(b){if(this.options.closeOnEscape&&!b.isDefaultPrevented()&&b.keyCode&&b.keyCode===a.ui.keyCode.ESCAPE)return b.preventDefault(),void this.close(b);if(b.keyCode===a.ui.keyCode.TAB&&!b.isDefaultPrevented()){var c=this.uiDialog.find(":tabbable"),d=c.filter(":first"),e=c.filter(":last");b.target!==e[0]&&b.target!==this.uiDialog[0]||b.shiftKey?b.target!==d[0]&&b.target!==this.uiDialog[0]||!b.shiftKey||(this._delay(function(){e.focus()}),b.preventDefault()):(this._delay(function(){d.focus()}),b.preventDefault())}},mousedown:function(a){this._moveToTop(a)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var b;this.uiDialogTitlebar=a("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(b){a(b.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=a("<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(a){a.preventDefault(),this.close(a)}}),b=a("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(b),this.uiDialog.attr({"aria-labelledby":b.attr("id")})},_title:function(a){this.options.title||a.html("&#160;"),a.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=a("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=a("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var b=this,c=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),a.isEmptyObject(c)||a.isArray(c)&&!c.length?void this.uiDialog.removeClass("ui-dialog-buttons"):(a.each(c,function(c,d){var e,f;d=a.isFunction(d)?{click:d,text:c}:d,d=a.extend({type:"button"},d),e=d.click,d.click=function(){e.apply(b.element[0],arguments)},f={icons:d.icons,text:d.showText},delete d.icons,delete d.showText,a("<button></button>",d).button(f).appendTo(b.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),void this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){function b(a){return{position:a.position,offset:a.offset}}var c=this,d=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(d,e){a(this).addClass("ui-dialog-dragging"),c._blockFrames(),c._trigger("dragStart",d,b(e))},drag:function(a,d){c._trigger("drag",a,b(d))},stop:function(e,f){var g=f.offset.left-c.document.scrollLeft(),h=f.offset.top-c.document.scrollTop();d.position={my:"left top",at:"left"+(g>=0?"+":"")+g+" top"+(h>=0?"+":"")+h,of:c.window},a(this).removeClass("ui-dialog-dragging"),c._unblockFrames(),c._trigger("dragStop",e,b(f))}})},_makeResizable:function(){function b(a){return{originalPosition:a.originalPosition,originalSize:a.originalSize,position:a.position,size:a.size}}var c=this,d=this.options,e=d.resizable,f=this.uiDialog.css("position"),g="string"==typeof e?e:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:d.maxWidth,maxHeight:d.maxHeight,minWidth:d.minWidth,minHeight:this._minHeight(),handles:g,start:function(d,e){a(this).addClass("ui-dialog-resizing"),c._blockFrames(),c._trigger("resizeStart",d,b(e))},resize:function(a,d){c._trigger("resize",a,b(d))},stop:function(e,f){var g=c.uiDialog.offset(),h=g.left-c.document.scrollLeft(),i=g.top-c.document.scrollTop();d.height=c.uiDialog.height(),d.width=c.uiDialog.width(),d.position={my:"left top",at:"left"+(h>=0?"+":"")+h+" top"+(i>=0?"+":"")+i,of:c.window},a(this).removeClass("ui-dialog-resizing"),c._unblockFrames(),c._trigger("resizeStop",e,b(f))}}).css("position",f)},_trackFocus:function(){this._on(this.widget(),{focusin:function(b){this._makeFocusTarget(),this._focusedElement=a(b.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var b=this._trackingInstances(),c=a.inArray(this,b);-1!==c&&b.splice(c,1)},_trackingInstances:function(){var a=this.document.data("ui-dialog-instances");return a||(a=[],this.document.data("ui-dialog-instances",a)),a},_minHeight:function(){var a=this.options;return"auto"===a.height?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(){var a=this.uiDialog.is(":visible");a||this.uiDialog.show(),this.uiDialog.position(this.options.position),a||this.uiDialog.hide()},_setOptions:function(b){var c=this,d=!1,e={};a.each(b,function(a,b){c._setOption(a,b),a in c.sizeRelatedOptions&&(d=!0),a in c.resizableRelatedOptions&&(e[a]=b)}),d&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",e)},_setOption:function(a,b){var c,d,e=this.uiDialog;"dialogClass"===a&&e.removeClass(this.options.dialogClass).addClass(b),"disabled"!==a&&(this._super(a,b),"appendTo"===a&&this.uiDialog.appendTo(this._appendTo()),"buttons"===a&&this._createButtons(),"closeText"===a&&this.uiDialogTitlebarClose.button({label:""+b}),"draggable"===a&&(c=e.is(":data(ui-draggable)"),c&&!b&&e.draggable("destroy"),!c&&b&&this._makeDraggable()),"position"===a&&this._position(),"resizable"===a&&(d=e.is(":data(ui-resizable)"),d&&!b&&e.resizable("destroy"),d&&"string"==typeof b&&e.resizable("option","handles",b),d||b===!1||this._makeResizable()),"title"===a&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var a,b,c,d=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),d.minWidth>d.width&&(d.width=d.minWidth),a=this.uiDialog.css({height:"auto",width:d.width}).outerHeight(),b=Math.max(0,d.minHeight-a),c="number"==typeof d.maxHeight?Math.max(0,d.maxHeight-a):"none","auto"===d.height?this.element.css({minHeight:b,maxHeight:c,height:"auto"}):this.element.height(Math.max(0,d.height-a)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var b=a(this);return a("<div>").css({position:"absolute",width:b.outerWidth(),height:b.outerHeight()}).appendTo(b.parent()).offset(b.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(b){return a(b.target).closest(".ui-dialog").length?!0:!!a(b.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var b=!0;this._delay(function(){b=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(a){b||this._allowInteraction(a)||(a.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=a("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var a=this.document.data("ui-dialog-overlays")-1;a?this.document.data("ui-dialog-overlays",a):this.document.unbind("focusin").removeData("ui-dialog-overlays"),this.overlay.remove(),this.overlay=null}}})});
\ No newline at end of file
index 74a8e86028fd914fe71398cd7b54365576455da4..fec4e09d057b614e9ddc4eca965357b7de813a5c 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Draggable 1.11.2
+ * jQuery UI Draggable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/draggable/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./mouse","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.draggable",a.ui.mouse,{version:"1.11.2",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&&this._setPositionRelative(),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._setHandleClassName(),this._mouseInit()},_setOption:function(a,b){this._super(a,b),"handle"===a&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?void(this.destroyOnClear=!0):(this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._removeHandleClassName(),void this._mouseDestroy())},_mouseCapture:function(b){var c=this.options;return this._blurActiveElement(b),this.helper||c.disabled||a(b.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(b),this.handle?(this._blockFrames(c.iframeFix===!0?"iframe":c.iframeFix),!0):!1)},_blockFrames:function(b){this.iframeBlocks=this.document.find(b).map(function(){var b=a(this);return a("<div>").css("position","absolute").appendTo(b.parent()).outerWidth(b.outerWidth()).outerHeight(b.outerHeight()).offset(b.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(b){var c=this.document[0];if(this.handleElement.is(b.target))try{c.activeElement&&"body"!==c.activeElement.nodeName.toLowerCase()&&a(c.activeElement).blur()}catch(d){}},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===a(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(b),this.originalPosition=this.position=this._generatePosition(b,!1),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this._normalizeRightBottom(),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_refreshOffsets:function(a){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:a.pageX-this.offset.left,top:a.pageY-this.offset.top}},_mouseDrag:function(b,c){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(b,!0),this.positionAbs=this._convertPositionTo("absolute"),!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=this,d=!1;return a.ui.ddmanager&&!this.options.dropBehaviour&&(d=a.ui.ddmanager.drop(this,b)),this.dropped&&(d=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!d||"valid"===this.options.revert&&d||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d)?a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",b)!==!1&&c._clear()}):this._trigger("stop",b)!==!1&&this._clear(),!1},_mouseUp:function(b){return this._unblockFrames(),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),this.handleElement.is(b.target)&&this.element.focus(),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){return this.options.handle?!!a(b.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this.handleElement.addClass("ui-draggable-handle")},_removeHandleClassName:function(){this.handleElement.removeClass("ui-draggable-handle")},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper),e=d?a(c.helper.apply(this.element[0],[b])):"clone"===c.helper?this.element.clone().removeAttr("id"):this.element;return e.parents("body").length||e.appendTo("parent"===c.appendTo?this.element[0].parentNode:c.appendTo),d&&e[0]===this.element[0]&&this._setPositionRelative(),e[0]===this.element[0]||/(fixed|absolute)/.test(e.css("position"))||e.css("position","absolute"),e},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_isRootNode:function(a){return/(html|body)/i.test(a.tagName)||a===this.document[0]},_getParentOffset:function(){var b=this.offsetParent.offset(),c=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==c&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var a=this.element.position(),b=this._isRootNode(this.scrollParent[0]);return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+(b?0:this.scrollParent.scrollTop()),left:a.left-(parseInt(this.helper.css("left"),10)||0)+(b?0:this.scrollParent.scrollLeft())}},_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 b,c,d,e=this.options,f=this.document[0];return this.relativeContainer=null,e.containment?"window"===e.containment?void(this.containment=[a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,a(window).scrollLeft()+a(window).width()-this.helperProportions.width-this.margins.left,a(window).scrollTop()+(a(window).height()||f.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):"document"===e.containment?void(this.containment=[0,0,a(f).width()-this.helperProportions.width-this.margins.left,(a(f).height()||f.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):e.containment.constructor===Array?void(this.containment=e.containment):("parent"===e.containment&&(e.containment=this.helper[0].parentNode),c=a(e.containment),d=c[0],void(d&&(b=/(scroll|auto)/.test(c.css("overflow")),this.containment=[(parseInt(c.css("borderLeftWidth"),10)||0)+(parseInt(c.css("paddingLeft"),10)||0),(parseInt(c.css("borderTopWidth"),10)||0)+(parseInt(c.css("paddingTop"),10)||0),(b?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(c.css("borderRightWidth"),10)||0)-(parseInt(c.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(b?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(c.css("borderBottomWidth"),10)||0)-(parseInt(c.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=c))):void(this.containment=null)},_convertPositionTo:function(a,b){b||(b=this.position);var c="absolute"===a?1:-1,d=this._isRootNode(this.scrollParent[0]);return{top:b.top+this.offset.relative.top*c+this.offset.parent.top*c-("fixed"===this.cssPosition?-this.offset.scroll.top:d?0:this.offset.scroll.top)*c,left:b.left+this.offset.relative.left*c+this.offset.parent.left*c-("fixed"===this.cssPosition?-this.offset.scroll.left:d?0:this.offset.scroll.left)*c}},_generatePosition:function(a,b){var c,d,e,f,g=this.options,h=this._isRootNode(this.scrollParent[0]),i=a.pageX,j=a.pageY;return h&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),b&&(this.containment&&(this.relativeContainer?(d=this.relativeContainer.offset(),c=[this.containment[0]+d.left,this.containment[1]+d.top,this.containment[2]+d.left,this.containment[3]+d.top]):c=this.containment,a.pageX-this.offset.click.left<c[0]&&(i=c[0]+this.offset.click.left),a.pageY-this.offset.click.top<c[1]&&(j=c[1]+this.offset.click.top),a.pageX-this.offset.click.left>c[2]&&(i=c[2]+this.offset.click.left),a.pageY-this.offset.click.top>c[3]&&(j=c[3]+this.offset.click.top)),g.grid&&(e=g.grid[1]?this.originalPageY+Math.round((j-this.originalPageY)/g.grid[1])*g.grid[1]:this.originalPageY,j=c?e-this.offset.click.top>=c[1]||e-this.offset.click.top>c[3]?e:e-this.offset.click.top>=c[1]?e-g.grid[1]:e+g.grid[1]:e,f=g.grid[0]?this.originalPageX+Math.round((i-this.originalPageX)/g.grid[0])*g.grid[0]:this.originalPageX,i=c?f-this.offset.click.left>=c[0]||f-this.offset.click.left>c[2]?f:f-this.offset.click.left>=c[0]?f-g.grid[0]:f+g.grid[0]:f),"y"===g.axis&&(i=this.originalPageX),"x"===g.axis&&(j=this.originalPageY)),{top:j-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:h?0:this.offset.scroll.top),left:i-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:h?0: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,this.destroyOnClear&&this.destroy()},_normalizeRightBottom:function(){"y"!==this.options.axis&&"auto"!==this.helper.css("right")&&(this.helper.width(this.helper.width()),this.helper.css("right","auto")),"x"!==this.options.axis&&"auto"!==this.helper.css("bottom")&&(this.helper.height(this.helper.height()),this.helper.css("bottom","auto"))},_trigger:function(b,c,d){return d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d,this],!0),/^(drag|start|stop)/.test(b)&&(this.positionAbs=this._convertPositionTo("absolute"),d.offset=this.positionAbs),a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c,d){var e=a.extend({},c,{item:d.element});d.sortables=[],a(d.options.connectToSortable).each(function(){var c=a(this).sortable("instance");c&&!c.options.disabled&&(d.sortables.push(c),c.refreshPositions(),c._trigger("activate",b,e))})},stop:function(b,c,d){var e=a.extend({},c,{item:d.element});d.cancelHelperRemoval=!1,a.each(d.sortables,function(){var a=this;a.isOver?(a.isOver=0,d.cancelHelperRemoval=!0,a.cancelHelperRemoval=!1,a._storedCSS={position:a.placeholder.css("position"),top:a.placeholder.css("top"),left:a.placeholder.css("left")},a._mouseStop(b),a.options.helper=a.options._helper):(a.cancelHelperRemoval=!0,a._trigger("deactivate",b,e))})},drag:function(b,c,d){a.each(d.sortables,function(){var e=!1,f=this;f.positionAbs=d.positionAbs,f.helperProportions=d.helperProportions,f.offset.click=d.offset.click,f._intersectsWith(f.containerCache)&&(e=!0,a.each(d.sortables,function(){return this.positionAbs=d.positionAbs,this.helperProportions=d.helperProportions,this.offset.click=d.offset.click,this!==f&&this._intersectsWith(this.containerCache)&&a.contains(f.element[0],this.element[0])&&(e=!1),e})),e?(f.isOver||(f.isOver=1,f.currentItem=c.helper.appendTo(f.element).data("ui-sortable-item",!0),f.options._helper=f.options.helper,f.options.helper=function(){return c.helper[0]},b.target=f.currentItem[0],f._mouseCapture(b,!0),f._mouseStart(b,!0,!0),f.offset.click.top=d.offset.click.top,f.offset.click.left=d.offset.click.left,f.offset.parent.left-=d.offset.parent.left-f.offset.parent.left,f.offset.parent.top-=d.offset.parent.top-f.offset.parent.top,d._trigger("toSortable",b),d.dropped=f.element,a.each(d.sortables,function(){this.refreshPositions()}),d.currentItem=d.element,f.fromOutside=d),f.currentItem&&(f._mouseDrag(b),c.position=f.position)):f.isOver&&(f.isOver=0,f.cancelHelperRemoval=!0,f.options._revert=f.options.revert,f.options.revert=!1,f._trigger("out",b,f._uiHash(f)),f._mouseStop(b,!0),f.options.revert=f.options._revert,f.options.helper=f.options._helper,f.placeholder&&f.placeholder.remove(),d._refreshOffsets(b),c.position=d._generatePosition(b,!0),d._trigger("fromSortable",b),d.dropped=!1,a.each(d.sortables,function(){this.refreshPositions()}))})}}),a.ui.plugin.add("draggable","cursor",{start:function(b,c,d){var e=a("body"),f=d.options;e.css("cursor")&&(f._cursor=e.css("cursor")),e.css("cursor",f.cursor)},stop:function(b,c,d){var e=d.options;e._cursor&&a("body").css("cursor",e._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c,d){var e=a(c.helper),f=d.options;e.css("opacity")&&(f._opacity=e.css("opacity")),e.css("opacity",f.opacity)},stop:function(b,c,d){var e=d.options;e._opacity&&a(c.helper).css("opacity",e._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(a,b,c){c.scrollParentNotHidden||(c.scrollParentNotHidden=c.helper.scrollParent(!1)),c.scrollParentNotHidden[0]!==c.document[0]&&"HTML"!==c.scrollParentNotHidden[0].tagName&&(c.overflowOffset=c.scrollParentNotHidden.offset())},drag:function(b,c,d){var e=d.options,f=!1,g=d.scrollParentNotHidden[0],h=d.document[0];g!==h&&"HTML"!==g.tagName?(e.axis&&"x"===e.axis||(d.overflowOffset.top+g.offsetHeight-b.pageY<e.scrollSensitivity?g.scrollTop=f=g.scrollTop+e.scrollSpeed:b.pageY-d.overflowOffset.top<e.scrollSensitivity&&(g.scrollTop=f=g.scrollTop-e.scrollSpeed)),e.axis&&"y"===e.axis||(d.overflowOffset.left+g.offsetWidth-b.pageX<e.scrollSensitivity?g.scrollLeft=f=g.scrollLeft+e.scrollSpeed:b.pageX-d.overflowOffset.left<e.scrollSensitivity&&(g.scrollLeft=f=g.scrollLeft-e.scrollSpeed))):(e.axis&&"x"===e.axis||(b.pageY-a(h).scrollTop()<e.scrollSensitivity?f=a(h).scrollTop(a(h).scrollTop()-e.scrollSpeed):a(window).height()-(b.pageY-a(h).scrollTop())<e.scrollSensitivity&&(f=a(h).scrollTop(a(h).scrollTop()+e.scrollSpeed))),e.axis&&"y"===e.axis||(b.pageX-a(h).scrollLeft()<e.scrollSensitivity?f=a(h).scrollLeft(a(h).scrollLeft()-e.scrollSpeed):a(window).width()-(b.pageX-a(h).scrollLeft())<e.scrollSensitivity&&(f=a(h).scrollLeft(a(h).scrollLeft()+e.scrollSpeed)))),f!==!1&&a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(d,b)}}),a.ui.plugin.add("draggable","snap",{start:function(b,c,d){var e=d.options;d.snapElements=[],a(e.snap.constructor!==String?e.snap.items||":data(ui-draggable)":e.snap).each(function(){var b=a(this),c=b.offset();this!==d.element[0]&&d.snapElements.push({item:this,width:b.outerWidth(),height:b.outerHeight(),top:c.top,left:c.left})})},drag:function(b,c,d){var e,f,g,h,i,j,k,l,m,n,o=d.options,p=o.snapTolerance,q=c.offset.left,r=q+d.helperProportions.width,s=c.offset.top,t=s+d.helperProportions.height;for(m=d.snapElements.length-1;m>=0;m--)i=d.snapElements[m].left-d.margins.left,j=i+d.snapElements[m].width,k=d.snapElements[m].top-d.margins.top,l=k+d.snapElements[m].height,i-p>r||q>j+p||k-p>t||s>l+p||!a.contains(d.snapElements[m].item.ownerDocument,d.snapElements[m].item)?(d.snapElements[m].snapping&&d.options.snap.release&&d.options.snap.release.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[m].item})),d.snapElements[m].snapping=!1):("inner"!==o.snapMode&&(e=Math.abs(k-t)<=p,f=Math.abs(l-s)<=p,g=Math.abs(i-r)<=p,h=Math.abs(j-q)<=p,e&&(c.position.top=d._convertPositionTo("relative",{top:k-d.helperProportions.height,left:0}).top),f&&(c.position.top=d._convertPositionTo("relative",{top:l,left:0}).top),g&&(c.position.left=d._convertPositionTo("relative",{top:0,left:i-d.helperProportions.width}).left),h&&(c.position.left=d._convertPositionTo("relative",{top:0,left:j}).left)),n=e||f||g||h,"outer"!==o.snapMode&&(e=Math.abs(k-s)<=p,f=Math.abs(l-t)<=p,g=Math.abs(i-q)<=p,h=Math.abs(j-r)<=p,e&&(c.position.top=d._convertPositionTo("relative",{top:k,left:0}).top),f&&(c.position.top=d._convertPositionTo("relative",{top:l-d.helperProportions.height,left:0}).top),g&&(c.position.left=d._convertPositionTo("relative",{top:0,left:i}).left),h&&(c.position.left=d._convertPositionTo("relative",{top:0,left:j-d.helperProportions.width}).left)),!d.snapElements[m].snapping&&(e||f||g||h||n)&&d.options.snap.snap&&d.options.snap.snap.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[m].item})),d.snapElements[m].snapping=e||f||g||h||n)}}),a.ui.plugin.add("draggable","stack",{start:function(b,c,d){var e,f=d.options,g=a.makeArray(a(f.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});g.length&&(e=parseInt(a(g[0]).css("zIndex"),10)||0,a(g).each(function(b){a(this).css("zIndex",e+b)}),this.css("zIndex",e+g.length))}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c,d){var e=a(c.helper),f=d.options;e.css("zIndex")&&(f._zIndex=e.css("zIndex")),e.css("zIndex",f.zIndex)},stop:function(b,c,d){var e=d.options;e._zIndex&&a(c.helper).css("zIndex",e._zIndex)}}),a.ui.draggable});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./mouse","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.draggable",a.ui.mouse,{version:"1.11.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&&this._setPositionRelative(),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._setHandleClassName(),this._mouseInit()},_setOption:function(a,b){this._super(a,b),"handle"===a&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?void(this.destroyOnClear=!0):(this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._removeHandleClassName(),void this._mouseDestroy())},_mouseCapture:function(b){var c=this.options;return this._blurActiveElement(b),this.helper||c.disabled||a(b.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(b),this.handle?(this._blockFrames(c.iframeFix===!0?"iframe":c.iframeFix),!0):!1)},_blockFrames:function(b){this.iframeBlocks=this.document.find(b).map(function(){var b=a(this);return a("<div>").css("position","absolute").appendTo(b.parent()).outerWidth(b.outerWidth()).outerHeight(b.outerHeight()).offset(b.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(b){var c=this.document[0];if(this.handleElement.is(b.target))try{c.activeElement&&"body"!==c.activeElement.nodeName.toLowerCase()&&a(c.activeElement).blur()}catch(d){}},_mouseStart:function(b){var c=this.options;return this.helper=this._createHelper(b),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),a.ui.ddmanager&&(a.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===a(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(b),this.originalPosition=this.position=this._generatePosition(b,!1),this.originalPageX=b.pageX,this.originalPageY=b.pageY,c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt),this._setContainment(),this._trigger("start",b)===!1?(this._clear(),!1):(this._cacheHelperProportions(),a.ui.ddmanager&&!c.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this._normalizeRightBottom(),this._mouseDrag(b,!0),a.ui.ddmanager&&a.ui.ddmanager.dragStart(this,b),!0)},_refreshOffsets:function(a){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:a.pageX-this.offset.left,top:a.pageY-this.offset.top}},_mouseDrag:function(b,c){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(b,!0),this.positionAbs=this._convertPositionTo("absolute"),!c){var d=this._uiHash();if(this._trigger("drag",b,d)===!1)return this._mouseUp({}),!1;this.position=d.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),!1},_mouseStop:function(b){var c=this,d=!1;return a.ui.ddmanager&&!this.options.dropBehaviour&&(d=a.ui.ddmanager.drop(this,b)),this.dropped&&(d=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!d||"valid"===this.options.revert&&d||this.options.revert===!0||a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d)?a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",b)!==!1&&c._clear()}):this._trigger("stop",b)!==!1&&this._clear(),!1},_mouseUp:function(b){return this._unblockFrames(),a.ui.ddmanager&&a.ui.ddmanager.dragStop(this,b),this.handleElement.is(b.target)&&this.element.focus(),a.ui.mouse.prototype._mouseUp.call(this,b)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(b){return this.options.handle?!!a(b.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this.handleElement.addClass("ui-draggable-handle")},_removeHandleClassName:function(){this.handleElement.removeClass("ui-draggable-handle")},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper),e=d?a(c.helper.apply(this.element[0],[b])):"clone"===c.helper?this.element.clone().removeAttr("id"):this.element;return e.parents("body").length||e.appendTo("parent"===c.appendTo?this.element[0].parentNode:c.appendTo),d&&e[0]===this.element[0]&&this._setPositionRelative(),e[0]===this.element[0]||/(fixed|absolute)/.test(e.css("position"))||e.css("position","absolute"),e},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_isRootNode:function(a){return/(html|body)/i.test(a.tagName)||a===this.document[0]},_getParentOffset:function(){var b=this.offsetParent.offset(),c=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==c&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var a=this.element.position(),b=this._isRootNode(this.scrollParent[0]);return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+(b?0:this.scrollParent.scrollTop()),left:a.left-(parseInt(this.helper.css("left"),10)||0)+(b?0:this.scrollParent.scrollLeft())}},_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 b,c,d,e=this.options,f=this.document[0];return this.relativeContainer=null,e.containment?"window"===e.containment?void(this.containment=[a(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,a(window).scrollLeft()+a(window).width()-this.helperProportions.width-this.margins.left,a(window).scrollTop()+(a(window).height()||f.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):"document"===e.containment?void(this.containment=[0,0,a(f).width()-this.helperProportions.width-this.margins.left,(a(f).height()||f.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):e.containment.constructor===Array?void(this.containment=e.containment):("parent"===e.containment&&(e.containment=this.helper[0].parentNode),c=a(e.containment),d=c[0],void(d&&(b=/(scroll|auto)/.test(c.css("overflow")),this.containment=[(parseInt(c.css("borderLeftWidth"),10)||0)+(parseInt(c.css("paddingLeft"),10)||0),(parseInt(c.css("borderTopWidth"),10)||0)+(parseInt(c.css("paddingTop"),10)||0),(b?Math.max(d.scrollWidth,d.offsetWidth):d.offsetWidth)-(parseInt(c.css("borderRightWidth"),10)||0)-(parseInt(c.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(b?Math.max(d.scrollHeight,d.offsetHeight):d.offsetHeight)-(parseInt(c.css("borderBottomWidth"),10)||0)-(parseInt(c.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=c))):void(this.containment=null)},_convertPositionTo:function(a,b){b||(b=this.position);var c="absolute"===a?1:-1,d=this._isRootNode(this.scrollParent[0]);return{top:b.top+this.offset.relative.top*c+this.offset.parent.top*c-("fixed"===this.cssPosition?-this.offset.scroll.top:d?0:this.offset.scroll.top)*c,left:b.left+this.offset.relative.left*c+this.offset.parent.left*c-("fixed"===this.cssPosition?-this.offset.scroll.left:d?0:this.offset.scroll.left)*c}},_generatePosition:function(a,b){var c,d,e,f,g=this.options,h=this._isRootNode(this.scrollParent[0]),i=a.pageX,j=a.pageY;return h&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),b&&(this.containment&&(this.relativeContainer?(d=this.relativeContainer.offset(),c=[this.containment[0]+d.left,this.containment[1]+d.top,this.containment[2]+d.left,this.containment[3]+d.top]):c=this.containment,a.pageX-this.offset.click.left<c[0]&&(i=c[0]+this.offset.click.left),a.pageY-this.offset.click.top<c[1]&&(j=c[1]+this.offset.click.top),a.pageX-this.offset.click.left>c[2]&&(i=c[2]+this.offset.click.left),a.pageY-this.offset.click.top>c[3]&&(j=c[3]+this.offset.click.top)),g.grid&&(e=g.grid[1]?this.originalPageY+Math.round((j-this.originalPageY)/g.grid[1])*g.grid[1]:this.originalPageY,j=c?e-this.offset.click.top>=c[1]||e-this.offset.click.top>c[3]?e:e-this.offset.click.top>=c[1]?e-g.grid[1]:e+g.grid[1]:e,f=g.grid[0]?this.originalPageX+Math.round((i-this.originalPageX)/g.grid[0])*g.grid[0]:this.originalPageX,i=c?f-this.offset.click.left>=c[0]||f-this.offset.click.left>c[2]?f:f-this.offset.click.left>=c[0]?f-g.grid[0]:f+g.grid[0]:f),"y"===g.axis&&(i=this.originalPageX),"x"===g.axis&&(j=this.originalPageY)),{top:j-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:h?0:this.offset.scroll.top),left:i-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:h?0: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,this.destroyOnClear&&this.destroy()},_normalizeRightBottom:function(){"y"!==this.options.axis&&"auto"!==this.helper.css("right")&&(this.helper.width(this.helper.width()),this.helper.css("right","auto")),"x"!==this.options.axis&&"auto"!==this.helper.css("bottom")&&(this.helper.height(this.helper.height()),this.helper.css("bottom","auto"))},_trigger:function(b,c,d){return d=d||this._uiHash(),a.ui.plugin.call(this,b,[c,d,this],!0),/^(drag|start|stop)/.test(b)&&(this.positionAbs=this._convertPositionTo("absolute"),d.offset=this.positionAbs),a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),a.ui.plugin.add("draggable","connectToSortable",{start:function(b,c,d){var e=a.extend({},c,{item:d.element});d.sortables=[],a(d.options.connectToSortable).each(function(){var c=a(this).sortable("instance");c&&!c.options.disabled&&(d.sortables.push(c),c.refreshPositions(),c._trigger("activate",b,e))})},stop:function(b,c,d){var e=a.extend({},c,{item:d.element});d.cancelHelperRemoval=!1,a.each(d.sortables,function(){var a=this;a.isOver?(a.isOver=0,d.cancelHelperRemoval=!0,a.cancelHelperRemoval=!1,a._storedCSS={position:a.placeholder.css("position"),top:a.placeholder.css("top"),left:a.placeholder.css("left")},a._mouseStop(b),a.options.helper=a.options._helper):(a.cancelHelperRemoval=!0,a._trigger("deactivate",b,e))})},drag:function(b,c,d){a.each(d.sortables,function(){var e=!1,f=this;f.positionAbs=d.positionAbs,f.helperProportions=d.helperProportions,f.offset.click=d.offset.click,f._intersectsWith(f.containerCache)&&(e=!0,a.each(d.sortables,function(){return this.positionAbs=d.positionAbs,this.helperProportions=d.helperProportions,this.offset.click=d.offset.click,this!==f&&this._intersectsWith(this.containerCache)&&a.contains(f.element[0],this.element[0])&&(e=!1),e})),e?(f.isOver||(f.isOver=1,d._parent=c.helper.parent(),f.currentItem=c.helper.appendTo(f.element).data("ui-sortable-item",!0),f.options._helper=f.options.helper,f.options.helper=function(){return c.helper[0]},b.target=f.currentItem[0],f._mouseCapture(b,!0),f._mouseStart(b,!0,!0),f.offset.click.top=d.offset.click.top,f.offset.click.left=d.offset.click.left,f.offset.parent.left-=d.offset.parent.left-f.offset.parent.left,f.offset.parent.top-=d.offset.parent.top-f.offset.parent.top,d._trigger("toSortable",b),d.dropped=f.element,a.each(d.sortables,function(){this.refreshPositions()}),d.currentItem=d.element,f.fromOutside=d),f.currentItem&&(f._mouseDrag(b),c.position=f.position)):f.isOver&&(f.isOver=0,f.cancelHelperRemoval=!0,f.options._revert=f.options.revert,f.options.revert=!1,f._trigger("out",b,f._uiHash(f)),f._mouseStop(b,!0),f.options.revert=f.options._revert,f.options.helper=f.options._helper,f.placeholder&&f.placeholder.remove(),c.helper.appendTo(d._parent),d._refreshOffsets(b),c.position=d._generatePosition(b,!0),d._trigger("fromSortable",b),d.dropped=!1,a.each(d.sortables,function(){this.refreshPositions()}))})}}),a.ui.plugin.add("draggable","cursor",{start:function(b,c,d){var e=a("body"),f=d.options;e.css("cursor")&&(f._cursor=e.css("cursor")),e.css("cursor",f.cursor)},stop:function(b,c,d){var e=d.options;e._cursor&&a("body").css("cursor",e._cursor)}}),a.ui.plugin.add("draggable","opacity",{start:function(b,c,d){var e=a(c.helper),f=d.options;e.css("opacity")&&(f._opacity=e.css("opacity")),e.css("opacity",f.opacity)},stop:function(b,c,d){var e=d.options;e._opacity&&a(c.helper).css("opacity",e._opacity)}}),a.ui.plugin.add("draggable","scroll",{start:function(a,b,c){c.scrollParentNotHidden||(c.scrollParentNotHidden=c.helper.scrollParent(!1)),c.scrollParentNotHidden[0]!==c.document[0]&&"HTML"!==c.scrollParentNotHidden[0].tagName&&(c.overflowOffset=c.scrollParentNotHidden.offset())},drag:function(b,c,d){var e=d.options,f=!1,g=d.scrollParentNotHidden[0],h=d.document[0];g!==h&&"HTML"!==g.tagName?(e.axis&&"x"===e.axis||(d.overflowOffset.top+g.offsetHeight-b.pageY<e.scrollSensitivity?g.scrollTop=f=g.scrollTop+e.scrollSpeed:b.pageY-d.overflowOffset.top<e.scrollSensitivity&&(g.scrollTop=f=g.scrollTop-e.scrollSpeed)),e.axis&&"y"===e.axis||(d.overflowOffset.left+g.offsetWidth-b.pageX<e.scrollSensitivity?g.scrollLeft=f=g.scrollLeft+e.scrollSpeed:b.pageX-d.overflowOffset.left<e.scrollSensitivity&&(g.scrollLeft=f=g.scrollLeft-e.scrollSpeed))):(e.axis&&"x"===e.axis||(b.pageY-a(h).scrollTop()<e.scrollSensitivity?f=a(h).scrollTop(a(h).scrollTop()-e.scrollSpeed):a(window).height()-(b.pageY-a(h).scrollTop())<e.scrollSensitivity&&(f=a(h).scrollTop(a(h).scrollTop()+e.scrollSpeed))),e.axis&&"y"===e.axis||(b.pageX-a(h).scrollLeft()<e.scrollSensitivity?f=a(h).scrollLeft(a(h).scrollLeft()-e.scrollSpeed):a(window).width()-(b.pageX-a(h).scrollLeft())<e.scrollSensitivity&&(f=a(h).scrollLeft(a(h).scrollLeft()+e.scrollSpeed)))),f!==!1&&a.ui.ddmanager&&!e.dropBehaviour&&a.ui.ddmanager.prepareOffsets(d,b)}}),a.ui.plugin.add("draggable","snap",{start:function(b,c,d){var e=d.options;d.snapElements=[],a(e.snap.constructor!==String?e.snap.items||":data(ui-draggable)":e.snap).each(function(){var b=a(this),c=b.offset();this!==d.element[0]&&d.snapElements.push({item:this,width:b.outerWidth(),height:b.outerHeight(),top:c.top,left:c.left})})},drag:function(b,c,d){var e,f,g,h,i,j,k,l,m,n,o=d.options,p=o.snapTolerance,q=c.offset.left,r=q+d.helperProportions.width,s=c.offset.top,t=s+d.helperProportions.height;for(m=d.snapElements.length-1;m>=0;m--)i=d.snapElements[m].left-d.margins.left,j=i+d.snapElements[m].width,k=d.snapElements[m].top-d.margins.top,l=k+d.snapElements[m].height,i-p>r||q>j+p||k-p>t||s>l+p||!a.contains(d.snapElements[m].item.ownerDocument,d.snapElements[m].item)?(d.snapElements[m].snapping&&d.options.snap.release&&d.options.snap.release.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[m].item})),d.snapElements[m].snapping=!1):("inner"!==o.snapMode&&(e=Math.abs(k-t)<=p,f=Math.abs(l-s)<=p,g=Math.abs(i-r)<=p,h=Math.abs(j-q)<=p,e&&(c.position.top=d._convertPositionTo("relative",{top:k-d.helperProportions.height,left:0}).top),f&&(c.position.top=d._convertPositionTo("relative",{top:l,left:0}).top),g&&(c.position.left=d._convertPositionTo("relative",{top:0,left:i-d.helperProportions.width}).left),h&&(c.position.left=d._convertPositionTo("relative",{top:0,left:j}).left)),n=e||f||g||h,"outer"!==o.snapMode&&(e=Math.abs(k-s)<=p,f=Math.abs(l-t)<=p,g=Math.abs(i-q)<=p,h=Math.abs(j-r)<=p,e&&(c.position.top=d._convertPositionTo("relative",{top:k,left:0}).top),f&&(c.position.top=d._convertPositionTo("relative",{top:l-d.helperProportions.height,left:0}).top),g&&(c.position.left=d._convertPositionTo("relative",{top:0,left:i}).left),h&&(c.position.left=d._convertPositionTo("relative",{top:0,left:j-d.helperProportions.width}).left)),!d.snapElements[m].snapping&&(e||f||g||h||n)&&d.options.snap.snap&&d.options.snap.snap.call(d.element,b,a.extend(d._uiHash(),{snapItem:d.snapElements[m].item})),d.snapElements[m].snapping=e||f||g||h||n)}}),a.ui.plugin.add("draggable","stack",{start:function(b,c,d){var e,f=d.options,g=a.makeArray(a(f.stack)).sort(function(b,c){return(parseInt(a(b).css("zIndex"),10)||0)-(parseInt(a(c).css("zIndex"),10)||0)});g.length&&(e=parseInt(a(g[0]).css("zIndex"),10)||0,a(g).each(function(b){a(this).css("zIndex",e+b)}),this.css("zIndex",e+g.length))}}),a.ui.plugin.add("draggable","zIndex",{start:function(b,c,d){var e=a(c.helper),f=d.options;e.css("zIndex")&&(f._zIndex=e.css("zIndex")),e.css("zIndex",f.zIndex)},stop:function(b,c,d){var e=d.options;e._zIndex&&a(c.helper).css("zIndex",e._zIndex)}}),a.ui.draggable});
\ No newline at end of file
index 6d200ef56405cf5d3c2457a299c0528a74113139..c01dc5f77c41e24719f4bd50a3249d6c553c56a2 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Droppable 1.11.2
+ * jQuery UI Droppable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/droppable/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget","./mouse","./draggable"],a):a(jQuery)}(function(a){return a.widget("ui.droppable",{version:"1.11.2",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 b,c=this.options,d=c.accept;this.isover=!1,this.isout=!0,this.accept=a.isFunction(d)?d:function(a){return a.is(d)},this.proportions=function(){return arguments.length?void(b=arguments[0]):b?b:b={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(c.scope),c.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(b){a.ui.ddmanager.droppables[b]=a.ui.ddmanager.droppables[b]||[],a.ui.ddmanager.droppables[b].push(this)},_splice:function(a){for(var b=0;b<a.length;b++)a[b]===this&&a.splice(b,1)},_destroy:function(){var b=a.ui.ddmanager.droppables[this.options.scope];this._splice(b),this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(b,c){if("accept"===b)this.accept=a.isFunction(c)?c:function(a){return a.is(c)};else if("scope"===b){var d=a.ui.ddmanager.droppables[this.options.scope];this._splice(d),this._addToManager(c)}this._super(b,c)},_activate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),c&&this._trigger("activate",b,this.ui(c))},_deactivate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),c&&this._trigger("deactivate",b,this.ui(c))},_over:function(b){var c=a.ui.ddmanager.current;c&&(c.currentItem||c.element)[0]!==this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",b,this.ui(c)))},_out:function(b){var c=a.ui.ddmanager.current;c&&(c.currentItem||c.element)[0]!==this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",b,this.ui(c)))},_drop:function(b,c){var d=c||a.ui.ddmanager.current,e=!1;return d&&(d.currentItem||d.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var c=a(this).droppable("instance");return c.options.greedy&&!c.options.disabled&&c.options.scope===d.options.scope&&c.accept.call(c.element[0],d.currentItem||d.element)&&a.ui.intersect(d,a.extend(c,{offset:c.element.offset()}),c.options.tolerance,b)?(e=!0,!1):void 0}),e?!1:this.accept.call(this.element[0],d.currentItem||d.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",b,this.ui(d)),this.element):!1):!1},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}}),a.ui.intersect=function(){function a(a,b,c){return a>=b&&b+c>a}return function(b,c,d,e){if(!c.offset)return!1;var f=(b.positionAbs||b.position.absolute).left+b.margins.left,g=(b.positionAbs||b.position.absolute).top+b.margins.top,h=f+b.helperProportions.width,i=g+b.helperProportions.height,j=c.offset.left,k=c.offset.top,l=j+c.proportions().width,m=k+c.proportions().height;switch(d){case"fit":return f>=j&&l>=h&&g>=k&&m>=i;case"intersect":return j<f+b.helperProportions.width/2&&h-b.helperProportions.width/2<l&&k<g+b.helperProportions.height/2&&i-b.helperProportions.height/2<m;case"pointer":return a(e.pageY,k,c.proportions().height)&&a(e.pageX,j,c.proportions().width);case"touch":return(g>=k&&m>=g||i>=k&&m>=i||k>g&&i>m)&&(f>=j&&l>=f||h>=j&&l>=h||j>f&&h>l);default:return!1}}}(),a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d,e,f=a.ui.ddmanager.droppables[b.options.scope]||[],g=c?c.type:null,h=(b.currentItem||b.element).find(":data(ui-droppable)").addBack();a:for(d=0;d<f.length;d++)if(!(f[d].options.disabled||b&&!f[d].accept.call(f[d].element[0],b.currentItem||b.element))){for(e=0;e<h.length;e++)if(h[e]===f[d].element[0]){f[d].proportions().height=0;continue a}f[d].visible="none"!==f[d].element.css("display"),f[d].visible&&("mousedown"===g&&f[d]._activate.call(f[d],c),f[d].offset=f[d].element.offset(),f[d].proportions({width:f[d].element[0].offsetWidth,height:f[d].element[0].offsetHeight}))}},drop:function(b,c){var d=!1;return a.each((a.ui.ddmanager.droppables[b.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance,c)&&(d=this._drop.call(this,c)||d),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],b.currentItem||b.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,c)))}),d},dragStart:function(b,c){b.element.parentsUntil("body").bind("scroll.droppable",function(){b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)})},drag:function(b,c){b.options.refreshPositions&&a.ui.ddmanager.prepareOffsets(b,c),a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var d,e,f,g=a.ui.intersect(b,this,this.options.tolerance,c),h=!g&&this.isover?"isout":g&&!this.isover?"isover":null;h&&(this.options.greedy&&(e=this.options.scope,f=this.element.parents(":data(ui-droppable)").filter(function(){return a(this).droppable("instance").options.scope===e}),f.length&&(d=a(f[0]).droppable("instance"),d.greedyChild="isover"===h)),d&&"isover"===h&&(d.isover=!1,d.isout=!0,d._out.call(d,c)),this[h]=!0,this["isout"===h?"isover":"isout"]=!1,this["isover"===h?"_over":"_out"].call(this,c),d&&"isout"===h&&(d.isout=!1,d.isover=!0,d._over.call(d,c)))}})},dragStop:function(b,c){b.element.parentsUntil("body").unbind("scroll.droppable"),b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)}},a.ui.droppable});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget","./mouse","./draggable"],a):a(jQuery)}(function(a){return a.widget("ui.droppable",{version:"1.11.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 b,c=this.options,d=c.accept;this.isover=!1,this.isout=!0,this.accept=a.isFunction(d)?d:function(a){return a.is(d)},this.proportions=function(){return arguments.length?void(b=arguments[0]):b?b:b={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(c.scope),c.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(b){a.ui.ddmanager.droppables[b]=a.ui.ddmanager.droppables[b]||[],a.ui.ddmanager.droppables[b].push(this)},_splice:function(a){for(var b=0;b<a.length;b++)a[b]===this&&a.splice(b,1)},_destroy:function(){var b=a.ui.ddmanager.droppables[this.options.scope];this._splice(b),this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(b,c){if("accept"===b)this.accept=a.isFunction(c)?c:function(a){return a.is(c)};else if("scope"===b){var d=a.ui.ddmanager.droppables[this.options.scope];this._splice(d),this._addToManager(c)}this._super(b,c)},_activate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),c&&this._trigger("activate",b,this.ui(c))},_deactivate:function(b){var c=a.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),c&&this._trigger("deactivate",b,this.ui(c))},_over:function(b){var c=a.ui.ddmanager.current;c&&(c.currentItem||c.element)[0]!==this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",b,this.ui(c)))},_out:function(b){var c=a.ui.ddmanager.current;c&&(c.currentItem||c.element)[0]!==this.element[0]&&this.accept.call(this.element[0],c.currentItem||c.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",b,this.ui(c)))},_drop:function(b,c){var d=c||a.ui.ddmanager.current,e=!1;return d&&(d.currentItem||d.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var c=a(this).droppable("instance");return c.options.greedy&&!c.options.disabled&&c.options.scope===d.options.scope&&c.accept.call(c.element[0],d.currentItem||d.element)&&a.ui.intersect(d,a.extend(c,{offset:c.element.offset()}),c.options.tolerance,b)?(e=!0,!1):void 0}),e?!1:this.accept.call(this.element[0],d.currentItem||d.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",b,this.ui(d)),this.element):!1):!1},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}}),a.ui.intersect=function(){function a(a,b,c){return a>=b&&b+c>a}return function(b,c,d,e){if(!c.offset)return!1;var f=(b.positionAbs||b.position.absolute).left+b.margins.left,g=(b.positionAbs||b.position.absolute).top+b.margins.top,h=f+b.helperProportions.width,i=g+b.helperProportions.height,j=c.offset.left,k=c.offset.top,l=j+c.proportions().width,m=k+c.proportions().height;switch(d){case"fit":return f>=j&&l>=h&&g>=k&&m>=i;case"intersect":return j<f+b.helperProportions.width/2&&h-b.helperProportions.width/2<l&&k<g+b.helperProportions.height/2&&i-b.helperProportions.height/2<m;case"pointer":return a(e.pageY,k,c.proportions().height)&&a(e.pageX,j,c.proportions().width);case"touch":return(g>=k&&m>=g||i>=k&&m>=i||k>g&&i>m)&&(f>=j&&l>=f||h>=j&&l>=h||j>f&&h>l);default:return!1}}}(),a.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(b,c){var d,e,f=a.ui.ddmanager.droppables[b.options.scope]||[],g=c?c.type:null,h=(b.currentItem||b.element).find(":data(ui-droppable)").addBack();a:for(d=0;d<f.length;d++)if(!(f[d].options.disabled||b&&!f[d].accept.call(f[d].element[0],b.currentItem||b.element))){for(e=0;e<h.length;e++)if(h[e]===f[d].element[0]){f[d].proportions().height=0;continue a}f[d].visible="none"!==f[d].element.css("display"),f[d].visible&&("mousedown"===g&&f[d]._activate.call(f[d],c),f[d].offset=f[d].element.offset(),f[d].proportions({width:f[d].element[0].offsetWidth,height:f[d].element[0].offsetHeight}))}},drop:function(b,c){var d=!1;return a.each((a.ui.ddmanager.droppables[b.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&a.ui.intersect(b,this,this.options.tolerance,c)&&(d=this._drop.call(this,c)||d),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],b.currentItem||b.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,c)))}),d},dragStart:function(b,c){b.element.parentsUntil("body").bind("scroll.droppable",function(){b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)})},drag:function(b,c){b.options.refreshPositions&&a.ui.ddmanager.prepareOffsets(b,c),a.each(a.ui.ddmanager.droppables[b.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var d,e,f,g=a.ui.intersect(b,this,this.options.tolerance,c),h=!g&&this.isover?"isout":g&&!this.isover?"isover":null;h&&(this.options.greedy&&(e=this.options.scope,f=this.element.parents(":data(ui-droppable)").filter(function(){return a(this).droppable("instance").options.scope===e}),f.length&&(d=a(f[0]).droppable("instance"),d.greedyChild="isover"===h)),d&&"isover"===h&&(d.isover=!1,d.isout=!0,d._out.call(d,c)),this[h]=!0,this["isout"===h?"isover":"isout"]=!1,this["isover"===h?"_over":"_out"].call(this,c),d&&"isout"===h&&(d.isout=!1,d.isover=!0,d._over.call(d,c)))}})},dragStop:function(b,c){b.element.parentsUntil("body").unbind("scroll.droppable"),b.options.refreshPositions||a.ui.ddmanager.prepareOffsets(b,c)}},a.ui.droppable});
\ No newline at end of file
index eb839e630d4cd47461736abeed82d73e569bec3b..f4e33fbdbb4c9674e7ab33ba71b812d0b7b1ba74 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI Effects Blind 1.11.2
+ * jQuery UI Effects Blind 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
index 8749d91e5651e984dbf575fe1a5a142bffaebdc2..3c7a03199350a6dcfa52d3908548b0b6f712af5b 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI Effects Bounce 1.11.2
+ * jQuery UI Effects Bounce 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
index 9dd430024b276bbe56d1cbcc79e6727c24c0e461..50f61a5058273cf2cdbbe4d212bc4d1a1584b77f 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI Effects Clip 1.11.2
+ * jQuery UI Effects Clip 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
index 92f2b5bcf17606e24cfe0270013bfdbcafb2c8ce..4b88705a916a986074af3fd0b2082f8e7347e8fd 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI Effects Drop 1.11.2
+ * jQuery UI Effects Drop 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
index 0ea692d05820d48bd7edf889a1ba2e56859ca249..57a9b2ebcfb11e8d24a796379a3699e51ade180b 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI Effects Explode 1.11.2
+ * jQuery UI Effects Explode 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
index 07e2b5f2dcd4e0ad450a30cb697be9b2a4086bd9..fd7aaff0be1e23beefc5193bb18e187ef9ebf83b 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI Effects Fade 1.11.2
+ * jQuery UI Effects Fade 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
index 8d371f8d5a3dbc13f4f0dd74a976a8b90c9cd0a4..1baad3fb691ba4507c3558ae3dd07ea3ad1fb27c 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI Effects Fold 1.11.2
+ * jQuery UI Effects Fold 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
index 69145bbcd7a3b816e0f7eb4b7b26eb98d2f8bcce..f4ed290ee799a0199c1c0f4efd2df369693684b7 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI Effects Highlight 1.11.2
+ * jQuery UI Effects Highlight 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
index 121f0699eb07cdeb5ea1880c875696516737f9cd..78d008d1b8d854e1850abdb757cd966aae240caf 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI Effects Puff 1.11.2
+ * jQuery UI Effects Puff 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
index 4d02c1edfd0654adffabe1a720633cf63a18e902..4ab9df9b6c09d1156acf18fc913aa1d61256b004 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI Effects Pulsate 1.11.2
+ * jQuery UI Effects Pulsate 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
index f86cc0aa0561e3e343509fa6e2d3e4ed29ae90b8..ad37db99e352e96fe8880965695695ca3f778f21 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI Effects Scale 1.11.2
+ * jQuery UI Effects Scale 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
index 84abd8dd46263209d064c0ed70e7f43bb7bcb507..81b3bd74550442b9f17ce2ec849ae290914fe3f8 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI Effects Shake 1.11.2
+ * jQuery UI Effects Shake 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
index 07a0fb47ca7cd0d7fb885a25dc7b8b56fc8c7715..f5bc9ed09f4851d76b8317c8a3524e580d188bfc 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI Effects Size 1.11.2
+ * jQuery UI Effects Size 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
index 7ef20877b1f97aba638467465fb7599bb6d2745e..e5e51ce40febd55aaa65636d840337609638e4c2 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI Effects Slide 1.11.2
+ * jQuery UI Effects Slide 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
index 8e0fc0f7650148e7ad6bc66b3d0d6b5e865015c3..9efd68bb74ef99f10901f03b060655045cdcd667 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI Effects Transfer 1.11.2
+ * jQuery UI Effects Transfer 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
index 57c2045c2f494d48f0966ed975ce2dc8f7fddb01..77833314f71183776c4360d7041dfa98a379e9e2 100644 (file)
@@ -1,8 +1,8 @@
 /*!
- * jQuery UI Effects 1.11.2
+ * jQuery UI Effects 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
@@ -18,4 +18,4 @@
  *
  * Date: Wed Jan 16 08:47:09 2013 -0600
  */
-return a.effects={effect:{}},function(a,b){function c(a,b,c){var d=l[b.type]||{};return null==a?c||!b.def?null:b.def:(a=d.floor?~~a:parseFloat(a),isNaN(a)?b.def:d.mod?(a+d.mod)%d.mod:0>a?0:d.max<a?d.max:a)}function d(b){var c=j(),d=c._rgba=[];return b=b.toLowerCase(),o(i,function(a,e){var f,g=e.re.exec(b),h=g&&e.parse(g),i=e.space||"rgba";return h?(f=c[i](h),c[k[i].cache]=f[k[i].cache],d=c._rgba=f._rgba,!1):void 0}),d.length?("0,0,0,0"===d.join()&&a.extend(d,f.transparent),c):f[b]}function e(a,b,c){return c=(c+1)%1,1>6*c?a+(b-a)*c*6:1>2*c?b:2>3*c?a+(b-a)*(2/3-c)*6:a}var f,g="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",h=/^([\-+])=\s*(\d+\.?\d*)/,i=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(a){return[a[1],a[2],a[3],a[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],a[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(a){return[a[1],a[2]/100,a[3]/100,a[4]]}}],j=a.Color=function(b,c,d,e){return new a.Color.fn.parse(b,c,d,e)},k={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"}}}},l={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},m=j.support={},n=a("<p>")[0],o=a.each;n.style.cssText="background-color:rgba(1,1,1,.5)",m.rgba=n.style.backgroundColor.indexOf("rgba")>-1,o(k,function(a,b){b.cache="_"+a,b.props.alpha={idx:3,type:"percent",def:1}}),j.fn=a.extend(j.prototype,{parse:function(e,g,h,i){if(e===b)return this._rgba=[null,null,null,null],this;(e.jquery||e.nodeType)&&(e=a(e).css(g),g=b);var l=this,m=a.type(e),n=this._rgba=[];return g!==b&&(e=[e,g,h,i],m="array"),"string"===m?this.parse(d(e)||f._default):"array"===m?(o(k.rgba.props,function(a,b){n[b.idx]=c(e[b.idx],b)}),this):"object"===m?(e instanceof j?o(k,function(a,b){e[b.cache]&&(l[b.cache]=e[b.cache].slice())}):o(k,function(b,d){var f=d.cache;o(d.props,function(a,b){if(!l[f]&&d.to){if("alpha"===a||null==e[a])return;l[f]=d.to(l._rgba)}l[f][b.idx]=c(e[a],b,!0)}),l[f]&&a.inArray(null,l[f].slice(0,3))<0&&(l[f][3]=1,d.from&&(l._rgba=d.from(l[f])))}),this):void 0},is:function(a){var b=j(a),c=!0,d=this;return o(k,function(a,e){var f,g=b[e.cache];return g&&(f=d[e.cache]||e.to&&e.to(d._rgba)||[],o(e.props,function(a,b){return null!=g[b.idx]?c=g[b.idx]===f[b.idx]:void 0})),c}),c},_space:function(){var a=[],b=this;return o(k,function(c,d){b[d.cache]&&a.push(c)}),a.pop()},transition:function(a,b){var d=j(a),e=d._space(),f=k[e],g=0===this.alpha()?j("transparent"):this,h=g[f.cache]||f.to(g._rgba),i=h.slice();return d=d[f.cache],o(f.props,function(a,e){var f=e.idx,g=h[f],j=d[f],k=l[e.type]||{};null!==j&&(null===g?i[f]=j:(k.mod&&(j-g>k.mod/2?g+=k.mod:g-j>k.mod/2&&(g-=k.mod)),i[f]=c((j-g)*b+g,e)))}),this[e](i)},blend:function(b){if(1===this._rgba[3])return this;var c=this._rgba.slice(),d=c.pop(),e=j(b)._rgba;return j(a.map(c,function(a,b){return(1-d)*e[b]+d*a}))},toRgbaString:function(){var b="rgba(",c=a.map(this._rgba,function(a,b){return null==a?b>2?1:0:a});return 1===c[3]&&(c.pop(),b="rgb("),b+c.join()+")"},toHslaString:function(){var b="hsla(",c=a.map(this.hsla(),function(a,b){return null==a&&(a=b>2?1:0),b&&3>b&&(a=Math.round(100*a)+"%"),a});return 1===c[3]&&(c.pop(),b="hsl("),b+c.join()+")"},toHexString:function(b){var c=this._rgba.slice(),d=c.pop();return b&&c.push(~~(255*d)),"#"+a.map(c,function(a){return a=(a||0).toString(16),1===a.length?"0"+a:a}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),j.fn.parse.prototype=j.fn,k.hsla.to=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b,c,d=a[0]/255,e=a[1]/255,f=a[2]/255,g=a[3],h=Math.max(d,e,f),i=Math.min(d,e,f),j=h-i,k=h+i,l=.5*k;return b=i===h?0:d===h?60*(e-f)/j+360:e===h?60*(f-d)/j+120:60*(d-e)/j+240,c=0===j?0:.5>=l?j/k:j/(2-k),[Math.round(b)%360,c,l,null==g?1:g]},k.hsla.from=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b=a[0]/360,c=a[1],d=a[2],f=a[3],g=.5>=d?d*(1+c):d+c-d*c,h=2*d-g;return[Math.round(255*e(h,g,b+1/3)),Math.round(255*e(h,g,b)),Math.round(255*e(h,g,b-1/3)),f]},o(k,function(d,e){var f=e.props,g=e.cache,i=e.to,k=e.from;j.fn[d]=function(d){if(i&&!this[g]&&(this[g]=i(this._rgba)),d===b)return this[g].slice();var e,h=a.type(d),l="array"===h||"object"===h?d:arguments,m=this[g].slice();return o(f,function(a,b){var d=l["object"===h?a:b.idx];null==d&&(d=m[b.idx]),m[b.idx]=c(d,b)}),k?(e=j(k(m)),e[g]=m,e):j(m)},o(f,function(b,c){j.fn[b]||(j.fn[b]=function(e){var f,g=a.type(e),i="alpha"===b?this._hsla?"hsla":"rgba":d,j=this[i](),k=j[c.idx];return"undefined"===g?k:("function"===g&&(e=e.call(this,k),g=a.type(e)),null==e&&c.empty?this:("string"===g&&(f=h.exec(e),f&&(e=k+parseFloat(f[2])*("+"===f[1]?1:-1))),j[c.idx]=e,this[i](j)))})})}),j.hook=function(b){var c=b.split(" ");o(c,function(b,c){a.cssHooks[c]={set:function(b,e){var f,g,h="";if("transparent"!==e&&("string"!==a.type(e)||(f=d(e)))){if(e=j(f||e),!m.rgba&&1!==e._rgba[3]){for(g="backgroundColor"===c?b.parentNode:b;(""===h||"transparent"===h)&&g&&g.style;)try{h=a.css(g,"backgroundColor"),g=g.parentNode}catch(i){}e=e.blend(h&&"transparent"!==h?h:"_default")}e=e.toRgbaString()}try{b.style[c]=e}catch(i){}}},a.fx.step[c]=function(b){b.colorInit||(b.start=j(b.elem,c),b.end=j(b.end),b.colorInit=!0),a.cssHooks[c].set(b.elem,b.start.transition(b.end,b.pos))}})},j.hook(g),a.cssHooks.borderColor={expand:function(a){var b={};return o(["Top","Right","Bottom","Left"],function(c,d){b["border"+d+"Color"]=a}),b}},f=a.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"}}(c),function(){function b(b){var c,d,e=b.ownerDocument.defaultView?b.ownerDocument.defaultView.getComputedStyle(b,null):b.currentStyle,f={};if(e&&e.length&&e[0]&&e[e[0]])for(d=e.length;d--;)c=e[d],"string"==typeof e[c]&&(f[a.camelCase(c)]=e[c]);else for(c in e)"string"==typeof e[c]&&(f[c]=e[c]);return f}function d(b,c){var d,e,g={};for(d in c)e=c[d],b[d]!==e&&(f[d]||(a.fx.step[d]||!isNaN(parseFloat(e)))&&(g[d]=e));return g}var e=["add","remove","toggle"],f={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(b,d){a.fx.step[d]=function(a){("none"!==a.end&&!a.setAttr||1===a.pos&&!a.setAttr)&&(c.style(a.elem,d,a.end),a.setAttr=!0)}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a.effects.animateClass=function(c,f,g,h){var i=a.speed(f,g,h);return this.queue(function(){var f,g=a(this),h=g.attr("class")||"",j=i.children?g.find("*").addBack():g;j=j.map(function(){var c=a(this);return{el:c,start:b(this)}}),f=function(){a.each(e,function(a,b){c[b]&&g[b+"Class"](c[b])})},f(),j=j.map(function(){return this.end=b(this.el[0]),this.diff=d(this.start,this.end),this}),g.attr("class",h),j=j.map(function(){var b=this,c=a.Deferred(),d=a.extend({},i,{queue:!1,complete:function(){c.resolve(b)}});return this.el.animate(this.diff,d),c.promise()}),a.when.apply(a,j.get()).done(function(){f(),a.each(arguments,function(){var b=this.el;a.each(this.diff,function(a){b.css(a,"")})}),i.complete.call(g[0])})})},a.fn.extend({addClass:function(b){return function(c,d,e,f){return d?a.effects.animateClass.call(this,{add:c},d,e,f):b.apply(this,arguments)}}(a.fn.addClass),removeClass:function(b){return function(c,d,e,f){return arguments.length>1?a.effects.animateClass.call(this,{remove:c},d,e,f):b.apply(this,arguments)}}(a.fn.removeClass),toggleClass:function(b){return function(c,d,e,f,g){return"boolean"==typeof d||void 0===d?e?a.effects.animateClass.call(this,d?{add:c}:{remove:c},e,f,g):b.apply(this,arguments):a.effects.animateClass.call(this,{toggle:c},d,e,f)}}(a.fn.toggleClass),switchClass:function(b,c,d,e,f){return a.effects.animateClass.call(this,{add:c,remove:b},d,e,f)}})}(),function(){function c(b,c,d,e){return a.isPlainObject(b)&&(c=b,b=b.effect),b={effect:b},null==c&&(c={}),a.isFunction(c)&&(e=c,d=null,c={}),("number"==typeof c||a.fx.speeds[c])&&(e=d,d=c,c={}),a.isFunction(d)&&(e=d,d=null),c&&a.extend(b,c),d=d||c.duration,b.duration=a.fx.off?0:"number"==typeof d?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,b.complete=e||c.complete,b}function d(b){return!b||"number"==typeof b||a.fx.speeds[b]?!0:"string"!=typeof b||a.effects.effect[b]?a.isFunction(b)?!0:"object"!=typeof b||b.effect?!1:!0:!0}a.extend(a.effects,{version:"1.11.2",save:function(a,c){for(var d=0;d<c.length;d++)null!==c[d]&&a.data(b+c[d],a[0].style[c[d]])},restore:function(a,c){var d,e;for(e=0;e<c.length;e++)null!==c[e]&&(d=a.data(b+c[e]),void 0===d&&(d=""),a.css(c[e],d))},setMode:function(a,b){return"toggle"===b&&(b=a.is(":hidden")?"show":"hide"),b},getBaseline:function(a,b){var c,d;switch(a[0]){case"top":c=0;break;case"middle":c=.5;break;case"bottom":c=1;break;default:c=a[0]/b.height}switch(a[1]){case"left":d=0;break;case"center":d=.5;break;case"right":d=1;break;default:d=a[1]/b.width}return{x:d,y:c}},createWrapper:function(b){if(b.parent().is(".ui-effects-wrapper"))return b.parent();var c={width:b.outerWidth(!0),height:b.outerHeight(!0),"float":b.css("float")},d=a("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e={width:b.width(),height:b.height()},f=document.activeElement;try{f.id}catch(g){f=document.body}return b.wrap(d),(b[0]===f||a.contains(b[0],f))&&a(f).focus(),d=b.parent(),"static"===b.css("position")?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),b.css(e),d.css(c).show()},removeWrapper:function(b){var c=document.activeElement;return b.parent().is(".ui-effects-wrapper")&&(b.parent().replaceWith(b),(b[0]===c||a.contains(b[0],c))&&a(c).focus()),b},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(){function b(b){function c(){a.isFunction(f)&&f.call(e[0]),a.isFunction(b)&&b()}var e=a(this),f=d.complete,h=d.mode;(e.is(":hidden")?"hide"===h:"show"===h)?(e[h](),c()):g.call(e[0],d,c)}var d=c.apply(this,arguments),e=d.mode,f=d.queue,g=a.effects.effect[d.effect];return a.fx.off||!g?e?this[e](d.duration,d.complete):this.each(function(){d.complete&&d.complete.call(this)}):f===!1?this.each(b):this.queue(f||"fx",b)},show:function(a){return function(b){if(d(b))return a.apply(this,arguments);var e=c.apply(this,arguments);return e.mode="show",this.effect.call(this,e)}}(a.fn.show),hide:function(a){return function(b){if(d(b))return a.apply(this,arguments);var e=c.apply(this,arguments);return e.mode="hide",this.effect.call(this,e)}}(a.fn.hide),toggle:function(a){return function(b){if(d(b)||"boolean"==typeof b)return a.apply(this,arguments);var e=c.apply(this,arguments);return e.mode="toggle",this.effect.call(this,e)}}(a.fn.toggle),cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d}})}(),function(){var b={};a.each(["Quad","Cubic","Quart","Quint","Expo"],function(a,c){b[c]=function(b){return Math.pow(b,a+2)}}),a.extend(b,{Sine:function(a){return 1-Math.cos(a*Math.PI/2)},Circ:function(a){return 1-Math.sqrt(1-a*a)},Elastic:function(a){return 0===a||1===a?a:-Math.pow(2,8*(a-1))*Math.sin((80*(a-1)-7.5)*Math.PI/15)},Back:function(a){return a*a*(3*a-2)},Bounce:function(a){for(var b,c=4;a<((b=Math.pow(2,--c))-1)/11;);return 1/Math.pow(4,3-c)-7.5625*Math.pow((3*b-2)/22-a,2)}}),a.each(b,function(b,c){a.easing["easeIn"+b]=c,a.easing["easeOut"+b]=function(a){return 1-c(1-a)},a.easing["easeInOut"+b]=function(a){return.5>a?c(2*a)/2:1-c(-2*a+2)/2}})}(),a.effects});
\ No newline at end of file
+return a.effects={effect:{}},function(a,b){function c(a,b,c){var d=l[b.type]||{};return null==a?c||!b.def?null:b.def:(a=d.floor?~~a:parseFloat(a),isNaN(a)?b.def:d.mod?(a+d.mod)%d.mod:0>a?0:d.max<a?d.max:a)}function d(b){var c=j(),d=c._rgba=[];return b=b.toLowerCase(),o(i,function(a,e){var f,g=e.re.exec(b),h=g&&e.parse(g),i=e.space||"rgba";return h?(f=c[i](h),c[k[i].cache]=f[k[i].cache],d=c._rgba=f._rgba,!1):void 0}),d.length?("0,0,0,0"===d.join()&&a.extend(d,f.transparent),c):f[b]}function e(a,b,c){return c=(c+1)%1,1>6*c?a+(b-a)*c*6:1>2*c?b:2>3*c?a+(b-a)*(2/3-c)*6:a}var f,g="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",h=/^([\-+])=\s*(\d+\.?\d*)/,i=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(a){return[a[1],a[2],a[3],a[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(a){return[2.55*a[1],2.55*a[2],2.55*a[3],a[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(a){return[a[1],a[2]/100,a[3]/100,a[4]]}}],j=a.Color=function(b,c,d,e){return new a.Color.fn.parse(b,c,d,e)},k={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"}}}},l={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},m=j.support={},n=a("<p>")[0],o=a.each;n.style.cssText="background-color:rgba(1,1,1,.5)",m.rgba=n.style.backgroundColor.indexOf("rgba")>-1,o(k,function(a,b){b.cache="_"+a,b.props.alpha={idx:3,type:"percent",def:1}}),j.fn=a.extend(j.prototype,{parse:function(e,g,h,i){if(e===b)return this._rgba=[null,null,null,null],this;(e.jquery||e.nodeType)&&(e=a(e).css(g),g=b);var l=this,m=a.type(e),n=this._rgba=[];return g!==b&&(e=[e,g,h,i],m="array"),"string"===m?this.parse(d(e)||f._default):"array"===m?(o(k.rgba.props,function(a,b){n[b.idx]=c(e[b.idx],b)}),this):"object"===m?(e instanceof j?o(k,function(a,b){e[b.cache]&&(l[b.cache]=e[b.cache].slice())}):o(k,function(b,d){var f=d.cache;o(d.props,function(a,b){if(!l[f]&&d.to){if("alpha"===a||null==e[a])return;l[f]=d.to(l._rgba)}l[f][b.idx]=c(e[a],b,!0)}),l[f]&&a.inArray(null,l[f].slice(0,3))<0&&(l[f][3]=1,d.from&&(l._rgba=d.from(l[f])))}),this):void 0},is:function(a){var b=j(a),c=!0,d=this;return o(k,function(a,e){var f,g=b[e.cache];return g&&(f=d[e.cache]||e.to&&e.to(d._rgba)||[],o(e.props,function(a,b){return null!=g[b.idx]?c=g[b.idx]===f[b.idx]:void 0})),c}),c},_space:function(){var a=[],b=this;return o(k,function(c,d){b[d.cache]&&a.push(c)}),a.pop()},transition:function(a,b){var d=j(a),e=d._space(),f=k[e],g=0===this.alpha()?j("transparent"):this,h=g[f.cache]||f.to(g._rgba),i=h.slice();return d=d[f.cache],o(f.props,function(a,e){var f=e.idx,g=h[f],j=d[f],k=l[e.type]||{};null!==j&&(null===g?i[f]=j:(k.mod&&(j-g>k.mod/2?g+=k.mod:g-j>k.mod/2&&(g-=k.mod)),i[f]=c((j-g)*b+g,e)))}),this[e](i)},blend:function(b){if(1===this._rgba[3])return this;var c=this._rgba.slice(),d=c.pop(),e=j(b)._rgba;return j(a.map(c,function(a,b){return(1-d)*e[b]+d*a}))},toRgbaString:function(){var b="rgba(",c=a.map(this._rgba,function(a,b){return null==a?b>2?1:0:a});return 1===c[3]&&(c.pop(),b="rgb("),b+c.join()+")"},toHslaString:function(){var b="hsla(",c=a.map(this.hsla(),function(a,b){return null==a&&(a=b>2?1:0),b&&3>b&&(a=Math.round(100*a)+"%"),a});return 1===c[3]&&(c.pop(),b="hsl("),b+c.join()+")"},toHexString:function(b){var c=this._rgba.slice(),d=c.pop();return b&&c.push(~~(255*d)),"#"+a.map(c,function(a){return a=(a||0).toString(16),1===a.length?"0"+a:a}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),j.fn.parse.prototype=j.fn,k.hsla.to=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b,c,d=a[0]/255,e=a[1]/255,f=a[2]/255,g=a[3],h=Math.max(d,e,f),i=Math.min(d,e,f),j=h-i,k=h+i,l=.5*k;return b=i===h?0:d===h?60*(e-f)/j+360:e===h?60*(f-d)/j+120:60*(d-e)/j+240,c=0===j?0:.5>=l?j/k:j/(2-k),[Math.round(b)%360,c,l,null==g?1:g]},k.hsla.from=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b=a[0]/360,c=a[1],d=a[2],f=a[3],g=.5>=d?d*(1+c):d+c-d*c,h=2*d-g;return[Math.round(255*e(h,g,b+1/3)),Math.round(255*e(h,g,b)),Math.round(255*e(h,g,b-1/3)),f]},o(k,function(d,e){var f=e.props,g=e.cache,i=e.to,k=e.from;j.fn[d]=function(d){if(i&&!this[g]&&(this[g]=i(this._rgba)),d===b)return this[g].slice();var e,h=a.type(d),l="array"===h||"object"===h?d:arguments,m=this[g].slice();return o(f,function(a,b){var d=l["object"===h?a:b.idx];null==d&&(d=m[b.idx]),m[b.idx]=c(d,b)}),k?(e=j(k(m)),e[g]=m,e):j(m)},o(f,function(b,c){j.fn[b]||(j.fn[b]=function(e){var f,g=a.type(e),i="alpha"===b?this._hsla?"hsla":"rgba":d,j=this[i](),k=j[c.idx];return"undefined"===g?k:("function"===g&&(e=e.call(this,k),g=a.type(e)),null==e&&c.empty?this:("string"===g&&(f=h.exec(e),f&&(e=k+parseFloat(f[2])*("+"===f[1]?1:-1))),j[c.idx]=e,this[i](j)))})})}),j.hook=function(b){var c=b.split(" ");o(c,function(b,c){a.cssHooks[c]={set:function(b,e){var f,g,h="";if("transparent"!==e&&("string"!==a.type(e)||(f=d(e)))){if(e=j(f||e),!m.rgba&&1!==e._rgba[3]){for(g="backgroundColor"===c?b.parentNode:b;(""===h||"transparent"===h)&&g&&g.style;)try{h=a.css(g,"backgroundColor"),g=g.parentNode}catch(i){}e=e.blend(h&&"transparent"!==h?h:"_default")}e=e.toRgbaString()}try{b.style[c]=e}catch(i){}}},a.fx.step[c]=function(b){b.colorInit||(b.start=j(b.elem,c),b.end=j(b.end),b.colorInit=!0),a.cssHooks[c].set(b.elem,b.start.transition(b.end,b.pos))}})},j.hook(g),a.cssHooks.borderColor={expand:function(a){var b={};return o(["Top","Right","Bottom","Left"],function(c,d){b["border"+d+"Color"]=a}),b}},f=a.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"}}(c),function(){function b(b){var c,d,e=b.ownerDocument.defaultView?b.ownerDocument.defaultView.getComputedStyle(b,null):b.currentStyle,f={};if(e&&e.length&&e[0]&&e[e[0]])for(d=e.length;d--;)c=e[d],"string"==typeof e[c]&&(f[a.camelCase(c)]=e[c]);else for(c in e)"string"==typeof e[c]&&(f[c]=e[c]);return f}function d(b,c){var d,e,g={};for(d in c)e=c[d],b[d]!==e&&(f[d]||(a.fx.step[d]||!isNaN(parseFloat(e)))&&(g[d]=e));return g}var e=["add","remove","toggle"],f={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(b,d){a.fx.step[d]=function(a){("none"!==a.end&&!a.setAttr||1===a.pos&&!a.setAttr)&&(c.style(a.elem,d,a.end),a.setAttr=!0)}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a.effects.animateClass=function(c,f,g,h){var i=a.speed(f,g,h);return this.queue(function(){var f,g=a(this),h=g.attr("class")||"",j=i.children?g.find("*").addBack():g;j=j.map(function(){var c=a(this);return{el:c,start:b(this)}}),f=function(){a.each(e,function(a,b){c[b]&&g[b+"Class"](c[b])})},f(),j=j.map(function(){return this.end=b(this.el[0]),this.diff=d(this.start,this.end),this}),g.attr("class",h),j=j.map(function(){var b=this,c=a.Deferred(),d=a.extend({},i,{queue:!1,complete:function(){c.resolve(b)}});return this.el.animate(this.diff,d),c.promise()}),a.when.apply(a,j.get()).done(function(){f(),a.each(arguments,function(){var b=this.el;a.each(this.diff,function(a){b.css(a,"")})}),i.complete.call(g[0])})})},a.fn.extend({addClass:function(b){return function(c,d,e,f){return d?a.effects.animateClass.call(this,{add:c},d,e,f):b.apply(this,arguments)}}(a.fn.addClass),removeClass:function(b){return function(c,d,e,f){return arguments.length>1?a.effects.animateClass.call(this,{remove:c},d,e,f):b.apply(this,arguments)}}(a.fn.removeClass),toggleClass:function(b){return function(c,d,e,f,g){return"boolean"==typeof d||void 0===d?e?a.effects.animateClass.call(this,d?{add:c}:{remove:c},e,f,g):b.apply(this,arguments):a.effects.animateClass.call(this,{toggle:c},d,e,f)}}(a.fn.toggleClass),switchClass:function(b,c,d,e,f){return a.effects.animateClass.call(this,{add:c,remove:b},d,e,f)}})}(),function(){function c(b,c,d,e){return a.isPlainObject(b)&&(c=b,b=b.effect),b={effect:b},null==c&&(c={}),a.isFunction(c)&&(e=c,d=null,c={}),("number"==typeof c||a.fx.speeds[c])&&(e=d,d=c,c={}),a.isFunction(d)&&(e=d,d=null),c&&a.extend(b,c),d=d||c.duration,b.duration=a.fx.off?0:"number"==typeof d?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,b.complete=e||c.complete,b}function d(b){return!b||"number"==typeof b||a.fx.speeds[b]?!0:"string"!=typeof b||a.effects.effect[b]?a.isFunction(b)?!0:"object"!=typeof b||b.effect?!1:!0:!0}a.extend(a.effects,{version:"1.11.4",save:function(a,c){for(var d=0;d<c.length;d++)null!==c[d]&&a.data(b+c[d],a[0].style[c[d]])},restore:function(a,c){var d,e;for(e=0;e<c.length;e++)null!==c[e]&&(d=a.data(b+c[e]),void 0===d&&(d=""),a.css(c[e],d))},setMode:function(a,b){return"toggle"===b&&(b=a.is(":hidden")?"show":"hide"),b},getBaseline:function(a,b){var c,d;switch(a[0]){case"top":c=0;break;case"middle":c=.5;break;case"bottom":c=1;break;default:c=a[0]/b.height}switch(a[1]){case"left":d=0;break;case"center":d=.5;break;case"right":d=1;break;default:d=a[1]/b.width}return{x:d,y:c}},createWrapper:function(b){if(b.parent().is(".ui-effects-wrapper"))return b.parent();var c={width:b.outerWidth(!0),height:b.outerHeight(!0),"float":b.css("float")},d=a("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e={width:b.width(),height:b.height()},f=document.activeElement;try{f.id}catch(g){f=document.body}return b.wrap(d),(b[0]===f||a.contains(b[0],f))&&a(f).focus(),d=b.parent(),"static"===b.css("position")?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),b.css(e),d.css(c).show()},removeWrapper:function(b){var c=document.activeElement;return b.parent().is(".ui-effects-wrapper")&&(b.parent().replaceWith(b),(b[0]===c||a.contains(b[0],c))&&a(c).focus()),b},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(){function b(b){function c(){a.isFunction(f)&&f.call(e[0]),a.isFunction(b)&&b()}var e=a(this),f=d.complete,h=d.mode;(e.is(":hidden")?"hide"===h:"show"===h)?(e[h](),c()):g.call(e[0],d,c)}var d=c.apply(this,arguments),e=d.mode,f=d.queue,g=a.effects.effect[d.effect];return a.fx.off||!g?e?this[e](d.duration,d.complete):this.each(function(){d.complete&&d.complete.call(this)}):f===!1?this.each(b):this.queue(f||"fx",b)},show:function(a){return function(b){if(d(b))return a.apply(this,arguments);var e=c.apply(this,arguments);return e.mode="show",this.effect.call(this,e)}}(a.fn.show),hide:function(a){return function(b){if(d(b))return a.apply(this,arguments);var e=c.apply(this,arguments);return e.mode="hide",this.effect.call(this,e)}}(a.fn.hide),toggle:function(a){return function(b){if(d(b)||"boolean"==typeof b)return a.apply(this,arguments);var e=c.apply(this,arguments);return e.mode="toggle",this.effect.call(this,e)}}(a.fn.toggle),cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d}})}(),function(){var b={};a.each(["Quad","Cubic","Quart","Quint","Expo"],function(a,c){b[c]=function(b){return Math.pow(b,a+2)}}),a.extend(b,{Sine:function(a){return 1-Math.cos(a*Math.PI/2)},Circ:function(a){return 1-Math.sqrt(1-a*a)},Elastic:function(a){return 0===a||1===a?a:-Math.pow(2,8*(a-1))*Math.sin((80*(a-1)-7.5)*Math.PI/15)},Back:function(a){return a*a*(3*a-2)},Bounce:function(a){for(var b,c=4;a<((b=Math.pow(2,--c))-1)/11;);return 1/Math.pow(4,3-c)-7.5625*Math.pow((3*b-2)/22-a,2)}}),a.each(b,function(b,c){a.easing["easeIn"+b]=c,a.easing["easeOut"+b]=function(a){return 1-c(1-a)},a.easing["easeInOut"+b]=function(a){return.5>a?c(2*a)/2:1-c(-2*a+2)/2}})}(),a.effects});
\ No newline at end of file
index e0f30a379ebdb23dccd21509f447cb763b8f4ebf..a63df1729992558fc8d367f54a510e15d40b70fb 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Menu 1.11.2
+ * jQuery UI Menu 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/menu/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget","./position"],a):a(jQuery)}(function(a){return a.widget("ui.menu",{version:"1.11.2",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},items:"> *",menus:"ul",position:{my:"left-1 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").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item":function(a){a.preventDefault()},"click .ui-menu-item":function(b){var c=a(b.target);!this.mouseHandled&&c.not(".ui-state-disabled").length&&(this.select(b),b.isPropagationStopped()||(this.mouseHandled=!0),c.has(".ui-menu").length?this.expand(b):!this.element.is(":focus")&&a(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(b){if(!this.previousFilter){var c=a(b.currentTarget);c.siblings(".ui-state-active").removeClass("ui-state-active"),this.focus(b,c)}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(a,b){var c=this.active||this.element.find(this.options.items).eq(0);b||this.focus(a,c)},blur:function(b){this._delay(function(){a.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(b)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(a){this._closeOnDocumentClick(a)&&this.collapseAll(a),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-menu-icons ui-front").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").removeUniqueId().removeClass("ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var b=a(this);b.data("ui-menu-submenu-carat")&&b.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(b){var c,d,e,f,g=!0;switch(b.keyCode){case a.ui.keyCode.PAGE_UP:this.previousPage(b);break;case a.ui.keyCode.PAGE_DOWN:this.nextPage(b);break;case a.ui.keyCode.HOME:this._move("first","first",b);break;case a.ui.keyCode.END:this._move("last","last",b);break;case a.ui.keyCode.UP:this.previous(b);break;case a.ui.keyCode.DOWN:this.next(b);break;case a.ui.keyCode.LEFT:this.collapse(b);break;case a.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(b);break;case a.ui.keyCode.ENTER:case a.ui.keyCode.SPACE:this._activate(b);break;case a.ui.keyCode.ESCAPE:this.collapse(b);break;default:g=!1,d=this.previousFilter||"",e=String.fromCharCode(b.keyCode),f=!1,clearTimeout(this.filterTimer),e===d?f=!0:e=d+e,c=this._filterMenuItems(e),c=f&&-1!==c.index(this.active.next())?this.active.nextAll(".ui-menu-item"):c,c.length||(e=String.fromCharCode(b.keyCode),c=this._filterMenuItems(e)),c.length?(this.focus(b,c),this.previousFilter=e,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}g&&b.preventDefault()},_activate:function(a){this.active.is(".ui-state-disabled")||(this.active.is("[aria-haspopup='true']")?this.expand(a):this.select(a))},refresh:function(){var b,c,d=this,e=this.options.icons.submenu,f=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),f.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-front").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var b=a(this),c=b.parent(),d=a("<span>").addClass("ui-menu-icon ui-icon "+e).data("ui-menu-submenu-carat",!0);c.attr("aria-haspopup","true").prepend(d),b.attr("aria-labelledby",c.attr("id"))}),b=f.add(this.element),c=b.find(this.options.items),c.not(".ui-menu-item").each(function(){var b=a(this);d._isDivider(b)&&b.addClass("ui-widget-content ui-menu-divider")}),c.not(".ui-menu-item, .ui-menu-divider").addClass("ui-menu-item").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),c.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!a.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(a,b){"icons"===a&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(b.submenu),"disabled"===a&&this.element.toggleClass("ui-state-disabled",!!b).attr("aria-disabled",b),this._super(a,b)},focus:function(a,b){var c,d;this.blur(a,a&&"focus"===a.type),this._scrollIntoView(b),this.active=b.first(),d=this.active.addClass("ui-state-focus").removeClass("ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",d.attr("id")),this.active.parent().closest(".ui-menu-item").addClass("ui-state-active"),a&&"keydown"===a.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),c=b.children(".ui-menu"),c.length&&a&&/^mouse/.test(a.type)&&this._startOpening(c),this.activeMenu=b.parent(),this._trigger("focus",a,{item:b})},_scrollIntoView:function(b){var c,d,e,f,g,h;this._hasScroll()&&(c=parseFloat(a.css(this.activeMenu[0],"borderTopWidth"))||0,d=parseFloat(a.css(this.activeMenu[0],"paddingTop"))||0,e=b.offset().top-this.activeMenu.offset().top-c-d,f=this.activeMenu.scrollTop(),g=this.activeMenu.height(),h=b.outerHeight(),0>e?this.activeMenu.scrollTop(f+e):e+h>g&&this.activeMenu.scrollTop(f+e-g+h))},blur:function(a,b){b||clearTimeout(this.timer),this.active&&(this.active.removeClass("ui-state-focus"),this.active=null,this._trigger("blur",a,{item:this.active}))},_startOpening:function(a){clearTimeout(this.timer),"true"===a.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(a)},this.delay))},_open:function(b){var c=a.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(b.parents(".ui-menu")).hide().attr("aria-hidden","true"),b.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(c)},collapseAll:function(b,c){clearTimeout(this.timer),this.timer=this._delay(function(){var d=c?this.element:a(b&&b.target).closest(this.element.find(".ui-menu"));d.length||(d=this.element),this._close(d),this.blur(b),this.activeMenu=d},this.delay)},_close:function(a){a||(a=this.active?this.active.parent():this.element),a.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find(".ui-state-active").not(".ui-state-focus").removeClass("ui-state-active")},_closeOnDocumentClick:function(b){return!a(b.target).closest(".ui-menu").length},_isDivider:function(a){return!/[^\-\u2014\u2013\s]/.test(a.text())},collapse:function(a){var b=this.active&&this.active.parent().closest(".ui-menu-item",this.element);b&&b.length&&(this._close(),this.focus(a,b))},expand:function(a){var b=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();b&&b.length&&(this._open(b.parent()),this._delay(function(){this.focus(a,b)}))},next:function(a){this._move("next","first",a)},previous:function(a){this._move("prev","last",a)},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(a,b,c){var d;this.active&&(d="first"===a||"last"===a?this.active["first"===a?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[a+"All"](".ui-menu-item").eq(0)),d&&d.length&&this.active||(d=this.activeMenu.find(this.options.items)[b]()),this.focus(c,d)},nextPage:function(b){var c,d,e;return this.active?void(this.isLastItem()||(this._hasScroll()?(d=this.active.offset().top,e=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return c=a(this),c.offset().top-d-e<0}),this.focus(b,c)):this.focus(b,this.activeMenu.find(this.options.items)[this.active?"last":"first"]()))):void this.next(b)},previousPage:function(b){var c,d,e;return this.active?void(this.isFirstItem()||(this._hasScroll()?(d=this.active.offset().top,e=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return c=a(this),c.offset().top-d+e>0}),this.focus(b,c)):this.focus(b,this.activeMenu.find(this.options.items).first()))):void this.next(b)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(b){this.active=this.active||a(b.target).closest(".ui-menu-item");var c={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(b,!0),this._trigger("select",b,c)},_filterMenuItems:function(b){var c=b.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),d=new RegExp("^"+c,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return d.test(a.trim(a(this).text()))})}})});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget","./position"],a):a(jQuery)}(function(a){return a.widget("ui.menu",{version:"1.11.4",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},items:"> *",menus:"ul",position:{my:"left-1 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").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item":function(a){a.preventDefault()},"click .ui-menu-item":function(b){var c=a(b.target);!this.mouseHandled&&c.not(".ui-state-disabled").length&&(this.select(b),b.isPropagationStopped()||(this.mouseHandled=!0),c.has(".ui-menu").length?this.expand(b):!this.element.is(":focus")&&a(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(b){if(!this.previousFilter){var c=a(b.currentTarget);c.siblings(".ui-state-active").removeClass("ui-state-active"),this.focus(b,c)}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(a,b){var c=this.active||this.element.find(this.options.items).eq(0);b||this.focus(a,c)},blur:function(b){this._delay(function(){a.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(b)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(a){this._closeOnDocumentClick(a)&&this.collapseAll(a),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-menu-icons ui-front").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").removeUniqueId().removeClass("ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var b=a(this);b.data("ui-menu-submenu-carat")&&b.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(b){var c,d,e,f,g=!0;switch(b.keyCode){case a.ui.keyCode.PAGE_UP:this.previousPage(b);break;case a.ui.keyCode.PAGE_DOWN:this.nextPage(b);break;case a.ui.keyCode.HOME:this._move("first","first",b);break;case a.ui.keyCode.END:this._move("last","last",b);break;case a.ui.keyCode.UP:this.previous(b);break;case a.ui.keyCode.DOWN:this.next(b);break;case a.ui.keyCode.LEFT:this.collapse(b);break;case a.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(b);break;case a.ui.keyCode.ENTER:case a.ui.keyCode.SPACE:this._activate(b);break;case a.ui.keyCode.ESCAPE:this.collapse(b);break;default:g=!1,d=this.previousFilter||"",e=String.fromCharCode(b.keyCode),f=!1,clearTimeout(this.filterTimer),e===d?f=!0:e=d+e,c=this._filterMenuItems(e),c=f&&-1!==c.index(this.active.next())?this.active.nextAll(".ui-menu-item"):c,c.length||(e=String.fromCharCode(b.keyCode),c=this._filterMenuItems(e)),c.length?(this.focus(b,c),this.previousFilter=e,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}g&&b.preventDefault()},_activate:function(a){this.active.is(".ui-state-disabled")||(this.active.is("[aria-haspopup='true']")?this.expand(a):this.select(a))},refresh:function(){var b,c,d=this,e=this.options.icons.submenu,f=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),f.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-front").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var b=a(this),c=b.parent(),d=a("<span>").addClass("ui-menu-icon ui-icon "+e).data("ui-menu-submenu-carat",!0);c.attr("aria-haspopup","true").prepend(d),b.attr("aria-labelledby",c.attr("id"))}),b=f.add(this.element),c=b.find(this.options.items),c.not(".ui-menu-item").each(function(){var b=a(this);d._isDivider(b)&&b.addClass("ui-widget-content ui-menu-divider")}),c.not(".ui-menu-item, .ui-menu-divider").addClass("ui-menu-item").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),c.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!a.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(a,b){"icons"===a&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(b.submenu),"disabled"===a&&this.element.toggleClass("ui-state-disabled",!!b).attr("aria-disabled",b),this._super(a,b)},focus:function(a,b){var c,d;this.blur(a,a&&"focus"===a.type),this._scrollIntoView(b),this.active=b.first(),d=this.active.addClass("ui-state-focus").removeClass("ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",d.attr("id")),this.active.parent().closest(".ui-menu-item").addClass("ui-state-active"),a&&"keydown"===a.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),c=b.children(".ui-menu"),c.length&&a&&/^mouse/.test(a.type)&&this._startOpening(c),this.activeMenu=b.parent(),this._trigger("focus",a,{item:b})},_scrollIntoView:function(b){var c,d,e,f,g,h;this._hasScroll()&&(c=parseFloat(a.css(this.activeMenu[0],"borderTopWidth"))||0,d=parseFloat(a.css(this.activeMenu[0],"paddingTop"))||0,e=b.offset().top-this.activeMenu.offset().top-c-d,f=this.activeMenu.scrollTop(),g=this.activeMenu.height(),h=b.outerHeight(),0>e?this.activeMenu.scrollTop(f+e):e+h>g&&this.activeMenu.scrollTop(f+e-g+h))},blur:function(a,b){b||clearTimeout(this.timer),this.active&&(this.active.removeClass("ui-state-focus"),this.active=null,this._trigger("blur",a,{item:this.active}))},_startOpening:function(a){clearTimeout(this.timer),"true"===a.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(a)},this.delay))},_open:function(b){var c=a.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(b.parents(".ui-menu")).hide().attr("aria-hidden","true"),b.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(c)},collapseAll:function(b,c){clearTimeout(this.timer),this.timer=this._delay(function(){var d=c?this.element:a(b&&b.target).closest(this.element.find(".ui-menu"));d.length||(d=this.element),this._close(d),this.blur(b),this.activeMenu=d},this.delay)},_close:function(a){a||(a=this.active?this.active.parent():this.element),a.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find(".ui-state-active").not(".ui-state-focus").removeClass("ui-state-active")},_closeOnDocumentClick:function(b){return!a(b.target).closest(".ui-menu").length},_isDivider:function(a){return!/[^\-\u2014\u2013\s]/.test(a.text())},collapse:function(a){var b=this.active&&this.active.parent().closest(".ui-menu-item",this.element);b&&b.length&&(this._close(),this.focus(a,b))},expand:function(a){var b=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();b&&b.length&&(this._open(b.parent()),this._delay(function(){this.focus(a,b)}))},next:function(a){this._move("next","first",a)},previous:function(a){this._move("prev","last",a)},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(a,b,c){var d;this.active&&(d="first"===a||"last"===a?this.active["first"===a?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[a+"All"](".ui-menu-item").eq(0)),d&&d.length&&this.active||(d=this.activeMenu.find(this.options.items)[b]()),this.focus(c,d)},nextPage:function(b){var c,d,e;return this.active?void(this.isLastItem()||(this._hasScroll()?(d=this.active.offset().top,e=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return c=a(this),c.offset().top-d-e<0}),this.focus(b,c)):this.focus(b,this.activeMenu.find(this.options.items)[this.active?"last":"first"]()))):void this.next(b)},previousPage:function(b){var c,d,e;return this.active?void(this.isFirstItem()||(this._hasScroll()?(d=this.active.offset().top,e=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return c=a(this),c.offset().top-d+e>0}),this.focus(b,c)):this.focus(b,this.activeMenu.find(this.options.items).first()))):void this.next(b)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(b){this.active=this.active||a(b.target).closest(".ui-menu-item");var c={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(b,!0),this._trigger("select",b,c)},_filterMenuItems:function(b){var c=b.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),d=new RegExp("^"+c,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return d.test(a.trim(a(this).text()))})}})});
\ No newline at end of file
index d2de4e040be69585755cec18e703b91ee8e8e488..f8f5331de096a58dce38cef9c0599ead77fc796b 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Mouse 1.11.2
+ * jQuery UI Mouse 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/mouse/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./widget"],a):a(jQuery)}(function(a){var b=!1;return a(document).mouseup(function(){b=!1}),a.widget("ui.mouse",{version:"1.11.2",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){return!0===a.data(c.target,b.widgetName+".preventClickEvent")?(a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(c){if(!b){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(c),this._mouseDownEvent=c;var d=this,e=1===c.which,f="string"==typeof this.options.cancel&&c.target.nodeName?a(c.target).closest(this.options.cancel).length:!1;return e&&!f&&this._mouseCapture(c)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(c)&&this._mouseDelayMet(c)&&(this._mouseStarted=this._mouseStart(c)!==!1,!this._mouseStarted)?(c.preventDefault(),!0):(!0===a.data(c.target,this.widgetName+".preventClickEvent")&&a.removeData(c.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),c.preventDefault(),b=!0,!0)):!0}},_mouseMove:function(b){if(this._mouseMoved){if(a.ui.ie&&(!document.documentMode||document.documentMode<9)&&!b.button)return this._mouseUp(b);if(!b.which)return this._mouseUp(b)}return(b.which||b.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted)},_mouseUp:function(c){return this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,c.target===this._mouseDownEvent.target&&a.data(c.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(c)),b=!1,!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./widget"],a):a(jQuery)}(function(a){var b=!1;return a(document).mouseup(function(){b=!1}),a.widget("ui.mouse",{version:"1.11.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(a){return b._mouseDown(a)}).bind("click."+this.widgetName,function(c){return!0===a.data(c.target,b.widgetName+".preventClickEvent")?(a.removeData(c.target,b.widgetName+".preventClickEvent"),c.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(c){if(!b){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(c),this._mouseDownEvent=c;var d=this,e=1===c.which,f="string"==typeof this.options.cancel&&c.target.nodeName?a(c.target).closest(this.options.cancel).length:!1;return e&&!f&&this._mouseCapture(c)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){d.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(c)&&this._mouseDelayMet(c)&&(this._mouseStarted=this._mouseStart(c)!==!1,!this._mouseStarted)?(c.preventDefault(),!0):(!0===a.data(c.target,this.widgetName+".preventClickEvent")&&a.removeData(c.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(a){return d._mouseMove(a)},this._mouseUpDelegate=function(a){return d._mouseUp(a)},this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),c.preventDefault(),b=!0,!0)):!0}},_mouseMove:function(b){if(this._mouseMoved){if(a.ui.ie&&(!document.documentMode||document.documentMode<9)&&!b.button)return this._mouseUp(b);if(!b.which)return this._mouseUp(b)}return(b.which||b.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted)},_mouseUp:function(c){return this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,c.target===this._mouseDownEvent.target&&a.data(c.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(c)),b=!1,!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})});
\ No newline at end of file
index cfeb4748f93c7291d353e0c251bf98e7d08c39d5..a0fa27577a0afd553e63e3d0f3fc94f54cd7fa5f 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Position 1.11.2
+ * jQuery UI Position 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/position/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){return function(){function b(a,b,c){return[parseFloat(a[0])*(n.test(a[0])?b/100:1),parseFloat(a[1])*(n.test(a[1])?c/100:1)]}function c(b,c){return parseInt(a.css(b,c),10)||0}function d(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}a.ui=a.ui||{};var e,f,g=Math.max,h=Math.abs,i=Math.round,j=/left|center|right/,k=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,m=/^\w+/,n=/%$/,o=a.fn.position;a.position={scrollbarWidth:function(){if(void 0!==e)return e;var b,c,d=a("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),f=d.children()[0];return a("body").append(d),b=f.offsetWidth,d.css("overflow","scroll"),c=f.offsetWidth,b===c&&(c=d[0].clientWidth),d.remove(),e=b-c},getScrollInfo:function(b){var c=b.isWindow||b.isDocument?"":b.element.css("overflow-x"),d=b.isWindow||b.isDocument?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.width<b.element[0].scrollWidth,f="scroll"===d||"auto"===d&&b.height<b.element[0].scrollHeight;return{width:f?a.position.scrollbarWidth():0,height:e?a.position.scrollbarWidth():0}},getWithinInfo:function(b){var c=a(b||window),d=a.isWindow(c[0]),e=!!c[0]&&9===c[0].nodeType;return{element:c,isWindow:d,isDocument:e,offset:c.offset()||{left:0,top:0},scrollLeft:c.scrollLeft(),scrollTop:c.scrollTop(),width:d||e?c.width():c.outerWidth(),height:d||e?c.height():c.outerHeight()}}},a.fn.position=function(e){if(!e||!e.of)return o.apply(this,arguments);e=a.extend({},e);var n,p,q,r,s,t,u=a(e.of),v=a.position.getWithinInfo(e.within),w=a.position.getScrollInfo(v),x=(e.collision||"flip").split(" "),y={};return t=d(u),u[0].preventDefault&&(e.at="left top"),p=t.width,q=t.height,r=t.offset,s=a.extend({},r),a.each(["my","at"],function(){var a,b,c=(e[this]||"").split(" ");1===c.length&&(c=j.test(c[0])?c.concat(["center"]):k.test(c[0])?["center"].concat(c):["center","center"]),c[0]=j.test(c[0])?c[0]:"center",c[1]=k.test(c[1])?c[1]:"center",a=l.exec(c[0]),b=l.exec(c[1]),y[this]=[a?a[0]:0,b?b[0]:0],e[this]=[m.exec(c[0])[0],m.exec(c[1])[0]]}),1===x.length&&(x[1]=x[0]),"right"===e.at[0]?s.left+=p:"center"===e.at[0]&&(s.left+=p/2),"bottom"===e.at[1]?s.top+=q:"center"===e.at[1]&&(s.top+=q/2),n=b(y.at,p,q),s.left+=n[0],s.top+=n[1],this.each(function(){var d,j,k=a(this),l=k.outerWidth(),m=k.outerHeight(),o=c(this,"marginLeft"),t=c(this,"marginTop"),z=l+o+c(this,"marginRight")+w.width,A=m+t+c(this,"marginBottom")+w.height,B=a.extend({},s),C=b(y.my,k.outerWidth(),k.outerHeight());"right"===e.my[0]?B.left-=l:"center"===e.my[0]&&(B.left-=l/2),"bottom"===e.my[1]?B.top-=m:"center"===e.my[1]&&(B.top-=m/2),B.left+=C[0],B.top+=C[1],f||(B.left=i(B.left),B.top=i(B.top)),d={marginLeft:o,marginTop:t},a.each(["left","top"],function(b,c){a.ui.position[x[b]]&&a.ui.position[x[b]][c](B,{targetWidth:p,targetHeight:q,elemWidth:l,elemHeight:m,collisionPosition:d,collisionWidth:z,collisionHeight:A,offset:[n[0]+C[0],n[1]+C[1]],my:e.my,at:e.at,within:v,elem:k})}),e.using&&(j=function(a){var b=r.left-B.left,c=b+p-l,d=r.top-B.top,f=d+q-m,i={target:{element:u,left:r.left,top:r.top,width:p,height:q},element:{element:k,left:B.left,top:B.top,width:l,height:m},horizontal:0>c?"left":b>0?"right":"center",vertical:0>f?"top":d>0?"bottom":"middle"};l>p&&h(b+c)<p&&(i.horizontal="center"),m>q&&h(d+f)<q&&(i.vertical="middle"),i.important=g(h(b),h(c))>g(h(d),h(f))?"horizontal":"vertical",e.using.call(this,a,i)}),k.offset(a.extend(B,{using:j}))})},a.ui.position={fit:{left:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollLeft:d.offset.left,f=d.width,h=a.left-b.collisionPosition.marginLeft,i=e-h,j=h+b.collisionWidth-f-e;b.collisionWidth>f?i>0&&0>=j?(c=a.left+i+b.collisionWidth-f-e,a.left+=i-c):a.left=j>0&&0>=i?e:i>j?e+f-b.collisionWidth:e:i>0?a.left+=i:j>0?a.left-=j:a.left=g(a.left-h,a.left)},top:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollTop:d.offset.top,f=b.within.height,h=a.top-b.collisionPosition.marginTop,i=e-h,j=h+b.collisionHeight-f-e;b.collisionHeight>f?i>0&&0>=j?(c=a.top+i+b.collisionHeight-f-e,a.top+=i-c):a.top=j>0&&0>=i?e:i>j?e+f-b.collisionHeight:e:i>0?a.top+=i:j>0?a.top-=j:a.top=g(a.top-h,a.top)}},flip:{left:function(a,b){var c,d,e=b.within,f=e.offset.left+e.scrollLeft,g=e.width,i=e.isWindow?e.scrollLeft:e.offset.left,j=a.left-b.collisionPosition.marginLeft,k=j-i,l=j+b.collisionWidth-g-i,m="left"===b.my[0]?-b.elemWidth:"right"===b.my[0]?b.elemWidth:0,n="left"===b.at[0]?b.targetWidth:"right"===b.at[0]?-b.targetWidth:0,o=-2*b.offset[0];0>k?(c=a.left+m+n+o+b.collisionWidth-g-f,(0>c||c<h(k))&&(a.left+=m+n+o)):l>0&&(d=a.left-b.collisionPosition.marginLeft+m+n+o-i,(d>0||h(d)<l)&&(a.left+=m+n+o))},top:function(a,b){var c,d,e=b.within,f=e.offset.top+e.scrollTop,g=e.height,i=e.isWindow?e.scrollTop:e.offset.top,j=a.top-b.collisionPosition.marginTop,k=j-i,l=j+b.collisionHeight-g-i,m="top"===b.my[1],n=m?-b.elemHeight:"bottom"===b.my[1]?b.elemHeight:0,o="top"===b.at[1]?b.targetHeight:"bottom"===b.at[1]?-b.targetHeight:0,p=-2*b.offset[1];0>k?(d=a.top+n+o+p+b.collisionHeight-g-f,a.top+n+o+p>k&&(0>d||d<h(k))&&(a.top+=n+o+p)):l>0&&(c=a.top-b.collisionPosition.marginTop+n+o+p-i,a.top+n+o+p>l&&(c>0||h(c)<l)&&(a.top+=n+o+p))}},flipfit:{left:function(){a.ui.position.flip.left.apply(this,arguments),a.ui.position.fit.left.apply(this,arguments)},top:function(){a.ui.position.flip.top.apply(this,arguments),a.ui.position.fit.top.apply(this,arguments)}}},function(){var b,c,d,e,g,h=document.getElementsByTagName("body")[0],i=document.createElement("div");b=document.createElement(h?"div":"body"),d={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},h&&a.extend(d,{position:"absolute",left:"-1000px",top:"-1000px"});for(g in d)b.style[g]=d[g];b.appendChild(i),c=h||document.documentElement,c.insertBefore(b,c.firstChild),i.style.cssText="position: absolute; left: 10.7432222px;",e=a(i).offset().left,f=e>10&&11>e,b.innerHTML="",c.removeChild(b)}()}(),a.ui.position});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){return function(){function b(a,b,c){return[parseFloat(a[0])*(n.test(a[0])?b/100:1),parseFloat(a[1])*(n.test(a[1])?c/100:1)]}function c(b,c){return parseInt(a.css(b,c),10)||0}function d(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}a.ui=a.ui||{};var e,f,g=Math.max,h=Math.abs,i=Math.round,j=/left|center|right/,k=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,m=/^\w+/,n=/%$/,o=a.fn.position;a.position={scrollbarWidth:function(){if(void 0!==e)return e;var b,c,d=a("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),f=d.children()[0];return a("body").append(d),b=f.offsetWidth,d.css("overflow","scroll"),c=f.offsetWidth,b===c&&(c=d[0].clientWidth),d.remove(),e=b-c},getScrollInfo:function(b){var c=b.isWindow||b.isDocument?"":b.element.css("overflow-x"),d=b.isWindow||b.isDocument?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.width<b.element[0].scrollWidth,f="scroll"===d||"auto"===d&&b.height<b.element[0].scrollHeight;return{width:f?a.position.scrollbarWidth():0,height:e?a.position.scrollbarWidth():0}},getWithinInfo:function(b){var c=a(b||window),d=a.isWindow(c[0]),e=!!c[0]&&9===c[0].nodeType;return{element:c,isWindow:d,isDocument:e,offset:c.offset()||{left:0,top:0},scrollLeft:c.scrollLeft(),scrollTop:c.scrollTop(),width:d||e?c.width():c.outerWidth(),height:d||e?c.height():c.outerHeight()}}},a.fn.position=function(e){if(!e||!e.of)return o.apply(this,arguments);e=a.extend({},e);var n,p,q,r,s,t,u=a(e.of),v=a.position.getWithinInfo(e.within),w=a.position.getScrollInfo(v),x=(e.collision||"flip").split(" "),y={};return t=d(u),u[0].preventDefault&&(e.at="left top"),p=t.width,q=t.height,r=t.offset,s=a.extend({},r),a.each(["my","at"],function(){var a,b,c=(e[this]||"").split(" ");1===c.length&&(c=j.test(c[0])?c.concat(["center"]):k.test(c[0])?["center"].concat(c):["center","center"]),c[0]=j.test(c[0])?c[0]:"center",c[1]=k.test(c[1])?c[1]:"center",a=l.exec(c[0]),b=l.exec(c[1]),y[this]=[a?a[0]:0,b?b[0]:0],e[this]=[m.exec(c[0])[0],m.exec(c[1])[0]]}),1===x.length&&(x[1]=x[0]),"right"===e.at[0]?s.left+=p:"center"===e.at[0]&&(s.left+=p/2),"bottom"===e.at[1]?s.top+=q:"center"===e.at[1]&&(s.top+=q/2),n=b(y.at,p,q),s.left+=n[0],s.top+=n[1],this.each(function(){var d,j,k=a(this),l=k.outerWidth(),m=k.outerHeight(),o=c(this,"marginLeft"),t=c(this,"marginTop"),z=l+o+c(this,"marginRight")+w.width,A=m+t+c(this,"marginBottom")+w.height,B=a.extend({},s),C=b(y.my,k.outerWidth(),k.outerHeight());"right"===e.my[0]?B.left-=l:"center"===e.my[0]&&(B.left-=l/2),"bottom"===e.my[1]?B.top-=m:"center"===e.my[1]&&(B.top-=m/2),B.left+=C[0],B.top+=C[1],f||(B.left=i(B.left),B.top=i(B.top)),d={marginLeft:o,marginTop:t},a.each(["left","top"],function(b,c){a.ui.position[x[b]]&&a.ui.position[x[b]][c](B,{targetWidth:p,targetHeight:q,elemWidth:l,elemHeight:m,collisionPosition:d,collisionWidth:z,collisionHeight:A,offset:[n[0]+C[0],n[1]+C[1]],my:e.my,at:e.at,within:v,elem:k})}),e.using&&(j=function(a){var b=r.left-B.left,c=b+p-l,d=r.top-B.top,f=d+q-m,i={target:{element:u,left:r.left,top:r.top,width:p,height:q},element:{element:k,left:B.left,top:B.top,width:l,height:m},horizontal:0>c?"left":b>0?"right":"center",vertical:0>f?"top":d>0?"bottom":"middle"};l>p&&h(b+c)<p&&(i.horizontal="center"),m>q&&h(d+f)<q&&(i.vertical="middle"),i.important=g(h(b),h(c))>g(h(d),h(f))?"horizontal":"vertical",e.using.call(this,a,i)}),k.offset(a.extend(B,{using:j}))})},a.ui.position={fit:{left:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollLeft:d.offset.left,f=d.width,h=a.left-b.collisionPosition.marginLeft,i=e-h,j=h+b.collisionWidth-f-e;b.collisionWidth>f?i>0&&0>=j?(c=a.left+i+b.collisionWidth-f-e,a.left+=i-c):a.left=j>0&&0>=i?e:i>j?e+f-b.collisionWidth:e:i>0?a.left+=i:j>0?a.left-=j:a.left=g(a.left-h,a.left)},top:function(a,b){var c,d=b.within,e=d.isWindow?d.scrollTop:d.offset.top,f=b.within.height,h=a.top-b.collisionPosition.marginTop,i=e-h,j=h+b.collisionHeight-f-e;b.collisionHeight>f?i>0&&0>=j?(c=a.top+i+b.collisionHeight-f-e,a.top+=i-c):a.top=j>0&&0>=i?e:i>j?e+f-b.collisionHeight:e:i>0?a.top+=i:j>0?a.top-=j:a.top=g(a.top-h,a.top)}},flip:{left:function(a,b){var c,d,e=b.within,f=e.offset.left+e.scrollLeft,g=e.width,i=e.isWindow?e.scrollLeft:e.offset.left,j=a.left-b.collisionPosition.marginLeft,k=j-i,l=j+b.collisionWidth-g-i,m="left"===b.my[0]?-b.elemWidth:"right"===b.my[0]?b.elemWidth:0,n="left"===b.at[0]?b.targetWidth:"right"===b.at[0]?-b.targetWidth:0,o=-2*b.offset[0];0>k?(c=a.left+m+n+o+b.collisionWidth-g-f,(0>c||c<h(k))&&(a.left+=m+n+o)):l>0&&(d=a.left-b.collisionPosition.marginLeft+m+n+o-i,(d>0||h(d)<l)&&(a.left+=m+n+o))},top:function(a,b){var c,d,e=b.within,f=e.offset.top+e.scrollTop,g=e.height,i=e.isWindow?e.scrollTop:e.offset.top,j=a.top-b.collisionPosition.marginTop,k=j-i,l=j+b.collisionHeight-g-i,m="top"===b.my[1],n=m?-b.elemHeight:"bottom"===b.my[1]?b.elemHeight:0,o="top"===b.at[1]?b.targetHeight:"bottom"===b.at[1]?-b.targetHeight:0,p=-2*b.offset[1];0>k?(d=a.top+n+o+p+b.collisionHeight-g-f,(0>d||d<h(k))&&(a.top+=n+o+p)):l>0&&(c=a.top-b.collisionPosition.marginTop+n+o+p-i,(c>0||h(c)<l)&&(a.top+=n+o+p))}},flipfit:{left:function(){a.ui.position.flip.left.apply(this,arguments),a.ui.position.fit.left.apply(this,arguments)},top:function(){a.ui.position.flip.top.apply(this,arguments),a.ui.position.fit.top.apply(this,arguments)}}},function(){var b,c,d,e,g,h=document.getElementsByTagName("body")[0],i=document.createElement("div");b=document.createElement(h?"div":"body"),d={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},h&&a.extend(d,{position:"absolute",left:"-1000px",top:"-1000px"});for(g in d)b.style[g]=d[g];b.appendChild(i),c=h||document.documentElement,c.insertBefore(b,c.firstChild),i.style.cssText="position: absolute; left: 10.7432222px;",e=a(i).offset().left,f=e>10&&11>e,b.innerHTML="",c.removeChild(b)}()}(),a.ui.position});
\ No newline at end of file
index 3928023dc5414f0d0157140b2d7f3bf20923f701..880ebf820d838f4d1595aa277123ff9091728811 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Progressbar 1.11.2
+ * jQuery UI Progressbar 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/progressbar/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.progressbar",{version:"1.11.2",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=a("<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(a){return void 0===a?this.options.value:(this.options.value=this._constrainedValue(a),void this._refreshValue())},_constrainedValue:function(a){return void 0===a&&(a=this.options.value),this.indeterminate=a===!1,"number"!=typeof a&&(a=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,a))},_setOptions:function(a){var b=a.value;delete a.value,this._super(a),this.options.value=this._constrainedValue(b),this._refreshValue()},_setOption:function(a,b){"max"===a&&(b=Math.max(this.min,b)),"disabled"===a&&this.element.toggleClass("ui-state-disabled",!!b).attr("aria-disabled",b),this._super(a,b)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var b=this.options.value,c=this._percentage();this.valueDiv.toggle(this.indeterminate||b>this.min).toggleClass("ui-corner-right",b===this.options.max).width(c.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=a("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":b}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==b&&(this.oldValue=b,this._trigger("change")),b===this.options.max&&this._trigger("complete")}})});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.progressbar",{version:"1.11.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=a("<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(a){return void 0===a?this.options.value:(this.options.value=this._constrainedValue(a),void this._refreshValue())},_constrainedValue:function(a){return void 0===a&&(a=this.options.value),this.indeterminate=a===!1,"number"!=typeof a&&(a=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,a))},_setOptions:function(a){var b=a.value;delete a.value,this._super(a),this.options.value=this._constrainedValue(b),this._refreshValue()},_setOption:function(a,b){"max"===a&&(b=Math.max(this.min,b)),"disabled"===a&&this.element.toggleClass("ui-state-disabled",!!b).attr("aria-disabled",b),this._super(a,b)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var b=this.options.value,c=this._percentage();this.valueDiv.toggle(this.indeterminate||b>this.min).toggleClass("ui-corner-right",b===this.options.max).width(c.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=a("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":b}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==b&&(this.oldValue=b,this._trigger("change")),b===this.options.max&&this._trigger("complete")}})});
\ No newline at end of file
index 806fd76aedecb30e933d8e90827da93a5b290b45..42c31961769dfe669753c2b3b75f3facd31dd2cf 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Resizable 1.11.2
+ * jQuery UI Resizable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/resizable/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./mouse","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.resizable",a.ui.mouse,{version:"1.11.2",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},_num:function(a){return parseInt(a,10)||0},_isNumber:function(a){return!isNaN(parseInt(a,10))},_hasScroll:function(b,c){if("hidden"===a(b).css("overflow"))return!1;var d=c&&"left"===c?"scrollLeft":"scrollTop",e=!1;return b[d]>0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},_create:function(){var b,c,d,e,f,g=this,h=this.options;if(this.element.addClass("ui-resizable"),a.extend(this,{_aspectRatio:!!h.aspectRatio,aspectRatio:h.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:h.helper||h.ghost||h.animate?h.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(a("<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.resizable("instance")),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=h.handles||(a(".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"),b=this.handles.split(","),this.handles={},c=0;c<b.length;c++)d=a.trim(b[c]),f="ui-resizable-"+d,e=a("<div class='ui-resizable-handle "+f+"'></div>"),e.css({zIndex:h.zIndex}),"se"===d&&e.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[d]=".ui-resizable-"+d,this.element.append(e);this._renderAxis=function(b){var c,d,e,f;b=b||this.element;for(c in this.handles)this.handles[c].constructor===String&&(this.handles[c]=this.element.children(this.handles[c]).first().show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(d=a(this.handles[c],this.element),f=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth(),e=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join(""),b.css(e,f),this._proportionallyResize()),a(this.handles[c]).length},this._renderAxis(this.element),this._handles=a(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){g.resizing||(this.className&&(e=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),g.axis=e&&e[1]?e[1]:"se")}),h.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").mouseenter(function(){h.disabled||(a(this).removeClass("ui-resizable-autohide"),g._handles.show())}).mouseleave(function(){h.disabled||g.resizing||(a(this).addClass("ui-resizable-autohide"),g._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var b,c=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(c(this.element),b=this.element,this.originalElement.css({position:b.css("position"),width:b.outerWidth(),height:b.outerHeight(),top:b.css("top"),left:b.css("left")}).insertAfter(b),b.remove()),this.originalElement.css("resize",this.originalResizeStyle),c(this.originalElement),this},_mouseCapture:function(b){var c,d,e=!1;for(c in this.handles)d=a(this.handles[c])[0],(d===b.target||a.contains(d,b.target))&&(e=!0);return!this.options.disabled&&e},_mouseStart:function(b){var c,d,e,f=this.options,g=this.element;return this.resizing=!0,this._renderProxy(),c=this._num(this.helper.css("left")),d=this._num(this.helper.css("top")),f.containment&&(c+=a(f.containment).scrollLeft()||0,d+=a(f.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:c,top:d},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:g.width(),height:g.height()},this.originalSize=this._helper?{width:g.outerWidth(),height:g.outerHeight()}:{width:g.width(),height:g.height()},this.sizeDiff={width:g.outerWidth()-g.width(),height:g.outerHeight()-g.height()},this.originalPosition={left:c,top:d},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio="number"==typeof f.aspectRatio?f.aspectRatio:this.originalSize.width/this.originalSize.height||1,e=a(".ui-resizable-"+this.axis).css("cursor"),a("body").css("cursor","auto"===e?this.axis+"-resize":e),g.addClass("ui-resizable-resizing"),this._propagate("start",b),!0},_mouseDrag:function(b){var c,d,e=this.originalMousePosition,f=this.axis,g=b.pageX-e.left||0,h=b.pageY-e.top||0,i=this._change[f];return this._updatePrevProperties(),i?(c=i.apply(this,[b,g,h]),this._updateVirtualBoundaries(b.shiftKey),(this._aspectRatio||b.shiftKey)&&(c=this._updateRatio(c,b)),c=this._respectSize(c,b),this._updateCache(c),this._propagate("resize",b),d=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),a.isEmptyObject(d)||(this._updatePrevProperties(),this._trigger("resize",b,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(b){this.resizing=!1;var c,d,e,f,g,h,i,j=this.options,k=this;return this._helper&&(c=this._proportionallyResizeElements,d=c.length&&/textarea/i.test(c[0].nodeName),e=d&&this._hasScroll(c[0],"left")?0:k.sizeDiff.height,f=d?0:k.sizeDiff.width,g={width:k.helper.width()-f,height:k.helper.height()-e},h=parseInt(k.element.css("left"),10)+(k.position.left-k.originalPosition.left)||null,i=parseInt(k.element.css("top"),10)+(k.position.top-k.originalPosition.top)||null,j.animate||this.element.css(a.extend(g,{top:i,left:h})),k.helper.height(k.size.height),k.helper.width(k.size.width),this._helper&&!j.animate&&this._proportionallyResize()),a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var a={};return this.position.top!==this.prevPosition.top&&(a.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(a.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(a.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(a.height=this.size.height+"px"),this.helper.css(a),a},_updateVirtualBoundaries:function(a){var b,c,d,e,f,g=this.options;f={minWidth:this._isNumber(g.minWidth)?g.minWidth:0,maxWidth:this._isNumber(g.maxWidth)?g.maxWidth:1/0,minHeight:this._isNumber(g.minHeight)?g.minHeight:0,maxHeight:this._isNumber(g.maxHeight)?g.maxHeight:1/0},(this._aspectRatio||a)&&(b=f.minHeight*this.aspectRatio,d=f.minWidth/this.aspectRatio,c=f.maxHeight*this.aspectRatio,e=f.maxWidth/this.aspectRatio,b>f.minWidth&&(f.minWidth=b),d>f.minHeight&&(f.minHeight=d),c<f.maxWidth&&(f.maxWidth=c),e<f.maxHeight&&(f.maxHeight=e)),this._vBoundaries=f},_updateCache:function(a){this.offset=this.helper.offset(),this._isNumber(a.left)&&(this.position.left=a.left),this._isNumber(a.top)&&(this.position.top=a.top),this._isNumber(a.height)&&(this.size.height=a.height),this._isNumber(a.width)&&(this.size.width=a.width)},_updateRatio:function(a){var b=this.position,c=this.size,d=this.axis;return this._isNumber(a.height)?a.width=a.height*this.aspectRatio:this._isNumber(a.width)&&(a.height=a.width/this.aspectRatio),"sw"===d&&(a.left=b.left+(c.width-a.width),a.top=null),"nw"===d&&(a.top=b.top+(c.height-a.height),a.left=b.left+(c.width-a.width)),a},_respectSize:function(a){var b=this._vBoundaries,c=this.axis,d=this._isNumber(a.width)&&b.maxWidth&&b.maxWidth<a.width,e=this._isNumber(a.height)&&b.maxHeight&&b.maxHeight<a.height,f=this._isNumber(a.width)&&b.minWidth&&b.minWidth>a.width,g=this._isNumber(a.height)&&b.minHeight&&b.minHeight>a.height,h=this.originalPosition.left+this.originalSize.width,i=this.position.top+this.size.height,j=/sw|nw|w/.test(c),k=/nw|ne|n/.test(c);return f&&(a.width=b.minWidth),g&&(a.height=b.minHeight),d&&(a.width=b.maxWidth),e&&(a.height=b.maxHeight),f&&j&&(a.left=h-b.minWidth),d&&j&&(a.left=h-b.maxWidth),g&&k&&(a.top=i-b.minHeight),e&&k&&(a.top=i-b.maxHeight),a.width||a.height||a.left||!a.top?a.width||a.height||a.top||!a.left||(a.left=null):a.top=null,a},_getPaddingPlusBorderDimensions:function(a){for(var b=0,c=[],d=[a.css("borderTopWidth"),a.css("borderRightWidth"),a.css("borderBottomWidth"),a.css("borderLeftWidth")],e=[a.css("paddingTop"),a.css("paddingRight"),a.css("paddingBottom"),a.css("paddingLeft")];4>b;b++)c[b]=parseInt(d[b],10)||0,c[b]+=parseInt(e[b],10)||0;return{height:c[0]+c[2],width:c[1]+c[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var a,b=0,c=this.helper||this.element;b<this._proportionallyResizeElements.length;b++)a=this._proportionallyResizeElements[b],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(a)),a.css({height:c.height()-this.outerDimensions.height||0,width:c.width()-this.outerDimensions.width||0})},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset(),this._helper?(this.helper=this.helper||a("<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:++c.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(a,b){return{width:this.originalSize.width+b}},w:function(a,b){var c=this.originalSize,d=this.originalPosition;return{left:d.left+b,width:c.width-b}},n:function(a,b,c){var d=this.originalSize,e=this.originalPosition;return{top:e.top+c,height:d.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),"resize"!==b&&this._trigger(b,c,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}}}),a.ui.plugin.add("resizable","animate",{stop:function(b){var c=a(this).resizable("instance"),d=c.options,e=c._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&c._hasScroll(e[0],"left")?0:c.sizeDiff.height,h=f?0:c.sizeDiff.width,i={width:c.size.width-h,height:c.size.height-g},j=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,k=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;c.element.animate(a.extend(i,k&&j?{top:k,left:j}:{}),{duration:d.animateDuration,easing:d.animateEasing,step:function(){var d={width:parseInt(c.element.css("width"),10),height:parseInt(c.element.css("height"),10),top:parseInt(c.element.css("top"),10),left:parseInt(c.element.css("left"),10)};e&&e.length&&a(e[0]).css({width:d.width,height:d.height}),c._updateCache(d),c._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(){var b,c,d,e,f,g,h,i=a(this).resizable("instance"),j=i.options,k=i.element,l=j.containment,m=l instanceof a?l.get(0):/parent/.test(l)?k.parent().get(0):l;m&&(i.containerElement=a(m),/document/.test(l)||l===document?(i.containerOffset={left:0,top:0},i.containerPosition={left:0,top:0},i.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight}):(b=a(m),c=[],a(["Top","Right","Left","Bottom"]).each(function(a,d){c[a]=i._num(b.css("padding"+d))}),i.containerOffset=b.offset(),i.containerPosition=b.position(),i.containerSize={height:b.innerHeight()-c[3],width:b.innerWidth()-c[1]},d=i.containerOffset,e=i.containerSize.height,f=i.containerSize.width,g=i._hasScroll(m,"left")?m.scrollWidth:f,h=i._hasScroll(m)?m.scrollHeight:e,i.parentData={element:m,left:d.left,top:d.top,width:g,height:h}))},resize:function(b){var c,d,e,f,g=a(this).resizable("instance"),h=g.options,i=g.containerOffset,j=g.position,k=g._aspectRatio||b.shiftKey,l={top:0,left:0},m=g.containerElement,n=!0;m[0]!==document&&/static/.test(m.css("position"))&&(l=i),j.left<(g._helper?i.left:0)&&(g.size.width=g.size.width+(g._helper?g.position.left-i.left:g.position.left-l.left),k&&(g.size.height=g.size.width/g.aspectRatio,n=!1),g.position.left=h.helper?i.left:0),j.top<(g._helper?i.top:0)&&(g.size.height=g.size.height+(g._helper?g.position.top-i.top:g.position.top),k&&(g.size.width=g.size.height*g.aspectRatio,n=!1),g.position.top=g._helper?i.top:0),e=g.containerElement.get(0)===g.element.parent().get(0),f=/relative|absolute/.test(g.containerElement.css("position")),e&&f?(g.offset.left=g.parentData.left+g.position.left,g.offset.top=g.parentData.top+g.position.top):(g.offset.left=g.element.offset().left,g.offset.top=g.element.offset().top),c=Math.abs(g.sizeDiff.width+(g._helper?g.offset.left-l.left:g.offset.left-i.left)),d=Math.abs(g.sizeDiff.height+(g._helper?g.offset.top-l.top:g.offset.top-i.top)),c+g.size.width>=g.parentData.width&&(g.size.width=g.parentData.width-c,k&&(g.size.height=g.size.width/g.aspectRatio,n=!1)),d+g.size.height>=g.parentData.height&&(g.size.height=g.parentData.height-d,k&&(g.size.width=g.size.height*g.aspectRatio,n=!1)),n||(g.position.left=g.prevPosition.left,g.position.top=g.prevPosition.top,g.size.width=g.prevSize.width,g.size.height=g.prevSize.height)},stop:function(){var b=a(this).resizable("instance"),c=b.options,d=b.containerOffset,e=b.containerPosition,f=b.containerElement,g=a(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width,j=g.outerHeight()-b.sizeDiff.height;b._helper&&!c.animate&&/relative/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j}),b._helper&&!c.animate&&/static/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j})}}),a.ui.plugin.add("resizable","alsoResize",{start:function(){var b=a(this).resizable("instance"),c=b.options,d=function(b){a(b).each(function(){var b=a(this);b.data("ui-resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})};"object"!=typeof c.alsoResize||c.alsoResize.parentNode?d(c.alsoResize):c.alsoResize.length?(c.alsoResize=c.alsoResize[0],d(c.alsoResize)):a.each(c.alsoResize,function(a){d(a)})},resize:function(b,c){var d=a(this).resizable("instance"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0},i=function(b,d){a(b).each(function(){var b=a(this),e=a(this).data("ui-resizable-alsoresize"),f={},g=d&&d.length?d:b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(g,function(a,b){var c=(e[b]||0)+(h[b]||0);c&&c>=0&&(f[b]=c||null)}),b.css(f)})};"object"!=typeof e.alsoResize||e.alsoResize.nodeType?i(e.alsoResize):a.each(e.alsoResize,function(a,b){i(a,b)})},stop:function(){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","ghost",{start:function(){var b=a(this).resizable("instance"),c=b.options,d=b.size;b.ghost=b.originalElement.clone(),b.ghost.css({opacity:.25,display:"block",position:"relative",height:d.height,width:d.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof c.ghost?c.ghost:""),b.ghost.appendTo(b.helper)},resize:function(){var b=a(this).resizable("instance");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=a(this).resizable("instance");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(){var b,c=a(this).resizable("instance"),d=c.options,e=c.size,f=c.originalSize,g=c.originalPosition,h=c.axis,i="number"==typeof d.grid?[d.grid,d.grid]:d.grid,j=i[0]||1,k=i[1]||1,l=Math.round((e.width-f.width)/j)*j,m=Math.round((e.height-f.height)/k)*k,n=f.width+l,o=f.height+m,p=d.maxWidth&&d.maxWidth<n,q=d.maxHeight&&d.maxHeight<o,r=d.minWidth&&d.minWidth>n,s=d.minHeight&&d.minHeight>o;d.grid=i,r&&(n+=j),s&&(o+=k),p&&(n-=j),q&&(o-=k),/^(se|s|e)$/.test(h)?(c.size.width=n,c.size.height=o):/^(ne)$/.test(h)?(c.size.width=n,c.size.height=o,c.position.top=g.top-m):/^(sw)$/.test(h)?(c.size.width=n,c.size.height=o,c.position.left=g.left-l):((0>=o-k||0>=n-j)&&(b=c._getPaddingPlusBorderDimensions(this)),o-k>0?(c.size.height=o,c.position.top=g.top-m):(o=k-b.height,c.size.height=o,c.position.top=g.top+f.height-o),n-j>0?(c.size.width=n,c.position.left=g.left-l):(n=k-b.height,c.size.width=n,c.position.left=g.left+f.width-n))}}),a.ui.resizable});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./mouse","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.resizable",a.ui.mouse,{version:"1.11.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},_num:function(a){return parseInt(a,10)||0},_isNumber:function(a){return!isNaN(parseInt(a,10))},_hasScroll:function(b,c){if("hidden"===a(b).css("overflow"))return!1;var d=c&&"left"===c?"scrollLeft":"scrollTop",e=!1;return b[d]>0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},_create:function(){var b,c,d,e,f,g=this,h=this.options;if(this.element.addClass("ui-resizable"),a.extend(this,{_aspectRatio:!!h.aspectRatio,aspectRatio:h.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:h.helper||h.ghost||h.animate?h.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(a("<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.resizable("instance")),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=h.handles||(a(".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=a(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),b=this.handles.split(","),this.handles={},c=0;c<b.length;c++)d=a.trim(b[c]),f="ui-resizable-"+d,e=a("<div class='ui-resizable-handle "+f+"'></div>"),e.css({zIndex:h.zIndex}),"se"===d&&e.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[d]=".ui-resizable-"+d,this.element.append(e);this._renderAxis=function(b){var c,d,e,f;b=b||this.element;for(c in this.handles)this.handles[c].constructor===String?this.handles[c]=this.element.children(this.handles[c]).first().show():(this.handles[c].jquery||this.handles[c].nodeType)&&(this.handles[c]=a(this.handles[c]),this._on(this.handles[c],{mousedown:g._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(d=a(this.handles[c],this.element),f=/sw|ne|nw|se|n|s/.test(c)?d.outerHeight():d.outerWidth(),e=["padding",/ne|nw|n/.test(c)?"Top":/se|sw|s/.test(c)?"Bottom":/^e$/.test(c)?"Right":"Left"].join(""),b.css(e,f),this._proportionallyResize()),this._handles=this._handles.add(this.handles[c])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.mouseover(function(){g.resizing||(this.className&&(e=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),g.axis=e&&e[1]?e[1]:"se")}),h.autoHide&&(this._handles.hide(),a(this.element).addClass("ui-resizable-autohide").mouseenter(function(){h.disabled||(a(this).removeClass("ui-resizable-autohide"),g._handles.show())}).mouseleave(function(){h.disabled||g.resizing||(a(this).addClass("ui-resizable-autohide"),g._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var b,c=function(b){a(b).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(c(this.element),b=this.element,this.originalElement.css({position:b.css("position"),width:b.outerWidth(),height:b.outerHeight(),top:b.css("top"),left:b.css("left")}).insertAfter(b),b.remove()),this.originalElement.css("resize",this.originalResizeStyle),c(this.originalElement),this},_mouseCapture:function(b){var c,d,e=!1;for(c in this.handles)d=a(this.handles[c])[0],(d===b.target||a.contains(d,b.target))&&(e=!0);return!this.options.disabled&&e},_mouseStart:function(b){var c,d,e,f=this.options,g=this.element;return this.resizing=!0,this._renderProxy(),c=this._num(this.helper.css("left")),d=this._num(this.helper.css("top")),f.containment&&(c+=a(f.containment).scrollLeft()||0,d+=a(f.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:c,top:d},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:g.width(),height:g.height()},this.originalSize=this._helper?{width:g.outerWidth(),height:g.outerHeight()}:{width:g.width(),height:g.height()},this.sizeDiff={width:g.outerWidth()-g.width(),height:g.outerHeight()-g.height()},this.originalPosition={left:c,top:d},this.originalMousePosition={left:b.pageX,top:b.pageY},this.aspectRatio="number"==typeof f.aspectRatio?f.aspectRatio:this.originalSize.width/this.originalSize.height||1,e=a(".ui-resizable-"+this.axis).css("cursor"),a("body").css("cursor","auto"===e?this.axis+"-resize":e),g.addClass("ui-resizable-resizing"),this._propagate("start",b),!0},_mouseDrag:function(b){var c,d,e=this.originalMousePosition,f=this.axis,g=b.pageX-e.left||0,h=b.pageY-e.top||0,i=this._change[f];return this._updatePrevProperties(),i?(c=i.apply(this,[b,g,h]),this._updateVirtualBoundaries(b.shiftKey),(this._aspectRatio||b.shiftKey)&&(c=this._updateRatio(c,b)),c=this._respectSize(c,b),this._updateCache(c),this._propagate("resize",b),d=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),a.isEmptyObject(d)||(this._updatePrevProperties(),this._trigger("resize",b,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(b){this.resizing=!1;var c,d,e,f,g,h,i,j=this.options,k=this;return this._helper&&(c=this._proportionallyResizeElements,d=c.length&&/textarea/i.test(c[0].nodeName),e=d&&this._hasScroll(c[0],"left")?0:k.sizeDiff.height,f=d?0:k.sizeDiff.width,g={width:k.helper.width()-f,height:k.helper.height()-e},h=parseInt(k.element.css("left"),10)+(k.position.left-k.originalPosition.left)||null,i=parseInt(k.element.css("top"),10)+(k.position.top-k.originalPosition.top)||null,j.animate||this.element.css(a.extend(g,{top:i,left:h})),k.helper.height(k.size.height),k.helper.width(k.size.width),this._helper&&!j.animate&&this._proportionallyResize()),a("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",b),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var a={};return this.position.top!==this.prevPosition.top&&(a.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(a.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(a.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(a.height=this.size.height+"px"),this.helper.css(a),a},_updateVirtualBoundaries:function(a){var b,c,d,e,f,g=this.options;f={minWidth:this._isNumber(g.minWidth)?g.minWidth:0,maxWidth:this._isNumber(g.maxWidth)?g.maxWidth:1/0,minHeight:this._isNumber(g.minHeight)?g.minHeight:0,maxHeight:this._isNumber(g.maxHeight)?g.maxHeight:1/0},(this._aspectRatio||a)&&(b=f.minHeight*this.aspectRatio,d=f.minWidth/this.aspectRatio,c=f.maxHeight*this.aspectRatio,e=f.maxWidth/this.aspectRatio,b>f.minWidth&&(f.minWidth=b),d>f.minHeight&&(f.minHeight=d),c<f.maxWidth&&(f.maxWidth=c),e<f.maxHeight&&(f.maxHeight=e)),this._vBoundaries=f},_updateCache:function(a){this.offset=this.helper.offset(),this._isNumber(a.left)&&(this.position.left=a.left),this._isNumber(a.top)&&(this.position.top=a.top),this._isNumber(a.height)&&(this.size.height=a.height),this._isNumber(a.width)&&(this.size.width=a.width)},_updateRatio:function(a){var b=this.position,c=this.size,d=this.axis;return this._isNumber(a.height)?a.width=a.height*this.aspectRatio:this._isNumber(a.width)&&(a.height=a.width/this.aspectRatio),"sw"===d&&(a.left=b.left+(c.width-a.width),a.top=null),"nw"===d&&(a.top=b.top+(c.height-a.height),a.left=b.left+(c.width-a.width)),a},_respectSize:function(a){var b=this._vBoundaries,c=this.axis,d=this._isNumber(a.width)&&b.maxWidth&&b.maxWidth<a.width,e=this._isNumber(a.height)&&b.maxHeight&&b.maxHeight<a.height,f=this._isNumber(a.width)&&b.minWidth&&b.minWidth>a.width,g=this._isNumber(a.height)&&b.minHeight&&b.minHeight>a.height,h=this.originalPosition.left+this.originalSize.width,i=this.position.top+this.size.height,j=/sw|nw|w/.test(c),k=/nw|ne|n/.test(c);return f&&(a.width=b.minWidth),g&&(a.height=b.minHeight),d&&(a.width=b.maxWidth),e&&(a.height=b.maxHeight),f&&j&&(a.left=h-b.minWidth),d&&j&&(a.left=h-b.maxWidth),g&&k&&(a.top=i-b.minHeight),e&&k&&(a.top=i-b.maxHeight),a.width||a.height||a.left||!a.top?a.width||a.height||a.top||!a.left||(a.left=null):a.top=null,a},_getPaddingPlusBorderDimensions:function(a){for(var b=0,c=[],d=[a.css("borderTopWidth"),a.css("borderRightWidth"),a.css("borderBottomWidth"),a.css("borderLeftWidth")],e=[a.css("paddingTop"),a.css("paddingRight"),a.css("paddingBottom"),a.css("paddingLeft")];4>b;b++)c[b]=parseInt(d[b],10)||0,c[b]+=parseInt(e[b],10)||0;return{height:c[0]+c[2],width:c[1]+c[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var a,b=0,c=this.helper||this.element;b<this._proportionallyResizeElements.length;b++)a=this._proportionallyResizeElements[b],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(a)),a.css({height:c.height()-this.outerDimensions.height||0,width:c.width()-this.outerDimensions.width||0})},_renderProxy:function(){var b=this.element,c=this.options;this.elementOffset=b.offset(),this._helper?(this.helper=this.helper||a("<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:++c.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(a,b){return{width:this.originalSize.width+b}},w:function(a,b){var c=this.originalSize,d=this.originalPosition;return{left:d.left+b,width:c.width-b}},n:function(a,b,c){var d=this.originalSize,e=this.originalPosition;return{top:e.top+c,height:d.height-c}},s:function(a,b,c){return{height:this.originalSize.height+c}},se:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},sw:function(b,c,d){return a.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,c,d]))},ne:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,c,d]))},nw:function(b,c,d){return a.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,c,d]))}},_propagate:function(b,c){a.ui.plugin.call(this,b,[c,this.ui()]),"resize"!==b&&this._trigger(b,c,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}}}),a.ui.plugin.add("resizable","animate",{stop:function(b){var c=a(this).resizable("instance"),d=c.options,e=c._proportionallyResizeElements,f=e.length&&/textarea/i.test(e[0].nodeName),g=f&&c._hasScroll(e[0],"left")?0:c.sizeDiff.height,h=f?0:c.sizeDiff.width,i={width:c.size.width-h,height:c.size.height-g},j=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,k=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;c.element.animate(a.extend(i,k&&j?{top:k,left:j}:{}),{duration:d.animateDuration,easing:d.animateEasing,step:function(){var d={width:parseInt(c.element.css("width"),10),height:parseInt(c.element.css("height"),10),top:parseInt(c.element.css("top"),10),left:parseInt(c.element.css("left"),10)};e&&e.length&&a(e[0]).css({width:d.width,height:d.height}),c._updateCache(d),c._propagate("resize",b)}})}}),a.ui.plugin.add("resizable","containment",{start:function(){var b,c,d,e,f,g,h,i=a(this).resizable("instance"),j=i.options,k=i.element,l=j.containment,m=l instanceof a?l.get(0):/parent/.test(l)?k.parent().get(0):l;m&&(i.containerElement=a(m),/document/.test(l)||l===document?(i.containerOffset={left:0,top:0},i.containerPosition={left:0,top:0},i.parentData={element:a(document),left:0,top:0,width:a(document).width(),height:a(document).height()||document.body.parentNode.scrollHeight}):(b=a(m),c=[],a(["Top","Right","Left","Bottom"]).each(function(a,d){c[a]=i._num(b.css("padding"+d))}),i.containerOffset=b.offset(),i.containerPosition=b.position(),i.containerSize={height:b.innerHeight()-c[3],width:b.innerWidth()-c[1]},d=i.containerOffset,e=i.containerSize.height,f=i.containerSize.width,g=i._hasScroll(m,"left")?m.scrollWidth:f,h=i._hasScroll(m)?m.scrollHeight:e,i.parentData={element:m,left:d.left,top:d.top,width:g,height:h}))},resize:function(b){var c,d,e,f,g=a(this).resizable("instance"),h=g.options,i=g.containerOffset,j=g.position,k=g._aspectRatio||b.shiftKey,l={top:0,left:0},m=g.containerElement,n=!0;m[0]!==document&&/static/.test(m.css("position"))&&(l=i),j.left<(g._helper?i.left:0)&&(g.size.width=g.size.width+(g._helper?g.position.left-i.left:g.position.left-l.left),k&&(g.size.height=g.size.width/g.aspectRatio,n=!1),g.position.left=h.helper?i.left:0),j.top<(g._helper?i.top:0)&&(g.size.height=g.size.height+(g._helper?g.position.top-i.top:g.position.top),k&&(g.size.width=g.size.height*g.aspectRatio,n=!1),g.position.top=g._helper?i.top:0),e=g.containerElement.get(0)===g.element.parent().get(0),f=/relative|absolute/.test(g.containerElement.css("position")),e&&f?(g.offset.left=g.parentData.left+g.position.left,g.offset.top=g.parentData.top+g.position.top):(g.offset.left=g.element.offset().left,g.offset.top=g.element.offset().top),c=Math.abs(g.sizeDiff.width+(g._helper?g.offset.left-l.left:g.offset.left-i.left)),d=Math.abs(g.sizeDiff.height+(g._helper?g.offset.top-l.top:g.offset.top-i.top)),c+g.size.width>=g.parentData.width&&(g.size.width=g.parentData.width-c,k&&(g.size.height=g.size.width/g.aspectRatio,n=!1)),d+g.size.height>=g.parentData.height&&(g.size.height=g.parentData.height-d,k&&(g.size.width=g.size.height*g.aspectRatio,n=!1)),n||(g.position.left=g.prevPosition.left,g.position.top=g.prevPosition.top,g.size.width=g.prevSize.width,g.size.height=g.prevSize.height)},stop:function(){var b=a(this).resizable("instance"),c=b.options,d=b.containerOffset,e=b.containerPosition,f=b.containerElement,g=a(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width,j=g.outerHeight()-b.sizeDiff.height;b._helper&&!c.animate&&/relative/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j}),b._helper&&!c.animate&&/static/.test(f.css("position"))&&a(this).css({left:h.left-e.left-d.left,width:i,height:j})}}),a.ui.plugin.add("resizable","alsoResize",{start:function(){var b=a(this).resizable("instance"),c=b.options;a(c.alsoResize).each(function(){var b=a(this);b.data("ui-resizable-alsoresize",{width:parseInt(b.width(),10),height:parseInt(b.height(),10),left:parseInt(b.css("left"),10),top:parseInt(b.css("top"),10)})})},resize:function(b,c){var d=a(this).resizable("instance"),e=d.options,f=d.originalSize,g=d.originalPosition,h={height:d.size.height-f.height||0,width:d.size.width-f.width||0,top:d.position.top-g.top||0,left:d.position.left-g.left||0};a(e.alsoResize).each(function(){var b=a(this),d=a(this).data("ui-resizable-alsoresize"),e={},f=b.parents(c.originalElement[0]).length?["width","height"]:["width","height","top","left"];a.each(f,function(a,b){var c=(d[b]||0)+(h[b]||0);c&&c>=0&&(e[b]=c||null)}),b.css(e)})},stop:function(){a(this).removeData("resizable-alsoresize")}}),a.ui.plugin.add("resizable","ghost",{start:function(){var b=a(this).resizable("instance"),c=b.options,d=b.size;b.ghost=b.originalElement.clone(),b.ghost.css({opacity:.25,display:"block",position:"relative",height:d.height,width:d.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof c.ghost?c.ghost:""),b.ghost.appendTo(b.helper)},resize:function(){var b=a(this).resizable("instance");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=a(this).resizable("instance");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}}),a.ui.plugin.add("resizable","grid",{resize:function(){var b,c=a(this).resizable("instance"),d=c.options,e=c.size,f=c.originalSize,g=c.originalPosition,h=c.axis,i="number"==typeof d.grid?[d.grid,d.grid]:d.grid,j=i[0]||1,k=i[1]||1,l=Math.round((e.width-f.width)/j)*j,m=Math.round((e.height-f.height)/k)*k,n=f.width+l,o=f.height+m,p=d.maxWidth&&d.maxWidth<n,q=d.maxHeight&&d.maxHeight<o,r=d.minWidth&&d.minWidth>n,s=d.minHeight&&d.minHeight>o;d.grid=i,r&&(n+=j),s&&(o+=k),p&&(n-=j),q&&(o-=k),/^(se|s|e)$/.test(h)?(c.size.width=n,c.size.height=o):/^(ne)$/.test(h)?(c.size.width=n,c.size.height=o,c.position.top=g.top-m):/^(sw)$/.test(h)?(c.size.width=n,c.size.height=o,c.position.left=g.left-l):((0>=o-k||0>=n-j)&&(b=c._getPaddingPlusBorderDimensions(this)),o-k>0?(c.size.height=o,c.position.top=g.top-m):(o=k-b.height,c.size.height=o,c.position.top=g.top+f.height-o),n-j>0?(c.size.width=n,c.position.left=g.left-l):(n=j-b.width,c.size.width=n,c.position.left=g.left+f.width-n))}}),a.ui.resizable});
\ No newline at end of file
index d964e1c8e5a2d83bcea0c06e6ae9bc28f7b46400..9d289b251d011022df4783df063e9e13189f460b 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Selectable 1.11.2
+ * jQuery UI Selectable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/selectable/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./mouse","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.selectable",a.ui.mouse,{version:"1.11.2",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 b,c=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){b=a(c.options.filter,c.element[0]),b.addClass("ui-selectee"),b.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=b.addClass("ui-selectee"),this._mouseInit(),this.helper=a("<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(b){var c=this,d=this.options;this.opos=[b.pageX,b.pageY],this.options.disabled||(this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.pageX,top:b.pageY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,b.metaKey||b.ctrlKey||(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().addBack().each(function(){var d,e=a.data(this,"selectable-item");return e?(d=!b.metaKey&&!b.ctrlKey||!e.$element.hasClass("ui-selected"),e.$element.removeClass(d?"ui-unselecting":"ui-selected").addClass(d?"ui-selecting":"ui-unselecting"),e.unselecting=!d,e.selecting=d,e.selected=d,d?c._trigger("selecting",b,{selecting:e.element}):c._trigger("unselecting",b,{unselecting:e.element}),!1):void 0}))},_mouseDrag:function(b){if(this.dragged=!0,!this.options.disabled){var c,d=this,e=this.options,f=this.opos[0],g=this.opos[1],h=b.pageX,i=b.pageY;return f>h&&(c=h,h=f,f=c),g>i&&(c=i,i=g,g=c),this.helper.css({left:f,top:g,width:h-f,height:i-g}),this.selectees.each(function(){var c=a.data(this,"selectable-item"),j=!1;c&&c.element!==d.element[0]&&("touch"===e.tolerance?j=!(c.left>h||c.right<f||c.top>i||c.bottom<g):"fit"===e.tolerance&&(j=c.left>f&&c.right<h&&c.top>g&&c.bottom<i),j?(c.selected&&(c.$element.removeClass("ui-selected"),c.selected=!1),c.unselecting&&(c.$element.removeClass("ui-unselecting"),c.unselecting=!1),c.selecting||(c.$element.addClass("ui-selecting"),c.selecting=!0,d._trigger("selecting",b,{selecting:c.element}))):(c.selecting&&((b.metaKey||b.ctrlKey)&&c.startselected?(c.$element.removeClass("ui-selecting"),c.selecting=!1,c.$element.addClass("ui-selected"),c.selected=!0):(c.$element.removeClass("ui-selecting"),c.selecting=!1,c.startselected&&(c.$element.addClass("ui-unselecting"),c.unselecting=!0),d._trigger("unselecting",b,{unselecting:c.element}))),c.selected&&(b.metaKey||b.ctrlKey||c.startselected||(c.$element.removeClass("ui-selected"),c.selected=!1,c.$element.addClass("ui-unselecting"),c.unselecting=!0,d._trigger("unselecting",b,{unselecting:c.element})))))}),!1}},_mouseStop:function(b){var c=this;return this.dragged=!1,a(".ui-unselecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-unselecting"),d.unselecting=!1,d.startselected=!1,c._trigger("unselected",b,{unselected:d.element})}),a(".ui-selecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected"),d.selecting=!1,d.selected=!0,d.startselected=!0,c._trigger("selected",b,{selected:d.element})}),this._trigger("stop",b),this.helper.remove(),!1}})});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./mouse","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.selectable",a.ui.mouse,{version:"1.11.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 b,c=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){b=a(c.options.filter,c.element[0]),b.addClass("ui-selectee"),b.each(function(){var b=a(this),c=b.offset();a.data(this,"selectable-item",{element:this,$element:b,left:c.left,top:c.top,right:c.left+b.outerWidth(),bottom:c.top+b.outerHeight(),startselected:!1,selected:b.hasClass("ui-selected"),selecting:b.hasClass("ui-selecting"),unselecting:b.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=b.addClass("ui-selectee"),this._mouseInit(),this.helper=a("<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(b){var c=this,d=this.options;this.opos=[b.pageX,b.pageY],this.options.disabled||(this.selectees=a(d.filter,this.element[0]),this._trigger("start",b),a(d.appendTo).append(this.helper),this.helper.css({left:b.pageX,top:b.pageY,width:0,height:0}),d.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var d=a.data(this,"selectable-item");d.startselected=!0,b.metaKey||b.ctrlKey||(d.$element.removeClass("ui-selected"),d.selected=!1,d.$element.addClass("ui-unselecting"),d.unselecting=!0,c._trigger("unselecting",b,{unselecting:d.element}))}),a(b.target).parents().addBack().each(function(){var d,e=a.data(this,"selectable-item");return e?(d=!b.metaKey&&!b.ctrlKey||!e.$element.hasClass("ui-selected"),e.$element.removeClass(d?"ui-unselecting":"ui-selected").addClass(d?"ui-selecting":"ui-unselecting"),e.unselecting=!d,e.selecting=d,e.selected=d,d?c._trigger("selecting",b,{selecting:e.element}):c._trigger("unselecting",b,{unselecting:e.element}),!1):void 0}))},_mouseDrag:function(b){if(this.dragged=!0,!this.options.disabled){var c,d=this,e=this.options,f=this.opos[0],g=this.opos[1],h=b.pageX,i=b.pageY;return f>h&&(c=h,h=f,f=c),g>i&&(c=i,i=g,g=c),this.helper.css({left:f,top:g,width:h-f,height:i-g}),this.selectees.each(function(){var c=a.data(this,"selectable-item"),j=!1;c&&c.element!==d.element[0]&&("touch"===e.tolerance?j=!(c.left>h||c.right<f||c.top>i||c.bottom<g):"fit"===e.tolerance&&(j=c.left>f&&c.right<h&&c.top>g&&c.bottom<i),j?(c.selected&&(c.$element.removeClass("ui-selected"),c.selected=!1),c.unselecting&&(c.$element.removeClass("ui-unselecting"),c.unselecting=!1),c.selecting||(c.$element.addClass("ui-selecting"),c.selecting=!0,d._trigger("selecting",b,{selecting:c.element}))):(c.selecting&&((b.metaKey||b.ctrlKey)&&c.startselected?(c.$element.removeClass("ui-selecting"),c.selecting=!1,c.$element.addClass("ui-selected"),c.selected=!0):(c.$element.removeClass("ui-selecting"),c.selecting=!1,c.startselected&&(c.$element.addClass("ui-unselecting"),c.unselecting=!0),d._trigger("unselecting",b,{unselecting:c.element}))),c.selected&&(b.metaKey||b.ctrlKey||c.startselected||(c.$element.removeClass("ui-selected"),c.selected=!1,c.$element.addClass("ui-unselecting"),c.unselecting=!0,d._trigger("unselecting",b,{unselecting:c.element})))))}),!1}},_mouseStop:function(b){var c=this;return this.dragged=!1,a(".ui-unselecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-unselecting"),d.unselecting=!1,d.startselected=!1,c._trigger("unselected",b,{unselected:d.element})}),a(".ui-selecting",this.element[0]).each(function(){var d=a.data(this,"selectable-item");d.$element.removeClass("ui-selecting").addClass("ui-selected"),d.selecting=!1,d.selected=!0,d.startselected=!0,c._trigger("selected",b,{selected:d.element})}),this._trigger("stop",b),this.helper.remove(),!1}})});
\ No newline at end of file
index ee78d3c4e3c1001825c2168297d3f7d483aaacf9..86b9d3cdcebd34af0bb0403ab68c9777619cdbb2 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Selectmenu 1.11.2
+ * jQuery UI Selectmenu 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/selectmenu
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget","./position","./menu"],a):a(jQuery)}(function(a){return a.widget("ui.selectmenu",{version:"1.11.2",defaultElement:"<select>",options:{appendTo:null,disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:null,change:null,close:null,focus:null,open:null,select:null},_create:function(){var a=this.element.uniqueId().attr("id");this.ids={element:a,button:a+"-button",menu:a+"-menu"},this._drawButton(),this._drawMenu(),this.options.disabled&&this.disable()},_drawButton:function(){var b=this,c=this.element.attr("tabindex");this.label=a("label[for='"+this.ids.element+"']").attr("for",this.ids.button),this._on(this.label,{click:function(a){this.button.focus(),a.preventDefault()}}),this.element.hide(),this.button=a("<span>",{"class":"ui-selectmenu-button ui-widget ui-state-default ui-corner-all",tabindex:c||this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true"}).insertAfter(this.element),a("<span>",{"class":"ui-icon "+this.options.icons.button}).prependTo(this.button),this.buttonText=a("<span>",{"class":"ui-selectmenu-text"}).appendTo(this.button),this._setText(this.buttonText,this.element.find("option:selected").text()),this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){b.menuItems||b._refreshMenu()}),this._hoverable(this.button),this._focusable(this.button)},_drawMenu:function(){var b=this;this.menu=a("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=a("<div>",{"class":"ui-selectmenu-menu ui-front"}).append(this.menu).appendTo(this._appendTo()),this.menuInstance=this.menu.menu({role:"listbox",select:function(a,c){a.preventDefault(),b._setSelection(),b._select(c.item.data("ui-selectmenu-item"),a)},focus:function(a,c){var d=c.item.data("ui-selectmenu-item");null!=b.focusIndex&&d.index!==b.focusIndex&&(b._trigger("focus",a,{item:d}),b.isOpen||b._select(d,a)),b.focusIndex=d.index,b.button.attr("aria-activedescendant",b.menuItems.eq(d.index).attr("id"))}}).menu("instance"),this.menu.addClass("ui-corner-bottom").removeClass("ui-corner-all"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this._setText(this.buttonText,this._getSelectedItem().text()),this.options.width||this._resizeButton()},_refreshMenu:function(){this.menu.empty();var a,b=this.element.find("option");b.length&&(this._parseOptions(b),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup"),a=this._getSelectedItem(),this.menuInstance.focus(null,a),this._setAria(a.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(a){this.options.disabled||(this.menuItems?(this.menu.find(".ui-state-focus").removeClass("ui-state-focus"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",a))},_position:function(){this.menuWrap.position(a.extend({of:this.button},this.options.position))},close:function(a){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",a))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderMenu:function(b,c){var d=this,e="";a.each(c,function(c,f){f.optgroup!==e&&(a("<li>",{"class":"ui-selectmenu-optgroup ui-menu-divider"+(f.element.parent("optgroup").prop("disabled")?" ui-state-disabled":""),text:f.optgroup}).appendTo(b),e=f.optgroup),d._renderItemData(b,f)})},_renderItemData:function(a,b){return this._renderItem(a,b).data("ui-selectmenu-item",b)},_renderItem:function(b,c){var d=a("<li>");return c.disabled&&d.addClass("ui-state-disabled"),this._setText(d,c.label),d.appendTo(b)},_setText:function(a,b){b?a.text(b):a.html("&#160;")},_move:function(a,b){var c,d,e=".ui-menu-item";this.isOpen?c=this.menuItems.eq(this.focusIndex):(c=this.menuItems.eq(this.element[0].selectedIndex),e+=":not(.ui-state-disabled)"),d="first"===a||"last"===a?c["first"===a?"prevAll":"nextAll"](e).eq(-1):c[a+"All"](e).eq(0),d.length&&this.menuInstance.focus(b,d)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex)},_toggle:function(a){this[this.isOpen?"close":"open"](a)},_setSelection:function(){var a;this.range&&(window.getSelection?(a=window.getSelection(),a.removeAllRanges(),a.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(b){this.isOpen&&(a(b.target).closest(".ui-selectmenu-menu, #"+this.ids.button).length||this.close(b))}},_buttonEvents:{mousedown:function(){var a;window.getSelection?(a=window.getSelection(),a.rangeCount&&(this.range=a.getRangeAt(0))):this.range=document.selection.createRange()},click:function(a){this._setSelection(),this._toggle(a)},keydown:function(b){var c=!0;switch(b.keyCode){case a.ui.keyCode.TAB:case a.ui.keyCode.ESCAPE:this.close(b),c=!1;break;case a.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(b);break;case a.ui.keyCode.UP:b.altKey?this._toggle(b):this._move("prev",b);break;case a.ui.keyCode.DOWN:b.altKey?this._toggle(b):this._move("next",b);break;case a.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(b):this._toggle(b);break;case a.ui.keyCode.LEFT:this._move("prev",b);break;case a.ui.keyCode.RIGHT:this._move("next",b);break;case a.ui.keyCode.HOME:case a.ui.keyCode.PAGE_UP:this._move("first",b);break;case a.ui.keyCode.END:case a.ui.keyCode.PAGE_DOWN:this._move("last",b);break;default:this.menu.trigger(b),c=!1}c&&b.preventDefault()}},_selectFocusedItem:function(a){var b=this.menuItems.eq(this.focusIndex);b.hasClass("ui-state-disabled")||this._select(b.data("ui-selectmenu-item"),a)},_select:function(a,b){var c=this.element[0].selectedIndex;this.element[0].selectedIndex=a.index,this._setText(this.buttonText,a.label),this._setAria(a),this._trigger("select",b,{item:a}),a.index!==c&&this._trigger("change",b,{item:a}),this.close(b)},_setAria:function(a){var b=this.menuItems.eq(a.index).attr("id");this.button.attr({"aria-labelledby":b,"aria-activedescendant":b}),this.menu.attr("aria-activedescendant",b)},_setOption:function(a,b){"icons"===a&&this.button.find("span.ui-icon").removeClass(this.options.icons.button).addClass(b.button),this._super(a,b),"appendTo"===a&&this.menuWrap.appendTo(this._appendTo()),"disabled"===a&&(this.menuInstance.option("disabled",b),this.button.toggleClass("ui-state-disabled",b).attr("aria-disabled",b),this.element.prop("disabled",b),b?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)),"width"===a&&this._resizeButton()},_appendTo:function(){var b=this.options.appendTo;return b&&(b=b.jquery||b.nodeType?a(b):this.document.find(b).eq(0)),b&&b[0]||(b=this.element.closest(".ui-front")),b.length||(b=this.document[0].body),b},_toggleAttr:function(){this.button.toggleClass("ui-corner-top",this.isOpen).toggleClass("ui-corner-all",!this.isOpen).attr("aria-expanded",this.isOpen),this.menuWrap.toggleClass("ui-selectmenu-open",this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var a=this.options.width;a||(a=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(a)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){return{disabled:this.element.prop("disabled")}},_parseOptions:function(b){var c=[];b.each(function(b,d){var e=a(d),f=e.parent("optgroup");c.push({element:e,index:b,value:e.attr("value"),label:e.text(),optgroup:f.attr("label")||"",disabled:f.prop("disabled")||e.prop("disabled")})}),this.items=c},_destroy:function(){this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.label.attr("for",this.ids.element)}})});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget","./position","./menu"],a):a(jQuery)}(function(a){return a.widget("ui.selectmenu",{version:"1.11.4",defaultElement:"<select>",options:{appendTo:null,disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:null,change:null,close:null,focus:null,open:null,select:null},_create:function(){var a=this.element.uniqueId().attr("id");this.ids={element:a,button:a+"-button",menu:a+"-menu"},this._drawButton(),this._drawMenu(),this.options.disabled&&this.disable()},_drawButton:function(){var b=this;this.label=a("label[for='"+this.ids.element+"']").attr("for",this.ids.button),this._on(this.label,{click:function(a){this.button.focus(),a.preventDefault()}}),this.element.hide(),this.button=a("<span>",{"class":"ui-selectmenu-button ui-widget ui-state-default ui-corner-all",tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true"}).insertAfter(this.element),a("<span>",{"class":"ui-icon "+this.options.icons.button}).prependTo(this.button),this.buttonText=a("<span>",{"class":"ui-selectmenu-text"}).appendTo(this.button),this._setText(this.buttonText,this.element.find("option:selected").text()),this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){b.menuItems||b._refreshMenu()}),this._hoverable(this.button),this._focusable(this.button)},_drawMenu:function(){var b=this;this.menu=a("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=a("<div>",{"class":"ui-selectmenu-menu ui-front"}).append(this.menu).appendTo(this._appendTo()),this.menuInstance=this.menu.menu({role:"listbox",select:function(a,c){a.preventDefault(),b._setSelection(),b._select(c.item.data("ui-selectmenu-item"),a)},focus:function(a,c){var d=c.item.data("ui-selectmenu-item");null!=b.focusIndex&&d.index!==b.focusIndex&&(b._trigger("focus",a,{item:d}),b.isOpen||b._select(d,a)),b.focusIndex=d.index,b.button.attr("aria-activedescendant",b.menuItems.eq(d.index).attr("id"))}}).menu("instance"),this.menu.addClass("ui-corner-bottom").removeClass("ui-corner-all"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this._setText(this.buttonText,this._getSelectedItem().text()),this.options.width||this._resizeButton()},_refreshMenu:function(){this.menu.empty();var a,b=this.element.find("option");b.length&&(this._parseOptions(b),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup"),a=this._getSelectedItem(),this.menuInstance.focus(null,a),this._setAria(a.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(a){this.options.disabled||(this.menuItems?(this.menu.find(".ui-state-focus").removeClass("ui-state-focus"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",a))},_position:function(){this.menuWrap.position(a.extend({of:this.button},this.options.position))},close:function(a){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",a))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderMenu:function(b,c){var d=this,e="";a.each(c,function(c,f){f.optgroup!==e&&(a("<li>",{"class":"ui-selectmenu-optgroup ui-menu-divider"+(f.element.parent("optgroup").prop("disabled")?" ui-state-disabled":""),text:f.optgroup}).appendTo(b),e=f.optgroup),d._renderItemData(b,f)})},_renderItemData:function(a,b){return this._renderItem(a,b).data("ui-selectmenu-item",b)},_renderItem:function(b,c){var d=a("<li>");return c.disabled&&d.addClass("ui-state-disabled"),this._setText(d,c.label),d.appendTo(b)},_setText:function(a,b){b?a.text(b):a.html("&#160;")},_move:function(a,b){var c,d,e=".ui-menu-item";this.isOpen?c=this.menuItems.eq(this.focusIndex):(c=this.menuItems.eq(this.element[0].selectedIndex),e+=":not(.ui-state-disabled)"),d="first"===a||"last"===a?c["first"===a?"prevAll":"nextAll"](e).eq(-1):c[a+"All"](e).eq(0),d.length&&this.menuInstance.focus(b,d)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex)},_toggle:function(a){this[this.isOpen?"close":"open"](a)},_setSelection:function(){var a;this.range&&(window.getSelection?(a=window.getSelection(),a.removeAllRanges(),a.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(b){this.isOpen&&(a(b.target).closest(".ui-selectmenu-menu, #"+this.ids.button).length||this.close(b))}},_buttonEvents:{mousedown:function(){var a;window.getSelection?(a=window.getSelection(),a.rangeCount&&(this.range=a.getRangeAt(0))):this.range=document.selection.createRange()},click:function(a){this._setSelection(),this._toggle(a)},keydown:function(b){var c=!0;switch(b.keyCode){case a.ui.keyCode.TAB:case a.ui.keyCode.ESCAPE:this.close(b),c=!1;break;case a.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(b);break;case a.ui.keyCode.UP:b.altKey?this._toggle(b):this._move("prev",b);break;case a.ui.keyCode.DOWN:b.altKey?this._toggle(b):this._move("next",b);break;case a.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(b):this._toggle(b);break;case a.ui.keyCode.LEFT:this._move("prev",b);break;case a.ui.keyCode.RIGHT:this._move("next",b);break;case a.ui.keyCode.HOME:case a.ui.keyCode.PAGE_UP:this._move("first",b);break;case a.ui.keyCode.END:case a.ui.keyCode.PAGE_DOWN:this._move("last",b);break;default:this.menu.trigger(b),c=!1}c&&b.preventDefault()}},_selectFocusedItem:function(a){var b=this.menuItems.eq(this.focusIndex);b.hasClass("ui-state-disabled")||this._select(b.data("ui-selectmenu-item"),a)},_select:function(a,b){var c=this.element[0].selectedIndex;this.element[0].selectedIndex=a.index,this._setText(this.buttonText,a.label),this._setAria(a),this._trigger("select",b,{item:a}),a.index!==c&&this._trigger("change",b,{item:a}),this.close(b)},_setAria:function(a){var b=this.menuItems.eq(a.index).attr("id");this.button.attr({"aria-labelledby":b,"aria-activedescendant":b}),this.menu.attr("aria-activedescendant",b)},_setOption:function(a,b){"icons"===a&&this.button.find("span.ui-icon").removeClass(this.options.icons.button).addClass(b.button),this._super(a,b),"appendTo"===a&&this.menuWrap.appendTo(this._appendTo()),"disabled"===a&&(this.menuInstance.option("disabled",b),this.button.toggleClass("ui-state-disabled",b).attr("aria-disabled",b),this.element.prop("disabled",b),b?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)),"width"===a&&this._resizeButton()},_appendTo:function(){var b=this.options.appendTo;return b&&(b=b.jquery||b.nodeType?a(b):this.document.find(b).eq(0)),b&&b[0]||(b=this.element.closest(".ui-front")),b.length||(b=this.document[0].body),b},_toggleAttr:function(){this.button.toggleClass("ui-corner-top",this.isOpen).toggleClass("ui-corner-all",!this.isOpen).attr("aria-expanded",this.isOpen),this.menuWrap.toggleClass("ui-selectmenu-open",this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var a=this.options.width;a||(a=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(a)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){return{disabled:this.element.prop("disabled")}},_parseOptions:function(b){var c=[];b.each(function(b,d){var e=a(d),f=e.parent("optgroup");c.push({element:e,index:b,value:e.val(),label:e.text(),optgroup:f.attr("label")||"",disabled:f.prop("disabled")||e.prop("disabled")})}),this.items=c},_destroy:function(){this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.label.attr("for",this.ids.element)}})});
\ No newline at end of file
index 66b21a95b9202bf062e10928ef517568fea7b691..600bc60d1d23ed742912915a08e54f4019c29999 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Slider 1.11.2
+ * jQuery UI Slider 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/slider/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./mouse","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.slider",a.ui.mouse,{version:"1.11.2",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},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),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 b,c,d=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f="<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",g=[];for(c=d.values&&d.values.length||1,e.length>c&&(e.slice(c).remove(),e=e.slice(0,c)),b=e.length;c>b;b++)g.push(f);this.handles=e.add(a(g.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(b){a(this).data("ui-slider-handle-index",b)})},_createRange:function(){var b=this.options,c="";b.range?(b.range===!0&&(b.values?b.values.length&&2!==b.values.length?b.values=[b.values[0],b.values[0]]:a.isArray(b.values)&&(b.values=b.values.slice(0)):b.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=a("<div></div>").appendTo(this.element),c="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(c+("min"===b.range||"max"===b.range?" ui-slider-range-"+b.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_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(b){var c,d,e,f,g,h,i,j,k=this,l=this.options;return l.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),c={x:b.pageX,y:b.pageY},d=this._normValueFromMouse(c),e=this._valueMax()-this._valueMin()+1,this.handles.each(function(b){var c=Math.abs(d-k.values(b));(e>c||e===c&&(b===k._lastChangedValue||k.values(b)===l.min))&&(e=c,f=a(this),g=b)}),h=this._start(b,g),h===!1?!1:(this._mouseSliding=!0,this._handleIndex=g,f.addClass("ui-state-active").focus(),i=f.offset(),j=!a(b.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=j?{left:0,top:0}:{left:b.pageX-i.left-f.width()/2,top:b.pageY-i.top-f.height()/2-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,g,d),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return"horizontal"===this.orientation?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),0>d&&(d=0),"vertical"===this.orientation&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),2===this.options.values.length&&this.options.range===!0&&(0===b&&c>d||1===b&&d>c)&&(c=d),c!==this.values(b)&&(e=this.values(),e[b]=c,f=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e}),d=this.values(b?0:1),f!==!1&&this.values(b,c))):c!==this.value()&&(f=this._trigger("slide",a,{handle:this.handles[b],value:c}),f!==!1&&this.value(c))},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._lastChangedValue=b,this._trigger("change",a,c)}},value:function(a){return arguments.length?(this.options.value=this._trimAlignValue(a),this._refreshValue(),void this._change(null,0)):this._value()},values:function(b,c){var d,e,f;if(arguments.length>1)return this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),void this._change(null,b);if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();for(d=this.options.values,e=arguments[0],f=0;f<d.length;f+=1)d[f]=this._trimAlignValue(e[f]),this._change(null,f);this._refreshValue()},_setOption:function(b,c){var d,e=0;switch("range"===b&&this.options.range===!0&&("min"===c?(this.options.value=this._values(0),this.options.values=null):"max"===c&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),a.isArray(this.options.values)&&(e=this.options.values.length),"disabled"===b&&this.element.toggleClass("ui-state-disabled",!!c),this._super(b,c),b){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue(),this.handles.css("horizontal"===c?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),d=0;e>d;d+=1)this._change(null,d);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c,d;if(arguments.length)return b=this.options.values[a],b=this._trimAlignValue(b);if(this.options.values&&this.options.values.length){for(c=this.options.values.slice(),d=0;d<c.length;d+=1)c[d]=this._trimAlignValue(c[d]);return c}return[]},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;return 2*Math.abs(c)>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_calculateNewMax:function(){var a=(this.options.max-this._valueMin())%this.options.step;this.max=this.options.max-a},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshValue:function(){var b,c,d,e,f,g=this.options.range,h=this.options,i=this,j=this._animateOff?!1:h.animate,k={};this.options.values&&this.options.values.length?this.handles.each(function(d){c=(i.values(d)-i._valueMin())/(i._valueMax()-i._valueMin())*100,k["horizontal"===i.orientation?"left":"bottom"]=c+"%",a(this).stop(1,1)[j?"animate":"css"](k,h.animate),i.options.range===!0&&("horizontal"===i.orientation?(0===d&&i.range.stop(1,1)[j?"animate":"css"]({left:c+"%"},h.animate),1===d&&i.range[j?"animate":"css"]({width:c-b+"%"},{queue:!1,duration:h.animate})):(0===d&&i.range.stop(1,1)[j?"animate":"css"]({bottom:c+"%"},h.animate),1===d&&i.range[j?"animate":"css"]({height:c-b+"%"},{queue:!1,duration:h.animate}))),b=c}):(d=this.value(),e=this._valueMin(),f=this._valueMax(),c=f!==e?(d-e)/(f-e)*100:0,k["horizontal"===this.orientation?"left":"bottom"]=c+"%",this.handle.stop(1,1)[j?"animate":"css"](k,h.animate),"min"===g&&"horizontal"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({width:c+"%"},h.animate),"max"===g&&"horizontal"===this.orientation&&this.range[j?"animate":"css"]({width:100-c+"%"},{queue:!1,duration:h.animate}),"min"===g&&"vertical"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({height:c+"%"},h.animate),"max"===g&&"vertical"===this.orientation&&this.range[j?"animate":"css"]({height:100-c+"%"},{queue:!1,duration:h.animate}))},_handleEvents:{keydown:function(b){var c,d,e,f,g=a(b.target).data("ui-slider-handle-index");switch(b.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(b.preventDefault(),!this._keySliding&&(this._keySliding=!0,a(b.target).addClass("ui-state-active"),c=this._start(b,g),c===!1))return}switch(f=this.options.step,d=e=this.options.values&&this.options.values.length?this.values(g):this.value(),b.keyCode){case a.ui.keyCode.HOME:e=this._valueMin();break;case a.ui.keyCode.END:e=this._valueMax();break;case a.ui.keyCode.PAGE_UP:e=this._trimAlignValue(d+(this._valueMax()-this._valueMin())/this.numPages);break;case a.ui.keyCode.PAGE_DOWN:e=this._trimAlignValue(d-(this._valueMax()-this._valueMin())/this.numPages);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(d===this._valueMax())return;e=this._trimAlignValue(d+f);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(d===this._valueMin())return;e=this._trimAlignValue(d-f)}this._slide(b,g,e)},keyup:function(b){var c=a(b.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(b,c),this._change(b,c),a(b.target).removeClass("ui-state-active"))}}})});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./mouse","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.slider",a.ui.mouse,{version:"1.11.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},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),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 b,c,d=this.options,e=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),f="<span class='ui-slider-handle ui-state-default ui-corner-all' tabindex='0'></span>",g=[];for(c=d.values&&d.values.length||1,e.length>c&&(e.slice(c).remove(),e=e.slice(0,c)),b=e.length;c>b;b++)g.push(f);this.handles=e.add(a(g.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(b){a(this).data("ui-slider-handle-index",b)})},_createRange:function(){var b=this.options,c="";b.range?(b.range===!0&&(b.values?b.values.length&&2!==b.values.length?b.values=[b.values[0],b.values[0]]:a.isArray(b.values)&&(b.values=b.values.slice(0)):b.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=a("<div></div>").appendTo(this.element),c="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(c+("min"===b.range||"max"===b.range?" ui-slider-range-"+b.range:""))):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_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(b){var c,d,e,f,g,h,i,j,k=this,l=this.options;return l.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),c={x:b.pageX,y:b.pageY},d=this._normValueFromMouse(c),e=this._valueMax()-this._valueMin()+1,this.handles.each(function(b){var c=Math.abs(d-k.values(b));(e>c||e===c&&(b===k._lastChangedValue||k.values(b)===l.min))&&(e=c,f=a(this),g=b)}),h=this._start(b,g),h===!1?!1:(this._mouseSliding=!0,this._handleIndex=g,f.addClass("ui-state-active").focus(),i=f.offset(),j=!a(b.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=j?{left:0,top:0}:{left:b.pageX-i.left-f.width()/2,top:b.pageY-i.top-f.height()/2-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(b,g,d),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(a){var b={x:a.pageX,y:a.pageY},c=this._normValueFromMouse(b);return this._slide(a,this._handleIndex,c),!1},_mouseStop:function(a){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(a,this._handleIndex),this._change(a,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(a){var b,c,d,e,f;return"horizontal"===this.orientation?(b=this.elementSize.width,c=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(b=this.elementSize.height,c=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),d=c/b,d>1&&(d=1),0>d&&(d=0),"vertical"===this.orientation&&(d=1-d),e=this._valueMax()-this._valueMin(),f=this._valueMin()+d*e,this._trimAlignValue(f)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};return this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("start",a,c)},_slide:function(a,b,c){var d,e,f;this.options.values&&this.options.values.length?(d=this.values(b?0:1),2===this.options.values.length&&this.options.range===!0&&(0===b&&c>d||1===b&&d>c)&&(c=d),c!==this.values(b)&&(e=this.values(),e[b]=c,f=this._trigger("slide",a,{handle:this.handles[b],value:c,values:e}),d=this.values(b?0:1),f!==!1&&this.values(b,c))):c!==this.value()&&(f=this._trigger("slide",a,{handle:this.handles[b],value:c}),f!==!1&&this.value(c))},_stop:function(a,b){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._trigger("stop",a,c)},_change:function(a,b){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[b],value:this.value()};this.options.values&&this.options.values.length&&(c.value=this.values(b),c.values=this.values()),this._lastChangedValue=b,this._trigger("change",a,c)}},value:function(a){return arguments.length?(this.options.value=this._trimAlignValue(a),this._refreshValue(),void this._change(null,0)):this._value()},values:function(b,c){var d,e,f;if(arguments.length>1)return this.options.values[b]=this._trimAlignValue(c),this._refreshValue(),void this._change(null,b);if(!arguments.length)return this._values();if(!a.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(b):this.value();for(d=this.options.values,e=arguments[0],f=0;f<d.length;f+=1)d[f]=this._trimAlignValue(e[f]),this._change(null,f);this._refreshValue()},_setOption:function(b,c){var d,e=0;switch("range"===b&&this.options.range===!0&&("min"===c?(this.options.value=this._values(0),this.options.values=null):"max"===c&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),a.isArray(this.options.values)&&(e=this.options.values.length),"disabled"===b&&this.element.toggleClass("ui-state-disabled",!!c),this._super(b,c),b){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue(),this.handles.css("horizontal"===c?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),d=0;e>d;d+=1)this._change(null,d);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var a=this.options.value;return a=this._trimAlignValue(a)},_values:function(a){var b,c,d;if(arguments.length)return b=this.options.values[a],b=this._trimAlignValue(b);if(this.options.values&&this.options.values.length){for(c=this.options.values.slice(),d=0;d<c.length;d+=1)c[d]=this._trimAlignValue(c[d]);return c}return[]},_trimAlignValue:function(a){if(a<=this._valueMin())return this._valueMin();if(a>=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b,d=a-c;return 2*Math.abs(c)>=b&&(d+=c>0?b:-b),parseFloat(d.toFixed(5))},_calculateNewMax:function(){var a=this.options.max,b=this._valueMin(),c=this.options.step,d=Math.floor(+(a-b).toFixed(this._precision())/c)*c;a=d+b,this.max=parseFloat(a.toFixed(this._precision()))},_precision:function(){var a=this._precisionOf(this.options.step);return null!==this.options.min&&(a=Math.max(a,this._precisionOf(this.options.min))),a},_precisionOf:function(a){var b=a.toString(),c=b.indexOf(".");return-1===c?0:b.length-c-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshValue:function(){var b,c,d,e,f,g=this.options.range,h=this.options,i=this,j=this._animateOff?!1:h.animate,k={};this.options.values&&this.options.values.length?this.handles.each(function(d){c=(i.values(d)-i._valueMin())/(i._valueMax()-i._valueMin())*100,k["horizontal"===i.orientation?"left":"bottom"]=c+"%",a(this).stop(1,1)[j?"animate":"css"](k,h.animate),i.options.range===!0&&("horizontal"===i.orientation?(0===d&&i.range.stop(1,1)[j?"animate":"css"]({left:c+"%"},h.animate),1===d&&i.range[j?"animate":"css"]({width:c-b+"%"},{queue:!1,duration:h.animate})):(0===d&&i.range.stop(1,1)[j?"animate":"css"]({bottom:c+"%"},h.animate),1===d&&i.range[j?"animate":"css"]({height:c-b+"%"},{queue:!1,duration:h.animate}))),b=c}):(d=this.value(),e=this._valueMin(),f=this._valueMax(),c=f!==e?(d-e)/(f-e)*100:0,k["horizontal"===this.orientation?"left":"bottom"]=c+"%",this.handle.stop(1,1)[j?"animate":"css"](k,h.animate),"min"===g&&"horizontal"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({width:c+"%"},h.animate),"max"===g&&"horizontal"===this.orientation&&this.range[j?"animate":"css"]({width:100-c+"%"},{queue:!1,duration:h.animate}),"min"===g&&"vertical"===this.orientation&&this.range.stop(1,1)[j?"animate":"css"]({height:c+"%"},h.animate),"max"===g&&"vertical"===this.orientation&&this.range[j?"animate":"css"]({height:100-c+"%"},{queue:!1,duration:h.animate}))},_handleEvents:{keydown:function(b){var c,d,e,f,g=a(b.target).data("ui-slider-handle-index");switch(b.keyCode){case a.ui.keyCode.HOME:case a.ui.keyCode.END:case a.ui.keyCode.PAGE_UP:case a.ui.keyCode.PAGE_DOWN:case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(b.preventDefault(),!this._keySliding&&(this._keySliding=!0,a(b.target).addClass("ui-state-active"),c=this._start(b,g),c===!1))return}switch(f=this.options.step,d=e=this.options.values&&this.options.values.length?this.values(g):this.value(),b.keyCode){case a.ui.keyCode.HOME:e=this._valueMin();break;case a.ui.keyCode.END:e=this._valueMax();break;case a.ui.keyCode.PAGE_UP:e=this._trimAlignValue(d+(this._valueMax()-this._valueMin())/this.numPages);break;case a.ui.keyCode.PAGE_DOWN:e=this._trimAlignValue(d-(this._valueMax()-this._valueMin())/this.numPages);break;case a.ui.keyCode.UP:case a.ui.keyCode.RIGHT:if(d===this._valueMax())return;e=this._trimAlignValue(d+f);break;case a.ui.keyCode.DOWN:case a.ui.keyCode.LEFT:if(d===this._valueMin())return;e=this._trimAlignValue(d-f)}this._slide(b,g,e)},keyup:function(b){var c=a(b.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(b,c),this._change(b,c),a(b.target).removeClass("ui-state-active"))}}})});
\ No newline at end of file
index 4c4d10260b648d703851142063535a5795730a42..2bc1d6e216c9340e33dde76e0aaeb2778dcdc829 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Sortable 1.11.2
+ * jQuery UI Sortable 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/sortable/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./mouse","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.sortable",a.ui.mouse,{version:"1.11.2",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},_isOverAxis:function(a,b,c){return a>=b&&b+c>a},_isFloating:function(a){return/left|right/.test(a.css("float"))||/inline|table-cell/.test(a.css("display"))},_create:function(){var a=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===a.axis||this._isFloating(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(a,b){this._super(a,b),"handle"===a&&this._setHandleClassName()},_setHandleClassName:function(){this.element.find(".ui-sortable-handle").removeClass("ui-sortable-handle"),a.each(this.items,function(){(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item).addClass("ui-sortable-handle")})},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").find(".ui-sortable-handle").removeClass("ui-sortable-handle"),this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(b,c){var d=null,e=!1,f=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(b),a(b.target).parents().each(function(){return a.data(this,f.widgetName+"-item")===f?(d=a(this),!1):void 0}),a.data(b.target,f.widgetName+"-item")===f&&(d=a(b.target)),d&&(!this.options.handle||c||(a(this.options.handle,d).find("*").addBack().each(function(){this===b.target&&(e=!0)}),e))?(this.currentItem=d,this._removeCurrentsFromItems(),!0):!1)},_mouseStart:function(b,c,d){var e,f,g=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),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},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.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(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,g.cursorAt&&this._adjustOffsetFromHelper(g.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),g.containment&&this._setContainment(),g.cursor&&"auto"!==g.cursor&&(f=this.document.find("body"),this.storedCursor=f.css("cursor"),f.css("cursor",g.cursor),this.storedStylesheet=a("<style>*{ cursor: "+g.cursor+" !important; }</style>").appendTo(f)),g.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",g.opacity)),g.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",g.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!d)for(e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("activate",b,this._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){var c,d,e,f,g=this.options,h=!1;for(this.position=this._generatePosition(b),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-b.pageY<g.scrollSensitivity?this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop+g.scrollSpeed:b.pageY-this.overflowOffset.top<g.scrollSensitivity&&(this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop-g.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<g.scrollSensitivity?this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft+g.scrollSpeed:b.pageX-this.overflowOffset.left<g.scrollSensitivity&&(this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft-g.scrollSpeed)):(b.pageY-a(document).scrollTop()<g.scrollSensitivity?h=a(document).scrollTop(a(document).scrollTop()-g.scrollSpeed):a(window).height()-(b.pageY-a(document).scrollTop())<g.scrollSensitivity&&(h=a(document).scrollTop(a(document).scrollTop()+g.scrollSpeed)),b.pageX-a(document).scrollLeft()<g.scrollSensitivity?h=a(document).scrollLeft(a(document).scrollLeft()-g.scrollSpeed):a(window).width()-(b.pageX-a(document).scrollLeft())<g.scrollSensitivity&&(h=a(document).scrollLeft(a(document).scrollLeft()+g.scrollSpeed))),h!==!1&&a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)),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"),c=this.items.length-1;c>=0;c--)if(d=this.items[c],e=d.item[0],f=this._intersectsWithPointer(d),f&&d.instance===this.currentContainer&&e!==this.currentItem[0]&&this.placeholder[1===f?"next":"prev"]()[0]!==e&&!a.contains(this.placeholder[0],e)&&("semi-dynamic"===this.options.type?!a.contains(this.element[0],e):!0)){if(this.direction=1===f?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(d))break;this._rearrange(b,d),this._trigger("change",b,this._uiHash());break}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(b){if(a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b),this.options.revert){var d=this,e=this.placeholder.offset(),f=this.options.axis,g={};f&&"x"!==f||(g.left=e.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),f&&"y"!==f||(g.top=e.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,a(this.helper).animate(g,parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);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 b=this.containers.length-1;b>=0;b--)this.containers[b]._trigger("deactivate",null,this._uiHash(this)),this.containers[b].containerCache.over&&(this.containers[b]._trigger("out",null,this._uiHash(this)),this.containers[b].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(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[\-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l="x"===this.options.axis||d+j>h&&i>d+j,m="y"===this.options.axis||b+k>f&&g>b+k,n=l&&m;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?n:f<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<g&&h<d+this.helperProportions.height/2&&e-this.helperProportions.height/2<i},_intersectsWithPointer:function(a){var b="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height),c="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width),d=b&&c,e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return d?this.floating?f&&"right"===f||"down"===e?2:1:e&&("down"===e?2:1):!1},_intersectsWithSides:function(a){var b=this._isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height),c=this._isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width),d=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?"right"===e&&c||"left"===e&&!c:d&&("down"===d&&b||"up"===d&&!b)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return 0!==a&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return 0!==a&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor===String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){function c(){h.push(this)}var d,e,f,g,h=[],i=[],j=this._connectWith();if(j&&b)for(d=j.length-1;d>=0;d--)for(f=a(j[d]),e=f.length-1;e>=0;e--)g=a.data(f[e],this.widgetFullName),g&&g!==this&&!g.options.disabled&&i.push([a.isFunction(g.options.items)?g.options.items.call(g.element):a(g.options.items,g.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),g]);for(i.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),d=i.length-1;d>=0;d--)i[d][0].each(c);return a(h)},_removeCurrentsFromItems:function(){var b=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=a.grep(this.items,function(a){for(var c=0;c<b.length;c++)if(b[c]===a.item[0])return!1;return!0})},_refreshItems:function(b){this.items=[],this.containers=[this];var c,d,e,f,g,h,i,j,k=this.items,l=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],m=this._connectWith();if(m&&this.ready)for(c=m.length-1;c>=0;c--)for(e=a(m[c]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&(l.push([a.isFunction(f.options.items)?f.options.items.call(f.element[0],b,{item:this.currentItem}):a(f.options.items,f.element),f]),this.containers.push(f));for(c=l.length-1;c>=0;c--)for(g=l[c][1],h=l[c][0],d=0,j=h.length;j>d;d++)i=a(h[d]),i.data(this.widgetName+"-item",g),k.push({item:i,instance:g,width:0,height:0,left:0,top:0})},refreshPositions:function(b){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var c,d,e,f;for(c=this.items.length-1;c>=0;c--)d=this.items[c],d.instance!==this.currentContainer&&this.currentContainer&&d.item[0]!==this.currentItem[0]||(e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item,b||(d.width=e.outerWidth(),d.height=e.outerHeight()),f=e.offset(),d.left=f.left,d.top=f.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(c=this.containers.length-1;c>=0;c--)f=this.containers[c].element.offset(),this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight();return this},_createPlaceholder:function(b){b=b||this;var c,d=b.options;d.placeholder&&d.placeholder.constructor!==String||(c=d.placeholder,d.placeholder={element:function(){var d=b.currentItem[0].nodeName.toLowerCase(),e=a("<"+d+">",b.document[0]).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===d?b.currentItem.children().each(function(){a("<td>&#160;</td>",b.document[0]).attr("colspan",a(this).attr("colspan")||1).appendTo(e)}):"img"===d&&e.attr("src",b.currentItem.attr("src")),c||e.css("visibility","hidden"),e},update:function(a,e){(!c||d.forcePlaceholderSize)&&(e.height()||e.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10)),e.width()||e.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10)))}}),b.placeholder=a(d.placeholder.element.call(b.element,b.currentItem)),b.currentItem.after(b.placeholder),d.placeholder.update(b,b.placeholder)},_contactContainers:function(b){var c,d,e,f,g,h,i,j,k,l,m=null,n=null;for(c=this.containers.length-1;c>=0;c--)if(!a.contains(this.currentItem[0],this.containers[c].element[0]))if(this._intersectsWith(this.containers[c].containerCache)){if(m&&a.contains(this.containers[c].element[0],m.element[0]))continue;m=this.containers[c],n=c}else this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",b,this._uiHash(this)),this.containers[c].containerCache.over=0);if(m)if(1===this.containers.length)this.containers[n].containerCache.over||(this.containers[n]._trigger("over",b,this._uiHash(this)),this.containers[n].containerCache.over=1);else{for(e=1e4,f=null,k=m.floating||this._isFloating(this.currentItem),g=k?"left":"top",h=k?"width":"height",l=k?"clientX":"clientY",d=this.items.length-1;d>=0;d--)a.contains(this.containers[n].element[0],this.items[d].item[0])&&this.items[d].item[0]!==this.currentItem[0]&&(i=this.items[d].item.offset()[g],j=!1,b[l]-i>this.items[d][h]/2&&(j=!0),Math.abs(b[l]-i)<e&&(e=Math.abs(b[l]-i),f=this.items[d],this.direction=j?"up":"down"));if(!f&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[n])return void(this.currentContainer.containerCache.over||(this.containers[n]._trigger("over",b,this._uiHash()),this.currentContainer.containerCache.over=1));f?this._rearrange(b,f,null,!0):this._rearrange(b,null,this.containers[n].element,!0),this._trigger("change",b,this._uiHash()),this.containers[n]._trigger("change",b,this._uiHash(this)),this.currentContainer=this.containers[n],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[n]._trigger("over",b,this._uiHash(this)),this.containers[n].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):"clone"===c.helper?this.currentItem.clone():this.currentItem;return d.parents("body").length||a("parent"!==c.appendTo?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[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")}),(!d[0].style.width||c.forceHelperSize)&&d.width(this.currentItem.width()),(!d[0].style.height||c.forceHelperSize)&&d.height(this.currentItem.height()),d},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&a.ui.ie)&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.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 b,c,d,e=this.options;"parent"===e.containment&&(e.containment=this.helper[0].parentNode),("document"===e.containment||"window"===e.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a("document"===e.containment?document:window).width()-this.helperProportions.width-this.margins.left,(a("document"===e.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(e.containment)||(b=a(e.containment)[0],c=a(e.containment).offset(),d="hidden"!==a(b).css("overflow"),this.containment=[c.left+(parseInt(a(b).css("borderLeftWidth"),10)||0)+(parseInt(a(b).css("paddingLeft"),10)||0)-this.margins.left,c.top+(parseInt(a(b).css("borderTopWidth"),10)||0)+(parseInt(a(b).css("paddingTop"),10)||0)-this.margins.top,c.left+(d?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(a(b).css("borderLeftWidth"),10)||0)-(parseInt(a(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,c.top+(d?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(a(b).css("borderTopWidth"),10)||0)-(parseInt(a(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(b,c){c||(c=this.position);var d="absolute"===b?1:-1,e="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,f=/(html|body)/i.test(e[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():f?0:e.scrollTop())*d,left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():f?0:e.scrollLeft())*d}},_generatePosition:function(b){var c,d,e=this.options,f=b.pageX,g=b.pageY,h="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=/(html|body)/i.test(h[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&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top)),e.grid&&(c=this.originalPageY+Math.round((g-this.originalPageY)/e.grid[1])*e.grid[1],g=this.containment?c-this.offset.click.top>=this.containment[1]&&c-this.offset.click.top<=this.containment[3]?c:c-this.offset.click.top>=this.containment[1]?c-e.grid[1]:c+e.grid[1]:c,d=this.originalPageX+Math.round((f-this.originalPageX)/e.grid[0])*e.grid[0],f=this.containment?d-this.offset.click.left>=this.containment[0]&&d-this.offset.click.left<=this.containment[2]?d:d-this.offset.click.left>=this.containment[0]?d-e.grid[0]:d+e.grid[0]:d)),{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():i?0:h.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():i?0:h.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this.counter;this._delay(function(){e===this.counter&&this.refreshPositions(!d)})},_clear:function(a,b){function c(a,b,c){return function(d){c._trigger(a,d,b._uiHash(b))}}this.reverting=!1;var d,e=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(d in this._storedCSS)("auto"===this._storedCSS[d]||"static"===this._storedCSS[d])&&(this._storedCSS[d]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!b&&e.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||b||e.push(function(a){this._trigger("update",a,this._uiHash())}),this!==this.currentContainer&&(b||(e.push(function(a){this._trigger("remove",a,this._uiHash())}),e.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.currentContainer)),e.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.currentContainer)))),d=this.containers.length-1;d>=0;d--)b||e.push(c("deactivate",this,this.containers[d])),this.containers[d].containerCache.over&&(e.push(c("out",this,this.containers[d])),this.containers[d].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,b||this._trigger("beforeStop",a,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!b){for(d=0;d<e.length;d++)e[d].call(this,a);this._trigger("stop",a,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}})});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./mouse","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.sortable",a.ui.mouse,{version:"1.11.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},_isOverAxis:function(a,b,c){return a>=b&&b+c>a},_isFloating:function(a){return/left|right/.test(a.css("float"))||/inline|table-cell/.test(a.css("display"))},_create:function(){this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(a,b){this._super(a,b),"handle"===a&&this._setHandleClassName()},_setHandleClassName:function(){this.element.find(".ui-sortable-handle").removeClass("ui-sortable-handle"),a.each(this.items,function(){(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item).addClass("ui-sortable-handle")})},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").find(".ui-sortable-handle").removeClass("ui-sortable-handle"),this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(b,c){var d=null,e=!1,f=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(b),a(b.target).parents().each(function(){return a.data(this,f.widgetName+"-item")===f?(d=a(this),!1):void 0}),a.data(b.target,f.widgetName+"-item")===f&&(d=a(b.target)),d&&(!this.options.handle||c||(a(this.options.handle,d).find("*").addBack().each(function(){this===b.target&&(e=!0)}),e))?(this.currentItem=d,this._removeCurrentsFromItems(),!0):!1)},_mouseStart:function(b,c,d){var e,f,g=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(b),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},a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.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(b),this.originalPageX=b.pageX,this.originalPageY=b.pageY,g.cursorAt&&this._adjustOffsetFromHelper(g.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),g.containment&&this._setContainment(),g.cursor&&"auto"!==g.cursor&&(f=this.document.find("body"),this.storedCursor=f.css("cursor"),f.css("cursor",g.cursor),this.storedStylesheet=a("<style>*{ cursor: "+g.cursor+" !important; }</style>").appendTo(f)),g.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",g.opacity)),g.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",g.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",b,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!d)for(e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("activate",b,this._uiHash(this));return a.ui.ddmanager&&(a.ui.ddmanager.current=this),a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(b),!0},_mouseDrag:function(b){var c,d,e,f,g=this.options,h=!1;for(this.position=this._generatePosition(b),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-b.pageY<g.scrollSensitivity?this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop+g.scrollSpeed:b.pageY-this.overflowOffset.top<g.scrollSensitivity&&(this.scrollParent[0].scrollTop=h=this.scrollParent[0].scrollTop-g.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-b.pageX<g.scrollSensitivity?this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft+g.scrollSpeed:b.pageX-this.overflowOffset.left<g.scrollSensitivity&&(this.scrollParent[0].scrollLeft=h=this.scrollParent[0].scrollLeft-g.scrollSpeed)):(b.pageY-this.document.scrollTop()<g.scrollSensitivity?h=this.document.scrollTop(this.document.scrollTop()-g.scrollSpeed):this.window.height()-(b.pageY-this.document.scrollTop())<g.scrollSensitivity&&(h=this.document.scrollTop(this.document.scrollTop()+g.scrollSpeed)),b.pageX-this.document.scrollLeft()<g.scrollSensitivity?h=this.document.scrollLeft(this.document.scrollLeft()-g.scrollSpeed):this.window.width()-(b.pageX-this.document.scrollLeft())<g.scrollSensitivity&&(h=this.document.scrollLeft(this.document.scrollLeft()+g.scrollSpeed))),h!==!1&&a.ui.ddmanager&&!g.dropBehaviour&&a.ui.ddmanager.prepareOffsets(this,b)),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"),c=this.items.length-1;c>=0;c--)if(d=this.items[c],e=d.item[0],f=this._intersectsWithPointer(d),f&&d.instance===this.currentContainer&&e!==this.currentItem[0]&&this.placeholder[1===f?"next":"prev"]()[0]!==e&&!a.contains(this.placeholder[0],e)&&("semi-dynamic"===this.options.type?!a.contains(this.element[0],e):!0)){if(this.direction=1===f?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(d))break;this._rearrange(b,d),this._trigger("change",b,this._uiHash());break}return this._contactContainers(b),a.ui.ddmanager&&a.ui.ddmanager.drag(this,b),this._trigger("sort",b,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(b,c){if(b){if(a.ui.ddmanager&&!this.options.dropBehaviour&&a.ui.ddmanager.drop(this,b),this.options.revert){var d=this,e=this.placeholder.offset(),f=this.options.axis,g={};f&&"x"!==f||(g.left=e.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),f&&"y"!==f||(g.top=e.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,a(this.helper).animate(g,parseInt(this.options.revert,10)||500,function(){d._clear(b)})}else this._clear(b,c);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 b=this.containers.length-1;b>=0;b--)this.containers[b]._trigger("deactivate",null,this._uiHash(this)),this.containers[b].containerCache.over&&(this.containers[b]._trigger("out",null,this._uiHash(this)),this.containers[b].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(),a.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?a(this.domPosition.prev).after(this.currentItem):a(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},a(c).each(function(){var c=(a(b.item||this).attr(b.attribute||"id")||"").match(b.expression||/(.+)[\-=_](.+)/);c&&d.push((b.key||c[1]+"[]")+"="+(b.key&&b.expression?c[1]:c[2]))}),!d.length&&b.key&&d.push(b.key+"="),d.join("&")},toArray:function(b){var c=this._getItemsAsjQuery(b&&b.connected),d=[];return b=b||{},c.each(function(){d.push(a(b.item||this).attr(b.attribute||"id")||"")}),d},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,d=this.positionAbs.top,e=d+this.helperProportions.height,f=a.left,g=f+a.width,h=a.top,i=h+a.height,j=this.offset.click.top,k=this.offset.click.left,l="x"===this.options.axis||d+j>h&&i>d+j,m="y"===this.options.axis||b+k>f&&g>b+k,n=l&&m;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?n:f<b+this.helperProportions.width/2&&c-this.helperProportions.width/2<g&&h<d+this.helperProportions.height/2&&e-this.helperProportions.height/2<i},_intersectsWithPointer:function(a){var b="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height),c="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width),d=b&&c,e=this._getDragVerticalDirection(),f=this._getDragHorizontalDirection();return d?this.floating?f&&"right"===f||"down"===e?2:1:e&&("down"===e?2:1):!1},_intersectsWithSides:function(a){var b=this._isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height),c=this._isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width),d=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?"right"===e&&c||"left"===e&&!c:d&&("down"===d&&b||"up"===d&&!b)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return 0!==a&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return 0!==a&&(a>0?"right":"left")},refresh:function(a){return this._refreshItems(a),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var a=this.options;return a.connectWith.constructor===String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(b){function c(){h.push(this)}var d,e,f,g,h=[],i=[],j=this._connectWith();if(j&&b)for(d=j.length-1;d>=0;d--)for(f=a(j[d],this.document[0]),e=f.length-1;e>=0;e--)g=a.data(f[e],this.widgetFullName),g&&g!==this&&!g.options.disabled&&i.push([a.isFunction(g.options.items)?g.options.items.call(g.element):a(g.options.items,g.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),g]);for(i.push([a.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):a(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),d=i.length-1;d>=0;d--)i[d][0].each(c);return a(h)},_removeCurrentsFromItems:function(){var b=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=a.grep(this.items,function(a){for(var c=0;c<b.length;c++)if(b[c]===a.item[0])return!1;return!0})},_refreshItems:function(b){this.items=[],this.containers=[this];var c,d,e,f,g,h,i,j,k=this.items,l=[[a.isFunction(this.options.items)?this.options.items.call(this.element[0],b,{item:this.currentItem}):a(this.options.items,this.element),this]],m=this._connectWith();if(m&&this.ready)for(c=m.length-1;c>=0;c--)for(e=a(m[c],this.document[0]),d=e.length-1;d>=0;d--)f=a.data(e[d],this.widgetFullName),f&&f!==this&&!f.options.disabled&&(l.push([a.isFunction(f.options.items)?f.options.items.call(f.element[0],b,{item:this.currentItem}):a(f.options.items,f.element),f]),this.containers.push(f));for(c=l.length-1;c>=0;c--)for(g=l[c][1],h=l[c][0],d=0,j=h.length;j>d;d++)i=a(h[d]),i.data(this.widgetName+"-item",g),k.push({item:i,instance:g,width:0,height:0,left:0,top:0})},refreshPositions:function(b){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var c,d,e,f;for(c=this.items.length-1;c>=0;c--)d=this.items[c],d.instance!==this.currentContainer&&this.currentContainer&&d.item[0]!==this.currentItem[0]||(e=this.options.toleranceElement?a(this.options.toleranceElement,d.item):d.item,b||(d.width=e.outerWidth(),d.height=e.outerHeight()),f=e.offset(),d.left=f.left,d.top=f.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(c=this.containers.length-1;c>=0;c--)f=this.containers[c].element.offset(),this.containers[c].containerCache.left=f.left,this.containers[c].containerCache.top=f.top,this.containers[c].containerCache.width=this.containers[c].element.outerWidth(),this.containers[c].containerCache.height=this.containers[c].element.outerHeight();return this},_createPlaceholder:function(b){b=b||this;var c,d=b.options;d.placeholder&&d.placeholder.constructor!==String||(c=d.placeholder,d.placeholder={element:function(){var d=b.currentItem[0].nodeName.toLowerCase(),e=a("<"+d+">",b.document[0]).addClass(c||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tbody"===d?b._createTrPlaceholder(b.currentItem.find("tr").eq(0),a("<tr>",b.document[0]).appendTo(e)):"tr"===d?b._createTrPlaceholder(b.currentItem,e):"img"===d&&e.attr("src",b.currentItem.attr("src")),c||e.css("visibility","hidden"),e},update:function(a,e){(!c||d.forcePlaceholderSize)&&(e.height()||e.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10)),e.width()||e.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10)))}}),b.placeholder=a(d.placeholder.element.call(b.element,b.currentItem)),b.currentItem.after(b.placeholder),d.placeholder.update(b,b.placeholder)},_createTrPlaceholder:function(b,c){var d=this;b.children().each(function(){a("<td>&#160;</td>",d.document[0]).attr("colspan",a(this).attr("colspan")||1).appendTo(c)})},_contactContainers:function(b){var c,d,e,f,g,h,i,j,k,l,m=null,n=null;for(c=this.containers.length-1;c>=0;c--)if(!a.contains(this.currentItem[0],this.containers[c].element[0]))if(this._intersectsWith(this.containers[c].containerCache)){if(m&&a.contains(this.containers[c].element[0],m.element[0]))continue;m=this.containers[c],n=c}else this.containers[c].containerCache.over&&(this.containers[c]._trigger("out",b,this._uiHash(this)),this.containers[c].containerCache.over=0);if(m)if(1===this.containers.length)this.containers[n].containerCache.over||(this.containers[n]._trigger("over",b,this._uiHash(this)),this.containers[n].containerCache.over=1);else{for(e=1e4,f=null,k=m.floating||this._isFloating(this.currentItem),g=k?"left":"top",h=k?"width":"height",l=k?"clientX":"clientY",d=this.items.length-1;d>=0;d--)a.contains(this.containers[n].element[0],this.items[d].item[0])&&this.items[d].item[0]!==this.currentItem[0]&&(i=this.items[d].item.offset()[g],j=!1,b[l]-i>this.items[d][h]/2&&(j=!0),Math.abs(b[l]-i)<e&&(e=Math.abs(b[l]-i),f=this.items[d],this.direction=j?"up":"down"));if(!f&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[n])return void(this.currentContainer.containerCache.over||(this.containers[n]._trigger("over",b,this._uiHash()),this.currentContainer.containerCache.over=1));f?this._rearrange(b,f,null,!0):this._rearrange(b,null,this.containers[n].element,!0),this._trigger("change",b,this._uiHash()),this.containers[n]._trigger("change",b,this._uiHash(this)),this.currentContainer=this.containers[n],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[n]._trigger("over",b,this._uiHash(this)),this.containers[n].containerCache.over=1}},_createHelper:function(b){var c=this.options,d=a.isFunction(c.helper)?a(c.helper.apply(this.element[0],[b,this.currentItem])):"clone"===c.helper?this.currentItem.clone():this.currentItem;return d.parents("body").length||a("parent"!==c.appendTo?c.appendTo:this.currentItem[0].parentNode)[0].appendChild(d[0]),d[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")}),(!d[0].style.width||c.forceHelperSize)&&d.width(this.currentItem.width()),(!d[0].style.height||c.forceHelperSize)&&d.height(this.currentItem.height()),d},_adjustOffsetFromHelper:function(b){"string"==typeof b&&(b=b.split(" ")),a.isArray(b)&&(b={left:+b[0],top:+b[1]||0}),"left"in b&&(this.offset.click.left=b.left+this.margins.left),"right"in b&&(this.offset.click.left=this.helperProportions.width-b.right+this.margins.left),"top"in b&&(this.offset.click.top=b.top+this.margins.top),"bottom"in b&&(this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&a.contains(this.scrollParent[0],this.offsetParent[0])&&(b.left+=this.scrollParent.scrollLeft(),b.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&a.ui.ie)&&(b={top:0,left:0}),{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var a=this.currentItem.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.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 b,c,d,e=this.options;"parent"===e.containment&&(e.containment=this.helper[0].parentNode),("document"===e.containment||"window"===e.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===e.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===e.containment?this.document.width():this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(e.containment)||(b=a(e.containment)[0],c=a(e.containment).offset(),d="hidden"!==a(b).css("overflow"),this.containment=[c.left+(parseInt(a(b).css("borderLeftWidth"),10)||0)+(parseInt(a(b).css("paddingLeft"),10)||0)-this.margins.left,c.top+(parseInt(a(b).css("borderTopWidth"),10)||0)+(parseInt(a(b).css("paddingTop"),10)||0)-this.margins.top,c.left+(d?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(a(b).css("borderLeftWidth"),10)||0)-(parseInt(a(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,c.top+(d?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(a(b).css("borderTopWidth"),10)||0)-(parseInt(a(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(b,c){c||(c=this.position);var d="absolute"===b?1:-1,e="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,f=/(html|body)/i.test(e[0].tagName);return{top:c.top+this.offset.relative.top*d+this.offset.parent.top*d-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():f?0:e.scrollTop())*d,left:c.left+this.offset.relative.left*d+this.offset.parent.left*d-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():f?0:e.scrollLeft())*d}},_generatePosition:function(b){var c,d,e=this.options,f=b.pageX,g=b.pageY,h="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&a.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,i=/(html|body)/i.test(h[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(b.pageX-this.offset.click.left<this.containment[0]&&(f=this.containment[0]+this.offset.click.left),b.pageY-this.offset.click.top<this.containment[1]&&(g=this.containment[1]+this.offset.click.top),b.pageX-this.offset.click.left>this.containment[2]&&(f=this.containment[2]+this.offset.click.left),b.pageY-this.offset.click.top>this.containment[3]&&(g=this.containment[3]+this.offset.click.top)),e.grid&&(c=this.originalPageY+Math.round((g-this.originalPageY)/e.grid[1])*e.grid[1],g=this.containment?c-this.offset.click.top>=this.containment[1]&&c-this.offset.click.top<=this.containment[3]?c:c-this.offset.click.top>=this.containment[1]?c-e.grid[1]:c+e.grid[1]:c,d=this.originalPageX+Math.round((f-this.originalPageX)/e.grid[0])*e.grid[0],f=this.containment?d-this.offset.click.left>=this.containment[0]&&d-this.offset.click.left<=this.containment[2]?d:d-this.offset.click.left>=this.containment[0]?d-e.grid[0]:d+e.grid[0]:d)),{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():i?0:h.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():i?0:h.scrollLeft())}},_rearrange:function(a,b,c,d){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?b.item[0]:b.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var e=this.counter;this._delay(function(){e===this.counter&&this.refreshPositions(!d)})},_clear:function(a,b){function c(a,b,c){return function(d){c._trigger(a,d,b._uiHash(b))}}this.reverting=!1;var d,e=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(d in this._storedCSS)("auto"===this._storedCSS[d]||"static"===this._storedCSS[d])&&(this._storedCSS[d]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!b&&e.push(function(a){this._trigger("receive",a,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||b||e.push(function(a){this._trigger("update",a,this._uiHash())}),this!==this.currentContainer&&(b||(e.push(function(a){this._trigger("remove",a,this._uiHash())}),e.push(function(a){return function(b){a._trigger("receive",b,this._uiHash(this))}}.call(this,this.currentContainer)),e.push(function(a){return function(b){a._trigger("update",b,this._uiHash(this))}}.call(this,this.currentContainer)))),d=this.containers.length-1;d>=0;d--)b||e.push(c("deactivate",this,this.containers[d])),this.containers[d].containerCache.over&&(e.push(c("out",this,this.containers[d])),this.containers[d].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,b||this._trigger("beforeStop",a,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!b){for(d=0;d<e.length;d++)e[d].call(this,a);this._trigger("stop",a,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){a.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(b){var c=b||this;return{helper:c.helper,placeholder:c.placeholder||a([]),position:c.position,originalPosition:c.originalPosition,offset:c.positionAbs,item:c.currentItem,sender:b?b.element:null}}})});
\ No newline at end of file
index c599c8a39ff4301c222e87578061f6358417db33..79b101ef91f4e4414057dd2f4dac8ee27d26546e 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Spinner 1.11.2
+ * jQuery UI Spinner 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/spinner/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget","./button"],a):a(jQuery)}(function(a){function b(a){return function(){var b=this.element.val();a.apply(this,arguments),this._refresh(),b!==this.element.val()&&this._trigger("change")}}return a.widget("ui.spinner",{version:"1.11.2",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 b={},c=this.element;return a.each(["min","max","step"],function(a,d){var e=c.attr(d);void 0!==e&&e.length&&(b[d]=e)}),b},_events:{keydown:function(a){this._start(a)&&this._keydown(a)&&a.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(a){return this.cancelBlur?void delete this.cancelBlur:(this._stop(),this._refresh(),void(this.previous!==this.element.val()&&this._trigger("change",a)))},mousewheel:function(a,b){if(b){if(!this.spinning&&!this._start(a))return!1;this._spin((b>0?1:-1)*this.options.step,a),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(a)},100),a.preventDefault()}},"mousedown .ui-spinner-button":function(b){function c(){var a=this.element[0]===this.document[0].activeElement;a||(this.element.focus(),this.previous=d,this._delay(function(){this.previous=d}))}var d;d=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),b.preventDefault(),c.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,c.call(this)}),this._start(b)!==!1&&this._repeat(null,a(b.currentTarget).hasClass("ui-spinner-up")?1:-1,b)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(b){return a(b.currentTarget).hasClass("ui-state-active")?this._start(b)===!1?!1:void this._repeat(null,a(b.currentTarget).hasClass("ui-spinner-up")?1:-1,b):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var a=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=a.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*a.height())&&a.height()>0&&a.height(a.height()),this.options.disabled&&this.disable()},_keydown:function(b){var c=this.options,d=a.ui.keyCode;switch(b.keyCode){case d.UP:return this._repeat(null,1,b),!0;case d.DOWN:return this._repeat(null,-1,b),!0;case d.PAGE_UP:return this._repeat(null,c.page,b),!0;case d.PAGE_DOWN:return this._repeat(null,-c.page,b),!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(a){return this.spinning||this._trigger("start",a)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(a,b,c){a=a||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,b,c)},a),this._spin(b*this.options.step,c)},_spin:function(a,b){var c=this.value()||0;this.counter||(this.counter=1),c=this._adjustValue(c+a*this._increment(this.counter)),this.spinning&&this._trigger("spin",b,{value:c})===!1||(this._value(c),this.counter++)},_increment:function(b){var c=this.options.incremental;return c?a.isFunction(c)?c(b):Math.floor(b*b*b/5e4-b*b/500+17*b/200+1):1},_precision:function(){var a=this._precisionOf(this.options.step);return null!==this.options.min&&(a=Math.max(a,this._precisionOf(this.options.min))),a},_precisionOf:function(a){var b=a.toString(),c=b.indexOf(".");return-1===c?0:b.length-c-1},_adjustValue:function(a){var b,c,d=this.options;return b=null!==d.min?d.min:0,c=a-b,c=Math.round(c/d.step)*d.step,a=b+c,a=parseFloat(a.toFixed(this._precision())),null!==d.max&&a>d.max?d.max:null!==d.min&&a<d.min?d.min:a},_stop:function(a){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",a))},_setOption:function(a,b){if("culture"===a||"numberFormat"===a){var c=this._parse(this.element.val());return this.options[a]=b,void this.element.val(this._format(c))}("max"===a||"min"===a||"step"===a)&&"string"==typeof b&&(b=this._parse(b)),"icons"===a&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(b.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(b.down)),this._super(a,b),"disabled"===a&&(this.widget().toggleClass("ui-state-disabled",!!b),this.element.prop("disabled",!!b),this.buttons.button(b?"disable":"enable"))},_setOptions:b(function(a){this._super(a)}),_parse:function(a){return"string"==typeof a&&""!==a&&(a=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(a,10,this.options.culture):+a),""===a||isNaN(a)?null:a},_format:function(a){return""===a?"":window.Globalize&&this.options.numberFormat?Globalize.format(a,this.options.numberFormat,this.options.culture):a},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var a=this.value();return null===a?!1:a===this._adjustValue(a)},_value:function(a,b){var c;""!==a&&(c=this._parse(a),null!==c&&(b||(c=this._adjustValue(c)),a=this._format(c))),this.element.val(a),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:b(function(a){this._stepUp(a)}),_stepUp:function(a){this._start()&&(this._spin((a||1)*this.options.step),this._stop())},stepDown:b(function(a){this._stepDown(a)}),_stepDown:function(a){this._start()&&(this._spin((a||1)*-this.options.step),this._stop())},pageUp:b(function(a){this._stepUp((a||1)*this.options.page)}),pageDown:b(function(a){this._stepDown((a||1)*this.options.page)}),value:function(a){return arguments.length?void b(this._value).call(this,a):this._parse(this.element.val())},widget:function(){return this.uiSpinner}})});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget","./button"],a):a(jQuery)}(function(a){function b(a){return function(){var b=this.element.val();a.apply(this,arguments),this._refresh(),b!==this.element.val()&&this._trigger("change")}}return a.widget("ui.spinner",{version:"1.11.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 b={},c=this.element;return a.each(["min","max","step"],function(a,d){var e=c.attr(d);void 0!==e&&e.length&&(b[d]=e)}),b},_events:{keydown:function(a){this._start(a)&&this._keydown(a)&&a.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(a){return this.cancelBlur?void delete this.cancelBlur:(this._stop(),this._refresh(),void(this.previous!==this.element.val()&&this._trigger("change",a)))},mousewheel:function(a,b){if(b){if(!this.spinning&&!this._start(a))return!1;this._spin((b>0?1:-1)*this.options.step,a),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(a)},100),a.preventDefault()}},"mousedown .ui-spinner-button":function(b){function c(){var a=this.element[0]===this.document[0].activeElement;a||(this.element.focus(),this.previous=d,this._delay(function(){this.previous=d}))}var d;d=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),b.preventDefault(),c.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,c.call(this)}),this._start(b)!==!1&&this._repeat(null,a(b.currentTarget).hasClass("ui-spinner-up")?1:-1,b)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(b){return a(b.currentTarget).hasClass("ui-state-active")?this._start(b)===!1?!1:void this._repeat(null,a(b.currentTarget).hasClass("ui-spinner-up")?1:-1,b):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var a=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=a.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*a.height())&&a.height()>0&&a.height(a.height()),this.options.disabled&&this.disable()},_keydown:function(b){var c=this.options,d=a.ui.keyCode;switch(b.keyCode){case d.UP:return this._repeat(null,1,b),!0;case d.DOWN:return this._repeat(null,-1,b),!0;case d.PAGE_UP:return this._repeat(null,c.page,b),!0;case d.PAGE_DOWN:return this._repeat(null,-c.page,b),!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(a){return this.spinning||this._trigger("start",a)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(a,b,c){a=a||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,b,c)},a),this._spin(b*this.options.step,c)},_spin:function(a,b){var c=this.value()||0;this.counter||(this.counter=1),c=this._adjustValue(c+a*this._increment(this.counter)),this.spinning&&this._trigger("spin",b,{value:c})===!1||(this._value(c),this.counter++)},_increment:function(b){var c=this.options.incremental;return c?a.isFunction(c)?c(b):Math.floor(b*b*b/5e4-b*b/500+17*b/200+1):1},_precision:function(){var a=this._precisionOf(this.options.step);return null!==this.options.min&&(a=Math.max(a,this._precisionOf(this.options.min))),a},_precisionOf:function(a){var b=a.toString(),c=b.indexOf(".");return-1===c?0:b.length-c-1},_adjustValue:function(a){var b,c,d=this.options;return b=null!==d.min?d.min:0,c=a-b,c=Math.round(c/d.step)*d.step,a=b+c,a=parseFloat(a.toFixed(this._precision())),null!==d.max&&a>d.max?d.max:null!==d.min&&a<d.min?d.min:a},_stop:function(a){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",a))},_setOption:function(a,b){if("culture"===a||"numberFormat"===a){var c=this._parse(this.element.val());return this.options[a]=b,void this.element.val(this._format(c))}("max"===a||"min"===a||"step"===a)&&"string"==typeof b&&(b=this._parse(b)),"icons"===a&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(b.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(b.down)),this._super(a,b),"disabled"===a&&(this.widget().toggleClass("ui-state-disabled",!!b),this.element.prop("disabled",!!b),this.buttons.button(b?"disable":"enable"))},_setOptions:b(function(a){this._super(a)}),_parse:function(a){return"string"==typeof a&&""!==a&&(a=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(a,10,this.options.culture):+a),""===a||isNaN(a)?null:a},_format:function(a){return""===a?"":window.Globalize&&this.options.numberFormat?Globalize.format(a,this.options.numberFormat,this.options.culture):a},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var a=this.value();return null===a?!1:a===this._adjustValue(a)},_value:function(a,b){var c;""!==a&&(c=this._parse(a),null!==c&&(b||(c=this._adjustValue(c)),a=this._format(c))),this.element.val(a),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:b(function(a){this._stepUp(a)}),_stepUp:function(a){this._start()&&(this._spin((a||1)*this.options.step),this._stop())},stepDown:b(function(a){this._stepDown(a)}),_stepDown:function(a){this._start()&&(this._spin((a||1)*-this.options.step),this._stop())},pageUp:b(function(a){this._stepUp((a||1)*this.options.page)}),pageDown:b(function(a){this._stepDown((a||1)*this.options.page)}),value:function(a){return arguments.length?void b(this._value).call(this,a):this._parse(this.element.val())},widget:function(){return this.uiSpinner}})});
\ No newline at end of file
index 460e3e37b6b7e2d54a61707e89ee451b199c0987..f4a3f5c459e14feab0743d8d982e00d626a65fa7 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Tabs 1.11.2
+ * jQuery UI Tabs 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/tabs/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.tabs",{version:"1.11.2",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var a=/#.*$/;return function(b){var c,d;b=b.cloneNode(!1),c=b.href.replace(a,""),d=location.href.replace(a,"");try{c=decodeURIComponent(c)}catch(e){}try{d=decodeURIComponent(d)}catch(e){}return b.hash.length>1&&c===d}}(),_create:function(){var b=this,c=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",c.collapsible),this._processTabs(),c.active=this._initialActive(),a.isArray(c.disabled)&&(c.disabled=a.unique(c.disabled.concat(a.map(this.tabs.filter(".ui-state-disabled"),function(a){return b.tabs.index(a)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(c.active):a(),this._refresh(),this.active.length&&this.load(c.active)},_initialActive:function(){var b=this.options.active,c=this.options.collapsible,d=location.hash.substring(1);return null===b&&(d&&this.tabs.each(function(c,e){return a(e).attr("aria-controls")===d?(b=c,!1):void 0}),null===b&&(b=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===b||-1===b)&&(b=this.tabs.length?0:!1)),b!==!1&&(b=this.tabs.index(this.tabs.eq(b)),-1===b&&(b=c?!1:0)),!c&&b===!1&&this.anchors.length&&(b=0),b},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):a()}},_tabKeydown:function(b){var c=a(this.document[0].activeElement).closest("li"),d=this.tabs.index(c),e=!0;if(!this._handlePageNav(b)){switch(b.keyCode){case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:d++;break;case a.ui.keyCode.UP:case a.ui.keyCode.LEFT:e=!1,d--;break;case a.ui.keyCode.END:d=this.anchors.length-1;break;case a.ui.keyCode.HOME:d=0;break;case a.ui.keyCode.SPACE:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d);case a.ui.keyCode.ENTER:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d===this.options.active?!1:d);default:return}b.preventDefault(),clearTimeout(this.activating),d=this._focusNextTab(d,e),b.ctrlKey||(c.attr("aria-selected","false"),this.tabs.eq(d).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",d)},this.delay))}},_panelKeydown:function(b){this._handlePageNav(b)||b.ctrlKey&&b.keyCode===a.ui.keyCode.UP&&(b.preventDefault(),this.active.focus())},_handlePageNav:function(b){return b.altKey&&b.keyCode===a.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):b.altKey&&b.keyCode===a.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(b,c){function d(){return b>e&&(b=0),0>b&&(b=e),b}for(var e=this.tabs.length-1;-1!==a.inArray(d(),this.options.disabled);)b=c?b+1:b-1;return b},_focusNextTab:function(a,b){return a=this._findNextTab(a,b),this.tabs.eq(a).focus(),a},_setOption:function(a,b){return"active"===a?void this._activate(b):"disabled"===a?void this._setupDisabled(b):(this._super(a,b),"collapsible"===a&&(this.element.toggleClass("ui-tabs-collapsible",b),b||this.options.active!==!1||this._activate(0)),"event"===a&&this._setupEvents(b),void("heightStyle"===a&&this._setupHeightStyle(b)))},_sanitizeSelector:function(a){return a?a.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var b=this.options,c=this.tablist.children(":has(a[href])");b.disabled=a.map(c.filter(".ui-state-disabled"),function(a){return c.index(a)}),this._processTabs(),b.active!==!1&&this.anchors.length?this.active.length&&!a.contains(this.tablist[0],this.active[0])?this.tabs.length===b.disabled.length?(b.active=!1,this.active=a()):this._activate(this._findNextTab(Math.max(0,b.active-1),!1)):b.active=this.tabs.index(this.active):(b.active=!1,this.active=a()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var b=this,c=this.tabs,d=this.anchors,e=this.panels;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(b){a(this).is(".ui-state-disabled")&&b.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){a(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return a("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=a(),this.anchors.each(function(c,d){var e,f,g,h=a(d).uniqueId().attr("id"),i=a(d).closest("li"),j=i.attr("aria-controls");b._isLocal(d)?(e=d.hash,g=e.substring(1),f=b.element.find(b._sanitizeSelector(e))):(g=i.attr("aria-controls")||a({}).uniqueId()[0].id,e="#"+g,f=b.element.find(e),f.length||(f=b._createPanel(g),f.insertAfter(b.panels[c-1]||b.tablist)),f.attr("aria-live","polite")),f.length&&(b.panels=b.panels.add(f)),j&&i.data("ui-tabs-aria-controls",j),i.attr({"aria-controls":g,"aria-labelledby":h}),f.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),c&&(this._off(c.not(this.tabs)),this._off(d.not(this.anchors)),this._off(e.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(b){return a("<div>").attr("id",b).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(b){a.isArray(b)&&(b.length?b.length===this.anchors.length&&(b=!0):b=!1);for(var c,d=0;c=this.tabs[d];d++)b===!0||-1!==a.inArray(d,b)?a(c).addClass("ui-state-disabled").attr("aria-disabled","true"):a(c).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=b},_setupEvents:function(b){var c={};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(a){a.preventDefault()}}),this._on(this.anchors,c),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(b){var c,d=this.element.parent();"fill"===b?(c=d.height(),c-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var b=a(this),d=b.css("position");"absolute"!==d&&"fixed"!==d&&(c-=b.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){c-=a(this).outerHeight(!0)}),this.panels.each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===b&&(c=0,this.panels.each(function(){c=Math.max(c,a(this).height("").height())}).height(c))},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e.closest("li"),g=f[0]===d[0],h=g&&c.collapsible,i=h?a():this._getPanelForTab(f),j=d.length?this._getPanelForTab(d):a(),k={oldTab:d,oldPanel:j,newTab:h?a():f,newPanel:i};b.preventDefault(),f.hasClass("ui-state-disabled")||f.hasClass("ui-tabs-loading")||this.running||g&&!c.collapsible||this._trigger("beforeActivate",b,k)===!1||(c.active=h?!1:this.tabs.index(f),this.active=g?a():f,this.xhr&&this.xhr.abort(),j.length||i.length||a.error("jQuery UI Tabs: Mismatching fragment identifier."),i.length&&this.load(this.tabs.index(f),b),this._toggle(b,k))},_toggle:function(b,c){function d(){f.running=!1,f._trigger("activate",b,c)}function e(){c.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),g.length&&f.options.show?f._show(g,f.options.show,d):(g.show(),d())}var f=this,g=c.newPanel,h=c.oldPanel;this.running=!0,h.length&&this.options.hide?this._hide(h,this.options.hide,function(){c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),e()}):(c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),h.hide(),e()),h.attr("aria-hidden","true"),c.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),g.length&&h.length?c.oldTab.attr("tabIndex",-1):g.length&&this.tabs.filter(function(){return 0===a(this).attr("tabIndex")}).attr("tabIndex",-1),g.attr("aria-hidden","false"),c.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(b){var c,d=this._findActive(b);d[0]!==this.active[0]&&(d.length||(d=this.active),c=d.find(".ui-tabs-anchor")[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return b===!1?a():this.tabs.eq(b)},_getIndex:function(a){return"string"==typeof a&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){a.data(this,"ui-tabs-destroy")?a(this).remove():a(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var b=a(this),c=b.data("ui-tabs-aria-controls");c?b.attr("aria-controls",c).removeData("ui-tabs-aria-controls"):b.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(b){var c=this.options.disabled;c!==!1&&(void 0===b?c=!1:(b=this._getIndex(b),c=a.isArray(c)?a.map(c,function(a){return a!==b?a:null}):a.map(this.tabs,function(a,c){return c!==b?c:null})),this._setupDisabled(c))},disable:function(b){var c=this.options.disabled;if(c!==!0){if(void 0===b)c=!0;else{if(b=this._getIndex(b),-1!==a.inArray(b,c))return;c=a.isArray(c)?a.merge([b],c).sort():[b]}this._setupDisabled(c)}},load:function(b,c){b=this._getIndex(b);var d=this,e=this.tabs.eq(b),f=e.find(".ui-tabs-anchor"),g=this._getPanelForTab(e),h={tab:e,panel:g};this._isLocal(f[0])||(this.xhr=a.ajax(this._ajaxSettings(f,c,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(e.addClass("ui-tabs-loading"),g.attr("aria-busy","true"),this.xhr.success(function(a){setTimeout(function(){g.html(a),d._trigger("load",c,h)},1)}).complete(function(a,b){setTimeout(function(){"abort"===b&&d.panels.stop(!1,!0),e.removeClass("ui-tabs-loading"),g.removeAttr("aria-busy"),a===d.xhr&&delete d.xhr},1)})))},_ajaxSettings:function(b,c,d){var e=this;return{url:b.attr("href"),beforeSend:function(b,f){return e._trigger("beforeLoad",c,a.extend({jqXHR:b,ajaxSettings:f},d))}}},_getPanelForTab:function(b){var c=a(b).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+c))}})});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget"],a):a(jQuery)}(function(a){return a.widget("ui.tabs",{version:"1.11.4",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var a=/#.*$/;return function(b){var c,d;b=b.cloneNode(!1),c=b.href.replace(a,""),d=location.href.replace(a,"");try{c=decodeURIComponent(c)}catch(e){}try{d=decodeURIComponent(d)}catch(e){}return b.hash.length>1&&c===d}}(),_create:function(){var b=this,c=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",c.collapsible),this._processTabs(),c.active=this._initialActive(),a.isArray(c.disabled)&&(c.disabled=a.unique(c.disabled.concat(a.map(this.tabs.filter(".ui-state-disabled"),function(a){return b.tabs.index(a)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(c.active):a(),this._refresh(),this.active.length&&this.load(c.active)},_initialActive:function(){var b=this.options.active,c=this.options.collapsible,d=location.hash.substring(1);return null===b&&(d&&this.tabs.each(function(c,e){return a(e).attr("aria-controls")===d?(b=c,!1):void 0}),null===b&&(b=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===b||-1===b)&&(b=this.tabs.length?0:!1)),b!==!1&&(b=this.tabs.index(this.tabs.eq(b)),-1===b&&(b=c?!1:0)),!c&&b===!1&&this.anchors.length&&(b=0),b},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):a()}},_tabKeydown:function(b){var c=a(this.document[0].activeElement).closest("li"),d=this.tabs.index(c),e=!0;if(!this._handlePageNav(b)){switch(b.keyCode){case a.ui.keyCode.RIGHT:case a.ui.keyCode.DOWN:d++;break;case a.ui.keyCode.UP:case a.ui.keyCode.LEFT:e=!1,d--;break;case a.ui.keyCode.END:d=this.anchors.length-1;break;case a.ui.keyCode.HOME:d=0;break;case a.ui.keyCode.SPACE:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d);case a.ui.keyCode.ENTER:return b.preventDefault(),clearTimeout(this.activating),void this._activate(d===this.options.active?!1:d);default:return}b.preventDefault(),clearTimeout(this.activating),d=this._focusNextTab(d,e),b.ctrlKey||b.metaKey||(c.attr("aria-selected","false"),this.tabs.eq(d).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",d)},this.delay))}},_panelKeydown:function(b){this._handlePageNav(b)||b.ctrlKey&&b.keyCode===a.ui.keyCode.UP&&(b.preventDefault(),this.active.focus())},_handlePageNav:function(b){return b.altKey&&b.keyCode===a.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):b.altKey&&b.keyCode===a.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(b,c){function d(){return b>e&&(b=0),0>b&&(b=e),b}for(var e=this.tabs.length-1;-1!==a.inArray(d(),this.options.disabled);)b=c?b+1:b-1;return b},_focusNextTab:function(a,b){return a=this._findNextTab(a,b),this.tabs.eq(a).focus(),a},_setOption:function(a,b){return"active"===a?void this._activate(b):"disabled"===a?void this._setupDisabled(b):(this._super(a,b),"collapsible"===a&&(this.element.toggleClass("ui-tabs-collapsible",b),b||this.options.active!==!1||this._activate(0)),"event"===a&&this._setupEvents(b),void("heightStyle"===a&&this._setupHeightStyle(b)))},_sanitizeSelector:function(a){return a?a.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var b=this.options,c=this.tablist.children(":has(a[href])");b.disabled=a.map(c.filter(".ui-state-disabled"),function(a){return c.index(a)}),this._processTabs(),b.active!==!1&&this.anchors.length?this.active.length&&!a.contains(this.tablist[0],this.active[0])?this.tabs.length===b.disabled.length?(b.active=!1,this.active=a()):this._activate(this._findNextTab(Math.max(0,b.active-1),!1)):b.active=this.tabs.index(this.active):(b.active=!1,this.active=a()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var b=this,c=this.tabs,d=this.anchors,e=this.panels;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist").delegate("> li","mousedown"+this.eventNamespace,function(b){a(this).is(".ui-state-disabled")&&b.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){a(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return a("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=a(),this.anchors.each(function(c,d){var e,f,g,h=a(d).uniqueId().attr("id"),i=a(d).closest("li"),j=i.attr("aria-controls");b._isLocal(d)?(e=d.hash,g=e.substring(1),f=b.element.find(b._sanitizeSelector(e))):(g=i.attr("aria-controls")||a({}).uniqueId()[0].id,e="#"+g,f=b.element.find(e),f.length||(f=b._createPanel(g),f.insertAfter(b.panels[c-1]||b.tablist)),f.attr("aria-live","polite")),f.length&&(b.panels=b.panels.add(f)),j&&i.data("ui-tabs-aria-controls",j),i.attr({"aria-controls":g,"aria-labelledby":h}),f.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel"),c&&(this._off(c.not(this.tabs)),this._off(d.not(this.anchors)),this._off(e.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol,ul").eq(0)},_createPanel:function(b){return a("<div>").attr("id",b).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(b){a.isArray(b)&&(b.length?b.length===this.anchors.length&&(b=!0):b=!1);for(var c,d=0;c=this.tabs[d];d++)b===!0||-1!==a.inArray(d,b)?a(c).addClass("ui-state-disabled").attr("aria-disabled","true"):a(c).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=b},_setupEvents:function(b){var c={};b&&a.each(b.split(" "),function(a,b){c[b]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(a){a.preventDefault()}}),this._on(this.anchors,c),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(b){var c,d=this.element.parent();"fill"===b?(c=d.height(),c-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var b=a(this),d=b.css("position");"absolute"!==d&&"fixed"!==d&&(c-=b.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){c-=a(this).outerHeight(!0)}),this.panels.each(function(){a(this).height(Math.max(0,c-a(this).innerHeight()+a(this).height()))}).css("overflow","auto")):"auto"===b&&(c=0,this.panels.each(function(){c=Math.max(c,a(this).height("").height())}).height(c))},_eventHandler:function(b){var c=this.options,d=this.active,e=a(b.currentTarget),f=e.closest("li"),g=f[0]===d[0],h=g&&c.collapsible,i=h?a():this._getPanelForTab(f),j=d.length?this._getPanelForTab(d):a(),k={oldTab:d,oldPanel:j,newTab:h?a():f,newPanel:i};b.preventDefault(),f.hasClass("ui-state-disabled")||f.hasClass("ui-tabs-loading")||this.running||g&&!c.collapsible||this._trigger("beforeActivate",b,k)===!1||(c.active=h?!1:this.tabs.index(f),this.active=g?a():f,this.xhr&&this.xhr.abort(),j.length||i.length||a.error("jQuery UI Tabs: Mismatching fragment identifier."),i.length&&this.load(this.tabs.index(f),b),this._toggle(b,k))},_toggle:function(b,c){function d(){f.running=!1,f._trigger("activate",b,c)}function e(){c.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),g.length&&f.options.show?f._show(g,f.options.show,d):(g.show(),d())}var f=this,g=c.newPanel,h=c.oldPanel;this.running=!0,h.length&&this.options.hide?this._hide(h,this.options.hide,function(){c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),e()}):(c.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),h.hide(),e()),h.attr("aria-hidden","true"),c.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),g.length&&h.length?c.oldTab.attr("tabIndex",-1):g.length&&this.tabs.filter(function(){return 0===a(this).attr("tabIndex")}).attr("tabIndex",-1),g.attr("aria-hidden","false"),c.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(b){var c,d=this._findActive(b);d[0]!==this.active[0]&&(d.length||(d=this.active),c=d.find(".ui-tabs-anchor")[0],this._eventHandler({target:c,currentTarget:c,preventDefault:a.noop}))},_findActive:function(b){return b===!1?a():this.tabs.eq(b)},_getIndex:function(a){return"string"==typeof a&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tablist.unbind(this.eventNamespace),this.tabs.add(this.panels).each(function(){a.data(this,"ui-tabs-destroy")?a(this).remove():a(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var b=a(this),c=b.data("ui-tabs-aria-controls");c?b.attr("aria-controls",c).removeData("ui-tabs-aria-controls"):b.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(b){var c=this.options.disabled;c!==!1&&(void 0===b?c=!1:(b=this._getIndex(b),c=a.isArray(c)?a.map(c,function(a){return a!==b?a:null}):a.map(this.tabs,function(a,c){return c!==b?c:null})),this._setupDisabled(c))},disable:function(b){var c=this.options.disabled;if(c!==!0){if(void 0===b)c=!0;else{if(b=this._getIndex(b),-1!==a.inArray(b,c))return;c=a.isArray(c)?a.merge([b],c).sort():[b]}this._setupDisabled(c)}},load:function(b,c){b=this._getIndex(b);var d=this,e=this.tabs.eq(b),f=e.find(".ui-tabs-anchor"),g=this._getPanelForTab(e),h={tab:e,panel:g},i=function(a,b){"abort"===b&&d.panels.stop(!1,!0),e.removeClass("ui-tabs-loading"),g.removeAttr("aria-busy"),a===d.xhr&&delete d.xhr};this._isLocal(f[0])||(this.xhr=a.ajax(this._ajaxSettings(f,c,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(e.addClass("ui-tabs-loading"),g.attr("aria-busy","true"),this.xhr.done(function(a,b,e){setTimeout(function(){g.html(a),d._trigger("load",c,h),i(e,b)},1)}).fail(function(a,b){setTimeout(function(){i(a,b)},1)})))},_ajaxSettings:function(b,c,d){var e=this;return{url:b.attr("href"),beforeSend:function(b,f){return e._trigger("beforeLoad",c,a.extend({jqXHR:b,ajaxSettings:f},d))}}},_getPanelForTab:function(b){var c=a(b).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+c))}})});
\ No newline at end of file
index 32a390b901af49e5c40daf173104fc27b7e1e690..aa97932d7ef20d1e791b707115c2d5f22d668b76 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Tooltip 1.11.2
+ * jQuery UI Tooltip 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/tooltip/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget","./position"],a):a(jQuery)}(function(a){return a.widget("ui.tooltip",{version:"1.11.2",options:{content:function(){var b=a(this).attr("title")||"";return a("<a>").text(b).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},_addDescribedBy:function(b,c){var d=(b.attr("aria-describedby")||"").split(/\s+/);d.push(c),b.data("ui-tooltip-id",c).attr("aria-describedby",a.trim(d.join(" ")))},_removeDescribedBy:function(b){var c=b.data("ui-tooltip-id"),d=(b.attr("aria-describedby")||"").split(/\s+/),e=a.inArray(c,d);-1!==e&&d.splice(e,1),b.removeData("ui-tooltip-id"),d=a.trim(d.join(" ")),d?b.attr("aria-describedby",d):b.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable(),this.liveRegion=a("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body)},_setOption:function(b,c){var d=this;return"disabled"===b?(this[c?"_disable":"_enable"](),void(this.options[b]=c)):(this._super(b,c),void("content"===b&&a.each(this.tooltips,function(a,b){d._updateContent(b.element)})))},_disable:function(){var b=this;a.each(this.tooltips,function(c,d){var e=a.Event("blur");e.target=e.currentTarget=d.element[0],b.close(e,!0)}),this.element.find(this.options.items).addBack().each(function(){var b=a(this);b.is("[title]")&&b.data("ui-tooltip-title",b.attr("title")).removeAttr("title")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var b=a(this);b.data("ui-tooltip-title")&&b.attr("title",b.data("ui-tooltip-title"))})},open:function(b){var c=this,d=a(b?b.target:this.element).closest(this.options.items);d.length&&!d.data("ui-tooltip-id")&&(d.attr("title")&&d.data("ui-tooltip-title",d.attr("title")),d.data("ui-tooltip-open",!0),b&&"mouseover"===b.type&&d.parents().each(function(){var b,d=a(this);d.data("ui-tooltip-open")&&(b=a.Event("blur"),b.target=b.currentTarget=this,c.close(b,!0)),d.attr("title")&&(d.uniqueId(),c.parents[this.id]={element:this,title:d.attr("title")},d.attr("title",""))}),this._updateContent(d,b))},_updateContent:function(a,b){var c,d=this.options.content,e=this,f=b?b.type:null;return"string"==typeof d?this._open(b,a,d):(c=d.call(a[0],function(c){a.data("ui-tooltip-open")&&e._delay(function(){b&&(b.type=f),this._open(b,a,c)})}),void(c&&this._open(b,a,c)))},_open:function(b,c,d){function e(a){k.of=a,g.is(":hidden")||g.position(k)}var f,g,h,i,j,k=a.extend({},this.options.position);if(d){if(f=this._find(c))return void f.tooltip.find(".ui-tooltip-content").html(d);c.is("[title]")&&(b&&"mouseover"===b.type?c.attr("title",""):c.removeAttr("title")),f=this._tooltip(c),g=f.tooltip,this._addDescribedBy(c,g.attr("id")),g.find(".ui-tooltip-content").html(d),this.liveRegion.children().hide(),d.clone?(j=d.clone(),j.removeAttr("id").find("[id]").removeAttr("id")):j=d,a("<div>").html(j).appendTo(this.liveRegion),this.options.track&&b&&/^mouse/.test(b.type)?(this._on(this.document,{mousemove:e}),e(b)):g.position(a.extend({of:c},this.options.position)),g.hide(),this._show(g,this.options.show),this.options.show&&this.options.show.delay&&(i=this.delayedShow=setInterval(function(){g.is(":visible")&&(e(k.of),clearInterval(i))},a.fx.interval)),this._trigger("open",b,{tooltip:g}),h={keyup:function(b){if(b.keyCode===a.ui.keyCode.ESCAPE){var d=a.Event(b);d.currentTarget=c[0],this.close(d,!0)}}},c[0]!==this.element[0]&&(h.remove=function(){this._removeTooltip(g)}),b&&"mouseover"!==b.type||(h.mouseleave="close"),b&&"focusin"!==b.type||(h.focusout="close"),this._on(!0,c,h)}},close:function(b){var c,d=this,e=a(b?b.currentTarget:this.element),f=this._find(e);f&&(c=f.tooltip,f.closing||(clearInterval(this.delayedShow),e.data("ui-tooltip-title")&&!e.attr("title")&&e.attr("title",e.data("ui-tooltip-title")),this._removeDescribedBy(e),f.hiding=!0,c.stop(!0),this._hide(c,this.options.hide,function(){d._removeTooltip(a(this))}),e.removeData("ui-tooltip-open"),this._off(e,"mouseleave focusout keyup"),e[0]!==this.element[0]&&this._off(e,"remove"),this._off(this.document,"mousemove"),b&&"mouseleave"===b.type&&a.each(this.parents,function(b,c){a(c.element).attr("title",c.title),delete d.parents[b]}),f.closing=!0,this._trigger("close",b,{tooltip:c}),f.hiding||(f.closing=!1)))},_tooltip:function(b){var c=a("<div>").attr("role","tooltip").addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||"")),d=c.uniqueId().attr("id");return a("<div>").addClass("ui-tooltip-content").appendTo(c),c.appendTo(this.document[0].body),this.tooltips[d]={element:b,tooltip:c}},_find:function(a){var b=a.data("ui-tooltip-id");return b?this.tooltips[b]:null},_removeTooltip:function(a){a.remove(),delete this.tooltips[a.attr("id")]},_destroy:function(){var b=this;a.each(this.tooltips,function(c,d){var e=a.Event("blur"),f=d.element;e.target=e.currentTarget=f[0],b.close(e,!0),a("#"+c).remove(),f.data("ui-tooltip-title")&&(f.attr("title")||f.attr("title",f.data("ui-tooltip-title")),f.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}})});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery","./core","./widget","./position"],a):a(jQuery)}(function(a){return a.widget("ui.tooltip",{version:"1.11.4",options:{content:function(){var b=a(this).attr("title")||"";return a("<a>").text(b).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},_addDescribedBy:function(b,c){var d=(b.attr("aria-describedby")||"").split(/\s+/);d.push(c),b.data("ui-tooltip-id",c).attr("aria-describedby",a.trim(d.join(" ")))},_removeDescribedBy:function(b){var c=b.data("ui-tooltip-id"),d=(b.attr("aria-describedby")||"").split(/\s+/),e=a.inArray(c,d);-1!==e&&d.splice(e,1),b.removeData("ui-tooltip-id"),d=a.trim(d.join(" ")),d?b.attr("aria-describedby",d):b.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable(),this.liveRegion=a("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).addClass("ui-helper-hidden-accessible").appendTo(this.document[0].body)},_setOption:function(b,c){var d=this;return"disabled"===b?(this[c?"_disable":"_enable"](),void(this.options[b]=c)):(this._super(b,c),void("content"===b&&a.each(this.tooltips,function(a,b){d._updateContent(b.element)})))},_disable:function(){var b=this;a.each(this.tooltips,function(c,d){var e=a.Event("blur");e.target=e.currentTarget=d.element[0],b.close(e,!0)}),this.element.find(this.options.items).addBack().each(function(){var b=a(this);b.is("[title]")&&b.data("ui-tooltip-title",b.attr("title")).removeAttr("title")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var b=a(this);b.data("ui-tooltip-title")&&b.attr("title",b.data("ui-tooltip-title"))})},open:function(b){var c=this,d=a(b?b.target:this.element).closest(this.options.items);d.length&&!d.data("ui-tooltip-id")&&(d.attr("title")&&d.data("ui-tooltip-title",d.attr("title")),d.data("ui-tooltip-open",!0),b&&"mouseover"===b.type&&d.parents().each(function(){var b,d=a(this);d.data("ui-tooltip-open")&&(b=a.Event("blur"),b.target=b.currentTarget=this,c.close(b,!0)),d.attr("title")&&(d.uniqueId(),c.parents[this.id]={element:this,title:d.attr("title")},d.attr("title",""))}),this._registerCloseHandlers(b,d),this._updateContent(d,b))},_updateContent:function(a,b){var c,d=this.options.content,e=this,f=b?b.type:null;return"string"==typeof d?this._open(b,a,d):(c=d.call(a[0],function(c){e._delay(function(){a.data("ui-tooltip-open")&&(b&&(b.type=f),this._open(b,a,c))})}),void(c&&this._open(b,a,c)))},_open:function(b,c,d){function e(a){j.of=a,g.is(":hidden")||g.position(j)}var f,g,h,i,j=a.extend({},this.options.position);if(d){if(f=this._find(c))return void f.tooltip.find(".ui-tooltip-content").html(d);c.is("[title]")&&(b&&"mouseover"===b.type?c.attr("title",""):c.removeAttr("title")),f=this._tooltip(c),g=f.tooltip,this._addDescribedBy(c,g.attr("id")),g.find(".ui-tooltip-content").html(d),this.liveRegion.children().hide(),d.clone?(i=d.clone(),i.removeAttr("id").find("[id]").removeAttr("id")):i=d,a("<div>").html(i).appendTo(this.liveRegion),this.options.track&&b&&/^mouse/.test(b.type)?(this._on(this.document,{mousemove:e}),e(b)):g.position(a.extend({of:c},this.options.position)),g.hide(),this._show(g,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){g.is(":visible")&&(e(j.of),clearInterval(h))},a.fx.interval)),this._trigger("open",b,{tooltip:g})}},_registerCloseHandlers:function(b,c){var d={keyup:function(b){if(b.keyCode===a.ui.keyCode.ESCAPE){var d=a.Event(b);d.currentTarget=c[0],this.close(d,!0)}}};c[0]!==this.element[0]&&(d.remove=function(){this._removeTooltip(this._find(c).tooltip)}),b&&"mouseover"!==b.type||(d.mouseleave="close"),b&&"focusin"!==b.type||(d.focusout="close"),this._on(!0,c,d)},close:function(b){var c,d=this,e=a(b?b.currentTarget:this.element),f=this._find(e);return f?(c=f.tooltip,void(f.closing||(clearInterval(this.delayedShow),e.data("ui-tooltip-title")&&!e.attr("title")&&e.attr("title",e.data("ui-tooltip-title")),this._removeDescribedBy(e),f.hiding=!0,c.stop(!0),this._hide(c,this.options.hide,function(){d._removeTooltip(a(this))}),e.removeData("ui-tooltip-open"),this._off(e,"mouseleave focusout keyup"),e[0]!==this.element[0]&&this._off(e,"remove"),this._off(this.document,"mousemove"),b&&"mouseleave"===b.type&&a.each(this.parents,function(b,c){a(c.element).attr("title",c.title),delete d.parents[b]}),f.closing=!0,this._trigger("close",b,{tooltip:c}),f.hiding||(f.closing=!1)))):void e.removeData("ui-tooltip-open")},_tooltip:function(b){var c=a("<div>").attr("role","tooltip").addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||"")),d=c.uniqueId().attr("id");return a("<div>").addClass("ui-tooltip-content").appendTo(c),c.appendTo(this.document[0].body),this.tooltips[d]={element:b,tooltip:c}},_find:function(a){var b=a.data("ui-tooltip-id");return b?this.tooltips[b]:null},_removeTooltip:function(a){a.remove(),delete this.tooltips[a.attr("id")]},_destroy:function(){var b=this;a.each(this.tooltips,function(c,d){var e=a.Event("blur"),f=d.element;e.target=e.currentTarget=f[0],b.close(e,!0),a("#"+c).remove(),f.data("ui-tooltip-title")&&(f.attr("title")||f.attr("title",f.data("ui-tooltip-title")),f.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}})});
\ No newline at end of file
index 08300ba0925ef59e842693663d46db69b52ba0c6..a9353102e9ecd33022eafdb3ec9b2e489ce82093 100644 (file)
@@ -1,11 +1,11 @@
 /*!
- * jQuery UI Widget 1.11.2
+ * jQuery UI Widget 1.11.4
  * http://jqueryui.com
  *
- * Copyright 2014 jQuery Foundation and other contributors
+ * Copyright jQuery Foundation and other contributors
  * Released under the MIT license.
  * http://jquery.org/license
  *
  * http://api.jqueryui.com/jQuery.widget/
  */
-!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){var b=0,c=Array.prototype.slice;return a.cleanData=function(b){return function(c){var d,e,f;for(f=0;null!=(e=c[f]);f++)try{d=a._data(e,"events"),d&&d.remove&&a(e).triggerHandler("remove")}catch(g){}b(c)}}(a.cleanData),a.widget=function(b,c,d){var e,f,g,h,i={},j=b.split(".")[0];return b=b.split(".")[1],e=j+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][e.toLowerCase()]=function(b){return!!a.data(b,e)},a[j]=a[j]||{},f=a[j][b],g=a[j][b]=function(a,b){return this._createWidget?void(arguments.length&&this._createWidget(a,b)):new g(a,b)},a.extend(g,f,{version:d.version,_proto:a.extend({},d),_childConstructors:[]}),h=new c,h.options=a.widget.extend({},h.options),a.each(d,function(b,d){return a.isFunction(d)?void(i[b]=function(){var a=function(){return c.prototype[b].apply(this,arguments)},e=function(a){return c.prototype[b].apply(this,a)};return function(){var b,c=this._super,f=this._superApply;return this._super=a,this._superApply=e,b=d.apply(this,arguments),this._super=c,this._superApply=f,b}}()):void(i[b]=d)}),g.prototype=a.widget.extend(h,{widgetEventPrefix:f?h.widgetEventPrefix||b:b},i,{constructor:g,namespace:j,widgetName:b,widgetFullName:e}),f?(a.each(f._childConstructors,function(b,c){var d=c.prototype;a.widget(d.namespace+"."+d.widgetName,g,c._proto)}),delete f._childConstructors):c._childConstructors.push(g),a.widget.bridge(b,g),g},a.widget.extend=function(b){for(var d,e,f=c.call(arguments,1),g=0,h=f.length;h>g;g++)for(d in f[g])e=f[g][d],f[g].hasOwnProperty(d)&&void 0!==e&&(b[d]=a.isPlainObject(e)?a.isPlainObject(b[d])?a.widget.extend({},b[d],e):a.widget.extend({},e):e);return b},a.widget.bridge=function(b,d){var e=d.prototype.widgetFullName||b;a.fn[b]=function(f){var g="string"==typeof f,h=c.call(arguments,1),i=this;return f=!g&&h.length?a.widget.extend.apply(null,[f].concat(h)):f,this.each(g?function(){var c,d=a.data(this,e);return"instance"===f?(i=d,!1):d?a.isFunction(d[f])&&"_"!==f.charAt(0)?(c=d[f].apply(d,h),c!==d&&void 0!==c?(i=c&&c.jquery?i.pushStack(c.get()):c,!1):void 0):a.error("no such method '"+f+"' for "+b+" widget instance"):a.error("cannot call methods on "+b+" prior to initialization; attempted to call method '"+f+"'")}:function(){var b=a.data(this,e);b?(b.option(f||{}),b._init&&b._init()):a.data(this,e,new d(f,this))}),i}},a.Widget=function(){},a.Widget._childConstructors=[],a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(c,d){d=a(d||this.defaultElement||this)[0],this.element=a(d),this.uuid=b++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=a(),this.hoverable=a(),this.focusable=a(),d!==this&&(a.data(d,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===d&&this.destroy()}}),this.document=a(d.style?d.ownerDocument:d.document||d),this.window=a(this.document[0].defaultView||this.document[0].parentWindow)),this.options=a.widget.extend({},this.options,this._getCreateOptions(),c),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:a.noop,_getCreateEventData:a.noop,_create:a.noop,_init:a.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:a.noop,widget:function(){return this.element},option:function(b,c){var d,e,f,g=b;if(0===arguments.length)return a.widget.extend({},this.options);if("string"==typeof b)if(g={},d=b.split("."),b=d.shift(),d.length){for(e=g[b]=a.widget.extend({},this.options[b]),f=0;f<d.length-1;f++)e[d[f]]=e[d[f]]||{},e=e[d[f]];if(b=d.pop(),1===arguments.length)return void 0===e[b]?null:e[b];e[b]=c}else{if(1===arguments.length)return void 0===this.options[b]?null:this.options[b];g[b]=c}return this._setOptions(g),this},_setOptions:function(a){var b;for(b in a)this._setOption(b,a[b]);return this},_setOption:function(a,b){return this.options[a]=b,"disabled"===a&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!b),b&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(b,c,d){var e,f=this;"boolean"!=typeof b&&(d=c,c=b,b=!1),d?(c=e=a(c),this.bindings=this.bindings.add(c)):(d=c,c=this.element,e=this.widget()),a.each(d,function(d,g){function h(){return b||f.options.disabled!==!0&&!a(this).hasClass("ui-state-disabled")?("string"==typeof g?f[g]:g).apply(f,arguments):void 0}"string"!=typeof g&&(h.guid=g.guid=g.guid||h.guid||a.guid++);var i=d.match(/^([\w:-]*)\s*(.*)$/),j=i[1]+f.eventNamespace,k=i[2];k?e.delegate(k,j,h):c.bind(j,h)})},_off:function(b,c){c=(c||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,b.unbind(c).undelegate(c),this.bindings=a(this.bindings.not(b).get()),this.focusable=a(this.focusable.not(b).get()),this.hoverable=a(this.hoverable.not(b).get())},_delay:function(a,b){function c(){return("string"==typeof a?d[a]:a).apply(d,arguments)}var d=this;return setTimeout(c,b||0)},_hoverable:function(b){this.hoverable=this.hoverable.add(b),this._on(b,{mouseenter:function(b){a(b.currentTarget).addClass("ui-state-hover")},mouseleave:function(b){a(b.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(b){this.focusable=this.focusable.add(b),this._on(b,{focusin:function(b){a(b.currentTarget).addClass("ui-state-focus")},focusout:function(b){a(b.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(b,c,d){var e,f,g=this.options[b];if(d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.apply(this.element[0],[c].concat(d))===!1||c.isDefaultPrevented())}},a.each({show:"fadeIn",hide:"fadeOut"},function(b,c){a.Widget.prototype["_"+b]=function(d,e,f){"string"==typeof e&&(e={effect:e});var g,h=e?e===!0||"number"==typeof e?c:e.effect||c:b;e=e||{},"number"==typeof e&&(e={duration:e}),g=!a.isEmptyObject(e),e.complete=f,e.delay&&d.delay(e.delay),g&&a.effects&&a.effects.effect[h]?d[b](e):h!==b&&d[h]?d[h](e.duration,e.easing,f):d.queue(function(c){a(this)[b](),f&&f.call(d[0]),c()})}}),a.widget});
\ No newline at end of file
+!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){var b=0,c=Array.prototype.slice;return a.cleanData=function(b){return function(c){var d,e,f;for(f=0;null!=(e=c[f]);f++)try{d=a._data(e,"events"),d&&d.remove&&a(e).triggerHandler("remove")}catch(g){}b(c)}}(a.cleanData),a.widget=function(b,c,d){var e,f,g,h,i={},j=b.split(".")[0];return b=b.split(".")[1],e=j+"-"+b,d||(d=c,c=a.Widget),a.expr[":"][e.toLowerCase()]=function(b){return!!a.data(b,e)},a[j]=a[j]||{},f=a[j][b],g=a[j][b]=function(a,b){return this._createWidget?void(arguments.length&&this._createWidget(a,b)):new g(a,b)},a.extend(g,f,{version:d.version,_proto:a.extend({},d),_childConstructors:[]}),h=new c,h.options=a.widget.extend({},h.options),a.each(d,function(b,d){return a.isFunction(d)?void(i[b]=function(){var a=function(){return c.prototype[b].apply(this,arguments)},e=function(a){return c.prototype[b].apply(this,a)};return function(){var b,c=this._super,f=this._superApply;return this._super=a,this._superApply=e,b=d.apply(this,arguments),this._super=c,this._superApply=f,b}}()):void(i[b]=d)}),g.prototype=a.widget.extend(h,{widgetEventPrefix:f?h.widgetEventPrefix||b:b},i,{constructor:g,namespace:j,widgetName:b,widgetFullName:e}),f?(a.each(f._childConstructors,function(b,c){var d=c.prototype;a.widget(d.namespace+"."+d.widgetName,g,c._proto)}),delete f._childConstructors):c._childConstructors.push(g),a.widget.bridge(b,g),g},a.widget.extend=function(b){for(var d,e,f=c.call(arguments,1),g=0,h=f.length;h>g;g++)for(d in f[g])e=f[g][d],f[g].hasOwnProperty(d)&&void 0!==e&&(b[d]=a.isPlainObject(e)?a.isPlainObject(b[d])?a.widget.extend({},b[d],e):a.widget.extend({},e):e);return b},a.widget.bridge=function(b,d){var e=d.prototype.widgetFullName||b;a.fn[b]=function(f){var g="string"==typeof f,h=c.call(arguments,1),i=this;return g?this.each(function(){var c,d=a.data(this,e);return"instance"===f?(i=d,!1):d?a.isFunction(d[f])&&"_"!==f.charAt(0)?(c=d[f].apply(d,h),c!==d&&void 0!==c?(i=c&&c.jquery?i.pushStack(c.get()):c,!1):void 0):a.error("no such method '"+f+"' for "+b+" widget instance"):a.error("cannot call methods on "+b+" prior to initialization; attempted to call method '"+f+"'")}):(h.length&&(f=a.widget.extend.apply(null,[f].concat(h))),this.each(function(){var b=a.data(this,e);b?(b.option(f||{}),b._init&&b._init()):a.data(this,e,new d(f,this))})),i}},a.Widget=function(){},a.Widget._childConstructors=[],a.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(c,d){d=a(d||this.defaultElement||this)[0],this.element=a(d),this.uuid=b++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=a(),this.hoverable=a(),this.focusable=a(),d!==this&&(a.data(d,this.widgetFullName,this),this._on(!0,this.element,{remove:function(a){a.target===d&&this.destroy()}}),this.document=a(d.style?d.ownerDocument:d.document||d),this.window=a(this.document[0].defaultView||this.document[0].parentWindow)),this.options=a.widget.extend({},this.options,this._getCreateOptions(),c),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:a.noop,_getCreateEventData:a.noop,_create:a.noop,_init:a.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(a.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:a.noop,widget:function(){return this.element},option:function(b,c){var d,e,f,g=b;if(0===arguments.length)return a.widget.extend({},this.options);if("string"==typeof b)if(g={},d=b.split("."),b=d.shift(),d.length){for(e=g[b]=a.widget.extend({},this.options[b]),f=0;f<d.length-1;f++)e[d[f]]=e[d[f]]||{},e=e[d[f]];if(b=d.pop(),1===arguments.length)return void 0===e[b]?null:e[b];e[b]=c}else{if(1===arguments.length)return void 0===this.options[b]?null:this.options[b];g[b]=c}return this._setOptions(g),this},_setOptions:function(a){var b;for(b in a)this._setOption(b,a[b]);return this},_setOption:function(a,b){return this.options[a]=b,"disabled"===a&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!b),b&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(b,c,d){var e,f=this;"boolean"!=typeof b&&(d=c,c=b,b=!1),d?(c=e=a(c),this.bindings=this.bindings.add(c)):(d=c,c=this.element,e=this.widget()),a.each(d,function(d,g){function h(){return b||f.options.disabled!==!0&&!a(this).hasClass("ui-state-disabled")?("string"==typeof g?f[g]:g).apply(f,arguments):void 0}"string"!=typeof g&&(h.guid=g.guid=g.guid||h.guid||a.guid++);var i=d.match(/^([\w:-]*)\s*(.*)$/),j=i[1]+f.eventNamespace,k=i[2];k?e.delegate(k,j,h):c.bind(j,h)})},_off:function(b,c){c=(c||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,b.unbind(c).undelegate(c),this.bindings=a(this.bindings.not(b).get()),this.focusable=a(this.focusable.not(b).get()),this.hoverable=a(this.hoverable.not(b).get())},_delay:function(a,b){function c(){return("string"==typeof a?d[a]:a).apply(d,arguments)}var d=this;return setTimeout(c,b||0)},_hoverable:function(b){this.hoverable=this.hoverable.add(b),this._on(b,{mouseenter:function(b){a(b.currentTarget).addClass("ui-state-hover")},mouseleave:function(b){a(b.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(b){this.focusable=this.focusable.add(b),this._on(b,{focusin:function(b){a(b.currentTarget).addClass("ui-state-focus")},focusout:function(b){a(b.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(b,c,d){var e,f,g=this.options[b];if(d=d||{},c=a.Event(c),c.type=(b===this.widgetEventPrefix?b:this.widgetEventPrefix+b).toLowerCase(),c.target=this.element[0],f=c.originalEvent)for(e in f)e in c||(c[e]=f[e]);return this.element.trigger(c,d),!(a.isFunction(g)&&g.apply(this.element[0],[c].concat(d))===!1||c.isDefaultPrevented())}},a.each({show:"fadeIn",hide:"fadeOut"},function(b,c){a.Widget.prototype["_"+b]=function(d,e,f){"string"==typeof e&&(e={effect:e});var g,h=e?e===!0||"number"==typeof e?c:e.effect||c:b;e=e||{},"number"==typeof e&&(e={duration:e}),g=!a.isEmptyObject(e),e.complete=f,e.delay&&d.delay(e.delay),g&&a.effects&&a.effects.effect[h]?d[b](e):h!==b&&d[h]?d[h](e.duration,e.easing,f):d.queue(function(c){a(this)[b](),f&&f.call(d[0]),c()})}}),a.widget});
\ No newline at end of file
index a679d55011a25c8c6d64c2b5252adec686a0df6f..da920b7bd2a11423d16eb685e5d92664c1196471 100644 (file)
@@ -1 +1,17 @@
-!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
+/*!
+ * Masonry PACKAGED v3.1.4
+ * Cascading grid layout library
+ * http://masonry.desandro.com
+ * MIT License
+ * by David DeSandro
+ */
+
+(function(t){function e(){}function i(t){function i(e){e.prototype.option||(e.prototype.option=function(e){t.isPlainObject(e)&&(this.options=t.extend(!0,this.options,e))})}function o(e,i){t.fn[e]=function(o){if("string"==typeof o){for(var s=n.call(arguments,1),a=0,h=this.length;h>a;a++){var p=this[a],u=t.data(p,e);if(u)if(t.isFunction(u[o])&&"_"!==o.charAt(0)){var f=u[o].apply(u,s);if(void 0!==f)return f}else r("no such method '"+o+"' for "+e+" instance");else r("cannot call methods on "+e+" prior to initialization; "+"attempted to call '"+o+"'")}return this}return this.each(function(){var n=t.data(this,e);n?(n.option(o),n._init()):(n=new i(this,o),t.data(this,e,n))})}}if(t){var r="undefined"==typeof console?e:function(t){console.error(t)};return t.bridget=function(t,e){i(e),o(t,e)},t.bridget}}var n=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],i):i(t.jQuery)})(window),function(t){function e(e){var i=t.event;return i.target=i.target||i.srcElement||e,i}var i=document.documentElement,n=function(){};i.addEventListener?n=function(t,e,i){t.addEventListener(e,i,!1)}:i.attachEvent&&(n=function(t,i,n){t[i+n]=n.handleEvent?function(){var i=e(t);n.handleEvent.call(n,i)}:function(){var i=e(t);n.call(t,i)},t.attachEvent("on"+i,t[i+n])});var o=function(){};i.removeEventListener?o=function(t,e,i){t.removeEventListener(e,i,!1)}:i.detachEvent&&(o=function(t,e,i){t.detachEvent("on"+e,t[e+i]);try{delete t[e+i]}catch(n){t[e+i]=void 0}});var r={bind:n,unbind:o};"function"==typeof define&&define.amd?define("eventie/eventie",r):"object"==typeof exports?module.exports=r:t.eventie=r}(this),function(t){function e(t){"function"==typeof t&&(e.isReady?t():r.push(t))}function i(t){var i="readystatechange"===t.type&&"complete"!==o.readyState;if(!e.isReady&&!i){e.isReady=!0;for(var n=0,s=r.length;s>n;n++){var a=r[n];a()}}}function n(n){return n.bind(o,"DOMContentLoaded",i),n.bind(o,"readystatechange",i),n.bind(t,"load",i),e}var o=t.document,r=[];e.isReady=!1,"function"==typeof define&&define.amd?(e.isReady="function"==typeof requirejs,define("doc-ready/doc-ready",["eventie/eventie"],n)):t.docReady=n(t.eventie)}(this),function(){function t(){}function e(t,e){for(var i=t.length;i--;)if(t[i].listener===e)return i;return-1}function i(t){return function(){return this[t].apply(this,arguments)}}var n=t.prototype,o=this,r=o.EventEmitter;n.getListeners=function(t){var e,i,n=this._getEvents();if(t instanceof RegExp){e={};for(i in n)n.hasOwnProperty(i)&&t.test(i)&&(e[i]=n[i])}else e=n[t]||(n[t]=[]);return e},n.flattenListeners=function(t){var e,i=[];for(e=0;t.length>e;e+=1)i.push(t[e].listener);return i},n.getListenersAsObject=function(t){var e,i=this.getListeners(t);return i instanceof Array&&(e={},e[t]=i),e||i},n.addListener=function(t,i){var n,o=this.getListenersAsObject(t),r="object"==typeof i;for(n in o)o.hasOwnProperty(n)&&-1===e(o[n],i)&&o[n].push(r?i:{listener:i,once:!1});return this},n.on=i("addListener"),n.addOnceListener=function(t,e){return this.addListener(t,{listener:e,once:!0})},n.once=i("addOnceListener"),n.defineEvent=function(t){return this.getListeners(t),this},n.defineEvents=function(t){for(var e=0;t.length>e;e+=1)this.defineEvent(t[e]);return this},n.removeListener=function(t,i){var n,o,r=this.getListenersAsObject(t);for(o in r)r.hasOwnProperty(o)&&(n=e(r[o],i),-1!==n&&r[o].splice(n,1));return this},n.off=i("removeListener"),n.addListeners=function(t,e){return this.manipulateListeners(!1,t,e)},n.removeListeners=function(t,e){return this.manipulateListeners(!0,t,e)},n.manipulateListeners=function(t,e,i){var n,o,r=t?this.removeListener:this.addListener,s=t?this.removeListeners:this.addListeners;if("object"!=typeof e||e instanceof RegExp)for(n=i.length;n--;)r.call(this,e,i[n]);else for(n in e)e.hasOwnProperty(n)&&(o=e[n])&&("function"==typeof o?r.call(this,n,o):s.call(this,n,o));return this},n.removeEvent=function(t){var e,i=typeof t,n=this._getEvents();if("string"===i)delete n[t];else if(t instanceof RegExp)for(e in n)n.hasOwnProperty(e)&&t.test(e)&&delete n[e];else delete this._events;return this},n.removeAllListeners=i("removeEvent"),n.emitEvent=function(t,e){var i,n,o,r,s=this.getListenersAsObject(t);for(o in s)if(s.hasOwnProperty(o))for(n=s[o].length;n--;)i=s[o][n],i.once===!0&&this.removeListener(t,i.listener),r=i.listener.apply(this,e||[]),r===this._getOnceReturnValue()&&this.removeListener(t,i.listener);return this},n.trigger=i("emitEvent"),n.emit=function(t){var e=Array.prototype.slice.call(arguments,1);return this.emitEvent(t,e)},n.setOnceReturnValue=function(t){return this._onceReturnValue=t,this},n._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},n._getEvents=function(){return this._events||(this._events={})},t.noConflict=function(){return o.EventEmitter=r,t},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return t}):"object"==typeof module&&module.exports?module.exports=t:this.EventEmitter=t}.call(this),function(t){function e(t){if(t){if("string"==typeof n[t])return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e,o=0,r=i.length;r>o;o++)if(e=i[o]+t,"string"==typeof n[e])return e}}var i="Webkit Moz ms Ms O".split(" "),n=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return e}):"object"==typeof exports?module.exports=e:t.getStyleProperty=e}(window),function(t){function e(t){var e=parseFloat(t),i=-1===t.indexOf("%")&&!isNaN(e);return i&&e}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0,i=s.length;i>e;e++){var n=s[e];t[n]=0}return t}function n(t){function n(t){if("string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var n=r(t);if("none"===n.display)return i();var o={};o.width=t.offsetWidth,o.height=t.offsetHeight;for(var u=o.isBorderBox=!(!p||!n[p]||"border-box"!==n[p]),f=0,c=s.length;c>f;f++){var d=s[f],l=n[d];l=a(t,l);var m=parseFloat(l);o[d]=isNaN(m)?0:m}var y=o.paddingLeft+o.paddingRight,g=o.paddingTop+o.paddingBottom,v=o.marginLeft+o.marginRight,b=o.marginTop+o.marginBottom,_=o.borderLeftWidth+o.borderRightWidth,E=o.borderTopWidth+o.borderBottomWidth,L=u&&h,x=e(n.width);x!==!1&&(o.width=x+(L?0:y+_));var z=e(n.height);return z!==!1&&(o.height=z+(L?0:g+E)),o.innerWidth=o.width-(y+_),o.innerHeight=o.height-(g+E),o.outerWidth=o.width+v,o.outerHeight=o.height+b,o}}function a(t,e){if(o||-1===e.indexOf("%"))return e;var i=t.style,n=i.left,r=t.runtimeStyle,s=r&&r.left;return s&&(r.left=t.currentStyle.left),i.left=e,e=i.pixelLeft,i.left=n,s&&(r.left=s),e}var h,p=t("boxSizing");return function(){if(p){var t=document.createElement("div");t.style.width="200px",t.style.padding="1px 2px 3px 4px",t.style.borderStyle="solid",t.style.borderWidth="1px 2px 3px 4px",t.style[p]="border-box";var i=document.body||document.documentElement;i.appendChild(t);var n=r(t);h=200===e(n.width),i.removeChild(t)}}(),n}var o=t.getComputedStyle,r=o?function(t){return o(t,null)}:function(t){return t.currentStyle},s=["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"],n):"object"==typeof exports?module.exports=n(require("get-style-property")):t.getSize=n(t.getStyleProperty)}(window),function(t,e){function i(t,e){return t[a](e)}function n(t){if(!t.parentNode){var e=document.createDocumentFragment();e.appendChild(t)}}function o(t,e){n(t);for(var i=t.parentNode.querySelectorAll(e),o=0,r=i.length;r>o;o++)if(i[o]===t)return!0;return!1}function r(t,e){return n(t),i(t,e)}var s,a=function(){if(e.matchesSelector)return"matchesSelector";for(var t=["webkit","moz","ms","o"],i=0,n=t.length;n>i;i++){var o=t[i],r=o+"MatchesSelector";if(e[r])return r}}();if(a){var h=document.createElement("div"),p=i(h,"div");s=p?i:r}else s=o;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return s}):window.matchesSelector=s}(this,Element.prototype),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){for(var e in t)return!1;return e=null,!0}function n(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}function o(t,o,r){function a(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}var h=r("transition"),p=r("transform"),u=h&&p,f=!!r("perspective"),c={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[h],d=["transform","transition","transitionDuration","transitionProperty"],l=function(){for(var t={},e=0,i=d.length;i>e;e++){var n=d[e],o=r(n);o&&o!==n&&(t[n]=o)}return t}();e(a.prototype,t.prototype),a.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},a.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},a.prototype.getSize=function(){this.size=o(this.element)},a.prototype.css=function(t){var e=this.element.style;for(var i in t){var n=l[i]||i;e[n]=t[i]}},a.prototype.getPosition=function(){var t=s(this.element),e=this.layout.options,i=e.isOriginLeft,n=e.isOriginTop,o=parseInt(t[i?"left":"right"],10),r=parseInt(t[n?"top":"bottom"],10);o=isNaN(o)?0:o,r=isNaN(r)?0:r;var a=this.layout.size;o-=i?a.paddingLeft:a.paddingRight,r-=n?a.paddingTop:a.paddingBottom,this.position.x=o,this.position.y=r},a.prototype.layoutPosition=function(){var t=this.layout.size,e=this.layout.options,i={};e.isOriginLeft?(i.left=this.position.x+t.paddingLeft+"px",i.right=""):(i.right=this.position.x+t.paddingRight+"px",i.left=""),e.isOriginTop?(i.top=this.position.y+t.paddingTop+"px",i.bottom=""):(i.bottom=this.position.y+t.paddingBottom+"px",i.top=""),this.css(i),this.emitEvent("layout",[this])};var m=f?function(t,e){return"translate3d("+t+"px, "+e+"px, 0)"}:function(t,e){return"translate("+t+"px, "+e+"px)"};a.prototype._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=parseInt(t,10),r=parseInt(e,10),s=o===this.position.x&&r===this.position.y;if(this.setPosition(t,e),s&&!this.isTransitioning)return this.layoutPosition(),void 0;var a=t-i,h=e-n,p={},u=this.layout.options;a=u.isOriginLeft?a:-a,h=u.isOriginTop?h:-h,p.transform=m(a,h),this.transition({to:p,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},a.prototype.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},a.prototype.moveTo=u?a.prototype._transitionTo:a.prototype.goTo,a.prototype.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},a.prototype._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},a.prototype._transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return this._nonTransition(t),void 0;var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);var n=this.element.offsetHeight;n=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var y=p&&n(p)+",opacity";a.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:y,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(c,this,!1))},a.prototype.transition=a.prototype[h?"_transition":"_nonTransition"],a.prototype.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},a.prototype.onotransitionend=function(t){this.ontransitionend(t)};var g={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};a.prototype.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,n=g[t.propertyName]||t.propertyName;if(delete e.ingProperties[n],i(e.ingProperties)&&this.disableTransition(),n in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[n]),n in e.onEnd){var o=e.onEnd[n];o.call(this),delete e.onEnd[n]}this.emitEvent("transitionEnd",[this])}},a.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(c,this,!1),this.isTransitioning=!1},a.prototype._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var v={transitionProperty:"",transitionDuration:""};return a.prototype.removeTransitionStyles=function(){this.css(v)},a.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.emitEvent("remove",[this])},a.prototype.remove=function(){if(!h||!parseFloat(this.layout.options.transitionDuration))return this.removeElem(),void 0;var t=this;this.on("transitionEnd",function(){return t.removeElem(),!0}),this.hide()},a.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options;this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0})},a.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options;this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:{opacity:function(){this.isHidden&&this.css({display:"none"})}}})},a.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},a}var r=document.defaultView,s=r&&r.getComputedStyle?function(t){return r.getComputedStyle(t,null)}:function(t){return t.currentStyle};"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property"],o):(t.Outlayer={},t.Outlayer.Item=o(t.EventEmitter,t.getSize,t.getStyleProperty))}(window),function(t){function e(t,e){for(var i in e)t[i]=e[i];return t}function i(t){return"[object Array]"===f.call(t)}function n(t){var e=[];if(i(t))e=t;else if(t&&"number"==typeof t.length)for(var n=0,o=t.length;o>n;n++)e.push(t[n]);else e.push(t);return e}function o(t,e){var i=d(e,t);-1!==i&&e.splice(i,1)}function r(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()}function s(i,s,f,d,l,m){function y(t,i){if("string"==typeof t&&(t=a.querySelector(t)),!t||!c(t))return h&&h.error("Bad "+this.constructor.namespace+" element: "+t),void 0;this.element=t,this.options=e({},this.options),this.option(i);var n=++v;this.element.outlayerGUID=n,b[n]=this,this._create(),this.options.isInitLayout&&this.layout()}function g(t,i){t.prototype[i]=e({},y.prototype[i])}var v=0,b={};return y.namespace="outlayer",y.Item=m,y.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)"}},e(y.prototype,f.prototype),y.prototype.option=function(t){e(this.options,t)},y.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),e(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},y.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},y.prototype._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,n=[],o=0,r=e.length;r>o;o++){var s=e[o],a=new i(s,this);n.push(a)}return n},y.prototype._filterFindItemElements=function(t){t=n(t);for(var e=this.options.itemSelector,i=[],o=0,r=t.length;r>o;o++){var s=t[o];if(c(s))if(e){l(s,e)&&i.push(s);for(var a=s.querySelectorAll(e),h=0,p=a.length;p>h;h++)i.push(a[h])}else i.push(s)}return i},y.prototype.getItemElements=function(){for(var t=[],e=0,i=this.items.length;i>e;e++)t.push(this.items[e].element);return t},y.prototype.layout=function(){this._resetLayout(),this._manageStamps();var t=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,t),this._isLayoutInited=!0},y.prototype._init=y.prototype.layout,y.prototype._resetLayout=function(){this.getSize()},y.prototype.getSize=function(){this.size=d(this.element)},y.prototype._getMeasurement=function(t,e){var i,n=this.options[t];n?("string"==typeof n?i=this.element.querySelector(n):c(n)&&(i=n),this[t]=i?d(i)[e]:n):this[t]=0},y.prototype.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},y.prototype._getItemsForLayout=function(t){for(var e=[],i=0,n=t.length;n>i;i++){var o=t[i];o.isIgnored||e.push(o)}return e},y.prototype._layoutItems=function(t,e){function i(){n.emitEvent("layoutComplete",[n,t])}var n=this;if(!t||!t.length)return i(),void 0;this._itemsOn(t,"layout",i);for(var o=[],r=0,s=t.length;s>r;r++){var a=t[r],h=this._getItemLayoutPosition(a);h.item=a,h.isInstant=e||a.isLayoutInstant,o.push(h)}this._processLayoutQueue(o)},y.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},y.prototype._processLayoutQueue=function(t){for(var e=0,i=t.length;i>e;e++){var n=t[e];this._positionItem(n.item,n.x,n.y,n.isInstant)}},y.prototype._positionItem=function(t,e,i,n){n?t.goTo(e,i):t.moveTo(e,i)},y.prototype._postLayout=function(){var t=this._getContainerSize();t&&(this._setContainerMeasure(t.width,!0),this._setContainerMeasure(t.height,!1))},y.prototype._getContainerSize=u,y.prototype._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px"}},y.prototype._itemsOn=function(t,e,i){function n(){return o++,o===r&&i.call(s),!0}for(var o=0,r=t.length,s=this,a=0,h=t.length;h>a;a++){var p=t[a];p.on(e,n)}},y.prototype.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},y.prototype.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},y.prototype.stamp=function(t){if(t=this._find(t)){this.stamps=this.stamps.concat(t);for(var e=0,i=t.length;i>e;e++){var n=t[e];this.ignore(n)}}},y.prototype.unstamp=function(t){if(t=this._find(t))for(var e=0,i=t.length;i>e;e++){var n=t[e];o(n,this.stamps),this.unignore(n)}},y.prototype._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=n(t)):void 0},y.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var t=0,e=this.stamps.length;e>t;t++){var i=this.stamps[t];this._manageStamp(i)}}},y.prototype._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)}},y.prototype._manageStamp=u,y.prototype._getElementOffset=function(t){var e=t.getBoundingClientRect(),i=this._boundingRect,n=d(t),o={left:e.left-i.left-n.marginLeft,top:e.top-i.top-n.marginTop,right:i.right-e.right-n.marginRight,bottom:i.bottom-e.bottom-n.marginBottom};return o},y.prototype.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},y.prototype.bindResize=function(){this.isResizeBound||(i.bind(t,"resize",this),this.isResizeBound=!0)},y.prototype.unbindResize=function(){i.unbind(t,"resize",this),this.isResizeBound=!1},y.prototype.onresize=function(){function t(){e.resize(),delete e.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var e=this;this.resizeTimeout=setTimeout(t,100)},y.prototype.resize=function(){var t=d(this.element),e=this.size&&t;e&&t.innerWidth===this.size.innerWidth||this.layout()},y.prototype.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},y.prototype.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},y.prototype.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i)}},y.prototype.reveal=function(t){var e=t&&t.length;if(e)for(var i=0;e>i;i++){var n=t[i];n.reveal()}},y.prototype.hide=function(t){var e=t&&t.length;if(e)for(var i=0;e>i;i++){var n=t[i];n.hide()}},y.prototype.getItem=function(t){for(var e=0,i=this.items.length;i>e;e++){var n=this.items[e];if(n.element===t)return n}},y.prototype.getItems=function(t){if(t&&t.length){for(var e=[],i=0,n=t.length;n>i;i++){var o=t[i],r=this.getItem(o);r&&e.push(r)}return e}},y.prototype.remove=function(t){t=n(t);var e=this.getItems(t);if(e&&e.length){this._itemsOn(e,"remove",function(){this.emitEvent("removeComplete",[this,e])});for(var i=0,r=e.length;r>i;i++){var s=e[i];s.remove(),o(s,this.items)}}},y.prototype.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="";for(var e=0,i=this.items.length;i>e;e++){var n=this.items[e];n.destroy()}this.unbindResize(),delete this.element.outlayerGUID,p&&p.removeData(this.element,this.constructor.namespace)},y.data=function(t){var e=t&&t.outlayerGUID;return e&&b[e]},y.create=function(t,i){function n(){y.apply(this,arguments)}return Object.create?n.prototype=Object.create(y.prototype):e(n.prototype,y.prototype),n.prototype.constructor=n,g(n,"options"),e(n.prototype.options,i),n.namespace=t,n.data=y.data,n.Item=function(){m.apply(this,arguments)},n.Item.prototype=new m,s(function(){for(var e=r(t),i=a.querySelectorAll(".js-"+e),o="data-"+e+"-options",s=0,u=i.length;u>s;s++){var f,c=i[s],d=c.getAttribute(o);try{f=d&&JSON.parse(d)}catch(l){h&&h.error("Error parsing "+o+" on "+c.nodeName.toLowerCase()+(c.id?"#"+c.id:"")+": "+l);continue}var m=new n(c,f);p&&p.data(c,t,m)}}),p&&p.bridget&&p.bridget(t,n),n},y.Item=m,y}var a=t.document,h=t.console,p=t.jQuery,u=function(){},f=Object.prototype.toString,c="object"==typeof HTMLElement?function(t){return t instanceof HTMLElement}:function(t){return t&&"object"==typeof t&&1===t.nodeType&&"string"==typeof t.nodeName},d=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,n=t.length;n>i;i++)if(t[i]===e)return i;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"],s):t.Outlayer=s(t.eventie,t.docReady,t.EventEmitter,t.getSize,t.matchesSelector,t.Outlayer.Item)}(window),function(t){function e(t,e){var n=t.create("masonry");return n.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var t=this.cols;for(this.colYs=[];t--;)this.colYs.push(0);this.maxY=0},n.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth}this.columnWidth+=this.gutter,this.cols=Math.floor((this.containerWidth+this.gutter)/this.columnWidth),this.cols=Math.max(this.cols,1)},n.prototype.getContainerWidth=function(){var t=this.options.isFitWidth?this.element.parentNode:this.element,i=e(t);this.containerWidth=i&&i.innerWidth},n.prototype._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,n=e&&1>e?"round":"ceil",o=Math[n](t.size.outerWidth/this.columnWidth);o=Math.min(o,this.cols);for(var r=this._getColGroup(o),s=Math.min.apply(Math,r),a=i(r,s),h={x:this.columnWidth*a,y:s},p=s+t.size.outerHeight,u=this.cols+1-r.length,f=0;u>f;f++)this.colYs[a+f]=p;return h},n.prototype._getColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++){var o=this.colYs.slice(n,n+t);e[n]=Math.max.apply(Math,o)}return e},n.prototype._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this.options.isOriginLeft?n.left:n.right,r=o+i.outerWidth,s=Math.floor(o/this.columnWidth);s=Math.max(0,s);var a=Math.floor(r/this.columnWidth);a-=r%this.columnWidth?0:1,a=Math.min(this.cols-1,a);for(var h=(this.options.isOriginTop?n.top:n.bottom)+i.outerHeight,p=s;a>=p;p++)this.colYs[p]=Math.max(h,this.colYs[p])},n.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this.options.isFitWidth&&(t.width=this._getContainerFitWidth()),t},n.prototype._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return(this.cols-t)*this.columnWidth-this.gutter},n.prototype.resize=function(){var t=this.containerWidth;this.getContainerWidth(),t!==this.containerWidth&&this.layout()},n}var i=Array.prototype.indexOf?function(t,e){return t.indexOf(e)}:function(t,e){for(var i=0,n=t.length;n>i;i++){var o=t[i];if(o===e)return i}return-1};"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],e):t.Masonry=e(t.Outlayer,t.getSize)}(window);
+
+/*!
+ * imagesLoaded PACKAGED v3.1.4
+ * JavaScript is all like "You images are done yet or what?"
+ * MIT License
+ */
+
+(function(){function e(){}function t(e,t){for(var n=e.length;n--;)if(e[n].listener===t)return n;return-1}function n(e){return function(){return this[e].apply(this,arguments)}}var i=e.prototype,r=this,o=r.EventEmitter;i.getListeners=function(e){var t,n,i=this._getEvents();if("object"==typeof e){t={};for(n in i)i.hasOwnProperty(n)&&e.test(n)&&(t[n]=i[n])}else t=i[e]||(i[e]=[]);return t},i.flattenListeners=function(e){var t,n=[];for(t=0;e.length>t;t+=1)n.push(e[t].listener);return n},i.getListenersAsObject=function(e){var t,n=this.getListeners(e);return n instanceof Array&&(t={},t[e]=n),t||n},i.addListener=function(e,n){var i,r=this.getListenersAsObject(e),o="object"==typeof n;for(i in r)r.hasOwnProperty(i)&&-1===t(r[i],n)&&r[i].push(o?n:{listener:n,once:!1});return this},i.on=n("addListener"),i.addOnceListener=function(e,t){return this.addListener(e,{listener:t,once:!0})},i.once=n("addOnceListener"),i.defineEvent=function(e){return this.getListeners(e),this},i.defineEvents=function(e){for(var t=0;e.length>t;t+=1)this.defineEvent(e[t]);return this},i.removeListener=function(e,n){var i,r,o=this.getListenersAsObject(e);for(r in o)o.hasOwnProperty(r)&&(i=t(o[r],n),-1!==i&&o[r].splice(i,1));return this},i.off=n("removeListener"),i.addListeners=function(e,t){return this.manipulateListeners(!1,e,t)},i.removeListeners=function(e,t){return this.manipulateListeners(!0,e,t)},i.manipulateListeners=function(e,t,n){var i,r,o=e?this.removeListener:this.addListener,s=e?this.removeListeners:this.addListeners;if("object"!=typeof t||t instanceof RegExp)for(i=n.length;i--;)o.call(this,t,n[i]);else for(i in t)t.hasOwnProperty(i)&&(r=t[i])&&("function"==typeof r?o.call(this,i,r):s.call(this,i,r));return this},i.removeEvent=function(e){var t,n=typeof e,i=this._getEvents();if("string"===n)delete i[e];else if("object"===n)for(t in i)i.hasOwnProperty(t)&&e.test(t)&&delete i[t];else delete this._events;return this},i.removeAllListeners=n("removeEvent"),i.emitEvent=function(e,t){var n,i,r,o,s=this.getListenersAsObject(e);for(r in s)if(s.hasOwnProperty(r))for(i=s[r].length;i--;)n=s[r][i],n.once===!0&&this.removeListener(e,n.listener),o=n.listener.apply(this,t||[]),o===this._getOnceReturnValue()&&this.removeListener(e,n.listener);return this},i.trigger=n("emitEvent"),i.emit=function(e){var t=Array.prototype.slice.call(arguments,1);return this.emitEvent(e,t)},i.setOnceReturnValue=function(e){return this._onceReturnValue=e,this},i._getOnceReturnValue=function(){return this.hasOwnProperty("_onceReturnValue")?this._onceReturnValue:!0},i._getEvents=function(){return this._events||(this._events={})},e.noConflict=function(){return r.EventEmitter=o,e},"function"==typeof define&&define.amd?define("eventEmitter/EventEmitter",[],function(){return e}):"object"==typeof module&&module.exports?module.exports=e:this.EventEmitter=e}).call(this),function(e){function t(t){var n=e.event;return n.target=n.target||n.srcElement||t,n}var n=document.documentElement,i=function(){};n.addEventListener?i=function(e,t,n){e.addEventListener(t,n,!1)}:n.attachEvent&&(i=function(e,n,i){e[n+i]=i.handleEvent?function(){var n=t(e);i.handleEvent.call(i,n)}:function(){var n=t(e);i.call(e,n)},e.attachEvent("on"+n,e[n+i])});var r=function(){};n.removeEventListener?r=function(e,t,n){e.removeEventListener(t,n,!1)}:n.detachEvent&&(r=function(e,t,n){e.detachEvent("on"+t,e[t+n]);try{delete e[t+n]}catch(i){e[t+n]=void 0}});var o={bind:i,unbind:r};"function"==typeof define&&define.amd?define("eventie/eventie",o):e.eventie=o}(this),function(e,t){"function"==typeof define&&define.amd?define(["eventEmitter/EventEmitter","eventie/eventie"],function(n,i){return t(e,n,i)}):"object"==typeof exports?module.exports=t(e,require("eventEmitter"),require("eventie")):e.imagesLoaded=t(e,e.EventEmitter,e.eventie)}(this,function(e,t,n){function i(e,t){for(var n in t)e[n]=t[n];return e}function r(e){return"[object Array]"===d.call(e)}function o(e){var t=[];if(r(e))t=e;else if("number"==typeof e.length)for(var n=0,i=e.length;i>n;n++)t.push(e[n]);else t.push(e);return t}function s(e,t,n){if(!(this instanceof s))return new s(e,t);"string"==typeof e&&(e=document.querySelectorAll(e)),this.elements=o(e),this.options=i({},this.options),"function"==typeof t?n=t:i(this.options,t),n&&this.on("always",n),this.getImages(),a&&(this.jqDeferred=new a.Deferred);var r=this;setTimeout(function(){r.check()})}function c(e){this.img=e}function f(e){this.src=e,v[e]=this}var a=e.jQuery,u=e.console,h=u!==void 0,d=Object.prototype.toString;s.prototype=new t,s.prototype.options={},s.prototype.getImages=function(){this.images=[];for(var e=0,t=this.elements.length;t>e;e++){var n=this.elements[e];"IMG"===n.nodeName&&this.addImage(n);for(var i=n.querySelectorAll("img"),r=0,o=i.length;o>r;r++){var s=i[r];this.addImage(s)}}},s.prototype.addImage=function(e){var t=new c(e);this.images.push(t)},s.prototype.check=function(){function e(e,r){return t.options.debug&&h&&u.log("confirm",e,r),t.progress(e),n++,n===i&&t.complete(),!0}var t=this,n=0,i=this.images.length;if(this.hasAnyBroken=!1,!i)return this.complete(),void 0;for(var r=0;i>r;r++){var o=this.images[r];o.on("confirm",e),o.check()}},s.prototype.progress=function(e){this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded;var t=this;setTimeout(function(){t.emit("progress",t,e),t.jqDeferred&&t.jqDeferred.notify&&t.jqDeferred.notify(t,e)})},s.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";this.isComplete=!0;var t=this;setTimeout(function(){if(t.emit(e,t),t.emit("always",t),t.jqDeferred){var n=t.hasAnyBroken?"reject":"resolve";t.jqDeferred[n](t)}})},a&&(a.fn.imagesLoaded=function(e,t){var n=new s(this,e,t);return n.jqDeferred.promise(a(this))}),c.prototype=new t,c.prototype.check=function(){var e=v[this.img.src]||new f(this.img.src);if(e.isConfirmed)return this.confirm(e.isLoaded,"cached was confirmed"),void 0;if(this.img.complete&&void 0!==this.img.naturalWidth)return this.confirm(0!==this.img.naturalWidth,"naturalWidth"),void 0;var t=this;e.on("confirm",function(e,n){return t.confirm(e.isLoaded,n),!0}),e.check()},c.prototype.confirm=function(e,t){this.isLoaded=e,this.emit("confirm",this,t)};var v={};return f.prototype=new t,f.prototype.check=function(){if(!this.isChecked){var e=new Image;n.bind(e,"load",this),n.bind(e,"error",this),e.src=this.src,this.isChecked=!0}},f.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},f.prototype.onload=function(e){this.confirm(!0,"onload"),this.unbindProxyEvents(e)},f.prototype.onerror=function(e){this.confirm(!1,"onerror"),this.unbindProxyEvents(e)},f.prototype.confirm=function(e,t){this.isConfirmed=!0,this.isLoaded=e,this.emit("confirm",this,t)},f.prototype.unbindProxyEvents=function(e){n.unbind(e.target,"load",this),n.unbind(e.target,"error",this)},s});
\ No newline at end of file
index da1ce6aed2c4c99f1bad6c59caca548a8eec9fd3..eab4560c82784ea1a65961fba1dff945ead68d38 100644 (file)
 /* global tinymce */
-/**
+
+window.wp = window.wp || {};
+
+/*
+ * The TinyMCE view API.
+ *
  * 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.
+ *
+ * Diagram
+ *
+ * |- registered view constructor (type)
+ * |  |- view instance (unique text)
+ * |  |  |- editor 1
+ * |  |  |  |- view node
+ * |  |  |  |- view node
+ * |  |  |  |- ...
+ * |  |  |- editor 2
+ * |  |  |  |- ...
+ * |  |- view instance
+ * |  |  |- ...
+ * |- registered view
+ * |  |- ...
  */
-
-// Ensure the global `wp` object exists.
-window.wp = window.wp || {};
-
-( function( $ ) {
+( function( window, wp, $ ) {
        'use strict';
 
        var views = {},
-               instances = {},
-               media = wp.media,
-               mediaWindows = [],
-               windowIdx = 0,
-               waitInterval = 50,
-               viewOptions = ['encodedText'];
-
-       // Create the `wp.mce` object if necessary.
-       wp.mce = wp.mce || {};
-
-       /**
-        * 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.
-        *
-        * @param {Object} [options={}]
-        */
-       wp.mce.View = function( options ) {
-               options = options || {};
-               this.type = options.type;
-               _.extend( this, _.pick( options, viewOptions ) );
-               this.initialize.apply( this, arguments );
-       };
+               instances = {};
 
-       _.extend( wp.mce.View.prototype, {
-               initialize: function() {},
-               getHtml: function() {
-                       return '';
-               },
-               loadingPlaceholder: function() {
-                       return '' +
-                               '<div class="loading-placeholder">' +
-                                       '<div class="dashicons dashicons-admin-media"></div>' +
-                                       '<div class="wpview-loading"><ins></ins></div>' +
-                               '</div>';
-               },
-               render: function( force ) {
-                       if ( force || ! this.rendered() ) {
-                               this.unbind();
-
-                               this.setContent(
-                                       '<p class="wpview-selection-before">\u00a0</p>' +
-                                       '<div class="wpview-body" contenteditable="false">' +
-                                               '<div class="toolbar mce-arrow-down">' +
-                                                       ( _.isFunction( views[ this.type ].edit ) ? '<div class="dashicons dashicons-edit edit"></div>' : '' ) +
-                                                       '<div class="dashicons dashicons-no remove"></div>' +
-                                               '</div>' +
-                                               '<div class="wpview-content wpview-type-' + this.type + '">' +
-                                                       ( this.getHtml() || this.loadingPlaceholder() ) +
-                                               '</div>' +
-                                               ( this.overlay ? '<div class="wpview-overlay"></div>' : '' ) +
-                                       '</div>' +
-                                       '<p class="wpview-selection-after">\u00a0</p>',
-                                       'wrap'
-                               );
-
-                               $( this ).trigger( 'ready' );
-
-                               this.rendered( true );
-                       }
-               },
-               unbind: function() {},
-               getEditors: function( callback ) {
-                       var editors = [];
-
-                       _.each( tinymce.editors, function( editor ) {
-                               if ( editor.plugins.wpview ) {
-                                       if ( callback ) {
-                                               callback( editor );
-                                       }
-
-                                       editors.push( editor );
-                               }
-                       }, this );
-
-                       return editors;
-               },
-               getNodes: function( callback ) {
-                       var nodes = [],
-                               self = this;
-
-                       this.getEditors( function( editor ) {
-                               $( editor.getBody() )
-                               .find( '[data-wpview-text="' + self.encodedText + '"]' )
-                               .each( function ( i, node ) {
-                                       if ( callback ) {
-                                               callback( editor, node, $( node ).find( '.wpview-content' ).get( 0 ) );
-                                       }
-
-                                       nodes.push( node );
-                               } );
-                       } );
-
-                       return nodes;
-               },
-               setContent: function( html, option ) {
-                       this.getNodes( function ( editor, node, content ) {
-                               var el = ( option === 'wrap' || option === 'replace' ) ? node : content,
-                                       insert = html;
-
-                               if ( _.isString( insert ) ) {
-                                       insert = editor.dom.createFragment( insert );
-                               }
-
-                               if ( option === 'replace' ) {
-                                       editor.dom.replace( insert, el );
-                               } else {
-                                       el.innerHTML = '';
-                                       el.appendChild( insert );
-                               }
-                       } );
-               },
-               /* jshint scripturl: true */
-               setIframes: function ( head, body ) {
-                       var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver,
-                               importStyles = this.type === 'video' || this.type === 'audio' || this.type === 'playlist';
-
-                       if ( head || body.indexOf( '<script' ) !== -1 ) {
-                               this.getNodes( function ( editor, node, content ) {
-                                       var dom = editor.dom,
-                                               styles = '',
-                                               bodyClasses = editor.getBody().className || '',
-                                               iframe, iframeDoc, i, resize;
-
-                                       content.innerHTML = '';
-                                       head = head || '';
-
-                                       if ( importStyles ) {
-                                               if ( ! wp.mce.views.sandboxStyles ) {
-                                                       tinymce.each( dom.$( 'link[rel="stylesheet"]', editor.getDoc().head ), function( link ) {
-                                                               if ( link.href && link.href.indexOf( 'skins/lightgray/content.min.css' ) === -1 &&
-                                                                       link.href.indexOf( 'skins/wordpress/wp-content.css' ) === -1 ) {
-
-                                                                       styles += dom.getOuterHTML( link ) + '\n';
-                                                               }
-                                                       });
-
-                                                       wp.mce.views.sandboxStyles = styles;
-                                               } else {
-                                                       styles = wp.mce.views.sandboxStyles;
-                                               }
-                                       }
-
-                                       // Seems Firefox needs a bit of time to insert/set the view nodes, or the iframe will fail
-                                       // especially when switching Text => Visual.
-                                       setTimeout( function() {
-                                               iframe = dom.add( content, 'iframe', {
-                                                       src: tinymce.Env.ie ? 'javascript:""' : '',
-                                                       frameBorder: '0',
-                                                       allowTransparency: 'true',
-                                                       scrolling: 'no',
-                                                       'class': 'wpview-sandbox',
-                                                       style: {
-                                                               width: '100%',
-                                                               display: 'block'
-                                                       }
-                                               } );
-
-                                               iframeDoc = iframe.contentWindow.document;
-
-                                               iframeDoc.open();
-                                               iframeDoc.write(
-                                                       '<!DOCTYPE html>' +
-                                                       '<html>' +
-                                                               '<head>' +
-                                                                       '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' +
-                                                                       head +
-                                                                       styles +
-                                                                       '<style>' +
-                                                                               'html {' +
-                                                                                       'background: transparent;' +
-                                                                                       'padding: 0;' +
-                                                                                       'margin: 0;' +
-                                                                               '}' +
-                                                                               'body#wpview-iframe-sandbox {' +
-                                                                                       'background: transparent;' +
-                                                                                       'padding: 1px 0 !important;' +
-                                                                                       'margin: -1px 0 0 !important;' +
-                                                                               '}' +
-                                                                               'body#wpview-iframe-sandbox:before,' +
-                                                                               'body#wpview-iframe-sandbox:after {' +
-                                                                                       'display: none;' +
-                                                                                       'content: "";' +
-                                                                               '}' +
-                                                                       '</style>' +
-                                                               '</head>' +
-                                                               '<body id="wpview-iframe-sandbox" class="' + bodyClasses + '">' +
-                                                                       body +
-                                                               '</body>' +
-                                                       '</html>'
-                                               );
-                                               iframeDoc.close();
-
-                                               resize = function() {
-                                                       // Make sure the iframe still exists.
-                                                       iframe.contentWindow && $( iframe ).height( $( iframeDoc.body ).height() );
-                                               };
-
-                                               if ( MutationObserver ) {
-                                                       new MutationObserver( _.debounce( function() {
-                                                               resize();
-                                                       }, 100 ) )
-                                                       .observe( iframeDoc.body, {
-                                                               attributes: true,
-                                                               childList: true,
-                                                               subtree: true
-                                                       } );
-                                               } else {
-                                                       for ( i = 1; i < 6; i++ ) {
-                                                               setTimeout( resize, i * 700 );
-                                                       }
-                                               }
-
-                                               if ( importStyles ) {
-                                                       editor.on( 'wp-body-class-change', function() {
-                                                               iframeDoc.body.className = editor.getBody().className;
-                                                       });
-                                               }
-                                       }, waitInterval );
-                               });
-                       } else {
-                               this.setContent( body );
-                       }
-               },
-               setError: function( message, dashicon ) {
-                       this.setContent(
-                               '<div class="wpview-error">' +
-                                       '<div class="dashicons dashicons-' + ( dashicon ? dashicon : 'no' ) + '"></div>' +
-                                       '<p>' + message + '</p>' +
-                               '</div>'
-                       );
-               },
-               rendered: function( value ) {
-                       var notRendered;
-
-                       this.getNodes( function( editor, node ) {
-                               if ( value != null ) {
-                                       $( node ).data( 'rendered', value === true );
-                               } else {
-                                       notRendered = notRendered || ! $( node ).data( 'rendered' );
-                               }
-                       } );
-
-                       return ! notRendered;
-               }
-       } );
-
-       // take advantage of the Backbone extend method
-       wp.mce.View.extend = Backbone.View.extend;
+       wp.mce = wp.mce || {};
 
        /**
         * wp.mce.views
@@ -273,67 +42,38 @@ window.wp = window.wp || {};
        wp.mce.views = {
 
                /**
-                * wp.mce.views.register( type, view )
-                *
-                * Registers a new TinyMCE view.
-                *
-                * @param type
-                * @param constructor
+                * Registers a new view type.
                 *
+                * @param {String} type   The view type.
+                * @param {Object} extend An object to extend wp.mce.View.prototype with.
                 */
-               register: function( type, constructor ) {
-                       var defaultConstructor = {
-                                       type: type,
-                                       View: {},
-                                       toView: function( content ) {
-                                               var match = wp.shortcode.next( this.type, content );
-
-                                               if ( ! match ) {
-                                                       return;
-                                               }
-
-                                               return {
-                                                       index: match.index,
-                                                       content: match.content,
-                                                       options: {
-                                                               shortcode: match.shortcode
-                                                       }
-                                               };
-                                       }
-                               };
-
-                       constructor = _.defaults( constructor, defaultConstructor );
-                       constructor.View = wp.mce.View.extend( constructor.View );
-
-                       views[ type ] = constructor;
+               register: function( type, extend ) {
+                       views[ type ] = wp.mce.View.extend( _.extend( extend, { type: type } ) );
                },
 
                /**
-                * wp.mce.views.get( id )
+                * Unregisters a view type.
                 *
-                * Returns a TinyMCE view constructor.
-                *
-                * @param type
+                * @param {String} type The view type.
                 */
-               get: function( type ) {
-                       return views[ type ];
+               unregister: function( type ) {
+                       delete views[ type ];
                },
 
                /**
-                * wp.mce.views.unregister( type )
+                * Returns the settings of a view type.
                 *
-                * Unregisters a TinyMCE view.
+                * @param {String} type The view type.
                 *
-                * @param type
+                * @return {Function} The view constructor.
                 */
-               unregister: function( type ) {
-                       delete views[ type ];
+               get: function( type ) {
+                       return views[ type ];
                },
 
                /**
-                * wp.mce.views.unbind( editor )
-                *
-                * The editor DOM is being rebuilt, run cleanup.
+                * Unbinds all view nodes.
+                * Runs before removing all view nodes from the DOM.
                 */
                unbind: function() {
                        _.each( instances, function( instance ) {
@@ -342,18 +82,21 @@ window.wp = window.wp || {};
                },
 
                /**
-                * 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.
+                * Scans a given string for each view's pattern,
+                * replacing any matches with markers,
+                * and creates a new instance for every match.
                 *
-                * @param content
+                * @param {String} content The string to scan.
+                *
+                * @return {String} The string with markers.
                 */
-               toViews: function( content ) {
+               setMarkers: function( content ) {
                        var pieces = [ { content: content } ],
+                               self = this,
+                               instance,
                                current;
 
-                       _.each( views, function( view, viewType ) {
+                       _.each( views, function( view, type ) {
                                current = pieces.slice();
                                pieces  = [];
 
@@ -369,110 +112,95 @@ window.wp = window.wp || {};
 
                                        // Iterate through the string progressively matching views
                                        // and slicing the string as we go.
-                                       while ( remaining && (result = view.toView( remaining )) ) {
+                                       while ( remaining && ( result = view.prototype.match( remaining ) ) ) {
                                                // Any text before the match becomes an unprocessed piece.
                                                if ( result.index ) {
-                                                       pieces.push({ content: remaining.substring( 0, result.index ) });
+                                                       pieces.push( { content: remaining.substring( 0, result.index ) } );
                                                }
 
+                                               instance = self.createInstance( type, result.content, result.options );
+
                                                // Add the processed piece for the match.
-                                               pieces.push({
-                                                       content: wp.mce.views.toView( viewType, result.content, result.options ),
+                                               pieces.push( {
+                                                       content: '<p data-wpview-marker="' + instance.encodedText + '">' + instance.text + '</p>',
                                                        processed: true
-                                               });
+                                               } );
 
                                                // Update the remaining content.
                                                remaining = remaining.slice( result.index + result.content.length );
                                        }
 
-                                       // There are no additional matches. If any content remains,
-                                       // add it as an unprocessed piece.
+                                       // There are no additional matches.
+                                       // If any content remains, add it as an unprocessed piece.
                                        if ( remaining ) {
-                                               pieces.push({ content: remaining });
+                                               pieces.push( { content: remaining } );
                                        }
-                               });
-                       });
+                               } );
+                       } );
 
-                       return _.pluck( pieces, 'content' ).join('');
+                       return _.pluck( pieces, 'content' ).join( '' );
                },
 
                /**
-                * Create a placeholder for a particular view type
+                * Create a view instance.
                 *
-                * @param viewType
-                * @param text
-                * @param options
+                * @param {String} type    The view type.
+                * @param {String} text    The textual representation of the view.
+                * @param {Object} options Options.
                 *
+                * @return {wp.mce.View} The view instance.
                 */
-               toView: function( viewType, text, options ) {
-                       var view = wp.mce.views.get( viewType ),
-                               encodedText = window.encodeURIComponent( text ),
-                               instance, viewOptions;
+               createInstance: function( type, text, options ) {
+                       var View = this.get( type ),
+                               encodedText,
+                               instance;
 
+                       text = tinymce.DOM.decode( text ),
+                       encodedText = encodeURIComponent( text ),
+                       instance = this.getInstance( encodedText );
 
-                       if ( ! view ) {
-                               return text;
+                       if ( instance ) {
+                               return instance;
                        }
 
-                       if ( ! wp.mce.views.getInstance( encodedText ) ) {
-                               viewOptions = options;
-                               viewOptions.type = viewType;
-                               viewOptions.encodedText = encodedText;
-                               instance = new view.View( viewOptions );
-                               instances[ encodedText ] = instance;
-                       }
-
-                       return wp.html.string({
-                               tag: 'div',
-
-                               attrs: {
-                                       'class': 'wpview-wrap',
-                                       'data-wpview-text': encodedText,
-                                       'data-wpview-type': viewType
-                               },
+                       options = _.extend( options || {}, {
+                               text: text,
+                               encodedText: encodedText
+                       } );
 
-                               content: '\u00a0'
-                       });
+                       return instances[ encodedText ] = new View( options );
                },
 
                /**
-                * Refresh views after an update is made
+                * Get a view instance.
+                *
+                * @param {(String|HTMLElement)} object The textual representation of the view or the view node.
                 *
-                * @param view {object} being refreshed
-                * @param text {string} textual representation of the view
-                * @param force {Boolean} whether to force rendering
-                */
-               refreshView: function( view, text, force ) {
-                       var encodedText = window.encodeURIComponent( text ),
-                               viewOptions,
-                               result, instance;
-
-                       instance = wp.mce.views.getInstance( encodedText );
-
-                       if ( ! instance ) {
-                               result = view.toView( text );
-                               viewOptions = result.options;
-                               viewOptions.type = view.type;
-                               viewOptions.encodedText = encodedText;
-                               instance = new view.View( viewOptions );
-                               instances[ encodedText ] = instance;
+                * @return {wp.mce.View} The view instance or undefined.
+                */
+               getInstance: function( object ) {
+                       if ( typeof object === 'string' ) {
+                               return instances[ encodeURIComponent( object ) ];
                        }
 
-                       instance.render( force );
+                       return instances[ $( object ).attr( 'data-wpview-text' ) ];
                },
 
-               getInstance: function( encodedText ) {
-                       return instances[ encodedText ];
+               /**
+                * Given a view node, get the view's text.
+                *
+                * @param {HTMLElement} node The view node.
+                *
+                * @return {String} The textual representation of the view.
+                */
+               getText: function( node ) {
+                       return decodeURIComponent( $( node ).attr( 'data-wpview-text' ) || '' );
                },
 
                /**
-                * render( scope )
+                * Renders all view nodes that are not yet rendered.
                 *
-                * 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 )`.
+                * @param {Boolean} force Rerender all view nodes.
                 */
                render: function( force ) {
                        _.each( instances, function( instance ) {
@@ -480,409 +208,674 @@ window.wp = window.wp || {};
                        } );
                },
 
-               edit: function( node ) {
-                       var viewType = $( node ).data('wpview-type'),
-                               view = wp.mce.views.get( viewType );
+               /**
+                * Update the text of a given view node.
+                *
+                * @param {String}         text   The new text.
+                * @param {tinymce.Editor} editor The TinyMCE editor instance the view node is in.
+                * @param {HTMLElement}    node   The view node to update.
+                */
+               update: function( text, editor, node ) {
+                       var instance = this.getInstance( node );
 
-                       if ( view ) {
-                               view.edit( node );
+                       if ( instance ) {
+                               instance.update( text, editor, node );
+                       }
+               },
+
+               /**
+                * Renders any editing interface based on the view type.
+                *
+                * @param {tinymce.Editor} editor The TinyMCE editor instance the view node is in.
+                * @param {HTMLElement}    node   The view node to edit.
+                */
+               edit: function( editor, node ) {
+                       var instance = this.getInstance( node );
+
+                       if ( instance && instance.edit ) {
+                               instance.edit( instance.text, function( text ) {
+                                       instance.update( text, editor, node );
+                               } );
+                       }
+               },
+
+               /**
+                * Remove a given view node from the DOM.
+                *
+                * @param {tinymce.Editor} editor The TinyMCE editor instance the view node is in.
+                * @param {HTMLElement}    node   The view node to remove.
+                */
+               remove: function( editor, node ) {
+                       var instance = this.getInstance( node );
+
+                       if ( instance ) {
+                               instance.remove( editor, node );
                        }
                }
        };
 
-       wp.mce.views.register( 'gallery', {
-               View: {
-                       template: media.template( 'editor-gallery' ),
+       /**
+        * 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.
+        *
+        * @param {Object} options Options.
+        */
+       wp.mce.View = function( options ) {
+               _.extend( this, options );
+               this.initialize();
+       };
 
-                       // 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(),
+       wp.mce.View.extend = Backbone.View.extend;
 
-                       initialize: function( options ) {
-                               this.shortcode = options.shortcode;
-                               this.fetch();
-                       },
+       _.extend( wp.mce.View.prototype, {
 
-                       fetch: function() {
-                               var self = this;
+               /**
+                * The content.
+                *
+                * @type {*}
+                */
+               content: null,
 
-                               this.attachments = wp.media.gallery.attachments( this.shortcode, this.postID );
-                               this.dfd = this.attachments.more().done( function() {
-                                       self.render( true );
-                               } );
-                       },
+               /**
+                * Whether or not to display a loader.
+                *
+                * @type {Boolean}
+                */
+               loader: true,
 
-                       getHtml: function() {
-                               var attrs = this.shortcode.attrs.named,
-                                       attachments = false,
-                                       options;
+               /**
+                * Runs after the view instance is created.
+                */
+               initialize: function() {},
 
-                               // Don't render errors while still fetching attachments
-                               if ( this.dfd && 'pending' === this.dfd.state() && ! this.attachments.length ) {
-                                       return '';
-                               }
+               /**
+                * Retuns the content to render in the view node.
+                *
+                * @return {*}
+                */
+               getContent: function() {
+                       return this.content;
+               },
 
-                               if ( this.attachments.length ) {
-                                       attachments = this.attachments.toJSON();
-
-                                       _.each( attachments, function( attachment ) {
-                                               if ( attachment.sizes ) {
-                                                       if ( attrs.size && attachment.sizes[ attrs.size ] ) {
-                                                               attachment.thumbnail = attachment.sizes[ attrs.size ];
-                                                       } else if ( attachment.sizes.thumbnail ) {
-                                                               attachment.thumbnail = attachment.sizes.thumbnail;
-                                                       } else if ( attachment.sizes.full ) {
-                                                               attachment.thumbnail = attachment.sizes.full;
-                                                       }
-                                               }
-                                       } );
-                               }
+               /**
+                * Renders all view nodes tied to this view instance that are not yet rendered.
+                *
+                * @param {String} content The content to render. Optional.
+                * @param {Boolean} force Rerender all view nodes tied to this view instance.
+                */
+               render: function( content, force ) {
+                       if ( content != null ) {
+                               this.content = content;
+                       }
 
-                               options = {
-                                       attachments: attachments,
-                                       columns: attrs.columns ? parseInt( attrs.columns, 10 ) : wp.media.galleryDefaults.columns
-                               };
+                       content = this.getContent();
 
-                               return this.template( options );
+                       // If there's nothing to render an no loader needs to be shown, stop.
+                       if ( ! this.loader && ! content ) {
+                               return;
                        }
-               },
 
-               edit: function( node ) {
-                       var gallery = wp.media.gallery,
-                               self = this,
-                               frame, data;
+                       // We're about to rerender all views of this instance, so unbind rendered views.
+                       force && this.unbind();
 
-                       data = window.decodeURIComponent( $( node ).attr('data-wpview-text') );
-                       frame = gallery.edit( data );
+                       // Replace any left over markers.
+                       this.replaceMarkers();
 
-                       frame.state('gallery-edit').on( 'update', function( selection ) {
-                               var shortcode = gallery.shortcode( selection ).string(), force;
-                               $( node ).attr( 'data-wpview-text', window.encodeURIComponent( shortcode ) );
-                               force = ( data !== shortcode );
-                               wp.mce.views.refreshView( self, shortcode, force );
-                       });
+                       if ( content ) {
+                               this.setContent( content, function( editor, node, contentNode ) {
+                                       $( node ).data( 'rendered', true );
+                                       this.bindNode.call( this, editor, node, contentNode );
+                               }, force ? null : false );
+                       } else {
+                               this.setLoader();
+                       }
+               },
 
-                       frame.on( 'close', function() {
-                               frame.detach();
-                       });
-               }
-       } );
+               /**
+                * Binds a given node after its content is added to the DOM.
+                */
+               bindNode: function() {},
 
-       /**
-        * These are base methods that are shared by the audio and video shortcode's MCE controller.
-        *
-        * @mixin
-        */
-       wp.mce.av = {
-               View: {
-                       overlay: true,
+               /**
+                * Unbinds a given node before its content is removed from the DOM.
+                */
+               unbindNode: function() {},
 
-                       action: 'parse-media-shortcode',
+               /**
+                * Unbinds all view nodes tied to this view instance.
+                * Runs before their content is removed from the DOM.
+                */
+               unbind: function() {
+                       this.getNodes( function( editor, node, contentNode ) {
+                               this.unbindNode.call( this, editor, node, contentNode );
+                               $( node ).trigger( 'wp-mce-view-unbind' );
+                       }, true );
+               },
 
-                       initialize: function( options ) {
+               /**
+                * Gets all the TinyMCE editor instances that support views.
+                *
+                * @param {Function} callback A callback.
+                */
+               getEditors: function( callback ) {
+                       _.each( tinymce.editors, function( editor ) {
+                               if ( editor.plugins.wpview ) {
+                                       callback.call( this, editor );
+                               }
+                       }, this );
+               },
+
+               /**
+                * Gets all view nodes tied to this view instance.
+                *
+                * @param {Function} callback A callback.
+                * @param {Boolean}  rendered Get (un)rendered view nodes. Optional.
+                */
+               getNodes: function( callback, rendered ) {
+                       this.getEditors( function( editor ) {
                                var self = this;
 
-                               this.shortcode = options.shortcode;
+                               $( editor.getBody() )
+                                       .find( '[data-wpview-text="' + self.encodedText + '"]' )
+                                       .filter( function() {
+                                               var data;
+
+                                               if ( rendered == null ) {
+                                                       return true;
+                                               }
 
-                               _.bindAll( this, 'setIframes', 'setNodes', 'fetch', 'stopPlayers' );
-                               $( this ).on( 'ready', this.setNodes );
+                                               data = $( this ).data( 'rendered' ) === true;
 
-                               $( document ).on( 'media:edit', this.stopPlayers );
+                                               return rendered ? data : ! data;
+                                       } )
+                                       .each( function() {
+                                               callback.call( self, editor, this, $( this ).find( '.wpview-content' ).get( 0 ) );
+                                       } );
+                       } );
+               },
 
-                               this.fetch();
+               /**
+                * Gets all marker nodes tied to this view instance.
+                *
+                * @param {Function} callback A callback.
+                */
+               getMarkers: function( callback ) {
+                       this.getEditors( function( editor ) {
+                               var self = this;
 
-                               this.getEditors( function( editor ) {
-                                       editor.on( 'hide', function () {
-                                               mediaWindows = [];
-                                               windowIdx = 0;
-                                               self.stopPlayers();
+                               $( editor.getBody() )
+                                       .find( '[data-wpview-marker="' + this.encodedText + '"]' )
+                                       .each( function() {
+                                               callback.call( self, editor, this );
                                        } );
-                               });
-                       },
+                       );
+               },
 
-                       pauseOtherWindows: function ( win ) {
-                               _.each( mediaWindows, function ( mediaWindow ) {
-                                       if ( mediaWindow.sandboxId !== win.sandboxId ) {
-                                               _.each( mediaWindow.mejs.players, function ( player ) {
-                                                       player.pause();
-                                               } );
-                                       }
-                               } );
-                       },
+               /**
+                * Replaces all marker nodes tied to this view instance.
+                */
+               replaceMarkers: function() {
+                       this.getMarkers( function( editor, node ) {
+                               if ( $( node ).text() !== this.text ) {
+                                       editor.dom.setAttrib( node, 'data-wpview-marker', null );
+                                       return;
+                               }
 
-                       iframeLoaded: function (win) {
-                               return _.bind( function () {
-                                       var callback;
-                                       if ( ! win.mejs || _.isEmpty( win.mejs.players ) ) {
-                                               return;
-                                       }
+                               editor.dom.replace(
+                                       editor.dom.createFragment(
+                                               '<div class="wpview-wrap" data-wpview-text="' + this.encodedText + '" data-wpview-type="' + this.type + '">' +
+                                                       '<p class="wpview-selection-before">\u00a0</p>' +
+                                                       '<div class="wpview-body" contenteditable="false">' +
+                                                               '<div class="wpview-content wpview-type-' + this.type + '"></div>' +
+                                                       '</div>' +
+                                                       '<p class="wpview-selection-after">\u00a0</p>' +
+                                               '</div>'
+                                       ),
+                                       node
+                               );
+                       } );
+               },
 
-                                       win.sandboxId = windowIdx;
-                                       windowIdx++;
-                                       mediaWindows.push( win );
+               /**
+                * Removes all marker nodes tied to this view instance.
+                */
+               removeMarkers: function() {
+                       this.getMarkers( function( editor, node ) {
+                               editor.dom.setAttrib( node, 'data-wpview-marker', null );
+                       } );
+               },
 
-                                       callback = _.bind( function () {
-                                               this.pauseOtherWindows( win );
-                                       }, this );
+               /**
+                * Sets the content for all view nodes tied to this view instance.
+                *
+                * @param {*}        content  The content to set.
+                * @param {Function} callback A callback. Optional.
+                * @param {Boolean}  rendered Only set for (un)rendered nodes. Optional.
+                */
+               setContent: function( content, callback, rendered ) {
+                       if ( _.isObject( content ) && content.body.indexOf( '<script' ) !== -1 ) {
+                               this.setIframes( content.head || '', content.body, callback, rendered );
+                       } else if ( _.isString( content ) && content.indexOf( '<script' ) !== -1 ) {
+                               this.setIframes( '', content, callback, rendered );
+                       } else {
+                               this.getNodes( function( editor, node, contentNode ) {
+                                       content = content.body || content;
 
-                                       if ( ! _.isEmpty( win.mejs.MediaPluginBridge.pluginMediaElements ) ) {
-                                               _.each( win.mejs.MediaPluginBridge.pluginMediaElements, function ( mediaElement ) {
-                                                       mediaElement.addEventListener( 'play', callback );
-                                               } );
+                                       if ( content.indexOf( '<iframe' ) !== -1 ) {
+                                               content += '<div class="wpview-overlay"></div>';
                                        }
 
-                                       _.each( win.mejs.players, function ( player ) {
-                                               $( player.node ).on( 'play', callback );
-                                       }, this );
-                               }, this );
-                       },
-
-                       listenToSandboxes: function () {
-                               _.each( this.getNodes(), function ( node ) {
-                                       var win, iframe = $( '.wpview-sandbox', node ).get( 0 );
-                                       if ( iframe && ( win = iframe.contentWindow ) ) {
-                                               $( win ).load( _.bind( this.iframeLoaded( win ), this ) );
-                                       }
-                               }, this );
-                       },
+                                       contentNode.innerHTML = '';
+                                       contentNode.appendChild( _.isString( content ) ? editor.dom.createFragment( content ) : content );
 
-                       deferredListen: function () {
-                               window.setTimeout( _.bind( this.listenToSandboxes, this ), this.getNodes().length * waitInterval );
-                       },
+                                       callback && callback.call( this, editor, node, contentNode );
+                               }, rendered );
+                       }
+               },
 
-                       setNodes: function () {
-                               if ( this.parsed ) {
-                                       this.setIframes( this.parsed.head, this.parsed.body );
-                                       this.deferredListen();
-                               } else {
-                                       this.fail();
-                               }
-                       },
+               /**
+                * Sets the content in an iframe for all view nodes tied to this view instance.
+                *
+                * @param {String}   head     HTML string to be added to the head of the document.
+                * @param {String}   body     HTML string to be added to the body of the document.
+                * @param {Function} callback A callback. Optional.
+                * @param {Boolean}  rendered Only set for (un)rendered nodes. Optional.
+                */
+               setIframes: function( head, body, callback, rendered ) {
+                       var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver,
+                               self = this;
 
-                       fetch: function () {
-                               var self = this;
+                       this.getNodes( function( editor, node, contentNode ) {
+                               var dom = editor.dom,
+                                       styles = '',
+                                       bodyClasses = editor.getBody().className || '',
+                                       editorHead = editor.getDoc().getElementsByTagName( 'head' )[0];
 
-                               wp.ajax.send( this.action, {
-                                       data: {
-                                               post_ID: $( '#post_ID' ).val() || 0,
-                                               type: this.shortcode.tag,
-                                               shortcode: this.shortcode.string()
-                                       }
-                               } )
-                               .done( function( response ) {
-                                       if ( response ) {
-                                               self.parsed = response;
-                                               self.setIframes( response.head, response.body );
-                                               self.deferredListen();
-                                       } else {
-                                               self.fail( true );
+                               tinymce.each( dom.$( 'link[rel="stylesheet"]', editorHead ), function( link ) {
+                                       if ( link.href && link.href.indexOf( 'skins/lightgray/content.min.css' ) === -1 &&
+                                               link.href.indexOf( 'skins/wordpress/wp-content.css' ) === -1 ) {
+
+                                               styles += dom.getOuterHTML( link );
                                        }
-                               } )
-                               .fail( function( response ) {
-                                       self.fail( response || true );
                                } );
-                       },
 
-                       fail: function( error ) {
-                               if ( ! this.error ) {
-                                       if ( error ) {
-                                               this.error = error;
-                                       } else {
-                                               return;
+                               // Seems the browsers need a bit of time to insert/set the view nodes,
+                               // or the iframe will fail especially when switching Text => Visual.
+                               setTimeout( function() {
+                                       var iframe, iframeDoc, observer, i;
+
+                                       contentNode.innerHTML = '';
+
+                                       iframe = dom.add( contentNode, 'iframe', {
+                                               /* jshint scripturl: true */
+                                               src: tinymce.Env.ie ? 'javascript:""' : '',
+                                               frameBorder: '0',
+                                               allowTransparency: 'true',
+                                               scrolling: 'no',
+                                               'class': 'wpview-sandbox',
+                                               style: {
+                                                       width: '100%',
+                                                       display: 'block'
+                                               }
+                                       } );
+
+                                       dom.add( contentNode, 'div', { 'class': 'wpview-overlay' } );
+
+                                       iframeDoc = iframe.contentWindow.document;
+
+                                       iframeDoc.open();
+
+                                       iframeDoc.write(
+                                               '<!DOCTYPE html>' +
+                                               '<html>' +
+                                                       '<head>' +
+                                                               '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />' +
+                                                               head +
+                                                               styles +
+                                                               '<style>' +
+                                                                       'html {' +
+                                                                               'background: transparent;' +
+                                                                               'padding: 0;' +
+                                                                               'margin: 0;' +
+                                                                       '}' +
+                                                                       'body#wpview-iframe-sandbox {' +
+                                                                               'background: transparent;' +
+                                                                               'padding: 1px 0 !important;' +
+                                                                               'margin: -1px 0 0 !important;' +
+                                                                       '}' +
+                                                                       'body#wpview-iframe-sandbox:before,' +
+                                                                       'body#wpview-iframe-sandbox:after {' +
+                                                                               'display: none;' +
+                                                                               'content: "";' +
+                                                                       '}' +
+                                                               '</style>' +
+                                                       '</head>' +
+                                                       '<body id="wpview-iframe-sandbox" class="' + bodyClasses + '">' +
+                                                               body +
+                                                       '</body>' +
+                                               '</html>'
+                                       );
+
+                                       iframeDoc.close();
+
+                                       function resize() {
+                                               var $iframe, iframeDocHeight;
+
+                                               // Make sure the iframe still exists.
+                                               if ( iframe.contentWindow ) {
+                                                       $iframe = $( iframe );
+                                                       iframeDocHeight = $( iframeDoc.body ).height();
+
+                                                       if ( $iframe.height() !== iframeDocHeight ) {
+                                                               $iframe.height( iframeDocHeight );
+                                                               editor.nodeChanged();
+                                                       }
+                                               }
                                        }
-                               }
 
-                               if ( this.error.message ) {
-                                       if ( ( this.error.type === 'not-embeddable' && this.type === 'embed' ) || this.error.type === 'not-ssl' ||
-                                               this.error.type === 'no-items' ) {
+                                       $( iframe.contentWindow ).on( 'load', resize );
+
+                                       if ( MutationObserver ) {
+                                               observer = new MutationObserver( _.debounce( resize, 100 ) );
+
+                                               observer.observe( iframeDoc.body, {
+                                                       attributes: true,
+                                                       childList: true,
+                                                       subtree: true
+                                               } );
 
-                                               this.setError( this.error.message, 'admin-media' );
+                                               $( node ).one( 'wp-mce-view-unbind', function() {
+                                                       observer.disconnect();
+                                               } );
                                        } else {
-                                               this.setContent( '<p>' + this.original + '</p>', 'replace' );
+                                               for ( i = 1; i < 6; i++ ) {
+                                                       setTimeout( resize, i * 700 );
+                                               }
                                        }
-                               } else if ( this.error.statusText ) {
-                                       this.setError( this.error.statusText, 'admin-media' );
-                               } else if ( this.original ) {
-                                       this.setContent( '<p>' + this.original + '</p>', 'replace' );
-                               }
-                       },
 
-                       stopPlayers: function( remove ) {
-                               var rem = remove === 'remove';
+                                       function classChange() {
+                                               iframeDoc.body.className = editor.getBody().className;
+                                       }
 
-                               this.getNodes( function( editor, node, content ) {
-                                       var p, win,
-                                               iframe = $( 'iframe.wpview-sandbox', content ).get(0);
+                                       editor.on( 'wp-body-class-change', classChange );
 
-                                       if ( iframe && ( win = iframe.contentWindow ) && win.mejs ) {
-                                               // Sometimes ME.js may show a "Download File" placeholder and player.remove() doesn't exist there.
-                                               try {
-                                                       for ( p in win.mejs.players ) {
-                                                               win.mejs.players[p].pause();
+                                       $( node ).one( 'wp-mce-view-unbind', function() {
+                                               editor.off( 'wp-body-class-change', classChange );
+                                       } );
 
-                                                               if ( rem ) {
-                                                                       win.mejs.players[p].remove();
-                                                               }
-                                                       }
-                                               } catch( er ) {}
-                                       }
-                               });
-                       },
+                                       callback && callback.call( self, editor, node, contentNode );
+                               }, 50 );
+                       }, rendered );
+               },
 
-                       unbind: function() {
-                               this.stopPlayers( 'remove' );
+               /**
+                * Sets a loader for all view nodes tied to this view instance.
+                */
+               setLoader: function() {
+                       this.setContent(
+                               '<div class="loading-placeholder">' +
+                                       '<div class="dashicons dashicons-admin-media"></div>' +
+                                       '<div class="wpview-loading"><ins></ins></div>' +
+                               '</div>'
+                       );
+               },
+
+               /**
+                * Sets an error for all view nodes tied to this view instance.
+                *
+                * @param {String} message  The error message to set.
+                * @param {String} dashicon A dashicon ID (optional). {@link https://developer.wordpress.org/resource/dashicons/}
+                */
+               setError: function( message, dashicon ) {
+                       this.setContent(
+                               '<div class="wpview-error">' +
+                                       '<div class="dashicons dashicons-' + ( dashicon || 'no' ) + '"></div>' +
+                                       '<p>' + message + '</p>' +
+                               '</div>'
+                       );
+               },
+
+               /**
+                * Tries to find a text match in a given string.
+                *
+                * @param {String} content The string to scan.
+                *
+                * @return {Object}
+                */
+               match: function( content ) {
+                       var match = wp.shortcode.next( this.type, content );
+
+                       if ( match ) {
+                               return {
+                                       index: match.index,
+                                       content: match.content,
+                                       options: {
+                                               shortcode: match.shortcode
+                                       }
+                               };
                        }
                },
 
                /**
-                * 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
+                * Update the text of a given view node.
                 *
-                * @param {HTMLElement} node
+                * @param {String}         text   The new text.
+                * @param {tinymce.Editor} editor The TinyMCE editor instance the view node is in.
+                * @param {HTMLElement}    node   The view node to update.
                 */
-               edit: function( node ) {
+               update: function( text, editor, node ) {
+                       _.find( views, function( view, type ) {
+                               var match = view.prototype.match( text );
+
+                               if ( match ) {
+                                       $( node ).data( 'rendered', false );
+                                       editor.dom.setAttrib( node, 'data-wpview-text', encodeURIComponent( text ) );
+                                       wp.mce.views.createInstance( type, text, match.options ).render();
+                                       editor.focus();
+
+                                       return true;
+                               }
+                       } );
+               },
+
+               /**
+                * Remove a given view node from the DOM.
+                *
+                * @param {tinymce.Editor} editor The TinyMCE editor instance the view node is in.
+                * @param {HTMLElement}    node   The view node to remove.
+                */
+               remove: function( editor, node ) {
+                       this.unbindNode.call( this, editor, node, $( node ).find( '.wpview-content' ).get( 0 ) );
+                       $( node ).trigger( 'wp-mce-view-unbind' );
+                       editor.dom.remove( node );
+                       editor.focus();
+               }
+       } );
+} )( window, window.wp, window.jQuery );
+
+/*
+ * The WordPress core TinyMCE views.
+ * Views for the gallery, audio, video, playlist and embed shortcodes,
+ * and a view for embeddable URLs.
+ */
+( function( window, views, $ ) {
+       var postID = $( '#post_ID' ).val() || 0,
+               media, gallery, av, embed;
+
+       media = {
+               state: [],
+
+               edit: function( text, update ) {
                        var media = wp.media[ this.type ],
-                               self = this,
-                               frame, data, callback;
+                               frame = media.edit( text );
 
-                       $( document ).trigger( 'media:edit' );
+                       this.pausePlayers && this.pausePlayers();
+
+                       _.each( this.state, function( state ) {
+                               frame.state( state ).on( 'update', function( selection ) {
+                                       update( media.shortcode( selection ).string() );
+                               } );
+                       } );
 
-                       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.type ].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();
                }
        };
 
-       /**
-        * TinyMCE handler for the video shortcode
-        *
-        * @mixes wp.mce.av
-        */
-       wp.mce.views.register( 'video', _.extend( {}, wp.mce.av, {
-               state: 'video-details'
-       } ) );
+       gallery = _.extend( {}, media, {
+               state: [ 'gallery-edit' ],
+               template: wp.media.template( 'editor-gallery' ),
 
-       /**
-        * TinyMCE handler for the audio shortcode
-        *
-        * @mixes wp.mce.av
-        */
-       wp.mce.views.register( 'audio', _.extend( {}, wp.mce.av, {
-               state: 'audio-details'
-       } ) );
+               initialize: function() {
+                       var attachments = wp.media.gallery.attachments( this.shortcode, postID ),
+                               attrs = this.shortcode.attrs.named,
+                               self = this;
 
-       /**
-        * TinyMCE handler for the playlist shortcode
-        *
-        * @mixes wp.mce.av
-        */
-       wp.mce.views.register( 'playlist', _.extend( {}, wp.mce.av, {
-               state: [ 'playlist-edit', 'video-playlist-edit' ]
-       } ) );
+                       attachments.more()
+                       .done( function() {
+                               attachments = attachments.toJSON();
+
+                               _.each( attachments, function( attachment ) {
+                                       if ( attachment.sizes ) {
+                                               if ( attrs.size && attachment.sizes[ attrs.size ] ) {
+                                                       attachment.thumbnail = attachment.sizes[ attrs.size ];
+                                               } else if ( attachment.sizes.thumbnail ) {
+                                                       attachment.thumbnail = attachment.sizes.thumbnail;
+                                               } else if ( attachment.sizes.full ) {
+                                                       attachment.thumbnail = attachment.sizes.full;
+                                               }
+                                       }
+                               } );
 
-       /**
-        * TinyMCE handler for the embed shortcode
-        */
-       wp.mce.embedMixin = {
-               View: _.extend( {}, wp.mce.av.View, {
-                       overlay: true,
-                       action: 'parse-embed',
-                       initialize: function( options ) {
-                               this.content = options.content;
-                               this.original = options.url || options.shortcode.string();
-
-                               if ( options.url ) {
-                                       this.shortcode = media.embed.shortcode( {
-                                               url: options.url
-                                       } );
-                               } else {
-                                       this.shortcode = options.shortcode;
-                               }
+                               self.render( self.template( {
+                                       attachments: attachments,
+                                       columns: attrs.columns ? parseInt( attrs.columns, 10 ) : wp.media.galleryDefaults.columns
+                               } ) );
+                       } )
+                       .fail( function( jqXHR, textStatus ) {
+                               self.setError( textStatus );
+                       } );
+               }
+       } );
+
+       av = _.extend( {}, media, {
+               action: 'parse-media-shortcode',
 
-                               _.bindAll( this, 'setIframes', 'setNodes', 'fetch' );
-                               $( this ).on( 'ready', this.setNodes );
+               initialize: function() {
+                       var self = this;
 
-                               this.fetch();
+                       if ( this.url ) {
+                               this.loader = false;
+                               this.shortcode = wp.media.embed.shortcode( {
+                                       url: this.text
+                               } );
                        }
-               } ),
-               edit: function( node ) {
-                       var embed = media.embed,
-                               self = this,
-                               frame,
-                               data,
-                               isURL = 'embedURL' === this.type;
 
-                       $( document ).trigger( 'media:edit' );
+                       wp.ajax.post( this.action, {
+                               post_ID: postID,
+                               type: this.shortcode.tag,
+                               shortcode: this.shortcode.string()
+                       } )
+                       .done( function( response ) {
+                               self.render( response );
+                       } )
+                       .fail( function( response ) {
+                               if ( self.url ) {
+                                       self.removeMarkers();
+                               } else {
+                                       self.setError( response.message || response.statusText, 'admin-media' );
+                               }
+                       } );
 
-                       data = window.decodeURIComponent( $( node ).attr('data-wpview-text') );
-                       frame = embed.edit( data, isURL );
-                       frame.on( 'close', function() {
-                               frame.detach();
+                       this.getEditors( function( editor ) {
+                               editor.on( 'wpview-selected', function() {
+                                       self.pausePlayers();
+                               );
                        } );
-                       frame.state( 'embed' ).props.on( 'change:url', function (model, url) {
-                               if ( ! url ) {
-                                       return;
+               },
+
+               pausePlayers: function() {
+                       this.getNodes( function( editor, node, content ) {
+                               var win = $( 'iframe.wpview-sandbox', content ).get( 0 );
+
+                               if ( win && ( win = win.contentWindow ) && win.mejs ) {
+                                       _.each( win.mejs.players, function( player ) {
+                                               try {
+                                                       player.pause();
+                                               } catch ( e ) {}
+                                       } );
+                               }
+                       } );
+               }
+       } );
+
+       embed = _.extend( {}, av, {
+               action: 'parse-embed',
+
+               edit: function( text, update ) {
+                       var media = wp.media.embed,
+                               frame = media.edit( text, this.url ),
+                               self = this;
+
+                       this.pausePlayers();
+
+                       frame.state( 'embed' ).props.on( 'change:url', function( model, url ) {
+                               if ( url && model.get( 'url' ) ) {
+                                       frame.state( 'embed' ).metadata = model.toJSON();
                                }
-                               frame.state( 'embed' ).metadata = model.toJSON();
                        } );
+
                        frame.state( 'embed' ).on( 'select', function() {
-                               var shortcode;
+                               var data = frame.state( 'embed' ).metadata;
 
-                               if ( isURL ) {
-                                       shortcode = frame.state( 'embed' ).metadata.url;
+                               if ( self.url ) {
+                                       update( data.url );
                                } else {
-                                       shortcode = embed.shortcode( frame.state( 'embed' ).metadata ).string();
+                                       update( media.shortcode( data ).string() );
                                }
-                               $( node ).attr( 'data-wpview-text', window.encodeURIComponent( shortcode ) );
-                               wp.mce.views.refreshView( self, shortcode );
+                       } );
+
+                       frame.on( 'close', function() {
                                frame.detach();
                        } );
+
                        frame.open();
                }
-       };
+       } );
 
-       wp.mce.views.register( 'embed', _.extend( {}, wp.mce.embedMixin ) );
+       views.register( 'gallery', _.extend( {}, gallery ) );
 
-       wp.mce.views.register( 'embedURL', _.extend( {}, wp.mce.embedMixin, {
-               toView: function( content ) {
-                       var re = /(?:^|<p>)(https?:\/\/[^\s"]+?)(?:<\/p>\s*|$)/gi,
-                               match = re.exec( tinymce.trim( content ) );
+       views.register( 'audio', _.extend( {}, av, {
+               state: [ 'audio-details' ]
+       } ) );
 
-                       if ( ! match ) {
-                               return;
-                       }
+       views.register( 'video', _.extend( {}, av, {
+               state: [ 'video-details' ]
+       } ) );
 
-                       return {
-                               index: match.index,
-                               content: match[0],
-                               options: {
-                                       url: match[1]
-                               }
-                       };
-               }
+       views.register( 'playlist', _.extend( {}, av, {
+               state: [ 'playlist-edit', 'video-playlist-edit' ]
        } ) );
 
-}(jQuery));
+       views.register( 'embed', _.extend( {}, embed ) );
+
+       views.register( 'embedURL', _.extend( {}, embed, {
+               match: function( content ) {
+                       var re = /(^|<p>)(https?:\/\/[^\s"]+?)(<\/p>\s*|$)/gi,
+                               match = re.exec( content );
+
+                       if ( match ) {
+                               return {
+                                       index: match.index + match[1].length,
+                                       content: match[2],
+                                       options: {
+                                               url: true
+                                       }
+                               };
+                       }
+               }
+       } ) );
+} )( window, window.wp.mce.views, window.jQuery );
index 697251e9da850b59f5e80f8c7125e575a5e4686c..c5de05d05c292624cda571a21b953a33463812e2 100644 (file)
@@ -1 +1 @@
-window.wp=window.wp||{},function(a){"use strict";var b={},c={},d=wp.media,e=[],f=0,g=50,h=["encodedText"];wp.mce=wp.mce||{},wp.mce.View=function(a){a=a||{},this.type=a.type,_.extend(this,_.pick(a,h)),this.initialize.apply(this,arguments)},_.extend(wp.mce.View.prototype,{initialize:function(){},getHtml:function(){return""},loadingPlaceholder:function(){return'<div class="loading-placeholder"><div class="dashicons dashicons-admin-media"></div><div class="wpview-loading"><ins></ins></div></div>'},render:function(c){(c||!this.rendered())&&(this.unbind(),this.setContent('<p class="wpview-selection-before"> </p><div class="wpview-body" contenteditable="false"><div class="toolbar mce-arrow-down">'+(_.isFunction(b[this.type].edit)?'<div class="dashicons dashicons-edit edit"></div>':"")+'<div class="dashicons dashicons-no remove"></div></div><div class="wpview-content wpview-type-'+this.type+'">'+(this.getHtml()||this.loadingPlaceholder())+"</div>"+(this.overlay?'<div class="wpview-overlay"></div>':"")+'</div><p class="wpview-selection-after"> </p>',"wrap"),a(this).trigger("ready"),this.rendered(!0))},unbind:function(){},getEditors:function(a){var b=[];return _.each(tinymce.editors,function(c){c.plugins.wpview&&(a&&a(c),b.push(c))},this),b},getNodes:function(b){var c=[],d=this;return this.getEditors(function(e){a(e.getBody()).find('[data-wpview-text="'+d.encodedText+'"]').each(function(d,f){b&&b(e,f,a(f).find(".wpview-content").get(0)),c.push(f)})}),c},setContent:function(a,b){this.getNodes(function(c,d,e){var f="wrap"===b||"replace"===b?d:e,g=a;_.isString(g)&&(g=c.dom.createFragment(g)),"replace"===b?c.dom.replace(g,f):(f.innerHTML="",f.appendChild(g))})},setIframes:function(b,c){var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,e="video"===this.type||"audio"===this.type||"playlist"===this.type;b||-1!==c.indexOf("<script")?this.getNodes(function(f,h,i){var j,k,l,m,n=f.dom,o="",p=f.getBody().className||"";i.innerHTML="",b=b||"",e&&(wp.mce.views.sandboxStyles?o=wp.mce.views.sandboxStyles:(tinymce.each(n.$('link[rel="stylesheet"]',f.getDoc().head),function(a){a.href&&-1===a.href.indexOf("skins/lightgray/content.min.css")&&-1===a.href.indexOf("skins/wordpress/wp-content.css")&&(o+=n.getOuterHTML(a)+"\n")}),wp.mce.views.sandboxStyles=o)),setTimeout(function(){if(j=n.add(i,"iframe",{src:tinymce.Env.ie?'javascript:""':"",frameBorder:"0",allowTransparency:"true",scrolling:"no","class":"wpview-sandbox",style:{width:"100%",display:"block"}}),k=j.contentWindow.document,k.open(),k.write('<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'+b+o+'<style>html {background: transparent;padding: 0;margin: 0;}body#wpview-iframe-sandbox {background: transparent;padding: 1px 0 !important;margin: -1px 0 0 !important;}body#wpview-iframe-sandbox:before,body#wpview-iframe-sandbox:after {display: none;content: "";}</style></head><body id="wpview-iframe-sandbox" class="'+p+'">'+c+"</body></html>"),k.close(),m=function(){j.contentWindow&&a(j).height(a(k.body).height())},d)new d(_.debounce(function(){m()},100)).observe(k.body,{attributes:!0,childList:!0,subtree:!0});else for(l=1;6>l;l++)setTimeout(m,700*l);e&&f.on("wp-body-class-change",function(){k.body.className=f.getBody().className})},g)}):this.setContent(c)},setError:function(a,b){this.setContent('<div class="wpview-error"><div class="dashicons dashicons-'+(b?b:"no")+'"></div><p>'+a+"</p></div>")},rendered:function(b){var c;return this.getNodes(function(d,e){null!=b?a(e).data("rendered",b===!0):c=c||!a(e).data("rendered")}),!c}}),wp.mce.View.extend=Backbone.View.extend,wp.mce.views={register:function(a,c){var d={type:a,View:{},toView:function(a){var b=wp.shortcode.next(this.type,a);if(b)return{index:b.index,content:b.content,options:{shortcode:b.shortcode}}}};c=_.defaults(c,d),c.View=wp.mce.View.extend(c.View),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.type=a,f.encodedText=h,e=new g.View(f),c[h]=e),wp.html.string({tag:"div",attrs:{"class":"wpview-wrap","data-wpview-text":h,"data-wpview-type":a},content:" "})):b},refreshView:function(a,b,d){var e,f,g,h=window.encodeURIComponent(b);g=wp.mce.views.getInstance(h),g||(f=a.toView(b),e=f.options,e.type=a.type,e.encodedText=h,g=new a.View(e),c[h]=g),g.render(d)},getInstance:function(a){return c[a]},render:function(a){_.each(c,function(b){b.render(a)})},edit:function(b){var c=a(b).data("wpview-type"),d=wp.mce.views.get(c);d&&d.edit(b)}},wp.mce.views.register("gallery",{View:{template:d.template("editor-gallery"),postID:a("#post_ID").val(),initialize:function(a){this.shortcode=a.shortcode,this.fetch()},fetch:function(){var a=this;this.attachments=wp.media.gallery.attachments(this.shortcode,this.postID),this.dfd=this.attachments.more().done(function(){a.render(!0)})},getHtml:function(){var a,b=this.shortcode.attrs.named,c=!1;return this.dfd&&"pending"===this.dfd.state()&&!this.attachments.length?"":(this.attachments.length&&(c=this.attachments.toJSON(),_.each(c,function(a){a.sizes&&(b.size&&a.sizes[b.size]?a.thumbnail=a.sizes[b.size]:a.sizes.thumbnail?a.thumbnail=a.sizes.thumbnail:a.sizes.full&&(a.thumbnail=a.sizes.full))})),a={attachments:c,columns:b.columns?parseInt(b.columns,10):wp.media.galleryDefaults.columns},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(c){var g,h=e.shortcode(c).string();a(b).attr("data-wpview-text",window.encodeURIComponent(h)),g=d!==h,wp.mce.views.refreshView(f,h,g)}),c.on("close",function(){c.detach()})}}),wp.mce.av={View:{overlay:!0,action:"parse-media-shortcode",initialize:function(b){var c=this;this.shortcode=b.shortcode,_.bindAll(this,"setIframes","setNodes","fetch","stopPlayers"),a(this).on("ready",this.setNodes),a(document).on("media:edit",this.stopPlayers),this.fetch(),this.getEditors(function(a){a.on("hide",function(){e=[],f=0,c.stopPlayers()})})},pauseOtherWindows:function(a){_.each(e,function(b){b.sandboxId!==a.sandboxId&&_.each(b.mejs.players,function(a){a.pause()})})},iframeLoaded:function(b){return _.bind(function(){var c;b.mejs&&!_.isEmpty(b.mejs.players)&&(b.sandboxId=f,f++,e.push(b),c=_.bind(function(){this.pauseOtherWindows(b)},this),_.isEmpty(b.mejs.MediaPluginBridge.pluginMediaElements)||_.each(b.mejs.MediaPluginBridge.pluginMediaElements,function(a){a.addEventListener("play",c)}),_.each(b.mejs.players,function(b){a(b.node).on("play",c)},this))},this)},listenToSandboxes:function(){_.each(this.getNodes(),function(b){var c,d=a(".wpview-sandbox",b).get(0);d&&(c=d.contentWindow)&&a(c).load(_.bind(this.iframeLoaded(c),this))},this)},deferredListen:function(){window.setTimeout(_.bind(this.listenToSandboxes,this),this.getNodes().length*g)},setNodes:function(){this.parsed?(this.setIframes(this.parsed.head,this.parsed.body),this.deferredListen()):this.fail()},fetch:function(){var b=this;wp.ajax.send(this.action,{data:{post_ID:a("#post_ID").val()||0,type:this.shortcode.tag,shortcode:this.shortcode.string()}}).done(function(a){a?(b.parsed=a,b.setIframes(a.head,a.body),b.deferredListen()):b.fail(!0)}).fail(function(a){b.fail(a||!0)})},fail:function(a){if(!this.error){if(!a)return;this.error=a}this.error.message?"not-embeddable"===this.error.type&&"embed"===this.type||"not-ssl"===this.error.type||"no-items"===this.error.type?this.setError(this.error.message,"admin-media"):this.setContent("<p>"+this.original+"</p>","replace"):this.error.statusText?this.setError(this.error.statusText,"admin-media"):this.original&&this.setContent("<p>"+this.original+"</p>","replace")},stopPlayers:function(b){var c="remove"===b;this.getNodes(function(b,d,e){var f,g,h=a("iframe.wpview-sandbox",e).get(0);if(h&&(g=h.contentWindow)&&g.mejs)try{for(f in g.mejs.players)g.mejs.players[f].pause(),c&&g.mejs.players[f].remove()}catch(i){}})},unbind:function(){this.stopPlayers("remove")}},edit:function(b){var c,d,e,f=wp.media[this.type],g=this;a(document).trigger("media:edit"),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.type].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.views.register("video",_.extend({},wp.mce.av,{state:"video-details"})),wp.mce.views.register("audio",_.extend({},wp.mce.av,{state:"audio-details"})),wp.mce.views.register("playlist",_.extend({},wp.mce.av,{state:["playlist-edit","video-playlist-edit"]})),wp.mce.embedMixin={View:_.extend({},wp.mce.av.View,{overlay:!0,action:"parse-embed",initialize:function(b){this.content=b.content,this.original=b.url||b.shortcode.string(),this.shortcode=b.url?d.embed.shortcode({url:b.url}):b.shortcode,_.bindAll(this,"setIframes","setNodes","fetch"),a(this).on("ready",this.setNodes),this.fetch()}}),edit:function(b){var c,e,f=d.embed,g=this,h="embedURL"===this.type;a(document).trigger("media:edit"),e=window.decodeURIComponent(a(b).attr("data-wpview-text")),c=f.edit(e,h),c.on("close",function(){c.detach()}),c.state("embed").props.on("change:url",function(a,b){b&&(c.state("embed").metadata=a.toJSON())}),c.state("embed").on("select",function(){var d;d=h?c.state("embed").metadata.url:f.shortcode(c.state("embed").metadata).string(),a(b).attr("data-wpview-text",window.encodeURIComponent(d)),wp.mce.views.refreshView(g,d),c.detach()}),c.open()}},wp.mce.views.register("embed",_.extend({},wp.mce.embedMixin)),wp.mce.views.register("embedURL",_.extend({},wp.mce.embedMixin,{toView:function(a){var b=/(?:^|<p>)(https?:\/\/[^\s"]+?)(?:<\/p>\s*|$)/gi,c=b.exec(tinymce.trim(a));if(c)return{index:c.index,content:c[0],options:{url:c[1]}}}}))}(jQuery);
\ No newline at end of file
+window.wp=window.wp||{},function(a,b,c){"use strict";var d={},e={};b.mce=b.mce||{},b.mce.views={register:function(a,c){d[a]=b.mce.View.extend(_.extend(c,{type:a}))},unregister:function(a){delete d[a]},get:function(a){return d[a]},unbind:function(){_.each(e,function(a){a.unbind()})},setMarkers:function(a){var b,c,e=[{content:a}],f=this;return _.each(d,function(a,d){c=e.slice(),e=[],_.each(c,function(c){var g,h=c.content;if(c.processed)return void e.push(c);for(;h&&(g=a.prototype.match(h));)g.index&&e.push({content:h.substring(0,g.index)}),b=f.createInstance(d,g.content,g.options),e.push({content:'<p data-wpview-marker="'+b.encodedText+'">'+b.text+"</p>",processed:!0}),h=h.slice(g.index+g.content.length);h&&e.push({content:h})})}),_.pluck(e,"content").join("")},createInstance:function(a,b,c){var d,f,g=this.get(a);return b=tinymce.DOM.decode(b),d=encodeURIComponent(b),(f=this.getInstance(d))?f:(c=_.extend(c||{},{text:b,encodedText:d}),e[d]=new g(c))},getInstance:function(a){return"string"==typeof a?e[encodeURIComponent(a)]:e[c(a).attr("data-wpview-text")]},getText:function(a){return decodeURIComponent(c(a).attr("data-wpview-text")||"")},render:function(a){_.each(e,function(b){b.render(a)})},update:function(a,b,c){var d=this.getInstance(c);d&&d.update(a,b,c)},edit:function(a,b){var c=this.getInstance(b);c&&c.edit&&c.edit(c.text,function(d){c.update(d,a,b)})},remove:function(a,b){var c=this.getInstance(b);c&&c.remove(a,b)}},b.mce.View=function(a){_.extend(this,a),this.initialize()},b.mce.View.extend=Backbone.View.extend,_.extend(b.mce.View.prototype,{content:null,loader:!0,initialize:function(){},getContent:function(){return this.content},render:function(a,b){null!=a&&(this.content=a),a=this.getContent(),(this.loader||a)&&(b&&this.unbind(),this.replaceMarkers(),a?this.setContent(a,function(a,b,d){c(b).data("rendered",!0),this.bindNode.call(this,a,b,d)},b?null:!1):this.setLoader())},bindNode:function(){},unbindNode:function(){},unbind:function(){this.getNodes(function(a,b,d){this.unbindNode.call(this,a,b,d),c(b).trigger("wp-mce-view-unbind")},!0)},getEditors:function(a){_.each(tinymce.editors,function(b){b.plugins.wpview&&a.call(this,b)},this)},getNodes:function(a,b){this.getEditors(function(d){var e=this;c(d.getBody()).find('[data-wpview-text="'+e.encodedText+'"]').filter(function(){var a;return null==b?!0:(a=c(this).data("rendered")===!0,b?a:!a)}).each(function(){a.call(e,d,this,c(this).find(".wpview-content").get(0))})})},getMarkers:function(a){this.getEditors(function(b){var d=this;c(b.getBody()).find('[data-wpview-marker="'+this.encodedText+'"]').each(function(){a.call(d,b,this)})})},replaceMarkers:function(){this.getMarkers(function(a,b){return c(b).text()!==this.text?void a.dom.setAttrib(b,"data-wpview-marker",null):void a.dom.replace(a.dom.createFragment('<div class="wpview-wrap" data-wpview-text="'+this.encodedText+'" data-wpview-type="'+this.type+'"><p class="wpview-selection-before"> </p><div class="wpview-body" contenteditable="false"><div class="wpview-content wpview-type-'+this.type+'"></div></div><p class="wpview-selection-after"> </p></div>'),b)})},removeMarkers:function(){this.getMarkers(function(a,b){a.dom.setAttrib(b,"data-wpview-marker",null)})},setContent:function(a,b,c){_.isObject(a)&&-1!==a.body.indexOf("<script")?this.setIframes(a.head||"",a.body,b,c):_.isString(a)&&-1!==a.indexOf("<script")?this.setIframes("",a,b,c):this.getNodes(function(c,d,e){a=a.body||a,-1!==a.indexOf("<iframe")&&(a+='<div class="wpview-overlay"></div>'),e.innerHTML="",e.appendChild(_.isString(a)?c.dom.createFragment(a):a),b&&b.call(this,c,d,e)},c)},setIframes:function(b,d,e,f){var g=a.MutationObserver||a.WebKitMutationObserver||a.MozMutationObserver,h=this;this.getNodes(function(a,f,i){var j=a.dom,k="",l=a.getBody().className||"",m=a.getDoc().getElementsByTagName("head")[0];tinymce.each(j.$('link[rel="stylesheet"]',m),function(a){a.href&&-1===a.href.indexOf("skins/lightgray/content.min.css")&&-1===a.href.indexOf("skins/wordpress/wp-content.css")&&(k+=j.getOuterHTML(a))}),setTimeout(function(){function m(){var b,d;o.contentWindow&&(b=c(o),d=c(p.body).height(),b.height()!==d&&(b.height(d),a.nodeChanged()))}function n(){p.body.className=a.getBody().className}var o,p,q,r;if(i.innerHTML="",o=j.add(i,"iframe",{src:tinymce.Env.ie?'javascript:""':"",frameBorder:"0",allowTransparency:"true",scrolling:"no","class":"wpview-sandbox",style:{width:"100%",display:"block"}}),j.add(i,"div",{"class":"wpview-overlay"}),p=o.contentWindow.document,p.open(),p.write('<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'+b+k+'<style>html {background: transparent;padding: 0;margin: 0;}body#wpview-iframe-sandbox {background: transparent;padding: 1px 0 !important;margin: -1px 0 0 !important;}body#wpview-iframe-sandbox:before,body#wpview-iframe-sandbox:after {display: none;content: "";}</style></head><body id="wpview-iframe-sandbox" class="'+l+'">'+d+"</body></html>"),p.close(),c(o.contentWindow).on("load",m),g)q=new g(_.debounce(m,100)),q.observe(p.body,{attributes:!0,childList:!0,subtree:!0}),c(f).one("wp-mce-view-unbind",function(){q.disconnect()});else for(r=1;6>r;r++)setTimeout(m,700*r);a.on("wp-body-class-change",n),c(f).one("wp-mce-view-unbind",function(){a.off("wp-body-class-change",n)}),e&&e.call(h,a,f,i)},50)},f)},setLoader:function(){this.setContent('<div class="loading-placeholder"><div class="dashicons dashicons-admin-media"></div><div class="wpview-loading"><ins></ins></div></div>')},setError:function(a,b){this.setContent('<div class="wpview-error"><div class="dashicons dashicons-'+(b||"no")+'"></div><p>'+a+"</p></div>")},match:function(a){var c=b.shortcode.next(this.type,a);return c?{index:c.index,content:c.content,options:{shortcode:c.shortcode}}:void 0},update:function(a,e,f){_.find(d,function(d,g){var h=d.prototype.match(a);return h?(c(f).data("rendered",!1),e.dom.setAttrib(f,"data-wpview-text",encodeURIComponent(a)),b.mce.views.createInstance(g,a,h.options).render(),e.focus(),!0):void 0})},remove:function(a,b){this.unbindNode.call(this,a,b,c(b).find(".wpview-content").get(0)),c(b).trigger("wp-mce-view-unbind"),a.dom.remove(b),a.focus()}})}(window,window.wp,window.jQuery),function(a,b,c){var d,e,f,g,h=c("#post_ID").val()||0;d={state:[],edit:function(a,b){var c=wp.media[this.type],d=c.edit(a);this.pausePlayers&&this.pausePlayers(),_.each(this.state,function(a){d.state(a).on("update",function(a){b(c.shortcode(a).string())})}),d.on("close",function(){d.detach()}),d.open()}},e=_.extend({},d,{state:["gallery-edit"],template:wp.media.template("editor-gallery"),initialize:function(){var a=wp.media.gallery.attachments(this.shortcode,h),b=this.shortcode.attrs.named,c=this;a.more().done(function(){a=a.toJSON(),_.each(a,function(a){a.sizes&&(b.size&&a.sizes[b.size]?a.thumbnail=a.sizes[b.size]:a.sizes.thumbnail?a.thumbnail=a.sizes.thumbnail:a.sizes.full&&(a.thumbnail=a.sizes.full))}),c.render(c.template({attachments:a,columns:b.columns?parseInt(b.columns,10):wp.media.galleryDefaults.columns}))}).fail(function(a,b){c.setError(b)})}}),f=_.extend({},d,{action:"parse-media-shortcode",initialize:function(){var a=this;this.url&&(this.loader=!1,this.shortcode=wp.media.embed.shortcode({url:this.text})),wp.ajax.post(this.action,{post_ID:h,type:this.shortcode.tag,shortcode:this.shortcode.string()}).done(function(b){a.render(b)}).fail(function(b){a.url?a.removeMarkers():a.setError(b.message||b.statusText,"admin-media")}),this.getEditors(function(b){b.on("wpview-selected",function(){a.pausePlayers()})})},pausePlayers:function(){this.getNodes(function(a,b,d){var e=c("iframe.wpview-sandbox",d).get(0);e&&(e=e.contentWindow)&&e.mejs&&_.each(e.mejs.players,function(a){try{a.pause()}catch(b){}})})}}),g=_.extend({},f,{action:"parse-embed",edit:function(a,b){var c=wp.media.embed,d=c.edit(a,this.url),e=this;this.pausePlayers(),d.state("embed").props.on("change:url",function(a,b){b&&a.get("url")&&(d.state("embed").metadata=a.toJSON())}),d.state("embed").on("select",function(){var a=d.state("embed").metadata;b(e.url?a.url:c.shortcode(a).string())}),d.on("close",function(){d.detach()}),d.open()}}),b.register("gallery",_.extend({},e)),b.register("audio",_.extend({},f,{state:["audio-details"]})),b.register("video",_.extend({},f,{state:["video-details"]})),b.register("playlist",_.extend({},f,{state:["playlist-edit","video-playlist-edit"]})),b.register("embed",_.extend({},g)),b.register("embedURL",_.extend({},g,{match:function(a){var b=/(^|<p>)(https?:\/\/[^\s"]+?)(<\/p>\s*|$)/gi,c=b.exec(a);return c?{index:c.index+c[1].length,content:c[2],options:{url:!0}}:void 0}}))}(window,window.wp.mce.views,window.jQuery);
\ No newline at end of file
index 6119ad9d76cd70f230d645b192f8df822ace4862..cf9d7550bfb3d8a853966d61b0b14601111c58a9 100644 (file)
-/* global _wpMediaViewsL10n, _wpmejsSettings, MediaElementPlayer */
-
-(function($, _, Backbone) {
-       var media = wp.media,
-               baseSettings = {},
-               l10n = typeof _wpMediaViewsL10n === 'undefined' ? {} : _wpMediaViewsL10n;
-
-       if ( ! _.isUndefined( window._wpmejsSettings ) ) {
-               baseSettings = _wpmejsSettings;
-       }
+(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
+/*globals wp, _ */
+
+var media = wp.media,
+       baseSettings = window._wpmejsSettings || {},
+       l10n = window._wpMediaViewsL10n || {};
+
+/**
+ * @mixin
+ */
+wp.media.mixin = {
+       mejsSettings: baseSettings,
+
+       removeAllPlayers: function() {
+               var p;
+
+               if ( window.mejs && window.mejs.players ) {
+                       for ( p in window.mejs.players ) {
+                               window.mejs.players[p].pause();
+                               this.removePlayer( window.mejs.players[p] );
+                       }
+               }
+       },
 
        /**
-        * @mixin
+        * 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.
         */
-       wp.media.mixin = {
-               mejsSettings: baseSettings,
-
-               removeAllPlayers: function() {
-                       var p;
-
-                       if ( window.mejs && window.mejs.players ) {
-                               for ( p in window.mejs.players ) {
-                                       window.mejs.players[p].pause();
-                                       this.removePlayer( window.mejs.players[p] );
-                               }
-                       }
-               },
-
-               /**
-                * 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;
-
-                       if ( ! t.options ) {
-                               return;
-                       }
-
-                       // 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();
-                       }
+       removePlayer: function(t) {
+               var featureIndex, feature;
 
-                       if ( 'native' !== t.media.pluginType ) {
-                               t.$media.remove();
-                       }
+               if ( ! t.options ) {
+                       return;
+               }
 
-                       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.
-                */
-               unsetPlayers : function() {
-                       if ( this.players && this.players.length ) {
-                               _.each( this.players, function (player) {
-                                       player.pause();
-                                       wp.media.mixin.removePlayer( player );
-                               } );
-                               this.players = [];
+               // 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) {}
                        }
                }
-       };
 
-       /**
-        * 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'
+               if ( ! t.isDynamic ) {
+                       t.$node.remove();
                }
-       });
 
-       /**
-        * 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
-                       });
+               if ( 'native' !== t.media.pluginType ) {
+                       t.$media.remove();
                }
-       };
-
-       /**
-        * 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;
+               delete window.mejs.players[t.id];
 
-                       return new wp.shortcode({
-                               tag: 'video',
-                               attrs: model,
-                               content: content
-                       });
-               }
-       };
+               t.container.remove();
+               t.globalUnbind();
+               delete t.node.player;
+       },
 
        /**
-        * Shared model class for audio and video. Updates the model after
-        *   "Add Audio|Video Source" and "Replace Audio|Video" states return
+        * Allows any class that has set 'player' to a MediaElementPlayer
+        *  instance to remove the player when listening to events.
         *
-        * @constructor
-        * @augments Backbone.Model
+        *  Examples: modal closes, shortcode properties are removed, etc.
         */
-       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' );
+       unsetPlayers : function() {
+               if ( this.players && this.players.length ) {
+                       _.each( this.players, function (player) {
+                               player.pause();
+                               wp.media.mixin.removePlayer( player );
+                       } );
+                       this.players = [];
+               }
+       }
+};
+
+/**
+ * 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 content;
+
+               _.each( this.defaults, function( value, key ) {
+                       model[ key ] = this.coerce( model, key );
+
+                       if ( value === model[ key ] ) {
+                               delete model[ key ];
                        }
+               }, this );
 
-                       if ( _.contains( wp.media.view.settings.embedExts, this.extension ) ) {
-                               this.set( this.extension, this.attachment.get( 'url' ) );
-                       } else {
-                               this.unset( this.extension );
-                       }
-               },
+               content = model.content;
+               delete model.content;
 
-               changeAttachment: function( attachment ) {
-                       var self = this;
+               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 content;
+
+               _.each( this.defaults, function( value, key ) {
+                       model[ key ] = this.coerce( model, key );
+
+                       if ( value === model[ key ] ) {
+                               delete model[ key ];
+                       }
+               }, this );
 
-                       this.setSource( attachment );
+               content = model.content;
+               delete model.content;
 
+               return new wp.shortcode({
+                       tag: 'video',
+                       attrs: model,
+                       content: content
+               });
+       }
+};
+
+media.model.PostMedia = require( './models/post-media.js' );
+media.controller.AudioDetails = require( './controllers/audio-details.js' );
+media.controller.VideoDetails = require( './controllers/video-details.js' );
+media.view.MediaFrame.MediaDetails = require( './views/frame/media-details.js' );
+media.view.MediaFrame.AudioDetails = require( './views/frame/audio-details.js' );
+media.view.MediaFrame.VideoDetails = require( './views/frame/video-details.js' );
+media.view.MediaDetails = require( './views/media-details.js' );
+media.view.AudioDetails = require( './views/audio-details.js' );
+media.view.VideoDetails = require( './views/video-details.js' );
+
+},{"./controllers/audio-details.js":2,"./controllers/video-details.js":3,"./models/post-media.js":4,"./views/audio-details.js":5,"./views/frame/audio-details.js":6,"./views/frame/media-details.js":7,"./views/frame/video-details.js":8,"./views/media-details.js":9,"./views/video-details.js":10}],2:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.controller.AudioDetails
+ *
+ * The controller for the Audio Details state
+ *
+ * @class
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ */
+var State = wp.media.controller.State,
+       l10n = wp.media.view.l10n,
+       AudioDetails;
+
+AudioDetails = 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;
+               State.prototype.initialize.apply( this, arguments );
+       }
+});
+
+module.exports = AudioDetails;
+
+},{}],3:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.controller.VideoDetails
+ *
+ * The controller for the Video Details state
+ *
+ * @class
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ */
+var State = wp.media.controller.State,
+       l10n = wp.media.view.l10n,
+       VideoDetails;
+
+VideoDetails = 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;
+               State.prototype.initialize.apply( this, arguments );
+       }
+});
+
+module.exports = VideoDetails;
+
+},{}],4:[function(require,module,exports){
+/*globals wp, Backbone, _ */
+
+/**
+ * wp.media.model.PostMedia
+ *
+ * Shared model class for audio and video. Updates the model after
+ *   "Add Audio|Video Source" and "Replace Audio|Video" states return
+ *
+ * @class
+ * @augments Backbone.Model
+ */
+var 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' );
-                       _.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 );
+               if ( _.contains( wp.media.view.settings.embedExts, this.extension ) ) {
+                       this.set( this.extension, this.attachment.get( 'url' ) );
+               } else {
+                       this.unset( this.extension );
                }
-       });
+       },
 
-       /**
-        * 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 );
+       changeAttachment: function( attachment ) {
+               this.setSource( attachment );
+
+               this.unset( 'src' );
+               _.each( _.without( wp.media.view.settings.embedExts, this.extension ), function( ext ) {
+                       this.unset( ext );
+               }, this );
+       }
+});
+
+module.exports = PostMedia;
+
+},{}],5:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.AudioDetails
+ *
+ * @class
+ * @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
+ */
+var MediaDetails = wp.media.view.MediaDetails,
+       AudioDetails;
+
+AudioDetails = MediaDetails.extend({
+       className: 'audio-details',
+       template:  wp.template('audio-details'),
+
+       setMedia: function() {
+               var audio = this.$('.wp-audio-shortcode');
+
+               if ( audio.find( 'source' ).length ) {
+                       if ( audio.is(':hidden') ) {
+                               audio.show();
+                       }
+                       this.media = MediaDetails.prepareSrc( audio.get(0) );
+               } else {
+                       audio.hide();
+                       this.media = false;
                }
-       });
 
-       /**
-        * 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();
-                                               }
+               return this;
+       }
+});
+
+module.exports = AudioDetails;
+
+},{}],6:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.MediaFrame.AudioDetails
+ *
+ * @class
+ * @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
+ */
+var MediaDetails = wp.media.view.MediaFrame.MediaDetails,
+       MediaLibrary = wp.media.controller.MediaLibrary,
+
+       l10n = wp.media.view.l10n,
+       AudioDetails;
+
+AudioDetails = 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 = wp.media.view.AudioDetails;
+               options.cancelText = l10n.audioDetailsCancel;
+               options.addText = l10n.audioAddSourceTitle;
+
+               MediaDetails.prototype.initialize.call( this, options );
+       },
+
+       bindHandlers: function() {
+               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 wp.media.controller.AudioDetails( {
+                               media: this.media
+                       } ),
+
+                       new MediaLibrary( {
+                               type: 'audio',
+                               id: 'replace-audio',
+                               title: l10n.audioReplaceTitle,
+                               toolbar: 'replace-audio',
+                               media: this.media,
+                               menu: 'audio-details'
+                       } ),
+
+                       new MediaLibrary( {
+                               type: 'audio',
+                               id: 'add-audio-source',
+                               title: l10n.audioAddSourceTitle,
+                               toolbar: 'add-audio-source',
+                               media: this.media,
+                               menu: false
+                       } )
+               ]);
+       }
+});
+
+module.exports = AudioDetails;
+
+},{}],7:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.MediaFrame.MediaDetails
+ *
+ * @class
+ * @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
+ */
+var Select = wp.media.view.MediaFrame.Select,
+       l10n = wp.media.view.l10n,
+       MediaDetails;
+
+MediaDetails = 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 wp.media.model.PostMedia( options.metadata );
+               this.options.selection = new wp.media.model.Selection( this.media.attachment, { multiple: false } );
+               Select.prototype.initialize.apply( this, arguments );
+       },
+
+       bindHandlers: function() {
+               var menu = this.defaults.menu;
+
+               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();
-                                               }
+                               }
+                       },
+                       separateCancel: new wp.media.View({
+                               className: 'separator',
+                               priority: 40
+                       })
+               });
+
+       },
+
+       setPrimaryButton: function(text, handler) {
+               this.toolbar.set( new wp.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() );
+                       }
+               }) );
+       },
+
+       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() );
+               } );
+       }
+});
+
+module.exports = MediaDetails;
+
+},{}],8:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.view.MediaFrame.VideoDetails
+ *
+ * @class
+ * @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
+ */
+var MediaDetails = wp.media.view.MediaFrame.MediaDetails,
+       MediaLibrary = wp.media.controller.MediaLibrary,
+       l10n = wp.media.view.l10n,
+       VideoDetails;
+
+VideoDetails = 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 = wp.media.view.VideoDetails;
+               options.cancelText = l10n.videoDetailsCancel;
+               options.addText = l10n.videoAddSourceTitle;
+
+               MediaDetails.prototype.initialize.call( this, options );
+       },
+
+       bindHandlers: function() {
+               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 wp.media.controller.VideoDetails({
+                               media: this.media
+                       }),
+
+                       new MediaLibrary( {
+                               type: 'video',
+                               id: 'replace-video',
+                               title: l10n.videoReplaceTitle,
+                               toolbar: 'replace-video',
+                               media: this.media,
+                               menu: 'video-details'
+                       } ),
+
+                       new MediaLibrary( {
+                               type: 'video',
+                               id: 'add-video-source',
+                               title: l10n.videoAddSourceTitle,
+                               toolbar: 'add-video-source',
+                               media: this.media,
+                               menu: false
+                       } ),
+
+                       new MediaLibrary( {
+                               type: 'image',
+                               id: 'select-poster-image',
+                               title: l10n.videoSelectPosterImageTitle,
+                               toolbar: 'select-poster-image',
+                               media: this.media,
+                               menu: 'video-details'
+                       } ),
+
+                       new 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 urls = [], attachment = state.get( 'selection' ).single();
+
+                       controller.media.set( 'poster', attachment.get( 'url' ) );
+                       state.trigger( 'set-poster-image', controller.media.toJSON() );
+
+                       _.each( wp.media.view.settings.embedExts, function (ext) {
+                               if ( controller.media.get( ext ) ) {
+                                       urls.push( controller.media.get( ext ) );
+                               }
                        } );
-               },
 
-               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() );
+                       wp.ajax.send( 'set-attachment-thumbnail', {
+                               data : {
+                                       urls: urls,
+                                       thumbnail_id: attachment.get( 'id' )
+                               }
                        } );
-               },
+               } );
+       },
+
+       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('');
 
-               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() );
-                       } );
-               }
-       });
+                               controller.media.set( 'content', content );
+                       }
+                       state.trigger( 'add-track', controller.media.toJSON() );
+               } );
+       }
+});
+
+module.exports = VideoDetails;
+
+},{}],9:[function(require,module,exports){
+/*global wp, jQuery, _, MediaElementPlayer */
+
+/**
+ * wp.media.view.MediaDetails
+ *
+ * @class
+ * @augments wp.media.view.Settings.AttachmentDisplay
+ * @augments wp.media.view.Settings
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var AttachmentDisplay = wp.media.view.Settings.AttachmentDisplay,
+       $ = jQuery,
+       MediaDetails;
+
+MediaDetails = AttachmentDisplay.extend({
+       initialize: function() {
+               _.bindAll(this, 'success');
+               this.players = [];
+               this.listenTo( this.controller, 'close', wp.media.mixin.unsetPlayers );
+               this.on( 'ready', this.setPlayer );
+               this.on( 'media:setting:remove', wp.media.mixin.unsetPlayers, this );
+               this.on( 'media:setting:remove', this.render );
+               this.on( 'media:setting:remove', this.setPlayer );
+               this.events = _.extend( this.events, {
+                       'click .remove-setting' : 'removeSetting',
+                       'change .content-track' : 'setTracks',
+                       'click .remove-track' : 'setTracks',
+                       'click .add-media-source' : 'addSource'
+               } );
+
+               AttachmentDisplay.prototype.initialize.apply( this, arguments );
+       },
+
+       prepare: function() {
+               return _.defaults({
+                       model: this.model.toJSON()
+               }, this.options );
+       },
 
        /**
-        * wp.media.view.MediaFrame.AudioDetails
+        * Remove a setting's UI when the model unsets it
         *
-        * @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
+        * @fires wp.media.view.MediaDetails#media:setting:remove
         *
-        * @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
+        * @param {Event} e
         */
-       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 urls = [], attachment = state.get( 'selection' ).single();
-
-                               controller.media.set( 'poster', attachment.get( 'url' ) );
-                               state.trigger( 'set-poster-image', controller.media.toJSON() );
-
-                               _.each( wp.media.view.settings.embedExts, function (ext) {
-                                       if ( controller.media.get( ext ) ) {
-                                               urls.push( controller.media.get( ext ) );
-                                       }
-                               } );
-
-                               wp.ajax.send( 'set-attachment-thumbnail', {
-                                       data : {
-                                               urls: urls,
-                                               thumbnail_id: attachment.get( 'id' )
-                                       }
-                               } );
-                       } );
-               },
-
-               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('');
+       removeSetting : function(e) {
+               var wrap = $( e.currentTarget ).parent(), setting;
+               setting = wrap.find( 'input' ).data( 'setting' );
 
-                                       controller.media.set( 'content', content );
-                               }
-                               state.trigger( 'add-track', controller.media.toJSON() );
-                       } );
+               if ( setting ) {
+                       this.model.unset( setting );
+                       this.trigger( 'media:setting:remove', this );
                }
-       });
+
+               wrap.remove();
+       },
 
        /**
-        * wp.media.view.MediaDetails
         *
-        * @constructor
-        * @augments wp.media.view.Settings.AttachmentDisplay
-        * @augments wp.media.view.Settings
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
+        * @fires wp.media.view.MediaDetails#media:setting:remove
         */
-       media.view.MediaDetails = media.view.Settings.AttachmentDisplay.extend({
-               initialize: function() {
-                       _.bindAll(this, 'success');
-                       this.players = [];
-                       this.listenTo( this.controller, 'close', media.mixin.unsetPlayers );
-                       this.on( 'ready', this.setPlayer );
-                       this.on( 'media:setting:remove', media.mixin.unsetPlayers, this );
-                       this.on( 'media:setting:remove', this.render );
-                       this.on( 'media:setting:remove', this.setPlayer );
-                       this.events = _.extend( this.events, {
-                               'click .remove-setting' : 'removeSetting',
-                               'change .content-track' : 'setTracks',
-                               'click .remove-track' : 'setTracks',
-                               'click .add-media-source' : 'addSource'
-                       } );
-
-                       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 );
-                       }
+       setTracks : function() {
+               var tracks = '';
 
-                       wrap.remove();
-               },
+               _.each( this.$('.content-track'), function(track) {
+                       tracks += $( track ).val();
+               } );
 
-               /**
-                *
-                * @fires wp.media.view.MediaDetails#media:setting:remove
-                */
-               setTracks : function() {
-                       var tracks = '';
+               this.model.set( 'content', tracks );
+               this.trigger( 'media:setting:remove', this );
+       },
 
-                       _.each( this.$('.content-track'), function(track) {
-                               tracks += $( track ).val();
-                       } );
+       addSource : function( e ) {
+               this.controller.lastMime = $( e.currentTarget ).data( 'mime' );
+               this.controller.setState( 'add-' + this.controller.defaults.id + '-source' );
+       },
 
-                       this.model.set( 'content', tracks );
-                       this.trigger( 'media:setting:remove', this );
-               },
-
-               addSource : function( e ) {
-                       this.controller.lastMime = $( e.currentTarget ).data( 'mime' );
-                       this.controller.setState( 'add-' + this.controller.defaults.id + '-source' );
-               },
-
-               /**
-                * @global MediaElementPlayer
-                */
-               setPlayer : function() {
-                       if ( ! this.players.length && this.media ) {
-                               this.players.push( 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 );
-                       }
+       loadPlayer: function () {
+               this.players.push( new MediaElementPlayer( this.media, this.settings ) );
+               this.scriptXhr = false;
+       },
 
-                       this.mejs = mejs;
-               },
+       /**
+        * @global MediaElementPlayer
+        */
+       setPlayer : function() {
+               var baseSettings;
 
-               /**
-                * @returns {media.view.MediaDetails} Returns itself to allow chaining
-                */
-               render: function() {
-                       var self = this;
+               if ( this.players.length || ! this.media || this.scriptXhr ) {
+                       return;
+               }
 
-                       media.view.Settings.AttachmentDisplay.prototype.render.apply( this, arguments );
-                       setTimeout( function() { self.resetFocus(); }, 10 );
+               if ( this.model.get( 'src' ).indexOf( 'vimeo' ) > -1 && ! ( 'Froogaloop' in window ) ) {
+                       baseSettings = wp.media.mixin.mejsSettings;
+                       this.scriptXhr = $.getScript( baseSettings.pluginPath + 'froogaloop.min.js', _.bind( this.loadPlayer, this ) );
+               } else {
+                       this.loadPlayer();
+               }
+       },
 
-                       this.settings = _.defaults( {
-                               success : this.success
-                       }, baseSettings );
+       /**
+        * @abstract
+        */
+       setMedia : function() {
+               return this;
+       },
 
-                       return this.setMedia();
-               },
+       success : function(mejs) {
+               var autoplay = mejs.attributes.autoplay && 'false' !== mejs.attributes.autoplay;
 
-               resetFocus: function() {
-                       this.$( '.embed-media-settings' ).scrollTop( 0 );
+               if ( 'flash' === mejs.pluginType && autoplay ) {
+                       mejs.addEventListener( 'canplay', function() {
+                               mejs.play();
+                       }, false );
                }
-       }, {
-               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;
-               }
-       });
+               this.mejs = mejs;
+       },
 
        /**
-        * wp.media.view.AudioDetails
-        *
-        * @constructor
-        * @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
+        * @returns {media.view.MediaDetails} Returns itself to allow chaining
         */
-       media.view.AudioDetails = media.view.MediaDetails.extend({
-               className: 'audio-details',
-               template:  media.template('audio-details'),
+       render: function() {
+               AttachmentDisplay.prototype.render.apply( this, arguments );
 
-               setMedia: function() {
-                       var audio = this.$('.wp-audio-shortcode');
+               setTimeout( _.bind( function() {
+                       this.resetFocus();
+               }, this ), 10 );
 
-                       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;
-                       }
+               this.settings = _.defaults( {
+                       success : this.success
+               }, wp.media.mixin.mejsSettings );
 
-                       return this;
-               }
-       });
+               return this.setMedia();
+       },
 
+       resetFocus: function() {
+               this.$( '.embed-media-settings' ).scrollTop( 0 );
+       }
+}, {
+       instances : 0,
        /**
-        * wp.media.view.VideoDetails
+        * When multiple players in the DOM contain the same src, things get weird.
         *
-        * @constructor
-        * @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
+        * @param {HTMLElement} elem
+        * @returns {HTMLElement}
         */
-       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();
-                               }
+       prepareSrc : function( elem ) {
+               var i = MediaDetails.instances++;
+               _.each( $( elem ).find( 'source' ), function( source ) {
+                       source.src = [
+                               source.src,
+                               source.src.indexOf('?') > -1 ? '&' : '?',
+                               '_=',
+                               i
+                       ].join('');
+               } );
+
+               return elem;
+       }
+});
+
+module.exports = MediaDetails;
+
+},{}],10:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.VideoDetails
+ *
+ * @class
+ * @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
+ */
+var MediaDetails = wp.media.view.MediaDetails,
+       VideoDetails;
+
+VideoDetails = MediaDetails.extend({
+       className: 'video-details',
+       template:  wp.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);
-                               }
+                       if ( ! video.hasClass( 'youtube-video' ) && ! video.hasClass( 'vimeo-video' ) ) {
+                               this.media = MediaDetails.prepareSrc( video.get(0) );
                        } else {
-                               video.hide();
-                               this.media = false;
+                               this.media = video.get(0);
                        }
-
-                       return this;
+               } else {
+                       video.hide();
+                       this.media = false;
                }
-       });
 
-}(jQuery, _, Backbone));
+               return this;
+       }
+});
+
+module.exports = VideoDetails;
+
+},{}]},{},[1]);
index fd38610b4ec1abf7fce9312530e4b548dd06dc6d..d8b88bb82af3eeab793200f5a6b59c97ec72af2a 100644 (file)
@@ -1 +1 @@
-!function(a,b,c){var d=wp.media,e={},f="undefined"==typeof _wpMediaViewsL10n?{}:_wpMediaViewsL10n;b.isUndefined(window._wpmejsSettings)||(e=_wpmejsSettings),wp.media.mixin={mejsSettings:e,removeAllPlayers:function(){var a;if(window.mejs&&window.mejs.players)for(a in window.mejs.players)window.mejs.players[a].pause(),this.removePlayer(window.mejs.players[a])},removePlayer:function(a){var b,c;if(a.options){for(b in a.options.features)if(c=a.options.features[b],a["clean"+c])try{a["clean"+c](a)}catch(d){}a.isDynamic||a.$node.remove(),"native"!==a.media.pluginType&&a.$media.remove(),delete window.mejs.players[a.id],a.container.remove(),a.globalUnbind(),delete a.node.player}},unsetPlayers:function(){this.players&&this.players.length&&(b.each(this.players,function(a){a.pause(),wp.media.mixin.removePlayer(a)}),this.players=[])}},wp.media.playlist=new wp.media.collection({tag:"playlist",editTitle:f.editPlaylistTitle,defaults:{id:wp.media.view.settings.post.id,style:"light",tracklist:!0,tracknumbers:!0,images:!0,artists:!0,type:"audio"}}),wp.media.audio={coerce:wp.media.coerce,defaults:{id:wp.media.view.settings.post.id,src:"",loop:!1,autoplay:!1,preload:"none",width:400},edit:function(a){var 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})}},d.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)})}}),d.controller.AudioDetails=d.controller.State.extend({defaults:{id:"audio-details",toolbar:"audio-details",title:f.audioDetailsTitle,content:"audio-details",menu:"audio-details",router:!1,priority:60},initialize:function(a){this.media=a.media,d.controller.State.prototype.initialize.apply(this,arguments)}}),d.controller.VideoDetails=d.controller.State.extend({defaults:{id:"video-details",toolbar:"video-details",title:f.videoDetailsTitle,content:"video-details",menu:"video-details",router:!1,priority:60},initialize:function(a){this.media=a.media,d.controller.State.prototype.initialize.apply(this,arguments)}}),d.view.MediaFrame.MediaDetails=d.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 d.model.PostMedia(a.metadata),this.options.selection=new d.model.Selection(this.media.attachment,{multiple:!1}),d.view.MediaFrame.Select.prototype.initialize.apply(this,arguments)},bindHandlers:function(){var a=this.defaults.menu;d.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,e=this;a.set({cancel:{text:this.cancelText,priority:20,click:function(){c?e.setState(c):e.close()}},separateCancel:new d.View({className:"separator",priority:40})})},setPrimaryButton:function(a,b){this.toolbar.set(new d.view.Toolbar({controller:this,items:{button:{style:"primary",text:a,priority:80,click:function(){var a=this.controller;b.call(this,a,a.state()),a.setState(a.options.state),a.reset()}}}}))},renderDetailsToolbar:function(){this.setPrimaryButton(f.update,function(a,b){a.close(),b.trigger("update",a.media.toJSON())})},renderReplaceToolbar:function(){this.setPrimaryButton(f.replace,function(a,b){var c=b.get("selection").single();a.media.changeAttachment(c),b.trigger("replace",a.media.toJSON())})},renderAddSourceToolbar:function(){this.setPrimaryButton(this.addText,function(a,b){var c=b.get("selection").single();a.media.setSource(c),b.trigger("add-source",a.media.toJSON())})}}),d.view.MediaFrame.AudioDetails=d.view.MediaFrame.MediaDetails.extend({defaults:{id:"audio",url:"",menu:"audio-details",content:"audio-details",toolbar:"audio-details",type:"link",title:f.audioDetailsTitle,priority:120},initialize:function(a){a.DetailsView=d.view.AudioDetails,a.cancelText=f.audioDetailsCancel,a.addText=f.audioAddSourceTitle,d.view.MediaFrame.MediaDetails.prototype.initialize.call(this,a)},bindHandlers:function(){d.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 d.controller.AudioDetails({media:this.media}),new d.controller.MediaLibrary({type:"audio",id:"replace-audio",title:f.audioReplaceTitle,toolbar:"replace-audio",media:this.media,menu:"audio-details"}),new d.controller.MediaLibrary({type:"audio",id:"add-audio-source",title:f.audioAddSourceTitle,toolbar:"add-audio-source",media:this.media,menu:!1})])}}),d.view.MediaFrame.VideoDetails=d.view.MediaFrame.MediaDetails.extend({defaults:{id:"video",url:"",menu:"video-details",content:"video-details",toolbar:"video-details",type:"link",title:f.videoDetailsTitle,priority:120},initialize:function(a){a.DetailsView=d.view.VideoDetails,a.cancelText=f.videoDetailsCancel,a.addText=f.videoAddSourceTitle,d.view.MediaFrame.MediaDetails.prototype.initialize.call(this,a)},bindHandlers:function(){d.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 d.controller.VideoDetails({media:this.media}),new d.controller.MediaLibrary({type:"video",id:"replace-video",title:f.videoReplaceTitle,toolbar:"replace-video",media:this.media,menu:"video-details"}),new d.controller.MediaLibrary({type:"video",id:"add-video-source",title:f.videoAddSourceTitle,toolbar:"add-video-source",media:this.media,menu:!1}),new d.controller.MediaLibrary({type:"image",id:"select-poster-image",title:f.videoSelectPosterImageTitle,toolbar:"select-poster-image",media:this.media,menu:"video-details"}),new d.controller.MediaLibrary({type:"text",id:"add-track",title:f.videoAddTrackTitle,toolbar:"add-track",media:this.media,menu:"video-details"})])},renderSelectPosterImageToolbar:function(){this.setPrimaryButton(f.videoSelectPosterImageTitle,function(a,c){var d=[],e=c.get("selection").single();a.media.set("poster",e.get("url")),c.trigger("set-poster-image",a.media.toJSON()),b.each(wp.media.view.settings.embedExts,function(b){a.media.get(b)&&d.push(a.media.get(b))}),wp.ajax.send("set-attachment-thumbnail",{data:{urls:d,thumbnail_id:e.get("id")}})})},renderAddTrackToolbar:function(){this.setPrimaryButton(f.videoAddTrackTitle,function(a,b){var c=b.get("selection").single(),d=a.media.get("content");-1===d.indexOf(c.get("url"))&&(d+=['<track srclang="en" label="English"kind="subtitles" src="',c.get("url"),'" />'].join(""),a.media.set("content",d)),b.trigger("add-track",a.media.toJSON())})}}),d.view.MediaDetails=d.view.Settings.AttachmentDisplay.extend({initialize:function(){b.bindAll(this,"success"),this.players=[],this.listenTo(this.controller,"close",d.mixin.unsetPlayers),this.on("ready",this.setPlayer),this.on("media:setting:remove",d.mixin.unsetPlayers,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","click .add-media-source":"addSource"}),d.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)},addSource:function(b){this.controller.lastMime=a(b.currentTarget).data("mime"),this.controller.setState("add-"+this.controller.defaults.id+"-source")},setPlayer:function(){!this.players.length&&this.media&&this.players.push(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 d.view.Settings.AttachmentDisplay.prototype.render.apply(this,arguments),setTimeout(function(){a.resetFocus()},10),this.settings=b.defaults({success:this.success},e),this.setMedia()},resetFocus:function(){this.$(".embed-media-settings").scrollTop(0)}},{instances:0,prepareSrc:function(c){var e=d.view.MediaDetails.instances++;return b.each(a(c).find("source"),function(a){a.src=[a.src,a.src.indexOf("?")>-1?"&":"?","_=",e].join("")}),c}}),d.view.AudioDetails=d.view.MediaDetails.extend({className:"audio-details",template:d.template("audio-details"),setMedia:function(){var a=this.$(".wp-audio-shortcode");return a.find("source").length?(a.is(":hidden")&&a.show(),this.media=d.view.MediaDetails.prepareSrc(a.get(0))):(a.hide(),this.media=!1),this}}),d.view.VideoDetails=d.view.MediaDetails.extend({className:"video-details",template:d.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):d.view.MediaDetails.prepareSrc(a.get(0))):(a.hide(),this.media=!1),this}})}(jQuery,_,Backbone);
\ No newline at end of file
+!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a){var b=wp.media,c=window._wpmejsSettings||{},d=window._wpMediaViewsL10n||{};wp.media.mixin={mejsSettings:c,removeAllPlayers:function(){var a;if(window.mejs&&window.mejs.players)for(a in window.mejs.players)window.mejs.players[a].pause(),this.removePlayer(window.mejs.players[a])},removePlayer:function(a){var b,c;if(a.options){for(b in a.options.features)if(c=a.options.features[b],a["clean"+c])try{a["clean"+c](a)}catch(d){}a.isDynamic||a.$node.remove(),"native"!==a.media.pluginType&&a.$media.remove(),delete window.mejs.players[a.id],a.container.remove(),a.globalUnbind(),delete a.node.player}},unsetPlayers:function(){this.players&&this.players.length&&(_.each(this.players,function(a){a.pause(),wp.media.mixin.removePlayer(a)}),this.players=[])}},wp.media.playlist=new wp.media.collection({tag:"playlist",editTitle:d.editPlaylistTitle,defaults:{id:wp.media.view.settings.post.id,style:"light",tracklist:!0,tracknumbers:!0,images:!0,artists:!0,type:"audio"}}),wp.media.audio={coerce:wp.media.coerce,defaults:{id:wp.media.view.settings.post.id,src:"",loop:!1,autoplay:!1,preload:"none",width:400},edit:function(a){var b,c=wp.shortcode.next("audio",a).shortcode;return b=wp.media({frame:"audio",state:"audio-details",metadata:_.defaults(c.attrs.named,this.defaults)})},shortcode:function(a){var b;return _.each(this.defaults,function(b,c){a[c]=this.coerce(a,c),b===a[c]&&delete a[c]},this),b=a.content,delete a.content,new wp.shortcode({tag:"audio",attrs:a,content:b})}},wp.media.video={coerce:wp.media.coerce,defaults:{id:wp.media.view.settings.post.id,src:"",poster:"",loop:!1,autoplay:!1,preload:"metadata",content:"",width:640,height:360},edit:function(a){var b,c,d=wp.shortcode.next("video",a).shortcode;return c=d.attrs.named,c.content=d.content,b=wp.media({frame:"video",state:"video-details",metadata:_.defaults(c,this.defaults)})},shortcode:function(a){var b;return _.each(this.defaults,function(b,c){a[c]=this.coerce(a,c),b===a[c]&&delete a[c]},this),b=a.content,delete a.content,new wp.shortcode({tag:"video",attrs:a,content:b})}},b.model.PostMedia=a("./models/post-media.js"),b.controller.AudioDetails=a("./controllers/audio-details.js"),b.controller.VideoDetails=a("./controllers/video-details.js"),b.view.MediaFrame.MediaDetails=a("./views/frame/media-details.js"),b.view.MediaFrame.AudioDetails=a("./views/frame/audio-details.js"),b.view.MediaFrame.VideoDetails=a("./views/frame/video-details.js"),b.view.MediaDetails=a("./views/media-details.js"),b.view.AudioDetails=a("./views/audio-details.js"),b.view.VideoDetails=a("./views/video-details.js")},{"./controllers/audio-details.js":2,"./controllers/video-details.js":3,"./models/post-media.js":4,"./views/audio-details.js":5,"./views/frame/audio-details.js":6,"./views/frame/media-details.js":7,"./views/frame/video-details.js":8,"./views/media-details.js":9,"./views/video-details.js":10}],2:[function(a,b){var c,d=wp.media.controller.State,e=wp.media.view.l10n;c=d.extend({defaults:{id:"audio-details",toolbar:"audio-details",title:e.audioDetailsTitle,content:"audio-details",menu:"audio-details",router:!1,priority:60},initialize:function(a){this.media=a.media,d.prototype.initialize.apply(this,arguments)}}),b.exports=c},{}],3:[function(a,b){var c,d=wp.media.controller.State,e=wp.media.view.l10n;c=d.extend({defaults:{id:"video-details",toolbar:"video-details",title:e.videoDetailsTitle,content:"video-details",menu:"video-details",router:!1,priority:60},initialize:function(a){this.media=a.media,d.prototype.initialize.apply(this,arguments)}}),b.exports=c},{}],4:[function(a,b){var c=Backbone.Model.extend({initialize:function(){this.attachment=!1},setSource:function(a){this.attachment=a,this.extension=a.get("filename").split(".").pop(),this.get("src")&&this.extension===this.get("src").split(".").pop()&&this.unset("src"),_.contains(wp.media.view.settings.embedExts,this.extension)?this.set(this.extension,this.attachment.get("url")):this.unset(this.extension)},changeAttachment:function(a){this.setSource(a),this.unset("src"),_.each(_.without(wp.media.view.settings.embedExts,this.extension),function(a){this.unset(a)},this)}});b.exports=c},{}],5:[function(a,b){var c,d=wp.media.view.MediaDetails;c=d.extend({className:"audio-details",template:wp.template("audio-details"),setMedia:function(){var a=this.$(".wp-audio-shortcode");return a.find("source").length?(a.is(":hidden")&&a.show(),this.media=d.prepareSrc(a.get(0))):(a.hide(),this.media=!1),this}}),b.exports=c},{}],6:[function(a,b){var c,d=wp.media.view.MediaFrame.MediaDetails,e=wp.media.controller.MediaLibrary,f=wp.media.view.l10n;c=d.extend({defaults:{id:"audio",url:"",menu:"audio-details",content:"audio-details",toolbar:"audio-details",type:"link",title:f.audioDetailsTitle,priority:120},initialize:function(a){a.DetailsView=wp.media.view.AudioDetails,a.cancelText=f.audioDetailsCancel,a.addText=f.audioAddSourceTitle,d.prototype.initialize.call(this,a)},bindHandlers:function(){d.prototype.bindHandlers.apply(this,arguments),this.on("toolbar:render:replace-audio",this.renderReplaceToolbar,this),this.on("toolbar:render:add-audio-source",this.renderAddSourceToolbar,this)},createStates:function(){this.states.add([new wp.media.controller.AudioDetails({media:this.media}),new e({type:"audio",id:"replace-audio",title:f.audioReplaceTitle,toolbar:"replace-audio",media:this.media,menu:"audio-details"}),new e({type:"audio",id:"add-audio-source",title:f.audioAddSourceTitle,toolbar:"add-audio-source",media:this.media,menu:!1})])}}),b.exports=c},{}],7:[function(a,b){var c,d=wp.media.view.MediaFrame.Select,e=wp.media.view.l10n;c=d.extend({defaults:{id:"media",url:"",menu:"media-details",content:"media-details",toolbar:"media-details",type:"link",priority:120},initialize:function(a){this.DetailsView=a.DetailsView,this.cancelText=a.cancelText,this.addText=a.addText,this.media=new wp.media.model.PostMedia(a.metadata),this.options.selection=new wp.media.model.Selection(this.media.attachment,{multiple:!1}),d.prototype.initialize.apply(this,arguments)},bindHandlers:function(){var a=this.defaults.menu;d.prototype.bindHandlers.apply(this,arguments),this.on("menu:create:"+a,this.createMenu,this),this.on("content:render:"+a,this.renderDetailsContent,this),this.on("menu:render:"+a,this.renderMenu,this),this.on("toolbar:render:"+a,this.renderDetailsToolbar,this)},renderDetailsContent:function(){var a=new this.DetailsView({controller:this,model:this.state().media,attachment:this.state().media.attachment}).render();this.content.set(a)},renderMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:this.cancelText,priority:20,click:function(){c?d.setState(c):d.close()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},setPrimaryButton:function(a,b){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{button:{style:"primary",text:a,priority:80,click:function(){var a=this.controller;b.call(this,a,a.state()),a.setState(a.options.state),a.reset()}}}}))},renderDetailsToolbar:function(){this.setPrimaryButton(e.update,function(a,b){a.close(),b.trigger("update",a.media.toJSON())})},renderReplaceToolbar:function(){this.setPrimaryButton(e.replace,function(a,b){var c=b.get("selection").single();a.media.changeAttachment(c),b.trigger("replace",a.media.toJSON())})},renderAddSourceToolbar:function(){this.setPrimaryButton(this.addText,function(a,b){var c=b.get("selection").single();a.media.setSource(c),b.trigger("add-source",a.media.toJSON())})}}),b.exports=c},{}],8:[function(a,b){var c,d=wp.media.view.MediaFrame.MediaDetails,e=wp.media.controller.MediaLibrary,f=wp.media.view.l10n;c=d.extend({defaults:{id:"video",url:"",menu:"video-details",content:"video-details",toolbar:"video-details",type:"link",title:f.videoDetailsTitle,priority:120},initialize:function(a){a.DetailsView=wp.media.view.VideoDetails,a.cancelText=f.videoDetailsCancel,a.addText=f.videoAddSourceTitle,d.prototype.initialize.call(this,a)},bindHandlers:function(){d.prototype.bindHandlers.apply(this,arguments),this.on("toolbar:render:replace-video",this.renderReplaceToolbar,this),this.on("toolbar:render:add-video-source",this.renderAddSourceToolbar,this),this.on("toolbar:render:select-poster-image",this.renderSelectPosterImageToolbar,this),this.on("toolbar:render:add-track",this.renderAddTrackToolbar,this)},createStates:function(){this.states.add([new wp.media.controller.VideoDetails({media:this.media}),new e({type:"video",id:"replace-video",title:f.videoReplaceTitle,toolbar:"replace-video",media:this.media,menu:"video-details"}),new e({type:"video",id:"add-video-source",title:f.videoAddSourceTitle,toolbar:"add-video-source",media:this.media,menu:!1}),new e({type:"image",id:"select-poster-image",title:f.videoSelectPosterImageTitle,toolbar:"select-poster-image",media:this.media,menu:"video-details"}),new e({type:"text",id:"add-track",title:f.videoAddTrackTitle,toolbar:"add-track",media:this.media,menu:"video-details"})])},renderSelectPosterImageToolbar:function(){this.setPrimaryButton(f.videoSelectPosterImageTitle,function(a,b){var c=[],d=b.get("selection").single();a.media.set("poster",d.get("url")),b.trigger("set-poster-image",a.media.toJSON()),_.each(wp.media.view.settings.embedExts,function(b){a.media.get(b)&&c.push(a.media.get(b))}),wp.ajax.send("set-attachment-thumbnail",{data:{urls:c,thumbnail_id:d.get("id")}})})},renderAddTrackToolbar:function(){this.setPrimaryButton(f.videoAddTrackTitle,function(a,b){var c=b.get("selection").single(),d=a.media.get("content");-1===d.indexOf(c.get("url"))&&(d+=['<track srclang="en" label="English"kind="subtitles" src="',c.get("url"),'" />'].join(""),a.media.set("content",d)),b.trigger("add-track",a.media.toJSON())})}}),b.exports=c},{}],9:[function(a,b){var c,d=wp.media.view.Settings.AttachmentDisplay,e=jQuery;c=d.extend({initialize:function(){_.bindAll(this,"success"),this.players=[],this.listenTo(this.controller,"close",wp.media.mixin.unsetPlayers),this.on("ready",this.setPlayer),this.on("media:setting:remove",wp.media.mixin.unsetPlayers,this),this.on("media:setting:remove",this.render),this.on("media:setting:remove",this.setPlayer),this.events=_.extend(this.events,{"click .remove-setting":"removeSetting","change .content-track":"setTracks","click .remove-track":"setTracks","click .add-media-source":"addSource"}),d.prototype.initialize.apply(this,arguments)},prepare:function(){return _.defaults({model:this.model.toJSON()},this.options)},removeSetting:function(a){var b,c=e(a.currentTarget).parent();b=c.find("input").data("setting"),b&&(this.model.unset(b),this.trigger("media:setting:remove",this)),c.remove()},setTracks:function(){var a="";_.each(this.$(".content-track"),function(b){a+=e(b).val()}),this.model.set("content",a),this.trigger("media:setting:remove",this)},addSource:function(a){this.controller.lastMime=e(a.currentTarget).data("mime"),this.controller.setState("add-"+this.controller.defaults.id+"-source")},loadPlayer:function(){this.players.push(new MediaElementPlayer(this.media,this.settings)),this.scriptXhr=!1},setPlayer:function(){var a;this.players.length||!this.media||this.scriptXhr||(this.model.get("src").indexOf("vimeo")>-1&&!("Froogaloop"in window)?(a=wp.media.mixin.mejsSettings,this.scriptXhr=e.getScript(a.pluginPath+"froogaloop.min.js",_.bind(this.loadPlayer,this))):this.loadPlayer())},setMedia:function(){return this},success:function(a){var b=a.attributes.autoplay&&"false"!==a.attributes.autoplay;"flash"===a.pluginType&&b&&a.addEventListener("canplay",function(){a.play()},!1),this.mejs=a},render:function(){return d.prototype.render.apply(this,arguments),setTimeout(_.bind(function(){this.resetFocus()},this),10),this.settings=_.defaults({success:this.success},wp.media.mixin.mejsSettings),this.setMedia()},resetFocus:function(){this.$(".embed-media-settings").scrollTop(0)}},{instances:0,prepareSrc:function(a){var b=c.instances++;return _.each(e(a).find("source"),function(a){a.src=[a.src,a.src.indexOf("?")>-1?"&":"?","_=",b].join("")}),a}}),b.exports=c},{}],10:[function(a,b){var c,d=wp.media.view.MediaDetails;c=d.extend({className:"video-details",template:wp.template("video-details"),setMedia:function(){var a=this.$(".wp-video-shortcode");return a.find("source").length?(a.is(":hidden")&&a.show(),this.media=a.hasClass("youtube-video")||a.hasClass("vimeo-video")?a.get(0):d.prepareSrc(a.get(0))):(a.hide(),this.media=!1),this}}),b.exports=c},{}]},{},[1]);
\ No newline at end of file
index c4ff48426f33075a29bfcc70c85eb1de1bc2f184..9d84a4b2717f08afa665c86ac3b424e3f1164efa 100644 (file)
 
                                if ( 'link' === type ) {
                                        _.defaults( embed, {
-                                               title:   embed.url,
+                                               linkText: embed.url,
                                                linkUrl: embed.url
                                        });
 
                         */
                        link: function( embed ) {
                                return wp.media.post( 'send-link-to-editor', {
-                                       nonce:   wp.media.view.settings.nonce.sendToEditor,
-                                       src:     embed.linkUrl,
-                                       title:   embed.title,
-                                       html:    wp.media.string.link( embed ),
-                                       post_id: wp.media.view.settings.post.id
+                                       nonce:     wp.media.view.settings.nonce.sendToEditor,
+                                       src:       embed.linkUrl,
+                                       link_text: embed.linkText,
+                                       html:      wp.media.string.link( embed ),
+                                       post_id:   wp.media.view.settings.post.id
                                });
                        }
                },
index 407f392bd7ba18341ab6aa88a0d48527df0fcd6d..b04f39535f537eadfbd651317e009d7caf7ede21 100644 (file)
@@ -1 +1 @@
-!function(a,b){var c={};wp.media.coerce=function(a,c){return b.isUndefined(a[c])&&!b.isUndefined(this.defaults[c])?a[c]=this.defaults[c]:"true"===a[c]?a[c]=!0:"false"===a[c]&&(a[c]=!1),a[c]},wp.media.string={props:function(a,c){var d,e,f,g,h,i=wp.media.view.settings.defaultProps;return h=function(a){return"image"!==a.type||a.alt||(a.alt=a.caption||a.title||"",a.alt=a.alt.replace(/<\/?[^>]+>/g,""),a.alt=a.alt.replace(/[\r\n]+/g," ")),a},a=a?b.clone(a):{},c&&c.type&&(a.type=c.type),"image"===a.type&&(a=b.defaults(a||{},{align:i.align||getUserSetting("align","none"),size:i.size||getUserSetting("imgsize","medium"),url:"",classes:[]})),c?(a.title=a.title||c.title,d=a.link||i.link||getUserSetting("urlbutton","file"),"file"===d||"embed"===d?e=c.url:"post"===d?e=c.link:"custom"===d&&(e=a.linkUrl),a.linkUrl=e||"","image"===c.type?(a.classes.push("wp-image-"+c.id),g=c.sizes,f=g&&g[a.size]?g[a.size]:c,b.extend(a,b.pick(c,"align","caption","alt"),{width:f.width,height:f.height,src:f.url,captionId:"attachment_"+c.id})):"video"===c.type||"audio"===c.type?b.extend(a,b.pick(c,"title","type","icon","mime")):(a.title=a.title||c.filename,a.rel=a.rel||"attachment wp-att-"+c.id),h(a)):h(a)},link:function(a,b){var c;return a=wp.media.string.props(a,b),c={tag:"a",content:a.title,attrs:{href:a.linkUrl}},a.rel&&(c.attrs.rel=a.rel),wp.html.string(c)},audio:function(a,b){return wp.media.string._audioVideo("audio",a,b)},video:function(a,b){return wp.media.string._audioVideo("video",a,b)},_audioVideo:function(a,c,d){var e,f,g;return c=wp.media.string.props(c,d),"embed"!==c.link?wp.media.string.link(c):(e={},"video"===a&&(d.image&&-1===d.image.src.indexOf(d.icon)&&(e.poster=d.image.src),d.width&&(e.width=d.width),d.height&&(e.height=d.height)),g=d.filename.split(".").pop(),b.contains(wp.media.view.settings.embedExts,g)?(e[g]=d.url,f=wp.shortcode.string({tag:a,attrs:e})):wp.media.string.link(c))},image:function(a,c){var d,e,f,g,h={};return a=wp.media.string.props(a,c),e=a.classes||[],h.src=b.isUndefined(c)?a.url:c.url,b.extend(h,b.pick(a,"width","height","alt")),a.align&&!a.caption&&e.push("align"+a.align),a.size&&e.push("size-"+a.size),h["class"]=b.compact(e).join(" "),d={tag:"img",attrs:h,single:!0},a.linkUrl&&(d={tag:"a",attrs:{href:a.linkUrl},content:d}),g=wp.html.string(d),a.caption&&(f={},h.width&&(f.width=h.width),a.captionId&&(f.id=a.captionId),a.align&&(f.align="align"+a.align),g=wp.shortcode.string({tag:"caption",attrs:f,content:g+" "+a.caption})),g}},wp.media.embed={coerce:wp.media.coerce,defaults:{url:"",width:"",height:""},edit:function(a,c){var d,e,f={};return c?f.url=a.replace(/<[^>]+>/g,""):(e=wp.shortcode.next("embed",a).shortcode,f=b.defaults(e.attrs.named,this.defaults),e.content&&(f.url=e.content)),d=wp.media({frame:"post",state:"embed",metadata:f})},shortcode:function(a){var c,d=this;return b.each(this.defaults,function(b,c){a[c]=d.coerce(a,c),b===a[c]&&delete a[c]}),c=a.url,delete a.url,new wp.shortcode({tag:"embed",attrs:a,content:c})}},wp.media.collection=function(a){var c={};return b.extend({coerce:wp.media.coerce,attachments:function(a){var d,e,f,g,h=a.string(),i=c[h],j=this;return delete c[h],i?i:(d=b.defaults(a.attrs.named,this.defaults),e=b.pick(d,"orderby","order"),e.type=this.type,e.perPage=-1,void 0!==d.orderby&&(d._orderByField=d.orderby),"rand"===d.orderby&&(d._orderbyRandom=!0),(!d.orderby||/^menu_order(?: ID)?$/i.test(d.orderby))&&(e.orderby="menuOrder"),d.ids?(e.post__in=d.ids.split(","),e.orderby="post__in"):d.include&&(e.post__in=d.include.split(",")),d.exclude&&(e.post__not_in=d.exclude.split(",")),e.post__in||(e.uploadedTo=d.id),g=b.omit(d,"id","ids","include","exclude","orderby","order"),b.each(this.defaults,function(a,b){g[b]=j.coerce(g,b)}),f=wp.media.query(e),f[this.tag]=new Backbone.Model(g),f)},shortcode:function(a){var d,e,f=a.props.toJSON(),g=b.pick(f,"orderby","order");return a.type&&(g.type=a.type,delete a.type),a[this.tag]&&b.extend(g,a[this.tag].toJSON()),g.ids=a.pluck("id"),f.uploadedTo&&(g.id=f.uploadedTo),delete g.orderby,g._orderbyRandom?g.orderby="rand":g._orderByField&&"rand"!=g._orderByField&&(g.orderby=g._orderByField),delete g._orderbyRandom,delete g._orderByField,g.ids&&"post__in"===g.orderby&&delete g.orderby,g=this.setDefaults(g),d=new wp.shortcode({tag:this.tag,attrs:g,type:"single"}),e=new wp.media.model.Attachments(a.models,{props:f}),e[this.tag]=a[this.tag],c[d.string()]=e,d},edit:function(a){var c,d,e,f=wp.shortcode.next(this.tag,a),g=this.defaults.id;if(f&&f.content===a)return f=f.shortcode,b.isUndefined(f.get("id"))&&!b.isUndefined(g)&&f.set("id",g),c=this.attachments(f),d=new wp.media.model.Selection(c.models,{props:c.props.toJSON(),multiple:!0}),d[this.tag]=c[this.tag],d.more().done(function(){d.props.set({query:!1}),d.unmirror(),d.props.unset("orderby")}),this.frame&&this.frame.dispose(),e=f.attrs.named.type&&"video"===f.attrs.named.type?"video-"+this.tag+"-edit":this.tag+"-edit",this.frame=wp.media({frame:"post",state:e,title:this.editTitle,editing:!0,multiple:!0,selection:d}).open(),this.frame},setDefaults:function(a){var c=this;return b.each(this.defaults,function(b,d){a[d]=c.coerce(a,d),b===a[d]&&delete a[d]}),a}},a)},wp.media._galleryDefaults={itemtag:"dl",icontag:"dt",captiontag:"dd",columns:"3",link:"post",size:"thumbnail",order:"ASC",id:wp.media.view.settings.post&&wp.media.view.settings.post.id,orderby:"menu_order ID"},wp.media.galleryDefaults=wp.media.view.settings.galleryDefaults?b.extend({},wp.media._galleryDefaults,wp.media.view.settings.galleryDefaults):wp.media._galleryDefaults,wp.media.gallery=new wp.media.collection({tag:"gallery",type:"image",editTitle:wp.media.view.l10n.editGalleryTitle,defaults:wp.media.galleryDefaults,setDefaults:function(a){var c=this,d=!b.isEqual(wp.media.galleryDefaults,wp.media._galleryDefaults);return b.each(this.defaults,function(b,e){a[e]=c.coerce(a,e),b!==a[e]||d&&b!==wp.media._galleryDefaults[e]||delete a[e]}),a}}),wp.media.featuredImage={get:function(){return wp.media.view.settings.post.featuredImageId},set:function(b){var c=wp.media.view.settings;c.post.featuredImageId=b,wp.media.post("set-post-thumbnail",{json:!0,post_id:c.post.id,thumbnail_id:c.post.featuredImageId,_wpnonce:c.post.nonce}).done(function(b){a(".inside","#postimagediv").html(b)})},frame:function(){return this._frame?this._frame:(this._frame=wp.media({state:"featured-image",states:[new wp.media.controller.FeaturedImage,new wp.media.controller.EditImage]}),this._frame.on("toolbar:create:featured-image",function(a){this.createSelectToolbar(a,{text:wp.media.view.l10n.setFeaturedImage})},this._frame),this._frame.on("content:render:edit-image",function(){var a=this.state("featured-image").get("selection"),b=new wp.media.view.EditImage({model:a.single(),controller:this}).render();this.content.set(b),b.loadEditor()},this._frame),this._frame.state("featured-image").on("select",this.select),this._frame)},select:function(){var a=this.get("selection").single();wp.media.view.settings.post.featuredImageId&&wp.media.featuredImage.set(a?a.id:-1)},init:function(){a("#postimagediv").on("click","#set-post-thumbnail",function(a){a.preventDefault(),a.stopPropagation(),wp.media.featuredImage.frame().open()}).on("click","#remove-post-thumbnail",function(){wp.media.view.settings.post.featuredImageId=-1})}},a(wp.media.featuredImage.init),wp.media.editor={insert:function(a){var c,d,e=!b.isUndefined(window.tinymce),f=!b.isUndefined(window.QTags);if(d=this.activeEditor?window.wpActiveEditor=this.activeEditor:window.wpActiveEditor,window.send_to_editor)return window.send_to_editor.apply(this,arguments);if(d)e&&(c=tinymce.get(d));else if(e&&tinymce.activeEditor)c=tinymce.activeEditor,d=window.wpActiveEditor=c.id;else if(!f)return!1;if(c&&!c.isHidden()?c.execCommand("mceInsertContent",!1,a):f?QTags.insertContent(a):document.getElementById(d).value+=a,window.tb_remove)try{window.tb_remove()}catch(g){}},add:function(d,e){var f=this.get(d);return f?f:(f=c[d]=wp.media(b.defaults(e||{},{frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:!0})),f.on("insert",function(c){var d=f.state();c=c||d.get("selection"),c&&a.when.apply(a,c.map(function(a){var b=d.display(a).toJSON();return this.send.attachment(b,a.toJSON())},this)).done(function(){wp.media.editor.insert(b.toArray(arguments).join("\n\n"))})},this),f.state("gallery-edit").on("update",function(a){this.insert(wp.media.gallery.shortcode(a).string())},this),f.state("playlist-edit").on("update",function(a){this.insert(wp.media.playlist.shortcode(a).string())},this),f.state("video-playlist-edit").on("update",function(a){this.insert(wp.media.playlist.shortcode(a).string())},this),f.state("embed").on("select",function(){var a=f.state(),c=a.get("type"),d=a.props.toJSON();d.url=d.url||"","link"===c?(b.defaults(d,{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=window.wpActiveEditor,a||b.isUndefined(window.tinymce)||!tinymce.activeEditor||(a=tinymce.activeEditor.id),a=a||"")},get:function(a){return a=this.id(a),c[a]},remove:function(a){a=this.id(a),delete c[a]},send:{attachment:function(a,c){var d,e,f=c.caption;return wp.media.view.settings.captions||delete c.caption,a=wp.media.string.props(a,c),d={id:c.id,post_content:c.description,post_excerpt:f},a.linkUrl&&(d.url=a.linkUrl),"image"===c.type?(e=wp.media.string.image(a),b.each({align:"align",size:"image-size",alt:"image_alt"},function(b,c){a[c]&&(d[b]=a[c])})):"video"===c.type?e=wp.media.string.video(a,c):"audio"===c.type?e=wp.media.string.audio(a,c):(e=wp.media.string.link(a),d.post_title=a.title),wp.media.post("send-attachment-to-editor",{nonce:wp.media.view.settings.nonce.sendToEditor,attachment:d,html:e,post_id:wp.media.view.settings.post.id})},link:function(a){return wp.media.post("send-link-to-editor",{nonce:wp.media.view.settings.nonce.sendToEditor,src:a.linkUrl,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),this.activeEditor=a,c=this.get(a),(!c||c.options&&b.state!==c.options.state)&&(c=this.add(a,b)),c.open()},init:function(){a(document.body).on("click.add-media-button",".insert-media",function(b){var c=a(b.currentTarget),d=c.data("editor"),e={frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:!0};b.preventDefault(),c.blur(),c.hasClass("gallery")&&(e.state="gallery",e.title=wp.media.view.l10n.createGalleryTitle),wp.media.editor.open(d,e)}),(new wp.media.view.EditorUploader).render()}},b.bindAll(wp.media.editor,"open"),a(wp.media.editor.init)}(jQuery,_);
\ No newline at end of file
+!function(a,b){var c={};wp.media.coerce=function(a,c){return b.isUndefined(a[c])&&!b.isUndefined(this.defaults[c])?a[c]=this.defaults[c]:"true"===a[c]?a[c]=!0:"false"===a[c]&&(a[c]=!1),a[c]},wp.media.string={props:function(a,c){var d,e,f,g,h,i=wp.media.view.settings.defaultProps;return h=function(a){return"image"!==a.type||a.alt||(a.alt=a.caption||a.title||"",a.alt=a.alt.replace(/<\/?[^>]+>/g,""),a.alt=a.alt.replace(/[\r\n]+/g," ")),a},a=a?b.clone(a):{},c&&c.type&&(a.type=c.type),"image"===a.type&&(a=b.defaults(a||{},{align:i.align||getUserSetting("align","none"),size:i.size||getUserSetting("imgsize","medium"),url:"",classes:[]})),c?(a.title=a.title||c.title,d=a.link||i.link||getUserSetting("urlbutton","file"),"file"===d||"embed"===d?e=c.url:"post"===d?e=c.link:"custom"===d&&(e=a.linkUrl),a.linkUrl=e||"","image"===c.type?(a.classes.push("wp-image-"+c.id),g=c.sizes,f=g&&g[a.size]?g[a.size]:c,b.extend(a,b.pick(c,"align","caption","alt"),{width:f.width,height:f.height,src:f.url,captionId:"attachment_"+c.id})):"video"===c.type||"audio"===c.type?b.extend(a,b.pick(c,"title","type","icon","mime")):(a.title=a.title||c.filename,a.rel=a.rel||"attachment wp-att-"+c.id),h(a)):h(a)},link:function(a,b){var c;return a=wp.media.string.props(a,b),c={tag:"a",content:a.title,attrs:{href:a.linkUrl}},a.rel&&(c.attrs.rel=a.rel),wp.html.string(c)},audio:function(a,b){return wp.media.string._audioVideo("audio",a,b)},video:function(a,b){return wp.media.string._audioVideo("video",a,b)},_audioVideo:function(a,c,d){var e,f,g;return c=wp.media.string.props(c,d),"embed"!==c.link?wp.media.string.link(c):(e={},"video"===a&&(d.image&&-1===d.image.src.indexOf(d.icon)&&(e.poster=d.image.src),d.width&&(e.width=d.width),d.height&&(e.height=d.height)),g=d.filename.split(".").pop(),b.contains(wp.media.view.settings.embedExts,g)?(e[g]=d.url,f=wp.shortcode.string({tag:a,attrs:e})):wp.media.string.link(c))},image:function(a,c){var d,e,f,g,h={};return a=wp.media.string.props(a,c),e=a.classes||[],h.src=b.isUndefined(c)?a.url:c.url,b.extend(h,b.pick(a,"width","height","alt")),a.align&&!a.caption&&e.push("align"+a.align),a.size&&e.push("size-"+a.size),h["class"]=b.compact(e).join(" "),d={tag:"img",attrs:h,single:!0},a.linkUrl&&(d={tag:"a",attrs:{href:a.linkUrl},content:d}),g=wp.html.string(d),a.caption&&(f={},h.width&&(f.width=h.width),a.captionId&&(f.id=a.captionId),a.align&&(f.align="align"+a.align),g=wp.shortcode.string({tag:"caption",attrs:f,content:g+" "+a.caption})),g}},wp.media.embed={coerce:wp.media.coerce,defaults:{url:"",width:"",height:""},edit:function(a,c){var d,e,f={};return c?f.url=a.replace(/<[^>]+>/g,""):(e=wp.shortcode.next("embed",a).shortcode,f=b.defaults(e.attrs.named,this.defaults),e.content&&(f.url=e.content)),d=wp.media({frame:"post",state:"embed",metadata:f})},shortcode:function(a){var c,d=this;return b.each(this.defaults,function(b,c){a[c]=d.coerce(a,c),b===a[c]&&delete a[c]}),c=a.url,delete a.url,new wp.shortcode({tag:"embed",attrs:a,content:c})}},wp.media.collection=function(a){var c={};return b.extend({coerce:wp.media.coerce,attachments:function(a){var d,e,f,g,h=a.string(),i=c[h],j=this;return delete c[h],i?i:(d=b.defaults(a.attrs.named,this.defaults),e=b.pick(d,"orderby","order"),e.type=this.type,e.perPage=-1,void 0!==d.orderby&&(d._orderByField=d.orderby),"rand"===d.orderby&&(d._orderbyRandom=!0),(!d.orderby||/^menu_order(?: ID)?$/i.test(d.orderby))&&(e.orderby="menuOrder"),d.ids?(e.post__in=d.ids.split(","),e.orderby="post__in"):d.include&&(e.post__in=d.include.split(",")),d.exclude&&(e.post__not_in=d.exclude.split(",")),e.post__in||(e.uploadedTo=d.id),g=b.omit(d,"id","ids","include","exclude","orderby","order"),b.each(this.defaults,function(a,b){g[b]=j.coerce(g,b)}),f=wp.media.query(e),f[this.tag]=new Backbone.Model(g),f)},shortcode:function(a){var d,e,f=a.props.toJSON(),g=b.pick(f,"orderby","order");return a.type&&(g.type=a.type,delete a.type),a[this.tag]&&b.extend(g,a[this.tag].toJSON()),g.ids=a.pluck("id"),f.uploadedTo&&(g.id=f.uploadedTo),delete g.orderby,g._orderbyRandom?g.orderby="rand":g._orderByField&&"rand"!=g._orderByField&&(g.orderby=g._orderByField),delete g._orderbyRandom,delete g._orderByField,g.ids&&"post__in"===g.orderby&&delete g.orderby,g=this.setDefaults(g),d=new wp.shortcode({tag:this.tag,attrs:g,type:"single"}),e=new wp.media.model.Attachments(a.models,{props:f}),e[this.tag]=a[this.tag],c[d.string()]=e,d},edit:function(a){var c,d,e,f=wp.shortcode.next(this.tag,a),g=this.defaults.id;if(f&&f.content===a)return f=f.shortcode,b.isUndefined(f.get("id"))&&!b.isUndefined(g)&&f.set("id",g),c=this.attachments(f),d=new wp.media.model.Selection(c.models,{props:c.props.toJSON(),multiple:!0}),d[this.tag]=c[this.tag],d.more().done(function(){d.props.set({query:!1}),d.unmirror(),d.props.unset("orderby")}),this.frame&&this.frame.dispose(),e=f.attrs.named.type&&"video"===f.attrs.named.type?"video-"+this.tag+"-edit":this.tag+"-edit",this.frame=wp.media({frame:"post",state:e,title:this.editTitle,editing:!0,multiple:!0,selection:d}).open(),this.frame},setDefaults:function(a){var c=this;return b.each(this.defaults,function(b,d){a[d]=c.coerce(a,d),b===a[d]&&delete a[d]}),a}},a)},wp.media._galleryDefaults={itemtag:"dl",icontag:"dt",captiontag:"dd",columns:"3",link:"post",size:"thumbnail",order:"ASC",id:wp.media.view.settings.post&&wp.media.view.settings.post.id,orderby:"menu_order ID"},wp.media.galleryDefaults=wp.media.view.settings.galleryDefaults?b.extend({},wp.media._galleryDefaults,wp.media.view.settings.galleryDefaults):wp.media._galleryDefaults,wp.media.gallery=new wp.media.collection({tag:"gallery",type:"image",editTitle:wp.media.view.l10n.editGalleryTitle,defaults:wp.media.galleryDefaults,setDefaults:function(a){var c=this,d=!b.isEqual(wp.media.galleryDefaults,wp.media._galleryDefaults);return b.each(this.defaults,function(b,e){a[e]=c.coerce(a,e),b!==a[e]||d&&b!==wp.media._galleryDefaults[e]||delete a[e]}),a}}),wp.media.featuredImage={get:function(){return wp.media.view.settings.post.featuredImageId},set:function(b){var c=wp.media.view.settings;c.post.featuredImageId=b,wp.media.post("set-post-thumbnail",{json:!0,post_id:c.post.id,thumbnail_id:c.post.featuredImageId,_wpnonce:c.post.nonce}).done(function(b){a(".inside","#postimagediv").html(b)})},frame:function(){return this._frame?this._frame:(this._frame=wp.media({state:"featured-image",states:[new wp.media.controller.FeaturedImage,new wp.media.controller.EditImage]}),this._frame.on("toolbar:create:featured-image",function(a){this.createSelectToolbar(a,{text:wp.media.view.l10n.setFeaturedImage})},this._frame),this._frame.on("content:render:edit-image",function(){var a=this.state("featured-image").get("selection"),b=new wp.media.view.EditImage({model:a.single(),controller:this}).render();this.content.set(b),b.loadEditor()},this._frame),this._frame.state("featured-image").on("select",this.select),this._frame)},select:function(){var a=this.get("selection").single();wp.media.view.settings.post.featuredImageId&&wp.media.featuredImage.set(a?a.id:-1)},init:function(){a("#postimagediv").on("click","#set-post-thumbnail",function(a){a.preventDefault(),a.stopPropagation(),wp.media.featuredImage.frame().open()}).on("click","#remove-post-thumbnail",function(){wp.media.view.settings.post.featuredImageId=-1})}},a(wp.media.featuredImage.init),wp.media.editor={insert:function(a){var c,d,e=!b.isUndefined(window.tinymce),f=!b.isUndefined(window.QTags);if(d=this.activeEditor?window.wpActiveEditor=this.activeEditor:window.wpActiveEditor,window.send_to_editor)return window.send_to_editor.apply(this,arguments);if(d)e&&(c=tinymce.get(d));else if(e&&tinymce.activeEditor)c=tinymce.activeEditor,d=window.wpActiveEditor=c.id;else if(!f)return!1;if(c&&!c.isHidden()?c.execCommand("mceInsertContent",!1,a):f?QTags.insertContent(a):document.getElementById(d).value+=a,window.tb_remove)try{window.tb_remove()}catch(g){}},add:function(d,e){var f=this.get(d);return f?f:(f=c[d]=wp.media(b.defaults(e||{},{frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:!0})),f.on("insert",function(c){var d=f.state();c=c||d.get("selection"),c&&a.when.apply(a,c.map(function(a){var b=d.display(a).toJSON();return this.send.attachment(b,a.toJSON())},this)).done(function(){wp.media.editor.insert(b.toArray(arguments).join("\n\n"))})},this),f.state("gallery-edit").on("update",function(a){this.insert(wp.media.gallery.shortcode(a).string())},this),f.state("playlist-edit").on("update",function(a){this.insert(wp.media.playlist.shortcode(a).string())},this),f.state("video-playlist-edit").on("update",function(a){this.insert(wp.media.playlist.shortcode(a).string())},this),f.state("embed").on("select",function(){var a=f.state(),c=a.get("type"),d=a.props.toJSON();d.url=d.url||"","link"===c?(b.defaults(d,{linkText:d.url,linkUrl:d.url}),this.send.link(d).done(function(a){wp.media.editor.insert(a)})):"image"===c&&(b.defaults(d,{title:d.url,linkUrl:"",align:"none",link:"none"}),"none"===d.link?d.linkUrl="":"file"===d.link&&(d.linkUrl=d.url),this.insert(wp.media.string.image(d)))},this),f.state("featured-image").on("select",wp.media.featuredImage.select),f.setState(f.options.state),f)},id:function(a){return a?a:(a=window.wpActiveEditor,a||b.isUndefined(window.tinymce)||!tinymce.activeEditor||(a=tinymce.activeEditor.id),a=a||"")},get:function(a){return a=this.id(a),c[a]},remove:function(a){a=this.id(a),delete c[a]},send:{attachment:function(a,c){var d,e,f=c.caption;return wp.media.view.settings.captions||delete c.caption,a=wp.media.string.props(a,c),d={id:c.id,post_content:c.description,post_excerpt:f},a.linkUrl&&(d.url=a.linkUrl),"image"===c.type?(e=wp.media.string.image(a),b.each({align:"align",size:"image-size",alt:"image_alt"},function(b,c){a[c]&&(d[b]=a[c])})):"video"===c.type?e=wp.media.string.video(a,c):"audio"===c.type?e=wp.media.string.audio(a,c):(e=wp.media.string.link(a),d.post_title=a.title),wp.media.post("send-attachment-to-editor",{nonce:wp.media.view.settings.nonce.sendToEditor,attachment:d,html:e,post_id:wp.media.view.settings.post.id})},link:function(a){return wp.media.post("send-link-to-editor",{nonce:wp.media.view.settings.nonce.sendToEditor,src:a.linkUrl,link_text:a.linkText,html:wp.media.string.link(a),post_id:wp.media.view.settings.post.id})}},open:function(a,b){var c;return b=b||{},a=this.id(a),this.activeEditor=a,c=this.get(a),(!c||c.options&&b.state!==c.options.state)&&(c=this.add(a,b)),c.open()},init:function(){a(document.body).on("click.add-media-button",".insert-media",function(b){var c=a(b.currentTarget),d=c.data("editor"),e={frame:"post",state:"insert",title:wp.media.view.l10n.addMedia,multiple:!0};b.preventDefault(),c.blur(),c.hasClass("gallery")&&(e.state="gallery",e.title=wp.media.view.l10n.createGalleryTitle),wp.media.editor.open(d,e)}),(new wp.media.view.EditorUploader).render()}},b.bindAll(wp.media.editor,"open"),a(wp.media.editor.init)}(jQuery,_);
\ No newline at end of file
index 25670e16aee429c14dbacb2893669cae26afd450..6c8faa5a82d45f1599c3aeace5da2d37f743693d 100644 (file)
-/* global _wpMediaViewsL10n, MediaElementPlayer, _wpMediaGridSettings */
-(function($, _, Backbone, wp) {
-       // Local reference to the WordPress media namespace.
-       var media = wp.media, l10n;
-
-       // Link localized strings and settings.
-       if ( media.view.l10n ) {
-               l10n = media.view.l10n;
-       } else {
-               l10n = media.view.l10n = typeof _wpMediaViewsL10n === 'undefined' ? {} : _wpMediaViewsL10n;
-               delete l10n.settings;
+(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.controller.EditAttachmentMetadata
+ *
+ * A state for editing an attachment's metadata.
+ *
+ * @class
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ */
+var l10n = wp.media.view.l10n,
+       EditAttachmentMetadata;
+
+EditAttachmentMetadata = wp.media.controller.State.extend({
+       defaults: {
+               id:      'edit-attachment',
+               // Title string passed to the frame's title region view.
+               title:   l10n.attachmentDetails,
+               // Region mode defaults.
+               content: 'edit-metadata',
+               menu:    false,
+               toolbar: false,
+               router:  false
        }
-
-       /**
-        * wp.media.controller.EditAttachmentMetadata
-        *
-        * A state for editing an attachment's metadata.
-        *
-        * @constructor
-        * @augments wp.media.controller.State
-        * @augments Backbone.Model
-        */
-       media.controller.EditAttachmentMetadata = media.controller.State.extend({
-               defaults: {
-                       id:      'edit-attachment',
-                       // Title string passed to the frame's title region view.
-                       title:   l10n.attachmentDetails,
-                       // Region mode defaults.
-                       content: 'edit-metadata',
-                       menu:    false,
-                       toolbar: false,
-                       router:  false
+});
+
+module.exports = EditAttachmentMetadata;
+
+},{}],2:[function(require,module,exports){
+/*globals wp */
+
+var media = wp.media;
+
+media.controller.EditAttachmentMetadata = require( './controllers/edit-attachment-metadata.js' );
+media.view.MediaFrame.Manage = require( './views/frame/manage.js' );
+media.view.Attachment.Details.TwoColumn = require( './views/attachment/details-two-column.js' );
+media.view.MediaFrame.Manage.Router = require( './routers/manage.js' );
+media.view.EditImage.Details = require( './views/edit-image-details.js' );
+media.view.MediaFrame.EditAttachments = require( './views/frame/edit-attachments.js' );
+media.view.SelectModeToggleButton = require( './views/button/select-mode-toggle.js' );
+media.view.DeleteSelectedButton = require( './views/button/delete-selected.js' );
+media.view.DeleteSelectedPermanentlyButton = require( './views/button/delete-selected-permanently.js' );
+
+},{"./controllers/edit-attachment-metadata.js":1,"./routers/manage.js":3,"./views/attachment/details-two-column.js":4,"./views/button/delete-selected-permanently.js":5,"./views/button/delete-selected.js":6,"./views/button/select-mode-toggle.js":7,"./views/edit-image-details.js":8,"./views/frame/edit-attachments.js":9,"./views/frame/manage.js":10}],3:[function(require,module,exports){
+/*globals wp, Backbone */
+
+/**
+ * wp.media.view.MediaFrame.Manage.Router
+ *
+ * A router for handling the browser history and application state.
+ *
+ * @class
+ * @augments Backbone.Router
+ */
+var Router = Backbone.Router.extend({
+       routes: {
+               'upload.php?item=:slug':    'showItem',
+               'upload.php?search=:query': 'search'
+       },
+
+       // Map routes against the page URL
+       baseUrl: function( url ) {
+               return 'upload.php' + url;
+       },
+
+       // Respond to the search route by filling the search field and trigggering the input event
+       search: function( query ) {
+               jQuery( '#media-search-input' ).val( query ).trigger( 'input' );
+       },
+
+       // Show the modal with a specific item
+       showItem: function( query ) {
+               var media = wp.media,
+                       library = media.frame.state().get('library'),
+                       item;
+
+               // Trigger the media frame to open the correct item
+               item = library.findWhere( { id: parseInt( query, 10 ) } );
+               if ( item ) {
+                       media.frame.trigger( 'edit:attachment', item );
+               } else {
+                       item = media.attachment( query );
+                       media.frame.listenTo( item, 'change', function( model ) {
+                               media.frame.stopListening( item );
+                               media.frame.trigger( 'edit:attachment', model );
+                       } );
+                       item.fetch();
                }
-       });
+       }
+});
+
+module.exports = Router;
+
+},{}],4:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.Attachment.Details.TwoColumn
+ *
+ * A similar view to media.view.Attachment.Details
+ * for use in the Edit Attachment modal.
+ *
+ * @class
+ * @augments wp.media.view.Attachment.Details
+ * @augments wp.media.view.Attachment
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Details = wp.media.view.Attachment.Details,
+       TwoColumn;
+
+TwoColumn = Details.extend({
+       template: wp.template( 'attachment-details-two-column' ),
+
+       editAttachment: function( event ) {
+               event.preventDefault();
+               this.controller.content.mode( 'edit-image' );
+       },
 
        /**
-        * wp.media.view.MediaFrame.Manage
-        *
-        * A generic management frame workflow.
-        *
-        * Used in the media grid view.
-        *
-        * @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
+        * Noop this from parent class, doesn't apply here.
         */
-       media.view.MediaFrame.Manage = media.view.MediaFrame.extend({
-               /**
-                * @global wp.Uploader
-                */
-               initialize: function() {
-                       var self = this;
-                       _.defaults( this.options, {
-                               title:     '',
-                               modal:     false,
-                               selection: [],
-                               library:   {}, // Options hash for the query to the media library.
-                               multiple:  'add',
-                               state:     'library',
-                               uploader:  true,
-                               mode:      [ 'grid', 'edit' ]
-                       });
-
-                       this.$body = $( document.body );
-                       this.$window = $( window );
-                       this.$adminBar = $( '#wpadminbar' );
-                       this.$window.on( 'scroll resize', _.debounce( _.bind( this.fixPosition, this ), 15 ) );
-                       $( document ).on( 'click', '.add-new-h2', _.bind( this.addNewClickHandler, this ) );
-
-                       // Ensure core and media grid view UI is enabled.
-                       this.$el.addClass('wp-core-ui');
-
-                       // 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 ) {
-                               this.options.uploader = false;
-                       }
-
-                       // Initialize a window-wide uploader.
-                       if ( this.options.uploader ) {
-                               this.uploader = new media.view.UploaderWindow({
-                                       controller: this,
-                                       uploader: {
-                                               dropzone:  document.body,
-                                               container: document.body
-                                       }
-                               }).render();
-                               this.uploader.ready();
-                               $('body').append( this.uploader.el );
-
-                               this.options.uploader = false;
-                       }
-
-                       this.gridRouter = new media.view.MediaFrame.Manage.Router();
-
-                       // Call 'initialize' directly on the parent class.
-                       media.view.MediaFrame.prototype.initialize.apply( this, arguments );
-
-                       // Append the frame view directly the supplied container.
-                       this.$el.appendTo( this.options.container );
-
-                       this.createStates();
-                       this.bindRegionModeHandlers();
-                       this.render();
-
-                       // Update the URL when entering search string (at most once per second)
-                       $( '#media-search-input' ).on( 'input', _.debounce( function(e) {
-                               var val = $( e.currentTarget ).val(), url = '';
-                               if ( val ) {
-                                       url += '?search=' + val;
-                               }
-                               self.gridRouter.navigate( self.gridRouter.baseUrl( url ) );
-                       }, 1000 ) );
-               },
-
-               /**
-                * Create the default states for the frame.
-                */
-               createStates: function() {
-                       var options = this.options;
-
-                       if ( this.options.states ) {
-                               return;
-                       }
-
-                       // Add the default states.
-                       this.states.add([
-                               new media.controller.Library({
-                                       library:            media.query( options.library ),
-                                       multiple:           options.multiple,
-                                       title:              options.title,
-                                       content:            'browse',
-                                       toolbar:            'select',
-                                       contentUserSetting: false,
-                                       filterable:         'all',
-                                       autoSelect:         false
-                               })
-                       ]);
-               },
-
-               /**
-                * Bind region mode activation events to proper handlers.
-                */
-               bindRegionModeHandlers: function() {
-                       this.on( 'content:create:browse', this.browseContent, this );
-
-                       // Handle a frame-level event for editing an attachment.
-                       this.on( 'edit:attachment', this.openEditAttachmentModal, this );
-
-                       this.on( 'select:activate', this.bindKeydown, this );
-                       this.on( 'select:deactivate', this.unbindKeydown, this );
-               },
-
-               handleKeydown: function( e ) {
-                       if ( 27 === e.which ) {
-                               e.preventDefault();
-                               this.deactivateMode( 'select' ).activateMode( 'edit' );
-                       }
-               },
+       toggleSelectionHandler: function() {},
 
-               bindKeydown: function() {
-                       this.$body.on( 'keydown.select', _.bind( this.handleKeydown, this ) );
-               },
+       render: function() {
+               Details.prototype.render.apply( this, arguments );
 
-               unbindKeydown: function() {
-                       this.$body.off( 'keydown.select' );
-               },
-
-               fixPosition: function() {
-                       var $browser, $toolbar;
-                       if ( ! this.isModeActive( 'select' ) ) {
-                               return;
-                       }
+               wp.media.mixin.removeAllPlayers();
+               this.$( 'audio, video' ).each( function (i, elem) {
+                       var el = wp.media.view.MediaDetails.prepareSrc( elem );
+                       new window.MediaElementPlayer( el, wp.media.mixin.mejsSettings );
+               } );
+       }
+});
+
+module.exports = TwoColumn;
+
+},{}],5:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.DeleteSelectedPermanentlyButton
+ *
+ * When MEDIA_TRASH is true, a button that handles bulk Delete Permanently logic
+ *
+ * @class
+ * @augments wp.media.view.DeleteSelectedButton
+ * @augments wp.media.view.Button
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Button = wp.media.view.Button,
+       DeleteSelected = wp.media.view.DeleteSelectedButton,
+       DeleteSelectedPermanently;
+
+DeleteSelectedPermanently = DeleteSelected.extend({
+       initialize: function() {
+               DeleteSelected.prototype.initialize.apply( this, arguments );
+               this.listenTo( this.controller, 'select:activate', this.selectActivate );
+               this.listenTo( this.controller, 'select:deactivate', this.selectDeactivate );
+       },
+
+       filterChange: function( model ) {
+               this.canShow = ( 'trash' === model.get( 'status' ) );
+       },
+
+       selectActivate: function() {
+               this.toggleDisabled();
+               this.$el.toggleClass( 'hidden', ! this.canShow );
+       },
+
+       selectDeactivate: function() {
+               this.toggleDisabled();
+               this.$el.addClass( 'hidden' );
+       },
+
+       render: function() {
+               Button.prototype.render.apply( this, arguments );
+               this.selectActivate();
+               return this;
+       }
+});
+
+module.exports = DeleteSelectedPermanently;
+
+},{}],6:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.DeleteSelectedButton
+ *
+ * A button that handles bulk Delete/Trash logic
+ *
+ * @class
+ * @augments wp.media.view.Button
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Button = wp.media.view.Button,
+       l10n = wp.media.view.l10n,
+       DeleteSelected;
+
+DeleteSelected = Button.extend({
+       initialize: function() {
+               Button.prototype.initialize.apply( this, arguments );
+               if ( this.options.filters ) {
+                       this.listenTo( this.options.filters.model, 'change', this.filterChange );
+               }
+               this.listenTo( this.controller, 'selection:toggle', this.toggleDisabled );
+       },
+
+       filterChange: function( model ) {
+               if ( 'trash' === model.get( 'status' ) ) {
+                       this.model.set( 'text', l10n.untrashSelected );
+               } else if ( wp.media.view.settings.mediaTrash ) {
+                       this.model.set( 'text', l10n.trashSelected );
+               } else {
+                       this.model.set( 'text', l10n.deleteSelected );
+               }
+       },
+
+       toggleDisabled: function() {
+               this.model.set( 'disabled', ! this.controller.state().get( 'selection' ).length );
+       },
+
+       render: function() {
+               Button.prototype.render.apply( this, arguments );
+               if ( this.controller.isModeActive( 'select' ) ) {
+                       this.$el.addClass( 'delete-selected-button' );
+               } else {
+                       this.$el.addClass( 'delete-selected-button hidden' );
+               }
+               this.toggleDisabled();
+               return this;
+       }
+});
+
+module.exports = DeleteSelected;
+
+},{}],7:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.SelectModeToggleButton
+ *
+ * @class
+ * @augments wp.media.view.Button
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Button = wp.media.view.Button,
+       l10n = wp.media.view.l10n,
+       SelectModeToggle;
+
+SelectModeToggle = Button.extend({
+       initialize: function() {
+               Button.prototype.initialize.apply( this, arguments );
+               this.listenTo( this.controller, 'select:activate select:deactivate', this.toggleBulkEditHandler );
+               this.listenTo( this.controller, 'selection:action:done', this.back );
+       },
+
+       back: function () {
+               this.controller.deactivateMode( 'select' ).activateMode( 'edit' );
+       },
+
+       click: function() {
+               Button.prototype.click.apply( this, arguments );
+               if ( this.controller.isModeActive( 'select' ) ) {
+                       this.back();
+               } else {
+                       this.controller.deactivateMode( 'edit' ).activateMode( 'select' );
+               }
+       },
+
+       render: function() {
+               Button.prototype.render.apply( this, arguments );
+               this.$el.addClass( 'select-mode-toggle-button' );
+               return this;
+       },
+
+       toggleBulkEditHandler: function() {
+               var toolbar = this.controller.content.get().toolbar, children;
+
+               children = toolbar.$( '.media-toolbar-secondary > *, .media-toolbar-primary > *' );
+
+               // TODO: the Frame should be doing all of this.
+               if ( this.controller.isModeActive( 'select' ) ) {
+                       this.model.set( 'text', l10n.cancelSelection );
+                       children.not( '.media-button' ).hide();
+                       this.$el.show();
+                       toolbar.$( '.delete-selected-button' ).removeClass( 'hidden' );
+               } else {
+                       this.model.set( 'text', l10n.bulkSelect );
+                       this.controller.content.get().$el.removeClass( 'fixed' );
+                       toolbar.$el.css( 'width', '' );
+                       toolbar.$( '.delete-selected-button' ).addClass( 'hidden' );
+                       children.not( '.spinner, .media-button' ).show();
+                       this.controller.state().get( 'selection' ).reset();
+               }
+       }
+});
+
+module.exports = SelectModeToggle;
+
+},{}],8:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.view.EditImage.Details
+ *
+ * @class
+ * @augments wp.media.view.EditImage
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var View = wp.media.View,
+       EditImage = wp.media.view.EditImage,
+       Details;
+
+Details = EditImage.extend({
+       initialize: function( options ) {
+               this.editor = window.imageEdit;
+               this.frame = options.frame;
+               this.controller = options.controller;
+               View.prototype.initialize.apply( this, arguments );
+       },
+
+       back: function() {
+               this.frame.content.mode( 'edit-metadata' );
+       },
+
+       save: function() {
+               this.model.fetch().done( _.bind( function() {
+                       this.frame.content.mode( 'edit-metadata' );
+               }, this ) );
+       }
+});
+
+module.exports = Details;
+
+},{}],9:[function(require,module,exports){
+/*globals wp, _, jQuery */
+
+/**
+ * wp.media.view.MediaFrame.EditAttachments
+ *
+ * A frame for editing the details of a specific media item.
+ *
+ * Opens in a modal by default.
+ *
+ * Requires an attachment model to be passed in the options hash under `model`.
+ *
+ * @class
+ * @augments wp.media.view.Frame
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ * @mixes wp.media.controller.StateMachine
+ */
+var Frame = wp.media.view.Frame,
+       MediaFrame = wp.media.view.MediaFrame,
+
+       $ = jQuery,
+       EditAttachments;
+
+EditAttachments = MediaFrame.extend({
+
+       className: 'edit-attachment-frame',
+       template:  wp.template( 'edit-attachment-frame' ),
+       regions:   [ 'title', 'content' ],
+
+       events: {
+               'click .left':  'previousMediaItem',
+               'click .right': 'nextMediaItem'
+       },
+
+       initialize: function() {
+               Frame.prototype.initialize.apply( this, arguments );
+
+               _.defaults( this.options, {
+                       modal: true,
+                       state: 'edit-attachment'
+               });
+
+               this.controller = this.options.controller;
+               this.gridRouter = this.controller.gridRouter;
+               this.library = this.options.library;
+
+               if ( this.options.model ) {
+                       this.model = this.options.model;
+               }
 
-                       $browser = this.$('.attachments-browser');
-                       $toolbar = $browser.find('.media-toolbar');
+               this.bindHandlers();
+               this.createStates();
+               this.createModal();
 
-                       // Offset doesn't appear to take top margin into account, hence +16
-                       if ( ( $browser.offset().top + 16 ) < this.$window.scrollTop() + this.$adminBar.height() ) {
-                               $browser.addClass( 'fixed' );
-                               $toolbar.css('width', $browser.width() + 'px');
-                       } else {
-                               $browser.removeClass( 'fixed' );
-                               $toolbar.css('width', '');
-                       }
-               },
+               this.title.mode( 'default' );
+               this.toggleNav();
+       },
 
-               /**
-                * Click handler for the `Add New` button.
-                */
-               addNewClickHandler: function( event ) {
-                       event.preventDefault();
-                       this.trigger( 'toggle:upload:attachment' );
-               },
+       bindHandlers: function() {
+               // Bind default title creation.
+               this.on( 'title:create:default', this.createTitle, this );
 
-               /**
-                * Open the Edit Attachment modal.
-                */
-               openEditAttachmentModal: function( model ) {
-                       // Create a new EditAttachment frame, passing along the library and the attachment model.
-                       wp.media( {
-                               frame:       'edit-attachments',
-                               controller:  this,
-                               library:     this.state().get('library'),
-                               model:       model
-                       } );
-               },
+               // Close the modal if the attachment is deleted.
+               this.listenTo( this.model, 'change:status destroy', this.close, this );
 
-               /**
-                * Create an attachments browser view within the content region.
-                *
-                * @param {Object} contentRegion Basic object with a `view` property, which
-                *                               should be set with the proper region view.
-                * @this wp.media.controller.Region
-                */
-               browseContent: function( contentRegion ) {
-                       var state = this.state();
+               this.on( 'content:create:edit-metadata', this.editMetadataMode, this );
+               this.on( 'content:create:edit-image', this.editImageMode, this );
+               this.on( 'content:render:edit-image', this.editImageModeRender, this );
+               this.on( 'close', this.detach );
+       },
 
-                       // Browse our library of attachments.
-                       this.browserView = contentRegion.view = new media.view.AttachmentsBrowser({
+       createModal: function() {
+               // Initialize modal container view.
+               if ( this.options.modal ) {
+                       this.modal = new wp.media.view.Modal({
                                controller: this,
-                               collection: state.get('library'),
-                               selection:  state.get('selection'),
-                               model:      state,
-                               sortable:   state.get('sortable'),
-                               search:     state.get('searchable'),
-                               filters:    state.get('filterable'),
-                               display:    state.get('displaySettings'),
-                               dragInfo:   state.get('dragInfo'),
-                               sidebar:    'errors',
-
-                               suggestedWidth:  state.get('suggestedWidth'),
-                               suggestedHeight: state.get('suggestedHeight'),
-
-                               AttachmentView: state.get('AttachmentView'),
-
-                               scrollElement: document
+                               title:      this.options.title
                        });
-                       this.browserView.on( 'ready', _.bind( this.bindDeferred, this ) );
-
-                       this.errors = wp.Uploader.errors;
-                       this.errors.on( 'add remove reset', this.sidebarVisibility, this );
-               },
-
-               sidebarVisibility: function() {
-                       this.browserView.$( '.media-sidebar' ).toggle( !! this.errors.length );
-               },
 
-               bindDeferred: function() {
-                       if ( ! this.browserView.dfd ) {
-                               return;
-                       }
-                       this.browserView.dfd.done( _.bind( this.startHistory, this ) );
-               },
-
-               startHistory: function() {
-                       // Verify pushState support and activate
-                       if ( window.history && window.history.pushState ) {
-                               Backbone.history.start( {
-                                       root: _wpMediaGridSettings.adminUrl,
-                                       pushState: true
-                               } );
-                       }
+                       this.modal.on( 'open', _.bind( function () {
+                               $( 'body' ).on( 'keydown.media-modal', _.bind( this.keyEvent, this ) );
+                       }, this ) );
+
+                       // Completely destroy the modal DOM element when closing it.
+                       this.modal.on( 'close', _.bind( function() {
+                               this.modal.remove();
+                               $( 'body' ).off( 'keydown.media-modal' ); /* remove the keydown event */
+                               // Restore the original focus item if possible
+                               $( 'li.attachment[data-id="' + this.model.get( 'id' ) +'"]' ).focus();
+                               this.resetRoute();
+                       }, this ) );
+
+                       // Set this frame as the modal's content.
+                       this.modal.content( this );
+                       this.modal.open();
                }
-       });
+       },
 
        /**
-        * A similar view to media.view.Attachment.Details
-        * for use in the Edit Attachment modal.
-        *
-        * @constructor
-        * @augments wp.media.view.Attachment.Details
-        * @augments wp.media.view.Attachment
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
+        * Add the default states to the frame.
         */
-       media.view.Attachment.Details.TwoColumn = media.view.Attachment.Details.extend({
-               template: media.template( 'attachment-details-two-column' ),
+       createStates: function() {
+               this.states.add([
+                       new wp.media.controller.EditAttachmentMetadata( { model: this.model } )
+               ]);
+       },
 
-               editAttachment: function( event ) {
-                       event.preventDefault();
-                       this.controller.content.mode( 'edit-image' );
-               },
+       /**
+        * Content region rendering callback for the `edit-metadata` mode.
+        *
+        * @param {Object} contentRegion Basic object with a `view` property, which
+        *                               should be set with the proper region view.
+        */
+       editMetadataMode: function( contentRegion ) {
+               contentRegion.view = new wp.media.view.Attachment.Details.TwoColumn({
+                       controller: this,
+                       model:      this.model
+               });
 
                /**
-                * Noop this from parent class, doesn't apply here.
+                * Attach a subview to display fields added via the
+                * `attachment_fields_to_edit` filter.
                 */
-               toggleSelectionHandler: function() {},
-
-               render: function() {
-                       media.view.Attachment.Details.prototype.render.apply( this, arguments );
-
-                       media.mixin.removeAllPlayers();
-                       this.$( 'audio, video' ).each( function (i, elem) {
-                               var el = media.view.MediaDetails.prepareSrc( elem );
-                               setTimeout( function() {
-                                       new MediaElementPlayer( el, media.mixin.mejsSettings );
-                               }, 0 );
-                       } );
+               contentRegion.view.views.set( '.attachment-compat', new wp.media.view.AttachmentCompat({
+                       controller: this,
+                       model:      this.model
+               }) );
+
+               // Update browser url when navigating media details
+               if ( this.model ) {
+                       this.gridRouter.navigate( this.gridRouter.baseUrl( '?item=' + this.model.id ) );
                }
-       });
+       },
 
        /**
-        * A router for handling the browser history and application state.
+        * Render the EditImage view into the frame's content region.
         *
-        * @constructor
-        * @augments Backbone.Router
+        * @param {Object} contentRegion Basic object with a `view` property, which
+        *                               should be set with the proper region view.
         */
-       media.view.MediaFrame.Manage.Router = Backbone.Router.extend({
-               routes: {
-                       'upload.php?item=:slug':    'showItem',
-                       'upload.php?search=:query': 'search'
-               },
-
-               // Map routes against the page URL
-               baseUrl: function( url ) {
-                       return 'upload.php' + url;
-               },
-
-               // Respond to the search route by filling the search field and trigggering the input event
-               search: function( query ) {
-                       $( '#media-search-input' ).val( query ).trigger( 'input' );
-               },
-
-               // Show the modal with a specific item
-               showItem: function( query ) {
-                       var library = media.frame.state().get('library'), item;
-
-                       // Trigger the media frame to open the correct item
-                       item = library.findWhere( { id: parseInt( query, 10 ) } );
-                       if ( item ) {
-                               media.frame.trigger( 'edit:attachment', item );
-                       } else {
-                               item = media.attachment( query );
-                               media.frame.listenTo( item, 'change', function( model ) {
-                                       media.frame.stopListening( item );
-                                       media.frame.trigger( 'edit:attachment', model );
-                               } );
-                               item.fetch();
-                       }
+       editImageMode: function( contentRegion ) {
+               var editImageController = new wp.media.controller.EditImage( {
+                       model: this.model,
+                       frame: this
+               } );
+               // Noop some methods.
+               editImageController._toolbar = function() {};
+               editImageController._router = function() {};
+               editImageController._menu = function() {};
+
+               contentRegion.view = new wp.media.view.EditImage.Details( {
+                       model: this.model,
+                       frame: this,
+                       controller: editImageController
+               } );
+       },
+
+       editImageModeRender: function( view ) {
+               view.on( 'ready', view.loadEditor );
+       },
+
+       toggleNav: function() {
+               this.$('.left').toggleClass( 'disabled', ! this.hasPrevious() );
+               this.$('.right').toggleClass( 'disabled', ! this.hasNext() );
+       },
+
+       /**
+        * Rerender the view.
+        */
+       rerender: function() {
+               // Only rerender the `content` region.
+               if ( this.content.mode() !== 'edit-metadata' ) {
+                       this.content.mode( 'edit-metadata' );
+               } else {
+                       this.content.render();
                }
-       });
 
-       media.view.EditImage.Details = media.view.EditImage.extend({
-               initialize: function( options ) {
-                       this.editor = window.imageEdit;
-                       this.frame = options.frame;
-                       this.controller = options.controller;
-                       media.View.prototype.initialize.apply( this, arguments );
-               },
+               this.toggleNav();
+       },
 
-               back: function() {
-                       this.frame.content.mode( 'edit-metadata' );
-               },
+       /**
+        * Click handler to switch to the previous media item.
+        */
+       previousMediaItem: function() {
+               if ( ! this.hasPrevious() ) {
+                       this.$( '.left' ).blur();
+                       return;
+               }
+               this.model = this.library.at( this.getCurrentIndex() - 1 );
+               this.rerender();
+               this.$( '.left' ).focus();
+       },
 
-               save: function() {
-                       var self = this;
+       /**
+        * Click handler to switch to the next media item.
+        */
+       nextMediaItem: function() {
+               if ( ! this.hasNext() ) {
+                       this.$( '.right' ).blur();
+                       return;
+               }
+               this.model = this.library.at( this.getCurrentIndex() + 1 );
+               this.rerender();
+               this.$( '.right' ).focus();
+       },
+
+       getCurrentIndex: function() {
+               return this.library.indexOf( this.model );
+       },
+
+       hasNext: function() {
+               return ( this.getCurrentIndex() + 1 ) < this.library.length;
+       },
+
+       hasPrevious: function() {
+               return ( this.getCurrentIndex() - 1 ) > -1;
+       },
+       /**
+        * Respond to the keyboard events: right arrow, left arrow, except when
+        * focus is in a textarea or input field.
+        */
+       keyEvent: function( event ) {
+               if ( ( 'INPUT' === event.target.nodeName || 'TEXTAREA' === event.target.nodeName ) && ! ( event.target.readOnly || event.target.disabled ) ) {
+                       return;
+               }
 
-                       this.model.fetch().done( function() {
-                               self.frame.content.mode( 'edit-metadata' );
-                       });
+               // The right arrow key
+               if ( 39 === event.keyCode ) {
+                       this.nextMediaItem();
                }
-       });
+               // The left arrow key
+               if ( 37 === event.keyCode ) {
+                       this.previousMediaItem();
+               }
+       },
 
+       resetRoute: function() {
+               this.gridRouter.navigate( this.gridRouter.baseUrl( '' ) );
+       }
+});
+
+module.exports = EditAttachments;
+
+},{}],10:[function(require,module,exports){
+/*globals wp, _, Backbone */
+
+/**
+ * wp.media.view.MediaFrame.Manage
+ *
+ * A generic management frame workflow.
+ *
+ * Used in the media grid view.
+ *
+ * @class
+ * @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
+ */
+var MediaFrame = wp.media.view.MediaFrame,
+       Library = wp.media.controller.Library,
+
+       $ = Backbone.$,
+       Manage;
+
+Manage = MediaFrame.extend({
        /**
-        * A frame for editing the details of a specific media item.
-        *
-        * Opens in a modal by default.
-        *
-        * Requires an attachment model to be passed in the options hash under `model`.
-        *
-        * @constructor
-        * @augments wp.media.view.Frame
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        * @mixes wp.media.controller.StateMachine
+        * @global wp.Uploader
         */
-       media.view.MediaFrame.EditAttachments = media.view.MediaFrame.extend({
+       initialize: function() {
+               _.defaults( this.options, {
+                       title:     '',
+                       modal:     false,
+                       selection: [],
+                       library:   {}, // Options hash for the query to the media library.
+                       multiple:  'add',
+                       state:     'library',
+                       uploader:  true,
+                       mode:      [ 'grid', 'edit' ]
+               });
+
+               this.$body = $( document.body );
+               this.$window = $( window );
+               this.$adminBar = $( '#wpadminbar' );
+               this.$window.on( 'scroll resize', _.debounce( _.bind( this.fixPosition, this ), 15 ) );
+               $( document ).on( 'click', '.add-new-h2', _.bind( this.addNewClickHandler, this ) );
+
+               // Ensure core and media grid view UI is enabled.
+               this.$el.addClass('wp-core-ui');
+
+               // 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 ) {
+                       this.options.uploader = false;
+               }
 
-               className: 'edit-attachment-frame',
-               template: media.template( 'edit-attachment-frame' ),
-               regions:   [ 'title', 'content' ],
+               // Initialize a window-wide uploader.
+               if ( this.options.uploader ) {
+                       this.uploader = new wp.media.view.UploaderWindow({
+                               controller: this,
+                               uploader: {
+                                       dropzone:  document.body,
+                                       container: document.body
+                               }
+                       }).render();
+                       this.uploader.ready();
+                       $('body').append( this.uploader.el );
 
-               events: {
-                       'click .left':  'previousMediaItem',
-                       'click .right': 'nextMediaItem'
-               },
+                       this.options.uploader = false;
+               }
 
-               initialize: function() {
-                       media.view.Frame.prototype.initialize.apply( this, arguments );
+               this.gridRouter = new wp.media.view.MediaFrame.Manage.Router();
 
-                       _.defaults( this.options, {
-                               modal: true,
-                               state: 'edit-attachment'
-                       });
+               // Call 'initialize' directly on the parent class.
+               MediaFrame.prototype.initialize.apply( this, arguments );
 
-                       this.controller = this.options.controller;
-                       this.gridRouter = this.controller.gridRouter;
-                       this.library = this.options.library;
+               // Append the frame view directly the supplied container.
+               this.$el.appendTo( this.options.container );
 
-                       if ( this.options.model ) {
-                               this.model = this.options.model;
-                       }
+               this.createStates();
+               this.bindRegionModeHandlers();
+               this.render();
+               this.bindSearchHandler();
+       },
 
-                       this.bindHandlers();
-                       this.createStates();
-                       this.createModal();
-
-                       this.title.mode( 'default' );
-                       this.toggleNav();
-               },
-
-               bindHandlers: function() {
-                       // Bind default title creation.
-                       this.on( 'title:create:default', this.createTitle, this );
-
-                       // Close the modal if the attachment is deleted.
-                       this.listenTo( this.model, 'change:status destroy', this.close, this );
-
-                       this.on( 'content:create:edit-metadata', this.editMetadataMode, this );
-                       this.on( 'content:create:edit-image', this.editImageMode, this );
-                       this.on( 'content:render:edit-image', this.editImageModeRender, this );
-                       this.on( 'close', this.detach );
-               },
-
-               createModal: function() {
-                       var self = this;
-
-                       // Initialize modal container view.
-                       if ( this.options.modal ) {
-                               this.modal = new media.view.Modal({
-                                       controller: this,
-                                       title:      this.options.title
-                               });
-
-                               this.modal.on( 'open', function () {
-                                       $( 'body' ).on( 'keydown.media-modal', _.bind( self.keyEvent, self ) );
-                               } );
-
-                               // Completely destroy the modal DOM element when closing it.
-                               this.modal.on( 'close', function() {
-                                       self.modal.remove();
-                                       $( 'body' ).off( 'keydown.media-modal' ); /* remove the keydown event */
-                                       // Restore the original focus item if possible
-                                       $( 'li.attachment[data-id="' + self.model.get( 'id' ) +'"]' ).focus();
-                                       self.resetRoute();
-                               } );
-
-                               // Set this frame as the modal's content.
-                               this.modal.content( this );
-                               this.modal.open();
-                       }
-               },
+       bindSearchHandler: function() {
+               var search = this.$( '#media-search-input' ),
+                       currentSearch = this.options.container.data( 'search' ),
+                       searchView = this.browserView.toolbar.get( 'search' ).$el,
+                       listMode = this.$( '.view-list' ),
 
-               /**
-                * Add the default states to the frame.
-                */
-               createStates: function() {
-                       this.states.add([
-                               new media.controller.EditAttachmentMetadata( { model: this.model } )
-                       ]);
-               },
+                       input  = _.debounce( function (e) {
+                               var val = $( e.currentTarget ).val(),
+                                       url = '';
 
-               /**
-                * Content region rendering callback for the `edit-metadata` mode.
-                *
-                * @param {Object} contentRegion Basic object with a `view` property, which
-                *                               should be set with the proper region view.
-                */
-               editMetadataMode: function( contentRegion ) {
-                       contentRegion.view = new media.view.Attachment.Details.TwoColumn({
-                               controller: this,
-                               model:      this.model
-                       });
+                               if ( val ) {
+                                       url += '?search=' + val;
+                               }
+                               this.gridRouter.navigate( this.gridRouter.baseUrl( url ) );
+                       }, 1000 );
 
-                       /**
-                        * Attach a subview to display fields added via the
-                        * `attachment_fields_to_edit` filter.
-                        */
-                       contentRegion.view.views.set( '.attachment-compat', new media.view.AttachmentCompat({
-                               controller: this,
-                               model:      this.model
-                       }) );
+               // Update the URL when entering search string (at most once per second)
+               search.on( 'input', _.bind( input, this ) );
+               searchView.val( currentSearch ).trigger( 'input' );
 
-                       // Update browser url when navigating media details
-                       if ( this.model ) {
-                               this.gridRouter.navigate( this.gridRouter.baseUrl( '?item=' + this.model.id ) );
+               this.gridRouter.on( 'route:search', function () {
+                       var href = window.location.href;
+                       if ( href.indexOf( 'mode=' ) > -1 ) {
+                               href = href.replace( /mode=[^&]+/g, 'mode=list' );
+                       } else {
+                               href += href.indexOf( '?' ) > -1 ? '&mode=list' : '?mode=list';
                        }
-               },
-
-               /**
-                * Render the EditImage view into the frame's content region.
-                *
-                * @param {Object} contentRegion Basic object with a `view` property, which
-                *                               should be set with the proper region view.
-                */
-               editImageMode: function( contentRegion ) {
-                       var editImageController = new media.controller.EditImage( {
-                               model: this.model,
-                               frame: this
-                       } );
-                       // Noop some methods.
-                       editImageController._toolbar = function() {};
-                       editImageController._router = function() {};
-                       editImageController._menu = function() {};
-
-                       contentRegion.view = new media.view.EditImage.Details( {
-                               model: this.model,
-                               frame: this,
-                               controller: editImageController
-                       } );
-               },
+                       href = href.replace( 'search=', 's=' );
+                       listMode.prop( 'href', href );
+               } );
+       },
 
-               editImageModeRender: function( view ) {
-                       view.on( 'ready', view.loadEditor );
-               },
-
-               toggleNav: function() {
-                       this.$('.left').toggleClass( 'disabled', ! this.hasPrevious() );
-                       this.$('.right').toggleClass( 'disabled', ! this.hasNext() );
-               },
+       /**
+        * Create the default states for the frame.
+        */
+       createStates: function() {
+               var options = this.options;
 
-               /**
-                * Rerender the view.
-                */
-               rerender: function() {
-                       // Only rerender the `content` region.
-                       if ( this.content.mode() !== 'edit-metadata' ) {
-                               this.content.mode( 'edit-metadata' );
-                       } else {
-                               this.content.render();
-                       }
+               if ( this.options.states ) {
+                       return;
+               }
 
-                       this.toggleNav();
-               },
+               // Add the default states.
+               this.states.add([
+                       new Library({
+                               library:            wp.media.query( options.library ),
+                               multiple:           options.multiple,
+                               title:              options.title,
+                               content:            'browse',
+                               toolbar:            'select',
+                               contentUserSetting: false,
+                               filterable:         'all',
+                               autoSelect:         false
+                       })
+               ]);
+       },
 
-               /**
-                * Click handler to switch to the previous media item.
-                */
-               previousMediaItem: function() {
-                       if ( ! this.hasPrevious() ) {
-                               this.$( '.left' ).blur();
-                               return;
-                       }
-                       this.model = this.library.at( this.getCurrentIndex() - 1 );
-                       this.rerender();
-                       this.$( '.left' ).focus();
-               },
+       /**
+        * Bind region mode activation events to proper handlers.
+        */
+       bindRegionModeHandlers: function() {
+               this.on( 'content:create:browse', this.browseContent, this );
 
-               /**
-                * Click handler to switch to the next media item.
-                */
-               nextMediaItem: function() {
-                       if ( ! this.hasNext() ) {
-                               this.$( '.right' ).blur();
-                               return;
-                       }
-                       this.model = this.library.at( this.getCurrentIndex() + 1 );
-                       this.rerender();
-                       this.$( '.right' ).focus();
-               },
-
-               getCurrentIndex: function() {
-                       return this.library.indexOf( this.model );
-               },
-
-               hasNext: function() {
-                       return ( this.getCurrentIndex() + 1 ) < this.library.length;
-               },
-
-               hasPrevious: function() {
-                       return ( this.getCurrentIndex() - 1 ) > -1;
-               },
-               /**
-                * Respond to the keyboard events: right arrow, left arrow, except when
-                * focus is in a textarea or input field.
-                */
-               keyEvent: function( event ) {
-                       if ( ( 'INPUT' === event.target.nodeName || 'TEXTAREA' === event.target.nodeName ) && ! ( event.target.readOnly || event.target.disabled ) ) {
-                               return;
-                       }
+               // Handle a frame-level event for editing an attachment.
+               this.on( 'edit:attachment', this.openEditAttachmentModal, this );
 
-                       // The right arrow key
-                       if ( 39 === event.keyCode ) {
-                               this.nextMediaItem();
-                       }
-                       // The left arrow key
-                       if ( 37 === event.keyCode ) {
-                               this.previousMediaItem();
-                       }
-               },
+               this.on( 'select:activate', this.bindKeydown, this );
+               this.on( 'select:deactivate', this.unbindKeydown, this );
+       },
 
-               resetRoute: function() {
-                       this.gridRouter.navigate( this.gridRouter.baseUrl( '' ) );
+       handleKeydown: function( e ) {
+               if ( 27 === e.which ) {
+                       e.preventDefault();
+                       this.deactivateMode( 'select' ).activateMode( 'edit' );
                }
-       });
-
-       media.view.SelectModeToggleButton = media.view.Button.extend({
-               initialize: function() {
-                       media.view.Button.prototype.initialize.apply( this, arguments );
-                       this.listenTo( this.controller, 'select:activate select:deactivate', this.toggleBulkEditHandler );
-                       this.listenTo( this.controller, 'selection:action:done', this.back );
-               },
-
-               back: function () {
-                       this.controller.deactivateMode( 'select' ).activateMode( 'edit' );
-               },
-
-               click: function() {
-                       media.view.Button.prototype.click.apply( this, arguments );
-                       if ( this.controller.isModeActive( 'select' ) ) {
-                               this.back();
-                       } else {
-                               this.controller.deactivateMode( 'edit' ).activateMode( 'select' );
-                       }
-               },
+       },
 
-               render: function() {
-                       media.view.Button.prototype.render.apply( this, arguments );
-                       this.$el.addClass( 'select-mode-toggle-button' );
-                       return this;
-               },
+       bindKeydown: function() {
+               this.$body.on( 'keydown.select', _.bind( this.handleKeydown, this ) );
+       },
 
-               toggleBulkEditHandler: function() {
-                       var toolbar = this.controller.content.get().toolbar, children;
+       unbindKeydown: function() {
+               this.$body.off( 'keydown.select' );
+       },
 
-                       children = toolbar.$( '.media-toolbar-secondary > *, .media-toolbar-primary > *');
+       fixPosition: function() {
+               var $browser, $toolbar;
+               if ( ! this.isModeActive( 'select' ) ) {
+                       return;
+               }
 
-                       // TODO: the Frame should be doing all of this.
-                       if ( this.controller.isModeActive( 'select' ) ) {
-                               this.model.set( 'text', l10n.cancelSelection );
-                               children.not( '.media-button' ).hide();
-                               this.$el.show();
-                               toolbar.$( '.delete-selected-button' ).removeClass( 'hidden' );
-                       } else {
-                               this.model.set( 'text', l10n.bulkSelect );
-                               this.controller.content.get().$el.removeClass( 'fixed' );
-                               toolbar.$el.css( 'width', '' );
-                               toolbar.$( '.delete-selected-button' ).addClass( 'hidden' );
-                               children.not( '.spinner, .media-button' ).show();
-                               this.controller.state().get( 'selection' ).reset();
-                       }
+               $browser = this.$('.attachments-browser');
+               $toolbar = $browser.find('.media-toolbar');
+
+               // Offset doesn't appear to take top margin into account, hence +16
+               if ( ( $browser.offset().top + 16 ) < this.$window.scrollTop() + this.$adminBar.height() ) {
+                       $browser.addClass( 'fixed' );
+                       $toolbar.css('width', $browser.width() + 'px');
+               } else {
+                       $browser.removeClass( 'fixed' );
+                       $toolbar.css('width', '');
                }
-       });
+       },
 
        /**
-        * A button that handles bulk Delete/Trash logic
-        *
-        * @constructor
-        * @augments wp.media.view.Button
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
+        * Click handler for the `Add New` button.
         */
-       media.view.DeleteSelectedButton = media.view.Button.extend({
-               initialize: function() {
-                       media.view.Button.prototype.initialize.apply( this, arguments );
-                       if ( this.options.filters ) {
-                               this.listenTo( this.options.filters.model, 'change', this.filterChange );
-                       }
-                       this.listenTo( this.controller, 'selection:toggle', this.toggleDisabled );
-               },
-
-               filterChange: function( model ) {
-                       if ( 'trash' === model.get( 'status' ) ) {
-                               this.model.set( 'text', l10n.untrashSelected );
-                       } else if ( media.view.settings.mediaTrash ) {
-                               this.model.set( 'text', l10n.trashSelected );
-                       } else {
-                               this.model.set( 'text', l10n.deleteSelected );
-                       }
-               },
-
-               toggleDisabled: function() {
-                       this.model.set( 'disabled', ! this.controller.state().get( 'selection' ).length );
-               },
+       addNewClickHandler: function( event ) {
+               event.preventDefault();
+               this.trigger( 'toggle:upload:attachment' );
+       },
 
-               render: function() {
-                       media.view.Button.prototype.render.apply( this, arguments );
-                       if ( this.controller.isModeActive( 'select' ) ) {
-                               this.$el.addClass( 'delete-selected-button' );
-                       } else {
-                               this.$el.addClass( 'delete-selected-button hidden' );
-                       }
-                       this.toggleDisabled();
-                       return this;
-               }
-       });
+       /**
+        * Open the Edit Attachment modal.
+        */
+       openEditAttachmentModal: function( model ) {
+               // Create a new EditAttachment frame, passing along the library and the attachment model.
+               wp.media( {
+                       frame:       'edit-attachments',
+                       controller:  this,
+                       library:     this.state().get('library'),
+                       model:       model
+               } );
+       },
 
        /**
-        * When MEDIA_TRASH is true, a button that handles bulk Delete Permanently logic
+        * Create an attachments browser view within the content region.
         *
-        * @constructor
-        * @augments wp.media.view.DeleteSelectedButton
-        * @augments wp.media.view.Button
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
+        * @param {Object} contentRegion Basic object with a `view` property, which
+        *                               should be set with the proper region view.
+        * @this wp.media.controller.Region
         */
-       media.view.DeleteSelectedPermanentlyButton = media.view.DeleteSelectedButton.extend({
-               initialize: function() {
-                       media.view.DeleteSelectedButton.prototype.initialize.apply( this, arguments );
-                       this.listenTo( this.controller, 'select:activate', this.selectActivate );
-                       this.listenTo( this.controller, 'select:deactivate', this.selectDeactivate );
-               },
-
-               filterChange: function( model ) {
-                       this.canShow = ( 'trash' === model.get( 'status' ) );
-               },
-
-               selectActivate: function() {
-                       this.toggleDisabled();
-                       this.$el.toggleClass( 'hidden', ! this.canShow );
-               },
-
-               selectDeactivate: function() {
-                       this.toggleDisabled();
-                       this.$el.addClass( 'hidden' );
-               },
-
-               render: function() {
-                       media.view.Button.prototype.render.apply( this, arguments );
-                       this.selectActivate();
-                       return this;
+       browseContent: function( contentRegion ) {
+               var state = this.state();
+
+               // Browse our library of attachments.
+               this.browserView = contentRegion.view = new wp.media.view.AttachmentsBrowser({
+                       controller: this,
+                       collection: state.get('library'),
+                       selection:  state.get('selection'),
+                       model:      state,
+                       sortable:   state.get('sortable'),
+                       search:     state.get('searchable'),
+                       filters:    state.get('filterable'),
+                       date:       state.get('date'),
+                       display:    state.get('displaySettings'),
+                       dragInfo:   state.get('dragInfo'),
+                       sidebar:    'errors',
+
+                       suggestedWidth:  state.get('suggestedWidth'),
+                       suggestedHeight: state.get('suggestedHeight'),
+
+                       AttachmentView: state.get('AttachmentView'),
+
+                       scrollElement: document
+               });
+               this.browserView.on( 'ready', _.bind( this.bindDeferred, this ) );
+
+               this.errors = wp.Uploader.errors;
+               this.errors.on( 'add remove reset', this.sidebarVisibility, this );
+       },
+
+       sidebarVisibility: function() {
+               this.browserView.$( '.media-sidebar' ).toggle( !! this.errors.length );
+       },
+
+       bindDeferred: function() {
+               if ( ! this.browserView.dfd ) {
+                       return;
                }
-       });
+               this.browserView.dfd.done( _.bind( this.startHistory, this ) );
+       },
+
+       startHistory: function() {
+               // Verify pushState support and activate
+               if ( window.history && window.history.pushState ) {
+                       Backbone.history.start( {
+                               root: window._wpMediaGridSettings.adminUrl,
+                               pushState: true
+                       } );
+               }
+       }
+});
+
+module.exports = Manage;
 
-}(jQuery, _, Backbone, wp));
+},{}]},{},[2]);
index 8f17c73e1d1dd3d1429853606f11aa97b577ceb9..a985a70ff7da85119804c1f9dbcfc4682dcc37d6 100644 (file)
@@ -1 +1 @@
-!function(a,b,c,d){var e,f=d.media;f.view.l10n?e=f.view.l10n:(e=f.view.l10n="undefined"==typeof _wpMediaViewsL10n?{}:_wpMediaViewsL10n,delete e.settings),f.controller.EditAttachmentMetadata=f.controller.State.extend({defaults:{id:"edit-attachment",title:e.attachmentDetails,content:"edit-metadata",menu:!1,toolbar:!1,router:!1}}),f.view.MediaFrame.Manage=f.view.MediaFrame.extend({initialize:function(){var c=this;b.defaults(this.options,{title:"",modal:!1,selection:[],library:{},multiple:"add",state:"library",uploader:!0,mode:["grid","edit"]}),this.$body=a(document.body),this.$window=a(window),this.$adminBar=a("#wpadminbar"),this.$window.on("scroll resize",b.debounce(b.bind(this.fixPosition,this),15)),a(document).on("click",".add-new-h2",b.bind(this.addNewClickHandler,this)),this.$el.addClass("wp-core-ui"),(d.Uploader.limitExceeded||!d.Uploader.browser.supported)&&(this.options.uploader=!1),this.options.uploader&&(this.uploader=new f.view.UploaderWindow({controller:this,uploader:{dropzone:document.body,container:document.body}}).render(),this.uploader.ready(),a("body").append(this.uploader.el),this.options.uploader=!1),this.gridRouter=new f.view.MediaFrame.Manage.Router,f.view.MediaFrame.prototype.initialize.apply(this,arguments),this.$el.appendTo(this.options.container),this.createStates(),this.bindRegionModeHandlers(),this.render(),a("#media-search-input").on("input",b.debounce(function(b){var d=a(b.currentTarget).val(),e="";d&&(e+="?search="+d),c.gridRouter.navigate(c.gridRouter.baseUrl(e))},1e3))},createStates:function(){var a=this.options;this.options.states||this.states.add([new f.controller.Library({library:f.query(a.library),multiple:a.multiple,title:a.title,content:"browse",toolbar:"select",contentUserSetting:!1,filterable:"all",autoSelect:!1})])},bindRegionModeHandlers:function(){this.on("content:create:browse",this.browseContent,this),this.on("edit:attachment",this.openEditAttachmentModal,this),this.on("select:activate",this.bindKeydown,this),this.on("select:deactivate",this.unbindKeydown,this)},handleKeydown:function(a){27===a.which&&(a.preventDefault(),this.deactivateMode("select").activateMode("edit"))},bindKeydown:function(){this.$body.on("keydown.select",b.bind(this.handleKeydown,this))},unbindKeydown:function(){this.$body.off("keydown.select")},fixPosition:function(){var a,b;this.isModeActive("select")&&(a=this.$(".attachments-browser"),b=a.find(".media-toolbar"),a.offset().top+16<this.$window.scrollTop()+this.$adminBar.height()?(a.addClass("fixed"),b.css("width",a.width()+"px")):(a.removeClass("fixed"),b.css("width","")))},addNewClickHandler:function(a){a.preventDefault(),this.trigger("toggle:upload:attachment")},openEditAttachmentModal:function(a){d.media({frame:"edit-attachments",controller:this,library:this.state().get("library"),model:a})},browseContent:function(a){var c=this.state();this.browserView=a.view=new f.view.AttachmentsBrowser({controller:this,collection:c.get("library"),selection:c.get("selection"),model:c,sortable:c.get("sortable"),search:c.get("searchable"),filters:c.get("filterable"),display:c.get("displaySettings"),dragInfo:c.get("dragInfo"),sidebar:"errors",suggestedWidth:c.get("suggestedWidth"),suggestedHeight:c.get("suggestedHeight"),AttachmentView:c.get("AttachmentView"),scrollElement:document}),this.browserView.on("ready",b.bind(this.bindDeferred,this)),this.errors=d.Uploader.errors,this.errors.on("add remove reset",this.sidebarVisibility,this)},sidebarVisibility:function(){this.browserView.$(".media-sidebar").toggle(!!this.errors.length)},bindDeferred:function(){this.browserView.dfd&&this.browserView.dfd.done(b.bind(this.startHistory,this))},startHistory:function(){window.history&&window.history.pushState&&c.history.start({root:_wpMediaGridSettings.adminUrl,pushState:!0})}}),f.view.Attachment.Details.TwoColumn=f.view.Attachment.Details.extend({template:f.template("attachment-details-two-column"),editAttachment:function(a){a.preventDefault(),this.controller.content.mode("edit-image")},toggleSelectionHandler:function(){},render:function(){f.view.Attachment.Details.prototype.render.apply(this,arguments),f.mixin.removeAllPlayers(),this.$("audio, video").each(function(a,b){var c=f.view.MediaDetails.prepareSrc(b);setTimeout(function(){new MediaElementPlayer(c,f.mixin.mejsSettings)},0)})}}),f.view.MediaFrame.Manage.Router=c.Router.extend({routes:{"upload.php?item=:slug":"showItem","upload.php?search=:query":"search"},baseUrl:function(a){return"upload.php"+a},search:function(b){a("#media-search-input").val(b).trigger("input")},showItem:function(a){var b,c=f.frame.state().get("library");b=c.findWhere({id:parseInt(a,10)}),b?f.frame.trigger("edit:attachment",b):(b=f.attachment(a),f.frame.listenTo(b,"change",function(a){f.frame.stopListening(b),f.frame.trigger("edit:attachment",a)}),b.fetch())}}),f.view.EditImage.Details=f.view.EditImage.extend({initialize:function(a){this.editor=window.imageEdit,this.frame=a.frame,this.controller=a.controller,f.View.prototype.initialize.apply(this,arguments)},back:function(){this.frame.content.mode("edit-metadata")},save:function(){var a=this;this.model.fetch().done(function(){a.frame.content.mode("edit-metadata")})}}),f.view.MediaFrame.EditAttachments=f.view.MediaFrame.extend({className:"edit-attachment-frame",template:f.template("edit-attachment-frame"),regions:["title","content"],events:{"click .left":"previousMediaItem","click .right":"nextMediaItem"},initialize:function(){f.view.Frame.prototype.initialize.apply(this,arguments),b.defaults(this.options,{modal:!0,state:"edit-attachment"}),this.controller=this.options.controller,this.gridRouter=this.controller.gridRouter,this.library=this.options.library,this.options.model&&(this.model=this.options.model),this.bindHandlers(),this.createStates(),this.createModal(),this.title.mode("default"),this.toggleNav()},bindHandlers:function(){this.on("title:create:default",this.createTitle,this),this.listenTo(this.model,"change:status destroy",this.close,this),this.on("content:create:edit-metadata",this.editMetadataMode,this),this.on("content:create:edit-image",this.editImageMode,this),this.on("content:render:edit-image",this.editImageModeRender,this),this.on("close",this.detach)},createModal:function(){var c=this;this.options.modal&&(this.modal=new f.view.Modal({controller:this,title:this.options.title}),this.modal.on("open",function(){a("body").on("keydown.media-modal",b.bind(c.keyEvent,c))}),this.modal.on("close",function(){c.modal.remove(),a("body").off("keydown.media-modal"),a('li.attachment[data-id="'+c.model.get("id")+'"]').focus(),c.resetRoute()}),this.modal.content(this),this.modal.open())},createStates:function(){this.states.add([new f.controller.EditAttachmentMetadata({model:this.model})])},editMetadataMode:function(a){a.view=new f.view.Attachment.Details.TwoColumn({controller:this,model:this.model}),a.view.views.set(".attachment-compat",new f.view.AttachmentCompat({controller:this,model:this.model})),this.model&&this.gridRouter.navigate(this.gridRouter.baseUrl("?item="+this.model.id))},editImageMode:function(a){var b=new f.controller.EditImage({model:this.model,frame:this});b._toolbar=function(){},b._router=function(){},b._menu=function(){},a.view=new f.view.EditImage.Details({model:this.model,frame:this,controller:b})},editImageModeRender:function(a){a.on("ready",a.loadEditor)},toggleNav:function(){this.$(".left").toggleClass("disabled",!this.hasPrevious()),this.$(".right").toggleClass("disabled",!this.hasNext())},rerender:function(){"edit-metadata"!==this.content.mode()?this.content.mode("edit-metadata"):this.content.render(),this.toggleNav()},previousMediaItem:function(){return this.hasPrevious()?(this.model=this.library.at(this.getCurrentIndex()-1),this.rerender(),void this.$(".left").focus()):void this.$(".left").blur()},nextMediaItem:function(){return this.hasNext()?(this.model=this.library.at(this.getCurrentIndex()+1),this.rerender(),void this.$(".right").focus()):void this.$(".right").blur()},getCurrentIndex:function(){return this.library.indexOf(this.model)},hasNext:function(){return this.getCurrentIndex()+1<this.library.length},hasPrevious:function(){return this.getCurrentIndex()-1>-1},keyEvent:function(a){("INPUT"!==a.target.nodeName&&"TEXTAREA"!==a.target.nodeName||a.target.readOnly||a.target.disabled)&&(39===a.keyCode&&this.nextMediaItem(),37===a.keyCode&&this.previousMediaItem())},resetRoute:function(){this.gridRouter.navigate(this.gridRouter.baseUrl(""))}}),f.view.SelectModeToggleButton=f.view.Button.extend({initialize:function(){f.view.Button.prototype.initialize.apply(this,arguments),this.listenTo(this.controller,"select:activate select:deactivate",this.toggleBulkEditHandler),this.listenTo(this.controller,"selection:action:done",this.back)},back:function(){this.controller.deactivateMode("select").activateMode("edit")},click:function(){f.view.Button.prototype.click.apply(this,arguments),this.controller.isModeActive("select")?this.back():this.controller.deactivateMode("edit").activateMode("select")},render:function(){return f.view.Button.prototype.render.apply(this,arguments),this.$el.addClass("select-mode-toggle-button"),this},toggleBulkEditHandler:function(){var a,b=this.controller.content.get().toolbar;a=b.$(".media-toolbar-secondary > *, .media-toolbar-primary > *"),this.controller.isModeActive("select")?(this.model.set("text",e.cancelSelection),a.not(".media-button").hide(),this.$el.show(),b.$(".delete-selected-button").removeClass("hidden")):(this.model.set("text",e.bulkSelect),this.controller.content.get().$el.removeClass("fixed"),b.$el.css("width",""),b.$(".delete-selected-button").addClass("hidden"),a.not(".spinner, .media-button").show(),this.controller.state().get("selection").reset())}}),f.view.DeleteSelectedButton=f.view.Button.extend({initialize:function(){f.view.Button.prototype.initialize.apply(this,arguments),this.options.filters&&this.listenTo(this.options.filters.model,"change",this.filterChange),this.listenTo(this.controller,"selection:toggle",this.toggleDisabled)},filterChange:function(a){"trash"===a.get("status")?this.model.set("text",e.untrashSelected):f.view.settings.mediaTrash?this.model.set("text",e.trashSelected):this.model.set("text",e.deleteSelected)},toggleDisabled:function(){this.model.set("disabled",!this.controller.state().get("selection").length)},render:function(){return f.view.Button.prototype.render.apply(this,arguments),this.$el.addClass(this.controller.isModeActive("select")?"delete-selected-button":"delete-selected-button hidden"),this.toggleDisabled(),this}}),f.view.DeleteSelectedPermanentlyButton=f.view.DeleteSelectedButton.extend({initialize:function(){f.view.DeleteSelectedButton.prototype.initialize.apply(this,arguments),this.listenTo(this.controller,"select:activate",this.selectActivate),this.listenTo(this.controller,"select:deactivate",this.selectDeactivate)},filterChange:function(a){this.canShow="trash"===a.get("status")},selectActivate:function(){this.toggleDisabled(),this.$el.toggleClass("hidden",!this.canShow)},selectDeactivate:function(){this.toggleDisabled(),this.$el.addClass("hidden")},render:function(){return f.view.Button.prototype.render.apply(this,arguments),this.selectActivate(),this}})}(jQuery,_,Backbone,wp);
\ No newline at end of file
+!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b){var c,d=wp.media.view.l10n;c=wp.media.controller.State.extend({defaults:{id:"edit-attachment",title:d.attachmentDetails,content:"edit-metadata",menu:!1,toolbar:!1,router:!1}}),b.exports=c},{}],2:[function(a){var b=wp.media;b.controller.EditAttachmentMetadata=a("./controllers/edit-attachment-metadata.js"),b.view.MediaFrame.Manage=a("./views/frame/manage.js"),b.view.Attachment.Details.TwoColumn=a("./views/attachment/details-two-column.js"),b.view.MediaFrame.Manage.Router=a("./routers/manage.js"),b.view.EditImage.Details=a("./views/edit-image-details.js"),b.view.MediaFrame.EditAttachments=a("./views/frame/edit-attachments.js"),b.view.SelectModeToggleButton=a("./views/button/select-mode-toggle.js"),b.view.DeleteSelectedButton=a("./views/button/delete-selected.js"),b.view.DeleteSelectedPermanentlyButton=a("./views/button/delete-selected-permanently.js")},{"./controllers/edit-attachment-metadata.js":1,"./routers/manage.js":3,"./views/attachment/details-two-column.js":4,"./views/button/delete-selected-permanently.js":5,"./views/button/delete-selected.js":6,"./views/button/select-mode-toggle.js":7,"./views/edit-image-details.js":8,"./views/frame/edit-attachments.js":9,"./views/frame/manage.js":10}],3:[function(a,b){var c=Backbone.Router.extend({routes:{"upload.php?item=:slug":"showItem","upload.php?search=:query":"search"},baseUrl:function(a){return"upload.php"+a},search:function(a){jQuery("#media-search-input").val(a).trigger("input")},showItem:function(a){var b,c=wp.media,d=c.frame.state().get("library");b=d.findWhere({id:parseInt(a,10)}),b?c.frame.trigger("edit:attachment",b):(b=c.attachment(a),c.frame.listenTo(b,"change",function(a){c.frame.stopListening(b),c.frame.trigger("edit:attachment",a)}),b.fetch())}});b.exports=c},{}],4:[function(a,b){var c,d=wp.media.view.Attachment.Details;c=d.extend({template:wp.template("attachment-details-two-column"),editAttachment:function(a){a.preventDefault(),this.controller.content.mode("edit-image")},toggleSelectionHandler:function(){},render:function(){d.prototype.render.apply(this,arguments),wp.media.mixin.removeAllPlayers(),this.$("audio, video").each(function(a,b){var c=wp.media.view.MediaDetails.prepareSrc(b);new window.MediaElementPlayer(c,wp.media.mixin.mejsSettings)})}}),b.exports=c},{}],5:[function(a,b){var c,d=wp.media.view.Button,e=wp.media.view.DeleteSelectedButton;c=e.extend({initialize:function(){e.prototype.initialize.apply(this,arguments),this.listenTo(this.controller,"select:activate",this.selectActivate),this.listenTo(this.controller,"select:deactivate",this.selectDeactivate)},filterChange:function(a){this.canShow="trash"===a.get("status")},selectActivate:function(){this.toggleDisabled(),this.$el.toggleClass("hidden",!this.canShow)},selectDeactivate:function(){this.toggleDisabled(),this.$el.addClass("hidden")},render:function(){return d.prototype.render.apply(this,arguments),this.selectActivate(),this}}),b.exports=c},{}],6:[function(a,b){var c,d=wp.media.view.Button,e=wp.media.view.l10n;c=d.extend({initialize:function(){d.prototype.initialize.apply(this,arguments),this.options.filters&&this.listenTo(this.options.filters.model,"change",this.filterChange),this.listenTo(this.controller,"selection:toggle",this.toggleDisabled)},filterChange:function(a){"trash"===a.get("status")?this.model.set("text",e.untrashSelected):wp.media.view.settings.mediaTrash?this.model.set("text",e.trashSelected):this.model.set("text",e.deleteSelected)},toggleDisabled:function(){this.model.set("disabled",!this.controller.state().get("selection").length)},render:function(){return d.prototype.render.apply(this,arguments),this.$el.addClass(this.controller.isModeActive("select")?"delete-selected-button":"delete-selected-button hidden"),this.toggleDisabled(),this}}),b.exports=c},{}],7:[function(a,b){var c,d=wp.media.view.Button,e=wp.media.view.l10n;c=d.extend({initialize:function(){d.prototype.initialize.apply(this,arguments),this.listenTo(this.controller,"select:activate select:deactivate",this.toggleBulkEditHandler),this.listenTo(this.controller,"selection:action:done",this.back)},back:function(){this.controller.deactivateMode("select").activateMode("edit")},click:function(){d.prototype.click.apply(this,arguments),this.controller.isModeActive("select")?this.back():this.controller.deactivateMode("edit").activateMode("select")},render:function(){return d.prototype.render.apply(this,arguments),this.$el.addClass("select-mode-toggle-button"),this},toggleBulkEditHandler:function(){var a,b=this.controller.content.get().toolbar;a=b.$(".media-toolbar-secondary > *, .media-toolbar-primary > *"),this.controller.isModeActive("select")?(this.model.set("text",e.cancelSelection),a.not(".media-button").hide(),this.$el.show(),b.$(".delete-selected-button").removeClass("hidden")):(this.model.set("text",e.bulkSelect),this.controller.content.get().$el.removeClass("fixed"),b.$el.css("width",""),b.$(".delete-selected-button").addClass("hidden"),a.not(".spinner, .media-button").show(),this.controller.state().get("selection").reset())}}),b.exports=c},{}],8:[function(a,b){var c,d=wp.media.View,e=wp.media.view.EditImage;c=e.extend({initialize:function(a){this.editor=window.imageEdit,this.frame=a.frame,this.controller=a.controller,d.prototype.initialize.apply(this,arguments)},back:function(){this.frame.content.mode("edit-metadata")},save:function(){this.model.fetch().done(_.bind(function(){this.frame.content.mode("edit-metadata")},this))}}),b.exports=c},{}],9:[function(a,b){var c,d=wp.media.view.Frame,e=wp.media.view.MediaFrame,f=jQuery;c=e.extend({className:"edit-attachment-frame",template:wp.template("edit-attachment-frame"),regions:["title","content"],events:{"click .left":"previousMediaItem","click .right":"nextMediaItem"},initialize:function(){d.prototype.initialize.apply(this,arguments),_.defaults(this.options,{modal:!0,state:"edit-attachment"}),this.controller=this.options.controller,this.gridRouter=this.controller.gridRouter,this.library=this.options.library,this.options.model&&(this.model=this.options.model),this.bindHandlers(),this.createStates(),this.createModal(),this.title.mode("default"),this.toggleNav()},bindHandlers:function(){this.on("title:create:default",this.createTitle,this),this.listenTo(this.model,"change:status destroy",this.close,this),this.on("content:create:edit-metadata",this.editMetadataMode,this),this.on("content:create:edit-image",this.editImageMode,this),this.on("content:render:edit-image",this.editImageModeRender,this),this.on("close",this.detach)},createModal:function(){this.options.modal&&(this.modal=new wp.media.view.Modal({controller:this,title:this.options.title}),this.modal.on("open",_.bind(function(){f("body").on("keydown.media-modal",_.bind(this.keyEvent,this))},this)),this.modal.on("close",_.bind(function(){this.modal.remove(),f("body").off("keydown.media-modal"),f('li.attachment[data-id="'+this.model.get("id")+'"]').focus(),this.resetRoute()},this)),this.modal.content(this),this.modal.open())},createStates:function(){this.states.add([new wp.media.controller.EditAttachmentMetadata({model:this.model})])},editMetadataMode:function(a){a.view=new wp.media.view.Attachment.Details.TwoColumn({controller:this,model:this.model}),a.view.views.set(".attachment-compat",new wp.media.view.AttachmentCompat({controller:this,model:this.model})),this.model&&this.gridRouter.navigate(this.gridRouter.baseUrl("?item="+this.model.id))},editImageMode:function(a){var b=new wp.media.controller.EditImage({model:this.model,frame:this});b._toolbar=function(){},b._router=function(){},b._menu=function(){},a.view=new wp.media.view.EditImage.Details({model:this.model,frame:this,controller:b})},editImageModeRender:function(a){a.on("ready",a.loadEditor)},toggleNav:function(){this.$(".left").toggleClass("disabled",!this.hasPrevious()),this.$(".right").toggleClass("disabled",!this.hasNext())},rerender:function(){"edit-metadata"!==this.content.mode()?this.content.mode("edit-metadata"):this.content.render(),this.toggleNav()},previousMediaItem:function(){return this.hasPrevious()?(this.model=this.library.at(this.getCurrentIndex()-1),this.rerender(),void this.$(".left").focus()):void this.$(".left").blur()},nextMediaItem:function(){return this.hasNext()?(this.model=this.library.at(this.getCurrentIndex()+1),this.rerender(),void this.$(".right").focus()):void this.$(".right").blur()},getCurrentIndex:function(){return this.library.indexOf(this.model)},hasNext:function(){return this.getCurrentIndex()+1<this.library.length},hasPrevious:function(){return this.getCurrentIndex()-1>-1},keyEvent:function(a){("INPUT"!==a.target.nodeName&&"TEXTAREA"!==a.target.nodeName||a.target.readOnly||a.target.disabled)&&(39===a.keyCode&&this.nextMediaItem(),37===a.keyCode&&this.previousMediaItem())},resetRoute:function(){this.gridRouter.navigate(this.gridRouter.baseUrl(""))}}),b.exports=c},{}],10:[function(a,b){var c,d=wp.media.view.MediaFrame,e=wp.media.controller.Library,f=Backbone.$;c=d.extend({initialize:function(){_.defaults(this.options,{title:"",modal:!1,selection:[],library:{},multiple:"add",state:"library",uploader:!0,mode:["grid","edit"]}),this.$body=f(document.body),this.$window=f(window),this.$adminBar=f("#wpadminbar"),this.$window.on("scroll resize",_.debounce(_.bind(this.fixPosition,this),15)),f(document).on("click",".add-new-h2",_.bind(this.addNewClickHandler,this)),this.$el.addClass("wp-core-ui"),(wp.Uploader.limitExceeded||!wp.Uploader.browser.supported)&&(this.options.uploader=!1),this.options.uploader&&(this.uploader=new wp.media.view.UploaderWindow({controller:this,uploader:{dropzone:document.body,container:document.body}}).render(),this.uploader.ready(),f("body").append(this.uploader.el),this.options.uploader=!1),this.gridRouter=new wp.media.view.MediaFrame.Manage.Router,d.prototype.initialize.apply(this,arguments),this.$el.appendTo(this.options.container),this.createStates(),this.bindRegionModeHandlers(),this.render(),this.bindSearchHandler()},bindSearchHandler:function(){var a=this.$("#media-search-input"),b=this.options.container.data("search"),c=this.browserView.toolbar.get("search").$el,d=this.$(".view-list"),e=_.debounce(function(a){var b=f(a.currentTarget).val(),c="";b&&(c+="?search="+b),this.gridRouter.navigate(this.gridRouter.baseUrl(c))},1e3);a.on("input",_.bind(e,this)),c.val(b).trigger("input"),this.gridRouter.on("route:search",function(){var a=window.location.href;a.indexOf("mode=")>-1?a=a.replace(/mode=[^&]+/g,"mode=list"):a+=a.indexOf("?")>-1?"&mode=list":"?mode=list",a=a.replace("search=","s="),d.prop("href",a)})},createStates:function(){var a=this.options;this.options.states||this.states.add([new e({library:wp.media.query(a.library),multiple:a.multiple,title:a.title,content:"browse",toolbar:"select",contentUserSetting:!1,filterable:"all",autoSelect:!1})])},bindRegionModeHandlers:function(){this.on("content:create:browse",this.browseContent,this),this.on("edit:attachment",this.openEditAttachmentModal,this),this.on("select:activate",this.bindKeydown,this),this.on("select:deactivate",this.unbindKeydown,this)},handleKeydown:function(a){27===a.which&&(a.preventDefault(),this.deactivateMode("select").activateMode("edit"))},bindKeydown:function(){this.$body.on("keydown.select",_.bind(this.handleKeydown,this))},unbindKeydown:function(){this.$body.off("keydown.select")},fixPosition:function(){var a,b;this.isModeActive("select")&&(a=this.$(".attachments-browser"),b=a.find(".media-toolbar"),a.offset().top+16<this.$window.scrollTop()+this.$adminBar.height()?(a.addClass("fixed"),b.css("width",a.width()+"px")):(a.removeClass("fixed"),b.css("width","")))},addNewClickHandler:function(a){a.preventDefault(),this.trigger("toggle:upload:attachment")},openEditAttachmentModal:function(a){wp.media({frame:"edit-attachments",controller:this,library:this.state().get("library"),model:a})},browseContent:function(a){var b=this.state();this.browserView=a.view=new wp.media.view.AttachmentsBrowser({controller:this,collection:b.get("library"),selection:b.get("selection"),model:b,sortable:b.get("sortable"),search:b.get("searchable"),filters:b.get("filterable"),date:b.get("date"),display:b.get("displaySettings"),dragInfo:b.get("dragInfo"),sidebar:"errors",suggestedWidth:b.get("suggestedWidth"),suggestedHeight:b.get("suggestedHeight"),AttachmentView:b.get("AttachmentView"),scrollElement:document}),this.browserView.on("ready",_.bind(this.bindDeferred,this)),this.errors=wp.Uploader.errors,this.errors.on("add remove reset",this.sidebarVisibility,this)},sidebarVisibility:function(){this.browserView.$(".media-sidebar").toggle(!!this.errors.length)},bindDeferred:function(){this.browserView.dfd&&this.browserView.dfd.done(_.bind(this.startHistory,this))},startHistory:function(){window.history&&window.history.pushState&&Backbone.history.start({root:window._wpMediaGridSettings.adminUrl,pushState:!0})}}),b.exports=c},{}]},{},[2]);
\ No newline at end of file
index 84bb02fa05c57cccc75d6a9353daa5ecef65ddc7..4bc7f61c6538a7c7712c90392769c28d7a1889e6 100644 (file)
-/* global _wpMediaModelsL10n:false */
+(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
+/*globals wp, _, jQuery */
+
+var $ = jQuery,
+       Attachment, Attachments, l10n, media;
+
 window.wp = window.wp || {};
 
-(function($){
-       var Attachment, Attachments, Query, PostImage, compare, l10n, media;
+/**
+ * Create and return a media frame.
+ *
+ * Handles the default media experience.
+ *
+ * @param  {object} attributes The properties passed to the main media controller.
+ * @return {wp.media.view.MediaFrame} A media workflow.
+ */
+media = wp.media = function( attributes ) {
+       var MediaFrame = media.view.MediaFrame,
+               frame;
+
+       if ( ! MediaFrame ) {
+               return;
+       }
+
+       attributes = _.defaults( attributes || {}, {
+               frame: 'select'
+       });
 
+       if ( 'select' === attributes.frame && MediaFrame.Select ) {
+               frame = new MediaFrame.Select( attributes );
+       } else if ( 'post' === attributes.frame && MediaFrame.Post ) {
+               frame = new MediaFrame.Post( attributes );
+       } else if ( 'manage' === attributes.frame && MediaFrame.Manage ) {
+               frame = new MediaFrame.Manage( 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 );
+       } else if ( 'edit-attachments' === attributes.frame && MediaFrame.EditAttachments ) {
+               frame = new MediaFrame.EditAttachments( attributes );
+       }
+
+       delete attributes.frame;
+
+       media.frame = frame;
+
+       return frame;
+};
+
+_.extend( media, { model: {}, view: {}, controller: {}, frames: {} });
+
+// Link any localized strings.
+l10n = media.model.l10n = window._wpMediaModelsL10n || {};
+
+// Link any settings.
+media.model.settings = l10n.settings || {};
+delete l10n.settings;
+
+Attachment = media.model.Attachment = require( './models/attachment.js' );
+Attachments = media.model.Attachments = require( './models/attachments.js' );
+
+media.model.Query = require( './models/query.js' );
+media.model.PostImage = require( './models/post-image.js' );
+media.model.Selection = require( './models/selection.js' );
+
+/**
+ * ========================================================================
+ * UTILITIES
+ * ========================================================================
+ */
+
+/**
+ * A basic equality comparator for Backbone models.
+ *
+ * Used to order models within a collection - @see wp.media.model.Attachments.comparator().
+ *
+ * @param  {mixed}  a  The primary parameter to compare.
+ * @param  {mixed}  b  The primary parameter to compare.
+ * @param  {string} ac The fallback parameter to compare, a's cid.
+ * @param  {string} bc The fallback parameter to compare, b's cid.
+ * @return {number}    -1: a should come before b.
+ *                      0: a and b are of the same rank.
+ *                      1: b should come before a.
+ */
+media.compare = function( a, b, ac, bc ) {
+       if ( _.isEqual( a, b ) ) {
+               return ac === bc ? 0 : (ac > bc ? -1 : 1);
+       } else {
+               return a > b ? -1 : 1;
+       }
+};
+
+_.extend( media, {
        /**
-        * Create and return a media frame.
+        * media.template( id )
         *
-        * Handles the default media experience.
+        * Fetch a JavaScript template for an id, and return a templating function for it.
         *
-        * @param  {object} attributes The properties passed to the main media controller.
-        * @return {wp.media.view.MediaFrame} A media workflow.
+        * See wp.template() in `wp-includes/js/wp-util.js`.
+        *
+        * @borrows wp.template as template
         */
-       media = wp.media = function( attributes ) {
-               var MediaFrame = media.view.MediaFrame,
-                       frame;
-
-               if ( ! MediaFrame ) {
-                       return;
-               }
-
-               attributes = _.defaults( attributes || {}, {
-                       frame: 'select'
-               });
-
-               if ( 'select' === attributes.frame && MediaFrame.Select ) {
-                       frame = new MediaFrame.Select( attributes );
-               } else if ( 'post' === attributes.frame && MediaFrame.Post ) {
-                       frame = new MediaFrame.Post( attributes );
-               } else if ( 'manage' === attributes.frame && MediaFrame.Manage ) {
-                       frame = new MediaFrame.Manage( 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 );
-               } else if ( 'edit-attachments' === attributes.frame && MediaFrame.EditAttachments ) {
-                       frame = new MediaFrame.EditAttachments( attributes );
-               }
-
-               delete attributes.frame;
-
-               media.frame = frame;
-
-               return frame;
-       };
-
-       _.extend( media, { model: {}, view: {}, controller: {}, frames: {} });
-
-       // Link any localized strings.
-       l10n = media.model.l10n = typeof _wpMediaModelsL10n === 'undefined' ? {} : _wpMediaModelsL10n;
-
-       // Link any settings.
-       media.model.settings = l10n.settings || {};
-       delete l10n.settings;
+       template: wp.template,
 
        /**
-        * ========================================================================
-        * UTILITIES
-        * ========================================================================
+        * media.post( [action], [data] )
+        *
+        * 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,
 
        /**
-        * A basic equality comparator for Backbone models.
+        * media.ajax( [action], [options] )
         *
-        * Used to order models within a collection - @see wp.media.model.Attachments.comparator().
+        * Sends an XHR request to WordPress.
+        * See wp.ajax.send() in `wp-includes/js/wp-util.js`.
         *
-        * @param  {mixed}  a  The primary parameter to compare.
-        * @param  {mixed}  b  The primary parameter to compare.
-        * @param  {string} ac The fallback parameter to compare, a's cid.
-        * @param  {string} bc The fallback parameter to compare, b's cid.
-        * @return {number}    -1: a should come before b.
-        *                      0: a and b are of the same rank.
-        *                      1: b should come before a.
+        * @borrows wp.ajax.send as ajax
         */
-       compare = function( a, b, ac, bc ) {
-               if ( _.isEqual( a, b ) ) {
-                       return ac === bc ? 0 : (ac > bc ? -1 : 1);
-               } else {
-                       return a > b ? -1 : 1;
-               }
-       };
-
-       _.extend( media, {
-               /**
-                * media.template( id )
-                *
-                * Fetch a JavaScript template for an id, and return a templating function for it.
-                *
-                * See wp.template() in `wp-includes/js/wp-util.js`.
-                *
-                * @borrows wp.template as template
-                */
-               template: wp.template,
-
-               /**
-                * media.post( [action], [data] )
-                *
-                * 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,
-
-               /**
-                * media.ajax( [action], [options] )
-                *
-                * 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.
-                *
-                * @param {Object} dimensions
-                * @returns {Object}
-                */
-               fit: function( dimensions ) {
-                       var width     = dimensions.width,
-                               height    = dimensions.height,
-                               maxWidth  = dimensions.maxWidth,
-                               maxHeight = dimensions.maxHeight,
-                               constraint;
-
-                       // Compare ratios between the two values to determine which
-                       // max to constrain by. If a max value doesn't exist, then the
-                       // opposite side is the constraint.
-                       if ( ! _.isUndefined( maxWidth ) && ! _.isUndefined( maxHeight ) ) {
-                               constraint = ( width / height > maxWidth / maxHeight ) ? 'width' : 'height';
-                       } else if ( _.isUndefined( maxHeight ) ) {
-                               constraint = 'width';
-                       } else if (  _.isUndefined( maxWidth ) && height > maxHeight ) {
-                               constraint = 'height';
-                       }
-
-                       // If the value of the constrained side is larger than the max,
-                       // then scale the values. Otherwise return the originals; they fit.
-                       if ( 'width' === constraint && width > maxWidth ) {
-                               return {
-                                       width : maxWidth,
-                                       height: Math.round( maxWidth * height / width )
-                               };
-                       } else if ( 'height' === constraint && height > maxHeight ) {
-                               return {
-                                       width : Math.round( maxHeight * width / height ),
-                                       height: maxHeight
-                               };
-                       } else {
-                               return {
-                                       width : width,
-                                       height: height
-                               };
-                       }
-               },
-               /**
-                * 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 ) {
-                               return string;
-                       }
-
-                       return string.substr( 0, length / 2 ) + replacement + string.substr( -1 * length / 2 );
-               }
-       });
+       ajax: wp.ajax.send,
 
        /**
-        * ========================================================================
-        * MODELS
-        * ========================================================================
+        * 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,
+                       maxWidth  = dimensions.maxWidth,
+                       maxHeight = dimensions.maxHeight,
+                       constraint;
+
+               // Compare ratios between the two values to determine which
+               // max to constrain by. If a max value doesn't exist, then the
+               // opposite side is the constraint.
+               if ( ! _.isUndefined( maxWidth ) && ! _.isUndefined( maxHeight ) ) {
+                       constraint = ( width / height > maxWidth / maxHeight ) ? 'width' : 'height';
+               } else if ( _.isUndefined( maxHeight ) ) {
+                       constraint = 'width';
+               } else if (  _.isUndefined( maxWidth ) && height > maxHeight ) {
+                       constraint = 'height';
+               }
+
+               // If the value of the constrained side is larger than the max,
+               // then scale the values. Otherwise return the originals; they fit.
+               if ( 'width' === constraint && width > maxWidth ) {
+                       return {
+                               width : maxWidth,
+                               height: Math.round( maxWidth * height / width )
+                       };
+               } else if ( 'height' === constraint && height > maxHeight ) {
+                       return {
+                               width : Math.round( maxHeight * width / height ),
+                               height: maxHeight
+                       };
+               } else {
+                       return {
+                               width : width,
+                               height: height
+                       };
+               }
+       },
        /**
-        * wp.media.attachment
+        * Truncates a string by injecting an ellipsis into the middle.
+        * Useful for filenames.
         *
-        * @static
-        * @param {String} id A string used to identify a model.
-        * @returns {wp.media.model.Attachment}
+        * @param {String} string
+        * @param {Number} [length=30]
+        * @param {String} [replacement=&hellip;]
+        * @returns {String} The string, unless length is greater than string.length.
         */
-       media.attachment = function( id ) {
-               return Attachment.get( id );
-       };
+       truncate: function( string, length, replacement ) {
+               length = length || 30;
+               replacement = replacement || '&hellip;';
 
+               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 );
+};
+
+/**
+ * A collection of all attachments that have been fetched from the server.
+ *
+ * @static
+ * @member {wp.media.model.Attachments}
+ */
+Attachments.all = new Attachments();
+
+/**
+ * wp.media.query
+ *
+ * Shorthand for creating a new Attachments Query.
+ *
+ * @param {object} [props]
+ * @returns {wp.media.model.Attachments}
+ */
+media.query = function( props ) {
+       return new Attachments( null, {
+               props: _.extend( _.defaults( props || {}, { orderby: 'date' } ), { query: true } )
+       });
+};
+
+// Clean up. Prevents mobile browsers caching
+$(window).on('unload', function(){
+       window.wp = null;
+});
+
+},{"./models/attachment.js":2,"./models/attachments.js":3,"./models/post-image.js":4,"./models/query.js":5,"./models/selection.js":6}],2:[function(require,module,exports){
+/*globals wp, _, Backbone */
+
+/**
+ * wp.media.model.Attachment
+ *
+ * @class
+ * @augments Backbone.Model
+ */
+var $ = Backbone.$,
+       Attachment;
+
+Attachment = Backbone.Model.extend({
        /**
-        * wp.media.model.Attachment
+        * Triggered when attachment details change
+        * Overrides Backbone.Model.sync
         *
-        * @class
-        * @augments Backbone.Model
+        * @param {string} method
+        * @param {wp.media.model.Attachment} model
+        * @param {Object} [options={}]
+        *
+        * @returns {Promise}
         */
-       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 ) ) {
-                               return $.Deferred().rejectWith( this ).promise();
-                       }
-
-                       // Overload the `read` request so Attachment.fetch() functions correctly.
-                       if ( 'read' === method ) {
-                               options = options || {};
-                               options.context = this;
-                               options.data = _.extend( options.data || {}, {
-                                       action: 'get-attachment',
-                                       id: this.id
-                               });
-                               return media.ajax( options );
+       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 ) ) {
+                       return $.Deferred().rejectWith( this ).promise();
+               }
 
-                       // 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 ) {
-                                       return $.Deferred().rejectWith( this ).promise();
-                               }
+               // Overload the `read` request so Attachment.fetch() functions correctly.
+               if ( 'read' === method ) {
+                       options = options || {};
+                       options.context = this;
+                       options.data = _.extend( options.data || {}, {
+                               action: 'get-attachment',
+                               id: this.id
+                       });
+                       return wp.media.ajax( options );
 
-                               options = options || {};
-                               options.context = this;
+               // 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 ) {
+                               return $.Deferred().rejectWith( this ).promise();
+                       }
 
-                               // Set the action and ID.
-                               options.data = _.extend( options.data || {}, {
-                                       action:  'save-attachment',
-                                       id:      this.id,
-                                       nonce:   this.get('nonces').update,
-                                       post_id: media.model.settings.post.id
-                               });
+                       options = options || {};
+                       options.context = this;
 
-                               // Record the values of the changed attributes.
-                               if ( model.hasChanged() ) {
-                                       options.data.changes = {};
+                       // Set the action and ID.
+                       options.data = _.extend( options.data || {}, {
+                               action:  'save-attachment',
+                               id:      this.id,
+                               nonce:   this.get('nonces').update,
+                               post_id: wp.media.model.settings.post.id
+                       });
 
-                                       _.each( model.changed, function( value, key ) {
-                                               options.data.changes[ key ] = this.get( key );
-                                       }, this );
-                               }
+                       // Record the values of the changed attributes.
+                       if ( model.hasChanged() ) {
+                               options.data.changes = {};
 
-                               return media.ajax( options );
+                               _.each( model.changed, function( value, key ) {
+                                       options.data.changes[ key ] = this.get( key );
+                               }, this );
+                       }
 
-                       // Overload the `delete` request so attachments can be removed.
-                       // This will permanently delete an attachment.
-                       } else if ( 'delete' === method ) {
-                               options = options || {};
+                       return wp.media.ajax( options );
 
-                               if ( ! options.wait ) {
-                                       this.destroyed = true;
-                               }
+               // Overload the `delete` request so attachments can be removed.
+               // This will permanently delete an attachment.
+               } else if ( 'delete' === method ) {
+                       options = options || {};
 
-                               options.context = this;
-                               options.data = _.extend( options.data || {}, {
-                                       action:   'delete-post',
-                                       id:       this.id,
-                                       _wpnonce: this.get('nonces')['delete']
-                               });
+                       if ( ! options.wait ) {
+                               this.destroyed = true;
+                       }
 
-                               return media.ajax( options ).done( function() {
-                                       this.destroyed = true;
-                               }).fail( function() {
-                                       this.destroyed = false;
-                               });
+                       options.context = this;
+                       options.data = _.extend( options.data || {}, {
+                               action:   'delete-post',
+                               id:       this.id,
+                               _wpnonce: this.get('nonces')['delete']
+                       });
 
-                       // 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 ) {
-                               return resp;
-                       }
+                       return wp.media.ajax( options ).done( function() {
+                               this.destroyed = true;
+                       }).fail( function() {
+                               this.destroyed = false;
+                       });
 
-                       resp.date = new Date( resp.date );
-                       resp.modified = new Date( resp.modified );
+               // 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 ) {
                        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 ) {
-                               return $.Deferred().rejectWith( this ).promise();
-                       }
+               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;
 
-                       return media.post( 'save-attachment-compat', _.defaults({
-                               id:      this.id,
-                               nonce:   this.get('nonces').update,
-                               post_id: media.model.settings.post.id
-                       }, data ) ).done( function( resp, status, xhr ) {
-                               model.set( model.parse( resp, xhr ), options );
-                       });
+               // If we do not have the necessary nonce, fail immeditately.
+               if ( ! this.get('nonces') || ! this.get('nonces').update ) {
+                       return $.Deferred().rejectWith( this ).promise();
                }
-       }, {
-               /**
-                * Create a new model on the static 'all' attachments collection and return it.
-                *
-                * @static
-                * @param {Object} attrs
-                * @returns {wp.media.model.Attachment}
-                */
-               create: function( attrs ) {
-                       return Attachments.all.push( attrs );
-               },
-               /**
-                * Create a new model on the static 'all' attachments collection and return it.
-                *
-                * If this function has already been called for the id,
-                * it returns the specified attachment.
-                *
-                * @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 } );
-               })
-       });
 
+               return wp.media.post( 'save-attachment-compat', _.defaults({
+                       id:      this.id,
+                       nonce:   this.get('nonces').update,
+                       post_id: wp.media.model.settings.post.id
+               }, data ) ).done( function( resp, status, xhr ) {
+                       model.set( model.parse( resp, xhr ), options );
+               });
+       }
+}, {
        /**
-        * wp.media.model.PostImage
-        *
-        * An instance of an image that's been embedded into a post.
+        * Create a new model on the static 'all' attachments collection and return it.
         *
-        * Used in the embedded image attachment display settings modal - @see wp.media.view.MediaFrame.ImageDetails.
+        * @static
+        * @param {Object} attrs
+        * @returns {wp.media.model.Attachment}
+        */
+       create: function( attrs ) {
+               var Attachments = wp.media.model.Attachments;
+               return Attachments.all.push( attrs );
+       },
+       /**
+        * Create a new model on the static 'all' attachments collection and return it.
         *
-        * @class
-        * @augments Backbone.Model
+        * If this function has already been called for the id,
+        * it returns the specified attachment.
         *
-        * @param {int} [attributes]               Initial model attributes.
-        * @param {int} [attributes.attachment_id] ID of the attachment.
-        **/
-       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();
-                       }
+        * @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 ) {
+               var Attachments = wp.media.model.Attachments;
+               return Attachments.all.push( attachment || { id: id } );
+       })
+});
+
+module.exports = Attachment;
+
+},{}],3:[function(require,module,exports){
+/*globals wp, _, Backbone */
+
+/**
+ * wp.media.model.Attachments
+ *
+ * A collection of attachments.
+ *
+ * This collection has no persistence with the server without supplying
+ * 'options.props.query = true', which will mirror the collection
+ * to an Attachments Query collection - @see wp.media.model.Attachments.mirror().
+ *
+ * @class
+ * @augments Backbone.Collection
+ *
+ * @param {array}  [models]                Models to initialize with the collection.
+ * @param {object} [options]               Options hash for the collection.
+ * @param {string} [options.props]         Options hash for the initial query properties.
+ * @param {string} [options.props.order]   Initial order (ASC or DESC) for the collection.
+ * @param {string} [options.props.orderby] Initial attribute key to order the collection by.
+ * @param {string} [options.props.query]   Whether the collection is linked to an attachments query.
+ * @param {string} [options.observe]
+ * @param {string} [options.filters]
+ *
+ */
+var Attachments = Backbone.Collection.extend({
+       /**
+        * @type {wp.media.model.Attachment}
+        */
+       model: wp.media.model.Attachment,
+       /**
+        * @param {Array} [models=[]] Array of models used to populate the collection.
+        * @param {Object} [options={}]
+        */
+       initialize: function( models, options ) {
+               options = options || {};
 
-                       // 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.props   = new Backbone.Model();
+               this.filters = options.filters || {};
 
-                       this.setLinkTypeFromUrl();
-                       this.setAspectRatio();
+               // Bind default `change` events to the `props` model.
+               this.props.on( 'change', this._changeFilteredProps, this );
 
-                       this.set( 'originalUrl', attributes.url );
-               },
+               this.props.on( 'change:order',   this._changeOrder,   this );
+               this.props.on( 'change:orderby', this._changeOrderby, this );
+               this.props.on( 'change:query',   this._changeQuery,   this );
 
-               bindAttachmentListeners: function() {
-                       this.listenTo( this.attachment, 'sync', this.setLinkTypeFromUrl );
-                       this.listenTo( this.attachment, 'sync', this.setAspectRatio );
-                       this.listenTo( this.attachment, 'change', this.updateSize );
-               },
+               this.props.set( _.defaults( options.props || {} ) );
 
-               changeAttachment: function( attachment, props ) {
-                       this.stopListening( this.attachment );
-                       this.attachment = attachment;
-                       this.bindAttachmentListeners();
+               if ( options.observe ) {
+                       this.observe( options.observe );
+               }
+       },
+       /**
+        * Sort the collection when the order attribute changes.
+        *
+        * @access private
+        */
+       _changeOrder: function() {
+               if ( this.comparator ) {
+                       this.sort();
+               }
+       },
+       /**
+        * 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 ) {
+                       return;
+               }
 
-                       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();
-               },
+               if ( orderby && 'post__in' !== orderby ) {
+                       this.comparator = Attachments.comparator;
+               } 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.
+        *
+        * @access private
+        *
+        * @param {Backbone.Model} model
+        * @param {Boolean} query
+        */
+       _changeQuery: function( model, query ) {
+               if ( query ) {
+                       this.props.on( 'change', this._requery, this );
+                       this._requery();
+               } else {
+                       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') ) {
+                       return;
+               }
 
-               setLinkTypeFromUrl: function() {
-                       var linkUrl = this.get( 'linkUrl' ),
-                               type;
+               var changed = _.chain( model.changed ).map( function( t, prop ) {
+                       var filter = Attachments.filters[ prop ],
+                               term = model.get( prop );
 
-                       if ( ! linkUrl ) {
-                               this.set( 'link', 'none' );
+                       if ( ! filter ) {
                                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';
-                               }
+                       if ( term && ! this.filters[ prop ] ) {
+                               this.filters[ prop ] = filter;
+                       } else if ( ! term && this.filters[ prop ] === filter ) {
+                               delete this.filters[ prop ];
                        } 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;
+                               return;
                        }
-               },
 
-               updateSize: function() {
-                       var size;
+                       // Record the change.
+                       return true;
+               }, this ).any().value();
 
-                       if ( ! this.attachment ) {
-                               return;
-                       }
+               if ( ! changed ) {
+                       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;
-                       }
+               // If no `Attachments` model is provided to source the searches
+               // from, then automatically generate a source from the existing
+               // models.
+               if ( ! this._source ) {
+                       this._source = new Attachments( this.models );
+               }
 
-                       size = this.attachment.get( 'sizes' )[ this.get( 'size' ) ];
+               this.reset( this._source.filter( this.validator, this ) );
+       },
 
-                       if ( ! size ) {
-                               return;
-                       }
+       validateDestroyed: false,
+       /**
+        * Checks whether an attachment is valid.
+        *
+        * @param {wp.media.model.Attachment} attachment
+        * @returns {Boolean}
+        */
+       validator: function( attachment ) {
+               if ( ! this.validateDestroyed && attachment.destroyed ) {
+                       return false;
+               }
+               return _.all( this.filters, function( filter ) {
+                       return !! filter.call( this, attachment );
+               }, this );
+       },
+       /**
+        * Add or remove an attachment to the collection depending on its validity.
+        *
+        * @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 ) {
+                       this.remove( attachment, options );
+               } else if ( valid && ! hasAttachment ) {
+                       this.add( attachment, options );
+               }
 
-                       this.set( 'url', size.url );
-                       this.set( 'width', size.width );
-                       this.set( 'height', size.height );
-               },
+               return this;
+       },
 
-               setAspectRatio: function() {
-                       var full;
+       /**
+        * Add or remove all attachments from another collection depending on each one's validity.
+        *
+        * @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 || {};
 
-                       if ( this.attachment && this.attachment.get( 'sizes' ) ) {
-                               full = this.attachment.get( 'sizes' ).full;
+               _.each( attachments.models, function( attachment ) {
+                       this.validate( attachment, { silent: true });
+               }, this );
 
-                               if ( full ) {
-                                       this.set( 'aspectRatio', full.width / full.height );
-                                       return;
-                               }
-                       }
+               if ( ! options.silent ) {
+                       this.trigger( 'reset', this, options );
+               }
+               return this;
+       },
+       /**
+        * Start observing another attachments collection change events
+        * and replicate them on this collection.
+        *
+        * @param {wp.media.model.Attachments} The attachments collection to observe.
+        * @returns {wp.media.model.Attachments} Returns itself to allow chaining.
+        */
+       observe: function( attachments ) {
+               this.observers = this.observers || [];
+               this.observers.push( attachments );
+
+               attachments.on( 'add change remove', this._validateHandler, this );
+               attachments.on( 'reset', this._validateAllHandler, this );
+               this.validateAll( attachments );
+               return this;
+       },
+       /**
+        * Stop replicating collection change events from another attachments collection.
+        *
+        * @param {wp.media.model.Attachments} The attachments collection to stop observing.
+        * @returns {wp.media.model.Attachments} Returns itself to allow chaining
+        */
+       unobserve: function( attachments ) {
+               if ( attachments ) {
+                       attachments.off( null, null, this );
+                       this.observers = _.without( this.observers, attachments );
 
-                       this.set( 'aspectRatio', this.get( 'customWidth' ) / this.get( 'customHeight' ) );
+               } else {
+                       _.each( this.observers, function( attachments ) {
+                               attachments.off( null, null, this );
+                       }, this );
+                       delete this.observers;
                }
-       });
 
+               return this;
+       },
        /**
-        * wp.media.model.Attachments
-        *
-        * A collection of attachments.
+        * @access private
         *
-        * This collection has no persistence with the server without supplying
-        * 'options.props.query = true', which will mirror the collection
-        * to an Attachments Query collection - @see wp.media.model.Attachments.mirror().
+        * @param {wp.media.model.Attachments} attachment
+        * @param {wp.media.model.Attachments} attachments
+        * @param {Object} options
         *
-        * @class
-        * @augments Backbone.Collection
+        * @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.
+               options = attachments === this.mirroring ? options : {
+                       silent: options && options.silent
+               };
+
+               return this.validate( attachment, options );
+       },
+       /**
+        * @access private
         *
-        * @param {array}  [models]                Models to initialize with the collection.
-        * @param {object} [options]               Options hash for the collection.
-        * @param {string} [options.props]         Options hash for the initial query properties.
-        * @param {string} [options.props.order]   Initial order (ASC or DESC) for the collection.
-        * @param {string} [options.props.orderby] Initial attribute key to order the collection by.
-        * @param {string} [options.props.query]   Whether the collection is linked to an attachments query.
-        * @param {string} [options.observe]
-        * @param {string} [options.filters]
+        * @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 );
+       },
+       /**
+        * Start mirroring another attachments collection, clearing out any models already
+        * in the collection.
         *
+        * @param {wp.media.model.Attachments} The attachments collection to mirror.
+        * @returns {wp.media.model.Attachments} Returns itself to allow chaining
         */
-       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 || {};
-
-                       this.props   = new Backbone.Model();
-                       this.filters = options.filters || {};
-
-                       // Bind default `change` events to the `props` model.
-                       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( options.props || {} ) );
-
-                       if ( options.observe ) {
-                               this.observe( options.observe );
-                       }
-               },
-               /**
-                * Sort the collection when the order attribute changes.
-                *
-                * @access private
-                */
-               _changeOrder: function() {
-                       if ( this.comparator ) {
-                               this.sort();
-                       }
-               },
-               /**
-                * 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 ) {
-                               return;
-                       }
-
-                       if ( orderby && 'post__in' !== orderby ) {
-                               this.comparator = Attachments.comparator;
-                       } 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.
-                *
-                * @access private
-                *
-                * @param {Backbone.Model} model
-                * @param {Boolean} query
-                */
-               _changeQuery: function( model, query ) {
-                       if ( query ) {
-                               this.props.on( 'change', this._requery, this );
-                               this._requery();
-                       } else {
-                               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') ) {
-                               return;
-                       }
-
-                       var changed = _.chain( model.changed ).map( function( t, prop ) {
-                               var filter = Attachments.filters[ prop ],
-                                       term = model.get( prop );
-
-                               if ( ! filter ) {
-                                       return;
-                               }
-
-                               if ( term && ! this.filters[ prop ] ) {
-                                       this.filters[ prop ] = filter;
-                               } else if ( ! term && this.filters[ prop ] === filter ) {
-                                       delete this.filters[ prop ];
-                               } else {
-                                       return;
-                               }
+       mirror: function( attachments ) {
+               if ( this.mirroring && this.mirroring === attachments ) {
+                       return this;
+               }
 
-                               // Record the change.
-                               return true;
-                       }, this ).any().value();
+               this.unmirror();
+               this.mirroring = attachments;
 
-                       if ( ! changed ) {
-                               return;
-                       }
+               // Clear the collection silently. A `reset` event will be fired
+               // when `observe()` calls `validateAll()`.
+               this.reset( [], { silent: true } );
+               this.observe( attachments );
 
-                       // If no `Attachments` model is provided to source the searches
-                       // from, then automatically generate a source from the existing
-                       // models.
-                       if ( ! this._source ) {
-                               this._source = new Attachments( this.models );
-                       }
+               return this;
+       },
+       /**
+        * Stop mirroring another attachments collection.
+        */
+       unmirror: function() {
+               if ( ! this.mirroring ) {
+                       return;
+               }
 
-                       this.reset( this._source.filter( this.validator, this ) );
-               },
+               this.unobserve( this.mirroring );
+               delete this.mirroring;
+       },
+       /**
+        * Retrive more attachments from the server for the collection.
+        *
+        * Only works if the collection is mirroring a Query Attachments collection,
+        * and forwards to its `more` method. This collection class doesn't have
+        * server persistence by itself.
+        *
+        * @param {object} options
+        * @returns {Promise}
+        */
+       more: function( options ) {
+               var deferred = jQuery.Deferred(),
+                       mirroring = this.mirroring,
+                       attachments = this;
 
-               validateDestroyed: false,
-               /**
-                * Checks whether an attachment is valid.
-                *
-                * @param {wp.media.model.Attachment} attachment
-                * @returns {Boolean}
-                */
-               validator: function( attachment ) {
-                       if ( ! this.validateDestroyed && attachment.destroyed ) {
-                               return false;
-                       }
-                       return _.all( this.filters, function( filter ) {
-                               return !! filter.call( this, attachment );
-                       }, this );
-               },
-               /**
-                * Add or remove an attachment to the collection depending on its validity.
-                *
-                * @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 ) {
-                               this.remove( attachment, options );
-                       } else if ( valid && ! hasAttachment ) {
-                               this.add( attachment, options );
+               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
+               // the request resolves.
+               mirroring.more( options ).done( function() {
+                       if ( this === attachments.mirroring ) {
+                               deferred.resolveWith( this );
                        }
+               });
 
-                       return this;
-               },
-
-               /**
-                * Add or remove all attachments from another collection depending on each one's validity.
-                *
-                * @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 || {};
-
-                       _.each( attachments.models, function( attachment ) {
-                               this.validate( attachment, { silent: true });
-                       }, this );
-
-                       if ( ! options.silent ) {
-                               this.trigger( 'reset', this, options );
-                       }
-                       return this;
-               },
-               /**
-                * Start observing another attachments collection change events
-                * and replicate them on this collection.
-                *
-                * @param {wp.media.model.Attachments} The attachments collection to observe.
-                * @returns {wp.media.model.Attachments} Returns itself to allow chaining.
-                */
-               observe: function( attachments ) {
-                       this.observers = this.observers || [];
-                       this.observers.push( attachments );
+               return deferred.promise();
+       },
+       /**
+        * Whether there are more attachments that haven't been sync'd from the server
+        * that match the collection's query.
+        *
+        * Only works if the collection is mirroring a Query Attachments collection,
+        * and forwards to its `hasMore` method. This collection class doesn't have
+        * server persistence by itself.
+        *
+        * @returns {boolean}
+        */
+       hasMore: function() {
+               return this.mirroring ? this.mirroring.hasMore() : false;
+       },
+       /**
+        * A custom AJAX-response parser.
+        *
+        * See trac ticket #24753
+        *
+        * @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 ) ) {
+                       resp = [resp];
+               }
 
-                       attachments.on( 'add change remove', this._validateHandler, this );
-                       attachments.on( 'reset', this._validateAllHandler, this );
-                       this.validateAll( attachments );
-                       return this;
-               },
-               /**
-                * Stop replicating collection change events from another attachments collection.
-                *
-                * @param {wp.media.model.Attachments} The attachments collection to stop observing.
-                * @returns {wp.media.model.Attachments} Returns itself to allow chaining
-                */
-               unobserve: function( attachments ) {
-                       if ( attachments ) {
-                               attachments.off( null, null, this );
-                               this.observers = _.without( this.observers, attachments );
+               return _.map( resp, function( attrs ) {
+                       var id, attachment, newAttributes;
 
+                       if ( attrs instanceof Backbone.Model ) {
+                               id = attrs.get( 'id' );
+                               attrs = attrs.attributes;
                        } else {
-                               _.each( this.observers, function( attachments ) {
-                                       attachments.off( null, null, this );
-                               }, this );
-                               delete this.observers;
+                               id = attrs.id;
                        }
 
-                       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.
-                       options = attachments === this.mirroring ? options : {
-                               silent: options && options.silent
-                       };
+                       attachment = wp.media.model.Attachment.get( id );
+                       newAttributes = attachment.parse( attrs, xhr );
 
-                       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 );
-               },
-               /**
-                * Start mirroring another attachments collection, clearing out any models already
-                * in the collection.
-                *
-                * @param {wp.media.model.Attachments} The attachments collection to mirror.
-                * @returns {wp.media.model.Attachments} Returns itself to allow chaining
-                */
-               mirror: function( attachments ) {
-                       if ( this.mirroring && this.mirroring === attachments ) {
-                               return this;
+                       if ( ! _.isEqual( attachment.attributes, newAttributes ) ) {
+                               attachment.set( newAttributes );
                        }
 
-                       this.unmirror();
-                       this.mirroring = attachments;
+                       return attachment;
+               });
+       },
+       /**
+        * If the collection is a query, create and mirror an Attachments Query collection.
+        *
+        * @access private
+        */
+       _requery: function( refresh ) {
+               var props;
+               if ( this.props.get('query') ) {
+                       props = this.props.toJSON();
+                       props.cache = ( true !== refresh );
+                       this.mirror( wp.media.model.Query.get( props ) );
+               }
+       },
+       /**
+        * 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') ) {
+                       return;
+               }
+
+               // Removes any uploading attachments, updates each attachment's
+               // menu order, and returns an object with an { id: menuOrder }
+               // mapping to pass to the request.
+               var attachments = this.chain().filter( function( attachment ) {
+                       return ! _.isUndefined( attachment.id );
+               }).map( function( attachment, index ) {
+                       // Indices start at 1.
+                       index = index + 1;
+                       attachment.set( 'menuOrder', index );
+                       return [ attachment.id, index ];
+               }).object().value();
+
+               if ( _.isEmpty( attachments ) ) {
+                       return;
+               }
 
-                       // Clear the collection silently. A `reset` event will be fired
-                       // when `observe()` calls `validateAll()`.
-                       this.reset( [], { silent: true } );
-                       this.observe( attachments );
+               return wp.media.post( 'save-attachment-order', {
+                       nonce:       wp.media.model.settings.post.nonce,
+                       post_id:     wp.media.model.settings.post.id,
+                       attachments: attachments
+               });
+       }
+}, {
+       /**
+        * A function to compare two attachment models in an attachments collection.
+        *
+        * Used as the default comparator for instances of wp.media.model.Attachments
+        * and its subclasses. @see wp.media.model.Attachments._changeOrderby().
+        *
+        * @static
+        *
+        * @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',
+                       ac    = a.cid,
+                       bc    = b.cid;
+
+               a = a.get( key );
+               b = b.get( key );
+
+               if ( 'date' === key || 'modified' === key ) {
+                       a = a || new Date();
+                       b = b || new Date();
+               }
 
-                       return this;
-               },
-               /**
-                * Stop mirroring another attachments collection.
-                */
-               unmirror: function() {
-                       if ( ! this.mirroring ) {
-                               return;
-                       }
+               // If `options.ties` is set, don't enforce the `cid` tiebreaker.
+               if ( options && options.ties ) {
+                       ac = bc = null;
+               }
 
-                       this.unobserve( this.mirroring );
-                       delete this.mirroring;
-               },
+               return ( 'DESC' === order ) ? wp.media.compare( a, b, ac, bc ) : wp.media.compare( b, a, bc, ac );
+       },
+       /**
+        * @namespace
+        */
+       filters: {
                /**
-                * Retrive more attachments from the server for the collection.
+                * @static
+                * Note that this client-side searching is *not* equivalent
+                * to our server-side searching.
+                *
+                * @param {wp.media.model.Attachment} attachment
                 *
-                * Only works if the collection is mirroring a Query Attachments collection,
-                * and forwards to its `more` method. This collection class doesn't have
-                * server persistence by itself.
+                * @this wp.media.model.Attachments
                 *
-                * @param {object} options
-                * @returns {Promise}
+                * @returns {Boolean}
                 */
-               more: function( options ) {
-                       var deferred = $.Deferred(),
-                               mirroring = this.mirroring,
-                               attachments = this;
-
-                       if ( ! mirroring || ! mirroring.more ) {
-                               return deferred.resolveWith( this ).promise();
+               search: function( attachment ) {
+                       if ( ! this.props.get('search') ) {
+                               return true;
                        }
-                       // 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
-                       // the request resolves.
-                       mirroring.more( options ).done( function() {
-                               if ( this === attachments.mirroring )
-                                       deferred.resolveWith( this );
-                       });
 
-                       return deferred.promise();
+                       return _.any(['title','filename','description','caption','name'], function( key ) {
+                               var value = attachment.get( key );
+                               return value && -1 !== value.search( this.props.get('search') );
+                       }, this );
                },
                /**
-                * Whether there are more attachments that haven't been sync'd from the server
-                * that match the collection's query.
+                * @static
+                * @param {wp.media.model.Attachment} attachment
                 *
-                * Only works if the collection is mirroring a Query Attachments collection,
-                * and forwards to its `hasMore` method. This collection class doesn't have
-                * server persistence by itself.
+                * @this wp.media.model.Attachments
                 *
-                * @returns {boolean}
+                * @returns {Boolean}
                 */
-               hasMore: function() {
-                       return this.mirroring ? this.mirroring.hasMore() : false;
+               type: function( attachment ) {
+                       var type = this.props.get('type');
+                       return ! type || -1 !== type.indexOf( attachment.get('type') );
                },
                /**
-                * A custom AJAX-response parser.
+                * @static
+                * @param {wp.media.model.Attachment} attachment
                 *
-                * See trac ticket #24753
+                * @this wp.media.model.Attachments
                 *
-                * @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
+                * @returns {Boolean}
                 */
-               parse: function( resp, xhr ) {
-                       if ( ! _.isArray( resp ) ) {
-                               resp = [resp];
+               uploadedTo: function( attachment ) {
+                       var uploadedTo = this.props.get('uploadedTo');
+                       if ( _.isUndefined( uploadedTo ) ) {
+                               return true;
                        }
 
-                       return _.map( resp, function( attrs ) {
-                               var id, attachment, newAttributes;
-
-                               if ( attrs instanceof Backbone.Model ) {
-                                       id = attrs.get( 'id' );
-                                       attrs = attrs.attributes;
-                               } else {
-                                       id = attrs.id;
-                               }
-
-                               attachment = Attachment.get( id );
-                               newAttributes = attachment.parse( attrs, xhr );
-
-                               if ( ! _.isEqual( attachment.attributes, newAttributes ) ) {
-                                       attachment.set( newAttributes );
-                               }
-
-                               return attachment;
-                       });
+                       return uploadedTo === attachment.get('uploadedTo');
                },
                /**
-                * If the collection is a query, create and mirror an Attachments Query collection.
+                * @static
+                * @param {wp.media.model.Attachment} attachment
                 *
-                * @access private
-                */
-               _requery: function( refresh ) {
-                       var props;
-                       if ( this.props.get('query') ) {
-                               props = this.props.toJSON();
-                               props.cache = ( true !== refresh );
-                               this.mirror( Query.get( props ) );
-                       }
-               },
-               /**
-                * If this collection is sorted by `menuOrder`, recalculates and saves
-                * the menu order to the database.
+                * @this wp.media.model.Attachments
                 *
-                * @returns {undefined|Promise}
+                * @returns {Boolean}
                 */
-               saveMenuOrder: function() {
-                       if ( 'menuOrder' !== this.props.get('orderby') ) {
-                               return;
+               status: function( attachment ) {
+                       var status = this.props.get('status');
+                       if ( _.isUndefined( status ) ) {
+                               return true;
                        }
 
-                       // Removes any uploading attachments, updates each attachment's
-                       // menu order, and returns an object with an { id: menuOrder }
-                       // mapping to pass to the request.
-                       var attachments = this.chain().filter( function( attachment ) {
-                               return ! _.isUndefined( attachment.id );
-                       }).map( function( attachment, index ) {
-                               // Indices start at 1.
-                               index = index + 1;
-                               attachment.set( 'menuOrder', index );
-                               return [ attachment.id, index ];
-                       }).object().value();
-
-                       if ( _.isEmpty( attachments ) ) {
-                               return;
+                       return status === attachment.get('status');
+               }
+       }
+});
+
+module.exports = Attachments;
+
+},{}],4:[function(require,module,exports){
+/*globals Backbone */
+
+/**
+ * wp.media.model.PostImage
+ *
+ * An instance of an image that's been embedded into a post.
+ *
+ * Used in the embedded image attachment display settings modal - @see wp.media.view.MediaFrame.ImageDetails.
+ *
+ * @class
+ * @augments Backbone.Model
+ *
+ * @param {int} [attributes]               Initial model attributes.
+ * @param {int} [attributes.attachment_id] ID of the attachment.
+ **/
+var PostImage = Backbone.Model.extend({
+
+       initialize: function( attributes ) {
+               var Attachment = wp.media.model.Attachment;
+               this.attachment = false;
+
+               if ( attributes.attachment_id ) {
+                       this.attachment = Attachment.get( attributes.attachment_id );
+                       if ( this.attachment.get( 'url' ) ) {
+                               this.dfd = jQuery.Deferred();
+                               this.dfd.resolve();
+                       } else {
+                               this.dfd = this.attachment.fetch();
                        }
+                       this.bindAttachmentListeners();
+               }
 
-                       return media.post( 'save-attachment-order', {
-                               nonce:       media.model.settings.post.nonce,
-                               post_id:     media.model.settings.post.id,
-                               attachments: attachments
-                       });
+               // 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;
                }
-       }, {
-               /**
-                * A function to compare two attachment models in an attachments collection.
-                *
-                * Used as the default comparator for instances of wp.media.model.Attachments
-                * and its subclasses. @see wp.media.model.Attachments._changeOrderby().
-                *
-                * @static
-                *
-                * @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',
-                               ac    = a.cid,
-                               bc    = b.cid;
-
-                       a = a.get( key );
-                       b = b.get( key );
-
-                       if ( 'date' === key || 'modified' === key ) {
-                               a = a || new Date();
-                               b = b || new Date();
-                       }
 
-                       // If `options.ties` is set, don't enforce the `cid` tiebreaker.
-                       if ( options && options.ties ) {
-                               ac = bc = null;
+               // 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';
                        }
+               }
 
-                       return ( 'DESC' === order ) ? compare( a, b, ac, bc ) : compare( b, a, bc, ac );
-               },
-               /**
-                * @namespace
-                */
-               filters: {
-                       /**
-                        * @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') ) {
-                                       return true;
-                               }
+               this.set( 'link', type );
+       },
 
-                               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 ) ) {
-                                       return true;
-                               }
+       updateLinkUrl: function() {
+               var link = this.get( 'link' ),
+                       url;
 
-                               return uploadedTo === attachment.get('uploadedTo');
-                       },
-                       /**
-                        * @static
-                        * @param {wp.media.model.Attachment} attachment
-                        *
-                        * @this wp.media.model.Attachments
-                        *
-                        * @returns {Boolean}
-                        */
-                       status: function( attachment ) {
-                               var status = this.props.get('status');
-                               if ( _.isUndefined( status ) ) {
-                                       return true;
+               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;
 
-                               return status === attachment.get('status');
+                       if ( full ) {
+                               this.set( 'aspectRatio', full.width / full.height );
+                               return;
                        }
                }
-       });
 
+               this.set( 'aspectRatio', this.get( 'customWidth' ) / this.get( 'customHeight' ) );
+       }
+});
+
+module.exports = PostImage;
+
+},{}],5:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.model.Query
+ *
+ * A collection of attachments that match the supplied query arguments.
+ *
+ * Note: Do NOT change this.args after the query has been initialized.
+ *       Things will break.
+ *
+ * @class
+ * @augments wp.media.model.Attachments
+ * @augments Backbone.Collection
+ *
+ * @param {array}  [models]                      Models to initialize with the collection.
+ * @param {object} [options]                     Options hash.
+ * @param {object} [options.args]                Attachments query arguments.
+ * @param {object} [options.args.posts_per_page]
+ */
+var Attachments = wp.media.model.Attachments,
+       Query;
+
+Query = Attachments.extend({
        /**
-        * A collection of all attachments that have been fetched from the server.
+        * @global wp.Uploader
         *
-        * @static
-        * @member {wp.media.model.Attachments}
+        * @param {array}  [models=[]]  Array of initial models to populate the collection.
+        * @param {object} [options={}]
         */
-       Attachments.all = new Attachments();
+       initialize: function( models, options ) {
+               var allowed;
+
+               options = options || {};
+               Attachments.prototype.initialize.apply( this, arguments );
+
+               this.args     = options.args;
+               this._hasMore = true;
+               this.created  = new Date();
+
+               this.filters.order = function( attachment ) {
+                       var orderby = this.props.get('orderby'),
+                               order = this.props.get('order');
+
+                       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
+                       // item, then we can't guarantee the set is complete.
+                       if ( this.length ) {
+                               return 1 !== this.comparator( attachment, this.last(), { ties: true });
+
+                       // Handle the case where there are no items yet and
+                       // we're sorting for recent items. In that case, we want
+                       // changes that occurred after we created the query.
+                       } else if ( 'DESC' === order && ( 'date' === orderby || 'modified' === orderby ) ) {
+                               return attachment.get( orderby ) >= this.created;
+
+                       // If we're sorting by menu order and we have no items,
+                       // accept any items that have the default menu order (0).
+                       } else if ( 'ASC' === order && 'menuOrder' === orderby ) {
+                               return attachment.get( orderby ) === 0;
+                       }
 
+                       // Otherwise, we don't want any items yet.
+                       return false;
+               };
+
+               // Observe the central `wp.Uploader.queue` collection to watch for
+               // new matches for the query.
+               //
+               // Only observe when a limited number of query args are set. There
+               // 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() ) {
+                       this.observe( wp.Uploader.queue );
+               }
+       },
        /**
-        * wp.media.query
+        * Whether there are more attachments that haven't been sync'd from the server
+        * that match the collection's query.
         *
-        * Shorthand for creating a new Attachments Query.
-        *
-        * @param {object} [props]
-        * @returns {wp.media.model.Attachments}
+        * @returns {boolean}
         */
-       media.query = function( props ) {
-               return new Attachments( null, {
-                       props: _.extend( _.defaults( props || {}, { orderby: 'date' } ), { query: true } )
-               });
-       };
-
+       hasMore: function() {
+               return this._hasMore;
+       },
        /**
-        * wp.media.model.Query
+        * Fetch more attachments from the server for the collection.
         *
-        * A collection of attachments that match the supplied query arguments.
-        *
-        * Note: Do NOT change this.args after the query has been initialized.
-        *       Things will break.
-        *
-        * @class
-        * @augments wp.media.model.Attachments
-        * @augments Backbone.Collection
-        *
-        * @param {array}  [models]                      Models to initialize with the collection.
-        * @param {object} [options]                     Options hash.
-        * @param {object} [options.args]                Attachments query arguments.
-        * @param {object} [options.args.posts_per_page]
+        * @param   {object}  [options={}]
+        * @returns {Promise}
         */
-       Query = media.model.Query = Attachments.extend({
-               /**
-                * @global wp.Uploader
-                *
-                * @param {array}  [models=[]]  Array of initial models to populate the collection.
-                * @param {object} [options={}]
-                */
-               initialize: function( models, options ) {
-                       var allowed;
-
-                       options = options || {};
-                       Attachments.prototype.initialize.apply( this, arguments );
+       more: function( options ) {
+               var query = this;
 
-                       this.args     = options.args;
-                       this._hasMore = true;
-                       this.created  = new Date();
-
-                       this.filters.order = function( attachment ) {
-                               var orderby = this.props.get('orderby'),
-                                       order = this.props.get('order');
-
-                               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
-                               // item, then we can't guarantee the set is complete.
-                               if ( this.length ) {
-                                       return 1 !== this.comparator( attachment, this.last(), { ties: true });
-
-                               // Handle the case where there are no items yet and
-                               // we're sorting for recent items. In that case, we want
-                               // changes that occurred after we created the query.
-                               } else if ( 'DESC' === order && ( 'date' === orderby || 'modified' === orderby ) ) {
-                                       return attachment.get( orderby ) >= this.created;
-
-                               // If we're sorting by menu order and we have no items,
-                               // accept any items that have the default menu order (0).
-                               } else if ( 'ASC' === order && 'menuOrder' === orderby ) {
-                                       return attachment.get( orderby ) === 0;
-                               }
-
-                               // Otherwise, we don't want any items yet.
-                               return false;
-                       };
+               // If there is already a request pending, return early with the Deferred object.
+               if ( this._more && 'pending' === this._more.state() ) {
+                       return this._more;
+               }
 
-                       // Observe the central `wp.Uploader.queue` collection to watch for
-                       // new matches for the query.
-                       //
-                       // Only observe when a limited number of query args are set. There
-                       // 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() ) {
-                               this.observe( wp.Uploader.queue );
-                       }
-               },
-               /**
-                * Whether there are more attachments that haven't been sync'd from the server
-                * that match the collection's query.
-                *
-                * @returns {boolean}
-                */
-               hasMore: function() {
-                       return this._hasMore;
-               },
-               /**
-                * Fetch more attachments from the server for the collection.
-                *
-                * @param   {object}  [options={}]
-                * @returns {Promise}
-                */
-               more: function( options ) {
-                       var query = this;
+               if ( ! this.hasMore() ) {
+                       return jQuery.Deferred().resolveWith( this ).promise();
+               }
 
-                       // If there is already a request pending, return early with the Deferred object.
-                       if ( this._more && 'pending' === this._more.state() ) {
-                               return this._more;
-                       }
+               options = options || {};
+               options.remove = false;
 
-                       if ( ! this.hasMore() ) {
-                               return $.Deferred().resolveWith( this ).promise();
+               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 ) {
+                               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;
 
+               // Overload the read method so Attachment.fetch() functions correctly.
+               if ( 'read' === method ) {
                        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 ) {
-                                       query._hasMore = false;
-                               }
+                       options.context = this;
+                       options.data = _.extend( options.data || {}, {
+                               action:  'query-attachments',
+                               post_id: wp.media.model.settings.post.id
                        });
-               },
-               /**
-                * 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;
-
-                       // Overload the read method so Attachment.fetch() functions correctly.
-                       if ( 'read' === method ) {
-                               options = options || {};
-                               options.context = this;
-                               options.data = _.extend( options.data || {}, {
-                                       action:  'query-attachments',
-                                       post_id: media.model.settings.post.id
-                               });
 
-                               // Clone the args so manipulation is non-destructive.
-                               args = _.clone( this.args );
+                       // Clone the args so manipulation is non-destructive.
+                       args = _.clone( this.args );
 
-                               // Determine which page to query.
-                               if ( -1 !== args.posts_per_page ) {
-                                       args.paged = Math.floor( this.length / args.posts_per_page ) + 1;
-                               }
+                       // Determine which page to query.
+                       if ( -1 !== args.posts_per_page ) {
+                               args.paged = Math.round( this.length / args.posts_per_page ) + 1;
+                       }
 
-                               options.data.query = args;
-                               return media.ajax( options );
+                       options.data.query = args;
+                       return wp.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 );
-                       }
+               // 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' ],
                /**
-                * @readonly
+                * A map of JavaScript orderby values to their WP_Query equivalents.
+                * @type {Object}
                 */
-               defaultProps: {
-                       orderby: 'date',
-                       order:   'DESC'
-               },
+               valuemap: {
+                       'id':         'ID',
+                       'uploadedTo': 'parent',
+                       'menuOrder':  'menu_order ID'
+               }
+       },
+       /**
+        * A map of JavaScript query properties to their WP_Query equivalents.
+        *
+        * @readonly
+        */
+       propmap: {
+               'search':    's',
+               'type':      'post_mime_type',
+               'perPage':   'posts_per_page',
+               'menuOrder': 'menu_order',
+               'uploadedTo': 'post_parent',
+               'status':     'post_status',
+               'include':    'post__in',
+               'exclude':    'post__not_in'
+       },
+       /**
+        * Creates and returns an Attachments Query collection given the properties.
+        *
+        * Caches query objects and reuses where possible.
+        *
+        * @static
+        * @method
+        *
+        * @param {object} [props]
+        * @param {Object} [props.cache=true]   Whether to use the query cache or not.
+        * @param {Object} [props.order]
+        * @param {Object} [props.orderby]
+        * @param {Object} [props.include]
+        * @param {Object} [props.exclude]
+        * @param {Object} [props.s]
+        * @param {Object} [props.post_mime_type]
+        * @param {Object} [props.posts_per_page]
+        * @param {Object} [props.menu_order]
+        * @param {Object} [props.post_parent]
+        * @param {Object} [props.post_status]
+        * @param {Object} [options]
+        *
+        * @returns {wp.media.model.Query} A new Attachments Query collection.
+        */
+       get: (function(){
                /**
-                * @readonly
+                * @static
+                * @type Array
                 */
-               defaultArgs: {
-                       posts_per_page: 40
-               },
+               var queries = [];
+
                /**
-                * @readonly
+                * @returns {Query}
                 */
-               orderby: {
-                       allowed:  [ 'name', 'author', 'date', 'title', 'modified', 'uploadedTo', 'id', 'post__in', 'menuOrder' ],
-                       /**
-                        * A map of JavaScript orderby values to their WP_Query equivalents.
-                        * @type {Object}
-                        */
-                       valuemap: {
-                               'id':         'ID',
-                               'uploadedTo': 'parent',
-                               'menuOrder':  'menu_order ID'
+               return function( props, options ) {
+                       var args     = {},
+                               orderby  = Query.orderby,
+                               defaults = Query.defaultProps,
+                               query,
+                               cache    = !! props.cache || _.isUndefined( props.cache );
+
+                       // Remove the `query` property. This isn't linked to a query,
+                       // this *is* the query.
+                       delete props.query;
+                       delete props.cache;
+
+                       // Fill default args.
+                       _.defaults( props, defaults );
+
+                       // Normalize the order.
+                       props.order = props.order.toUpperCase();
+                       if ( 'DESC' !== props.order && 'ASC' !== props.order ) {
+                               props.order = defaults.order.toUpperCase();
                        }
-               },
-               /**
-                * A map of JavaScript query properties to their WP_Query equivalents.
-                *
-                * @readonly
-                */
-               propmap: {
-                       'search':    's',
-                       'type':      'post_mime_type',
-                       'perPage':   'posts_per_page',
-                       'menuOrder': 'menu_order',
-                       'uploadedTo': 'post_parent',
-                       'status':     'post_status',
-                       'include':    'post__in',
-                       'exclude':    'post__not_in'
-               },
-               /**
-                * Creates and returns an Attachments Query collection given the properties.
-                *
-                * Caches query objects and reuses where possible.
-                *
-                * @static
-                * @method
-                *
-                * @param {object} [props]
-                * @param {Object} [props.cache=true]   Whether to use the query cache or not.
-                * @param {Object} [props.order]
-                * @param {Object} [props.orderby]
-                * @param {Object} [props.include]
-                * @param {Object} [props.exclude]
-                * @param {Object} [props.s]
-                * @param {Object} [props.post_mime_type]
-                * @param {Object} [props.posts_per_page]
-                * @param {Object} [props.menu_order]
-                * @param {Object} [props.post_parent]
-                * @param {Object} [props.post_status]
-                * @param {Object} [options]
-                *
-                * @returns {wp.media.model.Query} A new Attachments Query collection.
-                */
-               get: (function(){
-                       /**
-                        * @static
-                        * @type Array
-                        */
-                       var queries = [];
 
-                       /**
-                        * @returns {Query}
-                        */
-                       return function( props, options ) {
-                               var args     = {},
-                                       orderby  = Query.orderby,
-                                       defaults = Query.defaultProps,
-                                       query,
-                                       cache    = !! props.cache || _.isUndefined( props.cache );
-
-                               // Remove the `query` property. This isn't linked to a query,
-                               // this *is* the query.
-                               delete props.query;
-                               delete props.cache;
-
-                               // Fill default args.
-                               _.defaults( props, defaults );
-
-                               // Normalize the order.
-                               props.order = props.order.toUpperCase();
-                               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 ) ) {
+                               props.orderby = defaults.orderby;
+                       }
 
-                               // Ensure we have a valid orderby value.
-                               if ( ! _.contains( orderby.allowed, props.orderby ) ) {
-                                       props.orderby = defaults.orderby;
+                       _.each( [ 'include', 'exclude' ], function( prop ) {
+                               if ( props[ prop ] && ! _.isArray( props[ prop ] ) ) {
+                                       props[ prop ] = [ props[ prop ] ];
                                }
+                       } );
 
-                               _.each( [ 'include', 'exclude' ], function( prop ) {
-                                       if ( props[ prop ] && ! _.isArray( props[ prop ] ) ) {
-                                               props[ prop ] = [ props[ prop ] ];
-                                       }
-                               } );
-
-                               // Generate the query `args` object.
-                               // Correct any differing property names.
-                               _.each( props, function( value, prop ) {
-                                       if ( _.isNull( value ) ) {
-                                               return;
-                                       }
-
-                                       args[ Query.propmap[ prop ] || prop ] = value;
-                               });
+                       // Generate the query `args` object.
+                       // Correct any differing property names.
+                       _.each( props, function( value, prop ) {
+                               if ( _.isNull( value ) ) {
+                                       return;
+                               }
 
-                               // Fill any other default query args.
-                               _.defaults( args, Query.defaultArgs );
+                               args[ Query.propmap[ prop ] || prop ] = value;
+                       });
 
-                               // `props.orderby` does not always map directly to `args.orderby`.
-                               // Substitute exceptions specified in orderby.keymap.
-                               args.orderby = orderby.valuemap[ props.orderby ] || props.orderby;
+                       // Fill any other default query args.
+                       _.defaults( args, Query.defaultArgs );
 
-                               // Search the query cache for a matching query.
-                               if ( cache ) {
-                                       query = _.find( queries, function( query ) {
-                                               return _.isEqual( query.args, args );
-                                       });
-                               } else {
-                                       queries = [];
-                               }
+                       // `props.orderby` does not always map directly to `args.orderby`.
+                       // Substitute exceptions specified in orderby.keymap.
+                       args.orderby = orderby.valuemap[ props.orderby ] || props.orderby;
 
-                               // Otherwise, create a new query and add it to the cache.
-                               if ( ! query ) {
-                                       query = new Query( [], _.extend( options || {}, {
-                                               props: props,
-                                               args:  args
-                                       } ) );
-                                       queries.push( query );
-                               }
+                       // Search the query cache for a matching query.
+                       if ( cache ) {
+                               query = _.find( queries, function( query ) {
+                                       return _.isEqual( query.args, args );
+                               });
+                       } else {
+                               queries = [];
+                       }
 
-                               return query;
-                       };
-               }())
-       });
+                       // Otherwise, create a new query and add it to the cache.
+                       if ( ! query ) {
+                               query = new Query( [], _.extend( options || {}, {
+                                       props: props,
+                                       args:  args
+                               } ) );
+                               queries.push( query );
+                       }
 
+                       return query;
+               };
+       }())
+});
+
+module.exports = Query;
+
+},{}],6:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.model.Selection
+ *
+ * A selection of attachments.
+ *
+ * @class
+ * @augments wp.media.model.Attachments
+ * @augments Backbone.Collection
+ */
+var Attachments = wp.media.model.Attachments,
+       Selection;
+
+Selection = Attachments.extend({
        /**
-        * wp.media.model.Selection
+        * Refresh the `single` model whenever the selection changes.
+        * Binds `single` instead of using the context argument to ensure
+        * it receives no parameters.
         *
-        * A selection of attachments.
-        *
-        * @class
-        * @augments wp.media.model.Attachments
-        * @augments Backbone.Collection
+        * @param {Array} [models=[]] Array of models used to populate the collection.
+        * @param {Object} [options={}]
         */
-       media.model.Selection = Attachments.extend({
+       initialize: function( models, options ) {
                /**
-                * 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={}]
+                * call 'initialize' directly on the parent class
                 */
-               initialize: function( models, options ) {
-                       /**
-                        * call 'initialize' directly on the parent class
-                        */
-                       Attachments.prototype.initialize.apply( this, arguments );
-                       this.multiple = options && options.multiple;
+               Attachments.prototype.initialize.apply( this, arguments );
+               this.multiple = options && options.multiple;
 
-                       this.on( 'add remove reset', _.bind( this.single, this, false ) );
-               },
+               this.on( 'add remove reset', _.bind( this.single, this, false ) );
+       },
 
+       /**
+        * If the workflow does not support multi-select, clear out the selection
+        * before adding a new attachment to it.
+        *
+        * @param {Array} models
+        * @param {Object} options
+        * @returns {wp.media.model.Attachment[]}
+        */
+       add: function( models, options ) {
+               if ( ! this.multiple ) {
+                       this.remove( this.models );
+               }
                /**
-                * If the workflow does not support multi-select, clear out the selection
-                * before adding a new attachment to it.
-                *
-                * @param {Array} models
-                * @param {Object} options
-                * @returns {wp.media.model.Attachment[]}
+                * call 'add' directly on the parent class
                 */
-               add: function( models, options ) {
-                       if ( ! this.multiple ) {
-                               this.remove( this.models );
-                       }
-                       /**
-                        * call 'add' directly on the parent class
-                        */
-                       return Attachments.prototype.add.call( this, models, options );
-               },
+               return Attachments.prototype.add.call( this, models, options );
+       },
 
-               /**
-                * Fired 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;
+       /**
+        * Fired 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 ) {
-                               this._single = model;
-                       }
-                       // If the single model isn't in the selection, remove it.
-                       if ( this._single && ! this.get( this._single.cid ) ) {
-                               delete this._single;
-                       }
+               // If a `model` is provided, use it as the single 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 ) ) {
+                       delete this._single;
+               }
 
-                       this._single = this._single || this.last();
+               this._single = this._single || this.last();
 
-                       // If single has changed, fire an event.
-                       if ( this._single !== previous ) {
-                               if ( previous ) {
-                                       previous.trigger( 'selection:unsingle', previous, this );
+               // If single has changed, fire an event.
+               if ( this._single !== previous ) {
+                       if ( previous ) {
+                               previous.trigger( 'selection:unsingle', previous, this );
 
-                                       // If the model was already removed, trigger the collection
-                                       // event manually.
-                                       if ( ! this.get( previous.cid ) ) {
-                                               this.trigger( 'selection:unsingle', previous, this );
-                                       }
-                               }
-                               if ( this._single ) {
-                                       this._single.trigger( 'selection:single', this._single, this );
+                               // If the model was already removed, trigger the collection
+                               // event manually.
+                               if ( ! this.get( previous.cid ) ) {
+                                       this.trigger( 'selection:unsingle', previous, this );
                                }
                        }
-
-                       // Return the single model, or the last model as a fallback.
-                       return this._single;
+                       if ( this._single ) {
+                               this._single.trigger( 'selection:single', this._single, this );
+                       }
                }
-       });
 
-       // Clean up. Prevents mobile browsers caching
-       $(window).on('unload', function(){
-               window.wp = null;
-       });
+               // Return the single model, or the last model as a fallback.
+               return this._single;
+       }
+});
+
+module.exports = Selection;
 
-}(jQuery));
+},{}]},{},[1]);
index 8ae961cacbb8a8c697b28c208c328e652f95d0a1..b419a92ac2118321cf9e906bf350666ffe84b30a 100644 (file)
@@ -1 +1 @@
-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):"manage"===a.frame&&c.Manage?b=new c.Manage(a):"image"===a.frame&&c.ImageDetails?b=new c.ImageDetails(a):"audio"===a.frame&&c.AudioDetails?b=new c.AudioDetails(a):"video"===a.frame&&c.VideoDetails?b=new c.VideoDetails(a):"edit-attachments"===a.frame&&c.EditAttachments&&(b=new c.EditAttachments(a)),delete a.frame,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(a){var b;this.props.get("query")&&(b=this.props.toJSON(),b.cache=!0!==a,this.mirror(d.get(b)))},saveMenuOrder:function(){if("menuOrder"===this.props.get("orderby")){var a=this.chain().filter(function(a){return!_.isUndefined(a.id)}).map(function(a,b){return b+=1,a.set("menuOrder",b),[a.id,b]}).object().value();if(!_.isEmpty(a))return 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")},status:function(a){var b=this.props.get("status");return _.isUndefined(b)?!0:b===a.get("status")}}}),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",status:"post_status",include:"post__in",exclude:"post__not_in"},get:function(){var a=[];return function(b,c){var e,f={},g=d.orderby,h=d.defaultProps,i=!!b.cache||_.isUndefined(b.cache);return delete b.query,delete b.cache,_.defaults(b,h),b.order=b.order.toUpperCase(),"DESC"!==b.order&&"ASC"!==b.order&&(b.order=h.order.toUpperCase()),_.contains(g.allowed,b.orderby)||(b.orderby=h.orderby),_.each(["include","exclude"],function(a){b[a]&&!_.isArray(b[a])&&(b[a]=[b[a]])}),_.each(b,function(a,b){_.isNull(a)||(f[d.propmap[b]||b]=a)}),_.defaults(f,d.defaultArgs),f.orderby=g.valuemap[b.orderby]||b.orderby,i?e=_.find(a,function(a){return _.isEqual(a.args,f)}):a=[],e||(e=new d([],_.extend(c||{},{props:b,args:f})),a.push(e)),e}}()}),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
+!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a){var b,c,d,e,f=jQuery;window.wp=window.wp||{},e=wp.media=function(a){var b,c=e.view.MediaFrame;if(c)return a=_.defaults(a||{},{frame:"select"}),"select"===a.frame&&c.Select?b=new c.Select(a):"post"===a.frame&&c.Post?b=new c.Post(a):"manage"===a.frame&&c.Manage?b=new c.Manage(a):"image"===a.frame&&c.ImageDetails?b=new c.ImageDetails(a):"audio"===a.frame&&c.AudioDetails?b=new c.AudioDetails(a):"video"===a.frame&&c.VideoDetails?b=new c.VideoDetails(a):"edit-attachments"===a.frame&&c.EditAttachments&&(b=new c.EditAttachments(a)),delete a.frame,e.frame=b,b},_.extend(e,{model:{},view:{},controller:{},frames:{}}),d=e.model.l10n=window._wpMediaModelsL10n||{},e.model.settings=d.settings||{},delete d.settings,b=e.model.Attachment=a("./models/attachment.js"),c=e.model.Attachments=a("./models/attachments.js"),e.model.Query=a("./models/query.js"),e.model.PostImage=a("./models/post-image.js"),e.model.Selection=a("./models/selection.js"),e.compare=function(a,b,c,d){return _.isEqual(a,b)?c===d?0:c>d?-1:1:a>b?-1:1},_.extend(e,{template:wp.template,post:wp.ajax.post,ajax:wp.ajax.send,fit:function(a){var b,c=a.width,d=a.height,e=a.maxWidth,f=a.maxHeight;return _.isUndefined(e)||_.isUndefined(f)?_.isUndefined(f)?b="width":_.isUndefined(e)&&d>f&&(b="height"):b=c/d>e/f?"width":"height","width"===b&&c>e?{width:e,height:Math.round(e*d/c)}:"height"===b&&d>f?{width:Math.round(f*c/d),height:f}:{width:c,height:d}},truncate:function(a,b,c){return b=b||30,c=c||"&hellip;",a.length<=b?a:a.substr(0,b/2)+c+a.substr(-1*b/2)}}),e.attachment=function(a){return b.get(a)},c.all=new c,e.query=function(a){return new c(null,{props:_.extend(_.defaults(a||{},{orderby:"date"}),{query:!0})})},f(window).on("unload",function(){window.wp=null})},{"./models/attachment.js":2,"./models/attachments.js":3,"./models/post-image.js":4,"./models/query.js":5,"./models/selection.js":6}],2:[function(a,b){var c,d=Backbone.$;c=Backbone.Model.extend({sync:function(a,b,c){return _.isUndefined(this.id)?d.Deferred().rejectWith(this).promise():"read"===a?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"get-attachment",id:this.id}),wp.media.ajax(c)):"update"===a?this.get("nonces")&&this.get("nonces").update?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"save-attachment",id:this.id,nonce:this.get("nonces").update,post_id:wp.media.model.settings.post.id}),b.hasChanged()&&(c.data.changes={},_.each(b.changed,function(a,b){c.data.changes[b]=this.get(b)},this)),wp.media.ajax(c)):d.Deferred().rejectWith(this).promise():"delete"===a?(c=c||{},c.wait||(this.destroyed=!0),c.context=this,c.data=_.extend(c.data||{},{action:"delete-post",id:this.id,_wpnonce:this.get("nonces")["delete"]}),wp.media.ajax(c).done(function(){this.destroyed=!0}).fail(function(){this.destroyed=!1})):Backbone.Model.prototype.sync.apply(this,arguments)},parse:function(a){return a?(a.date=new Date(a.date),a.modified=new Date(a.modified),a):a},saveCompat:function(a,b){var c=this;return this.get("nonces")&&this.get("nonces").update?wp.media.post("save-attachment-compat",_.defaults({id:this.id,nonce:this.get("nonces").update,post_id:wp.media.model.settings.post.id},a)).done(function(a,d,e){c.set(c.parse(a,e),b)}):d.Deferred().rejectWith(this).promise()}},{create:function(a){var b=wp.media.model.Attachments;return b.all.push(a)},get:_.memoize(function(a,b){var c=wp.media.model.Attachments;return c.all.push(b||{id:a})})}),b.exports=c},{}],3:[function(a,b){var c=Backbone.Collection.extend({model:wp.media.model.Attachment,initialize:function(a,b){b=b||{},this.props=new Backbone.Model,this.filters=b.filters||{},this.props.on("change",this._changeFilteredProps,this),this.props.on("change:order",this._changeOrder,this),this.props.on("change:orderby",this._changeOrderby,this),this.props.on("change:query",this._changeQuery,this),this.props.set(_.defaults(b.props||{})),b.observe&&this.observe(b.observe)},_changeOrder:function(){this.comparator&&this.sort()},_changeOrderby:function(a,b){this.comparator&&this.comparator!==c.comparator||(b&&"post__in"!==b?this.comparator=c.comparator:delete this.comparator)},_changeQuery:function(a,b){b?(this.props.on("change",this._requery,this),this._requery()):this.props.off("change",this._requery,this)},_changeFilteredProps:function(a){if(!this.props.get("query")){var b=_.chain(a.changed).map(function(b,d){var e=c.filters[d],f=a.get(d);if(e){if(f&&!this.filters[d])this.filters[d]=e;else{if(f||this.filters[d]!==e)return;delete this.filters[d]}return!0}},this).any().value();b&&(this._source||(this._source=new c(this.models)),this.reset(this._source.filter(this.validator,this)))}},validateDestroyed:!1,validator:function(a){return!this.validateDestroyed&&a.destroyed?!1:_.all(this.filters,function(b){return!!b.call(this,a)},this)},validate:function(a,b){var c=this.validator(a),d=!!this.get(a.cid);return!c&&d?this.remove(a,b):c&&!d&&this.add(a,b),this},validateAll:function(a,b){return b=b||{},_.each(a.models,function(a){this.validate(a,{silent:!0})},this),b.silent||this.trigger("reset",this,b),this},observe:function(a){return this.observers=this.observers||[],this.observers.push(a),a.on("add change remove",this._validateHandler,this),a.on("reset",this._validateAllHandler,this),this.validateAll(a),this},unobserve:function(a){return a?(a.off(null,null,this),this.observers=_.without(this.observers,a)):(_.each(this.observers,function(a){a.off(null,null,this)},this),delete this.observers),this},_validateHandler:function(a,b,c){return c=b===this.mirroring?c:{silent:c&&c.silent},this.validate(a,c)},_validateAllHandler:function(a,b){return this.validateAll(a,b)},mirror:function(a){return this.mirroring&&this.mirroring===a?this:(this.unmirror(),this.mirroring=a,this.reset([],{silent:!0}),this.observe(a),this)},unmirror:function(){this.mirroring&&(this.unobserve(this.mirroring),delete this.mirroring)},more:function(a){var b=jQuery.Deferred(),c=this.mirroring,d=this;return c&&c.more?(c.more(a).done(function(){this===d.mirroring&&b.resolveWith(this)}),b.promise()):b.resolveWith(this).promise()},hasMore:function(){return this.mirroring?this.mirroring.hasMore():!1},parse:function(a,b){return _.isArray(a)||(a=[a]),_.map(a,function(a){var c,d,e;return a instanceof Backbone.Model?(c=a.get("id"),a=a.attributes):c=a.id,d=wp.media.model.Attachment.get(c),e=d.parse(a,b),_.isEqual(d.attributes,e)||d.set(e),d})},_requery:function(a){var b;this.props.get("query")&&(b=this.props.toJSON(),b.cache=!0!==a,this.mirror(wp.media.model.Query.get(b)))},saveMenuOrder:function(){if("menuOrder"===this.props.get("orderby")){var a=this.chain().filter(function(a){return!_.isUndefined(a.id)}).map(function(a,b){return b+=1,a.set("menuOrder",b),[a.id,b]}).object().value();if(!_.isEmpty(a))return wp.media.post("save-attachment-order",{nonce:wp.media.model.settings.post.nonce,post_id:wp.media.model.settings.post.id,attachments:a})}}},{comparator:function(a,b,c){var d=this.props.get("orderby"),e=this.props.get("order")||"DESC",f=a.cid,g=b.cid;return a=a.get(d),b=b.get(d),("date"===d||"modified"===d)&&(a=a||new Date,b=b||new Date),c&&c.ties&&(f=g=null),"DESC"===e?wp.media.compare(a,b,f,g):wp.media.compare(b,a,g,f)},filters:{search:function(a){return this.props.get("search")?_.any(["title","filename","description","caption","name"],function(b){var c=a.get(b);return c&&-1!==c.search(this.props.get("search"))},this):!0},type:function(a){var b=this.props.get("type");return!b||-1!==b.indexOf(a.get("type"))},uploadedTo:function(a){var b=this.props.get("uploadedTo");return _.isUndefined(b)?!0:b===a.get("uploadedTo")},status:function(a){var b=this.props.get("status");return _.isUndefined(b)?!0:b===a.get("status")}}});b.exports=c},{}],4:[function(a,b){var c=Backbone.Model.extend({initialize:function(a){var b=wp.media.model.Attachment;this.attachment=!1,a.attachment_id&&(this.attachment=b.get(a.attachment_id),this.attachment.get("url")?(this.dfd=jQuery.Deferred(),this.dfd.resolve()):this.dfd=this.attachment.fetch(),this.bindAttachmentListeners()),this.on("change:link",this.updateLinkUrl,this),this.on("change:size",this.updateSize,this),this.setLinkTypeFromUrl(),this.setAspectRatio(),this.set("originalUrl",a.url)},bindAttachmentListeners:function(){this.listenTo(this.attachment,"sync",this.setLinkTypeFromUrl),this.listenTo(this.attachment,"sync",this.setAspectRatio),this.listenTo(this.attachment,"change",this.updateSize)},changeAttachment:function(a,b){this.stopListening(this.attachment),this.attachment=a,this.bindAttachmentListeners(),this.set("attachment_id",this.attachment.get("id")),this.set("caption",this.attachment.get("caption")),this.set("alt",this.attachment.get("alt")),this.set("size",b.get("size")),this.set("align",b.get("align")),this.set("link",b.get("link")),this.updateLinkUrl(),this.updateSize()},setLinkTypeFromUrl:function(){var a,b=this.get("linkUrl");return b?(a="custom",this.attachment?this.attachment.get("url")===b?a="file":this.attachment.get("link")===b&&(a="post"):this.get("url")===b&&(a="file"),void this.set("link",a)):void this.set("link","none")},updateLinkUrl:function(){var a,b=this.get("link");switch(b){case"file":a=this.attachment?this.attachment.get("url"):this.get("url"),this.set("linkUrl",a);break;case"post":this.set("linkUrl",this.attachment.get("link"));break;case"none":this.set("linkUrl","")}},updateSize:function(){var a;if(this.attachment){if("custom"===this.get("size"))return this.set("width",this.get("customWidth")),this.set("height",this.get("customHeight")),void this.set("url",this.get("originalUrl"));a=this.attachment.get("sizes")[this.get("size")],a&&(this.set("url",a.url),this.set("width",a.width),this.set("height",a.height))}},setAspectRatio:function(){var a;return this.attachment&&this.attachment.get("sizes")&&(a=this.attachment.get("sizes").full)?void this.set("aspectRatio",a.width/a.height):void this.set("aspectRatio",this.get("customWidth")/this.get("customHeight"))}});b.exports=c},{}],5:[function(a,b){var c,d=wp.media.model.Attachments;c=d.extend({initialize:function(a,b){var c;b=b||{},d.prototype.initialize.apply(this,arguments),this.args=b.args,this._hasMore=!0,this.created=new Date,this.filters.order=function(a){var b=this.props.get("orderby"),c=this.props.get("order");return this.comparator?this.length?1!==this.comparator(a,this.last(),{ties:!0}):"DESC"!==c||"date"!==b&&"modified"!==b?"ASC"===c&&"menuOrder"===b?0===a.get(b):!1:a.get(b)>=this.created:!0},c=["s","order","orderby","posts_per_page","post_mime_type","post_parent"],wp.Uploader&&_(this.args).chain().keys().difference(c).isEmpty().value()&&this.observe(wp.Uploader.queue)},hasMore:function(){return this._hasMore},more:function(a){var b=this;return this._more&&"pending"===this._more.state()?this._more:this.hasMore()?(a=a||{},a.remove=!1,this._more=this.fetch(a).done(function(a){(_.isEmpty(a)||-1===this.args.posts_per_page||a.length<this.args.posts_per_page)&&(b._hasMore=!1)})):jQuery.Deferred().resolveWith(this).promise()},sync:function(a,b,c){var e,f;return"read"===a?(c=c||{},c.context=this,c.data=_.extend(c.data||{},{action:"query-attachments",post_id:wp.media.model.settings.post.id}),e=_.clone(this.args),-1!==e.posts_per_page&&(e.paged=Math.round(this.length/e.posts_per_page)+1),c.data.query=e,wp.media.ajax(c)):(f=d.prototype.sync?d.prototype:Backbone,f.sync.apply(this,arguments))}},{defaultProps:{orderby:"date",order:"DESC"},defaultArgs:{posts_per_page:40},orderby:{allowed:["name","author","date","title","modified","uploadedTo","id","post__in","menuOrder"],valuemap:{id:"ID",uploadedTo:"parent",menuOrder:"menu_order ID"}},propmap:{search:"s",type:"post_mime_type",perPage:"posts_per_page",menuOrder:"menu_order",uploadedTo:"post_parent",status:"post_status",include:"post__in",exclude:"post__not_in"},get:function(){var a=[];return function(b,d){var e,f={},g=c.orderby,h=c.defaultProps,i=!!b.cache||_.isUndefined(b.cache);return delete b.query,delete b.cache,_.defaults(b,h),b.order=b.order.toUpperCase(),"DESC"!==b.order&&"ASC"!==b.order&&(b.order=h.order.toUpperCase()),_.contains(g.allowed,b.orderby)||(b.orderby=h.orderby),_.each(["include","exclude"],function(a){b[a]&&!_.isArray(b[a])&&(b[a]=[b[a]])}),_.each(b,function(a,b){_.isNull(a)||(f[c.propmap[b]||b]=a)}),_.defaults(f,c.defaultArgs),f.orderby=g.valuemap[b.orderby]||b.orderby,i?e=_.find(a,function(a){return _.isEqual(a.args,f)}):a=[],e||(e=new c([],_.extend(d||{},{props:b,args:f})),a.push(e)),e}}()}),b.exports=c},{}],6:[function(a,b){var c,d=wp.media.model.Attachments;c=d.extend({initialize:function(a,b){d.prototype.initialize.apply(this,arguments),this.multiple=b&&b.multiple,this.on("add remove reset",_.bind(this.single,this,!1))},add:function(a,b){return this.multiple||this.remove(this.models),d.prototype.add.call(this,a,b)},single:function(a){var b=this._single;return a&&(this._single=a),this._single&&!this.get(this._single.cid)&&delete this._single,this._single=this._single||this.last(),this._single!==b&&(b&&(b.trigger("selection:unsingle",b,this),this.get(b.cid)||this.trigger("selection:unsingle",b,this)),this._single&&this._single.trigger("selection:single",this._single,this)),this._single}}),b.exports=c},{}]},{},[1]);
\ No newline at end of file
index ffe65f5c79bbd7a8b355f144e0923c3c2404220d..605459f4a9b9a0053d8461cdd17cc4c92bbe4b7c 100644 (file)
-/* global _wpMediaViewsL10n, confirm, getUserSetting, setUserSetting */
-( function( $, _ ) {
-       var l10n,
-               media = wp.media,
-               isTouchDevice = ( 'ontouchend' in document );
-
-       // Link any localized strings.
-       l10n = media.view.l10n = typeof _wpMediaViewsL10n === 'undefined' ? {} : _wpMediaViewsL10n;
-
-       // Link any settings.
-       media.view.settings = l10n.settings || {};
-       delete l10n.settings;
-
-       // Copy the `post` setting over to the model settings.
-       media.model.settings.post = media.view.settings.post;
-
-       // Check if the browser supports CSS 3.0 transitions
-       $.support.transition = (function(){
-               var style = document.documentElement.style,
-                       transitions = {
-                               WebkitTransition: 'webkitTransitionEnd',
-                               MozTransition:    'transitionend',
-                               OTransition:      'oTransitionEnd otransitionend',
-                               transition:       'transitionend'
-                       }, transition;
-
-               transition = _.find( _.keys( transitions ), function( transition ) {
-                       return ! _.isUndefined( style[ transition ] );
-               });
-
-               return transition && {
-                       end: transitions[ transition ]
-               };
-       }());
-
-       /**
-        * 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 );
+(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.controller.CollectionAdd
+ *
+ * A state for adding attachments to a collection (e.g. video playlist).
+ *
+ * @class
+ * @augments wp.media.controller.Library
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ *
+ * @param {object}                     [attributes]                         The attributes hash passed to the state.
+ * @param {string}                     [attributes.id=library]      Unique identifier.
+ * @param {string}                     attributes.title                    Title for the state. Displays in the frame's title region.
+ * @param {boolean}                    [attributes.multiple=add]            Whether multi-select is enabled. @todo 'add' doesn't seem do anything special, and gets used as a boolean.
+ * @param {wp.media.model.Attachments} [attributes.library]                 The attachments collection to browse.
+ *                                                                          If one is not supplied, a collection of attachments of the specified type will be created.
+ * @param {boolean|string}             [attributes.filterable=uploaded]     Whether the library is filterable, and if so what filters should be shown.
+ *                                                                          Accepts 'all', 'uploaded', or 'unattached'.
+ * @param {string}                     [attributes.menu=gallery]            Initial mode for the menu region.
+ * @param {string}                     [attributes.content=upload]          Initial mode for the content region.
+ *                                                                          Overridden by persistent user setting if 'contentUserSetting' is true.
+ * @param {string}                     [attributes.router=browse]           Initial mode for the router region.
+ * @param {string}                     [attributes.toolbar=gallery-add]     Initial mode for the toolbar region.
+ * @param {boolean}                    [attributes.searchable=true]         Whether the library is searchable.
+ * @param {boolean}                    [attributes.sortable=true]           Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
+ * @param {boolean}                    [attributes.autoSelect=true]         Whether an uploaded attachment should be automatically added to the selection.
+ * @param {boolean}                    [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user.
+ * @param {int}                        [attributes.priority=100]            The priority for the state link in the media menu.
+ * @param {boolean}                    [attributes.syncSelection=false]     Whether the Attachments selection should be persisted from the last state.
+ *                                                                          Defaults to false because for this state, because the library of the Edit Gallery state is the selection.
+ * @param {string}                     attributes.type                   The collection's media type. (e.g. 'video').
+ * @param {string}                     attributes.collectionType         The collection type. (e.g. 'playlist').
+ */
+var Selection = wp.media.model.Selection,
+       Library = wp.media.controller.Library,
+       CollectionAdd;
+
+CollectionAdd = Library.extend({
+       defaults: _.defaults( {
+               // Selection defaults. @see media.model.Selection
+               multiple:      'add',
+               // Attachments browser defaults. @see media.view.AttachmentsBrowser
+               filterable:    'uploaded',
+
+               priority:      100,
+               syncSelection: false
+       }, Library.prototype.defaults ),
 
        /**
-        * Makes it easier to bind events using transitions.
-        *
-        * @param {string} selector
-        * @param {Number} sensitivity
-        * @returns {Promise}
+        * @since 3.9.0
         */
-       media.transition = function( selector, sensitivity ) {
-               var deferred = $.Deferred();
-
-               sensitivity = sensitivity || 2000;
+       initialize: function() {
+               var collectionType = this.get('collectionType');
 
-               if ( $.support.transition ) {
-                       if ( ! (selector instanceof $) ) {
-                               selector = $( selector );
-                       }
-
-                       // Resolve the deferred when the first element finishes animating.
-                       selector.first().one( $.support.transition.end, deferred.resolve );
+               if ( 'video' === this.get( 'type' ) ) {
+                       collectionType = 'video-' + collectionType;
+               }
 
-                       // Just in case the event doesn't trigger, fire a callback.
-                       _.delay( deferred.resolve, sensitivity );
+               this.set( 'id', collectionType + '-library' );
+               this.set( 'toolbar', collectionType + '-add' );
+               this.set( 'menu', collectionType );
 
-               // Otherwise, execute on the spot.
-               } else {
-                       deferred.resolve();
+               // If we haven't been provided a `library`, create a `Selection`.
+               if ( ! this.get('library') ) {
+                       this.set( 'library', wp.media.query({ type: this.get('type') }) );
                }
-
-               return deferred.promise();
-       };
+               Library.prototype.initialize.apply( this, arguments );
+       },
 
        /**
-        * wp.media.controller.Region
-        *
-        * A region is a persistent application layout area.
-        *
-        * A region assumes one mode at any time, and can be switched to another.
-        *
-        * When mode changes, events are triggered on the region's parent view.
-        * The parent view will listen to specific events and fill the region with an
-        * appropriate view depending on mode. For example, a frame listens for the
-        * 'browse' mode t be activated on the 'content' view and then fills the region
-        * with an AttachmentsBrowser view.
-        *
-        * @class
-        *
-        * @param {object}        options          Options hash for the region.
-        * @param {string}        options.id       Unique identifier for the region.
-        * @param {Backbone.View} options.view     A parent view the region exists within.
-        * @param {string}        options.selector jQuery selector for the region within the parent view.
+        * @since 3.9.0
         */
-       media.controller.Region = function( options ) {
-               _.extend( this, _.pick( options || {}, 'id', 'view', 'selector' ) );
-       };
+       activate: function() {
+               var library = this.get('library'),
+                       editLibrary = this.get('editLibrary'),
+                       edit = this.frame.state( this.get('collectionType') + '-edit' ).get('library');
 
-       // Use Backbone's self-propagating `extend` inheritance method.
-       media.controller.Region.extend = Backbone.Model.extend;
+               if ( editLibrary && editLibrary !== edit ) {
+                       library.unobserve( editLibrary );
+               }
 
-       _.extend( media.controller.Region.prototype, {
-               /**
-                * Activate a mode.
-                *
-                * @since 3.5.0
-                *
-                * @param {string} mode
-                *
-                * @fires this.view#{this.id}:activate:{this._mode}
-                * @fires this.view#{this.id}:activate
-                * @fires this.view#{this.id}:deactivate:{this._mode}
-                * @fires this.view#{this.id}:deactivate
-                *
-                * @returns {wp.media.controller.Region} Returns itself to allow chaining.
-                */
-               mode: function( mode ) {
-                       if ( ! mode ) {
-                               return this._mode;
-                       }
-                       // Bail if we're trying to change to the current mode.
-                       if ( mode === this._mode ) {
-                               return this;
-                       }
+               // 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 ) && Selection.prototype.validator.apply( this, arguments );
+               };
 
-                       /**
-                        * Region mode deactivation event.
-                        *
-                        * @event this.view#{this.id}:deactivate:{this._mode}
-                        * @event this.view#{this.id}:deactivate
-                        */
-                       this.trigger('deactivate');
+               // 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);
+
+               Library.prototype.activate.apply( this, arguments );
+       }
+});
+
+module.exports = CollectionAdd;
+
+},{}],2:[function(require,module,exports){
+/*globals wp, Backbone */
+
+/**
+ * wp.media.controller.CollectionEdit
+ *
+ * A state for editing a collection, which is used by audio and video playlists,
+ * and can be used for other collections.
+ *
+ * @class
+ * @augments wp.media.controller.Library
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ *
+ * @param {object}                     [attributes]                      The attributes hash passed to the state.
+ * @param {string}                     attributes.title                  Title for the state. Displays in the media menu and the frame's title region.
+ * @param {wp.media.model.Attachments} [attributes.library]              The attachments collection to edit.
+ *                                                                       If one is not supplied, an empty media.model.Selection collection is created.
+ * @param {boolean}                    [attributes.multiple=false]       Whether multi-select is enabled.
+ * @param {string}                     [attributes.content=browse]       Initial mode for the content region.
+ * @param {string}                     attributes.menu                   Initial mode for the menu region. @todo this needs a better explanation.
+ * @param {boolean}                    [attributes.searchable=false]     Whether the library is searchable.
+ * @param {boolean}                    [attributes.sortable=true]        Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
+ * @param {boolean}                    [attributes.date=true]            Whether to show the date filter in the browser's toolbar.
+ * @param {boolean}                    [attributes.describe=true]        Whether to offer UI to describe the attachments - e.g. captioning images in a gallery.
+ * @param {boolean}                    [attributes.dragInfo=true]        Whether to show instructional text about the attachments being sortable.
+ * @param {boolean}                    [attributes.dragInfoText]         Instructional text about the attachments being sortable.
+ * @param {int}                        [attributes.idealColumnWidth=170] The ideal column width in pixels for attachments.
+ * @param {boolean}                    [attributes.editing=false]        Whether the gallery is being created, or editing an existing instance.
+ * @param {int}                        [attributes.priority=60]          The priority for the state link in the media menu.
+ * @param {boolean}                    [attributes.syncSelection=false]  Whether the Attachments selection should be persisted from the last state.
+ *                                                                       Defaults to false for this state, because the library passed in  *is* the selection.
+ * @param {view}                       [attributes.SettingsView]         The view to edit the collection instance settings (e.g. Playlist settings with "Show tracklist" checkbox).
+ * @param {view}                       [attributes.AttachmentView]       The single `Attachment` view to be used in the `Attachments`.
+ *                                                                       If none supplied, defaults to wp.media.view.Attachment.EditLibrary.
+ * @param {string}                     attributes.type                   The collection's media type. (e.g. 'video').
+ * @param {string}                     attributes.collectionType         The collection type. (e.g. 'playlist').
+ */
+var Library = wp.media.controller.Library,
+       l10n = wp.media.view.l10n,
+       $ = jQuery,
+       CollectionEdit;
+
+CollectionEdit = Library.extend({
+       defaults: {
+               multiple:         false,
+               sortable:         true,
+               date:             false,
+               searchable:       false,
+               content:          'browse',
+               describe:         true,
+               dragInfo:         true,
+               idealColumnWidth: 170,
+               editing:          false,
+               priority:         60,
+               SettingsView:     false,
+               syncSelection:    false
+       },
 
-                       this._mode = mode;
-                       this.render( mode );
+       /**
+        * @since 3.9.0
+        */
+       initialize: function() {
+               var collectionType = this.get('collectionType');
 
-                       /**
-                        * Region mode activation event.
-                        *
-                        * @event this.view#{this.id}:activate:{this._mode}
-                        * @event this.view#{this.id}:activate
-                        */
-                       this.trigger('activate');
-                       return this;
-               },
-               /**
-                * Render a mode.
-                *
-                * @since 3.5.0
-                *
-                * @param {string} mode
-                *
-                * @fires this.view#{this.id}:create:{this._mode}
-                * @fires this.view#{this.id}:create
-                * @fires this.view#{this.id}:render:{this._mode}
-                * @fires this.view#{this.id}:render
-                *
-                * @returns {wp.media.controller.Region} Returns itself to allow chaining
-                */
-               render: function( mode ) {
-                       // If the mode isn't active, activate it.
-                       if ( mode && mode !== this._mode ) {
-                               return this.mode( mode );
-                       }
+               if ( 'video' === this.get( 'type' ) ) {
+                       collectionType = 'video-' + collectionType;
+               }
 
-                       var set = { view: null },
-                               view;
+               this.set( 'id', collectionType + '-edit' );
+               this.set( 'toolbar', collectionType + '-edit' );
 
-                       /**
-                        * Create region view event.
-                        *
-                        * Region view creation takes place in an event callback on the frame.
-                        *
-                        * @event this.view#{this.id}:create:{this._mode}
-                        * @event this.view#{this.id}:create
-                        */
-                       this.trigger( 'create', set );
-                       view = set.view;
+               // If we haven't been provided a `library`, create a `Selection`.
+               if ( ! this.get('library') ) {
+                       this.set( 'library', new wp.media.model.Selection() );
+               }
+               // The single `Attachment` view to be used in the `Attachments` view.
+               if ( ! this.get('AttachmentView') ) {
+                       this.set( 'AttachmentView', wp.media.view.Attachment.EditLibrary );
+               }
+               Library.prototype.initialize.apply( this, arguments );
+       },
 
-                       /**
-                        * Render region view event.
-                        *
-                        * Region view creation takes place in an event callback on the frame.
-                        *
-                        * @event this.view#{this.id}:create:{this._mode}
-                        * @event this.view#{this.id}:create
-                        */
-                       this.trigger( 'render', view );
-                       if ( view ) {
-                               this.set( view );
-                       }
-                       return this;
-               },
+       /**
+        * @since 3.9.0
+        */
+       activate: function() {
+               var library = this.get('library');
 
-               /**
-                * Get the region's view.
-                *
-                * @since 3.5.0
-                *
-                * @returns {wp.media.View}
-                */
-               get: function() {
-                       return this.view.views.first( this.selector );
-               },
+               // Limit the library to images only.
+               library.props.set( 'type', this.get( 'type' ) );
 
-               /**
-                * Set the region's view as a subview of the frame.
-                *
-                * @since 3.5.0
-                *
-                * @param {Array|Object} views
-                * @param {Object} [options={}]
-                * @returns {wp.Backbone.Subviews} Subviews is returned to allow chaining
-                */
-               set: function( views, options ) {
-                       if ( options ) {
-                               options.add = false;
-                       }
-                       return this.view.views.set( this.selector, views, options );
-               },
+               // Watch for uploaded attachments.
+               this.get('library').observe( wp.Uploader.queue );
 
-               /**
-                * Trigger regional view events on the frame.
-                *
-                * @since 3.5.0
-                *
-                * @param {string} event
-                * @returns {undefined|wp.media.controller.Region} Returns itself to allow chaining.
-                */
-               trigger: function( event ) {
-                       var base, args;
+               this.frame.on( 'content:render:browse', this.renderSettings, this );
 
-                       if ( ! this._mode ) {
-                               return;
-                       }
+               Library.prototype.activate.apply( this, arguments );
+       },
 
-                       args = _.toArray( arguments );
-                       base = this.id + ':' + event;
+       /**
+        * @since 3.9.0
+        */
+       deactivate: function() {
+               // Stop watching for uploaded attachments.
+               this.get('library').unobserve( wp.Uploader.queue );
 
-                       // Trigger `{this.id}:{event}:{this._mode}` event on the frame.
-                       args[0] = base + ':' + this._mode;
-                       this.view.trigger.apply( this.view, args );
+               this.frame.off( 'content:render:browse', this.renderSettings, this );
 
-                       // Trigger `{this.id}:{event}` event on the frame.
-                       args[0] = base;
-                       this.view.trigger.apply( this.view, args );
-                       return this;
-               }
-       });
+               Library.prototype.deactivate.apply( this, arguments );
+       },
 
        /**
-        * wp.media.controller.StateMachine
-        *
-        * A state machine keeps track of state. It is in one state at a time,
-        * and can change from one state to another.
+        * Render the collection embed settings view in the browser sidebar.
         *
-        * States are stored as models in a Backbone collection.
-        *
-        * @since 3.5.0
+        * @todo This is against the pattern elsewhere in media. Typically the frame
+        *       is responsible for adding region mode callbacks. Explain.
         *
-        * @class
-        * @augments Backbone.Model
-        * @mixin
-        * @mixes Backbone.Events
+        * @since 3.9.0
         *
-        * @param {Array} states
+        * @param {wp.media.view.attachmentsBrowser} The attachments browser view.
         */
-       media.controller.StateMachine = function( states ) {
-               // @todo This is dead code. The states collection gets created in media.view.Frame._createStates.
-               this.states = new Backbone.Collection( states );
-       };
+       renderSettings: function( attachmentsBrowserView ) {
+               var library = this.get('library'),
+                       collectionType = this.get('collectionType'),
+                       dragInfoText = this.get('dragInfoText'),
+                       SettingsView = this.get('SettingsView'),
+                       obj = {};
+
+               if ( ! library || ! attachmentsBrowserView ) {
+                       return;
+               }
 
-       // Use Backbone's self-propagating `extend` inheritance method.
-       media.controller.StateMachine.extend = Backbone.Model.extend;
+               library[ collectionType ] = library[ collectionType ] || new Backbone.Model();
 
-       _.extend( media.controller.StateMachine.prototype, Backbone.Events, {
-               /**
-                * 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.
-                *
-                * @since 3.5.0
-                *
-                * @param {string} id
-                * @returns {wp.media.controller.State} Returns a State model
-                *   from the StateMachine collection
-                */
-               state: function( id ) {
-                       this.states = this.states || new Backbone.Collection();
+               obj[ collectionType ] = new SettingsView({
+                       controller: this,
+                       model:      library[ collectionType ],
+                       priority:   40
+               });
 
-                       // Default to the active state.
-                       id = id || this._state;
+               attachmentsBrowserView.sidebar.set( obj );
 
-                       if ( id && ! this.states.get( id ) ) {
-                               this.states.add({ id: id });
-                       }
-                       return this.states.get( id );
-               },
+               if ( dragInfoText ) {
+                       attachmentsBrowserView.toolbar.set( 'dragInfo', new wp.media.View({
+                               el: $( '<div class="instructions">' + dragInfoText + '</div>' )[0],
+                               priority: -40
+                       }) );
+               }
 
-               /**
-                * 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.
-                *
-                * @since 3.5.0
-                *
-                * @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();
+               // Add the 'Reverse order' button to the toolbar.
+               attachmentsBrowserView.toolbar.set( 'reverse', {
+                       text:     l10n.reverseOrder,
+                       priority: 80,
 
-                       if ( ( previous && id === previous.id ) || ! this.states || ! this.states.get( id ) ) {
-                               return this;
+                       click: function() {
+                               library.reset( library.toArray().reverse() );
                        }
+               });
+       }
+});
+
+module.exports = CollectionEdit;
+
+},{}],3:[function(require,module,exports){
+/*globals wp, _, Backbone */
+
+/**
+ * wp.media.controller.Cropper
+ *
+ * A state for cropping an image.
+ *
+ * @class
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ */
+var l10n = wp.media.view.l10n,
+       Cropper;
+
+Cropper = wp.media.controller.State.extend({
+       defaults: {
+               id:          'cropper',
+               title:       l10n.cropImage,
+               // Region mode defaults.
+               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 },
 
-                       if ( previous ) {
-                               previous.trigger('deactivate');
-                               this._lastState = previous.id;
-                       }
+                                       click: function() {
+                                               var controller = this.controller,
+                                                       selection;
 
-                       this._state = id;
-                       this.state().trigger('activate');
+                                               selection = controller.state().get('selection').first();
+                                               selection.set({cropDetails: controller.state().imgSelect.getSelection()});
 
-                       return this;
-               },
+                                               this.$el.text(l10n.cropping);
+                                               this.$el.attr('disabled', true);
 
-               /**
-                * Returns the previous active state.
-                *
-                * Call the `state()` method with no parameters to retrieve the current
-                * active state.
-                *
-                * @since 3.5.0
-                *
-                * @returns {wp.media.controller.State} Returns a State model
-                *    from the StateMachine collection
-                */
-               lastState: function() {
-                       if ( this._lastState ) {
-                               return this.state( this._lastState );
+                                               controller.state().doCrop( selection ).done( function( croppedImage ) {
+                                                       controller.trigger('cropped', croppedImage );
+                                                       controller.close();
+                                               }).fail( function() {
+                                                       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();
+                                       }
+                               }
+                       });
                }
-       });
 
-       // Map all event binding and triggering on a StateMachine to its `states` collection.
-       _.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.
-                       this.states = this.states || new Backbone.Collection();
-                       // Forward the method to the `states` collection.
-                       this.states[ method ].apply( this.states, arguments );
-                       return this;
-               };
-       });
+               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')
+               } );
+       }
+});
+
+module.exports = Cropper;
+
+},{}],4:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.controller.EditImage
+ *
+ * A state for editing (cropping, etc.) an image.
+ *
+ * @class
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ *
+ * @param {object}                    attributes                      The attributes hash passed to the state.
+ * @param {wp.media.model.Attachment} attributes.model                The attachment.
+ * @param {string}                    [attributes.id=edit-image]      Unique identifier.
+ * @param {string}                    [attributes.title=Edit Image]   Title for the state. Displays in the media menu and the frame's title region.
+ * @param {string}                    [attributes.content=edit-image] Initial mode for the content region.
+ * @param {string}                    [attributes.toolbar=edit-image] Initial mode for the toolbar region.
+ * @param {string}                    [attributes.menu=false]         Initial mode for the menu region.
+ * @param {string}                    [attributes.url]                Unused. @todo Consider removal.
+ */
+var l10n = wp.media.view.l10n,
+       EditImage;
+
+EditImage = wp.media.controller.State.extend({
+       defaults: {
+               id:      'edit-image',
+               title:   l10n.editImage,
+               menu:    false,
+               toolbar: 'edit-image',
+               content: 'edit-image',
+               url:     ''
+       },
 
        /**
-        * 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 in the frame.
-        *
-        * A state has an event-driven lifecycle:
-        *
-        *     'ready'      triggers when a state is added to a state machine's collection.
-        *     'activate'   triggers when a state is activated by a state machine.
-        *     'deactivate' triggers when a state is deactivated by a state machine.
-        *     'reset'      is not triggered automatically. It should be invoked by the
-        *                  proper controller to reset the state to its default.
-        *
-        * @class
-        * @augments Backbone.Model
+        * @since 3.9.0
         */
-       media.controller.State = Backbone.Model.extend({
-               /**
-                * Constructor.
-                *
-                * @since 3.5.0
-                */
-               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 );
-                       /**
-                        * Call parent constructor with passed arguments
-                        */
-                       Backbone.Model.apply( this, arguments );
-                       this.on( 'change:menu', this._updateMenu, this );
-               },
-               /**
-                * Ready event callback.
-                *
-                * @abstract
-                * @since 3.5.0
-                */
-               ready: function() {},
+       activate: function() {
+               this.listenTo( this.frame, 'toolbar:render:edit-image', this.toolbar );
+       },
 
-               /**
-                * Activate event callback.
-                *
-                * @abstract
-                * @since 3.5.0
-                */
-               activate: function() {},
+       /**
+        * @since 3.9.0
+        */
+       deactivate: function() {
+               this.stopListening( this.frame );
+       },
 
-               /**
-                * Deactivate event callback.
-                *
-                * @abstract
-                * @since 3.5.0
-                */
-               deactivate: function() {},
+       /**
+        * @since 3.9.0
+        */
+       toolbar: function() {
+               var frame = this.frame,
+                       lastState = frame.lastState(),
+                       previous = lastState && lastState.id;
+
+               frame.toolbar.set( new wp.media.view.Toolbar({
+                       controller: frame,
+                       items: {
+                               back: {
+                                       style: 'primary',
+                                       text:     l10n.back,
+                                       priority: 20,
+                                       click:    function() {
+                                               if ( previous ) {
+                                                       frame.setState( previous );
+                                               } else {
+                                                       frame.close();
+                                               }
+                                       }
+                               }
+                       }
+               }) );
+       }
+});
+
+module.exports = EditImage;
+
+},{}],5:[function(require,module,exports){
+/*globals wp, _, Backbone */
+
+/**
+ * wp.media.controller.Embed
+ *
+ * A state for embedding media from a URL.
+ *
+ * @class
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ *
+ * @param {object} attributes                         The attributes hash passed to the state.
+ * @param {string} [attributes.id=embed]              Unique identifier.
+ * @param {string} [attributes.title=Insert From URL] Title for the state. Displays in the media menu and the frame's title region.
+ * @param {string} [attributes.content=embed]         Initial mode for the content region.
+ * @param {string} [attributes.menu=default]          Initial mode for the menu region.
+ * @param {string} [attributes.toolbar=main-embed]    Initial mode for the toolbar region.
+ * @param {string} [attributes.menu=false]            Initial mode for the menu region.
+ * @param {int}    [attributes.priority=120]          The priority for the state link in the media menu.
+ * @param {string} [attributes.type=link]             The type of embed. Currently only link is supported.
+ * @param {string} [attributes.url]                   The embed URL.
+ * @param {object} [attributes.metadata={}]           Properties of the embed, which will override attributes.url if set.
+ */
+var l10n = wp.media.view.l10n,
+       $ = Backbone.$,
+       Embed;
+
+Embed = wp.media.controller.State.extend({
+       defaults: {
+               id:       'embed',
+               title:    l10n.insertFromUrlTitle,
+               content:  'embed',
+               menu:     'default',
+               toolbar:  'main-embed',
+               priority: 120,
+               type:     'link',
+               url:      '',
+               metadata: {}
+       },
+
+       // The amount of time used when debouncing the scan.
+       sensitivity: 200,
+
+       initialize: function(options) {
+               this.metadata = options.metadata;
+               this.debouncedScan = _.debounce( _.bind( this.scan, this ), this.sensitivity );
+               this.props = new Backbone.Model( this.metadata || { url: '' });
+               this.props.on( 'change:url', this.debouncedScan, this );
+               this.props.on( 'change:url', this.refresh, this );
+               this.on( 'scan', this.scanImage, this );
+       },
 
-               /**
-                * Reset event callback.
-                *
-                * @abstract
-                * @since 3.5.0
-                */
-               reset: function() {},
+       /**
+        * Trigger a scan of the embedded URL's content for metadata required to embed.
+        *
+        * @fires wp.media.controller.Embed#scan
+        */
+       scan: function() {
+               var scanners,
+                       embed = this,
+                       attributes = {
+                               type: 'link',
+                               scanners: []
+                       };
 
-               /**
-                * @access private
-                * @since 3.5.0
-                */
-               _ready: function() {
-                       this._updateMenu();
-               },
+               // 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') ) {
+                       this.trigger( 'scan', attributes );
+               }
 
-               /**
-                * @access private
-                * @since 3.5.0
-               */
-               _preActivate: function() {
-                       this.active = true;
-               },
+               if ( attributes.scanners.length ) {
+                       scanners = attributes.scanners = $.when.apply( $, attributes.scanners );
+                       scanners.always( function() {
+                               if ( embed.get('scanners') === scanners ) {
+                                       embed.set( 'loading', false );
+                               }
+                       });
+               } else {
+                       attributes.scanners = null;
+               }
 
-               /**
-                * @access private
-                * @since 3.5.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 );
+               attributes.loading = !! attributes.scanners;
+               this.set( attributes );
+       },
+       /**
+        * Try scanning the embed as an image to discover its dimensions.
+        *
+        * @param {Object} attributes
+        */
+       scanImage: function( attributes ) {
+               var frame = this.frame,
+                       state = this,
+                       url = this.props.get('url'),
+                       image = new Image(),
+                       deferred = $.Deferred();
 
-                       this.frame.on( 'title:render:default', this._renderTitle, this );
+               attributes.scanners.push( deferred.promise() );
 
-                       this._title();
-                       this._menu();
-                       this._toolbar();
-                       this._content();
-                       this._router();
-               },
+               // Try to load the image and find its width/height.
+               image.onload = function() {
+                       deferred.resolve();
 
-               /**
-                * @access private
-                * @since 3.5.0
-                */
-               _deactivate: function() {
-                       this.active = false;
+                       if ( state !== frame.state() || url !== state.props.get('url') ) {
+                               return;
+                       }
 
-                       this.frame.off( 'title:render:default', this._renderTitle, this );
+                       state.set({
+                               type: 'image'
+                       });
 
-                       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 );
-               },
+                       state.props.set({
+                               width:  image.width,
+                               height: image.height
+                       });
+               };
 
-               /**
-                * @access private
-                * @since 3.5.0
-                */
-               _title: function() {
-                       this.frame.title.render( this.get('titleMode') || 'default' );
-               },
+               image.onerror = deferred.reject;
+               image.src = url;
+       },
 
-               /**
-                * @access private
-                * @since 3.5.0
-                */
-               _renderTitle: function( view ) {
-                       view.$el.text( this.get('title') || '' );
-               },
+       refresh: function() {
+               this.frame.toolbar.get().refresh();
+       },
 
-               /**
-                * @access private
-                * @since 3.5.0
-                */
-               _router: function() {
-                       var router = this.frame.router,
-                               mode = this.get('router'),
-                               view;
+       reset: function() {
+               this.props.clear().set({ url: '' });
 
-                       this.frame.$el.toggleClass( 'hide-router', ! mode );
-                       if ( ! mode ) {
-                               return;
-                       }
+               if ( this.active ) {
+                       this.refresh();
+               }
+       }
+});
+
+module.exports = Embed;
+
+},{}],6:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.controller.FeaturedImage
+ *
+ * A state for selecting a featured image for a post.
+ *
+ * @class
+ * @augments wp.media.controller.Library
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ *
+ * @param {object}                     [attributes]                          The attributes hash passed to the state.
+ * @param {string}                     [attributes.id=featured-image]        Unique identifier.
+ * @param {string}                     [attributes.title=Set Featured Image] Title for the state. Displays in the media menu and the frame's title region.
+ * @param {wp.media.model.Attachments} [attributes.library]                  The attachments collection to browse.
+ *                                                                           If one is not supplied, a collection of all images will be created.
+ * @param {boolean}                    [attributes.multiple=false]           Whether multi-select is enabled.
+ * @param {string}                     [attributes.content=upload]           Initial mode for the content region.
+ *                                                                           Overridden by persistent user setting if 'contentUserSetting' is true.
+ * @param {string}                     [attributes.menu=default]             Initial mode for the menu region.
+ * @param {string}                     [attributes.router=browse]            Initial mode for the router region.
+ * @param {string}                     [attributes.toolbar=featured-image]   Initial mode for the toolbar region.
+ * @param {int}                        [attributes.priority=60]              The priority for the state link in the media menu.
+ * @param {boolean}                    [attributes.searchable=true]          Whether the library is searchable.
+ * @param {boolean|string}             [attributes.filterable=false]         Whether the library is filterable, and if so what filters should be shown.
+ *                                                                           Accepts 'all', 'uploaded', or 'unattached'.
+ * @param {boolean}                    [attributes.sortable=true]            Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
+ * @param {boolean}                    [attributes.autoSelect=true]          Whether an uploaded attachment should be automatically added to the selection.
+ * @param {boolean}                    [attributes.describe=false]           Whether to offer UI to describe attachments - e.g. captioning images in a gallery.
+ * @param {boolean}                    [attributes.contentUserSetting=true]  Whether the content region's mode should be set and persisted per user.
+ * @param {boolean}                    [attributes.syncSelection=true]       Whether the Attachments selection should be persisted from the last state.
+ */
+var Attachment = wp.media.model.Attachment,
+       Library = wp.media.controller.Library,
+       l10n = wp.media.view.l10n,
+       FeaturedImage;
+
+FeaturedImage = Library.extend({
+       defaults: _.defaults({
+               id:            'featured-image',
+               title:         l10n.setFeaturedImageTitle,
+               multiple:      false,
+               filterable:    'uploaded',
+               toolbar:       'featured-image',
+               priority:      60,
+               syncSelection: true
+       }, Library.prototype.defaults ),
 
-                       this.frame.router.render( mode );
+       /**
+        * @since 3.5.0
+        */
+       initialize: function() {
+               var library, comparator;
 
-                       view = router.get();
-                       if ( view && view.select ) {
-                               view.select( this.frame.content.mode() );
-                       }
-               },
+               // If we haven't been provided a `library`, create a `Selection`.
+               if ( ! this.get('library') ) {
+                       this.set( 'library', wp.media.query({ type: 'image' }) );
+               }
 
-               /**
-                * @access private
-                * @since 3.5.0
-                */
-               _menu: function() {
-                       var menu = this.frame.menu,
-                               mode = this.get('menu'),
-                               view;
+               Library.prototype.initialize.apply( this, arguments );
 
-                       this.frame.$el.toggleClass( 'hide-menu', ! mode );
-                       if ( ! mode ) {
-                               return;
-                       }
+               library    = this.get('library');
+               comparator = library.comparator;
 
-                       menu.mode( mode );
+               // 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 );
 
-                       view = menu.get();
-                       if ( view && view.select ) {
-                               view.select( this.id );
+                       if ( ! aInQuery && bInQuery ) {
+                               return -1;
+                       } else if ( aInQuery && ! bInQuery ) {
+                               return 1;
+                       } else {
+                               return comparator.apply( this, arguments );
                        }
-               },
+               };
 
-               /**
-                * @access private
-                * @since 3.5.0
-                */
-               _updateMenu: function() {
-                       var previous = this.previous('menu'),
-                               menu = this.get('menu');
+               // 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') );
+       },
 
-                       if ( previous ) {
-                               this.frame.off( 'menu:render:' + previous, this._renderMenu, this );
-                       }
+       /**
+        * @since 3.5.0
+        */
+       activate: function() {
+               this.updateSelection();
+               this.frame.on( 'open', this.updateSelection, this );
 
-                       if ( menu ) {
-                               this.frame.on( 'menu:render:' + menu, this._renderMenu, this );
-                       }
-               },
+               Library.prototype.activate.apply( this, arguments );
+       },
 
-               /**
-                * Create a view in the media menu for the state.
-                *
-                * @access private
-                * @since 3.5.0
-                *
-                * @param {media.view.Menu} view The menu view.
-                */
-               _renderMenu: function( view ) {
-                       var menuItem = this.get('menuItem'),
-                               title = this.get('title'),
-                               priority = this.get('priority');
+       /**
+        * @since 3.5.0
+        */
+       deactivate: function() {
+               this.frame.off( 'open', this.updateSelection, this );
 
-                       if ( ! menuItem && title ) {
-                               menuItem = { text: title };
+               Library.prototype.deactivate.apply( this, arguments );
+       },
 
-                               if ( priority ) {
-                                       menuItem.priority = priority;
-                               }
-                       }
+       /**
+        * @since 3.5.0
+        */
+       updateSelection: function() {
+               var selection = this.get('selection'),
+                       id = wp.media.view.settings.post.featuredImageId,
+                       attachment;
+
+               if ( '' !== id && -1 !== id ) {
+                       attachment = Attachment.get( id );
+                       attachment.fetch();
+               }
 
-                       if ( ! menuItem ) {
-                               return;
-                       }
+               selection.reset( attachment ? [ attachment ] : [] );
+       }
+});
+
+module.exports = FeaturedImage;
+
+},{}],7:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.controller.GalleryAdd
+ *
+ * A state for selecting more images to add to a gallery.
+ *
+ * @class
+ * @augments wp.media.controller.Library
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ *
+ * @param {object}                     [attributes]                         The attributes hash passed to the state.
+ * @param {string}                     [attributes.id=gallery-library]      Unique identifier.
+ * @param {string}                     [attributes.title=Add to Gallery]    Title for the state. Displays in the frame's title region.
+ * @param {boolean}                    [attributes.multiple=add]            Whether multi-select is enabled. @todo 'add' doesn't seem do anything special, and gets used as a boolean.
+ * @param {wp.media.model.Attachments} [attributes.library]                 The attachments collection to browse.
+ *                                                                          If one is not supplied, a collection of all images will be created.
+ * @param {boolean|string}             [attributes.filterable=uploaded]     Whether the library is filterable, and if so what filters should be shown.
+ *                                                                          Accepts 'all', 'uploaded', or 'unattached'.
+ * @param {string}                     [attributes.menu=gallery]            Initial mode for the menu region.
+ * @param {string}                     [attributes.content=upload]          Initial mode for the content region.
+ *                                                                          Overridden by persistent user setting if 'contentUserSetting' is true.
+ * @param {string}                     [attributes.router=browse]           Initial mode for the router region.
+ * @param {string}                     [attributes.toolbar=gallery-add]     Initial mode for the toolbar region.
+ * @param {boolean}                    [attributes.searchable=true]         Whether the library is searchable.
+ * @param {boolean}                    [attributes.sortable=true]           Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
+ * @param {boolean}                    [attributes.autoSelect=true]         Whether an uploaded attachment should be automatically added to the selection.
+ * @param {boolean}                    [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user.
+ * @param {int}                        [attributes.priority=100]            The priority for the state link in the media menu.
+ * @param {boolean}                    [attributes.syncSelection=false]     Whether the Attachments selection should be persisted from the last state.
+ *                                                                          Defaults to false because for this state, because the library of the Edit Gallery state is the selection.
+ */
+var Selection = wp.media.model.Selection,
+       Library = wp.media.controller.Library,
+       l10n = wp.media.view.l10n,
+       GalleryAdd;
+
+GalleryAdd = Library.extend({
+       defaults: _.defaults({
+               id:            'gallery-library',
+               title:         l10n.addToGalleryTitle,
+               multiple:      'add',
+               filterable:    'uploaded',
+               menu:          'gallery',
+               toolbar:       'gallery-add',
+               priority:      100,
+               syncSelection: false
+       }, Library.prototype.defaults ),
 
-                       view.set( this.id, menuItem );
+       /**
+        * @since 3.5.0
+        */
+       initialize: function() {
+               // If a library wasn't supplied, create a library of images.
+               if ( ! this.get('library') ) {
+                       this.set( 'library', wp.media.query({ type: 'image' }) );
                }
-       });
 
-       _.each(['toolbar','content'], function( region ) {
-               /**
-                * @access private
-                */
-               media.controller.State.prototype[ '_' + region ] = function() {
-                       var mode = this.get( region );
-                       if ( mode ) {
-                               this.frame[ region ].render( mode );
-                       }
-               };
-       });
+               Library.prototype.initialize.apply( this, arguments );
+       },
 
        /**
-        * wp.media.selectionSync
-        *
-        * Sync an attachments selection in a state with another state.
-        *
-        * Allows for selecting multiple images in the Insert Media workflow, and then
-        * switching to the Insert Gallery workflow while preserving the attachments selection.
-        *
-        * @mixin
+        * @since 3.5.0
         */
-       media.selectionSync = {
-               /**
-                * @since 3.5.0
-                */
-               syncSelection: function() {
-                       var selection = this.get('selection'),
-                               manager = this.frame._selection;
-
-                       if ( ! this.get('syncSelection') || ! manager || ! selection ) {
-                               return;
-                       }
+       activate: function() {
+               var library = this.get('library'),
+                       edit    = this.frame.state('gallery-edit').get('library');
 
-                       // 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 );
-                       }
+               if ( this.editLibrary && this.editLibrary !== edit ) {
+                       library.unobserve( this.editLibrary );
+               }
 
-                       // Sync the selection's single item with the master.
-                       selection.single( manager.single );
-               },
+               // 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 ) && Selection.prototype.validator.apply( this, arguments );
+               };
 
-               /**
-                * 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.
-                *
-                * @since 3.5.0
-                */
-               recordSelection: function() {
-                       var selection = this.get('selection'),
-                               manager = this.frame._selection;
+               // 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.editLibrary = edit;
+
+               Library.prototype.activate.apply( this, arguments );
+       }
+});
+
+module.exports = GalleryAdd;
+
+},{}],8:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.controller.GalleryEdit
+ *
+ * A state for editing a gallery's images and settings.
+ *
+ * @class
+ * @augments wp.media.controller.Library
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ *
+ * @param {object}                     [attributes]                       The attributes hash passed to the state.
+ * @param {string}                     [attributes.id=gallery-edit]       Unique identifier.
+ * @param {string}                     [attributes.title=Edit Gallery]    Title for the state. Displays in the frame's title region.
+ * @param {wp.media.model.Attachments} [attributes.library]               The collection of attachments in the gallery.
+ *                                                                        If one is not supplied, an empty media.model.Selection collection is created.
+ * @param {boolean}                    [attributes.multiple=false]        Whether multi-select is enabled.
+ * @param {boolean}                    [attributes.searchable=false]      Whether the library is searchable.
+ * @param {boolean}                    [attributes.sortable=true]         Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
+ * @param {boolean}                    [attributes.date=true]             Whether to show the date filter in the browser's toolbar.
+ * @param {string|false}               [attributes.content=browse]        Initial mode for the content region.
+ * @param {string|false}               [attributes.toolbar=image-details] Initial mode for the toolbar region.
+ * @param {boolean}                    [attributes.describe=true]         Whether to offer UI to describe attachments - e.g. captioning images in a gallery.
+ * @param {boolean}                    [attributes.displaySettings=true]  Whether to show the attachment display settings interface.
+ * @param {boolean}                    [attributes.dragInfo=true]         Whether to show instructional text about the attachments being sortable.
+ * @param {int}                        [attributes.idealColumnWidth=170]  The ideal column width in pixels for attachments.
+ * @param {boolean}                    [attributes.editing=false]         Whether the gallery is being created, or editing an existing instance.
+ * @param {int}                        [attributes.priority=60]           The priority for the state link in the media menu.
+ * @param {boolean}                    [attributes.syncSelection=false]   Whether the Attachments selection should be persisted from the last state.
+ *                                                                        Defaults to false for this state, because the library passed in  *is* the selection.
+ * @param {view}                       [attributes.AttachmentView]        The single `Attachment` view to be used in the `Attachments`.
+ *                                                                        If none supplied, defaults to wp.media.view.Attachment.EditLibrary.
+ */
+var Library = wp.media.controller.Library,
+       l10n = wp.media.view.l10n,
+       GalleryEdit;
+
+GalleryEdit = Library.extend({
+       defaults: {
+               id:               'gallery-edit',
+               title:            l10n.editGalleryTitle,
+               multiple:         false,
+               searchable:       false,
+               sortable:         true,
+               date:             false,
+               display:          false,
+               content:          'browse',
+               toolbar:          'gallery-edit',
+               describe:         true,
+               displaySettings:  true,
+               dragInfo:         true,
+               idealColumnWidth: 170,
+               editing:          false,
+               priority:         60,
+               syncSelection:    false
+       },
 
-                       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() );
-                       }
+       /**
+        * @since 3.5.0
+        */
+       initialize: function() {
+               // If we haven't been provided a `library`, create a `Selection`.
+               if ( ! this.get('library') ) {
+                       this.set( 'library', new wp.media.model.Selection() );
+               }
 
-                       manager.single = selection._single;
+               // The single `Attachment` view to be used in the `Attachments` view.
+               if ( ! this.get('AttachmentView') ) {
+                       this.set( 'AttachmentView', wp.media.view.Attachment.EditLibrary );
                }
-       };
+
+               Library.prototype.initialize.apply( this, arguments );
+       },
 
        /**
-        * wp.media.controller.Library
-        *
-        * A state for choosing an attachment or group of attachments from the media library.
-        *
-        * @class
-        * @augments wp.media.controller.State
-        * @augments Backbone.Model
-        * @mixes media.selectionSync
-        *
-        * @param {object}                          [attributes]                         The attributes hash passed to the state.
-        * @param {string}                          [attributes.id=library]              Unique identifier.
-        * @param {string}                          [attributes.title=Media library]     Title for the state. Displays in the media menu and the frame's title region.
-        * @param {wp.media.model.Attachments}      [attributes.library]                 The attachments collection to browse.
-        *                                                                               If one is not supplied, a collection of all attachments will be created.
-        * @param {wp.media.model.Selection|object} [attributes.selection]               A collection to contain attachment selections within the state.
-        *                                                                               If the 'selection' attribute is a plain JS object,
-        *                                                                               a Selection will be created using its values as the selection instance's `props` model.
-        *                                                                               Otherwise, it will copy the library's `props` model.
-        * @param {boolean}                         [attributes.multiple=false]          Whether multi-select is enabled.
-        * @param {string}                          [attributes.content=upload]          Initial mode for the content region.
-        *                                                                               Overridden by persistent user setting if 'contentUserSetting' is true.
-        * @param {string}                          [attributes.menu=default]            Initial mode for the menu region.
-        * @param {string}                          [attributes.router=browse]           Initial mode for the router region.
-        * @param {string}                          [attributes.toolbar=select]          Initial mode for the toolbar region.
-        * @param {boolean}                         [attributes.searchable=true]         Whether the library is searchable.
-        * @param {boolean|string}                  [attributes.filterable=false]        Whether the library is filterable, and if so what filters should be shown.
-        *                                                                               Accepts 'all', 'uploaded', or 'unattached'.
-        * @param {boolean}                         [attributes.sortable=true]           Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
-        * @param {boolean}                         [attributes.autoSelect=true]         Whether an uploaded attachment should be automatically added to the selection.
-        * @param {boolean}                         [attributes.describe=false]          Whether to offer UI to describe attachments - e.g. captioning images in a gallery.
-        * @param {boolean}                         [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user.
-        * @param {boolean}                         [attributes.syncSelection=true]      Whether the Attachments selection should be persisted from the last state.
-        */
-       media.controller.Library = media.controller.State.extend({
-               defaults: {
-                       id:                 'library',
-                       title:              l10n.mediaLibraryTitle,
-                       multiple:           false,
-                       content:            'upload',
-                       menu:               'default',
-                       router:             'browse',
-                       toolbar:            'select',
-                       searchable:         true,
-                       filterable:         false,
-                       sortable:           true,
-                       autoSelect:         true,
-                       describe:           false,
-                       contentUserSetting: true,
-                       syncSelection:      true
-               },
+        * @since 3.5.0
+        */
+       activate: function() {
+               var library = this.get('library');
 
-               /**
-                * If a library isn't provided, query all media items.
-                * If a selection instance isn't provided, create one.
-                *
-                * @since 3.5.0
-                */
-               initialize: function() {
-                       var selection = this.get('selection'),
-                               props;
+               // Limit the library to images only.
+               library.props.set( 'type', 'image' );
 
-                       if ( ! this.get('library') ) {
-                               this.set( 'library', media.query() );
-                       }
+               // Watch for uploaded attachments.
+               this.get('library').observe( wp.Uploader.queue );
 
-                       if ( ! (selection instanceof media.model.Selection) ) {
-                               props = selection;
+               this.frame.on( 'content:render:browse', this.gallerySettings, this );
 
-                               if ( ! props ) {
-                                       props = this.get('library').props.toJSON();
-                                       props = _.omit( props, 'orderby', 'query' );
-                               }
+               Library.prototype.activate.apply( this, arguments );
+       },
 
-                               this.set( 'selection', new media.model.Selection( null, {
-                                       multiple: this.get('multiple'),
-                                       props: props
-                               }) );
-                       }
+       /**
+        * @since 3.5.0
+        */
+       deactivate: function() {
+               // Stop watching for uploaded attachments.
+               this.get('library').unobserve( wp.Uploader.queue );
 
-                       this.resetDisplays();
-               },
+               this.frame.off( 'content:render:browse', this.gallerySettings, this );
 
-               /**
-                * @since 3.5.0
-                */
-               activate: function() {
-                       this.syncSelection();
+               Library.prototype.deactivate.apply( this, arguments );
+       },
 
-                       wp.Uploader.queue.on( 'add', this.uploading, this );
+       /**
+        * @since 3.5.0
+        *
+        * @param browser
+        */
+       gallerySettings: function( browser ) {
+               if ( ! this.get('displaySettings') ) {
+                       return;
+               }
 
-                       this.get('selection').on( 'add remove reset', this.refreshContent, this );
+               var library = this.get('library');
 
-                       if ( this.get( 'router' ) && this.get('contentUserSetting') ) {
-                               this.frame.on( 'content:activate', this.saveContentMode, this );
-                               this.set( 'content', getUserSetting( 'libraryContent', this.get('content') ) );
-                       }
-               },
+               if ( ! library || ! browser ) {
+                       return;
+               }
 
-               /**
-                * @since 3.5.0
-                */
-               deactivate: function() {
-                       this.recordSelection();
+               library.gallery = library.gallery || new Backbone.Model();
 
-                       this.frame.off( 'content:activate', this.saveContentMode, this );
+               browser.sidebar.set({
+                       gallery: new wp.media.view.Settings.Gallery({
+                               controller: this,
+                               model:      library.gallery,
+                               priority:   40
+                       })
+               });
 
-                       // Unbind all event handlers that use this state as the context
-                       // from the selection.
-                       this.get('selection').off( null, null, this );
+               browser.toolbar.set( 'reverse', {
+                       text:     l10n.reverseOrder,
+                       priority: 80,
 
-                       wp.Uploader.queue.off( null, null, this );
-               },
+                       click: function() {
+                               library.reset( library.toArray().reverse() );
+                       }
+               });
+       }
+});
+
+module.exports = GalleryEdit;
+
+},{}],9:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.controller.ImageDetails
+ *
+ * A state for editing the attachment display settings of an image that's been
+ * inserted into the editor.
+ *
+ * @class
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ *
+ * @param {object}                    [attributes]                       The attributes hash passed to the state.
+ * @param {string}                    [attributes.id=image-details]      Unique identifier.
+ * @param {string}                    [attributes.title=Image Details]   Title for the state. Displays in the frame's title region.
+ * @param {wp.media.model.Attachment} attributes.image                   The image's model.
+ * @param {string|false}              [attributes.content=image-details] Initial mode for the content region.
+ * @param {string|false}              [attributes.menu=false]            Initial mode for the menu region.
+ * @param {string|false}              [attributes.router=false]          Initial mode for the router region.
+ * @param {string|false}              [attributes.toolbar=image-details] Initial mode for the toolbar region.
+ * @param {boolean}                   [attributes.editing=false]         Unused.
+ * @param {int}                       [attributes.priority=60]           Unused.
+ *
+ * @todo This state inherits some defaults from media.controller.Library.prototype.defaults,
+ *       however this may not do anything.
+ */
+var State = wp.media.controller.State,
+       Library = wp.media.controller.Library,
+       l10n = wp.media.view.l10n,
+       ImageDetails;
+
+ImageDetails = State.extend({
+       defaults: _.defaults({
+               id:       'image-details',
+               title:    l10n.imageDetailsTitle,
+               content:  'image-details',
+               menu:     false,
+               router:   false,
+               toolbar:  'image-details',
+               editing:  false,
+               priority: 60
+       }, Library.prototype.defaults ),
 
-               /**
-                * Reset the library to its initial state.
-                *
-                * @since 3.5.0
-                */
-               reset: function() {
-                       this.get('selection').reset();
-                       this.resetDisplays();
-                       this.refreshContent();
-               },
+       /**
+        * @since 3.9.0
+        *
+        * @param options Attributes
+        */
+       initialize: function( options ) {
+               this.image = options.image;
+               State.prototype.initialize.apply( this, arguments );
+       },
 
-               /**
-                * Reset the attachment display settings defaults to the site options.
-                *
-                * If site options don't define them, fall back to a persistent user setting.
-                *
-                * @since 3.5.0
-                */
-               resetDisplays: function() {
-                       var defaultProps = media.view.settings.defaultProps;
-                       this._displays = [];
-                       this._defaultDisplaySettings = {
-                               align: defaultProps.align || getUserSetting( 'align', 'none' ),
-                               size:  defaultProps.size  || getUserSetting( 'imgsize', 'medium' ),
-                               link:  defaultProps.link  || getUserSetting( 'urlbutton', 'file' )
-                       };
-               },
+       /**
+        * @since 3.9.0
+        */
+       activate: function() {
+               this.frame.modal.$el.addClass('image-details');
+       }
+});
+
+module.exports = ImageDetails;
+
+},{}],10:[function(require,module,exports){
+/*globals wp, _, Backbone */
+
+/**
+ * wp.media.controller.Library
+ *
+ * A state for choosing an attachment or group of attachments from the media library.
+ *
+ * @class
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ * @mixes media.selectionSync
+ *
+ * @param {object}                          [attributes]                         The attributes hash passed to the state.
+ * @param {string}                          [attributes.id=library]              Unique identifier.
+ * @param {string}                          [attributes.title=Media library]     Title for the state. Displays in the media menu and the frame's title region.
+ * @param {wp.media.model.Attachments}      [attributes.library]                 The attachments collection to browse.
+ *                                                                               If one is not supplied, a collection of all attachments will be created.
+ * @param {wp.media.model.Selection|object} [attributes.selection]               A collection to contain attachment selections within the state.
+ *                                                                               If the 'selection' attribute is a plain JS object,
+ *                                                                               a Selection will be created using its values as the selection instance's `props` model.
+ *                                                                               Otherwise, it will copy the library's `props` model.
+ * @param {boolean}                         [attributes.multiple=false]          Whether multi-select is enabled.
+ * @param {string}                          [attributes.content=upload]          Initial mode for the content region.
+ *                                                                               Overridden by persistent user setting if 'contentUserSetting' is true.
+ * @param {string}                          [attributes.menu=default]            Initial mode for the menu region.
+ * @param {string}                          [attributes.router=browse]           Initial mode for the router region.
+ * @param {string}                          [attributes.toolbar=select]          Initial mode for the toolbar region.
+ * @param {boolean}                         [attributes.searchable=true]         Whether the library is searchable.
+ * @param {boolean|string}                  [attributes.filterable=false]        Whether the library is filterable, and if so what filters should be shown.
+ *                                                                               Accepts 'all', 'uploaded', or 'unattached'.
+ * @param {boolean}                         [attributes.sortable=true]           Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
+ * @param {boolean}                         [attributes.autoSelect=true]         Whether an uploaded attachment should be automatically added to the selection.
+ * @param {boolean}                         [attributes.describe=false]          Whether to offer UI to describe attachments - e.g. captioning images in a gallery.
+ * @param {boolean}                         [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user.
+ * @param {boolean}                         [attributes.syncSelection=true]      Whether the Attachments selection should be persisted from the last state.
+ */
+var l10n = wp.media.view.l10n,
+       getUserSetting = window.getUserSetting,
+       setUserSetting = window.setUserSetting,
+       Library;
+
+Library = wp.media.controller.State.extend({
+       defaults: {
+               id:                 'library',
+               title:              l10n.mediaLibraryTitle,
+               multiple:           false,
+               content:            'upload',
+               menu:               'default',
+               router:             'browse',
+               toolbar:            'select',
+               searchable:         true,
+               filterable:         false,
+               sortable:           true,
+               autoSelect:         true,
+               describe:           false,
+               contentUserSetting: true,
+               syncSelection:      true
+       },
 
-               /**
-                * Create a model to represent display settings (alignment, etc.) for an attachment.
-                *
-                * @since 3.5.0
-                *
-                * @param {wp.media.model.Attachment} attachment
-                * @returns {Backbone.Model}
-                */
-               display: function( attachment ) {
-                       var displays = this._displays;
+       /**
+        * If a library isn't provided, query all media items.
+        * If a selection instance isn't provided, create one.
+        *
+        * @since 3.5.0
+        */
+       initialize: function() {
+               var selection = this.get('selection'),
+                       props;
 
-                       if ( ! displays[ attachment.cid ] ) {
-                               displays[ attachment.cid ] = new Backbone.Model( this.defaultDisplaySettings( attachment ) );
-                       }
-                       return displays[ attachment.cid ];
-               },
+               if ( ! this.get('library') ) {
+                       this.set( 'library', wp.media.query() );
+               }
 
-               /**
-                * Given an attachment, create attachment display settings properties.
-                *
-                * @since 3.6.0
-                *
-                * @param {wp.media.model.Attachment} attachment
-                * @returns {Object}
-                */
-               defaultDisplaySettings: function( attachment ) {
-                       var settings = this._defaultDisplaySettings;
-                       if ( settings.canEmbed = this.canEmbed( attachment ) ) {
-                               settings.link = 'embed';
-                       }
-                       return settings;
-               },
+               if ( ! ( selection instanceof wp.media.model.Selection ) ) {
+                       props = selection;
 
-               /**
-                * Whether an attachment can be embedded (audio or video).
-                *
-                * @since 3.6.0
-                *
-                * @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' ) {
-                                       return false;
-                               }
+                       if ( ! props ) {
+                               props = this.get('library').props.toJSON();
+                               props = _.omit( props, 'orderby', 'query' );
                        }
 
-                       return _.contains( media.view.settings.embedExts, attachment.get('filename').split('.').pop() );
-               },
+                       this.set( 'selection', new wp.media.model.Selection( null, {
+                               multiple: this.get('multiple'),
+                               props: props
+                       }) );
+               }
 
+               this.resetDisplays();
+       },
 
-               /**
-                * 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.
-                *
-                * @since 3.5.0
-                */
-               refreshContent: function() {
-                       var selection = this.get('selection'),
-                               frame = this.frame,
-                               router = frame.router.get(),
-                               mode = frame.content.mode();
-
-                       if ( this.active && ! selection.length && router && ! router.get( mode ) ) {
-                               this.frame.content.render( this.get('content') );
-                       }
-               },
+       /**
+        * @since 3.5.0
+        */
+       activate: function() {
+               this.syncSelection();
 
-               /**
-                * Callback handler when an attachment is uploaded.
-                *
-                * Switch to the Media Library if uploaded from the 'Upload Files' tab.
-                *
-                * Adds any uploading attachments to the selection.
-                *
-                * If the state only supports one attachment to be selected and multiple
-                * attachments are uploaded, the last attachment in the upload queue will
-                * be selected.
-                *
-                * @since 3.5.0
-                *
-                * @param {wp.media.model.Attachment} attachment
-                */
-               uploading: function( attachment ) {
-                       var content = this.frame.content;
+               wp.Uploader.queue.on( 'add', this.uploading, this );
 
-                       if ( 'upload' === content.mode() ) {
-                               this.frame.content.mode('browse');
-                       }
+               this.get('selection').on( 'add remove reset', this.refreshContent, this );
 
-                       if ( this.get( 'autoSelect' ) ) {
-                               this.get('selection').add( attachment );
-                               this.frame.trigger( 'library:selection:add' );
-                       }
-               },
+               if ( this.get( 'router' ) && this.get('contentUserSetting') ) {
+                       this.frame.on( 'content:activate', this.saveContentMode, this );
+                       this.set( 'content', getUserSetting( 'libraryContent', this.get('content') ) );
+               }
+       },
 
-               /**
-                * Persist the mode of the content region as a user setting.
-                *
-                * @since 3.5.0
-                */
-               saveContentMode: function() {
-                       if ( 'browse' !== this.get('router') ) {
-                               return;
-                       }
+       /**
+        * @since 3.5.0
+        */
+       deactivate: function() {
+               this.recordSelection();
 
-                       var mode = this.frame.content.mode(),
-                               view = this.frame.router.get();
+               this.frame.off( 'content:activate', this.saveContentMode, this );
 
-                       if ( view && view.get( mode ) ) {
-                               setUserSetting( 'libraryContent', mode );
-                       }
-               }
-       });
+               // Unbind all event handlers that use this state as the context
+               // from the selection.
+               this.get('selection').off( null, null, this );
 
-       // Make selectionSync available on any Media Library state.
-       _.extend( media.controller.Library.prototype, media.selectionSync );
+               wp.Uploader.queue.off( null, null, this );
+       },
 
        /**
-        * wp.media.controller.ImageDetails
-        *
-        * A state for editing the attachment display settings of an image that's been
-        * inserted into the editor.
+        * Reset the library to its initial state.
         *
-        * @class
-        * @augments wp.media.controller.State
-        * @augments Backbone.Model
+        * @since 3.5.0
+        */
+       reset: function() {
+               this.get('selection').reset();
+               this.resetDisplays();
+               this.refreshContent();
+       },
+
+       /**
+        * Reset the attachment display settings defaults to the site options.
         *
-        * @param {object}                    [attributes]                       The attributes hash passed to the state.
-        * @param {string}                    [attributes.id=image-details]      Unique identifier.
-        * @param {string}                    [attributes.title=Image Details]   Title for the state. Displays in the frame's title region.
-        * @param {wp.media.model.Attachment} attributes.image                   The image's model.
-        * @param {string|false}              [attributes.content=image-details] Initial mode for the content region.
-        * @param {string|false}              [attributes.menu=false]            Initial mode for the menu region.
-        * @param {string|false}              [attributes.router=false]          Initial mode for the router region.
-        * @param {string|false}              [attributes.toolbar=image-details] Initial mode for the toolbar region.
-        * @param {boolean}                   [attributes.editing=false]         Unused.
-        * @param {int}                       [attributes.priority=60]           Unused.
+        * If site options don't define them, fall back to a persistent user setting.
         *
-        * @todo This state inherits some defaults from media.controller.Library.prototype.defaults,
-        *       however this may not do anything.
-        */
-       media.controller.ImageDetails = media.controller.State.extend({
-               defaults: _.defaults({
-                       id:       'image-details',
-                       title:    l10n.imageDetailsTitle,
-                       content:  'image-details',
-                       menu:     false,
-                       router:   false,
-                       toolbar:  'image-details',
-                       editing:  false,
-                       priority: 60
-               }, media.controller.Library.prototype.defaults ),
+        * @since 3.5.0
+        */
+       resetDisplays: function() {
+               var defaultProps = wp.media.view.settings.defaultProps;
+               this._displays = [];
+               this._defaultDisplaySettings = {
+                       align: defaultProps.align || getUserSetting( 'align', 'none' ),
+                       size:  defaultProps.size  || getUserSetting( 'imgsize', 'medium' ),
+                       link:  defaultProps.link  || getUserSetting( 'urlbutton', 'file' )
+               };
+       },
 
-               /**
-                * @since 3.9.0
-                *
-                * @param options Attributes
-                */
-               initialize: function( options ) {
-                       this.image = options.image;
-                       media.controller.State.prototype.initialize.apply( this, arguments );
-               },
+       /**
+        * Create a model to represent display settings (alignment, etc.) for an attachment.
+        *
+        * @since 3.5.0
+        *
+        * @param {wp.media.model.Attachment} attachment
+        * @returns {Backbone.Model}
+        */
+       display: function( attachment ) {
+               var displays = this._displays;
 
-               /**
-                * @since 3.9.0
-                */
-               activate: function() {
-                       this.frame.modal.$el.addClass('image-details');
+               if ( ! displays[ attachment.cid ] ) {
+                       displays[ attachment.cid ] = new Backbone.Model( this.defaultDisplaySettings( attachment ) );
                }
-       });
+               return displays[ attachment.cid ];
+       },
 
        /**
-        * wp.media.controller.GalleryEdit
+        * Given an attachment, create attachment display settings properties.
         *
-        * A state for editing a gallery's images and settings.
+        * @since 3.6.0
         *
-        * @class
-        * @augments wp.media.controller.Library
-        * @augments wp.media.controller.State
-        * @augments Backbone.Model
-        *
-        * @param {object}                     [attributes]                       The attributes hash passed to the state.
-        * @param {string}                     [attributes.id=gallery-edit]       Unique identifier.
-        * @param {string}                     [attributes.title=Edit Gallery]    Title for the state. Displays in the frame's title region.
-        * @param {wp.media.model.Attachments} [attributes.library]               The collection of attachments in the gallery.
-        *                                                                        If one is not supplied, an empty media.model.Selection collection is created.
-        * @param {boolean}                    [attributes.multiple=false]        Whether multi-select is enabled.
-        * @param {boolean}                    [attributes.searchable=false]      Whether the library is searchable.
-        * @param {boolean}                    [attributes.sortable=true]         Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
-        * @param {string|false}               [attributes.content=browse]        Initial mode for the content region.
-        * @param {string|false}               [attributes.toolbar=image-details] Initial mode for the toolbar region.
-        * @param {boolean}                    [attributes.describe=true]         Whether to offer UI to describe attachments - e.g. captioning images in a gallery.
-        * @param {boolean}                    [attributes.displaySettings=true]  Whether to show the attachment display settings interface.
-        * @param {boolean}                    [attributes.dragInfo=true]         Whether to show instructional text about the attachments being sortable.
-        * @param {int}                        [attributes.idealColumnWidth=170]  The ideal column width in pixels for attachments.
-        * @param {boolean}                    [attributes.editing=false]         Whether the gallery is being created, or editing an existing instance.
-        * @param {int}                        [attributes.priority=60]           The priority for the state link in the media menu.
-        * @param {boolean}                    [attributes.syncSelection=false]   Whether the Attachments selection should be persisted from the last state.
-        *                                                                        Defaults to false for this state, because the library passed in  *is* the selection.
-        * @param {view}                       [attributes.AttachmentView]        The single `Attachment` view to be used in the `Attachments`.
-        *                                                                        If none supplied, defaults to wp.media.view.Attachment.EditLibrary.
-        */
-       media.controller.GalleryEdit = media.controller.Library.extend({
-               defaults: {
-                       id:               'gallery-edit',
-                       title:            l10n.editGalleryTitle,
-                       multiple:         false,
-                       searchable:       false,
-                       sortable:         true,
-                       display:          false,
-                       content:          'browse',
-                       toolbar:          'gallery-edit',
-                       describe:         true,
-                       displaySettings:  true,
-                       dragInfo:         true,
-                       idealColumnWidth: 170,
-                       editing:          false,
-                       priority:         60,
-                       syncSelection:    false
-               },
-
-               /**
-                * @since 3.5.0
-                */
-               initialize: function() {
-                       // 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 );
-               },
-
-               /**
-                * @since 3.5.0
-                */
-               activate: function() {
-                       var library = this.get('library');
-
-                       // Limit the library to images only.
-                       library.props.set( 'type', 'image' );
+        * @param {wp.media.model.Attachment} attachment
+        * @returns {Object}
+        */
+       defaultDisplaySettings: function( attachment ) {
+               var settings = this._defaultDisplaySettings;
+               if ( settings.canEmbed = this.canEmbed( attachment ) ) {
+                       settings.link = 'embed';
+               }
+               return settings;
+       },
 
-                       // Watch for uploaded attachments.
-                       this.get('library').observe( wp.Uploader.queue );
+       /**
+        * Whether an attachment can be embedded (audio or video).
+        *
+        * @since 3.6.0
+        *
+        * @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' ) {
+                               return false;
+                       }
+               }
 
-                       this.frame.on( 'content:render:browse', this.gallerySettings, this );
+               return _.contains( wp.media.view.settings.embedExts, attachment.get('filename').split('.').pop() );
+       },
 
-                       media.controller.Library.prototype.activate.apply( this, arguments );
-               },
 
-               /**
-                * @since 3.5.0
-                */
-               deactivate: function() {
-                       // Stop watching for uploaded attachments.
-                       this.get('library').unobserve( wp.Uploader.queue );
+       /**
+        * 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.
+        *
+        * @since 3.5.0
+        */
+       refreshContent: function() {
+               var selection = this.get('selection'),
+                       frame = this.frame,
+                       router = frame.router.get(),
+                       mode = frame.content.mode();
+
+               if ( this.active && ! selection.length && router && ! router.get( mode ) ) {
+                       this.frame.content.render( this.get('content') );
+               }
+       },
 
-                       this.frame.off( 'content:render:browse', this.gallerySettings, this );
+       /**
+        * Callback handler when an attachment is uploaded.
+        *
+        * Switch to the Media Library if uploaded from the 'Upload Files' tab.
+        *
+        * Adds any uploading attachments to the selection.
+        *
+        * If the state only supports one attachment to be selected and multiple
+        * attachments are uploaded, the last attachment in the upload queue will
+        * be selected.
+        *
+        * @since 3.5.0
+        *
+        * @param {wp.media.model.Attachment} attachment
+        */
+       uploading: function( attachment ) {
+               var content = this.frame.content;
 
-                       media.controller.Library.prototype.deactivate.apply( this, arguments );
-               },
+               if ( 'upload' === content.mode() ) {
+                       this.frame.content.mode('browse');
+               }
 
-               /**
-                * @since 3.5.0
-                *
-                * @param browser
-                */
-               gallerySettings: function( browser ) {
-                       if ( ! this.get('displaySettings') ) {
-                               return;
-                       }
+               if ( this.get( 'autoSelect' ) ) {
+                       this.get('selection').add( attachment );
+                       this.frame.trigger( 'library:selection:add' );
+               }
+       },
 
-                       var library = this.get('library');
+       /**
+        * Persist the mode of the content region as a user setting.
+        *
+        * @since 3.5.0
+        */
+       saveContentMode: function() {
+               if ( 'browse' !== this.get('router') ) {
+                       return;
+               }
 
-                       if ( ! library || ! browser ) {
-                               return;
-                       }
+               var mode = this.frame.content.mode(),
+                       view = this.frame.router.get();
 
-                       library.gallery = library.gallery || new Backbone.Model();
+               if ( view && view.get( mode ) ) {
+                       setUserSetting( 'libraryContent', mode );
+               }
+       }
+});
+
+// Make selectionSync available on any Media Library state.
+_.extend( Library.prototype, wp.media.selectionSync );
+
+module.exports = Library;
+
+},{}],11:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.controller.MediaLibrary
+ *
+ * @class
+ * @augments wp.media.controller.Library
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ */
+var Library = wp.media.controller.Library,
+       MediaLibrary;
+
+MediaLibrary = Library.extend({
+       defaults: _.defaults({
+               // Attachments browser defaults. @see media.view.AttachmentsBrowser
+               filterable:      'uploaded',
+
+               displaySettings: false,
+               priority:        80,
+               syncSelection:   false
+       }, Library.prototype.defaults ),
 
-                       browser.sidebar.set({
-                               gallery: new media.view.Settings.Gallery({
-                                       controller: this,
-                                       model:      library.gallery,
-                                       priority:   40
-                               })
-                       });
+       /**
+        * @since 3.9.0
+        *
+        * @param options
+        */
+       initialize: function( options ) {
+               this.media = options.media;
+               this.type = options.type;
+               this.set( 'library', wp.media.query({ type: this.type }) );
 
-                       browser.toolbar.set( 'reverse', {
-                               text:     l10n.reverseOrder,
-                               priority: 80,
+               Library.prototype.initialize.apply( this, arguments );
+       },
 
-                               click: function() {
-                                       library.reset( library.toArray().reverse() );
-                               }
-                       });
+       /**
+        * @since 3.9.0
+        */
+       activate: function() {
+               // @todo this should use this.frame.
+               if ( wp.media.frame.lastMime ) {
+                       this.set( 'library', wp.media.query({ type: wp.media.frame.lastMime }) );
+                       delete wp.media.frame.lastMime;
                }
-       });
-
+               Library.prototype.activate.apply( this, arguments );
+       }
+});
+
+module.exports = MediaLibrary;
+
+},{}],12:[function(require,module,exports){
+/*globals Backbone, _ */
+
+/**
+ * wp.media.controller.Region
+ *
+ * A region is a persistent application layout area.
+ *
+ * A region assumes one mode at any time, and can be switched to another.
+ *
+ * When mode changes, events are triggered on the region's parent view.
+ * The parent view will listen to specific events and fill the region with an
+ * appropriate view depending on mode. For example, a frame listens for the
+ * 'browse' mode t be activated on the 'content' view and then fills the region
+ * with an AttachmentsBrowser view.
+ *
+ * @class
+ *
+ * @param {object}        options          Options hash for the region.
+ * @param {string}        options.id       Unique identifier for the region.
+ * @param {Backbone.View} options.view     A parent view the region exists within.
+ * @param {string}        options.selector jQuery selector for the region within the parent view.
+ */
+var Region = function( options ) {
+       _.extend( this, _.pick( options || {}, 'id', 'view', 'selector' ) );
+};
+
+// Use Backbone's self-propagating `extend` inheritance method.
+Region.extend = Backbone.Model.extend;
+
+_.extend( Region.prototype, {
        /**
-        * A state for selecting more images to add to a gallery.
+        * Activate a mode.
+        *
+        * @since 3.5.0
+        *
+        * @param {string} mode
         *
-        * @class
-        * @augments wp.media.controller.Library
-        * @augments wp.media.controller.State
-        * @augments Backbone.Model
+        * @fires this.view#{this.id}:activate:{this._mode}
+        * @fires this.view#{this.id}:activate
+        * @fires this.view#{this.id}:deactivate:{this._mode}
+        * @fires this.view#{this.id}:deactivate
         *
-        * @param {object}                     [attributes]                         The attributes hash passed to the state.
-        * @param {string}                     [attributes.id=gallery-library]      Unique identifier.
-        * @param {string}                     [attributes.title=Add to Gallery]    Title for the state. Displays in the frame's title region.
-        * @param {boolean}                    [attributes.multiple=add]            Whether multi-select is enabled. @todo 'add' doesn't seem do anything special, and gets used as a boolean.
-        * @param {wp.media.model.Attachments} [attributes.library]                 The attachments collection to browse.
-        *                                                                          If one is not supplied, a collection of all images will be created.
-        * @param {boolean|string}             [attributes.filterable=uploaded]     Whether the library is filterable, and if so what filters should be shown.
-        *                                                                          Accepts 'all', 'uploaded', or 'unattached'.
-        * @param {string}                     [attributes.menu=gallery]            Initial mode for the menu region.
-        * @param {string}                     [attributes.content=upload]          Initial mode for the content region.
-        *                                                                          Overridden by persistent user setting if 'contentUserSetting' is true.
-        * @param {string}                     [attributes.router=browse]           Initial mode for the router region.
-        * @param {string}                     [attributes.toolbar=gallery-add]     Initial mode for the toolbar region.
-        * @param {boolean}                    [attributes.searchable=true]         Whether the library is searchable.
-        * @param {boolean}                    [attributes.sortable=true]           Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
-        * @param {boolean}                    [attributes.autoSelect=true]         Whether an uploaded attachment should be automatically added to the selection.
-        * @param {boolean}                    [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user.
-        * @param {int}                        [attributes.priority=100]            The priority for the state link in the media menu.
-        * @param {boolean}                    [attributes.syncSelection=false]     Whether the Attachments selection should be persisted from the last state.
-        *                                                                          Defaults to false because for this state, because the library of the Edit Gallery state is the selection.
-        */
-       media.controller.GalleryAdd = media.controller.Library.extend({
-               defaults: _.defaults({
-                       id:            'gallery-library',
-                       title:         l10n.addToGalleryTitle,
-                       multiple:      'add',
-                       filterable:    'uploaded',
-                       menu:          'gallery',
-                       toolbar:       'gallery-add',
-                       priority:      100,
-                       syncSelection: false
-               }, media.controller.Library.prototype.defaults ),
+        * @returns {wp.media.controller.Region} Returns itself to allow chaining.
+        */
+       mode: function( mode ) {
+               if ( ! mode ) {
+                       return this._mode;
+               }
+               // Bail if we're trying to change to the current mode.
+               if ( mode === this._mode ) {
+                       return this;
+               }
 
                /**
-                * @since 3.5.0
+                * Region mode deactivation event.
+                *
+                * @event this.view#{this.id}:deactivate:{this._mode}
+                * @event this.view#{this.id}:deactivate
                 */
-               initialize: function() {
-                       // If a library wasn't supplied, create a library of images.
-                       if ( ! this.get('library') )
-                               this.set( 'library', media.query({ type: 'image' }) );
+               this.trigger('deactivate');
 
-                       media.controller.Library.prototype.initialize.apply( this, arguments );
-               },
+               this._mode = mode;
+               this.render( mode );
 
                /**
-                * @since 3.5.0
+                * Region mode activation event.
+                *
+                * @event this.view#{this.id}:activate:{this._mode}
+                * @event this.view#{this.id}:activate
                 */
-               activate: function() {
-                       var library = this.get('library'),
-                               edit    = this.frame.state('gallery-edit').get('library');
-
-                       if ( this.editLibrary && this.editLibrary !== edit )
-                               library.unobserve( this.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.editLibrary = edit;
-
-                       media.controller.Library.prototype.activate.apply( this, arguments );
-               }
-       });
-
+               this.trigger('activate');
+               return this;
+       },
        /**
-        * wp.media.controller.CollectionEdit
+        * Render a mode.
+        *
+        * @since 3.5.0
         *
-        * A state for editing a collection, which is used by audio and video playlists,
-        * and can be used for other collections.
+        * @param {string} mode
         *
-        * @class
-        * @augments wp.media.controller.Library
-        * @augments wp.media.controller.State
-        * @augments Backbone.Model
+        * @fires this.view#{this.id}:create:{this._mode}
+        * @fires this.view#{this.id}:create
+        * @fires this.view#{this.id}:render:{this._mode}
+        * @fires this.view#{this.id}:render
         *
-        * @param {object}                     [attributes]                      The attributes hash passed to the state.
-        * @param {string}                     attributes.title                  Title for the state. Displays in the media menu and the frame's title region.
-        * @param {wp.media.model.Attachments} [attributes.library]              The attachments collection to edit.
-        *                                                                       If one is not supplied, an empty media.model.Selection collection is created.
-        * @param {boolean}                    [attributes.multiple=false]       Whether multi-select is enabled.
-        * @param {string}                     [attributes.content=browse]       Initial mode for the content region.
-        * @param {string}                     attributes.menu                   Initial mode for the menu region. @todo this needs a better explanation.
-        * @param {boolean}                    [attributes.searchable=false]     Whether the library is searchable.
-        * @param {boolean}                    [attributes.sortable=true]        Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
-        * @param {boolean}                    [attributes.describe=true]        Whether to offer UI to describe the attachments - e.g. captioning images in a gallery.
-        * @param {boolean}                    [attributes.dragInfo=true]        Whether to show instructional text about the attachments being sortable.
-        * @param {boolean}                    [attributes.dragInfoText]         Instructional text about the attachments being sortable.
-        * @param {int}                        [attributes.idealColumnWidth=170] The ideal column width in pixels for attachments.
-        * @param {boolean}                    [attributes.editing=false]        Whether the gallery is being created, or editing an existing instance.
-        * @param {int}                        [attributes.priority=60]          The priority for the state link in the media menu.
-        * @param {boolean}                    [attributes.syncSelection=false]  Whether the Attachments selection should be persisted from the last state.
-        *                                                                       Defaults to false for this state, because the library passed in  *is* the selection.
-        * @param {view}                       [attributes.SettingsView]         The view to edit the collection instance settings (e.g. Playlist settings with "Show tracklist" checkbox).
-        * @param {view}                       [attributes.AttachmentView]       The single `Attachment` view to be used in the `Attachments`.
-        *                                                                       If none supplied, defaults to wp.media.view.Attachment.EditLibrary.
-        * @param {string}                     attributes.type                   The collection's media type. (e.g. 'video').
-        * @param {string}                     attributes.collectionType         The collection type. (e.g. 'playlist').
-        */
-       media.controller.CollectionEdit = media.controller.Library.extend({
-               defaults: {
-                       multiple:         false,
-                       sortable:         true,
-                       searchable:       false,
-                       content:          'browse',
-                       describe:         true,
-                       dragInfo:         true,
-                       idealColumnWidth: 170,
-                       editing:          false,
-                       priority:         60,
-                       SettingsView:     false,
-                       syncSelection:    false
-               },
+        * @returns {wp.media.controller.Region} Returns itself to allow chaining
+        */
+       render: function( mode ) {
+               // If the mode isn't active, activate it.
+               if ( mode && mode !== this._mode ) {
+                       return this.mode( mode );
+               }
+
+               var set = { view: null },
+                       view;
 
                /**
-                * @since 3.9.0
+                * Create region view event.
+                *
+                * Region view creation takes place in an event callback on the frame.
+                *
+                * @event this.view#{this.id}:create:{this._mode}
+                * @event this.view#{this.id}:create
                 */
-               initialize: function() {
-                       var collectionType = this.get('collectionType');
-
-                       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 );
-               },
+               this.trigger( 'create', set );
+               view = set.view;
 
                /**
-                * @since 3.9.0
+                * Render region view event.
+                *
+                * Region view creation takes place in an event callback on the frame.
+                *
+                * @event this.view#{this.id}:create:{this._mode}
+                * @event this.view#{this.id}:create
                 */
-               activate: function() {
-                       var library = this.get('library');
-
-                       // Limit the library to images only.
-                       library.props.set( 'type', this.get( 'type' ) );
+               this.trigger( 'render', view );
+               if ( view ) {
+                       this.set( view );
+               }
+               return this;
+       },
 
-                       // Watch for uploaded attachments.
-                       this.get('library').observe( wp.Uploader.queue );
+       /**
+        * Get the region's view.
+        *
+        * @since 3.5.0
+        *
+        * @returns {wp.media.View}
+        */
+       get: function() {
+               return this.view.views.first( this.selector );
+       },
 
-                       this.frame.on( 'content:render:browse', this.renderSettings, this );
+       /**
+        * Set the region's view as a subview of the frame.
+        *
+        * @since 3.5.0
+        *
+        * @param {Array|Object} views
+        * @param {Object} [options={}]
+        * @returns {wp.Backbone.Subviews} Subviews is returned to allow chaining
+        */
+       set: function( views, options ) {
+               if ( options ) {
+                       options.add = false;
+               }
+               return this.view.views.set( this.selector, views, options );
+       },
 
-                       media.controller.Library.prototype.activate.apply( this, arguments );
-               },
+       /**
+        * Trigger regional view events on the frame.
+        *
+        * @since 3.5.0
+        *
+        * @param {string} event
+        * @returns {undefined|wp.media.controller.Region} Returns itself to allow chaining.
+        */
+       trigger: function( event ) {
+               var base, args;
 
-               /**
-                * @since 3.9.0
-                */
-               deactivate: function() {
-                       // Stop watching for uploaded attachments.
-                       this.get('library').unobserve( wp.Uploader.queue );
+               if ( ! this._mode ) {
+                       return;
+               }
 
-                       this.frame.off( 'content:render:browse', this.renderSettings, this );
+               args = _.toArray( arguments );
+               base = this.id + ':' + event;
+
+               // Trigger `{this.id}:{event}:{this._mode}` event on the frame.
+               args[0] = base + ':' + this._mode;
+               this.view.trigger.apply( this.view, args );
+
+               // Trigger `{this.id}:{event}` event on the frame.
+               args[0] = base;
+               this.view.trigger.apply( this.view, args );
+               return this;
+       }
+});
+
+module.exports = Region;
+
+},{}],13:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.controller.ReplaceImage
+ *
+ * A state for replacing an image.
+ *
+ * @class
+ * @augments wp.media.controller.Library
+ * @augments wp.media.controller.State
+ * @augments Backbone.Model
+ *
+ * @param {object}                     [attributes]                         The attributes hash passed to the state.
+ * @param {string}                     [attributes.id=replace-image]        Unique identifier.
+ * @param {string}                     [attributes.title=Replace Image]     Title for the state. Displays in the media menu and the frame's title region.
+ * @param {wp.media.model.Attachments} [attributes.library]                 The attachments collection to browse.
+ *                                                                          If one is not supplied, a collection of all images will be created.
+ * @param {boolean}                    [attributes.multiple=false]          Whether multi-select is enabled.
+ * @param {string}                     [attributes.content=upload]          Initial mode for the content region.
+ *                                                                          Overridden by persistent user setting if 'contentUserSetting' is true.
+ * @param {string}                     [attributes.menu=default]            Initial mode for the menu region.
+ * @param {string}                     [attributes.router=browse]           Initial mode for the router region.
+ * @param {string}                     [attributes.toolbar=replace]         Initial mode for the toolbar region.
+ * @param {int}                        [attributes.priority=60]             The priority for the state link in the media menu.
+ * @param {boolean}                    [attributes.searchable=true]         Whether the library is searchable.
+ * @param {boolean|string}             [attributes.filterable=uploaded]     Whether the library is filterable, and if so what filters should be shown.
+ *                                                                          Accepts 'all', 'uploaded', or 'unattached'.
+ * @param {boolean}                    [attributes.sortable=true]           Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
+ * @param {boolean}                    [attributes.autoSelect=true]         Whether an uploaded attachment should be automatically added to the selection.
+ * @param {boolean}                    [attributes.describe=false]          Whether to offer UI to describe attachments - e.g. captioning images in a gallery.
+ * @param {boolean}                    [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user.
+ * @param {boolean}                    [attributes.syncSelection=true]      Whether the Attachments selection should be persisted from the last state.
+ */
+var Library = wp.media.controller.Library,
+       l10n = wp.media.view.l10n,
+       ReplaceImage;
+
+ReplaceImage = Library.extend({
+       defaults: _.defaults({
+               id:            'replace-image',
+               title:         l10n.replaceImageTitle,
+               multiple:      false,
+               filterable:    'uploaded',
+               toolbar:       'replace',
+               menu:          false,
+               priority:      60,
+               syncSelection: true
+       }, Library.prototype.defaults ),
 
-                       media.controller.Library.prototype.deactivate.apply( this, arguments );
-               },
+       /**
+        * @since 3.9.0
+        *
+        * @param options
+        */
+       initialize: function( options ) {
+               var library, comparator;
 
-               /**
-                * Render the collection embed settings view in the browser sidebar.
-                *
-                * @todo This is against the pattern elsewhere in media. Typically the frame
-                *       is responsible for adding region mode callbacks. Explain.
-                *
-                * @since 3.9.0
-                *
-                * @param {wp.media.view.attachmentsBrowser} The attachments browser view.
-                */
-               renderSettings: function( attachmentsBrowserView ) {
-                       var library = this.get('library'),
-                               collectionType = this.get('collectionType'),
-                               dragInfoText = this.get('dragInfoText'),
-                               SettingsView = this.get('SettingsView'),
-                               obj = {};
-
-                       if ( ! library || ! attachmentsBrowserView ) {
-                               return;
-                       }
+               this.image = options.image;
+               // If we haven't been provided a `library`, create a `Selection`.
+               if ( ! this.get('library') ) {
+                       this.set( 'library', wp.media.query({ type: 'image' }) );
+               }
 
-                       library[ collectionType ] = library[ collectionType ] || new Backbone.Model();
+               Library.prototype.initialize.apply( this, arguments );
 
-                       obj[ collectionType ] = new SettingsView({
-                               controller: this,
-                               model:      library[ collectionType ],
-                               priority:   40
-                       });
+               library    = this.get('library');
+               comparator = library.comparator;
 
-                       attachmentsBrowserView.sidebar.set( obj );
+               // 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 ( dragInfoText ) {
-                               attachmentsBrowserView.toolbar.set( 'dragInfo', new media.View({
-                                       el: $( '<div class="instructions">' + dragInfoText + '</div>' )[0],
-                                       priority: -40
-                               }) );
+                       if ( ! aInQuery && bInQuery ) {
+                               return -1;
+                       } else if ( aInQuery && ! bInQuery ) {
+                               return 1;
+                       } else {
+                               return comparator.apply( this, arguments );
                        }
+               };
 
-                       // Add the 'Reverse order' button to the toolbar.
-                       attachmentsBrowserView.toolbar.set( 'reverse', {
-                               text:     l10n.reverseOrder,
-                               priority: 80,
-
-                               click: function() {
-                                       library.reset( library.toArray().reverse() );
-                               }
-                       });
-               }
-       });
+               // 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') );
+       },
 
        /**
-        * wp.media.controller.CollectionAdd
-        *
-        * A state for adding attachments to a collection (e.g. video playlist).
-        *
-        * @class
-        * @augments wp.media.controller.Library
-        * @augments wp.media.controller.State
-        * @augments Backbone.Model
-        *
-        * @param {object}                     [attributes]                         The attributes hash passed to the state.
-        * @param {string}                     [attributes.id=library]      Unique identifier.
-        * @param {string}                     attributes.title                    Title for the state. Displays in the frame's title region.
-        * @param {boolean}                    [attributes.multiple=add]            Whether multi-select is enabled. @todo 'add' doesn't seem do anything special, and gets used as a boolean.
-        * @param {wp.media.model.Attachments} [attributes.library]                 The attachments collection to browse.
-        *                                                                          If one is not supplied, a collection of attachments of the specified type will be created.
-        * @param {boolean|string}             [attributes.filterable=uploaded]     Whether the library is filterable, and if so what filters should be shown.
-        *                                                                          Accepts 'all', 'uploaded', or 'unattached'.
-        * @param {string}                     [attributes.menu=gallery]            Initial mode for the menu region.
-        * @param {string}                     [attributes.content=upload]          Initial mode for the content region.
-        *                                                                          Overridden by persistent user setting if 'contentUserSetting' is true.
-        * @param {string}                     [attributes.router=browse]           Initial mode for the router region.
-        * @param {string}                     [attributes.toolbar=gallery-add]     Initial mode for the toolbar region.
-        * @param {boolean}                    [attributes.searchable=true]         Whether the library is searchable.
-        * @param {boolean}                    [attributes.sortable=true]           Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
-        * @param {boolean}                    [attributes.autoSelect=true]         Whether an uploaded attachment should be automatically added to the selection.
-        * @param {boolean}                    [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user.
-        * @param {int}                        [attributes.priority=100]            The priority for the state link in the media menu.
-        * @param {boolean}                    [attributes.syncSelection=false]     Whether the Attachments selection should be persisted from the last state.
-        *                                                                          Defaults to false because for this state, because the library of the Edit Gallery state is the selection.
-        * @param {string}                     attributes.type                   The collection's media type. (e.g. 'video').
-        * @param {string}                     attributes.collectionType         The collection type. (e.g. 'playlist').
-        */
-       media.controller.CollectionAdd = media.controller.Library.extend({
-               defaults: _.defaults( {
-                       // Selection defaults. @see media.model.Selection
-                       multiple:      'add',
-                       // Attachments browser defaults. @see media.view.AttachmentsBrowser
-                       filterable:    'uploaded',
-
-                       priority:      100,
-                       syncSelection: false
-               }, media.controller.Library.prototype.defaults ),
-
-               /**
-                * @since 3.9.0
-                */
-               initialize: function() {
-                       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 );
-               },
-
-               /**
-                * @since 3.9.0
-                */
-               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 );
-               }
-       });
+        * @since 3.9.0
+        */
+       activate: function() {
+               this.updateSelection();
+               Library.prototype.activate.apply( this, arguments );
+       },
 
        /**
-        * wp.media.controller.FeaturedImage
+        * @since 3.9.0
+        */
+       updateSelection: function() {
+               var selection = this.get('selection'),
+                       attachment = this.image.attachment;
+
+               selection.reset( attachment ? [ attachment ] : [] );
+       }
+});
+
+module.exports = ReplaceImage;
+
+},{}],14:[function(require,module,exports){
+/*globals _, Backbone */
+
+/**
+ * wp.media.controller.StateMachine
+ *
+ * A state machine keeps track of state. It is in one state at a time,
+ * and can change from one state to another.
+ *
+ * States are stored as models in a Backbone collection.
+ *
+ * @since 3.5.0
+ *
+ * @class
+ * @augments Backbone.Model
+ * @mixin
+ * @mixes Backbone.Events
+ *
+ * @param {Array} states
+ */
+var StateMachine = function( states ) {
+       // @todo This is dead code. The states collection gets created in media.view.Frame._createStates.
+       this.states = new Backbone.Collection( states );
+};
+
+// Use Backbone's self-propagating `extend` inheritance method.
+StateMachine.extend = Backbone.Model.extend;
+
+_.extend( StateMachine.prototype, Backbone.Events, {
+       /**
+        * Fetch a state.
         *
-        * A state for selecting a featured image for a post.
+        * If no `id` is provided, returns the active state.
         *
-        * @class
-        * @augments wp.media.controller.Library
-        * @augments wp.media.controller.State
-        * @augments Backbone.Model
+        * Implicitly creates states.
         *
-        * @param {object}                     [attributes]                          The attributes hash passed to the state.
-        * @param {string}                     [attributes.id=featured-image]        Unique identifier.
-        * @param {string}                     [attributes.title=Set Featured Image] Title for the state. Displays in the media menu and the frame's title region.
-        * @param {wp.media.model.Attachments} [attributes.library]                  The attachments collection to browse.
-        *                                                                           If one is not supplied, a collection of all images will be created.
-        * @param {boolean}                    [attributes.multiple=false]           Whether multi-select is enabled.
-        * @param {string}                     [attributes.content=upload]           Initial mode for the content region.
-        *                                                                           Overridden by persistent user setting if 'contentUserSetting' is true.
-        * @param {string}                     [attributes.menu=default]             Initial mode for the menu region.
-        * @param {string}                     [attributes.router=browse]            Initial mode for the router region.
-        * @param {string}                     [attributes.toolbar=featured-image]   Initial mode for the toolbar region.
-        * @param {int}                        [attributes.priority=60]              The priority for the state link in the media menu.
-        * @param {boolean}                    [attributes.searchable=true]          Whether the library is searchable.
-        * @param {boolean|string}             [attributes.filterable=false]         Whether the library is filterable, and if so what filters should be shown.
-        *                                                                           Accepts 'all', 'uploaded', or 'unattached'.
-        * @param {boolean}                    [attributes.sortable=true]            Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
-        * @param {boolean}                    [attributes.autoSelect=true]          Whether an uploaded attachment should be automatically added to the selection.
-        * @param {boolean}                    [attributes.describe=false]           Whether to offer UI to describe attachments - e.g. captioning images in a gallery.
-        * @param {boolean}                    [attributes.contentUserSetting=true]  Whether the content region's mode should be set and persisted per user.
-        * @param {boolean}                    [attributes.syncSelection=true]       Whether the Attachments selection should be persisted from the last state.
-        */
-       media.controller.FeaturedImage = media.controller.Library.extend({
-               defaults: _.defaults({
-                       id:            'featured-image',
-                       title:         l10n.setFeaturedImageTitle,
-                       multiple:      false,
-                       filterable:    'uploaded',
-                       toolbar:       'featured-image',
-                       priority:      60,
-                       syncSelection: true
-               }, media.controller.Library.prototype.defaults ),
-
-               /**
-                * @since 3.5.0
-                */
-               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') );
-               },
-
-               /**
-                * @since 3.5.0
-                */
-               activate: function() {
-                       this.updateSelection();
-                       this.frame.on( 'open', this.updateSelection, this );
-
-                       media.controller.Library.prototype.activate.apply( this, arguments );
-               },
-
-               /**
-                * @since 3.5.0
-                */
-               deactivate: function() {
-                       this.frame.off( 'open', this.updateSelection, this );
-
-                       media.controller.Library.prototype.deactivate.apply( this, arguments );
-               },
-
-               /**
-                * @since 3.5.0
-                */
-               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
-        *
-        * A state for replacing an image.
+        * Ensure that the `states` collection exists so the `StateMachine`
+        *   can be used as a mixin.
         *
-        * @class
-        * @augments wp.media.controller.Library
-        * @augments wp.media.controller.State
-        * @augments Backbone.Model
+        * @since 3.5.0
         *
-        * @param {object}                     [attributes]                         The attributes hash passed to the state.
-        * @param {string}                     [attributes.id=replace-image]        Unique identifier.
-        * @param {string}                     [attributes.title=Replace Image]     Title for the state. Displays in the media menu and the frame's title region.
-        * @param {wp.media.model.Attachments} [attributes.library]                 The attachments collection to browse.
-        *                                                                          If one is not supplied, a collection of all images will be created.
-        * @param {boolean}                    [attributes.multiple=false]          Whether multi-select is enabled.
-        * @param {string}                     [attributes.content=upload]          Initial mode for the content region.
-        *                                                                          Overridden by persistent user setting if 'contentUserSetting' is true.
-        * @param {string}                     [attributes.menu=default]            Initial mode for the menu region.
-        * @param {string}                     [attributes.router=browse]           Initial mode for the router region.
-        * @param {string}                     [attributes.toolbar=replace]         Initial mode for the toolbar region.
-        * @param {int}                        [attributes.priority=60]             The priority for the state link in the media menu.
-        * @param {boolean}                    [attributes.searchable=true]         Whether the library is searchable.
-        * @param {boolean|string}             [attributes.filterable=uploaded]     Whether the library is filterable, and if so what filters should be shown.
-        *                                                                          Accepts 'all', 'uploaded', or 'unattached'.
-        * @param {boolean}                    [attributes.sortable=true]           Whether the Attachments should be sortable. Depends on the orderby property being set to menuOrder on the attachments collection.
-        * @param {boolean}                    [attributes.autoSelect=true]         Whether an uploaded attachment should be automatically added to the selection.
-        * @param {boolean}                    [attributes.describe=false]          Whether to offer UI to describe attachments - e.g. captioning images in a gallery.
-        * @param {boolean}                    [attributes.contentUserSetting=true] Whether the content region's mode should be set and persisted per user.
-        * @param {boolean}                    [attributes.syncSelection=true]      Whether the Attachments selection should be persisted from the last state.
-        */
-       media.controller.ReplaceImage = media.controller.Library.extend({
-               defaults: _.defaults({
-                       id:            'replace-image',
-                       title:         l10n.replaceImageTitle,
-                       multiple:      false,
-                       filterable:    'uploaded',
-                       toolbar:       'replace',
-                       menu:          false,
-                       priority:      60,
-                       syncSelection: true
-               }, media.controller.Library.prototype.defaults ),
-
-               /**
-                * @since 3.9.0
-                *
-                * @param options
-                */
-               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') );
-               },
-
-               /**
-                * @since 3.9.0
-                */
-               activate: function() {
-                       this.updateSelection();
-                       media.controller.Library.prototype.activate.apply( this, arguments );
-               },
+        * @param {string} id
+        * @returns {wp.media.controller.State} Returns a State model
+        *   from the StateMachine collection
+        */
+       state: function( id ) {
+               this.states = this.states || new Backbone.Collection();
 
-               /**
-                * @since 3.9.0
-                */
-               updateSelection: function() {
-                       var selection = this.get('selection'),
-                               attachment = this.image.attachment;
+               // Default to the active state.
+               id = id || this._state;
 
-                       selection.reset( attachment ? [ attachment ] : [] );
+               if ( id && ! this.states.get( id ) ) {
+                       this.states.add({ id: id });
                }
-       });
+               return this.states.get( id );
+       },
 
        /**
-        * wp.media.controller.EditImage
+        * Sets the active state.
         *
-        * A state for editing (cropping, etc.) an image.
+        * 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.
         *
-        * @class
-        * @augments wp.media.controller.State
-        * @augments Backbone.Model
+        * @since 3.5.0
         *
-        * @param {object}                    attributes                      The attributes hash passed to the state.
-        * @param {wp.media.model.Attachment} attributes.model                The attachment.
-        * @param {string}                    [attributes.id=edit-image]      Unique identifier.
-        * @param {string}                    [attributes.title=Edit Image]   Title for the state. Displays in the media menu and the frame's title region.
-        * @param {string}                    [attributes.content=edit-image] Initial mode for the content region.
-        * @param {string}                    [attributes.toolbar=edit-image] Initial mode for the toolbar region.
-        * @param {string}                    [attributes.menu=false]         Initial mode for the menu region.
-        * @param {string}                    [attributes.url]                Unused. @todo Consider removal.
-        */
-       media.controller.EditImage = media.controller.State.extend({
-               defaults: {
-                       id:      'edit-image',
-                       title:   l10n.editImage,
-                       menu:    false,
-                       toolbar: 'edit-image',
-                       content: 'edit-image',
-                       url:     ''
-               },
-
-               /**
-                * @since 3.9.0
-                */
-               activate: function() {
-                       this.listenTo( this.frame, 'toolbar:render:edit-image', this.toolbar );
-               },
-
-               /**
-                * @since 3.9.0
-                */
-               deactivate: function() {
-                       this.stopListening( this.frame );
-               },
-
-               /**
-                * @since 3.9.0
-                */
-               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
+        * @param {string} id
+        *
+        * @fires wp.media.controller.State#deactivate
+        * @fires wp.media.controller.State#activate
         *
-        * @class
-        * @augments wp.media.controller.Library
-        * @augments wp.media.controller.State
-        * @augments Backbone.Model
+        * @returns {wp.media.controller.StateMachine} Returns itself to allow chaining
         */
-       media.controller.MediaLibrary = media.controller.Library.extend({
-               defaults: _.defaults({
-                       // Attachments browser defaults. @see media.view.AttachmentsBrowser
-                       filterable:      'uploaded',
-
-                       displaySettings: false,
-                       priority:        80,
-                       syncSelection:   false
-               }, media.controller.Library.prototype.defaults ),
-
-               /**
-                * @since 3.9.0
-                *
-                * @param options
-                */
-               initialize: function( options ) {
-                       this.media = options.media;
-                       this.type = options.type;
-                       this.set( 'library', media.query({ type: this.type }) );
+       setState: function( id ) {
+               var previous = this.state();
 
-                       media.controller.Library.prototype.initialize.apply( this, arguments );
-               },
-
-               /**
-                * @since 3.9.0
-                */
-               activate: function() {
-                       // @todo this should use this.frame.
-                       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 );
+               if ( ( previous && id === previous.id ) || ! this.states || ! this.states.get( id ) ) {
+                       return this;
                }
-       });
 
-       /**
-        * wp.media.controller.Embed
-        *
-        * A state for embedding media from a URL.
-        *
-        * @class
-        * @augments wp.media.controller.State
-        * @augments Backbone.Model
-        *
-        * @param {object} attributes                         The attributes hash passed to the state.
-        * @param {string} [attributes.id=embed]              Unique identifier.
-        * @param {string} [attributes.title=Insert From URL] Title for the state. Displays in the media menu and the frame's title region.
-        * @param {string} [attributes.content=embed]         Initial mode for the content region.
-        * @param {string} [attributes.menu=default]          Initial mode for the menu region.
-        * @param {string} [attributes.toolbar=main-embed]    Initial mode for the toolbar region.
-        * @param {string} [attributes.menu=false]            Initial mode for the menu region.
-        * @param {int}    [attributes.priority=120]          The priority for the state link in the media menu.
-        * @param {string} [attributes.type=link]             The type of embed. Currently only link is supported.
-        * @param {string} [attributes.url]                   The embed URL.
-        * @param {object} [attributes.metadata={}]           Properties of the embed, which will override attributes.url if set.
-        */
-       media.controller.Embed = media.controller.State.extend({
-               defaults: {
-                       id:       'embed',
-                       title:    l10n.insertFromUrlTitle,
-                       content:  'embed',
-                       menu:     'default',
-                       toolbar:  'main-embed',
-                       priority: 120,
-                       type:     'link',
-                       url:      '',
-                       metadata: {}
-               },
-
-               // The amount of time used when debouncing the scan.
-               sensitivity: 200,
-
-               initialize: function(options) {
-                       this.metadata = options.metadata;
-                       this.debouncedScan = _.debounce( _.bind( this.scan, this ), this.sensitivity );
-                       this.props = new Backbone.Model( this.metadata || { url: '' });
-                       this.props.on( 'change:url', this.debouncedScan, this );
-                       this.props.on( 'change:url', this.refresh, this );
-                       this.on( 'scan', this.scanImage, this );
-               },
-
-               /**
-                * Trigger a scan of the embedded URL's content for metadata required to embed.
-                *
-                * @fires wp.media.controller.Embed#scan
-                */
-               scan: function() {
-                       var scanners,
-                               embed = this,
-                               attributes = {
-                                       type: 'link',
-                                       scanners: []
-                               };
-
-                       // 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') ) {
-                               this.trigger( 'scan', attributes );
-                       }
-
-                       if ( attributes.scanners.length ) {
-                               scanners = attributes.scanners = $.when.apply( $, attributes.scanners );
-                               scanners.always( function() {
-                                       if ( embed.get('scanners') === scanners ) {
-                                               embed.set( 'loading', false );
-                                       }
-                               });
-                       } else {
-                               attributes.scanners = null;
-                       }
-
-                       attributes.loading = !! attributes.scanners;
-                       this.set( attributes );
-               },
-               /**
-                * Try scanning the embed as an image to discover its dimensions.
-                *
-                * @param {Object} attributes
-                */
-               scanImage: function( attributes ) {
-                       var frame = this.frame,
-                               state = this,
-                               url = this.props.get('url'),
-                               image = new Image(),
-                               deferred = $.Deferred();
-
-                       attributes.scanners.push( deferred.promise() );
-
-                       // Try to load the image and find its width/height.
-                       image.onload = function() {
-                               deferred.resolve();
-
-                               if ( state !== frame.state() || url !== state.props.get('url') ) {
-                                       return;
-                               }
-
-                               state.set({
-                                       type: 'image'
-                               });
-
-                               state.props.set({
-                                       width:  image.width,
-                                       height: image.height
-                               });
-                       };
-
-                       image.onerror = deferred.reject;
-                       image.src = url;
-               },
-
-               refresh: function() {
-                       this.frame.toolbar.get().refresh();
-               },
-
-               reset: function() {
-                       this.props.clear().set({ url: '' });
-
-                       if ( this.active ) {
-                               this.refresh();
-                       }
+               if ( previous ) {
+                       previous.trigger('deactivate');
+                       this._lastState = previous.id;
                }
-       });
 
-       /**
-        * wp.media.controller.Cropper
-        *
-        * A state for cropping an image.
-        *
-        * @class
-        * @augments wp.media.controller.State
-        * @augments Backbone.Model
-        */
-       media.controller.Cropper = media.controller.State.extend({
-               defaults: {
-                       id:          'cropper',
-                       title:       l10n.cropImage,
-                       // Region mode defaults.
-                       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');
-                                                       });
-                                               }
-                                       }
-                               }
-                       };
+               this._state = id;
+               this.state().trigger('activate');
 
-                       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')
-                       } );
-               }
-       });
+               return this;
+       },
 
        /**
-        * wp.media.View
-        *
-        * The base view class for media.
+        * Returns the previous active state.
         *
-        * 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.
+        * Call the `state()` method with no parameters to retrieve the current
+        * active state.
         *
-        * This behavior has since been removed, and should not be used
-        * outside of the media manager.
+        * @since 3.5.0
         *
-        * @class
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       media.View = wp.Backbone.View.extend({
-               constructor: function( options ) {
-                       if ( options && options.controller ) {
-                               this.controller = options.controller;
-                       }
-                       wp.Backbone.View.apply( this, arguments );
-               },
-               /**
-                * @todo The internal comment mentions this might have been a stop-gap
-                *       before Backbone 0.9.8 came out. Figure out if Backbone core takes
-                *       care of this in Backbone.View now.
-                *
-                * @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 ) {
-                               this.model.off( null, null, this );
-                       }
-
-                       if ( this.collection && this.collection.off ) {
-                               this.collection.off( null, null, this );
-                       }
-
-                       // Unbind controller events.
-                       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 );
+        * @returns {wp.media.controller.State} Returns a State model
+        *    from the StateMachine collection
+        */
+       lastState: function() {
+               if ( this._lastState ) {
+                       return this.state( this._lastState );
                }
-       });
+       }
+});
 
+// Map all event binding and triggering on a StateMachine to its `states` collection.
+_.each([ 'on', 'off', 'trigger' ], function( method ) {
        /**
-        * wp.media.view.Frame
-        *
-        * A frame is a composite view consisting of one or more regions and one or more
-        * states.
+        * @returns {wp.media.controller.StateMachine} Returns itself to allow chaining.
+        */
+       StateMachine.prototype[ method ] = function() {
+               // Ensure that the `states` collection exists so the `StateMachine`
+               // can be used as a mixin.
+               this.states = this.states || new Backbone.Collection();
+               // Forward the method to the `states` collection.
+               this.states[ method ].apply( this.states, arguments );
+               return this;
+       };
+});
+
+module.exports = StateMachine;
+
+},{}],15:[function(require,module,exports){
+/*globals _, Backbone */
+
+/**
+ * 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 in the frame.
+ *
+ * A state has an event-driven lifecycle:
+ *
+ *     'ready'      triggers when a state is added to a state machine's collection.
+ *     'activate'   triggers when a state is activated by a state machine.
+ *     'deactivate' triggers when a state is deactivated by a state machine.
+ *     'reset'      is not triggered automatically. It should be invoked by the
+ *                  proper controller to reset the state to its default.
+ *
+ * @class
+ * @augments Backbone.Model
+ */
+var State = Backbone.Model.extend({
+       /**
+        * Constructor.
         *
-        * @see wp.media.controller.State
-        * @see wp.media.controller.Region
+        * @since 3.5.0
+        */
+       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 );
+               /**
+                * Call parent constructor with passed arguments
+                */
+               Backbone.Model.apply( this, arguments );
+               this.on( 'change:menu', this._updateMenu, this );
+       },
+       /**
+        * Ready event callback.
         *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        * @mixes wp.media.controller.StateMachine
-        */
-       media.view.Frame = media.View.extend({
-               initialize: function() {
-                       _.defaults( this.options, {
-                               mode: [ 'select' ]
-                       });
-                       this._createRegions();
-                       this._createStates();
-                       this._createModes();
-               },
-
-               _createRegions: function() {
-                       // Clone the regions array.
-                       this.regions = this.regions ? this.regions.slice() : [];
-
-                       // Initialize regions.
-                       _.each( this.regions, function( region ) {
-                               this[ region ] = new media.controller.Region({
-                                       view:     this,
-                                       id:       region,
-                                       selector: '.media-frame-' + region
-                               });
-                       }, this );
-               },
-               /**
-                * Create the frame's states.
-                *
-                * @see wp.media.controller.State
-                * @see wp.media.controller.StateMachine
-                *
-                * @fires wp.media.controller.State#ready
-                */
-               _createStates: function() {
-                       // Create the default `states` collection.
-                       this.states = new Backbone.Collection( null, {
-                               model: media.controller.State
-                       });
-
-                       // Ensure states have a reference to the frame.
-                       this.states.on( 'add', function( model ) {
-                               model.frame = this;
-                               model.trigger('ready');
-                       }, this );
-
-                       if ( this.options.states ) {
-                               this.states.add( this.options.states );
-                       }
-               },
-
-               /**
-                * A frame can be in a mode or multiple modes at one time.
-                *
-                * For example, the manage media frame can be in the `Bulk Select` or `Edit` mode.
-                */
-               _createModes: function() {
-                       // Store active "modes" that the frame is in. Unrelated to region modes.
-                       this.activeModes = new Backbone.Collection();
-                       this.activeModes.on( 'add remove reset', _.bind( this.triggerModeEvents, this ) );
-
-                       _.each( this.options.mode, function( mode ) {
-                               this.activateMode( mode );
-                       }, this );
-               },
-               /**
-                * Reset all states on the frame to their defaults.
-                *
-                * @returns {wp.media.view.Frame} Returns itself to allow chaining
-                */
-               reset: function() {
-                       this.states.invoke( 'trigger', 'reset' );
-                       return this;
-               },
-               /**
-                * Map activeMode collection events to the frame.
-                */
-               triggerModeEvents: function( model, collection, options ) {
-                       var collectionEvent,
-                               modeEventMap = {
-                                       add: 'activate',
-                                       remove: 'deactivate'
-                               },
-                               eventToTrigger;
-                       // Probably a better way to do this.
-                       _.each( options, function( value, key ) {
-                               if ( value ) {
-                                       collectionEvent = key;
-                               }
-                       } );
-
-                       if ( ! _.has( modeEventMap, collectionEvent ) ) {
-                               return;
-                       }
-
-                       eventToTrigger = model.get('id') + ':' + modeEventMap[collectionEvent];
-                       this.trigger( eventToTrigger );
-               },
-               /**
-                * Activate a mode on the frame.
-                *
-                * @param string mode Mode ID.
-                * @returns {this} Returns itself to allow chaining.
-                */
-               activateMode: function( mode ) {
-                       // Bail if the mode is already active.
-                       if ( this.isModeActive( mode ) ) {
-                               return;
-                       }
-                       this.activeModes.add( [ { id: mode } ] );
-                       // Add a CSS class to the frame so elements can be styled for the mode.
-                       this.$el.addClass( 'mode-' + mode );
-
-                       return this;
-               },
-               /**
-                * Deactivate a mode on the frame.
-                *
-                * @param string mode Mode ID.
-                * @returns {this} Returns itself to allow chaining.
-                */
-               deactivateMode: function( mode ) {
-                       // Bail if the mode isn't active.
-                       if ( ! this.isModeActive( mode ) ) {
-                               return this;
-                       }
-                       this.activeModes.remove( this.activeModes.where( { id: mode } ) );
-                       this.$el.removeClass( 'mode-' + mode );
-                       /**
-                        * Frame mode deactivation event.
-                        *
-                        * @event this#{mode}:deactivate
-                        */
-                       this.trigger( mode + ':deactivate' );
-
-                       return this;
-               },
-               /**
-                * Check if a mode is enabled on the frame.
-                *
-                * @param  string mode Mode ID.
-                * @return bool
-                */
-               isModeActive: function( mode ) {
-                       return Boolean( this.activeModes.where( { id: mode } ).length );
-               }
-       });
-
-       // Make the `Frame` a `StateMachine`.
-       _.extend( media.view.Frame.prototype, media.controller.StateMachine.prototype );
+        * @abstract
+        * @since 3.5.0
+        */
+       ready: function() {},
 
        /**
-        * wp.media.view.MediaFrame
-        *
-        * The frame used to create the media modal.
+        * Activate event callback.
         *
-        * @class
-        * @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'],
-
-               events: {
-                       'click div.media-frame-title h1': 'toggleMenu'
-               },
-
-               /**
-                * @global wp.Uploader
-                */
-               initialize: function() {
-                       media.view.Frame.prototype.initialize.apply( this, arguments );
-
-                       _.defaults( this.options, {
-                               title:    '',
-                               modal:    true,
-                               uploader: true
-                       });
-
-                       // Ensure core UI is enabled.
-                       this.$el.addClass('wp-core-ui');
-
-                       // Initialize modal container view.
-                       if ( this.options.modal ) {
-                               this.modal = new media.view.Modal({
-                                       controller: this,
-                                       title:      this.options.title
-                               });
-
-                               this.modal.content( this );
-                       }
-
-                       // 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 ) {
-                               this.options.uploader = false;
-                       }
-
-                       // Initialize window-wide uploader.
-                       if ( this.options.uploader ) {
-                               this.uploader = new media.view.UploaderWindow({
-                                       controller: this,
-                                       uploader: {
-                                               dropzone:  this.modal ? this.modal.$el : this.$el,
-                                               container: this.$el
-                                       }
-                               });
-                               this.views.set( '.media-frame-uploader', this.uploader );
-                       }
-
-                       this.on( 'attach', _.bind( this.views.ready, this.views ), this );
-
-                       // Bind default title creation.
-                       this.on( 'title:create:default', this.createTitle, this );
-                       this.title.mode('default');
-
-                       this.on( 'title:render', function( view ) {
-                               view.$el.append( '<span class="dashicons dashicons-arrow-down"></span>' );
-                       });
-
-                       // 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 ) {
-                               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
-                       });
-               },
-
-               toggleMenu: function() {
-                       this.$el.find( '.media-menu' ).toggleClass( 'visible' );
-               },
-
-               /**
-                * @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 ) {
-                               return;
-                       }
-
-                       // Add the post ID to the tab URL if it exists.
-                       $postId = $('#post_ID');
-                       if ( $postId.length ) {
-                               tabUrl += '&post_id=' + $postId.val();
-                       }
-
-                       // Generate the tab states.
-                       _.each( tabs, function( title, id ) {
-                               this.state( 'iframe:' + id ).set( _.defaults({
-                                       tab:     id,
-                                       src:     tabUrl + '&tab=' + id,
-                                       title:   title,
-                                       content: 'iframe',
-                                       menu:    'default'
-                               }, options ) );
-                       }, this );
-
-                       this.on( 'content:create:iframe', this.iframeContent, this );
-                       this.on( 'content:deactivate:iframe', this.iframeContentCleanup, this );
-                       this.on( 'menu:render:default', this.iframeMenu, this );
-                       this.on( 'open', this.hijackThickbox, this );
-                       this.on( 'close', this.restoreThickbox, this );
-               },
-
-               /**
-                * @param {Object} content
-                * @this wp.media.controller.Region
-                */
-               iframeContent: function( content ) {
-                       this.$el.addClass('hide-toolbar');
-                       content.view = new media.view.Iframe({
-                               controller: this
-                       });
-               },
-
-               iframeContentCleanup: function() {
-                       this.$el.removeClass('hide-toolbar');
-               },
-
-               iframeMenu: function( view ) {
-                       var views = {};
-
-                       if ( ! view ) {
-                               return;
-                       }
-
-                       _.each( media.view.settings.tabs, function( title, id ) {
-                               views[ 'iframe:' + id ] = {
-                                       text: this.state( 'iframe:' + id ).get('title'),
-                                       priority: 200
-                               };
-                       }, this );
-
-                       view.set( views );
-               },
-
-               hijackThickbox: function() {
-                       var frame = this;
-
-                       if ( ! window.tb_remove || this._tb_remove ) {
-                               return;
-                       }
-
-                       this._tb_remove = window.tb_remove;
-                       window.tb_remove = function() {
-                               frame.close();
-                               frame.reset();
-                               frame.setState( frame.options.state );
-                               frame._tb_remove.call( window );
-                       };
-               },
-
-               restoreThickbox: function() {
-                       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 ) {
-                               this.modal[ method ].apply( this.modal, arguments );
-                       }
-                       return this;
-               };
-       });
+        * @abstract
+        * @since 3.5.0
+        */
+       activate: function() {},
 
        /**
-        * wp.media.view.MediaFrame.Select
+        * Deactivate event callback.
         *
-        * A frame for selecting an item or items from the media library.
-        *
-        * @class
-        * @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, {
-                               selection: [],
-                               library:   {},
-                               multiple:  false,
-                               state:    'library'
-                       });
-
-                       this.createSelection();
-                       this.createStates();
-                       this.bindHandlers();
-               },
-
-               /**
-                * Attach a selection collection to the frame.
-                *
-                * A selection is a collection of attachments used for a specific purpose
-                * by a media frame. e.g. Selecting an attachment (or many) to insert into
-                * post content.
-                *
-                * @see media.model.Selection
-                */
-               createSelection: function() {
-                       var selection = this.options.selection;
-
-                       if ( ! (selection instanceof media.model.Selection) ) {
-                               this.options.selection = new media.model.Selection( selection, {
-                                       multiple: this.options.multiple
-                               });
-                       }
-
-                       this._selection = {
-                               attachments: new media.model.Attachments(),
-                               difference: []
-                       };
-               },
-
-               /**
-                * Create the default states on the frame.
-                */
-               createStates: function() {
-                       var options = this.options;
-
-                       if ( this.options.states ) {
-                               return;
-                       }
-
-                       // Add the default states.
-                       this.states.add([
-                               // Main states.
-                               new media.controller.Library({
-                                       library:   media.query( options.library ),
-                                       multiple:  options.multiple,
-                                       title:     options.title,
-                                       priority:  20
-                               })
-                       ]);
-               },
-
-               /**
-                * Bind region mode event callbacks.
-                *
-                * @see media.controller.Region.render
-                */
-               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 );
-               },
-
-               /**
-                * Render callback for the router region in the `browse` mode.
-                *
-                * @param {wp.media.view.Router} routerView
-                */
-               browseRouter: function( routerView ) {
-                       routerView.set({
-                               upload: {
-                                       text:     l10n.uploadFilesTitle,
-                                       priority: 20
-                               },
-                               browse: {
-                                       text:     l10n.mediaLibraryTitle,
-                                       priority: 40
-                               }
-                       });
-               },
-
-               /**
-                * Render callback for the content region in the `browse` mode.
-                *
-                * @param {wp.media.controller.Region} contentRegion
-                */
-               browseContent: function( contentRegion ) {
-                       var state = this.state();
-
-                       this.$el.removeClass('hide-toolbar');
-
-                       // Browse our library of attachments.
-                       contentRegion.view = new media.view.AttachmentsBrowser({
-                               controller: this,
-                               collection: state.get('library'),
-                               selection:  state.get('selection'),
-                               model:      state,
-                               sortable:   state.get('sortable'),
-                               search:     state.get('searchable'),
-                               filters:    state.get('filterable'),
-                               date:       state.get('date'),
-                               display:    state.has('display') ? state.get('display') : state.get('displaySettings'),
-                               dragInfo:   state.get('dragInfo'),
-
-                               idealColumnWidth: state.get('idealColumnWidth'),
-                               suggestedWidth:   state.get('suggestedWidth'),
-                               suggestedHeight:  state.get('suggestedHeight'),
-
-                               AttachmentView: state.get('AttachmentView')
-                       });
-               },
-
-               /**
-                * Render callback for the content region in the `upload` mode.
-                */
-               uploadContent: function() {
-                       this.$el.removeClass( 'hide-toolbar' );
-                       this.content.set( new media.view.UploaderInline({
-                               controller: this
-                       }) );
-               },
-
-               /**
-                * Toolbars
-                *
-                * @param {Object} toolbar
-                * @param {Object} [options={}]
-                * @this wp.media.controller.Region
-                */
-               createSelectToolbar: function( toolbar, options ) {
-                       options = options || this.options.button || {};
-                       options.controller = this;
-
-                       toolbar.view = new media.view.Toolbar.Select( options );
-               }
-       });
+        * @abstract
+        * @since 3.5.0
+        */
+       deactivate: function() {},
 
        /**
-        * wp.media.view.MediaFrame.Post
-        *
-        * The frame for manipulating media on the Edit Post page.
+        * Reset event callback.
         *
-        * @class
-        * @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',
-                               metadata:  {}
-                       });
-
-                       // Call 'initialize' directly on the parent class.
-                       media.view.MediaFrame.Select.prototype.initialize.apply( this, arguments );
-                       this.createIframeStates();
-
-               },
-
-               /**
-                * Create the default states.
-                */
-               createStates: function() {
-                       var options = this.options;
-
-                       this.states.add([
-                               // Main states.
-                               new media.controller.Library({
-                                       id:         'insert',
-                                       title:      l10n.insertMediaTitle,
-                                       priority:   20,
-                                       toolbar:    'main-insert',
-                                       filterable: 'all',
-                                       library:    media.query( options.library ),
-                                       multiple:   options.multiple ? 'reset' : false,
-                                       editable:   true,
-
-                                       // If the user isn't allowed to edit fields,
-                                       // can they still edit it locally?
-                                       allowLocalEdits: true,
-
-                                       // Show the attachment display settings.
-                                       displaySettings: true,
-                                       // Update user settings when users adjust the
-                                       // attachment display settings.
-                                       displayUserSettings: true
-                               }),
-
-                               new media.controller.Library({
-                                       id:         'gallery',
-                                       title:      l10n.createGalleryTitle,
-                                       priority:   40,
-                                       toolbar:    'main-gallery',
-                                       filterable: 'uploaded',
-                                       multiple:   'add',
-                                       editable:   false,
-
-                                       library:  media.query( _.defaults({
-                                               type: 'image'
-                                       }, options.library ) )
-                               }),
-
-                               // Embed states.
-                               new media.controller.Embed( { metadata: options.metadata } ),
-
-                               new media.controller.EditImage( { model: options.editImage } ),
-
-                               // Gallery states.
-                               new media.controller.GalleryEdit({
-                                       library: options.selection,
-                                       editing: options.editing,
-                                       menu:    'gallery'
-                               }),
-
-                               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.videoPlaylistDragInfo,
-                                       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 );
-
-                       handlers = {
-                               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'
-                               }
-                       };
+        * @abstract
+        * @since 3.5.0
+        */
+       reset: function() {},
 
-                       _.each( handlers, function( regionHandlers, region ) {
-                               _.each( regionHandlers, function( callback, handler ) {
-                                       this.on( region + ':render:' + handler, this[ callback ], this );
-                               }, this );
-                       }, this );
-               },
+       /**
+        * @access private
+        * @since 3.5.0
+        */
+       _ready: function() {
+               this._updateMenu();
+       },
 
-               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 );
-               },
+       /**
+        * @access private
+        * @since 3.5.0
+       */
+       _preActivate: function() {
+               this.active = true;
+       },
 
-               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' );
-                       }
-               },
+       /**
+        * @access private
+        * @since 3.5.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 );
 
-               // Menus
-               /**
-                * @param {wp.Backbone.View} view
-                */
-               mainMenu: function( view ) {
-                       view.set({
-                               'library-separator': new media.View({
-                                       className: 'separator',
-                                       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();
-                                               }
+               this.frame.on( 'title:render:default', this._renderTitle, this );
 
-                                               // Keep focus inside media modal
-                                               // after canceling a gallery
-                                               this.controller.modal.focusManager.focus();
-                                       }
-                               },
-                               separateCancel: new media.View({
-                                       className: 'separator',
-                                       priority: 40
-                               })
-                       });
-               },
+               this._title();
+               this._menu();
+               this._toolbar();
+               this._content();
+               this._router();
+       },
 
-               playlistMenu: function( view ) {
-                       var lastState = this.lastState(),
-                               previous = lastState && lastState.id,
-                               frame = this;
+       /**
+        * @access private
+        * @since 3.5.0
+        */
+       _deactivate: function() {
+               this.active = false;
 
-                       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
-                               })
-                       });
-               },
+               this.frame.off( 'title:render:default', this._renderTitle, this );
 
-               videoPlaylistMenu: function( view ) {
-                       var lastState = this.lastState(),
-                               previous = lastState && lastState.id,
-                               frame = 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 );
+       },
 
-                       view.set({
-                               cancel: {
-                                       text:     l10n.cancelVideoPlaylistTitle,
-                                       priority: 20,
-                                       click:    function() {
-                                               if ( previous ) {
-                                                       frame.setState( previous );
-                                               } else {
-                                                       frame.close();
-                                               }
-                                       }
-                               },
-                               separateCancel: new media.View({
-                                       className: 'separator',
-                                       priority: 40
-                               })
-                       });
-               },
+       /**
+        * @access private
+        * @since 3.5.0
+        */
+       _title: function() {
+               this.frame.title.render( this.get('titleMode') || 'default' );
+       },
 
-               // Content
-               embedContent: function() {
-                       var view = new media.view.Embed({
-                               controller: this,
-                               model:      this.state()
-                       }).render();
+       /**
+        * @access private
+        * @since 3.5.0
+        */
+       _renderTitle: function( view ) {
+               view.$el.text( this.get('title') || '' );
+       },
 
-                       this.content.set( view );
+       /**
+        * @access private
+        * @since 3.5.0
+        */
+       _router: function() {
+               var router = this.frame.router,
+                       mode = this.get('router'),
+                       view;
+
+               this.frame.$el.toggleClass( 'hide-router', ! mode );
+               if ( ! mode ) {
+                       return;
+               }
 
-                       if ( ! isTouchDevice ) {
-                               view.url.focus();
-                       }
-               },
+               this.frame.router.render( mode );
 
-               editSelectionContent: function() {
-                       var state = this.state(),
-                               selection = state.get('selection'),
-                               view;
+               view = router.get();
+               if ( view && view.select ) {
+                       view.select( this.frame.content.mode() );
+               }
+       },
 
-                       view = new media.view.AttachmentsBrowser({
-                               controller: this,
-                               collection: selection,
-                               selection:  selection,
-                               model:      state,
-                               sortable:   true,
-                               search:     false,
-                               dragInfo:   true,
+       /**
+        * @access private
+        * @since 3.5.0
+        */
+       _menu: function() {
+               var menu = this.frame.menu,
+                       mode = this.get('menu'),
+                       view;
+
+               this.frame.$el.toggleClass( 'hide-menu', ! mode );
+               if ( ! mode ) {
+                       return;
+               }
 
-                               AttachmentView: media.view.Attachment.EditSelection
-                       }).render();
+               menu.mode( mode );
 
-                       view.toolbar.set( 'backToLibrary', {
-                               text:     l10n.returnToLibrary,
-                               priority: -100,
+               view = menu.get();
+               if ( view && view.select ) {
+                       view.select( this.id );
+               }
+       },
 
-                               click: function() {
-                                       this.controller.content.mode('browse');
-                               }
-                       });
+       /**
+        * @access private
+        * @since 3.5.0
+        */
+       _updateMenu: function() {
+               var previous = this.previous('menu'),
+                       menu = this.get('menu');
 
-                       // Browse our library of attachments.
-                       this.content.set( view );
+               if ( previous ) {
+                       this.frame.off( 'menu:render:' + previous, this._renderMenu, this );
+               }
 
-                       // Trigger the controller to set focus
-                       this.trigger( 'edit:selection', this );
-               },
+               if ( menu ) {
+                       this.frame.on( 'menu:render:' + menu, this._renderMenu, this );
+               }
+       },
 
-               editImageContent: function() {
-                       var image = this.state().get('image'),
-                               view = new media.view.EditImage( { model: image, controller: this } ).render();
+       /**
+        * Create a view in the media menu for the state.
+        *
+        * @access private
+        * @since 3.5.0
+        *
+        * @param {media.view.Menu} view The menu view.
+        */
+       _renderMenu: function( view ) {
+               var menuItem = this.get('menuItem'),
+                       title = this.get('title'),
+                       priority = this.get('priority');
 
-                       this.content.set( view );
+               if ( ! menuItem && title ) {
+                       menuItem = { text: title };
 
-                       // after creating the wrapper view, load the actual editor via an ajax call
-                       view.loadEditor();
+                       if ( priority ) {
+                               menuItem.priority = priority;
+                       }
+               }
 
-               },
+               if ( ! menuItem ) {
+                       return;
+               }
 
-               // Toolbars
+               view.set( this.id, menuItem );
+       }
+});
 
-               /**
-                * @param {wp.Backbone.View} view
-                */
-               selectionStatusToolbar: function( view ) {
-                       var editable = this.state().get('editable');
+_.each(['toolbar','content'], function( region ) {
+       /**
+        * @access private
+        */
+       State.prototype[ '_' + region ] = function() {
+               var mode = this.get( region );
+               if ( mode ) {
+                       this.frame[ region ].render( mode );
+               }
+       };
+});
+
+module.exports = State;
+
+},{}],16:[function(require,module,exports){
+/*globals _ */
+
+/**
+ * wp.media.selectionSync
+ *
+ * Sync an attachments selection in a state with another state.
+ *
+ * Allows for selecting multiple images in the Insert Media workflow, and then
+ * switching to the Insert Gallery workflow while preserving the attachments selection.
+ *
+ * @mixin
+ */
+var selectionSync = {
+       /**
+        * @since 3.5.0
+        */
+       syncSelection: function() {
+               var selection = this.get('selection'),
+                       manager = this.frame._selection;
 
-                       view.set( 'selection', new media.view.Selection({
-                               controller: this,
-                               collection: this.state().get('selection'),
-                               priority:   -40,
+               if ( ! this.get('syncSelection') || ! manager || ! selection ) {
+                       return;
+               }
 
-                               // If the selection is editable, pass the callback to
-                               // switch the content mode.
-                               editable: editable && function() {
-                                       this.controller.content.mode('edit-selection');
-                               }
-                       }).render() );
-               },
+               // 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 );
+               }
 
-               /**
-                * @param {wp.Backbone.View} view
-                */
-               mainInsertToolbar: function( view ) {
-                       var controller = this;
+               // Sync the selection's single item with the master.
+               selection.single( manager.single );
+       },
 
-                       this.selectionStatusToolbar( view );
+       /**
+        * 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.
+        *
+        * @since 3.5.0
+        */
+       recordSelection: function() {
+               var selection = this.get('selection'),
+                       manager = this.frame._selection;
 
-                       view.set( 'insert', {
-                               style:    'primary',
-                               priority: 80,
-                               text:     l10n.insertIntoPost,
-                               requires: { selection: true },
+               if ( ! this.get('syncSelection') || ! manager || ! selection ) {
+                       return;
+               }
 
-                               /**
-                                * @fires wp.media.controller.State#insert
-                                */
-                               click: function() {
-                                       var state = controller.state(),
-                                               selection = state.get('selection');
+               if ( selection.multiple ) {
+                       manager.attachments.reset( selection.toArray().concat( manager.difference ) );
+                       manager.difference = [];
+               } else {
+                       manager.attachments.add( selection.toArray() );
+               }
 
-                                       controller.close();
-                                       state.trigger( 'insert', selection ).reset();
-                               }
-                       });
-               },
+               manager.single = selection._single;
+       }
+};
 
-               /**
-                * @param {wp.Backbone.View} view
-                */
-               mainGalleryToolbar: function( view ) {
-                       var controller = this;
+module.exports = selectionSync;
 
-                       this.selectionStatusToolbar( view );
+},{}],17:[function(require,module,exports){
+/*globals wp, jQuery, _, Backbone */
 
-                       view.set( 'gallery', {
-                               style:    'primary',
-                               text:     l10n.createNewGallery,
-                               priority: 60,
-                               requires: { selection: true },
+var media = wp.media,
+       $ = jQuery,
+       l10n;
 
-                               click: function() {
-                                       var selection = controller.state().get('selection'),
-                                               edit = controller.state('gallery-edit'),
-                                               models = selection.where({ type: 'image' });
+media.isTouchDevice = ( 'ontouchend' in document );
 
-                                       edit.set( 'library', new media.model.Selection( models, {
-                                               props:    selection.props.toJSON(),
-                                               multiple: true
-                                       }) );
+// Link any localized strings.
+l10n = media.view.l10n = window._wpMediaViewsL10n || {};
 
-                                       this.controller.setState('gallery-edit');
+// Link any settings.
+media.view.settings = l10n.settings || {};
+delete l10n.settings;
 
-                                       // Keep focus inside media modal
-                                       // after jumping to gallery view
-                                       this.controller.modal.focusManager.focus();
-                               }
-                       });
-               },
+// Copy the `post` setting over to the model settings.
+media.model.settings.post = media.view.settings.post;
 
-               mainPlaylistToolbar: function( view ) {
-                       var controller = this;
+// Check if the browser supports CSS 3.0 transitions
+$.support.transition = (function(){
+       var style = document.documentElement.style,
+               transitions = {
+                       WebkitTransition: 'webkitTransitionEnd',
+                       MozTransition:    'transitionend',
+                       OTransition:      'oTransitionEnd otransitionend',
+                       transition:       'transitionend'
+               }, transition;
 
-                       this.selectionStatusToolbar( view );
+       transition = _.find( _.keys( transitions ), function( transition ) {
+               return ! _.isUndefined( style[ transition ] );
+       });
 
-                       view.set( 'playlist', {
-                               style:    'primary',
-                               text:     l10n.createNewPlaylist,
-                               priority: 100,
-                               requires: { selection: true },
+       return transition && {
+               end: transitions[ transition ]
+       };
+}());
+
+/**
+ * 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 $) ) {
+                       selector = $( selector );
+               }
 
-                               click: function() {
-                                       var selection = controller.state().get('selection'),
-                                               edit = controller.state('playlist-edit'),
-                                               models = selection.where({ type: 'audio' });
+               // Resolve the deferred when the first element finishes animating.
+               selector.first().one( $.support.transition.end, deferred.resolve );
+
+               // Just in case the event doesn't trigger, fire a callback.
+               _.delay( deferred.resolve, sensitivity );
+
+       // Otherwise, execute on the spot.
+       } else {
+               deferred.resolve();
+       }
+
+       return deferred.promise();
+};
+
+media.controller.Region = require( './controllers/region.js' );
+media.controller.StateMachine = require( './controllers/state-machine.js' );
+media.controller.State = require( './controllers/state.js' );
+
+media.selectionSync = require( './utils/selection-sync.js' );
+media.controller.Library = require( './controllers/library.js' );
+media.controller.ImageDetails = require( './controllers/image-details.js' );
+media.controller.GalleryEdit = require( './controllers/gallery-edit.js' );
+media.controller.GalleryAdd = require( './controllers/gallery-add.js' );
+media.controller.CollectionEdit = require( './controllers/collection-edit.js' );
+media.controller.CollectionAdd = require( './controllers/collection-add.js' );
+media.controller.FeaturedImage = require( './controllers/featured-image.js' );
+media.controller.ReplaceImage = require( './controllers/replace-image.js' );
+media.controller.EditImage = require( './controllers/edit-image.js' );
+media.controller.MediaLibrary = require( './controllers/media-library.js' );
+media.controller.Embed = require( './controllers/embed.js' );
+media.controller.Cropper = require( './controllers/cropper.js' );
+
+media.View = require( './views/view.js' );
+media.view.Frame = require( './views/frame.js' );
+media.view.MediaFrame = require( './views/media-frame.js' );
+media.view.MediaFrame.Select = require( './views/frame/select.js' );
+media.view.MediaFrame.Post = require( './views/frame/post.js' );
+media.view.MediaFrame.ImageDetails = require( './views/frame/image-details.js' );
+media.view.Modal = require( './views/modal.js' );
+media.view.FocusManager = require( './views/focus-manager.js' );
+media.view.UploaderWindow = require( './views/uploader/window.js' );
+media.view.EditorUploader = require( './views/uploader/editor.js' );
+media.view.UploaderInline = require( './views/uploader/inline.js' );
+media.view.UploaderStatus = require( './views/uploader/status.js' );
+media.view.UploaderStatusError = require( './views/uploader/status-error.js' );
+media.view.Toolbar = require( './views/toolbar.js' );
+media.view.Toolbar.Select = require( './views/toolbar/select.js' );
+media.view.Toolbar.Embed = require( './views/toolbar/embed.js' );
+media.view.Button = require( './views/button.js' );
+media.view.ButtonGroup = require( './views/button-group.js' );
+media.view.PriorityList = require( './views/priority-list.js' );
+media.view.MenuItem = require( './views/menu-item.js' );
+media.view.Menu = require( './views/menu.js' );
+media.view.RouterItem = require( './views/router-item.js' );
+media.view.Router = require( './views/router.js' );
+media.view.Sidebar = require( './views/sidebar.js' );
+media.view.Attachment = require( './views/attachment.js' );
+media.view.Attachment.Library = require( './views/attachment/library.js' );
+media.view.Attachment.EditLibrary = require( './views/attachment/edit-library.js' );
+media.view.Attachments = require( './views/attachments.js' );
+media.view.Search = require( './views/search.js' );
+media.view.AttachmentFilters = require( './views/attachment-filters.js' );
+media.view.DateFilter = require( './views/attachment-filters/date.js' );
+media.view.AttachmentFilters.Uploaded = require( './views/attachment-filters/uploaded.js' );
+media.view.AttachmentFilters.All = require( './views/attachment-filters/all.js' );
+media.view.AttachmentsBrowser = require( './views/attachments/browser.js' );
+media.view.Selection = require( './views/selection.js' );
+media.view.Attachment.Selection = require( './views/attachment/selection.js' );
+media.view.Attachments.Selection = require( './views/attachments/selection.js' );
+media.view.Attachment.EditSelection = require( './views/attachment/edit-selection.js' );
+media.view.Settings = require( './views/settings.js' );
+media.view.Settings.AttachmentDisplay = require( './views/settings/attachment-display.js' );
+media.view.Settings.Gallery = require( './views/settings/gallery.js' );
+media.view.Settings.Playlist = require( './views/settings/playlist.js' );
+media.view.Attachment.Details = require( './views/attachment/details.js' );
+media.view.AttachmentCompat = require( './views/attachment-compat.js' );
+media.view.Iframe = require( './views/iframe.js' );
+media.view.Embed = require( './views/embed.js' );
+media.view.Label = require( './views/label.js' );
+media.view.EmbedUrl = require( './views/embed/url.js' );
+media.view.EmbedLink = require( './views/embed/link.js' );
+media.view.EmbedImage = require( './views/embed/image.js' );
+media.view.ImageDetails = require( './views/image-details.js' );
+media.view.Cropper = require( './views/cropper.js' );
+media.view.EditImage = require( './views/edit-image.js' );
+media.view.Spinner = require( './views/spinner.js' );
+
+},{"./controllers/collection-add.js":1,"./controllers/collection-edit.js":2,"./controllers/cropper.js":3,"./controllers/edit-image.js":4,"./controllers/embed.js":5,"./controllers/featured-image.js":6,"./controllers/gallery-add.js":7,"./controllers/gallery-edit.js":8,"./controllers/image-details.js":9,"./controllers/library.js":10,"./controllers/media-library.js":11,"./controllers/region.js":12,"./controllers/replace-image.js":13,"./controllers/state-machine.js":14,"./controllers/state.js":15,"./utils/selection-sync.js":16,"./views/attachment-compat.js":18,"./views/attachment-filters.js":19,"./views/attachment-filters/all.js":20,"./views/attachment-filters/date.js":21,"./views/attachment-filters/uploaded.js":22,"./views/attachment.js":23,"./views/attachment/details.js":24,"./views/attachment/edit-library.js":25,"./views/attachment/edit-selection.js":26,"./views/attachment/library.js":27,"./views/attachment/selection.js":28,"./views/attachments.js":29,"./views/attachments/browser.js":30,"./views/attachments/selection.js":31,"./views/button-group.js":32,"./views/button.js":33,"./views/cropper.js":34,"./views/edit-image.js":35,"./views/embed.js":36,"./views/embed/image.js":37,"./views/embed/link.js":38,"./views/embed/url.js":39,"./views/focus-manager.js":40,"./views/frame.js":41,"./views/frame/image-details.js":42,"./views/frame/post.js":43,"./views/frame/select.js":44,"./views/iframe.js":45,"./views/image-details.js":46,"./views/label.js":47,"./views/media-frame.js":48,"./views/menu-item.js":49,"./views/menu.js":50,"./views/modal.js":51,"./views/priority-list.js":52,"./views/router-item.js":53,"./views/router.js":54,"./views/search.js":55,"./views/selection.js":56,"./views/settings.js":57,"./views/settings/attachment-display.js":58,"./views/settings/gallery.js":59,"./views/settings/playlist.js":60,"./views/sidebar.js":61,"./views/spinner.js":62,"./views/toolbar.js":63,"./views/toolbar/embed.js":64,"./views/toolbar/select.js":65,"./views/uploader/editor.js":66,"./views/uploader/inline.js":67,"./views/uploader/status-error.js":68,"./views/uploader/status.js":69,"./views/uploader/window.js":70,"./views/view.js":71}],18:[function(require,module,exports){
+/*globals _ */
+
+/**
+ * wp.media.view.AttachmentCompat
+ *
+ * A view to display fields added via the `attachment_fields_to_edit` filter.
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var View = wp.media.View,
+       AttachmentCompat;
+
+AttachmentCompat = View.extend({
+       tagName:   'form',
+       className: 'compat-item',
+
+       events: {
+               'submit':          'preventDefault',
+               'change input':    'save',
+               'change select':   'save',
+               'change textarea': 'save'
+       },
+
+       initialize: function() {
+               this.listenTo( this.model, 'change:compat', this.render );
+       },
+       /**
+        * @returns {wp.media.view.AttachmentCompat} Returns itself to allow chaining
+        */
+       dispose: function() {
+               if ( this.$(':focus').length ) {
+                       this.save();
+               }
+               /**
+                * call 'dispose' directly on the parent class
+                */
+               return 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 ) {
+                       return;
+               }
 
-                                       edit.set( 'library', new media.model.Selection( models, {
-                                               props:    selection.props.toJSON(),
-                                               multiple: true
-                                       }) );
+               this.views.detach();
+               this.$el.html( compat.item );
+               this.views.render();
+               return this;
+       },
+       /**
+        * @param {Object} event
+        */
+       preventDefault: function( event ) {
+               event.preventDefault();
+       },
+       /**
+        * @param {Object} event
+        */
+       save: function( event ) {
+               var data = {};
 
-                                       this.controller.setState('playlist-edit');
+               if ( event ) {
+                       event.preventDefault();
+               }
 
-                                       // Keep focus inside media modal
-                                       // after jumping to playlist view
-                                       this.controller.modal.focusManager.focus();
-                               }
-                       });
-               },
+               _.each( this.$el.serializeArray(), function( pair ) {
+                       data[ pair.name ] = pair.value;
+               });
 
-               mainVideoPlaylistToolbar: function( view ) {
-                       var controller = this;
+               this.controller.trigger( 'attachment:compat:waiting', ['waiting'] );
+               this.model.saveCompat( data ).always( _.bind( this.postSave, this ) );
+       },
 
-                       this.selectionStatusToolbar( view );
+       postSave: function() {
+               this.controller.trigger( 'attachment:compat:ready', ['ready'] );
+       }
+});
 
-                       view.set( 'video-playlist', {
-                               style:    'primary',
-                               text:     l10n.createNewVideoPlaylist,
-                               priority: 100,
-                               requires: { selection: true },
+module.exports = AttachmentCompat;
 
-                               click: function() {
-                                       var selection = controller.state().get('selection'),
-                                               edit = controller.state('video-playlist-edit'),
-                                               models = selection.where({ type: 'video' });
+},{}],19:[function(require,module,exports){
+/*globals _, jQuery */
 
-                                       edit.set( 'library', new media.model.Selection( models, {
-                                               props:    selection.props.toJSON(),
-                                               multiple: true
-                                       }) );
+/**
+ * wp.media.view.AttachmentFilters
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var $ = jQuery,
+       AttachmentFilters;
 
-                                       this.controller.setState('video-playlist-edit');
+AttachmentFilters = wp.media.View.extend({
+       tagName:   'select',
+       className: 'attachment-filters',
+       id:        'media-attachment-filters',
 
-                                       // Keep focus inside media modal
-                                       // after jumping to video playlist view
-                                       this.controller.modal.focusManager.focus();
-                               }
-                       });
-               },
+       events: {
+               change: 'change'
+       },
 
-               featuredImageToolbar: function( toolbar ) {
-                       this.createSelectToolbar( toolbar, {
-                               text:  l10n.setFeaturedImage,
-                               state: this.options.state
-                       });
-               },
+       keys: [],
 
-               mainEmbedToolbar: function( toolbar ) {
-                       toolbar.view = new media.view.Toolbar.Embed({
-                               controller: this
-                       });
-               },
+       initialize: function() {
+               this.createFilters();
+               _.extend( this.filters, this.options.filters );
 
-               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();
+               // Build `<option>` elements.
+               this.$el.html( _.chain( this.filters ).map( function( filter, value ) {
+                       return {
+                               el: $( '<option></option>' ).val( value ).html( filter.text )[0],
+                               priority: filter.priority || 50
+                       };
+               }, this ).sortBy('priority').pluck('el').value() );
 
-                                                       controller.close();
-                                                       state.trigger( 'update', state.get('library') );
+               this.listenTo( this.model, 'change', this.select );
+               this.select();
+       },
 
-                                                       // Restore and reset the default state.
-                                                       controller.setState( controller.options.state );
-                                                       controller.reset();
-                                               }
-                                       }
-                               }
-                       }) );
-               },
+       /**
+        * @abstract
+        */
+       createFilters: function() {
+               this.filters = {};
+       },
 
-               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');
-                                               }
-                                       }
-                               }
-                       }) );
-               },
+       /**
+        * When the selected filter changes, update the Attachment Query properties to match.
+        */
+       change: function() {
+               var filter = this.filters[ this.el.value ];
+               if ( filter ) {
+                       this.model.set( filter.props );
+               }
+       },
 
-               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();
+       select: function() {
+               var model = this.model,
+                       value = 'all',
+                       props = model.toJSON();
 
-                                                       controller.close();
-                                                       state.trigger( 'update', state.get('library') );
+               _.find( this.filters, function( filter, id ) {
+                       var equal = _.all( filter.props, function( prop, key ) {
+                               return prop === ( _.isUndefined( props[ key ] ) ? null : props[ key ] );
+                       });
 
-                                                       // Restore and reset the default state.
-                                                       controller.setState( controller.options.state );
-                                                       controller.reset();
-                                               }
-                                       }
-                               }
-                       }) );
-               },
+                       if ( equal ) {
+                               return value = id;
+                       }
+               });
 
-               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');
-                                               }
-                                       }
+               this.$el.val( value );
+       }
+});
+
+module.exports = AttachmentFilters;
+
+},{}],20:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.AttachmentFilters.All
+ *
+ * @class
+ * @augments wp.media.view.AttachmentFilters
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var l10n = wp.media.view.l10n,
+       All;
+
+All = wp.media.view.AttachmentFilters.extend({
+       createFilters: function() {
+               var filters = {};
+
+               _.each( wp.media.view.settings.mimeTypes || {}, function( text, key ) {
+                       filters[ key ] = {
+                               text: text,
+                               props: {
+                                       status:  null,
+                                       type:    key,
+                                       uploadedTo: null,
+                                       orderby: 'date',
+                                       order:   'DESC'
                                }
-                       }) );
-               },
+                       };
+               });
 
-               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 },
+               filters.all = {
+                       text:  l10n.allMediaItems,
+                       props: {
+                               status:  null,
+                               type:    null,
+                               uploadedTo: null,
+                               orderby: 'date',
+                               order:   'DESC'
+                       },
+                       priority: 10
+               };
 
-                                               click: function() {
-                                                       var controller = this.controller,
-                                                               state = controller.state(),
-                                                               library = state.get('library');
+               if ( wp.media.view.settings.post.id ) {
+                       filters.uploaded = {
+                               text:  l10n.uploadedToThisPost,
+                               props: {
+                                       status:  null,
+                                       type:    null,
+                                       uploadedTo: wp.media.view.settings.post.id,
+                                       orderby: 'menuOrder',
+                                       order:   'ASC'
+                               },
+                               priority: 20
+                       };
+               }
 
-                                                       library.type = 'video';
+               filters.unattached = {
+                       text:  l10n.unattached,
+                       props: {
+                               status:     null,
+                               uploadedTo: 0,
+                               type:       null,
+                               orderby:    'menuOrder',
+                               order:      'ASC'
+                       },
+                       priority: 50
+               };
 
-                                                       controller.close();
-                                                       state.trigger( 'update', library );
+               if ( wp.media.view.settings.mediaTrash &&
+                       this.controller.isModeActive( 'grid' ) ) {
 
-                                                       // Restore and reset the default state.
-                                                       controller.setState( controller.options.state );
-                                                       controller.reset();
-                                               }
-                                       }
-                               }
-                       }) );
-               },
+                       filters.trash = {
+                               text:  l10n.trash,
+                               props: {
+                                       uploadedTo: null,
+                                       status:     'trash',
+                                       type:       null,
+                                       orderby:    'date',
+                                       order:      'DESC'
+                               },
+                               priority: 50
+                       };
+               }
 
-               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');
-                                               }
-                                       }
+               this.filters = filters;
+       }
+});
+
+module.exports = All;
+
+},{}],21:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * A filter dropdown for month/dates.
+ *
+ * @class
+ * @augments wp.media.view.AttachmentFilters
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var l10n = wp.media.view.l10n,
+       DateFilter;
+
+DateFilter = wp.media.view.AttachmentFilters.extend({
+       id: 'media-attachment-date-filters',
+
+       createFilters: function() {
+               var filters = {};
+               _.each( wp.media.view.settings.months || {}, function( value, index ) {
+                       filters[ index ] = {
+                               text: value.text,
+                               props: {
+                                       year: value.year,
+                                       monthnum: value.month
                                }
-                       }) );
+                       };
+               });
+               filters.all = {
+                       text:  l10n.allDates,
+                       props: {
+                               monthnum: false,
+                               year:  false
+                       },
+                       priority: 10
+               };
+               this.filters = filters;
+       }
+});
+
+module.exports = DateFilter;
+
+},{}],22:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.AttachmentFilters.Uploaded
+ *
+ * @class
+ * @augments wp.media.view.AttachmentFilters
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var l10n = wp.media.view.l10n,
+       Uploaded;
+
+Uploaded = wp.media.view.AttachmentFilters.extend({
+       createFilters: function() {
+               var type = this.model.get('type'),
+                       types = wp.media.view.settings.mimeTypes,
+                       text;
+
+               if ( types && type ) {
+                       text = types[ type ];
                }
-       });
 
-       /**
-        * wp.media.view.MediaFrame.ImageDetails
-        *
-        * A media frame for manipulating an image that's already been inserted
-        * into a post.
-        *
-        * @class
-        * @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( '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
-                               }),
-                               new media.controller.ReplaceImage({
-                                       id: 'replace-image',
-                                       library:   media.query( { type: 'image' } ),
-                                       image: this.image,
-                                       multiple:  false,
-                                       title:     l10n.imageReplaceTitle,
-                                       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
-                       });
-               },
+               this.filters = {
+                       all: {
+                               text:  text || l10n.allMediaItems,
+                               props: {
+                                       uploadedTo: null,
+                                       orderby: 'date',
+                                       order:   'DESC'
+                               },
+                               priority: 10
+                       },
 
-               editImageContent: function() {
-                       var state = this.state(),
-                               model = state.get('image'),
-                               view;
+                       uploaded: {
+                               text:  l10n.uploadedToThisPost,
+                               props: {
+                                       uploadedTo: wp.media.view.settings.post.id,
+                                       orderby: 'menuOrder',
+                                       order:   'ASC'
+                               },
+                               priority: 20
+                       },
 
-                       if ( ! model ) {
-                               return;
+                       unattached: {
+                               text:  l10n.unattached,
+                               props: {
+                                       uploadedTo: 0,
+                                       orderby: 'menuOrder',
+                                       order:   'ASC'
+                               },
+                               priority: 50
                        }
+               };
+       }
+});
+
+module.exports = Uploaded;
+
+},{}],23:[function(require,module,exports){
+/*globals wp, _, jQuery */
+
+/**
+ * wp.media.view.Attachment
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var View = wp.media.View,
+       $ = jQuery,
+       Attachment;
+
+Attachment = View.extend({
+       tagName:   'li',
+       className: 'attachment',
+       template:  wp.template('attachment'),
+
+       attributes: function() {
+               return {
+                       'tabIndex':     0,
+                       'role':         'checkbox',
+                       'aria-label':   this.model.get( 'title' ),
+                       'aria-checked': false,
+                       'data-id':      this.model.get( 'id' )
+               };
+       },
+
+       events: {
+               'click .js--select-attachment':   'toggleSelectionHandler',
+               'change [data-setting]':          'updateSetting',
+               'change [data-setting] input':    'updateSetting',
+               'change [data-setting] select':   'updateSetting',
+               'change [data-setting] textarea': 'updateSetting',
+               'click .close':                   'removeFromLibrary',
+               'click .check':                   'checkClickHandler',
+               'click a':                        'preventDefault',
+               'keydown .close':                 'removeFromLibrary',
+               'keydown':                        'toggleSelectionHandler'
+       },
+
+       buttons: {},
+
+       initialize: function() {
+               var selection = this.options.selection,
+                       options = _.defaults( this.options, {
+                               rerenderOnModelChange: true
+                       } );
 
-                       view = new media.view.EditImage( { model: model, controller: this } ).render();
+               if ( options.rerenderOnModelChange ) {
+                       this.listenTo( this.model, 'change', this.render );
+               } else {
+                       this.listenTo( this.model, 'change:percent', this.progress );
+               }
+               this.listenTo( this.model, 'change:title', this._syncTitle );
+               this.listenTo( this.model, 'change:caption', this._syncCaption );
+               this.listenTo( this.model, 'change:artist', this._syncArtist );
+               this.listenTo( this.model, 'change:album', this._syncAlbum );
+
+               // Update the selection.
+               this.listenTo( this.model, 'add', this.select );
+               this.listenTo( this.model, 'remove', this.deselect );
+               if ( selection ) {
+                       selection.on( 'reset', this.updateSelect, this );
+                       // Update the model's details view.
+                       this.listenTo( this.model, 'selection:single selection:unsingle', this.details );
+                       this.details( this.model, this.controller.state().get('selection') );
+               }
 
-                       this.content.set( view );
+               this.listenTo( this.controller, 'attachment:compat:waiting attachment:compat:ready', this.updateSave );
+       },
+       /**
+        * @returns {wp.media.view.Attachment} Returns itself to allow chaining
+        */
+       dispose: function() {
+               var selection = this.options.selection;
 
-                       // after bringing in the frame, load the actual editor via an ajax call
-                       view.loadEditor();
+               // Make sure all settings are saved before removing the view.
+               this.updateAll();
 
-               },
+               if ( selection ) {
+                       selection.off( null, null, this );
+               }
+               /**
+                * call 'dispose' directly on the parent class
+                */
+               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',
+                               uploading:     false,
+                               type:          '',
+                               subtype:       '',
+                               icon:          '',
+                               filename:      '',
+                               caption:       '',
+                               title:         '',
+                               dateFormatted: '',
+                               width:         '',
+                               height:        '',
+                               compat:        false,
+                               alt:           '',
+                               description:   ''
+                       }, this.options );
 
-               renderImageDetailsToolbar: function() {
-                       this.toolbar.set( new media.view.Toolbar({
-                               controller: this,
-                               items: {
-                                       select: {
-                                               style:    'primary',
-                                               text:     l10n.update,
-                                               priority: 80,
+               options.buttons  = this.buttons;
+               options.describe = this.controller.state().get('describe');
 
-                                               click: function() {
-                                                       var controller = this.controller,
-                                                               state = controller.state();
+               if ( 'image' === options.type ) {
+                       options.size = this.imageSize();
+               }
 
-                                                       controller.close();
+               options.can = {};
+               if ( options.nonces ) {
+                       options.can.remove = !! options.nonces['delete'];
+                       options.can.save = !! options.nonces.update;
+               }
 
-                                                       // 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() );
+               if ( this.controller.state().get('allowLocalEdits') ) {
+                       options.allowLocalEdits = true;
+               }
 
-                                                       // Restore and reset the default state.
-                                                       controller.setState( controller.options.state );
-                                                       controller.reset();
-                                               }
-                                       }
-                               }
-                       }) );
-               },
+               if ( options.uploading && ! options.percent ) {
+                       options.percent = 0;
+               }
 
-               renderReplaceImageToolbar: function() {
-                       var frame = this,
-                               lastState = frame.lastState(),
-                               previous = lastState && lastState.id;
+               this.views.detach();
+               this.$el.html( this.template( options ) );
 
-                       this.toolbar.set( new media.view.Toolbar({
-                               controller: this,
-                               items: {
-                                       back: {
-                                               text:     l10n.back,
-                                               priority: 20,
-                                               click:    function() {
-                                                       if ( previous ) {
-                                                               frame.setState( previous );
-                                                       } else {
-                                                               frame.close();
-                                                       }
-                                               }
-                                       },
+               this.$el.toggleClass( 'uploading', options.uploading );
 
-                                       replace: {
-                                               style:    'primary',
-                                               text:     l10n.replace,
-                                               priority: 80,
+               if ( options.uploading ) {
+                       this.$bar = this.$('.media-progress-bar div');
+               } else {
+                       delete this.$bar;
+               }
 
-                                               click: function() {
-                                                       var controller = this.controller,
-                                                               state = controller.state(),
-                                                               selection = state.get( 'selection' ),
-                                                               attachment = selection.single();
+               // Check if the model is selected.
+               this.updateSelect();
 
-                                                       controller.close();
+               // Update the save status.
+               this.updateSave();
 
-                                                       controller.image.changeAttachment( attachment, state.display( attachment ) );
+               this.views.render();
 
-                                                       // 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() );
+               return this;
+       },
 
-                                                       // Restore and reset the default state.
-                                                       controller.setState( controller.options.state );
-                                                       controller.reset();
-                                               }
-                                       }
-                               }
-                       }) );
+       progress: function() {
+               if ( this.$bar && this.$bar.length ) {
+                       this.$bar.width( this.model.get('percent') + '%' );
                }
-
-       });
+       },
 
        /**
-        * wp.media.view.Modal
-        *
-        * A modal view, which the media modal uses as its default container.
-        *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       media.view.Modal = media.View.extend({
-               tagName:  'div',
-               template: media.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: true,
-                               freeze:    true
-                       });
-
-                       this.focusManager = new media.view.FocusManager({
-                               el: this.el
-                       });
-               },
-               /**
-                * @returns {Object}
-                */
-               prepare: function() {
-                       return {
-                               title: this.options.title
-                       };
-               },
+        * @param {Object} event
+        */
+       toggleSelectionHandler: function( event ) {
+               var method;
 
-               /**
-                * @returns {wp.media.view.Modal} Returns itself to allow chaining
-                */
-               attach: function() {
-                       if ( this.views.attached ) {
-                               return this;
-                       }
+               // Don't do anything inside inputs.
+               if ( 'INPUT' === event.target.nodeName ) {
+                       return;
+               }
 
-                       if ( ! this.views.rendered ) {
-                               this.render();
-                       }
+               // Catch arrow events
+               if ( 37 === event.keyCode || 38 === event.keyCode || 39 === event.keyCode || 40 === event.keyCode ) {
+                       this.controller.trigger( 'attachment:keydown:arrow', event );
+                       return;
+               }
 
-                       this.$el.appendTo( this.options.container );
+               // Catch enter and space events
+               if ( 'keydown' === event.type && 13 !== event.keyCode && 32 !== event.keyCode ) {
+                       return;
+               }
 
-                       // Manually mark the view as attached and trigger ready.
-                       this.views.attached = true;
-                       this.views.ready();
+               event.preventDefault();
 
-                       return this.propagate('attach');
-               },
+               // In the grid view, bubble up an edit:attachment event to the controller.
+               if ( this.controller.isModeActive( 'grid' ) ) {
+                       if ( this.controller.isModeActive( 'edit' ) ) {
+                               // Pass the current target to restore focus when closing
+                               this.controller.trigger( 'edit:attachment', this.model, event.currentTarget );
+                               return;
+                       }
 
-               /**
-                * @returns {wp.media.view.Modal} Returns itself to allow chaining
-                */
-               detach: function() {
-                       if ( this.$el.is(':visible') ) {
-                               this.close();
+                       if ( this.controller.isModeActive( 'select' ) ) {
+                               method = 'toggle';
                        }
+               }
 
-                       this.$el.detach();
-                       this.views.attached = false;
-                       return this.propagate('detach');
-               },
+               if ( event.shiftKey ) {
+                       method = 'between';
+               } else if ( event.ctrlKey || event.metaKey ) {
+                       method = 'toggle';
+               }
 
-               /**
-                * @returns {wp.media.view.Modal} Returns itself to allow chaining
-                */
-               open: function() {
-                       var $el = this.$el,
-                               options = this.options,
-                               mceEditor;
+               this.toggleSelection({
+                       method: method
+               });
 
-                       if ( $el.is(':visible') ) {
-                               return this;
-                       }
+               this.controller.trigger( 'selection:toggle' );
+       },
+       /**
+        * @param {Object} options
+        */
+       toggleSelection: function( options ) {
+               var collection = this.collection,
+                       selection = this.options.selection,
+                       model = this.model,
+                       method = options && options.method,
+                       single, models, singleIndex, modelIndex;
+
+               if ( ! selection ) {
+                       return;
+               }
 
-                       if ( ! this.views.attached ) {
-                               this.attach();
-                       }
+               single = selection.single();
+               method = _.isUndefined( method ) ? selection.multiple : method;
 
-                       // If the `freeze` option is set, record the window's scroll position.
-                       if ( options.freeze ) {
-                               this._freeze = {
-                                       scrollTop: $( window ).scrollTop()
-                               };
+               // If the `method` is set to `between`, select all models that
+               // 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 ) {
+                               return;
                        }
 
-                       // Disable page scrolling.
-                       $( 'body' ).addClass( 'modal-open' );
-
-                       $el.show();
+                       singleIndex = collection.indexOf( single );
+                       modelIndex  = collection.indexOf( this.model );
 
-                       // Try to close the onscreen keyboard
-                       if ( 'ontouchend' in document ) {
-                               if ( ( mceEditor = window.tinymce && window.tinymce.activeEditor )  && ! mceEditor.isHidden() && mceEditor.iframeElement ) {
-                                       mceEditor.iframeElement.focus();
-                                       mceEditor.iframeElement.blur();
+                       if ( singleIndex < modelIndex ) {
+                               models = collection.models.slice( singleIndex, modelIndex + 1 );
+                       } else {
+                               models = collection.models.slice( modelIndex, singleIndex + 1 );
+                       }
+
+                       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 );
+                       selection.single( model );
+                       return;
+               } else if ( 'add' === method ) {
+                       selection.add( model );
+                       selection.single( model );
+                       return;
+               }
 
-                                       setTimeout( function() {
-                                               mceEditor.iframeElement.blur();
-                                       }, 100 );
-                               }
-                       }
+               // Fixes bug that loses focus when selecting a featured image
+               if ( ! method ) {
+                       method = 'add';
+               }
 
-                       this.$el.focus();
+               if ( method !== 'add' ) {
+                       method = 'reset';
+               }
 
-                       return this.propagate('open');
-               },
+               if ( this.selected() ) {
+                       // If the model is the single model, remove it.
+                       // If it is not the same as the single model,
+                       // it now becomes the single model.
+                       selection[ single === model ? 'remove' : 'single' ]( model );
+               } else {
+                       // 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 );
+                       selection.single( model );
+               }
+       },
 
-               /**
-                * @param {Object} options
-                * @returns {wp.media.view.Modal} Returns itself to allow chaining
-                */
-               close: function( options ) {
-                       var freeze = this._freeze;
+       updateSelect: function() {
+               this[ this.selected() ? 'select' : 'deselect' ]();
+       },
+       /**
+        * @returns {unresolved|Boolean}
+        */
+       selected: function() {
+               var selection = this.options.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,
+                       controller = this.controller;
+
+               // 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 ) ) {
+                       return;
+               }
 
-                       if ( ! this.views.attached || ! this.$el.is(':visible') ) {
-                               return this;
-                       }
+               // Bail if the model is already selected.
+               if ( this.$el.hasClass( 'selected' ) ) {
+                       return;
+               }
 
-                       // Enable page scrolling.
-                       $( 'body' ).removeClass( 'modal-open' );
+               // Add 'selected' class to model, set aria-checked to true.
+               this.$el.addClass( 'selected' ).attr( 'aria-checked', true );
+               //  Make the checkbox tabable, except in media grid (bulk select mode).
+               if ( ! ( controller.isModeActive( 'grid' ) && controller.isModeActive( 'select' ) ) ) {
+                       this.$( '.check' ).attr( 'tabindex', '0' );
+               }
+       },
+       /**
+        * @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 ) ) {
+                       return;
+               }
+               this.$el.removeClass( 'selected' ).attr( 'aria-checked', false )
+                       .find( '.check' ).attr( 'tabindex', '-1' );
+       },
+       /**
+        * @param {Backbone.Model} model
+        * @param {Backbone.Collection} collection
+        */
+       details: function( model, collection ) {
+               var selection = this.options.selection,
+                       details;
 
-                       // Hide modal and remove restricted media modal tab focus once it's closed
-                       this.$el.hide().undelegate( 'keydown' );
+               if ( selection !== collection ) {
+                       return;
+               }
 
-                       // Put focus back in useful location once modal is closed
-                       $('#wpbody-content').focus();
+               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'), matched = false;
 
-                       this.propagate('close');
+               size = size || 'medium';
 
-                       // If the `freeze` option is set, restore the container's scroll position.
-                       if ( freeze ) {
-                               $( window ).scrollTop( freeze.scrollTop );
+               // Use the provided image size if possible.
+               if ( sizes ) {
+                       if ( sizes[ size ] ) {
+                               matched = sizes[ size ];
+                       } else if ( sizes.large ) {
+                               matched = sizes.large;
+                       } else if ( sizes.thumbnail ) {
+                               matched = sizes.thumbnail;
+                       } else if ( sizes.full ) {
+                               matched = sizes.full;
                        }
 
-                       if ( options && options.escape ) {
-                               this.propagate('escape');
+                       if ( matched ) {
+                               return _.clone( matched );
                        }
+               }
 
-                       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;
-               },
+               return {
+                       url:         this.model.get('url'),
+                       width:       this.model.get('width'),
+                       height:      this.model.get('height'),
+                       orientation: this.model.get('orientation')
+               };
+       },
+       /**
+        * @param {Object} event
+        */
+       updateSetting: function( event ) {
+               var $setting = $( event.target ).closest('[data-setting]'),
+                       setting, value;
 
-               /**
-                * 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 ( ! $setting.length ) {
+                       return;
+               }
 
-                       if ( this.options.propagate ) {
-                               this.controller.trigger( id );
-                       }
+               setting = $setting.data('setting');
+               value   = event.target.value;
 
-                       return this;
-               },
-               /**
-                * @param {Object} event
-                */
-               keydown: function( event ) {
-                       // Close the modal when escape is pressed.
-                       if ( 27 === event.which && this.$el.is(':visible') ) {
-                               this.escape();
-                               event.stopImmediatePropagation();
-                       }
+               if ( this.model.get( setting ) !== value ) {
+                       this.save( setting, value );
                }
-       });
+       },
 
        /**
-        * wp.media.view.FocusManager
+        * Pass all the arguments to the model's save method.
         *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
+        * Records the aggregate status of all save requests and updates the
+        * view's classes accordingly.
         */
-       media.view.FocusManager = media.View.extend({
-
-               events: {
-                       'keydown': 'constrainTabbing'
-               },
-
-               focus: function() { // Reset focus on first left menu item
-                       this.$('.media-menu-item').first().focus();
-               },
-               /**
-                * @param {Object} event
-                */
-               constrainTabbing: function( event ) {
-                       var tabbables;
+       save: function() {
+               var view = this,
+                       save = this._save = this._save || { status: 'ready' },
+                       request = this.model.save.apply( this.model, arguments ),
+                       requests = save.requests ? $.when( request, save.requests ) : request;
+
+               // If we're waiting to remove 'Saved.', stop.
+               if ( save.savedTimer ) {
+                       clearTimeout( save.savedTimer );
+               }
 
-                       // Look for the tab key.
-                       if ( 9 !== event.keyCode ) {
+               this.updateSave('waiting');
+               save.requests = requests;
+               requests.always( function() {
+                       // If we've performed another request since this one, bail.
+                       if ( save.requests !== requests ) {
                                return;
                        }
 
-                       tabbables = this.$( ':tabbable' );
+                       view.updateSave( requests.state() === 'resolved' ? 'complete' : 'error' );
+                       save.savedTimer = setTimeout( function() {
+                               view.updateSave('ready');
+                               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' };
 
-                       // Keep tab focus within media modal while it's open
-                       if ( tabbables.last()[0] === event.target && ! event.shiftKey ) {
-                               tabbables.first().focus();
-                               return false;
-                       } else if ( tabbables.first()[0] === event.target && event.shiftKey ) {
-                               tabbables.last().focus();
-                               return false;
-                       }
+               if ( status && status !== save.status ) {
+                       this.$el.removeClass( 'save-' + save.status );
+                       save.status = status;
                }
 
-       });
-
-       /**
-        * wp.media.view.UploaderWindow
-        *
-        * An uploader window that allows for dragging and dropping media.
-        *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        *
-        * @param {object} [options]                   Options hash passed to the view.
-        * @param {object} [options.uploader]          Uploader properties.
-        * @param {jQuery} [options.uploader.browser]
-        * @param {jQuery} [options.uploader.dropzone] jQuery collection of the dropzone.
-        * @param {object} [options.uploader.params]
-        */
-       media.view.UploaderWindow = media.View.extend({
-               tagName:   'div',
-               className: 'uploader-window',
-               template:  media.template('uploader-window'),
-
-               initialize: function() {
-                       var uploader;
-
-                       this.$browser = $('<a href="#" class="browser" />').hide().appendTo('body');
-
-                       uploader = this.options.uploader = _.defaults( this.options.uploader || {}, {
-                               dropzone:  this.$el,
-                               browser:   this.$browser,
-                               params:    {}
-                       });
-
-                       // Ensure the dropzone is a jQuery collection.
-                       if ( uploader.dropzone && ! (uploader.dropzone instanceof $) ) {
-                               uploader.dropzone = $( uploader.dropzone );
-                       }
+               this.$el.addClass( 'save-' + save.status );
+               return this;
+       },
 
-                       this.controller.on( 'activate', this.refresh, this );
+       updateAll: function() {
+               var $settings = this.$('[data-setting]'),
+                       model = this.model,
+                       changed;
 
-                       this.controller.on( 'detach', function() {
-                               this.$browser.remove();
-                       }, this );
-               },
+               changed = _.chain( $settings ).map( function( el ) {
+                       var $input = $('input, textarea, select, [value]', el ),
+                               setting, value;
 
-               refresh: function() {
-                       if ( this.uploader ) {
-                               this.uploader.refresh();
+                       if ( ! $input.length ) {
+                               return;
                        }
-               },
 
-               ready: function() {
-                       var postId = media.view.settings.post.id,
-                               dropzone;
+                       setting = $(el).data('setting');
+                       value = $input.val();
 
-                       // If the uploader already exists, bail.
-                       if ( this.uploader ) {
-                               return;
+                       // Record the value if it changed.
+                       if ( model.get( setting ) !== value ) {
+                               return [ setting, value ];
                        }
+               }).compact().object().value();
 
-                       if ( postId ) {
-                               this.options.uploader.params.post_id = postId;
-                       }
-                       this.uploader = new wp.Uploader( this.options.uploader );
+               if ( ! _.isEmpty( changed ) ) {
+                       model.save( changed );
+               }
+       },
+       /**
+        * @param {Object} event
+        */
+       removeFromLibrary: function( event ) {
+               // Catch enter and space events
+               if ( 'keydown' === event.type && 13 !== event.keyCode && 32 !== event.keyCode ) {
+                       return;
+               }
 
-                       dropzone = this.uploader.dropzone;
-                       dropzone.on( 'dropzone:enter', _.bind( this.show, this ) );
-                       dropzone.on( 'dropzone:leave', _.bind( this.hide, this ) );
+               // Stop propagation so the model isn't selected.
+               event.stopPropagation();
 
-                       $( this.uploader ).on( 'uploader:ready', _.bind( this._ready, this ) );
-               },
+               this.collection.remove( this.model );
+       },
 
-               _ready: function() {
-                       this.controller.trigger( 'uploader:ready' );
-               },
+       /**
+        * Add the model if it isn't in the selection, if it is in the selection,
+        * remove it.
+        *
+        * @param  {[type]} event [description]
+        * @return {[type]}       [description]
+        */
+       checkClickHandler: function ( event ) {
+               var selection = this.options.selection;
+               if ( ! selection ) {
+                       return;
+               }
+               event.stopPropagation();
+               if ( selection.where( { id: this.model.get( 'id' ) } ).length ) {
+                       selection.remove( this.model );
+                       // Move focus back to the attachment tile (from the check).
+                       this.$el.focus();
+               } else {
+                       selection.add( this.model );
+               }
+       }
+});
+
+// Ensure settings remain in sync between attachment views.
+_.each({
+       caption: '_syncCaption',
+       title:   '_syncTitle',
+       artist:  '_syncArtist',
+       album:   '_syncAlbum'
+}, function( method, setting ) {
+       /**
+        * @param {Backbone.Model} model
+        * @param {string} value
+        * @returns {wp.media.view.Attachment} Returns itself to allow chaining
+        */
+       Attachment.prototype[ method ] = function( model, value ) {
+               var $setting = this.$('[data-setting="' + setting + '"]');
 
-               show: function() {
-                       var $el = this.$el.show();
+               if ( ! $setting.length ) {
+                       return this;
+               }
 
-                       // Ensure that the animation is triggered by waiting until
-                       // the transparent element is painted into the DOM.
-                       _.defer( function() {
-                               $el.css({ opacity: 1 });
-                       });
-               },
+               // 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() ) {
+                       return this;
+               }
 
-               hide: function() {
-                       var $el = this.$el.css({ opacity: 0 });
+               return this.render();
+       };
+});
+
+module.exports = Attachment;
+
+},{}],24:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.view.Attachment.Details
+ *
+ * @class
+ * @augments wp.media.view.Attachment
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Attachment = wp.media.view.Attachment,
+       l10n = wp.media.view.l10n,
+       Details;
+
+Details = Attachment.extend({
+       tagName:   'div',
+       className: 'attachment-details',
+       template:  wp.template('attachment-details'),
+
+       attributes: function() {
+               return {
+                       'tabIndex':     0,
+                       'data-id':      this.model.get( 'id' )
+               };
+       },
+
+       events: {
+               'change [data-setting]':          'updateSetting',
+               'change [data-setting] input':    'updateSetting',
+               'change [data-setting] select':   'updateSetting',
+               'change [data-setting] textarea': 'updateSetting',
+               'click .delete-attachment':       'deleteAttachment',
+               'click .trash-attachment':        'trashAttachment',
+               'click .untrash-attachment':      'untrashAttachment',
+               'click .edit-attachment':         'editAttachment',
+               'click .refresh-attachment':      'refreshAttachment',
+               'keydown':                        'toggleSelectionHandler'
+       },
+
+       initialize: function() {
+               this.options = _.defaults( this.options, {
+                       rerenderOnModelChange: false
+               });
 
-                       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') ) {
-                                       $el.hide();
-                               }
-                       });
+               this.on( 'ready', this.initialFocus );
+               // Call 'initialize' directly on the parent class.
+               Attachment.prototype.initialize.apply( this, arguments );
+       },
 
-                       // https://core.trac.wordpress.org/ticket/27341
-                       _.delay( function() {
-                               if ( '0' === $el.css('opacity') && $el.is(':visible') ) {
-                                       $el.hide();
-                               }
-                       }, 500 );
+       initialFocus: function() {
+               if ( ! wp.media.isTouchDevice ) {
+                       this.$( ':input' ).eq( 0 ).focus();
                }
-       });
-
+       },
        /**
-        * Creates a dropzone on WP editor instances (elements with .wp-editor-wrap
-        * or #wp-fullscreen-body) and relays drag'n'dropped files to a media workflow.
-        *
-        * wp.media.view.EditorUploader
-        *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
+        * @param {Object} event
         */
-       media.view.EditorUploader = media.View.extend({
-               tagName:   'div',
-               className: 'uploader-editor',
-               template:  media.template( 'uploader-editor' ),
-
-               localDrag: false,
-               overContainer: false,
-               overDropzone: false,
-               draggingFile: null,
+       deleteAttachment: function( event ) {
+               event.preventDefault();
 
-               /**
-                * Bind drag'n'drop events to callbacks.
-                */
-               initialize: function() {
-                       var self = this;
+               if ( window.confirm( l10n.warnDelete ) ) {
+                       this.model.destroy();
+                       // Keep focus inside media modal
+                       // after image is deleted
+                       this.controller.modal.focusManager.focus();
+               }
+       },
+       /**
+        * @param {Object} event
+        */
+       trashAttachment: function( event ) {
+               var library = this.controller.library;
+               event.preventDefault();
 
-                       this.initialized = false;
+               if ( wp.media.view.settings.mediaTrash &&
+                       'edit-metadata' === this.controller.content.mode() ) {
 
-                       // 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.model.set( 'status', 'trash' );
+                       this.model.save().done( function() {
+                               library._requery( true );
+                       } );
+               }  else {
+                       this.model.destroy();
+               }
+       },
+       /**
+        * @param {Object} event
+        */
+       untrashAttachment: function( event ) {
+               var library = this.controller.library;
+               event.preventDefault();
+
+               this.model.set( 'status', 'inherit' );
+               this.model.save().done( function() {
+                       library._requery( true );
+               } );
+       },
+       /**
+        * @param {Object} event
+        */
+       editAttachment: function( event ) {
+               var editState = this.controller.states.get( 'edit-image' );
+               if ( window.imageEdit && editState ) {
+                       event.preventDefault();
 
-                       this.$document = $(document);
-                       this.dropzones = [];
-                       this.files = [];
+                       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();
+       },
+       /**
+        * When reverse tabbing(shift+tab) out of the right details panel, deliver
+        * the focus to the item in the list that was being edited.
+        *
+        * @param {Object} event
+        */
+       toggleSelectionHandler: function( event ) {
+               if ( 'keydown' === event.type && 9 === event.keyCode && event.shiftKey && event.target === this.$( ':tabbable' ).get( 0 ) ) {
+                       this.controller.trigger( 'attachment:details:shift-tab', event );
+                       return false;
+               }
 
-                       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 ) );
+               if ( 37 === event.keyCode || 38 === event.keyCode || 39 === event.keyCode || 40 === event.keyCode ) {
+                       this.controller.trigger( 'attachment:keydown:arrow', event );
+                       return;
+               }
+       }
+});
+
+module.exports = Details;
+
+},{}],25:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.Attachment.EditLibrary
+ *
+ * @class
+ * @augments wp.media.view.Attachment
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var EditLibrary = wp.media.view.Attachment.extend({
+       buttons: {
+               close: true
+       }
+});
+
+module.exports = EditLibrary;
+
+},{}],26:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.Attachments.EditSelection
+ *
+ * @class
+ * @augments wp.media.view.Attachment.Selection
+ * @augments wp.media.view.Attachment
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var EditSelection = wp.media.view.Attachment.Selection.extend({
+       buttons: {
+               close: true
+       }
+});
+
+module.exports = EditSelection;
+
+},{}],27:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.Attachment.Library
+ *
+ * @class
+ * @augments wp.media.view.Attachment
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Library = wp.media.view.Attachment.extend({
+       buttons: {
+               check: true
+       }
+});
+
+module.exports = Library;
+
+},{}],28:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.Attachment.Selection
+ *
+ * @class
+ * @augments wp.media.view.Attachment
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Selection = wp.media.view.Attachment.extend({
+       className: 'attachment selection',
+
+       // On click, just select the model, instead of removing the model from
+       // the selection.
+       toggleSelection: function() {
+               this.options.selection.single( this.model );
+       }
+});
+
+module.exports = Selection;
+
+},{}],29:[function(require,module,exports){
+/*globals wp, _, jQuery */
+
+/**
+ * wp.media.view.Attachments
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var View = wp.media.View,
+       $ = jQuery,
+       Attachments;
+
+Attachments = View.extend({
+       tagName:   'ul',
+       className: 'attachments',
+
+       attributes: {
+               tabIndex: -1
+       },
+
+       initialize: function() {
+               this.el.id = _.uniqueId('__attachments-view-');
+
+               _.defaults( this.options, {
+                       refreshSensitivity: wp.media.isTouchDevice ? 300 : 200,
+                       refreshThreshold:   3,
+                       AttachmentView:     wp.media.view.Attachment,
+                       sortable:           false,
+                       resize:             true,
+                       idealColumnWidth:   $( window ).width() < 640 ? 135 : 150
+               });
 
-                       this.$document.on( 'dragover', _.bind( this.containerDragover, this ) );
-                       this.$document.on( 'dragleave', _.bind( this.containerDragleave, this ) );
+               this._viewsByCid = {};
+               this.$window = $( window );
+               this.resizeEvent = 'resize.media-modal-columns';
 
-                       this.$document.on( 'dragstart dragend drop', function( event ) {
-                               self.localDrag = event.type === 'dragstart';
+               this.collection.on( 'add', function( attachment ) {
+                       this.views.add( this.createAttachmentView( attachment ), {
+                               at: this.collection.indexOf( attachment )
                        });
+               }, this );
 
-                       this.initialized = true;
-                       return this;
-               },
-
-               /**
-                * Check browser support for drag'n'drop.
-                *
-                * @return Boolean
-                */
-               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;
-               },
-
-               isDraggingFile: function( event ) {
-                       if ( this.draggingFile !== null ) {
-                               return this.draggingFile;
-                       }
+               this.collection.on( 'remove', function( attachment ) {
+                       var view = this._viewsByCid[ attachment.cid ];
+                       delete this._viewsByCid[ attachment.cid ];
 
-                       if ( _.isUndefined( event.originalEvent ) || _.isUndefined( event.originalEvent.dataTransfer ) ) {
-                               return false;
+                       if ( view ) {
+                               view.remove();
                        }
+               }, this );
 
-                       this.draggingFile = _.indexOf( event.originalEvent.dataTransfer.types, 'Files' ) > -1 &&
-                               _.indexOf( event.originalEvent.dataTransfer.types, 'text/plain' ) === -1;
+               this.collection.on( 'reset', this.render, this );
 
-                       return this.draggingFile;
-               },
+               this.listenTo( this.controller, 'library:selection:add',    this.attachmentFocus );
 
-               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 );
-                       }
+               // Throttle the scroll handler and bind this.
+               this.scroll = _.chain( this.scroll ).bind( this ).throttle( this.options.refreshSensitivity ).value();
 
-                       if ( ! _.isUndefined( e ) ) {
-                               $( e.target ).closest( '.uploader-editor' ).toggleClass( 'droppable', this.overDropzone );
-                       }
+               this.options.scrollElement = this.options.scrollElement || this.el;
+               $( this.options.scrollElement ).on( 'scroll', this.scroll );
 
-                       if ( ! this.overContainer && ! this.overDropzone ) {
-                               this.draggingFile = null;
-                       }
+               this.initSortable();
 
-                       return this;
-               },
+               _.bindAll( this, 'setColumns' );
 
-               render: function() {
-                       if ( ! this.initialized ) {
-                               return this;
-                       }
+               if ( this.options.resize ) {
+                       this.on( 'ready', this.bindEvents );
+                       this.controller.on( 'open', this.setColumns );
 
-                       media.View.prototype.render.apply( this, arguments );
-                       $( '.wp-editor-wrap, #wp-fullscreen-body' ).each( _.bind( this.attach, this ) );
-                       return this;
-               },
+                       // Call this.setColumns() after this view has been rendered in the DOM so
+                       // attachments get proper width applied.
+                       _.defer( this.setColumns, 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;
-               },
+       bindEvents: function() {
+               this.$window.off( this.resizeEvent ).on( this.resizeEvent, _.debounce( this.setColumns, 50 ) );
+       },
 
-               /**
-                * When a file is dropped on the editor uploader, open up an editor media workflow
-                * and upload the file immediately.
-                *
-                * @param  {jQuery.Event} event The 'drop' event.
-                */
-               drop: function( event ) {
-                       var $wrap = null, uploadView;
+       attachmentFocus: function() {
+               this.$( 'li:first' ).focus();
+       },
 
-                       this.containerDragleave( event );
-                       this.dropzoneDragleave( event );
+       restoreFocus: function() {
+               this.$( 'li.selected:first' ).focus();
+       },
 
-                       this.files = event.originalEvent.dataTransfer.files;
-                       if ( this.files.length < 1 ) {
-                               return;
-                       }
+       arrowEvent: function( event ) {
+               var attachments = this.$el.children( 'li' ),
+                       perRow = this.columns,
+                       index = attachments.filter( ':focus' ).index(),
+                       row = ( index + 1 ) <= perRow ? 1 : Math.ceil( ( index + 1 ) / perRow );
 
-                       // 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 ( index === -1 ) {
+                       return;
+               }
 
-                       if ( ! this.workflow ) {
-                               this.workflow = wp.media.editor.open( 'content', {
-                                       frame:    'post',
-                                       state:    'insert',
-                                       title:    wp.media.view.l10n.addMedia,
-                                       multiple: true
-                               });
-                               uploadView = this.workflow.uploader;
-                               if ( uploadView.uploader && uploadView.uploader.ready ) {
-                                       this.addFiles.apply( this );
-                               } else {
-                                       this.workflow.on( 'uploader:ready', this.addFiles, this );
-                               }
-                       } else {
-                               this.workflow.state().reset();
-                               this.addFiles.apply( this );
-                               this.workflow.open();
+               // Left arrow
+               if ( 37 === event.keyCode ) {
+                       if ( 0 === index ) {
+                               return;
                        }
+                       attachments.eq( index - 1 ).focus();
+               }
 
-                       return false;
-               },
-
-               /**
-                * Add the files to the uploader.
-                */
-               addFiles: function() {
-                       if ( this.files.length ) {
-                               this.workflow.uploader.uploader.uploader.addFile( _.toArray( this.files ) );
-                               this.files = [];
+               // Up arrow
+               if ( 38 === event.keyCode ) {
+                       if ( 1 === row ) {
+                               return;
                        }
-                       return this;
-               },
+                       attachments.eq( index - perRow ).focus();
+               }
 
-               containerDragover: function( event ) {
-                       if ( this.localDrag || ! this.isDraggingFile( event ) ) {
+               // Right arrow
+               if ( 39 === event.keyCode ) {
+                       if ( attachments.length === index ) {
                                return;
                        }
+                       attachments.eq( index + 1 ).focus();
+               }
 
-                       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( event ) {
-                       if ( this.localDrag || ! this.isDraggingFile( event ) ) {
+               // Down arrow
+               if ( 40 === event.keyCode ) {
+                       if ( Math.ceil( attachments.length / perRow ) === row ) {
                                return;
                        }
+                       attachments.eq( index + perRow ).focus();
+               }
+       },
 
-                       this.overDropzone = true;
-                       this.refresh( event );
-                       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;
+       dispose: function() {
+               this.collection.props.off( null, null, this );
+               if ( this.options.resize ) {
+                       this.$window.off( this.resizeEvent );
                }
-       });
 
-       /**
-        * wp.media.view.UploaderInline
-        *
-        * The inline uploader that shows up in the 'Upload Files' tab.
-        *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       media.view.UploaderInline = media.View.extend({
-               tagName:   'div',
-               className: 'uploader-inline',
-               template:  media.template('uploader-inline'),
-
-               events: {
-                       'click .close': 'hide'
-               },
-
-               initialize: function() {
-                       _.defaults( this.options, {
-                               message: '',
-                               status:  true,
-                               canClose: false
-                       });
+               /**
+                * call 'dispose' directly on the parent class
+                */
+               View.prototype.dispose.apply( this, arguments );
+       },
 
-                       if ( ! this.options.$browser && this.controller.uploader ) {
-                               this.options.$browser = this.controller.uploader.$browser;
-                       }
+       setColumns: function() {
+               var prev = this.columns,
+                       width = this.$el.width();
 
-                       if ( _.isUndefined( this.options.postId ) ) {
-                               this.options.postId = media.view.settings.post.id;
-                       }
+               if ( width ) {
+                       this.columns = Math.min( Math.round( width / this.options.idealColumnWidth ), 12 ) || 1;
 
-                       if ( this.options.status ) {
-                               this.views.set( '.upload-inline-status', new media.view.UploaderStatus({
-                                       controller: this.controller
-                               }) );
+                       if ( ! prev || prev !== this.columns ) {
+                               this.$el.closest( '.media-frame-content' ).attr( 'data-columns', this.columns );
                        }
-               },
-
-               prepare: function() {
-                       var suggestedWidth = this.controller.state().get('suggestedWidth'),
-                               suggestedHeight = this.controller.state().get('suggestedHeight'),
-                               data = {};
-
-                       data.message = this.options.message;
-                       data.canClose = this.options.canClose;
+               }
+       },
 
-                       if ( suggestedWidth && suggestedHeight ) {
-                               data.suggestedWidth = suggestedWidth;
-                               data.suggestedHeight = suggestedHeight;
-                       }
+       initSortable: function() {
+               var collection = this.collection;
 
-                       return data;
-               },
-               /**
-                * @returns {wp.media.view.UploaderInline} Returns itself to allow chaining
-                */
-               dispose: function() {
-                       if ( this.disposing ) {
-                               /**
-                                * call 'dispose' directly on the parent class
-                                */
-                               return media.View.prototype.dispose.apply( this, arguments );
-                       }
+               if ( wp.media.isTouchDevice || ! this.options.sortable || ! $.fn.sortable ) {
+                       return;
+               }
 
-                       // Run remove on `dispose`, so we can be sure to refresh the
-                       // uploader with a view-less DOM. Track whether we're disposing
-                       // so we don't trigger an infinite loop.
-                       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 );
+               this.$el.sortable( _.extend({
+                       // If the `collection` has a `comparator`, disable sorting.
+                       disabled: !! collection.comparator,
+
+                       // Change the position of the attachment as soon as the
+                       // mouse pointer overlaps a thumbnail.
+                       tolerance: 'pointer',
+
+                       // Record the initial `index` of the dragged model.
+                       start: function( event, ui ) {
+                               ui.item.data('sortableIndexStart', ui.item.index());
+                       },
+
+                       // Update the model's index in the collection.
+                       // Do so silently, as the view is already accurate.
+                       update: function( event, ui ) {
+                               var model = collection.at( ui.item.data('sortableIndexStart') ),
+                                       comparator = collection.comparator;
+
+                               // Temporarily disable the comparator to prevent `add`
+                               // from re-sorting.
+                               delete collection.comparator;
+
+                               // Silently shift the model to its new index.
+                               collection.remove( model, {
+                                       silent: true
+                               });
+                               collection.add( model, {
+                                       silent: true,
+                                       at:     ui.item.index()
+                               });
 
-                       _.defer( _.bind( this.refresh, this ) );
-                       return result;
-               },
+                               // Restore the comparator.
+                               collection.comparator = comparator;
 
-               refresh: function() {
-                       var uploader = this.controller.uploader;
+                               // Fire the `reset` event to ensure other collections sync.
+                               collection.trigger( 'reset', collection );
 
-                       if ( uploader ) {
-                               uploader.refresh();
+                               // If the collection is sorted by menu order,
+                               // update the menu order.
+                               collection.saveMenuOrder();
                        }
-               },
-               /**
-                * @returns {wp.media.view.UploaderInline}
-                */
-               ready: function() {
-                       var $browser = this.options.$browser,
-                               $placeholder;
-
-                       if ( this.controller.uploader ) {
-                               $placeholder = this.$('.browser');
+               }, this.options.sortable ) );
 
-                               // Check if we've already replaced the placeholder.
-                               if ( $placeholder[0] === $browser[0] ) {
-                                       return;
-                               }
+               // If the `orderby` property is changed on the `collection`,
+               // check to see if we have a `comparator`. If so, disable sorting.
+               collection.props.on( 'change:orderby', function() {
+                       this.$el.sortable( 'option', 'disabled', !! collection.comparator );
+               }, this );
 
-                               $browser.detach().text( $placeholder.text() );
-                               $browser[0].className = $placeholder[0].className;
-                               $placeholder.replaceWith( $browser.show() );
-                       }
+               this.collection.props.on( 'change:orderby', this.refreshSortable, this );
+               this.refreshSortable();
+       },
 
-                       this.refresh();
-                       return this;
-               },
-               show: function() {
-                       this.$el.removeClass( 'hidden' );
-               },
-               hide: function() {
-                       this.$el.addClass( 'hidden' );
+       refreshSortable: function() {
+               if ( wp.media.isTouchDevice || ! this.options.sortable || ! $.fn.sortable ) {
+                       return;
                }
 
-       });
+               // If the `collection` has a `comparator`, disable sorting.
+               var collection = this.collection,
+                       orderby = collection.props.get('orderby'),
+                       enabled = 'menuOrder' === orderby || ! collection.comparator;
 
-       /**
-        * wp.media.view.UploaderStatus
-        *
-        * An uploader status for on-going uploads.
-        *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       media.view.UploaderStatus = media.View.extend({
-               className: 'media-uploader-status',
-               template:  media.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 );
-               },
-               /**
-                * @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;
-               },
-
-               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( selector, key ) {
-                               this[ key ] = this.$( selector );
-                       }, this );
+               this.$el.sortable( 'option', 'disabled', ! enabled );
+       },
 
-                       this.visibility();
-                       this.progress();
-                       this.info();
-               },
+       /**
+        * @param {wp.media.model.Attachment} attachment
+        * @returns {wp.media.View}
+        */
+       createAttachmentView: function( attachment ) {
+               var view = new this.options.AttachmentView({
+                       controller:           this.controller,
+                       model:                attachment,
+                       collection:           this.collection,
+                       selection:            this.options.selection
+               });
 
-               progress: function() {
-                       var queue = this.queue,
-                               $bar = this.$bar;
+               return this._viewsByCid[ attachment.cid ] = view;
+       },
 
-                       if ( ! $bar || ! queue.length ) {
-                               return;
-                       }
+       prepare: function() {
+               // Create all of the Attachment views, and replace
+               // the list in a single DOM operation.
+               if ( this.collection.length ) {
+                       this.views.set( this.collection.map( this.createAttachmentView, this ) );
 
-                       $bar.width( ( queue.reduce( function( memo, attachment ) {
-                               if ( ! attachment.get('uploading') ) {
-                                       return memo + 100;
-                               }
+               // If there are no elements, clear the views and load some.
+               } else {
+                       this.views.unset();
+                       this.collection.more().done( this.scroll );
+               }
+       },
+
+       ready: function() {
+               // Trigger the scroll event to check if we're within the
+               // threshold to query for additional attachments.
+               this.scroll();
+       },
+
+       scroll: function() {
+               var view = this,
+                       el = this.options.scrollElement,
+                       scrollTop = el.scrollTop,
+                       toolbar;
+
+               // The scroll event occurs on the document, but the element
+               // that should be checked is the document body.
+               if ( el === document ) {
+                       el = document.body;
+                       scrollTop = $(document).scrollTop();
+               }
 
-                               var percent = attachment.get('percent');
-                               return memo + ( _.isNumber( percent ) ? percent : 100 );
-                       }, 0 ) / queue.length ) + '%' );
-               },
+               if ( ! $(el).is(':visible') || ! this.collection.hasMore() ) {
+                       return;
+               }
 
-               info: function() {
-                       var queue = this.queue,
-                               index = 0, active;
+               toolbar = this.views.parent.toolbar;
 
-                       if ( ! queue.length ) {
-                               return;
-                       }
+               // Show the spinner only if we are close to the bottom.
+               if ( el.scrollHeight - ( scrollTop + el.clientHeight ) < el.clientHeight / 3 ) {
+                       toolbar.get('spinner').show();
+               }
 
-                       active = this.queue.find( function( attachment, i ) {
-                               index = i;
-                               return attachment.get('uploading');
+               if ( el.scrollHeight < scrollTop + ( el.clientHeight * this.options.refreshThreshold ) ) {
+                       this.collection.more().done(function() {
+                               view.scroll();
+                               toolbar.get('spinner').hide();
                        });
+               }
+       }
+});
+
+module.exports = Attachments;
+
+},{}],30:[function(require,module,exports){
+/*globals wp, _, jQuery */
+
+/**
+ * wp.media.view.AttachmentsBrowser
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ *
+ * @param {object}         [options]               The options hash passed to the view.
+ * @param {boolean|string} [options.filters=false] Which filters to show in the browser's toolbar.
+ *                                                 Accepts 'uploaded' and 'all'.
+ * @param {boolean}        [options.search=true]   Whether to show the search interface in the
+ *                                                 browser's toolbar.
+ * @param {boolean}        [options.date=true]     Whether to show the date filter in the
+ *                                                 browser's toolbar.
+ * @param {boolean}        [options.display=false] Whether to show the attachments display settings
+ *                                                 view in the sidebar.
+ * @param {boolean|string} [options.sidebar=true]  Whether to create a sidebar for the browser.
+ *                                                 Accepts true, false, and 'errors'.
+ */
+var View = wp.media.View,
+       mediaTrash = wp.media.view.settings.mediaTrash,
+       l10n = wp.media.view.l10n,
+       $ = jQuery,
+       AttachmentsBrowser;
+
+AttachmentsBrowser = View.extend({
+       tagName:   'div',
+       className: 'attachments-browser',
+
+       initialize: function() {
+               _.defaults( this.options, {
+                       filters: false,
+                       search:  true,
+                       date:    true,
+                       display: false,
+                       sidebar: true,
+                       AttachmentView: wp.media.view.Attachment.Library
+               });
 
-                       this.$index.text( index + 1 );
-                       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 ),
-                               message:  error.get('message')
-                       }), { at: 0 });
-               },
-
-               /**
-                * @global wp.Uploader
-                *
-                * @param {Object} event
-                */
-               dismiss: function( event ) {
-                       var errors = this.views.get('.upload-errors');
+               this.listenTo( this.controller, 'toggle:upload:attachment', _.bind( this.toggleUploader, this ) );
+               this.controller.on( 'edit:selection', this.editSelection );
+               this.createToolbar();
+               if ( this.options.sidebar ) {
+                       this.createSidebar();
+               }
+               this.createUploader();
+               this.createAttachments();
+               this.updateContent();
 
-                       event.preventDefault();
+               if ( ! this.options.sidebar || 'errors' === this.options.sidebar ) {
+                       this.$el.addClass( 'hide-sidebar' );
 
-                       if ( errors ) {
-                               _.invoke( errors, 'remove' );
+                       if ( 'errors' === this.options.sidebar ) {
+                               this.$el.addClass( 'sidebar-for-errors' );
                        }
-                       wp.Uploader.errors.reset();
                }
-       });
 
-       /**
-        * wp.media.view.UploaderStatusError
-        *
-        * @class
-        * @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')
-       });
+               this.collection.on( 'add remove reset', this.updateContent, this );
+       },
+
+       editSelection: function( modal ) {
+               modal.$( '.media-button-backToLibrary' ).focus();
+       },
 
        /**
-        * wp.media.view.Toolbar
-        *
-        * A toolbar which consists of a primary and a secondary section. Each sections
-        * can be filled with views.
-        *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
+        * @returns {wp.media.view.AttachmentsBrowser} Returns itself to allow chaining
         */
-       media.view.Toolbar = media.View.extend({
-               tagName:   'div',
-               className: 'media-toolbar',
+       dispose: function() {
+               this.options.selection.off( null, null, this );
+               View.prototype.dispose.apply( this, arguments );
+               return this;
+       },
 
-               initialize: function() {
-                       var state = this.controller.state(),
-                               selection = this.selection = state.get('selection'),
-                               library = this.library = state.get('library');
+       createToolbar: function() {
+               var LibraryViewSwitcher, Filters, toolbarOptions;
 
-                       this._views = {};
+               toolbarOptions = {
+                       controller: this.controller
+               };
 
-                       // The toolbar is composed of two `PriorityList` views.
-                       this.primary   = new media.view.PriorityList();
-                       this.secondary = new media.view.PriorityList();
-                       this.primary.$el.addClass('media-toolbar-primary search-form');
-                       this.secondary.$el.addClass('media-toolbar-secondary');
+               if ( this.controller.isModeActive( 'grid' ) ) {
+                       toolbarOptions.className = 'media-toolbar wp-filter';
+               }
 
-                       this.views.set([ this.secondary, this.primary ]);
+               /**
+               * @member {wp.media.view.Toolbar}
+               */
+               this.toolbar = new wp.media.view.Toolbar( toolbarOptions );
 
-                       if ( this.options.items ) {
-                               this.set( this.options.items, { silent: true });
-                       }
+               this.views.add( this.toolbar );
 
-                       if ( ! this.options.silent ) {
-                               this.render();
-                       }
+               this.toolbar.set( 'spinner', new wp.media.view.Spinner({
+                       priority: -60
+               }) );
 
-                       if ( selection ) {
-                               selection.on( 'add remove reset', this.refresh, this );
-                       }
+               if ( -1 !== $.inArray( this.options.filters, [ 'uploaded', 'all' ] ) ) {
+                       // "Filters" will return a <select>, need to render
+                       // screen reader text before
+                       this.toolbar.set( 'filtersLabel', new wp.media.view.Label({
+                               value: l10n.filterByType,
+                               attributes: {
+                                       'for':  'media-attachment-filters'
+                               },
+                               priority:   -80
+                       }).render() );
 
-                       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 ) {
-                               this.selection.off( null, null, this );
-                       }
+                       if ( 'uploaded' === this.options.filters ) {
+                               this.toolbar.set( 'filters', new wp.media.view.AttachmentFilters.Uploaded({
+                                       controller: this.controller,
+                                       model:      this.collection.props,
+                                       priority:   -80
+                               }).render() );
+                       } else {
+                               Filters = new wp.media.view.AttachmentFilters.All({
+                                       controller: this.controller,
+                                       model:      this.collection.props,
+                                       priority:   -80
+                               });
 
-                       if ( this.library ) {
-                               this.library.off( null, null, this );
+                               this.toolbar.set( 'filters', Filters.render() );
                        }
-                       /**
-                        * call 'dispose' directly on the parent class
-                        */
-                       return media.View.prototype.dispose.apply( this, arguments );
-               },
-
-               ready: function() {
-                       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 || {};
+               }
 
-                       // Accept an object with an `id` : `view` mapping.
-                       if ( _.isObject( id ) ) {
-                               _.each( id, function( view, id ) {
-                                       this.set( id, view, { silent: true });
-                               }, this );
+               // Feels odd to bring the global media library switcher into the Attachment
+               // browser view. Is this a use case for doAction( 'add:toolbar-items:attachments-browser', this.toolbar );
+               // which the controller can tap into and add this view?
+               if ( this.controller.isModeActive( 'grid' ) ) {
+                       LibraryViewSwitcher = View.extend({
+                               className: 'view-switch media-grid-view-switch',
+                               template: wp.template( 'media-library-view-switcher')
+                       });
 
-                       } else {
-                               if ( ! ( view instanceof Backbone.View ) ) {
-                                       view.classes = [ 'media-button-' + id ].concat( view.classes || [] );
-                                       view = new media.view.Button( view ).render();
-                               }
+                       this.toolbar.set( 'libraryViewSwitcher', new LibraryViewSwitcher({
+                               controller: this.controller,
+                               priority: -90
+                       }).render() );
 
-                               view.controller = view.controller || this.controller;
+                       // DateFilter is a <select>, screen reader text needs to be rendered before
+                       this.toolbar.set( 'dateFilterLabel', new wp.media.view.Label({
+                               value: l10n.filterByDate,
+                               attributes: {
+                                       'for': 'media-attachment-date-filters'
+                               },
+                               priority: -75
+                       }).render() );
+                       this.toolbar.set( 'dateFilter', new wp.media.view.DateFilter({
+                               controller: this.controller,
+                               model:      this.collection.props,
+                               priority: -75
+                       }).render() );
 
-                               this._views[ id ] = view;
+                       // BulkSelection is a <div> with subviews, including screen reader text
+                       this.toolbar.set( 'selectModeToggleButton', new wp.media.view.SelectModeToggleButton({
+                               text: l10n.bulkSelect,
+                               controller: this.controller,
+                               priority: -70
+                       }).render() );
 
-                               list = view.options.priority < 0 ? 'secondary' : 'primary';
-                               this[ list ].set( id, view, options );
-                       }
+                       this.toolbar.set( 'deleteSelectedButton', new wp.media.view.DeleteSelectedButton({
+                               filters: Filters,
+                               style: 'primary',
+                               disabled: true,
+                               text: mediaTrash ? l10n.trashSelected : l10n.deleteSelected,
+                               controller: this.controller,
+                               priority: -60,
+                               click: function() {
+                                       var changed = [], removed = [],
+                                               selection = this.controller.state().get( 'selection' ),
+                                               library = this.controller.state().get( 'library' );
 
-                       if ( ! options.silent ) {
-                               this.refresh();
-                       }
+                                       if ( ! selection.length ) {
+                                               return;
+                                       }
 
-                       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 ( ! mediaTrash && ! window.confirm( l10n.warnBulkDelete ) ) {
+                                               return;
+                                       }
 
-                       if ( ! options || ! options.silent ) {
-                               this.refresh();
-                       }
-                       return this;
-               },
+                                       if ( mediaTrash &&
+                                               'trash' !== selection.at( 0 ).get( 'status' ) &&
+                                               ! window.confirm( l10n.warnBulkTrash ) ) {
 
-               refresh: function() {
-                       var state = this.controller.state(),
-                               library = state.get('library'),
-                               selection = state.get('selection');
+                                               return;
+                                       }
 
-                       _.each( this._views, function( button ) {
-                               if ( ! button.model || ! button.options || ! button.options.requires ) {
-                                       return;
-                               }
+                                       selection.each( function( model ) {
+                                               if ( ! model.get( 'nonces' )['delete'] ) {
+                                                       removed.push( model );
+                                                       return;
+                                               }
 
-                               var requires = button.options.requires,
-                                       disabled = false;
+                                               if ( mediaTrash && 'trash' === model.get( 'status' ) ) {
+                                                       model.set( 'status', 'inherit' );
+                                                       changed.push( model.save() );
+                                                       removed.push( model );
+                                               } else if ( mediaTrash ) {
+                                                       model.set( 'status', 'trash' );
+                                                       changed.push( model.save() );
+                                                       removed.push( model );
+                                               } else {
+                                                       model.destroy({wait: true});
+                                               }
+                                       } );
 
-                               // Prevent insertion of attachments if any of them are still uploading
-                               disabled = _.some( selection.models, function( attachment ) {
-                                       return attachment.get('uploading') === true;
-                               });
+                                       if ( changed.length ) {
+                                               selection.remove( removed );
 
-                               if ( requires.selection && selection && ! selection.length ) {
-                                       disabled = true;
-                               } else if ( requires.library && library && ! library.length ) {
-                                       disabled = true;
+                                               $.when.apply( null, changed ).then( _.bind( function() {
+                                                       library._requery( true );
+                                                       this.controller.trigger( 'selection:action:done' );
+                                               }, this ) );
+                                       } else {
+                                               this.controller.trigger( 'selection:action:done' );
+                                       }
                                }
-                               button.model.set( 'disabled', disabled );
-                       });
-               }
-       });
+                       }).render() );
 
-       /**
-        * wp.media.view.Toolbar.Select
-        *
-        * @class
-        * @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;
-
-                       _.bindAll( this, 'clickSelect' );
-
-                       _.defaults( options, {
-                               event: 'select',
-                               state: false,
-                               reset: true,
-                               close: true,
-                               text:  l10n.select,
-
-                               // Does the button rely on the selection?
-                               requires: {
-                                       selection: true
-                               }
-                       });
+                       if ( mediaTrash ) {
+                               this.toolbar.set( 'deleteSelectedPermanentlyButton', new wp.media.view.DeleteSelectedPermanentlyButton({
+                                       filters: Filters,
+                                       style: 'primary',
+                                       disabled: true,
+                                       text: l10n.deleteSelected,
+                                       controller: this.controller,
+                                       priority: -55,
+                                       click: function() {
+                                               var removed = [], selection = this.controller.state().get( 'selection' );
 
-                       options.items = _.defaults( options.items || {}, {
-                               select: {
-                                       style:    'primary',
-                                       text:     options.text,
-                                       priority: 80,
-                                       click:    this.clickSelect,
-                                       requires: options.requires
-                               }
-                       });
-                       // Call 'initialize' directly on the parent class.
-                       media.view.Toolbar.prototype.initialize.apply( this, arguments );
-               },
+                                               if ( ! selection.length || ! window.confirm( l10n.warnBulkDelete ) ) {
+                                                       return;
+                                               }
 
-               clickSelect: function() {
-                       var options = this.options,
-                               controller = this.controller;
+                                               selection.each( function( model ) {
+                                                       if ( ! model.get( 'nonces' )['delete'] ) {
+                                                               removed.push( model );
+                                                               return;
+                                                       }
 
-                       if ( options.close ) {
-                               controller.close();
-                       }
+                                                       model.destroy();
+                                               } );
 
-                       if ( options.event ) {
-                               controller.state().trigger( options.event );
+                                               selection.remove( removed );
+                                               this.controller.trigger( 'selection:action:done' );
+                                       }
+                               }).render() );
                        }
 
-                       if ( options.state ) {
-                               controller.setState( options.state );
-                       }
+               } else if ( this.options.date ) {
+                       // DateFilter is a <select>, screen reader text needs to be rendered before
+                       this.toolbar.set( 'dateFilterLabel', new wp.media.view.Label({
+                               value: l10n.filterByDate,
+                               attributes: {
+                                       'for': 'media-attachment-date-filters'
+                               },
+                               priority: -75
+                       }).render() );
+                       this.toolbar.set( 'dateFilter', new wp.media.view.DateFilter({
+                               controller: this.controller,
+                               model:      this.collection.props,
+                               priority: -75
+                       }).render() );
+               }
 
-                       if ( options.reset ) {
-                               controller.reset();
-                       }
+               if ( this.options.search ) {
+                       // Search is an input, screen reader text needs to be rendered before
+                       this.toolbar.set( 'searchLabel', new wp.media.view.Label({
+                               value: l10n.searchMediaLabel,
+                               attributes: {
+                                       'for': 'media-search-input'
+                               },
+                               priority:   60
+                       }).render() );
+                       this.toolbar.set( 'search', new wp.media.view.Search({
+                               controller: this.controller,
+                               model:      this.collection.props,
+                               priority:   60
+                       }).render() );
                }
-       });
 
-       /**
-        * wp.media.view.Toolbar.Embed
-        *
-        * @class
-        * @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 );
-               },
+               if ( this.options.dragInfo ) {
+                       this.toolbar.set( 'dragInfo', new View({
+                               el: $( '<div class="instructions">' + l10n.dragInfo + '</div>' )[0],
+                               priority: -40
+                       }) );
+               }
 
-               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 );
+               if ( this.options.suggestedWidth && this.options.suggestedHeight ) {
+                       this.toolbar.set( 'suggestedDimensions', new View({
+                               el: $( '<div class="instructions">' + l10n.suggestedDimensions + ' ' + this.options.suggestedWidth + ' &times; ' + this.options.suggestedHeight + '</div>' )[0],
+                               priority: -40
+                       }) );
                }
-       });
+       },
 
-       /**
-        * wp.media.view.Button
-        *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       media.view.Button = media.View.extend({
-               tagName:    'a',
-               className:  'media-button',
-               attributes: { href: '#' },
-
-               events: {
-                       'click': 'click'
-               },
-
-               defaults: {
-                       text:     '',
-                       style:    '',
-                       size:     'large',
-                       disabled: false
-               },
-
-               initialize: function() {
-                       /**
-                        * 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 ) ) {
-                                       return;
+       updateContent: function() {
+               var view = this,
+                       noItemsView;
+
+               if ( this.controller.isModeActive( 'grid' ) ) {
+                       noItemsView = view.attachmentsNoResults;
+               } else {
+                       noItemsView = view.uploader;
+               }
+
+               if ( ! this.collection.length ) {
+                       this.toolbar.get( 'spinner' ).show();
+                       this.dfd = this.collection.more().done( function() {
+                               if ( ! view.collection.length ) {
+                                       noItemsView.$el.removeClass( 'hidden' );
+                               } else {
+                                       noItemsView.$el.addClass( 'hidden' );
                                }
+                               view.toolbar.get( 'spinner' ).hide();
+                       } );
+               } else {
+                       noItemsView.$el.addClass( 'hidden' );
+                       view.toolbar.get( 'spinner' ).hide();
+               }
+       },
+
+       createUploader: function() {
+               this.uploader = new wp.media.view.UploaderInline({
+                       controller: this.controller,
+                       status:     false,
+                       message:    this.controller.isModeActive( 'grid' ) ? '' : l10n.noItemsFound,
+                       canClose:   this.controller.isModeActive( 'grid' )
+               });
 
-                               this.model.set( key, value );
-                               delete this.options[ key ];
-                       }, this );
+               this.uploader.hide();
+               this.views.add( this.uploader );
+       },
 
-                       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();
+       toggleUploader: function() {
+               if ( this.uploader.$el.hasClass( 'hidden' ) ) {
+                       this.uploader.show();
+               } else {
+                       this.uploader.hide();
+               }
+       },
+
+       createAttachments: function() {
+               this.attachments = new wp.media.view.Attachments({
+                       controller:           this.controller,
+                       collection:           this.collection,
+                       selection:            this.options.selection,
+                       model:                this.model,
+                       sortable:             this.options.sortable,
+                       scrollElement:        this.options.scrollElement,
+                       idealColumnWidth:     this.options.idealColumnWidth,
 
-                       if ( model.style ) {
-                               classes.push( 'button-' + model.style );
-                       }
+                       // The single `Attachment` view to be used in the `Attachments` view.
+                       AttachmentView: this.options.AttachmentView
+               });
 
-                       if ( model.size ) {
-                               classes.push( 'button-' + model.size );
-                       }
+               // Add keydown listener to the instance of the Attachments view
+               this.attachments.listenTo( this.controller, 'attachment:keydown:arrow',     this.attachments.arrowEvent );
+               this.attachments.listenTo( this.controller, 'attachment:details:shift-tab', this.attachments.restoreFocus );
 
-                       classes = _.uniq( classes.concat( this.options.classes ) );
-                       this.el.className = classes.join(' ');
+               this.views.add( this.attachments );
 
-                       this.$el.attr( 'disabled', model.disabled );
-                       this.$el.text( this.model.get('text') );
 
-                       return this;
-               },
-               /**
-                * @param {Object} event
-                */
-               click: function( event ) {
-                       if ( '#' === this.attributes.href ) {
-                               event.preventDefault();
-                       }
+               if ( this.controller.isModeActive( 'grid' ) ) {
+                       this.attachmentsNoResults = new View({
+                               controller: this.controller,
+                               tagName: 'p'
+                       });
 
-                       if ( this.options.click && ! this.model.get('disabled') ) {
-                               this.options.click.apply( this, arguments );
-                       }
-               }
-       });
+                       this.attachmentsNoResults.$el.addClass( 'hidden no-media' );
+                       this.attachmentsNoResults.$el.html( l10n.noMedia );
 
-       /**
-        * wp.media.view.ButtonGroup
-        *
-        * @class
-        * @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',
+                       this.views.add( this.attachmentsNoResults );
+               }
+       },
 
-               initialize: function() {
-                       /**
-                        * @member {wp.media.view.Button[]}
-                        */
-                       this.buttons = _.map( this.options.buttons || [], function( button ) {
-                               if ( button instanceof Backbone.View ) {
-                                       return button;
-                               } else {
-                                       return new media.view.Button( button ).render();
-                               }
+       createSidebar: function() {
+               var options = this.options,
+                       selection = options.selection,
+                       sidebar = this.sidebar = new wp.media.view.Sidebar({
+                               controller: this.controller
                        });
 
-                       delete this.options.buttons;
+               this.views.add( sidebar );
 
-                       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;
+               if ( this.controller.uploader ) {
+                       sidebar.set( 'uploads', new wp.media.view.UploaderStatus({
+                               controller: this.controller,
+                               priority:   40
+                       }) );
                }
-       });
 
-       /**
-        * wp.media.view.PriorityList
-        *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       media.view.PriorityList = media.View.extend({
-               tagName:   'div',
+               selection.on( 'selection:single', this.createSingle, this );
+               selection.on( 'selection:unsingle', this.disposeSingle, this );
 
-               initialize: function() {
-                       this._views = {};
+               if ( selection.single() ) {
+                       this.createSingle();
+               }
+       },
+
+       createSingle: function() {
+               var sidebar = this.sidebar,
+                       single = this.options.selection.single();
+
+               sidebar.set( 'details', new wp.media.view.Attachment.Details({
+                       controller: this.controller,
+                       model:      single,
+                       priority:   80
+               }) );
+
+               sidebar.set( 'compat', new wp.media.view.AttachmentCompat({
+                       controller: this.controller,
+                       model:      single,
+                       priority:   120
+               }) );
+
+               if ( this.options.display ) {
+                       sidebar.set( 'display', new wp.media.view.Settings.AttachmentDisplay({
+                               controller:   this.controller,
+                               model:        this.model.display( single ),
+                               attachment:   single,
+                               priority:     160,
+                               userSettings: this.model.get('displayUserSettings')
+                       }) );
+               }
 
-                       this.set( _.extend( {}, this._views, this.options.views ), { silent: true });
-                       delete this.options.views;
+               // Show the sidebar on mobile
+               if ( this.model.id === 'insert' ) {
+                       sidebar.$el.addClass( 'visible' );
+               }
+       },
+
+       disposeSingle: function() {
+               var sidebar = this.sidebar;
+               sidebar.unset('details');
+               sidebar.unset('compat');
+               sidebar.unset('display');
+               // Hide the sidebar on mobile
+               sidebar.$el.removeClass( 'visible' );
+       }
+});
+
+module.exports = AttachmentsBrowser;
+
+},{}],31:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.view.Attachments.Selection
+ *
+ * @class
+ * @augments wp.media.view.Attachments
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Attachments = wp.media.view.Attachments,
+       Selection;
+
+Selection = Attachments.extend({
+       events: {},
+       initialize: function() {
+               _.defaults( this.options, {
+                       sortable:   false,
+                       resize:     false,
 
-                       if ( ! this.options.silent ) {
-                               this.render();
+                       // The single `Attachment` view to be used in the `Attachments` view.
+                       AttachmentView: wp.media.view.Attachment.Selection
+               });
+               // Call 'initialize' directly on the parent class.
+               return Attachments.prototype.initialize.apply( this, arguments );
+       }
+});
+
+module.exports = Selection;
+
+},{}],32:[function(require,module,exports){
+/*globals _, Backbone */
+
+/**
+ * wp.media.view.ButtonGroup
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var $ = Backbone.$,
+       ButtonGroup;
+
+ButtonGroup = wp.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 ) {
+                               return button;
+                       } else {
+                               return new wp.media.view.Button( button ).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;
+               });
 
-                       options = options || {};
+               delete this.options.buttons;
 
-                       // Accept an object with an `id` : `view` mapping.
-                       if ( _.isObject( id ) ) {
-                               _.each( id, function( view, id ) {
-                                       this.set( id, view );
-                               }, this );
-                               return this;
-                       }
+               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;
+       }
+});
+
+module.exports = ButtonGroup;
+
+},{}],33:[function(require,module,exports){
+/*globals _, Backbone */
+
+/**
+ * wp.media.view.Button
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Button = wp.media.View.extend({
+       tagName:    'a',
+       className:  'media-button',
+       attributes: { href: '#' },
+
+       events: {
+               'click': 'click'
+       },
+
+       defaults: {
+               text:     '',
+               style:    '',
+               size:     'large',
+               disabled: false
+       },
+
+       initialize: function() {
+               /**
+                * Create a model with the provided `defaults`.
+                *
+                * @member {Backbone.Model}
+                */
+               this.model = new Backbone.Model( this.defaults );
 
-                       if ( ! (view instanceof Backbone.View) ) {
-                               view = this.toView( view, id, options );
+               // 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 ) ) {
+                               return;
                        }
-                       view.controller = view.controller || this.controller;
 
-                       this.unset( id );
+                       this.model.set( key, value );
+                       delete this.options[ key ];
+               }, this );
 
-                       priority = view.options.priority || 10;
-                       views = this.views.get() || [];
+               this.listenTo( this.model, 'change', this.render );
+       },
+       /**
+        * @returns {wp.media.view.Button} Returns itself to allow chaining
+        */
+       render: function() {
+               var classes = [ 'button', this.className ],
+                       model = this.model.toJSON();
 
-                       _.find( views, function( existing, i ) {
-                               if ( existing.options.priority > priority ) {
-                                       index = i;
-                                       return true;
-                               }
-                       });
+               if ( model.style ) {
+                       classes.push( 'button-' + model.style );
+               }
 
-                       this._views[ id ] = view;
-                       this.views.add( view, {
-                               at: _.isNumber( index ) ? index : views.length || 0
-                       });
+               if ( model.size ) {
+                       classes.push( 'button-' + model.size );
+               }
 
-                       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 );
+               classes = _.uniq( classes.concat( this.options.classes ) );
+               this.el.className = classes.join(' ');
 
-                       if ( view ) {
-                               view.remove();
-                       }
+               this.$el.attr( 'disabled', model.disabled );
+               this.$el.text( this.model.get('text') );
 
-                       delete this._views[ id ];
-                       return this;
-               },
-               /**
-                * @param {Object} options
-                * @returns {wp.media.View}
-                */
-               toView: function( options ) {
-                       return new media.View( options );
+               return this;
+       },
+       /**
+        * @param {Object} event
+        */
+       click: function( event ) {
+               if ( '#' === this.attributes.href ) {
+                       event.preventDefault();
                }
-       });
 
-       /**
-        * wp.media.view.MenuItem
-        *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       media.view.MenuItem = media.View.extend({
-               tagName:   'a',
-               className: 'media-menu-item',
-
-               attributes: {
-                       href: '#'
-               },
-
-               events: {
-                       'click': '_click'
-               },
-               /**
-                * @param {Object} event
-                */
-               _click: function( event ) {
-                       var clickOverride = this.options.click;
+               if ( this.options.click && ! this.model.get('disabled') ) {
+                       this.options.click.apply( this, arguments );
+               }
+       }
+});
+
+module.exports = Button;
+
+},{}],34:[function(require,module,exports){
+/*globals wp, _, jQuery */
+
+/**
+ * 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.
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var View = wp.media.View,
+       UploaderStatus = wp.media.view.UploaderStatus,
+       l10n = wp.media.view.l10n,
+       $ = jQuery,
+       Cropper;
+
+Cropper = View.extend({
+       className: 'crop-content',
+       template: wp.template('crop-content'),
+       initialize: function() {
+               _.bindAll(this, 'onImageLoad');
+       },
+       ready: function() {
+               this.controller.frame.on('content:error:crop', this.onError, this);
+               this.$image = this.$el.find('.crop-image');
+               this.$image.on('load', this.onImageLoad);
+               $(window).on('resize.cropper', _.debounce(this.onImageLoad, 250));
+       },
+       remove: function() {
+               $(window).off('resize.cropper');
+               this.$el.remove();
+               this.$el.off();
+               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);
+               }
 
-                       if ( event ) {
-                               event.preventDefault();
-                       }
+               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 wp.media.view.UploaderStatusError({
+                       filename: UploaderStatus.prototype.filename(filename),
+                       message: window._wpMediaViewsL10n.cropError
+               }), { at: 0 });
+       }
+});
+
+module.exports = Cropper;
+
+},{}],35:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.view.EditImage
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var View = wp.media.View,
+       EditImage;
+
+EditImage = View.extend({
+       className: 'image-editor',
+       template: wp.template('image-editor'),
+
+       initialize: function( options ) {
+               this.editor = window.imageEdit;
+               this.controller = options.controller;
+               View.prototype.initialize.apply( this, arguments );
+       },
+
+       prepare: function() {
+               return this.model.toJSON();
+       },
+
+       loadEditor: function() {
+               var dfd = this.editor.open( this.model.get('id'), this.model.get('nonces').edit, this );
+               dfd.done( _.bind( this.focus, this ) );
+       },
+
+       focus: function() {
+               this.$( '.imgedit-submit .button' ).eq( 0 ).focus();
+       },
+
+       back: function() {
+               var lastState = this.controller.lastState();
+               this.controller.setState( lastState );
+       },
+
+       refresh: function() {
+               this.model.fetch();
+       },
+
+       save: function() {
+               var lastState = this.controller.lastState();
+
+               this.model.fetch().done( _.bind( function() {
+                       this.controller.setState( lastState );
+               }, this ) );
+       }
 
-                       if ( clickOverride ) {
-                               clickOverride.call( this );
-                       } else {
-                               this.click();
-                       }
+});
 
-                       // When selecting a tab along the left side,
-                       // focus should be transferred into the main panel
-                       if ( ! isTouchDevice ) {
-                               $('.media-frame-content input').first().focus();
-                       }
-               },
+module.exports = EditImage;
 
-               click: function() {
-                       var state = this.options.state;
+},{}],36:[function(require,module,exports){
+/**
+ * wp.media.view.Embed
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Embed = wp.media.View.extend({
+       className: 'media-embed',
 
-                       if ( state ) {
-                               this.controller.setState( state );
-                               this.views.parent.$el.removeClass( 'visible' ); // TODO: or hide on any click, see below
-                       }
-               },
+       initialize: function() {
                /**
-                * @returns {wp.media.view.MenuItem} returns itself to allow chaining
+                * @member {wp.media.view.EmbedUrl}
                 */
-               render: function() {
-                       var options = this.options;
-
-                       if ( options.text ) {
-                               this.$el.text( options.text );
-                       } else if ( options.html ) {
-                               this.$el.html( options.html );
-                       }
+               this.url = new wp.media.view.EmbedUrl({
+                       controller: this.controller,
+                       model:      this.model.props
+               }).render();
 
-                       return this;
-               }
-       });
+               this.views.set([ this.url ]);
+               this.refresh();
+               this.listenTo( this.model, 'change:type', this.refresh );
+               this.listenTo( this.model, 'change:loading', this.loading );
+       },
 
        /**
-        * wp.media.view.Menu
-        *
-        * @class
-        * @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',
-               className: 'media-menu',
-               property:  'state',
-               ItemView:  media.view.MenuItem,
-               region:    'menu',
-
-               /* TODO: alternatively hide on any click anywhere
-               events: {
-                       'click': 'click'
-               },
-
-               click: function() {
-                       this.$el.removeClass( 'visible' );
-               },
-               */
-
-               /**
-                * @param {Object} options
-                * @param {string} id
-                * @returns {wp.media.View}
-                */
-               toView: function( options, id ) {
-                       options = options || {};
-                       options[ this.property ] = options[ this.property ] || id;
-                       return new this.ItemView( options ).render();
-               },
+        * @param {Object} view
+        */
+       settings: function( view ) {
+               if ( this._settings ) {
+                       this._settings.remove();
+               }
+               this._settings = view;
+               this.views.add( view );
+       },
+
+       refresh: function() {
+               var type = this.model.get('type'),
+                       constructor;
+
+               if ( 'image' === type ) {
+                       constructor = wp.media.view.EmbedImage;
+               } else if ( 'link' === type ) {
+                       constructor = wp.media.view.EmbedLink;
+               } else {
+                       return;
+               }
 
-               ready: function() {
-                       /**
-                        * call 'ready' directly on the parent class
-                        */
-                       media.view.PriorityList.prototype.ready.apply( this, arguments );
-                       this.visibility();
-               },
+               this.settings( new constructor({
+                       controller: this.controller,
+                       model:      this.model.props,
+                       priority:   40
+               }) );
+       },
+
+       loading: function() {
+               this.$el.toggleClass( 'embed-loading', this.model.get('loading') );
+       }
+});
+
+module.exports = Embed;
+
+},{}],37:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.EmbedImage
+ *
+ * @class
+ * @augments wp.media.view.Settings.AttachmentDisplay
+ * @augments wp.media.view.Settings
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var AttachmentDisplay = wp.media.view.Settings.AttachmentDisplay,
+       EmbedImage;
+
+EmbedImage = AttachmentDisplay.extend({
+       className: 'embed-media-settings',
+       template:  wp.template('embed-image-settings'),
+
+       initialize: function() {
+               /**
+                * Call `initialize` directly on parent class with passed arguments
+                */
+               AttachmentDisplay.prototype.initialize.apply( this, arguments );
+               this.listenTo( this.model, 'change:url', this.updateImage );
+       },
+
+       updateImage: function() {
+               this.$('img').attr( 'src', this.model.get('url') );
+       }
+});
+
+module.exports = EmbedImage;
+
+},{}],38:[function(require,module,exports){
+/*globals wp, _, jQuery */
+
+/**
+ * wp.media.view.EmbedLink
+ *
+ * @class
+ * @augments wp.media.view.Settings
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var $ = jQuery,
+       EmbedLink;
+
+EmbedLink = wp.media.view.Settings.extend({
+       className: 'embed-link-settings',
+       template:  wp.template('embed-link-settings'),
+
+       initialize: function() {
+               this.spinner = $('<span class="spinner" />');
+               this.$el.append( this.spinner[0] );
+               this.listenTo( this.model, 'change:url', this.updateoEmbed );
+       },
+
+       updateoEmbed: _.debounce( function() {
+               var url = this.model.get( 'url' );
+
+               // clear out previous results
+               this.$('.embed-container').hide().find('.embed-preview').empty();
+               this.$( '.setting' ).hide();
+
+               // only proceed with embed if the field contains more than 6 characters
+               if ( url && url.length < 6 ) {
+                       return;
+               }
 
-               set: function() {
-                       /**
-                        * call 'set' directly on the parent class
-                        */
-                       media.view.PriorityList.prototype.set.apply( this, arguments );
-                       this.visibility();
-               },
+               this.fetch();
+       }, 600 ),
 
-               unset: function() {
-                       /**
-                        * call 'unset' directly on the parent class
-                        */
-                       media.view.PriorityList.prototype.unset.apply( this, arguments );
-                       this.visibility();
-               },
-
-               visibility: function() {
-                       var region = this.region,
-                               view = this.controller[ region ].get(),
-                               views = this.views.get(),
-                               hide = ! views || views.length < 2;
-
-                       if ( this === view ) {
-                               this.controller.$el.toggleClass( 'hide-' + region, hide );
-                       }
-               },
-               /**
-                * @param {string} id
-                */
-               select: function( id ) {
-                       var view = this.get( id );
+       fetch: function() {
+               // check if they haven't typed in 500 ms
+               if ( $('#embed-url-field').val() !== this.model.get('url') ) {
+                       return;
+               }
 
-                       if ( ! view ) {
-                               return;
+               wp.ajax.send( 'parse-embed', {
+                       data : {
+                               post_ID: wp.media.view.settings.post.id,
+                               shortcode: '[embed]' + this.model.get('url') + '[/embed]'
                        }
+               } )
+                       .done( _.bind( this.renderoEmbed, this ) )
+                       .fail( _.bind( this.renderFail, this ) );
+       },
 
-                       this.deselect();
-                       view.$el.addClass('active');
-               },
+       renderFail: function () {
+               this.$( '.link-text' ).show();
+       },
 
-               deselect: function() {
-                       this.$el.children().removeClass('active');
-               },
+       renderoEmbed: function( response ) {
+               var html = ( response && response.body ) || '';
 
-               hide: function( id ) {
-                       var view = this.get( id );
+               if ( html ) {
+                       this.$('.embed-container').show().find('.embed-preview').html( html );
+               } else {
+                       this.renderFail();
+               }
+       }
+});
+
+module.exports = EmbedLink;
+
+},{}],39:[function(require,module,exports){
+/*globals wp, _, jQuery */
+
+/**
+ * wp.media.view.EmbedUrl
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var View = wp.media.View,
+       $ = jQuery,
+       EmbedUrl;
+
+EmbedUrl = View.extend({
+       tagName:   'label',
+       className: 'embed-url',
+
+       events: {
+               'input':  'url',
+               'keyup':  'url',
+               'change': 'url'
+       },
+
+       initialize: function() {
+               this.$input = $('<input id="embed-url-field" type="url" />').val( this.model.get('url') );
+               this.input = this.$input[0];
+
+               this.spinner = $('<span class="spinner" />')[0];
+               this.$el.append([ this.input, this.spinner ]);
+
+               this.listenTo( this.model, 'change:url', this.render );
+
+               if ( this.model.get( 'url' ) ) {
+                       _.delay( _.bind( function () {
+                               this.model.trigger( 'change:url' );
+                       }, this ), 500 );
+               }
+       },
+       /**
+        * @returns {wp.media.view.EmbedUrl} Returns itself to allow chaining
+        */
+       render: function() {
+               var $input = this.$input;
 
-                       if ( ! view ) {
-                               return;
-                       }
+               if ( $input.is(':focus') ) {
+                       return;
+               }
+
+               this.input.value = this.model.get('url') || 'http://';
+               /**
+                * Call `render` directly on parent class with passed arguments
+                */
+               View.prototype.render.apply( this, arguments );
+               return this;
+       },
 
-                       view.$el.addClass('hidden');
-               },
+       ready: function() {
+               if ( ! wp.media.isTouchDevice ) {
+                       this.focus();
+               }
+       },
 
-               show: function( id ) {
-                       var view = this.get( id );
+       url: function( event ) {
+               this.model.set( 'url', event.target.value );
+       },
 
-                       if ( ! view ) {
-                               return;
-                       }
+       /**
+        * If the input is visible, focus and select its contents.
+        */
+       focus: function() {
+               var $input = this.$input;
+               if ( $input.is(':visible') ) {
+                       $input.focus()[0].select();
+               }
+       }
+});
+
+module.exports = EmbedUrl;
+
+},{}],40:[function(require,module,exports){
+/**
+ * wp.media.view.FocusManager
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var FocusManager = wp.media.View.extend({
+
+       events: {
+               'keydown': 'constrainTabbing'
+       },
+
+       focus: function() { // Reset focus on first left menu item
+               this.$('.media-menu-item').first().focus();
+       },
+       /**
+        * @param {Object} event
+        */
+       constrainTabbing: function( event ) {
+               var tabbables;
 
-                       view.$el.removeClass('hidden');
+               // Look for the tab key.
+               if ( 9 !== event.keyCode ) {
+                       return;
                }
-       });
 
+               // Skip the file input added by Plupload.
+               tabbables = this.$( ':tabbable' ).not( '.moxie-shim input[type="file"]' );
+
+               // Keep tab focus within media modal while it's open
+               if ( tabbables.last()[0] === event.target && ! event.shiftKey ) {
+                       tabbables.first().focus();
+                       return false;
+               } else if ( tabbables.first()[0] === event.target && event.shiftKey ) {
+                       tabbables.last().focus();
+                       return false;
+               }
+       }
+
+});
+
+module.exports = FocusManager;
+
+},{}],41:[function(require,module,exports){
+/*globals _, Backbone */
+
+/**
+ * wp.media.view.Frame
+ *
+ * A frame is a composite view consisting of one or more regions and one or more
+ * states.
+ *
+ * @see wp.media.controller.State
+ * @see wp.media.controller.Region
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ * @mixes wp.media.controller.StateMachine
+ */
+var Frame = wp.media.View.extend({
+       initialize: function() {
+               _.defaults( this.options, {
+                       mode: [ 'select' ]
+               });
+               this._createRegions();
+               this._createStates();
+               this._createModes();
+       },
+
+       _createRegions: function() {
+               // Clone the regions array.
+               this.regions = this.regions ? this.regions.slice() : [];
+
+               // Initialize regions.
+               _.each( this.regions, function( region ) {
+                       this[ region ] = new wp.media.controller.Region({
+                               view:     this,
+                               id:       region,
+                               selector: '.media-frame-' + region
+                       });
+               }, this );
+       },
        /**
-        * wp.media.view.RouterItem
+        * Create the frame's states.
         *
-        * @class
-        * @augments wp.media.view.MenuItem
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
+        * @see wp.media.controller.State
+        * @see wp.media.controller.StateMachine
+        *
+        * @fires wp.media.controller.State#ready
         */
-       media.view.RouterItem = media.view.MenuItem.extend({
-               /**
-                * On click handler to activate the content region's corresponding mode.
-                */
-               click: function() {
-                       var contentMode = this.options.contentMode;
-                       if ( contentMode ) {
-                               this.controller.content.mode( contentMode );
-                       }
+       _createStates: function() {
+               // Create the default `states` collection.
+               this.states = new Backbone.Collection( null, {
+                       model: wp.media.controller.State
+               });
+
+               // Ensure states have a reference to the frame.
+               this.states.on( 'add', function( model ) {
+                       model.frame = this;
+                       model.trigger('ready');
+               }, this );
+
+               if ( this.options.states ) {
+                       this.states.add( this.options.states );
                }
-       });
+       },
 
        /**
-        * wp.media.view.Router
+        * A frame can be in a mode or multiple modes at one time.
         *
-        * @class
-        * @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',
-               className: 'media-router',
-               property:  'contentMode',
-               ItemView:  media.view.RouterItem,
-               region:    'router',
-
-               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 ) {
-                               this.select( mode );
-                       }
+        * For example, the manage media frame can be in the `Bulk Select` or `Edit` mode.
+        */
+       _createModes: function() {
+               // Store active "modes" that the frame is in. Unrelated to region modes.
+               this.activeModes = new Backbone.Collection();
+               this.activeModes.on( 'add remove reset', _.bind( this.triggerModeEvents, this ) );
+
+               _.each( this.options.mode, function( mode ) {
+                       this.activateMode( mode );
+               }, this );
+       },
+       /**
+        * Reset all states on the frame to their defaults.
+        *
+        * @returns {wp.media.view.Frame} Returns itself to allow chaining
+        */
+       reset: function() {
+               this.states.invoke( 'trigger', 'reset' );
+               return this;
+       },
+       /**
+        * Map activeMode collection events to the frame.
+        */
+       triggerModeEvents: function( model, collection, options ) {
+               var collectionEvent,
+                       modeEventMap = {
+                               add: 'activate',
+                               remove: 'deactivate'
+                       },
+                       eventToTrigger;
+               // Probably a better way to do this.
+               _.each( options, function( value, key ) {
+                       if ( value ) {
+                               collectionEvent = key;
+                       }
+               } );
+
+               if ( ! _.has( modeEventMap, collectionEvent ) ) {
+                       return;
                }
-       });
 
+               eventToTrigger = model.get('id') + ':' + modeEventMap[collectionEvent];
+               this.trigger( eventToTrigger );
+       },
        /**
-        * wp.media.view.Sidebar
+        * Activate a mode on the frame.
         *
-        * @class
-        * @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'
-       });
+        * @param string mode Mode ID.
+        * @returns {this} Returns itself to allow chaining.
+        */
+       activateMode: function( mode ) {
+               // Bail if the mode is already active.
+               if ( this.isModeActive( mode ) ) {
+                       return;
+               }
+               this.activeModes.add( [ { id: mode } ] );
+               // Add a CSS class to the frame so elements can be styled for the mode.
+               this.$el.addClass( 'mode-' + mode );
 
+               return this;
+       },
        /**
-        * wp.media.view.Attachment
+        * Deactivate a mode on the frame.
         *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
+        * @param string mode Mode ID.
+        * @returns {this} Returns itself to allow chaining.
         */
-       media.view.Attachment = media.View.extend({
-               tagName:   'li',
-               className: 'attachment',
-               template:  media.template('attachment'),
-
-               attributes: function() {
-                       return {
-                               'tabIndex':     0,
-                               'role':         'checkbox',
-                               'aria-label':   this.model.get( 'title' ),
-                               'aria-checked': false,
-                               'data-id':      this.model.get( 'id' )
-                       };
-               },
-
-               events: {
-                       'click .js--select-attachment':   'toggleSelectionHandler',
-                       'change [data-setting]':          'updateSetting',
-                       'change [data-setting] input':    'updateSetting',
-                       'change [data-setting] select':   'updateSetting',
-                       'change [data-setting] textarea': 'updateSetting',
-                       'click .close':                   'removeFromLibrary',
-                       'click .check':                   'checkClickHandler',
-                       'click a':                        'preventDefault',
-                       'keydown .close':                 'removeFromLibrary',
-                       'keydown':                        'toggleSelectionHandler'
-               },
-
-               buttons: {},
-
-               initialize: function() {
-                       var selection = this.options.selection,
-                               options = _.defaults( this.options, {
-                                       rerenderOnModelChange: true
-                               } );
-
-                       if ( options.rerenderOnModelChange ) {
-                               this.model.on( 'change', this.render, this );
-                       } else {
-                               this.model.on( 'change:percent', this.progress, this );
-                       }
-                       this.model.on( 'change:title', this._syncTitle, this );
-                       this.model.on( 'change:caption', this._syncCaption, this );
-                       this.model.on( 'change:artist', this._syncArtist, this );
-                       this.model.on( 'change:album', this._syncAlbum, this );
-
-                       // Update the selection.
-                       this.model.on( 'add', this.select, this );
-                       this.model.on( 'remove', this.deselect, this );
-                       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') );
-                       }
-
-                       this.listenTo( this.controller, 'attachment:compat:waiting attachment:compat:ready', this.updateSave );
-               },
-               /**
-                * @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 ) {
-                               selection.off( null, null, this );
-                       }
-                       /**
-                        * call 'dispose' directly on the parent class
-                        */
-                       media.View.prototype.dispose.apply( this, arguments );
+       deactivateMode: function( mode ) {
+               // Bail if the mode isn't active.
+               if ( ! this.isModeActive( mode ) ) {
                        return this;
-               },
+               }
+               this.activeModes.remove( this.activeModes.where( { id: mode } ) );
+               this.$el.removeClass( 'mode-' + mode );
                /**
-                * @returns {wp.media.view.Attachment} Returns itself to allow chaining
+                * Frame mode deactivation event.
+                *
+                * @event this#{mode}:deactivate
                 */
-               render: function() {
-                       var options = _.defaults( this.model.toJSON(), {
-                                       orientation:   'landscape',
-                                       uploading:     false,
-                                       type:          '',
-                                       subtype:       '',
-                                       icon:          '',
-                                       filename:      '',
-                                       caption:       '',
-                                       title:         '',
-                                       dateFormatted: '',
-                                       width:         '',
-                                       height:        '',
-                                       compat:        false,
-                                       alt:           '',
-                                       description:   ''
-                               }, this.options );
-
-                       options.buttons  = this.buttons;
-                       options.describe = this.controller.state().get('describe');
-
-                       if ( 'image' === options.type ) {
-                               options.size = this.imageSize();
-                       }
-
-                       options.can = {};
-                       if ( options.nonces ) {
-                               options.can.remove = !! options.nonces['delete'];
-                               options.can.save = !! options.nonces.update;
-                       }
+               this.trigger( mode + ':deactivate' );
 
-                       if ( this.controller.state().get('allowLocalEdits') ) {
-                               options.allowLocalEdits = true;
-                       }
+               return this;
+       },
+       /**
+        * Check if a mode is enabled on the frame.
+        *
+        * @param  string mode Mode ID.
+        * @return bool
+        */
+       isModeActive: function( mode ) {
+               return Boolean( this.activeModes.where( { id: mode } ).length );
+       }
+});
+
+// Make the `Frame` a `StateMachine`.
+_.extend( Frame.prototype, wp.media.controller.StateMachine.prototype );
+
+module.exports = Frame;
+
+},{}],42:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.MediaFrame.ImageDetails
+ *
+ * A media frame for manipulating an image that's already been inserted
+ * into a post.
+ *
+ * @class
+ * @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
+ */
+var Select = wp.media.view.MediaFrame.Select,
+       l10n = wp.media.view.l10n,
+       ImageDetails;
+
+ImageDetails = 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 wp.media.model.PostImage( options.metadata );
+               this.options.selection = new wp.media.model.Selection( this.image.attachment, { multiple: false } );
+               Select.prototype.initialize.apply( this, arguments );
+       },
+
+       bindHandlers: function() {
+               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( '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 wp.media.controller.ImageDetails({
+                               image: this.image,
+                               editable: false
+                       }),
+                       new wp.media.controller.ReplaceImage({
+                               id: 'replace-image',
+                               library: wp.media.query( { type: 'image' } ),
+                               image: this.image,
+                               multiple:  false,
+                               title:     l10n.imageReplaceTitle,
+                               toolbar: 'replace',
+                               priority:  80,
+                               displaySettings: true
+                       }),
+                       new wp.media.controller.EditImage( {
+                               image: this.image,
+                               selection: this.options.selection
+                       } )
+               ]);
+       },
+
+       imageDetailsContent: function( options ) {
+               options.view = new wp.media.view.ImageDetails({
+                       controller: this,
+                       model: this.state().image,
+                       attachment: this.state().image.attachment
+               });
+       },
 
-                       if ( options.uploading && ! options.percent ) {
-                               options.percent = 0;
-                       }
+       editImageContent: function() {
+               var state = this.state(),
+                       model = state.get('image'),
+                       view;
 
-                       this.views.detach();
-                       this.$el.html( this.template( options ) );
+               if ( ! model ) {
+                       return;
+               }
 
-                       this.$el.toggleClass( 'uploading', options.uploading );
+               view = new wp.media.view.EditImage( { model: model, controller: this } ).render();
 
-                       if ( options.uploading ) {
-                               this.$bar = this.$('.media-progress-bar div');
-                       } else {
-                               delete this.$bar;
-                       }
+               this.content.set( view );
 
-                       // Check if the model is selected.
-                       this.updateSelect();
+               // after bringing in the frame, load the actual editor via an ajax call
+               view.loadEditor();
 
-                       // Update the save status.
-                       this.updateSave();
+       },
 
-                       this.views.render();
+       renderImageDetailsToolbar: function() {
+               this.toolbar.set( new wp.media.view.Toolbar({
+                       controller: this,
+                       items: {
+                               select: {
+                                       style:    'primary',
+                                       text:     l10n.update,
+                                       priority: 80,
 
-                       return this;
-               },
+                                       click: function() {
+                                               var controller = this.controller,
+                                                       state = controller.state();
 
-               progress: function() {
-                       if ( this.$bar && this.$bar.length ) {
-                               this.$bar.width( this.model.get('percent') + '%' );
-                       }
-               },
+                                               controller.close();
 
-               /**
-                * @param {Object} event
-                */
-               toggleSelectionHandler: function( event ) {
-                       var method;
+                                               // 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() );
 
-                       // Don't do anything inside inputs.
-                       if ( 'INPUT' === event.target.nodeName ) {
-                               return;
+                                               // Restore and reset the default state.
+                                               controller.setState( controller.options.state );
+                                               controller.reset();
+                                       }
+                               }
                        }
+               }) );
+       },
 
-                       // Catch arrow events
-                       if ( 37 === event.keyCode || 38 === event.keyCode || 39 === event.keyCode || 40 === event.keyCode ) {
-                               this.controller.trigger( 'attachment:keydown:arrow', event );
-                               return;
-                       }
+       renderReplaceImageToolbar: function() {
+               var frame = this,
+                       lastState = frame.lastState(),
+                       previous = lastState && lastState.id;
 
-                       // Catch enter and space events
-                       if ( 'keydown' === event.type && 13 !== event.keyCode && 32 !== event.keyCode ) {
-                               return;
-                       }
+               this.toolbar.set( new wp.media.view.Toolbar({
+                       controller: this,
+                       items: {
+                               back: {
+                                       text:     l10n.back,
+                                       priority: 20,
+                                       click:    function() {
+                                               if ( previous ) {
+                                                       frame.setState( previous );
+                                               } else {
+                                                       frame.close();
+                                               }
+                                       }
+                               },
 
-                       event.preventDefault();
+                               replace: {
+                                       style:    'primary',
+                                       text:     l10n.replace,
+                                       priority: 80,
 
-                       // In the grid view, bubble up an edit:attachment event to the controller.
-                       if ( this.controller.isModeActive( 'grid' ) ) {
-                               if ( this.controller.isModeActive( 'edit' ) ) {
-                                       // Pass the current target to restore focus when closing
-                                       this.controller.trigger( 'edit:attachment', this.model, event.currentTarget );
-                                       return;
-                               }
+                                       click: function() {
+                                               var controller = this.controller,
+                                                       state = controller.state(),
+                                                       selection = state.get( 'selection' ),
+                                                       attachment = selection.single();
 
-                               if ( this.controller.isModeActive( 'select' ) ) {
-                                       method = 'toggle';
-                               }
-                       }
+                                               controller.close();
 
-                       if ( event.shiftKey ) {
-                               method = 'between';
-                       } else if ( event.ctrlKey || event.metaKey ) {
-                               method = 'toggle';
-                       }
+                                               controller.image.changeAttachment( attachment, state.display( attachment ) );
 
-                       this.toggleSelection({
-                               method: method
-                       });
+                                               // 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() );
 
-                       this.controller.trigger( 'selection:toggle' );
-               },
-               /**
-                * @param {Object} options
-                */
-               toggleSelection: function( options ) {
-                       var collection = this.collection,
-                               selection = this.options.selection,
-                               model = this.model,
-                               method = options && options.method,
-                               single, models, singleIndex, modelIndex;
-
-                       if ( ! selection ) {
-                               return;
+                                               // Restore and reset the default state.
+                                               controller.setState( controller.options.state );
+                                               controller.reset();
+                                       }
+                               }
+                       }
+               }) );
+       }
+
+});
+
+module.exports = ImageDetails;
+
+},{}],43:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.view.MediaFrame.Post
+ *
+ * The frame for manipulating media on the Edit Post page.
+ *
+ * @class
+ * @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
+ */
+var Select = wp.media.view.MediaFrame.Select,
+       Library = wp.media.controller.Library,
+       l10n = wp.media.view.l10n,
+       Post;
+
+Post = Select.extend({
+       initialize: function() {
+               this.counts = {
+                       audio: {
+                               count: wp.media.view.settings.attachmentCounts.audio,
+                               state: 'playlist'
+                       },
+                       video: {
+                               count: wp.media.view.settings.attachmentCounts.video,
+                               state: 'video-playlist'
                        }
+               };
 
-                       single = selection.single();
-                       method = _.isUndefined( method ) ? selection.multiple : method;
+               _.defaults( this.options, {
+                       multiple:  true,
+                       editing:   false,
+                       state:    'insert',
+                       metadata:  {}
+               });
 
-                       // If the `method` is set to `between`, select all models that
-                       // 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 ) {
-                                       return;
-                               }
+               // Call 'initialize' directly on the parent class.
+               Select.prototype.initialize.apply( this, arguments );
+               this.createIframeStates();
 
-                               singleIndex = collection.indexOf( single );
-                               modelIndex  = collection.indexOf( this.model );
+       },
 
-                               if ( singleIndex < modelIndex ) {
-                                       models = collection.models.slice( singleIndex, modelIndex + 1 );
-                               } else {
-                                       models = collection.models.slice( modelIndex, singleIndex + 1 );
-                               }
+       /**
+        * Create the default states.
+        */
+       createStates: function() {
+               var options = this.options;
+
+               this.states.add([
+                       // Main states.
+                       new Library({
+                               id:         'insert',
+                               title:      l10n.insertMediaTitle,
+                               priority:   20,
+                               toolbar:    'main-insert',
+                               filterable: 'all',
+                               library:    wp.media.query( options.library ),
+                               multiple:   options.multiple ? 'reset' : false,
+                               editable:   true,
+
+                               // If the user isn't allowed to edit fields,
+                               // can they still edit it locally?
+                               allowLocalEdits: true,
+
+                               // Show the attachment display settings.
+                               displaySettings: true,
+                               // Update user settings when users adjust the
+                               // attachment display settings.
+                               displayUserSettings: true
+                       }),
+
+                       new Library({
+                               id:         'gallery',
+                               title:      l10n.createGalleryTitle,
+                               priority:   40,
+                               toolbar:    'main-gallery',
+                               filterable: 'uploaded',
+                               multiple:   'add',
+                               editable:   false,
+
+                               library:  wp.media.query( _.defaults({
+                                       type: 'image'
+                               }, options.library ) )
+                       }),
+
+                       // Embed states.
+                       new wp.media.controller.Embed( { metadata: options.metadata } ),
+
+                       new wp.media.controller.EditImage( { model: options.editImage } ),
+
+                       // Gallery states.
+                       new wp.media.controller.GalleryEdit({
+                               library: options.selection,
+                               editing: options.editing,
+                               menu:    'gallery'
+                       }),
+
+                       new wp.media.controller.GalleryAdd(),
+
+                       new Library({
+                               id:         'playlist',
+                               title:      l10n.createPlaylistTitle,
+                               priority:   60,
+                               toolbar:    'main-playlist',
+                               filterable: 'uploaded',
+                               multiple:   'add',
+                               editable:   false,
+
+                               library:  wp.media.query( _.defaults({
+                                       type: 'audio'
+                               }, options.library ) )
+                       }),
+
+                       // Playlist states.
+                       new wp.media.controller.CollectionEdit({
+                               type: 'audio',
+                               collectionType: 'playlist',
+                               title:          l10n.editPlaylistTitle,
+                               SettingsView:   wp.media.view.Settings.Playlist,
+                               library:        options.selection,
+                               editing:        options.editing,
+                               menu:           'playlist',
+                               dragInfoText:   l10n.playlistDragInfo,
+                               dragInfo:       false
+                       }),
+
+                       new wp.media.controller.CollectionAdd({
+                               type: 'audio',
+                               collectionType: 'playlist',
+                               title: l10n.addToPlaylistTitle
+                       }),
+
+                       new Library({
+                               id:         'video-playlist',
+                               title:      l10n.createVideoPlaylistTitle,
+                               priority:   60,
+                               toolbar:    'main-video-playlist',
+                               filterable: 'uploaded',
+                               multiple:   'add',
+                               editable:   false,
+
+                               library:  wp.media.query( _.defaults({
+                                       type: 'video'
+                               }, options.library ) )
+                       }),
+
+                       new wp.media.controller.CollectionEdit({
+                               type: 'video',
+                               collectionType: 'playlist',
+                               title:          l10n.editVideoPlaylistTitle,
+                               SettingsView:   wp.media.view.Settings.Playlist,
+                               library:        options.selection,
+                               editing:        options.editing,
+                               menu:           'video-playlist',
+                               dragInfoText:   l10n.videoPlaylistDragInfo,
+                               dragInfo:       false
+                       }),
+
+                       new wp.media.controller.CollectionAdd({
+                               type: 'video',
+                               collectionType: 'playlist',
+                               title: l10n.addToVideoPlaylistTitle
+                       })
+               ]);
+
+               if ( wp.media.view.settings.post.featuredImageId ) {
+                       this.states.add( new wp.media.controller.FeaturedImage() );
+               }
+       },
 
-                               selection.add( models );
-                               selection.single( model );
-                               return;
+       bindHandlers: function() {
+               var handlers, checkCounts;
 
-                       // 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 );
-                               selection.single( model );
-                               return;
-                       } else if ( 'add' === method ) {
-                               selection.add( model );
-                               selection.single( model );
-                               return;
-                       }
+               Select.prototype.bindHandlers.apply( this, arguments );
 
-                       // Fixes bug that loses focus when selecting a featured image
-                       if ( ! method ) {
-                               method = 'add';
-                       }
+               this.on( 'activate', this.activate, this );
 
-                       if ( method !== 'add' ) {
-                               method = 'reset';
-                       }
+               // Only bother checking media type counts if one of the counts is zero
+               checkCounts = _.find( this.counts, function( type ) {
+                       return type.count === 0;
+               } );
 
-                       if ( this.selected() ) {
-                               // If the model is the single model, remove it.
-                               // If it is not the same as the single model,
-                               // it now becomes the single model.
-                               selection[ single === model ? 'remove' : 'single' ]( model );
-                       } else {
-                               // 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 );
-                               selection.single( model );
-                       }
-               },
+               if ( typeof checkCounts !== 'undefined' ) {
+                       this.listenTo( wp.media.model.Attachments.all, 'change:type', this.mediaTypeCounts );
+               }
 
-               updateSelect: function() {
-                       this[ this.selected() ? 'select' : 'deselect' ]();
-               },
-               /**
-                * @returns {unresolved|Boolean}
-                */
-               selected: function() {
-                       var selection = this.options.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,
-                               controller = this.controller;
-
-                       // 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 ) ) {
-                               return;
+               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 );
+
+               handlers = {
+                       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'
                        }
+               };
 
-                       // Bail if the model is already selected.
-                       if ( this.$el.hasClass( 'selected' ) ) {
-                               return;
-                       }
+               _.each( handlers, function( regionHandlers, region ) {
+                       _.each( regionHandlers, function( callback, handler ) {
+                               this.on( region + ':render:' + handler, this[ callback ], this );
+                       }, this );
+               }, 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' );
+               }
+       },
 
-                       // Add 'selected' class to model, set aria-checked to true.
-                       this.$el.addClass( 'selected' ).attr( 'aria-checked', true );
-                       //  Make the checkbox tabable, except in media grid (bulk select mode).
-                       if ( ! ( controller.isModeActive( 'grid' ) && controller.isModeActive( 'select' ) ) ) {
-                               this.$( '.check' ).attr( 'tabindex', '0' );
-                       }
-               },
-               /**
-                * @param {Backbone.Model} model
-                * @param {Backbone.Collection} collection
-                */
-               deselect: function( model, collection ) {
-                       var selection = this.options.selection;
+       // Menus
+       /**
+        * @param {wp.Backbone.View} view
+        */
+       mainMenu: function( view ) {
+               view.set({
+                       'library-separator': new wp.media.View({
+                               className: 'separator',
+                               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();
+                                       }
 
-                       // 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 ) ) {
-                               return;
-                       }
-                       this.$el.removeClass( 'selected' ).attr( 'aria-checked', false )
-                               .find( '.check' ).attr( 'tabindex', '-1' );
-               },
-               /**
-                * @param {Backbone.Model} model
-                * @param {Backbone.Collection} collection
-                */
-               details: function( model, collection ) {
-                       var selection = this.options.selection,
-                               details;
+                                       // Keep focus inside media modal
+                                       // after canceling a gallery
+                                       this.controller.modal.focusManager.focus();
+                               }
+                       },
+                       separateCancel: new wp.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 wp.media.View({
+                               className: 'separator',
+                               priority: 40
+                       })
+               });
+       },
+
+       videoPlaylistMenu: function( view ) {
+               var lastState = this.lastState(),
+                       previous = lastState && lastState.id,
+                       frame = this;
+
+               view.set({
+                       cancel: {
+                               text:     l10n.cancelVideoPlaylistTitle,
+                               priority: 20,
+                               click:    function() {
+                                       if ( previous ) {
+                                               frame.setState( previous );
+                                       } else {
+                                               frame.close();
+                                       }
+                               }
+                       },
+                       separateCancel: new wp.media.View({
+                               className: 'separator',
+                               priority: 40
+                       })
+               });
+       },
 
-                       if ( selection !== collection ) {
-                               return;
-                       }
+       // Content
+       embedContent: function() {
+               var view = new wp.media.view.Embed({
+                       controller: this,
+                       model:      this.state()
+               }).render();
 
-                       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');
+               this.content.set( view );
 
-                       size = size || 'medium';
+               if ( ! wp.media.isTouchDevice ) {
+                       view.url.focus();
+               }
+       },
 
-                       // Use the provided image size if possible.
-                       if ( sizes && sizes[ size ] ) {
-                               return _.clone( sizes[ size ] );
-                       } else {
-                               return {
-                                       url:         this.model.get('url'),
-                                       width:       this.model.get('width'),
-                                       height:      this.model.get('height'),
-                                       orientation: this.model.get('orientation')
-                               };
-                       }
-               },
-               /**
-                * @param {Object} event
-                */
-               updateSetting: function( event ) {
-                       var $setting = $( event.target ).closest('[data-setting]'),
-                               setting, value;
+       editSelectionContent: function() {
+               var state = this.state(),
+                       selection = state.get('selection'),
+                       view;
 
-                       if ( ! $setting.length ) {
-                               return;
-                       }
+               view = new wp.media.view.AttachmentsBrowser({
+                       controller: this,
+                       collection: selection,
+                       selection:  selection,
+                       model:      state,
+                       sortable:   true,
+                       search:     false,
+                       date:       false,
+                       dragInfo:   true,
 
-                       setting = $setting.data('setting');
-                       value   = event.target.value;
+                       AttachmentView: wp.media.view.Attachments.EditSelection
+               }).render();
 
-                       if ( this.model.get( setting ) !== value ) {
-                               this.save( setting, value );
-                       }
-               },
+               view.toolbar.set( 'backToLibrary', {
+                       text:     l10n.returnToLibrary,
+                       priority: -100,
 
-               /**
-                * 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' },
-                               request = this.model.save.apply( this.model, arguments ),
-                               requests = save.requests ? $.when( request, save.requests ) : request;
-
-                       // If we're waiting to remove 'Saved.', stop.
-                       if ( save.savedTimer ) {
-                               clearTimeout( save.savedTimer );
+                       click: function() {
+                               this.controller.content.mode('browse');
                        }
+               });
 
-                       this.updateSave('waiting');
-                       save.requests = requests;
-                       requests.always( function() {
-                               // If we've performed another request since this one, bail.
-                               if ( save.requests !== requests ) {
-                                       return;
-                               }
+               // Browse our library of attachments.
+               this.content.set( view );
 
-                               view.updateSave( requests.state() === 'resolved' ? 'complete' : 'error' );
-                               save.savedTimer = setTimeout( function() {
-                                       view.updateSave('ready');
-                                       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' };
+               // Trigger the controller to set focus
+               this.trigger( 'edit:selection', this );
+       },
 
-                       if ( status && status !== save.status ) {
-                               this.$el.removeClass( 'save-' + save.status );
-                               save.status = status;
-                       }
+       editImageContent: function() {
+               var image = this.state().get('image'),
+                       view = new wp.media.view.EditImage( { model: image, controller: this } ).render();
 
-                       this.$el.addClass( 'save-' + save.status );
-                       return this;
-               },
+               this.content.set( view );
 
-               updateAll: function() {
-                       var $settings = this.$('[data-setting]'),
-                               model = this.model,
-                               changed;
+               // after creating the wrapper view, load the actual editor via an ajax call
+               view.loadEditor();
 
-                       changed = _.chain( $settings ).map( function( el ) {
-                               var $input = $('input, textarea, select, [value]', el ),
-                                       setting, value;
+       },
 
-                               if ( ! $input.length ) {
-                                       return;
-                               }
+       // Toolbars
 
-                               setting = $(el).data('setting');
-                               value = $input.val();
+       /**
+        * @param {wp.Backbone.View} view
+        */
+       selectionStatusToolbar: function( view ) {
+               var editable = this.state().get('editable');
 
-                               // Record the value if it changed.
-                               if ( model.get( setting ) !== value ) {
-                                       return [ setting, value ];
-                               }
-                       }).compact().object().value();
+               view.set( 'selection', new wp.media.view.Selection({
+                       controller: this,
+                       collection: this.state().get('selection'),
+                       priority:   -40,
 
-                       if ( ! _.isEmpty( changed ) ) {
-                               model.save( changed );
-                       }
-               },
-               /**
-                * @param {Object} event
-                */
-               removeFromLibrary: function( event ) {
-                       // Catch enter and space events
-                       if ( 'keydown' === event.type && 13 !== event.keyCode && 32 !== event.keyCode ) {
-                               return;
+                       // If the selection is editable, pass the callback to
+                       // switch the content mode.
+                       editable: editable && function() {
+                               this.controller.content.mode('edit-selection');
                        }
+               }).render() );
+       },
 
-                       // Stop propagation so the model isn't selected.
-                       event.stopPropagation();
-
-                       this.collection.remove( this.model );
-               },
+       /**
+        * @param {wp.Backbone.View} view
+        */
+       mainInsertToolbar: function( view ) {
+               var controller = this;
 
-               /**
-                * Add the model if it isn't in the selection, if it is in the selection,
-                * remove it.
-                *
-                * @param  {[type]} event [description]
-                * @return {[type]}       [description]
-                */
-               checkClickHandler: function ( event ) {
-                       var selection = this.options.selection;
-                       if ( ! selection ) {
-                               return;
-                       }
-                       event.stopPropagation();
-                       if ( selection.where( { id: this.model.get( 'id' ) } ).length ) {
-                               selection.remove( this.model );
-                               // Move focus back to the attachment tile (from the check).
-                               this.$el.focus();
-                       } else {
-                               selection.add( this.model );
-                       }
-               }
-       });
+               this.selectionStatusToolbar( view );
 
-       // Ensure settings remain in sync between attachment views.
-       _.each({
-               caption: '_syncCaption',
-               title:   '_syncTitle',
-               artist:  '_syncArtist',
-               album:   '_syncAlbum'
-       }, 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 + '"]');
+               view.set( 'insert', {
+                       style:    'primary',
+                       priority: 80,
+                       text:     l10n.insertIntoPost,
+                       requires: { selection: true },
 
-                       if ( ! $setting.length ) {
-                               return this;
-                       }
+                       /**
+                        * @fires wp.media.controller.State#insert
+                        */
+                       click: function() {
+                               var state = controller.state(),
+                                       selection = state.get('selection');
 
-                       // 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() ) {
-                               return this;
+                               controller.close();
+                               state.trigger( 'insert', selection ).reset();
                        }
-
-                       return this.render();
-               };
-       });
+               });
+       },
 
        /**
-        * wp.media.view.Attachment.Library
-        *
-        * @class
-        * @augments wp.media.view.Attachment
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
+        * @param {wp.Backbone.View} view
         */
-       media.view.Attachment.Library = media.view.Attachment.extend({
-               buttons: {
-                       check: true
-               }
-       });
+       mainGalleryToolbar: function( view ) {
+               var controller = this;
 
-       /**
-        * wp.media.view.Attachment.EditLibrary
-        *
-        * @class
-        * @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: {
-                       close: true
-               }
-       });
+               this.selectionStatusToolbar( view );
+
+               view.set( 'gallery', {
+                       style:    'primary',
+                       text:     l10n.createNewGallery,
+                       priority: 60,
+                       requires: { selection: true },
+
+                       click: function() {
+                               var selection = controller.state().get('selection'),
+                                       edit = controller.state('gallery-edit'),
+                                       models = selection.where({ type: 'image' });
+
+                               edit.set( 'library', new wp.media.model.Selection( models, {
+                                       props:    selection.props.toJSON(),
+                                       multiple: true
+                               }) );
+
+                               this.controller.setState('gallery-edit');
+
+                               // Keep focus inside media modal
+                               // after jumping to gallery view
+                               this.controller.modal.focusManager.focus();
+                       }
+               });
+       },
 
-       /**
-        * wp.media.view.Attachments
-        *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       media.view.Attachments = media.View.extend({
-               tagName:   'ul',
-               className: 'attachments',
-
-               attributes: {
-                       tabIndex: -1
-               },
-
-               initialize: function() {
-                       this.el.id = _.uniqueId('__attachments-view-');
-
-                       _.defaults( this.options, {
-                               refreshSensitivity: isTouchDevice ? 300 : 200,
-                               refreshThreshold:   3,
-                               AttachmentView:     media.view.Attachment,
-                               sortable:           false,
-                               resize:             true,
-                               idealColumnWidth:   $( window ).width() < 640 ? 135 : 150
-                       });
+       mainPlaylistToolbar: function( view ) {
+               var controller = this;
 
-                       this._viewsByCid = {};
-                       this.$window = $( window );
-                       this.resizeEvent = 'resize.media-modal-columns';
+               this.selectionStatusToolbar( view );
 
-                       this.collection.on( 'add', function( attachment ) {
-                               this.views.add( this.createAttachmentView( attachment ), {
-                                       at: this.collection.indexOf( attachment )
-                               });
-                       }, this );
+               view.set( 'playlist', {
+                       style:    'primary',
+                       text:     l10n.createNewPlaylist,
+                       priority: 100,
+                       requires: { selection: true },
 
-                       this.collection.on( 'remove', function( attachment ) {
-                               var view = this._viewsByCid[ attachment.cid ];
-                               delete this._viewsByCid[ attachment.cid ];
+                       click: function() {
+                               var selection = controller.state().get('selection'),
+                                       edit = controller.state('playlist-edit'),
+                                       models = selection.where({ type: 'audio' });
 
-                               if ( view ) {
-                                       view.remove();
-                               }
-                       }, this );
+                               edit.set( 'library', new wp.media.model.Selection( models, {
+                                       props:    selection.props.toJSON(),
+                                       multiple: true
+                               }) );
 
-                       this.collection.on( 'reset', this.render, this );
+                               this.controller.setState('playlist-edit');
+
+                               // Keep focus inside media modal
+                               // after jumping to playlist view
+                               this.controller.modal.focusManager.focus();
+                       }
+               });
+       },
 
-                       this.listenTo( this.controller, 'library:selection:add',    this.attachmentFocus );
+       mainVideoPlaylistToolbar: function( view ) {
+               var controller = this;
 
-                       // Throttle the scroll handler and bind this.
-                       this.scroll = _.chain( this.scroll ).bind( this ).throttle( this.options.refreshSensitivity ).value();
+               this.selectionStatusToolbar( view );
 
-                       this.options.scrollElement = this.options.scrollElement || this.el;
-                       $( this.options.scrollElement ).on( 'scroll', this.scroll );
+               view.set( 'video-playlist', {
+                       style:    'primary',
+                       text:     l10n.createNewVideoPlaylist,
+                       priority: 100,
+                       requires: { selection: true },
 
-                       this.initSortable();
+                       click: function() {
+                               var selection = controller.state().get('selection'),
+                                       edit = controller.state('video-playlist-edit'),
+                                       models = selection.where({ type: 'video' });
 
-                       _.bindAll( this, 'setColumns' );
+                               edit.set( 'library', new wp.media.model.Selection( models, {
+                                       props:    selection.props.toJSON(),
+                                       multiple: true
+                               }) );
 
-                       if ( this.options.resize ) {
-                               this.on( 'ready', this.bindEvents );
-                               this.controller.on( 'open', this.setColumns );
+                               this.controller.setState('video-playlist-edit');
 
-                               // Call this.setColumns() after this view has been rendered in the DOM so
-                               // attachments get proper width applied.
-                               _.defer( this.setColumns, this );
+                               // Keep focus inside media modal
+                               // after jumping to video playlist view
+                               this.controller.modal.focusManager.focus();
                        }
-               },
-
-               bindEvents: function() {
-                       this.$window.off( this.resizeEvent ).on( this.resizeEvent, _.debounce( this.setColumns, 50 ) );
-               },
+               });
+       },
 
-               attachmentFocus: function() {
-                       this.$( 'li:first' ).focus();
-               },
+       featuredImageToolbar: function( toolbar ) {
+               this.createSelectToolbar( toolbar, {
+                       text:  l10n.setFeaturedImage,
+                       state: this.options.state
+               });
+       },
 
-               restoreFocus: function() {
-                       this.$( 'li.selected:first' ).focus();
-               },
+       mainEmbedToolbar: function( toolbar ) {
+               toolbar.view = new wp.media.view.Toolbar.Embed({
+                       controller: this
+               });
+       },
+
+       galleryEditToolbar: function() {
+               var editing = this.state().get('editing');
+               this.toolbar.set( new wp.media.view.Toolbar({
+                       controller: this,
+                       items: {
+                               insert: {
+                                       style:    'primary',
+                                       text:     editing ? l10n.updateGallery : l10n.insertGallery,
+                                       priority: 80,
+                                       requires: { library: true },
 
-               arrowEvent: function( event ) {
-                       var attachments = this.$el.children( 'li' ),
-                               perRow = this.columns,
-                               index = attachments.filter( ':focus' ).index(),
-                               row = ( index + 1 ) <= perRow ? 1 : Math.ceil( ( index + 1 ) / perRow );
+                                       /**
+                                        * @fires wp.media.controller.State#update
+                                        */
+                                       click: function() {
+                                               var controller = this.controller,
+                                                       state = controller.state();
 
-                       if ( index === -1 ) {
-                               return;
-                       }
+                                               controller.close();
+                                               state.trigger( 'update', state.get('library') );
 
-                       // Left arrow
-                       if ( 37 === event.keyCode ) {
-                               if ( 0 === index ) {
-                                       return;
+                                               // Restore and reset the default state.
+                                               controller.setState( controller.options.state );
+                                               controller.reset();
+                                       }
                                }
-                               attachments.eq( index - 1 ).focus();
                        }
+               }) );
+       },
 
-                       // Up arrow
-                       if ( 38 === event.keyCode ) {
-                               if ( 1 === row ) {
-                                       return;
-                               }
-                               attachments.eq( index - perRow ).focus();
-                       }
+       galleryAddToolbar: function() {
+               this.toolbar.set( new wp.media.view.Toolbar({
+                       controller: this,
+                       items: {
+                               insert: {
+                                       style:    'primary',
+                                       text:     l10n.addToGallery,
+                                       priority: 80,
+                                       requires: { selection: true },
 
-                       // Right arrow
-                       if ( 39 === event.keyCode ) {
-                               if ( attachments.length === index ) {
-                                       return;
-                               }
-                               attachments.eq( index + 1 ).focus();
-                       }
+                                       /**
+                                        * @fires wp.media.controller.State#reset
+                                        */
+                                       click: function() {
+                                               var controller = this.controller,
+                                                       state = controller.state(),
+                                                       edit = controller.state('gallery-edit');
 
-                       // Down arrow
-                       if ( 40 === event.keyCode ) {
-                               if ( Math.ceil( attachments.length / perRow ) === row ) {
-                                       return;
+                                               edit.get('library').add( state.get('selection').models );
+                                               state.trigger('reset');
+                                               controller.setState('gallery-edit');
+                                       }
                                }
-                               attachments.eq( index + perRow ).focus();
-                       }
-               },
-
-               dispose: function() {
-                       this.collection.props.off( null, null, this );
-                       if ( this.options.resize ) {
-                               this.$window.off( this.resizeEvent );
                        }
+               }) );
+       },
 
-                       /**
-                        * call 'dispose' directly on the parent class
-                        */
-                       media.View.prototype.dispose.apply( this, arguments );
-               },
+       playlistEditToolbar: function() {
+               var editing = this.state().get('editing');
+               this.toolbar.set( new wp.media.view.Toolbar({
+                       controller: this,
+                       items: {
+                               insert: {
+                                       style:    'primary',
+                                       text:     editing ? l10n.updatePlaylist : l10n.insertPlaylist,
+                                       priority: 80,
+                                       requires: { library: true },
 
-               setColumns: function() {
-                       var prev = this.columns,
-                               width = this.$el.width();
+                                       /**
+                                        * @fires wp.media.controller.State#update
+                                        */
+                                       click: function() {
+                                               var controller = this.controller,
+                                                       state = controller.state();
 
-                       if ( width ) {
-                               this.columns = Math.min( Math.round( width / this.options.idealColumnWidth ), 12 ) || 1;
+                                               controller.close();
+                                               state.trigger( 'update', state.get('library') );
 
-                               if ( ! prev || prev !== this.columns ) {
-                                       this.$el.closest( '.media-frame-content' ).attr( 'data-columns', this.columns );
+                                               // Restore and reset the default state.
+                                               controller.setState( controller.options.state );
+                                               controller.reset();
+                                       }
                                }
                        }
-               },
+               }) );
+       },
+
+       playlistAddToolbar: function() {
+               this.toolbar.set( new wp.media.view.Toolbar({
+                       controller: this,
+                       items: {
+                               insert: {
+                                       style:    'primary',
+                                       text:     l10n.addToPlaylist,
+                                       priority: 80,
+                                       requires: { selection: true },
 
-               initSortable: function() {
-                       var collection = this.collection;
+                                       /**
+                                        * @fires wp.media.controller.State#reset
+                                        */
+                                       click: function() {
+                                               var controller = this.controller,
+                                                       state = controller.state(),
+                                                       edit = controller.state('playlist-edit');
 
-                       if ( isTouchDevice || ! this.options.sortable || ! $.fn.sortable ) {
-                               return;
+                                               edit.get('library').add( state.get('selection').models );
+                                               state.trigger('reset');
+                                               controller.setState('playlist-edit');
+                                       }
+                               }
                        }
+               }) );
+       },
 
-                       this.$el.sortable( _.extend({
-                               // If the `collection` has a `comparator`, disable sorting.
-                               disabled: !! collection.comparator,
+       videoPlaylistEditToolbar: function() {
+               var editing = this.state().get('editing');
+               this.toolbar.set( new wp.media.view.Toolbar({
+                       controller: this,
+                       items: {
+                               insert: {
+                                       style:    'primary',
+                                       text:     editing ? l10n.updateVideoPlaylist : l10n.insertVideoPlaylist,
+                                       priority: 140,
+                                       requires: { library: true },
 
-                               // Change the position of the attachment as soon as the
-                               // mouse pointer overlaps a thumbnail.
-                               tolerance: 'pointer',
+                                       click: function() {
+                                               var controller = this.controller,
+                                                       state = controller.state(),
+                                                       library = state.get('library');
 
-                               // Record the initial `index` of the dragged model.
-                               start: function( event, ui ) {
-                                       ui.item.data('sortableIndexStart', ui.item.index());
-                               },
+                                               library.type = 'video';
 
-                               // Update the model's index in the collection.
-                               // Do so silently, as the view is already accurate.
-                               update: function( event, ui ) {
-                                       var model = collection.at( ui.item.data('sortableIndexStart') ),
-                                               comparator = collection.comparator;
-
-                                       // Temporarily disable the comparator to prevent `add`
-                                       // from re-sorting.
-                                       delete collection.comparator;
-
-                                       // Silently shift the model to its new index.
-                                       collection.remove( model, {
-                                               silent: true
-                                       });
-                                       collection.add( model, {
-                                               silent: true,
-                                               at:     ui.item.index()
-                                       });
-
-                                       // Restore the comparator.
-                                       collection.comparator = comparator;
-
-                                       // Fire the `reset` event to ensure other collections sync.
-                                       collection.trigger( 'reset', collection );
-
-                                       // If the collection is sorted by menu order,
-                                       // update the menu order.
-                                       collection.saveMenuOrder();
+                                               controller.close();
+                                               state.trigger( 'update', library );
+
+                                               // Restore and reset the default state.
+                                               controller.setState( controller.options.state );
+                                               controller.reset();
+                                       }
                                }
-                       }, this.options.sortable ) );
+                       }
+               }) );
+       },
 
-                       // If the `orderby` property is changed on the `collection`,
-                       // check to see if we have a `comparator`. If so, disable sorting.
-                       collection.props.on( 'change:orderby', function() {
-                               this.$el.sortable( 'option', 'disabled', !! collection.comparator );
-                       }, this );
+       videoPlaylistAddToolbar: function() {
+               this.toolbar.set( new wp.media.view.Toolbar({
+                       controller: this,
+                       items: {
+                               insert: {
+                                       style:    'primary',
+                                       text:     l10n.addToVideoPlaylist,
+                                       priority: 140,
+                                       requires: { selection: true },
 
-                       this.collection.props.on( 'change:orderby', this.refreshSortable, this );
-                       this.refreshSortable();
-               },
+                                       click: function() {
+                                               var controller = this.controller,
+                                                       state = controller.state(),
+                                                       edit = controller.state('video-playlist-edit');
 
-               refreshSortable: function() {
-                       if ( isTouchDevice || ! this.options.sortable || ! $.fn.sortable ) {
-                               return;
+                                               edit.get('library').add( state.get('selection').models );
+                                               state.trigger('reset');
+                                               controller.setState('video-playlist-edit');
+                                       }
+                               }
                        }
+               }) );
+       }
+});
+
+module.exports = Post;
+
+},{}],44:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.view.MediaFrame.Select
+ *
+ * A frame for selecting an item or items from the media library.
+ *
+ * @class
+ * @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
+ */
+
+var MediaFrame = wp.media.view.MediaFrame,
+       l10n = wp.media.view.l10n,
+       Select;
+
+Select = MediaFrame.extend({
+       initialize: function() {
+               // Call 'initialize' directly on the parent class.
+               MediaFrame.prototype.initialize.apply( this, arguments );
+
+               _.defaults( this.options, {
+                       selection: [],
+                       library:   {},
+                       multiple:  false,
+                       state:    'library'
+               });
 
-                       // If the `collection` has a `comparator`, disable sorting.
-                       var collection = this.collection,
-                               orderby = collection.props.get('orderby'),
-                               enabled = 'menuOrder' === orderby || ! collection.comparator;
+               this.createSelection();
+               this.createStates();
+               this.bindHandlers();
+       },
 
-                       this.$el.sortable( 'option', 'disabled', ! enabled );
-               },
+       /**
+        * Attach a selection collection to the frame.
+        *
+        * A selection is a collection of attachments used for a specific purpose
+        * by a media frame. e.g. Selecting an attachment (or many) to insert into
+        * post content.
+        *
+        * @see media.model.Selection
+        */
+       createSelection: function() {
+               var selection = this.options.selection;
 
-               /**
-                * @param {wp.media.model.Attachment} attachment
-                * @returns {wp.media.View}
-                */
-               createAttachmentView: function( attachment ) {
-                       var view = new this.options.AttachmentView({
-                               controller:           this.controller,
-                               model:                attachment,
-                               collection:           this.collection,
-                               selection:            this.options.selection
+               if ( ! (selection instanceof wp.media.model.Selection) ) {
+                       this.options.selection = new wp.media.model.Selection( selection, {
+                               multiple: this.options.multiple
                        });
+               }
 
-                       return this._viewsByCid[ attachment.cid ] = view;
-               },
+               this._selection = {
+                       attachments: new wp.media.model.Attachments(),
+                       difference: []
+               };
+       },
 
-               prepare: function() {
-                       // Create all of the Attachment views, and replace
-                       // the list in a single DOM operation.
-                       if ( this.collection.length ) {
-                               this.views.set( this.collection.map( this.createAttachmentView, this ) );
+       /**
+        * Create the default states on the frame.
+        */
+       createStates: function() {
+               var options = this.options;
 
-                       // If there are no elements, clear the views and load some.
-                       } else {
-                               this.views.unset();
-                               this.collection.more().done( this.scroll );
-                       }
-               },
-
-               ready: function() {
-                       // Trigger the scroll event to check if we're within the
-                       // threshold to query for additional attachments.
-                       this.scroll();
-               },
-
-               scroll: function() {
-                       var view = this,
-                               el = this.options.scrollElement,
-                               scrollTop = el.scrollTop,
-                               toolbar;
-
-                       // The scroll event occurs on the document, but the element
-                       // that should be checked is the document body.
-                       if ( el == document ) {
-                               el = document.body;
-                               scrollTop = $(document).scrollTop();
-                       }
+               if ( this.options.states ) {
+                       return;
+               }
 
-                       if ( ! $(el).is(':visible') || ! this.collection.hasMore() ) {
-                               return;
-                       }
+               // Add the default states.
+               this.states.add([
+                       // Main states.
+                       new wp.media.controller.Library({
+                               library:   wp.media.query( options.library ),
+                               multiple:  options.multiple,
+                               title:     options.title,
+                               priority:  20
+                       })
+               ]);
+       },
 
-                       toolbar = this.views.parent.toolbar;
+       /**
+        * Bind region mode event callbacks.
+        *
+        * @see media.controller.Region.render
+        */
+       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 );
+       },
 
-                       // Show the spinner only if we are close to the bottom.
-                       if ( el.scrollHeight - ( scrollTop + el.clientHeight ) < el.clientHeight / 3 ) {
-                               toolbar.get('spinner').show();
+       /**
+        * Render callback for the router region in the `browse` mode.
+        *
+        * @param {wp.media.view.Router} routerView
+        */
+       browseRouter: function( routerView ) {
+               routerView.set({
+                       upload: {
+                               text:     l10n.uploadFilesTitle,
+                               priority: 20
+                       },
+                       browse: {
+                               text:     l10n.mediaLibraryTitle,
+                               priority: 40
                        }
+               });
+       },
 
-                       if ( el.scrollHeight < scrollTop + ( el.clientHeight * this.options.refreshThreshold ) ) {
-                               this.collection.more().done(function() {
-                                       view.scroll();
-                                       toolbar.get('spinner').hide();
-                               });
-                       }
-               }
-       });
+       /**
+        * Render callback for the content region in the `browse` mode.
+        *
+        * @param {wp.media.controller.Region} contentRegion
+        */
+       browseContent: function( contentRegion ) {
+               var state = this.state();
+
+               this.$el.removeClass('hide-toolbar');
+
+               // Browse our library of attachments.
+               contentRegion.view = new wp.media.view.AttachmentsBrowser({
+                       controller: this,
+                       collection: state.get('library'),
+                       selection:  state.get('selection'),
+                       model:      state,
+                       sortable:   state.get('sortable'),
+                       search:     state.get('searchable'),
+                       filters:    state.get('filterable'),
+                       date:       state.get('date'),
+                       display:    state.has('display') ? state.get('display') : state.get('displaySettings'),
+                       dragInfo:   state.get('dragInfo'),
+
+                       idealColumnWidth: state.get('idealColumnWidth'),
+                       suggestedWidth:   state.get('suggestedWidth'),
+                       suggestedHeight:  state.get('suggestedHeight'),
+
+                       AttachmentView: state.get('AttachmentView')
+               });
+       },
+
+       /**
+        * Render callback for the content region in the `upload` mode.
+        */
+       uploadContent: function() {
+               this.$el.removeClass( 'hide-toolbar' );
+               this.content.set( new wp.media.view.UploaderInline({
+                       controller: this
+               }) );
+       },
 
        /**
-        * wp.media.view.Search
+        * Toolbars
         *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       media.view.Search = media.View.extend({
-               tagName:   'input',
-               className: 'search',
-               id:        'media-search-input',
-
-               attributes: {
-                       type:        'search',
-                       placeholder: l10n.search
-               },
-
-               events: {
-                       'input':  'search',
-                       'keyup':  'search',
-                       'change': 'search',
-                       'search': 'search'
-               },
+        * @param {Object} toolbar
+        * @param {Object} [options={}]
+        * @this wp.media.controller.Region
+        */
+       createSelectToolbar: function( toolbar, options ) {
+               options = options || this.options.button || {};
+               options.controller = this;
+
+               toolbar.view = new wp.media.view.Toolbar.Select( options );
+       }
+});
+
+module.exports = Select;
+
+},{}],45:[function(require,module,exports){
+/**
+ * wp.media.view.Iframe
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Iframe = wp.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') + '" />' );
+               this.views.render();
+               return this;
+       }
+});
+
+module.exports = Iframe;
+
+},{}],46:[function(require,module,exports){
+/*globals wp, _, jQuery */
+
+/**
+ * wp.media.view.ImageDetails
+ *
+ * @class
+ * @augments wp.media.view.Settings.AttachmentDisplay
+ * @augments wp.media.view.Settings
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var AttachmentDisplay = wp.media.view.Settings.AttachmentDisplay,
+       $ = jQuery,
+       ImageDetails;
+
+ImageDetails = AttachmentDisplay.extend({
+       className: 'image-details',
+       template:  wp.template('image-details'),
+       events: _.defaults( 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 );
+
+               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 args = arguments;
+
+               if ( this.model.attachment && 'pending' === this.model.dfd.state() ) {
+                       this.model.dfd
+                               .done( _.bind( function() {
+                                       AttachmentDisplay.prototype.render.apply( this, args );
+                                       this.postRender();
+                               }, this ) )
+                               .fail( _.bind( function() {
+                                       this.model.attachment = false;
+                                       AttachmentDisplay.prototype.render.apply( this, args );
+                                       this.postRender();
+                               }, this ) );
+               } else {
+                       AttachmentDisplay.prototype.render.apply( this, arguments );
+                       this.postRender();
+               }
 
-               /**
-                * @returns {wp.media.view.Search} Returns itself to allow chaining
-                */
-               render: function() {
-                       this.el.value = this.model.escape('search');
-                       return this;
-               },
+               return this;
+       },
 
-               search: function( event ) {
-                       if ( event.target.value ) {
-                               this.model.set( 'search', event.target.value );
-                       } else {
-                               this.model.unset('search');
-                       }
+       postRender: function() {
+               setTimeout( _.bind( this.resetFocus, this ), 10 );
+               this.toggleLinkSettings();
+               if ( window.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');
+               }
+       },
 
-       /**
-        * wp.media.view.AttachmentFilters
-        *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       media.view.AttachmentFilters = media.View.extend({
-               tagName:   'select',
-               className: 'attachment-filters',
-               id:        'media-attachment-filters',
-
-               events: {
-                       change: 'change'
-               },
-
-               keys: [],
-
-               initialize: function() {
-                       this.createFilters();
-                       _.extend( this.filters, this.options.filters );
-
-                       // Build `<option>` elements.
-                       this.$el.html( _.chain( this.filters ).map( function( filter, value ) {
-                               return {
-                                       el: $( '<option></option>' ).val( value ).html( filter.text )[0],
-                                       priority: filter.priority || 50
-                               };
-                       }, this ).sortBy('priority').pluck('el').value() );
-
-                       this.model.on( 'change', this.select, this );
-                       this.select();
-               },
+       toggleCustomSize: function() {
+               if ( this.model.get( 'size' ) !== 'custom' ) {
+                       this.$( '.custom-size' ).addClass('hidden');
+               } else {
+                       this.$( '.custom-size' ).removeClass('hidden');
+               }
+       },
 
-               /**
-                * @abstract
-                */
-               createFilters: function() {
-                       this.filters = {};
-               },
+       onCustomSize: function( event ) {
+               var dimension = $( event.target ).data('setting'),
+                       num = $( event.target ).val(),
+                       value;
 
-               /**
-                * When the selected filter changes, update the Attachment Query properties to match.
-                */
-               change: function() {
-                       var filter = this.filters[ this.el.value ];
-                       if ( filter ) {
-                               this.model.set( filter.props );
-                       }
-               },
+               // Ignore bogus input
+               if ( ! /^\d+/.test( num ) || parseInt( num, 10 ) < 1 ) {
+                       event.preventDefault();
+                       return;
+               }
 
-               select: function() {
-                       var model = this.model,
-                               value = 'all',
-                               props = model.toJSON();
+               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 );
+               }
+       },
 
-                       _.find( this.filters, function( filter, id ) {
-                               var equal = _.all( filter.props, function( prop, key ) {
-                                       return prop === ( _.isUndefined( props[ key ] ) ? null : props[ key ] );
-                               });
+       onToggleAdvanced: function( event ) {
+               event.preventDefault();
+               this.toggleAdvanced();
+       },
 
-                               if ( equal ) {
-                                       return value = id;
-                               }
-                       });
+       toggleAdvanced: function( show ) {
+               var $advanced = this.$el.find( '.advanced-section' ),
+                       mode;
 
-                       this.$el.val( value );
+               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';
                }
-       });
 
-       /**
-        * A filter dropdown for month/dates.
-        *
-        * @class
-        * @augments wp.media.view.AttachmentFilters
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       media.view.DateFilter = media.view.AttachmentFilters.extend({
-               id: 'media-attachment-date-filters',
-
-               createFilters: function() {
-                       var filters = {};
-                       _.each( media.view.settings.months || {}, function( value, index ) {
-                               filters[ index ] = {
-                                       text: value.text,
-                                       props: {
-                                               year: value.year,
-                                               monthnum: value.month
-                                       }
-                               };
-                       });
-                       filters.all = {
-                               text:  l10n.allDates,
-                               props: {
-                                       monthnum: false,
-                                       year:  false
-                               },
-                               priority: 10
-                       };
-                       this.filters = filters;
+               window.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' );
+       }
+});
+
+module.exports = ImageDetails;
+
+},{}],47:[function(require,module,exports){
+/**
+ * wp.media.view.Label
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Label = wp.media.View.extend({
+       tagName: 'label',
+       className: 'screen-reader-text',
+
+       initialize: function() {
+               this.value = this.options.value;
+       },
+
+       render: function() {
+               this.$el.html( this.value );
+
+               return this;
+       }
+});
+
+module.exports = Label;
+
+},{}],48:[function(require,module,exports){
+/*globals wp, _, jQuery */
+
+/**
+ * wp.media.view.MediaFrame
+ *
+ * The frame used to create the media modal.
+ *
+ * @class
+ * @augments wp.media.view.Frame
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ * @mixes wp.media.controller.StateMachine
+ */
+var Frame = wp.media.view.Frame,
+       $ = jQuery,
+       MediaFrame;
+
+MediaFrame = Frame.extend({
+       className: 'media-frame',
+       template:  wp.template('media-frame'),
+       regions:   ['menu','title','content','toolbar','router'],
+
+       events: {
+               'click div.media-frame-title h1': 'toggleMenu'
+       },
 
        /**
-        * wp.media.view.AttachmentFilters.Uploaded
-        *
-        * @class
-        * @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 ) {
-                               text = types[ type ];
-                       }
+        * @global wp.Uploader
+        */
+       initialize: function() {
+               Frame.prototype.initialize.apply( this, arguments );
 
-                       this.filters = {
-                               all: {
-                                       text:  text || l10n.allMediaItems,
-                                       props: {
-                                               uploadedTo: null,
-                                               orderby: 'date',
-                                               order:   'DESC'
-                                       },
-                                       priority: 10
-                               },
+               _.defaults( this.options, {
+                       title:    '',
+                       modal:    true,
+                       uploader: true
+               });
 
-                               uploaded: {
-                                       text:  l10n.uploadedToThisPost,
-                                       props: {
-                                               uploadedTo: media.view.settings.post.id,
-                                               orderby: 'menuOrder',
-                                               order:   'ASC'
-                                       },
-                                       priority: 20
-                               },
+               // Ensure core UI is enabled.
+               this.$el.addClass('wp-core-ui');
 
-                               unattached: {
-                                       text:  l10n.unattached,
-                                       props: {
-                                               uploadedTo: 0,
-                                               orderby: 'menuOrder',
-                                               order:   'ASC'
-                                       },
-                                       priority: 50
-                               }
-                       };
+               // Initialize modal container view.
+               if ( this.options.modal ) {
+                       this.modal = new wp.media.view.Modal({
+                               controller: this,
+                               title:      this.options.title
+                       });
+
+                       this.modal.content( this );
                }
-       });
 
-       /**
-        * wp.media.view.AttachmentFilters.All
-        *
-        * @class
-        * @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 = {};
-
-                       _.each( media.view.settings.mimeTypes || {}, function( text, key ) {
-                               filters[ key ] = {
-                                       text: text,
-                                       props: {
-                                               status:  null,
-                                               type:    key,
-                                               uploadedTo: null,
-                                               orderby: 'date',
-                                               order:   'DESC'
-                                       }
-                               };
-                       });
+               // 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 ) {
+                       this.options.uploader = false;
+               }
 
-                       filters.all = {
-                               text:  l10n.allMediaItems,
-                               props: {
-                                       status:  null,
-                                       type:    null,
-                                       uploadedTo: null,
-                                       orderby: 'date',
-                                       order:   'DESC'
-                               },
-                               priority: 10
-                       };
+               // Initialize window-wide uploader.
+               if ( this.options.uploader ) {
+                       this.uploader = new wp.media.view.UploaderWindow({
+                               controller: this,
+                               uploader: {
+                                       dropzone:  this.modal ? this.modal.$el : this.$el,
+                                       container: this.$el
+                               }
+                       });
+                       this.views.set( '.media-frame-uploader', this.uploader );
+               }
 
-                       if ( media.view.settings.post.id ) {
-                               filters.uploaded = {
-                                       text:  l10n.uploadedToThisPost,
-                                       props: {
-                                               status:  null,
-                                               type:    null,
-                                               uploadedTo: media.view.settings.post.id,
-                                               orderby: 'menuOrder',
-                                               order:   'ASC'
-                                       },
-                                       priority: 20
-                               };
-                       }
+               this.on( 'attach', _.bind( this.views.ready, this.views ), this );
 
-                       filters.unattached = {
-                               text:  l10n.unattached,
-                               props: {
-                                       status:     null,
-                                       uploadedTo: 0,
-                                       type:       null,
-                                       orderby:    'menuOrder',
-                                       order:      'ASC'
-                               },
-                               priority: 50
-                       };
+               // Bind default title creation.
+               this.on( 'title:create:default', this.createTitle, this );
+               this.title.mode('default');
 
-                       if ( media.view.settings.mediaTrash &&
-                               this.controller.isModeActive( 'grid' ) ) {
-
-                               filters.trash = {
-                                       text:  l10n.trash,
-                                       props: {
-                                               uploadedTo: null,
-                                               status:     'trash',
-                                               type:       null,
-                                               orderby:    'date',
-                                               order:      'DESC'
-                                       },
-                                       priority: 50
-                               };
-                       }
+               this.on( 'title:render', function( view ) {
+                       view.$el.append( '<span class="dashicons dashicons-arrow-down"></span>' );
+               });
 
-                       this.filters = filters;
+               // 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 ) {
+                       this.setState( this.options.state );
                }
-       });
-
+               /**
+                * call 'render' directly on the parent class
+                */
+               return Frame.prototype.render.apply( this, arguments );
+       },
        /**
-        * wp.media.view.AttachmentsBrowser
-        *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        *
-        * @param {object}      options
-        * @param {object}      [options.filters=false] Which filters to show in the browser's toolbar.
-        *                                              Accepts 'uploaded' and 'all'.
-        * @param {object}      [options.search=true]   Whether to show the search interface in the
-        *                                              browser's toolbar.
-        * @param {object}      [options.date=true]     Whether to show the date filter in the
-        *                                              browser's toolbar.
-        * @param {object}      [options.display=false] Whether to show the attachments display settings
-        *                                              view in the sidebar.
-        * @param {bool|string} [options.sidebar=true]  Whether to create a sidebar for the browser.
-        *                                              Accepts true, false, and 'errors'.
-        */
-       media.view.AttachmentsBrowser = media.View.extend({
-               tagName:   'div',
-               className: 'attachments-browser',
-
-               initialize: function() {
-                       _.defaults( this.options, {
-                               filters: false,
-                               search:  true,
-                               date:    true,
-                               display: false,
-                               sidebar: true,
-                               AttachmentView: media.view.Attachment.Library
-                       });
+        * @param {Object} title
+        * @this wp.media.controller.Region
+        */
+       createTitle: function( title ) {
+               title.view = new wp.media.View({
+                       controller: this,
+                       tagName: 'h1'
+               });
+       },
+       /**
+        * @param {Object} menu
+        * @this wp.media.controller.Region
+        */
+       createMenu: function( menu ) {
+               menu.view = new wp.media.view.Menu({
+                       controller: this
+               });
+       },
 
-                       this.listenTo( this.controller, 'toggle:upload:attachment', _.bind( this.toggleUploader, this ) );
-                       this.controller.on( 'edit:selection', this.editSelection );
-                       this.createToolbar();
-                       if ( this.options.sidebar ) {
-                               this.createSidebar();
-                       }
-                       this.createUploader();
-                       this.createAttachments();
-                       this.updateContent();
+       toggleMenu: function() {
+               this.$el.find( '.media-menu' ).toggleClass( 'visible' );
+       },
+
+       /**
+        * @param {Object} toolbar
+        * @this wp.media.controller.Region
+        */
+       createToolbar: function( toolbar ) {
+               toolbar.view = new wp.media.view.Toolbar({
+                       controller: this
+               });
+       },
+       /**
+        * @param {Object} router
+        * @this wp.media.controller.Region
+        */
+       createRouter: function( router ) {
+               router.view = new wp.media.view.Router({
+                       controller: this
+               });
+       },
+       /**
+        * @param {Object} options
+        */
+       createIframeStates: function( options ) {
+               var settings = wp.media.view.settings,
+                       tabs = settings.tabs,
+                       tabUrl = settings.tabUrl,
+                       $postId;
+
+               if ( ! tabs || ! tabUrl ) {
+                       return;
+               }
 
-                       if ( ! this.options.sidebar || 'errors' === this.options.sidebar ) {
-                               this.$el.addClass( 'hide-sidebar' );
+               // Add the post ID to the tab URL if it exists.
+               $postId = $('#post_ID');
+               if ( $postId.length ) {
+                       tabUrl += '&post_id=' + $postId.val();
+               }
 
-                               if ( 'errors' === this.options.sidebar ) {
-                                       this.$el.addClass( 'sidebar-for-errors' );
-                               }
-                       }
+               // Generate the tab states.
+               _.each( tabs, function( title, id ) {
+                       this.state( 'iframe:' + id ).set( _.defaults({
+                               tab:     id,
+                               src:     tabUrl + '&tab=' + id,
+                               title:   title,
+                               content: 'iframe',
+                               menu:    'default'
+                       }, options ) );
+               }, this );
+
+               this.on( 'content:create:iframe', this.iframeContent, this );
+               this.on( 'content:deactivate:iframe', this.iframeContentCleanup, this );
+               this.on( 'menu:render:default', this.iframeMenu, this );
+               this.on( 'open', this.hijackThickbox, this );
+               this.on( 'close', this.restoreThickbox, this );
+       },
 
-                       this.collection.on( 'add remove reset', this.updateContent, this );
-               },
+       /**
+        * @param {Object} content
+        * @this wp.media.controller.Region
+        */
+       iframeContent: function( content ) {
+               this.$el.addClass('hide-toolbar');
+               content.view = new wp.media.view.Iframe({
+                       controller: this
+               });
+       },
 
-               editSelection: function( modal ) {
-                       modal.$( '.media-button-backToLibrary' ).focus();
-               },
+       iframeContentCleanup: function() {
+               this.$el.removeClass('hide-toolbar');
+       },
 
-               /**
-                * @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 );
-                       return this;
-               },
+       iframeMenu: function( view ) {
+               var views = {};
 
-               createToolbar: function() {
-                       var LibraryViewSwitcher, Filters, toolbarOptions;
+               if ( ! view ) {
+                       return;
+               }
 
-                       toolbarOptions = {
-                               controller: this.controller
+               _.each( wp.media.view.settings.tabs, function( title, id ) {
+                       views[ 'iframe:' + id ] = {
+                               text: this.state( 'iframe:' + id ).get('title'),
+                               priority: 200
                        };
+               }, this );
 
-                       if ( this.controller.isModeActive( 'grid' ) ) {
-                               toolbarOptions.className = 'media-toolbar wp-filter';
-                       }
+               view.set( views );
+       },
 
-                       /**
-                       * @member {wp.media.view.Toolbar}
-                       */
-                       this.toolbar = new media.view.Toolbar( toolbarOptions );
+       hijackThickbox: function() {
+               var frame = this;
+
+               if ( ! window.tb_remove || this._tb_remove ) {
+                       return;
+               }
 
-                       this.views.add( this.toolbar );
+               this._tb_remove = window.tb_remove;
+               window.tb_remove = function() {
+                       frame.close();
+                       frame.reset();
+                       frame.setState( frame.options.state );
+                       frame._tb_remove.call( window );
+               };
+       },
 
-                       this.toolbar.set( 'spinner', new media.view.Spinner({
-                               priority: -60
-                       }) );
+       restoreThickbox: function() {
+               if ( ! this._tb_remove ) {
+                       return;
+               }
 
-                       if ( -1 !== $.inArray( this.options.filters, [ 'uploaded', 'all' ] ) ) {
-                               // "Filters" will return a <select>, need to render
-                               // screen reader text before
-                               this.toolbar.set( 'filtersLabel', new media.view.Label({
-                                       value: l10n.filterByType,
-                                       attributes: {
-                                               'for':  'media-attachment-filters'
-                                       },
-                                       priority:   -80
-                               }).render() );
+               window.tb_remove = this._tb_remove;
+               delete this._tb_remove;
+       }
+});
 
-                               if ( 'uploaded' === this.options.filters ) {
-                                       this.toolbar.set( 'filters', new media.view.AttachmentFilters.Uploaded({
-                                               controller: this.controller,
-                                               model:      this.collection.props,
-                                               priority:   -80
-                                       }).render() );
-                               } else {
-                                       Filters = new media.view.AttachmentFilters.All({
-                                               controller: this.controller,
-                                               model:      this.collection.props,
-                                               priority:   -80
-                                       });
+// 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
+        */
+       MediaFrame.prototype[ method ] = function() {
+               if ( this.modal ) {
+                       this.modal[ method ].apply( this.modal, arguments );
+               }
+               return this;
+       };
+});
+
+module.exports = MediaFrame;
+
+},{}],49:[function(require,module,exports){
+/*globals jQuery */
+
+/**
+ * wp.media.view.MenuItem
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var $ = jQuery,
+       MenuItem;
+
+MenuItem = wp.media.View.extend({
+       tagName:   'a',
+       className: 'media-menu-item',
+
+       attributes: {
+               href: '#'
+       },
+
+       events: {
+               'click': '_click'
+       },
+       /**
+        * @param {Object} event
+        */
+       _click: function( event ) {
+               var clickOverride = this.options.click;
 
-                                       this.toolbar.set( 'filters', Filters.render() );
-                               }
-                       }
+               if ( event ) {
+                       event.preventDefault();
+               }
 
-                       // Feels odd to bring the global media library switcher into the Attachment
-                       // browser view. Is this a use case for doAction( 'add:toolbar-items:attachments-browser', this.toolbar );
-                       // which the controller can tap into and add this view?
-                       if ( this.controller.isModeActive( 'grid' ) ) {
-                               LibraryViewSwitcher = media.View.extend({
-                                       className: 'view-switch media-grid-view-switch',
-                                       template: media.template( 'media-library-view-switcher')
-                               });
+               if ( clickOverride ) {
+                       clickOverride.call( this );
+               } else {
+                       this.click();
+               }
 
-                               this.toolbar.set( 'libraryViewSwitcher', new LibraryViewSwitcher({
-                                       controller: this.controller,
-                                       priority: -90
-                               }).render() );
+               // When selecting a tab along the left side,
+               // focus should be transferred into the main panel
+               if ( ! wp.media.isTouchDevice ) {
+                       $('.media-frame-content input').first().focus();
+               }
+       },
 
-                               // DateFilter is a <select>, screen reader text needs to be rendered before
-                               this.toolbar.set( 'dateFilterLabel', new media.view.Label({
-                                       value: l10n.filterByDate,
-                                       attributes: {
-                                               'for': 'media-attachment-date-filters'
-                                       },
-                                       priority: -75
-                               }).render() );
-                               this.toolbar.set( 'dateFilter', new media.view.DateFilter({
-                                       controller: this.controller,
-                                       model:      this.collection.props,
-                                       priority: -75
-                               }).render() );
+       click: function() {
+               var state = this.options.state;
 
-                               // BulkSelection is a <div> with subviews, including screen reader text
-                               this.toolbar.set( 'selectModeToggleButton', new media.view.SelectModeToggleButton({
-                                       text: l10n.bulkSelect,
-                                       controller: this.controller,
-                                       priority: -70
-                               }).render() );
+               if ( state ) {
+                       this.controller.setState( state );
+                       this.views.parent.$el.removeClass( 'visible' ); // TODO: or hide on any click, see below
+               }
+       },
+       /**
+        * @returns {wp.media.view.MenuItem} returns itself to allow chaining
+        */
+       render: function() {
+               var options = this.options;
 
-                               this.toolbar.set( 'deleteSelectedButton', new media.view.DeleteSelectedButton({
-                                       filters: Filters,
-                                       style: 'primary',
-                                       disabled: true,
-                                       text: media.view.settings.mediaTrash ? l10n.trashSelected : l10n.deleteSelected,
-                                       controller: this.controller,
-                                       priority: -60,
-                                       click: function() {
-                                               var changed = [], removed = [], self = this,
-                                                       selection = this.controller.state().get( 'selection' ),
-                                                       library = this.controller.state().get( 'library' );
+               if ( options.text ) {
+                       this.$el.text( options.text );
+               } else if ( options.html ) {
+                       this.$el.html( options.html );
+               }
 
-                                               if ( ! selection.length ) {
-                                                       return;
-                                               }
+               return this;
+       }
+});
+
+module.exports = MenuItem;
+
+},{}],50:[function(require,module,exports){
+/**
+ * wp.media.view.Menu
+ *
+ * @class
+ * @augments wp.media.view.PriorityList
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var MenuItem = wp.media.view.MenuItem,
+       PriorityList = wp.media.view.PriorityList,
+       Menu;
+
+Menu = PriorityList.extend({
+       tagName:   'div',
+       className: 'media-menu',
+       property:  'state',
+       ItemView:  MenuItem,
+       region:    'menu',
+
+       /* TODO: alternatively hide on any click anywhere
+       events: {
+               'click': 'click'
+       },
+
+       click: function() {
+               this.$el.removeClass( 'visible' );
+       },
+       */
 
-                                               if ( ! media.view.settings.mediaTrash && ! confirm( l10n.warnBulkDelete ) ) {
-                                                       return;
-                                               }
+       /**
+        * @param {Object} options
+        * @param {string} id
+        * @returns {wp.media.View}
+        */
+       toView: function( options, id ) {
+               options = options || {};
+               options[ this.property ] = options[ this.property ] || id;
+               return new this.ItemView( options ).render();
+       },
 
-                                               if ( media.view.settings.mediaTrash &&
-                                                       'trash' !== selection.at( 0 ).get( 'status' ) &&
-                                                       ! confirm( l10n.warnBulkTrash ) ) {
+       ready: function() {
+               /**
+                * call 'ready' directly on the parent class
+                */
+               PriorityList.prototype.ready.apply( this, arguments );
+               this.visibility();
+       },
 
-                                                       return;
-                                               }
+       set: function() {
+               /**
+                * call 'set' directly on the parent class
+                */
+               PriorityList.prototype.set.apply( this, arguments );
+               this.visibility();
+       },
 
-                                               selection.each( function( model ) {
-                                                       if ( ! model.get( 'nonces' )['delete'] ) {
-                                                               removed.push( model );
-                                                               return;
-                                                       }
+       unset: function() {
+               /**
+                * call 'unset' directly on the parent class
+                */
+               PriorityList.prototype.unset.apply( this, arguments );
+               this.visibility();
+       },
 
-                                                       if ( media.view.settings.mediaTrash && 'trash' === model.get( 'status' ) ) {
-                                                               model.set( 'status', 'inherit' );
-                                                               changed.push( model.save() );
-                                                               removed.push( model );
-                                                       } else if ( media.view.settings.mediaTrash ) {
-                                                               model.set( 'status', 'trash' );
-                                                               changed.push( model.save() );
-                                                               removed.push( model );
-                                                       } else {
-                                                               model.destroy({wait: true});
-                                                       }
-                                               } );
+       visibility: function() {
+               var region = this.region,
+                       view = this.controller[ region ].get(),
+                       views = this.views.get(),
+                       hide = ! views || views.length < 2;
+
+               if ( this === view ) {
+                       this.controller.$el.toggleClass( 'hide-' + region, hide );
+               }
+       },
+       /**
+        * @param {string} id
+        */
+       select: function( id ) {
+               var view = this.get( id );
 
-                                               if ( changed.length ) {
-                                                       selection.remove( removed );
+               if ( ! view ) {
+                       return;
+               }
 
-                                                       $.when.apply( null, changed ).then( function() {
-                                                               library._requery( true );
-                                                               self.controller.trigger( 'selection:action:done' );
-                                                       } );
-                                               } else {
-                                                       this.controller.trigger( 'selection:action:done' );
-                                               }
-                                       }
-                               }).render() );
+               this.deselect();
+               view.$el.addClass('active');
+       },
 
-                               if ( media.view.settings.mediaTrash ) {
-                                       this.toolbar.set( 'deleteSelectedPermanentlyButton', new media.view.DeleteSelectedPermanentlyButton({
-                                               filters: Filters,
-                                               style: 'primary',
-                                               disabled: true,
-                                               text: l10n.deleteSelected,
-                                               controller: this.controller,
-                                               priority: -55,
-                                               click: function() {
-                                                       var removed = [], selection = this.controller.state().get( 'selection' );
-
-                                                       if ( ! selection.length || ! confirm( l10n.warnBulkDelete ) ) {
-                                                               return;
-                                                       }
+       deselect: function() {
+               this.$el.children().removeClass('active');
+       },
 
-                                                       selection.each( function( model ) {
-                                                               if ( ! model.get( 'nonces' )['delete'] ) {
-                                                                       removed.push( model );
-                                                                       return;
-                                                               }
+       hide: function( id ) {
+               var view = this.get( id );
 
-                                                               model.destroy();
-                                                       } );
+               if ( ! view ) {
+                       return;
+               }
 
-                                                       selection.remove( removed );
-                                                       this.controller.trigger( 'selection:action:done' );
-                                               }
-                                       }).render() );
-                               }
+               view.$el.addClass('hidden');
+       },
 
-                       } else if ( this.options.date ) {
-                               // DateFilter is a <select>, screen reader text needs to be rendered before
-                               this.toolbar.set( 'dateFilterLabel', new media.view.Label({
-                                       value: l10n.filterByDate,
-                                       attributes: {
-                                               'for': 'media-attachment-date-filters'
-                                       },
-                                       priority: -75
-                               }).render() );
-                               this.toolbar.set( 'dateFilter', new media.view.DateFilter({
-                                       controller: this.controller,
-                                       model:      this.collection.props,
-                                       priority: -75
-                               }).render() );
-                       }
+       show: function( id ) {
+               var view = this.get( id );
 
-                       if ( this.options.search ) {
-                               // Search is an input, screen reader text needs to be rendered before
-                               this.toolbar.set( 'searchLabel', new media.view.Label({
-                                       value: l10n.searchMediaLabel,
-                                       attributes: {
-                                               'for': 'media-search-input'
-                                       },
-                                       priority:   60
-                               }).render() );
-                               this.toolbar.set( 'search', new media.view.Search({
-                                       controller: this.controller,
-                                       model:      this.collection.props,
-                                       priority:   60
-                               }).render() );
-                       }
+               if ( ! view ) {
+                       return;
+               }
 
-                       if ( this.options.dragInfo ) {
-                               this.toolbar.set( 'dragInfo', new media.View({
-                                       el: $( '<div class="instructions">' + l10n.dragInfo + '</div>' )[0],
-                                       priority: -40
-                               }) );
-                       }
+               view.$el.removeClass('hidden');
+       }
+});
+
+module.exports = Menu;
+
+},{}],51:[function(require,module,exports){
+/*globals wp, _, jQuery */
+
+/**
+ * wp.media.view.Modal
+ *
+ * A modal view, which the media modal uses as its default container.
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var $ = jQuery,
+       Modal;
+
+Modal = wp.media.View.extend({
+       tagName:  'div',
+       template: wp.template('media-modal'),
+
+       attributes: {
+               tabindex: 0
+       },
+
+       events: {
+               'click .media-modal-backdrop, .media-modal-close': 'escapeHandler',
+               'keydown': 'keydown'
+       },
+
+       initialize: function() {
+               _.defaults( this.options, {
+                       container: document.body,
+                       title:     '',
+                       propagate: true,
+                       freeze:    true
+               });
 
-                       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
-                               }) );
-                       }
-               },
+               this.focusManager = new wp.media.view.FocusManager({
+                       el: this.el
+               });
+       },
+       /**
+        * @returns {Object}
+        */
+       prepare: function() {
+               return {
+                       title: this.options.title
+               };
+       },
 
-               updateContent: function() {
-                       var view = this,
-                               noItemsView;
+       /**
+        * @returns {wp.media.view.Modal} Returns itself to allow chaining
+        */
+       attach: function() {
+               if ( this.views.attached ) {
+                       return this;
+               }
 
-                       if ( this.controller.isModeActive( 'grid' ) ) {
-                               noItemsView = view.attachmentsNoResults;
-                       } else {
-                               noItemsView = view.uploader;
-                       }
+               if ( ! this.views.rendered ) {
+                       this.render();
+               }
 
-                       if ( ! this.collection.length ) {
-                               this.toolbar.get( 'spinner' ).show();
-                               this.dfd = this.collection.more().done( function() {
-                                       if ( ! view.collection.length ) {
-                                               noItemsView.$el.removeClass( 'hidden' );
-                                       } else {
-                                               noItemsView.$el.addClass( 'hidden' );
-                                       }
-                                       view.toolbar.get( 'spinner' ).hide();
-                               } );
-                       } else {
-                               noItemsView.$el.addClass( 'hidden' );
-                               view.toolbar.get( 'spinner' ).hide();
-                       }
-               },
+               this.$el.appendTo( this.options.container );
 
-               createUploader: function() {
-                       this.uploader = new media.view.UploaderInline({
-                               controller: this.controller,
-                               status:     false,
-                               message:    this.controller.isModeActive( 'grid' ) ? '' : l10n.noItemsFound,
-                               canClose:   this.controller.isModeActive( 'grid' )
-                       });
+               // Manually mark the view as attached and trigger ready.
+               this.views.attached = true;
+               this.views.ready();
 
-                       this.uploader.hide();
-                       this.views.add( this.uploader );
-               },
+               return this.propagate('attach');
+       },
 
-               toggleUploader: function() {
-                       if ( this.uploader.$el.hasClass( 'hidden' ) ) {
-                               this.uploader.show();
-                       } else {
-                               this.uploader.hide();
-                       }
-               },
-
-               createAttachments: function() {
-                       this.attachments = new media.view.Attachments({
-                               controller:           this.controller,
-                               collection:           this.collection,
-                               selection:            this.options.selection,
-                               model:                this.model,
-                               sortable:             this.options.sortable,
-                               scrollElement:        this.options.scrollElement,
-                               idealColumnWidth:     this.options.idealColumnWidth,
-
-                               // The single `Attachment` view to be used in the `Attachments` view.
-                               AttachmentView: this.options.AttachmentView
-                       });
+       /**
+        * @returns {wp.media.view.Modal} Returns itself to allow chaining
+        */
+       detach: function() {
+               if ( this.$el.is(':visible') ) {
+                       this.close();
+               }
 
-                       // Add keydown listener to the instance of the Attachments view
-                       this.attachments.listenTo( this.controller, 'attachment:keydown:arrow',     this.attachments.arrowEvent );
-                       this.attachments.listenTo( this.controller, 'attachment:details:shift-tab', this.attachments.restoreFocus );
+               this.$el.detach();
+               this.views.attached = false;
+               return this.propagate('detach');
+       },
 
-                       this.views.add( this.attachments );
+       /**
+        * @returns {wp.media.view.Modal} Returns itself to allow chaining
+        */
+       open: function() {
+               var $el = this.$el,
+                       options = this.options,
+                       mceEditor;
 
+               if ( $el.is(':visible') ) {
+                       return this;
+               }
 
-                       if ( this.controller.isModeActive( 'grid' ) ) {
-                               this.attachmentsNoResults = new media.View({
-                                       controller: this.controller,
-                                       tagName: 'p'
-                               });
+               if ( ! this.views.attached ) {
+                       this.attach();
+               }
 
-                               this.attachmentsNoResults.$el.addClass( 'hidden no-media' );
-                               this.attachmentsNoResults.$el.html( l10n.noMedia );
+               // If the `freeze` option is set, record the window's scroll position.
+               if ( options.freeze ) {
+                       this._freeze = {
+                               scrollTop: $( window ).scrollTop()
+                       };
+               }
 
-                               this.views.add( this.attachmentsNoResults );
-                       }
-               },
+               // Disable page scrolling.
+               $( 'body' ).addClass( 'modal-open' );
 
-               createSidebar: function() {
-                       var options = this.options,
-                               selection = options.selection,
-                               sidebar = this.sidebar = new media.view.Sidebar({
-                                       controller: this.controller
-                               });
+               $el.show();
 
-                       this.views.add( sidebar );
+               // Try to close the onscreen keyboard
+               if ( 'ontouchend' in document ) {
+                       if ( ( mceEditor = window.tinymce && window.tinymce.activeEditor )  && ! mceEditor.isHidden() && mceEditor.iframeElement ) {
+                               mceEditor.iframeElement.focus();
+                               mceEditor.iframeElement.blur();
 
-                       if ( this.controller.uploader ) {
-                               sidebar.set( 'uploads', new media.view.UploaderStatus({
-                                       controller: this.controller,
-                                       priority:   40
-                               }) );
+                               setTimeout( function() {
+                                       mceEditor.iframeElement.blur();
+                               }, 100 );
                        }
+               }
 
-                       selection.on( 'selection:single', this.createSingle, this );
-                       selection.on( 'selection:unsingle', this.disposeSingle, this );
+               this.$el.focus();
 
-                       if ( selection.single() ) {
-                               this.createSingle();
-                       }
-               },
+               return this.propagate('open');
+       },
 
-               createSingle: function() {
-                       var sidebar = this.sidebar,
-                               single = this.options.selection.single();
+       /**
+        * @param {Object} options
+        * @returns {wp.media.view.Modal} Returns itself to allow chaining
+        */
+       close: function( options ) {
+               var freeze = this._freeze;
 
-                       sidebar.set( 'details', new media.view.Attachment.Details({
-                               controller: this.controller,
-                               model:      single,
-                               priority:   80
-                       }) );
+               if ( ! this.views.attached || ! this.$el.is(':visible') ) {
+                       return this;
+               }
 
-                       sidebar.set( 'compat', new media.view.AttachmentCompat({
-                               controller: this.controller,
-                               model:      single,
-                               priority:   120
-                       }) );
+               // Enable page scrolling.
+               $( 'body' ).removeClass( 'modal-open' );
 
-                       if ( this.options.display ) {
-                               sidebar.set( 'display', new media.view.Settings.AttachmentDisplay({
-                                       controller:   this.controller,
-                                       model:        this.model.display( single ),
-                                       attachment:   single,
-                                       priority:     160,
-                                       userSettings: this.model.get('displayUserSettings')
-                               }) );
-                       }
+               // Hide modal and remove restricted media modal tab focus once it's closed
+               this.$el.hide().undelegate( 'keydown' );
 
-                       // Show the sidebar on mobile
-                       if ( this.model.id === 'insert' ) {
-                               sidebar.$el.addClass( 'visible' );
-                       }
-               },
+               // Put focus back in useful location once modal is closed
+               $('#wpbody-content').focus();
+
+               this.propagate('close');
 
-               disposeSingle: function() {
-                       var sidebar = this.sidebar;
-                       sidebar.unset('details');
-                       sidebar.unset('compat');
-                       sidebar.unset('display');
-                       // Hide the sidebar on mobile
-                       sidebar.$el.removeClass( 'visible' );
+               // If the `freeze` option is set, restore the container's scroll position.
+               if ( freeze ) {
+                       $( window ).scrollTop( freeze.scrollTop );
                }
-       });
+
+               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;
+       },
 
        /**
-        * wp.media.view.Selection
+        * Triggers a modal event and if the `propagate` option is set,
+        * forwards events to the modal's controller.
         *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       media.view.Selection = media.View.extend({
-               tagName:   'div',
-               className: 'media-selection',
-               template:  media.template('media-selection'),
-
-               events: {
-                       'click .edit-selection':  'edit',
-                       'click .clear-selection': 'clear'
-               },
-
-               initialize: function() {
-                       _.defaults( this.options, {
-                               editable:  false,
-                               clearable: true
-                       });
+        * @param {string} id
+        * @returns {wp.media.view.Modal} Returns itself to allow chaining
+        */
+       propagate: function( id ) {
+               this.trigger( id );
 
-                       /**
-                        * @member {wp.media.view.Attachments.Selection}
-                        */
-                       this.attachments = new media.view.Attachments.Selection({
-                               controller: this.controller,
-                               collection: this.collection,
-                               selection:  this.collection,
-                               model:      new Backbone.Model()
-                       });
+               if ( this.options.propagate ) {
+                       this.controller.trigger( id );
+               }
 
-                       this.views.set( '.selection-view', this.attachments );
-                       this.collection.on( 'add remove reset', this.refresh, this );
-                       this.controller.on( 'content:activate', this.refresh, this );
-               },
+               return this;
+       },
+       /**
+        * @param {Object} event
+        */
+       keydown: function( event ) {
+               // Close the modal when escape is pressed.
+               if ( 27 === event.which && this.$el.is(':visible') ) {
+                       this.escape();
+                       event.stopImmediatePropagation();
+               }
+       }
+});
 
-               ready: function() {
-                       this.refresh();
-               },
+module.exports = Modal;
 
-               refresh: function() {
-                       // If the selection hasn't been rendered, bail.
-                       if ( ! this.$el.children().length ) {
-                               return;
-                       }
+},{}],52:[function(require,module,exports){
+/*globals _, Backbone */
 
-                       var collection = this.collection,
-                               editing = 'edit-selection' === this.controller.content.mode();
+/**
+ * wp.media.view.PriorityList
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var PriorityList = wp.media.View.extend({
+       tagName:   'div',
 
-                       // If nothing is selected, display nothing.
-                       this.$el.toggleClass( 'empty', ! collection.length );
-                       this.$el.toggleClass( 'one', 1 === collection.length );
-                       this.$el.toggleClass( 'editing', editing );
+       initialize: function() {
+               this._views = {};
 
-                       this.$('.count').text( l10n.selected.replace('%d', collection.length) );
-               },
+               this.set( _.extend( {}, this._views, this.options.views ), { silent: true });
+               delete this.options.views;
 
-               edit: function( event ) {
-                       event.preventDefault();
-                       if ( this.options.editable ) {
-                               this.options.editable.call( this, this.collection );
-                       }
-               },
+               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;
 
-               clear: function( event ) {
-                       event.preventDefault();
-                       this.collection.reset();
+               options = options || {};
 
-                       // Keep focus inside media modal
-                       // after clear link is selected
-                       this.controller.modal.focusManager.focus();
+               // Accept an object with an `id` : `view` mapping.
+               if ( _.isObject( id ) ) {
+                       _.each( id, function( view, id ) {
+                               this.set( id, view );
+                       }, this );
+                       return this;
                }
-       });
 
+               if ( ! (view instanceof Backbone.View) ) {
+                       view = this.toView( view, id, options );
+               }
+               view.controller = view.controller || this.controller;
+
+               this.unset( id );
 
+               priority = view.options.priority || 10;
+               views = this.views.get() || [];
+
+               _.find( views, function( existing, i ) {
+                       if ( existing.options.priority > priority ) {
+                               index = i;
+                               return true;
+                       }
+               });
+
+               this._views[ id ] = view;
+               this.views.add( view, {
+                       at: _.isNumber( index ) ? index : views.length || 0
+               });
+
+               return this;
+       },
        /**
-        * wp.media.view.Attachment.Selection
-        *
-        * @class
-        * @augments wp.media.view.Attachment
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
+        * @param {string} id
+        * @returns {wp.media.View}
         */
-       media.view.Attachment.Selection = media.view.Attachment.extend({
-               className: 'attachment selection',
+       get: function( id ) {
+               return this._views[ id ];
+       },
+       /**
+        * @param {string} id
+        * @returns {wp.media.view.PriorityList}
+        */
+       unset: function( id ) {
+               var view = this.get( id );
 
-               // On click, just select the model, instead of removing the model from
-               // the selection.
-               toggleSelection: function() {
-                       this.options.selection.single( this.model );
+               if ( view ) {
+                       view.remove();
                }
-       });
 
+               delete this._views[ id ];
+               return this;
+       },
        /**
-        * wp.media.view.Attachments.Selection
-        *
-        * @class
-        * @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: {},
-               initialize: function() {
-                       _.defaults( this.options, {
-                               sortable:   false,
-                               resize:     false,
-
-                               // 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 );
+        * @param {Object} options
+        * @returns {wp.media.View}
+        */
+       toView: function( options ) {
+               return new wp.media.View( options );
+       }
+});
+
+module.exports = PriorityList;
+
+},{}],53:[function(require,module,exports){
+/**
+ * wp.media.view.RouterItem
+ *
+ * @class
+ * @augments wp.media.view.MenuItem
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var RouterItem = wp.media.view.MenuItem.extend({
+       /**
+        * On click handler to activate the content region's corresponding mode.
+        */
+       click: function() {
+               var contentMode = this.options.contentMode;
+               if ( contentMode ) {
+                       this.controller.content.mode( contentMode );
                }
-       });
+       }
+});
+
+module.exports = RouterItem;
+
+},{}],54:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.Router
+ *
+ * @class
+ * @augments wp.media.view.Menu
+ * @augments wp.media.view.PriorityList
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Menu = wp.media.view.Menu,
+       Router;
+
+Router = Menu.extend({
+       tagName:   'div',
+       className: 'media-router',
+       property:  'contentMode',
+       ItemView:  wp.media.view.RouterItem,
+       region:    'router',
+
+       initialize: function() {
+               this.controller.on( 'content:render', this.update, this );
+               // Call 'initialize' directly on the parent class.
+               Menu.prototype.initialize.apply( this, arguments );
+       },
+
+       update: function() {
+               var mode = this.controller.content.mode();
+               if ( mode ) {
+                       this.select( mode );
+               }
+       }
+});
+
+module.exports = Router;
+
+},{}],55:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.Search
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var l10n = wp.media.view.l10n,
+       Search;
+
+Search = wp.media.View.extend({
+       tagName:   'input',
+       className: 'search',
+       id:        'media-search-input',
+
+       attributes: {
+               type:        'search',
+               placeholder: l10n.search
+       },
+
+       events: {
+               'input':  'search',
+               'keyup':  'search',
+               'change': 'search',
+               'search': 'search'
+       },
 
        /**
-        * wp.media.view.Attachments.EditSelection
-        *
-        * @class
-        * @augments wp.media.view.Attachment.Selection
-        * @augments wp.media.view.Attachment
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
+        * @returns {wp.media.view.Search} Returns itself to allow chaining
         */
-       media.view.Attachment.EditSelection = media.view.Attachment.Selection.extend({
-               buttons: {
-                       close: true
+       render: function() {
+               this.el.value = this.model.escape('search');
+               return this;
+       },
+
+       search: function( event ) {
+               if ( event.target.value ) {
+                       this.model.set( 'search', event.target.value );
+               } else {
+                       this.model.unset('search');
                }
-       });
-
+       }
+});
+
+module.exports = Search;
+
+},{}],56:[function(require,module,exports){
+/*globals wp, _, Backbone */
+
+/**
+ * wp.media.view.Selection
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var l10n = wp.media.view.l10n,
+       Selection;
+
+Selection = wp.media.View.extend({
+       tagName:   'div',
+       className: 'media-selection',
+       template:  wp.template('media-selection'),
+
+       events: {
+               'click .edit-selection':  'edit',
+               'click .clear-selection': 'clear'
+       },
+
+       initialize: function() {
+               _.defaults( this.options, {
+                       editable:  false,
+                       clearable: true
+               });
 
-       /**
-        * wp.media.view.Settings
-        *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       media.view.Settings = media.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 );
-               },
-               /**
-                * @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
+                * @member {wp.media.view.Attachments.Selection}
                 */
-               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 ) {
-                               return;
-                       }
+               this.attachments = new wp.media.view.Attachments.Selection({
+                       controller: this.controller,
+                       collection: this.collection,
+                       selection:  this.collection,
+                       model:      new Backbone.Model()
+               });
 
-                       // Attempt to determine how the setting is rendered and update
-                       // the selected value.
+               this.views.set( '.selection-view', this.attachments );
+               this.collection.on( 'add remove reset', this.refresh, this );
+               this.controller.on( 'content:activate', this.refresh, this );
+       },
 
-                       // Handle dropdowns.
-                       if ( $setting.is('select') ) {
-                               $value = $setting.find('[value="' + value + '"]');
+       ready: function() {
+               this.refresh();
+       },
 
-                               if ( $value.length ) {
-                                       $setting.find('option').prop( 'selected', false );
-                                       $value.prop( 'selected', true );
-                               } else {
-                                       // If we can't find the desired value, record what *is* selected.
-                                       this.model.set( key, $setting.find(':selected').val() );
-                               }
+       refresh: function() {
+               // If the selection hasn't been rendered, bail.
+               if ( ! this.$el.children().length ) {
+                       return;
+               }
 
-                       // Handle button groups.
-                       } else if ( $setting.hasClass('button-group') ) {
-                               $buttons = $setting.find('button').removeClass('active');
-                               $buttons.filter( '[value="' + value + '"]' ).addClass('active');
+               var collection = this.collection,
+                       editing = 'edit-selection' === this.controller.content.mode();
 
-                       // Handle text inputs and textareas.
-                       } else if ( $setting.is('input[type="text"], textarea') ) {
-                               if ( ! $setting.is(':focus') ) {
-                                       $setting.val( value );
-                               }
-                       // Handle checkboxes.
-                       } else if ( $setting.is('input[type="checkbox"]') ) {
-                               $setting.prop( 'checked', !! value && 'false' !== value );
-                       }
-               },
-               /**
-                * @param {Object} event
-                */
-               updateHandler: function( event ) {
-                       var $setting = $( event.target ).closest('[data-setting]'),
-                               value = event.target.value,
-                               userSetting;
+               // If nothing is selected, display nothing.
+               this.$el.toggleClass( 'empty', ! collection.length );
+               this.$el.toggleClass( 'one', 1 === collection.length );
+               this.$el.toggleClass( 'editing', editing );
 
-                       event.preventDefault();
+               this.$('.count').text( l10n.selected.replace('%d', collection.length) );
+       },
 
-                       if ( ! $setting.length ) {
-                               return;
-                       }
+       edit: function( event ) {
+               event.preventDefault();
+               if ( this.options.editable ) {
+                       this.options.editable.call( this, this.collection );
+               }
+       },
+
+       clear: function( event ) {
+               event.preventDefault();
+               this.collection.reset();
+
+               // Keep focus inside media modal
+               // after clear link is selected
+               this.controller.modal.focusManager.focus();
+       }
+});
+
+module.exports = Selection;
+
+},{}],57:[function(require,module,exports){
+/*globals _, Backbone */
+
+/**
+ * wp.media.view.Settings
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var View = wp.media.View,
+       $ = Backbone.$,
+       Settings;
+
+Settings = 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.listenTo( this.model, 'change', this.updateChanges );
+       },
+
+       prepare: function() {
+               return _.defaults({
+                       model: this.model.toJSON()
+               }, this.options );
+       },
+       /**
+        * @returns {wp.media.view.Settings} Returns itself to allow chaining
+        */
+       render: function() {
+               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 ) {
+                       return;
+               }
 
-                       // Use the correct value for checkboxes.
-                       if ( $setting.is('input[type="checkbox"]') ) {
-                               value = $setting[0].checked;
-                       }
+               // Attempt to determine how the setting is rendered and update
+               // the selected value.
 
-                       // Update the corresponding setting.
-                       this.model.set( $setting.data('setting'), value );
+               // Handle dropdowns.
+               if ( $setting.is('select') ) {
+                       $value = $setting.find('[value="' + value + '"]');
 
-                       // If the setting has a corresponding user setting,
-                       // update that as well.
-                       if ( userSetting = $setting.data('userSetting') ) {
-                               setUserSetting( userSetting, value );
+                       if ( $value.length ) {
+                               $setting.find('option').prop( 'selected', false );
+                               $value.prop( 'selected', true );
+                       } else {
+                               // If we can't find the desired value, record what *is* selected.
+                               this.model.set( key, $setting.find(':selected').val() );
                        }
-               },
 
-               updateChanges: function( model ) {
-                       if ( model.hasChanged() ) {
-                               _( model.changed ).chain().keys().each( this.update, this );
+               // Handle button groups.
+               } else if ( $setting.hasClass('button-group') ) {
+                       $buttons = $setting.find('button').removeClass('active');
+                       $buttons.filter( '[value="' + value + '"]' ).addClass('active');
+
+               // Handle text inputs and textareas.
+               } else if ( $setting.is('input[type="text"], textarea') ) {
+                       if ( ! $setting.is(':focus') ) {
+                               $setting.val( value );
                        }
+               // Handle checkboxes.
+               } else if ( $setting.is('input[type="checkbox"]') ) {
+                       $setting.prop( 'checked', !! value && 'false' !== value );
                }
-       });
-
+       },
        /**
-        * wp.media.view.Settings.AttachmentDisplay
-        *
-        * @class
-        * @augments wp.media.view.Settings
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
+        * @param {Object} event
         */
-       media.view.Settings.AttachmentDisplay = media.view.Settings.extend({
-               className: 'attachment-display-settings',
-               template:  media.template('attachment-display-settings'),
+       updateHandler: function( event ) {
+               var $setting = $( event.target ).closest('[data-setting]'),
+                       value = event.target.value,
+                       userSetting;
 
-               initialize: function() {
-                       var attachment = this.options.attachment;
+               event.preventDefault();
 
-                       _.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 ( ! $setting.length ) {
+                       return;
+               }
 
-                       if ( attachment ) {
-                               attachment.on( 'change:uploading', this.render, this );
-                       }
-               },
+               // Use the correct value for checkboxes.
+               if ( $setting.is('input[type="checkbox"]') ) {
+                       value = $setting[0].checked;
+               }
 
-               dispose: function() {
-                       var attachment = this.options.attachment;
-                       if ( attachment ) {
-                               attachment.off( null, null, this );
-                       }
-                       /**
-                        * call 'dispose' directly on the parent class
-                        */
-                       media.view.Settings.prototype.dispose.apply( this, arguments );
-               },
+               // 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') ) {
+                       window.setUserSetting( userSetting, value );
+               }
+       },
+
+       updateChanges: function( model ) {
+               if ( model.hasChanged() ) {
+                       _( model.changed ).chain().keys().each( this.update, this );
+               }
+       }
+});
+
+module.exports = Settings;
+
+},{}],58:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.view.Settings.AttachmentDisplay
+ *
+ * @class
+ * @augments wp.media.view.Settings
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Settings = wp.media.view.Settings,
+       AttachmentDisplay;
+
+AttachmentDisplay = Settings.extend({
+       className: 'attachment-display-settings',
+       template:  wp.template('attachment-display-settings'),
+
+       initialize: function() {
+               var attachment = this.options.attachment;
+
+               _.defaults( this.options, {
+                       userSettings: false
+               });
+               // Call 'initialize' directly on the parent class.
+               Settings.prototype.initialize.apply( this, arguments );
+               this.listenTo( this.model, 'change:link', this.updateLinkTo );
+
+               if ( attachment ) {
+                       attachment.on( 'change:uploading', this.render, this );
+               }
+       },
+
+       dispose: function() {
+               var attachment = this.options.attachment;
+               if ( attachment ) {
+                       attachment.off( null, null, this );
+               }
                /**
-                * @returns {wp.media.view.AttachmentDisplay} Returns itself to allow chaining
+                * call 'dispose' directly on the parent class
                 */
-               render: function() {
-                       var attachment = this.options.attachment;
-                       if ( attachment ) {
-                               _.extend( this.options, {
-                                       sizes: attachment.get('sizes'),
-                                       type:  attachment.get('type')
-                               });
+               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 ) {
+                       _.extend( this.options, {
+                               sizes: attachment.get('sizes'),
+                               type:  attachment.get('type')
+                       });
+               }
+               /**
+                * call 'render' directly on the parent class
+                */
+               Settings.prototype.render.call( this );
+               this.updateLinkTo();
+               return this;
+       },
+
+       updateLinkTo: function() {
+               var linkTo = this.model.get('link'),
+                       $input = this.$('.link-to-custom'),
+                       attachment = this.options.attachment;
+
+               if ( 'none' === linkTo || 'embed' === linkTo || ( ! attachment && 'custom' !== linkTo ) ) {
+                       $input.addClass( 'hidden' );
+                       return;
+               }
+
+               if ( attachment ) {
+                       if ( 'post' === linkTo ) {
+                               $input.val( attachment.get('link') );
+                       } else if ( 'file' === linkTo ) {
+                               $input.val( attachment.get('url') );
+                       } else if ( ! this.model.get('linkUrl') ) {
+                               $input.val('http://');
                        }
-                       /**
-                        * call 'render' directly on the parent class
-                        */
-                       media.view.Settings.prototype.render.call( this );
-                       this.updateLinkTo();
-                       return this;
-               },
 
-               updateLinkTo: function() {
-                       var linkTo = this.model.get('link'),
-                               $input = this.$('.link-to-custom'),
-                               attachment = this.options.attachment;
+                       $input.prop( 'readonly', 'custom' !== linkTo );
+               }
+
+               $input.removeClass( 'hidden' );
+
+               // If the input is visible, focus and select its contents.
+               if ( ! wp.media.isTouchDevice && $input.is(':visible') ) {
+                       $input.focus()[0].select();
+               }
+       }
+});
+
+module.exports = AttachmentDisplay;
+
+},{}],59:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.Settings.Gallery
+ *
+ * @class
+ * @augments wp.media.view.Settings
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Gallery = wp.media.view.Settings.extend({
+       className: 'collection-settings gallery-settings',
+       template:  wp.template('gallery-settings')
+});
+
+module.exports = Gallery;
+
+},{}],60:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.Settings.Playlist
+ *
+ * @class
+ * @augments wp.media.view.Settings
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Playlist = wp.media.view.Settings.extend({
+       className: 'collection-settings playlist-settings',
+       template:  wp.template('playlist-settings')
+});
+
+module.exports = Playlist;
+
+},{}],61:[function(require,module,exports){
+/**
+ * wp.media.view.Sidebar
+ *
+ * @class
+ * @augments wp.media.view.PriorityList
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Sidebar = wp.media.view.PriorityList.extend({
+       className: 'media-sidebar'
+});
+
+module.exports = Sidebar;
+
+},{}],62:[function(require,module,exports){
+/*globals _ */
+
+/**
+ * wp.media.view.Spinner
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Spinner = wp.media.View.extend({
+       tagName:   'span',
+       className: 'spinner',
+       spinnerTimeout: false,
+       delay: 400,
+
+       show: function() {
+               if ( ! this.spinnerTimeout ) {
+                       this.spinnerTimeout = _.delay(function( $el ) {
+                               $el.addClass( 'is-active' );
+                       }, this.delay, this.$el );
+               }
+
+               return this;
+       },
+
+       hide: function() {
+               this.$el.removeClass( 'is-active' );
+               this.spinnerTimeout = clearTimeout( this.spinnerTimeout );
+
+               return this;
+       }
+});
+
+module.exports = Spinner;
+
+},{}],63:[function(require,module,exports){
+/*globals _, Backbone */
+
+/**
+ * wp.media.view.Toolbar
+ *
+ * A toolbar which consists of a primary and a secondary section. Each sections
+ * can be filled with views.
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var View = wp.media.View,
+       Toolbar;
+
+Toolbar = View.extend({
+       tagName:   'div',
+       className: 'media-toolbar',
+
+       initialize: function() {
+               var state = this.controller.state(),
+                       selection = this.selection = state.get('selection'),
+                       library = this.library = state.get('library');
+
+               this._views = {};
+
+               // The toolbar is composed of two `PriorityList` views.
+               this.primary   = new wp.media.view.PriorityList();
+               this.secondary = new wp.media.view.PriorityList();
+               this.primary.$el.addClass('media-toolbar-primary search-form');
+               this.secondary.$el.addClass('media-toolbar-secondary');
+
+               this.views.set([ this.secondary, this.primary ]);
+
+               if ( this.options.items ) {
+                       this.set( this.options.items, { silent: true });
+               }
+
+               if ( ! this.options.silent ) {
+                       this.render();
+               }
+
+               if ( selection ) {
+                       selection.on( 'add remove reset', this.refresh, this );
+               }
+
+               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 ) {
+                       this.selection.off( null, null, this );
+               }
+
+               if ( this.library ) {
+                       this.library.off( null, null, this );
+               }
+               /**
+                * call 'dispose' directly on the parent class
+                */
+               return View.prototype.dispose.apply( this, arguments );
+       },
 
-                       if ( 'none' === linkTo || 'embed' === linkTo || ( ! attachment && 'custom' !== linkTo ) ) {
-                               $input.addClass( 'hidden' );
-                               return;
-                       }
+       ready: function() {
+               this.refresh();
+       },
 
-                       if ( attachment ) {
-                               if ( 'post' === linkTo ) {
-                                       $input.val( attachment.get('link') );
-                               } else if ( 'file' === linkTo ) {
-                                       $input.val( attachment.get('url') );
-                               } else if ( ! this.model.get('linkUrl') ) {
-                                       $input.val('http://');
-                               }
+       /**
+        * @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 || {};
+
+               // Accept an object with an `id` : `view` mapping.
+               if ( _.isObject( id ) ) {
+                       _.each( id, function( view, id ) {
+                               this.set( id, view, { silent: true });
+                       }, this );
 
-                               $input.prop( 'readonly', 'custom' !== linkTo );
+               } else {
+                       if ( ! ( view instanceof Backbone.View ) ) {
+                               view.classes = [ 'media-button-' + id ].concat( view.classes || [] );
+                               view = new wp.media.view.Button( view ).render();
                        }
 
-                       $input.removeClass( 'hidden' );
+                       view.controller = view.controller || this.controller;
 
-                       // If the input is visible, focus and select its contents.
-                       if ( ! isTouchDevice && $input.is(':visible') ) {
-                               $input.focus()[0].select();
-                       }
+                       this._views[ id ] = view;
+
+                       list = view.options.priority < 0 ? 'secondary' : 'primary';
+                       this[ list ].set( id, view, options );
                }
-       });
 
-       /**
-        * wp.media.view.Settings.Gallery
-        *
-        * @class
-        * @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: 'collection-settings gallery-settings',
-               template:  media.template('gallery-settings')
-       });
+               if ( ! options.silent ) {
+                       this.refresh();
+               }
 
+               return this;
+       },
        /**
-        * wp.media.view.Settings.Playlist
-        *
-        * @class
-        * @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')
-       });
-
+        * @param {string} id
+        * @returns {wp.media.view.Button}
+        */
+       get: function( id ) {
+               return this._views[ id ];
+       },
        /**
-        * wp.media.view.Attachment.Details
-        *
-        * @class
-        * @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',
-               className: 'attachment-details',
-               template:  media.template('attachment-details'),
-
-               attributes: function() {
-                       return {
-                               'tabIndex':     0,
-                               'data-id':      this.model.get( 'id' )
-                       };
-               },
-
-               events: {
-                       'change [data-setting]':          'updateSetting',
-                       'change [data-setting] input':    'updateSetting',
-                       'change [data-setting] select':   'updateSetting',
-                       'change [data-setting] textarea': 'updateSetting',
-                       'click .delete-attachment':       'deleteAttachment',
-                       'click .trash-attachment':        'trashAttachment',
-                       'click .untrash-attachment':      'untrashAttachment',
-                       'click .edit-attachment':         'editAttachment',
-                       'click .refresh-attachment':      'refreshAttachment',
-                       'keydown':                        'toggleSelectionHandler'
-               },
-
-               initialize: function() {
-                       this.options = _.defaults( this.options, {
-                               rerenderOnModelChange: false
-                       });
+        * @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 );
 
-                       this.on( 'ready', this.initialFocus );
-                       // Call 'initialize' directly on the parent class.
-                       media.view.Attachment.prototype.initialize.apply( this, arguments );
-               },
+               if ( ! options || ! options.silent ) {
+                       this.refresh();
+               }
+               return this;
+       },
 
-               initialFocus: function() {
-                       if ( ! isTouchDevice ) {
-                               this.$( ':input' ).eq( 0 ).focus();
-                       }
-               },
-               /**
-                * @param {Object} event
-                */
-               deleteAttachment: function( event ) {
-                       event.preventDefault();
+       refresh: function() {
+               var state = this.controller.state(),
+                       library = state.get('library'),
+                       selection = state.get('selection');
 
-                       if ( confirm( l10n.warnDelete ) ) {
-                               this.model.destroy();
-                               // Keep focus inside media modal
-                               // after image is deleted
-                               this.controller.modal.focusManager.focus();
+               _.each( this._views, function( button ) {
+                       if ( ! button.model || ! button.options || ! button.options.requires ) {
+                               return;
                        }
-               },
-               /**
-                * @param {Object} event
-                */
-               trashAttachment: function( event ) {
-                       var library = this.controller.library;
-                       event.preventDefault();
 
-                       if ( media.view.settings.mediaTrash &&
-                               'edit-metadata' === this.controller.content.mode() ) {
+                       var requires = button.options.requires,
+                               disabled = false;
 
-                               this.model.set( 'status', 'trash' );
-                               this.model.save().done( function() {
-                                       library._requery( true );
-                               } );
-                       }  else {
-                               this.model.destroy();
-                       }
-               },
-               /**
-                * @param {Object} event
-                */
-               untrashAttachment: function( event ) {
-                       var library = this.controller.library;
-                       event.preventDefault();
-
-                       this.model.set( 'status', 'inherit' );
-                       this.model.save().done( function() {
-                               library._requery( true );
-                       } );
-               },
-               /**
-                * @param {Object} event
-                */
-               editAttachment: function( event ) {
-                       var editState = this.controller.states.get( 'edit-image' );
-                       if ( window.imageEdit && editState ) {
-                               event.preventDefault();
+                       // Prevent insertion of attachments if any of them are still uploading
+                       disabled = _.some( selection.models, function( attachment ) {
+                               return attachment.get('uploading') === true;
+                       });
 
-                               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();
-               },
-               /**
-                * When reverse tabbing(shift+tab) out of the right details panel, deliver
-                * the focus to the item in the list that was being edited.
-                *
-                * @param {Object} event
-                */
-               toggleSelectionHandler: function( event ) {
-                       if ( 'keydown' === event.type && 9 === event.keyCode && event.shiftKey && event.target === this.$( ':tabbable' ).get( 0 ) ) {
-                               this.controller.trigger( 'attachment:details:shift-tab', event );
-                               return false;
+                       if ( requires.selection && selection && ! selection.length ) {
+                               disabled = true;
+                       } else if ( requires.library && library && ! library.length ) {
+                               disabled = true;
                        }
-
-                       if ( 37 === event.keyCode || 38 === event.keyCode || 39 === event.keyCode || 40 === event.keyCode ) {
-                               this.controller.trigger( 'attachment:keydown:arrow', event );
-                               return;
+                       button.model.set( 'disabled', disabled );
+               });
+       }
+});
+
+module.exports = Toolbar;
+
+},{}],64:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.view.Toolbar.Embed
+ *
+ * @class
+ * @augments wp.media.view.Toolbar.Select
+ * @augments wp.media.view.Toolbar
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Select = wp.media.view.Toolbar.Select,
+       l10n = wp.media.view.l10n,
+       Embed;
+
+Embed = Select.extend({
+       initialize: function() {
+               _.defaults( this.options, {
+                       text: l10n.insertIntoPost,
+                       requires: false
+               });
+               // Call 'initialize' directly on the parent class.
+               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
+                */
+               Select.prototype.refresh.apply( this, arguments );
+       }
+});
+
+module.exports = Embed;
+
+},{}],65:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.view.Toolbar.Select
+ *
+ * @class
+ * @augments wp.media.view.Toolbar
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var Toolbar = wp.media.view.Toolbar,
+       l10n = wp.media.view.l10n,
+       Select;
+
+Select = Toolbar.extend({
+       initialize: function() {
+               var options = this.options;
+
+               _.bindAll( this, 'clickSelect' );
+
+               _.defaults( options, {
+                       event: 'select',
+                       state: false,
+                       reset: true,
+                       close: true,
+                       text:  l10n.select,
+
+                       // Does the button rely on the selection?
+                       requires: {
+                               selection: true
                        }
-               }
-       });
+               });
 
-       /**
-        * wp.media.view.AttachmentCompat
-        *
-        * A view to display fields added via the `attachment_fields_to_edit` filter.
-        *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       media.view.AttachmentCompat = media.View.extend({
-               tagName:   'form',
-               className: 'compat-item',
-
-               events: {
-                       'submit':          'preventDefault',
-                       'change input':    'save',
-                       'change select':   'save',
-                       'change textarea': 'save'
-               },
-
-               initialize: function() {
-                       this.model.on( 'change:compat', this.render, this );
-               },
-               /**
-                * @returns {wp.media.view.AttachmentCompat} Returns itself to allow chaining
-                */
-               dispose: function() {
-                       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 ) {
-                               return;
+               options.items = _.defaults( options.items || {}, {
+                       select: {
+                               style:    'primary',
+                               text:     options.text,
+                               priority: 80,
+                               click:    this.clickSelect,
+                               requires: options.requires
                        }
+               });
+               // Call 'initialize' directly on the parent class.
+               Toolbar.prototype.initialize.apply( this, arguments );
+       },
 
-                       this.views.detach();
-                       this.$el.html( compat.item );
-                       this.views.render();
-                       return this;
-               },
-               /**
-                * @param {Object} event
-                */
-               preventDefault: function( event ) {
-                       event.preventDefault();
-               },
-               /**
-                * @param {Object} event
-                */
-               save: function( event ) {
-                       var data = {};
+       clickSelect: function() {
+               var options = this.options,
+                       controller = this.controller;
 
-                       if ( event ) {
-                               event.preventDefault();
-                       }
+               if ( options.close ) {
+                       controller.close();
+               }
 
-                       _.each( this.$el.serializeArray(), function( pair ) {
-                               data[ pair.name ] = pair.value;
-                       });
+               if ( options.event ) {
+                       controller.state().trigger( options.event );
+               }
 
-                       this.controller.trigger( 'attachment:compat:waiting', ['waiting'] );
-                       this.model.saveCompat( data ).always( _.bind( this.postSave, this ) );
-               },
+               if ( options.state ) {
+                       controller.setState( options.state );
+               }
 
-               postSave: function() {
-                       this.controller.trigger( 'attachment:compat:ready', ['ready'] );
+               if ( options.reset ) {
+                       controller.reset();
                }
-       });
+       }
+});
+
+module.exports = Select;
+
+},{}],66:[function(require,module,exports){
+/*globals wp, _, jQuery */
+
+/**
+ * Creates a dropzone on WP editor instances (elements with .wp-editor-wrap
+ * or #wp-fullscreen-body) and relays drag'n'dropped files to a media workflow.
+ *
+ * wp.media.view.EditorUploader
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var View = wp.media.View,
+       l10n = wp.media.view.l10n,
+       $ = jQuery,
+       EditorUploader;
+
+EditorUploader = View.extend({
+       tagName:   'div',
+       className: 'uploader-editor',
+       template:  wp.template( 'uploader-editor' ),
+
+       localDrag: false,
+       overContainer: false,
+       overDropzone: false,
+       draggingFile: null,
 
        /**
-        * wp.media.view.Iframe
-        *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
+        * Bind drag'n'drop events to callbacks.
         */
-       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') + '" />' );
-                       this.views.render();
+       initialize: function() {
+               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', _.bind( function( event ) {
+                       this.localDrag = event.type === 'dragstart';
+               }, this ) );
+
+               this.initialized = true;
+               return this;
+       },
 
        /**
-        * wp.media.view.Embed
+        * Check browser support for drag'n'drop.
         *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
+        * @return Boolean
         */
-       media.view.Embed = media.View.extend({
-               className: 'media-embed',
+       browserSupport: function() {
+               var supports = false, div = document.createElement('div');
 
-               initialize: function() {
-                       /**
-                        * @member {wp.media.view.EmbedUrl}
-                        */
-                       this.url = new media.view.EmbedUrl({
-                               controller: this.controller,
-                               model:      this.model.props
-                       }).render();
+               supports = ( 'draggable' in div ) || ( 'ondragstart' in div && 'ondrop' in div );
+               supports = supports && !! ( window.File && window.FileList && window.FileReader );
+               return supports;
+       },
 
-                       this.views.set([ this.url ]);
-                       this.refresh();
-                       this.model.on( 'change:type', this.refresh, this );
-                       this.model.on( 'change:loading', this.loading, this );
-               },
+       isDraggingFile: function( event ) {
+               if ( this.draggingFile !== null ) {
+                       return this.draggingFile;
+               }
 
-               /**
-                * @param {Object} view
-                */
-               settings: function( view ) {
-                       if ( this._settings ) {
-                               this._settings.remove();
-                       }
-                       this._settings = view;
-                       this.views.add( view );
-               },
-
-               refresh: function() {
-                       var type = this.model.get('type'),
-                               constructor;
-
-                       if ( 'image' === type ) {
-                               constructor = media.view.EmbedImage;
-                       } else if ( 'link' === type ) {
-                               constructor = media.view.EmbedLink;
-                       } else {
-                               return;
-                       }
+               if ( _.isUndefined( event.originalEvent ) || _.isUndefined( event.originalEvent.dataTransfer ) ) {
+                       return false;
+               }
 
-                       this.settings( new constructor({
-                               controller: this.controller,
-                               model:      this.model.props,
-                               priority:   40
-                       }) );
-               },
+               this.draggingFile = _.indexOf( event.originalEvent.dataTransfer.types, 'Files' ) > -1 &&
+                       _.indexOf( event.originalEvent.dataTransfer.types, 'text/plain' ) === -1;
+
+               return this.draggingFile;
+       },
 
-               loading: function() {
-                       this.$el.toggleClass( 'embed-loading', this.model.get('loading') );
+       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 );
                }
-       });
 
-       /**
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
-        */
-       media.view.Label = media.View.extend({
-               tagName: 'label',
-               className: 'screen-reader-text',
+               if ( ! _.isUndefined( e ) ) {
+                       $( e.target ).closest( '.uploader-editor' ).toggleClass( 'droppable', this.overDropzone );
+               }
 
-               initialize: function() {
-                       this.value = this.options.value;
-               },
+               if ( ! this.overContainer && ! this.overDropzone ) {
+                       this.draggingFile = null;
+               }
 
-               render: function() {
-                       this.$el.html( this.value );
+               return this;
+       },
 
+       render: function() {
+               if ( ! this.initialized ) {
                        return this;
                }
-       });
+
+               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;
+       },
 
        /**
-        * wp.media.view.EmbedUrl
+        * When a file is dropped on the editor uploader, open up an editor media workflow
+        * and upload the file immediately.
         *
-        * @class
-        * @augments wp.media.View
-        * @augments wp.Backbone.View
-        * @augments Backbone.View
+        * @param  {jQuery.Event} event The 'drop' event.
         */
-       media.view.EmbedUrl = media.View.extend({
-               tagName:   'label',
-               className: 'embed-url',
+       drop: function( event ) {
+               var $wrap = null, uploadView;
 
-               events: {
-                       'input':  'url',
-                       'keyup':  'url',
-                       'change': 'url'
-               },
+               this.containerDragleave( event );
+               this.dropzoneDragleave( event );
 
-               initialize: function() {
-                       var self = this;
+               this.files = event.originalEvent.dataTransfer.files;
+               if ( this.files.length < 1 ) {
+                       return;
+               }
 
-                       this.$input = $('<input id="embed-url-field" type="url" />').val( this.model.get('url') );
-                       this.input = this.$input[0];
+               // 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 );
+               }
 
-                       this.spinner = $('<span class="spinner" />')[0];
-                       this.$el.append([ this.input, this.spinner ]);
+               if ( ! this.workflow ) {
+                       this.workflow = wp.media.editor.open( 'content', {
+                               frame:    'post',
+                               state:    'insert',
+                               title:    l10n.addMedia,
+                               multiple: true
+                       });
+                       uploadView = this.workflow.uploader;
+                       if ( uploadView.uploader && uploadView.uploader.ready ) {
+                               this.addFiles.apply( this );
+                       } else {
+                               this.workflow.on( 'uploader:ready', this.addFiles, this );
+                       }
+               } else {
+                       this.workflow.state().reset();
+                       this.addFiles.apply( this );
+                       this.workflow.open();
+               }
 
-                       this.model.on( 'change:url', this.render, this );
+               return false;
+       },
 
-                       if ( this.model.get( 'url' ) ) {
-                               _.delay( function () {
-                                       self.model.trigger( 'change:url' );
-                               }, 500 );
-                       }
-               },
-               /**
-                * @returns {wp.media.view.EmbedUrl} Returns itself to allow chaining
-                */
-               render: function() {
-                       var $input = this.$input;
+       /**
+        * Add the files to the uploader.
+        */
+       addFiles: function() {
+               if ( this.files.length ) {
+                       this.workflow.uploader.uploader.uploader.addFile( _.toArray( this.files ) );
+                       this.files = [];
+               }
+               return this;
+       },
 
-                       if ( $input.is(':focus') ) {
-                               return;
-                       }
+       containerDragover: function( event ) {
+               if ( this.localDrag || ! this.isDraggingFile( event ) ) {
+                       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.overContainer = true;
+               this.refresh();
+       },
 
-               ready: function() {
-                       if ( ! isTouchDevice ) {
-                               this.focus();
-                       }
-               },
+       containerDragleave: function() {
+               this.overContainer = false;
 
-               url: function( event ) {
-                       this.model.set( 'url', event.target.value );
-               },
+               // Throttle dragleave because it's called when bouncing from some elements to others.
+               _.delay( _.bind( this.refresh, this ), 50 );
+       },
 
-               /**
-                * If the input is visible, focus and select its contents.
-                */
-               focus: function() {
-                       var $input = this.$input;
-                       if ( $input.is(':visible') ) {
-                               $input.focus()[0].select();
-                       }
+       dropzoneDragover: function( event ) {
+               if ( this.localDrag || ! this.isDraggingFile( event ) ) {
+                       return;
                }
-       });
-
-       /**
-        * wp.media.view.EmbedLink
-        *
-        * @class
-        * @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',
-               template:  media.template('embed-link-settings'),
-
-               initialize: function() {
-                       this.spinner = $('<span class="spinner" />');
-                       this.$el.append( this.spinner[0] );
-                       this.listenTo( this.model, 'change:url', this.updateoEmbed );
-               },
-
-               updateoEmbed: function() {
-                       var url = this.model.get( 'url' );
-
-                       this.$('.setting.title').show();
-                       // clear out previous results
-                       this.$('.embed-container').hide().find('.embed-preview').html('');
-
-                       // only proceed with embed if the field contains more than 6 characters
-                       if ( url && url.length < 6 ) {
-                               return;
-                       }
 
-                       this.spinner.show();
+               this.overDropzone = true;
+               this.refresh( event );
+               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;
+       }
+});
+
+module.exports = EditorUploader;
+
+},{}],67:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.view.UploaderInline
+ *
+ * The inline uploader that shows up in the 'Upload Files' tab.
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var View = wp.media.View,
+       UploaderInline;
+
+UploaderInline = View.extend({
+       tagName:   'div',
+       className: 'uploader-inline',
+       template:  wp.template('uploader-inline'),
+
+       events: {
+               'click .close': 'hide'
+       },
+
+       initialize: function() {
+               _.defaults( this.options, {
+                       message: '',
+                       status:  true,
+                       canClose: false
+               });
 
-                       setTimeout( _.bind( this.fetch, this ), 500 );
-               },
+               if ( ! this.options.$browser && this.controller.uploader ) {
+                       this.options.$browser = this.controller.uploader.$browser;
+               }
 
-               fetch: function() {
-                       // check if they haven't typed in 500 ms
-                       if ( $('#embed-url-field').val() !== this.model.get('url') ) {
-                               return;
-                       }
+               if ( _.isUndefined( this.options.postId ) ) {
+                       this.options.postId = wp.media.view.settings.post.id;
+               }
 
-                       wp.ajax.send( 'parse-embed', {
-                               data : {
-                                       post_ID: media.view.settings.post.id,
-                                       shortcode: '[embed]' + this.model.get('url') + '[/embed]'
-                               }
-                       } ).done( _.bind( this.renderoEmbed, this ) );
-               },
+               if ( this.options.status ) {
+                       this.views.set( '.upload-inline-status', new wp.media.view.UploaderStatus({
+                               controller: this.controller
+                       }) );
+               }
+       },
 
-               renderoEmbed: function( response ) {
-                       var html = ( response && response.body ) || '';
+       prepare: function() {
+               var suggestedWidth = this.controller.state().get('suggestedWidth'),
+                       suggestedHeight = this.controller.state().get('suggestedHeight'),
+                       data = {};
 
-                       this.spinner.hide();
+               data.message = this.options.message;
+               data.canClose = this.options.canClose;
 
-                       this.$('.setting.title').hide();
-                       this.$('.embed-container').show().find('.embed-preview').html( html );
+               if ( suggestedWidth && suggestedHeight ) {
+                       data.suggestedWidth = suggestedWidth;
+                       data.suggestedHeight = suggestedHeight;
                }
-       });
 
+               return data;
+       },
        /**
-        * wp.media.view.EmbedImage
-        *
-        * @class
-        * @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-media-settings',
-               template:  media.template('embed-image-settings'),
-
-               initialize: function() {
+        * @returns {wp.media.view.UploaderInline} Returns itself to allow chaining
+        */
+       dispose: function() {
+               if ( this.disposing ) {
                        /**
-                        * Call `initialize` directly on parent class with passed arguments
+                        * call 'dispose' directly on the parent class
                         */
-                       media.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') );
+                       return 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
+               // so we don't trigger an infinite loop.
+               this.disposing = true;
+               return this.remove();
+       },
        /**
-        * wp.media.view.ImageDetails
-        *
-        * @class
-        * @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();
-                       }
+        * @returns {wp.media.view.UploaderInline} Returns itself to allow chaining
+        */
+       remove: function() {
+               /**
+                * call 'remove' directly on the parent class
+                */
+               var result = View.prototype.remove.apply( this, arguments );
 
-                       return this;
-               },
+               _.defer( _.bind( this.refresh, this ) );
+               return result;
+       },
 
-               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');
-                       }
-               },
+       refresh: function() {
+               var uploader = this.controller.uploader;
 
-               toggleCustomSize: function() {
-                       if ( this.model.get( 'size' ) !== 'custom' ) {
-                               this.$( '.custom-size' ).addClass('hidden');
-                       } else {
-                               this.$( '.custom-size' ).removeClass('hidden');
-                       }
-               },
+               if ( uploader ) {
+                       uploader.refresh();
+               }
+       },
+       /**
+        * @returns {wp.media.view.UploaderInline}
+        */
+       ready: function() {
+               var $browser = this.options.$browser,
+                       $placeholder;
 
-               onCustomSize: function( event ) {
-                       var dimension = $( event.target ).data('setting'),
-                               num = $( event.target ).val(),
-                               value;
+               if ( this.controller.uploader ) {
+                       $placeholder = this.$('.browser');
 
-                       // Ignore bogus input
-                       if ( ! /^\d+/.test( num ) || parseInt( num, 10 ) < 1 ) {
-                               event.preventDefault();
+                       // Check if we've already replaced the placeholder.
+                       if ( $placeholder[0] === $browser[0] ) {
                                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();
-               },
+                       $browser.detach().text( $placeholder.text() );
+                       $browser[0].className = $placeholder[0].className;
+                       $placeholder.replaceWith( $browser.show() );
+               }
 
-               toggleAdvanced: function( show ) {
-                       var $advanced = this.$el.find( '.advanced-section' ),
-                               mode;
+               this.refresh();
+               return this;
+       },
+       show: function() {
+               this.$el.removeClass( 'hidden' );
+       },
+       hide: function() {
+               this.$el.addClass( 'hidden' );
+       }
+
+});
+
+module.exports = UploaderInline;
+
+},{}],68:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.view.UploaderStatusError
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var UploaderStatusError = wp.media.View.extend({
+       className: 'upload-error',
+       template:  wp.template('uploader-status-error')
+});
+
+module.exports = UploaderStatusError;
+
+},{}],69:[function(require,module,exports){
+/*globals wp, _ */
+
+/**
+ * wp.media.view.UploaderStatus
+ *
+ * An uploader status for on-going uploads.
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var View = wp.media.View,
+       UploaderStatus;
+
+UploaderStatus = View.extend({
+       className: 'media-uploader-status',
+       template:  wp.template('uploader-status'),
+
+       events: {
+               'click .upload-dismiss-errors': 'dismiss'
+       },
+
+       initialize: function() {
+               this.queue = wp.Uploader.queue;
+               this.queue.on( 'add remove reset', this.visibility, this );
+               this.queue.on( 'add remove reset change:percent', this.progress, this );
+               this.queue.on( 'add remove reset change:uploading', this.info, this );
+
+               this.errors = wp.Uploader.errors;
+               this.errors.reset();
+               this.errors.on( 'add remove reset', this.visibility, this );
+               this.errors.on( 'add', this.error, this );
+       },
+       /**
+        * @global wp.Uploader
+        * @returns {wp.media.view.UploaderStatus}
+        */
+       dispose: function() {
+               wp.Uploader.queue.off( null, null, this );
+               /**
+                * call 'dispose' directly on the parent class
+                */
+               View.prototype.dispose.apply( this, arguments );
+               return 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( selector, key ) {
+                       this[ key ] = this.$( selector );
+               }, this );
+
+               this.visibility();
+               this.progress();
+               this.info();
+       },
+
+       progress: function() {
+               var queue = this.queue,
+                       $bar = this.$bar;
+
+               if ( ! $bar || ! queue.length ) {
+                       return;
+               }
 
-                       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';
+               $bar.width( ( queue.reduce( function( memo, attachment ) {
+                       if ( ! attachment.get('uploading') ) {
+                               return memo + 100;
                        }
 
-                       setUserSetting( 'advImgDetails', mode );
-               },
-
-               editAttachment: function( event ) {
-                       var editState = this.controller.states.get( 'edit-image' );
+                       var percent = attachment.get('percent');
+                       return memo + ( _.isNumber( percent ) ? percent : 100 );
+               }, 0 ) / queue.length ) + '%' );
+       },
 
-                       if ( window.imageEdit && editState ) {
-                               event.preventDefault();
-                               editState.set( 'image', this.model.attachment );
-                               this.controller.setState( 'edit-image' );
-                       }
-               },
+       info: function() {
+               var queue = this.queue,
+                       index = 0, active;
 
-               replaceAttachment: function( event ) {
-                       event.preventDefault();
-                       this.controller.setState( 'replace-image' );
+               if ( ! queue.length ) {
+                       return;
                }
-       });
 
+               active = this.queue.find( function( attachment, i ) {
+                       index = i;
+                       return attachment.get('uploading');
+               });
+
+               this.$index.text( index + 1 );
+               this.$total.text( queue.length );
+               this.$filename.html( active ? this.filename( active.get('filename') ) : '' );
+       },
        /**
-        * 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.
+        * @param {string} filename
+        * @returns {string}
+        */
+       filename: function( filename ) {
+               return wp.media.truncate( _.escape( filename ), 24 );
+       },
+       /**
+        * @param {Backbone.Model} error
+        */
+       error: function( error ) {
+               this.views.add( '.upload-errors', new wp.media.view.UploaderStatusError({
+                       filename: this.filename( error.get('file').name ),
+                       message:  error.get('message')
+               }), { at: 0 });
+       },
+
+       /**
+        * @global wp.Uploader
         *
-        * @class
-        * @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);
-                       }
+        * @param {Object} event
+        */
+       dismiss: function( event ) {
+               var errors = this.views.get('.upload-errors');
 
-                       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');
+               event.preventDefault();
 
-                       this.views.add( '.upload-errors', new media.view.UploaderStatusError({
-                               filename: media.view.UploaderStatus.prototype.filename(filename),
-                               message: _wpMediaViewsL10n.cropError
-                       }), { at: 0 });
+               if ( errors ) {
+                       _.invoke( errors, 'remove' );
                }
-       });
+               wp.Uploader.errors.reset();
+       }
+});
+
+module.exports = UploaderStatus;
+
+},{}],70:[function(require,module,exports){
+/*globals wp, _, jQuery */
+
+/**
+ * wp.media.view.UploaderWindow
+ *
+ * An uploader window that allows for dragging and dropping media.
+ *
+ * @class
+ * @augments wp.media.View
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ *
+ * @param {object} [options]                   Options hash passed to the view.
+ * @param {object} [options.uploader]          Uploader properties.
+ * @param {jQuery} [options.uploader.browser]
+ * @param {jQuery} [options.uploader.dropzone] jQuery collection of the dropzone.
+ * @param {object} [options.uploader.params]
+ */
+var $ = jQuery,
+       UploaderWindow;
+
+UploaderWindow = wp.media.View.extend({
+       tagName:   'div',
+       className: 'uploader-window',
+       template:  wp.template('uploader-window'),
+
+       initialize: function() {
+               var uploader;
+
+               this.$browser = $('<a href="#" class="browser" />').hide().appendTo('body');
+
+               uploader = this.options.uploader = _.defaults( this.options.uploader || {}, {
+                       dropzone:  this.$el,
+                       browser:   this.$browser,
+                       params:    {}
+               });
 
-       media.view.EditImage = media.View.extend({
+               // Ensure the dropzone is a jQuery collection.
+               if ( uploader.dropzone && ! (uploader.dropzone instanceof $) ) {
+                       uploader.dropzone = $( uploader.dropzone );
+               }
 
-               className: 'image-editor',
-               template: media.template('image-editor'),
+               this.controller.on( 'activate', this.refresh, this );
 
-               initialize: function( options ) {
-                       this.editor = window.imageEdit;
-                       this.controller = options.controller;
-                       media.View.prototype.initialize.apply( this, arguments );
-               },
+               this.controller.on( 'detach', function() {
+                       this.$browser.remove();
+               }, this );
+       },
 
-               prepare: function() {
-                       return this.model.toJSON();
-               },
+       refresh: function() {
+               if ( this.uploader ) {
+                       this.uploader.refresh();
+               }
+       },
 
-               render: function() {
-                       media.View.prototype.render.apply( this, arguments );
-                       return this;
-               },
+       ready: function() {
+               var postId = wp.media.view.settings.post.id,
+                       dropzone;
 
-               loadEditor: function() {
-                       var dfd = this.editor.open( this.model.get('id'), this.model.get('nonces').edit, this );
-                       dfd.done( _.bind( this.focus, this ) );
-               },
+               // If the uploader already exists, bail.
+               if ( this.uploader ) {
+                       return;
+               }
 
-               focus: function() {
-                       this.$( '.imgedit-submit .button' ).eq( 0 ).focus();
-               },
+               if ( postId ) {
+                       this.options.uploader.params.post_id = postId;
+               }
+               this.uploader = new wp.Uploader( this.options.uploader );
 
-               back: function() {
-                       var lastState = this.controller.lastState();
-                       this.controller.setState( lastState );
-               },
+               dropzone = this.uploader.dropzone;
+               dropzone.on( 'dropzone:enter', _.bind( this.show, this ) );
+               dropzone.on( 'dropzone:leave', _.bind( this.hide, this ) );
 
-               refresh: function() {
-                       this.model.fetch();
-               },
+               $( this.uploader ).on( 'uploader:ready', _.bind( this._ready, this ) );
+       },
 
-               save: function() {
-                       var self = this,
-                               lastState = this.controller.lastState();
+       _ready: function() {
+               this.controller.trigger( 'uploader:ready' );
+       },
 
-                       this.model.fetch().done( function() {
-                               self.controller.setState( lastState );
-                       });
-               }
+       show: function() {
+               var $el = this.$el.show();
 
-       });
+               // Ensure that the animation is triggered by waiting until
+               // the transparent element is painted into the DOM.
+               _.defer( function() {
+                       $el.css({ opacity: 1 });
+               });
+       },
 
-       /**
-        * wp.media.view.Spinner
-        *
-        * @class
-        * @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 );
+       hide: function() {
+               var $el = this.$el.css({ opacity: 0 });
+
+               wp.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') ) {
+                               $el.hide();
                        }
+               });
 
-                       return this;
-               },
+               // https://core.trac.wordpress.org/ticket/27341
+               _.delay( function() {
+                       if ( '0' === $el.css('opacity') && $el.is(':visible') ) {
+                               $el.hide();
+                       }
+               }, 500 );
+       }
+});
+
+module.exports = UploaderWindow;
+
+},{}],71:[function(require,module,exports){
+/*globals wp */
+
+/**
+ * wp.media.View
+ *
+ * The base view class for media.
+ *
+ * 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.
+ *
+ * @class
+ * @augments wp.Backbone.View
+ * @augments Backbone.View
+ */
+var View = wp.Backbone.View.extend({
+       constructor: function( options ) {
+               if ( options && options.controller ) {
+                       this.controller = options.controller;
+               }
+               wp.Backbone.View.apply( this, arguments );
+       },
+       /**
+        * @todo The internal comment mentions this might have been a stop-gap
+        *       before Backbone 0.9.8 came out. Figure out if Backbone core takes
+        *       care of this in Backbone.View now.
+        *
+        * @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 ) {
+                       this.model.off( null, null, this );
+               }
 
-               hide: function() {
-                       this.$el.hide();
-                       this.spinnerTimeout = clearTimeout( this.spinnerTimeout );
+               if ( this.collection && this.collection.off ) {
+                       this.collection.off( null, null, this );
+               }
 
-                       return this;
+               // Unbind controller events.
+               if ( this.controller && this.controller.off ) {
+                       this.controller.off( null, null, this );
                }
-       });
-}(jQuery, _));
+
+               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 );
+       }
+});
+
+module.exports = View;
+
+},{}]},{},[17]);
index fd39fba87fcb04fb711e86d04d27a34567944c6d..c038572fb099b6f886641eddeb3cbfbab05fe027 100644 (file)
@@ -1,3 +1,4 @@
-!function(a,b){var c,d=wp.media,e="ontouchend"in document;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");this.frame.$el.toggleClass("hide-menu",!c),c&&(b.mode(c),a=b.get(),a&&a.select&&a.select(this.id))},_updateMenu:function(){var a=this.previous("menu"),b=this.get("menu");a&&this.frame.off("menu:render:"+a,this._renderMenu,this),b&&this.frame.on("menu:render:"+b,this._renderMenu,this)},_renderMenu:function(a){var b=this.get("menuItem"),c=this.get("title"),d=this.get("priority");!b&&c&&(b={text:c},d&&(b.priority=d)),b&&a.set(this.id,b)}}),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",title:c.mediaLibraryTitle,multiple:!1,content:"upload",menu:"default",router:"browse",toolbar:"select",searchable:!0,filterable:!1,sortable:!0,autoSelect:!0,describe:!1,contentUserSetting:!0,syncSelection:!0},initialize:function(){var a,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.resetDisplays()},activate:function(){this.syncSelection(),wp.Uploader.queue.on("add",this.uploading,this),this.get("selection").on("add remove reset",this.refreshContent,this),this.get("router")&&this.get("contentUserSetting")&&(this.frame.on("content:activate",this.saveContentMode,this),this.set("content",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("autoSelect")&&(this.get("selection").add(a),this.frame.trigger("library:selection:add"))},saveContentMode:function(){if("browse"===this.get("router")){var a=this.frame.content.mode(),b=this.frame.router.get();b&&b.get(a)&&setUserSetting("libraryContent",a)}}}),b.extend(d.controller.Library.prototype,d.selectionSync),d.controller.ImageDetails=d.controller.State.extend({defaults:b.defaults({id:"image-details",title:c.imageDetailsTitle,content:"image-details",menu:!1,router:!1,toolbar:"image-details",editing:!1,priority:60},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",title:c.editGalleryTitle,multiple:!1,searchable:!1,sortable:!0,display:!1,content:"browse",toolbar:"gallery-edit",describe:!0,displaySettings:!0,dragInfo:!0,idealColumnWidth:170,editing:!1,priority:60,syncSelection:!1},initialize:function(){this.get("library")||this.set("library",new 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){if(this.get("displaySettings")){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",title:c.addToGalleryTitle,multiple:"add",filterable:"uploaded",menu:"gallery",toolbar:"gallery-add",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,sortable:!0,searchable:!1,content:"browse",describe:!0,dragInfo:!0,idealColumnWidth:170,editing:!1,priority:60,SettingsView:!1,syncSelection:!1},initialize:function(){var a=this.get("collectionType");"video"===this.get("type")&&(a="video-"+a),this.set("id",a+"-edit"),this.set("toolbar",a+"-edit"),this.get("library")||this.set("library",new 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({multiple:"add",filterable:"uploaded",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",title:c.setFeaturedImageTitle,multiple:!1,filterable:"uploaded",toolbar:"featured-image",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",title:c.replaceImageTitle,multiple:!1,filterable:"uploaded",toolbar:"replace",menu:!1,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",title:c.editImage,menu:!1,toolbar:"edit-image",content:"edit-image",url:""},activate:function(){this.listenTo(this.frame,"toolbar:render:edit-image",this.toolbar)},deactivate:function(){this.stopListening(this.frame)},toolbar:function(){var a=this.frame,b=a.lastState(),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",displaySettings:!1,priority:80,syncSelection:!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",title:c.insertFromUrlTitle,content:"embed",menu:"default",toolbar:"main-embed",priority:120,type:"link",url:"",metadata:{}},sensitivity:200,initialize:function(a){this.metadata=a.metadata,this.debouncedScan=b.debounce(b.bind(this.scan,this),this.sensitivity),this.props=new Backbone.Model(this.metadata||{url:""}),this.props.on("change:url",this.debouncedScan,this),this.props.on("change:url",this.refresh,this),this.on("scan",this.scanImage,this)},scan:function(){var 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(){b.defaults(this.options,{mode:["select"]}),this._createRegions(),this._createStates(),this._createModes()},_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)},_createModes:function(){this.activeModes=new Backbone.Collection,this.activeModes.on("add remove reset",b.bind(this.triggerModeEvents,this)),b.each(this.options.mode,function(a){this.activateMode(a)},this)},reset:function(){return this.states.invoke("trigger","reset"),this},triggerModeEvents:function(a,c,d){var e,f,g={add:"activate",remove:"deactivate"};b.each(d,function(a,b){a&&(e=b)}),b.has(g,e)&&(f=a.get("id")+":"+g[e],this.trigger(f))},activateMode:function(a){return this.isModeActive(a)?void 0:(this.activeModes.add([{id:a}]),this.$el.addClass("mode-"+a),this)},deactivateMode:function(a){return this.isModeActive(a)?(this.activeModes.remove(this.activeModes.where({id:a})),this.$el.removeClass("mode-"+a),this.trigger(a+":deactivate"),this):this},isModeActive:function(a){return Boolean(this.activeModes.where({id:a}).length)}}),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"],events:{"click div.media-frame-title h1":"toggleMenu"},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("title:render",function(a){a.$el.append('<span class="dashicons dashicons-arrow-down"></span>')}),this.on("menu:create:default",this.createMenu,this)},render:function(){return!this.state()&&this.options.state&&this.setState(this.options.state),d.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})},toggleMenu:function(){this.$el.find(".media-menu").toggleClass("visible")},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("content:deactivate:iframe",this.iframeContentCleanup,this),this.on("menu:render:default",this.iframeMenu,this),this.on("open",this.hijackThickbox,this),this.on("close",this.restoreThickbox,this))},iframeContent:function(a){this.$el.addClass("hide-toolbar"),a.view=new d.view.Iframe({controller:this})},iframeContentCleanup:function(){this.$el.removeClass("hide-toolbar")},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"),date:b.get("date"),display:b.get(b.has("display")?"display":"displaySettings"),dragInfo:b.get("dragInfo"),idealColumnWidth:b.get("idealColumnWidth"),suggestedWidth:b.get("suggestedWidth"),suggestedHeight:b.get("suggestedHeight"),AttachmentView:b.get("AttachmentView")})},uploadContent:function(){this.$el.removeClass("hide-toolbar"),this.content.set(new 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",metadata:{}}),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({metadata:a.metadata}),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.videoPlaylistDragInfo,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(),this.controller.modal.focusManager.focus()}},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),e||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),this.trigger("edit:selection",this)},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"),this.controller.modal.focusManager.focus()}})},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"),this.controller.modal.focusManager.focus()}})},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"),this.controller.modal.focusManager.focus()}})},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("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}),new d.controller.ReplaceImage({id:"replace-image",library:d.query({type:"image"}),image:this.image,multiple:!1,title:c.imageReplaceTitle,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())},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}),this.focusManager=new d.view.FocusManager({el:this.el})},prepare:function(){return{title:this.options.title}},attach:function(){return this.views.attached?this:(this.views.rendered||this.render(),this.$el.appendTo(this.options.container),this.views.attached=!0,this.views.ready(),this.propagate("attach"))},detach:function(){return this.$el.is(":visible")&&this.close(),this.$el.detach(),this.views.attached=!1,this.propagate("detach")},open:function(){var b,c=this.$el,d=this.options;return c.is(":visible")?this:(this.views.attached||this.attach(),d.freeze&&(this._freeze={scrollTop:a(window).scrollTop()}),a("body").addClass("modal-open"),c.show(),"ontouchend"in document&&(b=window.tinymce&&window.tinymce.activeEditor)&&!b.isHidden()&&b.iframeElement&&(b.iframeElement.focus(),b.iframeElement.blur(),setTimeout(function(){b.iframeElement.blur()},100)),this.$el.focus(),this.propagate("open"))},close:function(b){var c=this._freeze;return this.views.attached&&this.$el.is(":visible")?(a("body").removeClass("modal-open"),this.$el.hide().undelegate("keydown"),a("#wpbody-content").focus(),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:"constrainTabbing"},focus:function(){this.$(".media-menu-item").first().focus()},constrainTabbing:function(a){var b;if(9===a.keyCode)return b=this.$(":tabbable"),b.last()[0]!==a.target||a.shiftKey?b.first()[0]===a.target&&a.shiftKey?(b.last().focus(),!1):void 0:(b.first().focus(),!1)}}),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()}),b.delay(function(){"0"===a.css("opacity")&&a.is(":visible")&&a.hide()},500)}}),d.view.EditorUploader=d.View.extend({tagName:"div",className:"uploader-editor",template:d.template("uploader-editor"),localDrag:!1,overContainer:!1,overDropzone:!1,draggingFile:null,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)},isDraggingFile:function(a){return null!==this.draggingFile?this.draggingFile:b.isUndefined(a.originalEvent)||b.isUndefined(a.originalEvent.dataTransfer)?!1:(this.draggingFile=b.indexOf(a.originalEvent.dataTransfer.types,"Files")>-1&&-1===b.indexOf(a.originalEvent.dataTransfer.types,"text/plain"),this.draggingFile)},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.overContainer||this.overDropzone||(this.draggingFile=null),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,d=null;return this.containerDragleave(b),this.dropzoneDragleave(b),this.files=b.originalEvent.dataTransfer.files,this.files.length<1?void 0:(d=a(b.target).parents(".wp-editor-wrap"),d.length>0&&d[0].id&&(window.wpActiveEditor=d[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}),c=this.workflow.uploader,c.uploader&&c.uploader.ready?this.addFiles.apply(this):this.workflow.on("uploader:ready",this.addFiles,this)),!1)},addFiles:function(){return this.files.length&&(this.workflow.uploader.uploader.uploader.addFile(b.toArray(this.files)),this.files=[]),this},containerDragover:function(a){!this.localDrag&&this.isDraggingFile(a)&&(this.overContainer=!0,this.refresh())},containerDragleave:function(){this.overContainer=!1,b.delay(b.bind(this.refresh,this),50)},dropzoneDragover:function(a){return!this.localDrag&&this.isDraggingFile(a)?(this.overDropzone=!0,this.refresh(a),!1):void 0},dropzoneDragleave:function(a){this.overDropzone=!1,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"),events:{"click .close":"hide"},initialize:function(){b.defaults(this.options,{message:"",status:!0,canClose:!1}),!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"),c={};return c.message=this.options.message,c.canClose=this.options.canClose,a&&b&&(c.suggestedWidth=a,c.suggestedHeight=b),c},dispose:function(){return this.disposing?d.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},show:function(){this.$el.removeClass("hidden")},hide:function(){this.$el.addClass("hidden")}}),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 search-form"),this.secondary.$el.addClass("media-toolbar-secondary"),this.views.set([this.secondary,this.primary]),this.options.items&&this.set(this.options.items,{silent:!0}),this.options.silent||this.render(),b&&b.on("add remove reset",this.refresh,this),c&&c.on("add remove reset",this.refresh,this)},dispose:function(){return this.selection&&this.selection.off(null,null,this),this.library&&this.library.off(null,null,this),d.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(b){var c=this.options.click;b&&b.preventDefault(),c?c.call(this):this.click(),e||a(".media-frame-content input").first().focus()},click:function(){var a=this.options.state;a&&(this.controller.setState(a),this.views.parent.$el.removeClass("visible"))},render:function(){var a=this.options;return a.text?this.$el.text(a.text):a.html&&this.$el.html(a.html),this}}),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"),attributes:function(){return{tabIndex:0,role:"checkbox","aria-label":this.model.get("title"),"aria-checked":!1,"data-id":this.model.get("id")}},events:{"click .js--select-attachment":"toggleSelectionHandler","change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .close":"removeFromLibrary","click .check":"checkClickHandler","click a":"preventDefault","keydown .close":"removeFromLibrary",keydown:"toggleSelectionHandler"},buttons:{},initialize:function(){var a=this.options.selection,c=b.defaults(this.options,{rerenderOnModelChange:!0});c.rerenderOnModelChange?this.model.on("change",this.render,this):this.model.on("change:percent",this.progress,this),this.model.on("change:title",this._syncTitle,this),this.model.on("change:caption",this._syncCaption,this),this.model.on("change:artist",this._syncArtist,this),this.model.on("change:album",this._syncAlbum,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"))),this.listenTo(this.controller,"attachment:compat:waiting attachment:compat:ready",this.updateSave)},dispose:function(){var a=this.options.selection;return this.updateAll(),a&&a.off(null,null,this),d.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:""},this.options);return a.buttons=this.buttons,a.describe=this.controller.state().get("describe"),"image"===a.type&&(a.size=this.imageSize()),a.can={},a.nonces&&(a.can.remove=!!a.nonces["delete"],a.can.save=!!a.nonces.update),this.controller.state().get("allowLocalEdits")&&(a.allowLocalEdits=!0),a.uploading&&!a.percent&&(a.percent=0),this.views.detach(),this.$el.html(this.template(a)),this.$el.toggleClass("uploading",a.uploading),a.uploading?this.$bar=this.$(".media-progress-bar div"):delete this.$bar,this.updateSelect(),this.updateSave(),this.views.render(),this},progress:function(){this.$bar&&this.$bar.length&&this.$bar.width(this.model.get("percent")+"%")},toggleSelectionHandler:function(a){var b;if("INPUT"!==a.target.nodeName){if(37===a.keyCode||38===a.keyCode||39===a.keyCode||40===a.keyCode)return void this.controller.trigger("attachment:keydown:arrow",a);if("keydown"!==a.type||13===a.keyCode||32===a.keyCode){if(a.preventDefault(),this.controller.isModeActive("grid")){if(this.controller.isModeActive("edit"))return void this.controller.trigger("edit:attachment",this.model,a.currentTarget);this.controller.isModeActive("select")&&(b="toggle")}a.shiftKey?b="between":(a.ctrlKey||a.metaKey)&&(b="toggle"),this.toggleSelection({method:b}),this.controller.trigger("selection:toggle")}}},toggleSelection:function(a){var 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);if("add"===j)return h.add(i),void h.single(i);j||(j="add"),"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,d=this.controller;!c||b&&b!==c||this.$el.hasClass("selected")||(this.$el.addClass("selected").attr("aria-checked",!0),d.isModeActive("grid")&&d.isModeActive("select")||this.$(".check").attr("tabindex","0"))},deselect:function(a,b){var c=this.options.selection;!c||b&&b!==c||this.$el.removeClass("selected").attr("aria-checked",!1).find(".check").attr("tabindex","-1")},details:function(a,b){var c,d=this.options.selection;d===b&&(c=d.single(),this.$el.toggleClass("details",c===this.model))},preventDefault:function(a){a.preventDefault()},imageSize:function(a){var 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){("keydown"!==a.type||13===a.keyCode||32===a.keyCode)&&(a.stopPropagation(),this.collection.remove(this.model))},checkClickHandler:function(a){var b=this.options.selection;b&&(a.stopPropagation(),b.where({id:this.model.get("id")}).length?(b.remove(this.model),this.$el.focus()):b.add(this.model))}}),b.each({caption:"_syncCaption",title:"_syncTitle",artist:"_syncArtist",album:"_syncAlbum"},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",attributes:{tabIndex:-1},initialize:function(){this.el.id=b.uniqueId("__attachments-view-"),b.defaults(this.options,{refreshSensitivity:e?300:200,refreshThreshold:3,AttachmentView:d.view.Attachment,sortable:!1,resize:!0,idealColumnWidth:a(window).width()<640?135:150}),this._viewsByCid={},this.$window=a(window),this.resizeEvent="resize.media-modal-columns",this.collection.on("add",function(a){this.views.add(this.createAttachmentView(a),{at:this.collection.indexOf(a)})},this),this.collection.on("remove",function(a){var b=this._viewsByCid[a.cid];delete this._viewsByCid[a.cid],b&&b.remove()},this),this.collection.on("reset",this.render,this),this.listenTo(this.controller,"library:selection:add",this.attachmentFocus),this.scroll=b.chain(this.scroll).bind(this).throttle(this.options.refreshSensitivity).value(),this.options.scrollElement=this.options.scrollElement||this.el,a(this.options.scrollElement).on("scroll",this.scroll),this.initSortable(),b.bindAll(this,"setColumns"),this.options.resize&&(this.on("ready",this.bindEvents),this.controller.on("open",this.setColumns),b.defer(this.setColumns,this))},bindEvents:function(){this.$window.off(this.resizeEvent).on(this.resizeEvent,b.debounce(this.setColumns,50))},attachmentFocus:function(){this.$("li:first").focus()},restoreFocus:function(){this.$("li.selected:first").focus()},arrowEvent:function(a){var b=this.$el.children("li"),c=this.columns,d=b.filter(":focus").index(),e=c>=d+1?1:Math.ceil((d+1)/c);if(-1!==d){if(37===a.keyCode){if(0===d)return;b.eq(d-1).focus()}if(38===a.keyCode){if(1===e)return;b.eq(d-c).focus()}if(39===a.keyCode){if(b.length===d)return;b.eq(d+1).focus()}if(40===a.keyCode){if(Math.ceil(b.length/c)===e)return;b.eq(d+c).focus()}}},dispose:function(){this.collection.props.off(null,null,this),this.options.resize&&this.$window.off(this.resizeEvent),d.View.prototype.dispose.apply(this,arguments)},setColumns:function(){var a=this.columns,b=this.$el.width();b&&(this.columns=Math.min(Math.round(b/this.options.idealColumnWidth),12)||1,a&&a===this.columns||this.$el.closest(".media-frame-content").attr("data-columns",this.columns))},initSortable:function(){var c=this.collection;!e&&this.options.sortable&&a.fn.sortable&&(this.$el.sortable(b.extend({disabled:!!c.comparator,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(!e&&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 b,c=this,d=this.options.scrollElement,e=d.scrollTop;d==document&&(d=document.body,e=a(document).scrollTop()),a(d).is(":visible")&&this.collection.hasMore()&&(b=this.views.parent.toolbar,d.scrollHeight-(e+d.clientHeight)<d.clientHeight/3&&b.get("spinner").show(),d.scrollHeight<e+d.clientHeight*this.options.refreshThreshold&&this.collection.more().done(function(){c.scroll(),b.get("spinner").hide()}))}}),d.view.Search=d.View.extend({tagName:"input",className:"search",id:"media-search-input",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",id:"media-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.DateFilter=d.view.AttachmentFilters.extend({id:"media-attachment-date-filters",createFilters:function(){var a={};b.each(d.view.settings.months||{},function(b,c){a[c]={text:b.text,props:{year:b.year,monthnum:b.month}}}),a.all={text:c.allDates,props:{monthnum:!1,year:!1},priority:10},this.filters=a}}),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},unattached:{text:c.unattached,props:{uploadedTo:0,orderby:"menuOrder",order:"ASC"},priority:50}}}}),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:{status:null,type:c,uploadedTo:null,orderby:"date",order:"DESC"}}}),a.all={text:c.allMediaItems,props:{status:null,type:null,uploadedTo:null,orderby:"date",order:"DESC"},priority:10},d.view.settings.post.id&&(a.uploaded={text:c.uploadedToThisPost,props:{status:null,type:null,uploadedTo:d.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20}),a.unattached={text:c.unattached,props:{status:null,uploadedTo:0,type:null,orderby:"menuOrder",order:"ASC"},priority:50},d.view.settings.mediaTrash&&this.controller.isModeActive("grid")&&(a.trash={text:c.trash,props:{uploadedTo:null,status:"trash",type:null,orderby:"date",order:"DESC"},priority:50}),this.filters=a}}),d.view.AttachmentsBrowser=d.View.extend({tagName:"div",className:"attachments-browser",initialize:function(){b.defaults(this.options,{filters:!1,search:!0,date:!0,display:!1,sidebar:!0,AttachmentView:d.view.Attachment.Library}),this.listenTo(this.controller,"toggle:upload:attachment",b.bind(this.toggleUploader,this)),this.controller.on("edit:selection",this.editSelection),this.createToolbar(),this.options.sidebar&&this.createSidebar(),this.createUploader(),this.createAttachments(),this.updateContent(),this.options.sidebar&&"errors"!==this.options.sidebar||(this.$el.addClass("hide-sidebar"),"errors"===this.options.sidebar&&this.$el.addClass("sidebar-for-errors")),this.collection.on("add remove reset",this.updateContent,this)},editSelection:function(a){a.$(".media-button-backToLibrary").focus()},dispose:function(){return this.options.selection.off(null,null,this),d.View.prototype.dispose.apply(this,arguments),this},createToolbar:function(){var b,e,f;f={controller:this.controller},this.controller.isModeActive("grid")&&(f.className="media-toolbar wp-filter"),this.toolbar=new d.view.Toolbar(f),this.views.add(this.toolbar),this.toolbar.set("spinner",new d.view.Spinner({priority:-60})),-1!==a.inArray(this.options.filters,["uploaded","all"])&&(this.toolbar.set("filtersLabel",new d.view.Label({value:c.filterByType,attributes:{"for":"media-attachment-filters"},priority:-80}).render()),"uploaded"===this.options.filters?this.toolbar.set("filters",new d.view.AttachmentFilters.Uploaded({controller:this.controller,model:this.collection.props,priority:-80}).render()):(e=new d.view.AttachmentFilters.All({controller:this.controller,model:this.collection.props,priority:-80}),this.toolbar.set("filters",e.render()))),this.controller.isModeActive("grid")?(b=d.View.extend({className:"view-switch media-grid-view-switch",template:d.template("media-library-view-switcher")}),this.toolbar.set("libraryViewSwitcher",new b({controller:this.controller,priority:-90}).render()),this.toolbar.set("dateFilterLabel",new d.view.Label({value:c.filterByDate,attributes:{"for":"media-attachment-date-filters"},priority:-75}).render()),this.toolbar.set("dateFilter",new d.view.DateFilter({controller:this.controller,model:this.collection.props,priority:-75}).render()),this.toolbar.set("selectModeToggleButton",new d.view.SelectModeToggleButton({text:c.bulkSelect,controller:this.controller,priority:-70}).render()),this.toolbar.set("deleteSelectedButton",new d.view.DeleteSelectedButton({filters:e,style:"primary",disabled:!0,text:d.view.settings.mediaTrash?c.trashSelected:c.deleteSelected,controller:this.controller,priority:-60,click:function(){var b=[],e=[],f=this,g=this.controller.state().get("selection"),h=this.controller.state().get("library");g.length&&(d.view.settings.mediaTrash||confirm(c.warnBulkDelete))&&(!d.view.settings.mediaTrash||"trash"===g.at(0).get("status")||confirm(c.warnBulkTrash))&&(g.each(function(a){return a.get("nonces")["delete"]?void(d.view.settings.mediaTrash&&"trash"===a.get("status")?(a.set("status","inherit"),b.push(a.save()),e.push(a)):d.view.settings.mediaTrash?(a.set("status","trash"),b.push(a.save()),e.push(a)):a.destroy({wait:!0})):void e.push(a)}),b.length?(g.remove(e),a.when.apply(null,b).then(function(){h._requery(!0),f.controller.trigger("selection:action:done")})):this.controller.trigger("selection:action:done"))}}).render()),d.view.settings.mediaTrash&&this.toolbar.set("deleteSelectedPermanentlyButton",new d.view.DeleteSelectedPermanentlyButton({filters:e,style:"primary",disabled:!0,text:c.deleteSelected,controller:this.controller,priority:-55,click:function(){var a=[],b=this.controller.state().get("selection");b.length&&confirm(c.warnBulkDelete)&&(b.each(function(b){return b.get("nonces")["delete"]?void b.destroy():void a.push(b)}),b.remove(a),this.controller.trigger("selection:action:done"))}}).render())):this.options.date&&(this.toolbar.set("dateFilterLabel",new d.view.Label({value:c.filterByDate,attributes:{"for":"media-attachment-date-filters"},priority:-75}).render()),this.toolbar.set("dateFilter",new d.view.DateFilter({controller:this.controller,model:this.collection.props,priority:-75}).render())),this.options.search&&(this.toolbar.set("searchLabel",new d.view.Label({value:c.searchMediaLabel,attributes:{"for":"media-search-input"},priority:60}).render()),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,b=this;a=this.controller.isModeActive("grid")?b.attachmentsNoResults:b.uploader,this.collection.length?(a.$el.addClass("hidden"),b.toolbar.get("spinner").hide()):(this.toolbar.get("spinner").show(),this.dfd=this.collection.more().done(function(){b.collection.length?a.$el.addClass("hidden"):a.$el.removeClass("hidden"),b.toolbar.get("spinner").hide()}))},createUploader:function(){this.uploader=new d.view.UploaderInline({controller:this.controller,status:!1,message:this.controller.isModeActive("grid")?"":c.noItemsFound,canClose:this.controller.isModeActive("grid")}),this.uploader.hide(),this.views.add(this.uploader)},toggleUploader:function(){this.uploader.$el.hasClass("hidden")?this.uploader.show():this.uploader.hide()},createAttachments:function(){this.attachments=new d.view.Attachments({controller:this.controller,collection:this.collection,selection:this.options.selection,model:this.model,sortable:this.options.sortable,scrollElement:this.options.scrollElement,idealColumnWidth:this.options.idealColumnWidth,AttachmentView:this.options.AttachmentView}),this.attachments.listenTo(this.controller,"attachment:keydown:arrow",this.attachments.arrowEvent),this.attachments.listenTo(this.controller,"attachment:details:shift-tab",this.attachments.restoreFocus),this.views.add(this.attachments),this.controller.isModeActive("grid")&&(this.attachmentsNoResults=new d.View({controller:this.controller,tagName:"p"}),this.attachmentsNoResults.$el.addClass("hidden no-media"),this.attachmentsNoResults.$el.html(c.noMedia),this.views.add(this.attachmentsNoResults))},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")})),"insert"===this.model.id&&a.$el.addClass("visible")},disposeSingle:function(){var a=this.sidebar;a.unset("details"),a.unset("compat"),a.unset("display"),a.$el.removeClass("visible")}}),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}),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(),this.controller.modal.focusManager.focus()}}),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:!1,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&&"false"!==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(!e&&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"),attributes:function(){return{tabIndex:0,"data-id":this.model.get("id")}},events:{"change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .delete-attachment":"deleteAttachment","click .trash-attachment":"trashAttachment","click .untrash-attachment":"untrashAttachment","click .edit-attachment":"editAttachment","click .refresh-attachment":"refreshAttachment",keydown:"toggleSelectionHandler"},initialize:function(){this.options=b.defaults(this.options,{rerenderOnModelChange:!1}),this.on("ready",this.initialFocus),d.view.Attachment.prototype.initialize.apply(this,arguments)},initialFocus:function(){e||this.$(":input").eq(0).focus()},deleteAttachment:function(a){a.preventDefault(),confirm(c.warnDelete)&&(this.model.destroy(),this.controller.modal.focusManager.focus())},trashAttachment:function(a){var b=this.controller.library;a.preventDefault(),d.view.settings.mediaTrash&&"edit-metadata"===this.controller.content.mode()?(this.model.set("status","trash"),this.model.save().done(function(){b._requery(!0)})):this.model.destroy()},untrashAttachment:function(a){var b=this.controller.library;a.preventDefault(),this.model.set("status","inherit"),this.model.save().done(function(){b._requery(!0)})},editAttachment:function(a){var b=this.controller.states.get("edit-image");window.imageEdit&&b?(a.preventDefault(),b.set("image",this.model),this.controller.setState("edit-image")):this.$el.addClass("needs-refresh")},refreshAttachment:function(a){this.$el.removeClass("needs-refresh"),a.preventDefault(),this.model.fetch()},toggleSelectionHandler:function(a){return"keydown"===a.type&&9===a.keyCode&&a.shiftKey&&a.target===this.$(":tabbable").get(0)?(this.controller.trigger("attachment:details:shift-tab",a),!1):37===a.keyCode||38===a.keyCode||39===a.keyCode||40===a.keyCode?void this.controller.trigger("attachment:keydown:arrow",a):void 0}}),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.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},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.controller.trigger("attachment:compat:waiting",["waiting"]),this.model.saveCompat(c).always(b.bind(this.postSave,this))},postSave:function(){this.controller.trigger("attachment:compat:ready",["ready"])}}),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.Label=d.View.extend({tagName:"label",className:"screen-reader-text",initialize:function(){this.value=this.options.value},render:function(){return this.$el.html(this.value),this}}),d.view.EmbedUrl=d.View.extend({tagName:"label",className:"embed-url",events:{input:"url",keyup:"url",change:"url"},initialize:function(){var c=this;this.$input=a('<input id="embed-url-field" type="url" />').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),this.model.get("url")&&b.delay(function(){c.model.trigger("change:url")},500)},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(){e||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"),initialize:function(){this.spinner=a('<span class="spinner" />'),this.$el.append(this.spinner[0]),this.listenTo(this.model,"change:url",this.updateoEmbed)},updateoEmbed:function(){var a=this.model.get("url");this.$(".setting.title").show(),this.$(".embed-container").hide().find(".embed-preview").html(""),a&&a.length<6||(this.spinner.show(),setTimeout(b.bind(this.fetch,this),500))},fetch:function(){a("#embed-url-field").val()===this.model.get("url")&&wp.ajax.send("parse-embed",{data:{post_ID:d.view.settings.post.id,shortcode:"[embed]"+this.model.get("url")+"[/embed]"}}).done(b.bind(this.renderoEmbed,this))},renderoEmbed:function(a){var b=a&&a.body||"";this.spinner.hide(),this.$(".setting.title").hide(),this.$(".embed-container").show().find(".embed-preview").html(b)}}),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(){var a=this.editor.open(this.model.get("id"),this.model.get("nonces").edit,this);a.done(b.bind(this.focus,this))},focus:function(){this.$(".imgedit-submit .button").eq(0).focus()},back:function(){var a=this.controller.lastState();this.controller.setState(a)},refresh:function(){this.model.fetch()},save:function(){var a=this,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
+!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b){var c,d=wp.media.model.Selection,e=wp.media.controller.Library;c=e.extend({defaults:_.defaults({multiple:"add",filterable:"uploaded",priority:100,syncSelection:!1},e.prototype.defaults),initialize:function(){var a=this.get("collectionType");"video"===this.get("type")&&(a="video-"+a),this.set("id",a+"-library"),this.set("toolbar",a+"-add"),this.set("menu",a),this.get("library")||this.set("library",wp.media.query({type:this.get("type")})),e.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library"),b=this.get("editLibrary"),c=this.frame.state(this.get("collectionType")+"-edit").get("library");b&&b!==c&&a.unobserve(b),a.validator=function(a){return!!this.mirroring.get(a.cid)&&!c.get(a.cid)&&d.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(c),this.set("editLibrary",c),e.prototype.activate.apply(this,arguments)}}),b.exports=c},{}],2:[function(a,b){var c,d=wp.media.controller.Library,e=wp.media.view.l10n,f=jQuery;c=d.extend({defaults:{multiple:!1,sortable:!0,date:!1,searchable:!1,content:"browse",describe:!0,dragInfo:!0,idealColumnWidth:170,editing:!1,priority:60,SettingsView:!1,syncSelection:!1},initialize:function(){var a=this.get("collectionType");"video"===this.get("type")&&(a="video-"+a),this.set("id",a+"-edit"),this.set("toolbar",a+"-edit"),this.get("library")||this.set("library",new wp.media.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",wp.media.view.Attachment.EditLibrary),d.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library");a.props.set("type",this.get("type")),this.get("library").observe(wp.Uploader.queue),this.frame.on("content:render:browse",this.renderSettings,this),d.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.renderSettings,this),d.prototype.deactivate.apply(this,arguments)},renderSettings:function(a){var b=this.get("library"),c=this.get("collectionType"),d=this.get("dragInfoText"),g=this.get("SettingsView"),h={};b&&a&&(b[c]=b[c]||new Backbone.Model,h[c]=new g({controller:this,model:b[c],priority:40}),a.sidebar.set(h),d&&a.toolbar.set("dragInfo",new wp.media.View({el:f('<div class="instructions">'+d+"</div>")[0],priority:-40})),a.toolbar.set("reverse",{text:e.reverseOrder,priority:80,click:function(){b.reset(b.toArray().reverse())}}))}}),b.exports=c},{}],3:[function(a,b){var c,d=wp.media.view.l10n;c=wp.media.controller.State.extend({defaults:{id:"cropper",title:d.cropImage,toolbar:"crop",content:"crop",router:!1,canSkipCrop:!1},activate:function(){this.frame.on("content:create:crop",this.createCropContent,this),this.frame.on("close",this.removeCropper,this),this.set("selection",new Backbone.Collection(this.frame._selection.single))},deactivate:function(){this.frame.toolbar.mode("browse")},createCropContent:function(){this.cropperView=new wp.media.view.Cropper({controller:this,attachment:this.get("selection").first()}),this.cropperView.on("image-loaded",this.createCropToolbar,this),this.frame.content.set(this.cropperView)},removeCropper:function(){this.imgSelect.cancelSelection(),this.imgSelect.setOptions({remove:!0}),this.imgSelect.update(),this.cropperView.remove()},createCropToolbar:function(){var a,b;a=this.get("canSkipCrop")||!1,b={controller:this.frame,items:{insert:{style:"primary",text:d.cropImage,priority:80,requires:{library:!1,selection:!1},click:function(){var a,b=this.controller;a=b.state().get("selection").first(),a.set({cropDetails:b.state().imgSelect.getSelection()}),this.$el.text(d.cropping),this.$el.attr("disabled",!0),b.state().doCrop(a).done(function(a){b.trigger("cropped",a),b.close()}).fail(function(){b.trigger("content:error:crop")})}}}},a&&_.extend(b.items,{skip:{style:"secondary",text:d.skipCropping,priority:70,requires:{library:!1,selection:!1},click:function(){var a=this.controller.state().get("selection").first();this.controller.state().cropperView.remove(),this.controller.trigger("skippedcrop",a),this.controller.close()}}}),this.frame.toolbar.set(new wp.media.view.Toolbar(b))},doCrop:function(a){return wp.ajax.post("custom-header-crop",{nonce:a.get("nonces").edit,id:a.get("id"),cropDetails:a.get("cropDetails")})}}),b.exports=c},{}],4:[function(a,b){var c,d=wp.media.view.l10n;c=wp.media.controller.State.extend({defaults:{id:"edit-image",title:d.editImage,menu:!1,toolbar:"edit-image",content:"edit-image",url:""},activate:function(){this.listenTo(this.frame,"toolbar:render:edit-image",this.toolbar)},deactivate:function(){this.stopListening(this.frame)},toolbar:function(){var a=this.frame,b=a.lastState(),c=b&&b.id;a.toolbar.set(new wp.media.view.Toolbar({controller:a,items:{back:{style:"primary",text:d.back,priority:20,click:function(){c?a.setState(c):a.close()}}}}))}}),b.exports=c},{}],5:[function(a,b){var c,d=wp.media.view.l10n,e=Backbone.$;c=wp.media.controller.State.extend({defaults:{id:"embed",title:d.insertFromUrlTitle,content:"embed",menu:"default",toolbar:"main-embed",priority:120,type:"link",url:"",metadata:{}},sensitivity:200,initialize:function(a){this.metadata=a.metadata,this.debouncedScan=_.debounce(_.bind(this.scan,this),this.sensitivity),this.props=new Backbone.Model(this.metadata||{url:""}),this.props.on("change:url",this.debouncedScan,this),this.props.on("change:url",this.refresh,this),this.on("scan",this.scanImage,this)},scan:function(){var a,b=this,c={type:"link",scanners:[]};this.props.get("url")&&this.trigger("scan",c),c.scanners.length?(a=c.scanners=e.when.apply(e,c.scanners),a.always(function(){b.get("scanners")===a&&b.set("loading",!1)})):c.scanners=null,c.loading=!!c.scanners,this.set(c)},scanImage:function(a){var b=this.frame,c=this,d=this.props.get("url"),f=new Image,g=e.Deferred();a.scanners.push(g.promise()),f.onload=function(){g.resolve(),c===b.state()&&d===c.props.get("url")&&(c.set({type:"image"}),c.props.set({width:f.width,height:f.height}))},f.onerror=g.reject,f.src=d},refresh:function(){this.frame.toolbar.get().refresh()},reset:function(){this.props.clear().set({url:""}),this.active&&this.refresh()}}),b.exports=c},{}],6:[function(a,b){var c,d=wp.media.model.Attachment,e=wp.media.controller.Library,f=wp.media.view.l10n;c=e.extend({defaults:_.defaults({id:"featured-image",title:f.setFeaturedImageTitle,multiple:!1,filterable:"uploaded",toolbar:"featured-image",priority:60,syncSelection:!0},e.prototype.defaults),initialize:function(){var a,b;this.get("library")||this.set("library",wp.media.query({type:"image"})),e.prototype.initialize.apply(this,arguments),a=this.get("library"),b=a.comparator,a.comparator=function(a,c){var d=!!this.mirroring.get(a.cid),e=!!this.mirroring.get(c.cid);return!d&&e?-1:d&&!e?1:b.apply(this,arguments)},a.observe(this.get("selection"))},activate:function(){this.updateSelection(),this.frame.on("open",this.updateSelection,this),e.prototype.activate.apply(this,arguments)},deactivate:function(){this.frame.off("open",this.updateSelection,this),e.prototype.deactivate.apply(this,arguments)},updateSelection:function(){var a,b=this.get("selection"),c=wp.media.view.settings.post.featuredImageId;""!==c&&-1!==c&&(a=d.get(c),a.fetch()),b.reset(a?[a]:[])}}),b.exports=c},{}],7:[function(a,b){var c,d=wp.media.model.Selection,e=wp.media.controller.Library,f=wp.media.view.l10n;c=e.extend({defaults:_.defaults({id:"gallery-library",title:f.addToGalleryTitle,multiple:"add",filterable:"uploaded",menu:"gallery",toolbar:"gallery-add",priority:100,syncSelection:!1},e.prototype.defaults),initialize:function(){this.get("library")||this.set("library",wp.media.query({type:"image"})),e.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library"),b=this.frame.state("gallery-edit").get("library");this.editLibrary&&this.editLibrary!==b&&a.unobserve(this.editLibrary),a.validator=function(a){return!!this.mirroring.get(a.cid)&&!b.get(a.cid)&&d.prototype.validator.apply(this,arguments)},a.reset(a.mirroring.models,{silent:!0}),a.observe(b),this.editLibrary=b,e.prototype.activate.apply(this,arguments)}}),b.exports=c},{}],8:[function(a,b){var c,d=wp.media.controller.Library,e=wp.media.view.l10n;c=d.extend({defaults:{id:"gallery-edit",title:e.editGalleryTitle,multiple:!1,searchable:!1,sortable:!0,date:!1,display:!1,content:"browse",toolbar:"gallery-edit",describe:!0,displaySettings:!0,dragInfo:!0,idealColumnWidth:170,editing:!1,priority:60,syncSelection:!1},initialize:function(){this.get("library")||this.set("library",new wp.media.model.Selection),this.get("AttachmentView")||this.set("AttachmentView",wp.media.view.Attachment.EditLibrary),d.prototype.initialize.apply(this,arguments)},activate:function(){var a=this.get("library");a.props.set("type","image"),this.get("library").observe(wp.Uploader.queue),this.frame.on("content:render:browse",this.gallerySettings,this),d.prototype.activate.apply(this,arguments)},deactivate:function(){this.get("library").unobserve(wp.Uploader.queue),this.frame.off("content:render:browse",this.gallerySettings,this),d.prototype.deactivate.apply(this,arguments)},gallerySettings:function(a){if(this.get("displaySettings")){var b=this.get("library");b&&a&&(b.gallery=b.gallery||new Backbone.Model,a.sidebar.set({gallery:new wp.media.view.Settings.Gallery({controller:this,model:b.gallery,priority:40})}),a.toolbar.set("reverse",{text:e.reverseOrder,priority:80,click:function(){b.reset(b.toArray().reverse())}}))}}}),b.exports=c},{}],9:[function(a,b){var c,d=wp.media.controller.State,e=wp.media.controller.Library,f=wp.media.view.l10n;c=d.extend({defaults:_.defaults({id:"image-details",title:f.imageDetailsTitle,content:"image-details",menu:!1,router:!1,toolbar:"image-details",editing:!1,priority:60},e.prototype.defaults),initialize:function(a){this.image=a.image,d.prototype.initialize.apply(this,arguments)},activate:function(){this.frame.modal.$el.addClass("image-details")}}),b.exports=c},{}],10:[function(a,b){var c,d=wp.media.view.l10n,e=window.getUserSetting,f=window.setUserSetting;c=wp.media.controller.State.extend({defaults:{id:"library",title:d.mediaLibraryTitle,multiple:!1,content:"upload",menu:"default",router:"browse",toolbar:"select",searchable:!0,filterable:!1,sortable:!0,autoSelect:!0,describe:!1,contentUserSetting:!0,syncSelection:!0},initialize:function(){var a,b=this.get("selection");this.get("library")||this.set("library",wp.media.query()),b instanceof wp.media.model.Selection||(a=b,a||(a=this.get("library").props.toJSON(),a=_.omit(a,"orderby","query")),this.set("selection",new wp.media.model.Selection(null,{multiple:this.get("multiple"),props:a}))),this.resetDisplays()},activate:function(){this.syncSelection(),wp.Uploader.queue.on("add",this.uploading,this),this.get("selection").on("add remove reset",this.refreshContent,this),this.get("router")&&this.get("contentUserSetting")&&(this.frame.on("content:activate",this.saveContentMode,this),this.set("content",e("libraryContent",this.get("content"))))},deactivate:function(){this.recordSelection(),this.frame.off("content:activate",this.saveContentMode,this),this.get("selection").off(null,null,this),wp.Uploader.queue.off(null,null,this)},reset:function(){this.get("selection").reset(),this.resetDisplays(),this.refreshContent()},resetDisplays:function(){var a=wp.media.view.settings.defaultProps;this._displays=[],this._defaultDisplaySettings={align:a.align||e("align","none"),size:a.size||e("imgsize","medium"),link:a.link||e("urlbutton","file")}},display:function(a){var b=this._displays;return b[a.cid]||(b[a.cid]=new Backbone.Model(this.defaultDisplaySettings(a))),b[a.cid]},defaultDisplaySettings:function(a){var b=this._defaultDisplaySettings;return(b.canEmbed=this.canEmbed(a))&&(b.link="embed"),b},canEmbed:function(a){if(!a.get("uploading")){var b=a.get("type");if("audio"!==b&&"video"!==b)return!1}return _.contains(wp.media.view.settings.embedExts,a.get("filename").split(".").pop())},refreshContent:function(){var a=this.get("selection"),b=this.frame,c=b.router.get(),d=b.content.mode();this.active&&!a.length&&c&&!c.get(d)&&this.frame.content.render(this.get("content"))},uploading:function(a){var b=this.frame.content;"upload"===b.mode()&&this.frame.content.mode("browse"),this.get("autoSelect")&&(this.get("selection").add(a),this.frame.trigger("library:selection:add"))},saveContentMode:function(){if("browse"===this.get("router")){var a=this.frame.content.mode(),b=this.frame.router.get();b&&b.get(a)&&f("libraryContent",a)}}}),_.extend(c.prototype,wp.media.selectionSync),b.exports=c},{}],11:[function(a,b){var c,d=wp.media.controller.Library;c=d.extend({defaults:_.defaults({filterable:"uploaded",displaySettings:!1,priority:80,syncSelection:!1},d.prototype.defaults),initialize:function(a){this.media=a.media,this.type=a.type,this.set("library",wp.media.query({type:this.type})),d.prototype.initialize.apply(this,arguments)},activate:function(){wp.media.frame.lastMime&&(this.set("library",wp.media.query({type:wp.media.frame.lastMime})),delete wp.media.frame.lastMime),d.prototype.activate.apply(this,arguments)}}),b.exports=c},{}],12:[function(a,b){var c=function(a){_.extend(this,_.pick(a||{},"id","view","selector"))};c.extend=Backbone.Model.extend,_.extend(c.prototype,{mode:function(a){return a?a===this._mode?this:(this.trigger("deactivate"),this._mode=a,this.render(a),this.trigger("activate"),this):this._mode},render:function(a){if(a&&a!==this._mode)return this.mode(a);var b,c={view:null};return this.trigger("create",c),b=c.view,this.trigger("render",b),b&&this.set(b),this},get:function(){return this.view.views.first(this.selector)},set:function(a,b){return b&&(b.add=!1),this.view.views.set(this.selector,a,b)},trigger:function(a){var b,c;if(this._mode)return c=_.toArray(arguments),b=this.id+":"+a,c[0]=b+":"+this._mode,this.view.trigger.apply(this.view,c),c[0]=b,this.view.trigger.apply(this.view,c),this}}),b.exports=c},{}],13:[function(a,b){var c,d=wp.media.controller.Library,e=wp.media.view.l10n;c=d.extend({defaults:_.defaults({id:"replace-image",title:e.replaceImageTitle,multiple:!1,filterable:"uploaded",toolbar:"replace",menu:!1,priority:60,syncSelection:!0},d.prototype.defaults),initialize:function(a){var b,c;this.image=a.image,this.get("library")||this.set("library",wp.media.query({type:"image"})),d.prototype.initialize.apply(this,arguments),b=this.get("library"),c=b.comparator,b.comparator=function(a,b){var d=!!this.mirroring.get(a.cid),e=!!this.mirroring.get(b.cid);return!d&&e?-1:d&&!e?1:c.apply(this,arguments)},b.observe(this.get("selection"))},activate:function(){this.updateSelection(),d.prototype.activate.apply(this,arguments)},updateSelection:function(){var a=this.get("selection"),b=this.image.attachment;a.reset(b?[b]:[])}}),b.exports=c},{}],14:[function(a,b){var c=function(a){this.states=new Backbone.Collection(a)};c.extend=Backbone.Model.extend,_.extend(c.prototype,Backbone.Events,{state:function(a){return this.states=this.states||new Backbone.Collection,a=a||this._state,a&&!this.states.get(a)&&this.states.add({id:a}),this.states.get(a)},setState:function(a){var b=this.state();return b&&a===b.id||!this.states||!this.states.get(a)?this:(b&&(b.trigger("deactivate"),this._lastState=b.id),this._state=a,this.state().trigger("activate"),this)},lastState:function(){return this._lastState?this.state(this._lastState):void 0}}),_.each(["on","off","trigger"],function(a){c.prototype[a]=function(){return this.states=this.states||new Backbone.Collection,this.states[a].apply(this.states,arguments),this}}),b.exports=c},{}],15:[function(a,b){var c=Backbone.Model.extend({constructor:function(){this.on("activate",this._preActivate,this),this.on("activate",this.activate,this),this.on("activate",this._postActivate,this),this.on("deactivate",this._deactivate,this),this.on("deactivate",this.deactivate,this),this.on("reset",this.reset,this),this.on("ready",this._ready,this),this.on("ready",this.ready,this),Backbone.Model.apply(this,arguments),this.on("change:menu",this._updateMenu,this)},ready:function(){},activate:function(){},deactivate:function(){},reset:function(){},_ready:function(){this._updateMenu()},_preActivate:function(){this.active=!0},_postActivate:function(){this.on("change:menu",this._menu,this),this.on("change:titleMode",this._title,this),this.on("change:content",this._content,this),this.on("change:toolbar",this._toolbar,this),this.frame.on("title:render:default",this._renderTitle,this),this._title(),this._menu(),this._toolbar(),this._content(),this._router()},_deactivate:function(){this.active=!1,this.frame.off("title:render:default",this._renderTitle,this),this.off("change:menu",this._menu,this),this.off("change:titleMode",this._title,this),this.off("change:content",this._content,this),this.off("change:toolbar",this._toolbar,this)},_title:function(){this.frame.title.render(this.get("titleMode")||"default")},_renderTitle:function(a){a.$el.text(this.get("title")||"")},_router:function(){var a,b=this.frame.router,c=this.get("router");this.frame.$el.toggleClass("hide-router",!c),c&&(this.frame.router.render(c),a=b.get(),a&&a.select&&a.select(this.frame.content.mode()))},_menu:function(){var a,b=this.frame.menu,c=this.get("menu");this.frame.$el.toggleClass("hide-menu",!c),c&&(b.mode(c),a=b.get(),a&&a.select&&a.select(this.id))},_updateMenu:function(){var a=this.previous("menu"),b=this.get("menu");a&&this.frame.off("menu:render:"+a,this._renderMenu,this),b&&this.frame.on("menu:render:"+b,this._renderMenu,this)},_renderMenu:function(a){var b=this.get("menuItem"),c=this.get("title"),d=this.get("priority");!b&&c&&(b={text:c},d&&(b.priority=d)),b&&a.set(this.id,b)}});_.each(["toolbar","content"],function(a){c.prototype["_"+a]=function(){var b=this.get(a);b&&this.frame[a].render(b)}}),b.exports=c},{}],16:[function(a,b){var c={syncSelection:function(){var a=this.get("selection"),b=this.frame._selection;this.get("syncSelection")&&b&&a&&(a.multiple&&(a.reset([],{silent:!0}),a.validateAll(b.attachments),b.difference=_.difference(b.attachments.models,a.models)),a.single(b.single))},recordSelection:function(){var a=this.get("selection"),b=this.frame._selection;this.get("syncSelection")&&b&&a&&(a.multiple?(b.attachments.reset(a.toArray().concat(b.difference)),b.difference=[]):b.attachments.add(a.toArray()),b.single=a._single)}};b.exports=c},{}],17:[function(a){var b,c=wp.media,d=jQuery;c.isTouchDevice="ontouchend"in document,b=c.view.l10n=window._wpMediaViewsL10n||{},c.view.settings=b.settings||{},delete b.settings,c.model.settings.post=c.view.settings.post,d.support.transition=function(){var a,b=document.documentElement.style,c={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};return a=_.find(_.keys(c),function(a){return!_.isUndefined(b[a])}),a&&{end:c[a]}}(),c.events=_.extend({},Backbone.Events),c.transition=function(a,b){var c=d.Deferred();return b=b||2e3,d.support.transition?(a instanceof d||(a=d(a)),a.first().one(d.support.transition.end,c.resolve),_.delay(c.resolve,b)):c.resolve(),c.promise()},c.controller.Region=a("./controllers/region.js"),c.controller.StateMachine=a("./controllers/state-machine.js"),c.controller.State=a("./controllers/state.js"),c.selectionSync=a("./utils/selection-sync.js"),c.controller.Library=a("./controllers/library.js"),c.controller.ImageDetails=a("./controllers/image-details.js"),c.controller.GalleryEdit=a("./controllers/gallery-edit.js"),c.controller.GalleryAdd=a("./controllers/gallery-add.js"),c.controller.CollectionEdit=a("./controllers/collection-edit.js"),c.controller.CollectionAdd=a("./controllers/collection-add.js"),c.controller.FeaturedImage=a("./controllers/featured-image.js"),c.controller.ReplaceImage=a("./controllers/replace-image.js"),c.controller.EditImage=a("./controllers/edit-image.js"),c.controller.MediaLibrary=a("./controllers/media-library.js"),c.controller.Embed=a("./controllers/embed.js"),c.controller.Cropper=a("./controllers/cropper.js"),c.View=a("./views/view.js"),c.view.Frame=a("./views/frame.js"),c.view.MediaFrame=a("./views/media-frame.js"),c.view.MediaFrame.Select=a("./views/frame/select.js"),c.view.MediaFrame.Post=a("./views/frame/post.js"),c.view.MediaFrame.ImageDetails=a("./views/frame/image-details.js"),c.view.Modal=a("./views/modal.js"),c.view.FocusManager=a("./views/focus-manager.js"),c.view.UploaderWindow=a("./views/uploader/window.js"),c.view.EditorUploader=a("./views/uploader/editor.js"),c.view.UploaderInline=a("./views/uploader/inline.js"),c.view.UploaderStatus=a("./views/uploader/status.js"),c.view.UploaderStatusError=a("./views/uploader/status-error.js"),c.view.Toolbar=a("./views/toolbar.js"),c.view.Toolbar.Select=a("./views/toolbar/select.js"),c.view.Toolbar.Embed=a("./views/toolbar/embed.js"),c.view.Button=a("./views/button.js"),c.view.ButtonGroup=a("./views/button-group.js"),c.view.PriorityList=a("./views/priority-list.js"),c.view.MenuItem=a("./views/menu-item.js"),c.view.Menu=a("./views/menu.js"),c.view.RouterItem=a("./views/router-item.js"),c.view.Router=a("./views/router.js"),c.view.Sidebar=a("./views/sidebar.js"),c.view.Attachment=a("./views/attachment.js"),c.view.Attachment.Library=a("./views/attachment/library.js"),c.view.Attachment.EditLibrary=a("./views/attachment/edit-library.js"),c.view.Attachments=a("./views/attachments.js"),c.view.Search=a("./views/search.js"),c.view.AttachmentFilters=a("./views/attachment-filters.js"),c.view.DateFilter=a("./views/attachment-filters/date.js"),c.view.AttachmentFilters.Uploaded=a("./views/attachment-filters/uploaded.js"),c.view.AttachmentFilters.All=a("./views/attachment-filters/all.js"),c.view.AttachmentsBrowser=a("./views/attachments/browser.js"),c.view.Selection=a("./views/selection.js"),c.view.Attachment.Selection=a("./views/attachment/selection.js"),c.view.Attachments.Selection=a("./views/attachments/selection.js"),c.view.Attachment.EditSelection=a("./views/attachment/edit-selection.js"),c.view.Settings=a("./views/settings.js"),c.view.Settings.AttachmentDisplay=a("./views/settings/attachment-display.js"),c.view.Settings.Gallery=a("./views/settings/gallery.js"),c.view.Settings.Playlist=a("./views/settings/playlist.js"),c.view.Attachment.Details=a("./views/attachment/details.js"),c.view.AttachmentCompat=a("./views/attachment-compat.js"),c.view.Iframe=a("./views/iframe.js"),c.view.Embed=a("./views/embed.js"),c.view.Label=a("./views/label.js"),c.view.EmbedUrl=a("./views/embed/url.js"),c.view.EmbedLink=a("./views/embed/link.js"),c.view.EmbedImage=a("./views/embed/image.js"),c.view.ImageDetails=a("./views/image-details.js"),c.view.Cropper=a("./views/cropper.js"),c.view.EditImage=a("./views/edit-image.js"),c.view.Spinner=a("./views/spinner.js")},{"./controllers/collection-add.js":1,"./controllers/collection-edit.js":2,"./controllers/cropper.js":3,"./controllers/edit-image.js":4,"./controllers/embed.js":5,"./controllers/featured-image.js":6,"./controllers/gallery-add.js":7,"./controllers/gallery-edit.js":8,"./controllers/image-details.js":9,"./controllers/library.js":10,"./controllers/media-library.js":11,"./controllers/region.js":12,"./controllers/replace-image.js":13,"./controllers/state-machine.js":14,"./controllers/state.js":15,"./utils/selection-sync.js":16,"./views/attachment-compat.js":18,"./views/attachment-filters.js":19,"./views/attachment-filters/all.js":20,"./views/attachment-filters/date.js":21,"./views/attachment-filters/uploaded.js":22,"./views/attachment.js":23,"./views/attachment/details.js":24,"./views/attachment/edit-library.js":25,"./views/attachment/edit-selection.js":26,"./views/attachment/library.js":27,"./views/attachment/selection.js":28,"./views/attachments.js":29,"./views/attachments/browser.js":30,"./views/attachments/selection.js":31,"./views/button-group.js":32,"./views/button.js":33,"./views/cropper.js":34,"./views/edit-image.js":35,"./views/embed.js":36,"./views/embed/image.js":37,"./views/embed/link.js":38,"./views/embed/url.js":39,"./views/focus-manager.js":40,"./views/frame.js":41,"./views/frame/image-details.js":42,"./views/frame/post.js":43,"./views/frame/select.js":44,"./views/iframe.js":45,"./views/image-details.js":46,"./views/label.js":47,"./views/media-frame.js":48,"./views/menu-item.js":49,"./views/menu.js":50,"./views/modal.js":51,"./views/priority-list.js":52,"./views/router-item.js":53,"./views/router.js":54,"./views/search.js":55,"./views/selection.js":56,"./views/settings.js":57,"./views/settings/attachment-display.js":58,"./views/settings/gallery.js":59,"./views/settings/playlist.js":60,"./views/sidebar.js":61,"./views/spinner.js":62,"./views/toolbar.js":63,"./views/toolbar/embed.js":64,"./views/toolbar/select.js":65,"./views/uploader/editor.js":66,"./views/uploader/inline.js":67,"./views/uploader/status-error.js":68,"./views/uploader/status.js":69,"./views/uploader/window.js":70,"./views/view.js":71}],18:[function(a,b){var c,d=wp.media.View;c=d.extend({tagName:"form",className:"compat-item",events:{submit:"preventDefault","change input":"save","change select":"save","change textarea":"save"},initialize:function(){this.listenTo(this.model,"change:compat",this.render)},dispose:function(){return this.$(":focus").length&&this.save(),d.prototype.dispose.apply(this,arguments)},render:function(){var a=this.model.get("compat");if(a&&a.item)return this.views.detach(),this.$el.html(a.item),this.views.render(),this},preventDefault:function(a){a.preventDefault()},save:function(a){var b={};a&&a.preventDefault(),_.each(this.$el.serializeArray(),function(a){b[a.name]=a.value}),this.controller.trigger("attachment:compat:waiting",["waiting"]),this.model.saveCompat(b).always(_.bind(this.postSave,this))},postSave:function(){this.controller.trigger("attachment:compat:ready",["ready"])}}),b.exports=c},{}],19:[function(a,b){var c,d=jQuery;c=wp.media.View.extend({tagName:"select",className:"attachment-filters",id:"media-attachment-filters",events:{change:"change"},keys:[],initialize:function(){this.createFilters(),_.extend(this.filters,this.options.filters),this.$el.html(_.chain(this.filters).map(function(a,b){return{el:d("<option></option>").val(b).html(a.text)[0],priority:a.priority||50}},this).sortBy("priority").pluck("el").value()),this.listenTo(this.model,"change",this.select),this.select()},createFilters:function(){this.filters={}},change:function(){var a=this.filters[this.el.value];a&&this.model.set(a.props)},select:function(){var a=this.model,b="all",c=a.toJSON();_.find(this.filters,function(a,d){var e=_.all(a.props,function(a,b){return a===(_.isUndefined(c[b])?null:c[b])});return e?b=d:void 0}),this.$el.val(b)}}),b.exports=c},{}],20:[function(a,b){var c,d=wp.media.view.l10n;c=wp.media.view.AttachmentFilters.extend({createFilters:function(){var a={};_.each(wp.media.view.settings.mimeTypes||{},function(b,c){a[c]={text:b,props:{status:null,type:c,uploadedTo:null,orderby:"date",order:"DESC"}}}),a.all={text:d.allMediaItems,props:{status:null,type:null,uploadedTo:null,orderby:"date",order:"DESC"},priority:10},wp.media.view.settings.post.id&&(a.uploaded={text:d.uploadedToThisPost,props:{status:null,type:null,uploadedTo:wp.media.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20}),a.unattached={text:d.unattached,props:{status:null,uploadedTo:0,type:null,orderby:"menuOrder",order:"ASC"},priority:50},wp.media.view.settings.mediaTrash&&this.controller.isModeActive("grid")&&(a.trash={text:d.trash,props:{uploadedTo:null,status:"trash",type:null,orderby:"date",order:"DESC"},priority:50}),this.filters=a}}),b.exports=c},{}],21:[function(a,b){var c,d=wp.media.view.l10n;c=wp.media.view.AttachmentFilters.extend({id:"media-attachment-date-filters",createFilters:function(){var a={};_.each(wp.media.view.settings.months||{},function(b,c){a[c]={text:b.text,props:{year:b.year,monthnum:b.month}}}),a.all={text:d.allDates,props:{monthnum:!1,year:!1},priority:10},this.filters=a}}),b.exports=c},{}],22:[function(a,b){var c,d=wp.media.view.l10n;c=wp.media.view.AttachmentFilters.extend({createFilters:function(){var a,b=this.model.get("type"),c=wp.media.view.settings.mimeTypes;c&&b&&(a=c[b]),this.filters={all:{text:a||d.allMediaItems,props:{uploadedTo:null,orderby:"date",order:"DESC"},priority:10},uploaded:{text:d.uploadedToThisPost,props:{uploadedTo:wp.media.view.settings.post.id,orderby:"menuOrder",order:"ASC"},priority:20},unattached:{text:d.unattached,props:{uploadedTo:0,orderby:"menuOrder",order:"ASC"},priority:50}}}}),b.exports=c},{}],23:[function(a,b){var c,d=wp.media.View,e=jQuery;c=d.extend({tagName:"li",className:"attachment",template:wp.template("attachment"),attributes:function(){return{tabIndex:0,role:"checkbox","aria-label":this.model.get("title"),"aria-checked":!1,"data-id":this.model.get("id")}},events:{"click .js--select-attachment":"toggleSelectionHandler","change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .close":"removeFromLibrary","click .check":"checkClickHandler","click a":"preventDefault","keydown .close":"removeFromLibrary",keydown:"toggleSelectionHandler"},buttons:{},initialize:function(){var a=this.options.selection,b=_.defaults(this.options,{rerenderOnModelChange:!0});b.rerenderOnModelChange?this.listenTo(this.model,"change",this.render):this.listenTo(this.model,"change:percent",this.progress),this.listenTo(this.model,"change:title",this._syncTitle),this.listenTo(this.model,"change:caption",this._syncCaption),this.listenTo(this.model,"change:artist",this._syncArtist),this.listenTo(this.model,"change:album",this._syncAlbum),this.listenTo(this.model,"add",this.select),this.listenTo(this.model,"remove",this.deselect),a&&(a.on("reset",this.updateSelect,this),this.listenTo(this.model,"selection:single selection:unsingle",this.details),this.details(this.model,this.controller.state().get("selection"))),this.listenTo(this.controller,"attachment:compat:waiting attachment:compat:ready",this.updateSave)},dispose:function(){var a=this.options.selection;return this.updateAll(),a&&a.off(null,null,this),d.prototype.dispose.apply(this,arguments),this},render:function(){var a=_.defaults(this.model.toJSON(),{orientation:"landscape",uploading:!1,type:"",subtype:"",icon:"",filename:"",caption:"",title:"",dateFormatted:"",width:"",height:"",compat:!1,alt:"",description:""},this.options);return a.buttons=this.buttons,a.describe=this.controller.state().get("describe"),"image"===a.type&&(a.size=this.imageSize()),a.can={},a.nonces&&(a.can.remove=!!a.nonces["delete"],a.can.save=!!a.nonces.update),this.controller.state().get("allowLocalEdits")&&(a.allowLocalEdits=!0),a.uploading&&!a.percent&&(a.percent=0),this.views.detach(),this.$el.html(this.template(a)),this.$el.toggleClass("uploading",a.uploading),a.uploading?this.$bar=this.$(".media-progress-bar div"):delete this.$bar,this.updateSelect(),this.updateSave(),this.views.render(),this},progress:function(){this.$bar&&this.$bar.length&&this.$bar.width(this.model.get("percent")+"%")},toggleSelectionHandler:function(a){var b;if("INPUT"!==a.target.nodeName){if(37===a.keyCode||38===a.keyCode||39===a.keyCode||40===a.keyCode)return void this.controller.trigger("attachment:keydown:arrow",a);if("keydown"!==a.type||13===a.keyCode||32===a.keyCode){if(a.preventDefault(),this.controller.isModeActive("grid")){if(this.controller.isModeActive("edit"))return void this.controller.trigger("edit:attachment",this.model,a.currentTarget);this.controller.isModeActive("select")&&(b="toggle")}a.shiftKey?b="between":(a.ctrlKey||a.metaKey)&&(b="toggle"),this.toggleSelection({method:b
+}),this.controller.trigger("selection:toggle")}}},toggleSelection:function(a){var b,c,d,e,f=this.collection,g=this.options.selection,h=this.model,i=a&&a.method;if(g){if(b=g.single(),i=_.isUndefined(i)?g.multiple:i,"between"===i&&b&&g.multiple){if(b===h)return;return d=f.indexOf(b),e=f.indexOf(this.model),c=e>d?f.models.slice(d,e+1):f.models.slice(e,d+1),g.add(c),void g.single(h)}if("toggle"===i)return g[this.selected()?"remove":"add"](h),void g.single(h);if("add"===i)return g.add(h),void g.single(h);i||(i="add"),"add"!==i&&(i="reset"),this.selected()?g[b===h?"remove":"single"](h):(g[i](h),g.single(h))}},updateSelect:function(){this[this.selected()?"select":"deselect"]()},selected:function(){var a=this.options.selection;return a?!!a.get(this.model.cid):void 0},select:function(a,b){var c=this.options.selection,d=this.controller;!c||b&&b!==c||this.$el.hasClass("selected")||(this.$el.addClass("selected").attr("aria-checked",!0),d.isModeActive("grid")&&d.isModeActive("select")||this.$(".check").attr("tabindex","0"))},deselect:function(a,b){var c=this.options.selection;!c||b&&b!==c||this.$el.removeClass("selected").attr("aria-checked",!1).find(".check").attr("tabindex","-1")},details:function(a,b){var c,d=this.options.selection;d===b&&(c=d.single(),this.$el.toggleClass("details",c===this.model))},preventDefault:function(a){a.preventDefault()},imageSize:function(a){var b=this.model.get("sizes"),c=!1;return a=a||"medium",b&&(b[a]?c=b[a]:b.large?c=b.large:b.thumbnail?c=b.thumbnail:b.full&&(c=b.full),c)?_.clone(c):{url:this.model.get("url"),width:this.model.get("width"),height:this.model.get("height"),orientation:this.model.get("orientation")}},updateSetting:function(a){var b,c,d=e(a.target).closest("[data-setting]");d.length&&(b=d.data("setting"),c=a.target.value,this.model.get(b)!==c&&this.save(b,c))},save:function(){var a=this,b=this._save=this._save||{status:"ready"},c=this.model.save.apply(this.model,arguments),d=b.requests?e.when(c,b.requests):c;b.savedTimer&&clearTimeout(b.savedTimer),this.updateSave("waiting"),b.requests=d,d.always(function(){b.requests===d&&(a.updateSave("resolved"===d.state()?"complete":"error"),b.savedTimer=setTimeout(function(){a.updateSave("ready"),delete b.savedTimer},2e3))})},updateSave:function(a){var b=this._save=this._save||{status:"ready"};return a&&a!==b.status&&(this.$el.removeClass("save-"+b.status),b.status=a),this.$el.addClass("save-"+b.status),this},updateAll:function(){var a,b=this.$("[data-setting]"),c=this.model;a=_.chain(b).map(function(a){var b,d,f=e("input, textarea, select, [value]",a);if(f.length)return b=e(a).data("setting"),d=f.val(),c.get(b)!==d?[b,d]:void 0}).compact().object().value(),_.isEmpty(a)||c.save(a)},removeFromLibrary:function(a){("keydown"!==a.type||13===a.keyCode||32===a.keyCode)&&(a.stopPropagation(),this.collection.remove(this.model))},checkClickHandler:function(a){var b=this.options.selection;b&&(a.stopPropagation(),b.where({id:this.model.get("id")}).length?(b.remove(this.model),this.$el.focus()):b.add(this.model))}}),_.each({caption:"_syncCaption",title:"_syncTitle",artist:"_syncArtist",album:"_syncAlbum"},function(a,b){c.prototype[a]=function(a,c){var d=this.$('[data-setting="'+b+'"]');return d.length?c===d.find("input, textarea, select, [value]").val()?this:this.render():this}}),b.exports=c},{}],24:[function(a,b){var c,d=wp.media.view.Attachment,e=wp.media.view.l10n;c=d.extend({tagName:"div",className:"attachment-details",template:wp.template("attachment-details"),attributes:function(){return{tabIndex:0,"data-id":this.model.get("id")}},events:{"change [data-setting]":"updateSetting","change [data-setting] input":"updateSetting","change [data-setting] select":"updateSetting","change [data-setting] textarea":"updateSetting","click .delete-attachment":"deleteAttachment","click .trash-attachment":"trashAttachment","click .untrash-attachment":"untrashAttachment","click .edit-attachment":"editAttachment","click .refresh-attachment":"refreshAttachment",keydown:"toggleSelectionHandler"},initialize:function(){this.options=_.defaults(this.options,{rerenderOnModelChange:!1}),this.on("ready",this.initialFocus),d.prototype.initialize.apply(this,arguments)},initialFocus:function(){wp.media.isTouchDevice||this.$(":input").eq(0).focus()},deleteAttachment:function(a){a.preventDefault(),window.confirm(e.warnDelete)&&(this.model.destroy(),this.controller.modal.focusManager.focus())},trashAttachment:function(a){var b=this.controller.library;a.preventDefault(),wp.media.view.settings.mediaTrash&&"edit-metadata"===this.controller.content.mode()?(this.model.set("status","trash"),this.model.save().done(function(){b._requery(!0)})):this.model.destroy()},untrashAttachment:function(a){var b=this.controller.library;a.preventDefault(),this.model.set("status","inherit"),this.model.save().done(function(){b._requery(!0)})},editAttachment:function(a){var b=this.controller.states.get("edit-image");window.imageEdit&&b?(a.preventDefault(),b.set("image",this.model),this.controller.setState("edit-image")):this.$el.addClass("needs-refresh")},refreshAttachment:function(a){this.$el.removeClass("needs-refresh"),a.preventDefault(),this.model.fetch()},toggleSelectionHandler:function(a){return"keydown"===a.type&&9===a.keyCode&&a.shiftKey&&a.target===this.$(":tabbable").get(0)?(this.controller.trigger("attachment:details:shift-tab",a),!1):37===a.keyCode||38===a.keyCode||39===a.keyCode||40===a.keyCode?void this.controller.trigger("attachment:keydown:arrow",a):void 0}}),b.exports=c},{}],25:[function(a,b){var c=wp.media.view.Attachment.extend({buttons:{close:!0}});b.exports=c},{}],26:[function(a,b){var c=wp.media.view.Attachment.Selection.extend({buttons:{close:!0}});b.exports=c},{}],27:[function(a,b){var c=wp.media.view.Attachment.extend({buttons:{check:!0}});b.exports=c},{}],28:[function(a,b){var c=wp.media.view.Attachment.extend({className:"attachment selection",toggleSelection:function(){this.options.selection.single(this.model)}});b.exports=c},{}],29:[function(a,b){var c,d=wp.media.View,e=jQuery;c=d.extend({tagName:"ul",className:"attachments",attributes:{tabIndex:-1},initialize:function(){this.el.id=_.uniqueId("__attachments-view-"),_.defaults(this.options,{refreshSensitivity:wp.media.isTouchDevice?300:200,refreshThreshold:3,AttachmentView:wp.media.view.Attachment,sortable:!1,resize:!0,idealColumnWidth:e(window).width()<640?135:150}),this._viewsByCid={},this.$window=e(window),this.resizeEvent="resize.media-modal-columns",this.collection.on("add",function(a){this.views.add(this.createAttachmentView(a),{at:this.collection.indexOf(a)})},this),this.collection.on("remove",function(a){var b=this._viewsByCid[a.cid];delete this._viewsByCid[a.cid],b&&b.remove()},this),this.collection.on("reset",this.render,this),this.listenTo(this.controller,"library:selection:add",this.attachmentFocus),this.scroll=_.chain(this.scroll).bind(this).throttle(this.options.refreshSensitivity).value(),this.options.scrollElement=this.options.scrollElement||this.el,e(this.options.scrollElement).on("scroll",this.scroll),this.initSortable(),_.bindAll(this,"setColumns"),this.options.resize&&(this.on("ready",this.bindEvents),this.controller.on("open",this.setColumns),_.defer(this.setColumns,this))},bindEvents:function(){this.$window.off(this.resizeEvent).on(this.resizeEvent,_.debounce(this.setColumns,50))},attachmentFocus:function(){this.$("li:first").focus()},restoreFocus:function(){this.$("li.selected:first").focus()},arrowEvent:function(a){var b=this.$el.children("li"),c=this.columns,d=b.filter(":focus").index(),e=c>=d+1?1:Math.ceil((d+1)/c);if(-1!==d){if(37===a.keyCode){if(0===d)return;b.eq(d-1).focus()}if(38===a.keyCode){if(1===e)return;b.eq(d-c).focus()}if(39===a.keyCode){if(b.length===d)return;b.eq(d+1).focus()}if(40===a.keyCode){if(Math.ceil(b.length/c)===e)return;b.eq(d+c).focus()}}},dispose:function(){this.collection.props.off(null,null,this),this.options.resize&&this.$window.off(this.resizeEvent),d.prototype.dispose.apply(this,arguments)},setColumns:function(){var a=this.columns,b=this.$el.width();b&&(this.columns=Math.min(Math.round(b/this.options.idealColumnWidth),12)||1,a&&a===this.columns||this.$el.closest(".media-frame-content").attr("data-columns",this.columns))},initSortable:function(){var a=this.collection;!wp.media.isTouchDevice&&this.options.sortable&&e.fn.sortable&&(this.$el.sortable(_.extend({disabled:!!a.comparator,tolerance:"pointer",start:function(a,b){b.item.data("sortableIndexStart",b.item.index())},update:function(b,c){var d=a.at(c.item.data("sortableIndexStart")),e=a.comparator;delete a.comparator,a.remove(d,{silent:!0}),a.add(d,{silent:!0,at:c.item.index()}),a.comparator=e,a.trigger("reset",a),a.saveMenuOrder()}},this.options.sortable)),a.props.on("change:orderby",function(){this.$el.sortable("option","disabled",!!a.comparator)},this),this.collection.props.on("change:orderby",this.refreshSortable,this),this.refreshSortable())},refreshSortable:function(){if(!wp.media.isTouchDevice&&this.options.sortable&&e.fn.sortable){var a=this.collection,b=a.props.get("orderby"),c="menuOrder"===b||!a.comparator;this.$el.sortable("option","disabled",!c)}},createAttachmentView:function(a){var b=new this.options.AttachmentView({controller:this.controller,model:a,collection:this.collection,selection:this.options.selection});return this._viewsByCid[a.cid]=b},prepare:function(){this.collection.length?this.views.set(this.collection.map(this.createAttachmentView,this)):(this.views.unset(),this.collection.more().done(this.scroll))},ready:function(){this.scroll()},scroll:function(){var a,b=this,c=this.options.scrollElement,d=c.scrollTop;c===document&&(c=document.body,d=e(document).scrollTop()),e(c).is(":visible")&&this.collection.hasMore()&&(a=this.views.parent.toolbar,c.scrollHeight-(d+c.clientHeight)<c.clientHeight/3&&a.get("spinner").show(),c.scrollHeight<d+c.clientHeight*this.options.refreshThreshold&&this.collection.more().done(function(){b.scroll(),a.get("spinner").hide()}))}}),b.exports=c},{}],30:[function(a,b){var c,d=wp.media.View,e=wp.media.view.settings.mediaTrash,f=wp.media.view.l10n,g=jQuery;c=d.extend({tagName:"div",className:"attachments-browser",initialize:function(){_.defaults(this.options,{filters:!1,search:!0,date:!0,display:!1,sidebar:!0,AttachmentView:wp.media.view.Attachment.Library}),this.listenTo(this.controller,"toggle:upload:attachment",_.bind(this.toggleUploader,this)),this.controller.on("edit:selection",this.editSelection),this.createToolbar(),this.options.sidebar&&this.createSidebar(),this.createUploader(),this.createAttachments(),this.updateContent(),this.options.sidebar&&"errors"!==this.options.sidebar||(this.$el.addClass("hide-sidebar"),"errors"===this.options.sidebar&&this.$el.addClass("sidebar-for-errors")),this.collection.on("add remove reset",this.updateContent,this)},editSelection:function(a){a.$(".media-button-backToLibrary").focus()},dispose:function(){return this.options.selection.off(null,null,this),d.prototype.dispose.apply(this,arguments),this},createToolbar:function(){var a,b,c;c={controller:this.controller},this.controller.isModeActive("grid")&&(c.className="media-toolbar wp-filter"),this.toolbar=new wp.media.view.Toolbar(c),this.views.add(this.toolbar),this.toolbar.set("spinner",new wp.media.view.Spinner({priority:-60})),-1!==g.inArray(this.options.filters,["uploaded","all"])&&(this.toolbar.set("filtersLabel",new wp.media.view.Label({value:f.filterByType,attributes:{"for":"media-attachment-filters"},priority:-80}).render()),"uploaded"===this.options.filters?this.toolbar.set("filters",new wp.media.view.AttachmentFilters.Uploaded({controller:this.controller,model:this.collection.props,priority:-80}).render()):(b=new wp.media.view.AttachmentFilters.All({controller:this.controller,model:this.collection.props,priority:-80}),this.toolbar.set("filters",b.render()))),this.controller.isModeActive("grid")?(a=d.extend({className:"view-switch media-grid-view-switch",template:wp.template("media-library-view-switcher")}),this.toolbar.set("libraryViewSwitcher",new a({controller:this.controller,priority:-90}).render()),this.toolbar.set("dateFilterLabel",new wp.media.view.Label({value:f.filterByDate,attributes:{"for":"media-attachment-date-filters"},priority:-75}).render()),this.toolbar.set("dateFilter",new wp.media.view.DateFilter({controller:this.controller,model:this.collection.props,priority:-75}).render()),this.toolbar.set("selectModeToggleButton",new wp.media.view.SelectModeToggleButton({text:f.bulkSelect,controller:this.controller,priority:-70}).render()),this.toolbar.set("deleteSelectedButton",new wp.media.view.DeleteSelectedButton({filters:b,style:"primary",disabled:!0,text:e?f.trashSelected:f.deleteSelected,controller:this.controller,priority:-60,click:function(){var a=[],b=[],c=this.controller.state().get("selection"),d=this.controller.state().get("library");c.length&&(e||window.confirm(f.warnBulkDelete))&&(!e||"trash"===c.at(0).get("status")||window.confirm(f.warnBulkTrash))&&(c.each(function(c){return c.get("nonces")["delete"]?void(e&&"trash"===c.get("status")?(c.set("status","inherit"),a.push(c.save()),b.push(c)):e?(c.set("status","trash"),a.push(c.save()),b.push(c)):c.destroy({wait:!0})):void b.push(c)}),a.length?(c.remove(b),g.when.apply(null,a).then(_.bind(function(){d._requery(!0),this.controller.trigger("selection:action:done")},this))):this.controller.trigger("selection:action:done"))}}).render()),e&&this.toolbar.set("deleteSelectedPermanentlyButton",new wp.media.view.DeleteSelectedPermanentlyButton({filters:b,style:"primary",disabled:!0,text:f.deleteSelected,controller:this.controller,priority:-55,click:function(){var a=[],b=this.controller.state().get("selection");b.length&&window.confirm(f.warnBulkDelete)&&(b.each(function(b){return b.get("nonces")["delete"]?void b.destroy():void a.push(b)}),b.remove(a),this.controller.trigger("selection:action:done"))}}).render())):this.options.date&&(this.toolbar.set("dateFilterLabel",new wp.media.view.Label({value:f.filterByDate,attributes:{"for":"media-attachment-date-filters"},priority:-75}).render()),this.toolbar.set("dateFilter",new wp.media.view.DateFilter({controller:this.controller,model:this.collection.props,priority:-75}).render())),this.options.search&&(this.toolbar.set("searchLabel",new wp.media.view.Label({value:f.searchMediaLabel,attributes:{"for":"media-search-input"},priority:60}).render()),this.toolbar.set("search",new wp.media.view.Search({controller:this.controller,model:this.collection.props,priority:60}).render())),this.options.dragInfo&&this.toolbar.set("dragInfo",new d({el:g('<div class="instructions">'+f.dragInfo+"</div>")[0],priority:-40})),this.options.suggestedWidth&&this.options.suggestedHeight&&this.toolbar.set("suggestedDimensions",new d({el:g('<div class="instructions">'+f.suggestedDimensions+" "+this.options.suggestedWidth+" &times; "+this.options.suggestedHeight+"</div>")[0],priority:-40}))},updateContent:function(){var a,b=this;a=this.controller.isModeActive("grid")?b.attachmentsNoResults:b.uploader,this.collection.length?(a.$el.addClass("hidden"),b.toolbar.get("spinner").hide()):(this.toolbar.get("spinner").show(),this.dfd=this.collection.more().done(function(){b.collection.length?a.$el.addClass("hidden"):a.$el.removeClass("hidden"),b.toolbar.get("spinner").hide()}))},createUploader:function(){this.uploader=new wp.media.view.UploaderInline({controller:this.controller,status:!1,message:this.controller.isModeActive("grid")?"":f.noItemsFound,canClose:this.controller.isModeActive("grid")}),this.uploader.hide(),this.views.add(this.uploader)},toggleUploader:function(){this.uploader.$el.hasClass("hidden")?this.uploader.show():this.uploader.hide()},createAttachments:function(){this.attachments=new wp.media.view.Attachments({controller:this.controller,collection:this.collection,selection:this.options.selection,model:this.model,sortable:this.options.sortable,scrollElement:this.options.scrollElement,idealColumnWidth:this.options.idealColumnWidth,AttachmentView:this.options.AttachmentView}),this.attachments.listenTo(this.controller,"attachment:keydown:arrow",this.attachments.arrowEvent),this.attachments.listenTo(this.controller,"attachment:details:shift-tab",this.attachments.restoreFocus),this.views.add(this.attachments),this.controller.isModeActive("grid")&&(this.attachmentsNoResults=new d({controller:this.controller,tagName:"p"}),this.attachmentsNoResults.$el.addClass("hidden no-media"),this.attachmentsNoResults.$el.html(f.noMedia),this.views.add(this.attachmentsNoResults))},createSidebar:function(){var a=this.options,b=a.selection,c=this.sidebar=new wp.media.view.Sidebar({controller:this.controller});this.views.add(c),this.controller.uploader&&c.set("uploads",new wp.media.view.UploaderStatus({controller:this.controller,priority:40})),b.on("selection:single",this.createSingle,this),b.on("selection:unsingle",this.disposeSingle,this),b.single()&&this.createSingle()},createSingle:function(){var a=this.sidebar,b=this.options.selection.single();a.set("details",new wp.media.view.Attachment.Details({controller:this.controller,model:b,priority:80})),a.set("compat",new wp.media.view.AttachmentCompat({controller:this.controller,model:b,priority:120})),this.options.display&&a.set("display",new wp.media.view.Settings.AttachmentDisplay({controller:this.controller,model:this.model.display(b),attachment:b,priority:160,userSettings:this.model.get("displayUserSettings")})),"insert"===this.model.id&&a.$el.addClass("visible")},disposeSingle:function(){var a=this.sidebar;a.unset("details"),a.unset("compat"),a.unset("display"),a.$el.removeClass("visible")}}),b.exports=c},{}],31:[function(a,b){var c,d=wp.media.view.Attachments;c=d.extend({events:{},initialize:function(){return _.defaults(this.options,{sortable:!1,resize:!1,AttachmentView:wp.media.view.Attachment.Selection}),d.prototype.initialize.apply(this,arguments)}}),b.exports=c},{}],32:[function(a,b){var c,d=Backbone.$;c=wp.media.View.extend({tagName:"div",className:"button-group button-large media-button-group",initialize:function(){this.buttons=_.map(this.options.buttons||[],function(a){return a instanceof Backbone.View?a:new wp.media.view.Button(a).render()}),delete this.options.buttons,this.options.classes&&this.$el.addClass(this.options.classes)},render:function(){return this.$el.html(d(_.pluck(this.buttons,"el")).detach()),this}}),b.exports=c},{}],33:[function(a,b){var c=wp.media.View.extend({tagName:"a",className:"media-button",attributes:{href:"#"},events:{click:"click"},defaults:{text:"",style:"",size:"large",disabled:!1},initialize:function(){this.model=new Backbone.Model(this.defaults),_.each(this.defaults,function(a,b){var c=this.options[b];_.isUndefined(c)||(this.model.set(b,c),delete this.options[b])},this),this.listenTo(this.model,"change",this.render)},render:function(){var a=["button",this.className],b=this.model.toJSON();return b.style&&a.push("button-"+b.style),b.size&&a.push("button-"+b.size),a=_.uniq(a.concat(this.options.classes)),this.el.className=a.join(" "),this.$el.attr("disabled",b.disabled),this.$el.text(this.model.get("text")),this},click:function(a){"#"===this.attributes.href&&a.preventDefault(),this.options.click&&!this.model.get("disabled")&&this.options.click.apply(this,arguments)}});b.exports=c},{}],34:[function(a,b){var c,d=wp.media.View,e=wp.media.view.UploaderStatus,f=wp.media.view.l10n,g=jQuery;c=d.extend({className:"crop-content",template:wp.template("crop-content"),initialize:function(){_.bindAll(this,"onImageLoad")},ready:function(){this.controller.frame.on("content:error:crop",this.onError,this),this.$image=this.$el.find(".crop-image"),this.$image.on("load",this.onImageLoad),g(window).on("resize.cropper",_.debounce(this.onImageLoad,250))},remove:function(){g(window).off("resize.cropper"),this.$el.remove(),this.$el.off(),d.prototype.remove.apply(this,arguments)},prepare:function(){return{title:f.cropYourImage,url:this.options.attachment.get("url")}},onImageLoad:function(){var a=this.controller.get("imgSelectOptions");"function"==typeof a&&(a=a(this.options.attachment,this.controller)),a=_.extend(a,{parent:this.$el}),this.trigger("image-loaded"),this.controller.imgSelect=this.$image.imgAreaSelect(a)},onError:function(){var a=this.options.attachment.get("filename");this.views.add(".upload-errors",new wp.media.view.UploaderStatusError({filename:e.prototype.filename(a),message:window._wpMediaViewsL10n.cropError}),{at:0})}}),b.exports=c},{}],35:[function(a,b){var c,d=wp.media.View;c=d.extend({className:"image-editor",template:wp.template("image-editor"),initialize:function(a){this.editor=window.imageEdit,this.controller=a.controller,d.prototype.initialize.apply(this,arguments)},prepare:function(){return this.model.toJSON()},loadEditor:function(){var a=this.editor.open(this.model.get("id"),this.model.get("nonces").edit,this);a.done(_.bind(this.focus,this))},focus:function(){this.$(".imgedit-submit .button").eq(0).focus()},back:function(){var a=this.controller.lastState();this.controller.setState(a)},refresh:function(){this.model.fetch()},save:function(){var a=this.controller.lastState();this.model.fetch().done(_.bind(function(){this.controller.setState(a)},this))}}),b.exports=c},{}],36:[function(a,b){var c=wp.media.View.extend({className:"media-embed",initialize:function(){this.url=new wp.media.view.EmbedUrl({controller:this.controller,model:this.model.props}).render(),this.views.set([this.url]),this.refresh(),this.listenTo(this.model,"change:type",this.refresh),this.listenTo(this.model,"change:loading",this.loading)},settings:function(a){this._settings&&this._settings.remove(),this._settings=a,this.views.add(a)},refresh:function(){var a,b=this.model.get("type");if("image"===b)a=wp.media.view.EmbedImage;else{if("link"!==b)return;a=wp.media.view.EmbedLink}this.settings(new a({controller:this.controller,model:this.model.props,priority:40}))},loading:function(){this.$el.toggleClass("embed-loading",this.model.get("loading"))}});b.exports=c},{}],37:[function(a,b){var c,d=wp.media.view.Settings.AttachmentDisplay;c=d.extend({className:"embed-media-settings",template:wp.template("embed-image-settings"),initialize:function(){d.prototype.initialize.apply(this,arguments),this.listenTo(this.model,"change:url",this.updateImage)},updateImage:function(){this.$("img").attr("src",this.model.get("url"))}}),b.exports=c},{}],38:[function(a,b){var c,d=jQuery;c=wp.media.view.Settings.extend({className:"embed-link-settings",template:wp.template("embed-link-settings"),initialize:function(){this.spinner=d('<span class="spinner" />'),this.$el.append(this.spinner[0]),this.listenTo(this.model,"change:url",this.updateoEmbed)},updateoEmbed:_.debounce(function(){var a=this.model.get("url");this.$(".embed-container").hide().find(".embed-preview").empty(),this.$(".setting").hide(),a&&a.length<6||this.fetch()},600),fetch:function(){d("#embed-url-field").val()===this.model.get("url")&&wp.ajax.send("parse-embed",{data:{post_ID:wp.media.view.settings.post.id,shortcode:"[embed]"+this.model.get("url")+"[/embed]"}}).done(_.bind(this.renderoEmbed,this)).fail(_.bind(this.renderFail,this))},renderFail:function(){this.$(".link-text").show()},renderoEmbed:function(a){var b=a&&a.body||"";b?this.$(".embed-container").show().find(".embed-preview").html(b):this.renderFail()}}),b.exports=c},{}],39:[function(a,b){var c,d=wp.media.View,e=jQuery;c=d.extend({tagName:"label",className:"embed-url",events:{input:"url",keyup:"url",change:"url"},initialize:function(){this.$input=e('<input id="embed-url-field" type="url" />').val(this.model.get("url")),this.input=this.$input[0],this.spinner=e('<span class="spinner" />')[0],this.$el.append([this.input,this.spinner]),this.listenTo(this.model,"change:url",this.render),this.model.get("url")&&_.delay(_.bind(function(){this.model.trigger("change:url")},this),500)},render:function(){var a=this.$input;if(!a.is(":focus"))return this.input.value=this.model.get("url")||"http://",d.prototype.render.apply(this,arguments),this},ready:function(){wp.media.isTouchDevice||this.focus()},url:function(a){this.model.set("url",a.target.value)},focus:function(){var a=this.$input;a.is(":visible")&&a.focus()[0].select()}}),b.exports=c},{}],40:[function(a,b){var c=wp.media.View.extend({events:{keydown:"constrainTabbing"},focus:function(){this.$(".media-menu-item").first().focus()},constrainTabbing:function(a){var b;if(9===a.keyCode)return b=this.$(":tabbable").not('.moxie-shim input[type="file"]'),b.last()[0]!==a.target||a.shiftKey?b.first()[0]===a.target&&a.shiftKey?(b.last().focus(),!1):void 0:(b.first().focus(),!1)}});b.exports=c},{}],41:[function(a,b){var c=wp.media.View.extend({initialize:function(){_.defaults(this.options,{mode:["select"]}),this._createRegions(),this._createStates(),this._createModes()},_createRegions:function(){this.regions=this.regions?this.regions.slice():[],_.each(this.regions,function(a){this[a]=new wp.media.controller.Region({view:this,id:a,selector:".media-frame-"+a})},this)},_createStates:function(){this.states=new Backbone.Collection(null,{model:wp.media.controller.State}),this.states.on("add",function(a){a.frame=this,a.trigger("ready")},this),this.options.states&&this.states.add(this.options.states)},_createModes:function(){this.activeModes=new Backbone.Collection,this.activeModes.on("add remove reset",_.bind(this.triggerModeEvents,this)),_.each(this.options.mode,function(a){this.activateMode(a)},this)},reset:function(){return this.states.invoke("trigger","reset"),this},triggerModeEvents:function(a,b,c){var d,e,f={add:"activate",remove:"deactivate"};_.each(c,function(a,b){a&&(d=b)}),_.has(f,d)&&(e=a.get("id")+":"+f[d],this.trigger(e))},activateMode:function(a){return this.isModeActive(a)?void 0:(this.activeModes.add([{id:a}]),this.$el.addClass("mode-"+a),this)},deactivateMode:function(a){return this.isModeActive(a)?(this.activeModes.remove(this.activeModes.where({id:a})),this.$el.removeClass("mode-"+a),this.trigger(a+":deactivate"),this):this},isModeActive:function(a){return Boolean(this.activeModes.where({id:a}).length)}});_.extend(c.prototype,wp.media.controller.StateMachine.prototype),b.exports=c},{}],42:[function(a,b){var c,d=wp.media.view.MediaFrame.Select,e=wp.media.view.l10n;c=d.extend({defaults:{id:"image",url:"",menu:"image-details",content:"image-details",toolbar:"image-details",type:"link",title:e.imageDetailsTitle,priority:120},initialize:function(a){this.image=new wp.media.model.PostImage(a.metadata),this.options.selection=new wp.media.model.Selection(this.image.attachment,{multiple:!1}),d.prototype.initialize.apply(this,arguments)},bindHandlers:function(){d.prototype.bindHandlers.apply(this,arguments),this.on("menu:create:image-details",this.createMenu,this),this.on("content:create:image-details",this.imageDetailsContent,this),this.on("content:render:edit-image",this.editImageContent,this),this.on("toolbar:render:image-details",this.renderImageDetailsToolbar,this),this.on("toolbar:render:replace",this.renderReplaceImageToolbar,this)},createStates:function(){this.states.add([new wp.media.controller.ImageDetails({image:this.image,editable:!1}),new wp.media.controller.ReplaceImage({id:"replace-image",library:wp.media.query({type:"image"}),image:this.image,multiple:!1,title:e.imageReplaceTitle,toolbar:"replace",priority:80,displaySettings:!0}),new wp.media.controller.EditImage({image:this.image,selection:this.options.selection})])},imageDetailsContent:function(a){a.view=new wp.media.view.ImageDetails({controller:this,model:this.state().image,attachment:this.state().image.attachment})},editImageContent:function(){var a,b=this.state(),c=b.get("image");c&&(a=new wp.media.view.EditImage({model:c,controller:this}).render(),this.content.set(a),a.loadEditor())},renderImageDetailsToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{select:{style:"primary",text:e.update,priority:80,click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",a.image.toJSON()),a.setState(a.options.state),a.reset()}}}}))},renderReplaceImageToolbar:function(){var a=this,b=a.lastState(),c=b&&b.id;this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{back:{text:e.back,priority:20,click:function(){c?a.setState(c):a.close()}},replace:{style:"primary",text:e.replace,priority:80,click:function(){var a=this.controller,b=a.state(),c=b.get("selection"),d=c.single();a.close(),a.image.changeAttachment(d,b.display(d)),b.trigger("replace",a.image.toJSON()),a.setState(a.options.state),a.reset()}}}}))}}),b.exports=c},{}],43:[function(a,b){var c,d=wp.media.view.MediaFrame.Select,e=wp.media.controller.Library,f=wp.media.view.l10n;c=d.extend({initialize:function(){this.counts={audio:{count:wp.media.view.settings.attachmentCounts.audio,state:"playlist"},video:{count:wp.media.view.settings.attachmentCounts.video,state:"video-playlist"}},_.defaults(this.options,{multiple:!0,editing:!1,state:"insert",metadata:{}}),d.prototype.initialize.apply(this,arguments),this.createIframeStates()},createStates:function(){var a=this.options;this.states.add([new e({id:"insert",title:f.insertMediaTitle,priority:20,toolbar:"main-insert",filterable:"all",library:wp.media.query(a.library),multiple:a.multiple?"reset":!1,editable:!0,allowLocalEdits:!0,displaySettings:!0,displayUserSettings:!0}),new e({id:"gallery",title:f.createGalleryTitle,priority:40,toolbar:"main-gallery",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"image"},a.library))}),new wp.media.controller.Embed({metadata:a.metadata}),new wp.media.controller.EditImage({model:a.editImage}),new wp.media.controller.GalleryEdit({library:a.selection,editing:a.editing,menu:"gallery"}),new wp.media.controller.GalleryAdd,new e({id:"playlist",title:f.createPlaylistTitle,priority:60,toolbar:"main-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"audio"},a.library))}),new wp.media.controller.CollectionEdit({type:"audio",collectionType:"playlist",title:f.editPlaylistTitle,SettingsView:wp.media.view.Settings.Playlist,library:a.selection,editing:a.editing,menu:"playlist",dragInfoText:f.playlistDragInfo,dragInfo:!1}),new wp.media.controller.CollectionAdd({type:"audio",collectionType:"playlist",title:f.addToPlaylistTitle}),new e({id:"video-playlist",title:f.createVideoPlaylistTitle,priority:60,toolbar:"main-video-playlist",filterable:"uploaded",multiple:"add",editable:!1,library:wp.media.query(_.defaults({type:"video"},a.library))}),new wp.media.controller.CollectionEdit({type:"video",collectionType:"playlist",title:f.editVideoPlaylistTitle,SettingsView:wp.media.view.Settings.Playlist,library:a.selection,editing:a.editing,menu:"video-playlist",dragInfoText:f.videoPlaylistDragInfo,dragInfo:!1}),new wp.media.controller.CollectionAdd({type:"video",collectionType:"playlist",title:f.addToVideoPlaylistTitle})]),wp.media.view.settings.post.featuredImageId&&this.states.add(new wp.media.controller.FeaturedImage)},bindHandlers:function(){var a,b;d.prototype.bindHandlers.apply(this,arguments),this.on("activate",this.activate,this),b=_.find(this.counts,function(a){return 0===a.count}),"undefined"!=typeof b&&this.listenTo(wp.media.model.Attachments.all,"change:type",this.mediaTypeCounts),this.on("menu:create:gallery",this.createMenu,this),this.on("menu:create:playlist",this.createMenu,this),this.on("menu:create:video-playlist",this.createMenu,this),this.on("toolbar:create:main-insert",this.createToolbar,this),this.on("toolbar:create:main-gallery",this.createToolbar,this),this.on("toolbar:create:main-playlist",this.createToolbar,this),this.on("toolbar:create:main-video-playlist",this.createToolbar,this),this.on("toolbar:create:featured-image",this.featuredImageToolbar,this),this.on("toolbar:create:main-embed",this.mainEmbedToolbar,this),a={menu:{"default":"mainMenu",gallery:"galleryMenu",playlist:"playlistMenu","video-playlist":"videoPlaylistMenu"},content:{embed:"embedContent","edit-image":"editImageContent","edit-selection":"editSelectionContent"},toolbar:{"main-insert":"mainInsertToolbar",
+"main-gallery":"mainGalleryToolbar","gallery-edit":"galleryEditToolbar","gallery-add":"galleryAddToolbar","main-playlist":"mainPlaylistToolbar","playlist-edit":"playlistEditToolbar","playlist-add":"playlistAddToolbar","main-video-playlist":"mainVideoPlaylistToolbar","video-playlist-edit":"videoPlaylistEditToolbar","video-playlist-add":"videoPlaylistAddToolbar"}},_.each(a,function(a,b){_.each(a,function(a,c){this.on(b+":render:"+c,this[a],this)},this)},this)},activate:function(){_.each(this.counts,function(a){a.count<1&&this.menuItemVisibility(a.state,"hide")},this)},mediaTypeCounts:function(a,b){"undefined"!=typeof this.counts[b]&&this.counts[b].count<1&&(this.counts[b].count++,this.menuItemVisibility(this.counts[b].state,"show"))},mainMenu:function(a){a.set({"library-separator":new wp.media.View({className:"separator",priority:100})})},menuItemVisibility:function(a,b){var c=this.menu.get();"hide"===b?c.hide(a):"show"===b&&c.show(a)},galleryMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:f.cancelGalleryTitle,priority:20,click:function(){c?d.setState(c):d.close(),this.controller.modal.focusManager.focus()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},playlistMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:f.cancelPlaylistTitle,priority:20,click:function(){c?d.setState(c):d.close()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},videoPlaylistMenu:function(a){var b=this.lastState(),c=b&&b.id,d=this;a.set({cancel:{text:f.cancelVideoPlaylistTitle,priority:20,click:function(){c?d.setState(c):d.close()}},separateCancel:new wp.media.View({className:"separator",priority:40})})},embedContent:function(){var a=new wp.media.view.Embed({controller:this,model:this.state()}).render();this.content.set(a),wp.media.isTouchDevice||a.url.focus()},editSelectionContent:function(){var a,b=this.state(),c=b.get("selection");a=new wp.media.view.AttachmentsBrowser({controller:this,collection:c,selection:c,model:b,sortable:!0,search:!1,date:!1,dragInfo:!0,AttachmentView:wp.media.view.Attachments.EditSelection}).render(),a.toolbar.set("backToLibrary",{text:f.returnToLibrary,priority:-100,click:function(){this.controller.content.mode("browse")}}),this.content.set(a),this.trigger("edit:selection",this)},editImageContent:function(){var a=this.state().get("image"),b=new wp.media.view.EditImage({model:a,controller:this}).render();this.content.set(b),b.loadEditor()},selectionStatusToolbar:function(a){var b=this.state().get("editable");a.set("selection",new wp.media.view.Selection({controller:this,collection:this.state().get("selection"),priority:-40,editable:b&&function(){this.controller.content.mode("edit-selection")}}).render())},mainInsertToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("insert",{style:"primary",priority:80,text:f.insertIntoPost,requires:{selection:!0},click:function(){var a=b.state(),c=a.get("selection");b.close(),a.trigger("insert",c).reset()}})},mainGalleryToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("gallery",{style:"primary",text:f.createNewGallery,priority:60,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("gallery-edit"),d=a.where({type:"image"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("gallery-edit"),this.controller.modal.focusManager.focus()}})},mainPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("playlist",{style:"primary",text:f.createNewPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("playlist-edit"),d=a.where({type:"audio"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("playlist-edit"),this.controller.modal.focusManager.focus()}})},mainVideoPlaylistToolbar:function(a){var b=this;this.selectionStatusToolbar(a),a.set("video-playlist",{style:"primary",text:f.createNewVideoPlaylist,priority:100,requires:{selection:!0},click:function(){var a=b.state().get("selection"),c=b.state("video-playlist-edit"),d=a.where({type:"video"});c.set("library",new wp.media.model.Selection(d,{props:a.props.toJSON(),multiple:!0})),this.controller.setState("video-playlist-edit"),this.controller.modal.focusManager.focus()}})},featuredImageToolbar:function(a){this.createSelectToolbar(a,{text:f.setFeaturedImage,state:this.options.state})},mainEmbedToolbar:function(a){a.view=new wp.media.view.Toolbar.Embed({controller:this})},galleryEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?f.updateGallery:f.insertGallery,priority:80,requires:{library:!0},click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",b.get("library")),a.setState(a.options.state),a.reset()}}}}))},galleryAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:f.addToGallery,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("gallery-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("gallery-edit")}}}}))},playlistEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?f.updatePlaylist:f.insertPlaylist,priority:80,requires:{library:!0},click:function(){var a=this.controller,b=a.state();a.close(),b.trigger("update",b.get("library")),a.setState(a.options.state),a.reset()}}}}))},playlistAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:f.addToPlaylist,priority:80,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("playlist-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("playlist-edit")}}}}))},videoPlaylistEditToolbar:function(){var a=this.state().get("editing");this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:a?f.updateVideoPlaylist:f.insertVideoPlaylist,priority:140,requires:{library:!0},click:function(){var a=this.controller,b=a.state(),c=b.get("library");c.type="video",a.close(),b.trigger("update",c),a.setState(a.options.state),a.reset()}}}}))},videoPlaylistAddToolbar:function(){this.toolbar.set(new wp.media.view.Toolbar({controller:this,items:{insert:{style:"primary",text:f.addToVideoPlaylist,priority:140,requires:{selection:!0},click:function(){var a=this.controller,b=a.state(),c=a.state("video-playlist-edit");c.get("library").add(b.get("selection").models),b.trigger("reset"),a.setState("video-playlist-edit")}}}}))}}),b.exports=c},{}],44:[function(a,b){var c,d=wp.media.view.MediaFrame,e=wp.media.view.l10n;c=d.extend({initialize:function(){d.prototype.initialize.apply(this,arguments),_.defaults(this.options,{selection:[],library:{},multiple:!1,state:"library"}),this.createSelection(),this.createStates(),this.bindHandlers()},createSelection:function(){var a=this.options.selection;a instanceof wp.media.model.Selection||(this.options.selection=new wp.media.model.Selection(a,{multiple:this.options.multiple})),this._selection={attachments:new wp.media.model.Attachments,difference:[]}},createStates:function(){var a=this.options;this.options.states||this.states.add([new wp.media.controller.Library({library:wp.media.query(a.library),multiple:a.multiple,title:a.title,priority:20})])},bindHandlers:function(){this.on("router:create:browse",this.createRouter,this),this.on("router:render:browse",this.browseRouter,this),this.on("content:create:browse",this.browseContent,this),this.on("content:render:upload",this.uploadContent,this),this.on("toolbar:create:select",this.createSelectToolbar,this)},browseRouter:function(a){a.set({upload:{text:e.uploadFilesTitle,priority:20},browse:{text:e.mediaLibraryTitle,priority:40}})},browseContent:function(a){var b=this.state();this.$el.removeClass("hide-toolbar"),a.view=new wp.media.view.AttachmentsBrowser({controller:this,collection:b.get("library"),selection:b.get("selection"),model:b,sortable:b.get("sortable"),search:b.get("searchable"),filters:b.get("filterable"),date:b.get("date"),display:b.get(b.has("display")?"display":"displaySettings"),dragInfo:b.get("dragInfo"),idealColumnWidth:b.get("idealColumnWidth"),suggestedWidth:b.get("suggestedWidth"),suggestedHeight:b.get("suggestedHeight"),AttachmentView:b.get("AttachmentView")})},uploadContent:function(){this.$el.removeClass("hide-toolbar"),this.content.set(new wp.media.view.UploaderInline({controller:this}))},createSelectToolbar:function(a,b){b=b||this.options.button||{},b.controller=this,a.view=new wp.media.view.Toolbar.Select(b)}}),b.exports=c},{}],45:[function(a,b){var c=wp.media.View.extend({className:"media-iframe",render:function(){return this.views.detach(),this.$el.html('<iframe src="'+this.controller.state().get("src")+'" />'),this.views.render(),this}});b.exports=c},{}],46:[function(a,b){var c,d=wp.media.view.Settings.AttachmentDisplay,e=jQuery;c=d.extend({className:"image-details",template:wp.template("image-details"),events:_.defaults(d.prototype.events,{"click .edit-attachment":"editAttachment","click .replace-attachment":"replaceAttachment","click .advanced-toggle":"onToggleAdvanced",'change [data-setting="customWidth"]':"onCustomSize",'change [data-setting="customHeight"]':"onCustomSize",'keyup [data-setting="customWidth"]':"onCustomSize",'keyup [data-setting="customHeight"]':"onCustomSize"}),initialize:function(){this.options.attachment=this.model.attachment,this.listenTo(this.model,"change:url",this.updateUrl),this.listenTo(this.model,"change:link",this.toggleLinkSettings),this.listenTo(this.model,"change:size",this.toggleCustomSize),d.prototype.initialize.apply(this,arguments)},prepare:function(){var a=!1;return this.model.attachment&&(a=this.model.attachment.toJSON()),_.defaults({model:this.model.toJSON(),attachment:a},this.options)},render:function(){var a=arguments;return this.model.attachment&&"pending"===this.model.dfd.state()?this.model.dfd.done(_.bind(function(){d.prototype.render.apply(this,a),this.postRender()},this)).fail(_.bind(function(){this.model.attachment=!1,d.prototype.render.apply(this,a),this.postRender()},this)):(d.prototype.render.apply(this,arguments),this.postRender()),this},postRender:function(){setTimeout(_.bind(this.resetFocus,this),10),this.toggleLinkSettings(),"show"===window.getUserSetting("advImgDetails")&&this.toggleAdvanced(!0),this.trigger("post-render")},resetFocus:function(){this.$(".link-to-custom").blur(),this.$(".embed-media-settings").scrollTop(0)},updateUrl:function(){this.$(".image img").attr("src",this.model.get("url")),this.$(".url").val(this.model.get("url"))},toggleLinkSettings:function(){"none"===this.model.get("link")?this.$(".link-settings").addClass("hidden"):this.$(".link-settings").removeClass("hidden")},toggleCustomSize:function(){"custom"!==this.model.get("size")?this.$(".custom-size").addClass("hidden"):this.$(".custom-size").removeClass("hidden")},onCustomSize:function(a){var b,c=e(a.target).data("setting"),d=e(a.target).val();return!/^\d+/.test(d)||parseInt(d,10)<1?void a.preventDefault():void("customWidth"===c?(b=Math.round(1/this.model.get("aspectRatio")*d),this.model.set("customHeight",b,{silent:!0}),this.$('[data-setting="customHeight"]').val(b)):(b=Math.round(this.model.get("aspectRatio")*d),this.model.set("customWidth",b,{silent:!0}),this.$('[data-setting="customWidth"]').val(b)))},onToggleAdvanced:function(a){a.preventDefault(),this.toggleAdvanced()},toggleAdvanced:function(a){var b,c=this.$el.find(".advanced-section");c.hasClass("advanced-visible")||a===!1?(c.removeClass("advanced-visible"),c.find(".advanced-settings").addClass("hidden"),b="hide"):(c.addClass("advanced-visible"),c.find(".advanced-settings").removeClass("hidden"),b="show"),window.setUserSetting("advImgDetails",b)},editAttachment:function(a){var b=this.controller.states.get("edit-image");window.imageEdit&&b&&(a.preventDefault(),b.set("image",this.model.attachment),this.controller.setState("edit-image"))},replaceAttachment:function(a){a.preventDefault(),this.controller.setState("replace-image")}}),b.exports=c},{}],47:[function(a,b){var c=wp.media.View.extend({tagName:"label",className:"screen-reader-text",initialize:function(){this.value=this.options.value},render:function(){return this.$el.html(this.value),this}});b.exports=c},{}],48:[function(a,b){var c,d=wp.media.view.Frame,e=jQuery;c=d.extend({className:"media-frame",template:wp.template("media-frame"),regions:["menu","title","content","toolbar","router"],events:{"click div.media-frame-title h1":"toggleMenu"},initialize:function(){d.prototype.initialize.apply(this,arguments),_.defaults(this.options,{title:"",modal:!0,uploader:!0}),this.$el.addClass("wp-core-ui"),this.options.modal&&(this.modal=new wp.media.view.Modal({controller:this,title:this.options.title}),this.modal.content(this)),(wp.Uploader.limitExceeded||!wp.Uploader.browser.supported)&&(this.options.uploader=!1),this.options.uploader&&(this.uploader=new wp.media.view.UploaderWindow({controller:this,uploader:{dropzone:this.modal?this.modal.$el:this.$el,container:this.$el}}),this.views.set(".media-frame-uploader",this.uploader)),this.on("attach",_.bind(this.views.ready,this.views),this),this.on("title:create:default",this.createTitle,this),this.title.mode("default"),this.on("title:render",function(a){a.$el.append('<span class="dashicons dashicons-arrow-down"></span>')}),this.on("menu:create:default",this.createMenu,this)},render:function(){return!this.state()&&this.options.state&&this.setState(this.options.state),d.prototype.render.apply(this,arguments)},createTitle:function(a){a.view=new wp.media.View({controller:this,tagName:"h1"})},createMenu:function(a){a.view=new wp.media.view.Menu({controller:this})},toggleMenu:function(){this.$el.find(".media-menu").toggleClass("visible")},createToolbar:function(a){a.view=new wp.media.view.Toolbar({controller:this})},createRouter:function(a){a.view=new wp.media.view.Router({controller:this})},createIframeStates:function(a){var b,c=wp.media.view.settings,d=c.tabs,f=c.tabUrl;d&&f&&(b=e("#post_ID"),b.length&&(f+="&post_id="+b.val()),_.each(d,function(b,c){this.state("iframe:"+c).set(_.defaults({tab:c,src:f+"&tab="+c,title:b,content:"iframe",menu:"default"},a))},this),this.on("content:create:iframe",this.iframeContent,this),this.on("content:deactivate:iframe",this.iframeContentCleanup,this),this.on("menu:render:default",this.iframeMenu,this),this.on("open",this.hijackThickbox,this),this.on("close",this.restoreThickbox,this))},iframeContent:function(a){this.$el.addClass("hide-toolbar"),a.view=new wp.media.view.Iframe({controller:this})},iframeContentCleanup:function(){this.$el.removeClass("hide-toolbar")},iframeMenu:function(a){var b={};a&&(_.each(wp.media.view.settings.tabs,function(a,c){b["iframe:"+c]={text:this.state("iframe:"+c).get("title"),priority:200}},this),a.set(b))},hijackThickbox:function(){var a=this;window.tb_remove&&!this._tb_remove&&(this._tb_remove=window.tb_remove,window.tb_remove=function(){a.close(),a.reset(),a.setState(a.options.state),a._tb_remove.call(window)})},restoreThickbox:function(){this._tb_remove&&(window.tb_remove=this._tb_remove,delete this._tb_remove)}}),_.each(["open","close","attach","detach","escape"],function(a){c.prototype[a]=function(){return this.modal&&this.modal[a].apply(this.modal,arguments),this}}),b.exports=c},{}],49:[function(a,b){var c,d=jQuery;c=wp.media.View.extend({tagName:"a",className:"media-menu-item",attributes:{href:"#"},events:{click:"_click"},_click:function(a){var b=this.options.click;a&&a.preventDefault(),b?b.call(this):this.click(),wp.media.isTouchDevice||d(".media-frame-content input").first().focus()},click:function(){var a=this.options.state;a&&(this.controller.setState(a),this.views.parent.$el.removeClass("visible"))},render:function(){var a=this.options;return a.text?this.$el.text(a.text):a.html&&this.$el.html(a.html),this}}),b.exports=c},{}],50:[function(a,b){var c,d=wp.media.view.MenuItem,e=wp.media.view.PriorityList;c=e.extend({tagName:"div",className:"media-menu",property:"state",ItemView:d,region:"menu",toView:function(a,b){return a=a||{},a[this.property]=a[this.property]||b,new this.ItemView(a).render()},ready:function(){e.prototype.ready.apply(this,arguments),this.visibility()},set:function(){e.prototype.set.apply(this,arguments),this.visibility()},unset:function(){e.prototype.unset.apply(this,arguments),this.visibility()},visibility:function(){var a=this.region,b=this.controller[a].get(),c=this.views.get(),d=!c||c.length<2;this===b&&this.controller.$el.toggleClass("hide-"+a,d)},select:function(a){var b=this.get(a);b&&(this.deselect(),b.$el.addClass("active"))},deselect:function(){this.$el.children().removeClass("active")},hide:function(a){var b=this.get(a);b&&b.$el.addClass("hidden")},show:function(a){var b=this.get(a);b&&b.$el.removeClass("hidden")}}),b.exports=c},{}],51:[function(a,b){var c,d=jQuery;c=wp.media.View.extend({tagName:"div",template:wp.template("media-modal"),attributes:{tabindex:0},events:{"click .media-modal-backdrop, .media-modal-close":"escapeHandler",keydown:"keydown"},initialize:function(){_.defaults(this.options,{container:document.body,title:"",propagate:!0,freeze:!0}),this.focusManager=new wp.media.view.FocusManager({el:this.el})},prepare:function(){return{title:this.options.title}},attach:function(){return this.views.attached?this:(this.views.rendered||this.render(),this.$el.appendTo(this.options.container),this.views.attached=!0,this.views.ready(),this.propagate("attach"))},detach:function(){return this.$el.is(":visible")&&this.close(),this.$el.detach(),this.views.attached=!1,this.propagate("detach")},open:function(){var a,b=this.$el,c=this.options;return b.is(":visible")?this:(this.views.attached||this.attach(),c.freeze&&(this._freeze={scrollTop:d(window).scrollTop()}),d("body").addClass("modal-open"),b.show(),"ontouchend"in document&&(a=window.tinymce&&window.tinymce.activeEditor)&&!a.isHidden()&&a.iframeElement&&(a.iframeElement.focus(),a.iframeElement.blur(),setTimeout(function(){a.iframeElement.blur()},100)),this.$el.focus(),this.propagate("open"))},close:function(a){var b=this._freeze;return this.views.attached&&this.$el.is(":visible")?(d("body").removeClass("modal-open"),this.$el.hide().undelegate("keydown"),d("#wpbody-content").focus(),this.propagate("close"),b&&d(window).scrollTop(b.scrollTop),a&&a.escape&&this.propagate("escape"),this):this},escape:function(){return this.close({escape:!0})},escapeHandler:function(a){a.preventDefault(),this.escape()},content:function(a){return this.views.set(".media-modal-content",a),this},propagate:function(a){return this.trigger(a),this.options.propagate&&this.controller.trigger(a),this},keydown:function(a){27===a.which&&this.$el.is(":visible")&&(this.escape(),a.stopImmediatePropagation())}}),b.exports=c},{}],52:[function(a,b){var c=wp.media.View.extend({tagName:"div",initialize:function(){this._views={},this.set(_.extend({},this._views,this.options.views),{silent:!0}),delete this.options.views,this.options.silent||this.render()},set:function(a,b,c){var d,e,f;return c=c||{},_.isObject(a)?(_.each(a,function(a,b){this.set(b,a)},this),this):(b instanceof Backbone.View||(b=this.toView(b,a,c)),b.controller=b.controller||this.controller,this.unset(a),d=b.options.priority||10,e=this.views.get()||[],_.find(e,function(a,b){return a.options.priority>d?(f=b,!0):void 0}),this._views[a]=b,this.views.add(b,{at:_.isNumber(f)?f:e.length||0}),this)},get:function(a){return this._views[a]},unset:function(a){var b=this.get(a);return b&&b.remove(),delete this._views[a],this},toView:function(a){return new wp.media.View(a)}});b.exports=c},{}],53:[function(a,b){var c=wp.media.view.MenuItem.extend({click:function(){var a=this.options.contentMode;a&&this.controller.content.mode(a)}});b.exports=c},{}],54:[function(a,b){var c,d=wp.media.view.Menu;c=d.extend({tagName:"div",className:"media-router",property:"contentMode",ItemView:wp.media.view.RouterItem,region:"router",initialize:function(){this.controller.on("content:render",this.update,this),d.prototype.initialize.apply(this,arguments)},update:function(){var a=this.controller.content.mode();a&&this.select(a)}}),b.exports=c},{}],55:[function(a,b){var c,d=wp.media.view.l10n;c=wp.media.View.extend({tagName:"input",className:"search",id:"media-search-input",attributes:{type:"search",placeholder:d.search},events:{input:"search",keyup:"search",change:"search",search:"search"},render:function(){return this.el.value=this.model.escape("search"),this},search:function(a){a.target.value?this.model.set("search",a.target.value):this.model.unset("search")}}),b.exports=c},{}],56:[function(a,b){var c,d=wp.media.view.l10n;c=wp.media.View.extend({tagName:"div",className:"media-selection",template:wp.template("media-selection"),events:{"click .edit-selection":"edit","click .clear-selection":"clear"},initialize:function(){_.defaults(this.options,{editable:!1,clearable:!0}),this.attachments=new wp.media.view.Attachments.Selection({controller:this.controller,collection:this.collection,selection:this.collection,model:new Backbone.Model}),this.views.set(".selection-view",this.attachments),this.collection.on("add remove reset",this.refresh,this),this.controller.on("content:activate",this.refresh,this)},ready:function(){this.refresh()},refresh:function(){if(this.$el.children().length){var a=this.collection,b="edit-selection"===this.controller.content.mode();this.$el.toggleClass("empty",!a.length),this.$el.toggleClass("one",1===a.length),this.$el.toggleClass("editing",b),this.$(".count").text(d.selected.replace("%d",a.length))}},edit:function(a){a.preventDefault(),this.options.editable&&this.options.editable.call(this,this.collection)},clear:function(a){a.preventDefault(),this.collection.reset(),this.controller.modal.focusManager.focus()}}),b.exports=c},{}],57:[function(a,b){var c,d=wp.media.View,e=Backbone.$;c=d.extend({events:{"click button":"updateHandler","change input":"updateHandler","change select":"updateHandler","change textarea":"updateHandler"},initialize:function(){this.model=this.model||new Backbone.Model,this.listenTo(this.model,"change",this.updateChanges)},prepare:function(){return _.defaults({model:this.model.toJSON()},this.options)},render:function(){return d.prototype.render.apply(this,arguments),_(this.model.attributes).chain().keys().each(this.update,this),this},update:function(a){var b,c,d=this.model.get(a),e=this.$('[data-setting="'+a+'"]');e.length&&(e.is("select")?(c=e.find('[value="'+d+'"]'),c.length?(e.find("option").prop("selected",!1),c.prop("selected",!0)):this.model.set(a,e.find(":selected").val())):e.hasClass("button-group")?(b=e.find("button").removeClass("active"),b.filter('[value="'+d+'"]').addClass("active")):e.is('input[type="text"], textarea')?e.is(":focus")||e.val(d):e.is('input[type="checkbox"]')&&e.prop("checked",!!d&&"false"!==d))},updateHandler:function(a){var b,c=e(a.target).closest("[data-setting]"),d=a.target.value;a.preventDefault(),c.length&&(c.is('input[type="checkbox"]')&&(d=c[0].checked),this.model.set(c.data("setting"),d),(b=c.data("userSetting"))&&window.setUserSetting(b,d))},updateChanges:function(a){a.hasChanged()&&_(a.changed).chain().keys().each(this.update,this)}}),b.exports=c},{}],58:[function(a,b){var c,d=wp.media.view.Settings;c=d.extend({className:"attachment-display-settings",template:wp.template("attachment-display-settings"),initialize:function(){var a=this.options.attachment;_.defaults(this.options,{userSettings:!1}),d.prototype.initialize.apply(this,arguments),this.listenTo(this.model,"change:link",this.updateLinkTo),a&&a.on("change:uploading",this.render,this)},dispose:function(){var a=this.options.attachment;a&&a.off(null,null,this),d.prototype.dispose.apply(this,arguments)},render:function(){var a=this.options.attachment;return a&&_.extend(this.options,{sizes:a.get("sizes"),type:a.get("type")}),d.prototype.render.call(this),this.updateLinkTo(),this},updateLinkTo:function(){var a=this.model.get("link"),b=this.$(".link-to-custom"),c=this.options.attachment;return"none"===a||"embed"===a||!c&&"custom"!==a?void b.addClass("hidden"):(c&&("post"===a?b.val(c.get("link")):"file"===a?b.val(c.get("url")):this.model.get("linkUrl")||b.val("http://"),b.prop("readonly","custom"!==a)),b.removeClass("hidden"),void(!wp.media.isTouchDevice&&b.is(":visible")&&b.focus()[0].select()))}}),b.exports=c},{}],59:[function(a,b){var c=wp.media.view.Settings.extend({className:"collection-settings gallery-settings",template:wp.template("gallery-settings")});b.exports=c},{}],60:[function(a,b){var c=wp.media.view.Settings.extend({className:"collection-settings playlist-settings",template:wp.template("playlist-settings")});b.exports=c},{}],61:[function(a,b){var c=wp.media.view.PriorityList.extend({className:"media-sidebar"});b.exports=c},{}],62:[function(a,b){var c=wp.media.View.extend({tagName:"span",className:"spinner",spinnerTimeout:!1,delay:400,show:function(){return this.spinnerTimeout||(this.spinnerTimeout=_.delay(function(a){a.addClass("is-active")},this.delay,this.$el)),this},hide:function(){return this.$el.removeClass("is-active"),this.spinnerTimeout=clearTimeout(this.spinnerTimeout),this}});b.exports=c},{}],63:[function(a,b){var c,d=wp.media.View;c=d.extend({tagName:"div",className:"media-toolbar",initialize:function(){var a=this.controller.state(),b=this.selection=a.get("selection"),c=this.library=a.get("library");this._views={},this.primary=new wp.media.view.PriorityList,this.secondary=new wp.media.view.PriorityList,this.primary.$el.addClass("media-toolbar-primary search-form"),this.secondary.$el.addClass("media-toolbar-secondary"),this.views.set([this.secondary,this.primary]),this.options.items&&this.set(this.options.items,{silent:!0}),this.options.silent||this.render(),b&&b.on("add remove reset",this.refresh,this),c&&c.on("add remove reset",this.refresh,this)},dispose:function(){return this.selection&&this.selection.off(null,null,this),this.library&&this.library.off(null,null,this),d.prototype.dispose.apply(this,arguments)},ready:function(){this.refresh()},set:function(a,b,c){var d;return c=c||{},_.isObject(a)?_.each(a,function(a,b){this.set(b,a,{silent:!0})},this):(b instanceof Backbone.View||(b.classes=["media-button-"+a].concat(b.classes||[]),b=new wp.media.view.Button(b).render()),b.controller=b.controller||this.controller,this._views[a]=b,d=b.options.priority<0?"secondary":"primary",this[d].set(a,b,c)),c.silent||this.refresh(),this},get:function(a){return this._views[a]},unset:function(a,b){return delete this._views[a],this.primary.unset(a,b),this.secondary.unset(a,b),b&&b.silent||this.refresh(),this},refresh:function(){var a=this.controller.state(),b=a.get("library"),c=a.get("selection");_.each(this._views,function(a){if(a.model&&a.options&&a.options.requires){var d=a.options.requires,e=!1;e=_.some(c.models,function(a){return a.get("uploading")===!0}),d.selection&&c&&!c.length?e=!0:d.library&&b&&!b.length&&(e=!0),a.model.set("disabled",e)}})}}),b.exports=c},{}],64:[function(a,b){var c,d=wp.media.view.Toolbar.Select,e=wp.media.view.l10n;c=d.extend({initialize:function(){_.defaults(this.options,{text:e.insertIntoPost,requires:!1}),d.prototype.initialize.apply(this,arguments)},refresh:function(){var a=this.controller.state().props.get("url");this.get("select").model.set("disabled",!a||"http://"===a),d.prototype.refresh.apply(this,arguments)}}),b.exports=c},{}],65:[function(a,b){var c,d=wp.media.view.Toolbar,e=wp.media.view.l10n;c=d.extend({initialize:function(){var a=this.options;_.bindAll(this,"clickSelect"),_.defaults(a,{event:"select",state:!1,reset:!0,close:!0,text:e.select,requires:{selection:!0}}),a.items=_.defaults(a.items||{},{select:{style:"primary",text:a.text,priority:80,click:this.clickSelect,requires:a.requires}}),d.prototype.initialize.apply(this,arguments)},clickSelect:function(){var a=this.options,b=this.controller;a.close&&b.close(),a.event&&b.state().trigger(a.event),a.state&&b.setState(a.state),a.reset&&b.reset()}}),b.exports=c},{}],66:[function(a,b){var c,d=wp.media.View,e=wp.media.view.l10n,f=jQuery;c=d.extend({tagName:"div",className:"uploader-editor",template:wp.template("uploader-editor"),localDrag:!1,overContainer:!1,overDropzone:!1,draggingFile:null,initialize:function(){return this.initialized=!1,window.tinyMCEPreInit&&window.tinyMCEPreInit.dragDropUpload&&this.browserSupport()?(this.$document=f(document),this.dropzones=[],this.files=[],this.$document.on("drop",".uploader-editor",_.bind(this.drop,this)),this.$document.on("dragover",".uploader-editor",_.bind(this.dropzoneDragover,this)),this.$document.on("dragleave",".uploader-editor",_.bind(this.dropzoneDragleave,this)),this.$document.on("click",".uploader-editor",_.bind(this.click,this)),this.$document.on("dragover",_.bind(this.containerDragover,this)),this.$document.on("dragleave",_.bind(this.containerDragleave,this)),this.$document.on("dragstart dragend drop",_.bind(function(a){this.localDrag="dragstart"===a.type},this)),this.initialized=!0,this):this},browserSupport:function(){var a=!1,b=document.createElement("div");return a="draggable"in b||"ondragstart"in b&&"ondrop"in b,a=a&&!!(window.File&&window.FileList&&window.FileReader)},isDraggingFile:function(a){return null!==this.draggingFile?this.draggingFile:_.isUndefined(a.originalEvent)||_.isUndefined(a.originalEvent.dataTransfer)?!1:(this.draggingFile=_.indexOf(a.originalEvent.dataTransfer.types,"Files")>-1&&-1===_.indexOf(a.originalEvent.dataTransfer.types,"text/plain"),this.draggingFile)},refresh:function(a){var b;for(b in this.dropzones)this.dropzones[b].toggle(this.overContainer||this.overDropzone);return _.isUndefined(a)||f(a.target).closest(".uploader-editor").toggleClass("droppable",this.overDropzone),this.overContainer||this.overDropzone||(this.draggingFile=null),this},render:function(){return this.initialized?(d.prototype.render.apply(this,arguments),f(".wp-editor-wrap, #wp-fullscreen-body").each(_.bind(this.attach,this)),this):this},attach:function(a,b){var c=this.$el.clone();return this.dropzones.push(c),f(b).append(c),this},drop:function(a){var b,c=null;return this.containerDragleave(a),this.dropzoneDragleave(a),this.files=a.originalEvent.dataTransfer.files,this.files.length<1?void 0:(c=f(a.target).parents(".wp-editor-wrap"),c.length>0&&c[0].id&&(window.wpActiveEditor=c[0].id.slice(3,-5)),this.workflow?(this.workflow.state().reset(),this.addFiles.apply(this),this.workflow.open()):(this.workflow=wp.media.editor.open("content",{frame:"post",state:"insert",title:e.addMedia,multiple:!0}),b=this.workflow.uploader,b.uploader&&b.uploader.ready?this.addFiles.apply(this):this.workflow.on("uploader:ready",this.addFiles,this)),!1)},addFiles:function(){return this.files.length&&(this.workflow.uploader.uploader.uploader.addFile(_.toArray(this.files)),this.files=[]),this},containerDragover:function(a){!this.localDrag&&this.isDraggingFile(a)&&(this.overContainer=!0,this.refresh())},containerDragleave:function(){this.overContainer=!1,_.delay(_.bind(this.refresh,this),50)},dropzoneDragover:function(a){return!this.localDrag&&this.isDraggingFile(a)?(this.overDropzone=!0,this.refresh(a),!1):void 0},dropzoneDragleave:function(a){this.overDropzone=!1,_.delay(_.bind(this.refresh,this,a),50)},click:function(a){this.containerDragleave(a),this.dropzoneDragleave(a),this.localDrag=!1}}),b.exports=c},{}],67:[function(a,b){var c,d=wp.media.View;c=d.extend({tagName:"div",className:"uploader-inline",template:wp.template("uploader-inline"),events:{"click .close":"hide"},initialize:function(){_.defaults(this.options,{message:"",status:!0,canClose:!1}),!this.options.$browser&&this.controller.uploader&&(this.options.$browser=this.controller.uploader.$browser),_.isUndefined(this.options.postId)&&(this.options.postId=wp.media.view.settings.post.id),
+this.options.status&&this.views.set(".upload-inline-status",new wp.media.view.UploaderStatus({controller:this.controller}))},prepare:function(){var a=this.controller.state().get("suggestedWidth"),b=this.controller.state().get("suggestedHeight"),c={};return c.message=this.options.message,c.canClose=this.options.canClose,a&&b&&(c.suggestedWidth=a,c.suggestedHeight=b),c},dispose:function(){return this.disposing?d.prototype.dispose.apply(this,arguments):(this.disposing=!0,this.remove())},remove:function(){var a=d.prototype.remove.apply(this,arguments);return _.defer(_.bind(this.refresh,this)),a},refresh:function(){var a=this.controller.uploader;a&&a.refresh()},ready:function(){var a,b=this.options.$browser;if(this.controller.uploader){if(a=this.$(".browser"),a[0]===b[0])return;b.detach().text(a.text()),b[0].className=a[0].className,a.replaceWith(b.show())}return this.refresh(),this},show:function(){this.$el.removeClass("hidden")},hide:function(){this.$el.addClass("hidden")}}),b.exports=c},{}],68:[function(a,b){var c=wp.media.View.extend({className:"upload-error",template:wp.template("uploader-status-error")});b.exports=c},{}],69:[function(a,b){var c,d=wp.media.View;c=d.extend({className:"media-uploader-status",template:wp.template("uploader-status"),events:{"click .upload-dismiss-errors":"dismiss"},initialize:function(){this.queue=wp.Uploader.queue,this.queue.on("add remove reset",this.visibility,this),this.queue.on("add remove reset change:percent",this.progress,this),this.queue.on("add remove reset change:uploading",this.info,this),this.errors=wp.Uploader.errors,this.errors.reset(),this.errors.on("add remove reset",this.visibility,this),this.errors.on("add",this.error,this)},dispose:function(){return wp.Uploader.queue.off(null,null,this),d.prototype.dispose.apply(this,arguments),this},visibility:function(){this.$el.toggleClass("uploading",!!this.queue.length),this.$el.toggleClass("errors",!!this.errors.length),this.$el.toggle(!!this.queue.length||!!this.errors.length)},ready:function(){_.each({$bar:".media-progress-bar div",$index:".upload-index",$total:".upload-total",$filename:".upload-filename"},function(a,b){this[b]=this.$(a)},this),this.visibility(),this.progress(),this.info()},progress:function(){var a=this.queue,b=this.$bar;b&&a.length&&b.width(a.reduce(function(a,b){if(!b.get("uploading"))return a+100;var c=b.get("percent");return a+(_.isNumber(c)?c:100)},0)/a.length+"%")},info:function(){var a,b=this.queue,c=0;b.length&&(a=this.queue.find(function(a,b){return c=b,a.get("uploading")}),this.$index.text(c+1),this.$total.text(b.length),this.$filename.html(a?this.filename(a.get("filename")):""))},filename:function(a){return wp.media.truncate(_.escape(a),24)},error:function(a){this.views.add(".upload-errors",new wp.media.view.UploaderStatusError({filename:this.filename(a.get("file").name),message:a.get("message")}),{at:0})},dismiss:function(a){var b=this.views.get(".upload-errors");a.preventDefault(),b&&_.invoke(b,"remove"),wp.Uploader.errors.reset()}}),b.exports=c},{}],70:[function(a,b){var c,d=jQuery;c=wp.media.View.extend({tagName:"div",className:"uploader-window",template:wp.template("uploader-window"),initialize:function(){var a;this.$browser=d('<a href="#" class="browser" />').hide().appendTo("body"),a=this.options.uploader=_.defaults(this.options.uploader||{},{dropzone:this.$el,browser:this.$browser,params:{}}),!a.dropzone||a.dropzone instanceof d||(a.dropzone=d(a.dropzone)),this.controller.on("activate",this.refresh,this),this.controller.on("detach",function(){this.$browser.remove()},this)},refresh:function(){this.uploader&&this.uploader.refresh()},ready:function(){var a,b=wp.media.view.settings.post.id;this.uploader||(b&&(this.options.uploader.params.post_id=b),this.uploader=new wp.Uploader(this.options.uploader),a=this.uploader.dropzone,a.on("dropzone:enter",_.bind(this.show,this)),a.on("dropzone:leave",_.bind(this.hide,this)),d(this.uploader).on("uploader:ready",_.bind(this._ready,this)))},_ready:function(){this.controller.trigger("uploader:ready")},show:function(){var a=this.$el.show();_.defer(function(){a.css({opacity:1})})},hide:function(){var a=this.$el.css({opacity:0});wp.media.transition(a).done(function(){"0"===a.css("opacity")&&a.hide()}),_.delay(function(){"0"===a.css("opacity")&&a.is(":visible")&&a.hide()},500)}}),b.exports=c},{}],71:[function(a,b){var c=wp.Backbone.View.extend({constructor:function(a){a&&a.controller&&(this.controller=a.controller),wp.Backbone.View.apply(this,arguments)},dispose:function(){return this.undelegateEvents(),this.model&&this.model.off&&this.model.off(null,null,this),this.collection&&this.collection.off&&this.collection.off(null,null,this),this.controller&&this.controller.off&&this.controller.off(null,null,this),this},remove:function(){return this.dispose(),wp.Backbone.View.prototype.remove.apply(this,arguments)}});b.exports=c},{}]},{},[17]);
\ No newline at end of file
index 534a55ed628193ad7539422669b6cd4203880682..fd9660469fff5ae2423b027e2a3a70256eb9e4db 100644 (file)
Binary files a/wp-includes/js/mediaelement/flashmediaelement.swf and b/wp-includes/js/mediaelement/flashmediaelement.swf differ
diff --git a/wp-includes/js/mediaelement/froogaloop.min.js b/wp-includes/js/mediaelement/froogaloop.min.js
new file mode 100644 (file)
index 0000000..648698d
--- /dev/null
@@ -0,0 +1,4 @@
+var Froogaloop=function(){function e(a){return new e.fn.init(a)}function h(a,c,b){if(!b.contentWindow.postMessage)return!1;var f=b.getAttribute("src").split("?")[0],a=JSON.stringify({method:a,value:c});"//"===f.substr(0,2)&&(f=window.location.protocol+f);b.contentWindow.postMessage(a,f)}function j(a){var c,b;try{c=JSON.parse(a.data),b=c.event||c.method}catch(f){}"ready"==b&&!i&&(i=!0);if(a.origin!=k)return!1;var a=c.value,e=c.data,g=""===g?null:c.player_id;c=g?d[g][b]:d[b];b=[];if(!c)return!1;void 0!==
+a&&b.push(a);e&&b.push(e);g&&b.push(g);return 0<b.length?c.apply(null,b):c.call()}function l(a,c,b){b?(d[b]||(d[b]={}),d[b][a]=c):d[a]=c}var d={},i=!1,k="";e.fn=e.prototype={element:null,init:function(a){"string"===typeof a&&(a=document.getElementById(a));this.element=a;a=this.element.getAttribute("src");"//"===a.substr(0,2)&&(a=window.location.protocol+a);for(var a=a.split("/"),c="",b=0,f=a.length;b<f;b++){if(3>b)c+=a[b];else break;2>b&&(c+="/")}k=c;return this},api:function(a,c){if(!this.element||
+!a)return!1;var b=this.element,f=""!==b.id?b.id:null,d=!c||!c.constructor||!c.call||!c.apply?c:null,e=c&&c.constructor&&c.call&&c.apply?c:null;e&&l(a,e,f);h(a,d,b);return this},addEvent:function(a,c){if(!this.element)return!1;var b=this.element,d=""!==b.id?b.id:null;l(a,c,d);"ready"!=a?h("addEventListener",a,b):"ready"==a&&i&&c.call(null,d);return this},removeEvent:function(a){if(!this.element)return!1;var c=this.element,b;a:{if((b=""!==c.id?c.id:null)&&d[b]){if(!d[b][a]){b=!1;break a}d[b][a]=null}else{if(!d[a]){b=
+!1;break a}d[a]=null}b=!0}"ready"!=a&&b&&h("removeEventListener",a,c)}};e.fn.init.prototype=e.fn;window.addEventListener?window.addEventListener("message",j,!1):window.attachEvent("onmessage",j);return window.Froogaloop=window.$f=e}();
\ No newline at end of file
index 6e2894230ef3d896f398d728a0fb30ca3d8da710..0132a22759ae14eb660eeb51beea2cd6635c9d60 100644 (file)
@@ -12,7 +12,7 @@
  * License: MIT
  *
  */
-function onYouTubePlayerAPIReady(){mejs.YouTubeApi.iFrameReady()}function onYouTubePlayerReady(a){mejs.YouTubeApi.flashReady(a)}var mejs=mejs||{};mejs.version="2.16.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","application/x-mpegURL"]}],youtube:[{version:null,types:["video/youtube","video/x-youtube","audio/youtube","audio/x-youtube"]}],vimeo:[{version:null,types:["video/vimeo","video/x-vimeo"]}]},mejs.Utility={encodeUrl:function(a){return encodeURIComponent(a)},escapeHTML:function(a){return a.toString().split("&").join("&amp;").split("<").join("&lt;").split('"').join("&quot;")},absolutizeUrl:function(a){var b=document.createElement("div");return b.innerHTML='<a href="'+this.escapeHTML(a)+'">x</a>',b.firstChild.href},getScriptPath:function(a){for(var b,c,d,e,f,g,h=0,i="",j="",k=document.getElementsByTagName("script"),l=k.length,m=a.length;l>h;h++){for(e=k[h].src,c=e.lastIndexOf("/"),c>-1?(g=e.substring(c+1),f=e.substring(0,c+1)):(g=e,f=""),b=0;m>b;b++)if(j=a[b],d=g.indexOf(j),d>-1){i=f;break}if(""!==i)break}return i},secondsToTimeCode:function(a,b,c,d){"undefined"==typeof c?c=!1:"undefined"==typeof d&&(d=25);var e=Math.floor(a/3600)%24,f=Math.floor(a/60)%60,g=Math.floor(a%60),h=Math.floor((a%1*d).toFixed(3)),i=(b||e>0?(10>e?"0"+e:e)+":":"")+(10>f?"0"+f:f)+":"+(10>g?"0"+g:g)+(c?":"+(10>h?"0"+h:h):"");return i},timeCodeToSeconds:function(a,b,c,d){"undefined"==typeof c?c=!1:"undefined"==typeof d&&(d=25);var e=a.split(":"),f=parseInt(e[0],10),g=parseInt(e[1],10),h=parseInt(e[2],10),i=0,j=0;return c&&(i=parseInt(e[3])/d),j=3600*f+60*g+h+i},convertSMPTEtoSeconds:function(a){if("string"!=typeof a)return!1;a=a.replace(",",".");var b=0,c=-1!=a.indexOf(".")?a.split(".")[1].length:0,d=1;a=a.split(":").reverse();for(var e=0;e<a.length;e++)d=1,e>0&&(d=Math.pow(60,e)),b+=Number(a[e])*d;return Number(b.toFixed(c))},removeSwf:function(a){var b=document.getElementById(a);b&&/object|embed/i.test(b.nodeName)&&(mejs.MediaFeatures.isIE?(b.style.display="none",function(){4==b.readyState?mejs.Utility.removeObjectInIE(a):setTimeout(arguments.callee,10)}()):b.parentNode.removeChild(b))},removeObjectInIE:function(a){var b=document.getElementById(a);if(b){for(var c in b)"function"==typeof b[c]&&(b[c]=null);b.parentNode.removeChild(b)}}},mejs.PluginDetector={hasPluginVersion:function(a,b){var c=this.plugins[a];return b[1]=b[1]||0,b[2]=b[2]||0,c[0]>b[0]||c[0]==b[0]&&c[1]>b[1]||c[0]==b[0]&&c[1]==b[1]&&c[2]>=b[2]?!0:!1},nav:window.navigator,ua:window.navigator.userAgent.toLowerCase(),plugins:[],addPlugin:function(a,b,c,d,e){this.plugins[a]=this.detectPlugin(b,c,d,e)},detectPlugin:function(a,b,c,d){var e,f,g,h=[0,0,0];if("undefined"!=typeof this.nav.plugins&&"object"==typeof this.nav.plugins[a]){if(e=this.nav.plugins[a].description,e&&("undefined"==typeof this.nav.mimeTypes||!this.nav.mimeTypes[b]||this.nav.mimeTypes[b].enabledPlugin))for(h=e.replace(a,"").replace(/^\s+/,"").replace(/\sr/gi,".").split("."),f=0;f<h.length;f++)h[f]=parseInt(h[f].match(/\d+/),10)}else if("undefined"!=typeof window.ActiveXObject)try{g=new ActiveXObject(c),g&&(h=d(g))}catch(i){}return h}},mejs.PluginDetector.addPlugin("flash","Shockwave Flash","application/x-shockwave-flash","ShockwaveFlash.ShockwaveFlash",function(a){var b=[],c=a.GetVariable("$version");return c&&(c=c.split(" ")[1].split(","),b=[parseInt(c[0],10),parseInt(c[1],10),parseInt(c[2],10)]),b}),mejs.PluginDetector.addPlugin("silverlight","Silverlight Plug-In","application/x-silverlight-2","AgControl.AgControl",function(a){var b=[0,0,0,0],c=function(a,b,c,d){for(;a.isVersionSupported(b[0]+"."+b[1]+"."+b[2]+"."+b[3]);)b[c]+=d;b[c]-=d};return c(a,b,0,1),c(a,b,1,1),c(a,b,2,1e4),c(a,b,2,1e3),c(a,b,2,100),c(a,b,2,10),c(a,b,2,1),c(a,b,3,1),b}),mejs.MediaFeatures={init:function(){var a,b,c=this,d=document,e=mejs.PluginDetector.nav,f=mejs.PluginDetector.ua.toLowerCase(),g=["source","track","audio","video"];c.isiPad=null!==f.match(/ipad/i),c.isiPhone=null!==f.match(/iphone/i),c.isiOS=c.isiPhone||c.isiPad,c.isAndroid=null!==f.match(/android/i),c.isBustedAndroid=null!==f.match(/android 2\.[12]/),c.isBustedNativeHTTPS="https:"===location.protocol&&(null!==f.match(/android [12]\./)||null!==f.match(/macintosh.* version.* safari/)),c.isIE=-1!=e.appName.toLowerCase().indexOf("microsoft")||null!==e.appName.toLowerCase().match(/trident/gi),c.isChrome=null!==f.match(/chrome/gi),c.isChromium=null!==f.match(/chromium/gi),c.isFirefox=null!==f.match(/firefox/gi),c.isWebkit=null!==f.match(/webkit/gi),c.isGecko=null!==f.match(/gecko/gi)&&!c.isWebkit&&!c.isIE,c.isOpera=null!==f.match(/opera/gi),c.hasTouch="ontouchstart"in window,c.svg=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect;for(a=0;a<g.length;a++)b=document.createElement(g[a]);c.supportsMediaTag="undefined"!=typeof b.canPlayType||c.isBustedAndroid;try{b.canPlayType("video/mp4")}catch(h){c.supportsMediaTag=!1}c.hasSemiNativeFullScreen="undefined"!=typeof b.webkitEnterFullscreen,c.hasNativeFullscreen="undefined"!=typeof b.requestFullscreen,c.hasWebkitNativeFullScreen="undefined"!=typeof b.webkitRequestFullScreen,c.hasMozNativeFullScreen="undefined"!=typeof b.mozRequestFullScreen,c.hasMsNativeFullScreen="undefined"!=typeof b.msRequestFullscreen,c.hasTrueNativeFullScreen=c.hasWebkitNativeFullScreen||c.hasMozNativeFullScreen||c.hasMsNativeFullScreen,c.nativeFullScreenEnabled=c.hasTrueNativeFullScreen,c.hasMozNativeFullScreen?c.nativeFullScreenEnabled=document.mozFullScreenEnabled:c.hasMsNativeFullScreen&&(c.nativeFullScreenEnabled=document.msFullscreenEnabled),c.isChrome&&(c.hasSemiNativeFullScreen=!1),c.hasTrueNativeFullScreen&&(c.fullScreenEventName="",c.hasWebkitNativeFullScreen?c.fullScreenEventName="webkitfullscreenchange":c.hasMozNativeFullScreen?c.fullScreenEventName="mozfullscreenchange":c.hasMsNativeFullScreen&&(c.fullScreenEventName="MSFullscreenChange"),c.isFullScreen=function(){return c.hasMozNativeFullScreen?d.mozFullScreen:c.hasWebkitNativeFullScreen?d.webkitIsFullScreen:c.hasMsNativeFullScreen?null!==d.msFullscreenElement:void 0},c.requestFullScreen=function(a){c.hasWebkitNativeFullScreen?a.webkitRequestFullScreen():c.hasMozNativeFullScreen?a.mozRequestFullScreen():c.hasMsNativeFullScreen&&a.msRequestFullscreen()},c.cancelFullScreen=function(){c.hasWebkitNativeFullScreen?document.webkitCancelFullScreen():c.hasMozNativeFullScreen?document.mozCancelFullScreen():c.hasMsNativeFullScreen&&document.msExitFullscreen()}),c.hasSemiNativeFullScreen&&f.match(/mac os x 10_5/i)&&(c.hasNativeFullScreen=!1,c.hasSemiNativeFullScreen=!1)}},mejs.MediaFeatures.init(),mejs.HtmlMediaElement={pluginType:"native",isFullScreen:!1,setCurrentTime:function(a){this.currentTime=a},setMuted:function(a){this.muted=a},setVolume:function(a){this.volume=a},stop:function(){this.pause()},setSrc:function(a){for(var b=this.getElementsByTagName("source");b.length>0;)this.removeChild(b[0]);if("string"==typeof a)this.src=a;else{var c,d;for(c=0;c<a.length;c++)if(d=a[c],this.canPlayType(d.type)){this.src=d.src;break}}},setVideoSize:function(a,b){this.width=a,this.height=b}},mejs.PluginMediaElement=function(a,b,c){this.id=a,this.pluginType=b,this.src=c,this.events={},this.attributes={}},mejs.PluginMediaElement.prototype={pluginElement:null,pluginType:"",isFullScreen:!1,playbackRate:-1,defaultPlaybackRate:-1,seekable:[],played:[],paused:!0,ended:!1,seeking:!1,duration:0,error:null,tagName:"",muted:!1,volume:1,currentTime:0,play:function(){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType?this.pluginApi.playVideo():this.pluginApi.playMedia(),this.paused=!1)},load:function(){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType||this.pluginApi.loadMedia(),this.paused=!1)},pause:function(){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType?this.pluginApi.pauseVideo():this.pluginApi.pauseMedia(),this.paused=!0)},stop:function(){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType?this.pluginApi.stopVideo():this.pluginApi.stopMedia(),this.paused=!0)},canPlayType:function(a){var b,c,d,e=mejs.plugins[this.pluginType];for(b=0;b<e.length;b++)if(d=e[b],mejs.PluginDetector.hasPluginVersion(this.pluginType,d.version))for(c=0;c<d.types.length;c++)if(a==d.types[c])return"probably";return""},positionFullscreenButton:function(a,b,c){null!=this.pluginApi&&this.pluginApi.positionFullscreenButton&&this.pluginApi.positionFullscreenButton(Math.floor(a),Math.floor(b),c)},hideFullscreenButton:function(){null!=this.pluginApi&&this.pluginApi.hideFullscreenButton&&this.pluginApi.hideFullscreenButton()},setSrc:function(a){if("string"==typeof a)this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(a)),this.src=mejs.Utility.absolutizeUrl(a);else{var b,c;for(b=0;b<a.length;b++)if(c=a[b],this.canPlayType(c.type)){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(c.src)),this.src=mejs.Utility.absolutizeUrl(a);break}}},setCurrentTime:function(a){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType?this.pluginApi.seekTo(a):this.pluginApi.setCurrentTime(a),this.currentTime=a)},setVolume:function(a){null!=this.pluginApi&&(this.pluginApi.setVolume("youtube"==this.pluginType?100*a:a),this.volume=a)},setMuted:function(a){null!=this.pluginApi&&("youtube"==this.pluginType?(a?this.pluginApi.mute():this.pluginApi.unMute(),this.muted=a,this.dispatchEvent("volumechange")):this.pluginApi.setMuted(a),this.muted=a)},setVideoSize:function(a,b){this.pluginElement&&this.pluginElement.style&&(this.pluginElement.style.width=a+"px",this.pluginElement.style.height=b+"px"),null!=this.pluginApi&&this.pluginApi.setVideoSize&&this.pluginApi.setVideoSize(a,b)},setFullscreen:function(a){null!=this.pluginApi&&this.pluginApi.setFullscreen&&this.pluginApi.setFullscreen(a)},enterFullScreen:function(){null!=this.pluginApi&&this.pluginApi.setFullscreen&&this.setFullscreen(!0)},exitFullScreen:function(){null!=this.pluginApi&&this.pluginApi.setFullscreen&&this.setFullscreen(!1)},addEventListener:function(a,b){this.events[a]=this.events[a]||[],this.events[a].push(b)},removeEventListener:function(a,b){if(!a)return this.events={},!0;var c=this.events[a];if(!c)return!0;if(!b)return this.events[a]=[],!0;for(var d=0;d<c.length;d++)if(c[d]===b)return this.events[a].splice(d,1),!0;return!1},dispatchEvent:function(a){var b,c,d=this.events[a];if(d)for(c=Array.prototype.slice.call(arguments,1),b=0;b<d.length;b++)d[b].apply(this,c)},hasAttribute:function(a){return a in this.attributes},removeAttribute:function(a){delete this.attributes[a]},getAttribute:function(a){return this.hasAttribute(a)?this.attributes[a]:""},setAttribute:function(a,b){this.attributes[a]=b},remove:function(){mejs.Utility.removeSwf(this.pluginElement.id),mejs.MediaPluginBridge.unregisterPluginElement(this.pluginElement.id)}},mejs.MediaPluginBridge={pluginMediaElements:{},htmlMediaElements:{},registerPluginElement:function(a,b,c){this.pluginMediaElements[a]=b,this.htmlMediaElements[a]=c},unregisterPluginElement:function(a){delete this.pluginMediaElements[a],delete this.htmlMediaElements[a]},initPlugin:function(a){var b=this.pluginMediaElements[a],c=this.htmlMediaElements[a];if(b){switch(b.pluginType){case"flash":b.pluginElement=b.pluginApi=document.getElementById(a);break;case"silverlight":b.pluginElement=document.getElementById(b.id),b.pluginApi=b.pluginElement.Content.MediaElementJS}null!=b.pluginApi&&b.success&&b.success(b,c)}},fireEvent:function(a,b,c){var d,e,f,g=this.pluginMediaElements[a];if(g){d={type:b,target:g};for(e in c)g[e]=c[e],d[e]=c[e];f=c.bufferedTime||0,d.target.buffered=d.buffered={start:function(){return 0},end:function(){return f},length:1},g.dispatchEvent(d.type,d)}}},mejs.MediaElementDefaults={mode:"auto",plugins:["flash","silverlight","youtube","vimeo"],enablePluginDebug:!1,httpsBasicAuthSite:!1,type:"",pluginPath:mejs.Utility.getScriptPath(["mediaelement.js","mediaelement.min.js","mediaelement-and-player.js","mediaelement-and-player.min.js"]),flashName:"flashmediaelement.swf",flashStreamer:"",enablePluginSmoothing:!1,enablePseudoStreaming:!1,pseudoStreamingStartQueryParam:"start",silverlightName:"silverlightmediaelement.xap",defaultVideoWidth:480,defaultVideoHeight:270,pluginWidth:-1,pluginHeight:-1,pluginVars:[],timerRate:250,startVolume:.8,success:function(){},error:function(){}},mejs.MediaElement=function(a,b){return mejs.HtmlMediaElementShim.create(a,b)},mejs.HtmlMediaElementShim={create:function(a,b){var c,d,e=mejs.MediaElementDefaults,f="string"==typeof a?document.getElementById(a):a,g=f.tagName.toLowerCase(),h="audio"===g||"video"===g,i=f.getAttribute(h?"src":"href"),j=f.getAttribute("poster"),k=f.getAttribute("autoplay"),l=f.getAttribute("preload"),m=f.getAttribute("controls");for(d in b)e[d]=b[d];return i="undefined"==typeof i||null===i||""==i?null:i,j="undefined"==typeof j||null===j?"":j,l="undefined"==typeof l||null===l||"false"===l?"none":l,k=!("undefined"==typeof k||null===k||"false"===k),m=!("undefined"==typeof m||null===m||"false"===m),c=this.determinePlayback(f,e,mejs.MediaFeatures.supportsMediaTag,h,i),c.url=null!==c.url?mejs.Utility.absolutizeUrl(c.url):"","native"==c.method?(mejs.MediaFeatures.isBustedAndroid&&(f.src=c.url,f.addEventListener("click",function(){f.play()},!1)),this.updateNative(c,e,k,l)):""!==c.method?this.createPlugin(c,e,j,k,l,m):(this.createErrorMessage(c,e,j),this)},determinePlayback:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=[],r={method:"",url:"",htmlMediaElement:a,isVideo:"audio"!=a.tagName.toLowerCase()};if("undefined"!=typeof b.type&&""!==b.type)if("string"==typeof b.type)q.push({type:b.type,url:e});else for(f=0;f<b.type.length;f++)q.push({type:b.type[f],url:e});else if(null!==e)k=this.formatType(e,a.getAttribute("type")),q.push({type:k,url:e});else for(f=0;f<a.childNodes.length;f++)j=a.childNodes[f],1==j.nodeType&&"source"==j.tagName.toLowerCase()&&(e=j.getAttribute("src"),k=this.formatType(e,j.getAttribute("type")),p=j.getAttribute("media"),(!p||!window.matchMedia||window.matchMedia&&window.matchMedia(p).matches)&&q.push({type:k,url:e}));if(!d&&q.length>0&&null!==q[0].url&&this.getTypeFromFile(q[0].url).indexOf("audio")>-1&&(r.isVideo=!1),mejs.MediaFeatures.isBustedAndroid&&(a.canPlayType=function(a){return null!==a.match(/video\/(mp4|m4v)/gi)?"maybe":""}),!(!c||"auto"!==b.mode&&"auto_plugin"!==b.mode&&"native"!==b.mode||mejs.MediaFeatures.isBustedNativeHTTPS&&b.httpsBasicAuthSite===!0)){for(d||(o=document.createElement(r.isVideo?"video":"audio"),a.parentNode.insertBefore(o,a),a.style.display="none",r.htmlMediaElement=a=o),f=0;f<q.length;f++)if("video/m3u8"==q[f].type||""!==a.canPlayType(q[f].type).replace(/no/,"")||""!==a.canPlayType(q[f].type.replace(/mp3/,"mpeg")).replace(/no/,"")||""!==a.canPlayType(q[f].type.replace(/m4a/,"mp4")).replace(/no/,"")){r.method="native",r.url=q[f].url;break}if("native"===r.method&&(null!==r.url&&(a.src=r.url),"auto_plugin"!==b.mode))return r}if("auto"===b.mode||"auto_plugin"===b.mode||"shim"===b.mode)for(f=0;f<q.length;f++)for(k=q[f].type,g=0;g<b.plugins.length;g++)for(l=b.plugins[g],m=mejs.plugins[l],h=0;h<m.length;h++)if(n=m[h],null==n.version||mejs.PluginDetector.hasPluginVersion(l,n.version))for(i=0;i<n.types.length;i++)if(k==n.types[i])return r.method=l,r.url=q[f].url,r;return"auto_plugin"===b.mode&&"native"===r.method?r:(""===r.method&&q.length>0&&(r.url=q[0].url),r)},formatType:function(a,b){return a&&!b?this.getTypeFromFile(a):b&&~b.indexOf(";")?b.substr(0,b.indexOf(";")):b},getTypeFromFile:function(a){a=a.split("?")[0];var b=a.substring(a.lastIndexOf(".")+1).toLowerCase();return(/(mp4|m4v|ogg|ogv|m3u8|webm|webmv|flv|wmv|mpeg|mov)/gi.test(b)?"video":"audio")+"/"+this.getTypeFromExtension(b)},getTypeFromExtension:function(a){switch(a){case"mp4":case"m4v":case"m4a":return"mp4";case"webm":case"webma":case"webmv":return"webm";case"ogg":case"oga":case"ogv":return"ogg";default:return a}},createErrorMessage:function(a,b,c){var d=a.htmlMediaElement,e=document.createElement("div");e.className="me-cannotplay";try{e.style.width=d.width+"px",e.style.height=d.height+"px"}catch(f){}e.innerHTML=b.customError?b.customError:""!==c?'<a href="'+a.url+'"><img src="'+c+'" width="100%" height="100%" /></a>':'<a href="'+a.url+'"><span>'+mejs.i18n.t("Download File")+"</span></a>",d.parentNode.insertBefore(e,d),d.style.display="none",b.error(d)},createPlugin:function(a,b,c,d,e,f){var g,h,i,j=a.htmlMediaElement,k=1,l=1,m="me_"+a.method+"_"+mejs.meIndex++,n=new mejs.PluginMediaElement(m,a.method,a.url),o=document.createElement("div");n.tagName=j.tagName;for(var p=0;p<j.attributes.length;p++){var q=j.attributes[p];1==q.specified&&n.setAttribute(q.name,q.value)}for(h=j.parentNode;null!==h&&"body"!==h.tagName.toLowerCase()&&null!=h.parentNode;){if("p"===h.parentNode.tagName.toLowerCase()){h.parentNode.parentNode.insertBefore(h,h.parentNode);break}h=h.parentNode}switch(a.isVideo?(k=b.pluginWidth>0?b.pluginWidth:b.videoWidth>0?b.videoWidth:null!==j.getAttribute("width")?j.getAttribute("width"):b.defaultVideoWidth,l=b.pluginHeight>0?b.pluginHeight:b.videoHeight>0?b.videoHeight:null!==j.getAttribute("height")?j.getAttribute("height"):b.defaultVideoHeight,k=mejs.Utility.encodeUrl(k),l=mejs.Utility.encodeUrl(l)):b.enablePluginDebug&&(k=320,l=240),n.success=b.success,mejs.MediaPluginBridge.registerPluginElement(m,n,j),o.className="me-plugin",o.id=m+"_container",a.isVideo?j.parentNode.insertBefore(o,j):document.body.insertBefore(o,document.body.childNodes[0]),i=["id="+m,"isvideo="+(a.isVideo?"true":"false"),"autoplay="+(d?"true":"false"),"preload="+e,"width="+k,"startvolume="+b.startVolume,"timerrate="+b.timerRate,"flashstreamer="+b.flashStreamer,"height="+l,"pseudostreamstart="+b.pseudoStreamingStartQueryParam],null!==a.url&&i.push("flash"==a.method?"file="+mejs.Utility.encodeUrl(a.url):"file="+a.url),b.enablePluginDebug&&i.push("debug=true"),b.enablePluginSmoothing&&i.push("smoothing=true"),b.enablePseudoStreaming&&i.push("pseudostreaming=true"),f&&i.push("controls=true"),b.pluginVars&&(i=i.concat(b.pluginVars)),a.method){case"silverlight":o.innerHTML='<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" id="'+m+'" name="'+m+'" width="'+k+'" height="'+l+'" class="mejs-shim"><param name="initParams" value="'+i.join(",")+'" /><param name="windowless" value="true" /><param name="background" value="black" /><param name="minRuntimeVersion" value="3.0.0.0" /><param name="autoUpgrade" value="true" /><param name="source" value="'+b.pluginPath+b.silverlightName+'" /></object>';break;case"flash":mejs.MediaFeatures.isIE?(g=document.createElement("div"),o.appendChild(g),g.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="'+m+'" width="'+k+'" height="'+l+'" class="mejs-shim"><param name="movie" value="'+b.pluginPath+b.flashName+"?x="+new Date+'" /><param name="flashvars" value="'+i.join("&amp;")+'" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="scale" value="default" /></object>'):o.innerHTML='<embed id="'+m+'" name="'+m+'" play="true" loop="false" quality="high" bgcolor="#000000" wmode="transparent" allowScriptAccess="always" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="//www.macromedia.com/go/getflashplayer" src="'+b.pluginPath+b.flashName+'" flashvars="'+i.join("&")+'" width="'+k+'" height="'+l+'" scale="default"class="mejs-shim"></embed>';break;case"youtube":var r;-1!=a.url.lastIndexOf("youtu.be")?(r=a.url.substr(a.url.lastIndexOf("/")+1),-1!=r.indexOf("?")&&(r=r.substr(0,r.indexOf("?")))):r=a.url.substr(a.url.lastIndexOf("=")+1),youtubeSettings={container:o,containerId:o.id,pluginMediaElement:n,pluginId:m,videoId:r,height:l,width:k},mejs.PluginDetector.hasPluginVersion("flash",[10,0,0])?mejs.YouTubeApi.createFlash(youtubeSettings):mejs.YouTubeApi.enqueueIframe(youtubeSettings);break;case"vimeo":var s=m+"_player";if(n.vimeoid=a.url.substr(a.url.lastIndexOf("/")+1),o.innerHTML='<iframe src="//player.vimeo.com/video/'+n.vimeoid+"?api=1&portrait=0&byline=0&title=0&player_id="+s+'" width="'+k+'" height="'+l+'" frameborder="0" class="mejs-shim" id="'+s+'" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>',"function"==typeof $f){var t=$f(o.childNodes[0]);t.addEvent("ready",function(){function a(a,b,c,d){var e={type:c,target:b};"timeupdate"==c&&(b.currentTime=e.currentTime=d.seconds,b.duration=e.duration=d.duration),b.dispatchEvent(e.type,e)}$.extend(t,{playVideo:function(){t.api("play")},stopVideo:function(){t.api("unload")},pauseVideo:function(){t.api("pause")},seekTo:function(a){t.api("seekTo",a)},setVolume:function(a){t.api("setVolume",a)},setMuted:function(a){a?(t.lastVolume=t.api("getVolume"),t.api("setVolume",0)):(t.api("setVolume",t.lastVolume),delete t.lastVolume)}}),t.addEvent("play",function(){a(t,n,"play"),a(t,n,"playing")}),t.addEvent("pause",function(){a(t,n,"pause")}),t.addEvent("finish",function(){a(t,n,"ended")}),t.addEvent("playProgress",function(b){a(t,n,"timeupdate",b)}),n.pluginElement=o,n.pluginApi=t,mejs.MediaPluginBridge.initPlugin(m)})}else console.warn("You need to include froogaloop for vimeo to work")}return j.style.display="none",j.removeAttribute("autoplay"),n},updateNative:function(a,b){var c,d=a.htmlMediaElement;for(c in mejs.HtmlMediaElement)d[c]=mejs.HtmlMediaElement[c];return b.success(d,d),d}},mejs.YouTubeApi={isIframeStarted:!1,isIframeLoaded:!1,loadIframeApi:function(){if(!this.isIframeStarted){var a=document.createElement("script");a.src="//www.youtube.com/player_api";var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(a,b),this.isIframeStarted=!0}},iframeQueue:[],enqueueIframe:function(a){this.isLoaded?this.createIframe(a):(this.loadIframeApi(),this.iframeQueue.push(a))},createIframe:function(a){var b=a.pluginMediaElement,c=new YT.Player(a.containerId,{height:a.height,width:a.width,videoId:a.videoId,playerVars:{controls:0},events:{onReady:function(){a.pluginMediaElement.pluginApi=c,mejs.MediaPluginBridge.initPlugin(a.pluginId),setInterval(function(){mejs.YouTubeApi.createEvent(c,b,"timeupdate")},250)},onStateChange:function(a){mejs.YouTubeApi.handleStateChange(a.data,c,b)}}})},createEvent:function(a,b,c){var d={type:c,target:b};if(a&&a.getDuration){b.currentTime=d.currentTime=a.getCurrentTime(),b.duration=d.duration=a.getDuration(),d.paused=b.paused,d.ended=b.ended,d.muted=a.isMuted(),d.volume=a.getVolume()/100,d.bytesTotal=a.getVideoBytesTotal(),d.bufferedBytes=a.getVideoBytesLoaded();var e=d.bufferedBytes/d.bytesTotal*d.duration;d.target.buffered=d.buffered={start:function(){return 0},end:function(){return e},length:1}}b.dispatchEvent(d.type,d)},iFrameReady:function(){for(this.isLoaded=!0,this.isIframeLoaded=!0;this.iframeQueue.length>0;){var a=this.iframeQueue.pop();this.createIframe(a)}},flashPlayers:{},createFlash:function(a){this.flashPlayers[a.pluginId]=a;var b,c="//www.youtube.com/apiplayer?enablejsapi=1&amp;playerapiid="+a.pluginId+"&amp;version=3&amp;autoplay=0&amp;controls=0&amp;modestbranding=1&loop=0";mejs.MediaFeatures.isIE?(b=document.createElement("div"),a.container.appendChild(b),b.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="'+a.pluginId+'" width="'+a.width+'" height="'+a.height+'" class="mejs-shim"><param name="movie" value="'+c+'" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /></object>'):a.container.innerHTML='<object type="application/x-shockwave-flash" id="'+a.pluginId+'" data="'+c+'" width="'+a.width+'" height="'+a.height+'" style="visibility: visible; " class="mejs-shim"><param name="allowScriptAccess" value="always"><param name="wmode" value="transparent"></object>'},flashReady:function(a){var b=this.flashPlayers[a],c=document.getElementById(a),d=b.pluginMediaElement;d.pluginApi=d.pluginElement=c,mejs.MediaPluginBridge.initPlugin(a),c.cueVideoById(b.videoId);var e=b.containerId+"_callback";window[e]=function(a){mejs.YouTubeApi.handleStateChange(a,c,d)},c.addEventListener("onStateChange",e),setInterval(function(){mejs.YouTubeApi.createEvent(c,d,"timeupdate")},250),mejs.YouTubeApi.createEvent(c,d,"canplay")},handleStateChange:function(a,b,c){switch(a){case-1:c.paused=!0,c.ended=!0,mejs.YouTubeApi.createEvent(b,c,"loadedmetadata");break;case 0:c.paused=!1,c.ended=!0,mejs.YouTubeApi.createEvent(b,c,"ended");break;case 1:c.paused=!1,c.ended=!1,mejs.YouTubeApi.createEvent(b,c,"play"),mejs.YouTubeApi.createEvent(b,c,"playing");break;case 2:c.paused=!0,c.ended=!1,mejs.YouTubeApi.createEvent(b,c,"pause");break;case 3:mejs.YouTubeApi.createEvent(b,c,"progress");break;case 5:}}},window.mejs=mejs,window.MediaElement=mejs.MediaElement,function(a,b){"use strict";var c={locale:{language:b.i18n&&b.i18n.locale.language||"",strings:b.i18n&&b.i18n.locale.strings||{}},ietf_lang_regex:/^(x\-)?[a-z]{2,}(\-\w{2,})?(\-\w{2,})?$/,methods:{}};c.getLanguage=function(){var a=c.locale.language||window.navigator.userLanguage||window.navigator.language;return c.ietf_lang_regex.exec(a)?a:null},"undefined"!=typeof mejsL10n&&(c.locale.language=mejsL10n.language),c.methods.checkPlain=function(a){var b,c,d={"&":"&amp;",'"':"&quot;","<":"&lt;",">":"&gt;"};a=String(a);for(b in d)d.hasOwnProperty(b)&&(c=new RegExp(b,"g"),a=a.replace(c,d[b]));return a},c.methods.t=function(a,b){return c.locale.strings&&c.locale.strings[b.context]&&c.locale.strings[b.context][a]&&(a=c.locale.strings[b.context][a]),c.methods.checkPlain(a)},c.t=function(a,b){if("string"==typeof a&&a.length>0){var d=c.getLanguage();return b=b||{context:d},c.methods.t(a,b)}throw{name:"InvalidArgumentException",message:"First argument is either not a string or empty."}},b.i18n=c}(document,mejs),function(a){"use strict";"undefined"!=typeof mejsL10n&&(a[mejsL10n.language]=mejsL10n.strings)}(mejs.i18n.locale.strings),/*!
+function onYouTubePlayerAPIReady(){mejs.YouTubeApi.iFrameReady()}function onYouTubePlayerReady(a){mejs.YouTubeApi.flashReady(a)}var mejs=mejs||{};mejs.version="2.16.4",mejs.meIndex=0,mejs.plugins={silverlight:[{version:[3,0],types:["video/mp4","video/m4v","video/mov","video/wmv","audio/wma","audio/m4a","audio/mp3","audio/wav","audio/mpeg"]}],flash:[{version:[9,0,124],types:["video/mp4","video/m4v","video/mov","video/flv","video/rtmp","video/x-flv","audio/flv","audio/x-flv","audio/mp3","audio/m4a","audio/mpeg","video/youtube","video/x-youtube","application/x-mpegURL"]}],youtube:[{version:null,types:["video/youtube","video/x-youtube","audio/youtube","audio/x-youtube"]}],vimeo:[{version:null,types:["video/vimeo","video/x-vimeo"]}]},mejs.Utility={encodeUrl:function(a){return encodeURIComponent(a)},escapeHTML:function(a){return a.toString().split("&").join("&amp;").split("<").join("&lt;").split('"').join("&quot;")},absolutizeUrl:function(a){var b=document.createElement("div");return b.innerHTML='<a href="'+this.escapeHTML(a)+'">x</a>',b.firstChild.href},getScriptPath:function(a){for(var b,c,d,e,f,g,h=0,i="",j="",k=document.getElementsByTagName("script"),l=k.length,m=a.length;l>h;h++){for(e=k[h].src,c=e.lastIndexOf("/"),c>-1?(g=e.substring(c+1),f=e.substring(0,c+1)):(g=e,f=""),b=0;m>b;b++)if(j=a[b],d=g.indexOf(j),d>-1){i=f;break}if(""!==i)break}return i},secondsToTimeCode:function(a,b,c,d){"undefined"==typeof c?c=!1:"undefined"==typeof d&&(d=25);var e=Math.floor(a/3600)%24,f=Math.floor(a/60)%60,g=Math.floor(a%60),h=Math.floor((a%1*d).toFixed(3)),i=(b||e>0?(10>e?"0"+e:e)+":":"")+(10>f?"0"+f:f)+":"+(10>g?"0"+g:g)+(c?":"+(10>h?"0"+h:h):"");return i},timeCodeToSeconds:function(a,b,c,d){"undefined"==typeof c?c=!1:"undefined"==typeof d&&(d=25);var e=a.split(":"),f=parseInt(e[0],10),g=parseInt(e[1],10),h=parseInt(e[2],10),i=0,j=0;return c&&(i=parseInt(e[3])/d),j=3600*f+60*g+h+i},convertSMPTEtoSeconds:function(a){if("string"!=typeof a)return!1;a=a.replace(",",".");var b=0,c=-1!=a.indexOf(".")?a.split(".")[1].length:0,d=1;a=a.split(":").reverse();for(var e=0;e<a.length;e++)d=1,e>0&&(d=Math.pow(60,e)),b+=Number(a[e])*d;return Number(b.toFixed(c))},removeSwf:function(a){var b=document.getElementById(a);b&&/object|embed/i.test(b.nodeName)&&(mejs.MediaFeatures.isIE?(b.style.display="none",function(){4==b.readyState?mejs.Utility.removeObjectInIE(a):setTimeout(arguments.callee,10)}()):b.parentNode.removeChild(b))},removeObjectInIE:function(a){var b=document.getElementById(a);if(b){for(var c in b)"function"==typeof b[c]&&(b[c]=null);b.parentNode.removeChild(b)}}},mejs.PluginDetector={hasPluginVersion:function(a,b){var c=this.plugins[a];return b[1]=b[1]||0,b[2]=b[2]||0,c[0]>b[0]||c[0]==b[0]&&c[1]>b[1]||c[0]==b[0]&&c[1]==b[1]&&c[2]>=b[2]?!0:!1},nav:window.navigator,ua:window.navigator.userAgent.toLowerCase(),plugins:[],addPlugin:function(a,b,c,d,e){this.plugins[a]=this.detectPlugin(b,c,d,e)},detectPlugin:function(a,b,c,d){var e,f,g,h=[0,0,0];if("undefined"!=typeof this.nav.plugins&&"object"==typeof this.nav.plugins[a]){if(e=this.nav.plugins[a].description,e&&("undefined"==typeof this.nav.mimeTypes||!this.nav.mimeTypes[b]||this.nav.mimeTypes[b].enabledPlugin))for(h=e.replace(a,"").replace(/^\s+/,"").replace(/\sr/gi,".").split("."),f=0;f<h.length;f++)h[f]=parseInt(h[f].match(/\d+/),10)}else if("undefined"!=typeof window.ActiveXObject)try{g=new ActiveXObject(c),g&&(h=d(g))}catch(i){}return h}},mejs.PluginDetector.addPlugin("flash","Shockwave Flash","application/x-shockwave-flash","ShockwaveFlash.ShockwaveFlash",function(a){var b=[],c=a.GetVariable("$version");return c&&(c=c.split(" ")[1].split(","),b=[parseInt(c[0],10),parseInt(c[1],10),parseInt(c[2],10)]),b}),mejs.PluginDetector.addPlugin("silverlight","Silverlight Plug-In","application/x-silverlight-2","AgControl.AgControl",function(a){var b=[0,0,0,0],c=function(a,b,c,d){for(;a.isVersionSupported(b[0]+"."+b[1]+"."+b[2]+"."+b[3]);)b[c]+=d;b[c]-=d};return c(a,b,0,1),c(a,b,1,1),c(a,b,2,1e4),c(a,b,2,1e3),c(a,b,2,100),c(a,b,2,10),c(a,b,2,1),c(a,b,3,1),b}),mejs.MediaFeatures={init:function(){var a,b,c=this,d=document,e=mejs.PluginDetector.nav,f=mejs.PluginDetector.ua.toLowerCase(),g=["source","track","audio","video"];c.isiPad=null!==f.match(/ipad/i),c.isiPhone=null!==f.match(/iphone/i),c.isiOS=c.isiPhone||c.isiPad,c.isAndroid=null!==f.match(/android/i),c.isBustedAndroid=null!==f.match(/android 2\.[12]/),c.isBustedNativeHTTPS="https:"===location.protocol&&(null!==f.match(/android [12]\./)||null!==f.match(/macintosh.* version.* safari/)),c.isIE=-1!=e.appName.toLowerCase().indexOf("microsoft")||null!==e.appName.toLowerCase().match(/trident/gi),c.isChrome=null!==f.match(/chrome/gi),c.isChromium=null!==f.match(/chromium/gi),c.isFirefox=null!==f.match(/firefox/gi),c.isWebkit=null!==f.match(/webkit/gi),c.isGecko=null!==f.match(/gecko/gi)&&!c.isWebkit&&!c.isIE,c.isOpera=null!==f.match(/opera/gi),c.hasTouch="ontouchstart"in window,c.svg=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect;for(a=0;a<g.length;a++)b=document.createElement(g[a]);c.supportsMediaTag="undefined"!=typeof b.canPlayType||c.isBustedAndroid;try{b.canPlayType("video/mp4")}catch(h){c.supportsMediaTag=!1}c.hasSemiNativeFullScreen="undefined"!=typeof b.webkitEnterFullscreen,c.hasNativeFullscreen="undefined"!=typeof b.requestFullscreen,c.hasWebkitNativeFullScreen="undefined"!=typeof b.webkitRequestFullScreen,c.hasMozNativeFullScreen="undefined"!=typeof b.mozRequestFullScreen,c.hasMsNativeFullScreen="undefined"!=typeof b.msRequestFullscreen,c.hasTrueNativeFullScreen=c.hasWebkitNativeFullScreen||c.hasMozNativeFullScreen||c.hasMsNativeFullScreen,c.nativeFullScreenEnabled=c.hasTrueNativeFullScreen,c.hasMozNativeFullScreen?c.nativeFullScreenEnabled=document.mozFullScreenEnabled:c.hasMsNativeFullScreen&&(c.nativeFullScreenEnabled=document.msFullscreenEnabled),c.isChrome&&(c.hasSemiNativeFullScreen=!1),c.hasTrueNativeFullScreen&&(c.fullScreenEventName="",c.hasWebkitNativeFullScreen?c.fullScreenEventName="webkitfullscreenchange":c.hasMozNativeFullScreen?c.fullScreenEventName="mozfullscreenchange":c.hasMsNativeFullScreen&&(c.fullScreenEventName="MSFullscreenChange"),c.isFullScreen=function(){return c.hasMozNativeFullScreen?d.mozFullScreen:c.hasWebkitNativeFullScreen?d.webkitIsFullScreen:c.hasMsNativeFullScreen?null!==d.msFullscreenElement:void 0},c.requestFullScreen=function(a){c.hasWebkitNativeFullScreen?a.webkitRequestFullScreen():c.hasMozNativeFullScreen?a.mozRequestFullScreen():c.hasMsNativeFullScreen&&a.msRequestFullscreen()},c.cancelFullScreen=function(){c.hasWebkitNativeFullScreen?document.webkitCancelFullScreen():c.hasMozNativeFullScreen?document.mozCancelFullScreen():c.hasMsNativeFullScreen&&document.msExitFullscreen()}),c.hasSemiNativeFullScreen&&f.match(/mac os x 10_5/i)&&(c.hasNativeFullScreen=!1,c.hasSemiNativeFullScreen=!1)}},mejs.MediaFeatures.init(),mejs.HtmlMediaElement={pluginType:"native",isFullScreen:!1,setCurrentTime:function(a){this.currentTime=a},setMuted:function(a){this.muted=a},setVolume:function(a){this.volume=a},stop:function(){this.pause()},setSrc:function(a){for(var b=this.getElementsByTagName("source");b.length>0;)this.removeChild(b[0]);if("string"==typeof a)this.src=a;else{var c,d;for(c=0;c<a.length;c++)if(d=a[c],this.canPlayType(d.type)){this.src=d.src;break}}},setVideoSize:function(a,b){this.width=a,this.height=b}},mejs.PluginMediaElement=function(a,b,c){this.id=a,this.pluginType=b,this.src=c,this.events={},this.attributes={}},mejs.PluginMediaElement.prototype={pluginElement:null,pluginType:"",isFullScreen:!1,playbackRate:-1,defaultPlaybackRate:-1,seekable:[],played:[],paused:!0,ended:!1,seeking:!1,duration:0,error:null,tagName:"",muted:!1,volume:1,currentTime:0,play:function(){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType?this.pluginApi.playVideo():this.pluginApi.playMedia(),this.paused=!1)},load:function(){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType||this.pluginApi.loadMedia(),this.paused=!1)},pause:function(){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType?this.pluginApi.pauseVideo():this.pluginApi.pauseMedia(),this.paused=!0)},stop:function(){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType?this.pluginApi.stopVideo():this.pluginApi.stopMedia(),this.paused=!0)},canPlayType:function(a){var b,c,d,e=mejs.plugins[this.pluginType];for(b=0;b<e.length;b++)if(d=e[b],mejs.PluginDetector.hasPluginVersion(this.pluginType,d.version))for(c=0;c<d.types.length;c++)if(a==d.types[c])return"probably";return""},positionFullscreenButton:function(a,b,c){null!=this.pluginApi&&this.pluginApi.positionFullscreenButton&&this.pluginApi.positionFullscreenButton(Math.floor(a),Math.floor(b),c)},hideFullscreenButton:function(){null!=this.pluginApi&&this.pluginApi.hideFullscreenButton&&this.pluginApi.hideFullscreenButton()},setSrc:function(a){if("string"==typeof a)this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(a)),this.src=mejs.Utility.absolutizeUrl(a);else{var b,c;for(b=0;b<a.length;b++)if(c=a[b],this.canPlayType(c.type)){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(c.src)),this.src=mejs.Utility.absolutizeUrl(a);break}}},setCurrentTime:function(a){null!=this.pluginApi&&("youtube"==this.pluginType||"vimeo"==this.pluginType?this.pluginApi.seekTo(a):this.pluginApi.setCurrentTime(a),this.currentTime=a)},setVolume:function(a){null!=this.pluginApi&&(this.pluginApi.setVolume("youtube"==this.pluginType?100*a:a),this.volume=a)},setMuted:function(a){null!=this.pluginApi&&("youtube"==this.pluginType?(a?this.pluginApi.mute():this.pluginApi.unMute(),this.muted=a,this.dispatchEvent("volumechange")):this.pluginApi.setMuted(a),this.muted=a)},setVideoSize:function(a,b){this.pluginElement&&this.pluginElement.style&&(this.pluginElement.style.width=a+"px",this.pluginElement.style.height=b+"px"),null!=this.pluginApi&&this.pluginApi.setVideoSize&&this.pluginApi.setVideoSize(a,b)},setFullscreen:function(a){null!=this.pluginApi&&this.pluginApi.setFullscreen&&this.pluginApi.setFullscreen(a)},enterFullScreen:function(){null!=this.pluginApi&&this.pluginApi.setFullscreen&&this.setFullscreen(!0)},exitFullScreen:function(){null!=this.pluginApi&&this.pluginApi.setFullscreen&&this.setFullscreen(!1)},addEventListener:function(a,b){this.events[a]=this.events[a]||[],this.events[a].push(b)},removeEventListener:function(a,b){if(!a)return this.events={},!0;var c=this.events[a];if(!c)return!0;if(!b)return this.events[a]=[],!0;for(var d=0;d<c.length;d++)if(c[d]===b)return this.events[a].splice(d,1),!0;return!1},dispatchEvent:function(a){var b,c,d=this.events[a];if(d)for(c=Array.prototype.slice.call(arguments,1),b=0;b<d.length;b++)d[b].apply(this,c)},hasAttribute:function(a){return a in this.attributes},removeAttribute:function(a){delete this.attributes[a]},getAttribute:function(a){return this.hasAttribute(a)?this.attributes[a]:""},setAttribute:function(a,b){this.attributes[a]=b},remove:function(){mejs.Utility.removeSwf(this.pluginElement.id),mejs.MediaPluginBridge.unregisterPluginElement(this.pluginElement.id)}},mejs.MediaPluginBridge={pluginMediaElements:{},htmlMediaElements:{},registerPluginElement:function(a,b,c){this.pluginMediaElements[a]=b,this.htmlMediaElements[a]=c},unregisterPluginElement:function(a){delete this.pluginMediaElements[a],delete this.htmlMediaElements[a]},initPlugin:function(a){var b=this.pluginMediaElements[a],c=this.htmlMediaElements[a];if(b){switch(b.pluginType){case"flash":b.pluginElement=b.pluginApi=document.getElementById(a);break;case"silverlight":b.pluginElement=document.getElementById(b.id),b.pluginApi=b.pluginElement.Content.MediaElementJS}null!=b.pluginApi&&b.success&&b.success(b,c)}},fireEvent:function(a,b,c){var d,e,f,g=this.pluginMediaElements[a];if(g){d={type:b,target:g};for(e in c)g[e]=c[e],d[e]=c[e];f=c.bufferedTime||0,d.target.buffered=d.buffered={start:function(){return 0},end:function(){return f},length:1},g.dispatchEvent(d.type,d)}}},mejs.MediaElementDefaults={mode:"auto",plugins:["flash","silverlight","youtube","vimeo"],enablePluginDebug:!1,httpsBasicAuthSite:!1,type:"",pluginPath:mejs.Utility.getScriptPath(["mediaelement.js","mediaelement.min.js","mediaelement-and-player.js","mediaelement-and-player.min.js"]),flashName:"flashmediaelement.swf",flashStreamer:"",enablePluginSmoothing:!1,enablePseudoStreaming:!1,pseudoStreamingStartQueryParam:"start",silverlightName:"silverlightmediaelement.xap",defaultVideoWidth:480,defaultVideoHeight:270,pluginWidth:-1,pluginHeight:-1,pluginVars:[],timerRate:250,startVolume:.8,success:function(){},error:function(){}},mejs.MediaElement=function(a,b){return mejs.HtmlMediaElementShim.create(a,b)},mejs.HtmlMediaElementShim={create:function(a,b){var c,d,e=mejs.MediaElementDefaults,f="string"==typeof a?document.getElementById(a):a,g=f.tagName.toLowerCase(),h="audio"===g||"video"===g,i=f.getAttribute(h?"src":"href"),j=f.getAttribute("poster"),k=f.getAttribute("autoplay"),l=f.getAttribute("preload"),m=f.getAttribute("controls");for(d in b)e[d]=b[d];return i="undefined"==typeof i||null===i||""==i?null:i,j="undefined"==typeof j||null===j?"":j,l="undefined"==typeof l||null===l||"false"===l?"none":l,k=!("undefined"==typeof k||null===k||"false"===k),m=!("undefined"==typeof m||null===m||"false"===m),c=this.determinePlayback(f,e,mejs.MediaFeatures.supportsMediaTag,h,i),c.url=null!==c.url?mejs.Utility.absolutizeUrl(c.url):"","native"==c.method?(mejs.MediaFeatures.isBustedAndroid&&(f.src=c.url,f.addEventListener("click",function(){f.play()},!1)),this.updateNative(c,e,k,l)):""!==c.method?this.createPlugin(c,e,j,k,l,m):(this.createErrorMessage(c,e,j),this)},determinePlayback:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=[],r={method:"",url:"",htmlMediaElement:a,isVideo:"audio"!=a.tagName.toLowerCase()};if("undefined"!=typeof b.type&&""!==b.type)if("string"==typeof b.type)q.push({type:b.type,url:e});else for(f=0;f<b.type.length;f++)q.push({type:b.type[f],url:e});else if(null!==e)k=this.formatType(e,a.getAttribute("type")),q.push({type:k,url:e});else for(f=0;f<a.childNodes.length;f++)j=a.childNodes[f],1==j.nodeType&&"source"==j.tagName.toLowerCase()&&(e=j.getAttribute("src"),k=this.formatType(e,j.getAttribute("type")),p=j.getAttribute("media"),(!p||!window.matchMedia||window.matchMedia&&window.matchMedia(p).matches)&&q.push({type:k,url:e}));if(!d&&q.length>0&&null!==q[0].url&&this.getTypeFromFile(q[0].url).indexOf("audio")>-1&&(r.isVideo=!1),mejs.MediaFeatures.isBustedAndroid&&(a.canPlayType=function(a){return null!==a.match(/video\/(mp4|m4v)/gi)?"maybe":""}),!(!c||"auto"!==b.mode&&"auto_plugin"!==b.mode&&"native"!==b.mode||mejs.MediaFeatures.isBustedNativeHTTPS&&b.httpsBasicAuthSite===!0)){for(d||(o=document.createElement(r.isVideo?"video":"audio"),a.parentNode.insertBefore(o,a),a.style.display="none",r.htmlMediaElement=a=o),f=0;f<q.length;f++)if("video/m3u8"==q[f].type||""!==a.canPlayType(q[f].type).replace(/no/,"")||""!==a.canPlayType(q[f].type.replace(/mp3/,"mpeg")).replace(/no/,"")||""!==a.canPlayType(q[f].type.replace(/m4a/,"mp4")).replace(/no/,"")){r.method="native",r.url=q[f].url;break}if("native"===r.method&&(null!==r.url&&(a.src=r.url),"auto_plugin"!==b.mode))return r}if("auto"===b.mode||"auto_plugin"===b.mode||"shim"===b.mode)for(f=0;f<q.length;f++)for(k=q[f].type,g=0;g<b.plugins.length;g++)for(l=b.plugins[g],m=mejs.plugins[l],h=0;h<m.length;h++)if(n=m[h],null==n.version||mejs.PluginDetector.hasPluginVersion(l,n.version))for(i=0;i<n.types.length;i++)if(k==n.types[i])return r.method=l,r.url=q[f].url,r;return"auto_plugin"===b.mode&&"native"===r.method?r:(""===r.method&&q.length>0&&(r.url=q[0].url),r)},formatType:function(a,b){return a&&!b?this.getTypeFromFile(a):b&&~b.indexOf(";")?b.substr(0,b.indexOf(";")):b},getTypeFromFile:function(a){a=a.split("?")[0];var b=a.substring(a.lastIndexOf(".")+1).toLowerCase();return(/(mp4|m4v|ogg|ogv|m3u8|webm|webmv|flv|wmv|mpeg|mov)/gi.test(b)?"video":"audio")+"/"+this.getTypeFromExtension(b)},getTypeFromExtension:function(a){switch(a){case"mp4":case"m4v":case"m4a":return"mp4";case"webm":case"webma":case"webmv":return"webm";case"ogg":case"oga":case"ogv":return"ogg";default:return a}},createErrorMessage:function(a,b,c){var d=a.htmlMediaElement,e=document.createElement("div");e.className="me-cannotplay";try{e.style.width=d.width+"px",e.style.height=d.height+"px"}catch(f){}e.innerHTML=b.customError?b.customError:""!==c?'<a href="'+a.url+'"><img src="'+c+'" width="100%" height="100%" /></a>':'<a href="'+a.url+'"><span>'+mejs.i18n.t("Download File")+"</span></a>",d.parentNode.insertBefore(e,d),d.style.display="none",b.error(d)},createPlugin:function(a,b,c,d,e,f){var g,h,i,j=a.htmlMediaElement,k=1,l=1,m="me_"+a.method+"_"+mejs.meIndex++,n=new mejs.PluginMediaElement(m,a.method,a.url),o=document.createElement("div");n.tagName=j.tagName;for(var p=0;p<j.attributes.length;p++){var q=j.attributes[p];1==q.specified&&n.setAttribute(q.name,q.value)}for(h=j.parentNode;null!==h&&null!=h.tagName&&"body"!==h.tagName.toLowerCase()&&null!=h.parentNode&&null!=h.parentNode.tagName;){if("p"===h.parentNode.tagName.toLowerCase()){h.parentNode.parentNode.insertBefore(h,h.parentNode);break}h=h.parentNode}switch(a.isVideo?(k=b.pluginWidth>0?b.pluginWidth:b.videoWidth>0?b.videoWidth:null!==j.getAttribute("width")?j.getAttribute("width"):b.defaultVideoWidth,l=b.pluginHeight>0?b.pluginHeight:b.videoHeight>0?b.videoHeight:null!==j.getAttribute("height")?j.getAttribute("height"):b.defaultVideoHeight,k=mejs.Utility.encodeUrl(k),l=mejs.Utility.encodeUrl(l)):b.enablePluginDebug&&(k=320,l=240),n.success=b.success,mejs.MediaPluginBridge.registerPluginElement(m,n,j),o.className="me-plugin",o.id=m+"_container",a.isVideo?j.parentNode.insertBefore(o,j):document.body.insertBefore(o,document.body.childNodes[0]),i=["id="+m,"jsinitfunction=mejs.MediaPluginBridge.initPlugin","jscallbackfunction=mejs.MediaPluginBridge.fireEvent","isvideo="+(a.isVideo?"true":"false"),"autoplay="+(d?"true":"false"),"preload="+e,"width="+k,"startvolume="+b.startVolume,"timerrate="+b.timerRate,"flashstreamer="+b.flashStreamer,"height="+l,"pseudostreamstart="+b.pseudoStreamingStartQueryParam],null!==a.url&&i.push("flash"==a.method?"file="+mejs.Utility.encodeUrl(a.url):"file="+a.url),b.enablePluginDebug&&i.push("debug=true"),b.enablePluginSmoothing&&i.push("smoothing=true"),b.enablePseudoStreaming&&i.push("pseudostreaming=true"),f&&i.push("controls=true"),b.pluginVars&&(i=i.concat(b.pluginVars)),a.method){case"silverlight":o.innerHTML='<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" id="'+m+'" name="'+m+'" width="'+k+'" height="'+l+'" class="mejs-shim"><param name="initParams" value="'+i.join(",")+'" /><param name="windowless" value="true" /><param name="background" value="black" /><param name="minRuntimeVersion" value="3.0.0.0" /><param name="autoUpgrade" value="true" /><param name="source" value="'+b.pluginPath+b.silverlightName+'" /></object>';break;case"flash":mejs.MediaFeatures.isIE?(g=document.createElement("div"),o.appendChild(g),g.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="'+m+'" width="'+k+'" height="'+l+'" class="mejs-shim"><param name="movie" value="'+b.pluginPath+b.flashName+"?x="+new Date+'" /><param name="flashvars" value="'+i.join("&amp;")+'" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="scale" value="default" /></object>'):o.innerHTML='<embed id="'+m+'" name="'+m+'" play="true" loop="false" quality="high" bgcolor="#000000" wmode="transparent" allowScriptAccess="always" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="//www.macromedia.com/go/getflashplayer" src="'+b.pluginPath+b.flashName+'" flashvars="'+i.join("&")+'" width="'+k+'" height="'+l+'" scale="default"class="mejs-shim"></embed>';break;case"youtube":var r;-1!=a.url.lastIndexOf("youtu.be")?(r=a.url.substr(a.url.lastIndexOf("/")+1),-1!=r.indexOf("?")&&(r=r.substr(0,r.indexOf("?")))):r=a.url.substr(a.url.lastIndexOf("=")+1),youtubeSettings={container:o,containerId:o.id,pluginMediaElement:n,pluginId:m,videoId:r,height:l,width:k},mejs.PluginDetector.hasPluginVersion("flash",[10,0,0])?mejs.YouTubeApi.createFlash(youtubeSettings):mejs.YouTubeApi.enqueueIframe(youtubeSettings);break;case"vimeo":var s=m+"_player";if(n.vimeoid=a.url.substr(a.url.lastIndexOf("/")+1),o.innerHTML='<iframe src="//player.vimeo.com/video/'+n.vimeoid+"?api=1&portrait=0&byline=0&title=0&player_id="+s+'" width="'+k+'" height="'+l+'" frameborder="0" class="mejs-shim" id="'+s+'" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>',"function"==typeof $f){var t=$f(o.childNodes[0]);t.addEvent("ready",function(){function a(a,b,c,d){var e={type:c,target:b};"timeupdate"==c&&(b.currentTime=e.currentTime=d.seconds,b.duration=e.duration=d.duration),b.dispatchEvent(e.type,e)}t.playVideo=function(){t.api("play")},t.stopVideo=function(){t.api("unload")},t.pauseVideo=function(){t.api("pause")},t.seekTo=function(a){t.api("seekTo",a)},t.setVolume=function(a){t.api("setVolume",a)},t.setMuted=function(a){a?(t.lastVolume=t.api("getVolume"),t.api("setVolume",0)):(t.api("setVolume",t.lastVolume),delete t.lastVolume)},t.addEvent("play",function(){a(t,n,"play"),a(t,n,"playing")}),t.addEvent("pause",function(){a(t,n,"pause")}),t.addEvent("finish",function(){a(t,n,"ended")}),t.addEvent("playProgress",function(b){a(t,n,"timeupdate",b)}),n.pluginElement=o,n.pluginApi=t,mejs.MediaPluginBridge.initPlugin(m)})}else console.warn("You need to include froogaloop for vimeo to work")}return j.style.display="none",j.removeAttribute("autoplay"),n},updateNative:function(a,b){var c,d=a.htmlMediaElement;for(c in mejs.HtmlMediaElement)d[c]=mejs.HtmlMediaElement[c];return b.success(d,d),d}},mejs.YouTubeApi={isIframeStarted:!1,isIframeLoaded:!1,loadIframeApi:function(){if(!this.isIframeStarted){var a=document.createElement("script");a.src="//www.youtube.com/player_api";var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(a,b),this.isIframeStarted=!0}},iframeQueue:[],enqueueIframe:function(a){this.isLoaded?this.createIframe(a):(this.loadIframeApi(),this.iframeQueue.push(a))},createIframe:function(a){var b=a.pluginMediaElement,c=new YT.Player(a.containerId,{height:a.height,width:a.width,videoId:a.videoId,playerVars:{controls:0},events:{onReady:function(){a.pluginMediaElement.pluginApi=c,mejs.MediaPluginBridge.initPlugin(a.pluginId),setInterval(function(){mejs.YouTubeApi.createEvent(c,b,"timeupdate")},250)},onStateChange:function(a){mejs.YouTubeApi.handleStateChange(a.data,c,b)}}})},createEvent:function(a,b,c){var d={type:c,target:b};if(a&&a.getDuration){b.currentTime=d.currentTime=a.getCurrentTime(),b.duration=d.duration=a.getDuration(),d.paused=b.paused,d.ended=b.ended,d.muted=a.isMuted(),d.volume=a.getVolume()/100,d.bytesTotal=a.getVideoBytesTotal(),d.bufferedBytes=a.getVideoBytesLoaded();var e=d.bufferedBytes/d.bytesTotal*d.duration;d.target.buffered=d.buffered={start:function(){return 0},end:function(){return e},length:1}}b.dispatchEvent(d.type,d)},iFrameReady:function(){for(this.isLoaded=!0,this.isIframeLoaded=!0;this.iframeQueue.length>0;){var a=this.iframeQueue.pop();this.createIframe(a)}},flashPlayers:{},createFlash:function(a){this.flashPlayers[a.pluginId]=a;var b,c="//www.youtube.com/apiplayer?enablejsapi=1&amp;playerapiid="+a.pluginId+"&amp;version=3&amp;autoplay=0&amp;controls=0&amp;modestbranding=1&loop=0";mejs.MediaFeatures.isIE?(b=document.createElement("div"),a.container.appendChild(b),b.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" id="'+a.pluginId+'" width="'+a.width+'" height="'+a.height+'" class="mejs-shim"><param name="movie" value="'+c+'" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /></object>'):a.container.innerHTML='<object type="application/x-shockwave-flash" id="'+a.pluginId+'" data="'+c+'" width="'+a.width+'" height="'+a.height+'" style="visibility: visible; " class="mejs-shim"><param name="allowScriptAccess" value="always"><param name="wmode" value="transparent"></object>'},flashReady:function(a){var b=this.flashPlayers[a],c=document.getElementById(a),d=b.pluginMediaElement;d.pluginApi=d.pluginElement=c,mejs.MediaPluginBridge.initPlugin(a),c.cueVideoById(b.videoId);var e=b.containerId+"_callback";window[e]=function(a){mejs.YouTubeApi.handleStateChange(a,c,d)},c.addEventListener("onStateChange",e),setInterval(function(){mejs.YouTubeApi.createEvent(c,d,"timeupdate")},250),mejs.YouTubeApi.createEvent(c,d,"canplay")},handleStateChange:function(a,b,c){switch(a){case-1:c.paused=!0,c.ended=!0,mejs.YouTubeApi.createEvent(b,c,"loadedmetadata");break;case 0:c.paused=!1,c.ended=!0,mejs.YouTubeApi.createEvent(b,c,"ended");break;case 1:c.paused=!1,c.ended=!1,mejs.YouTubeApi.createEvent(b,c,"play"),mejs.YouTubeApi.createEvent(b,c,"playing");break;case 2:c.paused=!0,c.ended=!1,mejs.YouTubeApi.createEvent(b,c,"pause");break;case 3:mejs.YouTubeApi.createEvent(b,c,"progress");break;case 5:}}},window.mejs=mejs,window.MediaElement=mejs.MediaElement,function(a,b){"use strict";var c={locale:{language:b.i18n&&b.i18n.locale.language||"",strings:b.i18n&&b.i18n.locale.strings||{}},ietf_lang_regex:/^(x\-)?[a-z]{2,}(\-\w{2,})?(\-\w{2,})?$/,methods:{}};c.getLanguage=function(){var a=c.locale.language||window.navigator.userLanguage||window.navigator.language;return c.ietf_lang_regex.exec(a)?a:null},"undefined"!=typeof mejsL10n&&(c.locale.language=mejsL10n.language),c.methods.checkPlain=function(a){var b,c,d={"&":"&amp;",'"':"&quot;","<":"&lt;",">":"&gt;"};a=String(a);for(b in d)d.hasOwnProperty(b)&&(c=new RegExp(b,"g"),a=a.replace(c,d[b]));return a},c.methods.t=function(a,b){return c.locale.strings&&c.locale.strings[b.context]&&c.locale.strings[b.context][a]&&(a=c.locale.strings[b.context][a]),c.methods.checkPlain(a)},c.t=function(a,b){if("string"==typeof a&&a.length>0){var d=c.getLanguage();return b=b||{context:d},c.methods.t(a,b)}throw{name:"InvalidArgumentException",message:"First argument is either not a string or empty."}},b.i18n=c}(document,mejs),function(a){"use strict";"undefined"!=typeof mejsL10n&&(a[mejsL10n.language]=mejsL10n.strings)}(mejs.i18n.locale.strings),/*!
  *
  * MediaElementPlayer
  * http://mediaelementjs.com/
@@ -24,5 +24,5 @@ function onYouTubePlayerAPIReady(){mejs.YouTubeApi.iFrameReady()}function onYouT
  * License: MIT
  *
  */
-"undefined"!=typeof jQuery?mejs.$=jQuery:"undefined"!=typeof ender&&(mejs.$=ender),function(a){mejs.MepDefaults={poster:"",showPosterWhenEnded:!1,defaultVideoWidth:480,defaultVideoHeight:270,videoWidth:-1,videoHeight:-1,defaultAudioWidth:400,defaultAudioHeight:30,defaultSeekBackwardInterval:function(a){return.05*a.duration},defaultSeekForwardInterval:function(a){return.05*a.duration},setDimensions:!0,audioWidth:-1,audioHeight:-1,startVolume:.8,loop:!1,autoRewind:!0,enableAutosize:!0,alwaysShowHours:!1,showTimecodeFrameCount:!1,framesPerSecond:25,autosizeProgress:!0,alwaysShowControls:!1,hideVideoControlsOnLoad:!1,clickToPlayPause:!0,iPadUseNativeControls:!1,iPhoneUseNativeControls:!1,AndroidUseNativeControls:!1,features:["playpause","current","progress","duration","tracks","volume","fullscreen"],isVideo:!0,enableKeyboard:!0,pauseOtherPlayers:!0,keyActions:[{keys:[32,179],action:function(a,b){b.paused||b.ended?a.play():a.pause()}},{keys:[38],action:function(a,b){a.container.find(".mejs-volume-slider").css("display","block"),a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.min(b.volume+.1,1);b.setVolume(c)}},{keys:[40],action:function(a,b){a.container.find(".mejs-volume-slider").css("display","block"),a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.max(b.volume-.1,0);b.setVolume(c)}},{keys:[37,227],action:function(a,b){if(!isNaN(b.duration)&&b.duration>0){a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.max(b.currentTime-a.options.defaultSeekBackwardInterval(b),0);b.setCurrentTime(c)}}},{keys:[39,228],action:function(a,b){if(!isNaN(b.duration)&&b.duration>0){a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.min(b.currentTime+a.options.defaultSeekForwardInterval(b),b.duration);b.setCurrentTime(c)}}},{keys:[70],action:function(a){"undefined"!=typeof a.enterFullScreen&&(a.isFullScreen?a.exitFullScreen():a.enterFullScreen())}},{keys:[77],action:function(a){a.container.find(".mejs-volume-slider").css("display","block"),a.isVideo&&(a.showControls(),a.startControlsTimer()),a.setMuted(a.media.muted?!1:!0)}}]},mejs.mepIndex=0,mejs.players={},mejs.MediaElementPlayer=function(b,c){if(!(this instanceof mejs.MediaElementPlayer))return new mejs.MediaElementPlayer(b,c);var d=this;return d.$media=d.$node=a(b),d.node=d.media=d.$media[0],"undefined"!=typeof d.node.player?d.node.player:(d.node.player=d,"undefined"==typeof c&&(c=d.$node.data("mejsoptions")),d.options=a.extend({},mejs.MepDefaults,c),d.id="mep_"+mejs.mepIndex++,mejs.players[d.id]=d,d.init(),d)},mejs.MediaElementPlayer.prototype={hasFocus:!1,controlsAreVisible:!0,init:function(){var b=this,c=mejs.MediaFeatures,d=a.extend(!0,{},b.options,{success:function(a,c){b.meReady(a,c)},error:function(a){b.handleError(a)}}),e=b.media.tagName.toLowerCase();if(b.isDynamic="audio"!==e&&"video"!==e,b.isVideo=b.isDynamic?b.options.isVideo:"audio"!==e&&b.options.isVideo,c.isiPad&&b.options.iPadUseNativeControls||c.isiPhone&&b.options.iPhoneUseNativeControls)b.$media.attr("controls","controls"),c.isiPad&&null!==b.media.getAttribute("autoplay")&&b.play();else if(c.isAndroid&&b.options.AndroidUseNativeControls);else{b.$media.removeAttr("controls");var f=mejs.i18n.t(b.isVideo?"Video Player":"Audio Player");if(a('<span class="mejs-offscreen">'+f+"</span>").insertBefore(b.$media),b.container=a('<div id="'+b.id+'" class="mejs-container '+(mejs.MediaFeatures.svg?"svg":"no-svg")+'" tabindex="0" role="application" aria-label="'+f+'"><div class="mejs-inner"><div class="mejs-mediaelement"></div><div class="mejs-layers"></div><div class="mejs-controls"></div><div class="mejs-clear"></div></div></div>').addClass(b.$media[0].className).insertBefore(b.$media).focus(function(){if(!b.controlsAreVisible){b.showControls(!0);var a=b.container.find(".mejs-playpause-button > button");a.focus()}}),b.container.addClass((c.isAndroid?"mejs-android ":"")+(c.isiOS?"mejs-ios ":"")+(c.isiPad?"mejs-ipad ":"")+(c.isiPhone?"mejs-iphone ":"")+(b.isVideo?"mejs-video ":"mejs-audio ")),c.isiOS){var g=b.$media.clone();b.container.find(".mejs-mediaelement").append(g),b.$media.remove(),b.$node=b.$media=g,b.node=b.media=g[0]}else b.container.find(".mejs-mediaelement").append(b.$media);b.controls=b.container.find(".mejs-controls"),b.layers=b.container.find(".mejs-layers");var h=b.isVideo?"video":"audio",i=h.substring(0,1).toUpperCase()+h.substring(1);b.width=b.options[h+"Width"]>0||b.options[h+"Width"].toString().indexOf("%")>-1?b.options[h+"Width"]:""!==b.media.style.width&&null!==b.media.style.width?b.media.style.width:null!==b.media.getAttribute("width")?b.$media.attr("width"):b.options["default"+i+"Width"],b.height=b.options[h+"Height"]>0||b.options[h+"Height"].toString().indexOf("%")>-1?b.options[h+"Height"]:""!==b.media.style.height&&null!==b.media.style.height?b.media.style.height:null!==b.$media[0].getAttribute("height")?b.$media.attr("height"):b.options["default"+i+"Height"],b.setPlayerSize(b.width,b.height),d.pluginWidth=b.width,d.pluginHeight=b.height}mejs.MediaElement(b.$media[0],d),"undefined"!=typeof b.container&&b.controlsAreVisible&&b.container.trigger("controlsshown")},showControls:function(a){var b=this;a="undefined"==typeof a||a,b.controlsAreVisible||(a?(b.controls.css("visibility","visible").stop(!0,!0).fadeIn(200,function(){b.controlsAreVisible=!0,b.container.trigger("controlsshown")}),b.container.find(".mejs-control").css("visibility","visible").stop(!0,!0).fadeIn(200,function(){b.controlsAreVisible=!0})):(b.controls.css("visibility","visible").css("display","block"),b.container.find(".mejs-control").css("visibility","visible").css("display","block"),b.controlsAreVisible=!0,b.container.trigger("controlsshown")),b.setControlsSize())},hideControls:function(b){var c=this;b="undefined"==typeof b||b,!c.controlsAreVisible||c.options.alwaysShowControls||c.keyboardAction||(b?(c.controls.stop(!0,!0).fadeOut(200,function(){a(this).css("visibility","hidden").css("display","block"),c.controlsAreVisible=!1,c.container.trigger("controlshidden")}),c.container.find(".mejs-control").stop(!0,!0).fadeOut(200,function(){a(this).css("visibility","hidden").css("display","block")})):(c.controls.css("visibility","hidden").css("display","block"),c.container.find(".mejs-control").css("visibility","hidden").css("display","block"),c.controlsAreVisible=!1,c.container.trigger("controlshidden")))},controlsTimer:null,startControlsTimer:function(a){var b=this;a="undefined"!=typeof a?a:1500,b.killControlsTimer("start"),b.controlsTimer=setTimeout(function(){b.hideControls(),b.killControlsTimer("hide")},a)},killControlsTimer:function(){var a=this;null!==a.controlsTimer&&(clearTimeout(a.controlsTimer),delete a.controlsTimer,a.controlsTimer=null)},controlsEnabled:!0,disableControls:function(){var a=this;a.killControlsTimer(),a.hideControls(!1),this.controlsEnabled=!1},enableControls:function(){var a=this;a.showControls(!1),a.controlsEnabled=!0},meReady:function(b,c){var d,e,f=this,g=mejs.MediaFeatures,h=c.getAttribute("autoplay"),i=!("undefined"==typeof h||null===h||"false"===h);if(!f.created){if(f.created=!0,f.media=b,f.domNode=c,!(g.isAndroid&&f.options.AndroidUseNativeControls||g.isiPad&&f.options.iPadUseNativeControls||g.isiPhone&&f.options.iPhoneUseNativeControls)){f.buildposter(f,f.controls,f.layers,f.media),f.buildkeyboard(f,f.controls,f.layers,f.media),f.buildoverlays(f,f.controls,f.layers,f.media),f.findTracks();for(d in f.options.features)if(e=f.options.features[d],f["build"+e])try{f["build"+e](f,f.controls,f.layers,f.media)}catch(j){}f.container.trigger("controlsready"),f.setPlayerSize(f.width,f.height),f.setControlsSize(),f.isVideo&&(mejs.MediaFeatures.hasTouch?f.$media.bind("touchstart",function(){f.controlsAreVisible?f.hideControls(!1):f.controlsEnabled&&f.showControls(!1)}):(f.clickToPlayPauseCallback=function(){f.options.clickToPlayPause&&(f.media.paused?f.play():f.pause())},f.media.addEventListener("click",f.clickToPlayPauseCallback,!1),f.container.bind("mouseenter mouseover",function(){f.controlsEnabled&&(f.options.alwaysShowControls||(f.killControlsTimer("enter"),f.showControls(),f.startControlsTimer(2500)))}).bind("mousemove",function(){f.controlsEnabled&&(f.controlsAreVisible||f.showControls(),f.options.alwaysShowControls||f.startControlsTimer(2500))}).bind("mouseleave",function(){f.controlsEnabled&&(f.media.paused||f.options.alwaysShowControls||f.startControlsTimer(1e3))})),f.options.hideVideoControlsOnLoad&&f.hideControls(!1),i&&!f.options.alwaysShowControls&&f.hideControls(),f.options.enableAutosize&&f.media.addEventListener("loadedmetadata",function(a){f.options.videoHeight<=0&&null===f.domNode.getAttribute("height")&&!isNaN(a.target.videoHeight)&&(f.setPlayerSize(a.target.videoWidth,a.target.videoHeight),f.setControlsSize(),f.media.setVideoSize(a.target.videoWidth,a.target.videoHeight))},!1)),b.addEventListener("play",function(){var a;for(a in mejs.players){var b=mejs.players[a];b.id==f.id||!f.options.pauseOtherPlayers||b.paused||b.ended||b.pause(),b.hasFocus=!1}f.hasFocus=!0},!1),f.media.addEventListener("ended",function(){if(f.options.autoRewind)try{f.media.setCurrentTime(0),window.setTimeout(function(){a(f.container).find(".mejs-overlay-loading").parent().hide()},20)}catch(b){}f.media.pause(),f.setProgressRail&&f.setProgressRail(),f.setCurrentRail&&f.setCurrentRail(),f.options.loop?f.play():!f.options.alwaysShowControls&&f.controlsEnabled&&f.showControls()},!1),f.media.addEventListener("loadedmetadata",function(){f.updateDuration&&f.updateDuration(),f.updateCurrent&&f.updateCurrent(),f.isFullScreen||(f.setPlayerSize(f.width,f.height),f.setControlsSize())},!1),f.container.focusout(function(b){if(b.relatedTarget){var c=a(b.relatedTarget);f.keyboardAction&&0===c.parents(".mejs-container").length&&(f.keyboardAction=!1,f.hideControls(!0))}}),setTimeout(function(){f.setPlayerSize(f.width,f.height),f.setControlsSize()},50),f.globalBind("resize",function(){f.isFullScreen||mejs.MediaFeatures.hasTrueNativeFullScreen&&document.webkitIsFullScreen||f.setPlayerSize(f.width,f.height),f.setControlsSize()}),"youtube"==f.media.pluginType&&f.options.autoplay&&f.container.find(".mejs-overlay-play").hide()}i&&"native"==b.pluginType&&f.play(),f.options.success&&("string"==typeof f.options.success?window[f.options.success](f.media,f.domNode,f):f.options.success(f.media,f.domNode,f))}},handleError:function(a){var b=this;b.controls.hide(),b.options.error&&b.options.error(a)},setPlayerSize:function(b,c){var d=this;if(!d.options.setDimensions)return!1;if("undefined"!=typeof b&&(d.width=b),"undefined"!=typeof c&&(d.height=c),d.height.toString().indexOf("%")>0||"100%"===d.$node.css("max-width")||d.$node[0].currentStyle&&"100%"===d.$node[0].currentStyle.maxWidth){var e=function(){return d.isVideo?d.media.videoWidth&&d.media.videoWidth>0?d.media.videoWidth:null!==d.media.getAttribute("width")?d.media.getAttribute("width"):d.options.defaultVideoWidth:d.options.defaultAudioWidth}(),f=function(){return d.isVideo?d.media.videoHeight&&d.media.videoHeight>0?d.media.videoHeight:null!==d.media.getAttribute("height")?d.media.getAttribute("height"):d.options.defaultVideoHeight:d.options.defaultAudioHeight}(),g=d.container.parent().closest(":visible").width(),h=d.container.parent().closest(":visible").height(),i=d.isVideo||!d.options.autosizeProgress?parseInt(g*f/e,10):f;isNaN(i)&&(i=h),"body"===d.container.parent()[0].tagName.toLowerCase()&&(g=a(window).width(),i=a(window).height()),i&&g&&(d.container.width(g).height(i),d.$media.add(d.container.find(".mejs-shim")).width("100%").height("100%"),d.isVideo&&d.media.setVideoSize&&d.media.setVideoSize(g,i),d.layers.children(".mejs-layer").width("100%").height("100%"))}else d.container.width(d.width).height(d.height),d.layers.children(".mejs-layer").width(d.width).height(d.height);var j=d.layers.find(".mejs-overlay-play"),k=j.find(".mejs-overlay-button");j.height(d.container.height()-d.controls.height()),k.css("margin-top","-"+(k.height()/2-d.controls.height()/2).toString()+"px")},setControlsSize:function(){var b=this,c=0,d=0,e=b.controls.find(".mejs-time-rail"),f=b.controls.find(".mejs-time-total"),g=(b.controls.find(".mejs-time-current"),b.controls.find(".mejs-time-loaded"),e.siblings()),h=g.last(),i=null;if(b.container.is(":visible")&&e.length&&e.is(":visible")){b.options&&!b.options.autosizeProgress&&(d=parseInt(e.css("width"),10)),0!==d&&d||(g.each(function(){var b=a(this);"absolute"!=b.css("position")&&b.is(":visible")&&(c+=a(this).outerWidth(!0))}),d=b.controls.width()-c-(e.outerWidth(!0)-e.width()));do e.width(d),f.width(d-(f.outerWidth(!0)-f.width())),"absolute"!=h.css("position")&&(i=h.position(),d--);while(null!==i&&i.top>0&&d>0);b.setProgressRail&&b.setProgressRail(),b.setCurrentRail&&b.setCurrentRail()}},buildposter:function(b,c,d,e){var f=this,g=a('<div class="mejs-poster mejs-layer"></div>').appendTo(d),h=b.$media.attr("poster");""!==b.options.poster&&(h=b.options.poster),h?f.setPoster(h):g.hide(),e.addEventListener("play",function(){g.hide()},!1),b.options.showPosterWhenEnded&&b.options.autoRewind&&e.addEventListener("ended",function(){g.show()},!1)},setPoster:function(b){var c=this,d=c.container.find(".mejs-poster"),e=d.find("img");0===e.length&&(e=a('<img width="100%" height="100%" />').appendTo(d)),e.attr("src",b),d.css({"background-image":"url("+b+")"})},buildoverlays:function(b,c,d,e){var f=this;if(b.isVideo){var g=a('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-loading"><span></span></div></div>').hide().appendTo(d),h=a('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-error"></div></div>').hide().appendTo(d),i=a('<div class="mejs-overlay mejs-layer mejs-overlay-play"><div class="mejs-overlay-button"></div></div>').appendTo(d).bind("click",function(){f.options.clickToPlayPause&&e.paused&&e.play()});e.addEventListener("play",function(){i.hide(),g.hide(),c.find(".mejs-time-buffering").hide(),h.hide()},!1),e.addEventListener("playing",function(){i.hide(),g.hide(),c.find(".mejs-time-buffering").hide(),h.hide()},!1),e.addEventListener("seeking",function(){g.show(),c.find(".mejs-time-buffering").show()},!1),e.addEventListener("seeked",function(){g.hide(),c.find(".mejs-time-buffering").hide()},!1),e.addEventListener("pause",function(){mejs.MediaFeatures.isiPhone||i.show()},!1),e.addEventListener("waiting",function(){g.show(),c.find(".mejs-time-buffering").show()},!1),e.addEventListener("loadeddata",function(){g.show(),c.find(".mejs-time-buffering").show(),mejs.MediaFeatures.isAndroid&&(e.canplayTimeout=window.setTimeout(function(){if(document.createEvent){var a=document.createEvent("HTMLEvents");return a.initEvent("canplay",!0,!0),e.dispatchEvent(a)}},300))},!1),e.addEventListener("canplay",function(){g.hide(),c.find(".mejs-time-buffering").hide(),clearTimeout(e.canplayTimeout)},!1),e.addEventListener("error",function(){g.hide(),c.find(".mejs-time-buffering").hide(),h.show(),h.find("mejs-overlay-error").html("Error loading this resource")},!1),e.addEventListener("keydown",function(a){f.onkeydown(b,e,a)},!1)}},buildkeyboard:function(b,c,d,e){var f=this;f.container.keydown(function(){f.keyboardAction=!0}),f.globalBind("keydown",function(a){return f.onkeydown(b,e,a)}),f.globalBind("click",function(c){b.hasFocus=0!==a(c.target).closest(".mejs-container").length})},onkeydown:function(a,b,c){if(a.hasFocus&&a.options.enableKeyboard)for(var d=0,e=a.options.keyActions.length;e>d;d++)for(var f=a.options.keyActions[d],g=0,h=f.keys.length;h>g;g++)if(c.keyCode==f.keys[g])return"function"==typeof c.preventDefault&&c.preventDefault(),f.action(a,b,c.keyCode),!1;return!0},findTracks:function(){var b=this,c=b.$media.find("track");b.tracks=[],c.each(function(c,d){d=a(d),b.tracks.push({srclang:d.attr("srclang")?d.attr("srclang").toLowerCase():"",src:d.attr("src"),kind:d.attr("kind"),label:d.attr("label")||"",entries:[],isLoaded:!1})})},changeSkin:function(a){this.container[0].className="mejs-container "+a,this.setPlayerSize(this.width,this.height),this.setControlsSize()},play:function(){this.load(),this.media.play()},pause:function(){try{this.media.pause()}catch(a){}},load:function(){this.isLoaded||this.media.load(),this.isLoaded=!0},setMuted:function(a){this.media.setMuted(a)},setCurrentTime:function(a){this.media.setCurrentTime(a)},getCurrentTime:function(){return this.media.currentTime},setVolume:function(a){this.media.setVolume(a)},getVolume:function(){return this.media.volume},setSrc:function(a){this.media.setSrc(a)},remove:function(){var a,b,c=this;for(a in c.options.features)if(b=c.options.features[a],c["clean"+b])try{c["clean"+b](c)}catch(d){}c.isDynamic?c.$node.insertBefore(c.container):(c.$media.prop("controls",!0),c.$node.clone().insertBefore(c.container).show(),c.$node.remove()),"native"!==c.media.pluginType&&c.media.remove(),delete mejs.players[c.id],"object"==typeof c.container&&c.container.remove(),c.globalUnbind(),delete c.node.player}},function(){function b(b,d){var e={d:[],w:[]};return a.each((b||"").split(" "),function(a,b){var f=b+"."+d;0===f.indexOf(".")?(e.d.push(f),e.w.push(f)):e[c.test(b)?"w":"d"].push(f)}),e.d=e.d.join(" "),e.w=e.w.join(" "),e}var c=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/;mejs.MediaElementPlayer.prototype.globalBind=function(c,d,e){var f=this;c=b(c,f.id),c.d&&a(document).bind(c.d,d,e),c.w&&a(window).bind(c.w,d,e)},mejs.MediaElementPlayer.prototype.globalUnbind=function(c,d){var e=this;c=b(c,e.id),c.d&&a(document).unbind(c.d,d),c.w&&a(window).unbind(c.w,d)}}(),"undefined"!=typeof a&&(a.fn.mediaelementplayer=function(b){return this.each(b===!1?function(){var b=a(this).data("mediaelementplayer");b&&b.remove(),a(this).removeData("mediaelementplayer")}:function(){a(this).data("mediaelementplayer",new mejs.MediaElementPlayer(this,b))}),this},a(document).ready(function(){a(".mejs-player").mediaelementplayer()})),window.MediaElementPlayer=mejs.MediaElementPlayer}(mejs.$),function(a){a.extend(mejs.MepDefaults,{playText:mejs.i18n.t("Play"),pauseText:mejs.i18n.t("Pause")}),a.extend(MediaElementPlayer.prototype,{buildplaypause:function(b,c,d,e){function f(a){"play"===a?(i.removeClass("mejs-play").addClass("mejs-pause"),j.attr({title:h.pauseText,"aria-label":h.pauseText})):(i.removeClass("mejs-pause").addClass("mejs-play"),j.attr({title:h.playText,"aria-label":h.playText}))}var g=this,h=g.options,i=a('<div class="mejs-button mejs-playpause-button mejs-play" ><button type="button" aria-controls="'+g.id+'" title="'+h.playText+'" aria-label="'+h.playText+'"></button></div>').appendTo(c).click(function(a){return a.preventDefault(),e.paused?e.play():e.pause(),!1}),j=i.find("button");f("pse"),e.addEventListener("play",function(){f("play")},!1),e.addEventListener("playing",function(){f("play")},!1),e.addEventListener("pause",function(){f("pse")},!1),e.addEventListener("paused",function(){f("pse")},!1)}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{stopText:"Stop"}),a.extend(MediaElementPlayer.prototype,{buildstop:function(b,c,d,e){{var f=this;a('<div class="mejs-button mejs-stop-button mejs-stop"><button type="button" aria-controls="'+f.id+'" title="'+f.options.stopText+'" aria-label="'+f.options.stopText+'"></button></div>').appendTo(c).click(function(){e.paused||e.pause(),e.currentTime>0&&(e.setCurrentTime(0),e.pause(),c.find(".mejs-time-current").width("0px"),c.find(".mejs-time-handle").css("left","0px"),c.find(".mejs-time-float-current").html(mejs.Utility.secondsToTimeCode(0)),c.find(".mejs-currenttime").html(mejs.Utility.secondsToTimeCode(0)),d.find(".mejs-poster").show())})}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{progessHelpText:mejs.i18n.t("Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.")}),a.extend(MediaElementPlayer.prototype,{buildprogress:function(b,c,d,e){a('<div class="mejs-time-rail"><a href="javascript:void(0);" class="mejs-time-total mejs-time-slider"><span class="mejs-offscreen">'+this.options.progessHelpText+'</span><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></a></div>').appendTo(c),c.find(".mejs-time-buffering").hide();var f=this,g=c.find(".mejs-time-total"),h=c.find(".mejs-time-loaded"),i=c.find(".mejs-time-current"),j=c.find(".mejs-time-handle"),k=c.find(".mejs-time-float"),l=c.find(".mejs-time-float-current"),m=c.find(".mejs-time-slider"),n=function(a){var b,c=g.offset(),d=g.outerWidth(!0),f=0,h=0,i=0;b=a.originalEvent.changedTouches?a.originalEvent.changedTouches[0].pageX:a.pageX,e.duration&&(b<c.left?b=c.left:b>d+c.left&&(b=d+c.left),i=b-c.left,f=i/d,h=.02>=f?0:f*e.duration,o&&h!==e.currentTime&&e.setCurrentTime(h),mejs.MediaFeatures.hasTouch||(k.css("left",i),l.html(mejs.Utility.secondsToTimeCode(h)),k.show()))},o=!1,p=!1,q=0,r=!1,s=b.options.autoRewind,t=function(){var a=e.currentTime,b=mejs.i18n.t("Time Slider"),c=mejs.Utility.secondsToTimeCode(a),d=e.duration;m.attr({"aria-label":b,"aria-valuemin":0,"aria-valuemax":d,"aria-valuenow":a,"aria-valuetext":c,role:"slider",tabindex:0})},u=function(){var a=new Date;a-q>=1e3&&e.play()};m.bind("focus",function(){b.options.autoRewind=!1}),m.bind("blur",function(){b.options.autoRewind=s}),m.bind("keydown",function(a){new Date-q>=1e3&&(r=e.paused);var b=a.keyCode,c=e.duration,d=e.currentTime;switch(b){case 37:d-=1;break;case 39:d+=1;break;case 38:d+=Math.floor(.1*c);break;case 40:d-=Math.floor(.1*c);break;case 36:d=0;break;case 35:d=c;break;case 10:return void(e.paused?e.play():e.pause());case 13:return void(e.paused?e.play():e.pause());default:return}return d=0>d?0:d>=c?c:Math.floor(d),q=new Date,r||e.pause(),d<e.duration&&!r&&setTimeout(u,1100),e.setCurrentTime(d),a.preventDefault(),a.stopPropagation(),!1}),g.bind("mousedown touchstart",function(a){(1===a.which||0===a.which)&&(o=!0,n(a),f.globalBind("mousemove.dur touchmove.dur",function(a){n(a)}),f.globalBind("mouseup.dur touchend.dur",function(){o=!1,k.hide(),f.globalUnbind(".dur")}))}).bind("mouseenter",function(){p=!0,f.globalBind("mousemove.dur",function(a){n(a)}),mejs.MediaFeatures.hasTouch||k.show()}).bind("mouseleave",function(){p=!1,o||(f.globalUnbind(".dur"),k.hide())}),e.addEventListener("progress",function(a){b.setProgressRail(a),b.setCurrentRail(a)},!1),e.addEventListener("timeupdate",function(a){b.setProgressRail(a),b.setCurrentRail(a),t(a)},!1),f.loaded=h,f.total=g,f.current=i,f.handle=j},setProgressRail:function(a){var b=this,c=void 0!==a?a.target:b.media,d=null;c&&c.buffered&&c.buffered.length>0&&c.buffered.end&&c.duration?d=c.buffered.end(0)/c.duration:c&&void 0!==c.bytesTotal&&c.bytesTotal>0&&void 0!==c.bufferedBytes?d=c.bufferedBytes/c.bytesTotal:a&&a.lengthComputable&&0!==a.total&&(d=a.loaded/a.total),null!==d&&(d=Math.min(1,Math.max(0,d)),b.loaded&&b.total&&b.loaded.width(b.total.width()*d))},setCurrentRail:function(){var a=this;if(void 0!==a.media.currentTime&&a.media.duration&&a.total&&a.handle){var b=Math.round(a.total.width()*a.media.currentTime/a.media.duration),c=b-Math.round(a.handle.outerWidth(!0)/2);a.current.width(b),a.handle.css("left",c)}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{duration:-1,timeAndDurationSeparator:"<span> | </span>"}),a.extend(MediaElementPlayer.prototype,{buildcurrent:function(b,c,d,e){var f=this;a('<div class="mejs-time" role="timer" aria-live="off"><span class="mejs-currenttime">'+(b.options.alwaysShowHours?"00:":"")+(b.options.showTimecodeFrameCount?"00:00:00":"00:00")+"</span></div>").appendTo(c),f.currenttime=f.controls.find(".mejs-currenttime"),e.addEventListener("timeupdate",function(){b.updateCurrent()},!1)},buildduration:function(b,c,d,e){var f=this;c.children().last().find(".mejs-currenttime").length>0?a(f.options.timeAndDurationSeparator+'<span class="mejs-duration">'+(f.options.duration>0?mejs.Utility.secondsToTimeCode(f.options.duration,f.options.alwaysShowHours||f.media.duration>3600,f.options.showTimecodeFrameCount,f.options.framesPerSecond||25):(b.options.alwaysShowHours?"00:":"")+(b.options.showTimecodeFrameCount?"00:00:00":"00:00"))+"</span>").appendTo(c.find(".mejs-time")):(c.find(".mejs-currenttime").parent().addClass("mejs-currenttime-container"),a('<div class="mejs-time mejs-duration-container"><span class="mejs-duration">'+(f.options.duration>0?mejs.Utility.secondsToTimeCode(f.options.duration,f.options.alwaysShowHours||f.media.duration>3600,f.options.showTimecodeFrameCount,f.options.framesPerSecond||25):(b.options.alwaysShowHours?"00:":"")+(b.options.showTimecodeFrameCount?"00:00:00":"00:00"))+"</span></div>").appendTo(c)),f.durationD=f.controls.find(".mejs-duration"),e.addEventListener("timeupdate",function(){b.updateDuration()},!1)},updateCurrent:function(){var a=this;a.currenttime&&a.currenttime.html(mejs.Utility.secondsToTimeCode(a.media.currentTime,a.options.alwaysShowHours||a.media.duration>3600,a.options.showTimecodeFrameCount,a.options.framesPerSecond||25))},updateDuration:function(){var a=this;a.container.toggleClass("mejs-long-video",a.media.duration>3600),a.durationD&&(a.options.duration>0||a.media.duration)&&a.durationD.html(mejs.Utility.secondsToTimeCode(a.options.duration>0?a.options.duration:a.media.duration,a.options.alwaysShowHours,a.options.showTimecodeFrameCount,a.options.framesPerSecond||25))}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{muteText:mejs.i18n.t("Mute Toggle"),allyVolumeControlText:mejs.i18n.t("Use Up/Down Arrow keys to increase or decrease volume."),hideVolumeOnTouchDevices:!0,audioVolume:"horizontal",videoVolume:"vertical"}),a.extend(MediaElementPlayer.prototype,{buildvolume:function(b,c,d,e){if(!mejs.MediaFeatures.isAndroid&&!mejs.MediaFeatures.isiOS||!this.options.hideVolumeOnTouchDevices){var f=this,g=f.isVideo?f.options.videoVolume:f.options.audioVolume,h="horizontal"==g?a('<div class="mejs-button mejs-volume-button mejs-mute"><button type="button" aria-controls="'+f.id+'" title="'+f.options.muteText+'" aria-label="'+f.options.muteText+'"></button></div><a href="javascript:void(0);" class="mejs-horizontal-volume-slider"><span class="mejs-offscreen">'+f.options.allyVolumeControlText+'</span><div class="mejs-horizontal-volume-total"></div><div class="mejs-horizontal-volume-current"></div><div class="mejs-horizontal-volume-handle"></div></a>').appendTo(c):a('<div class="mejs-button mejs-volume-button mejs-mute"><button type="button" aria-controls="'+f.id+'" title="'+f.options.muteText+'" aria-label="'+f.options.muteText+'"></button><a href="javascript:void(0);" class="mejs-volume-slider"><span class="mejs-offscreen">'+f.options.allyVolumeControlText+'</span><div class="mejs-volume-total"></div><div class="mejs-volume-current"></div><div class="mejs-volume-handle"></div></a></div>').appendTo(c),i=f.container.find(".mejs-volume-slider, .mejs-horizontal-volume-slider"),j=f.container.find(".mejs-volume-total, .mejs-horizontal-volume-total"),k=f.container.find(".mejs-volume-current, .mejs-horizontal-volume-current"),l=f.container.find(".mejs-volume-handle, .mejs-horizontal-volume-handle"),m=function(a,b){if(!i.is(":visible")&&"undefined"==typeof b)return i.show(),m(a,!0),void i.hide();a=Math.max(0,a),a=Math.min(a,1),0===a?h.removeClass("mejs-mute").addClass("mejs-unmute"):h.removeClass("mejs-unmute").addClass("mejs-mute");var c=j.position();if("vertical"==g){var d=j.height(),e=d-d*a;l.css("top",Math.round(c.top+e-l.height()/2)),k.height(d-e),k.css("top",c.top+e)}else{var f=j.width(),n=f*a;l.css("left",Math.round(c.left+n-l.width()/2)),k.width(Math.round(n))}},n=function(a){var b=null,c=j.offset();if("vertical"===g){var d=j.height(),f=(parseInt(j.css("top").replace(/px/,""),10),a.pageY-c.top);if(b=(d-f)/d,0===c.top||0===c.left)return}else{var h=j.width(),i=a.pageX-c.left;b=i/h}b=Math.max(0,b),b=Math.min(b,1),m(b),e.setMuted(0===b?!0:!1),e.setVolume(b)},o=!1,p=!1;h.hover(function(){i.show(),p=!0},function(){p=!1,o||"vertical"!=g||i.hide()});var q=function(){var a=Math.floor(100*e.volume);i.attr({"aria-label":mejs.i18n.t("volumeSlider"),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":a,"aria-valuetext":a+"%",role:"slider",tabindex:0})};i.bind("mouseover",function(){p=!0}).bind("mousedown",function(a){return n(a),f.globalBind("mousemove.vol",function(a){n(a)}),f.globalBind("mouseup.vol",function(){o=!1,f.globalUnbind(".vol"),p||"vertical"!=g||i.hide()}),o=!0,!1}).bind("keydown",function(a){var b=a.keyCode,c=e.volume;switch(b){case 38:c+=.1;break;case 40:c-=.1;break;default:return!0}return o=!1,m(c),e.setVolume(c),!1}).bind("blur",function(){i.hide()}),h.find("button").click(function(){e.setMuted(!e.muted)}),h.find("button").bind("focus",function(){i.show()}),e.addEventListener("volumechange",function(a){o||(e.muted?(m(0),h.removeClass("mejs-mute").addClass("mejs-unmute")):(m(e.volume),h.removeClass("mejs-unmute").addClass("mejs-mute"))),q(a)},!1),f.container.is(":visible")&&(m(b.options.startVolume),0===b.options.startVolume&&e.setMuted(!0),"native"===e.pluginType&&e.setVolume(b.options.startVolume))}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{usePluginFullScreen:!0,newWindowCallback:function(){return""},fullscreenText:mejs.i18n.t("Fullscreen")}),a.extend(MediaElementPlayer.prototype,{isFullScreen:!1,isNativeFullScreen:!1,isInIframe:!1,buildfullscreen:function(b,c,d,e){if(b.isVideo){if(b.isInIframe=window.location!=window.parent.location,mejs.MediaFeatures.hasTrueNativeFullScreen){var f=function(){b.isFullScreen&&(mejs.MediaFeatures.isFullScreen()?(b.isNativeFullScreen=!0,b.setControlsSize()):(b.isNativeFullScreen=!1,b.exitFullScreen()))};b.globalBind(mejs.MediaFeatures.fullScreenEventName,f)}var g=this,h=(b.container,a('<div class="mejs-button mejs-fullscreen-button"><button type="button" aria-controls="'+g.id+'" title="'+g.options.fullscreenText+'" aria-label="'+g.options.fullscreenText+'"></button></div>').appendTo(c));if("native"===g.media.pluginType||!g.options.usePluginFullScreen&&!mejs.MediaFeatures.isFirefox)h.click(function(){var a=mejs.MediaFeatures.hasTrueNativeFullScreen&&mejs.MediaFeatures.isFullScreen()||b.isFullScreen;a?b.exitFullScreen():b.enterFullScreen()});else{var i=null,j=function(){var a,b=document.createElement("x"),c=document.documentElement,d=window.getComputedStyle;return"pointerEvents"in b.style?(b.style.pointerEvents="auto",b.style.pointerEvents="x",c.appendChild(b),a=d&&"auto"===d(b,"").pointerEvents,c.removeChild(b),!!a):!1}();if(j&&!mejs.MediaFeatures.isOpera){var k,l,m=!1,n=function(){if(m){for(var a in o)o[a].hide();h.css("pointer-events",""),g.controls.css("pointer-events",""),g.media.removeEventListener("click",g.clickToPlayPauseCallback),m=!1}},o={},p=["top","left","right","bottom"],q=function(){var a=h.offset().left-g.container.offset().left,b=h.offset().top-g.container.offset().top,c=h.outerWidth(!0),d=h.outerHeight(!0),e=g.container.width(),f=g.container.height();for(k in o)o[k].css({position:"absolute",top:0,left:0});o.top.width(e).height(b),o.left.width(a).height(d).css({top:b}),o.right.width(e-a-c).height(d).css({top:b,left:a+c}),o.bottom.width(e).height(f-d-b).css({top:b+d})};for(g.globalBind("resize",function(){q()}),k=0,l=p.length;l>k;k++)o[p[k]]=a('<div class="mejs-fullscreen-hover" />').appendTo(g.container).mouseover(n).hide();h.on("mouseover",function(){if(!g.isFullScreen){var a=h.offset(),c=b.container.offset();e.positionFullscreenButton(a.left-c.left,a.top-c.top,!1),h.css("pointer-events","none"),g.controls.css("pointer-events","none"),g.media.addEventListener("click",g.clickToPlayPauseCallback);for(k in o)o[k].show();q(),m=!0}}),e.addEventListener("fullscreenchange",function(){g.isFullScreen=!g.isFullScreen,g.isFullScreen?g.media.removeEventListener("click",g.clickToPlayPauseCallback):g.media.addEventListener("click",g.clickToPlayPauseCallback),n()}),g.globalBind("mousemove",function(a){if(m){var b=h.offset();(a.pageY<b.top||a.pageY>b.top+h.outerHeight(!0)||a.pageX<b.left||a.pageX>b.left+h.outerWidth(!0))&&(h.css("pointer-events",""),g.controls.css("pointer-events",""),m=!1)
-}})}else h.on("mouseover",function(){null!==i&&(clearTimeout(i),delete i);var a=h.offset(),c=b.container.offset();e.positionFullscreenButton(a.left-c.left,a.top-c.top,!0)}).on("mouseout",function(){null!==i&&(clearTimeout(i),delete i),i=setTimeout(function(){e.hideFullscreenButton()},1500)})}b.fullscreenBtn=h,g.globalBind("keydown",function(a){(mejs.MediaFeatures.hasTrueNativeFullScreen&&mejs.MediaFeatures.isFullScreen()||g.isFullScreen)&&27==a.keyCode&&b.exitFullScreen()})}},cleanfullscreen:function(a){a.exitFullScreen()},containerSizeTimeout:null,enterFullScreen:function(){var b=this;if("native"===b.media.pluginType||!mejs.MediaFeatures.isFirefox&&!b.options.usePluginFullScreen){if(a(document.documentElement).addClass("mejs-fullscreen"),normalHeight=b.container.height(),normalWidth=b.container.width(),"native"===b.media.pluginType)if(mejs.MediaFeatures.hasTrueNativeFullScreen)mejs.MediaFeatures.requestFullScreen(b.container[0]),b.isInIframe&&setTimeout(function d(){if(b.isNativeFullScreen){var c=window.devicePixelRatio||1,e=.002,f=c*a(window).width(),g=screen.width,h=Math.abs(g-f),i=g*e;h>i?b.exitFullScreen():setTimeout(d,500)}},500);else if(mejs.MediaFeatures.hasSemiNativeFullScreen)return void b.media.webkitEnterFullscreen();if(b.isInIframe){var c=b.options.newWindowCallback(this);if(""!==c){if(!mejs.MediaFeatures.hasTrueNativeFullScreen)return b.pause(),void window.open(c,b.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no");setTimeout(function(){b.isNativeFullScreen||(b.pause(),window.open(c,b.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no"))},250)}}b.container.addClass("mejs-container-fullscreen").width("100%").height("100%"),b.containerSizeTimeout=setTimeout(function(){b.container.css({width:"100%",height:"100%"}),b.setControlsSize()},500),"native"===b.media.pluginType?b.$media.width("100%").height("100%"):(b.container.find(".mejs-shim").width("100%").height("100%"),b.media.setVideoSize(a(window).width(),a(window).height())),b.layers.children("div").width("100%").height("100%"),b.fullscreenBtn&&b.fullscreenBtn.removeClass("mejs-fullscreen").addClass("mejs-unfullscreen"),b.setControlsSize(),b.isFullScreen=!0,b.container.find(".mejs-captions-text").css("font-size",screen.width/b.width*1*100+"%"),b.container.find(".mejs-captions-position").css("bottom","45px")}},exitFullScreen:function(){var b=this;return clearTimeout(b.containerSizeTimeout),"native"!==b.media.pluginType&&mejs.MediaFeatures.isFirefox?void b.media.setFullscreen(!1):(mejs.MediaFeatures.hasTrueNativeFullScreen&&(mejs.MediaFeatures.isFullScreen()||b.isFullScreen)&&mejs.MediaFeatures.cancelFullScreen(),a(document.documentElement).removeClass("mejs-fullscreen"),b.container.removeClass("mejs-container-fullscreen").width(normalWidth).height(normalHeight),"native"===b.media.pluginType?b.$media.width(normalWidth).height(normalHeight):(b.container.find(".mejs-shim").width(normalWidth).height(normalHeight),b.media.setVideoSize(normalWidth,normalHeight)),b.layers.children("div").width(normalWidth).height(normalHeight),b.fullscreenBtn.removeClass("mejs-unfullscreen").addClass("mejs-fullscreen"),b.setControlsSize(),b.isFullScreen=!1,b.container.find(".mejs-captions-text").css("font-size",""),void b.container.find(".mejs-captions-position").css("bottom",""))}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{speeds:["2.00","1.50","1.25","1.00","0.75"],defaultSpeed:"1.00",speedChar:"x"}),a.extend(MediaElementPlayer.prototype,{buildspeed:function(b,c,d,e){var f=this;if("native"==f.media.pluginType){var g=null,h=null,i='<div class="mejs-button mejs-speed-button"><button type="button">'+f.options.defaultSpeed+f.options.speedChar+'</button><div class="mejs-speed-selector"><ul>';-1===a.inArray(f.options.defaultSpeed,f.options.speeds)&&f.options.speeds.push(f.options.defaultSpeed),f.options.speeds.sort(function(a,b){return parseFloat(b)-parseFloat(a)});for(var j=0,k=f.options.speeds.length;k>j;j++)i+='<li><input type="radio" name="speed" value="'+f.options.speeds[j]+'" id="'+f.options.speeds[j]+'" '+(f.options.speeds[j]==f.options.defaultSpeed?" checked":"")+' /><label for="'+f.options.speeds[j]+'" '+(f.options.speeds[j]==f.options.defaultSpeed?' class="mejs-speed-selected"':"")+">"+f.options.speeds[j]+f.options.speedChar+"</label></li>";i+="</ul></div></div>",g=a(i).appendTo(c),h=g.find(".mejs-speed-selector"),playbackspeed=f.options.defaultSpeed,h.on("click",'input[type="radio"]',function(){var b=a(this).attr("value");playbackspeed=b,e.playbackRate=parseFloat(b),g.find("button").html("test"+b+f.options.speedChar),g.find(".mejs-speed-selected").removeClass("mejs-speed-selected"),g.find('input[type="radio"]:checked').next().addClass("mejs-speed-selected")}),h.height(g.find(".mejs-speed-selector ul").outerHeight(!0)+g.find(".mejs-speed-translations").outerHeight(!0)).css("top",-1*h.height()+"px")}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{startLanguage:"",tracksText:mejs.i18n.t("Captions/Subtitles"),hideCaptionsButtonWhenEmpty:!0,toggleCaptionsButtonWhenOnlyOne:!1,slidesSelector:""}),a.extend(MediaElementPlayer.prototype,{hasChapters:!1,buildtracks:function(b,c,d,e){if(0!==b.tracks.length){var f,g=this;if(g.domNode.textTracks)for(f=g.domNode.textTracks.length-1;f>=0;f--)g.domNode.textTracks[f].mode="hidden";b.chapters=a('<div class="mejs-chapters mejs-layer"></div>').prependTo(d).hide(),b.captions=a('<div class="mejs-captions-layer mejs-layer"><div class="mejs-captions-position mejs-captions-position-hover" role="log" aria-live="assertive" aria-atomic="false"><span class="mejs-captions-text"></span></div></div>').prependTo(d).hide(),b.captionsText=b.captions.find(".mejs-captions-text"),b.captionsButton=a('<div class="mejs-button mejs-captions-button"><button type="button" aria-controls="'+g.id+'" title="'+g.options.tracksText+'" aria-label="'+g.options.tracksText+'"></button><div class="mejs-captions-selector"><ul><li><input type="radio" name="'+b.id+'_captions" id="'+b.id+'_captions_none" value="none" checked="checked" /><label for="'+b.id+'_captions_none">'+mejs.i18n.t("None")+"</label></li></ul></div></div>").appendTo(c);var h=0;for(f=0;f<b.tracks.length;f++)"subtitles"==b.tracks[f].kind&&h++;for(g.options.toggleCaptionsButtonWhenOnlyOne&&1==h?b.captionsButton.on("click",function(){lang=null===b.selectedTrack?b.tracks[0].srclang:"none",b.setTrack(lang)}):(b.captionsButton.on("mouseenter focusin",function(){a(this).find(".mejs-captions-selector").css("visibility","visible")}).on("click","input[type=radio]",function(){lang=this.value,b.setTrack(lang)}),b.captionsButton.on("mouseleave focusout",function(){a(this).find(".mejs-captions-selector").css("visibility","hidden")})),b.options.alwaysShowControls?b.container.find(".mejs-captions-position").addClass("mejs-captions-position-hover"):b.container.bind("controlsshown",function(){b.container.find(".mejs-captions-position").addClass("mejs-captions-position-hover")}).bind("controlshidden",function(){e.paused||b.container.find(".mejs-captions-position").removeClass("mejs-captions-position-hover")}),b.trackToLoad=-1,b.selectedTrack=null,b.isLoadingTrack=!1,f=0;f<b.tracks.length;f++)"subtitles"==b.tracks[f].kind&&b.addTrackButton(b.tracks[f].srclang,b.tracks[f].label);b.loadNextTrack(),e.addEventListener("timeupdate",function(){b.displayCaptions()},!1),""!==b.options.slidesSelector&&(b.slidesContainer=a(b.options.slidesSelector),e.addEventListener("timeupdate",function(){b.displaySlides()},!1)),e.addEventListener("loadedmetadata",function(){b.displayChapters()},!1),b.container.hover(function(){b.hasChapters&&(b.chapters.css("visibility","visible"),b.chapters.fadeIn(200).height(b.chapters.find(".mejs-chapter").outerHeight()))},function(){b.hasChapters&&!e.paused&&b.chapters.fadeOut(200,function(){a(this).css("visibility","hidden"),a(this).css("display","block")})}),null!==b.node.getAttribute("autoplay")&&b.chapters.css("visibility","hidden")}},setTrack:function(a){var b,c=this;if("none"==a)c.selectedTrack=null,c.captionsButton.removeClass("mejs-captions-enabled");else for(b=0;b<c.tracks.length;b++)if(c.tracks[b].srclang==a){null===c.selectedTrack&&c.captionsButton.addClass("mejs-captions-enabled"),c.selectedTrack=c.tracks[b],c.captions.attr("lang",c.selectedTrack.srclang),c.displayCaptions();break}},loadNextTrack:function(){var a=this;a.trackToLoad++,a.trackToLoad<a.tracks.length?(a.isLoadingTrack=!0,a.loadTrack(a.trackToLoad)):(a.isLoadingTrack=!1,a.checkForTracks())},loadTrack:function(b){var c=this,d=c.tracks[b],e=function(){d.isLoaded=!0,c.enableTrackButton(d.srclang,d.label),c.loadNextTrack()};a.ajax({url:d.src,dataType:"text",success:function(a){d.entries="string"==typeof a&&/<tt\s+xml/gi.exec(a)?mejs.TrackFormatParser.dfxp.parse(a):mejs.TrackFormatParser.webvtt.parse(a),e(),"chapters"==d.kind&&c.media.addEventListener("play",function(){c.media.duration>0&&c.displayChapters(d)},!1),"slides"==d.kind&&c.setupSlides(d)},error:function(){c.loadNextTrack()}})},enableTrackButton:function(b,c){var d=this;""===c&&(c=mejs.language.codes[b]||b),d.captionsButton.find("input[value="+b+"]").prop("disabled",!1).siblings("label").html(c),d.options.startLanguage==b&&a("#"+d.id+"_captions_"+b).prop("checked",!0).trigger("click"),d.adjustLanguageBox()},addTrackButton:function(b,c){var d=this;""===c&&(c=mejs.language.codes[b]||b),d.captionsButton.find("ul").append(a('<li><input type="radio" name="'+d.id+'_captions" id="'+d.id+"_captions_"+b+'" value="'+b+'" disabled="disabled" /><label for="'+d.id+"_captions_"+b+'">'+c+" (loading)</label></li>")),d.adjustLanguageBox(),d.container.find(".mejs-captions-translations option[value="+b+"]").remove()},adjustLanguageBox:function(){var a=this;a.captionsButton.find(".mejs-captions-selector").height(a.captionsButton.find(".mejs-captions-selector ul").outerHeight(!0)+a.captionsButton.find(".mejs-captions-translations").outerHeight(!0))},checkForTracks:function(){var a=this,b=!1;if(a.options.hideCaptionsButtonWhenEmpty){for(i=0;i<a.tracks.length;i++)if("subtitles"==a.tracks[i].kind){b=!0;break}b||(a.captionsButton.hide(),a.setControlsSize())}},displayCaptions:function(){if("undefined"!=typeof this.tracks){var a,b=this,c=b.selectedTrack;if(null!==c&&c.isLoaded){for(a=0;a<c.entries.times.length;a++)if(b.media.currentTime>=c.entries.times[a].start&&b.media.currentTime<=c.entries.times[a].stop)return b.captionsText.html(c.entries.text[a]).attr("class","mejs-captions-text "+(c.entries.times[a].identifier||"")),void b.captions.show().height(0);b.captions.hide()}else b.captions.hide()}},setupSlides:function(a){var b=this;b.slides=a,b.slides.entries.imgs=[b.slides.entries.text.length],b.showSlide(0)},showSlide:function(b){if("undefined"!=typeof this.tracks&&"undefined"!=typeof this.slidesContainer){var c=this,d=c.slides.entries.text[b],e=c.slides.entries.imgs[b];"undefined"==typeof e||"undefined"==typeof e.fadeIn?c.slides.entries.imgs[b]=e=a('<img src="'+d+'">').on("load",function(){e.appendTo(c.slidesContainer).hide().fadeIn().siblings(":visible").fadeOut()}):e.is(":visible")||e.is(":animated")||e.fadeIn().siblings(":visible").fadeOut()}},displaySlides:function(){if("undefined"!=typeof this.slides){var a,b=this,c=b.slides;for(a=0;a<c.entries.times.length;a++)if(b.media.currentTime>=c.entries.times[a].start&&b.media.currentTime<=c.entries.times[a].stop)return void b.showSlide(a)}},displayChapters:function(){var a,b=this;for(a=0;a<b.tracks.length;a++)if("chapters"==b.tracks[a].kind&&b.tracks[a].isLoaded){b.drawChapters(b.tracks[a]),b.hasChapters=!0;break}},drawChapters:function(b){var c,d,e=this,f=0,g=0;for(e.chapters.empty(),c=0;c<b.entries.times.length;c++)d=b.entries.times[c].stop-b.entries.times[c].start,f=Math.floor(d/e.media.duration*100),(f+g>100||c==b.entries.times.length-1&&100>f+g)&&(f=100-g),e.chapters.append(a('<div class="mejs-chapter" rel="'+b.entries.times[c].start+'" style="left: '+g.toString()+"%;width: "+f.toString()+'%;"><div class="mejs-chapter-block'+(c==b.entries.times.length-1?" mejs-chapter-block-last":"")+'"><span class="ch-title">'+b.entries.text[c]+'</span><span class="ch-time">'+mejs.Utility.secondsToTimeCode(b.entries.times[c].start)+"&ndash;"+mejs.Utility.secondsToTimeCode(b.entries.times[c].stop)+"</span></div></div>")),g+=f;e.chapters.find("div.mejs-chapter").click(function(){e.media.setCurrentTime(parseFloat(a(this).attr("rel"))),e.media.paused&&e.media.play()}),e.chapters.show()}}),mejs.language={codes:{af:"Afrikaans",sq:"Albanian",ar:"Arabic",be:"Belarusian",bg:"Bulgarian",ca:"Catalan",zh:"Chinese","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",et:"Estonian",fl:"Filipino",fi:"Finnish",fr:"French",gl:"Galician",de:"German",el:"Greek",ht:"Haitian Creole",iw:"Hebrew",hi:"Hindi",hu:"Hungarian",is:"Icelandic",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",ko:"Korean",lv:"Latvian",lt:"Lithuanian",mk:"Macedonian",ms:"Malay",mt:"Maltese",no:"Norwegian",fa:"Persian",pl:"Polish",pt:"Portuguese",ro:"Romanian",ru:"Russian",sr:"Serbian",sk:"Slovak",sl:"Slovenian",es:"Spanish",sw:"Swahili",sv:"Swedish",tl:"Tagalog",th:"Thai",tr:"Turkish",uk:"Ukrainian",vi:"Vietnamese",cy:"Welsh",yi:"Yiddish"}},mejs.TrackFormatParser={webvtt:{pattern_timecode:/^((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\> ((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,parse:function(b){for(var c,d,e,f=0,g=mejs.TrackFormatParser.split2(b,/\r?\n/),h={text:[],times:[]};f<g.length;f++){if(c=this.pattern_timecode.exec(g[f]),c&&f<g.length){for(f-1>=0&&""!==g[f-1]&&(e=g[f-1]),f++,d=g[f],f++;""!==g[f]&&f<g.length;)d=d+"\n"+g[f],f++;d=a.trim(d).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,"<a href='$1' target='_blank'>$1</a>"),h.text.push(d),h.times.push({identifier:e,start:0===mejs.Utility.convertSMPTEtoSeconds(c[1])?.2:mejs.Utility.convertSMPTEtoSeconds(c[1]),stop:mejs.Utility.convertSMPTEtoSeconds(c[3]),settings:c[5]})}e=""}return h}},dfxp:{parse:function(b){b=a(b).filter("tt");var c,d,e=0,f=b.children("div").eq(0),g=f.find("p"),h=b.find("#"+f.attr("style")),i={text:[],times:[]};if(h.length){var j=h.removeAttr("id").get(0).attributes;if(j.length)for(c={},e=0;e<j.length;e++)c[j[e].name.split(":")[1]]=j[e].value}for(e=0;e<g.length;e++){var k,l={start:null,stop:null,style:null};if(g.eq(e).attr("begin")&&(l.start=mejs.Utility.convertSMPTEtoSeconds(g.eq(e).attr("begin"))),!l.start&&g.eq(e-1).attr("end")&&(l.start=mejs.Utility.convertSMPTEtoSeconds(g.eq(e-1).attr("end"))),g.eq(e).attr("end")&&(l.stop=mejs.Utility.convertSMPTEtoSeconds(g.eq(e).attr("end"))),!l.stop&&g.eq(e+1).attr("begin")&&(l.stop=mejs.Utility.convertSMPTEtoSeconds(g.eq(e+1).attr("begin"))),c){k="";for(var m in c)k+=m+":"+c[m]+";"}k&&(l.style=k),0===l.start&&(l.start=.2),i.times.push(l),d=a.trim(g.eq(e).html()).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,"<a href='$1' target='_blank'>$1</a>"),i.text.push(d),0===i.times.start&&(i.times.start=2)}return i}},split2:function(a,b){return a.split(b)}},3!="x\n\ny".split(/\n/gi).length&&(mejs.TrackFormatParser.split2=function(a,b){var c,d=[],e="";for(c=0;c<a.length;c++)e+=a.substring(c,c+1),b.test(e)&&(d.push(e.replace(b,"")),e="");return d.push(e),d})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{contextMenuItems:[{render:function(a){return"undefined"==typeof a.enterFullScreen?null:mejs.i18n.t(a.isFullScreen?"Turn off Fullscreen":"Go Fullscreen")},click:function(a){a.isFullScreen?a.exitFullScreen():a.enterFullScreen()}},{render:function(a){return mejs.i18n.t(a.media.muted?"Unmute":"Mute")},click:function(a){a.setMuted(a.media.muted?!1:!0)}},{isSeparator:!0},{render:function(){return mejs.i18n.t("Download Video")},click:function(a){window.location.href=a.media.currentSrc}}]}),a.extend(MediaElementPlayer.prototype,{buildcontextmenu:function(b){b.contextMenu=a('<div class="mejs-contextmenu"></div>').appendTo(a("body")).hide(),b.container.bind("contextmenu",function(a){return b.isContextMenuEnabled?(a.preventDefault(),b.renderContextMenu(a.clientX-1,a.clientY-1),!1):void 0}),b.container.bind("click",function(){b.contextMenu.hide()}),b.contextMenu.bind("mouseleave",function(){b.startContextMenuTimer()})},cleancontextmenu:function(a){a.contextMenu.remove()},isContextMenuEnabled:!0,enableContextMenu:function(){this.isContextMenuEnabled=!0},disableContextMenu:function(){this.isContextMenuEnabled=!1},contextMenuTimeout:null,startContextMenuTimer:function(){var a=this;a.killContextMenuTimer(),a.contextMenuTimer=setTimeout(function(){a.hideContextMenu(),a.killContextMenuTimer()},750)},killContextMenuTimer:function(){var a=this.contextMenuTimer;null!=a&&(clearTimeout(a),delete a,a=null)},hideContextMenu:function(){this.contextMenu.hide()},renderContextMenu:function(b,c){for(var d=this,e="",f=d.options.contextMenuItems,g=0,h=f.length;h>g;g++)if(f[g].isSeparator)e+='<div class="mejs-contextmenu-separator"></div>';else{var i=f[g].render(d);null!=i&&(e+='<div class="mejs-contextmenu-item" data-itemindex="'+g+'" id="element-'+1e6*Math.random()+'">'+i+"</div>")}d.contextMenu.empty().append(a(e)).css({top:c,left:b}).show(),d.contextMenu.find(".mejs-contextmenu-item").each(function(){var b=a(this),c=parseInt(b.data("itemindex"),10),e=d.options.contextMenuItems[c];"undefined"!=typeof e.show&&e.show(b,d),b.click(function(){"undefined"!=typeof e.click&&e.click(d),d.contextMenu.hide()})}),setTimeout(function(){d.killControlsTimer("rev3")},100)}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{postrollCloseText:mejs.i18n.t("Close")}),a.extend(MediaElementPlayer.prototype,{buildpostroll:function(b,c,d){var e=this,f=e.container.find('link[rel="postroll"]').attr("href");"undefined"!=typeof f&&(b.postroll=a('<div class="mejs-postroll-layer mejs-layer"><a class="mejs-postroll-close" onclick="$(this).parent().hide();return false;">'+e.options.postrollCloseText+'</a><div class="mejs-postroll-layer-content"></div></div>').prependTo(d).hide(),e.media.addEventListener("ended",function(){a.ajax({dataType:"html",url:f,success:function(a){d.find(".mejs-postroll-layer-content").html(a)}}),b.postroll.show()},!1))}})}(mejs.$);
\ No newline at end of file
+"undefined"!=typeof jQuery?mejs.$=jQuery:"undefined"!=typeof ender&&(mejs.$=ender),function(a){mejs.MepDefaults={poster:"",showPosterWhenEnded:!1,defaultVideoWidth:480,defaultVideoHeight:270,videoWidth:-1,videoHeight:-1,defaultAudioWidth:400,defaultAudioHeight:30,defaultSeekBackwardInterval:function(a){return.05*a.duration},defaultSeekForwardInterval:function(a){return.05*a.duration},setDimensions:!0,audioWidth:-1,audioHeight:-1,startVolume:.8,loop:!1,autoRewind:!0,enableAutosize:!0,alwaysShowHours:!1,showTimecodeFrameCount:!1,framesPerSecond:25,autosizeProgress:!0,alwaysShowControls:!1,hideVideoControlsOnLoad:!1,clickToPlayPause:!0,iPadUseNativeControls:!1,iPhoneUseNativeControls:!1,AndroidUseNativeControls:!1,features:["playpause","current","progress","duration","tracks","volume","fullscreen"],isVideo:!0,enableKeyboard:!0,pauseOtherPlayers:!0,keyActions:[{keys:[32,179],action:function(a,b){b.paused||b.ended?a.play():a.pause()}},{keys:[38],action:function(a,b){a.container.find(".mejs-volume-slider").css("display","block"),a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.min(b.volume+.1,1);b.setVolume(c)}},{keys:[40],action:function(a,b){a.container.find(".mejs-volume-slider").css("display","block"),a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.max(b.volume-.1,0);b.setVolume(c)}},{keys:[37,227],action:function(a,b){if(!isNaN(b.duration)&&b.duration>0){a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.max(b.currentTime-a.options.defaultSeekBackwardInterval(b),0);b.setCurrentTime(c)}}},{keys:[39,228],action:function(a,b){if(!isNaN(b.duration)&&b.duration>0){a.isVideo&&(a.showControls(),a.startControlsTimer());var c=Math.min(b.currentTime+a.options.defaultSeekForwardInterval(b),b.duration);b.setCurrentTime(c)}}},{keys:[70],action:function(a){"undefined"!=typeof a.enterFullScreen&&(a.isFullScreen?a.exitFullScreen():a.enterFullScreen())}},{keys:[77],action:function(a){a.container.find(".mejs-volume-slider").css("display","block"),a.isVideo&&(a.showControls(),a.startControlsTimer()),a.setMuted(a.media.muted?!1:!0)}}]},mejs.mepIndex=0,mejs.players={},mejs.MediaElementPlayer=function(b,c){if(!(this instanceof mejs.MediaElementPlayer))return new mejs.MediaElementPlayer(b,c);var d=this;return d.$media=d.$node=a(b),d.node=d.media=d.$media[0],"undefined"!=typeof d.node.player?d.node.player:(d.node.player=d,"undefined"==typeof c&&(c=d.$node.data("mejsoptions")),d.options=a.extend({},mejs.MepDefaults,c),d.id="mep_"+mejs.mepIndex++,mejs.players[d.id]=d,d.init(),d)},mejs.MediaElementPlayer.prototype={hasFocus:!1,controlsAreVisible:!0,init:function(){var b=this,c=mejs.MediaFeatures,d=a.extend(!0,{},b.options,{success:function(a,c){b.meReady(a,c)},error:function(a){b.handleError(a)}}),e=b.media.tagName.toLowerCase();if(b.isDynamic="audio"!==e&&"video"!==e,b.isVideo=b.isDynamic?b.options.isVideo:"audio"!==e&&b.options.isVideo,c.isiPad&&b.options.iPadUseNativeControls||c.isiPhone&&b.options.iPhoneUseNativeControls)b.$media.attr("controls","controls"),c.isiPad&&null!==b.media.getAttribute("autoplay")&&b.play();else if(c.isAndroid&&b.options.AndroidUseNativeControls);else{b.$media.removeAttr("controls");var f=mejs.i18n.t(b.isVideo?"Video Player":"Audio Player");if(a('<span class="mejs-offscreen">'+f+"</span>").insertBefore(b.$media),b.container=a('<div id="'+b.id+'" class="mejs-container '+(mejs.MediaFeatures.svg?"svg":"no-svg")+'" tabindex="0" role="application" aria-label="'+f+'"><div class="mejs-inner"><div class="mejs-mediaelement"></div><div class="mejs-layers"></div><div class="mejs-controls"></div><div class="mejs-clear"></div></div></div>').addClass(b.$media[0].className).insertBefore(b.$media).focus(function(){if(!b.controlsAreVisible){b.showControls(!0);var a=b.container.find(".mejs-playpause-button > button");a.focus()}}),b.container.addClass((c.isAndroid?"mejs-android ":"")+(c.isiOS?"mejs-ios ":"")+(c.isiPad?"mejs-ipad ":"")+(c.isiPhone?"mejs-iphone ":"")+(b.isVideo?"mejs-video ":"mejs-audio ")),c.isiOS){var g=b.$media.clone();b.container.find(".mejs-mediaelement").append(g),b.$media.remove(),b.$node=b.$media=g,b.node=b.media=g[0]}else b.container.find(".mejs-mediaelement").append(b.$media);b.controls=b.container.find(".mejs-controls"),b.layers=b.container.find(".mejs-layers");var h=b.isVideo?"video":"audio",i=h.substring(0,1).toUpperCase()+h.substring(1);b.width=b.options[h+"Width"]>0||b.options[h+"Width"].toString().indexOf("%")>-1?b.options[h+"Width"]:""!==b.media.style.width&&null!==b.media.style.width?b.media.style.width:null!==b.media.getAttribute("width")?b.$media.attr("width"):b.options["default"+i+"Width"],b.height=b.options[h+"Height"]>0||b.options[h+"Height"].toString().indexOf("%")>-1?b.options[h+"Height"]:""!==b.media.style.height&&null!==b.media.style.height?b.media.style.height:null!==b.$media[0].getAttribute("height")?b.$media.attr("height"):b.options["default"+i+"Height"],b.setPlayerSize(b.width,b.height),d.pluginWidth=b.width,d.pluginHeight=b.height}mejs.MediaElement(b.$media[0],d),"undefined"!=typeof b.container&&b.controlsAreVisible&&b.container.trigger("controlsshown")},showControls:function(a){var b=this;a="undefined"==typeof a||a,b.controlsAreVisible||(a?(b.controls.css("visibility","visible").stop(!0,!0).fadeIn(200,function(){b.controlsAreVisible=!0,b.container.trigger("controlsshown")}),b.container.find(".mejs-control").css("visibility","visible").stop(!0,!0).fadeIn(200,function(){b.controlsAreVisible=!0})):(b.controls.css("visibility","visible").css("display","block"),b.container.find(".mejs-control").css("visibility","visible").css("display","block"),b.controlsAreVisible=!0,b.container.trigger("controlsshown")),b.setControlsSize())},hideControls:function(b){var c=this;b="undefined"==typeof b||b,!c.controlsAreVisible||c.options.alwaysShowControls||c.keyboardAction||(b?(c.controls.stop(!0,!0).fadeOut(200,function(){a(this).css("visibility","hidden").css("display","block"),c.controlsAreVisible=!1,c.container.trigger("controlshidden")}),c.container.find(".mejs-control").stop(!0,!0).fadeOut(200,function(){a(this).css("visibility","hidden").css("display","block")})):(c.controls.css("visibility","hidden").css("display","block"),c.container.find(".mejs-control").css("visibility","hidden").css("display","block"),c.controlsAreVisible=!1,c.container.trigger("controlshidden")))},controlsTimer:null,startControlsTimer:function(a){var b=this;a="undefined"!=typeof a?a:1500,b.killControlsTimer("start"),b.controlsTimer=setTimeout(function(){b.hideControls(),b.killControlsTimer("hide")},a)},killControlsTimer:function(){var a=this;null!==a.controlsTimer&&(clearTimeout(a.controlsTimer),delete a.controlsTimer,a.controlsTimer=null)},controlsEnabled:!0,disableControls:function(){var a=this;a.killControlsTimer(),a.hideControls(!1),this.controlsEnabled=!1},enableControls:function(){var a=this;a.showControls(!1),a.controlsEnabled=!0},meReady:function(b,c){var d,e,f=this,g=mejs.MediaFeatures,h=c.getAttribute("autoplay"),i=!("undefined"==typeof h||null===h||"false"===h);if(!f.created){if(f.created=!0,f.media=b,f.domNode=c,!(g.isAndroid&&f.options.AndroidUseNativeControls||g.isiPad&&f.options.iPadUseNativeControls||g.isiPhone&&f.options.iPhoneUseNativeControls)){f.buildposter(f,f.controls,f.layers,f.media),f.buildkeyboard(f,f.controls,f.layers,f.media),f.buildoverlays(f,f.controls,f.layers,f.media),f.findTracks();for(d in f.options.features)if(e=f.options.features[d],f["build"+e])try{f["build"+e](f,f.controls,f.layers,f.media)}catch(j){}f.container.trigger("controlsready"),f.setPlayerSize(f.width,f.height),f.setControlsSize(),f.isVideo&&(mejs.MediaFeatures.hasTouch?f.$media.bind("touchstart",function(){f.controlsAreVisible?f.hideControls(!1):f.controlsEnabled&&f.showControls(!1)}):(f.clickToPlayPauseCallback=function(){f.options.clickToPlayPause&&(f.media.paused?f.play():f.pause())},f.media.addEventListener("click",f.clickToPlayPauseCallback,!1),f.container.bind("mouseenter mouseover",function(){f.controlsEnabled&&(f.options.alwaysShowControls||(f.killControlsTimer("enter"),f.showControls(),f.startControlsTimer(2500)))}).bind("mousemove",function(){f.controlsEnabled&&(f.controlsAreVisible||f.showControls(),f.options.alwaysShowControls||f.startControlsTimer(2500))}).bind("mouseleave",function(){f.controlsEnabled&&(f.media.paused||f.options.alwaysShowControls||f.startControlsTimer(1e3))})),f.options.hideVideoControlsOnLoad&&f.hideControls(!1),i&&!f.options.alwaysShowControls&&f.hideControls(),f.options.enableAutosize&&f.media.addEventListener("loadedmetadata",function(a){f.options.videoHeight<=0&&null===f.domNode.getAttribute("height")&&!isNaN(a.target.videoHeight)&&(f.setPlayerSize(a.target.videoWidth,a.target.videoHeight),f.setControlsSize(),f.media.setVideoSize(a.target.videoWidth,a.target.videoHeight))},!1)),b.addEventListener("play",function(){var a;for(a in mejs.players){var b=mejs.players[a];b.id==f.id||!f.options.pauseOtherPlayers||b.paused||b.ended||b.pause(),b.hasFocus=!1}f.hasFocus=!0},!1),f.media.addEventListener("ended",function(){if(f.options.autoRewind)try{f.media.setCurrentTime(0),window.setTimeout(function(){a(f.container).find(".mejs-overlay-loading").parent().hide()},20)}catch(b){}f.media.pause(),f.setProgressRail&&f.setProgressRail(),f.setCurrentRail&&f.setCurrentRail(),f.options.loop?f.play():!f.options.alwaysShowControls&&f.controlsEnabled&&f.showControls()},!1),f.media.addEventListener("loadedmetadata",function(){f.updateDuration&&f.updateDuration(),f.updateCurrent&&f.updateCurrent(),f.isFullScreen||(f.setPlayerSize(f.width,f.height),f.setControlsSize())},!1),f.container.focusout(function(b){if(b.relatedTarget){var c=a(b.relatedTarget);f.keyboardAction&&0===c.parents(".mejs-container").length&&(f.keyboardAction=!1,f.hideControls(!0))}}),setTimeout(function(){f.setPlayerSize(f.width,f.height),f.setControlsSize()},50),f.globalBind("resize",function(){f.isFullScreen||mejs.MediaFeatures.hasTrueNativeFullScreen&&document.webkitIsFullScreen||f.setPlayerSize(f.width,f.height),f.setControlsSize()}),"youtube"==f.media.pluginType&&(g.isiOS||g.isAndroid)&&f.container.find(".mejs-overlay-play").hide()}i&&"native"==b.pluginType&&f.play(),f.options.success&&("string"==typeof f.options.success?window[f.options.success](f.media,f.domNode,f):f.options.success(f.media,f.domNode,f))}},handleError:function(a){var b=this;b.controls.hide(),b.options.error&&b.options.error(a)},setPlayerSize:function(b,c){var d=this;if(!d.options.setDimensions)return!1;if("undefined"!=typeof b&&(d.width=b),"undefined"!=typeof c&&(d.height=c),d.height.toString().indexOf("%")>0||"100%"===d.$node.css("max-width")||d.$node[0].currentStyle&&"100%"===d.$node[0].currentStyle.maxWidth){var e=function(){return d.isVideo?d.media.videoWidth&&d.media.videoWidth>0?d.media.videoWidth:null!==d.media.getAttribute("width")?d.media.getAttribute("width"):d.options.defaultVideoWidth:d.options.defaultAudioWidth}(),f=function(){return d.isVideo?d.media.videoHeight&&d.media.videoHeight>0?d.media.videoHeight:null!==d.media.getAttribute("height")?d.media.getAttribute("height"):d.options.defaultVideoHeight:d.options.defaultAudioHeight}(),g=d.container.parent().closest(":visible").width(),h=d.container.parent().closest(":visible").height(),i=d.isVideo||!d.options.autosizeProgress?parseInt(g*f/e,10):f;isNaN(i)&&(i=h),"body"===d.container.parent()[0].tagName.toLowerCase()&&(g=a(window).width(),i=a(window).height()),i&&g&&(d.container.width(g).height(i),d.$media.add(d.container.find(".mejs-shim")).width("100%").height("100%"),d.isVideo&&d.media.setVideoSize&&d.media.setVideoSize(g,i),d.layers.children(".mejs-layer").width("100%").height("100%"))}else d.container.width(d.width).height(d.height),d.layers.children(".mejs-layer").width(d.width).height(d.height);var j=d.layers.find(".mejs-overlay-play"),k=j.find(".mejs-overlay-button");j.height(d.container.height()-d.controls.height()),k.css("margin-top","-"+(k.height()/2-d.controls.height()/2).toString()+"px")},setControlsSize:function(){var b=this,c=0,d=0,e=b.controls.find(".mejs-time-rail"),f=b.controls.find(".mejs-time-total"),g=(b.controls.find(".mejs-time-current"),b.controls.find(".mejs-time-loaded"),e.siblings()),h=g.last(),i=null;if(b.container.is(":visible")&&e.length&&e.is(":visible")){b.options&&!b.options.autosizeProgress&&(d=parseInt(e.css("width"),10)),0!==d&&d||(g.each(function(){var b=a(this);"absolute"!=b.css("position")&&b.is(":visible")&&(c+=a(this).outerWidth(!0))}),d=b.controls.width()-c-(e.outerWidth(!0)-e.width()));do e.width(d),f.width(d-(f.outerWidth(!0)-f.width())),"absolute"!=h.css("position")&&(i=h.position(),d--);while(null!==i&&i.top>0&&d>0);b.setProgressRail&&b.setProgressRail(),b.setCurrentRail&&b.setCurrentRail()}},buildposter:function(b,c,d,e){var f=this,g=a('<div class="mejs-poster mejs-layer"></div>').appendTo(d),h=b.$media.attr("poster");""!==b.options.poster&&(h=b.options.poster),h?f.setPoster(h):g.hide(),e.addEventListener("play",function(){g.hide()},!1),b.options.showPosterWhenEnded&&b.options.autoRewind&&e.addEventListener("ended",function(){g.show()},!1)},setPoster:function(b){var c=this,d=c.container.find(".mejs-poster"),e=d.find("img");0===e.length&&(e=a('<img width="100%" height="100%" />').appendTo(d)),e.attr("src",b),d.css({"background-image":"url("+b+")"})},buildoverlays:function(b,c,d,e){var f=this;if(b.isVideo){var g=a('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-loading"><span></span></div></div>').hide().appendTo(d),h=a('<div class="mejs-overlay mejs-layer"><div class="mejs-overlay-error"></div></div>').hide().appendTo(d),i=a('<div class="mejs-overlay mejs-layer mejs-overlay-play"><div class="mejs-overlay-button"></div></div>').appendTo(d).bind("click",function(){f.options.clickToPlayPause&&e.paused&&e.play()});e.addEventListener("play",function(){i.hide(),g.hide(),c.find(".mejs-time-buffering").hide(),h.hide()},!1),e.addEventListener("playing",function(){i.hide(),g.hide(),c.find(".mejs-time-buffering").hide(),h.hide()},!1),e.addEventListener("seeking",function(){g.show(),c.find(".mejs-time-buffering").show()},!1),e.addEventListener("seeked",function(){g.hide(),c.find(".mejs-time-buffering").hide()},!1),e.addEventListener("pause",function(){mejs.MediaFeatures.isiPhone||i.show()},!1),e.addEventListener("waiting",function(){g.show(),c.find(".mejs-time-buffering").show()},!1),e.addEventListener("loadeddata",function(){g.show(),c.find(".mejs-time-buffering").show(),mejs.MediaFeatures.isAndroid&&(e.canplayTimeout=window.setTimeout(function(){if(document.createEvent){var a=document.createEvent("HTMLEvents");return a.initEvent("canplay",!0,!0),e.dispatchEvent(a)}},300))},!1),e.addEventListener("canplay",function(){g.hide(),c.find(".mejs-time-buffering").hide(),clearTimeout(e.canplayTimeout)},!1),e.addEventListener("error",function(){g.hide(),c.find(".mejs-time-buffering").hide(),h.show(),h.find("mejs-overlay-error").html("Error loading this resource")},!1),e.addEventListener("keydown",function(a){f.onkeydown(b,e,a)},!1)}},buildkeyboard:function(b,c,d,e){var f=this;f.container.keydown(function(){f.keyboardAction=!0}),f.globalBind("keydown",function(a){return f.onkeydown(b,e,a)}),f.globalBind("click",function(c){b.hasFocus=0!==a(c.target).closest(".mejs-container").length})},onkeydown:function(a,b,c){if(a.hasFocus&&a.options.enableKeyboard)for(var d=0,e=a.options.keyActions.length;e>d;d++)for(var f=a.options.keyActions[d],g=0,h=f.keys.length;h>g;g++)if(c.keyCode==f.keys[g])return"function"==typeof c.preventDefault&&c.preventDefault(),f.action(a,b,c.keyCode),!1;return!0},findTracks:function(){var b=this,c=b.$media.find("track");b.tracks=[],c.each(function(c,d){d=a(d),b.tracks.push({srclang:d.attr("srclang")?d.attr("srclang").toLowerCase():"",src:d.attr("src"),kind:d.attr("kind"),label:d.attr("label")||"",entries:[],isLoaded:!1})})},changeSkin:function(a){this.container[0].className="mejs-container "+a,this.setPlayerSize(this.width,this.height),this.setControlsSize()},play:function(){this.load(),this.media.play()},pause:function(){try{this.media.pause()}catch(a){}},load:function(){this.isLoaded||this.media.load(),this.isLoaded=!0},setMuted:function(a){this.media.setMuted(a)},setCurrentTime:function(a){this.media.setCurrentTime(a)},getCurrentTime:function(){return this.media.currentTime},setVolume:function(a){this.media.setVolume(a)},getVolume:function(){return this.media.volume},setSrc:function(a){this.media.setSrc(a)},remove:function(){var a,b,c=this;for(a in c.options.features)if(b=c.options.features[a],c["clean"+b])try{c["clean"+b](c)}catch(d){}c.isDynamic?c.$node.insertBefore(c.container):(c.$media.prop("controls",!0),c.$node.clone().insertBefore(c.container).show(),c.$node.remove()),"native"!==c.media.pluginType&&c.media.remove(),delete mejs.players[c.id],"object"==typeof c.container&&c.container.remove(),c.globalUnbind(),delete c.node.player},rebuildtracks:function(){var a=this;a.findTracks(),a.buildtracks(a,a.controls,a.layers,a.media)}},function(){function b(b,d){var e={d:[],w:[]};return a.each((b||"").split(" "),function(a,b){var f=b+"."+d;0===f.indexOf(".")?(e.d.push(f),e.w.push(f)):e[c.test(b)?"w":"d"].push(f)}),e.d=e.d.join(" "),e.w=e.w.join(" "),e}var c=/^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/;mejs.MediaElementPlayer.prototype.globalBind=function(c,d,e){var f=this;c=b(c,f.id),c.d&&a(document).bind(c.d,d,e),c.w&&a(window).bind(c.w,d,e)},mejs.MediaElementPlayer.prototype.globalUnbind=function(c,d){var e=this;c=b(c,e.id),c.d&&a(document).unbind(c.d,d),c.w&&a(window).unbind(c.w,d)}}(),"undefined"!=typeof a&&(a.fn.mediaelementplayer=function(b){return this.each(b===!1?function(){var b=a(this).data("mediaelementplayer");b&&b.remove(),a(this).removeData("mediaelementplayer")}:function(){a(this).data("mediaelementplayer",new mejs.MediaElementPlayer(this,b))}),this},a(document).ready(function(){a(".mejs-player").mediaelementplayer()})),window.MediaElementPlayer=mejs.MediaElementPlayer}(mejs.$),function(a){a.extend(mejs.MepDefaults,{playText:mejs.i18n.t("Play"),pauseText:mejs.i18n.t("Pause")}),a.extend(MediaElementPlayer.prototype,{buildplaypause:function(b,c,d,e){function f(a){"play"===a?(i.removeClass("mejs-play").addClass("mejs-pause"),j.attr({title:h.pauseText,"aria-label":h.pauseText})):(i.removeClass("mejs-pause").addClass("mejs-play"),j.attr({title:h.playText,"aria-label":h.playText}))}var g=this,h=g.options,i=a('<div class="mejs-button mejs-playpause-button mejs-play" ><button type="button" aria-controls="'+g.id+'" title="'+h.playText+'" aria-label="'+h.playText+'"></button></div>').appendTo(c).click(function(a){return a.preventDefault(),e.paused?e.play():e.pause(),!1}),j=i.find("button");f("pse"),e.addEventListener("play",function(){f("play")},!1),e.addEventListener("playing",function(){f("play")},!1),e.addEventListener("pause",function(){f("pse")},!1),e.addEventListener("paused",function(){f("pse")},!1)}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{stopText:"Stop"}),a.extend(MediaElementPlayer.prototype,{buildstop:function(b,c,d,e){{var f=this;a('<div class="mejs-button mejs-stop-button mejs-stop"><button type="button" aria-controls="'+f.id+'" title="'+f.options.stopText+'" aria-label="'+f.options.stopText+'"></button></div>').appendTo(c).click(function(){e.paused||e.pause(),e.currentTime>0&&(e.setCurrentTime(0),e.pause(),c.find(".mejs-time-current").width("0px"),c.find(".mejs-time-handle").css("left","0px"),c.find(".mejs-time-float-current").html(mejs.Utility.secondsToTimeCode(0)),c.find(".mejs-currenttime").html(mejs.Utility.secondsToTimeCode(0)),d.find(".mejs-poster").show())})}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{progessHelpText:mejs.i18n.t("Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.")}),a.extend(MediaElementPlayer.prototype,{buildprogress:function(b,c,d,e){a('<div class="mejs-time-rail"><span  class="mejs-time-total mejs-time-slider"><span class="mejs-time-buffering"></span><span class="mejs-time-loaded"></span><span class="mejs-time-current"></span><span class="mejs-time-handle"></span><span class="mejs-time-float"><span class="mejs-time-float-current">00:00</span><span class="mejs-time-float-corner"></span></span></div>').appendTo(c),c.find(".mejs-time-buffering").hide();var f=this,g=c.find(".mejs-time-total"),h=c.find(".mejs-time-loaded"),i=c.find(".mejs-time-current"),j=c.find(".mejs-time-handle"),k=c.find(".mejs-time-float"),l=c.find(".mejs-time-float-current"),m=c.find(".mejs-time-slider"),n=function(a){var b,c=g.offset(),d=g.outerWidth(!0),f=0,h=0,i=0;b=a.originalEvent.changedTouches?a.originalEvent.changedTouches[0].pageX:a.pageX,e.duration&&(b<c.left?b=c.left:b>d+c.left&&(b=d+c.left),i=b-c.left,f=i/d,h=.02>=f?0:f*e.duration,o&&h!==e.currentTime&&e.setCurrentTime(h),mejs.MediaFeatures.hasTouch||(k.css("left",i),l.html(mejs.Utility.secondsToTimeCode(h)),k.show()))},o=!1,p=!1,q=0,r=!1,s=b.options.autoRewind,t=function(){var a=e.currentTime,b=mejs.i18n.t("Time Slider"),c=mejs.Utility.secondsToTimeCode(a),d=e.duration;m.attr({"aria-label":b,"aria-valuemin":0,"aria-valuemax":d,"aria-valuenow":a,"aria-valuetext":c,role:"slider",tabindex:0})},u=function(){var a=new Date;a-q>=1e3&&e.play()};m.bind("focus",function(){b.options.autoRewind=!1}),m.bind("blur",function(){b.options.autoRewind=s}),m.bind("keydown",function(a){new Date-q>=1e3&&(r=e.paused);var b=a.keyCode,c=e.duration,d=e.currentTime;switch(b){case 37:d-=1;break;case 39:d+=1;break;case 38:d+=Math.floor(.1*c);break;case 40:d-=Math.floor(.1*c);break;case 36:d=0;break;case 35:d=c;break;case 10:return void(e.paused?e.play():e.pause());case 13:return void(e.paused?e.play():e.pause());default:return}return d=0>d?0:d>=c?c:Math.floor(d),q=new Date,r||e.pause(),d<e.duration&&!r&&setTimeout(u,1100),e.setCurrentTime(d),a.preventDefault(),a.stopPropagation(),!1}),g.bind("mousedown touchstart",function(a){(1===a.which||0===a.which)&&(o=!0,n(a),f.globalBind("mousemove.dur touchmove.dur",function(a){n(a)}),f.globalBind("mouseup.dur touchend.dur",function(){o=!1,k.hide(),f.globalUnbind(".dur")}))}).bind("mouseenter",function(){p=!0,f.globalBind("mousemove.dur",function(a){n(a)}),mejs.MediaFeatures.hasTouch||k.show()}).bind("mouseleave",function(){p=!1,o||(f.globalUnbind(".dur"),k.hide())}),e.addEventListener("progress",function(a){b.setProgressRail(a),b.setCurrentRail(a)},!1),e.addEventListener("timeupdate",function(a){b.setProgressRail(a),b.setCurrentRail(a),t(a)},!1),f.loaded=h,f.total=g,f.current=i,f.handle=j},setProgressRail:function(a){var b=this,c=void 0!==a?a.target:b.media,d=null;c&&c.buffered&&c.buffered.length>0&&c.buffered.end&&c.duration?d=c.buffered.end(0)/c.duration:c&&void 0!==c.bytesTotal&&c.bytesTotal>0&&void 0!==c.bufferedBytes?d=c.bufferedBytes/c.bytesTotal:a&&a.lengthComputable&&0!==a.total&&(d=a.loaded/a.total),null!==d&&(d=Math.min(1,Math.max(0,d)),b.loaded&&b.total&&b.loaded.width(b.total.width()*d))},setCurrentRail:function(){var a=this;if(void 0!==a.media.currentTime&&a.media.duration&&a.total&&a.handle){var b=Math.round(a.total.width()*a.media.currentTime/a.media.duration),c=b-Math.round(a.handle.outerWidth(!0)/2);a.current.width(b),a.handle.css("left",c)}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{duration:-1,timeAndDurationSeparator:"<span> | </span>"}),a.extend(MediaElementPlayer.prototype,{buildcurrent:function(b,c,d,e){var f=this;a('<div class="mejs-time" role="timer" aria-live="off"><span class="mejs-currenttime">'+(b.options.alwaysShowHours?"00:":"")+(b.options.showTimecodeFrameCount?"00:00:00":"00:00")+"</span></div>").appendTo(c),f.currenttime=f.controls.find(".mejs-currenttime"),e.addEventListener("timeupdate",function(){b.updateCurrent()},!1)},buildduration:function(b,c,d,e){var f=this;c.children().last().find(".mejs-currenttime").length>0?a(f.options.timeAndDurationSeparator+'<span class="mejs-duration">'+(f.options.duration>0?mejs.Utility.secondsToTimeCode(f.options.duration,f.options.alwaysShowHours||f.media.duration>3600,f.options.showTimecodeFrameCount,f.options.framesPerSecond||25):(b.options.alwaysShowHours?"00:":"")+(b.options.showTimecodeFrameCount?"00:00:00":"00:00"))+"</span>").appendTo(c.find(".mejs-time")):(c.find(".mejs-currenttime").parent().addClass("mejs-currenttime-container"),a('<div class="mejs-time mejs-duration-container"><span class="mejs-duration">'+(f.options.duration>0?mejs.Utility.secondsToTimeCode(f.options.duration,f.options.alwaysShowHours||f.media.duration>3600,f.options.showTimecodeFrameCount,f.options.framesPerSecond||25):(b.options.alwaysShowHours?"00:":"")+(b.options.showTimecodeFrameCount?"00:00:00":"00:00"))+"</span></div>").appendTo(c)),f.durationD=f.controls.find(".mejs-duration"),e.addEventListener("timeupdate",function(){b.updateDuration()},!1)},updateCurrent:function(){var a=this;a.currenttime&&a.currenttime.html(mejs.Utility.secondsToTimeCode(a.media.currentTime,a.options.alwaysShowHours||a.media.duration>3600,a.options.showTimecodeFrameCount,a.options.framesPerSecond||25))},updateDuration:function(){var a=this;a.container.toggleClass("mejs-long-video",a.media.duration>3600),a.durationD&&(a.options.duration>0||a.media.duration)&&a.durationD.html(mejs.Utility.secondsToTimeCode(a.options.duration>0?a.options.duration:a.media.duration,a.options.alwaysShowHours,a.options.showTimecodeFrameCount,a.options.framesPerSecond||25))}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{muteText:mejs.i18n.t("Mute Toggle"),allyVolumeControlText:mejs.i18n.t("Use Up/Down Arrow keys to increase or decrease volume."),hideVolumeOnTouchDevices:!0,audioVolume:"horizontal",videoVolume:"vertical"}),a.extend(MediaElementPlayer.prototype,{buildvolume:function(b,c,d,e){if(!mejs.MediaFeatures.isAndroid&&!mejs.MediaFeatures.isiOS||!this.options.hideVolumeOnTouchDevices){var f=this,g=f.isVideo?f.options.videoVolume:f.options.audioVolume,h="horizontal"==g?a('<div class="mejs-button mejs-volume-button mejs-mute"><button type="button" aria-controls="'+f.id+'" title="'+f.options.muteText+'" aria-label="'+f.options.muteText+'"></button></div><a href="javascript:void(0);" class="mejs-horizontal-volume-slider"><span class="mejs-offscreen">'+f.options.allyVolumeControlText+'</span><div class="mejs-horizontal-volume-total"></div><div class="mejs-horizontal-volume-current"></div><div class="mejs-horizontal-volume-handle"></div></a>').appendTo(c):a('<div class="mejs-button mejs-volume-button mejs-mute"><button type="button" aria-controls="'+f.id+'" title="'+f.options.muteText+'" aria-label="'+f.options.muteText+'"></button><a href="javascript:void(0);" class="mejs-volume-slider"><span class="mejs-offscreen">'+f.options.allyVolumeControlText+'</span><div class="mejs-volume-total"></div><div class="mejs-volume-current"></div><div class="mejs-volume-handle"></div></a></div>').appendTo(c),i=f.container.find(".mejs-volume-slider, .mejs-horizontal-volume-slider"),j=f.container.find(".mejs-volume-total, .mejs-horizontal-volume-total"),k=f.container.find(".mejs-volume-current, .mejs-horizontal-volume-current"),l=f.container.find(".mejs-volume-handle, .mejs-horizontal-volume-handle"),m=function(a,b){if(!i.is(":visible")&&"undefined"==typeof b)return i.show(),m(a,!0),void i.hide();a=Math.max(0,a),a=Math.min(a,1),0===a?h.removeClass("mejs-mute").addClass("mejs-unmute"):h.removeClass("mejs-unmute").addClass("mejs-mute");var c=j.position();if("vertical"==g){var d=j.height(),e=d-d*a;l.css("top",Math.round(c.top+e-l.height()/2)),k.height(d-e),k.css("top",c.top+e)}else{var f=j.width(),n=f*a;l.css("left",Math.round(c.left+n-l.width()/2)),k.width(Math.round(n))}},n=function(a){var b=null,c=j.offset();if("vertical"===g){var d=j.height(),f=(parseInt(j.css("top").replace(/px/,""),10),a.pageY-c.top);if(b=(d-f)/d,0===c.top||0===c.left)return}else{var h=j.width(),i=a.pageX-c.left;b=i/h}b=Math.max(0,b),b=Math.min(b,1),m(b),e.setMuted(0===b?!0:!1),e.setVolume(b)},o=!1,p=!1;h.hover(function(){i.show(),p=!0},function(){p=!1,o||"vertical"!=g||i.hide()});var q=function(){var a=Math.floor(100*e.volume);i.attr({"aria-label":mejs.i18n.t("volumeSlider"),"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":a,"aria-valuetext":a+"%",role:"slider",tabindex:0})};i.bind("mouseover",function(){p=!0}).bind("mousedown",function(a){return n(a),f.globalBind("mousemove.vol",function(a){n(a)}),f.globalBind("mouseup.vol",function(){o=!1,f.globalUnbind(".vol"),p||"vertical"!=g||i.hide()}),o=!0,!1}).bind("keydown",function(a){var b=a.keyCode,c=e.volume;switch(b){case 38:c+=.1;break;case 40:c-=.1;break;default:return!0}return o=!1,m(c),e.setVolume(c),!1}).bind("blur",function(){i.hide()}),h.find("button").click(function(){e.setMuted(!e.muted)}),h.find("button").bind("focus",function(){i.show()}),e.addEventListener("volumechange",function(a){o||(e.muted?(m(0),h.removeClass("mejs-mute").addClass("mejs-unmute")):(m(e.volume),h.removeClass("mejs-unmute").addClass("mejs-mute"))),q(a)},!1),f.container.is(":visible")&&(m(b.options.startVolume),0===b.options.startVolume&&e.setMuted(!0),"native"===e.pluginType&&e.setVolume(b.options.startVolume))}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{usePluginFullScreen:!0,newWindowCallback:function(){return""},fullscreenText:mejs.i18n.t("Fullscreen")}),a.extend(MediaElementPlayer.prototype,{isFullScreen:!1,isNativeFullScreen:!1,isInIframe:!1,buildfullscreen:function(b,c,d,e){if(b.isVideo){if(b.isInIframe=window.location!=window.parent.location,mejs.MediaFeatures.hasTrueNativeFullScreen){var f=function(){b.isFullScreen&&(mejs.MediaFeatures.isFullScreen()?(b.isNativeFullScreen=!0,b.setControlsSize()):(b.isNativeFullScreen=!1,b.exitFullScreen()))};b.globalBind(mejs.MediaFeatures.fullScreenEventName,f)}var g=this,h=(b.container,a('<div class="mejs-button mejs-fullscreen-button"><button type="button" aria-controls="'+g.id+'" title="'+g.options.fullscreenText+'" aria-label="'+g.options.fullscreenText+'"></button></div>').appendTo(c));if("native"===g.media.pluginType||!g.options.usePluginFullScreen&&!mejs.MediaFeatures.isFirefox)h.click(function(){var a=mejs.MediaFeatures.hasTrueNativeFullScreen&&mejs.MediaFeatures.isFullScreen()||b.isFullScreen;a?b.exitFullScreen():b.enterFullScreen()});else{var i=null,j=function(){var a,b=document.createElement("x"),c=document.documentElement,d=window.getComputedStyle;return"pointerEvents"in b.style?(b.style.pointerEvents="auto",b.style.pointerEvents="x",c.appendChild(b),a=d&&"auto"===d(b,"").pointerEvents,c.removeChild(b),!!a):!1}();if(j&&!mejs.MediaFeatures.isOpera){var k,l,m=!1,n=function(){if(m){for(var a in o)o[a].hide();h.css("pointer-events",""),g.controls.css("pointer-events",""),g.media.removeEventListener("click",g.clickToPlayPauseCallback),m=!1}},o={},p=["top","left","right","bottom"],q=function(){var a=h.offset().left-g.container.offset().left,b=h.offset().top-g.container.offset().top,c=h.outerWidth(!0),d=h.outerHeight(!0),e=g.container.width(),f=g.container.height();for(k in o)o[k].css({position:"absolute",top:0,left:0});o.top.width(e).height(b),o.left.width(a).height(d).css({top:b}),o.right.width(e-a-c).height(d).css({top:b,left:a+c}),o.bottom.width(e).height(f-d-b).css({top:b+d})};for(g.globalBind("resize",function(){q()}),k=0,l=p.length;l>k;k++)o[p[k]]=a('<div class="mejs-fullscreen-hover" />').appendTo(g.container).mouseover(n).hide();h.on("mouseover",function(){if(!g.isFullScreen){var a=h.offset(),c=b.container.offset();e.positionFullscreenButton(a.left-c.left,a.top-c.top,!1),h.css("pointer-events","none"),g.controls.css("pointer-events","none"),g.media.addEventListener("click",g.clickToPlayPauseCallback);for(k in o)o[k].show();q(),m=!0}}),e.addEventListener("fullscreenchange",function(){g.isFullScreen=!g.isFullScreen,g.isFullScreen?g.media.removeEventListener("click",g.clickToPlayPauseCallback):g.media.addEventListener("click",g.clickToPlayPauseCallback),n()}),g.globalBind("mousemove",function(a){if(m){var b=h.offset();(a.pageY<b.top||a.pageY>b.top+h.outerHeight(!0)||a.pageX<b.left||a.pageX>b.left+h.outerWidth(!0))&&(h.css("pointer-events",""),g.controls.css("pointer-events",""),m=!1)
+}})}else h.on("mouseover",function(){null!==i&&(clearTimeout(i),delete i);var a=h.offset(),c=b.container.offset();e.positionFullscreenButton(a.left-c.left,a.top-c.top,!0)}).on("mouseout",function(){null!==i&&(clearTimeout(i),delete i),i=setTimeout(function(){e.hideFullscreenButton()},1500)})}b.fullscreenBtn=h,g.globalBind("keydown",function(a){(mejs.MediaFeatures.hasTrueNativeFullScreen&&mejs.MediaFeatures.isFullScreen()||g.isFullScreen)&&27==a.keyCode&&b.exitFullScreen()})}},cleanfullscreen:function(a){a.exitFullScreen()},containerSizeTimeout:null,enterFullScreen:function(){var b=this;if("native"===b.media.pluginType||!mejs.MediaFeatures.isFirefox&&!b.options.usePluginFullScreen){if(a(document.documentElement).addClass("mejs-fullscreen"),normalHeight=b.container.height(),normalWidth=b.container.width(),"native"===b.media.pluginType)if(mejs.MediaFeatures.hasTrueNativeFullScreen)mejs.MediaFeatures.requestFullScreen(b.container[0]),b.isInIframe&&setTimeout(function d(){if(b.isNativeFullScreen){var c=window.devicePixelRatio||1,e=.002,f=c*a(window).width(),g=screen.width,h=Math.abs(g-f),i=g*e;h>i?b.exitFullScreen():setTimeout(d,500)}},500);else if(mejs.MediaFeatures.hasSemiNativeFullScreen)return void b.media.webkitEnterFullscreen();if(b.isInIframe){var c=b.options.newWindowCallback(this);if(""!==c){if(!mejs.MediaFeatures.hasTrueNativeFullScreen)return b.pause(),void window.open(c,b.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no");setTimeout(function(){b.isNativeFullScreen||(b.pause(),window.open(c,b.id,"top=0,left=0,width="+screen.availWidth+",height="+screen.availHeight+",resizable=yes,scrollbars=no,status=no,toolbar=no"))},250)}}b.container.addClass("mejs-container-fullscreen").width("100%").height("100%"),b.containerSizeTimeout=setTimeout(function(){b.container.css({width:"100%",height:"100%"}),b.setControlsSize()},500),"native"===b.media.pluginType?b.$media.width("100%").height("100%"):(b.container.find(".mejs-shim").width("100%").height("100%"),b.media.setVideoSize(a(window).width(),a(window).height())),b.layers.children("div").width("100%").height("100%"),b.fullscreenBtn&&b.fullscreenBtn.removeClass("mejs-fullscreen").addClass("mejs-unfullscreen"),b.setControlsSize(),b.isFullScreen=!0,b.container.find(".mejs-captions-text").css("font-size",screen.width/b.width*1*100+"%"),b.container.find(".mejs-captions-position").css("bottom","45px")}},exitFullScreen:function(){var b=this;return clearTimeout(b.containerSizeTimeout),"native"!==b.media.pluginType&&mejs.MediaFeatures.isFirefox?void b.media.setFullscreen(!1):(mejs.MediaFeatures.hasTrueNativeFullScreen&&(mejs.MediaFeatures.isFullScreen()||b.isFullScreen)&&mejs.MediaFeatures.cancelFullScreen(),a(document.documentElement).removeClass("mejs-fullscreen"),b.container.removeClass("mejs-container-fullscreen").width(normalWidth).height(normalHeight),"native"===b.media.pluginType?b.$media.width(normalWidth).height(normalHeight):(b.container.find(".mejs-shim").width(normalWidth).height(normalHeight),b.media.setVideoSize(normalWidth,normalHeight)),b.layers.children("div").width(normalWidth).height(normalHeight),b.fullscreenBtn.removeClass("mejs-unfullscreen").addClass("mejs-fullscreen"),b.setControlsSize(),b.isFullScreen=!1,b.container.find(".mejs-captions-text").css("font-size",""),void b.container.find(".mejs-captions-position").css("bottom",""))}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{speeds:["2.00","1.50","1.25","1.00","0.75"],defaultSpeed:"1.00",speedChar:"x"}),a.extend(MediaElementPlayer.prototype,{buildspeed:function(b,c,d,e){var f=this;if("native"==f.media.pluginType){var g=null,h=null,i='<div class="mejs-button mejs-speed-button"><button type="button">'+f.options.defaultSpeed+f.options.speedChar+'</button><div class="mejs-speed-selector"><ul>';-1===a.inArray(f.options.defaultSpeed,f.options.speeds)&&f.options.speeds.push(f.options.defaultSpeed),f.options.speeds.sort(function(a,b){return parseFloat(b)-parseFloat(a)});for(var j=0,k=f.options.speeds.length;k>j;j++)i+='<li><input type="radio" name="speed" value="'+f.options.speeds[j]+'" id="'+f.options.speeds[j]+'" '+(f.options.speeds[j]==f.options.defaultSpeed?" checked":"")+' /><label for="'+f.options.speeds[j]+'" '+(f.options.speeds[j]==f.options.defaultSpeed?' class="mejs-speed-selected"':"")+">"+f.options.speeds[j]+f.options.speedChar+"</label></li>";i+="</ul></div></div>",g=a(i).appendTo(c),h=g.find(".mejs-speed-selector"),playbackspeed=f.options.defaultSpeed,h.on("click",'input[type="radio"]',function(){var b=a(this).attr("value");playbackspeed=b,e.playbackRate=parseFloat(b),g.find("button").html(b+f.options.speedChar),g.find(".mejs-speed-selected").removeClass("mejs-speed-selected"),g.find('input[type="radio"]:checked').next().addClass("mejs-speed-selected")}),h.height(g.find(".mejs-speed-selector ul").outerHeight(!0)+g.find(".mejs-speed-translations").outerHeight(!0)).css("top",-1*h.height()+"px")}}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{startLanguage:"",tracksText:mejs.i18n.t("Captions/Subtitles"),hideCaptionsButtonWhenEmpty:!0,toggleCaptionsButtonWhenOnlyOne:!1,slidesSelector:""}),a.extend(MediaElementPlayer.prototype,{hasChapters:!1,cleartracks:function(a){a&&(a.captions&&a.captions.remove(),a.chapters&&a.chapters.remove(),a.captionsText&&a.captionsText.remove(),a.captionsButton&&a.captionsButton.remove())},buildtracks:function(b,c,d,e){if(0!==b.tracks.length){var f,g=this;if(g.domNode.textTracks)for(f=g.domNode.textTracks.length-1;f>=0;f--)g.domNode.textTracks[f].mode="hidden";g.cleartracks(b,c,d,e),b.chapters=a('<div class="mejs-chapters mejs-layer"></div>').prependTo(d).hide(),b.captions=a('<div class="mejs-captions-layer mejs-layer"><div class="mejs-captions-position mejs-captions-position-hover" role="log" aria-live="assertive" aria-atomic="false"><span class="mejs-captions-text"></span></div></div>').prependTo(d).hide(),b.captionsText=b.captions.find(".mejs-captions-text"),b.captionsButton=a('<div class="mejs-button mejs-captions-button"><button type="button" aria-controls="'+g.id+'" title="'+g.options.tracksText+'" aria-label="'+g.options.tracksText+'"></button><div class="mejs-captions-selector"><ul><li><input type="radio" name="'+b.id+'_captions" id="'+b.id+'_captions_none" value="none" checked="checked" /><label for="'+b.id+'_captions_none">'+mejs.i18n.t("None")+"</label></li></ul></div></div>").appendTo(c);var h=0;for(f=0;f<b.tracks.length;f++)"subtitles"==b.tracks[f].kind&&h++;for(g.options.toggleCaptionsButtonWhenOnlyOne&&1==h?b.captionsButton.on("click",function(){lang=null===b.selectedTrack?b.tracks[0].srclang:"none",b.setTrack(lang)}):(b.captionsButton.on("mouseenter focusin",function(){a(this).find(".mejs-captions-selector").css("visibility","visible")}).on("click","input[type=radio]",function(){lang=this.value,b.setTrack(lang)}),b.captionsButton.on("mouseleave focusout",function(){a(this).find(".mejs-captions-selector").css("visibility","hidden")})),b.options.alwaysShowControls?b.container.find(".mejs-captions-position").addClass("mejs-captions-position-hover"):b.container.bind("controlsshown",function(){b.container.find(".mejs-captions-position").addClass("mejs-captions-position-hover")}).bind("controlshidden",function(){e.paused||b.container.find(".mejs-captions-position").removeClass("mejs-captions-position-hover")}),b.trackToLoad=-1,b.selectedTrack=null,b.isLoadingTrack=!1,f=0;f<b.tracks.length;f++)"subtitles"==b.tracks[f].kind&&b.addTrackButton(b.tracks[f].srclang,b.tracks[f].label);b.loadNextTrack(),e.addEventListener("timeupdate",function(){b.displayCaptions()},!1),""!==b.options.slidesSelector&&(b.slidesContainer=a(b.options.slidesSelector),e.addEventListener("timeupdate",function(){b.displaySlides()},!1)),e.addEventListener("loadedmetadata",function(){b.displayChapters()},!1),b.container.hover(function(){b.hasChapters&&(b.chapters.css("visibility","visible"),b.chapters.fadeIn(200).height(b.chapters.find(".mejs-chapter").outerHeight()))},function(){b.hasChapters&&!e.paused&&b.chapters.fadeOut(200,function(){a(this).css("visibility","hidden"),a(this).css("display","block")})}),null!==b.node.getAttribute("autoplay")&&b.chapters.css("visibility","hidden")}},setTrack:function(a){var b,c=this;if("none"==a)c.selectedTrack=null,c.captionsButton.removeClass("mejs-captions-enabled");else for(b=0;b<c.tracks.length;b++)if(c.tracks[b].srclang==a){null===c.selectedTrack&&c.captionsButton.addClass("mejs-captions-enabled"),c.selectedTrack=c.tracks[b],c.captions.attr("lang",c.selectedTrack.srclang),c.displayCaptions();break}},loadNextTrack:function(){var a=this;a.trackToLoad++,a.trackToLoad<a.tracks.length?(a.isLoadingTrack=!0,a.loadTrack(a.trackToLoad)):(a.isLoadingTrack=!1,a.checkForTracks())},loadTrack:function(b){var c=this,d=c.tracks[b],e=function(){d.isLoaded=!0,c.enableTrackButton(d.srclang,d.label),c.loadNextTrack()};a.ajax({url:d.src,dataType:"text",success:function(a){d.entries="string"==typeof a&&/<tt\s+xml/gi.exec(a)?mejs.TrackFormatParser.dfxp.parse(a):mejs.TrackFormatParser.webvtt.parse(a),e(),"chapters"==d.kind&&c.media.addEventListener("play",function(){c.media.duration>0&&c.displayChapters(d)},!1),"slides"==d.kind&&c.setupSlides(d)},error:function(){c.loadNextTrack()}})},enableTrackButton:function(b,c){var d=this;""===c&&(c=mejs.language.codes[b]||b),d.captionsButton.find("input[value="+b+"]").prop("disabled",!1).siblings("label").html(c),d.options.startLanguage==b&&a("#"+d.id+"_captions_"+b).prop("checked",!0).trigger("click"),d.adjustLanguageBox()},addTrackButton:function(b,c){var d=this;""===c&&(c=mejs.language.codes[b]||b),d.captionsButton.find("ul").append(a('<li><input type="radio" name="'+d.id+'_captions" id="'+d.id+"_captions_"+b+'" value="'+b+'" disabled="disabled" /><label for="'+d.id+"_captions_"+b+'">'+c+" (loading)</label></li>")),d.adjustLanguageBox(),d.container.find(".mejs-captions-translations option[value="+b+"]").remove()},adjustLanguageBox:function(){var a=this;a.captionsButton.find(".mejs-captions-selector").height(a.captionsButton.find(".mejs-captions-selector ul").outerHeight(!0)+a.captionsButton.find(".mejs-captions-translations").outerHeight(!0))},checkForTracks:function(){var a=this,b=!1;if(a.options.hideCaptionsButtonWhenEmpty){for(i=0;i<a.tracks.length;i++)if("subtitles"==a.tracks[i].kind){b=!0;break}b||(a.captionsButton.hide(),a.setControlsSize())}},displayCaptions:function(){if("undefined"!=typeof this.tracks){var a,b=this,c=b.selectedTrack;if(null!==c&&c.isLoaded){for(a=0;a<c.entries.times.length;a++)if(b.media.currentTime>=c.entries.times[a].start&&b.media.currentTime<=c.entries.times[a].stop)return b.captionsText.html(c.entries.text[a]).attr("class","mejs-captions-text "+(c.entries.times[a].identifier||"")),void b.captions.show().height(0);b.captions.hide()}else b.captions.hide()}},setupSlides:function(a){var b=this;b.slides=a,b.slides.entries.imgs=[b.slides.entries.text.length],b.showSlide(0)},showSlide:function(b){if("undefined"!=typeof this.tracks&&"undefined"!=typeof this.slidesContainer){var c=this,d=c.slides.entries.text[b],e=c.slides.entries.imgs[b];"undefined"==typeof e||"undefined"==typeof e.fadeIn?c.slides.entries.imgs[b]=e=a('<img src="'+d+'">').on("load",function(){e.appendTo(c.slidesContainer).hide().fadeIn().siblings(":visible").fadeOut()}):e.is(":visible")||e.is(":animated")||e.fadeIn().siblings(":visible").fadeOut()}},displaySlides:function(){if("undefined"!=typeof this.slides){var a,b=this,c=b.slides;for(a=0;a<c.entries.times.length;a++)if(b.media.currentTime>=c.entries.times[a].start&&b.media.currentTime<=c.entries.times[a].stop)return void b.showSlide(a)}},displayChapters:function(){var a,b=this;for(a=0;a<b.tracks.length;a++)if("chapters"==b.tracks[a].kind&&b.tracks[a].isLoaded){b.drawChapters(b.tracks[a]),b.hasChapters=!0;break}},drawChapters:function(b){var c,d,e=this,f=0,g=0;for(e.chapters.empty(),c=0;c<b.entries.times.length;c++)d=b.entries.times[c].stop-b.entries.times[c].start,f=Math.floor(d/e.media.duration*100),(f+g>100||c==b.entries.times.length-1&&100>f+g)&&(f=100-g),e.chapters.append(a('<div class="mejs-chapter" rel="'+b.entries.times[c].start+'" style="left: '+g.toString()+"%;width: "+f.toString()+'%;"><div class="mejs-chapter-block'+(c==b.entries.times.length-1?" mejs-chapter-block-last":"")+'"><span class="ch-title">'+b.entries.text[c]+'</span><span class="ch-time">'+mejs.Utility.secondsToTimeCode(b.entries.times[c].start)+"&ndash;"+mejs.Utility.secondsToTimeCode(b.entries.times[c].stop)+"</span></div></div>")),g+=f;e.chapters.find("div.mejs-chapter").click(function(){e.media.setCurrentTime(parseFloat(a(this).attr("rel"))),e.media.paused&&e.media.play()}),e.chapters.show()}}),mejs.language={codes:{af:"Afrikaans",sq:"Albanian",ar:"Arabic",be:"Belarusian",bg:"Bulgarian",ca:"Catalan",zh:"Chinese","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",et:"Estonian",fl:"Filipino",fi:"Finnish",fr:"French",gl:"Galician",de:"German",el:"Greek",ht:"Haitian Creole",iw:"Hebrew",hi:"Hindi",hu:"Hungarian",is:"Icelandic",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",ko:"Korean",lv:"Latvian",lt:"Lithuanian",mk:"Macedonian",ms:"Malay",mt:"Maltese",no:"Norwegian",fa:"Persian",pl:"Polish",pt:"Portuguese",ro:"Romanian",ru:"Russian",sr:"Serbian",sk:"Slovak",sl:"Slovenian",es:"Spanish",sw:"Swahili",sv:"Swedish",tl:"Tagalog",th:"Thai",tr:"Turkish",uk:"Ukrainian",vi:"Vietnamese",cy:"Welsh",yi:"Yiddish"}},mejs.TrackFormatParser={webvtt:{pattern_timecode:/^((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\> ((?:[0-9]{1,2}:)?[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,parse:function(b){for(var c,d,e,f=0,g=mejs.TrackFormatParser.split2(b,/\r?\n/),h={text:[],times:[]};f<g.length;f++){if(c=this.pattern_timecode.exec(g[f]),c&&f<g.length){for(f-1>=0&&""!==g[f-1]&&(e=g[f-1]),f++,d=g[f],f++;""!==g[f]&&f<g.length;)d=d+"\n"+g[f],f++;d=a.trim(d).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,"<a href='$1' target='_blank'>$1</a>"),h.text.push(d),h.times.push({identifier:e,start:0===mejs.Utility.convertSMPTEtoSeconds(c[1])?.2:mejs.Utility.convertSMPTEtoSeconds(c[1]),stop:mejs.Utility.convertSMPTEtoSeconds(c[3]),settings:c[5]})}e=""}return h}},dfxp:{parse:function(b){b=a(b).filter("tt");var c,d,e=0,f=b.children("div").eq(0),g=f.find("p"),h=b.find("#"+f.attr("style")),i={text:[],times:[]};if(h.length){var j=h.removeAttr("id").get(0).attributes;if(j.length)for(c={},e=0;e<j.length;e++)c[j[e].name.split(":")[1]]=j[e].value}for(e=0;e<g.length;e++){var k,l={start:null,stop:null,style:null};if(g.eq(e).attr("begin")&&(l.start=mejs.Utility.convertSMPTEtoSeconds(g.eq(e).attr("begin"))),!l.start&&g.eq(e-1).attr("end")&&(l.start=mejs.Utility.convertSMPTEtoSeconds(g.eq(e-1).attr("end"))),g.eq(e).attr("end")&&(l.stop=mejs.Utility.convertSMPTEtoSeconds(g.eq(e).attr("end"))),!l.stop&&g.eq(e+1).attr("begin")&&(l.stop=mejs.Utility.convertSMPTEtoSeconds(g.eq(e+1).attr("begin"))),c){k="";for(var m in c)k+=m+":"+c[m]+";"}k&&(l.style=k),0===l.start&&(l.start=.2),i.times.push(l),d=a.trim(g.eq(e).html()).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,"<a href='$1' target='_blank'>$1</a>"),i.text.push(d),0===i.times.start&&(i.times.start=2)}return i}},split2:function(a,b){return a.split(b)}},3!="x\n\ny".split(/\n/gi).length&&(mejs.TrackFormatParser.split2=function(a,b){var c,d=[],e="";for(c=0;c<a.length;c++)e+=a.substring(c,c+1),b.test(e)&&(d.push(e.replace(b,"")),e="");return d.push(e),d})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{contextMenuItems:[{render:function(a){return"undefined"==typeof a.enterFullScreen?null:mejs.i18n.t(a.isFullScreen?"Turn off Fullscreen":"Go Fullscreen")},click:function(a){a.isFullScreen?a.exitFullScreen():a.enterFullScreen()}},{render:function(a){return mejs.i18n.t(a.media.muted?"Unmute":"Mute")},click:function(a){a.setMuted(a.media.muted?!1:!0)}},{isSeparator:!0},{render:function(){return mejs.i18n.t("Download Video")},click:function(a){window.location.href=a.media.currentSrc}}]}),a.extend(MediaElementPlayer.prototype,{buildcontextmenu:function(b){b.contextMenu=a('<div class="mejs-contextmenu"></div>').appendTo(a("body")).hide(),b.container.bind("contextmenu",function(a){return b.isContextMenuEnabled?(a.preventDefault(),b.renderContextMenu(a.clientX-1,a.clientY-1),!1):void 0}),b.container.bind("click",function(){b.contextMenu.hide()}),b.contextMenu.bind("mouseleave",function(){b.startContextMenuTimer()})},cleancontextmenu:function(a){a.contextMenu.remove()},isContextMenuEnabled:!0,enableContextMenu:function(){this.isContextMenuEnabled=!0},disableContextMenu:function(){this.isContextMenuEnabled=!1},contextMenuTimeout:null,startContextMenuTimer:function(){var a=this;a.killContextMenuTimer(),a.contextMenuTimer=setTimeout(function(){a.hideContextMenu(),a.killContextMenuTimer()},750)},killContextMenuTimer:function(){var a=this.contextMenuTimer;null!=a&&(clearTimeout(a),delete a,a=null)},hideContextMenu:function(){this.contextMenu.hide()},renderContextMenu:function(b,c){for(var d=this,e="",f=d.options.contextMenuItems,g=0,h=f.length;h>g;g++)if(f[g].isSeparator)e+='<div class="mejs-contextmenu-separator"></div>';else{var i=f[g].render(d);null!=i&&(e+='<div class="mejs-contextmenu-item" data-itemindex="'+g+'" id="element-'+1e6*Math.random()+'">'+i+"</div>")}d.contextMenu.empty().append(a(e)).css({top:c,left:b}).show(),d.contextMenu.find(".mejs-contextmenu-item").each(function(){var b=a(this),c=parseInt(b.data("itemindex"),10),e=d.options.contextMenuItems[c];"undefined"!=typeof e.show&&e.show(b,d),b.click(function(){"undefined"!=typeof e.click&&e.click(d),d.contextMenu.hide()})}),setTimeout(function(){d.killControlsTimer("rev3")},100)}})}(mejs.$),function(a){a.extend(mejs.MepDefaults,{postrollCloseText:mejs.i18n.t("Close")}),a.extend(MediaElementPlayer.prototype,{buildpostroll:function(b,c,d){var e=this,f=e.container.find('link[rel="postroll"]').attr("href");"undefined"!=typeof f&&(b.postroll=a('<div class="mejs-postroll-layer mejs-layer"><a class="mejs-postroll-close" onclick="$(this).parent().hide();return false;">'+e.options.postrollCloseText+'</a><div class="mejs-postroll-layer-content"></div></div>').prependTo(d).hide(),e.media.addEventListener("ended",function(){a.ajax({dataType:"html",url:f,success:function(a){d.find(".mejs-postroll-layer-content").html(a)}}),b.postroll.show()},!1))}})}(mejs.$);
\ No newline at end of file
index f71423ad7459b56c188e6435c4ca57fafeca1362..15082330785b8869ab5547ffb0b7656fe21be52e 100644 (file)
@@ -1 +1 @@
-.mejs-offscreen{position:absolute!important;top:-10000px;overflow:hidden;width:1px;height:1px}.mejs-container{position:relative;background:#000;font-family:Helvetica,Arial;text-align:left;vertical-align:top;text-indent:0}.me-plugin{position:absolute;height:auto;width:auto}.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,.9);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(50,50,50,.9)),to(rgba(0,0,0,.9)));background:-webkit-linear-gradient(top,rgba(50,50,50,.9),rgba(0,0,0,.9));background:-moz-linear-gradient(top,rgba(50,50,50,.9),rgba(0,0,0,.9));background:-o-linear-gradient(top,rgba(50,50,50,.9),rgba(0,0,0,.9));background:-ms-linear-gradient(top,rgba(50,50,50,.9),rgba(0,0,0,.9));background:linear-gradient(rgba(50,50,50,.9),rgba(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,.7);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(50,50,50,.7)),to(rgba(0,0,0,.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,.7),rgba(0,0,0,.7));background:-moz-linear-gradient(top,rgba(50,50,50,.7),rgba(0,0,0,.7));background:-o-linear-gradient(top,rgba(50,50,50,.7),rgba(0,0,0,.7));background:-ms-linear-gradient(top,rgba(50,50,50,.7),rgba(0,0,0,.7));background:linear-gradient(rgba(50,50,50,.7),rgba(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;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 a{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,.mejs-controls .mejs-time-rail a{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,.8);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(30,30,30,.8)),to(rgba(60,60,60,.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,.8),rgba(60,60,60,.8));background:-moz-linear-gradient(top,rgba(30,30,30,.8),rgba(60,60,60,.8));background:-o-linear-gradient(top,rgba(30,30,30,.8),rgba(60,60,60,.8));background:-ms-linear-gradient(top,rgba(30,30,30,.8),rgba(60,60,60,.8));background:linear-gradient(rgba(30,30,30,.8),rgba(60,60,60,.8))}.mejs-controls .mejs-time-rail .mejs-time-buffering{width:100%;background-image:-o-linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.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,.8);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(44,124,145,.8)),to(rgba(78,183,212,.8)));background:-webkit-linear-gradient(top,rgba(44,124,145,.8),rgba(78,183,212,.8));background:-moz-linear-gradient(top,rgba(44,124,145,.8),rgba(78,183,212,.8));background:-o-linear-gradient(top,rgba(44,124,145,.8),rgba(78,183,212,.8));background:-ms-linear-gradient(top,rgba(44,124,145,.8),rgba(78,183,212,.8));background:linear-gradient(rgba(44,124,145,.8),rgba(78,183,212,.8));width:0}.mejs-controls .mejs-time-rail .mejs-time-current{background:#fff;background:rgba(255,255,255,.8);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(255,255,255,.9)),to(rgba(200,200,200,.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,.9),rgba(200,200,200,.8));background:-moz-linear-gradient(top,rgba(255,255,255,.9),rgba(200,200,200,.8));background:-o-linear-gradient(top,rgba(255,255,255,.9),rgba(200,200,200,.8));background:-ms-linear-gradient(top,rgba(255,255,255,.9),rgba(200,200,200,.8));background:linear-gradient(rgba(255,255,255,.9),rgba(200,200,200,.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;-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-volume-button{}.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,.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,.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,.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,.9);cursor:N-resize;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;margin:0}.mejs-controls a.mejs-horizontal-volume-slider{height:26px;width:60px;position:relative;display:table-cell;vertical-align:middle}.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,.8);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(30,30,30,.8)),to(rgba(60,60,60,.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,.8),rgba(60,60,60,.8));background:-moz-linear-gradient(top,rgba(30,30,30,.8),rgba(60,60,60,.8));background:-o-linear-gradient(top,rgba(30,30,30,.8),rgba(60,60,60,.8));background:-ms-linear-gradient(top,rgba(30,30,30,.8),rgba(60,60,60,.8));background:linear-gradient(rgba(30,30,30,.8),rgba(60,60,60,.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,.8);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(255,255,255,.9)),to(rgba(200,200,200,.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,.9),rgba(200,200,200,.8));background:-moz-linear-gradient(top,rgba(255,255,255,.9),rgba(200,200,200,.8));background:-o-linear-gradient(top,rgba(255,255,255,.9),rgba(200,200,200,.8));background:-ms-linear-gradient(top,rgba(255,255,255,.9),rgba(200,200,200,.8));background:linear-gradient(rgba(255,255,255,.9),rgba(200,200,200,.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:-51px;width:85px;height:100px;background:url(background.png);background:rgba(50,50,50,.7);border:solid 1px transparent;padding:10px 10px 0;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;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:55px;float:left;padding:4px 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}.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,.7);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(50,50,50,.7)),to(rgba(0,0,0,.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,.7),rgba(0,0,0,.7));background:-moz-linear-gradient(top,rgba(50,50,50,.7),rgba(0,0,0,.7));background:-o-linear-gradient(top,rgba(50,50,50,.7),rgba(0,0,0,.7));background:-ms-linear-gradient(top,rgba(50,50,50,.7),rgba(0,0,0,.7));background:linear-gradient(rgba(50,50,50,.7),rgba(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:0}.mejs-chapters .mejs-chapter .mejs-chapter-block:hover{background:#666;background:rgba(102,102,102,.7);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(102,102,102,.7)),to(rgba(50,50,50,.6)));background:-webkit-linear-gradient(top,rgba(102,102,102,.7),rgba(50,50,50,.6));background:-moz-linear-gradient(top,rgba(102,102,102,.7),rgba(50,50,50,.6));background:-o-linear-gradient(top,rgba(102,102,102,.7),rgba(50,50,50,.6));background:-ms-linear-gradient(top,rgba(102,102,102,.7),rgba(50,50,50,.6));background:linear-gradient(rgba(102,102,102,.7),rgba(50,50,50,.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:700;display:block;white-space:nowrap;text-overflow:ellipsis;margin:0 0 3px;line-height:12px}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-timespan{font-size:12px;line-height:12px;margin:3px 0 4px;display:block;white-space:nowrap;text-overflow:ellipsis}.mejs-captions-layer{position:absolute;bottom:0;left:0;text-align:center;line-height:20px;font-size:16px;color:#fff}.mejs-captions-layer a{color:#fff;text-decoration:underline}.mejs-captions-layer[lang=ar]{font-size:20px;font-weight:400}.mejs-captions-position{position:absolute;width:100%;bottom:15px;left:0}.mejs-captions-position-hover{bottom:35px}.mejs-captions-text{padding:3px 5px;background:url(background.png);background:rgba(20,20,20,.5);white-space:pre-wrap}.me-cannotplay{}.me-cannotplay a{color:#fff;font-weight:700}.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,.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;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;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,.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,.7);color:#fff;padding:4px;z-index:100;cursor:pointer}div.mejs-speed-button{width:46px!important;position:relative}.mejs-controls .mejs-button.mejs-speed-button button{background:transparent;width:36px;font-size:11px;line-height:normal;color:#fff}.mejs-controls .mejs-speed-button .mejs-speed-selector{visibility:hidden;position:absolute;top:-100px;left:-10px;width:60px;height:100px;background:url(background.png);background:rgba(50,50,50,.7);border:solid 1px transparent;padding:0;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mejs-controls .mejs-speed-button:hover>.mejs-speed-selector{visibility:visible}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li label.mejs-speed-selected{color:rgba(33,248,248,1)}.mejs-controls .mejs-speed-button .mejs-speed-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li{margin:0 0 6px;padding:0 10px;list-style-type:none!important;display:block;color:#fff;overflow:hidden}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;display:none}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li label{width:60px;float:left;padding:4px 0 0;line-height:15px;font-family:helvetica,arial;font-size:11.5px;color:#fff;margin-left:5px;cursor:pointer}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li:hover{background-color:#c8c8c8!important;background-color:rgba(255,255,255,.4)!important}.mejs-controls .mejs-button.mejs-skip-back-button{background:transparent url(skipback.png) no-repeat;background-position:3px 3px}.mejs-controls .mejs-button.mejs-skip-back-button button{background:transparent;font-size:9px;line-height:normal;color:#fff}
\ No newline at end of file
+.mejs-offscreen{position:absolute!important;top:-10000px;left:-10000px;overflow:hidden;width:1px;height:1px}.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,.9);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(50,50,50,.9)),to(rgba(0,0,0,.9)));background:-webkit-linear-gradient(top,rgba(50,50,50,.9),rgba(0,0,0,.9));background:-moz-linear-gradient(top,rgba(50,50,50,.9),rgba(0,0,0,.9));background:-o-linear-gradient(top,rgba(50,50,50,.9),rgba(0,0,0,.9));background:-ms-linear-gradient(top,rgba(50,50,50,.9),rgba(0,0,0,.9));background:linear-gradient(rgba(50,50,50,.9),rgba(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,.7);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(50,50,50,.7)),to(rgba(0,0,0,.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,.7),rgba(0,0,0,.7));background:-moz-linear-gradient(top,rgba(50,50,50,.7),rgba(0,0,0,.7));background:-o-linear-gradient(top,rgba(50,50,50,.7),rgba(0,0,0,.7));background:-ms-linear-gradient(top,rgba(50,50,50,.7),rgba(0,0,0,.7));background:linear-gradient(rgba(50,50,50,.7),rgba(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:10px 3px 0;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 a{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,.mejs-controls .mejs-time-rail a{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,.8);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(30,30,30,.8)),to(rgba(60,60,60,.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,.8),rgba(60,60,60,.8));background:-moz-linear-gradient(top,rgba(30,30,30,.8),rgba(60,60,60,.8));background:-o-linear-gradient(top,rgba(30,30,30,.8),rgba(60,60,60,.8));background:-ms-linear-gradient(top,rgba(30,30,30,.8),rgba(60,60,60,.8));background:linear-gradient(rgba(30,30,30,.8),rgba(60,60,60,.8))}.mejs-controls .mejs-time-rail .mejs-time-buffering{width:100%;background-image:-o-linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,.15)),color-stop(0.75,rgba(255,255,255,.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.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,.8);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(44,124,145,.8)),to(rgba(78,183,212,.8)));background:-webkit-linear-gradient(top,rgba(44,124,145,.8),rgba(78,183,212,.8));background:-moz-linear-gradient(top,rgba(44,124,145,.8),rgba(78,183,212,.8));background:-o-linear-gradient(top,rgba(44,124,145,.8),rgba(78,183,212,.8));background:-ms-linear-gradient(top,rgba(44,124,145,.8),rgba(78,183,212,.8));background:linear-gradient(rgba(44,124,145,.8),rgba(78,183,212,.8));width:0}.mejs-controls .mejs-time-rail .mejs-time-current{background:#fff;background:rgba(255,255,255,.8);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(255,255,255,.9)),to(rgba(200,200,200,.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,.9),rgba(200,200,200,.8));background:-moz-linear-gradient(top,rgba(255,255,255,.9),rgba(200,200,200,.8));background:-o-linear-gradient(top,rgba(255,255,255,.9),rgba(200,200,200,.8));background:-ms-linear-gradient(top,rgba(255,255,255,.9),rgba(200,200,200,.8));background:linear-gradient(rgba(255,255,255,.9),rgba(200,200,200,.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;-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-volume-button{}.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,.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,.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,.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,.9);cursor:N-resize;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;margin:0}.mejs-controls a.mejs-horizontal-volume-slider{height:26px;width:56px;position:relative;display:block;float:left;vertical-align:middle}.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,.8);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(30,30,30,.8)),to(rgba(60,60,60,.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,.8),rgba(60,60,60,.8));background:-moz-linear-gradient(top,rgba(30,30,30,.8),rgba(60,60,60,.8));background:-o-linear-gradient(top,rgba(30,30,30,.8),rgba(60,60,60,.8));background:-ms-linear-gradient(top,rgba(30,30,30,.8),rgba(60,60,60,.8));background:linear-gradient(rgba(30,30,30,.8),rgba(60,60,60,.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,.8);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(255,255,255,.9)),to(rgba(200,200,200,.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,.9),rgba(200,200,200,.8));background:-moz-linear-gradient(top,rgba(255,255,255,.9),rgba(200,200,200,.8));background:-o-linear-gradient(top,rgba(255,255,255,.9),rgba(200,200,200,.8));background:-ms-linear-gradient(top,rgba(255,255,255,.9),rgba(200,200,200,.8));background:linear-gradient(rgba(255,255,255,.9),rgba(200,200,200,.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:-51px;width:85px;height:100px;background:url(background.png);background:rgba(50,50,50,.7);border:solid 1px transparent;padding:10px 10px 0;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;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:55px;float:left;padding:4px 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}.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,.7);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(50,50,50,.7)),to(rgba(0,0,0,.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,.7),rgba(0,0,0,.7));background:-moz-linear-gradient(top,rgba(50,50,50,.7),rgba(0,0,0,.7));background:-o-linear-gradient(top,rgba(50,50,50,.7),rgba(0,0,0,.7));background:-ms-linear-gradient(top,rgba(50,50,50,.7),rgba(0,0,0,.7));background:linear-gradient(rgba(50,50,50,.7),rgba(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:0}.mejs-chapters .mejs-chapter .mejs-chapter-block:hover{background:#666;background:rgba(102,102,102,.7);background:-webkit-gradient(linear,0 0,0 100%,from(rgba(102,102,102,.7)),to(rgba(50,50,50,.6)));background:-webkit-linear-gradient(top,rgba(102,102,102,.7),rgba(50,50,50,.6));background:-moz-linear-gradient(top,rgba(102,102,102,.7),rgba(50,50,50,.6));background:-o-linear-gradient(top,rgba(102,102,102,.7),rgba(50,50,50,.6));background:-ms-linear-gradient(top,rgba(102,102,102,.7),rgba(50,50,50,.6));background:linear-gradient(rgba(102,102,102,.7),rgba(50,50,50,.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:700;display:block;white-space:nowrap;text-overflow:ellipsis;margin:0 0 3px;line-height:12px}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-timespan{font-size:12px;line-height:12px;margin:3px 0 4px;display:block;white-space:nowrap;text-overflow:ellipsis}.mejs-captions-layer{position:absolute;bottom:0;left:0;text-align:center;line-height:20px;font-size:16px;color:#fff}.mejs-captions-layer a{color:#fff;text-decoration:underline}.mejs-captions-layer[lang=ar]{font-size:20px;font-weight:400}.mejs-captions-position{position:absolute;width:100%;bottom:15px;left:0}.mejs-captions-position-hover{bottom:35px}.mejs-captions-text{padding:3px 5px;background:url(background.png);background:rgba(20,20,20,.5);white-space:pre-wrap}.me-cannotplay{}.me-cannotplay a{color:#fff;font-weight:700}.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,.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;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;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,.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,.7);color:#fff;padding:4px;z-index:100;cursor:pointer}div.mejs-speed-button{width:46px!important;position:relative}.mejs-controls .mejs-button.mejs-speed-button button{background:transparent;width:36px;font-size:11px;line-height:normal;color:#fff}.mejs-controls .mejs-speed-button .mejs-speed-selector{visibility:hidden;position:absolute;top:-100px;left:-10px;width:60px;height:100px;background:url(background.png);background:rgba(50,50,50,.7);border:solid 1px transparent;padding:0;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.mejs-controls .mejs-speed-button:hover>.mejs-speed-selector{visibility:visible}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li label.mejs-speed-selected{color:rgba(33,248,248,1)}.mejs-controls .mejs-speed-button .mejs-speed-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li{margin:0 0 6px;padding:0 10px;list-style-type:none!important;display:block;color:#fff;overflow:hidden}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;display:none}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li label{width:60px;float:left;padding:4px 0 0;line-height:15px;font-family:helvetica,arial;font-size:11.5px;color:#fff;margin-left:5px;cursor:pointer}.mejs-controls .mejs-speed-button .mejs-speed-selector ul li:hover{background-color:#c8c8c8!important;background-color:rgba(255,255,255,.4)!important}.mejs-controls .mejs-button.mejs-skip-back-button{background:transparent url(skipback.png) no-repeat;background-position:3px 3px}.mejs-controls .mejs-button.mejs-skip-back-button button{background:transparent;font-size:9px;line-height:normal;color:#fff}
\ No newline at end of file
index 9d55c2e46ae51017ab91f61b05cf4f4838ab10ab..3704748fdf5177fdba20e8ccc0d43fccda978da1 100644 (file)
Binary files a/wp-includes/js/mediaelement/silverlightmediaelement.xap and b/wp-includes/js/mediaelement/silverlightmediaelement.xap differ
index e724a150215c5429c88029c73f7301c5150d863a..ae90c8ddb837db2ff2c48ed953a536d9d0e34b46 100644 (file)
@@ -23,7 +23,7 @@
 }
 
 .mejs-controls .mejs-time-rail .mejs-time-current {
-       background: #0074a2;
+       background: #0073aa;
 }
 
 .mejs-controls .mejs-time-rail .mejs-time-total,
        height: auto;
 }
 
-.wp_attachment_holder .wp-video {
+.wp_attachment_holder .wp-video,
+.wp_attachment_holder .wp-audio-shortcode {
        margin-top: 18px;
 }
 
index d6a9958c7eeac3f3661c09c5553961d880296319..1396a2d3be77183ace657818af291f27c5356e82 100644 (file)
@@ -448,7 +448,7 @@ jQuery(document).ready(function($){
                uploader.init();
 
                uploader.bind('FilesAdded', function( up, files ) {
-                       $('#media-upload-error').html('');
+                       $('#media-upload-error').empty();
                        uploadStart();
 
                        plupload.each( files, function( file ) {
index d61eca8ff8db7f153591961fd5fb84af82cafdae..3d8a5a982f37cb0a57d7e983cc3817186115db6c 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/)?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
+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").empty(),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
index 45e3f48a5164afc1e37824c05f65a7f8e89a4c1f..0549c795d129c990ac36f471aeb22954faadcbc6 100644 (file)
 }
 
 .tb-close-icon:hover {
-       color: #2ea2cc;
+       color: #00a0d2;
 }
index 27b6a46da43bd5bf8c75b9904ca159c04f667bc6..19f186583a62011e120345b3c63e12e5cce617ed 100644 (file)
@@ -13,7 +13,7 @@
 tinymce.PluginManager.add('charmap', function(editor) {
        var charmap = [
                ['160', 'no-break space'],
-               ['38', 'ampersand'],
+               ['173', 'soft hyphen'],
                ['34', 'quotation mark'],
        // finance
                ['162', 'cent sign'],
@@ -225,9 +225,9 @@ tinymce.PluginManager.add('charmap', function(editor) {
                ['969', 'omega'],
        // symbols
                ['8501', 'alef symbol'],
-               ['982',  'pi symbol'],
+               ['982', 'pi symbol'],
                ['8476', 'real part symbol'],
-               ['978',  'upsilon - hook symbol'],
+               ['978', 'upsilon - hook symbol'],
                ['8472', 'Weierstrass p'],
                ['8465', 'imaginary part'],
        // arrows
@@ -269,8 +269,7 @@ tinymce.PluginManager.add('charmap', function(editor) {
                ['8204', 'zero width non-joiner'],
                ['8205', 'zero width joiner'],
                ['8206', 'left-to-right mark'],
-               ['8207', 'right-to-left mark'],
-               ['173',  'soft hyphen']
+               ['8207', 'right-to-left mark']
        ];
 
        function showDialog() {
@@ -289,14 +288,20 @@ tinymce.PluginManager.add('charmap', function(editor) {
                gridHtml = '<table role="presentation" cellspacing="0" class="mce-charmap"><tbody>';
 
                var width = 25;
-               for (y = 0; y < 10; y++) {
+               var height = Math.ceil(charmap.length / width);
+               for (y = 0; y < height; y++) {
                        gridHtml += '<tr>';
 
                        for (x = 0; x < width; x++) {
-                               var chr = charmap[y * width + x];
+                               var index = y * width + x;
+                               if (index < charmap.length) {
+                                       var chr = charmap[index];
 
-                               gridHtml += '<td title="' + chr[1] + '"><div tabindex="-1" title="' + chr[1] + '" role="button">' +
-                                       (chr ? String.fromCharCode(parseInt(chr[0], 10)) : '&nbsp;') + '</div></td>';
+                                       gridHtml += '<td title="' + chr[1] + '"><div tabindex="-1" title="' + chr[1] + '" role="button">' +
+                                               (chr ? String.fromCharCode(parseInt(chr[0], 10)) : '&nbsp;') + '</div></td>';
+                               } else {
+                                       gridHtml += '<td />';
+                               }
                        }
 
                        gridHtml += '</tr>';
@@ -309,24 +314,25 @@ tinymce.PluginManager.add('charmap', function(editor) {
                        html: gridHtml,
                        onclick: function(e) {
                                var target = e.target;
+                               if (/^(TD|DIV)$/.test(target.nodeName)) {
+                                       if (getParentTd(target).firstChild) {
+                                               editor.execCommand('mceInsertContent', false, tinymce.trim(target.innerText || target.textContent));
 
-                               if (target.tagName == 'TD') {
-                                       target = target.firstChild;
-                               }
-
-                               if (target.tagName == 'DIV') {
-                                       editor.execCommand('mceInsertContent', false, target.firstChild.data);
-
-                                       if (!e.ctrlKey) {
-                                               win.close();
+                                               if (!e.ctrlKey) {
+                                                       win.close();
+                                               }
                                        }
                                }
                        },
                        onmouseover: function(e) {
                                var td = getParentTd(e.target);
 
-                               if (td) {
+                               if (td && td.firstChild) {
                                        win.find('#preview').text(td.firstChild.firstChild.data);
+                                       win.find('#previewTitle').text(td.title);
+                               } else {
+                                       win.find('#preview').text(' ');
+                                       win.find('#previewTitle').text(' ');
                                }
                        }
                };
@@ -338,13 +344,33 @@ tinymce.PluginManager.add('charmap', function(editor) {
                        items: [
                                charMapPanel,
                                {
-                                       type: 'label',
-                                       name: 'preview',
-                                       text: ' ',
-                                       style: 'font-size: 40px; text-align: center',
-                                       border: 1,
-                                       minWidth: 100,
-                                       minHeight: 80
+                                       type: 'container',
+                                       layout: 'flex',
+                                       direction: 'column',
+                                       align: 'center',
+                                       spacing: 5,
+                                       minWidth: 160,
+                                       minHeight: 160,
+                                       items: [
+                                               {
+                                                       type: 'label',
+                                                       name: 'preview',
+                                                       text: ' ',
+                                                       style: 'font-size: 40px; text-align: center',
+                                                       border: 1,
+                                                       minWidth: 140,
+                                                       minHeight: 80
+                                               },
+                                               {
+                                                       type: 'label',
+                                                       name: 'previewTitle',
+                                                       text: ' ',
+                                                       style: 'text-align: center',
+                                                       border: 1,
+                                                       minWidth: 140,
+                                                       minHeight: 80
+                                               }
+                                       ]
                                }
                        ],
                        buttons: [
index 7b4fc97c17c76f57ef0a2183ddd5a4f526bfba8a..3f414ad557656be1674cfe027d00310a3016ebd5 100644 (file)
@@ -1 +1 @@
-tinymce.PluginManager.add("charmap",function(a){function b(){function b(a){for(;a;){if("TD"==a.nodeName)return a;a=a.parentNode}}var d,e,f,g;d='<table role="presentation" cellspacing="0" class="mce-charmap"><tbody>';var h=25;for(f=0;10>f;f++){for(d+="<tr>",e=0;h>e;e++){var i=c[f*h+e];d+='<td title="'+i[1]+'"><div tabindex="-1" title="'+i[1]+'" role="button">'+(i?String.fromCharCode(parseInt(i[0],10)):"&nbsp;")+"</div></td>"}d+="</tr>"}d+="</tbody></table>";var j={type:"container",html:d,onclick:function(b){var c=b.target;"TD"==c.tagName&&(c=c.firstChild),"DIV"==c.tagName&&(a.execCommand("mceInsertContent",!1,c.firstChild.data),b.ctrlKey||g.close())},onmouseover:function(a){var c=b(a.target);c&&g.find("#preview").text(c.firstChild.firstChild.data)}};g=a.windowManager.open({title:"Special character",spacing:10,padding:10,items:[j,{type:"label",name:"preview",text:" ",style:"font-size: 40px; text-align: center",border:1,minWidth:100,minHeight:80}],buttons:[{text:"Close",onclick:function(){g.close()}}]})}var c=[["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"]];a.addButton("charmap",{icon:"charmap",tooltip:"Special character",onclick:b}),a.addMenuItem("charmap",{icon:"charmap",text:"Special character",onclick:b,context:"insert"})});
\ No newline at end of file
+tinymce.PluginManager.add("charmap",function(a){function b(){function b(a){for(;a;){if("TD"==a.nodeName)return a;a=a.parentNode}}var d,e,f,g;d='<table role="presentation" cellspacing="0" class="mce-charmap"><tbody>';var h=25,i=Math.ceil(c.length/h);for(f=0;i>f;f++){for(d+="<tr>",e=0;h>e;e++){var j=f*h+e;if(j<c.length){var k=c[j];d+='<td title="'+k[1]+'"><div tabindex="-1" title="'+k[1]+'" role="button">'+(k?String.fromCharCode(parseInt(k[0],10)):"&nbsp;")+"</div></td>"}else d+="<td />"}d+="</tr>"}d+="</tbody></table>";var l={type:"container",html:d,onclick:function(c){var d=c.target;/^(TD|DIV)$/.test(d.nodeName)&&b(d).firstChild&&(a.execCommand("mceInsertContent",!1,tinymce.trim(d.innerText||d.textContent)),c.ctrlKey||g.close())},onmouseover:function(a){var c=b(a.target);c&&c.firstChild?(g.find("#preview").text(c.firstChild.firstChild.data),g.find("#previewTitle").text(c.title)):(g.find("#preview").text(" "),g.find("#previewTitle").text(" "))}};g=a.windowManager.open({title:"Special character",spacing:10,padding:10,items:[l,{type:"container",layout:"flex",direction:"column",align:"center",spacing:5,minWidth:160,minHeight:160,items:[{type:"label",name:"preview",text:" ",style:"font-size: 40px; text-align: center",border:1,minWidth:140,minHeight:80},{type:"label",name:"previewTitle",text:" ",style:"text-align: center",border:1,minWidth:140,minHeight:80}]}],buttons:[{text:"Close",onclick:function(){g.close()}}]})}var c=[["160","no-break space"],["173","soft hyphen"],["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"]];a.addButton("charmap",{icon:"charmap",tooltip:"Special character",onclick:b}),a.addMenuItem("charmap",{icon:"charmap",text:"Special character",onclick:b,context:"insert"})});
\ No newline at end of file
index e5187015263ee3e865b91efc3fec3ce2dd2196fd..2a3cf20efc0582b1e257ef4ee6fba965f6bfc14d 100644 (file)
@@ -89,7 +89,7 @@ tinymce.PluginManager.add('fullscreen', function(editor) {
        }
 
        editor.on('init', function() {
-               editor.addShortcut('Ctrl+Alt+F', '', toggleFullscreen);
+               editor.addShortcut('Meta+Alt+F', '', toggleFullscreen);
        });
 
        editor.on('remove', function() {
@@ -102,7 +102,7 @@ tinymce.PluginManager.add('fullscreen', function(editor) {
 
        editor.addMenuItem('fullscreen', {
                text: 'Fullscreen',
-               shortcut: 'Ctrl+Alt+F',
+               shortcut: 'Meta+Alt+F',
                selectable: true,
                onClick: toggleFullscreen,
                onPostRender: function() {
@@ -117,7 +117,7 @@ tinymce.PluginManager.add('fullscreen', function(editor) {
 
        editor.addButton('fullscreen', {
                tooltip: 'Fullscreen',
-               shortcut: 'Ctrl+Alt+F',
+               shortcut: 'Meta+Alt+F',
                onClick: toggleFullscreen,
                onPostRender: function() {
                        var self = this;
index 5b128c2e2d547579d15373fa7c66807f51463dbf..d275e059449ec6207a843b91bbbf564d634a215a 100644 (file)
@@ -1 +1 @@
-tinymce.PluginManager.add("fullscreen",function(a){function b(){var a,b,c=window,d=document,e=d.body;return e.offsetWidth&&(a=e.offsetWidth,b=e.offsetHeight),c.innerWidth&&c.innerHeight&&(a=c.innerWidth,b=c.innerHeight),{w:a,h:b}}function c(){function c(){j.setStyle(m,"height",b().h-(l.clientHeight-m.clientHeight))}var k,l,m,n,o=document.body,p=document.documentElement;i=!i,l=a.getContainer(),k=l.style,m=a.getContentAreaContainer().firstChild,n=m.style,i?(d=n.width,e=n.height,n.width=n.height="100%",g=k.width,h=k.height,k.width=k.height="",j.addClass(o,"mce-fullscreen"),j.addClass(p,"mce-fullscreen"),j.addClass(l,"mce-fullscreen"),j.bind(window,"resize",c),c(),f=c):(n.width=d,n.height=e,g&&(k.width=g),h&&(k.height=h),j.removeClass(o,"mce-fullscreen"),j.removeClass(p,"mce-fullscreen"),j.removeClass(l,"mce-fullscreen"),j.unbind(window,"resize",f)),a.fire("FullscreenStateChanged",{state:i})}var d,e,f,g,h,i=!1,j=tinymce.DOM;return a.settings.inline?void 0:(a.on("init",function(){a.addShortcut("Ctrl+Alt+F","",c)}),a.on("remove",function(){f&&j.unbind(window,"resize",f)}),a.addCommand("mceFullScreen",c),a.addMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Ctrl+Alt+F",selectable:!0,onClick:c,onPostRender:function(){var b=this;a.on("FullscreenStateChanged",function(a){b.active(a.state)})},context:"view"}),a.addButton("fullscreen",{tooltip:"Fullscreen",shortcut:"Ctrl+Alt+F",onClick:c,onPostRender:function(){var b=this;a.on("FullscreenStateChanged",function(a){b.active(a.state)})}}),{isFullscreen:function(){return i}})});
\ No newline at end of file
+tinymce.PluginManager.add("fullscreen",function(a){function b(){var a,b,c=window,d=document,e=d.body;return e.offsetWidth&&(a=e.offsetWidth,b=e.offsetHeight),c.innerWidth&&c.innerHeight&&(a=c.innerWidth,b=c.innerHeight),{w:a,h:b}}function c(){function c(){j.setStyle(m,"height",b().h-(l.clientHeight-m.clientHeight))}var k,l,m,n,o=document.body,p=document.documentElement;i=!i,l=a.getContainer(),k=l.style,m=a.getContentAreaContainer().firstChild,n=m.style,i?(d=n.width,e=n.height,n.width=n.height="100%",g=k.width,h=k.height,k.width=k.height="",j.addClass(o,"mce-fullscreen"),j.addClass(p,"mce-fullscreen"),j.addClass(l,"mce-fullscreen"),j.bind(window,"resize",c),c(),f=c):(n.width=d,n.height=e,g&&(k.width=g),h&&(k.height=h),j.removeClass(o,"mce-fullscreen"),j.removeClass(p,"mce-fullscreen"),j.removeClass(l,"mce-fullscreen"),j.unbind(window,"resize",f)),a.fire("FullscreenStateChanged",{state:i})}var d,e,f,g,h,i=!1,j=tinymce.DOM;return a.settings.inline?void 0:(a.on("init",function(){a.addShortcut("Meta+Alt+F","",c)}),a.on("remove",function(){f&&j.unbind(window,"resize",f)}),a.addCommand("mceFullScreen",c),a.addMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Meta+Alt+F",selectable:!0,onClick:c,onPostRender:function(){var b=this;a.on("FullscreenStateChanged",function(a){b.active(a.state)})},context:"view"}),a.addButton("fullscreen",{tooltip:"Fullscreen",shortcut:"Meta+Alt+F",onClick:c,onPostRender:function(){var b=this;a.on("FullscreenStateChanged",function(a){b.active(a.state)})}}),{isFullscreen:function(){return i}})});
\ No newline at end of file
index a478da5cabeaf8e162b778d94dd53a8c11064626..8d755a5616cd325c8a4dc33d43fd8353668de137 100644 (file)
@@ -67,14 +67,14 @@ tinymce.PluginManager.add('image', function(editor) {
                return function() {
                        var imageList = editor.settings.image_list;
 
-                       if (typeof(imageList) == "string") {
+                       if (typeof imageList == "string") {
                                tinymce.util.XHR.send({
                                        url: imageList,
                                        success: function(text) {
                                                callback(tinymce.util.JSON.parse(text));
                                        }
                                });
-                       } else if (typeof(imageList) == "function") {
+                       } else if (typeof imageList == "function") {
                                imageList(callback);
                        } else {
                                callback(imageList);
@@ -102,10 +102,16 @@ tinymce.PluginManager.add('image', function(editor) {
                        if (win.find('#constrain')[0].checked() && width && height && newWidth && newHeight) {
                                if (width != newWidth) {
                                        newHeight = Math.round((newWidth / width) * newHeight);
-                                       heightCtrl.value(newHeight);
+
+                                       if (!isNaN(newHeight)) {
+                                               heightCtrl.value(newHeight);
+                                       }
                                } else {
                                        newWidth = Math.round((newHeight / height) * newWidth);
-                                       widthCtrl.value(newWidth);
+
+                                       if (!isNaN(newWidth)) {
+                                               widthCtrl.value(newWidth);
+                                       }
                                }
                        }
 
@@ -150,6 +156,10 @@ tinymce.PluginManager.add('image', function(editor) {
                                data.alt = '';
                        }
 
+                       if (!data.title) {
+                               data.title = '';
+                       }
+
                        if (data.width === '') {
                                data.width = null;
                        }
@@ -163,9 +173,11 @@ tinymce.PluginManager.add('image', function(editor) {
                        }
 
                        // Setup new data excluding style properties
+                       /*eslint dot-notation: 0*/
                        data = {
                                src: data.src,
                                alt: data.alt,
+                               title: data.title,
                                width: data.width,
                                height: data.height,
                                style: data.style,
@@ -194,6 +206,10 @@ tinymce.PluginManager.add('image', function(editor) {
                                        return;
                                }
 
+                               if (data.title === "") {
+                                       data.title = null;
+                               }
+
                                if (!imgElm) {
                                        data.id = '__mcenew';
                                        editor.focus();
@@ -217,7 +233,7 @@ tinymce.PluginManager.add('image', function(editor) {
                }
 
                function srcChange(e) {
-                       var meta = e.meta || {};
+                       var srcURL, prependURL, absoluteURLPattern, meta = e.meta || {};
 
                        if (imageListCtrl) {
                                imageListCtrl.value(editor.convertURL(this.value(), 'src'));
@@ -228,16 +244,18 @@ tinymce.PluginManager.add('image', function(editor) {
                        });
 
                        if (!meta.width && !meta.height) {
-                               var srcURL = this.value(),
-                               absoluteURLPattern = new RegExp('^(?:[a-z]+:)?//', 'i'),
-                               baseURL = editor.settings.document_base_url;
+                               srcURL = editor.convertURL(this.value(), 'src');
 
-                               //Pattern test the src url and make sure we haven't already prepended the url
-                               if (baseURL && !absoluteURLPattern.test(srcURL) && srcURL.substring(0, baseURL.length) !== baseURL) {
-                                       this.value(baseURL + srcURL);
+                               // Pattern test the src url and make sure we haven't already prepended the url
+                               prependURL = editor.settings.image_prepend_url;
+                               absoluteURLPattern = new RegExp('^(?:[a-z]+:)?//', 'i');
+                               if (prependURL && !absoluteURLPattern.test(srcURL) && srcURL.substring(0, prependURL.length) !== prependURL) {
+                                       srcURL = prependURL + srcURL;
                                }
 
-                               getImageSize(this.value(), function(data) {
+                               this.value(srcURL);
+
+                               getImageSize(editor.documentBaseURI.toAbsolute(this.value()), function(data) {
                                        if (data.width && data.height && imageDimensions) {
                                                width = data.width;
                                                height = data.height;
@@ -256,6 +274,7 @@ tinymce.PluginManager.add('image', function(editor) {
                        data = {
                                src: dom.getAttrib(imgElm, 'src'),
                                alt: dom.getAttrib(imgElm, 'alt'),
+                               title: dom.getAttrib(imgElm, 'title'),
                                "class": dom.getAttrib(imgElm, 'class'),
                                width: width,
                                height: height
@@ -329,6 +348,10 @@ tinymce.PluginManager.add('image', function(editor) {
                        generalFormItems.push({name: 'alt', type: 'textbox', label: 'Image description'});
                }
 
+               if (editor.settings.image_title) {
+                       generalFormItems.push({name: 'title', type: 'textbox', label: 'Image Title'});
+               }
+
                if (imageDimensions) {
                        generalFormItems.push({
                                type: 'container',
@@ -351,6 +374,41 @@ tinymce.PluginManager.add('image', function(editor) {
                // WP
                editor.fire( 'wpLoadImageForm', { data: generalFormItems } );
 
+               function mergeMargins(css) {
+                       if (css.margin) {
+
+                               var splitMargin = css.margin.split(" ");
+
+                               switch (splitMargin.length) {
+                                       case 1: //margin: toprightbottomleft;
+                                               css['margin-top'] = css['margin-top'] || splitMargin[0];
+                                               css['margin-right'] = css['margin-right'] || splitMargin[0];
+                                               css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];
+                                               css['margin-left'] = css['margin-left'] || splitMargin[0];
+                                               break;
+                                       case 2: //margin: topbottom rightleft;
+                                               css['margin-top'] = css['margin-top'] || splitMargin[0];
+                                               css['margin-right'] = css['margin-right'] || splitMargin[1];
+                                               css['margin-bottom'] = css['margin-bottom'] || splitMargin[0];
+                                               css['margin-left'] = css['margin-left'] || splitMargin[1];
+                                               break;
+                                       case 3: //margin: top rightleft bottom;
+                                               css['margin-top'] = css['margin-top'] || splitMargin[0];
+                                               css['margin-right'] = css['margin-right'] || splitMargin[1];
+                                               css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];
+                                               css['margin-left'] = css['margin-left'] || splitMargin[1];
+                                               break;
+                                       case 4: //margin: top right bottom left;
+                                               css['margin-top'] = css['margin-top'] || splitMargin[0];
+                                               css['margin-right'] = css['margin-right'] || splitMargin[1];
+                                               css['margin-bottom'] = css['margin-bottom'] || splitMargin[2];
+                                               css['margin-left'] = css['margin-left'] || splitMargin[3];
+                               }
+                               delete css.margin;
+                       }
+                       return css;
+               }
+
                function updateStyle() {
                        function addPixelSuffix(value) {
                                if (value.length > 0 && /^[0-9]+$/.test(value)) {
@@ -364,23 +422,73 @@ tinymce.PluginManager.add('image', function(editor) {
                                return;
                        }
 
-                       var data = win.toJSON();
-                       var css = dom.parseStyle(data.style);
+                       var data = win.toJSON(),
+                               css = dom.parseStyle(data.style);
+
+                       css = mergeMargins(css);
+
+                       if (data.vspace) {
+                               css['margin-top'] = css['margin-bottom'] = addPixelSuffix(data.vspace);
+                       }
+                       if (data.hspace) {
+                               css['margin-left'] = css['margin-right'] = addPixelSuffix(data.hspace);
+                       }
+                       if (data.border) {
+                               css['border-width'] = addPixelSuffix(data.border);
+                       }
+
+                       win.find('#style').value(dom.serializeStyle(dom.parseStyle(dom.serializeStyle(css))));
+               }
+
+               function updateVSpaceHSpaceBorder() {
+                       if (!editor.settings.image_advtab) {
+                               return;
+                       }
+
+                       var data = win.toJSON(),
+                               css = dom.parseStyle(data.style);
+
+                       win.find('#vspace').value("");
+                       win.find('#hspace').value("");
 
-                       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);
+                       css = mergeMargins(css);
+
+                       //Move opposite equal margins to vspace/hspace field
+                       if ((css['margin-top'] && css['margin-bottom']) || (css['margin-right'] && css['margin-left'])) {
+                               if (css['margin-top'] === css['margin-bottom']) {
+                                       win.find('#vspace').value(removePixelSuffix(css['margin-top']));
+                               } else {
+                                       win.find('#vspace').value('');
+                               }
+                               if (css['margin-right'] === css['margin-left']) {
+                                       win.find('#hspace').value(removePixelSuffix(css['margin-right']));
+                               } else {
+                                       win.find('#hspace').value('');
+                               }
+                       }
+
+                       //Move border-width
+                       if (css['border-width']) {
+                               win.find('#border').value(removePixelSuffix(css['border-width']));
+                       }
 
                        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);
+                               if (imgElm.style.marginLeft && imgElm.style.marginRight && imgElm.style.marginLeft === imgElm.style.marginRight) {
+                                       data.hspace = removePixelSuffix(imgElm.style.marginLeft);
+                               }
+                               if (imgElm.style.marginTop && imgElm.style.marginBottom && imgElm.style.marginTop === imgElm.style.marginBottom) {
+                                       data.vspace = removePixelSuffix(imgElm.style.marginTop);
+                               }
+                               if (imgElm.style.borderWidth) {
+                                       data.border = removePixelSuffix(imgElm.style.borderWidth);
+                               }
+
                                data.style = editor.dom.serializeStyle(editor.dom.parseStyle(editor.dom.getAttrib(imgElm, 'style')));
                        }
 
@@ -404,7 +512,8 @@ tinymce.PluginManager.add('image', function(editor) {
                                                        {
                                                                label: 'Style',
                                                                name: 'style',
-                                                               type: 'textbox'
+                                                               type: 'textbox',
+                                                               onchange: updateVSpaceHSpaceBorder
                                                        },
                                                        {
                                                                type: 'form',
@@ -449,7 +558,7 @@ tinymce.PluginManager.add('image', function(editor) {
 
        editor.addMenuItem('image', {
                icon: 'image',
-               text: 'Insert image',
+               text: 'Insert/edit image',
                onclick: createImageList(showDialog),
                context: 'insert',
                prependToContext: true
index 0a9492f5a5b253974f679a48621eba26e0b59e98..afcbb22457711d8ea27a229477a9e0a3c8379fbb 100644 (file)
@@ -1 +1 @@
-tinymce.PluginManager.add("image",function(a){function b(a,b){function c(a,c){d.parentNode&&d.parentNode.removeChild(d),b({width:a,height:c})}var d=document.createElement("img");d.onload=function(){c(d.clientWidth,d.clientHeight)},d.onerror=function(){c()};var e=d.style;e.visibility="hidden",e.position="fixed",e.bottom=e.left=0,e.width=e.height="auto",document.body.appendChild(d),d.src=a}function c(a,b,c){function d(a,c){return c=c||[],tinymce.each(a,function(a){var e={text:a.text||a.title};a.menu?e.menu=d(a.menu):(e.value=a.value,b(e)),c.push(e)}),c}return d(a,c||[])}function d(b){return function(){var c=a.settings.image_list;"string"==typeof c?tinymce.util.XHR.send({url:c,success:function(a){b(tinymce.util.JSON.parse(a))}}):"function"==typeof c?c(b):b(c)}}function e(d){function e(){var a,b,c,d;a=j.find("#width")[0],b=j.find("#height")[0],a&&b&&(c=a.value(),d=b.value(),j.find("#constrain")[0].checked()&&k&&l&&c&&d&&(k!=c?(d=Math.round(c/k*d),b.value(d)):(c=Math.round(d/l*c),a.value(c))),k=c,l=d)}function f(){function b(b){function c(){b.onload=b.onerror=null,a.selection&&(a.selection.select(b),a.nodeChanged())}b.onload=function(){o.width||o.height||!r||(p.setAttribs(b,{width:b.clientWidth,height:b.clientHeight}),a.fire("wpNewImageRefresh",{node:b})),c()},b.onerror=c}i(),e(),o=tinymce.extend(o,j.toJSON());var c=o.caption;o.alt||(o.alt=""),""===o.width&&(o.width=null),""===o.height&&(o.height=null),o.style||(o.style=null),o={src:o.src,alt:o.alt,width:o.width,height:o.height,style:o.style,"class":o["class"]},a.undoManager.transact(function(){var d={node:q,data:o,caption:c};return a.fire("wpImageFormSubmit",{imgData:d}),d.cancel?void b(d.node):o.src?(q?p.setAttribs(q,o):(o.id="__mcenew",a.focus(),a.selection.setContent(p.createHTML("img",o)),q=p.get("__mcenew"),p.setAttrib(q,"id",null)),void b(q)):void(q&&(p.remove(q),a.focus(),a.nodeChanged()))})}function g(a){return a&&(a=a.replace(/px$/,"")),a}function h(c){var d=c.meta||{};if(m&&m.value(a.convertURL(this.value(),"src")),tinymce.each(d,function(a,b){j.find("#"+b).value(a)}),!d.width&&!d.height){var e=this.value(),f=new RegExp("^(?:[a-z]+:)?//","i"),g=a.settings.document_base_url;g&&!f.test(e)&&e.substring(0,g.length)!==g&&this.value(g+e),b(this.value(),function(a){a.width&&a.height&&r&&(k=a.width,l=a.height,j.find("#width").value(k),j.find("#height").value(l))})}}function i(){function b(a){return a.length>0&&/^[0-9]+$/.test(a)&&(a+="px"),a}if(a.settings.image_advtab){var c=j.toJSON(),d=p.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),j.find("#style").value(p.serializeStyle(p.parseStyle(p.serializeStyle(d))))}}var j,k,l,m,n,o={},p=a.dom,q=a.selection.getNode(),r=a.settings.image_dimensions!==!1;k=p.getAttrib(q,"width"),l=p.getAttrib(q,"height"),"IMG"!=q.nodeName||q.getAttribute("data-mce-object")||q.getAttribute("data-mce-placeholder")?q=null:(o={src:p.getAttrib(q,"src"),alt:p.getAttrib(q,"alt"),"class":p.getAttrib(q,"class"),width:k,height:l},a.fire("wpLoadImageData",{imgData:{data:o,node:q}})),d&&(m={type:"listbox",label:"Image list",values:c(d,function(b){b.value=a.convertURL(b.value||b.url,"src")},[{text:"None",value:""}]),value:o.src&&a.convertURL(o.src,"src"),onselect:function(a){var b=j.find("#alt");(!b.value()||a.lastControl&&b.value()==a.lastControl.text())&&b.value(a.control.text()),j.find("#src").value(a.control.value()).fire("change")},onPostRender:function(){m=this}}),a.settings.image_class_list&&(n={name:"class",type:"listbox",label:"Class",values:c(a.settings.image_class_list,function(b){b.value&&(b.textStyle=function(){return a.formatter.getCssText({inline:"img",classes:[b.value]})})})});var s=[{name:"src",type:"filepicker",filetype:"image",label:"Source",autofocus:!0,onchange:h},m];a.settings.image_description!==!1&&s.push({name:"alt",type:"textbox",label:"Image description"}),r&&s.push({type:"container",label:"Dimensions",layout:"flex",direction:"row",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:3,onchange:e,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:3,onchange:e,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}),s.push(n),a.fire("wpLoadImageForm",{data:s}),a.settings.image_advtab?(q&&(o.hspace=g(q.style.marginLeft||q.style.marginRight),o.vspace=g(q.style.marginTop||q.style.marginBottom),o.border=g(q.style.borderWidth),o.style=a.dom.serializeStyle(a.dom.parseStyle(a.dom.getAttrib(q,"style")))),j=a.windowManager.open({title:"Insert/edit image",data:o,bodyType:"tabpanel",body:[{title:"General",type:"form",items:s},{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:i},items:[{label:"Vertical space",name:"vspace"},{label:"Horizontal space",name:"hspace"},{label:"Border",name:"border"}]}]}],onSubmit:f})):j=a.windowManager.open({title:"Insert/edit image",data:o,body:s,onSubmit:f})}a.addButton("image",{icon:"image",tooltip:"Insert/edit image",onclick:d(e),stateSelector:"img:not([data-mce-object],[data-mce-placeholder])"}),a.addMenuItem("image",{icon:"image",text:"Insert image",onclick:d(e),context:"insert",prependToContext:!0}),a.addCommand("mceImage",d(e))});
\ No newline at end of file
+tinymce.PluginManager.add("image",function(a){function b(a,b){function c(a,c){d.parentNode&&d.parentNode.removeChild(d),b({width:a,height:c})}var d=document.createElement("img");d.onload=function(){c(d.clientWidth,d.clientHeight)},d.onerror=function(){c()};var e=d.style;e.visibility="hidden",e.position="fixed",e.bottom=e.left=0,e.width=e.height="auto",document.body.appendChild(d),d.src=a}function c(a,b,c){function d(a,c){return c=c||[],tinymce.each(a,function(a){var e={text:a.text||a.title};a.menu?e.menu=d(a.menu):(e.value=a.value,b(e)),c.push(e)}),c}return d(a,c||[])}function d(b){return function(){var c=a.settings.image_list;"string"==typeof c?tinymce.util.XHR.send({url:c,success:function(a){b(tinymce.util.JSON.parse(a))}}):"function"==typeof c?c(b):b(c)}}function e(d){function e(){var a,b,c,d;a=l.find("#width")[0],b=l.find("#height")[0],a&&b&&(c=a.value(),d=b.value(),l.find("#constrain")[0].checked()&&m&&n&&c&&d&&(m!=c?(d=Math.round(c/m*d),isNaN(d)||b.value(d)):(c=Math.round(d/n*c),isNaN(c)||a.value(c))),m=c,n=d)}function f(){function b(b){function c(){b.onload=b.onerror=null,a.selection&&(a.selection.select(b),a.nodeChanged())}b.onload=function(){q.width||q.height||!t||(r.setAttribs(b,{width:b.clientWidth,height:b.clientHeight}),a.fire("wpNewImageRefresh",{node:b})),c()},b.onerror=c}j(),e(),q=tinymce.extend(q,l.toJSON());var c=q.caption;q.alt||(q.alt=""),q.title||(q.title=""),""===q.width&&(q.width=null),""===q.height&&(q.height=null),q.style||(q.style=null),q={src:q.src,alt:q.alt,title:q.title,width:q.width,height:q.height,style:q.style,"class":q["class"]},a.undoManager.transact(function(){var d={node:s,data:q,caption:c};return a.fire("wpImageFormSubmit",{imgData:d}),d.cancel?void b(d.node):q.src?(""===q.title&&(q.title=null),s?r.setAttribs(s,q):(q.id="__mcenew",a.focus(),a.selection.setContent(r.createHTML("img",q)),s=r.get("__mcenew"),r.setAttrib(s,"id",null)),void b(s)):void(s&&(r.remove(s),a.focus(),a.nodeChanged()))})}function g(a){return a&&(a=a.replace(/px$/,"")),a}function h(c){var d,e,f,g=c.meta||{};o&&o.value(a.convertURL(this.value(),"src")),tinymce.each(g,function(a,b){l.find("#"+b).value(a)}),g.width||g.height||(d=a.convertURL(this.value(),"src"),e=a.settings.image_prepend_url,f=new RegExp("^(?:[a-z]+:)?//","i"),e&&!f.test(d)&&d.substring(0,e.length)!==e&&(d=e+d),this.value(d),b(a.documentBaseURI.toAbsolute(this.value()),function(a){a.width&&a.height&&t&&(m=a.width,n=a.height,l.find("#width").value(m),l.find("#height").value(n))}))}function i(a){if(a.margin){var b=a.margin.split(" ");switch(b.length){case 1:a["margin-top"]=a["margin-top"]||b[0],a["margin-right"]=a["margin-right"]||b[0],a["margin-bottom"]=a["margin-bottom"]||b[0],a["margin-left"]=a["margin-left"]||b[0];break;case 2:a["margin-top"]=a["margin-top"]||b[0],a["margin-right"]=a["margin-right"]||b[1],a["margin-bottom"]=a["margin-bottom"]||b[0],a["margin-left"]=a["margin-left"]||b[1];break;case 3:a["margin-top"]=a["margin-top"]||b[0],a["margin-right"]=a["margin-right"]||b[1],a["margin-bottom"]=a["margin-bottom"]||b[2],a["margin-left"]=a["margin-left"]||b[1];break;case 4:a["margin-top"]=a["margin-top"]||b[0],a["margin-right"]=a["margin-right"]||b[1],a["margin-bottom"]=a["margin-bottom"]||b[2],a["margin-left"]=a["margin-left"]||b[3]}delete a.margin}return a}function j(){function b(a){return a.length>0&&/^[0-9]+$/.test(a)&&(a+="px"),a}if(a.settings.image_advtab){var c=l.toJSON(),d=r.parseStyle(c.style);d=i(d),c.vspace&&(d["margin-top"]=d["margin-bottom"]=b(c.vspace)),c.hspace&&(d["margin-left"]=d["margin-right"]=b(c.hspace)),c.border&&(d["border-width"]=b(c.border)),l.find("#style").value(r.serializeStyle(r.parseStyle(r.serializeStyle(d))))}}function k(){if(a.settings.image_advtab){var b=l.toJSON(),c=r.parseStyle(b.style);l.find("#vspace").value(""),l.find("#hspace").value(""),c=i(c),(c["margin-top"]&&c["margin-bottom"]||c["margin-right"]&&c["margin-left"])&&(l.find("#vspace").value(c["margin-top"]===c["margin-bottom"]?g(c["margin-top"]):""),l.find("#hspace").value(c["margin-right"]===c["margin-left"]?g(c["margin-right"]):"")),c["border-width"]&&l.find("#border").value(g(c["border-width"])),l.find("#style").value(r.serializeStyle(r.parseStyle(r.serializeStyle(c))))}}var l,m,n,o,p,q={},r=a.dom,s=a.selection.getNode(),t=a.settings.image_dimensions!==!1;m=r.getAttrib(s,"width"),n=r.getAttrib(s,"height"),"IMG"!=s.nodeName||s.getAttribute("data-mce-object")||s.getAttribute("data-mce-placeholder")?s=null:(q={src:r.getAttrib(s,"src"),alt:r.getAttrib(s,"alt"),title:r.getAttrib(s,"title"),"class":r.getAttrib(s,"class"),width:m,height:n},a.fire("wpLoadImageData",{imgData:{data:q,node:s}})),d&&(o={type:"listbox",label:"Image list",values:c(d,function(b){b.value=a.convertURL(b.value||b.url,"src")},[{text:"None",value:""}]),value:q.src&&a.convertURL(q.src,"src"),onselect:function(a){var b=l.find("#alt");(!b.value()||a.lastControl&&b.value()==a.lastControl.text())&&b.value(a.control.text()),l.find("#src").value(a.control.value()).fire("change")},onPostRender:function(){o=this}}),a.settings.image_class_list&&(p={name:"class",type:"listbox",label:"Class",values:c(a.settings.image_class_list,function(b){b.value&&(b.textStyle=function(){return a.formatter.getCssText({inline:"img",classes:[b.value]})})})});var u=[{name:"src",type:"filepicker",filetype:"image",label:"Source",autofocus:!0,onchange:h},o];a.settings.image_description!==!1&&u.push({name:"alt",type:"textbox",label:"Image description"}),a.settings.image_title&&u.push({name:"title",type:"textbox",label:"Image Title"}),t&&u.push({type:"container",label:"Dimensions",layout:"flex",direction:"row",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:3,onchange:e,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:3,onchange:e,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}),u.push(p),a.fire("wpLoadImageForm",{data:u}),a.settings.image_advtab?(s&&(s.style.marginLeft&&s.style.marginRight&&s.style.marginLeft===s.style.marginRight&&(q.hspace=g(s.style.marginLeft)),s.style.marginTop&&s.style.marginBottom&&s.style.marginTop===s.style.marginBottom&&(q.vspace=g(s.style.marginTop)),s.style.borderWidth&&(q.border=g(s.style.borderWidth)),q.style=a.dom.serializeStyle(a.dom.parseStyle(a.dom.getAttrib(s,"style")))),l=a.windowManager.open({title:"Insert/edit image",data:q,bodyType:"tabpanel",body:[{title:"General",type:"form",items:u},{title:"Advanced",type:"form",pack:"start",items:[{label:"Style",name:"style",type:"textbox",onchange:k},{type:"form",layout:"grid",packV:"start",columns:2,padding:0,alignH:["left","right"],defaults:{type:"textbox",maxWidth:50,onchange:j},items:[{label:"Vertical space",name:"vspace"},{label:"Horizontal space",name:"hspace"},{label:"Border",name:"border"}]}]}],onSubmit:f})):l=a.windowManager.open({title:"Insert/edit image",data:q,body:u,onSubmit:f})}a.addButton("image",{icon:"image",tooltip:"Insert/edit image",onclick:d(e),stateSelector:"img:not([data-mce-object],[data-mce-placeholder])"}),a.addMenuItem("image",{icon:"image",text:"Insert/edit image",onclick:d(e),context:"insert",prependToContext:!0}),a.addCommand("mceImage",d(e))});
\ No newline at end of file
index 036ba67d7aec829f257ab4d1b77594bef873b75b..a13c8ec54b31113837e78509048ec031d96512a3 100644 (file)
@@ -207,16 +207,30 @@ tinymce.PluginManager.add('lists', function(editor) {
                }
 
                function splitList(ul, li, newBlock) {
-                       var tmpRng, fragment;
+                       var tmpRng, fragment, bookmarks, node;
 
-                       var bookmarks = dom.select('span[data-mce-type="bookmark"]', ul);
+                       function removeAndKeepBookmarks(targetNode) {
+                               tinymce.each(bookmarks, function(node) {
+                                       targetNode.parentNode.insertBefore(node, li.parentNode);
+                               });
 
+                               dom.remove(targetNode);
+                       }
+
+                       bookmarks = dom.select('span[data-mce-type="bookmark"]', ul);
                        newBlock = newBlock || createNewTextBlock(li);
                        tmpRng = dom.createRng();
                        tmpRng.setStartAfter(li);
                        tmpRng.setEndAfter(ul);
                        fragment = tmpRng.extractContents();
 
+                       for (node = fragment.firstChild; node; node = node.firstChild) {
+                               if (node.nodeName == 'LI' && dom.isEmpty(node)) {
+                                       dom.remove(node);
+                                       break;
+                               }
+                       }
+
                        if (!dom.isEmpty(fragment)) {
                                dom.insertAfter(fragment, ul);
                        }
@@ -224,14 +238,14 @@ tinymce.PluginManager.add('lists', function(editor) {
                        dom.insertAfter(newBlock, ul);
 
                        if (dom.isEmpty(li.parentNode)) {
-                               tinymce.each(bookmarks, function(node) {
-                                       li.parentNode.parentNode.insertBefore(node, li.parentNode);
-                               });
-
-                               dom.remove(li.parentNode);
+                               removeAndKeepBookmarks(li.parentNode);
                        }
 
                        dom.remove(li);
+
+                       if (dom.isEmpty(ul)) {
+                               dom.remove(ul);
+                       }
                }
 
                function mergeWithAdjacentLists(listBlock) {
@@ -709,14 +723,22 @@ tinymce.PluginManager.add('lists', function(editor) {
                        }
                };
 
-               editor.addCommand('Indent', function() {
-                       if (!indentSelection()) {
-                               return true;
+               editor.on('BeforeExecCommand', function(e) {
+                       var cmd = e.command.toLowerCase(), isHandled;
+
+                       if (cmd == "indent") {
+                               if (indentSelection()) {
+                                       isHandled = true;
+                               }
+                       } else if (cmd == "outdent") {
+                               if (outdentSelection()) {
+                                       isHandled = true;
+                               }
                        }
-               });
 
-               editor.addCommand('Outdent', function() {
-                       if (!outdentSelection()) {
+                       if (isHandled) {
+                               editor.fire('ExecCommand', {command: e.command});
+                               e.preventDefault();
                                return true;
                        }
                });
index c563f5da96e617222699739ae104dc14e57907a3..3d165ac4578cd676e2b7fd88c99ee2ae5203945b 100644 (file)
@@ -1 +1 @@
-tinymce.PluginManager.add("lists",function(a){function b(a){return a&&/^(OL|UL|DL)$/.test(a.nodeName)}function c(a){return a.parentNode.firstChild==a}function d(a){return a.parentNode.lastChild==a}function e(b){return b&&!!a.schema.getTextBlockElements()[b.nodeName]}var f=this;a.on("init",function(){function g(a){function b(b){var d,e,f;e=a[b?"startContainer":"endContainer"],f=a[b?"startOffset":"endOffset"],1==e.nodeType&&(d=v.create("span",{"data-mce-type":"bookmark"}),e.hasChildNodes()?(f=Math.min(f,e.childNodes.length-1),b?e.insertBefore(d,e.childNodes[f]):v.insertAfter(d,e.childNodes[f])):e.appendChild(d),e=d,f=0),c[b?"startContainer":"endContainer"]=e,c[b?"startOffset":"endOffset"]=f}var c={};return b(!0),a.collapsed||b(),c}function h(a){function b(b){function c(a){for(var b=a.parentNode.firstChild,c=0;b;){if(b==a)return c;(1!=b.nodeType||"bookmark"!=b.getAttribute("data-mce-type"))&&c++,b=b.nextSibling}return-1}var d,e,f;d=f=a[b?"startContainer":"endContainer"],e=a[b?"startOffset":"endOffset"],d&&(1==d.nodeType&&(e=c(d),d=d.parentNode,v.remove(f)),a[b?"startContainer":"endContainer"]=d,a[b?"startOffset":"endOffset"]=e)}b(!0),b();var c=v.createRng();c.setStart(a.startContainer,a.startOffset),a.endContainer&&c.setEnd(a.endContainer,a.endOffset),w.setRng(c)}function i(b,c){var d,e,f,g=v.createFragment(),h=a.schema.getBlockElements();if(a.settings.forced_root_block&&(c=c||a.settings.forced_root_block),c&&(e=v.create(c),e.tagName===a.settings.forced_root_block&&v.setAttribs(e,a.settings.forced_root_block_attrs),g.appendChild(e)),b)for(;d=b.firstChild;){var i=d.nodeName;f||"SPAN"==i&&"bookmark"==d.getAttribute("data-mce-type")||(f=!0),h[i]?(g.appendChild(d),e=null):c?(e||(e=v.create(c),g.appendChild(e)),e.appendChild(d)):g.appendChild(d)}return a.settings.forced_root_block?f||tinymce.Env.ie&&!(tinymce.Env.ie>10)||e.appendChild(v.create("br",{"data-mce-bogus":"1"})):g.appendChild(v.create("br")),g}function j(){return tinymce.grep(w.getSelectedBlocks(),function(a){return/^(LI|DT|DD)$/.test(a.nodeName)})}function k(a,b,c){var d,e,f=v.select('span[data-mce-type="bookmark"]',a);c=c||i(b),d=v.createRng(),d.setStartAfter(b),d.setEndAfter(a),e=d.extractContents(),v.isEmpty(e)||v.insertAfter(e,a),v.insertAfter(c,a),v.isEmpty(b.parentNode)&&(tinymce.each(f,function(a){b.parentNode.parentNode.insertBefore(a,b.parentNode)}),v.remove(b.parentNode)),v.remove(b)}function l(a){var c,d;if(c=a.nextSibling,c&&b(c)&&c.nodeName==a.nodeName){for(;d=c.firstChild;)a.appendChild(d);v.remove(c)}if(c=a.previousSibling,c&&b(c)&&c.nodeName==a.nodeName){for(;d=c.firstChild;)a.insertBefore(d,a.firstChild);v.remove(c)}}function m(a){tinymce.each(tinymce.grep(v.select("ol,ul",a)),function(a){var c,d=a.parentNode;"LI"==d.nodeName&&d.firstChild==a&&(c=d.previousSibling,c&&"LI"==c.nodeName&&(c.appendChild(a),v.isEmpty(d)&&v.remove(d))),b(d)&&(c=d.previousSibling,c&&"LI"==c.nodeName&&c.appendChild(a))})}function n(a){function e(a){v.isEmpty(a)&&v.remove(a)}var f,g=a.parentNode,h=g.parentNode;return"DD"==a.nodeName?(v.rename(a,"DT"),!0):c(a)&&d(a)?("LI"==h.nodeName?(v.insertAfter(a,h),e(h),v.remove(g)):b(h)?v.remove(g,!0):(h.insertBefore(i(a),g),v.remove(g)),!0):c(a)?("LI"==h.nodeName?(v.insertAfter(a,h),a.appendChild(g),e(h)):b(h)?h.insertBefore(a,g):(h.insertBefore(i(a),g),v.remove(a)),!0):d(a)?("LI"==h.nodeName?v.insertAfter(a,h):b(h)?v.insertAfter(a,g):(v.insertAfter(i(a),g),v.remove(a)),!0):("LI"==h.nodeName?(g=h,f=i(a,"LI")):f=b(h)?i(a,"LI"):i(a),k(g,a,f),m(g.parentNode),!0)}function o(a){function c(c,d){var e;if(b(c)){for(;e=a.lastChild.firstChild;)d.appendChild(e);v.remove(c)}}var d,e;return"DT"==a.nodeName?(v.rename(a,"DD"),!0):(d=a.previousSibling,d&&b(d)?(d.appendChild(a),!0):d&&"LI"==d.nodeName&&b(d.lastChild)?(d.lastChild.appendChild(a),c(a.lastChild,d.lastChild),!0):(d=a.nextSibling,d&&b(d)?(d.insertBefore(a,d.firstChild),!0):d&&"LI"==d.nodeName&&b(a.lastChild)?!1:(d=a.previousSibling,d&&"LI"==d.nodeName?(e=v.create(a.parentNode.nodeName),d.appendChild(e),e.appendChild(a),c(a.lastChild,e),!0):!1)))}function p(){var b=j();if(b.length){for(var c=g(w.getRng(!0)),d=0;d<b.length&&(o(b[d])||0!==d);d++);return h(c),a.nodeChanged(),!0}}function q(){var b=j();if(b.length){var c,d,e=g(w.getRng(!0)),f=a.getBody();for(c=b.length;c--;)for(var i=b[c].parentNode;i&&i!=f;){for(d=b.length;d--;)if(b[d]===i){b.splice(c,1);break}i=i.parentNode}for(c=0;c<b.length&&(n(b[c])||0!==c);c++);return h(e),a.nodeChanged(),!0}}function r(c){function d(){function b(a){var b,c;for(b=f[a?"startContainer":"endContainer"],c=f[a?"startOffset":"endOffset"],1==b.nodeType&&(b=b.childNodes[Math.min(c,b.childNodes.length-1)]||b);b.parentNode!=g;){if(e(b))return b;if(/^(TD|TH)$/.test(b.parentNode.nodeName))return b;b=b.parentNode}return b}for(var c,d=[],g=a.getBody(),h=b(!0),i=b(),j=[],k=h;k&&(j.push(k),k!=i);k=k.nextSibling);return tinymce.each(j,function(a){if(e(a))return d.push(a),void(c=null);if(v.isBlock(a)||"BR"==a.nodeName)return"BR"==a.nodeName&&v.remove(a),void(c=null);var b=a.nextSibling;return tinymce.dom.BookmarkManager.isBookmarkNode(a)&&(e(b)||!b&&a.parentNode==g)?void(c=null):(c||(c=v.create("p"),a.parentNode.insertBefore(c,a),d.push(c)),void c.appendChild(a))}),d}var f=w.getRng(!0),i=g(f),j="LI";c=c.toUpperCase(),"DL"==c&&(j="DT"),tinymce.each(d(),function(a){var d,e;e=a.previousSibling,e&&b(e)&&e.nodeName==c?(d=e,a=v.rename(a,j),e.appendChild(a)):(d=v.create(c),a.parentNode.insertBefore(d,a),d.appendChild(a),a=v.rename(a,j)),l(d)}),h(i)}function s(){var c=g(w.getRng(!0)),d=a.getBody();tinymce.each(j(),function(a){var c,e;if(v.isEmpty(a))return void n(a);for(c=a;c&&c!=d;c=c.parentNode)b(c)&&(e=c);k(e,a)}),h(c)}function t(a){var b=v.getParent(w.getStart(),"OL,UL,DL");if(b)if(b.nodeName==a)s(a);else{var c=g(w.getRng(!0));l(v.rename(b,a)),h(c)}else r(a)}function u(b){return function(){var c=v.getParent(a.selection.getStart(),"UL,OL,DL");return c&&c.nodeName==b}}var v=a.dom,w=a.selection;f.backspaceDelete=function(c){function d(b,c){var d,e,f=b.startContainer,g=b.startOffset;if(3==f.nodeType&&(c?g<f.data.length:g>0))return f;for(d=a.schema.getNonEmptyElements(),e=new tinymce.dom.TreeWalker(b.startContainer);f=e[c?"next":"prev"]();){if("LI"==f.nodeName&&!f.hasChildNodes())return f;if(d[f.nodeName])return f;if(3==f.nodeType&&f.data.length>0)return f}}function e(a,c){var d,e,f=a.parentNode;if(b(c.lastChild)&&(e=c.lastChild),d=c.lastChild,d&&"BR"==d.nodeName&&a.hasChildNodes()&&v.remove(d),v.isEmpty(c)&&v.$(c).empty(),!v.isEmpty(a))for(;d=a.firstChild;)c.appendChild(d);e&&c.appendChild(e),v.remove(a),v.isEmpty(f)&&v.remove(f)}if(w.isCollapsed()){var f=v.getParent(w.getStart(),"LI");if(f){var i=w.getRng(!0),j=v.getParent(d(i,c),"LI");if(j&&j!=f){var k=g(i);return c?e(j,f):e(f,j),h(k),!0}if(!j&&!c&&s(f.parentNode.nodeName))return!0}}},a.addCommand("Indent",function(){return p()?void 0:!0}),a.addCommand("Outdent",function(){return q()?void 0:!0}),a.addCommand("InsertUnorderedList",function(){t("UL")}),a.addCommand("InsertOrderedList",function(){t("OL")}),a.addCommand("InsertDefinitionList",function(){t("DL")}),a.addQueryStateHandler("InsertUnorderedList",u("UL")),a.addQueryStateHandler("InsertOrderedList",u("OL")),a.addQueryStateHandler("InsertDefinitionList",u("DL")),a.on("keydown",function(b){9!=b.keyCode||tinymce.util.VK.metaKeyPressed(b)||a.dom.getParent(a.selection.getStart(),"LI,DT,DD")&&(b.preventDefault(),b.shiftKey?q():p())})}),a.addButton("indent",{icon:"indent",title:"Increase indent",cmd:"Indent",onPostRender:function(){var b=this;a.on("nodechange",function(){for(var d=a.selection.getSelectedBlocks(),e=!1,f=0,g=d.length;!e&&g>f;f++){var h=d[f].nodeName;e="LI"==h&&c(d[f])||"UL"==h||"OL"==h||"DD"==h}b.disabled(e)})}}),a.on("keydown",function(a){a.keyCode==tinymce.util.VK.BACKSPACE?f.backspaceDelete()&&a.preventDefault():a.keyCode==tinymce.util.VK.DELETE&&f.backspaceDelete(!0)&&a.preventDefault()})});
\ No newline at end of file
+tinymce.PluginManager.add("lists",function(a){function b(a){return a&&/^(OL|UL|DL)$/.test(a.nodeName)}function c(a){return a.parentNode.firstChild==a}function d(a){return a.parentNode.lastChild==a}function e(b){return b&&!!a.schema.getTextBlockElements()[b.nodeName]}var f=this;a.on("init",function(){function g(a){function b(b){var d,e,f;e=a[b?"startContainer":"endContainer"],f=a[b?"startOffset":"endOffset"],1==e.nodeType&&(d=v.create("span",{"data-mce-type":"bookmark"}),e.hasChildNodes()?(f=Math.min(f,e.childNodes.length-1),b?e.insertBefore(d,e.childNodes[f]):v.insertAfter(d,e.childNodes[f])):e.appendChild(d),e=d,f=0),c[b?"startContainer":"endContainer"]=e,c[b?"startOffset":"endOffset"]=f}var c={};return b(!0),a.collapsed||b(),c}function h(a){function b(b){function c(a){for(var b=a.parentNode.firstChild,c=0;b;){if(b==a)return c;(1!=b.nodeType||"bookmark"!=b.getAttribute("data-mce-type"))&&c++,b=b.nextSibling}return-1}var d,e,f;d=f=a[b?"startContainer":"endContainer"],e=a[b?"startOffset":"endOffset"],d&&(1==d.nodeType&&(e=c(d),d=d.parentNode,v.remove(f)),a[b?"startContainer":"endContainer"]=d,a[b?"startOffset":"endOffset"]=e)}b(!0),b();var c=v.createRng();c.setStart(a.startContainer,a.startOffset),a.endContainer&&c.setEnd(a.endContainer,a.endOffset),w.setRng(c)}function i(b,c){var d,e,f,g=v.createFragment(),h=a.schema.getBlockElements();if(a.settings.forced_root_block&&(c=c||a.settings.forced_root_block),c&&(e=v.create(c),e.tagName===a.settings.forced_root_block&&v.setAttribs(e,a.settings.forced_root_block_attrs),g.appendChild(e)),b)for(;d=b.firstChild;){var i=d.nodeName;f||"SPAN"==i&&"bookmark"==d.getAttribute("data-mce-type")||(f=!0),h[i]?(g.appendChild(d),e=null):c?(e||(e=v.create(c),g.appendChild(e)),e.appendChild(d)):g.appendChild(d)}return a.settings.forced_root_block?f||tinymce.Env.ie&&!(tinymce.Env.ie>10)||e.appendChild(v.create("br",{"data-mce-bogus":"1"})):g.appendChild(v.create("br")),g}function j(){return tinymce.grep(w.getSelectedBlocks(),function(a){return/^(LI|DT|DD)$/.test(a.nodeName)})}function k(a,b,c){function d(a){tinymce.each(g,function(c){a.parentNode.insertBefore(c,b.parentNode)}),v.remove(a)}var e,f,g,h;for(g=v.select('span[data-mce-type="bookmark"]',a),c=c||i(b),e=v.createRng(),e.setStartAfter(b),e.setEndAfter(a),f=e.extractContents(),h=f.firstChild;h;h=h.firstChild)if("LI"==h.nodeName&&v.isEmpty(h)){v.remove(h);break}v.isEmpty(f)||v.insertAfter(f,a),v.insertAfter(c,a),v.isEmpty(b.parentNode)&&d(b.parentNode),v.remove(b),v.isEmpty(a)&&v.remove(a)}function l(a){var c,d;if(c=a.nextSibling,c&&b(c)&&c.nodeName==a.nodeName){for(;d=c.firstChild;)a.appendChild(d);v.remove(c)}if(c=a.previousSibling,c&&b(c)&&c.nodeName==a.nodeName){for(;d=c.firstChild;)a.insertBefore(d,a.firstChild);v.remove(c)}}function m(a){tinymce.each(tinymce.grep(v.select("ol,ul",a)),function(a){var c,d=a.parentNode;"LI"==d.nodeName&&d.firstChild==a&&(c=d.previousSibling,c&&"LI"==c.nodeName&&(c.appendChild(a),v.isEmpty(d)&&v.remove(d))),b(d)&&(c=d.previousSibling,c&&"LI"==c.nodeName&&c.appendChild(a))})}function n(a){function e(a){v.isEmpty(a)&&v.remove(a)}var f,g=a.parentNode,h=g.parentNode;return"DD"==a.nodeName?(v.rename(a,"DT"),!0):c(a)&&d(a)?("LI"==h.nodeName?(v.insertAfter(a,h),e(h),v.remove(g)):b(h)?v.remove(g,!0):(h.insertBefore(i(a),g),v.remove(g)),!0):c(a)?("LI"==h.nodeName?(v.insertAfter(a,h),a.appendChild(g),e(h)):b(h)?h.insertBefore(a,g):(h.insertBefore(i(a),g),v.remove(a)),!0):d(a)?("LI"==h.nodeName?v.insertAfter(a,h):b(h)?v.insertAfter(a,g):(v.insertAfter(i(a),g),v.remove(a)),!0):("LI"==h.nodeName?(g=h,f=i(a,"LI")):f=b(h)?i(a,"LI"):i(a),k(g,a,f),m(g.parentNode),!0)}function o(a){function c(c,d){var e;if(b(c)){for(;e=a.lastChild.firstChild;)d.appendChild(e);v.remove(c)}}var d,e;return"DT"==a.nodeName?(v.rename(a,"DD"),!0):(d=a.previousSibling,d&&b(d)?(d.appendChild(a),!0):d&&"LI"==d.nodeName&&b(d.lastChild)?(d.lastChild.appendChild(a),c(a.lastChild,d.lastChild),!0):(d=a.nextSibling,d&&b(d)?(d.insertBefore(a,d.firstChild),!0):d&&"LI"==d.nodeName&&b(a.lastChild)?!1:(d=a.previousSibling,d&&"LI"==d.nodeName?(e=v.create(a.parentNode.nodeName),d.appendChild(e),e.appendChild(a),c(a.lastChild,e),!0):!1)))}function p(){var b=j();if(b.length){for(var c=g(w.getRng(!0)),d=0;d<b.length&&(o(b[d])||0!==d);d++);return h(c),a.nodeChanged(),!0}}function q(){var b=j();if(b.length){var c,d,e=g(w.getRng(!0)),f=a.getBody();for(c=b.length;c--;)for(var i=b[c].parentNode;i&&i!=f;){for(d=b.length;d--;)if(b[d]===i){b.splice(c,1);break}i=i.parentNode}for(c=0;c<b.length&&(n(b[c])||0!==c);c++);return h(e),a.nodeChanged(),!0}}function r(c){function d(){function b(a){var b,c;for(b=f[a?"startContainer":"endContainer"],c=f[a?"startOffset":"endOffset"],1==b.nodeType&&(b=b.childNodes[Math.min(c,b.childNodes.length-1)]||b);b.parentNode!=g;){if(e(b))return b;if(/^(TD|TH)$/.test(b.parentNode.nodeName))return b;b=b.parentNode}return b}for(var c,d=[],g=a.getBody(),h=b(!0),i=b(),j=[],k=h;k&&(j.push(k),k!=i);k=k.nextSibling);return tinymce.each(j,function(a){if(e(a))return d.push(a),void(c=null);if(v.isBlock(a)||"BR"==a.nodeName)return"BR"==a.nodeName&&v.remove(a),void(c=null);var b=a.nextSibling;return tinymce.dom.BookmarkManager.isBookmarkNode(a)&&(e(b)||!b&&a.parentNode==g)?void(c=null):(c||(c=v.create("p"),a.parentNode.insertBefore(c,a),d.push(c)),void c.appendChild(a))}),d}var f=w.getRng(!0),i=g(f),j="LI";c=c.toUpperCase(),"DL"==c&&(j="DT"),tinymce.each(d(),function(a){var d,e;e=a.previousSibling,e&&b(e)&&e.nodeName==c?(d=e,a=v.rename(a,j),e.appendChild(a)):(d=v.create(c),a.parentNode.insertBefore(d,a),d.appendChild(a),a=v.rename(a,j)),l(d)}),h(i)}function s(){var c=g(w.getRng(!0)),d=a.getBody();tinymce.each(j(),function(a){var c,e;if(v.isEmpty(a))return void n(a);for(c=a;c&&c!=d;c=c.parentNode)b(c)&&(e=c);k(e,a)}),h(c)}function t(a){var b=v.getParent(w.getStart(),"OL,UL,DL");if(b)if(b.nodeName==a)s(a);else{var c=g(w.getRng(!0));l(v.rename(b,a)),h(c)}else r(a)}function u(b){return function(){var c=v.getParent(a.selection.getStart(),"UL,OL,DL");return c&&c.nodeName==b}}var v=a.dom,w=a.selection;f.backspaceDelete=function(c){function d(b,c){var d,e,f=b.startContainer,g=b.startOffset;if(3==f.nodeType&&(c?g<f.data.length:g>0))return f;for(d=a.schema.getNonEmptyElements(),e=new tinymce.dom.TreeWalker(b.startContainer);f=e[c?"next":"prev"]();){if("LI"==f.nodeName&&!f.hasChildNodes())return f;if(d[f.nodeName])return f;if(3==f.nodeType&&f.data.length>0)return f}}function e(a,c){var d,e,f=a.parentNode;if(b(c.lastChild)&&(e=c.lastChild),d=c.lastChild,d&&"BR"==d.nodeName&&a.hasChildNodes()&&v.remove(d),v.isEmpty(c)&&v.$(c).empty(),!v.isEmpty(a))for(;d=a.firstChild;)c.appendChild(d);e&&c.appendChild(e),v.remove(a),v.isEmpty(f)&&v.remove(f)}if(w.isCollapsed()){var f=v.getParent(w.getStart(),"LI");if(f){var i=w.getRng(!0),j=v.getParent(d(i,c),"LI");if(j&&j!=f){var k=g(i);return c?e(j,f):e(f,j),h(k),!0}if(!j&&!c&&s(f.parentNode.nodeName))return!0}}},a.on("BeforeExecCommand",function(b){var c,d=b.command.toLowerCase();return"indent"==d?p()&&(c=!0):"outdent"==d&&q()&&(c=!0),c?(a.fire("ExecCommand",{command:b.command}),b.preventDefault(),!0):void 0}),a.addCommand("InsertUnorderedList",function(){t("UL")}),a.addCommand("InsertOrderedList",function(){t("OL")}),a.addCommand("InsertDefinitionList",function(){t("DL")}),a.addQueryStateHandler("InsertUnorderedList",u("UL")),a.addQueryStateHandler("InsertOrderedList",u("OL")),a.addQueryStateHandler("InsertDefinitionList",u("DL")),a.on("keydown",function(b){9!=b.keyCode||tinymce.util.VK.metaKeyPressed(b)||a.dom.getParent(a.selection.getStart(),"LI,DT,DD")&&(b.preventDefault(),b.shiftKey?q():p())})}),a.addButton("indent",{icon:"indent",title:"Increase indent",cmd:"Indent",onPostRender:function(){var b=this;a.on("nodechange",function(){for(var d=a.selection.getSelectedBlocks(),e=!1,f=0,g=d.length;!e&&g>f;f++){var h=d[f].nodeName;e="LI"==h&&c(d[f])||"UL"==h||"OL"==h||"DD"==h}b.disabled(e)})}}),a.on("keydown",function(a){a.keyCode==tinymce.util.VK.BACKSPACE?f.backspaceDelete()&&a.preventDefault():a.keyCode==tinymce.util.VK.DELETE&&f.backspaceDelete(!0)&&a.preventDefault()})});
\ No newline at end of file
index 3739f7051568a0a81804f965ae08b0cac68d0f03..4507e6bf81c4d42a1a302fbdfe988c2607d6675f 100644 (file)
@@ -24,6 +24,8 @@ tinymce.PluginManager.add('media', function(editor, url) {
        var embedChange = (tinymce.Env.ie && tinymce.Env.ie <= 8) ? 'onChange' : 'onInput';
 
        function guessMime(url) {
+               url = url.toLowerCase();
+
                if (url.indexOf('.mp3') != -1) {
                        return 'audio/mpeg';
                }
@@ -94,10 +96,16 @@ tinymce.PluginManager.add('media', function(editor, url) {
                        if (win.find('#constrain')[0].checked() && width && height && newWidth && newHeight) {
                                if (e.control == widthCtrl) {
                                        newHeight = Math.round((newWidth / width) * newHeight);
-                                       heightCtrl.value(newHeight);
+
+                                       if (!isNaN(newHeight)) {
+                                               heightCtrl.value(newHeight);
+                                       }
                                } else {
                                        newWidth = Math.round((newHeight / height) * newWidth);
-                                       widthCtrl.value(newWidth);
+
+                                       if (!isNaN(newWidth)) {
+                                               widthCtrl.value(newWidth);
+                                       }
                                }
                        }
 
@@ -121,9 +129,9 @@ tinymce.PluginManager.add('media', function(editor, url) {
                                align: 'center',
                                spacing: 5,
                                items: [
-                                       {name: 'width', type: 'textbox', maxLength: 3, size: 3, onchange: recalcSize},
+                                       {name: 'width', type: 'textbox', maxLength: 5, size: 3, onchange: recalcSize, ariaLabel: 'Width'},
                                        {type: 'label', text: 'x'},
-                                       {name: 'height', type: 'textbox', maxLength: 3, size: 3, onchange: recalcSize},
+                                       {name: 'height', type: 'textbox', maxLength: 5, size: 3, onchange: recalcSize, ariaLabel: 'Height'},
                                        {name: 'constrain', type: 'checkbox', checked: true, text: 'Constrain proportions'}
                                ]
                        });
@@ -766,7 +774,7 @@ tinymce.PluginManager.add('media', function(editor, url) {
 
        editor.addMenuItem('media', {
                icon: 'media',
-               text: 'Insert video',
+               text: 'Insert/edit video',
                onclick: showDialog,
                context: 'insert',
                prependToContext: true
index 7b12f236ffce9892bb1e1e27f3e10782fd229d71..2d5dc7f6ebba71dac6620f118612f999ee41d462 100644 (file)
@@ -1 +1 @@
-tinymce.PluginManager.add("media",function(a,b){function c(a){return-1!=a.indexOf(".mp3")?"audio/mpeg":-1!=a.indexOf(".wav")?"audio/wav":-1!=a.indexOf(".mp4")?"video/mp4":-1!=a.indexOf(".webm")?"video/webm":-1!=a.indexOf(".ogg")?"video/ogg":-1!=a.indexOf(".swf")?"application/x-shockwave-flash":""}function d(b){var c=a.settings.media_scripts;if(c)for(var d=0;d<c.length;d++)if(-1!==b.indexOf(c[d].filter))return c[d]}function e(){function b(a){var b,c,f,g;b=d.find("#width")[0],c=d.find("#height")[0],f=b.value(),g=c.value(),d.find("#constrain")[0].checked()&&e&&j&&f&&g&&(a.control==b?(g=Math.round(f/e*g),c.value(g)):(f=Math.round(g/j*f),b.value(f))),e=f,j=g}function c(){k=h(this.value()),this.parent().parent().fromJSON(k)}var d,e,j,k,l=[{name:"source1",type:"filepicker",filetype:"media",size:40,autofocus:!0,label:"Source",onchange:function(a){tinymce.each(a.meta,function(a,b){d.find("#"+b).value(a)})}}];a.settings.media_alt_source!==!1&&l.push({name:"source2",type:"filepicker",filetype:"media",size:40,label:"Alternative source"}),a.settings.media_poster!==!1&&l.push({name:"poster",type:"filepicker",filetype:"image",size:40,label:"Poster"}),a.settings.media_dimensions!==!1&&l.push({type:"container",label:"Dimensions",layout:"flex",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:3,size:3,onchange:b},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:3,size:3,onchange:b},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}),k=i(a.selection.getNode()),e=k.width,j=k.height;var n={id:"mcemediasource",type:"textbox",flex:1,name:"embed",value:f(),multiline:!0,label:"Source"};n[m]=c,d=a.windowManager.open({title:"Insert/edit video",data:k,bodyType:"tabpanel",body:[{title:"General",type:"form",onShowTab:function(){k=h(this.next().find("#embed").value()),this.fromJSON(k)},items:l},{title:"Embed",type:"panel",layout:"flex",direction:"column",align:"stretch",padding:10,spacing:10,onShowTab:function(){this.find("#embed").value(g(this.parent().toJSON()))},items:[{type:"label",text:"Paste your embed code below:",forId:"mcemediasource"},n]}],onSubmit:function(){var b,c,d,e;for(b=a.dom.select("img[data-mce-object]"),a.insertContent(g(this.toJSON())),c=a.dom.select("img[data-mce-object]"),d=0;d<b.length;d++)for(e=c.length-1;e>=0;e--)b[d]==c[e]&&c.splice(e,1);a.selection.select(c[0]),a.nodeChanged()}})}function f(){var b=a.selection.getNode();return b.getAttribute("data-mce-object")?a.selection.getContent():void 0}function g(e){var f="";if(!e.source1&&(tinymce.extend(e,h(e.embed)),!e.source1))return"";if(e.source2||(e.source2=""),e.poster||(e.poster=""),e.source1=a.convertURL(e.source1,"source"),e.source2=a.convertURL(e.source2,"source"),e.source1mime=c(e.source1),e.source2mime=c(e.source2),e.poster=a.convertURL(e.poster,"poster"),e.flashPlayerUrl=a.convertURL(b+"/moxieplayer.swf","movie"),tinymce.each(l,function(a){var b,c,d;if(b=a.regex.exec(e.source1)){for(d=a.url,c=0;b[c];c++)d=d.replace("$"+c,function(){return b[c]});e.source1=d,e.type=a.type,e.width=e.width||a.w,e.height=e.height||a.h}}),e.embed)f=k(e.embed,e,!0);else{var g=d(e.source1);g&&(e.type="script",e.width=g.width,e.height=g.height),e.width=e.width||300,e.height=e.height||150,tinymce.each(e,function(b,c){e[c]=a.dom.encode(b)}),"iframe"==e.type?f+='<iframe src="'+e.source1+'" width="'+e.width+'" height="'+e.height+'"></iframe>':"application/x-shockwave-flash"==e.source1mime?(f+='<object data="'+e.source1+'" width="'+e.width+'" height="'+e.height+'" type="application/x-shockwave-flash">',e.poster&&(f+='<img src="'+e.poster+'" width="'+e.width+'" height="'+e.height+'" />'),f+="</object>"):-1!=e.source1mime.indexOf("audio")?a.settings.audio_template_callback?f=a.settings.audio_template_callback(e):f+='<audio controls="controls" src="'+e.source1+'">'+(e.source2?'\n<source src="'+e.source2+'"'+(e.source2mime?' type="'+e.source2mime+'"':"")+" />\n":"")+"</audio>":"script"==e.type?f+='<script src="'+e.source1+'"></script>':f=a.settings.video_template_callback?a.settings.video_template_callback(e):'<video width="'+e.width+'" height="'+e.height+'"'+(e.poster?' poster="'+e.poster+'"':"")+' controls="controls">\n<source src="'+e.source1+'"'+(e.source1mime?' type="'+e.source1mime+'"':"")+" />\n"+(e.source2?'<source src="'+e.source2+'"'+(e.source2mime?' type="'+e.source2mime+'"':"")+" />\n":"")+"</video>"}return f}function h(a){var b={};return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!0,special:"script,noscript",start:function(a,c){if(b.source1||"param"!=a||(b.source1=c.map.movie),("iframe"==a||"object"==a||"embed"==a||"video"==a||"audio"==a)&&(b.type||(b.type=a),b=tinymce.extend(c.map,b)),"script"==a){var e=d(c.map.src);if(!e)return;b={type:"script",source1:c.map.src,width:e.width,height:e.height}}"source"==a&&(b.source1?b.source2||(b.source2=c.map.src):b.source1=c.map.src),"img"!=a||b.poster||(b.poster=c.map.src)}}).parse(a),b.source1=b.source1||b.src||b.data,b.source2=b.source2||"",b.poster=b.poster||"",b}function i(b){return b.getAttribute("data-mce-object")?h(a.serializer.serialize(b,{selection:!0})):{}}function j(b){if(a.settings.media_filter_html===!1)return b;var c=new tinymce.html.Writer;return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!1,special:"script,noscript",comment:function(a){c.comment(a)},cdata:function(a){c.cdata(a)},text:function(a,b){c.text(a,b)},start:function(a,b,d){if("script"!=a&&"noscript"!=a){for(var e=0;e<b.length;e++)if(0===b[e].name.indexOf("on"))return;c.start(a,b,d)}},end:function(a){"script"!=a&&"noscript"!=a&&c.end(a)}},new tinymce.html.Schema({})).parse(b),c.getContent()}function k(a,b,c){function d(a,b){var c,d,e,f;for(c in b)if(e=""+b[c],a.map[c])for(d=a.length;d--;)f=a[d],f.name==c&&(e?(a.map[c]=e,f.value=e):(delete a.map[c],a.splice(d,1)));else e&&(a.push({name:c,value:e}),a.map[c]=e)}var e,f=new tinymce.html.Writer,g=0;return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!0,special:"script,noscript",comment:function(a){f.comment(a)},cdata:function(a){f.cdata(a)},text:function(a,b){f.text(a,b)},start:function(a,h,i){switch(a){case"video":case"object":case"embed":case"img":case"iframe":d(h,{width:b.width,height:b.height})}if(c)switch(a){case"video":d(h,{poster:b.poster,src:""}),b.source2&&d(h,{src:""});break;case"iframe":d(h,{src:b.source1});break;case"source":if(g++,2>=g&&(d(h,{src:b["source"+g],type:b["source"+g+"mime"]}),!b["source"+g]))return;break;case"img":if(!b.poster)return;e=!0}f.start(a,h,i)},end:function(a){if("video"==a&&c)for(var h=1;2>=h;h++)if(b["source"+h]){var i=[];i.map={},h>g&&(d(i,{src:b["source"+h],type:b["source"+h+"mime"]}),f.start("source",i,!0))}if(b.poster&&"object"==a&&c&&!e){var j=[];j.map={},d(j,{src:b.poster,width:b.width,height:b.height}),f.start("img",j,!0)}f.end(a)}},new tinymce.html.Schema({})).parse(a),f.getContent()}var l=[{regex:/youtu\.be\/([\w\-.]+)/,type:"iframe",w:425,h:350,url:"//www.youtube.com/embed/$1"},{regex:/youtube\.com(.+)v=([^&]+)/,type:"iframe",w:425,h:350,url:"//www.youtube.com/embed/$2"},{regex:/vimeo\.com\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc"},{regex:/vimeo\.com\/(.*)\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$2?title=0&amp;byline=0"},{regex:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'//maps.google.com/maps/ms?msid=$2&output=embed"'}],m=tinymce.Env.ie&&tinymce.Env.ie<=8?"onChange":"onInput";a.on("ResolveName",function(a){var b;1==a.target.nodeType&&(b=a.target.getAttribute("data-mce-object"))&&(a.name=b)}),a.on("preInit",function(){var b=a.schema.getSpecialElements();tinymce.each("video audio iframe object".split(" "),function(a){b[a]=new RegExp("</"+a+"[^>]*>","gi")});var c=a.schema.getBoolAttrs();tinymce.each("webkitallowfullscreen mozallowfullscreen allowfullscreen".split(" "),function(a){c[a]={}}),a.parser.addNodeFilter("iframe,video,audio,object,embed,script",function(b,c){for(var e,f,g,h,i,j,k,l,m=b.length;m--;)if(f=b[m],f.parent&&("script"!=f.name||(l=d(f.attr("src"))))){for(g=new tinymce.html.Node("img",1),g.shortEnded=!0,l&&(l.width&&f.attr("width",l.width.toString()),l.height&&f.attr("height",l.height.toString())),j=f.attributes,e=j.length;e--;)h=j[e].name,i=j[e].value,"width"!==h&&"height"!==h&&"style"!==h&&(("data"==h||"src"==h)&&(i=a.convertURL(i,h)),g.attr("data-mce-p-"+h,i));k=f.firstChild&&f.firstChild.value,k&&(g.attr("data-mce-html",escape(k)),g.firstChild=null),g.attr({width:f.attr("width")||"300",height:f.attr("height")||("audio"==c?"30":"150"),style:f.attr("style"),src:tinymce.Env.transparentSrc,"data-mce-object":c,"class":"mce-object mce-object-"+c}),f.replace(g)}}),a.serializer.addAttributeFilter("data-mce-object",function(a,b){for(var c,d,e,f,g,h,i,k=a.length;k--;)if(c=a[k],c.parent){for(i=c.attr(b),d=new tinymce.html.Node(i,1),"audio"!=i&&"script"!=i&&d.attr({width:c.attr("width"),height:c.attr("height")}),d.attr({style:c.attr("style")}),f=c.attributes,e=f.length;e--;){var l=f[e].name;0===l.indexOf("data-mce-p-")&&d.attr(l.substr(11),f[e].value)}"script"==i&&d.attr("type","text/javascript"),g=c.attr("data-mce-html"),g&&(h=new tinymce.html.Node("#text",3),h.raw=!0,h.value=j(unescape(g)),d.append(h)),c.replace(d)}})}),a.on("ObjectSelected",function(a){var b=a.target.getAttribute("data-mce-object");("audio"==b||"script"==b)&&a.preventDefault()}),a.on("objectResized",function(a){var b,c=a.target;c.getAttribute("data-mce-object")&&(b=c.getAttribute("data-mce-html"),b&&(b=unescape(b),c.setAttribute("data-mce-html",escape(k(b,{width:a.width,height:a.height})))))}),a.addButton("media",{tooltip:"Insert/edit video",onclick:e,stateSelector:["img[data-mce-object=video]","img[data-mce-object=iframe]"]}),a.addMenuItem("media",{icon:"media",text:"Insert video",onclick:e,context:"insert",prependToContext:!0})});
\ No newline at end of file
+tinymce.PluginManager.add("media",function(a,b){function c(a){return a=a.toLowerCase(),-1!=a.indexOf(".mp3")?"audio/mpeg":-1!=a.indexOf(".wav")?"audio/wav":-1!=a.indexOf(".mp4")?"video/mp4":-1!=a.indexOf(".webm")?"video/webm":-1!=a.indexOf(".ogg")?"video/ogg":-1!=a.indexOf(".swf")?"application/x-shockwave-flash":""}function d(b){var c=a.settings.media_scripts;if(c)for(var d=0;d<c.length;d++)if(-1!==b.indexOf(c[d].filter))return c[d]}function e(){function b(a){var b,c,f,g;b=d.find("#width")[0],c=d.find("#height")[0],f=b.value(),g=c.value(),d.find("#constrain")[0].checked()&&e&&j&&f&&g&&(a.control==b?(g=Math.round(f/e*g),isNaN(g)||c.value(g)):(f=Math.round(g/j*f),isNaN(f)||b.value(f))),e=f,j=g}function c(){k=h(this.value()),this.parent().parent().fromJSON(k)}var d,e,j,k,l=[{name:"source1",type:"filepicker",filetype:"media",size:40,autofocus:!0,label:"Source",onchange:function(a){tinymce.each(a.meta,function(a,b){d.find("#"+b).value(a)})}}];a.settings.media_alt_source!==!1&&l.push({name:"source2",type:"filepicker",filetype:"media",size:40,label:"Alternative source"}),a.settings.media_poster!==!1&&l.push({name:"poster",type:"filepicker",filetype:"image",size:40,label:"Poster"}),a.settings.media_dimensions!==!1&&l.push({type:"container",label:"Dimensions",layout:"flex",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:3,onchange:b,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:3,onchange:b,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}),k=i(a.selection.getNode()),e=k.width,j=k.height;var n={id:"mcemediasource",type:"textbox",flex:1,name:"embed",value:f(),multiline:!0,label:"Source"};n[m]=c,d=a.windowManager.open({title:"Insert/edit video",data:k,bodyType:"tabpanel",body:[{title:"General",type:"form",onShowTab:function(){k=h(this.next().find("#embed").value()),this.fromJSON(k)},items:l},{title:"Embed",type:"panel",layout:"flex",direction:"column",align:"stretch",padding:10,spacing:10,onShowTab:function(){this.find("#embed").value(g(this.parent().toJSON()))},items:[{type:"label",text:"Paste your embed code below:",forId:"mcemediasource"},n]}],onSubmit:function(){var b,c,d,e;for(b=a.dom.select("img[data-mce-object]"),a.insertContent(g(this.toJSON())),c=a.dom.select("img[data-mce-object]"),d=0;d<b.length;d++)for(e=c.length-1;e>=0;e--)b[d]==c[e]&&c.splice(e,1);a.selection.select(c[0]),a.nodeChanged()}})}function f(){var b=a.selection.getNode();return b.getAttribute("data-mce-object")?a.selection.getContent():void 0}function g(e){var f="";if(!e.source1&&(tinymce.extend(e,h(e.embed)),!e.source1))return"";if(e.source2||(e.source2=""),e.poster||(e.poster=""),e.source1=a.convertURL(e.source1,"source"),e.source2=a.convertURL(e.source2,"source"),e.source1mime=c(e.source1),e.source2mime=c(e.source2),e.poster=a.convertURL(e.poster,"poster"),e.flashPlayerUrl=a.convertURL(b+"/moxieplayer.swf","movie"),tinymce.each(l,function(a){var b,c,d;if(b=a.regex.exec(e.source1)){for(d=a.url,c=0;b[c];c++)d=d.replace("$"+c,function(){return b[c]});e.source1=d,e.type=a.type,e.width=e.width||a.w,e.height=e.height||a.h}}),e.embed)f=k(e.embed,e,!0);else{var g=d(e.source1);g&&(e.type="script",e.width=g.width,e.height=g.height),e.width=e.width||300,e.height=e.height||150,tinymce.each(e,function(b,c){e[c]=a.dom.encode(b)}),"iframe"==e.type?f+='<iframe src="'+e.source1+'" width="'+e.width+'" height="'+e.height+'"></iframe>':"application/x-shockwave-flash"==e.source1mime?(f+='<object data="'+e.source1+'" width="'+e.width+'" height="'+e.height+'" type="application/x-shockwave-flash">',e.poster&&(f+='<img src="'+e.poster+'" width="'+e.width+'" height="'+e.height+'" />'),f+="</object>"):-1!=e.source1mime.indexOf("audio")?a.settings.audio_template_callback?f=a.settings.audio_template_callback(e):f+='<audio controls="controls" src="'+e.source1+'">'+(e.source2?'\n<source src="'+e.source2+'"'+(e.source2mime?' type="'+e.source2mime+'"':"")+" />\n":"")+"</audio>":"script"==e.type?f+='<script src="'+e.source1+'"></script>':f=a.settings.video_template_callback?a.settings.video_template_callback(e):'<video width="'+e.width+'" height="'+e.height+'"'+(e.poster?' poster="'+e.poster+'"':"")+' controls="controls">\n<source src="'+e.source1+'"'+(e.source1mime?' type="'+e.source1mime+'"':"")+" />\n"+(e.source2?'<source src="'+e.source2+'"'+(e.source2mime?' type="'+e.source2mime+'"':"")+" />\n":"")+"</video>"}return f}function h(a){var b={};return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!0,special:"script,noscript",start:function(a,c){if(b.source1||"param"!=a||(b.source1=c.map.movie),("iframe"==a||"object"==a||"embed"==a||"video"==a||"audio"==a)&&(b.type||(b.type=a),b=tinymce.extend(c.map,b)),"script"==a){var e=d(c.map.src);if(!e)return;b={type:"script",source1:c.map.src,width:e.width,height:e.height}}"source"==a&&(b.source1?b.source2||(b.source2=c.map.src):b.source1=c.map.src),"img"!=a||b.poster||(b.poster=c.map.src)}}).parse(a),b.source1=b.source1||b.src||b.data,b.source2=b.source2||"",b.poster=b.poster||"",b}function i(b){return b.getAttribute("data-mce-object")?h(a.serializer.serialize(b,{selection:!0})):{}}function j(b){if(a.settings.media_filter_html===!1)return b;var c=new tinymce.html.Writer;return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!1,special:"script,noscript",comment:function(a){c.comment(a)},cdata:function(a){c.cdata(a)},text:function(a,b){c.text(a,b)},start:function(a,b,d){if("script"!=a&&"noscript"!=a){for(var e=0;e<b.length;e++)if(0===b[e].name.indexOf("on"))return;c.start(a,b,d)}},end:function(a){"script"!=a&&"noscript"!=a&&c.end(a)}},new tinymce.html.Schema({})).parse(b),c.getContent()}function k(a,b,c){function d(a,b){var c,d,e,f;for(c in b)if(e=""+b[c],a.map[c])for(d=a.length;d--;)f=a[d],f.name==c&&(e?(a.map[c]=e,f.value=e):(delete a.map[c],a.splice(d,1)));else e&&(a.push({name:c,value:e}),a.map[c]=e)}var e,f=new tinymce.html.Writer,g=0;return new tinymce.html.SaxParser({validate:!1,allow_conditional_comments:!0,special:"script,noscript",comment:function(a){f.comment(a)},cdata:function(a){f.cdata(a)},text:function(a,b){f.text(a,b)},start:function(a,h,i){switch(a){case"video":case"object":case"embed":case"img":case"iframe":d(h,{width:b.width,height:b.height})}if(c)switch(a){case"video":d(h,{poster:b.poster,src:""}),b.source2&&d(h,{src:""});break;case"iframe":d(h,{src:b.source1});break;case"source":if(g++,2>=g&&(d(h,{src:b["source"+g],type:b["source"+g+"mime"]}),!b["source"+g]))return;break;case"img":if(!b.poster)return;e=!0}f.start(a,h,i)},end:function(a){if("video"==a&&c)for(var h=1;2>=h;h++)if(b["source"+h]){var i=[];i.map={},h>g&&(d(i,{src:b["source"+h],type:b["source"+h+"mime"]}),f.start("source",i,!0))}if(b.poster&&"object"==a&&c&&!e){var j=[];j.map={},d(j,{src:b.poster,width:b.width,height:b.height}),f.start("img",j,!0)}f.end(a)}},new tinymce.html.Schema({})).parse(a),f.getContent()}var l=[{regex:/youtu\.be\/([\w\-.]+)/,type:"iframe",w:425,h:350,url:"//www.youtube.com/embed/$1"},{regex:/youtube\.com(.+)v=([^&]+)/,type:"iframe",w:425,h:350,url:"//www.youtube.com/embed/$2"},{regex:/vimeo\.com\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc"},{regex:/vimeo\.com\/(.*)\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$2?title=0&amp;byline=0"},{regex:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'//maps.google.com/maps/ms?msid=$2&output=embed"'}],m=tinymce.Env.ie&&tinymce.Env.ie<=8?"onChange":"onInput";a.on("ResolveName",function(a){var b;1==a.target.nodeType&&(b=a.target.getAttribute("data-mce-object"))&&(a.name=b)}),a.on("preInit",function(){var b=a.schema.getSpecialElements();tinymce.each("video audio iframe object".split(" "),function(a){b[a]=new RegExp("</"+a+"[^>]*>","gi")});var c=a.schema.getBoolAttrs();tinymce.each("webkitallowfullscreen mozallowfullscreen allowfullscreen".split(" "),function(a){c[a]={}}),a.parser.addNodeFilter("iframe,video,audio,object,embed,script",function(b,c){for(var e,f,g,h,i,j,k,l,m=b.length;m--;)if(f=b[m],f.parent&&("script"!=f.name||(l=d(f.attr("src"))))){for(g=new tinymce.html.Node("img",1),g.shortEnded=!0,l&&(l.width&&f.attr("width",l.width.toString()),l.height&&f.attr("height",l.height.toString())),j=f.attributes,e=j.length;e--;)h=j[e].name,i=j[e].value,"width"!==h&&"height"!==h&&"style"!==h&&(("data"==h||"src"==h)&&(i=a.convertURL(i,h)),g.attr("data-mce-p-"+h,i));k=f.firstChild&&f.firstChild.value,k&&(g.attr("data-mce-html",escape(k)),g.firstChild=null),g.attr({width:f.attr("width")||"300",height:f.attr("height")||("audio"==c?"30":"150"),style:f.attr("style"),src:tinymce.Env.transparentSrc,"data-mce-object":c,"class":"mce-object mce-object-"+c}),f.replace(g)}}),a.serializer.addAttributeFilter("data-mce-object",function(a,b){for(var c,d,e,f,g,h,i,k=a.length;k--;)if(c=a[k],c.parent){for(i=c.attr(b),d=new tinymce.html.Node(i,1),"audio"!=i&&"script"!=i&&d.attr({width:c.attr("width"),height:c.attr("height")}),d.attr({style:c.attr("style")}),f=c.attributes,e=f.length;e--;){var l=f[e].name;0===l.indexOf("data-mce-p-")&&d.attr(l.substr(11),f[e].value)}"script"==i&&d.attr("type","text/javascript"),g=c.attr("data-mce-html"),g&&(h=new tinymce.html.Node("#text",3),h.raw=!0,h.value=j(unescape(g)),d.append(h)),c.replace(d)}})}),a.on("ObjectSelected",function(a){var b=a.target.getAttribute("data-mce-object");("audio"==b||"script"==b)&&a.preventDefault()}),a.on("objectResized",function(a){var b,c=a.target;c.getAttribute("data-mce-object")&&(b=c.getAttribute("data-mce-html"),b&&(b=unescape(b),c.setAttribute("data-mce-html",escape(k(b,{width:a.width,height:a.height})))))}),a.addButton("media",{tooltip:"Insert/edit video",onclick:e,stateSelector:["img[data-mce-object=video]","img[data-mce-object=iframe]"]}),a.addMenuItem("media",{icon:"media",text:"Insert/edit video",onclick:e,context:"insert",prependToContext:!0})});
\ No newline at end of file
index eea165d1f3f3e2691fcd07edd6b6bfbc2e3dd2a4..65ed95d2256dd180f72633565e8562b89d95f501 100644 (file)
@@ -95,8 +95,7 @@
 /**
  * This class contails various utility functions for the paste plugin.
  *
- * @class tinymce.pasteplugin.Clipboard
- * @private
+ * @class tinymce.pasteplugin.Utils
  */
 define("tinymce/pasteplugin/Utils", [
        "tinymce/util/Tools",
@@ -246,12 +245,14 @@ define("tinymce/pasteplugin/Utils", [
  */
 define("tinymce/pasteplugin/Clipboard", [
        "tinymce/Env",
+       "tinymce/dom/RangeUtils",
        "tinymce/util/VK",
        "tinymce/pasteplugin/Utils"
-], function(Env, VK, Utils) {
+], function(Env, RangeUtils, VK, Utils) {
        return function(editor) {
                var self = this, pasteBinElm, lastRng, keyboardPasteTimeStamp = 0, draggingInternally = false;
                var pasteBinDefaultContent = '%MCEPASTEBIN%', keyboardPastePlainTextState;
+               var mceInternalUrlPrefix = 'data:text/mce-internal,';
 
                /**
                 * Pastes the specified HTML. This means that the HTML is filtered and then
@@ -508,7 +509,9 @@ define("tinymce/pasteplugin/Clipboard", [
                                if (dataTransfer.getData) {
                                        var legacyText = dataTransfer.getData('Text');
                                        if (legacyText && legacyText.length > 0) {
-                                               data['text/plain'] = legacyText;
+                                               if (legacyText.indexOf(mceInternalUrlPrefix) == -1) {
+                                                       data['text/plain'] = legacyText;
+                                               }
                                        }
                                }
 
@@ -546,9 +549,9 @@ define("tinymce/pasteplugin/Clipboard", [
                        var dataTransfer = e.clipboardData || e.dataTransfer;
 
                        function processItems(items) {
-                               var i, item, reader;
+                               var i, item, reader, hadImage = false;
 
-                               function pasteImage() {
+                               function pasteImage(reader) {
                                        if (rng) {
                                                editor.selection.setRng(rng);
                                                rng = null;
@@ -561,16 +564,18 @@ define("tinymce/pasteplugin/Clipboard", [
                                        for (i = 0; i < items.length; i++) {
                                                item = items[i];
 
-                                               if (/^image\/(jpeg|png|gif)$/.test(item.type)) {
+                                               if (/^image\/(jpeg|png|gif|bmp)$/.test(item.type)) {
                                                        reader = new FileReader();
-                                                       reader.onload = pasteImage;
+                                                       reader.onload = pasteImage.bind(null, reader);
                                                        reader.readAsDataURL(item.getAsFile ? item.getAsFile() : item);
 
                                                        e.preventDefault();
-                                                       return true;
+                                                       hadImage = true;
                                                }
                                        }
                                }
+
+                               return hadImage;
                        }
 
                        if (editor.settings.paste_data_images && dataTransfer) {
@@ -591,28 +596,7 @@ define("tinymce/pasteplugin/Clipboard", [
                }
 
                function getCaretRangeFromEvent(e) {
-                       var doc = editor.getDoc(), rng, point;
-
-                       if (doc.caretPositionFromPoint) {
-                               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);
-                       } else if (doc.body.createTextRange) {
-                               rng = doc.body.createTextRange();
-
-                               try {
-                                       rng.moveToPoint(e.clientX, e.clientY);
-                                       rng.collapse(true);
-                               } catch (ex) {
-                                       // Append to top or bottom depending on drop location
-                                       rng.collapse(e.clientY < doc.body.clientHeight);
-                               }
-                       }
-
-                       return rng;
+                       return RangeUtils.getCaretRangeFromPoint(e.clientX, e.clientY, editor.getDoc());
                }
 
                function hasContentType(clipboardContent, mimeType) {
@@ -807,16 +791,8 @@ define("tinymce/pasteplugin/Clipboard", [
                        });
 
                        editor.on('dragover dragend', function(e) {
-                               var i, dataTransfer = e.dataTransfer;
-
-                               if (editor.settings.paste_data_images && dataTransfer) {
-                                       for (i = 0; i < dataTransfer.types.length; i++) {
-                                               // Prevent default if we have files dragged into the editor since the pasteImageData handles that
-                                               if (dataTransfer.types[i] == "Files") {
-                                                       e.preventDefault();
-                                                       return false;
-                                               }
-                                       }
+                               if (editor.settings.paste_data_images) {
+                                       e.preventDefault();
                                }
                        });
                }
@@ -865,7 +841,7 @@ define("tinymce/pasteplugin/Clipboard", [
 /**
  * This class parses word HTML into proper TinyMCE markup.
  *
- * @class tinymce.pasteplugin.Quirks
+ * @class tinymce.pasteplugin.WordFilter
  * @private
  */
 define("tinymce/pasteplugin/WordFilter", [
@@ -916,7 +892,7 @@ define("tinymce/pasteplugin/WordFilter", [
        }
 
        function isBulletList(text) {
-               return /^[\s\u00a0]*[\u2022\u00b7\u00a7\u00d8\u25CF]\s*/.test(text);
+               return /^[\s\u00a0]*[\u2022\u00b7\u00a7\u25CF]\s*/.test(text);
        }
 
        function WordFilter(editor) {
@@ -925,6 +901,10 @@ define("tinymce/pasteplugin/WordFilter", [
                editor.on('BeforePastePreProcess', function(e) {
                        var content = e.content, retainStyleProperties, validStyles;
 
+                       // Remove google docs internal guid markers
+                       content = content.replace(/<b[^>]+id="?docs-internal-[^>]*>/gi, '');
+                       content = content.replace(/<br class="?Apple-interchange-newline"?>/gi, '');
+
                        retainStyleProperties = settings.paste_retain_style_properties;
                        if (retainStyleProperties) {
                                validStyles = Tools.makeMap(retainStyleProperties.split(/[, ]/));
@@ -1028,7 +1008,7 @@ define("tinymce/pasteplugin/WordFilter", [
                                        // Remove start of list item "1. " or "&middot; " etc
                                        removeIgnoredNodes(paragraphNode);
                                        trimListStart(paragraphNode, /^\u00a0+/);
-                                       trimListStart(paragraphNode, /^\s*([\u2022\u00b7\u00a7\u00d8\u25CF]|\w+\.)/);
+                                       trimListStart(paragraphNode, /^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/);
                                        trimListStart(paragraphNode, /^\u00a0+/);
                                }
 
@@ -1235,6 +1215,7 @@ define("tinymce/pasteplugin/WordFilter", [
                                // 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) {
+                                       /*eslint dot-notation:0*/
                                        if (!rule.attributes["class"]) {
                                                rule.attributes["class"] = {};
                                                rule.attributesOrder.push("class");
@@ -1272,7 +1253,7 @@ define("tinymce/pasteplugin/WordFilter", [
                                                node = nodes[i];
 
                                                className = node.attr('class');
-                                               if (/^(MsoCommentReference|MsoCommentText|msoDel|MsoCaption)$/i.test(className)) {
+                                               if (/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(className)) {
                                                        node.remove();
                                                }
 
@@ -1621,5 +1602,5 @@ define("tinymce/pasteplugin/Plugin", [
        });
 });
 
-expose(["tinymce/pasteplugin/Utils","tinymce/pasteplugin/WordFilter"]);
+expose(["tinymce/pasteplugin/Utils"]);
 })(this);
\ No newline at end of file
index cae7cf63fe859bc8f881e3ab52d1d7e1f65f5f7a..90d50edfa42c1af0d4223793db0b2a47f90a8b59 100644 (file)
@@ -1 +1 @@
-!function(a,b){"use strict";function c(a,b){for(var c,d=[],f=0;f<a.length;++f){if(c=g[a[f]]||e(a[f]),!c)throw"module definition dependecy not found: "+a[f];d.push(c)}b.apply(null,d)}function d(a,d,e){if("string"!=typeof a)throw"invalid module definition, module id must be defined and be a string";if(d===b)throw"invalid module definition, dependencies must be specified";if(e===b)throw"invalid module definition, definition function must be specified";c(d,function(){g[a]=e.apply(null,arguments)})}function e(b){for(var c=a,d=b.split(/[.\/]/),e=0;e<d.length;++e){if(!c[d[e]])return;c=c[d[e]]}return c}function f(c){for(var d=0;d<c.length;d++){for(var e=a,f=c[d],h=f.split(/[.\/]/),i=0;i<h.length-1;++i)e[h[i]]===b&&(e[h[i]]={}),e=e[h[i]];e[h[h.length-1]]=g[f]}}var g={};d("tinymce/pasteplugin/Utils",["tinymce/util/Tools","tinymce/html/DomParser","tinymce/html/Schema"],function(a,b,c){function d(b,c){return a.each(c,function(a){b=a.constructor==RegExp?b.replace(a,""):b.replace(a[0],a[1])}),b}function e(e){function f(a){var b=a.name,c=a;if("br"===b)return void(i+="\n");if(j[b]&&(i+=" "),k[b])return void(i+=" ");if(3==a.type&&(i+=a.value),!a.shortEnded&&(a=a.firstChild))do f(a);while(a=a.next);l[b]&&c.next&&(i+="\n","p"==b&&(i+="\n"))}var g=new c,h=new b({},g),i="",j=g.getShortEndedElements(),k=a.makeMap("script noscript style textarea video audio iframe object"," "),l=g.getBlockElements();return e=d(e,[/<!\[[^\]]+\]>/g]),f(h.parse(e)),i}function f(a){function b(a,b,c){return b||c?"\xa0":" "}return a=d(a,[/^[\s\S]*<body[^>]*>\s*|\s*<\/body[^>]*>[\s\S]*$/g,/<!--StartFragment-->|<!--EndFragment-->/g,[/( ?)<span class="Apple-converted-space">\u00a0<\/span>( ?)/g,b],/<br>$/i])}return{filter:d,innerText:e,trimHtml:f}}),d("tinymce/pasteplugin/Clipboard",["tinymce/Env","tinymce/util/VK","tinymce/pasteplugin/Utils"],function(a,b,c){return function(d){function e(a){var b,c=d.dom;if(b=d.fire("BeforePastePreProcess",{content:a}),b=d.fire("PastePreProcess",b),a=b.content,!b.isDefaultPrevented()){if(d.hasEventListeners("PastePostProcess")&&!b.isDefaultPrevented()){var e=c.add(d.getBody(),"div",{style:"display:none"},a);b=d.fire("PastePostProcess",{node:e}),c.remove(e),a=b.node.innerHTML}b.isDefaultPrevented()||d.insertContent(a,{merge:d.settings.paste_merge_formats!==!1})}}function f(a){a=d.dom.encode(a).replace(/\r\n/g,"\n");var b,f=d.dom.getParent(d.selection.getStart(),d.dom.isBlock),g=d.settings.forced_root_block;g&&(b=d.dom.createHTML(g,d.settings.forced_root_block_attrs),b=b.substr(0,b.length-3)+">"),f&&/^(PRE|DIV)$/.test(f.nodeName)||!g?a=c.filter(a,[[/\n/g,"<br>"]]):(a=c.filter(a,[[/\n\n/g,"</p>"+b],[/^(.*<\/p>)(<p>)$/,b+"$1"],[/\n/g,"<br />"]]),-1!=a.indexOf("<p>")&&(a=b+a)),e(a)}function g(){function b(a){var b,c,d,f=a.startContainer;if(b=a.getClientRects(),b.length)return b[0];if(a.collapsed&&1==f.nodeType){for(d=f.childNodes[s.startOffset];d&&3==d.nodeType&&!d.data.length;)d=d.nextSibling;if(d)return"BR"==d.tagName&&(c=e.doc.createTextNode("\ufeff"),d.parentNode.insertBefore(c,d),a=e.createRng(),a.setStartBefore(c),a.setEndAfter(c),b=a.getClientRects(),e.remove(c)),b.length?b[0]:void 0}}var c,e=d.dom,f=d.getBody(),g=d.dom.getViewPort(d.getWin()),h=g.y,i=20;if(s=d.selection.getRng(),d.inline&&(c=d.selection.getScrollContainer(),c&&c.scrollTop>0&&(h=c.scrollTop)),s.getClientRects){var j=b(s);if(j)i=h+(j.top-e.getPos(f).y);else{i=h;var k=s.startContainer;k&&(3==k.nodeType&&k.parentNode!=f&&(k=k.parentNode),1==k.nodeType&&(i=e.getPos(k,c||f).y))}}r=e.add(d.getBody(),"div",{id:"mcepastebin",contentEditable:!0,"data-mce-bogus":"all",style:"position: absolute; top: "+i+"px;width: 10px; height: 10px; overflow: hidden; opacity: 0"},x),(a.ie||a.gecko)&&e.setStyle(r,"left","rtl"==e.getStyle(f,"direction",!0)?65535:-65535),e.bind(r,"beforedeactivate focusin focusout",function(a){a.stopPropagation()}),r.focus(),d.selection.select(r,!0)}function h(){if(r){for(var a;a=d.dom.get("mcepastebin");)d.dom.remove(a),d.dom.unbind(a);s&&d.selection.setRng(s)}r=s=null}function i(){var a,b,c,e,f="";for(a=d.dom.select("div[id=mcepastebin]"),b=0;b<a.length;b++)c=a[b],c.firstChild&&"mcepastebin"==c.firstChild.id&&(c=c.firstChild),e=c.innerHTML,f!=x&&(f+=e);return f}function j(a){var b={};if(a){if(a.getData){var c=a.getData("Text");c&&c.length>0&&(b["text/plain"]=c)}if(a.types)for(var d=0;d<a.types.length;d++){var e=a.types[d];b[e]=a.getData(e)}}return b}function k(a){return j(a.clipboardData||d.getDoc().dataTransfer)}function l(a,b){function c(c){function f(){b&&(d.selection.setRng(b),b=null),e('<img src="'+i.result+'">')}var g,h,i;if(c)for(g=0;g<c.length;g++)if(h=c[g],/^image\/(jpeg|png|gif)$/.test(h.type))return i=new FileReader,i.onload=f,i.readAsDataURL(h.getAsFile?h.getAsFile():h),a.preventDefault(),!0}var f=a.clipboardData||a.dataTransfer;return d.settings.paste_data_images&&f?c(f.items)||c(f.files):void 0}function m(a){var b=a.clipboardData;return-1!=navigator.userAgent.indexOf("Android")&&b&&b.items&&0===b.items.length}function n(a){var b,c,e=d.getDoc();if(e.caretPositionFromPoint)c=e.caretPositionFromPoint(a.clientX,a.clientY),b=e.createRange(),b.setStart(c.offsetNode,c.offset),b.collapse(!0);else if(e.caretRangeFromPoint)b=e.caretRangeFromPoint(a.clientX,a.clientY);else if(e.body.createTextRange){b=e.body.createTextRange();try{b.moveToPoint(a.clientX,a.clientY),b.collapse(!0)}catch(f){b.collapse(a.clientY<e.body.clientHeight)}}return b}function o(a,b){return b in a&&a[b].length>0}function p(a){return b.metaKeyPressed(a)&&86==a.keyCode||a.shiftKey&&45==a.keyCode}function q(){d.on("keydown",function(b){function c(a){p(a)&&!a.isDefaultPrevented()&&h()}if(p(b)&&!b.isDefaultPrevented()){if(t=b.shiftKey&&86==b.keyCode,t&&a.webkit&&-1!=navigator.userAgent.indexOf("Version/"))return;if(b.stopImmediatePropagation(),v=(new Date).getTime(),a.ie&&t)return b.preventDefault(),void d.fire("paste",{ieFake:!0});h(),g(),d.once("keyup",c),d.once("paste",function(){d.off("keyup",c)})}}),d.on("paste",function(b){var j=(new Date).getTime(),n=k(b),p=(new Date).getTime()-j,q=(new Date).getTime()-v-p<1e3,s="text"==u.pasteFormat||t;return t=!1,b.isDefaultPrevented()||m(b)?void h():l(b)?void h():(q||b.preventDefault(),!a.ie||q&&!b.ieFake||(g(),d.dom.bind(r,"paste",function(a){a.stopPropagation()}),d.getDoc().execCommand("Paste",!1,null),n["text/html"]=i()),void setTimeout(function(){var a;return o(n,"text/html")?a=n["text/html"]:(a=i(),a==x&&(s=!0)),a=c.trimHtml(a),r&&r.firstChild&&"mcepastebin"===r.firstChild.id&&(s=!0),h(),a.length||(s=!0),s&&(a=o(n,"text/plain")&&-1==a.indexOf("</p>")?n["text/plain"]:c.innerText(a)),a==x?void(q||d.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.")):void(s?f(a):e(a))},0))}),d.on("dragstart dragend",function(a){w="dragstart"==a.type}),d.on("drop",function(a){var b=n(a);if(!a.isDefaultPrevented()&&!w&&!l(a,b)&&b&&d.settings.paste_filter_drop!==!1){var g=j(a.dataTransfer),h=g["mce-internal"]||g["text/html"]||g["text/plain"];h&&(a.preventDefault(),d.undoManager.transact(function(){g["mce-internal"]&&d.execCommand("Delete"),d.selection.setRng(b),h=c.trimHtml(h),g["text/html"]?e(h):f(h)}))}}),d.on("dragover dragend",function(a){var b,c=a.dataTransfer;if(d.settings.paste_data_images&&c)for(b=0;b<c.types.length;b++)if("Files"==c.types[b])return a.preventDefault(),!1})}var r,s,t,u=this,v=0,w=!1,x="%MCEPASTEBIN%";u.pasteHtml=e,u.pasteText=f,d.on("preInit",function(){q(),d.parser.addNodeFilter("img",function(b){if(!d.settings.paste_data_images)for(var c=b.length;c--;){var e=b[c].attributes.map.src;e&&/^(data:image|webkit\-fake\-url)/.test(e)&&(b[c].attr("data-mce-object")||e===a.transparentSrc||b[c].remove())}})})}}),d("tinymce/pasteplugin/WordFilter",["tinymce/util/Tools","tinymce/html/DomParser","tinymce/html/Schema","tinymce/html/Serializer","tinymce/html/Node","tinymce/pasteplugin/Utils"],function(a,b,c,d,e,f){function g(a){return/<font face="Times New Roman"|class="?Mso|style="[^"]*\bmso-|style='[^'']*\bmso-|w:WordDocument/i.test(a)||/class="OutlineElement/.test(a)||/id="?docs\-internal\-guid\-/.test(a)}function h(b){var c,d;return d=[/^[IVXLMCD]{1,2}\.[ \u00a0]/,/^[ivxlmcd]{1,2}\.[ \u00a0]/,/^[a-z]{1,2}[\.\)][ \u00a0]/,/^[A-Z]{1,2}[\.\)][ \u00a0]/,/^[0-9]+\.[ \u00a0]/,/^[\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]+\.[ \u00a0]/,/^[\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d\u62fe]+\.[ \u00a0]/],b=b.replace(/^[\u00a0 ]+/,""),a.each(d,function(a){return a.test(b)?(c=!0,!1):void 0}),c}function i(a){return/^[\s\u00a0]*[\u2022\u00b7\u00a7\u00d8\u25CF]\s*/.test(a)}function j(j){var k=j.settings;j.on("BeforePastePreProcess",function(l){function m(a){function b(a){var c="";if(3===a.type)return a.value;if(a=a.firstChild)do c+=b(a);while(a=a.next);return c}function c(a,b){if(3===a.type&&b.test(a.value))return a.value=a.value.replace(b,""),!1;if(a=a.firstChild)do if(!c(a,b))return!1;while(a=a.next);return!0}function d(a){if(a._listIgnore)return void a.remove();if(a=a.firstChild)do d(a);while(a=a.next)}function f(a,b,f){var h=a._listLevel||k;h!=k&&(k>h?g&&(g=g.parent.parent):(j=g,g=null)),g&&g.name==b?g.append(a):(j=j||g,g=new e(b,1),f>1&&g.attr("start",""+f),a.wrap(g)),a.name="li",h>k&&j&&j.lastChild.append(g),k=h,d(a),c(a,/^\u00a0+/),c(a,/^\s*([\u2022\u00b7\u00a7\u00d8\u25CF]|\w+\.)/),c(a,/^\u00a0+/)}for(var g,j,k=1,l=[],m=a.firstChild;"undefined"!=typeof m&&null!==m;)if(l.push(m),m=m.walk(),null!==m)for(;"undefined"!=typeof m&&m.parent!==a;)m=m.walk();for(var n=0;n<l.length;n++)if(a=l[n],"p"==a.name&&a.firstChild){var o=b(a);if(i(o)){f(a,"ul");continue}if(h(o)){var p=/([0-9]+)\./.exec(o),q=1;p&&(q=parseInt(p[1],10)),f(a,"ol",q);continue}if(a._listLevel){f(a,"ul",1);continue}g=null}else j=g,g=null}function n(b,c){var d,f={},g=j.dom.parseStyle(c);return a.each(g,function(a,e){switch(e){case"mso-list":d=/\w+ \w+([0-9]+)/i.exec(c),d&&(b._listLevel=parseInt(d[1],10)),/Ignore/i.test(a)&&b.firstChild&&(b._listIgnore=!0,b.firstChild._listIgnore=!0);break;case"horiz-align":e="text-align";break;case"vert-align":e="vertical-align";break;case"font-color":case"mso-foreground":e="color";break;case"mso-background":case"mso-highlight":e="background";break;case"font-weight":case"font-style":return void("normal"!=a&&(f[e]=a));case"mso-element":if(/^(comment|comment-list)$/i.test(a))return void b.remove()}return 0===e.indexOf("mso-comment")?void b.remove():void(0!==e.indexOf("mso-")&&("all"==o||p&&p[e])&&(f[e]=a))}),/(bold)/i.test(f["font-weight"])&&(delete f["font-weight"],b.wrap(new e("b",1))),/(italic)/i.test(f["font-style"])&&(delete f["font-style"],b.wrap(new e("i",1))),f=j.dom.serializeStyle(f,b.name),f?f:null}var o,p,q=l.content;if(o=k.paste_retain_style_properties,o&&(p=a.makeMap(o.split(/[, ]/))),k.paste_enable_default_filters!==!1&&g(l.content)){l.wordContent=!0,q=f.filter(q,[/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/&nbsp;/gi,"\xa0"],[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(a,b){return b.length>0?b.replace(/./," ").slice(Math.floor(b.length/2)).split("").join("\xa0"):""}]]);var r=k.paste_word_valid_elements;r||(r="-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody");var s=new c({valid_elements:r,valid_children:"-li[p]"});a.each(s.elements,function(a){a.attributes["class"]||(a.attributes["class"]={},a.attributesOrder.push("class")),a.attributes.style||(a.attributes.style={},a.attributesOrder.push("style"))});var t=new b({},s);t.addAttributeFilter("style",function(a){for(var b,c=a.length;c--;)b=a[c],b.attr("style",n(b,b.attr("style"))),"span"==b.name&&b.parent&&!b.attributes.length&&b.unwrap()}),t.addAttributeFilter("class",function(a){for(var b,c,d=a.length;d--;)b=a[d],c=b.attr("class"),/^(MsoCommentReference|MsoCommentText|msoDel|MsoCaption)$/i.test(c)&&b.remove(),b.attr("class",null)}),t.addNodeFilter("del",function(a){for(var b=a.length;b--;)a[b].remove()}),t.addNodeFilter("a",function(a){for(var b,c,d,e=a.length;e--;)if(b=a[e],c=b.attr("href"),d=b.attr("name"),c&&-1!=c.indexOf("#_msocom_"))b.remove();else if(c&&0===c.indexOf("file://")&&(c=c.split("#")[1],c&&(c="#"+c)),c||d){if(d&&!/^_?(?:toc|edn|ftn)/i.test(d)){b.unwrap();continue}b.attr({href:c,name:d})}else b.unwrap()});var u=t.parse(q);k.paste_convert_word_fake_lists!==!1&&m(u),l.content=new d({},s).serialize(u)}})}return j.isWordContent=g,j}),d("tinymce/pasteplugin/Quirks",["tinymce/Env","tinymce/util/Tools","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Utils"],function(a,b,c,d){return function(e){function f(a){e.on("BeforePastePreProcess",function(b){b.content=a(b.content)})}function g(a){if(!c.isWordContent(a))return a;var f=[];b.each(e.schema.getBlockElements(),function(a,b){f.push(b)});var g=new RegExp("(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*(<\\/?("+f.join("|")+")[^>]*>)(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*","g");return a=d.filter(a,[[g,"$1"]]),a=d.filter(a,[[/<br><br>/g,"<BR><BR>"],[/<br>/g," "],[/<BR><BR>/g,"<br>"]])}function h(a){if(c.isWordContent(a))return a;var b=e.settings.paste_webkit_styles;if(e.settings.paste_remove_styles_if_webkit===!1||"all"==b)return a;if(b&&(b=b.split(/[, ]/)),b){var d=e.dom,f=e.selection.getNode();a=a.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,function(a,c,e,g){var h=d.parseStyle(e,"span"),i={};if("none"===b)return c+g;for(var j=0;j<b.length;j++){var k=h[b[j]],l=d.getStyle(f,b[j],!0);/color/.test(b[j])&&(k=d.toHex(k),l=d.toHex(l)),l!=k&&(i[b[j]]=k)}return i=d.serializeStyle(i,"span"),i?c+' style="'+i+'"'+g:c+g})}else a=a.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return a=a.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,function(a,b,c,d){return b+' style="'+c+'"'+d})}a.webkit&&f(h),a.ie&&f(g)}}),d("tinymce/pasteplugin/Plugin",["tinymce/PluginManager","tinymce/pasteplugin/Clipboard","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Quirks"],function(a,b,c,d){var e;a.add("paste",function(a){function f(){"text"==g.pasteFormat?(this.active(!1),g.pasteFormat="html"):(g.pasteFormat="text",this.active(!0),e||(a.windowManager.alert("Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off."),e=!0))}var g,h=this,i=a.settings;h.clipboard=g=new b(a),h.quirks=new d(a),h.wordFilter=new c(a),a.settings.paste_as_text&&(h.clipboard.pasteFormat="text"),i.paste_preprocess&&a.on("PastePreProcess",function(a){i.paste_preprocess.call(h,h,a)}),i.paste_postprocess&&a.on("PastePostProcess",function(a){i.paste_postprocess.call(h,h,a)}),a.addCommand("mceInsertClipboardContent",function(a,b){b.content&&h.clipboard.pasteHtml(b.content),b.text&&h.clipboard.pasteText(b.text)}),a.paste_block_drop&&a.on("dragend dragover draggesture dragdrop drop drag",function(a){a.preventDefault(),a.stopPropagation()}),a.settings.paste_data_images||a.on("drop",function(a){var b=a.dataTransfer;b&&b.files&&b.files.length>0&&a.preventDefault()}),a.addButton("pastetext",{icon:"pastetext",tooltip:"Paste as text",onclick:f,active:"text"==h.clipboard.pasteFormat}),a.addMenuItem("pastetext",{text:"Paste as text",selectable:!0,active:g.pasteFormat,onclick:f})})}),f(["tinymce/pasteplugin/Utils","tinymce/pasteplugin/WordFilter"])}(this);
\ No newline at end of file
+!function(a,b){"use strict";function c(a,b){for(var c,d=[],f=0;f<a.length;++f){if(c=g[a[f]]||e(a[f]),!c)throw"module definition dependecy not found: "+a[f];d.push(c)}b.apply(null,d)}function d(a,d,e){if("string"!=typeof a)throw"invalid module definition, module id must be defined and be a string";if(d===b)throw"invalid module definition, dependencies must be specified";if(e===b)throw"invalid module definition, definition function must be specified";c(d,function(){g[a]=e.apply(null,arguments)})}function e(b){for(var c=a,d=b.split(/[.\/]/),e=0;e<d.length;++e){if(!c[d[e]])return;c=c[d[e]]}return c}function f(c){for(var d=0;d<c.length;d++){for(var e=a,f=c[d],h=f.split(/[.\/]/),i=0;i<h.length-1;++i)e[h[i]]===b&&(e[h[i]]={}),e=e[h[i]];e[h[h.length-1]]=g[f]}}var g={};d("tinymce/pasteplugin/Utils",["tinymce/util/Tools","tinymce/html/DomParser","tinymce/html/Schema"],function(a,b,c){function d(b,c){return a.each(c,function(a){b=a.constructor==RegExp?b.replace(a,""):b.replace(a[0],a[1])}),b}function e(e){function f(a){var b=a.name,c=a;if("br"===b)return void(i+="\n");if(j[b]&&(i+=" "),k[b])return void(i+=" ");if(3==a.type&&(i+=a.value),!a.shortEnded&&(a=a.firstChild))do f(a);while(a=a.next);l[b]&&c.next&&(i+="\n","p"==b&&(i+="\n"))}var g=new c,h=new b({},g),i="",j=g.getShortEndedElements(),k=a.makeMap("script noscript style textarea video audio iframe object"," "),l=g.getBlockElements();return e=d(e,[/<!\[[^\]]+\]>/g]),f(h.parse(e)),i}function f(a){function b(a,b,c){return b||c?"\xa0":" "}return a=d(a,[/^[\s\S]*<body[^>]*>\s*|\s*<\/body[^>]*>[\s\S]*$/g,/<!--StartFragment-->|<!--EndFragment-->/g,[/( ?)<span class="Apple-converted-space">\u00a0<\/span>( ?)/g,b],/<br>$/i])}return{filter:d,innerText:e,trimHtml:f}}),d("tinymce/pasteplugin/Clipboard",["tinymce/Env","tinymce/dom/RangeUtils","tinymce/util/VK","tinymce/pasteplugin/Utils"],function(a,b,c,d){return function(e){function f(a){var b,c=e.dom;if(b=e.fire("BeforePastePreProcess",{content:a}),b=e.fire("PastePreProcess",b),a=b.content,!b.isDefaultPrevented()){if(e.hasEventListeners("PastePostProcess")&&!b.isDefaultPrevented()){var d=c.add(e.getBody(),"div",{style:"display:none"},a);b=e.fire("PastePostProcess",{node:d}),c.remove(d),a=b.node.innerHTML}b.isDefaultPrevented()||e.insertContent(a,{merge:e.settings.paste_merge_formats!==!1})}}function g(a){a=e.dom.encode(a).replace(/\r\n/g,"\n");var b,c=e.dom.getParent(e.selection.getStart(),e.dom.isBlock),g=e.settings.forced_root_block;g&&(b=e.dom.createHTML(g,e.settings.forced_root_block_attrs),b=b.substr(0,b.length-3)+">"),c&&/^(PRE|DIV)$/.test(c.nodeName)||!g?a=d.filter(a,[[/\n/g,"<br>"]]):(a=d.filter(a,[[/\n\n/g,"</p>"+b],[/^(.*<\/p>)(<p>)$/,b+"$1"],[/\n/g,"<br />"]]),-1!=a.indexOf("<p>")&&(a=b+a)),f(a)}function h(){function b(a){var b,c,e,f=a.startContainer;if(b=a.getClientRects(),b.length)return b[0];if(a.collapsed&&1==f.nodeType){for(e=f.childNodes[t.startOffset];e&&3==e.nodeType&&!e.data.length;)e=e.nextSibling;if(e)return"BR"==e.tagName&&(c=d.doc.createTextNode("\ufeff"),e.parentNode.insertBefore(c,e),a=d.createRng(),a.setStartBefore(c),a.setEndAfter(c),b=a.getClientRects(),d.remove(c)),b.length?b[0]:void 0}}var c,d=e.dom,f=e.getBody(),g=e.dom.getViewPort(e.getWin()),h=g.y,i=20;if(t=e.selection.getRng(),e.inline&&(c=e.selection.getScrollContainer(),c&&c.scrollTop>0&&(h=c.scrollTop)),t.getClientRects){var j=b(t);if(j)i=h+(j.top-d.getPos(f).y);else{i=h;var k=t.startContainer;k&&(3==k.nodeType&&k.parentNode!=f&&(k=k.parentNode),1==k.nodeType&&(i=d.getPos(k,c||f).y))}}s=d.add(e.getBody(),"div",{id:"mcepastebin",contentEditable:!0,"data-mce-bogus":"all",style:"position: absolute; top: "+i+"px;width: 10px; height: 10px; overflow: hidden; opacity: 0"},y),(a.ie||a.gecko)&&d.setStyle(s,"left","rtl"==d.getStyle(f,"direction",!0)?65535:-65535),d.bind(s,"beforedeactivate focusin focusout",function(a){a.stopPropagation()}),s.focus(),e.selection.select(s,!0)}function i(){if(s){for(var a;a=e.dom.get("mcepastebin");)e.dom.remove(a),e.dom.unbind(a);t&&e.selection.setRng(t)}s=t=null}function j(){var a,b,c,d,f="";for(a=e.dom.select("div[id=mcepastebin]"),b=0;b<a.length;b++)c=a[b],c.firstChild&&"mcepastebin"==c.firstChild.id&&(c=c.firstChild),d=c.innerHTML,f!=y&&(f+=d);return f}function k(a){var b={};if(a){if(a.getData){var c=a.getData("Text");c&&c.length>0&&-1==c.indexOf(z)&&(b["text/plain"]=c)}if(a.types)for(var d=0;d<a.types.length;d++){var e=a.types[d];b[e]=a.getData(e)}}return b}function l(a){return k(a.clipboardData||e.getDoc().dataTransfer)}function m(a,b){function c(c){function d(a){b&&(e.selection.setRng(b),b=null),f('<img src="'+a.result+'">')}var g,h,i,j=!1;if(c)for(g=0;g<c.length;g++)h=c[g],/^image\/(jpeg|png|gif|bmp)$/.test(h.type)&&(i=new FileReader,i.onload=d.bind(null,i),i.readAsDataURL(h.getAsFile?h.getAsFile():h),a.preventDefault(),j=!0);return j}var d=a.clipboardData||a.dataTransfer;return e.settings.paste_data_images&&d?c(d.items)||c(d.files):void 0}function n(a){var b=a.clipboardData;return-1!=navigator.userAgent.indexOf("Android")&&b&&b.items&&0===b.items.length}function o(a){return b.getCaretRangeFromPoint(a.clientX,a.clientY,e.getDoc())}function p(a,b){return b in a&&a[b].length>0}function q(a){return c.metaKeyPressed(a)&&86==a.keyCode||a.shiftKey&&45==a.keyCode}function r(){e.on("keydown",function(b){function c(a){q(a)&&!a.isDefaultPrevented()&&i()}if(q(b)&&!b.isDefaultPrevented()){if(u=b.shiftKey&&86==b.keyCode,u&&a.webkit&&-1!=navigator.userAgent.indexOf("Version/"))return;if(b.stopImmediatePropagation(),w=(new Date).getTime(),a.ie&&u)return b.preventDefault(),void e.fire("paste",{ieFake:!0});i(),h(),e.once("keyup",c),e.once("paste",function(){e.off("keyup",c)})}}),e.on("paste",function(b){var c=(new Date).getTime(),k=l(b),o=(new Date).getTime()-c,q=(new Date).getTime()-w-o<1e3,r="text"==v.pasteFormat||u;return u=!1,b.isDefaultPrevented()||n(b)?void i():m(b)?void i():(q||b.preventDefault(),!a.ie||q&&!b.ieFake||(h(),e.dom.bind(s,"paste",function(a){a.stopPropagation()}),e.getDoc().execCommand("Paste",!1,null),k["text/html"]=j()),void setTimeout(function(){var a;return p(k,"text/html")?a=k["text/html"]:(a=j(),a==y&&(r=!0)),a=d.trimHtml(a),s&&s.firstChild&&"mcepastebin"===s.firstChild.id&&(r=!0),i(),a.length||(r=!0),r&&(a=p(k,"text/plain")&&-1==a.indexOf("</p>")?k["text/plain"]:d.innerText(a)),a==y?void(q||e.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.")):void(r?g(a):f(a))},0))}),e.on("dragstart dragend",function(a){x="dragstart"==a.type}),e.on("drop",function(a){var b=o(a);if(!a.isDefaultPrevented()&&!x&&!m(a,b)&&b&&e.settings.paste_filter_drop!==!1){var c=k(a.dataTransfer),h=c["mce-internal"]||c["text/html"]||c["text/plain"];h&&(a.preventDefault(),e.undoManager.transact(function(){c["mce-internal"]&&e.execCommand("Delete"),e.selection.setRng(b),h=d.trimHtml(h),c["text/html"]?f(h):g(h)}))}}),e.on("dragover dragend",function(a){e.settings.paste_data_images&&a.preventDefault()})}var s,t,u,v=this,w=0,x=!1,y="%MCEPASTEBIN%",z="data:text/mce-internal,";v.pasteHtml=f,v.pasteText=g,e.on("preInit",function(){r(),e.parser.addNodeFilter("img",function(b){if(!e.settings.paste_data_images)for(var c=b.length;c--;){var d=b[c].attributes.map.src;d&&/^(data:image|webkit\-fake\-url)/.test(d)&&(b[c].attr("data-mce-object")||d===a.transparentSrc||b[c].remove())}})})}}),d("tinymce/pasteplugin/WordFilter",["tinymce/util/Tools","tinymce/html/DomParser","tinymce/html/Schema","tinymce/html/Serializer","tinymce/html/Node","tinymce/pasteplugin/Utils"],function(a,b,c,d,e,f){function g(a){return/<font face="Times New Roman"|class="?Mso|style="[^"]*\bmso-|style='[^'']*\bmso-|w:WordDocument/i.test(a)||/class="OutlineElement/.test(a)||/id="?docs\-internal\-guid\-/.test(a)}function h(b){var c,d;return d=[/^[IVXLMCD]{1,2}\.[ \u00a0]/,/^[ivxlmcd]{1,2}\.[ \u00a0]/,/^[a-z]{1,2}[\.\)][ \u00a0]/,/^[A-Z]{1,2}[\.\)][ \u00a0]/,/^[0-9]+\.[ \u00a0]/,/^[\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]+\.[ \u00a0]/,/^[\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d\u62fe]+\.[ \u00a0]/],b=b.replace(/^[\u00a0 ]+/,""),a.each(d,function(a){return a.test(b)?(c=!0,!1):void 0}),c}function i(a){return/^[\s\u00a0]*[\u2022\u00b7\u00a7\u25CF]\s*/.test(a)}function j(j){var k=j.settings;j.on("BeforePastePreProcess",function(l){function m(a){function b(a){var c="";if(3===a.type)return a.value;if(a=a.firstChild)do c+=b(a);while(a=a.next);return c}function c(a,b){if(3===a.type&&b.test(a.value))return a.value=a.value.replace(b,""),!1;if(a=a.firstChild)do if(!c(a,b))return!1;while(a=a.next);return!0}function d(a){if(a._listIgnore)return void a.remove();if(a=a.firstChild)do d(a);while(a=a.next)}function f(a,b,f){var h=a._listLevel||k;h!=k&&(k>h?g&&(g=g.parent.parent):(j=g,g=null)),g&&g.name==b?g.append(a):(j=j||g,g=new e(b,1),f>1&&g.attr("start",""+f),a.wrap(g)),a.name="li",h>k&&j&&j.lastChild.append(g),k=h,d(a),c(a,/^\u00a0+/),c(a,/^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/),c(a,/^\u00a0+/)}for(var g,j,k=1,l=[],m=a.firstChild;"undefined"!=typeof m&&null!==m;)if(l.push(m),m=m.walk(),null!==m)for(;"undefined"!=typeof m&&m.parent!==a;)m=m.walk();for(var n=0;n<l.length;n++)if(a=l[n],"p"==a.name&&a.firstChild){var o=b(a);if(i(o)){f(a,"ul");continue}if(h(o)){var p=/([0-9]+)\./.exec(o),q=1;p&&(q=parseInt(p[1],10)),f(a,"ol",q);continue}if(a._listLevel){f(a,"ul",1);continue}g=null}else j=g,g=null}function n(b,c){var d,f={},g=j.dom.parseStyle(c);return a.each(g,function(a,e){switch(e){case"mso-list":d=/\w+ \w+([0-9]+)/i.exec(c),d&&(b._listLevel=parseInt(d[1],10)),/Ignore/i.test(a)&&b.firstChild&&(b._listIgnore=!0,b.firstChild._listIgnore=!0);break;case"horiz-align":e="text-align";break;case"vert-align":e="vertical-align";break;case"font-color":case"mso-foreground":e="color";break;case"mso-background":case"mso-highlight":e="background";break;case"font-weight":case"font-style":return void("normal"!=a&&(f[e]=a));case"mso-element":if(/^(comment|comment-list)$/i.test(a))return void b.remove()}return 0===e.indexOf("mso-comment")?void b.remove():void(0!==e.indexOf("mso-")&&("all"==o||p&&p[e])&&(f[e]=a))}),/(bold)/i.test(f["font-weight"])&&(delete f["font-weight"],b.wrap(new e("b",1))),/(italic)/i.test(f["font-style"])&&(delete f["font-style"],b.wrap(new e("i",1))),f=j.dom.serializeStyle(f,b.name),f?f:null}var o,p,q=l.content;if(q=q.replace(/<b[^>]+id="?docs-internal-[^>]*>/gi,""),q=q.replace(/<br class="?Apple-interchange-newline"?>/gi,""),o=k.paste_retain_style_properties,o&&(p=a.makeMap(o.split(/[, ]/))),k.paste_enable_default_filters!==!1&&g(l.content)){l.wordContent=!0,q=f.filter(q,[/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/&nbsp;/gi,"\xa0"],[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(a,b){return b.length>0?b.replace(/./," ").slice(Math.floor(b.length/2)).split("").join("\xa0"):""}]]);var r=k.paste_word_valid_elements;r||(r="-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody");var s=new c({valid_elements:r,valid_children:"-li[p]"});a.each(s.elements,function(a){a.attributes["class"]||(a.attributes["class"]={},a.attributesOrder.push("class")),a.attributes.style||(a.attributes.style={},a.attributesOrder.push("style"))});var t=new b({},s);t.addAttributeFilter("style",function(a){for(var b,c=a.length;c--;)b=a[c],b.attr("style",n(b,b.attr("style"))),"span"==b.name&&b.parent&&!b.attributes.length&&b.unwrap()}),t.addAttributeFilter("class",function(a){for(var b,c,d=a.length;d--;)b=a[d],c=b.attr("class"),/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(c)&&b.remove(),b.attr("class",null)}),t.addNodeFilter("del",function(a){for(var b=a.length;b--;)a[b].remove()}),t.addNodeFilter("a",function(a){for(var b,c,d,e=a.length;e--;)if(b=a[e],c=b.attr("href"),d=b.attr("name"),c&&-1!=c.indexOf("#_msocom_"))b.remove();else if(c&&0===c.indexOf("file://")&&(c=c.split("#")[1],c&&(c="#"+c)),c||d){if(d&&!/^_?(?:toc|edn|ftn)/i.test(d)){b.unwrap();continue}b.attr({href:c,name:d})}else b.unwrap()});var u=t.parse(q);k.paste_convert_word_fake_lists!==!1&&m(u),l.content=new d({},s).serialize(u)}})}return j.isWordContent=g,j}),d("tinymce/pasteplugin/Quirks",["tinymce/Env","tinymce/util/Tools","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Utils"],function(a,b,c,d){return function(e){function f(a){e.on("BeforePastePreProcess",function(b){b.content=a(b.content)})}function g(a){if(!c.isWordContent(a))return a;var f=[];b.each(e.schema.getBlockElements(),function(a,b){f.push(b)});var g=new RegExp("(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*(<\\/?("+f.join("|")+")[^>]*>)(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*","g");return a=d.filter(a,[[g,"$1"]]),a=d.filter(a,[[/<br><br>/g,"<BR><BR>"],[/<br>/g," "],[/<BR><BR>/g,"<br>"]])}function h(a){if(c.isWordContent(a))return a;var b=e.settings.paste_webkit_styles;if(e.settings.paste_remove_styles_if_webkit===!1||"all"==b)return a;if(b&&(b=b.split(/[, ]/)),b){var d=e.dom,f=e.selection.getNode();a=a.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,function(a,c,e,g){var h=d.parseStyle(e,"span"),i={};if("none"===b)return c+g;for(var j=0;j<b.length;j++){var k=h[b[j]],l=d.getStyle(f,b[j],!0);/color/.test(b[j])&&(k=d.toHex(k),l=d.toHex(l)),l!=k&&(i[b[j]]=k)}return i=d.serializeStyle(i,"span"),i?c+' style="'+i+'"'+g:c+g})}else a=a.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return a=a.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,function(a,b,c,d){return b+' style="'+c+'"'+d})}a.webkit&&f(h),a.ie&&f(g)}}),d("tinymce/pasteplugin/Plugin",["tinymce/PluginManager","tinymce/pasteplugin/Clipboard","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Quirks"],function(a,b,c,d){var e;a.add("paste",function(a){function f(){"text"==g.pasteFormat?(this.active(!1),g.pasteFormat="html"):(g.pasteFormat="text",this.active(!0),e||(a.windowManager.alert("Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off."),e=!0))}var g,h=this,i=a.settings;h.clipboard=g=new b(a),h.quirks=new d(a),h.wordFilter=new c(a),a.settings.paste_as_text&&(h.clipboard.pasteFormat="text"),i.paste_preprocess&&a.on("PastePreProcess",function(a){i.paste_preprocess.call(h,h,a)}),i.paste_postprocess&&a.on("PastePostProcess",function(a){i.paste_postprocess.call(h,h,a)}),a.addCommand("mceInsertClipboardContent",function(a,b){b.content&&h.clipboard.pasteHtml(b.content),b.text&&h.clipboard.pasteText(b.text)}),a.paste_block_drop&&a.on("dragend dragover draggesture dragdrop drop drag",function(a){a.preventDefault(),a.stopPropagation()}),a.settings.paste_data_images||a.on("drop",function(a){var b=a.dataTransfer;b&&b.files&&b.files.length>0&&a.preventDefault()}),a.addButton("pastetext",{icon:"pastetext",tooltip:"Paste as text",onclick:f,active:"text"==h.clipboard.pasteFormat}),a.addMenuItem("pastetext",{text:"Paste as text",selectable:!0,active:g.pasteFormat,onclick:f})})}),f(["tinymce/pasteplugin/Utils"])}(this);
\ No newline at end of file
index 9fb89bcf1c804fbd89db5fe477daf413f6cb8153..9919b822082b1c79421aeb30ebf7ad233e4e9f9a 100644 (file)
@@ -36,7 +36,7 @@ tinymce.PluginManager.add('tabfocus', function(editor) {
                        }
 
                        function canSelect(el) {
-                               return /INPUT|TEXTAREA|BUTTON/.test(el.tagName) && tinymce.get(e.id)  && el.tabIndex != -1 && canSelectRecursive(el);
+                               return /INPUT|TEXTAREA|BUTTON/.test(el.tagName) && tinymce.get(e.id) && el.tabIndex != -1 && canSelectRecursive(el);
                        }
 
                        each(el, function(e, i) {
index b33988be8277cc74f10d53470a7aa23822b2ab6b..42aaeaadf0d55526374b7df8125b0ec89210b44f 100644 (file)
@@ -159,15 +159,19 @@ tinymce.PluginManager.add('textcolor', function(editor) {
        }
 
        function applyFormat(format, value) {
-               editor.focus();
-               editor.formatter.apply(format, {value: value});
-               editor.nodeChanged();
+               editor.undoManager.transact(function() {
+                       editor.focus();
+                       editor.formatter.apply(format, {value: value});
+                       editor.nodeChanged();
+               });
        }
 
        function removeFormat(format) {
-               editor.focus();
-               editor.formatter.remove(format, {value: null}, null, true);
-               editor.nodeChanged();
+               editor.undoManager.transact(function() {
+                       editor.focus();
+                       editor.formatter.remove(format, {value: null}, null, true);
+                       editor.nodeChanged();
+               });
        }
 
        function onPanelClick(e) {
@@ -179,6 +183,12 @@ tinymce.PluginManager.add('textcolor', function(editor) {
                        applyFormat(buttonCtrl.settings.format, value);
                }
 
+               function resetColor() {
+                       buttonCtrl.hidePanel();
+                       buttonCtrl.resetColor();
+                       removeFormat(buttonCtrl.settings.format);
+               }
+
                function setDivColor(div, value) {
                        div.style.background = value;
                        div.setAttribute('data-mce-color', value);
@@ -225,12 +235,10 @@ tinymce.PluginManager.add('textcolor', function(editor) {
                        this.lastId = e.target.id;
 
                        if (value == 'transparent') {
-                               removeFormat(buttonCtrl.settings.format);
-                               buttonCtrl.hidePanel();
-                               return;
+                               resetColor();
+                       } else {
+                               selectColor(value);
                        }
-
-                       selectColor(value);
                } else if (value !== null) {
                        buttonCtrl.hidePanel();
                }
@@ -241,6 +249,8 @@ tinymce.PluginManager.add('textcolor', function(editor) {
 
                if (self._color) {
                        applyFormat(self.settings.format, self._color);
+               } else {
+                       removeFormat(self.settings.format);
                }
        }
 
index a10cf79c1c9a203ce7ddfa49af3f8c8346816397..7ca105af4a6e20177c2c313e84f0247a3d797e2e 100644 (file)
@@ -1 +1 @@
-tinymce.PluginManager.add("textcolor",function(a){function b(b){var c;return a.dom.getParents(a.selection.getStart(),function(a){var d;(d=a.style["forecolor"==b?"color":"background-color"])&&(c=d)}),c}function c(){var b,c,d=[];for(c=a.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","Red violet","FFFFFF","White","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum"],b=0;b<c.length;b+=2)d.push({text:c[b+1],color:"#"+c[b]});return d}function d(){function b(a,b){var c="transparent"==a;return'<td class="mce-grid-cell'+(c?" mce-colorbtn-trans":"")+'"><div id="'+n+"-"+o++ +'" data-mce-color="'+(a?a:"")+'" role="option" tabIndex="-1" style="'+(a?"background-color: "+a:"")+'" title="'+tinymce.translate(b)+'">'+(c?"&#215;":"")+"</div></td>"}var d,e,f,g,h,k,l,m=this,n=m._id,o=0;for(d=c(),d.push({text:tinymce.translate("No color"),color:"transparent"}),f='<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>',g=d.length-1,k=0;j>k;k++){for(f+="<tr>",h=0;i>h;h++)l=k*i+h,l>g?f+="<td></td>":(e=d[l],f+=b(e.color,e.text));f+="</tr>"}if(a.settings.color_picker_callback){for(f+='<tr><td colspan="'+i+'" class="mce-custom-color-btn"><div id="'+n+'-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" role="button" tabindex="-1" aria-labelledby="'+n+'-c" style="width: 100%"><button type="button" role="presentation" tabindex="-1">'+tinymce.translate("Custom...")+"</button></div></td></tr>",f+="<tr>",h=0;i>h;h++)f+=b("","Custom color");f+="</tr>"}return f+="</tbody></table>"}function e(b,c){a.focus(),a.formatter.apply(b,{value:c}),a.nodeChanged()}function f(b){a.focus(),a.formatter.remove(b,{value:null},null,!0),a.nodeChanged()}function g(c){function d(a){j.hidePanel(),j.color(a),e(j.settings.format,a)}function g(a,b){a.style.background=b,a.setAttribute("data-mce-color",b)}var h,j=this.parent();if(tinymce.DOM.getParent(c.target,".mce-custom-color-btn")&&(j.hidePanel(),a.settings.color_picker_callback.call(a,function(a){var b,c,e,f=j.panel.getEl().getElementsByTagName("table")[0];for(b=tinymce.map(f.rows[f.rows.length-1].childNodes,function(a){return a.firstChild}),e=0;e<b.length&&(c=b[e],c.getAttribute("data-mce-color"));e++);if(e==i)for(e=0;i-1>e;e++)g(b[e],b[e+1].getAttribute("data-mce-color"));g(c,a),d(a)},b(j.settings.format))),h=c.target.getAttribute("data-mce-color")){if(this.lastId&&document.getElementById(this.lastId).setAttribute("aria-selected",!1),c.target.setAttribute("aria-selected",!0),this.lastId=c.target.id,"transparent"==h)return f(j.settings.format),void j.hidePanel();d(h)}else null!==h&&j.hidePanel()}function h(){var a=this;a._color&&e(a.settings.format,a._color)}var i,j;j=a.settings.textcolor_rows||5,i=a.settings.textcolor_cols||8,a.addButton("forecolor",{type:"colorbutton",tooltip:"Text color",format:"forecolor",panel:{role:"application",ariaRemember:!0,html:d,onclick:g},onclick:h}),a.addButton("backcolor",{type:"colorbutton",tooltip:"Background color",format:"hilitecolor",panel:{role:"application",ariaRemember:!0,html:d,onclick:g},onclick:h})});
\ No newline at end of file
+tinymce.PluginManager.add("textcolor",function(a){function b(b){var c;return a.dom.getParents(a.selection.getStart(),function(a){var d;(d=a.style["forecolor"==b?"color":"background-color"])&&(c=d)}),c}function c(){var b,c,d=[];for(c=a.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","Red violet","FFFFFF","White","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum"],b=0;b<c.length;b+=2)d.push({text:c[b+1],color:"#"+c[b]});return d}function d(){function b(a,b){var c="transparent"==a;return'<td class="mce-grid-cell'+(c?" mce-colorbtn-trans":"")+'"><div id="'+n+"-"+o++ +'" data-mce-color="'+(a?a:"")+'" role="option" tabIndex="-1" style="'+(a?"background-color: "+a:"")+'" title="'+tinymce.translate(b)+'">'+(c?"&#215;":"")+"</div></td>"}var d,e,f,g,h,k,l,m=this,n=m._id,o=0;for(d=c(),d.push({text:tinymce.translate("No color"),color:"transparent"}),f='<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>',g=d.length-1,k=0;j>k;k++){for(f+="<tr>",h=0;i>h;h++)l=k*i+h,l>g?f+="<td></td>":(e=d[l],f+=b(e.color,e.text));f+="</tr>"}if(a.settings.color_picker_callback){for(f+='<tr><td colspan="'+i+'" class="mce-custom-color-btn"><div id="'+n+'-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" role="button" tabindex="-1" aria-labelledby="'+n+'-c" style="width: 100%"><button type="button" role="presentation" tabindex="-1">'+tinymce.translate("Custom...")+"</button></div></td></tr>",f+="<tr>",h=0;i>h;h++)f+=b("","Custom color");f+="</tr>"}return f+="</tbody></table>"}function e(b,c){a.undoManager.transact(function(){a.focus(),a.formatter.apply(b,{value:c}),a.nodeChanged()})}function f(b){a.undoManager.transact(function(){a.focus(),a.formatter.remove(b,{value:null},null,!0),a.nodeChanged()})}function g(c){function d(a){k.hidePanel(),k.color(a),e(k.settings.format,a)}function g(){k.hidePanel(),k.resetColor(),f(k.settings.format)}function h(a,b){a.style.background=b,a.setAttribute("data-mce-color",b)}var j,k=this.parent();tinymce.DOM.getParent(c.target,".mce-custom-color-btn")&&(k.hidePanel(),a.settings.color_picker_callback.call(a,function(a){var b,c,e,f=k.panel.getEl().getElementsByTagName("table")[0];for(b=tinymce.map(f.rows[f.rows.length-1].childNodes,function(a){return a.firstChild}),e=0;e<b.length&&(c=b[e],c.getAttribute("data-mce-color"));e++);if(e==i)for(e=0;i-1>e;e++)h(b[e],b[e+1].getAttribute("data-mce-color"));h(c,a),d(a)},b(k.settings.format))),j=c.target.getAttribute("data-mce-color"),j?(this.lastId&&document.getElementById(this.lastId).setAttribute("aria-selected",!1),c.target.setAttribute("aria-selected",!0),this.lastId=c.target.id,"transparent"==j?g():d(j)):null!==j&&k.hidePanel()}function h(){var a=this;a._color?e(a.settings.format,a._color):f(a.settings.format)}var i,j;j=a.settings.textcolor_rows||5,i=a.settings.textcolor_cols||8,a.addButton("forecolor",{type:"colorbutton",tooltip:"Text color",format:"forecolor",panel:{role:"application",ariaRemember:!0,html:d,onclick:g},onclick:h}),a.addButton("backcolor",{type:"colorbutton",tooltip:"Background color",format:"hilitecolor",panel:{role:"application",ariaRemember:!0,html:d,onclick:g},onclick:h})});
\ No newline at end of file
index f3af6490ced16185f755fd0f26901c0bd61382ec..b0632aa923016ff9a62d8decaa9055ab5ef071e5 100644 (file)
@@ -4,7 +4,10 @@
 tinymce.ui.FloatPanel.zIndex = 100100;
 
 tinymce.PluginManager.add( 'wordpress', function( editor ) {
-       var DOM = tinymce.DOM, wpAdvButton, modKey, style,
+       var DOM = tinymce.DOM,
+               each = tinymce.each,
+               __ = editor.editorManager.i18n.translate,
+               wpAdvButton, style,
                last = 0;
 
        if ( typeof window.jQuery !== 'undefined' ) {
@@ -29,7 +32,7 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
                        state = 'hide';
                }
 
-               tinymce.each( toolbars, function( toolbar, i ) {
+               each( toolbars, function( toolbar, i ) {
                        if ( i > 0 ) {
                                if ( state === 'hide' ) {
                                        toolbar.hide();
@@ -91,7 +94,7 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
 
                if ( e.content ) {
                        if ( e.content.indexOf( '<!--more' ) !== -1 ) {
-                               title = editor.editorManager.i18n.translate( 'Read more...' );
+                               title = __( 'Read more...' );
 
                                e.content = e.content.replace( /<!--more(.*?)-->/g, function( match, moretext ) {
                                        return '<img src="' + tinymce.Env.transparentSrc + '" data-wp-more="more" data-wp-more-text="' + moretext + '" ' +
@@ -100,7 +103,7 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
                        }
 
                        if ( e.content.indexOf( '<!--nextpage-->' ) !== -1 ) {
-                               title = editor.editorManager.i18n.translate( 'Page break' );
+                               title = __( 'Page break' );
 
                                e.content = e.content.replace( /<!--nextpage-->/g,
                                        '<img src="' + tinymce.Env.transparentSrc + '" data-wp-more="nextpage" class="wp-more-tag mce-wp-nextpage" ' +
@@ -149,7 +152,7 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
                tag = tag || 'more';
                classname += ' mce-wp-' + tag;
                title = tag === 'more' ? 'Read more...' : 'Next page';
-               title = editor.editorManager.i18n.translate( title );
+               title = __( title );
                html = '<img src="' + tinymce.Env.transparentSrc + '" title="' + title + '" class="' + classname + '" ' +
                        'data-wp-more="' + tag + '" data-mce-resize="false" data-mce-placeholder="1" />';
 
@@ -309,7 +312,7 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
 
                bodyClass.push('wp-editor');
 
-               tinymce.each( bodyClass, function( cls ) {
+               each( bodyClass, function( cls ) {
                        if ( cls ) {
                                dom.addClass( doc.body, cls );
                        }
@@ -351,7 +354,7 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
 
                        editor.on( 'PastePostProcess', function( event ) {
                                // Remove empty paragraphs
-                               tinymce.each( dom.select( 'p', event.node ), function( node ) {
+                               each( dom.select( 'p', event.node ), function( node ) {
                                        if ( dom.isEmpty( node ) ) {
                                                dom.remove( node );
                                        }
@@ -394,8 +397,10 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
 
        // Remove spaces from empty paragraphs.
        editor.on( 'BeforeSetContent', function( event ) {
+               var paragraph = tinymce.Env.webkit ? '<p><br /></p>' : '<p></p>';
+
                if ( event.content ) {
-                       event.content = event.content.replace( /<p>(?:&nbsp;|\u00a0|\uFEFF| )+<\/p>/gi, '<p></p>' );
+                       event.content = event.content.replace( /<p>(?:&nbsp;|\u00a0|\uFEFF|\s)+<\/p>/gi, paragraph );
                }
        });
 
@@ -406,112 +411,344 @@ tinymce.PluginManager.add( 'wordpress', function( editor ) {
                if ( tinymce.Env.iOS ) {
                        editor.settings.height = 300;
                }
-       });
 
-       // 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();
-               }
-       });
+               each( {
+                       c: 'JustifyCenter',
+                       r: 'JustifyRight',
+                       l: 'JustifyLeft',
+                       j: 'JustifyFull',
+                       q: 'mceBlockQuote',
+                       u: 'InsertUnorderedList',
+                       o: 'InsertOrderedList',
+                       s: 'unlink',
+                       m: 'WP_Medialib',
+                       z: 'WP_Adv',
+                       t: 'WP_More',
+                       d: 'Strikethrough',
+                       h: 'WP_Help',
+                       p: 'WP_Page',
+                       x: 'WP_Code'
+               }, function( command, key ) {
+                       editor.shortcuts.add( 'access+' + key, '', command );
+               } );
+
+               editor.addShortcut( 'ctrl+s', '', function() {
+                       if ( typeof wp !== 'undefined' && wp.autosave ) {
+                               wp.autosave.server.triggerSave();
+                       }
+               } );
+       } );
+
+       /**
+        * Experimental: create a floating toolbar.
+        * This functionality will change in the next releases. Not recommended for use by plugins.
+        */
+       ( function() {
+               var Factory = tinymce.ui.Factory,
+                       settings = editor.settings,
+                       currentToolbar,
+                       currentSelection;
+
+               function create( buttons ) {
+                       var toolbar,
+                               toolbarItems = [],
+                               buttonGroup;
+
+                       each( buttons, function( item ) {
+                               var itemName;
+
+                               function bindSelectorChanged() {
+                                       var selection = editor.selection;
+
+                                       if ( itemName === 'bullist' ) {
+                                               selection.selectorChanged( 'ul > li', function( state, args ) {
+                                                       var i = args.parents.length,
+                                                               nodeName;
+
+                                                       while ( i-- ) {
+                                                               nodeName = args.parents[ i ].nodeName;
+
+                                                               if ( nodeName === 'OL' || nodeName == 'UL' ) {
+                                                                       break;
+                                                               }
+                                                       }
+
+                                                       item.active( state && nodeName === 'UL' );
+                                               } );
+                                       }
 
-       // popup buttons for the gallery, etc.
-       editor.on( 'init', function() {
-               editor.dom.bind( editor.getWin(), 'scroll', function() {
-                       _hideButtons();
-               });
+                                       if ( itemName === 'numlist' ) {
+                                               selection.selectorChanged( 'ol > li', function( state, args ) {
+                                                       var i = args.parents.length,
+                                                               nodeName;
 
-               editor.dom.bind( editor.getBody(), 'dragstart', function() {
-                       _hideButtons();
-               });
-       });
+                                                       while ( i-- ) {
+                                                               nodeName = args.parents[ i ].nodeName;
 
-       editor.on( 'BeforeExecCommand', function() {
-               _hideButtons();
-       });
+                                                               if ( nodeName === 'OL' || nodeName === 'UL' ) {
+                                                                       break;
+                                                               }
+                                                       }
 
-       editor.on( 'SaveContent', function() {
-               _hideButtons();
-       });
+                                                       item.active( state && nodeName === 'OL' );
+                                               } );
+                                       }
 
-       editor.on( 'MouseDown', function( e ) {
-               if ( e.target.nodeName !== 'IMG' ) {
-                       _hideButtons();
-               }
-       });
+                                       if ( item.settings.stateSelector ) {
+                                               selection.selectorChanged( item.settings.stateSelector, function( state ) {
+                                                       item.active( state );
+                                               }, true );
+                                       }
 
-       editor.on( 'keydown', function( e ) {
-               if ( e.which === tinymce.util.VK.DELETE || e.which === tinymce.util.VK.BACKSPACE ) {
-                       _hideButtons();
-               }
-       });
+                                       if ( item.settings.disabledStateSelector ) {
+                                               selection.selectorChanged( item.settings.disabledStateSelector, function( state ) {
+                                                       item.disabled( state );
+                                               } );
+                                       }
+                               }
 
-       // 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" />';
-               });
-       }
+                               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 ] ) {
+                                                       itemName = item;
+                                                       item = editor.buttons[ itemName ];
 
-       function _getEmbed( c ) {
-               return c.replace( /<img[^>]+>/g, function( a ) {
-                       if ( a.indexOf('class="wp-oembed') !== -1 ) {
-                               var u = a.match( /alt="([^\"]+)"/ );
+                                                       if ( typeof item === 'function' ) {
+                                                               item = item();
+                                                       }
 
-                               if ( u[1] ) {
-                                       a = '[embed]' + u[1] + '[/embed]';
+                                                       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 );
+                                                       }
+                                               }
+                                       }
                                }
+                       } );
+
+                       toolbar = Factory.create( {
+                               type: 'panel',
+                               layout: 'stack',
+                               classes: 'toolbar-grp inline-toolbar-grp',
+                               ariaRoot: true,
+                               ariaRemember: true,
+                               items: [ {
+                                       type: 'toolbar',
+                                       layout: 'flow',
+                                       items: toolbarItems
+                               } ]
+                       } );
+
+                       function hide() {
+                               toolbar.hide();
                        }
 
-                       return a;
-               });
-       }
+                       function reposition() {
+                               var top, left, minTop, className,
+                                       windowPos, adminbar, mceToolbar, boundary,
+                                       boundaryMiddle, boundaryVerticalMiddle, spaceTop,
+                                       spaceBottom, windowWidth, toolbarWidth, toolbarHalf,
+                                       iframe, iframePos, iframeWidth, iframeHeigth,
+                                       toolbarNodeHeight, verticalSpaceNeeded,
+                                       toolbarNode = this.getEl(),
+                                       buffer = 5,
+                                       margin = 8,
+                                       adminbarHeight = 0;
+
+                               if ( ! currentSelection ) {
+                                       return;
+                               }
+
+                               windowPos = window.pageYOffset || document.documentElement.scrollTop;
+                               adminbar = tinymce.$( '#wpadminbar' )[0];
+                               mceToolbar = tinymce.$( '.mce-toolbar-grp', editor.getContainer() )[0];
+                               boundary = currentSelection.getBoundingClientRect();
+                               boundaryMiddle = ( boundary.left + boundary.right ) / 2;
+                               boundaryVerticalMiddle = ( boundary.top + boundary.bottom ) / 2;
+                               spaceTop = boundary.top;
+                               spaceBottom = iframeHeigth - boundary.bottom;
+                               windowWidth = window.innerWidth;
+                               toolbarWidth = toolbarNode.offsetWidth;
+                               toolbarHalf = toolbarWidth / 2;
+                               iframe = document.getElementById( editor.id + '_ifr' );
+                               iframePos = DOM.getPos( iframe );
+                               iframeWidth = iframe.offsetWidth;
+                               iframeHeigth = iframe.offsetHeight;
+                               toolbarNodeHeight = toolbarNode.offsetHeight;
+                               verticalSpaceNeeded = toolbarNodeHeight + margin + buffer;
+
+                               if ( spaceTop >= verticalSpaceNeeded ) {
+                                       className = ' mce-arrow-down';
+                                       top = boundary.top + iframePos.y - toolbarNodeHeight - margin;
+                               } else if ( spaceBottom >= verticalSpaceNeeded ) {
+                                       className = ' mce-arrow-up';
+                                       top = boundary.bottom + iframePos.y;
+                               } else {
+                                       top = buffer;
 
-       function _showButtons( n, id ) {
-               var p1, p2, vp, X, Y;
+                                       if ( boundaryVerticalMiddle >= verticalSpaceNeeded ) {
+                                               className = ' mce-arrow-down';
+                                       } else {
+                                               className = ' mce-arrow-up';
+                                       }
+                               }
 
-               vp = editor.dom.getViewPort( editor.getWin() );
-               p1 = DOM.getPos( editor.getContentAreaContainer() );
-               p2 = editor.dom.getPos( n );
+                               // Make sure the image toolbar is below the main toolbar.
+                               if ( mceToolbar ) {
+                                       minTop = DOM.getPos( mceToolbar ).y + mceToolbar.clientHeight;
+                               } else {
+                                       minTop = iframePos.y;
+                               }
 
-               X = Math.max( p2.x - vp.x, 0 ) + p1.x;
-               Y = Math.max( p2.y - vp.y, 0 ) + p1.y;
+                               // Make sure the image toolbar is below the adminbar (if visible) or below the top of the window.
+                               if ( windowPos ) {
+                                       if ( adminbar && adminbar.getBoundingClientRect().top === 0 ) {
+                                               adminbarHeight = adminbar.clientHeight;
+                                       }
 
-               DOM.setStyles( id, {
-                       'top' : Y + 5 + 'px',
-                       'left' : X + 5 + 'px',
-                       'display': 'block'
-               });
-       }
+                                       if ( windowPos + adminbarHeight > minTop ) {
+                                               minTop = windowPos + adminbarHeight;
+                                       }
+                               }
 
-       function _hideButtons() {
-               DOM.hide( DOM.select( '#wp_editbtns, #wp_gallerybtns' ) );
-       }
+                               if ( top && minTop && ( minTop + buffer > top ) ) {
+                                       top = minTop + buffer;
+                                       className = '';
+                               }
+
+                               left = boundaryMiddle - toolbarHalf;
+                               left += iframePos.x;
+
+                               if ( boundary.left < 0 || boundary.right > iframeWidth ) {
+                                       left = iframePos.x + ( iframeWidth - toolbarWidth ) / 2;
+                               } else if ( toolbarWidth >= windowWidth ) {
+                                       className += ' mce-arrow-full';
+                                       left = 0;
+                               } else if ( ( left < 0 && boundary.left + toolbarWidth > windowWidth ) ||
+                                       ( left + toolbarWidth > windowWidth && boundary.right - toolbarWidth < 0 ) ) {
+
+                                       left = ( windowWidth - toolbarWidth ) / 2;
+                               } else if ( left < iframePos.x ) {
+                                       className += ' mce-arrow-left';
+                                       left = boundary.left + iframePos.x;
+                               } else if ( left + toolbarWidth > iframeWidth + iframePos.x ) {
+                                       className += ' mce-arrow-right';
+                                       left = boundary.right - toolbarWidth + iframePos.x;
+                               }
+
+                               toolbarNode.className = toolbarNode.className.replace( / ?mce-arrow-[\w]+/g, '' );
+                               toolbarNode.className += className;
+
+                               DOM.setStyles( toolbarNode, { 'left': left, 'top': top } );
+
+                               return this;
+                       }
+
+                       toolbar.on( 'show', function() {
+                               currentToolbar = this;
+                               this.reposition();
+                       } );
+
+                       toolbar.on( 'hide', function() {
+                               currentToolbar = false;
+                       } );
+
+                       toolbar.on( 'keydown', function( event ) {
+                               if ( event.keyCode === 27 ) {
+                                       this.hide();
+                                       editor.focus();
+                               }
+                       } );
+
+                       toolbar.on( 'remove', function() {
+                               DOM.unbind( window, 'resize scroll', hide );
+                               editor.dom.unbind( editor.getWin(), 'resize scroll', hide );
+                               editor.off( 'blur hide', hide );
+                       } );
+
+                       editor.once( 'init', function() {
+                               DOM.bind( window, 'resize scroll', hide );
+                               editor.dom.bind( editor.getWin(), 'resize scroll', hide );
+                               editor.on( 'blur hide', hide );
+                       } );
+
+                       toolbar.reposition = reposition;
+                       toolbar.hide().renderTo( document.body );
+
+                       return toolbar;
+               }
+
+               editor.shortcuts.add( 'alt+119', '', function() {
+                       var node;
+
+                       if ( currentToolbar ) {
+                               node = currentToolbar.find( 'toolbar' )[0];
+                               node && node.focus( true );
+                       }
+               } );
+
+               editor.on( 'nodechange', function( event ) {
+                       var collapsed = editor.selection.isCollapsed();
+
+                       var args = {
+                               element: event.element,
+                               parents: event.parents,
+                               collapsed: collapsed
+                       };
+
+                       editor.fire( 'wptoolbar', args );
+
+                       currentSelection = args.selection || args.element;
+
+                       currentToolbar && currentToolbar.hide();
+                       args.toolbar && args.toolbar.show();
+               } );
+
+               editor.wp = editor.wp || {};
+               editor.wp._createToolbar = create;
+       }());
+
+       function noop() {}
 
        // Expose some functions (back-compat)
        return {
-               _showButtons: _showButtons,
-               _hideButtons: _hideButtons,
-               _setEmbed: _setEmbed,
-               _getEmbed: _getEmbed
+               _showButtons: noop,
+               _hideButtons: noop,
+               _setEmbed: noop,
+               _getEmbed: noop
        };
 });
index 2575374bf34495015ddfd16412d68b7fa2b7143a..edf81164494f0d3df0a1f52e6c54ac0fc6d41b0b 100644 (file)
@@ -1 +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&&(tinymce.Env.iOS||(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))),a.fire("wp-toolbar-toggle"))}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"undefined"!=typeof window.jQuery&&window.jQuery(document).triggerHandler("tinymce-editor-setup",[a]),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(){a.getParam("wordpress_adv_hidden",!0)&&"0"===getUserSetting("hidetb","0")&&b("hide")}),a.addCommand("WP_Adv",function(){b()}),a.on("focus",function(){window.wpActiveEditor=a.id}),a.on("BeforeSetContent",function(b){var c;b.content&&(-1!==b.content.indexOf("<!--more")&&(c=a.editorManager.i18n.translate("Read more..."),b.content=b.content.replace(/<!--more(.*?)-->/g,function(a,b){return'<img src="'+tinymce.Env.transparentSrc+'" data-wp-more="more" data-wp-more-text="'+b+'" class="wp-more-tag mce-wp-more" title="'+c+'" data-mce-resize="false" data-mce-placeholder="1" />'})),-1!==b.content.indexOf("<!--nextpage-->")&&(c=a.editorManager.i18n.translate("Page break"),b.content=b.content.replace(/<!--nextpage-->/g,'<img src="'+tinymce.Env.transparentSrc+'" data-wp-more="nextpage" class="wp-more-tag mce-wp-nextpage" title="'+c+'" data-mce-resize="false" data-mce-placeholder="1" />')))}),a.on("PostProcess",function(a){a.get&&(a.content=a.content.replace(/<img[^>]+>/g,function(a){var b,c="";return-1!==a.indexOf('data-wp-more="more"')?((b=a.match(/data-wp-more-text="([^"]+)"/))&&(c=b[1]),a="<!--more"+c+"-->"):-1!==a.indexOf('data-wp-more="nextpage"')&&(a="<!--nextpage-->"),a}))}),a.on("ResolveName",function(b){var c;"IMG"===b.target.nodeName&&(c=a.dom.getAttrib(b.target,"data-wp-more"))&&(b.name=c)}),a.addCommand("WP_More",function(b){var c,d,e,f="wp-more-tag",g=a.dom,h=a.selection.getNode();return b=b||"more",f+=" mce-wp-"+b,e="more"===b?"Read more...":"Next page",e=a.editorManager.i18n.translate(e),d='<img src="'+tinymce.Env.transparentSrc+'" title="'+e+'" class="'+f+'" data-wp-more="'+b+'" 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,classes:"wp-help",buttons:{text:"Close",onclick:"close"}})}),a.addCommand("WP_Medialib",function(){"undefined"!=typeof wp&&wp.media&&wp.media.editor&&wp.media.editor.open(a.id)}),a.addButton("wp_more",{tooltip:"Insert Read More tag",onclick:function(){a.execCommand("WP_More","more")}}),a.addButton("wp_page",{tooltip:"Page break",onclick:function(){a.execCommand("WP_More","nextpage")}}),a.addButton("wp_help",{tooltip:"Keyboard Shortcuts",cmd:"WP_Help"}),a.addButton("wp_code",{tooltip:"Code",cmd:"WP_Code",stateSelector:"code"}),"undefined"!=typeof wp&&wp.media&&wp.media.editor&&a.addMenuItem("add_media",{text:"Add Media",icon:"wp-media-library",context:"insert",cmd:"WP_Medialib"}),a.addMenuItem("wp_more",{text:"Insert Read More tag",icon:"wp_more",context:"insert",onclick:function(){a.execCommand("WP_More","more")}}),a.addMenuItem("wp_page",{text:"Page break",icon:"wp_page",context:"insert",onclick:function(){a.execCommand("WP_More","nextpage")}}),a.on("BeforeExecCommand",function(b){!tinymce.Env.webkit||"InsertUnorderedList"!==b.command&&"InsertOrderedList"!==b.command||(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;tinymce.Env.iOS&&e.addClass(d.documentElement,"ios"),"rtl"===a.getParam("directionality")&&(c.push("rtl"),e.setAttrib(d.documentElement,"dir","rtl")),b.ie?9===parseInt(b.ie,10)?c.push("ie9"):8===parseInt(b.ie,10)?c.push("ie8"):b.ie<8&&c.push("ie7"):b.webkit&&c.push("webkit"),c.push("wp-editor"),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).trigger(new window.jQuery.Event(a))}),a.getParam("wp_paste_filters",!0)&&(tinymce.Env.webkit||a.on("PastePreProcess",function(a){a.content=a.content.replace(/(<[^>]+) style="[^"]*"([^>]*>)/gi,"$1$2"),a.content=a.content.replace(/(<[^>]+) data-mce-style=([^>]+>)/gi,"$1 style=$2")}),a.on("PastePostProcess",function(a){tinymce.each(e.select("p",a.node),function(a){e.isEmpty(a)&&e.remove(a)})}))}),"undefined"!=typeof window.jQuery&&a.on("keyup",function(b){var c=b.keyCode||b.charCode;c!==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.inline&&a.isHidden()?void(b.content=b.element.value):(b.content=b.content.replace(/<p>(?:<br ?\/?>|\u00a0|\uFEFF| )*<\/p>/g,"<p>&nbsp;</p>"),void(a.getParam("wpautop",!0)&&"undefined"!=typeof window.switchEditors&&(b.content=window.switchEditors.pre_wpautop(b.content))))}),a.on("BeforeSetContent",function(a){a.content&&(a.content=a.content.replace(/<p>(?:&nbsp;|\u00a0|\uFEFF| )+<\/p>/gi,"<p></p>"))}),a.on("preInit",function(){a.schema.addValidElements("@[id|accesskey|class|dir|lang|style|tabindex|title|contenteditable|draggable|dropzone|hidden|spellcheck|translate],i,b"),tinymce.Env.iOS&&(a.settings.height=300)}),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
+tinymce.ui.FloatPanel.zIndex=100100,tinymce.PluginManager.add("wordpress",function(a){function b(b){var c,e,h,i=0;e="hide"===b,a.theme.panel&&(h=a.theme.panel.find(".toolbar:not(.menubar)")),!h||h.length<2||"hide"===b&&!h[1].visible()||(!b&&h[1].visible()&&(b="hide"),g(h,function(a,c){c>0&&("hide"===b?(a.hide(),i+=30):(a.show(),i-=30))}),i&&!e&&(tinymce.Env.iOS||(c=a.getContentAreaContainer().firstChild,f.setStyle(c,"height",c.clientHeight+i)),"hide"===b?(setUserSetting("hidetb","0"),d&&d.active(!1)):(setUserSetting("hidetb","1"),d&&d.active(!0))),a.fire("wp-toolbar-toggle"))}function c(){}var d,e,f=tinymce.DOM,g=tinymce.each,h=a.editorManager.i18n.translate,i=0;return"undefined"!=typeof window.jQuery&&window.jQuery(document).triggerHandler("tinymce-editor-setup",[a]),a.addButton("wp_adv",{tooltip:"Toolbar Toggle",cmd:"WP_Adv",onPostRender:function(){d=this,d.active("1"===getUserSetting("hidetb")?!0:!1)}}),a.on("PostRender",function(){a.getParam("wordpress_adv_hidden",!0)&&"0"===getUserSetting("hidetb","0")&&b("hide")}),a.addCommand("WP_Adv",function(){b()}),a.on("focus",function(){window.wpActiveEditor=a.id}),a.on("BeforeSetContent",function(a){var b;a.content&&(-1!==a.content.indexOf("<!--more")&&(b=h("Read more..."),a.content=a.content.replace(/<!--more(.*?)-->/g,function(a,c){return'<img src="'+tinymce.Env.transparentSrc+'" data-wp-more="more" data-wp-more-text="'+c+'" class="wp-more-tag mce-wp-more" title="'+b+'" data-mce-resize="false" data-mce-placeholder="1" />'})),-1!==a.content.indexOf("<!--nextpage-->")&&(b=h("Page break"),a.content=a.content.replace(/<!--nextpage-->/g,'<img src="'+tinymce.Env.transparentSrc+'" data-wp-more="nextpage" class="wp-more-tag mce-wp-nextpage" title="'+b+'" data-mce-resize="false" data-mce-placeholder="1" />')))}),a.on("PostProcess",function(a){a.get&&(a.content=a.content.replace(/<img[^>]+>/g,function(a){var b,c="";return-1!==a.indexOf('data-wp-more="more"')?((b=a.match(/data-wp-more-text="([^"]+)"/))&&(c=b[1]),a="<!--more"+c+"-->"):-1!==a.indexOf('data-wp-more="nextpage"')&&(a="<!--nextpage-->"),a}))}),a.on("ResolveName",function(b){var c;"IMG"===b.target.nodeName&&(c=a.dom.getAttrib(b.target,"data-wp-more"))&&(b.name=c)}),a.addCommand("WP_More",function(b){var c,d,e,f="wp-more-tag",g=a.dom,i=a.selection.getNode();return b=b||"more",f+=" mce-wp-"+b,e="more"===b?"Read more...":"Next page",e=h(e),d='<img src="'+tinymce.Env.transparentSrc+'" title="'+e+'" class="'+f+'" data-wp-more="'+b+'" data-mce-resize="false" data-mce-placeholder="1" />',"BODY"===i.nodeName||"P"===i.nodeName&&"BODY"===i.parentNode.nodeName?void a.insertContent(d):(c=g.getParent(i,function(a){return a.parentNode&&"BODY"===a.parentNode.nodeName?!0:!1},a.getBody()),void(c&&("P"===c.nodeName?c.appendChild(g.create("p",null,d).firstChild):g.insertAfter(g.create("p",null,d),c),a.nodeChanged())))}),a.addCommand("WP_Code",function(){a.formatter.toggle("code")}),a.addCommand("WP_Page",function(){a.execCommand("WP_More","nextpage")}),a.addCommand("WP_Help",function(){a.windowManager.open({url:tinymce.baseURL+"/wp-mce-help.php",title:"Keyboard Shortcuts",width:450,height:420,classes:"wp-help",buttons:{text:"Close",onclick:"close"}})}),a.addCommand("WP_Medialib",function(){"undefined"!=typeof wp&&wp.media&&wp.media.editor&&wp.media.editor.open(a.id)}),a.addButton("wp_more",{tooltip:"Insert Read More tag",onclick:function(){a.execCommand("WP_More","more")}}),a.addButton("wp_page",{tooltip:"Page break",onclick:function(){a.execCommand("WP_More","nextpage")}}),a.addButton("wp_help",{tooltip:"Keyboard Shortcuts",cmd:"WP_Help"}),a.addButton("wp_code",{tooltip:"Code",cmd:"WP_Code",stateSelector:"code"}),"undefined"!=typeof wp&&wp.media&&wp.media.editor&&a.addMenuItem("add_media",{text:"Add Media",icon:"wp-media-library",context:"insert",cmd:"WP_Medialib"}),a.addMenuItem("wp_more",{text:"Insert Read More tag",icon:"wp_more",context:"insert",onclick:function(){a.execCommand("WP_More","more")}}),a.addMenuItem("wp_page",{text:"Page break",icon:"wp_page",context:"insert",onclick:function(){a.execCommand("WP_More","nextpage")}}),a.on("BeforeExecCommand",function(b){!tinymce.Env.webkit||"InsertUnorderedList"!==b.command&&"InsertOrderedList"!==b.command||(e||(e=a.dom.create("style",{type:"text/css"},"#tinymce,#tinymce span,#tinymce li,#tinymce li>span,#tinymce p,#tinymce p>span{font:medium sans-serif;color:#000;line-height:normal;}")),a.getDoc().head.appendChild(e))}),a.on("ExecCommand",function(b){tinymce.Env.webkit&&e&&("InsertUnorderedList"===b.command||"InsertOrderedList"===b.command)&&a.dom.remove(e)}),a.on("init",function(){var b=tinymce.Env,c=["mceContentBody"],d=a.getDoc(),e=a.dom;tinymce.Env.iOS&&e.addClass(d.documentElement,"ios"),"rtl"===a.getParam("directionality")&&(c.push("rtl"),e.setAttrib(d.documentElement,"dir","rtl")),b.ie?9===parseInt(b.ie,10)?c.push("ie9"):8===parseInt(b.ie,10)?c.push("ie8"):b.ie<8&&c.push("ie7"):b.webkit&&c.push("webkit"),c.push("wp-editor"),g(c,function(a){a&&e.addClass(d.body,a)}),a.on("BeforeSetContent",function(a){a.content&&(a.content=a.content.replace(/<p>\s*<(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)( [^>]*)?>/gi,"<$1$2>"),a.content=a.content.replace(/<\/(p|div|ul|ol|dl|table|blockquote|h[1-6]|fieldset|pre|address)>\s*<\/p>/gi,"</$1>"))}),"undefined"!=typeof window.jQuery&&window.jQuery(document).triggerHandler("tinymce-editor-init",[a]),window.tinyMCEPreInit&&window.tinyMCEPreInit.dragDropUpload&&e.bind(d,"dragstart dragend dragover drop",function(a){"undefined"!=typeof window.jQuery&&window.jQuery(document).trigger(new window.jQuery.Event(a))}),a.getParam("wp_paste_filters",!0)&&(tinymce.Env.webkit||a.on("PastePreProcess",function(a){a.content=a.content.replace(/(<[^>]+) style="[^"]*"([^>]*>)/gi,"$1$2"),a.content=a.content.replace(/(<[^>]+) data-mce-style=([^>]+>)/gi,"$1 style=$2")}),a.on("PastePostProcess",function(a){g(e.select("p",a.node),function(a){e.isEmpty(a)&&e.remove(a)})}))}),"undefined"!=typeof window.jQuery&&a.on("keyup",function(b){var c=b.keyCode||b.charCode;c!==i&&((13===c||8===i||46===i)&&window.jQuery(document).triggerHandler("wpcountwords",[a.getContent({format:"raw"})]),i=c)}),a.on("SaveContent",function(b){return!a.inline&&a.isHidden()?void(b.content=b.element.value):(b.content=b.content.replace(/<p>(?:<br ?\/?>|\u00a0|\uFEFF| )*<\/p>/g,"<p>&nbsp;</p>"),void(a.getParam("wpautop",!0)&&"undefined"!=typeof window.switchEditors&&(b.content=window.switchEditors.pre_wpautop(b.content))))}),a.on("BeforeSetContent",function(a){var b=tinymce.Env.webkit?"<p><br /></p>":"<p></p>";a.content&&(a.content=a.content.replace(/<p>(?:&nbsp;|\u00a0|\uFEFF|\s)+<\/p>/gi,b))}),a.on("preInit",function(){a.schema.addValidElements("@[id|accesskey|class|dir|lang|style|tabindex|title|contenteditable|draggable|dropzone|hidden|spellcheck|translate],i,b"),tinymce.Env.iOS&&(a.settings.height=300),g({c:"JustifyCenter",r:"JustifyRight",l:"JustifyLeft",j:"JustifyFull",q:"mceBlockQuote",u:"InsertUnorderedList",o:"InsertOrderedList",s:"unlink",m:"WP_Medialib",z:"WP_Adv",t:"WP_More",d:"Strikethrough",h:"WP_Help",p:"WP_Page",x:"WP_Code"},function(b,c){a.shortcuts.add("access+"+c,"",b)}),a.addShortcut("ctrl+s","",function(){"undefined"!=typeof wp&&wp.autosave&&wp.autosave.server.triggerSave()})}),function(){function b(b){function i(){k.hide()}function j(){var b,c,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y=this.getEl(),z=5,A=8,B=0;if(d)return h=window.pageYOffset||document.documentElement.scrollTop,i=tinymce.$("#wpadminbar")[0],j=tinymce.$(".mce-toolbar-grp",a.getContainer())[0],k=d.getBoundingClientRect(),l=(k.left+k.right)/2,m=(k.top+k.bottom)/2,n=k.top,o=v-k.bottom,p=window.innerWidth,q=y.offsetWidth,r=q/2,s=document.getElementById(a.id+"_ifr"),t=f.getPos(s),u=s.offsetWidth,v=s.offsetHeight,w=y.offsetHeight,x=w+A+z,n>=x?(g=" mce-arrow-down",b=k.top+t.y-w-A):o>=x?(g=" mce-arrow-up",b=k.bottom+t.y):(b=z,g=m>=x?" mce-arrow-down":" mce-arrow-up"),e=j?f.getPos(j).y+j.clientHeight:t.y,h&&(i&&0===i.getBoundingClientRect().top&&(B=i.clientHeight),h+B>e&&(e=h+B)),b&&e&&e+z>b&&(b=e+z,g=""),c=l-r,c+=t.x,k.left<0||k.right>u?c=t.x+(u-q)/2:q>=p?(g+=" mce-arrow-full",c=0):0>c&&k.left+q>p||c+q>p&&k.right-q<0?c=(p-q)/2:c<t.x?(g+=" mce-arrow-left",c=k.left+t.x):c+q>u+t.x&&(g+=" mce-arrow-right",c=k.right-q+t.x),y.className=y.className.replace(/ ?mce-arrow-[\w]+/g,""),y.className+=g,f.setStyles(y,{left:c,top:b}),this}var k,l,m=[];return g(b,function(b){function c(){var c=a.selection;"bullist"===d&&c.selectorChanged("ul > li",function(a,c){for(var d,e=c.parents.length;e--&&(d=c.parents[e].nodeName,"OL"!==d&&"UL"!=d););b.active(a&&"UL"===d)}),"numlist"===d&&c.selectorChanged("ol > li",function(a,c){for(var d,e=c.parents.length;e--&&(d=c.parents[e].nodeName,"OL"!==d&&"UL"!==d););b.active(a&&"OL"===d)}),b.settings.stateSelector&&c.selectorChanged(b.settings.stateSelector,function(a){b.active(a)},!0),b.settings.disabledStateSelector&&c.selectorChanged(b.settings.disabledStateSelector,function(a){b.disabled(a)})}var d;"|"===b?l=null:e.has(b)?(b={type:b},h.toolbar_items_size&&(b.size=h.toolbar_items_size),m.push(b),l=null):(l||(l={type:"buttongroup",items:[]},m.push(l)),a.buttons[b]&&(d=b,b=a.buttons[d],"function"==typeof b&&(b=b()),b.type=b.type||"button",h.toolbar_items_size&&(b.size=h.toolbar_items_size),b=e.create(b),l.items.push(b),a.initialized?c():a.on("init",c)))}),k=e.create({type:"panel",layout:"stack",classes:"toolbar-grp inline-toolbar-grp",ariaRoot:!0,ariaRemember:!0,items:[{type:"toolbar",layout:"flow",items:m}]}),k.on("show",function(){c=this,this.reposition()}),k.on("hide",function(){c=!1}),k.on("keydown",function(b){27===b.keyCode&&(this.hide(),a.focus())}),k.on("remove",function(){f.unbind(window,"resize scroll",i),a.dom.unbind(a.getWin(),"resize scroll",i),a.off("blur hide",i)}),a.once("init",function(){f.bind(window,"resize scroll",i),a.dom.bind(a.getWin(),"resize scroll",i),a.on("blur hide",i)}),k.reposition=j,k.hide().renderTo(document.body),k}var c,d,e=tinymce.ui.Factory,h=a.settings;a.shortcuts.add("alt+119","",function(){var a;c&&(a=c.find("toolbar")[0],a&&a.focus(!0))}),a.on("nodechange",function(b){var e=a.selection.isCollapsed(),f={element:b.element,parents:b.parents,collapsed:e};a.fire("wptoolbar",f),d=f.selection||f.element,c&&c.hide(),f.toolbar&&f.toolbar.show()}),a.wp=a.wp||{},a.wp._createToolbar=b}(),{_showButtons:c,_hideButtons:c,_setEmbed:c,_getEmbed:c}});
\ No newline at end of file
index 38ee2f8ed31c99e74e2718cff6ee86279d5c8a47..98905f6478a67259021bbb1b511530a87b0743b7 100644 (file)
@@ -25,12 +25,12 @@ tinymce.PluginManager.add( 'wpautoresize', function( editor ) {
                oldSize = 300,
                isActive = false;
 
-       function isFullscreen() {
-               return editor.plugins.fullscreen && editor.plugins.fullscreen.isFullscreen();
+       if ( editor.settings.inline || tinymce.Env.iOS ) {
+               return;
        }
 
-       if ( editor.settings.inline ) {
-               return;
+       function isFullscreen() {
+               return editor.plugins.fullscreen && editor.plugins.fullscreen.isFullscreen();
        }
 
        function getInt( n ) {
index a63aa887228597a6a9c25a6c2d6d65d206700ac9..6970a9c2406bcc2e6cfa37ea93358737b6cdf631 100644 (file)
@@ -1 +1 @@
-tinymce.PluginManager.add("wpautoresize",function(a){function b(){return a.plugins.fullscreen&&a.plugins.fullscreen.isFullscreen()}function c(a){return parseInt(a,10)||0}function d(e){var f,g,k,l,m,n,o,p,q,r,s,t,u=tinymce.DOM;if(j&&(g=a.getDoc())){if(e=e||{},k=g.body,l=g.documentElement,m=h.autoresize_min_height,!k||e&&"setcontent"===e.type&&e.initial||b())return void(k&&l&&(k.style.overflowY="auto",l.style.overflowY="auto"));o=a.dom.getStyle(k,"margin-top",!0),p=a.dom.getStyle(k,"margin-bottom",!0),q=a.dom.getStyle(k,"padding-top",!0),r=a.dom.getStyle(k,"padding-bottom",!0),s=a.dom.getStyle(k,"border-top-width",!0),t=a.dom.getStyle(k,"border-bottom-width",!0),n=k.offsetHeight+c(o)+c(p)+c(q)+c(r)+c(s)+c(t),n&&n<l.offsetHeight&&(n=l.offsetHeight),(isNaN(n)||0>=n)&&(n=tinymce.Env.ie?k.scrollHeight:tinymce.Env.webkit&&0===k.clientHeight?0:k.offsetHeight),n>h.autoresize_min_height&&(m=n),h.autoresize_max_height&&n>h.autoresize_max_height?(m=h.autoresize_max_height,k.style.overflowY="auto",l.style.overflowY="auto"):(k.style.overflowY="hidden",l.style.overflowY="hidden",k.scrollTop=0),m!==i&&(f=m-i,u.setStyle(a.iframeElement,"height",m+"px"),i=m,tinymce.isWebKit&&0>f&&d(e),a.fire("wp-autoresize",{height:m,deltaHeight:"nodechange"===e.type?f:null}))}}function e(a,b,c){setTimeout(function(){d(),a--?e(a,b,c):c&&c()},b)}function f(){a.dom.hasClass(a.getBody(),"wp-autoresize")||(j=!0,a.dom.addClass(a.getBody(),"wp-autoresize"),a.on("nodechange setcontent keyup FullscreenStateChanged",d),d())}function g(){var b;h.wp_autoresize_on||(j=!1,b=a.getDoc(),a.dom.removeClass(a.getBody(),"wp-autoresize"),a.off("nodechange setcontent keyup FullscreenStateChanged",d),b.body.style.overflowY="auto",b.documentElement.style.overflowY="auto",i=0)}var h=a.settings,i=300,j=!1;a.settings.inline||(h.autoresize_min_height=parseInt(a.getParam("autoresize_min_height",a.getElement().offsetHeight),10),h.autoresize_max_height=parseInt(a.getParam("autoresize_max_height",0),10),h.wp_autoresize_on&&(j=!0,a.on("init",function(){a.dom.addClass(a.getBody(),"wp-autoresize")}),a.on("nodechange keyup FullscreenStateChanged",d),a.on("setcontent",function(){e(3,100)}),a.getParam("autoresize_on_init",!0)&&a.on("init",function(){e(10,200,function(){e(5,1e3)})})),a.on("show",function(){i=0}),a.addCommand("wpAutoResize",d),a.addCommand("wpAutoResizeOn",f),a.addCommand("wpAutoResizeOff",g))});
\ No newline at end of file
+tinymce.PluginManager.add("wpautoresize",function(a){function b(){return a.plugins.fullscreen&&a.plugins.fullscreen.isFullscreen()}function c(a){return parseInt(a,10)||0}function d(e){var f,g,k,l,m,n,o,p,q,r,s,t,u=tinymce.DOM;if(j&&(g=a.getDoc())){if(e=e||{},k=g.body,l=g.documentElement,m=h.autoresize_min_height,!k||e&&"setcontent"===e.type&&e.initial||b())return void(k&&l&&(k.style.overflowY="auto",l.style.overflowY="auto"));o=a.dom.getStyle(k,"margin-top",!0),p=a.dom.getStyle(k,"margin-bottom",!0),q=a.dom.getStyle(k,"padding-top",!0),r=a.dom.getStyle(k,"padding-bottom",!0),s=a.dom.getStyle(k,"border-top-width",!0),t=a.dom.getStyle(k,"border-bottom-width",!0),n=k.offsetHeight+c(o)+c(p)+c(q)+c(r)+c(s)+c(t),n&&n<l.offsetHeight&&(n=l.offsetHeight),(isNaN(n)||0>=n)&&(n=tinymce.Env.ie?k.scrollHeight:tinymce.Env.webkit&&0===k.clientHeight?0:k.offsetHeight),n>h.autoresize_min_height&&(m=n),h.autoresize_max_height&&n>h.autoresize_max_height?(m=h.autoresize_max_height,k.style.overflowY="auto",l.style.overflowY="auto"):(k.style.overflowY="hidden",l.style.overflowY="hidden",k.scrollTop=0),m!==i&&(f=m-i,u.setStyle(a.iframeElement,"height",m+"px"),i=m,tinymce.isWebKit&&0>f&&d(e),a.fire("wp-autoresize",{height:m,deltaHeight:"nodechange"===e.type?f:null}))}}function e(a,b,c){setTimeout(function(){d(),a--?e(a,b,c):c&&c()},b)}function f(){a.dom.hasClass(a.getBody(),"wp-autoresize")||(j=!0,a.dom.addClass(a.getBody(),"wp-autoresize"),a.on("nodechange setcontent keyup FullscreenStateChanged",d),d())}function g(){var b;h.wp_autoresize_on||(j=!1,b=a.getDoc(),a.dom.removeClass(a.getBody(),"wp-autoresize"),a.off("nodechange setcontent keyup FullscreenStateChanged",d),b.body.style.overflowY="auto",b.documentElement.style.overflowY="auto",i=0)}var h=a.settings,i=300,j=!1;a.settings.inline||tinymce.Env.iOS||(h.autoresize_min_height=parseInt(a.getParam("autoresize_min_height",a.getElement().offsetHeight),10),h.autoresize_max_height=parseInt(a.getParam("autoresize_max_height",0),10),h.wp_autoresize_on&&(j=!0,a.on("init",function(){a.dom.addClass(a.getBody(),"wp-autoresize")}),a.on("nodechange keyup FullscreenStateChanged",d),a.on("setcontent",function(){e(3,100)}),a.getParam("autoresize_on_init",!0)&&a.on("init",function(){e(10,200,function(){e(5,1e3)})})),a.on("show",function(){i=0}),a.addCommand("wpAutoResize",d),a.addCommand("wpAutoResizeOn",f),a.addCommand("wpAutoResizeOff",g))});
\ No newline at end of file
index acda79975061fe1b37e486d674bb3a47ab5c8365..025603b41ef91a4842669b90338ed49ff85c7fe7 100644 (file)
@@ -1,13 +1,8 @@
 /* global tinymce */
 tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
-       var floatingToolbar, serializer,
-               DOM = tinymce.DOM,
-               settings = editor.settings,
-               Factory = tinymce.ui.Factory,
+       var toolbar, serializer,
                each = tinymce.each,
-               iOS = tinymce.Env.iOS,
-               toolbarIsHidden = true,
-               editorWrapParent = tinymce.$( '#postdivrich' );
+               iOS = tinymce.Env.iOS;
 
        function isPlaceholder( node ) {
                return !! ( editor.dom.getAttrib( node, 'data-mce-placeholder' ) || editor.dom.getAttrib( node, 'data-mce-object' ) );
@@ -64,294 +59,40 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
                } );
        } );
 
-       function toolbarConfig() {
-               var toolbarItems = [],
-                       buttonGroup;
-
-               each( [ 'wp_img_alignleft', 'wp_img_aligncenter', 'wp_img_alignright', 'wp_img_alignnone', 'wp_img_edit', 'wp_img_remove' ], function( item ) {
-                       var itemName;
-
-                       function bindSelectorChanged() {
-                               var selection = editor.selection;
-
-                               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 ] ) {
-                                               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 );
-                                               }
-                                       }
-                               }
-                       }
-               } );
-
-               return {
-                       type: 'panel',
-                       layout: 'stack',
-                       classes: 'toolbar-grp inline-toolbar-grp wp-image-toolbar',
-                       ariaRoot: true,
-                       ariaRemember: true,
-                       items: [
-                               {
-                                       type: 'toolbar',
-                                       layout: 'flow',
-                                       items: toolbarItems
-                               }
-                       ]
-               };
-       }
-
-       floatingToolbar = Factory.create( toolbarConfig() ).renderTo( document.body ).hide();
-
-       floatingToolbar.reposition = function() {
-               var top, left, minTop, className,
-                       windowPos, adminbar, mceToolbar, boundary,
-                       boundaryMiddle, boundaryVerticalMiddle, spaceTop,
-                       spaceBottom, windowWidth, toolbarWidth, toolbarHalf,
-                       iframe, iframePos, iframeWidth, iframeHeigth,
-                       toolbarNodeHeight, verticalSpaceNeeded,
-                       toolbarNode = this.getEl(),
-                       buffer = 5,
-                       margin = 8,
-                       adminbarHeight = 0,
-                       imageNode = editor.selection.getNode();
-
-               if ( ! imageNode || imageNode.nodeName !== 'IMG' ) {
-                       return this;
-               }
-
-               windowPos = window.pageYOffset || document.documentElement.scrollTop;
-               adminbar = tinymce.$( '#wpadminbar' )[0];
-               mceToolbar = tinymce.$( '.mce-tinymce .mce-toolbar-grp' )[0];
-               boundary = imageNode.getBoundingClientRect();
-               boundaryMiddle = ( boundary.left + boundary.right ) / 2;
-               boundaryVerticalMiddle = ( boundary.top + boundary.bottom ) / 2;
-               spaceTop = boundary.top;
-               spaceBottom = iframeHeigth - boundary.bottom;
-               windowWidth = window.innerWidth;
-               toolbarWidth = toolbarNode.offsetWidth;
-               toolbarHalf = toolbarWidth / 2;
-               iframe = document.getElementById( editor.id + '_ifr' );
-               iframePos = DOM.getPos( iframe );
-               iframeWidth = iframe.offsetWidth;
-               iframeHeigth = iframe.offsetHeight;
-               toolbarNodeHeight = toolbarNode.offsetHeight;
-               verticalSpaceNeeded = toolbarNodeHeight + margin + buffer;
-
-               if ( iOS ) {
-                       top = boundary.top + iframePos.y + margin;
-               } else {
-                       if ( spaceTop >= verticalSpaceNeeded ) {
-                               className = ' mce-arrow-down';
-                               top = boundary.top + iframePos.y - toolbarNodeHeight - margin;
-                       } else if ( spaceBottom >= verticalSpaceNeeded ) {
-                               className = ' mce-arrow-up';
-                               top = boundary.bottom + iframePos.y;
-                       } else {
-                               top = buffer;
-
-                               if ( boundaryVerticalMiddle >= verticalSpaceNeeded ) {
-                                       className = ' mce-arrow-down';
-                               } else {
-                                       className = ' mce-arrow-up';
-                               }
-                       }
-               }
-
-               // Make sure the image toolbar is below the main toolbar.
-               if ( mceToolbar ) {
-                       minTop = DOM.getPos( mceToolbar ).y + mceToolbar.clientHeight;
-               } else {
-                       minTop = iframePos.y;
-               }
-
-               // Make sure the image toolbar is below the adminbar (if visible) or below the top of the window.
-               if ( windowPos ) {
-                       if ( adminbar && adminbar.getBoundingClientRect().top === 0 ) {
-                               adminbarHeight = adminbar.clientHeight;
-                       }
-
-                       if ( windowPos + adminbarHeight > minTop ) {
-                               minTop = windowPos + adminbarHeight;
-                       }
-               }
-
-               if ( top && minTop && ( minTop + buffer > top ) ) {
-                       top = minTop + buffer;
-                       className = '';
-               }
-
-               left = boundaryMiddle - toolbarHalf;
-               left += iframePos.x;
-
-               if ( boundary.left < 0 || boundary.right > iframeWidth ) {
-                       left = iframePos.x + ( iframeWidth - toolbarWidth ) / 2;
-               } else if ( toolbarWidth >= windowWidth ) {
-                       className += ' mce-arrow-full';
-                       left = 0;
-               } else if ( ( left < 0 && boundary.left + toolbarWidth > windowWidth ) ||
-                       ( left + toolbarWidth > windowWidth && boundary.right - toolbarWidth < 0 ) ) {
-
-                       left = ( windowWidth - toolbarWidth ) / 2;
-               } else if ( left < iframePos.x ) {
-                       className += ' mce-arrow-left';
-                       left = boundary.left + iframePos.x;
-               } else if ( left + toolbarWidth > iframeWidth + iframePos.x ) {
-                       className += ' mce-arrow-right';
-                       left = boundary.right - toolbarWidth + iframePos.x;
-               }
+       editor.once( 'preinit', function() {
+               toolbar = editor.wp._createToolbar( [
+                       'wp_img_alignleft',
+                       'wp_img_aligncenter',
+                       'wp_img_alignright',
+                       'wp_img_alignnone',
+                       'wp_img_edit',
+                       'wp_img_remove'
+               ] );
+       } );
 
-               if ( ! iOS ) {
-                       toolbarNode.className = toolbarNode.className.replace( / ?mce-arrow-[\w]+/g, '' );
-                       toolbarNode.className += className;
+       editor.on( 'wptoolbar', function( event ) {
+               if ( event.element.nodeName === 'IMG' && ! isPlaceholder( event.element ) ) {
+                       event.toolbar = toolbar;
                }
+       } );
 
-               DOM.setStyles( toolbarNode, { 'left': left, 'top': top } );
-
-               return this;
-       };
-
+       // Safari on iOS fails to select image nodes in contentEditoble mode on touch/click.
+       // Select them again.
        if ( iOS ) {
-               // Safari on iOS fails to select image nodes in contentEditoble mode on touch/click.
-               // Select them again.
                editor.on( 'click', function( event ) {
                        if ( event.target.nodeName === 'IMG' ) {
                                var node = event.target;
 
                                window.setTimeout( function() {
                                        editor.selection.select( node );
+                                       editor.nodeChanged();
                                }, 200 );
                        } else {
-                               floatingToolbar.hide();
-                       }
-               });
-       }
-
-       editor.on( 'nodechange', function( event ) {
-               var delay = iOS ? 350 : 100;
-
-               if ( event.element.nodeName !== 'IMG' || isPlaceholder( event.element ) ) {
-                       floatingToolbar.hide();
-                       return;
-               }
-
-               setTimeout( function() {
-                       var element = editor.selection.getNode();
-
-                       if ( element.nodeName === 'IMG' && ! isPlaceholder( element ) ) {
-                               if ( floatingToolbar._visible ) {
-                                       floatingToolbar.reposition();
-                               } else {
-                                       floatingToolbar.show();
-                               }
-                       } else {
-                               floatingToolbar.hide();
+                               toolbar.hide();
                        }
-               }, delay );
-       } );
-
-       function hide() {
-               if ( ! toolbarIsHidden ) {
-                       floatingToolbar.hide();
-               }
+               } );
        }
 
-       floatingToolbar.on( 'show', function() {
-               toolbarIsHidden = false;
-
-               if ( this._visible ) {
-                       this.reposition();
-                       DOM.addClass( this.getEl(), 'mce-inline-toolbar-grp-active' );
-               }
-       } );
-
-       floatingToolbar.on( 'hide', function() {
-               toolbarIsHidden = true;
-               DOM.removeClass( this.getEl(), 'mce-inline-toolbar-grp-active' );
-       } );
-
-       floatingToolbar.on( 'keydown', function( event ) {
-               if ( event.keyCode === 27 ) {
-                       hide();
-                       editor.focus();
-               }
-       } );
-
-       DOM.bind( window, 'resize scroll', function() {
-               if ( ! toolbarIsHidden && editorWrapParent.hasClass( 'wp-editor-expand' ) ) {
-                       hide();
-               }
-       });
-
-       editor.on( 'init', function() {
-               editor.dom.bind( editor.getWin(), 'scroll', hide );
-       });
-
-       editor.on( 'blur hide', hide );
-
-       // 119 = F8
-       editor.shortcuts.add( 'Alt+119', '', function() {
-               var node = floatingToolbar.find( 'toolbar' )[0];
-
-               if ( node ) {
-                       node.focus( true );
-               }
-       });
-
        function parseShortcode( content ) {
                return content.replace( /(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g, function( a, b, c ) {
                        var id, align, classes, caption, img, width,
@@ -437,17 +178,20 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
                                width = c.match( /width="([0-9]*)"/ );
                                width = ( width && width[1] ) ? width[1] : '';
 
+                               classes = b.match( /class="([^"]*)"/ );
+                               classes = ( classes && classes[1] ) ? classes[1] : '';
+                               align = classes.match( /align[a-z]+/i ) || 'alignnone';
+
                                if ( ! width || ! caption ) {
+                                       if ( 'alignnone' !== align[0] ) {
+                                               c = c.replace( /><img/, ' class="' + align[0] + '"><img' );
+                                       }
                                        return c;
                                }
 
                                id = b.match( /id="([^"]*)"/ );
                                id = ( id && id[1] ) ? id[1] : '';
 
-                               classes = b.match( /class="([^"]*)"/ );
-                               classes = ( classes && classes[1] ) ? classes[1] : '';
-
-                               align = classes.match( /align[a-z]+/i ) || 'alignnone';
                                classes = classes.replace( /wp-caption ?|align[a-z]+ ?/gi, '' );
 
                                if ( classes ) {
@@ -708,15 +452,15 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 
                                if ( parent = dom.getParent( node, 'p' ) ) {
                                        parent.parentNode.insertBefore( wrap, parent );
-
-                                       if ( dom.isEmpty( parent ) ) {
-                                               dom.remove( parent );
-                                       }
                                } else {
                                        node.parentNode.insertBefore( wrap, node );
                                }
 
                                editor.$( wrap ).find( 'dt.wp-caption-dt' ).append( node );
+
+                               if ( parent && dom.isEmpty( parent ) ) {
+                                       dom.remove( parent );
+                               }
                        }
                } else if ( captionNode ) {
                        // Remove the caption wrapper and place the image in new paragraph
@@ -990,15 +734,15 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 
                                                if ( parent = dom.getParent( node, 'p' ) ) {
                                                        parent.parentNode.insertBefore( wrap, parent );
-
-                                                       if ( dom.isEmpty( parent ) ) {
-                                                               dom.remove( parent );
-                                                       }
                                                } else {
                                                        node.parentNode.insertBefore( wrap, node );
                                                }
 
                                                editor.$( wrap ).find( 'dt.wp-caption-dt' ).append( node );
+
+                                               if ( parent && dom.isEmpty( parent ) ) {
+                                                       dom.remove( parent );
+                                               }
                                        }
                                } else {
                                        if ( wrap ) {
@@ -1126,8 +870,8 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
                        editor.nodeChanged();
                        event.preventDefault();
 
-                       if ( floatingToolbar ) {
-                               floatingToolbar.reposition();
+                       if ( toolbar ) {
+                               toolbar.reposition();
                        }
 
                        editor.fire( 'ExecCommand', {
@@ -1220,6 +964,11 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
                }
        });
 
+       // Add to editor.wp
+       editor.wp = editor.wp || {};
+       editor.wp.isPlaceholder = isPlaceholder;
+
+       // Back-compat.
        return {
                _do_shcode: parseShortcode,
                _get_shcode: getShortcode
index f15228401d7e0545807303ed7ade4bd7dca1a13e..806b8e389c73a95bcf2838a35e690868cf908437 100644 (file)
@@ -1 +1 @@
-tinymce.PluginManager.add("wpeditimage",function(a){function b(b){return!(!a.dom.getAttrib(b,"data-mce-placeholder")&&!a.dom.getAttrib(b,"data-mce-object"))}function c(){var b,c=[];return r(["wp_img_alignleft","wp_img_aligncenter","wp_img_alignright","wp_img_alignnone","wp_img_edit","wp_img_remove"],function(d){function e(){var b=a.selection;d.settings.stateSelector&&b.selectorChanged(d.settings.stateSelector,function(a){d.active(a)},!0),d.settings.disabledStateSelector&&b.selectorChanged(d.settings.disabledStateSelector,function(a){d.disabled(a)})}var f;"|"===d?b=null:q.has(d)?(d={type:d},p.toolbar_items_size&&(d.size=p.toolbar_items_size),c.push(d),b=null):(b||(b={type:"buttongroup",items:[]},c.push(b)),a.buttons[d]&&(f=d,d=a.buttons[f],"function"==typeof d&&(d=d()),d.type=d.type||"button",p.toolbar_items_size&&(d.size=p.toolbar_items_size),d=q.create(d),b.items.push(d),a.initialized?e():a.on("init",e)))}),{type:"panel",layout:"stack",classes:"toolbar-grp inline-toolbar-grp wp-image-toolbar",ariaRoot:!0,ariaRemember:!0,items:[{type:"toolbar",layout:"flow",items:c}]}}function d(){t||m.hide()}function e(b){return b.replace(/(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g,function(b,c,d){var e,f,g,h,i,j,k=tinymce.trim;return e=c.match(/id=['"]([^'"]*)['"] ?/),e&&(c=c.replace(e[0],"")),f=c.match(/align=['"]([^'"]*)['"] ?/),f&&(c=c.replace(f[0],"")),g=c.match(/class=['"]([^'"]*)['"] ?/),g&&(c=c.replace(g[0],"")),j=c.match(/width=['"]([0-9]*)['"] ?/),j&&(c=c.replace(j[0],"")),d=k(d),i=d.match(/((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)([\s\S]*)/i),i&&i[2]?(h=k(i[2]),i=k(i[1])):(h=k(c).replace(/caption=['"]/,"").replace(/['"]$/,""),i=d),e=e&&e[1]?e[1].replace(/[<>&]+/g,""):"",f=f&&f[1]?f[1]:"alignnone",g=g&&g[1]?" "+g[1].replace(/[<>&]+/g,""):"",!j&&i&&(j=i.match(/width=['"]([0-9]*)['"]/)),j&&j[1]&&(j=j[1]),j&&h?(j=parseInt(j,10),a.getParam("wpeditimage_html5_captions")||(j+=10),'<div class="mceTemp"><dl id="'+e+'" class="wp-caption '+f+g+'" style="width: '+j+'px"><dt class="wp-caption-dt">'+i+'</dt><dd class="wp-caption-dd">'+h+"</dd></dl></div>"):d})}function f(a){return a.replace(/<div (?:id="attachment_|class="mceTemp)[^>]*>([\s\S]+?)<\/div>/g,function(a,b){var c="";return-1===b.indexOf("<img ")?(c=b.match(/<dd [^>]+>([\s\S]+?)<\/dd>/i),c&&c[1]?"<p>"+c[1]+"</p>":""):(c=b.replace(/\s*<dl ([^>]+)>\s*<dt [^>]+>([\s\S]+?)<\/dt>\s*<dd [^>]+>([\s\S]*?)<\/dd>\s*<\/dl>\s*/gi,function(a,b,c,d){var e,f,g,h;return h=c.match(/width="([0-9]*)"/),h=h&&h[1]?h[1]:"",h&&d?(e=b.match(/id="([^"]*)"/),e=e&&e[1]?e[1]:"",f=b.match(/class="([^"]*)"/),f=f&&f[1]?f[1]:"",g=f.match(/align[a-z]+/i)||"alignnone",f=f.replace(/wp-caption ?|align[a-z]+ ?/gi,""),f&&(f=' class="'+f+'"'),d=d.replace(/\r\n|\r/g,"\n").replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),d=d.replace(/\s*\n\s*/g,"<br />"),'[caption id="'+e+'" align="'+g+'" width="'+h+'"'+f+"]"+c+" "+d+"[/caption]"):c}),-1===c.indexOf("[caption")&&(c=b.replace(/[\s\S]*?((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)(<p>[\s\S]*<\/p>)?[\s\S]*/gi,"<p>$1</p>$2")),c)})}function g(b){var c,d,e,f,g,h,i,j,k=[],l=a.dom,m=/^\d+$/;return e={attachment_id:!1,size:"custom",caption:"",align:"none",extraClasses:"",link:!1,linkUrl:"",linkClassName:"",linkTargetBlank:!1,linkRel:"",title:""},e.url=l.getAttrib(b,"src"),e.alt=l.getAttrib(b,"alt"),e.title=l.getAttrib(b,"title"),i=l.getAttrib(b,"width"),j=l.getAttrib(b,"height"),(!m.test(i)||parseInt(i,10)<1)&&(i=b.naturalWidth||b.width),(!m.test(j)||parseInt(j,10)<1)&&(j=b.naturalHeight||b.height),e.customWidth=e.width=i,e.customHeight=e.height=j,c=tinymce.explode(b.className," "),d=[],tinymce.each(c,function(a){/^wp-image/.test(a)?e.attachment_id=parseInt(a.replace("wp-image-",""),10):/^align/.test(a)?e.align=a.replace("align",""):/^size/.test(a)?e.size=a.replace("size-",""):d.push(a)}),e.extraClasses=d.join(" "),f=l.getParents(b,".wp-caption"),f.length&&(f=f[0],c=f.className.split(" "),tinymce.each(c,function(a){/^align/.test(a)?e.align=a.replace("align",""):a&&"wp-caption"!==a&&k.push(a)}),e.captionClassName=k.join(" "),g=l.select("dd.wp-caption-dd",f),g.length&&(g=g[0],e.caption=a.serializer.serialize(g).replace(/<br[^>]*>/g,"$&\n").replace(/^<p>/,"").replace(/<\/p>$/,""))),b.parentNode&&"A"===b.parentNode.nodeName&&(h=b.parentNode,e.linkUrl=l.getAttrib(h,"href"),e.linkTargetBlank="_blank"===l.getAttrib(h,"target")?!0:!1,e.linkRel=l.getAttrib(h,"rel"),e.linkClassName=h.className),e}function h(a){return a&&!(!a.textContent&&!a.innerText)}function i(b){return!b||-1===b.indexOf("<")&&-1===b.indexOf(">")?b:(n||(n=new tinymce.html.Serializer({},a.schema)),n.serialize(a.parser.parse(b,{forced_root_block:!1})))}function j(b,c){var d,e,f,g,j,k,l,m,n,o,p,q,r,s,t,u,v=a.dom;d=tinymce.explode(c.extraClasses," "),d||(d=[]),c.caption||d.push("align"+c.align),c.attachment_id&&(d.push("wp-image-"+c.attachment_id),c.size&&"custom"!==c.size&&d.push("size-"+c.size)),s=c.width,t=c.height,"custom"===c.size&&(s=c.customWidth,t=c.customHeight),q={src:c.url,width:s||null,height:t||null,alt:c.alt,title:c.title||null,"class":d.join(" ")||null},v.setAttribs(b,q),r={href:c.linkUrl,rel:c.linkRel||null,target:c.linkTargetBlank?"_blank":null,"class":c.linkClassName||null},b.parentNode&&"A"===b.parentNode.nodeName&&!h(b.parentNode)?c.linkUrl?v.setAttribs(b.parentNode,r):v.remove(b.parentNode,!0):c.linkUrl&&((l=v.getParent(b,"a"))&&v.insertAfter(b,l),l=v.create("a",r),b.parentNode.insertBefore(l,b),l.appendChild(b)),m=a.dom.getParent(b,".mceTemp"),f=b.parentNode&&"A"===b.parentNode.nodeName&&!h(b.parentNode)?b.parentNode:b,c.caption?(c.caption=i(c.caption),p=c.attachment_id?"attachment_"+c.attachment_id:null,u="align"+(c.align||"none"),e="wp-caption "+u,c.captionClassName&&(e+=" "+c.captionClassName.replace(/[<>&]+/g,"")),a.getParam("wpeditimage_html5_captions")||(s=parseInt(s,10),s+=10),m?(o=v.select("dl.wp-caption",m),o.length&&v.setAttribs(o,{id:p,"class":e,style:"width: "+s+"px"}),n=v.select(".wp-caption-dd",m),n.length&&v.setHTML(n[0],c.caption)):(p=p?'id="'+p+'" ':"",g="<dl "+p+'class="'+e+'" style="width: '+s+'px"><dt class="wp-caption-dt"></dt><dd class="wp-caption-dd">'+c.caption+"</dd></dl>",k=v.create("div",{"class":"mceTemp"},g),(j=v.getParent(f,"p"))?(j.parentNode.insertBefore(k,j),v.isEmpty(j)&&v.remove(j)):f.parentNode.insertBefore(k,f),a.$(k).find("dt.wp-caption-dt").append(f))):m&&(j=v.create("p"),m.parentNode.insertBefore(j,m),j.appendChild(f),v.remove(m)),wp.media.events&&wp.media.events.trigger("editor:image-update",{editor:a,metadata:c,image:b}),a.nodeChanged()}function k(b){var c,d,e;return"undefined"!=typeof wp&&wp.media?(e=g(b),wp.media.events.trigger("editor:image-edit",{editor:a,metadata:e,image:b}),c=wp.media({frame:"image",state:"image-details",metadata:e}),wp.media.events.trigger("editor:frame-create",{frame:c}),d=function(d){a.focus(),a.undoManager.transact(function(){j(b,d)}),c.detach()},c.state("image-details").on("update",d),c.state("replace-image").on("replace",d),c.on("close",function(){a.focus(),c.detach()}),void c.open()):void a.execCommand("mceImage")}function l(b){var c;"DIV"===b.nodeName&&a.dom.hasClass(b,"mceTemp")?c=b:("IMG"===b.nodeName||"DT"===b.nodeName||"A"===b.nodeName)&&(c=a.dom.getParent(b,"div.mceTemp")),c?(a.selection.select(c.nextSibling?c.nextSibling:c.previousSibling?c.previousSibling:c.parentNode),a.selection.collapse(!0),a.dom.remove(c)):a.dom.remove(b),a.nodeChanged(),a.undoManager.add()}var m,n,o=tinymce.DOM,p=a.settings,q=tinymce.ui.Factory,r=tinymce.each,s=tinymce.Env.iOS,t=!0,u=tinymce.$("#postdivrich");return a.addButton("wp_img_remove",{tooltip:"Remove",icon:"dashicon dashicons-no",onclick:function(){l(a.selection.getNode())}}),a.addButton("wp_img_edit",{tooltip:"Edit ",icon:"dashicon dashicons-edit",onclick:function(){k(a.selection.getNode())}}),r({alignleft:"Align left",aligncenter:"Align center",alignright:"Align right",alignnone:"No alignment"},function(b,c){var d=c.slice(5);a.addButton("wp_img_"+c,{tooltip:b,icon:"dashicon dashicons-align-"+d,cmd:"alignnone"===c?"wpAlignNone":"Justify"+d.slice(0,1).toUpperCase()+d.slice(1),onPostRender:function(){var b=this;a.on("NodeChange",function(d){var e;"IMG"===d.element.nodeName&&(e=a.dom.getParent(d.element,".wp-caption")||d.element,b.active("alignnone"===c?!/\balign(left|center|right)\b/.test(e.className):a.dom.hasClass(e,c)))})}})}),m=q.create(c()).renderTo(document.body).hide(),m.reposition=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,p,q,r,t,u,v,w,x,y=this.getEl(),z=5,A=8,B=0,C=a.selection.getNode();return C&&"IMG"===C.nodeName?(f=window.pageYOffset||document.documentElement.scrollTop,g=tinymce.$("#wpadminbar")[0],h=tinymce.$(".mce-tinymce .mce-toolbar-grp")[0],i=C.getBoundingClientRect(),j=(i.left+i.right)/2,k=(i.top+i.bottom)/2,l=i.top,m=v-i.bottom,n=window.innerWidth,p=y.offsetWidth,q=p/2,r=document.getElementById(a.id+"_ifr"),t=o.getPos(r),u=r.offsetWidth,v=r.offsetHeight,w=y.offsetHeight,x=w+A+z,s?b=i.top+t.y+A:l>=x?(e=" mce-arrow-down",b=i.top+t.y-w-A):m>=x?(e=" mce-arrow-up",b=i.bottom+t.y):(b=z,e=k>=x?" mce-arrow-down":" mce-arrow-up"),d=h?o.getPos(h).y+h.clientHeight:t.y,f&&(g&&0===g.getBoundingClientRect().top&&(B=g.clientHeight),f+B>d&&(d=f+B)),b&&d&&d+z>b&&(b=d+z,e=""),c=j-q,c+=t.x,i.left<0||i.right>u?c=t.x+(u-p)/2:p>=n?(e+=" mce-arrow-full",c=0):0>c&&i.left+p>n||c+p>n&&i.right-p<0?c=(n-p)/2:c<t.x?(e+=" mce-arrow-left",c=i.left+t.x):c+p>u+t.x&&(e+=" mce-arrow-right",c=i.right-p+t.x),s||(y.className=y.className.replace(/ ?mce-arrow-[\w]+/g,""),y.className+=e),o.setStyles(y,{left:c,top:b}),this):this},s&&a.on("click",function(b){if("IMG"===b.target.nodeName){var c=b.target;window.setTimeout(function(){a.selection.select(c)},200)}else m.hide()}),a.on("nodechange",function(c){var d=s?350:100;return"IMG"!==c.element.nodeName||b(c.element)?void m.hide():void setTimeout(function(){var c=a.selection.getNode();"IMG"!==c.nodeName||b(c)?m.hide():m._visible?m.reposition():m.show()},d)}),m.on("show",function(){t=!1,this._visible&&(this.reposition(),o.addClass(this.getEl(),"mce-inline-toolbar-grp-active"))}),m.on("hide",function(){t=!0,o.removeClass(this.getEl(),"mce-inline-toolbar-grp-active")}),m.on("keydown",function(b){27===b.keyCode&&(d(),a.focus())}),o.bind(window,"resize scroll",function(){!t&&u.hasClass("wp-editor-expand")&&d()}),a.on("init",function(){a.dom.bind(a.getWin(),"scroll",d)}),a.on("blur hide",d),a.shortcuts.add("Alt+119","",function(){var a=m.find("toolbar")[0];a&&a.focus(!0)}),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,j=c.imgData.data,k=c.imgData.node,l=c.imgData.caption,m="",n="",o="";return j.id="__wp-temp-img-id",c.imgData.cancel=!0,j.style||(j.style=null),j.src?(l&&(l=l.replace(/\r\n|\r/g,"\n").replace(/<\/?[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),l=l.replace(/(<br[^>]*>)\s*\n\s*/g,"$1").replace(/\s*\n\s*/g,"<br />"),l=i(l)),k?(h=k.id||null,b.setAttribs(k,j),d=b.getParent(k,"dl.wp-caption"),l?d?(e=b.select("dd.wp-caption-dd",d)[0])&&(e.innerHTML=l):(k.className&&(m=k.className.match(/wp-image-([0-9]+)/),n=k.className.match(/align(left|right|center|none)/)),n?(n=n[0],k.className=k.className.replace(/align(left|right|center|none)/g,"")):n="alignnone",n=' class="wp-caption '+n+'"',m&&(m=' id="attachment_'+m[1]+'"'),o=j.width||k.clientWidth,o&&(o=parseInt(o,10),a.getParam("wpeditimage_html5_captions")||(o+=10),o=' style="width: '+o+'px"'),f=k.parentNode&&"A"===k.parentNode.nodeName?k.parentNode:k,g="<dl "+m+n+o+'><dt class="wp-caption-dt"></dt><dd class="wp-caption-dd">'+l+"</dd></dl>",d=b.create("div",{"class":"mceTemp"},g),(e=b.getParent(f,"p"))?(e.parentNode.insertBefore(d,e),b.isEmpty(e)&&b.remove(e)):f.parentNode.insertBefore(d,f),a.$(d).find("dt.wp-caption-dt").append(f)):d&&(g=b.getOuterHTML("A"===k.parentNode.nodeName?k.parentNode:k),e=b.create("p",{},g),b.insertAfter(e,d.parentNode),a.selection.select(e),a.nodeChanged(),b.remove(d.parentNode))):(g=b.createHTML("img",j),l?(f=a.selection.getNode(),j.width&&(o=parseInt(j.width,10),a.getParam("wpeditimage_html5_captions")||(o+=10),o=' style="width: '+o+'px"'),g='<dl class="wp-caption alignnone"'+o+'><dt class="wp-caption-dt">'+g+'</dt><dd class="wp-caption-dd">'+l+"</dd></dl>",e="P"===f.nodeName?f:b.getParent(f,"p"),e&&"P"===e.nodeName?(d=b.create("div",{"class":"mceTemp"},g),e.parentNode.insertBefore(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)),k=b.get("__wp-temp-img-id"),b.setAttrib(k,"id",h),void(c.imgData.node=k)):void(k&&(b.remove((d=b.getParent(k,"div.mceTemp"))?d:"A"===k.parentNode.nodeName?k.parentNode:k),a.nodeChanged()))}),a.on("wpLoadImageData",function(c){var d,e=c.imgData.data,f=c.imgData.node;(d=b.getParent(f,"dl.wp-caption"))&&(d=b.select("dd.wp-caption-dd",d)[0],d&&(e.caption=a.serializer.serialize(d).replace(/<br[^>]*>/g,"$&\n").replace(/^<p>/,"").replace(/<\/p>$/,"")))}),b.bind(a.getDoc(),"dragstart",function(c){var d=a.selection.getNode();"IMG"===d.nodeName&&b.getParent(d,".wp-caption")&&c.preventDefault()}),tinymce.Env.ie&&tinymce.Env.ie>10&&b.bind(a.getBody(),"mscontrolselect",function(c){"IMG"===c.target.nodeName&&b.getParent(c.target,".wp-caption")?a.getBody().focus():"DL"===c.target.nodeName&&b.hasClass(c.target,"wp-caption")&&c.target.focus()})}),a.on("ObjectResized",function(b){var c=b.target;"IMG"===c.nodeName&&a.undoManager.transact(function(){var d,e,f=a.dom;c.className=c.className.replace(/\bsize-[^ ]+/,""),(d=f.getParent(c,".wp-caption"))&&(e=b.width||f.getAttrib(c,"width"),e&&(e=parseInt(e,10),a.getParam("wpeditimage_html5_captions")||(e+=10),f.setStyle(d,"width",e+"px")))})}),a.on("BeforeExecCommand",function(b){var c,d,e,f,g,h=b.command,i=a.dom;if("mceInsertContent"===h)(c=i.getParent(a.selection.getNode(),"div.mceTemp"))&&(d=i.create("p"),i.insertAfter(d,c),a.selection.setCursorLocation(d,0),a.nodeChanged());else if("JustifyLeft"===h||"JustifyRight"===h||"JustifyCenter"===h||"wpAlignNone"===h){if(c=a.selection.getNode(),f="align"+h.slice(7).toLowerCase(),e=a.dom.getParent(c,".wp-caption"),"IMG"!==c.nodeName&&!e)return;c=e||c,g=a.dom.hasClass(c,f)?" alignnone":" "+f,c.className=c.className.replace(/ ?align(left|center|right|none)/g,"")+g,a.nodeChanged(),b.preventDefault(),m&&m.reposition(),a.fire("ExecCommand",{command:h,ui:b.ui,value:b.value})}}),a.on("keydown",function(b){var c,d,e,f,g=a.selection,h=b.keyCode,i=a.dom,j=tinymce.util.VK;if(h===j.ENTER)c=g.getNode(),d=i.getParent(c,"div.mceTemp"),d&&(i.events.cancel(b),tinymce.each(i.select("dt, dd",d),function(a){i.isEmpty(a)&&i.remove(a)}),f=tinymce.Env.ie&&tinymce.Env.ie<11?"":'<br data-mce-bogus="1" />',e=i.create("p",null,f),"DD"===c.nodeName?i.insertAfter(e,d):d.parentNode.insertBefore(e,d),a.nodeChanged(),g.setCursorLocation(e,0));else if((h===j.DELETE||h===j.BACKSPACE)&&(c=g.getNode(),"DIV"===c.nodeName&&i.hasClass(c,"mceTemp")?d=c:("IMG"===c.nodeName||"DT"===c.nodeName||"A"===c.nodeName)&&(d=i.getParent(c,"div.mceTemp")),d))return i.events.cancel(b),l(c),!1}),tinymce.Env.gecko&&a.on("undo redo",function(){"IMG"===a.selection.getNode().nodeName&&a.selection.collapse()}),a.wpSetImgCaption=function(a){return e(a)},a.wpGetImgCaption=function(a){return f(a)},a.on("BeforeSetContent",function(b){"raw"!==b.format&&(b.content=a.wpSetImgCaption(b.content))}),a.on("PostProcess",function(b){b.get&&(b.content=a.wpGetImgCaption(b.content))}),{_do_shcode:e,_get_shcode:f}});
\ No newline at end of file
+tinymce.PluginManager.add("wpeditimage",function(a){function b(b){return!(!a.dom.getAttrib(b,"data-mce-placeholder")&&!a.dom.getAttrib(b,"data-mce-object"))}function c(b){return b.replace(/(?:<p>)?\[(?:wp_)?caption([^\]]+)\]([\s\S]+?)\[\/(?:wp_)?caption\](?:<\/p>)?/g,function(b,c,d){var e,f,g,h,i,j,k=tinymce.trim;return e=c.match(/id=['"]([^'"]*)['"] ?/),e&&(c=c.replace(e[0],"")),f=c.match(/align=['"]([^'"]*)['"] ?/),f&&(c=c.replace(f[0],"")),g=c.match(/class=['"]([^'"]*)['"] ?/),g&&(c=c.replace(g[0],"")),j=c.match(/width=['"]([0-9]*)['"] ?/),j&&(c=c.replace(j[0],"")),d=k(d),i=d.match(/((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)([\s\S]*)/i),i&&i[2]?(h=k(i[2]),i=k(i[1])):(h=k(c).replace(/caption=['"]/,"").replace(/['"]$/,""),i=d),e=e&&e[1]?e[1].replace(/[<>&]+/g,""):"",f=f&&f[1]?f[1]:"alignnone",g=g&&g[1]?" "+g[1].replace(/[<>&]+/g,""):"",!j&&i&&(j=i.match(/width=['"]([0-9]*)['"]/)),j&&j[1]&&(j=j[1]),j&&h?(j=parseInt(j,10),a.getParam("wpeditimage_html5_captions")||(j+=10),'<div class="mceTemp"><dl id="'+e+'" class="wp-caption '+f+g+'" style="width: '+j+'px"><dt class="wp-caption-dt">'+i+'</dt><dd class="wp-caption-dd">'+h+"</dd></dl></div>"):d})}function d(a){return a.replace(/<div (?:id="attachment_|class="mceTemp)[^>]*>([\s\S]+?)<\/div>/g,function(a,b){var c="";return-1===b.indexOf("<img ")?(c=b.match(/<dd [^>]+>([\s\S]+?)<\/dd>/i),c&&c[1]?"<p>"+c[1]+"</p>":""):(c=b.replace(/\s*<dl ([^>]+)>\s*<dt [^>]+>([\s\S]+?)<\/dt>\s*<dd [^>]+>([\s\S]*?)<\/dd>\s*<\/dl>\s*/gi,function(a,b,c,d){var e,f,g,h;return h=c.match(/width="([0-9]*)"/),h=h&&h[1]?h[1]:"",f=b.match(/class="([^"]*)"/),f=f&&f[1]?f[1]:"",g=f.match(/align[a-z]+/i)||"alignnone",h&&d?(e=b.match(/id="([^"]*)"/),e=e&&e[1]?e[1]:"",f=f.replace(/wp-caption ?|align[a-z]+ ?/gi,""),f&&(f=' class="'+f+'"'),d=d.replace(/\r\n|\r/g,"\n").replace(/<[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),d=d.replace(/\s*\n\s*/g,"<br />"),'[caption id="'+e+'" align="'+g+'" width="'+h+'"'+f+"]"+c+" "+d+"[/caption]"):("alignnone"!==g[0]&&(c=c.replace(/><img/,' class="'+g[0]+'"><img')),c)}),-1===c.indexOf("[caption")&&(c=b.replace(/[\s\S]*?((?:<a [^>]+>)?<img [^>]+>(?:<\/a>)?)(<p>[\s\S]*<\/p>)?[\s\S]*/gi,"<p>$1</p>$2")),c)})}function e(b){var c,d,e,f,g,h,i,j,k=[],l=a.dom,m=/^\d+$/;return e={attachment_id:!1,size:"custom",caption:"",align:"none",extraClasses:"",link:!1,linkUrl:"",linkClassName:"",linkTargetBlank:!1,linkRel:"",title:""},e.url=l.getAttrib(b,"src"),e.alt=l.getAttrib(b,"alt"),e.title=l.getAttrib(b,"title"),i=l.getAttrib(b,"width"),j=l.getAttrib(b,"height"),(!m.test(i)||parseInt(i,10)<1)&&(i=b.naturalWidth||b.width),(!m.test(j)||parseInt(j,10)<1)&&(j=b.naturalHeight||b.height),e.customWidth=e.width=i,e.customHeight=e.height=j,c=tinymce.explode(b.className," "),d=[],tinymce.each(c,function(a){/^wp-image/.test(a)?e.attachment_id=parseInt(a.replace("wp-image-",""),10):/^align/.test(a)?e.align=a.replace("align",""):/^size/.test(a)?e.size=a.replace("size-",""):d.push(a)}),e.extraClasses=d.join(" "),f=l.getParents(b,".wp-caption"),f.length&&(f=f[0],c=f.className.split(" "),tinymce.each(c,function(a){/^align/.test(a)?e.align=a.replace("align",""):a&&"wp-caption"!==a&&k.push(a)}),e.captionClassName=k.join(" "),g=l.select("dd.wp-caption-dd",f),g.length&&(g=g[0],e.caption=a.serializer.serialize(g).replace(/<br[^>]*>/g,"$&\n").replace(/^<p>/,"").replace(/<\/p>$/,""))),b.parentNode&&"A"===b.parentNode.nodeName&&(h=b.parentNode,e.linkUrl=l.getAttrib(h,"href"),e.linkTargetBlank="_blank"===l.getAttrib(h,"target")?!0:!1,e.linkRel=l.getAttrib(h,"rel"),e.linkClassName=h.className),e}function f(a){return a&&!(!a.textContent&&!a.innerText)}function g(b){return!b||-1===b.indexOf("<")&&-1===b.indexOf(">")?b:(l||(l=new tinymce.html.Serializer({},a.schema)),l.serialize(a.parser.parse(b,{forced_root_block:!1})))}function h(b,c){var d,e,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=a.dom;d=tinymce.explode(c.extraClasses," "),d||(d=[]),c.caption||d.push("align"+c.align),c.attachment_id&&(d.push("wp-image-"+c.attachment_id),c.size&&"custom"!==c.size&&d.push("size-"+c.size)),s=c.width,t=c.height,"custom"===c.size&&(s=c.customWidth,t=c.customHeight),q={src:c.url,width:s||null,height:t||null,alt:c.alt,title:c.title||null,"class":d.join(" ")||null},v.setAttribs(b,q),r={href:c.linkUrl,rel:c.linkRel||null,target:c.linkTargetBlank?"_blank":null,"class":c.linkClassName||null},b.parentNode&&"A"===b.parentNode.nodeName&&!f(b.parentNode)?c.linkUrl?v.setAttribs(b.parentNode,r):v.remove(b.parentNode,!0):c.linkUrl&&((l=v.getParent(b,"a"))&&v.insertAfter(b,l),l=v.create("a",r),b.parentNode.insertBefore(l,b),l.appendChild(b)),m=a.dom.getParent(b,".mceTemp"),h=b.parentNode&&"A"===b.parentNode.nodeName&&!f(b.parentNode)?b.parentNode:b,c.caption?(c.caption=g(c.caption),p=c.attachment_id?"attachment_"+c.attachment_id:null,u="align"+(c.align||"none"),e="wp-caption "+u,c.captionClassName&&(e+=" "+c.captionClassName.replace(/[<>&]+/g,"")),a.getParam("wpeditimage_html5_captions")||(s=parseInt(s,10),s+=10),m?(o=v.select("dl.wp-caption",m),o.length&&v.setAttribs(o,{id:p,"class":e,style:"width: "+s+"px"}),n=v.select(".wp-caption-dd",m),n.length&&v.setHTML(n[0],c.caption)):(p=p?'id="'+p+'" ':"",i="<dl "+p+'class="'+e+'" style="width: '+s+'px"><dt class="wp-caption-dt"></dt><dd class="wp-caption-dd">'+c.caption+"</dd></dl>",k=v.create("div",{"class":"mceTemp"},i),(j=v.getParent(h,"p"))?j.parentNode.insertBefore(k,j):h.parentNode.insertBefore(k,h),a.$(k).find("dt.wp-caption-dt").append(h),j&&v.isEmpty(j)&&v.remove(j))):m&&(j=v.create("p"),m.parentNode.insertBefore(j,m),j.appendChild(h),v.remove(m)),wp.media.events&&wp.media.events.trigger("editor:image-update",{editor:a,metadata:c,image:b}),a.nodeChanged()}function i(b){var c,d,f;return"undefined"!=typeof wp&&wp.media?(f=e(b),wp.media.events.trigger("editor:image-edit",{editor:a,metadata:f,image:b}),c=wp.media({frame:"image",state:"image-details",metadata:f}),wp.media.events.trigger("editor:frame-create",{frame:c}),d=function(d){a.focus(),a.undoManager.transact(function(){h(b,d)}),c.detach()},c.state("image-details").on("update",d),c.state("replace-image").on("replace",d),c.on("close",function(){a.focus(),c.detach()}),void c.open()):void a.execCommand("mceImage")}function j(b){var c;"DIV"===b.nodeName&&a.dom.hasClass(b,"mceTemp")?c=b:("IMG"===b.nodeName||"DT"===b.nodeName||"A"===b.nodeName)&&(c=a.dom.getParent(b,"div.mceTemp")),c?(a.selection.select(c.nextSibling?c.nextSibling:c.previousSibling?c.previousSibling:c.parentNode),a.selection.collapse(!0),a.dom.remove(c)):a.dom.remove(b),a.nodeChanged(),a.undoManager.add()}var k,l,m=tinymce.each,n=tinymce.Env.iOS;return a.addButton("wp_img_remove",{tooltip:"Remove",icon:"dashicon dashicons-no",onclick:function(){j(a.selection.getNode())}}),a.addButton("wp_img_edit",{tooltip:"Edit ",icon:"dashicon dashicons-edit",onclick:function(){i(a.selection.getNode())}}),m({alignleft:"Align left",aligncenter:"Align center",alignright:"Align right",alignnone:"No alignment"},function(b,c){var d=c.slice(5);a.addButton("wp_img_"+c,{tooltip:b,icon:"dashicon dashicons-align-"+d,cmd:"alignnone"===c?"wpAlignNone":"Justify"+d.slice(0,1).toUpperCase()+d.slice(1),onPostRender:function(){var b=this;a.on("NodeChange",function(d){var e;"IMG"===d.element.nodeName&&(e=a.dom.getParent(d.element,".wp-caption")||d.element,b.active("alignnone"===c?!/\balign(left|center|right)\b/.test(e.className):a.dom.hasClass(e,c)))})}})}),a.once("preinit",function(){k=a.wp._createToolbar(["wp_img_alignleft","wp_img_aligncenter","wp_img_alignright","wp_img_alignnone","wp_img_edit","wp_img_remove"])}),a.on("wptoolbar",function(a){"IMG"!==a.element.nodeName||b(a.element)||(a.toolbar=k)}),n&&a.on("click",function(b){if("IMG"===b.target.nodeName){var c=b.target;window.setTimeout(function(){a.selection.select(c),a.nodeChanged()},200)}else k.hide()}),a.on("init",function(){var b=a.dom,c=a.getParam("wpeditimage_html5_captions")?"html5-captions":"html4-captions";b.addClass(a.getBody(),c),a.on("wpLoadImageForm",function(b){if(!a.getParam("wpeditimage_disable_captions")){var c={type:"textbox",flex:1,name:"caption",minHeight:60,multiline:!0,scroll:!0,label:"Image caption"};b.data.splice(b.data.length-1,0,c)}}),a.on("wpNewImageRefresh",function(a){var c,d;(c=b.getParent(a.node,"dl.wp-caption"))&&(c.style.width||(d=parseInt(a.node.clientWidth,10)+10,d=d?d+"px":"50%",b.setStyle(c,"width",d)))}),a.on("wpImageFormSubmit",function(c){var d,e,f,h,i,j=c.imgData.data,k=c.imgData.node,l=c.imgData.caption,m="",n="",o="";return j.id="__wp-temp-img-id",c.imgData.cancel=!0,j.style||(j.style=null),j.src?(l&&(l=l.replace(/\r\n|\r/g,"\n").replace(/<\/?[a-zA-Z0-9]+( [^<>]+)?>/g,function(a){return a.replace(/[\r\n\t]+/," ")}),l=l.replace(/(<br[^>]*>)\s*\n\s*/g,"$1").replace(/\s*\n\s*/g,"<br />"),l=g(l)),k?(i=k.id||null,b.setAttribs(k,j),d=b.getParent(k,"dl.wp-caption"),l?d?(e=b.select("dd.wp-caption-dd",d)[0])&&(e.innerHTML=l):(k.className&&(m=k.className.match(/wp-image-([0-9]+)/),n=k.className.match(/align(left|right|center|none)/)),n?(n=n[0],k.className=k.className.replace(/align(left|right|center|none)/g,"")):n="alignnone",n=' class="wp-caption '+n+'"',m&&(m=' id="attachment_'+m[1]+'"'),o=j.width||k.clientWidth,o&&(o=parseInt(o,10),a.getParam("wpeditimage_html5_captions")||(o+=10),o=' style="width: '+o+'px"'),f=k.parentNode&&"A"===k.parentNode.nodeName?k.parentNode:k,h="<dl "+m+n+o+'><dt class="wp-caption-dt"></dt><dd class="wp-caption-dd">'+l+"</dd></dl>",d=b.create("div",{"class":"mceTemp"},h),(e=b.getParent(f,"p"))?e.parentNode.insertBefore(d,e):f.parentNode.insertBefore(d,f),a.$(d).find("dt.wp-caption-dt").append(f),e&&b.isEmpty(e)&&b.remove(e)):d&&(h=b.getOuterHTML("A"===k.parentNode.nodeName?k.parentNode:k),e=b.create("p",{},h),b.insertAfter(e,d.parentNode),a.selection.select(e),a.nodeChanged(),b.remove(d.parentNode))):(h=b.createHTML("img",j),l?(f=a.selection.getNode(),j.width&&(o=parseInt(j.width,10),a.getParam("wpeditimage_html5_captions")||(o+=10),o=' style="width: '+o+'px"'),h='<dl class="wp-caption alignnone"'+o+'><dt class="wp-caption-dt">'+h+'</dt><dd class="wp-caption-dd">'+l+"</dd></dl>",e="P"===f.nodeName?f:b.getParent(f,"p"),e&&"P"===e.nodeName?(d=b.create("div",{"class":"mceTemp"},h),e.parentNode.insertBefore(d,e),a.selection.select(d),a.nodeChanged(),b.isEmpty(e)&&b.remove(e)):a.selection.setContent('<div class="mceTemp">'+h+"</div>")):a.selection.setContent(h)),k=b.get("__wp-temp-img-id"),b.setAttrib(k,"id",i),void(c.imgData.node=k)):void(k&&(b.remove((d=b.getParent(k,"div.mceTemp"))?d:"A"===k.parentNode.nodeName?k.parentNode:k),a.nodeChanged()))}),a.on("wpLoadImageData",function(c){var d,e=c.imgData.data,f=c.imgData.node;(d=b.getParent(f,"dl.wp-caption"))&&(d=b.select("dd.wp-caption-dd",d)[0],d&&(e.caption=a.serializer.serialize(d).replace(/<br[^>]*>/g,"$&\n").replace(/^<p>/,"").replace(/<\/p>$/,"")))}),b.bind(a.getDoc(),"dragstart",function(c){var d=a.selection.getNode();"IMG"===d.nodeName&&b.getParent(d,".wp-caption")&&c.preventDefault()}),tinymce.Env.ie&&tinymce.Env.ie>10&&b.bind(a.getBody(),"mscontrolselect",function(c){"IMG"===c.target.nodeName&&b.getParent(c.target,".wp-caption")?a.getBody().focus():"DL"===c.target.nodeName&&b.hasClass(c.target,"wp-caption")&&c.target.focus()})}),a.on("ObjectResized",function(b){var c=b.target;"IMG"===c.nodeName&&a.undoManager.transact(function(){var d,e,f=a.dom;c.className=c.className.replace(/\bsize-[^ ]+/,""),(d=f.getParent(c,".wp-caption"))&&(e=b.width||f.getAttrib(c,"width"),e&&(e=parseInt(e,10),a.getParam("wpeditimage_html5_captions")||(e+=10),f.setStyle(d,"width",e+"px")))})}),a.on("BeforeExecCommand",function(b){var c,d,e,f,g,h=b.command,i=a.dom;if("mceInsertContent"===h)(c=i.getParent(a.selection.getNode(),"div.mceTemp"))&&(d=i.create("p"),i.insertAfter(d,c),a.selection.setCursorLocation(d,0),a.nodeChanged());else if("JustifyLeft"===h||"JustifyRight"===h||"JustifyCenter"===h||"wpAlignNone"===h){if(c=a.selection.getNode(),f="align"+h.slice(7).toLowerCase(),e=a.dom.getParent(c,".wp-caption"),"IMG"!==c.nodeName&&!e)return;c=e||c,g=a.dom.hasClass(c,f)?" alignnone":" "+f,c.className=c.className.replace(/ ?align(left|center|right|none)/g,"")+g,a.nodeChanged(),b.preventDefault(),k&&k.reposition(),a.fire("ExecCommand",{command:h,ui:b.ui,value:b.value})}}),a.on("keydown",function(b){var c,d,e,f,g=a.selection,h=b.keyCode,i=a.dom,k=tinymce.util.VK;if(h===k.ENTER)c=g.getNode(),d=i.getParent(c,"div.mceTemp"),d&&(i.events.cancel(b),tinymce.each(i.select("dt, dd",d),function(a){i.isEmpty(a)&&i.remove(a)}),f=tinymce.Env.ie&&tinymce.Env.ie<11?"":'<br data-mce-bogus="1" />',e=i.create("p",null,f),"DD"===c.nodeName?i.insertAfter(e,d):d.parentNode.insertBefore(e,d),a.nodeChanged(),g.setCursorLocation(e,0));else if((h===k.DELETE||h===k.BACKSPACE)&&(c=g.getNode(),"DIV"===c.nodeName&&i.hasClass(c,"mceTemp")?d=c:("IMG"===c.nodeName||"DT"===c.nodeName||"A"===c.nodeName)&&(d=i.getParent(c,"div.mceTemp")),d))return i.events.cancel(b),j(c),!1}),tinymce.Env.gecko&&a.on("undo redo",function(){"IMG"===a.selection.getNode().nodeName&&a.selection.collapse()}),a.wpSetImgCaption=function(a){return c(a)},a.wpGetImgCaption=function(a){return d(a)},a.on("BeforeSetContent",function(b){"raw"!==b.format&&(b.content=a.wpSetImgCaption(b.content))}),a.on("PostProcess",function(b){b.get&&(b.content=a.wpGetImgCaption(b.content))}),a.wp=a.wp||{},a.wp.isPlaceholder=b,{_do_shcode:c,_get_shcode:d}});
\ No newline at end of file
diff --git a/wp-includes/js/tinymce/plugins/wpemoji/plugin.js b/wp-includes/js/tinymce/plugins/wpemoji/plugin.js
new file mode 100644 (file)
index 0000000..e197187
--- /dev/null
@@ -0,0 +1,128 @@
+( function( tinymce, wp ) {
+       tinymce.PluginManager.add( 'wpemoji', function( editor ) {
+               var typing,
+                       env = tinymce.Env,
+                       ua = window.navigator.userAgent,
+                       isWin = ua.indexOf( 'Windows' ) > -1,
+                       isWin8 = ( function() {
+                               var match = ua.match( /Windows NT 6\.(\d)/ );
+
+                               if ( match && match[1] > 1 ) {
+                                       return true;
+                               }
+
+                               return false;
+                       }());
+
+               if ( ! wp || ! wp.emoji || ! wp.emoji.replaceEmoji ) {
+                       return;
+               }
+
+               function setImgAttr( image ) {
+                       image.className = 'emoji';
+                       image.setAttribute( 'data-mce-resize', 'false' );
+                       image.setAttribute( 'data-mce-placeholder', '1' );
+                       image.setAttribute( 'data-wp-emoji', '1' );
+               }
+
+               function replaceEmoji( node ) {
+                       var imgAttr = {
+                               'data-mce-resize': 'false',
+                               'data-mce-placeholder': '1',
+                               'data-wp-emoji': '1'
+                       };
+
+                       wp.emoji.parse( node, { imgAttr: imgAttr } );
+               }
+
+               // Test if the node text contains emoji char(s) and replace.
+               function parseNode( node ) {
+                       var selection, bookmark;
+
+                       if ( node && window.twemoji && window.twemoji.test( node.textContent || node.innerText ) ) {
+                               if ( env.webkit ) {
+                                       selection = editor.selection;
+                                       bookmark = selection.getBookmark();
+                               }
+
+                               replaceEmoji( node );
+
+                               if ( env.webkit ) {
+                                       selection.moveToBookmark( bookmark );
+                               }
+                       }
+               }
+
+               if ( isWin8 ) {
+                       // Windows 8+ emoji can be "typed" with the onscreen keyboard.
+                       // That triggers the normal keyboard events, but not the 'input' event.
+                       // Thankfully it sets keyCode 231 when the onscreen keyboard inserts any emoji.
+                       editor.on( 'keyup', function( event ) {
+                               if ( event.keyCode === 231 ) {
+                                       parseNode( editor.selection.getNode() );
+                               }
+                       } );
+               } else if ( ! isWin ) {
+                       // In MacOS inserting emoji doesn't trigger the stanradr keyboard events.
+                       // Thankfully it triggers the 'input' event.
+                       // This works in Android and iOS as well.
+                       editor.on( 'keydown keyup', function( event ) {
+                               typing = ( event.type === 'keydown' );
+                       } );
+
+                       editor.on( 'input', function() {
+                               if ( typing ) {
+                                       return;
+                               }
+
+                               parseNode( editor.selection.getNode() );
+                       });
+               }
+
+               editor.on( 'setcontent', function( event ) {
+                       var selection = editor.selection,
+                               node = selection.getNode();
+
+                       if ( window.twemoji && window.twemoji.test( node.textContent || node.innerText ) ) {
+                               replaceEmoji( node );
+
+                               // In IE all content in the editor is left selected after wp.emoji.parse()...
+                               // Collapse the selection to the beginning.
+                               if ( env.ie && env.ie < 9 && event.load && node && node.nodeName === 'BODY' ) {
+                                       selection.collapse( true );
+                               }
+                       }
+               } );
+
+               // Convert Twemoji compatible pasted emoji replacement images into our format.
+               editor.on( 'PastePostProcess', function( event ) {
+                       if ( window.twemoji ) {
+                               tinymce.each( editor.dom.$( 'img.emoji', event.node ), function( image ) {
+                                       if ( image.alt && window.twemoji.test( image.alt ) ) {
+                                               setImgAttr( image );
+                                       }
+                               });
+                       }
+               });
+
+               editor.on( 'postprocess', function( event ) {
+                       if ( event.content ) {
+                               event.content = event.content.replace( /<img[^>]+data-wp-emoji="[^>]+>/g, function( img ) {
+                                       var alt = img.match( /alt="([^"]+)"/ );
+
+                                       if ( alt && alt[1] ) {
+                                               return alt[1];
+                                       }
+
+                                       return img;
+                               });
+                       }
+               } );
+
+               editor.on( 'resolvename', function( event ) {
+                       if ( event.target.nodeName === 'IMG' && editor.dom.getAttrib( event.target, 'data-wp-emoji' ) ) {
+                               event.preventDefault();
+                       }
+               } );
+       } );
+} )( window.tinymce, window.wp );
diff --git a/wp-includes/js/tinymce/plugins/wpemoji/plugin.min.js b/wp-includes/js/tinymce/plugins/wpemoji/plugin.min.js
new file mode 100644 (file)
index 0000000..228402f
--- /dev/null
@@ -0,0 +1 @@
+!function(a,b){a.PluginManager.add("wpemoji",function(c){function d(a){a.className="emoji",a.setAttribute("data-mce-resize","false"),a.setAttribute("data-mce-placeholder","1"),a.setAttribute("data-wp-emoji","1")}function e(a){var c={"data-mce-resize":"false","data-mce-placeholder":"1","data-wp-emoji":"1"};b.emoji.parse(a,{imgAttr:c})}function f(a){var b,d;a&&window.twemoji&&window.twemoji.test(a.textContent||a.innerText)&&(h.webkit&&(b=c.selection,d=b.getBookmark()),e(a),h.webkit&&b.moveToBookmark(d))}var g,h=a.Env,i=window.navigator.userAgent,j=i.indexOf("Windows")>-1,k=function(){var a=i.match(/Windows NT 6\.(\d)/);return a&&a[1]>1?!0:!1}();b&&b.emoji&&b.emoji.replaceEmoji&&(k?c.on("keyup",function(a){231===a.keyCode&&f(c.selection.getNode())}):j||(c.on("keydown keyup",function(a){g="keydown"===a.type}),c.on("input",function(){g||f(c.selection.getNode())})),c.on("setcontent",function(a){var b=c.selection,d=b.getNode();window.twemoji&&window.twemoji.test(d.textContent||d.innerText)&&(e(d),h.ie&&h.ie<9&&a.load&&d&&"BODY"===d.nodeName&&b.collapse(!0))}),c.on("PastePostProcess",function(b){window.twemoji&&a.each(c.dom.$("img.emoji",b.node),function(a){a.alt&&window.twemoji.test(a.alt)&&d(a)})}),c.on("postprocess",function(a){a.content&&(a.content=a.content.replace(/<img[^>]+data-wp-emoji="[^>]+>/g,function(a){var b=a.match(/alt="([^"]+)"/);return b&&b[1]?b[1]:a}))}),c.on("resolvename",function(a){"IMG"===a.target.nodeName&&c.dom.getAttrib(a.target,"data-wp-emoji")&&a.preventDefault()}))})}(window.tinymce,window.wp);
\ No newline at end of file
index 8c055857fb6187b5231b2fc3a84ef6008ff81cd8..f4b2747ac53a0637ba1db63b92c05df6c9c2d90f 100644 (file)
@@ -1,63 +1,50 @@
 /* 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 );
-               }
+               window.wpLink && window.wpLink.open( editor.id );
        });
 
        // WP default shortcut
-       editor.addShortcut( 'alt+shift+a', '', 'WP_Link' );
+       editor.addShortcut( 'Alt+Shift+A', '', 'WP_Link' );
        // The "de-facto standard" shortcut, see #27305
-       editor.addShortcut( 'ctrl+k', '', 'WP_Link' );
-
-       function setState( button, node ) {
-               var parent = editor.dom.getParent( node, 'a' ),
-                       getView = editor.plugins.wpview ? editor.plugins.wpview.getView : function() { return false; };
-
-               button.disabled( ( editor.selection.isCollapsed() && ! parent ) || ( parent && ! parent.href ) || getView( node ) );
-               button.active( parent && parent.href );
-       }
+       editor.addShortcut( 'Meta+K', '', 'WP_Link' );
 
        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 );
-                       });
-               }
+               stateSelector: 'a[href]'
        });
 
        editor.addButton( 'unlink', {
                icon: 'unlink',
                tooltip: 'Remove link',
-               cmd: 'unlink',
-
-               onPostRender: function() {
-                       var unlinkButton = this;
-
-                       editor.on( 'nodechange', function( event ) {
-                               setState( unlinkButton, event.element );
-                       });
-               }
+               cmd: 'unlink'
        });
 
        editor.addMenuItem( 'link', {
                icon: 'link',
-               text: 'Insert link',
-               shortcut: 'Alt+Shift+A',
+               text: 'Insert/edit link',
                cmd: 'WP_Link',
                stateSelector: 'a[href]',
                context: 'insert',
                prependToContext: true
        });
+
+       editor.on( 'pastepreprocess', function( event ) {
+               var pastedStr = event.content;
+
+               if ( ! editor.selection.isCollapsed() ) {
+                       pastedStr = pastedStr.replace( /<[^>]+>/g, '' );
+                       pastedStr = tinymce.trim( pastedStr );
+
+                       if ( /^(?:https?:)?\/\/\S+$/i.test( pastedStr ) ) {
+                               editor.execCommand( 'mceInsertLink', false, {
+                                       href: editor.dom.decode( pastedStr )
+                               } );
+
+                               event.preventDefault();
+                       }
+               }
+       } );
 });
index 32203b75ca3914ce0924a9447155c9cfb44eb2d9..35868b9d52efa8a7ed6ecc9077f81f768242fc8d 100644 (file)
@@ -1 +1 @@
-tinymce.PluginManager.add("wplink",function(a){function b(b,c){var d=a.dom.getParent(c,"a"),e=a.plugins.wpview?a.plugins.wpview.getView:function(){return!1};b.disabled(a.selection.isCollapsed()&&!d||d&&!d.href||e(c)),b.active(d&&d.href)}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
+tinymce.PluginManager.add("wplink",function(a){a.addCommand("WP_Link",function(){window.wpLink&&window.wpLink.open(a.id)}),a.addShortcut("Alt+Shift+A","","WP_Link"),a.addShortcut("Meta+K","","WP_Link"),a.addButton("link",{icon:"link",tooltip:"Insert/edit link",cmd:"WP_Link",stateSelector:"a[href]"}),a.addButton("unlink",{icon:"unlink",tooltip:"Remove link",cmd:"unlink"}),a.addMenuItem("link",{icon:"link",text:"Insert/edit link",cmd:"WP_Link",stateSelector:"a[href]",context:"insert",prependToContext:!0}),a.on("pastepreprocess",function(b){var c=b.content;a.selection.isCollapsed()||(c=c.replace(/<[^>]+>/g,""),c=tinymce.trim(c),/^(?:https?:)?\/\/\S+$/i.test(c)&&(a.execCommand("mceInsertLink",!1,{href:a.dom.decode(c)}),b.preventDefault()))})});
\ No newline at end of file
index 6016e3bdc2c0f1cc800d2975540c08d125e793b5..3a69af7538fcecce477f52655d0240d057c578e9 100644 (file)
@@ -4,7 +4,8 @@
  * WordPress View plugin.
  */
 tinymce.PluginManager.add( 'wpview', function( editor ) {
-       var selected,
+       var $ = editor.$,
+               selected,
                Env = tinymce.Env,
                VK = tinymce.util.VK,
                TreeWalker = tinymce.dom.TreeWalker,
@@ -12,7 +13,13 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
                firstFocus = true,
                _noop = function() { return false; },
                isios = /iPad|iPod|iPhone/.test( navigator.userAgent ),
-               cursorInterval, lastKeyDownNode, setViewCursorTries, focus, execCommandView, execCommandBefore;
+               cursorInterval,
+               lastKeyDownNode,
+               setViewCursorTries,
+               focus,
+               execCommandView,
+               execCommandBefore,
+               toolbar;
 
        function getView( node ) {
                return getParent( node, 'wpview-wrap' );
@@ -34,37 +41,6 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
                return false;
        }
 
-       /**
-        * Get the text/shortcode string for a view.
-        *
-        * @param view The view wrapper's node
-        * @returns string The text/shoercode string of the view
-        */
-       function getViewText( view ) {
-               if ( view = getView( 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 = getView( view );
-
-               if ( view ) {
-                       editor.dom.setAttrib( view, 'data-wpview-text', window.encodeURIComponent( text || '' ) );
-                       return true;
-               }
-
-               return false;
-       }
-
        function _stop( event ) {
                event.stopPropagation();
        }
@@ -103,11 +79,9 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
        }
 
        function removeView( view ) {
-               // TODO: trigger an event to run a clean up function.
-               // Maybe `jQuery( view ).trigger( 'remove' );`?
                editor.undoManager.transact( function() {
                        handleEnter( view );
-                       editor.dom.remove( view );
+                       wp.mce.views.remove( editor, view );
                });
        }
 
@@ -119,62 +93,39 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
                        return;
                }
 
-               // Adjust the toolbar position and bail if node is already selected.
-               if ( viewNode === selected ) {
-                       adjustToolbarPosition( viewNode );
-                       return;
-               }
-
-               // 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();
+               if ( viewNode !== selected ) {
+                       // 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();
 
-               deselect();
-               selected = viewNode;
-               dom.setAttrib( viewNode, 'data-mce-selected', 1 );
-               adjustToolbarPosition( viewNode );
+                       deselect();
+                       selected = viewNode;
+                       dom.setAttrib( viewNode, 'data-mce-selected', 1 );
 
-               clipboard = dom.create( 'div', {
-                       'class': 'wpview-clipboard',
-                       'contenteditable': 'true'
-               }, getViewText( viewNode ) );
+                       clipboard = dom.create( 'div', {
+                               'class': 'wpview-clipboard',
+                               'contenteditable': 'true'
+                       }, wp.mce.views.getText( viewNode ) );
 
-               editor.dom.select( '.wpview-body', viewNode )[0].appendChild( clipboard );
+                       editor.dom.select( '.wpview-body', viewNode )[0].appendChild( clipboard );
 
-               // 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 );
+                       // 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 );
 
-               // select the hidden div
-               if ( isios ) {
-                       editor.selection.select( clipboard );
-               } else {
-                       editor.selection.select( clipboard, true );
+                       // select the hidden div
+                       if ( isios ) {
+                               editor.selection.select( clipboard );
+                       } else {
+                               editor.selection.select( clipboard, true );
+                       }
                }
 
                editor.nodeChanged();
                editor.fire( 'wpview-selected', viewNode );
        }
 
-       function adjustToolbarPosition( viewNode ) {
-               var delta = 0,
-                       toolbar = editor.$( viewNode ).find( '.toolbar' ),
-                       editorToolbar = tinymce.$( editor.editorContainer ).find( '.mce-toolbar-grp' )[0],
-                       editorToolbarBottom = ( editorToolbar && editorToolbar.getBoundingClientRect().bottom ) || 0;
-               
-               if ( toolbar.length && editor.iframeElement ) {
-                       // 48 = 43 for the toolbar + 5 buffer
-                       delta = viewNode.getBoundingClientRect().top + editor.iframeElement.getBoundingClientRect().top - editorToolbarBottom - 48;
-               }
-
-               if ( delta < 0 ) {
-                       toolbar.removeClass( 'mce-arrow-down' ).css({ top: ( -43 + delta * -1 ) });
-               } else if ( delta > 0 && ! toolbar.hasClass( 'mce-arrow-down' ) ) {
-                       toolbar.addClass( 'mce-arrow-down' ).css({ top: '' });
-               }
-       }
-
        /**
         * Deselect a selected view and remove clipboard
         */
@@ -197,21 +148,23 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
        // Check if the `wp.mce` API exists.
        if ( typeof wp === 'undefined' || ! wp.mce ) {
                return {
-                       getViewText: _noop,
-                       setViewText: _noop,
                        getView: _noop
                };
        }
 
        // Remove the content of view wrappers from HTML string
        function emptyViews( content ) {
-               return content.replace(/<div[^>]+data-wpview-text=\"([^"]+)"[^>]*>[\s\S]+?wpview-selection-after[^>]+>(?:&nbsp;|\u00a0)*<\/p><\/div>/g, '$1' );
+               content = content.replace( /<div[^>]+data-wpview-text="([^"]+)"[^>]*>[\s\S]+?wpview-selection-after[^>]+>[^<>]*<\/p>\s*<\/div>/g, function( all, match ) {
+                       return '<p>' + window.decodeURIComponent( match ) + '</p>';
+               });
+
+               return content.replace( / data-wpview-marker="[^"]+"/g, '' );
        }
 
        // 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();
+               if ( event.level.content ) {
+                       event.level.content = emptyViews( event.level.content );
                }
        });
 
@@ -221,23 +174,49 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
        editor.on( 'BeforeSetContent', function( event ) {
                var node;
 
+               if ( ! event.selection ) {
+                       wp.mce.views.unbind();
+               }
+
                if ( ! event.content ) {
                        return;
                }
 
-               if ( selected ) {
-                       removeView( selected );
-               }
+               if ( ! event.load ) {
+                       if ( selected ) {
+                               removeView( selected );
+                       }
 
-               node = editor.selection.getNode();
+                       node = editor.selection.getNode();
 
-               // When a url is pasted, only try to embed it when pasted in an empty paragrapgh.
-               if ( event.content.match( /^\s*(https?:\/\/[^\s"]+)\s*$/i ) &&
-                       ( node.nodeName !== 'P' || node.parentNode !== editor.getBody() || ! editor.dom.isEmpty( node ) ) ) {
-                       return;
+                       if ( node && node !== editor.getBody() && /^\s*https?:\/\/\S+\s*$/i.test( event.content ) ) {
+                               // When a url is pasted or inserted, only try to embed it when it is in an empty paragrapgh.
+                               node = editor.dom.getParent( node, 'p' );
+
+                               if ( node && /^[\s\uFEFF\u00A0]*$/.test( $( node ).text() || '' ) ) {
+                                       // Make sure there are no empty inline elements in the <p>
+                                       node.innerHTML = '';
+                               } else {
+                                       return;
+                               }
+                       }
                }
 
-               event.content = wp.mce.views.toViews( event.content );
+               event.content = wp.mce.views.setMarkers( event.content );
+       });
+
+       // When pasting strip all tags and check if the string is an URL.
+       // Then replace the pasted content with the cleaned URL.
+       editor.on( 'pastePreProcess', function( event ) {
+               var pastedStr = event.content;
+
+               if ( pastedStr ) {
+                       pastedStr = tinymce.trim( pastedStr.replace( /<[^>]+>/g, '' ) );
+
+                       if ( /^https?:\/\/\S+$/i.test( pastedStr ) ) {
+                               event.content = pastedStr;
+                       }
+               }
        });
 
        // When the editor's content has been updated and the DOM has been
@@ -253,10 +232,15 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
                        body = editor.getBody(),
                        bodyRect = body.getBoundingClientRect(),
                        first = body.firstChild,
-                       firstRect = first.getBoundingClientRect(),
                        last = body.lastChild,
-                       lastRect = last.getBoundingClientRect(),
-                       view;
+                       firstRect, lastRect, view;
+
+               if ( ! first || ! last ) {
+                       return;
+               }
+
+               firstRect = first.getBoundingClientRect();
+               lastRect = last.getBoundingClientRect();
 
                if ( y < firstRect.top && ( view = getView( first ) ) ) {
                        setViewCursor( true, view );
@@ -264,10 +248,14 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
                } else if ( y > lastRect.bottom && ( view = getView( last ) ) ) {
                        setViewCursor( false, view );
                        event.preventDefault();
-               } else {
+               } else if ( x < bodyRect.left || x > bodyRect.right ) {
                        tinymce.each( editor.dom.select( '.wpview-wrap' ), function( view ) {
                                var rect = view.getBoundingClientRect();
 
+                               if ( y < rect.top ) {
+                                       return false;
+                               }
+
                                if ( y >= rect.top && y <= rect.bottom ) {
                                        if ( x < bodyRect.left ) {
                                                setViewCursor( true, view );
@@ -276,7 +264,8 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
                                                setViewCursor( false, view );
                                                event.preventDefault();
                                        }
-                                       return;
+
+                                       return false;
                                }
                        });
                }
@@ -328,17 +317,6 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
                                event.stopImmediatePropagation();
                                event.preventDefault();
 
-                               if ( ( event.type === 'touchend' || event.type === 'mousedown' ) && ! event.metaKey && ! event.ctrlKey ) {
-                                       if ( editor.dom.hasClass( event.target, 'edit' ) ) {
-                                               wp.mce.views.edit( view );
-                                               editor.focus();
-                                               return false;
-                                       } else if ( editor.dom.hasClass( event.target, 'remove' ) ) {
-                                               removeView( view );
-                                               return false;
-                                       }
-                               }
-
                                if ( event.type === 'touchend' && scrolled ) {
                                        scrolled = false;
                                } else {
@@ -370,22 +348,31 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
                }
        });
 
-       editor.on( 'PreProcess', function( event ) {
-               // Empty the wpview wrap nodes
-               tinymce.each( editor.dom.select( 'div[data-wpview-text]', event.node ), function( node ) {
-                       node.textContent = node.innerText = '\u00a0';
+       function resetViews( rootNode ) {
+               // Replace view nodes
+               $( 'div[data-wpview-text]', rootNode ).each( function( i, node ) {
+                       var $node = $( node ),
+                               text = window.decodeURIComponent( $node.attr( 'data-wpview-text' ) || '' );
+
+                       if ( text && node.parentNode ) {
+                               $node.replaceWith( $( editor.dom.create('p') ).text( text ) );
+                       }
                });
-    });
 
-    editor.on( 'PostProcess', function( event ) {
-               if ( event.content ) {
-                       event.content = event.content.replace( /<div [^>]*?data-wpview-text="([^"]*)"[^>]*>[\s\S]*?<\/div>/g, function( match, shortcode ) {
-                               if ( shortcode ) {
-                                       return '<p>' + window.decodeURIComponent( shortcode ) + '</p>';
-                               }
-                               return ''; // If error, remove the view wrapper
-                       });
-               }
+               // Remove marker attributes
+               $( 'p[data-wpview-marker]', rootNode ).attr( 'data-wpview-marker', null );
+       }
+
+       editor.on( 'PreProcess', function( event ) {
+               // Replace the view nodes with their text in the DOM clone.
+               resetViews( event.node );
+       }, true );
+
+       editor.on( 'hide', function() {
+               // Replace the view nodes with their text directly in the editor body.
+               wp.mce.views.unbind();
+               deselect();
+               resetViews( editor.getBody() );
        });
 
        // Excludes arrow keys, delete, backspace, enter, space bar.
@@ -710,9 +697,42 @@ tinymce.PluginManager.add( 'wpview', function( editor ) {
                }
        });
 
+       editor.addButton( 'wp_view_edit', {
+               tooltip: 'Edit ', // trailing space is needed, used for context
+               icon: 'dashicon dashicons-edit',
+               onclick: function() {
+                       selected && wp.mce.views.edit( editor, selected );
+               }
+       } );
+
+       editor.addButton( 'wp_view_remove', {
+               tooltip: 'Remove',
+               icon: 'dashicon dashicons-no',
+               onclick: function() {
+                       selected && removeView( selected );
+               }
+       } );
+
+       editor.once( 'preinit', function() {
+               toolbar = editor.wp._createToolbar( [
+                       'wp_view_edit',
+                       'wp_view_remove'
+               ] );
+       } );
+
+       editor.on( 'wptoolbar', function( event ) {
+               if ( selected ) {
+                       event.element = selected;
+                       event.toolbar = toolbar;
+               }
+       } );
+
+       // Add to editor.wp
+       editor.wp = editor.wp || {};
+       editor.wp.getView = getView;
+
+       // Keep for back-compat.
        return {
-               getViewText: getViewText,
-               setViewText: setViewText,
                getView: getView
        };
 });
index 6cdef61e8128aae27ff4a0f94dd4055f2e2faf88..c46f71df69ece116549068659734a24eaae437b8 100644 (file)
@@ -1 +1 @@
-tinymce.PluginManager.add("wpview",function(a){function b(a){return c(a,"wpview-wrap")}function c(a,b){for(;a&&a.parentNode;){if(a.className&&-1!==(" "+a.className+" ").indexOf(" "+b+" "))return a;a=a.parentNode}return!1}function d(c){return(c=b(c))?window.decodeURIComponent(a.dom.getAttrib(c,"data-wpview-text")||""):""}function e(c,d){return c=b(c),c?(a.dom.setAttrib(c,"data-wpview-text",window.encodeURIComponent(d||"")),!0):!1}function f(a){a.stopPropagation()}function g(b,c){var d=b?"before":"after",e=b?0:1;l(),a.selection.setCursorLocation(a.dom.select(".wpview-selection-"+d,c)[0],e),a.nodeChanged()}function h(b,c,d){var e=a.dom,f=e.create("p");v.ie&&v.ie<11||(f.innerHTML='<br data-mce-bogus="1">'),c?b.parentNode.insertBefore(f,b):e.insertAfter(f,b),l(),c&&d===w.ENTER?g(c,b):a.selection.setCursorLocation(f,0),a.nodeChanged()}function i(b){a.undoManager.transact(function(){h(b),a.dom.remove(b)})}function j(b){var c,e=a.dom;if(b){if(b===o)return void k(b);a.getBody().focus(),l(),o=b,e.setAttrib(b,"data-mce-selected",1),k(b),c=e.create("div",{"class":"wpview-clipboard",contenteditable:"true"},d(b)),a.dom.select(".wpview-body",b)[0].appendChild(c),e.bind(c,"beforedeactivate focusin focusout",f),e.bind(o,"beforedeactivate focusin focusout",f),B?a.selection.select(c):a.selection.select(c,!0),a.nodeChanged(),a.fire("wpview-selected",b)}}function k(b){var c=0,d=a.$(b).find(".toolbar"),e=tinymce.$(a.editorContainer).find(".mce-toolbar-grp")[0],f=e&&e.getBoundingClientRect().bottom||0;d.length&&a.iframeElement&&(c=b.getBoundingClientRect().top+a.iframeElement.getBoundingClientRect().top-f-48),0>c?d.removeClass("mce-arrow-down").css({top:-43+-1*c}):c>0&&!d.hasClass("mce-arrow-down")&&d.addClass("mce-arrow-down").css({top:""})}function l(){var b,c=a.dom;o&&(b=a.dom.select(".wpview-clipboard",o)[0],c.unbind(b),c.remove(b),c.unbind(o,"beforedeactivate focusin focusout click mouseup",f),c.setAttrib(o,"data-mce-selected",null)),o=null}function m(a){return a.replace(/<div[^>]+data-wpview-text=\"([^"]+)"[^>]*>[\s\S]+?wpview-selection-after[^>]+>(?:&nbsp;|\u00a0)*<\/p><\/div>/g,"$1")}function n(a){return 47>=a&&a!==w.SPACEBAR&&a!==w.ENTER&&a!==w.DELETE&&a!==w.BACKSPACE&&(37>a||a>40)||a>=224||a>=144&&150>=a||a>=91&&93>=a||a>=112&&135>=a}var o,p,q,r,s,t,u,v=tinymce.Env,w=tinymce.util.VK,x=tinymce.dom.TreeWalker,y=!1,z=!0,A=function(){return!1},B=/iPad|iPod|iPhone/.test(navigator.userAgent);return"undefined"!=typeof wp&&wp.mce?(a.on("BeforeAddUndo",function(a){a.lastLevel&&m(a.level.content)===m(a.lastLevel.content)&&a.preventDefault()}),a.on("BeforeSetContent",function(b){var c;b.content&&(o&&i(o),c=a.selection.getNode(),(!b.content.match(/^\s*(https?:\/\/[^\s"]+)\s*$/i)||"P"===c.nodeName&&c.parentNode===a.getBody()&&a.dom.isEmpty(c))&&(b.content=wp.mce.views.toViews(b.content)))}),a.on("SetContent",function(){wp.mce.views.render()}),a.on("click",function(c){var d,e=c.clientX,f=c.clientY,h=a.getBody(),i=h.getBoundingClientRect(),j=h.firstChild,k=j.getBoundingClientRect(),l=h.lastChild,m=l.getBoundingClientRect();f<k.top&&(d=b(j))?(g(!0,d),c.preventDefault()):f>m.bottom&&(d=b(l))?(g(!1,d),c.preventDefault()):tinymce.each(a.dom.select(".wpview-wrap"),function(a){var b=a.getBoundingClientRect();return f>=b.top&&f<=b.bottom?void(e<i.left?(g(!0,a),c.preventDefault()):e>i.right&&(g(!1,a),c.preventDefault())):void 0})}),a.on("init",function(){var c=!1,d=a.selection,e=window.MutationObserver||window.WebKitMutationObserver;a.on("BeforeSetContent",function(){var c,e,f=b(d.getNode());f&&(!f.nextSibling||b(f.nextSibling)?(e=a.getDoc().createTextNode(""),a.dom.insertAfter(e,f)):(c=new x(f.nextSibling,f.nextSibling),e=c.next()),d.select(e),d.collapse(!0))}),a.dom.bind(a.getDoc(),"touchmove",function(){c=!0}),a.on("mousedown mouseup click touchend",function(d){var e=b(d.target);if(z=!1,e){if(d.stopImmediatePropagation(),d.preventDefault(),!("touchend"!==d.type&&"mousedown"!==d.type||d.metaKey||d.ctrlKey)){if(a.dom.hasClass(d.target,"edit"))return wp.mce.views.edit(e),a.focus(),!1;if(a.dom.hasClass(d.target,"remove"))return i(e),!1}return"touchend"===d.type&&c?c=!1:j(e),!1}("touchend"===d.type||"mousedown"===d.type)&&l(),"touchend"===d.type&&c&&(c=!1)},!0),e&&new e(function(){a.fire("wp-body-class-change")}).observe(a.getBody(),{attributes:!0,attributeFilter:["class"]})}),a.on("PreProcess",function(b){tinymce.each(a.dom.select("div[data-wpview-text]",b.node),function(a){a.textContent=a.innerText=" "})}),a.on("PostProcess",function(a){a.content&&(a.content=a.content.replace(/<div [^>]*?data-wpview-text="([^"]*)"[^>]*>[\s\S]*?<\/div>/g,function(a,b){return b?"<p>"+window.decodeURIComponent(b)+"</p>":""}))}),a.on("keydown",function(c){var d,e,f,k,m,p,r,s=c.keyCode,t=a.dom,u=a.selection;if(o){if((c.metaKey||c.ctrlKey)&&s!==w.BACKSPACE&&86!==s||s>=112&&123>=s)return void((c.metaKey||c.ctrlKey)&&88===s&&(y=o));if(e=b(u.getNode()),e!==o)return void l();s===w.LEFT?(g(!0,e),c.preventDefault()):s===w.UP?(e.previousSibling?b(e.previousSibling)?g(!0,e.previousSibling):(l(),u.select(e.previousSibling,!0),u.collapse()):g(!0,e),c.preventDefault()):s===w.RIGHT?(g(!1,e),c.preventDefault()):s===w.DOWN?(e.nextSibling?b(e.nextSibling)?g(!1,e.nextSibling):(l(),u.setCursorLocation(e.nextSibling,0)):g(!1,e),c.preventDefault()):n(s)||(i(o),(s===w.ENTER||s===w.DELETE||s===w.BACKSPACE)&&c.preventDefault())}else{if(c.metaKey||c.ctrlKey||s>=112&&123>=s)return;if(d=u.getNode(),q=d,e=b(d),u.isCollapsed()||(m=u.getRng(),(e=b(m.endContainer))?(p=m.cloneRange(),u.select(e.previousSibling,!0),u.collapse(),r=u.getRng(),p.setEnd(r.endContainer,r.endOffset),u.setRng(p)):(e=b(m.startContainer))&&(p=m.cloneRange(),p.setStart(e.nextSibling,0),u.setRng(p))),!e)return void(c.keyCode===w.BACKSPACE&&(a.dom.isEmpty(d)?(e=b(d.previousSibling))&&(g(!1,e),a.dom.remove(d),c.preventDefault()):(m=u.getRng())&&0===m.startOffset&&0===m.endOffset&&(e=b(d.previousSibling))&&(g(!1,e),c.preventDefault())));if(!(f=t.hasClass(e,"wpview-selection-before"))&&!(k=t.hasClass(e,"wpview-selection-after")))return;if(n(s))return;k&&s===w.UP||f&&s===w.BACKSPACE?(e.previousSibling?b(e.previousSibling)?g(!1,e.previousSibling):t.isEmpty(e.previousSibling)&&s===w.BACKSPACE?t.remove(e.previousSibling):(u.select(e.previousSibling,!0),u.collapse()):g(!0,e),c.preventDefault()):!k||s!==w.DOWN&&s!==w.RIGHT?!f||s!==w.UP&&s!==w.LEFT?f&&s===w.DOWN?(e.nextSibling?b(e.nextSibling)?g(!0,e.nextSibling):u.setCursorLocation(e.nextSibling,0):g(!1,e),c.preventDefault()):k&&s===w.LEFT||f&&s===w.RIGHT?(j(e),c.preventDefault()):k&&s===w.BACKSPACE?(i(e),c.preventDefault()):k?h(e):f&&h(e,!0,s):(e.previousSibling&&(b(e.previousSibling)?g(s===w.UP,e.previousSibling):(u.select(e.previousSibling,!0),u.collapse())),c.preventDefault()):(e.nextSibling&&(b(e.nextSibling)?g(s===w.RIGHT,e.nextSibling):u.setCursorLocation(e.nextSibling,0)),c.preventDefault()),s===w.ENTER&&c.preventDefault()}}),a.on("keyup",function(){y&&(i(y),y=!1)}),a.on("focus",function(){var c;s=!0,a.dom.addClass(a.getBody(),"has-focus"),z&&(c=b(a.getBody().firstChild))&&g(!0,c),z=!1}),a.on("blur",function(){s=!1,a.dom.removeClass(a.getBody(),"has-focus")}),a.on("NodeChange",function(d){var e=a.dom,f=a.dom.select(".wpview-wrap"),h=d.element.className,i=b(d.element),j=q;if(q=!1,clearInterval(p),tinymce.each(f,function(a){a.className&&(a.className=a.className.replace(/ ?\bwpview-(?:selection-before|selection-after|cursor-hide)\b/g,""))}),s&&i)if("wpview-selection-before"!==h&&"wpview-selection-after"!==h||!a.selection.isCollapsed())c(d.element,"wpview-clipboard")||r||(l(),r++,g(!0,i));else{if(r=0,l(),j===i.previousSibling)return void g(!0,i);if(j===i.nextSibling)return void g(!1,i);e.addClass(i,h),p=setInterval(function(){e.hasClass(i,"wpview-cursor-hide")?e.removeClass(i,"wpview-cursor-hide"):e.addClass(i,"wpview-cursor-hide")},500)}}),a.on("BeforeExecCommand",function(){var c,d=a.selection.getNode();d&&((u="wpview-selection-before"===d.className)||"wpview-selection-after"===d.className)&&(c=b(d))&&(h(c,u),t=c)}),a.on("ExecCommand",function(){var b,c;o&&(b=o,l(),j(b)),t&&(c=t[u?"previousSibling":"nextSibling"],c&&"P"===c.nodeName&&a.dom.isEmpty(c)&&(a.dom.remove(c),g(u,t)),t=!1)}),a.on("ResolveName",function(c){a.dom.hasClass(c.target,"wpview-wrap")?(c.name=a.dom.getAttrib(c.target,"data-wpview-type")||"wpview",c.stopPropagation()):b(c.target)&&(c.preventDefault(),c.stopPropagation())}),{getViewText:d,setViewText:e,getView:b}):{getViewText:A,setViewText:A,getView:A}});
\ No newline at end of file
+tinymce.PluginManager.add("wpview",function(a){function b(a){return c(a,"wpview-wrap")}function c(a,b){for(;a&&a.parentNode;){if(a.className&&-1!==(" "+a.className+" ").indexOf(" "+b+" "))return a;a=a.parentNode}return!1}function d(a){a.stopPropagation()}function e(b,c){var d=b?"before":"after",e=b?0:1;i(),a.selection.setCursorLocation(a.dom.select(".wpview-selection-"+d,c)[0],e),a.nodeChanged()}function f(b,c,d){var f=a.dom,g=f.create("p");v.ie&&v.ie<11||(g.innerHTML='<br data-mce-bogus="1">'),c?b.parentNode.insertBefore(g,b):f.insertAfter(g,b),i(),c&&d===w.ENTER?e(c,b):a.selection.setCursorLocation(g,0),a.nodeChanged()}function g(b){a.undoManager.transact(function(){f(b),wp.mce.views.remove(a,b)})}function h(b){var c,e=a.dom;b&&(b!==m&&(a.getBody().focus(),i(),m=b,e.setAttrib(b,"data-mce-selected",1),c=e.create("div",{"class":"wpview-clipboard",contenteditable:"true"},wp.mce.views.getText(b)),a.dom.select(".wpview-body",b)[0].appendChild(c),e.bind(c,"beforedeactivate focusin focusout",d),e.bind(m,"beforedeactivate focusin focusout",d),B?a.selection.select(c):a.selection.select(c,!0)),a.nodeChanged(),a.fire("wpview-selected",b))}function i(){var b,c=a.dom;m&&(b=a.dom.select(".wpview-clipboard",m)[0],c.unbind(b),c.remove(b),c.unbind(m,"beforedeactivate focusin focusout click mouseup",d),c.setAttrib(m,"data-mce-selected",null)),m=null}function j(a){return a=a.replace(/<div[^>]+data-wpview-text="([^"]+)"[^>]*>[\s\S]+?wpview-selection-after[^>]+>[^<>]*<\/p>\s*<\/div>/g,function(a,b){return"<p>"+window.decodeURIComponent(b)+"</p>"}),a.replace(/ data-wpview-marker="[^"]+"/g,"")}function k(b){u("div[data-wpview-text]",b).each(function(b,c){var d=u(c),e=window.decodeURIComponent(d.attr("data-wpview-text")||"");e&&c.parentNode&&d.replaceWith(u(a.dom.create("p")).text(e))}),u("p[data-wpview-marker]",b).attr("data-wpview-marker",null)}function l(a){return 47>=a&&a!==w.SPACEBAR&&a!==w.ENTER&&a!==w.DELETE&&a!==w.BACKSPACE&&(37>a||a>40)||a>=224||a>=144&&150>=a||a>=91&&93>=a||a>=112&&135>=a}var m,n,o,p,q,r,s,t,u=a.$,v=tinymce.Env,w=tinymce.util.VK,x=tinymce.dom.TreeWalker,y=!1,z=!0,A=function(){return!1},B=/iPad|iPod|iPhone/.test(navigator.userAgent);return"undefined"!=typeof wp&&wp.mce?(a.on("BeforeAddUndo",function(a){a.level.content&&(a.level.content=j(a.level.content))}),a.on("BeforeSetContent",function(b){var c;if(b.selection||wp.mce.views.unbind(),b.content){if(!b.load&&(m&&g(m),c=a.selection.getNode(),c&&c!==a.getBody()&&/^\s*https?:\/\/\S+\s*$/i.test(b.content))){if(c=a.dom.getParent(c,"p"),!c||!/^[\s\uFEFF\u00A0]*$/.test(u(c).text()||""))return;c.innerHTML=""}b.content=wp.mce.views.setMarkers(b.content)}}),a.on("pastePreProcess",function(a){var b=a.content;b&&(b=tinymce.trim(b.replace(/<[^>]+>/g,"")),/^https?:\/\/\S+$/i.test(b)&&(a.content=b))}),a.on("SetContent",function(){wp.mce.views.render()}),a.on("click",function(c){var d,f,g,h=c.clientX,i=c.clientY,j=a.getBody(),k=j.getBoundingClientRect(),l=j.firstChild,m=j.lastChild;l&&m&&(d=l.getBoundingClientRect(),f=m.getBoundingClientRect(),i<d.top&&(g=b(l))?(e(!0,g),c.preventDefault()):i>f.bottom&&(g=b(m))?(e(!1,g),c.preventDefault()):(h<k.left||h>k.right)&&tinymce.each(a.dom.select(".wpview-wrap"),function(a){var b=a.getBoundingClientRect();return i<b.top?!1:i>=b.top&&i<=b.bottom?(h<k.left?(e(!0,a),c.preventDefault()):h>k.right&&(e(!1,a),c.preventDefault()),!1):void 0}))}),a.on("init",function(){var c=!1,d=a.selection,e=window.MutationObserver||window.WebKitMutationObserver;a.on("BeforeSetContent",function(){var c,e,f=b(d.getNode());f&&(!f.nextSibling||b(f.nextSibling)?(e=a.getDoc().createTextNode(""),a.dom.insertAfter(e,f)):(c=new x(f.nextSibling,f.nextSibling),e=c.next()),d.select(e),d.collapse(!0))}),a.dom.bind(a.getDoc(),"touchmove",function(){c=!0}),a.on("mousedown mouseup click touchend",function(a){var d=b(a.target);return z=!1,d?(a.stopImmediatePropagation(),a.preventDefault(),"touchend"===a.type&&c?c=!1:h(d),!1):(("touchend"===a.type||"mousedown"===a.type)&&i(),void("touchend"===a.type&&c&&(c=!1)))},!0),e&&new e(function(){a.fire("wp-body-class-change")}).observe(a.getBody(),{attributes:!0,attributeFilter:["class"]})}),a.on("PreProcess",function(a){k(a.node)},!0),a.on("hide",function(){wp.mce.views.unbind(),i(),k(a.getBody())}),a.on("keydown",function(c){var d,j,k,n,p,q,r,s=c.keyCode,t=a.dom,u=a.selection;if(m){if((c.metaKey||c.ctrlKey)&&s!==w.BACKSPACE&&86!==s||s>=112&&123>=s)return void((c.metaKey||c.ctrlKey)&&88===s&&(y=m));if(j=b(u.getNode()),j!==m)return void i();s===w.LEFT?(e(!0,j),c.preventDefault()):s===w.UP?(j.previousSibling?b(j.previousSibling)?e(!0,j.previousSibling):(i(),u.select(j.previousSibling,!0),u.collapse()):e(!0,j),c.preventDefault()):s===w.RIGHT?(e(!1,j),c.preventDefault()):s===w.DOWN?(j.nextSibling?b(j.nextSibling)?e(!1,j.nextSibling):(i(),u.setCursorLocation(j.nextSibling,0)):e(!1,j),c.preventDefault()):l(s)||(g(m),(s===w.ENTER||s===w.DELETE||s===w.BACKSPACE)&&c.preventDefault())}else{if(c.metaKey||c.ctrlKey||s>=112&&123>=s)return;if(d=u.getNode(),o=d,j=b(d),u.isCollapsed()||(p=u.getRng(),(j=b(p.endContainer))?(q=p.cloneRange(),u.select(j.previousSibling,!0),u.collapse(),r=u.getRng(),q.setEnd(r.endContainer,r.endOffset),u.setRng(q)):(j=b(p.startContainer))&&(q=p.cloneRange(),q.setStart(j.nextSibling,0),u.setRng(q))),!j)return void(c.keyCode===w.BACKSPACE&&(a.dom.isEmpty(d)?(j=b(d.previousSibling))&&(e(!1,j),a.dom.remove(d),c.preventDefault()):(p=u.getRng())&&0===p.startOffset&&0===p.endOffset&&(j=b(d.previousSibling))&&(e(!1,j),c.preventDefault())));if(!(k=t.hasClass(j,"wpview-selection-before"))&&!(n=t.hasClass(j,"wpview-selection-after")))return;if(l(s))return;n&&s===w.UP||k&&s===w.BACKSPACE?(j.previousSibling?b(j.previousSibling)?e(!1,j.previousSibling):t.isEmpty(j.previousSibling)&&s===w.BACKSPACE?t.remove(j.previousSibling):(u.select(j.previousSibling,!0),u.collapse()):e(!0,j),c.preventDefault()):!n||s!==w.DOWN&&s!==w.RIGHT?!k||s!==w.UP&&s!==w.LEFT?k&&s===w.DOWN?(j.nextSibling?b(j.nextSibling)?e(!0,j.nextSibling):u.setCursorLocation(j.nextSibling,0):e(!1,j),c.preventDefault()):n&&s===w.LEFT||k&&s===w.RIGHT?(h(j),c.preventDefault()):n&&s===w.BACKSPACE?(g(j),c.preventDefault()):n?f(j):k&&f(j,!0,s):(j.previousSibling&&(b(j.previousSibling)?e(s===w.UP,j.previousSibling):(u.select(j.previousSibling,!0),u.collapse())),c.preventDefault()):(j.nextSibling&&(b(j.nextSibling)?e(s===w.RIGHT,j.nextSibling):u.setCursorLocation(j.nextSibling,0)),c.preventDefault()),s===w.ENTER&&c.preventDefault()}}),a.on("keyup",function(){y&&(g(y),y=!1)}),a.on("focus",function(){var c;q=!0,a.dom.addClass(a.getBody(),"has-focus"),z&&(c=b(a.getBody().firstChild))&&e(!0,c),z=!1}),a.on("blur",function(){q=!1,a.dom.removeClass(a.getBody(),"has-focus")}),a.on("NodeChange",function(d){var f=a.dom,g=a.dom.select(".wpview-wrap"),h=d.element.className,j=b(d.element),k=o;if(o=!1,clearInterval(n),tinymce.each(g,function(a){a.className&&(a.className=a.className.replace(/ ?\bwpview-(?:selection-before|selection-after|cursor-hide)\b/g,""))}),q&&j)if("wpview-selection-before"!==h&&"wpview-selection-after"!==h||!a.selection.isCollapsed())c(d.element,"wpview-clipboard")||p||(i(),p++,e(!0,j));else{if(p=0,i(),k===j.previousSibling)return void e(!0,j);if(k===j.nextSibling)return void e(!1,j);f.addClass(j,h),n=setInterval(function(){f.hasClass(j,"wpview-cursor-hide")?f.removeClass(j,"wpview-cursor-hide"):f.addClass(j,"wpview-cursor-hide")},500)}}),a.on("BeforeExecCommand",function(){var c,d=a.selection.getNode();d&&((s="wpview-selection-before"===d.className)||"wpview-selection-after"===d.className)&&(c=b(d))&&(f(c,s),r=c)}),a.on("ExecCommand",function(){var b,c;m&&(b=m,i(),h(b)),r&&(c=r[s?"previousSibling":"nextSibling"],c&&"P"===c.nodeName&&a.dom.isEmpty(c)&&(a.dom.remove(c),e(s,r)),r=!1)}),a.on("ResolveName",function(c){a.dom.hasClass(c.target,"wpview-wrap")?(c.name=a.dom.getAttrib(c.target,"data-wpview-type")||"wpview",c.stopPropagation()):b(c.target)&&(c.preventDefault(),c.stopPropagation())}),a.addButton("wp_view_edit",{tooltip:"Edit ",icon:"dashicon dashicons-edit",onclick:function(){m&&wp.mce.views.edit(a,m)}}),a.addButton("wp_view_remove",{tooltip:"Remove",icon:"dashicon dashicons-no",onclick:function(){m&&g(m)}}),a.once("preinit",function(){t=a.wp._createToolbar(["wp_view_edit","wp_view_remove"])}),a.on("wptoolbar",function(a){m&&(a.element=m,a.toolbar=t)}),a.wp=a.wp||{},a.wp.getView=b,{getView:b}):{getView:A}});
\ No newline at end of file
index 7e9e4e8b96083345e81b31c39988e6d672d2c0bf..9586839ed3681b1950b30bf8815a5a5bcd307ac3 100644 (file)
@@ -1 +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:0}}.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:#39f;color:#fff}.mce-spellchecker-word{border-bottom:2px solid red;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid green;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:#39f!important}.mce-edit-focus{outline:1px dotted #333}
\ No newline at end of file
+.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:0}}.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,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}hr{cursor:default}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-spellchecker-word{border-bottom:2px solid red;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid green;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:#39f!important}.mce-edit-focus{outline:1px dotted #333}
\ No newline at end of file
index 1005b0538dc04b93db8b7797b4ff597708c26e43..2d4f52aa3f9b8a1c9b5379daf50f4b230c61d1cf 100644 (file)
@@ -1 +1 @@
-body{background-color:#FFF;color:#000;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:#DDD;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:0}}.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:#39f;color:#fff}.mce-spellchecker-word{border-bottom:2px solid red;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid green;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:#39f!important}.mce-edit-focus{outline:1px dotted #333}
\ No newline at end of file
+body{background-color:#FFF;color:#000;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:#DDD;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:0}}.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,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}hr{cursor:default}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-spellchecker-word{border-bottom:2px solid red;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid green;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:#39f!important}.mce-edit-focus{outline:1px dotted #333}
\ No newline at end of file
index 60e2d2e5c747caf9d41310976af96c75c696b448..c8abe592bdb5e0e639e0e9d7011943d787e76b1d 100644 (file)
Binary files a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.eot and b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.eot differ
index 930c48dcefcd61bacee9f7031608d689ad532eba..df07ee7b898e4fdd60a77a911bb184764fa04041 100644 (file)
@@ -3,60 +3,60 @@
 <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 id="tinymce-small" horiz-adv-x="1024">
+<font-face units-per-em="1024" ascent="960" descent="-64" />
+<missing-glyph horiz-adv-x="1024" />
+<glyph unicode="&#x20;" d="" horiz-adv-x="512" />
+<glyph unicode="&#xe000;" d="M960 80v591.938l-223.938 224.062h-592.062c-44.182 0-80-35.816-80-80v-736c0-44.184 35.818-80 80-80h736c44.184 0 80 35.816 80 80zM576 768h64v-192h-64v192zM704 128h-384v255.882c0.034 0.042 0.076 0.082 0.116 0.118h383.77c0.040-0.036 0.082-0.076 0.116-0.118l-0.002-255.882zM832 128h-64v256c0 35.2-28.8 64-64 64h-384c-35.2 0-64-28.8-64-64v-256h-64v640h64v-192c0-35.2 28.8-64 64-64h320c35.2 0 64 28.8 64 64v171.010l128-128.072v-490.938z" />
+<glyph unicode="&#xe001;" d="M850.746 717.254l-133.492 133.49c-24.888 24.892-74.054 45.256-109.254 45.256h-416c-35.2 0-64-28.8-64-64v-768c0-35.2 28.8-64 64-64h640c35.2 0 64 28.8 64 64v544c0 35.2-20.366 84.364-45.254 109.254zM805.49 672.002c6.792-6.796 13.792-19.162 18.894-32.002h-184.384v184.386c12.84-5.1 25.204-12.1 32-18.896l133.49-133.488zM831.884 64h-639.77c-0.040 0.034-0.082 0.076-0.114 0.116v767.77c0.034 0.040 0.076 0.082 0.114 0.114h383.886v-256h256v-511.884c-0.034-0.040-0.076-0.082-0.116-0.116z" />
+<glyph unicode="&#xe002;" d="M1024 367.542v160.916l-159.144 15.914c-8.186 30.042-20.088 58.548-35.21 84.98l104.596 127.838-113.052 113.050-127.836-104.596c-26.434 15.124-54.942 27.026-84.982 35.208l-15.914 159.148h-160.916l-15.914-159.146c-30.042-8.186-58.548-20.086-84.98-35.208l-127.838 104.594-113.050-113.050 104.596-127.836c-15.124-26.432-27.026-54.94-35.21-84.98l-159.146-15.916v-160.916l159.146-15.914c8.186-30.042 20.086-58.548 35.21-84.982l-104.596-127.836 113.048-113.048 127.838 104.596c26.432-15.124 54.94-27.028 84.98-35.21l15.916-159.148h160.916l15.914 159.144c30.042 8.186 58.548 20.088 84.982 35.21l127.836-104.596 113.048 113.048-104.596 127.836c15.124 26.434 27.028 54.942 35.21 84.98l159.148 15.92zM704 384l-128-128h-128l-128 128v128l128 128h128l128-128v-128z" />
+<glyph unicode="&#xe003;" d="M64 768h896v-128h-896zM64 384h896v-128h-896zM64 576h576v-128h-576zM64 192h576v-128h-576z" />
+<glyph unicode="&#xe004;" d="M64 768h896v-128h-896zM64 384h896v-128h-896zM256 576h512v-128h-512zM256 192h512v-128h-512z" />
+<glyph unicode="&#xe005;" d="M64 768h896v-128h-896zM64 384h896v-128h-896zM384 576h576v-128h-576zM384 192h576v-128h-576z" />
+<glyph unicode="&#xe006;" d="M64 768h896v-128h-896zM64 384h896v-128h-896zM64 576h896v-128h-896zM64 192h896v-128h-896z" />
+<glyph unicode="&#xe007;" d="M864.408 289.868c-46.47 46.47-106.938 68.004-161.082 62.806l-63.326 63.326 192 192c0 0 128 128 0 256l-320-320-320 320c-128-128 0-256 0-256l192-192-63.326-63.326c-54.144 5.198-114.61-16.338-161.080-62.806-74.98-74.98-85.112-186.418-22.626-248.9 62.482-62.482 173.92-52.354 248.9 22.626 46.47 46.468 68.002 106.938 62.806 161.080l63.326 63.326 63.328-63.328c-5.196-54.144 16.336-114.61 62.806-161.078 74.978-74.98 186.418-85.112 248.898-22.626 62.488 62.482 52.356 173.918-22.624 248.9zM353.124 201.422c-2.212-24.332-15.020-49.826-35.14-69.946-22.212-22.214-51.080-35.476-77.218-35.476-10.524 0-25.298 2.228-35.916 12.848-21.406 21.404-17.376 73.132 22.626 113.136 22.212 22.214 51.080 35.476 77.218 35.476 10.524 0 25.298-2.228 35.916-12.848 13.112-13.11 13.47-32.688 12.514-43.19zM512 352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zM819.152 108.848c-10.62-10.62-25.392-12.848-35.916-12.848-26.138 0-55.006 13.262-77.218 35.476-20.122 20.12-32.928 45.614-35.138 69.946-0.958 10.502-0.6 30.080 12.514 43.192 10.618 10.622 25.39 12.848 35.916 12.848 26.136 0 55.006-13.262 77.216-35.474 40.004-40.008 44.032-91.736 22.626-113.14z" />
+<glyph unicode="&#xe008;" d="M704 576v160c0 17.6-14.4 32-32 32h-160v64c0 35.2-28.8 64-64 64h-128c-35.204 0-64-28.8-64-64v-64h-160c-17.602 0-32-14.4-32-32v-512c0-17.6 14.398-32 32-32h224v-192h384l192 192v384h-192zM320 831.886c0.034 0.038 0.072 0.078 0.114 0.114h127.768c0.042-0.036 0.082-0.076 0.118-0.114v-63.886h-128v63.886zM192 640v64h384v-64h-384zM704 90.51v101.49h101.49l-101.49-101.49zM832 256h-192v-192h-256v448h448v-256z" />
+<glyph unicode="&#xe009;" d="M888 576h-56v256h64v64h-320v-64h64v-256h-256v256h64v64h-320v-64h64v-256h-56c-39.6 0-72-32.4-72-72v-432c0-39.6 32.4-72 72-72h240c39.6 0 72 32.4 72 72v312h128v-312c0-39.6 32.4-72 72-72h240c39.6 0 72 32.4 72 72v432c0 39.6-32.4 72-72 72zM348 64h-184c-19.8 0-36 14.4-36 32s16.2 32 36 32h184c19.8 0 36-14.4 36-32s-16.2-32-36-32zM544 448h-64c-17.6 0-32 14.4-32 32s14.4 32 32 32h64c17.6 0 32-14.4 32-32s-14.4-32-32-32zM860 64h-184c-19.8 0-36 14.4-36 32s16.2 32 36 32h184c19.8 0 36-14.4 36-32s-16.2-32-36-32z" />
+<glyph unicode="&#xe00a;" d="M384 832h576v-128h-576zM384 512h576v-128h-576zM384 192h576v-128h-576zM128 768c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zM128 448c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zM128 128c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64z" />
+<glyph unicode="&#xe00b;" d="M384 832h576v-128h-576zM384 512h576v-128h-576zM384 192h576v-128h-576zM320 430v146h-64v320h-128v-64h64v-256h-64v-64h128v-50l-128-60v-146h128v-64h-128v-64h128v-64h-128v-64h192v320h-128v50z" />
+<glyph unicode="&#xe00c;" d="M64 768h896v-128h-896zM384 384h576v-128h-576zM384 576h576v-128h-576zM64 192h896v-128h-896zM64 576l224-160-224-160z" />
+<glyph unicode="&#xe00d;" d="M64 768h896v-128h-896zM64 384h576v-128h-576zM64 576h576v-128h-576zM64 192h896v-128h-896zM960 576l-224-160 224-160z" />
+<glyph unicode="&#xe00e;" d="M256.428 535.274c105.8 0 191.572-91.17 191.572-203.638 0-112.464-85.772-203.636-191.572-203.636-105.802 0-191.572 91.17-191.572 203.636l-0.856 29.092c0 224.93 171.54 407.272 383.144 407.272v-116.364c-73.1 0-141.826-30.26-193.516-85.204-9.954-10.578-19.034-21.834-27.224-33.656 9.784 1.64 19.806 2.498 30.024 2.498zM768.428 535.274c105.8 0 191.572-91.17 191.572-203.638 0-112.464-85.772-203.636-191.572-203.636-105.802 0-191.572 91.17-191.572 203.636l-0.856 29.092c0 224.93 171.54 407.272 383.144 407.272v-116.364c-73.1 0-141.826-30.26-193.516-85.204-9.956-10.578-19.036-21.834-27.224-33.656 9.784 1.64 19.806 2.498 30.024 2.498z" />
+<glyph unicode="&#xe00f;" d="M704 0c59 199 134.906 455.266-256 446.096v-222.096l-336.002 336 336.002 336v-217.326c468.092 12.2 544-358.674 256-678.674z" />
+<glyph unicode="&#xe010;" d="M576 678.674v217.326l336.002-336-336.002-336v222.096c-390.906 9.17-315-247.096-256-446.096-288 320-212.092 690.874 256 678.674z" />
+<glyph unicode="&#xe011;" d="M927.274 729.784l-133.49 133.488c-21.104 21.104-49.232 32.728-79.198 32.728s-58.094-11.624-79.196-32.726l-165.492-165.49c-43.668-43.668-43.668-114.724 0-158.392l2.746-2.746 67.882 67.882-2.746 2.746c-6.132 6.132-6.132 16.494 0 22.626l165.492 165.492c4.010 4.008 8.808 4.608 11.312 4.608s7.302-0.598 11.312-4.61l133.49-133.488c6.132-6.134 6.132-16.498 0.002-22.628l-165.494-165.494c-4.008-4.008-8.806-4.608-11.31-4.608s-7.302 0.6-11.312 4.612l-2.746 2.746-67.88-67.884 2.742-2.742c21.106-21.108 49.23-32.728 79.2-32.728s58.094 11.624 79.196 32.726l165.494 165.492c43.662 43.666 43.662 114.72-0.004 158.39zM551.356 359.356l-67.882-67.882 2.746-2.746c4.008-4.008 4.61-8.806 4.61-11.31 0-2.506-0.598-7.302-4.606-11.314l-165.494-165.49c-4.010-4.010-8.81-4.61-11.314-4.61s-7.304 0.6-11.314 4.61l-133.492 133.486c-4.010 4.010-4.61 8.81-4.61 11.314s0.598 7.3 4.61 11.312l165.49 165.488c4.010 4.012 8.81 4.612 11.314 4.612s7.304-0.6 11.314-4.612l2.746-2.742 67.882 67.88-2.746 2.746c-21.104 21.104-49.23 32.726-79.196 32.726s-58.092-11.624-79.196-32.726l-165.488-165.486c-21.106-21.104-32.73-49.234-32.73-79.198s11.624-58.094 32.726-79.198l133.49-133.49c21.106-21.102 49.232-32.726 79.198-32.726s58.092 11.624 79.196 32.726l165.494 165.492c21.104 21.104 32.722 49.23 32.722 79.196s-11.624 58.094-32.726 79.196l-2.744 2.746zM352 250c-9.724 0-19.45 3.71-26.87 11.128-14.84 14.84-14.84 38.898 0 53.738l320 320c14.84 14.84 38.896 14.84 53.736 0 14.844-14.84 14.844-38.9 0-53.74l-320-320c-7.416-7.416-17.142-11.126-26.866-11.126z" />
+<glyph unicode="&#xe012;" d="M927.274 729.784l-133.49 133.488c-21.104 21.104-49.232 32.728-79.198 32.728s-58.094-11.624-79.196-32.726l-165.492-165.49c-43.668-43.668-43.668-114.724 0-158.392l2.746-2.746 67.882 67.882-2.746 2.746c-6.132 6.132-6.132 16.494 0 22.626l165.492 165.492c4.010 4.008 8.808 4.608 11.312 4.608s7.302-0.598 11.312-4.61l133.49-133.488c6.132-6.134 6.132-16.498 0.002-22.628l-165.494-165.494c-4.008-4.008-8.806-4.608-11.31-4.608s-7.302 0.6-11.312 4.612l-2.746 2.746-67.88-67.884 2.742-2.742c21.106-21.108 49.23-32.728 79.2-32.728s58.094 11.624 79.196 32.726l165.494 165.492c43.662 43.666 43.662 114.72-0.004 158.39zM551.356 359.356l-67.882-67.882 2.746-2.746c4.008-4.008 4.61-8.806 4.61-11.31 0-2.506-0.598-7.302-4.606-11.314l-165.494-165.49c-4.010-4.010-8.81-4.61-11.314-4.61s-7.304 0.6-11.314 4.61l-133.492 133.486c-4.010 4.010-4.61 8.81-4.61 11.314s0.598 7.3 4.61 11.312l165.49 165.488c4.010 4.012 8.81 4.612 11.314 4.612s7.304-0.6 11.314-4.612l2.746-2.742 67.882 67.88-2.746 2.746c-21.104 21.104-49.23 32.726-79.196 32.726s-58.092-11.624-79.196-32.726l-165.488-165.486c-21.106-21.104-32.73-49.234-32.73-79.198s11.624-58.094 32.726-79.198l133.49-133.49c21.106-21.102 49.232-32.726 79.198-32.726s58.092 11.624 79.196 32.726l165.494 165.492c21.104 21.104 32.722 49.23 32.722 79.196s-11.624 58.094-32.726 79.196l-2.744 2.746zM800 122c-9.724 0-19.45 3.708-26.87 11.13l-128 127.998c-14.844 14.84-14.844 38.898 0 53.738 14.84 14.844 38.896 14.844 53.736 0l128-128c14.844-14.84 14.844-38.896 0-53.736-7.416-7.422-17.142-11.13-26.866-11.13zM608 0c-17.674 0-32 14.326-32 32v128c0 17.674 14.326 32 32 32s32-14.326 32-32v-128c0-17.674-14.326-32-32-32zM928 320h-128c-17.674 0-32 14.326-32 32s14.326 32 32 32h128c17.674 0 32-14.326 32-32s-14.326-32-32-32zM224 774c9.724 0 19.45-3.708 26.87-11.13l128-128c14.842-14.84 14.842-38.898 0-53.738-14.84-14.844-38.898-14.844-53.738 0l-128 128c-14.842 14.84-14.842 38.898 0 53.738 7.418 7.422 17.144 11.13 26.868 11.13zM416 896c17.674 0 32-14.326 32-32v-128c0-17.674-14.326-32-32-32s-32 14.326-32 32v128c0 17.674 14.326 32 32 32zM96 576h128c17.674 0 32-14.326 32-32s-14.326-32-32-32h-128c-17.674 0-32 14.326-32 32s14.326 32 32 32z" />
+<glyph unicode="&#xe013;" d="M256 896v-896l256 256 256-256v896h-512zM704 170.51l-192 192-192-192v661.49h384v-661.49z" />
+<glyph unicode="&#xe014;" d="M896 832h-768c-35.2 0-64-28.8-64-64v-640c0-35.2 28.8-64 64-64h768c35.2 0 64 28.8 64 64v640c0 35.2-28.8 64-64 64zM896 128.116c-0.012-0.014-0.030-0.028-0.042-0.042l-191.958 319.926-160-128-224 288-191.968-479.916c-0.010 0.010-0.022 0.022-0.032 0.032v639.77c0.034 0.040 0.076 0.082 0.114 0.114h767.77c0.040-0.034 0.082-0.076 0.116-0.116v-639.768zM640 608c0-53.019 42.981-96 96-96s96 42.981 96 96c0 53.019-42.981 96-96 96s-96-42.981-96-96z" />
+<glyph unicode="&#xe015;" d="M896 832h-768c-35.2 0-64-28.8-64-64v-640c0-35.2 28.8-64 64-64h768c35.2 0 64 28.8 64 64v640c0 35.2-28.8 64-64 64zM256 128h-128v128h128v-128zM256 384h-128v128h128v-128zM256 640h-128v128h128v-128zM704 128h-384v640h384v-640zM896 128h-128v128h128v-128zM896 384h-128v128h128v-128zM896 640h-128v128h128v-128zM384 640v-384l288 192z" />
+<glyph unicode="&#xe016;" d="M448 256h128v-128h-128v128zM704 704c35.346 0 64-28.654 64-64v-166l-228-154h-92v64l192 128v64h-320v128h384zM512 896c-119.666 0-232.166-46.6-316.784-131.216-84.614-84.618-131.216-197.118-131.216-316.784 0-119.664 46.602-232.168 131.216-316.784 84.618-84.616 197.118-131.216 316.784-131.216 119.664 0 232.168 46.6 316.784 131.216s131.216 197.12 131.216 316.784c0 119.666-46.6 232.166-131.216 316.784-84.616 84.616-197.12 131.216-316.784 131.216z" />
+<glyph unicode="&#xe017;" d="M416 256l-192 192 192 192-64 64-256-256 256-256zM672 704l-64-64 192-192-192-192 64-64 256 256z" />
+<glyph unicode="&#xe018;" d="M77.798 655.376l81.414-50.882c50.802 81.114 128.788 143.454 221.208 174.246l-30.366 91.094c-113.748-37.898-209.728-114.626-272.256-214.458zM673.946 869.834l-30.366-91.094c92.422-30.792 170.404-93.132 221.208-174.248l81.412 50.882c-62.526 99.834-158.506 176.562-272.254 214.46zM607.974 255.992c-4.808 0-9.692 1.090-14.286 3.386l-145.688 72.844v211.778c0 17.672 14.328 32 32 32s32-14.328 32-32v-172.222l110.31-55.156c15.806-7.902 22.214-27.124 14.31-42.932-5.604-11.214-16.908-17.696-28.646-17.698zM512 768c-212.078 0-384-171.922-384-384s171.922-384 384-384c212.078 0 384 171.922 384 384s-171.922 384-384 384zM512 96c-159.058 0-288 128.942-288 288s128.942 288 288 288c159.058 0 288-128.942 288-288s-128.942-288-288-288z" />
+<glyph unicode="&#xe019;" d="M64 504.254c45.318 49.92 97.162 92.36 153.272 125.124 90.332 52.744 192.246 80.622 294.728 80.622 102.48 0 204.396-27.878 294.726-80.624 56.112-32.764 107.956-75.204 153.274-125.124v117.432c-33.010 28.118-68.124 53.14-104.868 74.594-105.006 61.314-223.658 93.722-343.132 93.722s-238.128-32.408-343.134-93.72c-36.742-21.454-71.856-46.478-104.866-74.596v-117.43zM512 640c-183.196 0-345.838-100.556-448-256 102.162-155.448 264.804-256 448-256s345.838 100.552 448 256c-102.162 155.444-264.804 256-448 256zM512 448c0-35.346-28.654-64-64-64s-64 28.654-64 64c0 35.348 28.654 64 64 64s64-28.652 64-64zM728.066 263.338c-67.434-39.374-140.128-59.338-216.066-59.338s-148.632 19.964-216.066 59.338c-51.554 30.104-98.616 71.31-138.114 120.662 39.498 49.35 86.56 90.558 138.116 120.66 13.276 7.752 26.758 14.74 40.426 20.982-10.512-23.742-16.362-50.008-16.362-77.642 0-106.040 85.962-192 192-192 106.040 0 192 85.96 192 192 0 27.634-5.85 53.9-16.36 77.642 13.668-6.244 27.15-13.23 40.426-20.982 51.554-30.102 98.616-71.31 138.116-120.66-39.498-49.352-86.56-90.558-138.116-120.662z" />
+<glyph unicode="&#xe01a;" d="M651.168 676.166c-24.612 81.962-28.876 91.834-107.168 91.834h-64c-79.618 0-82.664-10.152-108.418-96 0-0.002 0-0.002-0.002-0.004l-143.998-479.996h113.636l57.6 192h226.366l57.6-192h113.63l-145.246 484.166zM437.218 512l38.4 136c10.086 33.618 36.38 30 36.38 30s26.294 3.618 36.38-30h0.004l38.4-136h-149.564z" />
+<glyph unicode="&#xe01b;" d="M64 768v-704h896v704h-896zM384 320v128h256v-128h-256zM640 256v-128h-256v128h256zM640 640v-128h-256v128h256zM320 640v-128h-192v128h192zM128 448h192v-128h-192v128zM704 448h192v-128h-192v128zM704 512v128h192v-128h-192zM128 256h192v-128h-192v128zM704 128v128h192v-128h-192z" />
+<glyph unicode="&#xe01c;" d="M64 512h896v-128h-896z" />
+<glyph unicode="&#xe01d;" d="M64 192h512v-128h-512v128zM768 768h-220.558l-183.766-512h-132.288l183.762 512h-223.15v128h576v-128zM929.774 64l-129.774 129.774-129.774-129.774-62.226 62.226 129.774 129.774-129.774 129.774 62.226 62.226 129.774-129.774 129.774 129.774 62.226-62.226-129.774-129.774 129.774-129.774-62.226-62.226z" />
+<glyph unicode="&#xe01e;" d="M768 50v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z" />
+<glyph unicode="&#xe01f;" d="M768 754v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z" />
+<glyph unicode="&#xe020;" d="M704 128v37.004c151.348 61.628 256 193.82 256 346.996 0 212.078-200.576 384-448 384s-448-171.922-448-384c0-153.176 104.654-285.368 256-346.996v-37.004h-192l-64 96v-224h320v222.812c-100.9 51.362-170.666 161.54-170.666 289.188 0 176.732 133.718 320 298.666 320s298.666-143.268 298.666-320c0-127.648-69.766-237.826-170.666-289.188v-222.812h320v224l-64-96h-192z" />
+<glyph unicode="&#xe021;" d="M512 820c99.366 0 192.782-38.694 263.042-108.956s108.958-163.678 108.958-263.044-38.696-192.782-108.958-263.042-163.676-108.958-263.042-108.958-192.782 38.696-263.044 108.958-108.956 163.676-108.956 263.042 38.694 192.782 108.956 263.044 163.678 108.956 263.044 108.956zM512 896c-247.424 0-448-200.576-448-448s200.576-448 448-448 448 200.576 448 448-200.576 448-448 448v0zM320 576c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zM576 576c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zM512 304c-101.84 0-192.56 36.874-251.166 94.328 23.126-117.608 126.778-206.328 251.166-206.328s228.040 88.72 251.168 206.328c-58.608-57.454-149.328-94.328-251.168-94.328z" />
+<glyph unicode="&#xe022;" d="M256 832h512v-128h-512v128zM896 640h-768c-35.2 0-64-28.8-64-64v-256c0-35.2 28.796-64 64-64h128v-192h512v192h128c35.2 0 64 28.8 64 64v256c0 35.2-28.8 64-64 64zM704 128h-384v256h384v-256zM910.4 544c0-25.626-20.774-46.4-46.398-46.4s-46.402 20.774-46.402 46.4 20.778 46.4 46.402 46.4c25.626 0 46.398-20.774 46.398-46.4z" />
+<glyph unicode="&#xe023;" d="M480 576l-192 192 128 128h-352v-352l128 128 192-192zM640 480l192 192 128-128v352h-352l128-128-192-192zM544 320l192-192-128-128h352v352l-128-128-192 192zM384 416l-192-192-128 128v-352h352l-128 128 192 192z" />
+<glyph unicode="&#xe024;" d="M960 832v64h-192c-35.202 0-64-28.8-64-64v-320c0-15.856 5.858-30.402 15.496-41.614l-303.496-260.386-142 148-82-70 224-288 416 448h128v64h-192v320h192zM256 448h64v384c0 35.2-28.8 64-64 64h-128c-35.2 0-64-28.8-64-64v-384h64v192h128v-192zM128 704v128h128v-128h-128zM640 512v96c0 35.2-8.8 64-44 64 35.2 0 44 28.8 44 64v96c0 35.2-28.8 64-64 64h-192v-448h192c35.2 0 64 28.8 64 64zM448 832h128v-128h-128v128zM448 640h128v-128h-128v128z" />
+<glyph unicode="&#xe025;" d="M448 448h-128v128h128v128h128v-128h128v-128h-128v-128h-128v128zM960 384v-320h-896v320h128v-192h640v192h128z" />
+<glyph unicode="&#xe026;" d="M512 576h128v-64h-128zM512 192h128v-64h-128zM576 384h128v-64h-128zM768 384v-192h-64v-64h128v256zM384 384h128v-64h-128zM320 192h128v-64h-128zM320 576h128v-64h-128zM192 768v-256h64v192h64v64zM704 512h128v256h-64v-192h-64zM64 896v-896h896v896h-896zM896 64h-768v768h768v-768zM192 384v-256h64v192h64v64zM576 768h128v-64h-128zM384 768h128v-64h-128z" />
+<glyph unicode="&#xe027;" d="M816 896l16-384h-640l16 384h32l16-320h512l16 320h32zM208 0l-16 320h640l-16-320h-32l-16 256h-512l-16-256h-32zM64 448h128v-64h-128zM256 448h128v-64h-128zM448 448h128v-64h-128zM640 448h128v-64h-128zM832 448h128v-64h-128z" />
+<glyph unicode="&#xe028;" d="M576 896c247.424 0 448-200.576 448-448s-200.576-448-448-448v96c94.024 0 182.418 36.614 248.902 103.098s103.098 154.878 103.098 248.902c0 94.022-36.614 182.418-103.098 248.902s-154.878 103.098-248.902 103.098c-94.022 0-182.418-36.614-248.902-103.098-51.14-51.138-84.582-115.246-97.306-184.902h186.208l-224-256-224 256h164.57c31.060 217.102 217.738 384 443.43 384zM768 512v-128h-256v320h128v-192z" />
+<glyph unicode="&#xe02a;" d="M625.442 465.818c48.074 38.15 78.558 94.856 78.558 158.182 0 114.876-100.29 208-224 208h-224v-768h288c123.712 0 224 93.124 224 208 0 88.196-59.118 163.562-142.558 193.818zM384 656c0 26.51 21.49 48 48 48h67.204c42.414 0 76.796-42.98 76.796-96s-34.382-96-76.796-96h-115.204v144zM547.2 192h-115.2c-26.51 0-48 21.49-48 48v144h163.2c42.418 0 76.8-42.98 76.8-96s-34.382-96-76.8-96z" />
+<glyph unicode="&#xe02b;" d="M832 832v-64h-144l-256-640h144v-64h-448v64h144l256 640h-144v64h448z" />
+<glyph unicode="&#xe02c;" d="M192 128h576v-64h-576v64zM640 832v-384c0-31.312-14.7-61.624-41.39-85.352-30.942-27.502-73.068-42.648-118.61-42.648-45.544 0-87.668 15.146-118.608 42.648-26.692 23.728-41.392 54.040-41.392 85.352v384h-128v-384c0-141.382 128.942-256 288-256s288 114.618 288 256v384h-128z" />
+<glyph unicode="&#xe02d;" d="M960 448h-265.876c-50.078 35.42-114.43 54.86-182.124 54.86-89.206 0-164.572 50.242-164.572 109.712s75.366 109.714 164.572 109.714c75.058 0 140.308-35.576 159.12-82.286h113.016c-7.93 50.644-37.58 97.968-84.058 132.826-50.88 38.16-117.676 59.174-188.078 59.174-70.404 0-137.196-21.014-188.074-59.174-54.788-41.090-86.212-99.502-86.212-160.254s31.424-119.164 86.212-160.254c1.956-1.466 3.942-2.898 5.946-4.316h-265.872v-64h512.532c58.208-17.106 100.042-56.27 100.042-100.572 0-59.468-75.368-109.71-164.572-109.71-75.060 0-140.308 35.574-159.118 82.286h-113.016c7.93-50.64 37.582-97.968 84.060-132.826 50.876-38.164 117.668-59.18 188.072-59.18 70.402 0 137.198 21.016 188.074 59.174 54.79 41.090 86.208 99.502 86.208 160.254 0 35.298-10.654 69.792-30.294 100.572h204.012v64z" />
+<glyph unicode="&#xe02e;" d="M384 832c-123.712 0-224-100.288-224-224s100.288-224 224-224v-320h128v640h64v-640h128v640h128v128h-448z" />
+<glyph unicode="&#xe02f;" d="M448 832c-123.712 0-224-100.288-224-224s100.288-224 224-224v-320h128v640h64v-640h128v640h128v128h-448zM64 64l224 192-224 192z" />
+<glyph unicode="&#xe030;" d="M320 832c-123.712 0-224-100.288-224-224s100.288-224 224-224v-320h128v640h64v-640h128v640h128v128h-448zM960 448l-224-192 224-192z" />
+<glyph unicode="&#xe031;" d="M832 640h-192v64l-192 192h-384v-704h384v-192h576v448l-192 192zM832 549.49l101.49-101.49h-101.49v101.49zM448 805.49l101.49-101.49h-101.49v101.49zM128 832h256v-192h192v-384h-448v576zM960 64h-448v128h128v384h128v-192h192v-320z" />
+<glyph unicode="&#xe032;" d="M768 704h64v-64h-64zM640 576h64v-64h-64zM640 448h64v-64h-64zM640 320h64v-64h-64zM512 448h64v-64h-64zM512 320h64v-64h-64zM384 320h64v-64h-64zM768 576h64v-64h-64zM768 448h64v-64h-64zM768 320h64v-64h-64zM768 192h64v-64h-64zM640 192h64v-64h-64zM512 192h64v-64h-64zM384 192h64v-64h-64zM256 192h64v-64h-64z" />
+<glyph unicode="&#xe034;" d="M928 832h-416l-32 64h-352l-64-128h896zM840.34 256h87.66l32 448h-896l64-640h356.080c-104.882 37.776-180.080 138.266-180.080 256 0 149.982 122.018 272 272 272 149.98 0 272-122.018 272-272 0-21.678-2.622-43.15-7.66-64zM874.996 110.25l-134.496 110.692c17.454 28.922 27.5 62.814 27.5 99.058 0 106.040-85.96 192-192 192s-192-85.96-192-192 85.96-192 192-192c36.244 0 70.138 10.046 99.058 27.5l110.692-134.496c22.962-26.678 62.118-28.14 87.006-3.252l5.492 5.492c24.888 24.888 23.426 64.044-3.252 87.006zM576 196c-68.484 0-124 55.516-124 124s55.516 124 124 124 124-55.516 124-124-55.516-124-124-124z" />
+<glyph unicode="&#xe035;" d="M704 576v160c0 17.6-14.4 32-32 32h-160v64c0 35.2-28.8 64-64 64h-128c-35.204 0-64-28.8-64-64v-64h-160c-17.602 0-32-14.4-32-32v-512c0-17.6 14.398-32 32-32h224v-192h576v576h-192zM320 831.886c0.034 0.038 0.072 0.078 0.114 0.114h127.768c0.042-0.036 0.082-0.076 0.118-0.114v-63.886h-128v63.886zM192 640v64h384v-64h-384zM832 64h-448v448h448v-448zM448 448v-128h32l32 64h64v-192h-48v-64h160v64h-48v192h64l32-64h32v128z" />
 </font></defs></svg>
\ No newline at end of file
index afc6ec458b5c032f104c12318ff721d31d9dab8e..31554f69222a02bf692dcfb6390aebae75f83241 100644 (file)
Binary files a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.ttf and b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.ttf differ
index fa72c74b45ba3725a6ff7d8d0901c538467c64e2..6be9a1d82dcbd713f484be0a3859a641f7ed904e 100644 (file)
Binary files a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.woff and b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce-small.woff differ
index c1085bfd295abcf940871c863165656df8b094c2..f24c3eea16d20d8e75540e1f0967a5f1660fca48 100644 (file)
Binary files a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot and b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.eot differ
index feb9ba38de10fce085894d9795935cbc469c66f8..7096cf9f281727191ce09e33e76a347014615c27 100644 (file)
@@ -3,61 +3,61 @@
 <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 id="tinymce" horiz-adv-x="1024">
+<font-face units-per-em="1024" ascent="960" descent="-64" />
+<missing-glyph horiz-adv-x="1024" />
+<glyph unicode="&#x20;" d="" horiz-adv-x="512" />
+<glyph unicode="&#xe000;" d="M896 960h-896v-1024h1024v896l-128 128zM512 832h128v-256h-128v256zM896 64h-768v768h64v-320h576v320h74.978l53.022-53.018v-714.982z" />
+<glyph unicode="&#xe001;" d="M903.432 760.57l-142.864 142.862c-31.112 31.112-92.568 56.568-136.568 56.568h-480c-44 0-80-36-80-80v-864c0-44 36-80 80-80h736c44 0 80 36 80 80v608c0 44-25.456 105.458-56.568 136.57zM858.178 715.314c3.13-3.13 6.25-6.974 9.28-11.314h-163.458v163.456c4.34-3.030 8.184-6.15 11.314-9.28l142.864-142.862zM896 16c0-8.672-7.328-16-16-16h-736c-8.672 0-16 7.328-16 16v864c0 8.672 7.328 16 16 16h480c4.832 0 10.254-0.61 16-1.704v-254.296h254.296c1.094-5.746 1.704-11.166 1.704-16v-608z" />
+<glyph unicode="&#xe002;" d="M1024 367.542v160.916l-159.144 15.914c-8.186 30.042-20.088 58.548-35.21 84.98l104.596 127.838-113.052 113.050-127.836-104.596c-26.434 15.124-54.942 27.026-84.982 35.208l-15.914 159.148h-160.916l-15.914-159.146c-30.042-8.186-58.548-20.086-84.98-35.208l-127.838 104.594-113.050-113.050 104.596-127.836c-15.124-26.432-27.026-54.94-35.21-84.98l-159.146-15.916v-160.916l159.146-15.914c8.186-30.042 20.086-58.548 35.21-84.982l-104.596-127.836 113.048-113.048 127.838 104.596c26.432-15.124 54.94-27.028 84.98-35.21l15.916-159.148h160.916l15.914 159.144c30.042 8.186 58.548 20.088 84.982 35.21l127.836-104.596 113.048 113.048-104.596 127.836c15.124 26.434 27.028 54.942 35.21 84.98l159.148 15.92zM704 384l-128-128h-128l-128 128v128l128 128h128l128-128v-128z" />
+<glyph unicode="&#xe003;" d="M0 896h1024v-128h-1024zM0 704h640v-128h-640zM0 320h640v-128h-640zM0 512h1024v-128h-1024zM0 128h1024v-128h-1024z" />
+<glyph unicode="&#xe004;" d="M0 896h1024v-128h-1024zM192 704h640v-128h-640zM192 320h640v-128h-640zM0 512h1024v-128h-1024zM0 128h1024v-128h-1024z" />
+<glyph unicode="&#xe005;" d="M0 896h1024v-128h-1024zM384 704h640v-128h-640zM384 320h640v-128h-640zM0 512h1024v-128h-1024zM0 128h1024v-128h-1024z" />
+<glyph unicode="&#xe006;" d="M0 896h1024v-128h-1024zM0 704h1024v-128h-1024zM0 512h1024v-128h-1024zM0 320h1024v-128h-1024zM0 128h1024v-128h-1024z" />
+<glyph unicode="&#xe007;" d="M890.774 250.846c-45.654 45.556-103.728 69.072-157.946 69.072h-29.112l-63.904 64.008 255.62 256.038c63.904 64.010 63.904 192.028 0 256.038l-383.43-384.056-383.432 384.054c-63.904-64.008-63.904-192.028 0-256.038l255.622-256.034-63.906-64.008h-29.114c-54.22 0-112.292-23.518-157.948-69.076-81.622-81.442-92.65-202.484-24.63-270.35 29.97-29.902 70.288-44.494 112.996-44.494 54.216 0 112.29 23.514 157.946 69.072 53.584 53.464 76.742 124 67.084 185.348l65.384 65.488 65.376-65.488c-9.656-61.348 13.506-131.882 67.084-185.348 45.662-45.558 103.732-69.072 157.948-69.072 42.708 0 83.024 14.592 112.994 44.496 68.020 67.866 56.988 188.908-24.632 270.35zM353.024 114.462c-7.698-17.882-19.010-34.346-33.626-48.926-14.636-14.604-31.172-25.918-49.148-33.624-16.132-6.916-32.96-10.568-48.662-10.568-15.146 0-36.612 3.402-52.862 19.612-16.136 16.104-19.52 37.318-19.52 52.288 0 15.542 3.642 32.21 10.526 48.212 7.7 17.884 19.014 34.346 33.626 48.926 14.634 14.606 31.172 25.914 49.15 33.624 16.134 6.914 32.96 10.568 48.664 10.568 15.146 0 36.612-3.4 52.858-19.614 16.134-16.098 19.522-37.316 19.522-52.284 0.002-15.542-3.638-32.216-10.528-48.214zM512.004 293.404c-49.914 0-90.376 40.532-90.376 90.526 0 49.992 40.462 90.52 90.376 90.52s90.372-40.528 90.372-90.52c0-49.998-40.46-90.526-90.372-90.526zM855.272 40.958c-16.248-16.208-37.712-19.612-52.86-19.612-15.704 0-32.53 3.652-48.666 10.568-17.972 7.706-34.508 19.020-49.142 33.624-14.614 14.58-25.926 31.042-33.626 48.926-6.886 15.998-10.526 32.672-10.526 48.212 0 14.966 3.384 36.188 19.52 52.286 16.246 16.208 37.712 19.614 52.86 19.614 15.7 0 32.53-3.654 48.66-10.568 17.978-7.708 34.516-19.018 49.15-33.624 14.61-14.58 25.924-31.042 33.626-48.926 6.884-15.998 10.526-32.67 10.526-48.212-0.002-14.97-3.39-36.186-19.522-52.288z" />
+<glyph unicode="&#xe008;" d="M832 640v160c0 17.6-14.4 32-32 32h-224v64c0 35.2-28.8 64-64 64h-128c-35.204 0-64-28.8-64-64v-64h-224c-17.602 0-32-14.4-32-32v-640c0-17.6 14.398-32 32-32h288v-192h448l192 192v512h-192zM384 895.886c0.034 0.038 0.072 0.078 0.114 0.114h127.768c0.042-0.036 0.082-0.076 0.118-0.114v-63.886h-128v63.886zM192 704v64h512v-64h-512zM832 26.51v101.49h101.49l-101.49-101.49zM960 192h-192v-192h-320v576h512v-384z" />
+<glyph unicode="&#xe009;" d="M64 960h384v-64h-384zM576 960h384v-64h-384zM952 640h-56v256h-256v-256h-256v256h-256v-256h-56c-39.6 0-72-32.4-72-72v-560c0-39.6 32.4-72 72-72h304c39.6 0 72 32.4 72 72v376h128v-376c0-39.6 32.4-72 72-72h304c39.6 0 72 32.4 72 72v560c0 39.6-32.4 72-72 72zM348 0h-248c-19.8 0-36 14.4-36 32s16.2 32 36 32h248c19.8 0 36-14.4 36-32s-16.2-32-36-32zM544 448h-64c-17.6 0-32 14.4-32 32s14.4 32 32 32h64c17.6 0 32-14.4 32-32s-14.4-32-32-32zM924 0h-248c-19.8 0-36 14.4-36 32s16.2 32 36 32h248c19.8 0 36-14.4 36-32s-16.2-32-36-32z" />
+<glyph unicode="&#xe00a;" d="M384 896h640v-128h-640v128zM384 512h640v-128h-640v128zM384 128h640v-128h-640v128zM0 832c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128zM0 448c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128zM0 64c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128z" />
+<glyph unicode="&#xe00b;" d="M384 128h640v-128h-640zM384 512h640v-128h-640zM384 896h640v-128h-640zM192 960v-256h-64v192h-64v64zM128 434v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM256 256v-320h-192v64h128v64h-128v64h128v64h-128v64z" />
+<glyph unicode="&#xe00c;" d="M0 896h1024v-128h-1024zM384 704h640v-128h-640zM384 512h640v-128h-640zM384 320h640v-128h-640zM0 128h1024v-128h-1024zM0 256v384l256-192z" />
+<glyph unicode="&#xe00d;" d="M0 896h1024v-128h-1024zM384 704h640v-128h-640zM384 512h640v-128h-640zM384 320h640v-128h-640zM0 128h1024v-128h-1024zM256 640v-384l-256 192z" />
+<glyph unicode="&#xe00e;" d="M225 512c123.712 0 224-100.29 224-224 0-123.712-100.288-224-224-224s-224 100.288-224 224l-1 32c0 247.424 200.576 448 448 448v-128c-85.474 0-165.834-33.286-226.274-93.726-11.634-11.636-22.252-24.016-31.83-37.020 11.438 1.8 23.16 2.746 35.104 2.746zM801 512c123.71 0 224-100.29 224-224 0-123.712-100.29-224-224-224s-224 100.288-224 224l-1 32c0 247.424 200.576 448 448 448v-128c-85.474 0-165.834-33.286-226.274-93.726-11.636-11.636-22.254-24.016-31.832-37.020 11.44 1.8 23.16 2.746 35.106 2.746z" />
+<glyph unicode="&#xe00f;" d="M761.862-64c113.726 206.032 132.888 520.306-313.862 509.824v-253.824l-384 384 384 384v-248.372c534.962 13.942 594.57-472.214 313.862-775.628z" />
+<glyph unicode="&#xe010;" d="M576 711.628v248.372l384-384-384-384v253.824c-446.75 10.482-427.588-303.792-313.86-509.824-280.712 303.414-221.1 789.57 313.86 775.628z" />
+<glyph unicode="&#xe011;" d="M320 256c17.6-17.6 47.274-16.726 65.942 1.942l316.118 316.116c18.668 18.668 19.54 48.342 1.94 65.942s-47.274 16.726-65.942-1.942l-316.116-316.116c-18.668-18.668-19.542-48.342-1.942-65.942zM476.888 284.888c4.56-9.050 6.99-19.16 6.99-29.696 0-17.616-6.744-34.060-18.992-46.308l-163.382-163.382c-12.248-12.248-28.694-18.992-46.308-18.992s-34.060 6.744-46.308 18.992l-99.382 99.382c-12.248 12.248-18.992 28.694-18.992 46.308s6.744 34.060 18.992 46.308l163.382 163.382c12.248 12.248 28.694 18.994 46.308 18.994 10.536 0 20.644-2.43 29.696-6.99l65.338 65.338c-27.87 21.41-61.44 32.16-95.034 32.16-39.986 0-79.972-15.166-110.308-45.502l-163.382-163.382c-60.67-60.67-60.67-159.948 0-220.618l99.382-99.382c30.334-30.332 70.32-45.5 110.306-45.5 39.988 0 79.974 15.168 110.308 45.502l163.382 163.382c55.82 55.82 60.238 144.298 13.344 205.344l-65.34-65.34zM978.498 815.116l-99.382 99.382c-30.334 30.336-70.32 45.502-110.308 45.502-39.986 0-79.972-15.166-110.308-45.502l-163.382-163.382c-55.82-55.82-60.238-144.298-13.342-205.342l65.338 65.34c-4.558 9.050-6.988 19.16-6.988 29.694 0 17.616 6.744 34.060 18.992 46.308l163.382 163.382c12.248 12.248 28.694 18.994 46.308 18.994s34.060-6.746 46.308-18.994l99.382-99.382c12.248-12.248 18.992-28.694 18.992-46.308s-6.744-34.060-18.992-46.308l-163.382-163.382c-12.248-12.248-28.694-18.992-46.308-18.992-10.536 0-20.644 2.43-29.696 6.99l-65.338-65.338c27.872-21.41 61.44-32.16 95.034-32.16 39.988 0 79.974 15.168 110.308 45.502l163.382 163.382c60.67 60.666 60.67 159.944 0 220.614z" />
+<glyph unicode="&#xe012;" d="M476.888 284.886c4.56-9.048 6.99-19.158 6.99-29.696 0-17.616-6.744-34.058-18.992-46.308l-163.38-163.38c-12.248-12.248-28.696-18.992-46.308-18.992s-34.060 6.744-46.308 18.992l-99.38 99.38c-12.248 12.25-18.992 28.696-18.992 46.308s6.744 34.060 18.992 46.308l163.38 163.382c12.248 12.246 28.696 18.992 46.308 18.992 10.538 0 20.644-2.43 29.696-6.988l65.338 65.336c-27.87 21.41-61.44 32.16-95.034 32.16-39.986 0-79.972-15.166-110.308-45.502l-163.38-163.382c-60.67-60.67-60.67-159.95 0-220.618l99.38-99.382c30.334-30.332 70.32-45.5 110.306-45.5 39.988 0 79.974 15.168 110.308 45.502l163.38 163.38c55.82 55.82 60.238 144.298 13.344 205.346l-65.34-65.338zM978.496 815.116l-99.38 99.382c-30.334 30.336-70.32 45.502-110.308 45.502-39.986 0-79.97-15.166-110.306-45.502l-163.382-163.382c-55.82-55.82-60.238-144.298-13.342-205.342l65.338 65.34c-4.558 9.050-6.988 19.16-6.988 29.694 0 17.616 6.744 34.060 18.992 46.308l163.382 163.382c12.246 12.248 28.694 18.994 46.306 18.994 17.616 0 34.060-6.746 46.308-18.994l99.38-99.382c12.248-12.248 18.992-28.694 18.992-46.308s-6.744-34.060-18.992-46.308l-163.38-163.382c-12.248-12.248-28.694-18.992-46.308-18.992-10.536 0-20.644 2.43-29.696 6.99l-65.338-65.338c27.872-21.41 61.44-32.16 95.034-32.16 39.988 0 79.974 15.168 110.308 45.504l163.38 163.38c60.672 60.666 60.672 159.944 0 220.614zM233.368 681.376l-191.994 191.994 45.256 45.256 191.994-191.994zM384 960h64v-192h-64zM0 576h192v-64h-192zM790.632 214.624l191.996-191.996-45.256-45.256-191.996 191.996zM576 128h64v-192h-64zM832 384h192v-64h-192z" />
+<glyph unicode="&#xe013;" d="M192 960v-1024l320 320 320-320v1024h-640zM768 90.51l-256 256-256-256v805.49h512v-805.49z" />
+<glyph unicode="&#xe014;" d="M0 832v-832h1024v832h-1024zM960 64h-896v704h896v-704zM704 608c0 53.019 42.981 96 96 96s96-42.981 96-96c0-53.019-42.981-96-96-96s-96 42.981-96 96zM896 128h-768l192 512 256-320 128 96z" />
+<glyph unicode="&#xe015;" d="M0 832v-768h1024v768h-1024zM192 128h-128v128h128v-128zM192 384h-128v128h128v-128zM192 640h-128v128h128v-128zM768 128h-512v640h512v-640zM960 128h-128v128h128v-128zM960 384h-128v128h128v-128zM960 640h-128v128h128v-128zM384 640v-384l256 192z" />
+<glyph unicode="&#xe016;" d="M448 256h128v-128h-128zM704 704c35.346 0 64-28.654 64-64v-192l-192-128h-128v64l192 128v64h-320v128h384zM512 864c-111.118 0-215.584-43.272-294.156-121.844s-121.844-183.038-121.844-294.156c0-111.118 43.272-215.584 121.844-294.156s183.038-121.844 294.156-121.844c111.118 0 215.584 43.272 294.156 121.844s121.844 183.038 121.844 294.156c0 111.118-43.272 215.584-121.844 294.156s-183.038 121.844-294.156 121.844zM512 960v0c282.77 0 512-229.23 512-512s-229.23-512-512-512c-282.77 0-512 229.23-512 512s229.23 512 512 512z" />
+<glyph unicode="&#xe017;" d="M320 704l-256-256 256-256h128l-256 256 256 256zM704 704h-128l256-256-256-256h128l256 256z" />
+<glyph unicode="&#xe018;" d="M512 768c-212.076 0-384-171.922-384-384s171.922-384 384-384c212.074 0 384 171.922 384 384s-171.926 384-384 384zM715.644 180.354c-54.392-54.396-126.716-84.354-203.644-84.354s-149.25 29.958-203.646 84.354c-54.396 54.394-84.354 126.718-84.354 203.646s29.958 149.25 84.354 203.646c54.396 54.396 126.718 84.354 203.646 84.354s149.252-29.958 203.642-84.354c54.402-54.396 84.358-126.718 84.358-203.646s-29.958-149.252-84.356-203.646zM325.93 756.138l-42.94 85.878c-98.874-49.536-179.47-130.132-229.006-229.008l85.876-42.94c40.248 80.336 105.732 145.822 186.070 186.070zM884.134 570.070l85.878 42.938c-49.532 98.876-130.126 179.472-229.004 229.008l-42.944-85.878c80.338-40.248 145.824-105.732 186.070-186.068zM512 576h-64v-192c0-10.11 4.7-19.11 12.022-24.972l-0.012-0.016 160-128 39.976 49.976-147.986 118.39v176.622z" />
+<glyph unicode="&#xe019;" d="M512 640c-209.368 0-395.244-100.556-512-256 116.756-155.446 302.632-256 512-256s395.244 100.554 512 256c-116.756 155.444-302.632 256-512 256zM448 512c35.346 0 64-28.654 64-64s-28.654-64-64-64-64 28.654-64 64 28.654 64 64 64zM773.616 254.704c-39.648-20.258-81.652-35.862-124.846-46.376-44.488-10.836-90.502-16.328-136.77-16.328-46.266 0-92.282 5.492-136.768 16.324-43.194 10.518-85.198 26.122-124.846 46.376-63.020 32.202-120.222 76.41-167.64 129.298 47.418 52.888 104.62 97.1 167.64 129.298 32.336 16.522 66.242 29.946 101.082 40.040-19.888-30.242-31.468-66.434-31.468-105.336 0-106.040 85.962-192 192-192s192 85.96 192 192c0 38.902-11.582 75.094-31.466 105.34 34.838-10.096 68.744-23.52 101.082-40.042 63.022-32.198 120.218-76.408 167.638-129.298-47.42-52.886-104.618-97.1-167.638-129.296zM860.918 716.278c-108.72 55.554-226.112 83.722-348.918 83.722s-240.198-28.168-348.918-83.722c-58.772-30.032-113.732-67.904-163.082-112.076v-109.206c55.338 58.566 120.694 107.754 192.194 144.29 99.62 50.904 207.218 76.714 319.806 76.714s220.186-25.81 319.804-76.716c71.502-36.536 136.858-85.724 192.196-144.29v109.206c-49.35 44.174-104.308 82.046-163.082 112.078z" />
+<glyph unicode="&#xe01a;" d="M322.018 128l57.6 192h264.764l57.6-192h113.632l-191.996 640h-223.236l-192-640h113.636zM475.618 640h72.764l57.6-192h-187.964l57.6 192z" />
+<glyph unicode="&#xe01b;" d="M0 896v-896h1024v896h-1024zM384 320v192h256v-192h-256zM640 256v-192h-256v192h256zM640 768v-192h-256v192h256zM320 768v-192h-256v192h256zM64 512h256v-192h-256v192zM704 512h256v-192h-256v192zM704 576v192h256v-192h-256zM64 256h256v-192h-256v192zM704 64v192h256v-192h-256z" />
+<glyph unicode="&#xe01c;" d="M0 512h1024v-128h-1024z" />
+<glyph unicode="&#xe01d;" d="M0 64h576v-128h-576zM192 960h704v-128h-704zM277.388 128l204.688 784.164 123.85-32.328-196.25-751.836zM929.774-64l-129.774 129.774-129.774-129.774-62.226 62.226 129.774 129.774-129.774 129.774 62.226 62.226 129.774-129.774 129.774 129.774 62.226-62.226-129.774-129.774 129.774-129.774z" />
+<glyph unicode="&#xe01e;" d="M768 50v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z" />
+<glyph unicode="&#xe01f;" d="M768 754v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z" />
+<glyph unicode="&#xe020;" d="M704 64h256l64 128v-256h-384v214.214c131.112 56.484 224 197.162 224 361.786 0 214.432-157.598 382.266-352 382.266-194.406 0-352-167.832-352-382.266 0-164.624 92.886-305.302 224-361.786v-214.214h-384v256l64-128h256v32.59c-187.63 66.46-320 227.402-320 415.41 0 247.424 229.23 448 512 448s512-200.576 512-448c0-188.008-132.37-348.95-320-415.41v-32.59z" />
+<glyph unicode="&#xe021;" d="M512 960c-282.77 0-512-229.228-512-512 0-282.77 229.228-512 512-512 282.77 0 512 229.23 512 512 0 282.772-229.23 512-512 512zM512 16c-238.586 0-432 193.412-432 432 0 238.586 193.414 432 432 432 238.59 0 432-193.414 432-432 0-238.588-193.41-432-432-432zM384 640c0-35.346-28.654-64-64-64s-64 28.654-64 64 28.654 64 64 64 64-28.654 64-64zM768 640c0-35.346-28.652-64-64-64s-64 28.654-64 64 28.652 64 64 64 64-28.654 64-64zM512 308c141.074 0 262.688 57.532 318.462 123.192-20.872-171.22-156.288-303.192-318.462-303.192-162.118 0-297.498 132.026-318.444 303.168 55.786-65.646 177.386-123.168 318.444-123.168z" />
+<glyph unicode="&#xe022;" d="M256 896h512v-128h-512zM960 704h-896c-35.2 0-64-28.8-64-64v-320c0-35.2 28.796-64 64-64h192v-256h512v256h192c35.2 0 64 28.8 64 64v320c0 35.2-28.8 64-64 64zM704 64h-384v320h384v-320zM974.4 608c0-25.626-20.774-46.4-46.398-46.4-25.626 0-46.402 20.774-46.402 46.4s20.776 46.4 46.402 46.4c25.626 0 46.398-20.774 46.398-46.4z" />
+<glyph unicode="&#xe023;" d="M1024 960v-384l-138.26 138.26-212-212-107.48 107.48 212 212-138.26 138.26zM245.74 821.74l212-212-107.48-107.48-212 212-138.26-138.26v384h384zM885.74 181.74l138.26 138.26v-384h-384l138.26 138.26-212 212 107.48 107.48zM457.74 286.26l-212-212 138.26-138.26h-384v384l138.26-138.26 212 212z" />
+<glyph unicode="&#xe024;" d="M128 704h128v-192h64v384c0 35.2-28.8 64-64 64h-128c-35.2 0-64-28.8-64-64v-384h64v192zM128 896h128v-128h-128v128zM960 896v64h-192c-35.202 0-64-28.8-64-64v-320c0-35.2 28.798-64 64-64h192v64h-192v320h192zM640 800v96c0 35.2-28.8 64-64 64h-192v-448h192c35.2 0 64 28.8 64 64v96c0 35.2-8.8 64-44 64 35.2 0 44 28.8 44 64zM576 576h-128v128h128v-128zM576 768h-128v128h128v-128zM832 384l-416-448-224 288 82 70 142-148 352 302z" />
+<glyph unicode="&#xe025;" d="M448 384h-192v128h192v192h128v-192h192v-128h-192v-192h-128zM1024 320v-384h-1024v384h128v-256h768v256z" />
+<glyph unicode="&#xe026;" d="M384 768h128v-64h-128zM576 768h128v-64h-128zM896 768v-256h-192v64h128v128h-64v64zM320 576h128v-64h-128zM512 576h128v-64h-128zM192 704v-128h64v-64h-128v256h192v-64zM384 384h128v-64h-128zM576 384h128v-64h-128zM896 384v-256h-192v64h128v128h-64v64zM320 192h128v-64h-128zM512 192h128v-64h-128zM192 320v-128h64v-64h-128v256h192v-64zM960 896h-896v-896h896v896zM1024 960v0-1024h-1024v1024h1024z" />
+<glyph unicode="&#xe027;" d="M0 448h128v-64h-128zM192 448h192v-64h-192zM448 448h128v-64h-128zM640 448h192v-64h-192zM896 448h128v-64h-128zM880 960l16-448h-768l16 448h32l16-384h640l16 384zM144-64l-16 384h768l-16-384h-32l-16 320h-640l-16-320z" />
+<glyph unicode="&#xe028;" d="M576 896c247.424 0 448-200.576 448-448s-200.576-448-448-448v96c94.024 0 182.418 36.614 248.902 103.098s103.098 154.878 103.098 248.902c0 94.022-36.614 182.418-103.098 248.902s-154.878 103.098-248.902 103.098c-94.022 0-182.418-36.614-248.902-103.098-51.14-51.138-84.582-115.246-97.306-184.902h186.208l-224-256-224 256h164.57c31.060 217.102 217.738 384 443.43 384zM768 512v-128h-256v320h128v-192z" />
+<glyph unicode="&#xe02a;" d="M707.88 475.348c37.498 44.542 60.12 102.008 60.12 164.652 0 141.16-114.842 256-256 256h-320v-896h384c141.158 0 256 114.842 256 256 0 92.956-49.798 174.496-124.12 219.348zM384 768h101.5c55.968 0 101.5-57.42 101.5-128s-45.532-128-101.5-128h-101.5v256zM543 128h-159v256h159c58.45 0 106-57.42 106-128s-47.55-128-106-128z" />
+<glyph unicode="&#xe02b;" d="M896 896v-64h-128l-320-768h128v-64h-448v64h128l320 768h-128v64z" />
+<glyph unicode="&#xe02c;" d="M704 896h128v-416c0-159.058-143.268-288-320-288-176.73 0-320 128.942-320 288v416h128v-416c0-40.166 18.238-78.704 51.354-108.506 36.896-33.204 86.846-51.494 140.646-51.494s103.75 18.29 140.646 51.494c33.116 29.802 51.354 68.34 51.354 108.506v416zM192 128h640v-128h-640z" />
+<glyph unicode="&#xe02d;" d="M731.42 442.964c63.92-47.938 100.58-116.086 100.58-186.964s-36.66-139.026-100.58-186.964c-59.358-44.518-137.284-69.036-219.42-69.036-82.138 0-160.062 24.518-219.42 69.036-63.92 47.938-100.58 116.086-100.58 186.964h128c0-69.382 87.926-128 192-128s192 58.618 192 128c0 69.382-87.926 128-192 128-82.138 0-160.062 24.518-219.42 69.036-63.92 47.94-100.58 116.086-100.58 186.964s36.66 139.024 100.58 186.964c59.358 44.518 137.282 69.036 219.42 69.036 82.136 0 160.062-24.518 219.42-69.036 63.92-47.94 100.58-116.086 100.58-186.964h-128c0 69.382-87.926 128-192 128s-192-58.618-192-128c0-69.382 87.926-128 192-128 82.136 0 160.062-24.518 219.42-69.036zM0 448h1024v-64h-1024z" />
+<glyph unicode="&#xe02e;" d="M384 896h512v-128h-128v-768h-128v768h-128v-768h-128v448c-123.712 0-224 100.288-224 224s100.288 224 224 224z" />
+<glyph unicode="&#xe02f;" d="M448 896h512v-128h-128v-768h-128v768h-128v-768h-128v448c-123.712 0-224 100.288-224 224s100.288 224 224 224zM64 512l256-224-256-224z" />
+<glyph unicode="&#xe030;" d="M256 896h512v-128h-128v-768h-128v768h-128v-768h-128v448c-123.712 0-224 100.288-224 224s100.288 224 224 224zM960 64l-256 224 256 224z" />
+<glyph unicode="&#xe031;" d="M832 704h-192v64l-192 192h-448v-768h384v-256h640v576l-192 192zM832 613.49l101.49-101.49h-101.49v101.49zM448 869.49l101.49-101.49h-101.49v101.49zM64 896h320v-192h192v-448h-512v640zM960 0h-512v192h192v448h128v-192h192v-448z" />
+<glyph unicode="&#xe032;" d="M768 704h64v-64h-64zM640 576h64v-64h-64zM640 448h64v-64h-64zM640 320h64v-64h-64zM512 448h64v-64h-64zM512 320h64v-64h-64zM384 320h64v-64h-64zM768 576h64v-64h-64zM768 448h64v-64h-64zM768 320h64v-64h-64zM768 192h64v-64h-64zM640 192h64v-64h-64zM512 192h64v-64h-64zM384 192h64v-64h-64zM256 192h64v-64h-64z" />
+<glyph unicode="&#xe033;" d="M128 416l288-288 480 480-128 128-352-352-160 160z" />
+<glyph unicode="&#xe034;" d="M928 832h-416l-32 64h-352l-64-128h896zM904.34 256h74.86l44.8 448h-1024l64-640h484.080c-104.882 37.776-180.080 138.266-180.080 256 0 149.982 122.018 272 272 272 149.98 0 272-122.018 272-272 0-21.678-2.622-43.15-7.66-64zM1002.996 46.25l-198.496 174.692c17.454 28.92 27.5 62.814 27.5 99.058 0 106.040-85.96 192-192 192s-192-85.96-192-192 85.96-192 192-192c36.244 0 70.138 10.046 99.058 27.5l174.692-198.496c22.962-26.678 62.118-28.14 87.006-3.252l5.492 5.492c24.888 24.888 23.426 64.044-3.252 87.006zM640 196c-68.484 0-124 55.516-124 124s55.516 124 124 124 124-55.516 124-124-55.516-124-124-124z" />
+<glyph unicode="&#xe035;" d="M512 448v-128h32l32 64h64v-256h-48v-64h224v64h-48v256h64l32-64h32v128zM832 640v160c0 17.6-14.4 32-32 32h-224v64c0 35.2-28.8 64-64 64h-128c-35.204 0-64-28.8-64-64v-64h-224c-17.602 0-32-14.4-32-32v-640c0-17.6 14.398-32 32-32h288v-192h640v704h-192zM384 895.886c0.034 0.038 0.072 0.078 0.114 0.114h127.768c0.042-0.036 0.082-0.076 0.118-0.114v-63.886h-128v63.886zM192 704v64h512v-64h-512zM960 0h-512v576h512v-576z" />
 </font></defs></svg>
\ No newline at end of file
index 58103c2b6287fa209bf1e62c7ea107fd65a351f1..fc66830d271873583f4f6376d2fe246ae088a41c 100644 (file)
Binary files a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf and b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.ttf differ
index ad1ae396a88239278653cf63ac3630b6b8360102..1ba38ad9f4de9562a818843dcc278a3fd4a9e8cf 100644 (file)
Binary files a/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff and b/wp-includes/js/tinymce/skins/lightgray/fonts/tinymce.woff differ
index 47a820baa86ca2d11de6790529f619d8aeff997f..dd7b5c48db49161d653ffc76b5eb26b527bd175c 100644 (file)
@@ -57,6 +57,20 @@ th {
        font-size: inherit;
 }
 
+/* For emoji replacement images */
+img.emoji {
+       display: inline !important;
+       border: none !important;
+       height: 1em !important;
+       width: 1em !important;
+       margin: 0 .07em !important;
+       vertical-align: -0.1em !important;
+       background: none !important;
+       padding: 0 !important;
+       -webkit-box-shadow: none !important;
+       box-shadow: none !important;
+}
+
 /* DFW mode */
 html.wp-fullscreen,
 html.wp-fullscreen body#tinymce {
@@ -126,7 +140,7 @@ dl.wp-caption * {
 }
 
 /* Remove blue highlighting of selected images in WebKit */
-img::selection {
+img[data-mce-selected]::selection {
        background-color: transparent;
 }
 
@@ -148,7 +162,7 @@ img::selection {
        cursor: default;
 }
 
-.mce-content-body img[data-wp-more][data-mce-selected] {
+.mce-content-body img[data-mce-placeholder][data-mce-selected] {
        outline: 1px dotted #888;
 }
 
@@ -319,91 +333,6 @@ audio {
        display: none;
 }
 
-.wpview-wrap .toolbar {
-       position: absolute;
-       top: -43px;
-       left: 45%;
-       left: calc(50% - 32px);
-       display: none;
-       z-index: 100;
-       background-color: #f5f5f5;
-       border: 1px solid #aaa;
-       padding: 1px;
-       cursor: default;
-       -webkit-border-radius: 2px;
-       border-radius: 2px;
-       -webkit-box-shadow: 0 1px 4px rgba( 0, 0, 0, 0.2 );
-       box-shadow: 0 1px 4px rgba( 0, 0, 0, 0.2 );
-       -webkit-box-sizing: border-box;
-       -moz-box-sizing: border-box;
-       box-sizing: border-box;
-       margin-bottom: 8px;
-}
-
-.wpview-wrap[data-mce-selected] .toolbar {
-       display: block;
-}
-
-.wpview-wrap .toolbar:before,
-.wpview-wrap .toolbar:after {
-       position: absolute;
-       left: 50%;
-       display: block;
-       width: 0;
-       height: 0;
-       border-style: solid;
-       border-color: transparent;
-       border-width: 9px;
-       margin-left: -9px;
-       content: '';
-}
-
-.wpview-wrap .toolbar:after {
-       border-width: 8px;
-       margin-left: -8px;
-}
-
-.wpview-wrap .toolbar.mce-arrow-down:before {
-       bottom: -18px;
-       border-top-color: #aaa;
-}
-
-.wpview-wrap .toolbar.mce-arrow-down:after {
-       bottom: -16px;
-       border-top-color: #f5f5f5;
-}
-
-.wpview-wrap .toolbar.mce-arrow-up:before {
-       top: -18px;
-       border-bottom-color: #aaa;
-}
-
-.wpview-wrap .toolbar.mce-arrow-up:after {
-       top: -16px;
-       border-bottom-color: #f5f5f5;
-}
-
-.wpview-wrap .toolbar div {
-       margin: 2px;
-       padding: 2px 3px;
-       width: 20px;
-       height: 20px;
-       color: #777;
-       cursor: pointer;
-       font-size: 20px;
-       border: 1px solid transparent;
-       border-radius: 2px;
-}
-
-.wpview-wrap .toolbar div:hover {
-       background-color: #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 );
-       outline: none;
-}
-
 .wpview-wrap .loading-placeholder {
        border: 1px dashed #ccc;
        padding: 10px;
@@ -455,22 +384,6 @@ audio {
        background: transparent;
 }
 
-.ie8 .wpview-wrap .toolbar div,
-.ie7 .wpview-wrap .toolbar div {
-       display: inline;
-       padding: 4px;
-}
-
-.ie8 .dashicons-edit,
-.ie7 .dashicons-edit {
-       background-image: url(images/dashicon-edit.png);
-}
-
-.ie8 .dashicons-no,
-.ie7 .dashicons-no {
-       background-image: url(images/dashicon-no.png);
-}
-
 .wpview-error {
        border: 1px solid #dedede;
        padding: 1em 0;
@@ -497,19 +410,6 @@ audio {
        font-family: 'Open Sans', sans-serif;
 }
 
-.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;
@@ -536,7 +436,6 @@ audio {
        margin: auto;
 }
 
-
 .gallery .gallery-item {
        float: left;
        margin: 0;
index db77f1a27ecc5ba8c623565a08e4d764b0dede16..251182ecee2dfe4ee0d8322fa362beb5d18d1e56 100644 (file)
@@ -114,7 +114,7 @@ tinymce.ThemeManager.add('modern', function(editor) {
                                                        itemName = item;
                                                        item = editor.buttons[itemName];
 
-                                                       if (typeof(item) == "function") {
+                                                       if (typeof item == "function") {
                                                                item = item();
                                                        }
 
@@ -276,7 +276,7 @@ tinymce.ThemeManager.add('modern', function(editor) {
                        }
                }
 
-               var enabledMenuNames = typeof(settings.menubar) == "string" ? settings.menubar.split(/[ ,]/) : defaultMenuBar;
+               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);
index e6acb824887e7f6ad9f312c9d79d8d31ab6fec44..5422ed77e8d903373040429901496e9a8bc4166b 100644 (file)
@@ -1,11 +1,14 @@
-// 4.1.7 (2014-11-27)
-!function(e,t){"use strict";function n(e,t){for(var n,r=[],i=0;i<e.length;++i){if(n=s[e[i]]||o(e[i]),!n)throw"module definition dependecy not found: "+e[i];r.push(n)}t.apply(null,r)}function r(e,r,i){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(r===t)throw"invalid module definition, dependencies must be specified";if(i===t)throw"invalid module definition, definition function must be specified";n(r,function(){s[e]=i.apply(null,arguments)})}function i(e){return!!s[e]}function o(t){for(var n=e,r=t.split(/[.\/]/),i=0;i<r.length;++i){if(!n[r[i]])return;n=n[r[i]]}return n}function a(n){for(var r=0;r<n.length;r++){for(var i=e,o=n[r],a=o.split(/[.\/]/),l=0;l<a.length-1;++l)i[a[l]]===t&&(i[a[l]]={}),i=i[a[l]];i[a[a.length-1]]=s[o]}}var s={},l="tinymce/dom/EventUtils",c="tinymce/dom/Sizzle",u="tinymce/Env",d="tinymce/util/Tools",f="tinymce/dom/DomQuery",p="tinymce/html/Styles",h="tinymce/dom/TreeWalker",m="tinymce/dom/Range",g="tinymce/html/Entities",v="tinymce/dom/StyleSheetLoader",y="tinymce/dom/DOMUtils",b="tinymce/dom/ScriptLoader",C="tinymce/AddOnManager",x="tinymce/dom/RangeUtils",w="tinymce/NodeChange",_="tinymce/html/Node",E="tinymce/html/Schema",N="tinymce/html/SaxParser",k="tinymce/html/DomParser",S="tinymce/html/Writer",T="tinymce/html/Serializer",R="tinymce/dom/Serializer",A="tinymce/dom/TridentSelection",B="tinymce/util/VK",D="tinymce/dom/ControlSelection",L="tinymce/dom/BookmarkManager",H="tinymce/dom/Selection",M="tinymce/dom/ElementUtils",P="tinymce/fmt/Preview",O="tinymce/Formatter",I="tinymce/UndoManager",F="tinymce/EnterKey",z="tinymce/ForceBlocks",W="tinymce/EditorCommands",V="tinymce/util/URI",U="tinymce/util/Class",$="tinymce/util/EventDispatcher",q="tinymce/ui/Selector",j="tinymce/ui/Collection",Y="tinymce/ui/DomUtils",K="tinymce/ui/Control",G="tinymce/ui/Factory",X="tinymce/ui/KeyboardNavigation",J="tinymce/ui/Container",Q="tinymce/ui/DragHelper",Z="tinymce/ui/Scrollable",et="tinymce/ui/Panel",tt="tinymce/ui/Movable",nt="tinymce/ui/Resizable",rt="tinymce/ui/FloatPanel",it="tinymce/ui/Window",ot="tinymce/ui/MessageBox",at="tinymce/WindowManager",st="tinymce/util/Quirks",lt="tinymce/util/Observable",ct="tinymce/EditorObservable",ut="tinymce/Shortcuts",dt="tinymce/Editor",ft="tinymce/util/I18n",pt="tinymce/FocusManager",ht="tinymce/EditorManager",mt="tinymce/LegacyInput",gt="tinymce/util/XHR",vt="tinymce/util/JSON",yt="tinymce/util/JSONRequest",bt="tinymce/util/JSONP",Ct="tinymce/util/LocalStorage",xt="tinymce/Compat",wt="tinymce/ui/Layout",_t="tinymce/ui/AbsoluteLayout",Et="tinymce/ui/Tooltip",Nt="tinymce/ui/Widget",kt="tinymce/ui/Button",St="tinymce/ui/ButtonGroup",Tt="tinymce/ui/Checkbox",Rt="tinymce/ui/ComboBox",At="tinymce/ui/ColorBox",Bt="tinymce/ui/PanelButton",Dt="tinymce/ui/ColorButton",Lt="tinymce/util/Color",Ht="tinymce/ui/ColorPicker",Mt="tinymce/ui/Path",Pt="tinymce/ui/ElementPath",Ot="tinymce/ui/FormItem",It="tinymce/ui/Form",Ft="tinymce/ui/FieldSet",zt="tinymce/ui/FilePicker",Wt="tinymce/ui/FitLayout",Vt="tinymce/ui/FlexLayout",Ut="tinymce/ui/FlowLayout",$t="tinymce/ui/FormatControls",qt="tinymce/ui/GridLayout",jt="tinymce/ui/Iframe",Yt="tinymce/ui/Label",Kt="tinymce/ui/Toolbar",Gt="tinymce/ui/MenuBar",Xt="tinymce/ui/MenuButton",Jt="tinymce/ui/ListBox",Qt="tinymce/ui/MenuItem",Zt="tinymce/ui/Menu",en="tinymce/ui/Radio",tn="tinymce/ui/ResizeHandle",nn="tinymce/ui/Spacer",rn="tinymce/ui/SplitButton",on="tinymce/ui/StackLayout",an="tinymce/ui/TabPanel",sn="tinymce/ui/TextBox",ln="tinymce/ui/Throbber";r(l,[],function(){function e(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r||!1):e.attachEvent&&e.attachEvent("on"+t,n)}function t(e,t,n,r){e.removeEventListener?e.removeEventListener(t,n,r||!1):e.detachEvent&&e.detachEvent("on"+t,n)}function n(e,t){function n(){return!1}function r(){return!0}var i,o=t||{},l;for(i in e)s[i]||(o[i]=e[i]);if(o.target||(o.target=o.srcElement||document),e&&a.test(e.type)&&e.pageX===l&&e.clientX!==l){var c=o.target.ownerDocument||document,u=c.documentElement,d=c.body;o.pageX=e.clientX+(u&&u.scrollLeft||d&&d.scrollLeft||0)-(u&&u.clientLeft||d&&d.clientLeft||0),o.pageY=e.clientY+(u&&u.scrollTop||d&&d.scrollTop||0)-(u&&u.clientTop||d&&d.clientTop||0)}return o.preventDefault=function(){o.isDefaultPrevented=r,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},o.stopPropagation=function(){o.isPropagationStopped=r,e&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)},o.stopImmediatePropagation=function(){o.isImmediatePropagationStopped=r,o.stopPropagation()},o.isDefaultPrevented||(o.isDefaultPrevented=n,o.isPropagationStopped=n,o.isImmediatePropagationStopped=n),o}function r(n,r,i){function o(){i.domLoaded||(i.domLoaded=!0,r(c))}function a(){("complete"===l.readyState||"interactive"===l.readyState&&l.body)&&(t(l,"readystatechange",a),o())}function s(){try{l.documentElement.doScroll("left")}catch(e){return void setTimeout(s,0)}o()}var l=n.document,c={type:"ready"};return i.domLoaded?void r(c):(l.addEventListener?"complete"===l.readyState?o():e(n,"DOMContentLoaded",o):(e(l,"readystatechange",a),l.documentElement.doScroll&&n.self===n.top&&s()),void e(n,"load",o))}function i(){function i(e,t){var n,r,i,o,a=s[t];if(n=a&&a[e.type])for(r=0,i=n.length;i>r;r++)if(o=n[r],o&&o.func.call(o.scope,e)===!1&&e.preventDefault(),e.isImmediatePropagationStopped())return}var a=this,s={},l,c,u,d,f;c=o+(+new Date).toString(32),d="onmouseenter"in document.documentElement,u="onfocusin"in document.documentElement,f={mouseenter:"mouseover",mouseleave:"mouseout"},l=1,a.domLoaded=!1,a.events=s,a.bind=function(t,o,p,h){function m(e){i(n(e||_.event),g)}var g,v,y,b,C,x,w,_=window;if(t&&3!==t.nodeType&&8!==t.nodeType){for(t[c]?g=t[c]:(g=l++,t[c]=g,s[g]={}),h=h||t,o=o.split(" "),y=o.length;y--;)b=o[y],x=m,C=w=!1,"DOMContentLoaded"===b&&(b="ready"),a.domLoaded&&"ready"===b&&"complete"==t.readyState?p.call(h,n({type:b})):(d||(C=f[b],C&&(x=function(e){var t,r;if(t=e.currentTarget,r=e.relatedTarget,r&&t.contains)r=t.contains(r);else for(;r&&r!==t;)r=r.parentNode;r||(e=n(e||_.event),e.type="mouseout"===e.type?"mouseleave":"mouseenter",e.target=t,i(e,g))})),u||"focusin"!==b&&"focusout"!==b||(w=!0,C="focusin"===b?"focus":"blur",x=function(e){e=n(e||_.event),e.type="focus"===e.type?"focusin":"focusout",i(e,g)}),v=s[g][b],v?"ready"===b&&a.domLoaded?p({type:b}):v.push({func:p,scope:h}):(s[g][b]=v=[{func:p,scope:h}],v.fakeName=C,v.capture=w,v.nativeHandler=x,"ready"===b?r(t,x,a):e(t,C||b,x,w)));return t=v=0,p}},a.unbind=function(e,n,r){var i,o,l,u,d,f;if(!e||3===e.nodeType||8===e.nodeType)return a;if(i=e[c]){if(f=s[i],n){for(n=n.split(" "),l=n.length;l--;)if(d=n[l],o=f[d]){if(r)for(u=o.length;u--;)if(o[u].func===r){var p=o.nativeHandler,h=o.fakeName,m=o.capture;o=o.slice(0,u).concat(o.slice(u+1)),o.nativeHandler=p,o.fakeName=h,o.capture=m,f[d]=o}r&&0!==o.length||(delete f[d],t(e,o.fakeName||d,o.nativeHandler,o.capture))}}else{for(d in f)o=f[d],t(e,o.fakeName||d,o.nativeHandler,o.capture);f={}}for(d in f)return a;delete s[i];try{delete e[c]}catch(g){e[c]=null}}return a},a.fire=function(e,t,r){var o;if(!e||3===e.nodeType||8===e.nodeType)return a;r=n(null,r),r.type=t,r.target=e;do o=e[c],o&&i(r,o),e=e.parentNode||e.ownerDocument||e.defaultView||e.parentWindow;while(e&&!r.isPropagationStopped());return a},a.clean=function(e){var t,n,r=a.unbind;if(!e||3===e.nodeType||8===e.nodeType)return a;if(e[c]&&r(e),e.getElementsByTagName||(e=e.document),e&&e.getElementsByTagName)for(r(e),n=e.getElementsByTagName("*"),t=n.length;t--;)e=n[t],e[c]&&r(e);return a},a.destroy=function(){s={}},a.cancel=function(e){return e&&(e.preventDefault(),e.stopImmediatePropagation()),!1}}var o="mce-data-",a=/^(?:mouse|contextmenu)|click/,s={keyLocation:1,layerX:1,layerY:1,returnValue:1};return i.Event=new i,i.Event.bind(window,"ready",function(){}),i}),r(c,[],function(){function e(e,t,n,r){var i,o,a,s,l,c,d,p,h,m;if((t?t.ownerDocument||t:z)!==D&&B(t),t=t||D,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(H&&!r){if(i=vt.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&I(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return Z.apply(n,t.getElementsByTagName(e)),n;if((a=i[3])&&x.getElementsByClassName)return Z.apply(n,t.getElementsByClassName(a)),n}if(x.qsa&&(!M||!M.test(e))){if(p=d=F,h=t,m=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){for(c=N(e),(d=t.getAttribute("id"))?p=d.replace(bt,"\\$&"):t.setAttribute("id",p),p="[id='"+p+"'] ",l=c.length;l--;)c[l]=p+f(c[l]);h=yt.test(e)&&u(t.parentNode)||t,m=c.join(",")}if(m)try{return Z.apply(n,h.querySelectorAll(m)),n}catch(g){}finally{d||t.removeAttribute("id")}}}return S(e.replace(st,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>w.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[F]=!0,e}function i(e){var t=D.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=e.length;r--;)w.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||K)-(~e.sourceIndex||K);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function u(e){return e&&typeof e.getElementsByTagName!==Y&&e}function d(){}function f(e){for(var t=0,n=e.length,r="";n>t;t++)r+=e[t].value;return r}function p(e,t,n){var r=t.dir,i=n&&"parentNode"===r,o=V++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,a){var s,l,c=[W,o];if(a){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,a))return!0}else for(;t=t[r];)if(1===t.nodeType||i){if(l=t[F]||(t[F]={}),(s=l[r])&&s[0]===W&&s[1]===o)return c[2]=s[2];if(l[r]=c,c[2]=e(t,n,a))return!0}}}function h(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function m(t,n,r){for(var i=0,o=n.length;o>i;i++)e(t,n[i],r);return r}function g(e,t,n,r,i){for(var o,a=[],s=0,l=e.length,c=null!=t;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),c&&t.push(s));return a}function v(e,t,n,i,o,a){return i&&!i[F]&&(i=v(i)),o&&!o[F]&&(o=v(o,a)),r(function(r,a,s,l){var c,u,d,f=[],p=[],h=a.length,v=r||m(t||"*",s.nodeType?[s]:s,[]),y=!e||!r&&t?v:g(v,f,e,s,l),b=n?o||(r?e:h||i)?[]:a:y;if(n&&n(y,b,s,l),i)for(c=g(b,p),i(c,[],s,l),u=c.length;u--;)(d=c[u])&&(b[p[u]]=!(y[p[u]]=d));if(r){if(o||e){if(o){for(c=[],u=b.length;u--;)(d=b[u])&&c.push(y[u]=d);o(null,b=[],c,l)}for(u=b.length;u--;)(d=b[u])&&(c=o?tt.call(r,d):f[u])>-1&&(r[c]=!(a[c]=d))}}else b=g(b===a?b.splice(h,b.length):b),o?o(null,a,b,l):Z.apply(a,b)})}function y(e){for(var t,n,r,i=e.length,o=w.relative[e[0].type],a=o||w.relative[" "],s=o?1:0,l=p(function(e){return e===t},a,!0),c=p(function(e){return tt.call(t,e)>-1},a,!0),u=[function(e,n,r){return!o&&(r||n!==T)||((t=n).nodeType?l(e,n,r):c(e,n,r))}];i>s;s++)if(n=w.relative[e[s].type])u=[p(h(u),n)];else{if(n=w.filter[e[s].type].apply(null,e[s].matches),n[F]){for(r=++s;i>r&&!w.relative[e[r].type];r++);return v(s>1&&h(u),s>1&&f(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(st,"$1"),n,r>s&&y(e.slice(s,r)),i>r&&y(e=e.slice(r)),i>r&&f(e))}u.push(n)}return h(u)}function b(t,n){var i=n.length>0,o=t.length>0,a=function(r,a,s,l,c){var u,d,f,p=0,h="0",m=r&&[],v=[],y=T,b=r||o&&w.find.TAG("*",c),C=W+=null==y?1:Math.random()||.1,x=b.length;for(c&&(T=a!==D&&a);h!==x&&null!=(u=b[h]);h++){if(o&&u){for(d=0;f=t[d++];)if(f(u,a,s)){l.push(u);break}c&&(W=C)}i&&((u=!f&&u)&&p--,r&&m.push(u))}if(p+=h,i&&h!==p){for(d=0;f=n[d++];)f(m,v,a,s);if(r){if(p>0)for(;h--;)m[h]||v[h]||(v[h]=J.call(l));v=g(v)}Z.apply(l,v),c&&!r&&v.length>0&&p+n.length>1&&e.uniqueSort(l)}return c&&(W=C,T=y),m};return i?r(a):a}var C,x,w,_,E,N,k,S,T,R,A,B,D,L,H,M,P,O,I,F="sizzle"+-new Date,z=window.document,W=0,V=0,U=n(),$=n(),q=n(),j=function(e,t){return e===t&&(A=!0),0},Y=typeof t,K=1<<31,G={}.hasOwnProperty,X=[],J=X.pop,Q=X.push,Z=X.push,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="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",rt="[\\x20\\t\\r\\n\\f]",it="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ot="\\["+rt+"*("+it+")(?:"+rt+"*([*^$|!~]?=)"+rt+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+it+"))|)"+rt+"*\\]",at=":("+it+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ot+")*)|.*)\\)|)",st=new RegExp("^"+rt+"+|((?:^|[^\\\\])(?:\\\\.)*)"+rt+"+$","g"),lt=new RegExp("^"+rt+"*,"+rt+"*"),ct=new RegExp("^"+rt+"*([>+~]|"+rt+")"+rt+"*"),ut=new RegExp("="+rt+"*([^\\]'\"]*?)"+rt+"*\\]","g"),dt=new RegExp(at),ft=new RegExp("^"+it+"$"),pt={ID:new RegExp("^#("+it+")"),CLASS:new RegExp("^\\.("+it+")"),TAG:new RegExp("^("+it+"|[*])"),ATTR:new RegExp("^"+ot),PSEUDO:new RegExp("^"+at),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+rt+"*(even|odd|(([+-]|)(\\d*)n|)"+rt+"*(?:([+-]|)"+rt+"*(\\d+)|))"+rt+"*\\)|)","i"),bool:new RegExp("^(?:"+nt+")$","i"),needsContext:new RegExp("^"+rt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+rt+"*((?:-\\d)?\\d*)"+rt+"*\\)|)(?=[^-]|$)","i")},ht=/^(?:input|select|textarea|button)$/i,mt=/^h\d$/i,gt=/^[^{]+\{\s*\[native \w/,vt=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,yt=/[+~]/,bt=/'|\\/g,Ct=new RegExp("\\\\([\\da-f]{1,6}"+rt+"?|("+rt+")|.)","ig"),xt=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)};try{Z.apply(X=et.call(z.childNodes),z.childNodes),X[z.childNodes.length].nodeType}catch(wt){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}}}x=e.support={},E=e.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},B=e.setDocument=function(e){var t,n=e?e.ownerDocument||e:z,r=n.defaultView;return n!==D&&9===n.nodeType&&n.documentElement?(D=n,L=n.documentElement,H=!E(n),r&&r!==r.top&&(r.addEventListener?r.addEventListener("unload",function(){B()},!1):r.attachEvent&&r.attachEvent("onunload",function(){B()})),x.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),x.getElementsByTagName=i(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),x.getElementsByClassName=gt.test(n.getElementsByClassName),x.getById=i(function(e){return L.appendChild(e).id=F,!n.getElementsByName||!n.getElementsByName(F).length}),x.getById?(w.find.ID=function(e,t){if(typeof t.getElementById!==Y&&H){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},w.filter.ID=function(e){var t=e.replace(Ct,xt);return function(e){return e.getAttribute("id")===t}}):(delete w.find.ID,w.filter.ID=function(e){var t=e.replace(Ct,xt);return function(e){var n=typeof e.getAttributeNode!==Y&&e.getAttributeNode("id");return n&&n.value===t}}),w.find.TAG=x.getElementsByTagName?function(e,t){return typeof t.getElementsByTagName!==Y?t.getElementsByTagName(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},w.find.CLASS=x.getElementsByClassName&&function(e,t){return H?t.getElementsByClassName(e):void 0},P=[],M=[],(x.qsa=gt.test(n.querySelectorAll))&&(i(function(e){e.innerHTML="<select msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&M.push("[*^$]="+rt+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||M.push("\\["+rt+"*(?:value|"+nt+")"),e.querySelectorAll(":checked").length||M.push(":checked")}),i(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&M.push("name"+rt+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||M.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),M.push(",.*:")})),(x.matchesSelector=gt.test(O=L.matches||L.webkitMatchesSelector||L.mozMatchesSelector||L.oMatchesSelector||L.msMatchesSelector))&&i(function(e){x.disconnectedMatch=O.call(e,"div"),O.call(e,"[s!='']:x"),P.push("!=",at)}),M=M.length&&new RegExp(M.join("|")),P=P.length&&new RegExp(P.join("|")),t=gt.test(L.compareDocumentPosition),I=t||gt.test(L.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return A=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r?r:(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&r||!x.sortDetached&&t.compareDocumentPosition(e)===r?e===n||e.ownerDocument===z&&I(z,e)?-1:t===n||t.ownerDocument===z&&I(z,t)?1:R?tt.call(R,e)-tt.call(R,t):0:4&r?-1:1)}:function(e,t){if(e===t)return A=!0,0;var r,i=0,o=e.parentNode,s=t.parentNode,l=[e],c=[t];if(!o||!s)return e===n?-1:t===n?1:o?-1:s?1:R?tt.call(R,e)-tt.call(R,t):0;if(o===s)return a(e,t);for(r=e;r=r.parentNode;)l.unshift(r);for(r=t;r=r.parentNode;)c.unshift(r);for(;l[i]===c[i];)i++;return i?a(l[i],c[i]):l[i]===z?-1:c[i]===z?1:0},n):D},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==D&&B(t),n=n.replace(ut,"='$1']"),!(!x.matchesSelector||!H||P&&P.test(n)||M&&M.test(n)))try{var r=O.call(t,n);if(r||x.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(i){}return e(n,D,null,[t]).length>0},e.contains=function(e,t){return(e.ownerDocument||e)!==D&&B(e),I(e,t)},e.attr=function(e,n){(e.ownerDocument||e)!==D&&B(e);var r=w.attrHandle[n.toLowerCase()],i=r&&G.call(w.attrHandle,n.toLowerCase())?r(e,n,!H):t;return i!==t?i:x.attributes||!H?e.getAttribute(n):(i=e.getAttributeNode(n))&&i.specified?i.value:null},e.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},e.uniqueSort=function(e){var t,n=[],r=0,i=0;if(A=!x.detectDuplicates,R=!x.sortStable&&e.slice(0),e.sort(j),A){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return R=null,e},_=e.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=_(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=_(t);return n},w=e.selectors={cacheLength:50,createPseudo:r,match:pt,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(Ct,xt),e[3]=(e[3]||e[4]||e[5]||"").replace(Ct,xt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pt.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&dt.test(n)&&(t=N(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Ct,xt).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+rt+")"+e+"("+rt+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==Y&&e.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(i){var o=e.attr(i,t);return null==o?"!="===n:n?(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o+" ").indexOf(r)>-1:"|="===n?o===r||o.slice(0,r.length+1)===r+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,f,p,h,m=o!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s;if(g){if(o){for(;m;){for(d=t;d=d[m];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;h=m="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?g.firstChild:g.lastChild],a&&y){for(u=g[F]||(g[F]={}),c=u[e]||[],p=c[0]===W&&c[1],f=c[0]===W&&c[2],d=p&&g.childNodes[p];d=++p&&d&&d[m]||(f=p=0)||h.pop();)if(1===d.nodeType&&++f&&d===t){u[e]=[W,p,f];break}}else if(y&&(c=(t[F]||(t[F]={}))[e])&&c[0]===W)f=c[1];else for(;(d=++p&&d&&d[m]||(f=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++f||(y&&((d[F]||(d[F]={}))[e]=[W,f]),d!==t)););return f-=i,f===r||f%r===0&&f/r>=0}}},PSEUDO:function(t,n){var i,o=w.pseudos[t]||w.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return o[F]?o(n):o.length>1?(i=[t,t,"",n],w.setFilters.hasOwnProperty(t.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=tt.call(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=k(e.replace(st,"$1"));return i[F]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),!n.pop()}}),has:r(function(t){return function(n){return e(t,n).length>0}}),contains:r(function(e){return e=e.replace(Ct,xt),function(t){return(t.textContent||t.innerText||_(t)).indexOf(e)>-1}}),lang:r(function(t){return ft.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(Ct,xt).toLowerCase(),function(e){var n;do if(n=H?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return n=n.toLowerCase(),n===t||0===n.indexOf(t+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=window.location&&window.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===L},focus:function(e){return e===D.activeElement&&(!D.hasFocus||D.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!w.pseudos.empty(e)},header:function(e){return mt.test(e.nodeName)},input:function(e){return ht.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[0>n?n+t:n]}),even:c(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=0>n?n+t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=0>n?n+t:n;++r<t;)e.push(r);return e})}},w.pseudos.nth=w.pseudos.eq;for(C in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[C]=s(C);for(C in{submit:!0,reset:!0})w.pseudos[C]=l(C);return d.prototype=w.filters=w.pseudos,w.setFilters=new d,N=e.tokenize=function(t,n){var r,i,o,a,s,l,c,u=$[t+" "];if(u)return n?0:u.slice(0);for(s=t,l=[],c=w.preFilter;s;){(!r||(i=lt.exec(s)))&&(i&&(s=s.slice(i[0].length)||s),l.push(o=[])),r=!1,(i=ct.exec(s))&&(r=i.shift(),o.push({value:r,type:i[0].replace(st," ")}),s=s.slice(r.length));for(a in w.filter)!(i=pt[a].exec(s))||c[a]&&!(i=c[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),s=s.slice(r.length));if(!r)break}return n?s.length:s?e.error(t):$(t,l).slice(0)},k=e.compile=function(e,t){var n,r=[],i=[],o=q[e+" "];if(!o){for(t||(t=N(e)),n=t.length;n--;)o=y(t[n]),o[F]?r.push(o):i.push(o);o=q(e,b(i,r)),o.selector=e}return o},S=e.select=function(e,t,n,r){var i,o,a,s,l,c="function"==typeof e&&e,d=!r&&N(e=c.selector||e);if(n=n||[],1===d.length){if(o=d[0]=d[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&x.getById&&9===t.nodeType&&H&&w.relative[o[1].type]){if(t=(w.find.ID(a.matches[0].replace(Ct,xt),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pt.needsContext.test(e)?0:o.length;i--&&(a=o[i],!w.relative[s=a.type]);)if((l=w.find[s])&&(r=l(a.matches[0].replace(Ct,xt),yt.test(o[0].type)&&u(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&f(o),!e)return Z.apply(n,r),n;break}}return(c||k(e,d))(r,t,!H,n,yt.test(e)&&u(t.parentNode)||t),n},x.sortStable=F.split("").sort(j).join("")===F,x.detectDuplicates=!!A,B(),x.sortDetached=i(function(e){return 1&e.compareDocumentPosition(D.createElement("div"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),x.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(nt,function(e,t,n){var r;return n?void 0:e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),e}),r(u,[],function(){var e=navigator,t=e.userAgent,n,r,i,o,a,s,l;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(d,[u],function(e){function n(e){return null===e||e===t?"":(""+e).replace(v,"")}function r(e,n){return n?"array"==n&&y(e)?!0:typeof e==n:e!==t}function i(e){var t=e,n,r;if(!y(e))for(t=[],n=0,r=e.length;r>n;n++)t[n]=e[n];return t}function o(e,t,n){var r;for(e=e||[],t=t||",","string"==typeof e&&(e=e.split(t)),n=n||{},r=e.length;r--;)n[e[r]]={};return n}function a(e,n,r){var i,o;if(!e)return 0;if(r=r||e,e.length!==t){for(i=0,o=e.length;o>i;i++)if(n.call(r,e[i],i,e)===!1)return 0}else for(i in e)if(e.hasOwnProperty(i)&&n.call(r,e[i],i,e)===!1)return 0;return 1}function s(e,t){var n=[];return a(e,function(e){n.push(t(e))}),n}function l(e,t){var n=[];return a(e,function(e){(!t||t(e))&&n.push(e)}),n}function c(e,t,n){var r=this,i,o,a,s,l,c=0;if(e=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(e),a=e[3].match(/(^|\.)(\w+)$/i)[2],o=r.createNS(e[3].replace(/\.\w+$/,""),n),!o[a]){if("static"==e[2])return o[a]=t,void(this.onCreate&&this.onCreate(e[2],e[3],o[a]));t[a]||(t[a]=function(){},c=1),o[a]=t[a],r.extend(o[a].prototype,t),e[5]&&(i=r.resolve(e[5]).prototype,s=e[5].match(/\.(\w+)$/i)[1],l=o[a],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 u(e,t){var n,r;if(e)for(n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1}function d(e,n){var r,i,o,a=arguments,s;for(r=1,i=a.length;i>r;r++){n=a[r];for(o in n)n.hasOwnProperty(o)&&(s=n[o],s!==t&&(e[o]=s))}return e}function f(e,t,n,r){r=r||this,e&&(n&&(e=e[n]),a(e,function(e,i){return t.call(r,e,i,n)===!1?!1:void f(e,t,n,r)}))}function p(e,t){var n,r;for(t=t||window,e=e.split("."),n=0;n<e.length;n++)r=e[n],t[r]||(t[r]={}),t=t[r];return t}function h(e,t){var n,r;for(t=t||window,e=e.split("."),n=0,r=e.length;r>n&&(t=t[e[n]],t);n++);return t}function m(e,t){return!e||r(e,"array")?e:s(e.split(t||","),n)}function g(t){var n=e.cacheSuffix;return n&&(t+=(-1===t.indexOf("?")?"?":"&")+n),t}var v=/^\s*|\s*$/g,y=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};return{trim:n,isArray:y,is:r,toArray:i,makeMap:o,each:a,map:s,grep:l,inArray:u,extend:d,create:c,walk:f,createNS:p,resolve:h,explode:m,_addCacheSuffix:g}}),r(f,[l,c,d,u],function(e,n,r,i){function o(e){return"undefined"!=typeof e}function a(e){return"string"==typeof e}function s(e){return e&&e==e.window}function l(e,t){var n,r,i;for(t=t||w,i=t.createElement("div"),n=t.createDocumentFragment(),i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return n}function c(e,t,n,r){var i;if(a(t))t=l(t,v(e[0]));else if(t.length&&!t.nodeType){if(t=f.makeArray(t),r)for(i=t.length-1;i>=0;i--)c(e,t[i],n,r);else for(i=0;i<t.length;i++)c(e,t[i],n,r);return e}if(t.nodeType)for(i=e.length;i--;)n.call(e[i],t);return e}function u(e,t){return e&&t&&-1!==(" "+e.className+" ").indexOf(" "+t+" ")}function d(e,t,n){var r,i;return t=f(t)[0],e.each(function(){var e=this;n&&r==e.parentNode?i.appendChild(e):(r=e.parentNode,i=t.cloneNode(!1),e.parentNode.insertBefore(i,e),i.appendChild(e))}),e}function f(e,t){return new f.fn.init(e,t)}function p(e,t){var n;if(t.indexOf)return t.indexOf(e);for(n=t.length;n--;)if(t[n]===e)return n;return-1}function h(e){return null===e||e===S?"":(""+e).replace(H,"")}function m(e,t){var n,r,i,o,a;if(e)if(n=e.length,n===o){for(r in e)if(e.hasOwnProperty(r)&&(a=e[r],t.call(a,r,a)===!1))break}else for(i=0;n>i&&(a=e[i],t.call(a,i,a)!==!1);i++);return e}function g(e,t){var n=[];return m(e,function(e,r){t(r,e)&&n.push(r)}),n}function v(e){return e?9==e.nodeType?e:e.ownerDocument:w}function y(e,n,r){var i=[],o=e[n];for("string"!=typeof r&&r instanceof f&&(r=r[0]);o&&9!==o.nodeType;){if(r!==t){if(o===r)break;if("string"==typeof r&&f(o).is(r))break}1===o.nodeType&&i.push(o),o=o[n]}return i}function b(e,n,r,i){var o=[];for(i instanceof f&&(i=i[0]);e;e=e[n])if(!r||e.nodeType===r){if(i!==t){if(e===i)break;if("string"==typeof i&&f(e).is(i))break}o.push(e)}return o}function C(e,t,n){for(e=e[t];e;e=e[t])if(e.nodeType==n)return e;return null}function x(e,t,n){m(n,function(n,r){e[n]=e[n]||{},e[n][t]=r})}var w=document,_=Array.prototype.push,E=Array.prototype.slice,N=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,k=e.Event,S,T=r.makeMap("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom"," "),R=r.makeMap("checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected"," "),A={"for":"htmlFor","class":"className",readonly:"readOnly"},B={"float":"cssFloat"},D={},L={},H=/^\s*|\s*$/g;return f.fn=f.prototype={constructor:f,selector:"",context:null,length:0,init:function(e,t){var n=this,r,i;if(!e)return n;if(e.nodeType)return n.context=n[0]=e,n.length=1,n;if(t&&t.nodeType)n.context=t;else{if(t)return f(e).attr(t);n.context=t=document}if(a(e)){if(n.selector=e,r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!r)return f(t).find(e);if(r[1])for(i=l(e,v(t)).firstChild;i;)_.call(n,i),i=i.nextSibling;else{if(i=v(t).getElementById(r[2]),!i)return n;if(i.id!==r[2])return n.find(e);n.length=1,n[0]=i}}else this.add(e,!1);return n},toArray:function(){return r.toArray(this)},add:function(e,t){var n=this,r,i;if(a(e))return n.add(f(e));if(t!==!1)for(r=f.unique(n.toArray().concat(f.makeArray(e))),n.length=r.length,i=0;i<r.length;i++)n[i]=r[i];
-else _.apply(n,f.makeArray(e));return n},attr:function(e,t){var n=this,r;if("object"==typeof e)m(e,function(e,t){n.attr(e,t)});else{if(!o(t)){if(n[0]&&1===n[0].nodeType){if(r=D[e],r&&r.get)return r.get(n[0],e);if(R[e])return n.prop(e)?e:S;t=n[0].getAttribute(e,2),null===t&&(t=S)}return t}this.each(function(){var n;if(1===this.nodeType){if(n=D[e],n&&n.set)return void n.set(this,t);null===t?this.removeAttribute(e,2):this.setAttribute(e,t,2)}})}return n},removeAttr:function(e){return this.attr(e,null)},prop:function(e,t){var n=this;if(e=A[e]||e,"object"==typeof e)m(e,function(e,t){n.prop(e,t)});else{if(!o(t))return n[0]&&n[0].nodeType&&e in n[0]?n[0][e]:t;this.each(function(){1==this.nodeType&&(this[e]=t)})}return n},css:function(e,t){function n(e){return e.replace(/-(\D)/g,function(e,t){return t.toUpperCase()})}function r(e){return e.replace(/[A-Z]/g,function(e){return"-"+e})}var i=this,a,s;if("object"==typeof e)m(e,function(e,t){i.css(e,t)});else if(o(t))e=n(e),"number"!=typeof t||T[e]||(t+="px"),i.each(function(){var n=this.style;if(s=L[e],s&&s.set)return void s.set(this,t);try{this.style[B[e]||e]=t}catch(i){}(null===t||""===t)&&(n.removeProperty?n.removeProperty(r(e)):n.removeAttribute(e))});else{if(a=i[0],s=L[e],s&&s.get)return s.get(a);if(a.ownerDocument.defaultView)try{return a.ownerDocument.defaultView.getComputedStyle(a,null).getPropertyValue(r(e))}catch(l){return S}else if(a.currentStyle)return a.currentStyle[n(e)]}return i},remove:function(){for(var e=this,t,n=this.length;n--;)t=e[n],k.clean(t),t.parentNode&&t.parentNode.removeChild(t);return this},empty:function(){for(var e=this,t,n=this.length;n--;)for(t=e[n];t.firstChild;)t.removeChild(t.firstChild);return this},html:function(e){var t=this,n;if(o(e)){n=t.length;try{for(;n--;)t[n].innerHTML=e}catch(r){f(t[n]).empty().append(e)}return t}return t[0]?t[0].innerHTML:""},text:function(e){var t=this,n;if(o(e)){for(n=t.length;n--;)"innerText"in t[n]?t[n].innerText=e:t[0].textContent=e;return t}return t[0]?t[0].innerText||t[0].textContent:""},append:function(){return c(this,arguments,function(e){1===this.nodeType&&this.appendChild(e)})},prepend:function(){return c(this,arguments,function(e){1===this.nodeType&&this.insertBefore(e,this.firstChild)},!0)},before:function(){var e=this;return e[0]&&e[0].parentNode?c(e,arguments,function(e){this.parentNode.insertBefore(e,this)}):e},after:function(){var e=this;return e[0]&&e[0].parentNode?c(e,arguments,function(e){this.parentNode.insertBefore(e,this.nextSibling)},!0):e},appendTo:function(e){return f(e).append(this),this},prependTo:function(e){return f(e).prepend(this),this},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){return d(this,e)},wrapAll:function(e){return d(this,e,!0)},wrapInner:function(e){return this.each(function(){f(this).contents().wrapAll(e)}),this},unwrap:function(){return this.parent().each(function(){f(this).replaceWith(this.childNodes)})},clone:function(){var e=[];return this.each(function(){e.push(this.cloneNode(!0))}),f(e)},addClass:function(e){return this.toggleClass(e,!0)},removeClass:function(e){return this.toggleClass(e,!1)},toggleClass:function(e,t){var n=this;return"string"!=typeof e?n:(-1!==e.indexOf(" ")?m(e.split(" "),function(){n.toggleClass(this,t)}):n.each(function(n,r){var i,o;o=u(r,e),o!==t&&(i=r.className,o?r.className=h((" "+i+" ").replace(" "+e+" "," ")):r.className+=i?" "+e:e)}),n)},hasClass:function(e){return u(this[0],e)},each:function(e){return m(this,e)},on:function(e,t){return this.each(function(){k.bind(this,e,t)})},off:function(e,t){return this.each(function(){k.unbind(this,e,t)})},trigger:function(e){return this.each(function(){"object"==typeof e?k.fire(this,e.type,e):k.fire(this,e)})},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},slice:function(){return new f(E.apply(this,arguments))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},find:function(e){var t,n,r=[];for(t=0,n=this.length;n>t;t++)f.find(e,this[t],r);return f(r)},filter:function(e){return f("function"==typeof e?g(this.toArray(),function(t,n){return e(n,t)}):f.filter(e,this.toArray()))},closest:function(e){var t=[];return e instanceof f&&(e=e[0]),this.each(function(n,r){for(;r;){if("string"==typeof e&&f(r).is(e)){t.push(r);break}if(r==e){t.push(r);break}r=r.parentNode}}),f(t)},offset:function(e){var t,n,r,i=0,o=0,a;return e?this.css(e):(t=this[0],t&&(n=t.ownerDocument,r=n.documentElement,t.getBoundingClientRect&&(a=t.getBoundingClientRect(),i=a.left+(r.scrollLeft||n.body.scrollLeft)-r.clientLeft,o=a.top+(r.scrollTop||n.body.scrollTop)-r.clientTop)),{left:i,top:o})},push:_,sort:[].sort,splice:[].splice},r.extend(f,{extend:r.extend,makeArray:function(e){return s(e)||e.nodeType?[e]:r.toArray(e)},inArray:p,isArray:r.isArray,each:m,trim:h,grep:g,find:n,expr:n.selectors,unique:n.uniqueSort,text:n.getText,contains:n.contains,filter:function(e,t,n){var r=t.length;for(n&&(e=":not("+e+")");r--;)1!=t[r].nodeType&&t.splice(r,1);return t=1===t.length?f.find.matchesSelector(t[0],e)?[t[0]]:[]:f.find.matches(e,t)}}),m({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return y(e,"parentNode")},next:function(e){return C(e,"nextSibling",1)},prev:function(e){return C(e,"previousSibling",1)},children:function(e){return b(e.firstChild,"nextSibling",1)},contents:function(e){return r.toArray(("iframe"===e.nodeName?e.contentDocument||e.contentWindow.document:e).childNodes)}},function(e,t){f.fn[e]=function(n){var r=this,i=[];return r.each(function(){var e=t.call(i,this,n,i);e&&(f.isArray(e)?i.push.apply(i,e):i.push(e))}),this.length>1&&(i=f.unique(i),0===e.indexOf("parents")&&(i=i.reverse())),i=f(i),n?i.filter(n):i}}),m({parentsUntil:function(e,t){return y(e,"parentNode",t)},nextUntil:function(e,t){return b(e,"nextSibling",1,t).slice(1)},prevUntil:function(e,t){return b(e,"previousSibling",1,t).slice(1)}},function(e,t){f.fn[e]=function(n,r){var i=this,o=[];return i.each(function(){var e=t.call(o,this,n,o);e&&(f.isArray(e)?o.push.apply(o,e):o.push(e))}),this.length>1&&(o=f.unique(o),(0===e.indexOf("parents")||"prevUntil"===e)&&(o=o.reverse())),o=f(o),r?o.filter(r):o}}),f.fn.is=function(e){return!!e&&this.filter(e).length>0},f.fn.init.prototype=f.fn,f.overrideDefaults=function(e){function t(r,i){return n=n||e(),0===arguments.length&&(r=n.element),i||(i=n.context),new t.fn.init(r,i)}var n;return f.extend(t,this),t},i.ie&&i.ie<8&&(x(D,"get",{maxlength:function(e){var t=e.maxLength;return 2147483647===t?S:t},size:function(e){var t=e.size;return 20===t?S:t},"class":function(e){return e.className},style:function(e){var t=e.style.cssText;return 0===t.length?S:t}}),x(D,"set",{"class":function(e,t){e.className=t},style:function(e,t){e.style.cssText=t}})),i.ie&&i.ie<9&&(B["float"]="styleFloat",x(L,"set",{opacity:function(e,t){var n=e.style;null===t||""===t?n.removeAttribute("filter"):(n.zoom=1,n.filter="alpha(opacity="+100*t+")")}})),f.attrHooks=D,f.cssHooks=L,f}),r(p,[],function(){return function(e,t){function n(e,t,n,r){function i(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+i(t)+i(n)+i(r)}var r=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,i=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,o=/\s*([^:]+):\s*([^;]+);?/g,a=/\s+$/,s,l,c={},u,d,f,p="\ufeff";for(e=e||{},t&&(d=t.getValidStyles(),f=t.getInvalidStyles()),u=("\\\" \\' \\; \\: ; : "+p).split(" "),l=0;l<u.length;l++)c[u[l]]=p+l,c[p+l]=u[l];return{toHex:function(e){return e.replace(r,n)},parse:function(t){function s(e,t,n){var r,i,o,a;if(r=m[e+"-top"+t],r&&(i=m[e+"-right"+t],i&&(o=m[e+"-bottom"+t],o&&(a=m[e+"-left"+t])))){var s=[r,i,o,a];for(l=s.length-1;l--&&s[l]===s[l+1];);l>-1&&n||(m[e+t]=-1==l?s[0]:s.join(" "),delete m[e+"-top"+t],delete m[e+"-right"+t],delete m[e+"-bottom"+t],delete m[e+"-left"+t])}}function u(e){var t=m[e],n;if(t){for(t=t.split(" "),n=t.length;n--;)if(t[n]!==t[0])return!1;return m[e]=t[0],!0}}function d(e,t,n,r){u(t)&&u(n)&&u(r)&&(m[e]=m[t]+" "+m[n]+" "+m[r],delete m[t],delete m[n],delete m[r])}function f(e){return b=!0,c[e]}function p(e,t){return b&&(e=e.replace(/\uFEFF[0-9]/g,function(e){return c[e]})),t||(e=e.replace(/\\([\'\";:])/g,"$1")),e}function h(t,n,r,i,o,a){if(o=o||a)return o=p(o),"'"+o.replace(/\'/g,"\\'")+"'";if(n=p(n||r||i),!e.allow_script_urls){var s=n.replace(/[\s\r\n]+/,"");if(/(java|vb)script:/i.test(s))return"";if(!e.allow_svg_data_urls&&/^data:image\/svg/i.test(s))return""}return C&&(n=C.call(x,n,"style")),"url('"+n.replace(/\'/g,"\\'")+"')"}var m={},g,v,y,b,C=e.url_converter,x=e.url_converter_scope||this;if(t){for(t=t.replace(/[\u0000-\u001F]/g,""),t=t.replace(/\\[\"\';:\uFEFF]/g,f).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(e){return e.replace(/[;:]/g,f)});g=o.exec(t);){if(v=g[1].replace(a,"").toLowerCase(),y=g[2].replace(a,""),y=y.replace(/\\[0-9a-f]+/g,function(e){return String.fromCharCode(parseInt(e.substr(1),16))}),v&&y.length>0){if(!e.allow_script_urls&&("behavior"==v||/expression\s*\(|\/\*|\*\//.test(y)))continue;"font-weight"===v&&"700"===y?y="bold":("color"===v||"background-color"===v)&&(y=y.toLowerCase()),y=y.replace(r,n),y=y.replace(i,h),m[v]=b?p(y,!0):y}o.lastIndex=g.index+g[0].length}s("border","",!0),s("border","-width"),s("border","-color"),s("border","-style"),s("padding",""),s("margin",""),d("border","border-width","border-style","border-color"),"medium none"===m.border&&delete m.border,"none"===m["border-image"]&&delete m["border-image"]}return m},serialize:function(e,t){function n(t){var n,r,o,a;if(n=d[t])for(r=0,o=n.length;o>r;r++)t=n[r],a=e[t],a!==s&&a.length>0&&(i+=(i.length>0?" ":"")+t+": "+a+";")}function r(e,t){var n;return n=f["*"],n&&n[e]?!1:(n=f[t],n&&n[e]?!1:!0)}var i="",o,a;if(t&&d)n("*"),n(t);else for(o in e)a=e[o],a!==s&&a.length>0&&(!f||r(o,t))&&(i+=(i.length>0?" ":"")+o+": "+a+";");return i}}}}),r(h,[],function(){return function(e,t){function n(e,n,r,i){var o,a;if(e){if(!i&&e[n])return e[n];if(e!=t){if(o=e[r])return o;for(a=e.parentNode;a&&a!=t;a=a.parentNode)if(o=a[r])return o}}}var r=e;this.current=function(){return r},this.next=function(e){return r=n(r,"firstChild","nextSibling",e)},this.prev=function(e){return r=n(r,"lastChild","previousSibling",e)}}}),r(m,[d],function(e){function t(n){function r(){return M.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?(H[U]=H[V],H[$]=H[W]):(H[V]=H[U],H[W]=H[$]),H.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=H[V],r=H[W],i=H[U],o=H[$],a=t.startContainer,s=t.startOffset,l=t.endContainer,c=t.endOffset;return 0===e?w(n,r,a,s):1===e?w(i,o,a,s):2===e?w(i,o,l,c):3===e?w(n,r,l,c):void 0}function h(){E(I)}function m(){return E(P)}function g(){return E(O)}function v(e){var t=this[V],r=this[W],i,o;3!==t.nodeType&&4!==t.nodeType||!t.nodeValue?(t.childNodes.length>0&&(o=t.childNodes[r]),o?t.insertBefore(e,o):3==t.nodeType?n.insertAfter(e,t):t.appendChild(e)):r?r>=t.nodeValue.length?n.insertAfter(e,t):(i=t.splitText(r),t.parentNode.insertBefore(e,i)):t.parentNode.insertBefore(e,t)}function y(e){var t=H.extractContents();H.insertNode(e),e.appendChild(t),H.selectNode(e)}function b(){return q(new t(n),{startContainer:H[V],startOffset:H[W],endContainer:H[U],endOffset:H[$],collapsed:H.collapsed,commonAncestorContainer:H.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 H[V]==H[U]&&H[W]==H[$]}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?(H[V]=t,H[W]=r):(H[U]=t,H[$]=r),i=H[U];i.parentNode;)i=i.parentNode;for(o=H[V];o.parentNode;)o=o.parentNode;o==i?w(H[V],H[W],H[U],H[$])>0&&H.collapse(e):H.collapse(e),H.collapsed=x(),H.commonAncestorContainer=n.findCommonAncestor(H[V],H[U])}function E(e){var t,n=0,r=0,i,o,a,s,l,c;if(H[V]==H[U])return N(e);for(t=H[U],i=t.parentNode;i;t=i,i=i.parentNode){if(i==H[V])return k(t,e);++n}for(t=H[V],i=t.parentNode;i;t=i,i=i.parentNode){if(i==H[U])return S(t,e);++r}for(o=r-n,a=H[V];o>0;)a=a.parentNode,o--;for(s=H[U];0>o;)s=s.parentNode,o++;for(l=a.parentNode,c=s.parentNode;l!=c;l=l.parentNode,c=c.parentNode)a=l,s=c;return T(a,s,e)}function N(e){var t,n,i,o,a,s,l,c,u;if(e!=I&&(t=r()),H[W]==H[$])return t;if(3==H[V].nodeType){if(n=H[V].nodeValue,i=n.substring(H[W],H[$]),e!=O&&(o=H[V],c=H[W],u=H[$]-H[W],0===c&&u>=o.nodeValue.length-1?o.parentNode.removeChild(o):o.deleteData(c,u),H.collapse(F)),e==I)return;return i.length>0&&t.appendChild(M.createTextNode(i)),t}for(o=C(H[V],H[W]),a=H[$]-H[W];o&&a>0;)s=o.nextSibling,l=D(o,e),t&&t.appendChild(l),--a,o=s;return e!=O&&H.collapse(F),t}function k(e,t){var n,i,o,a,s,l;if(t!=I&&(n=r()),i=R(e,t),n&&n.appendChild(i),o=j(e),a=o-H[W],0>=a)return t!=O&&(H.setEndBefore(e),H.collapse(z)),n;for(i=e.previousSibling;a>0;)s=i.previousSibling,l=D(i,t),n&&n.insertBefore(l,n.firstChild),--a,i=s;return t!=O&&(H.setEndBefore(e),H.collapse(z)),n}function S(e,t){var n,i,o,a,s,l;for(t!=I&&(n=r()),o=A(e,t),n&&n.appendChild(o),i=j(e),++i,a=H[$]-i,o=e.nextSibling;o&&a>0;)s=o.nextSibling,l=D(o,t),n&&n.appendChild(l),--a,o=s;return t!=O&&(H.setStartAfter(e),H.collapse(F)),n}function T(e,t,n){var i,o,a,s,l,c,u;for(n!=I&&(o=r()),i=A(e,n),o&&o.appendChild(i),a=j(e),s=j(t),++a,l=s-a,c=e.nextSibling;l>0;)u=c.nextSibling,i=D(c,n),o&&o.appendChild(i),c=u,--l;return i=R(t,n),o&&o.appendChild(i),n!=O&&(H.setStartAfter(e),H.collapse(F)),o}function R(e,t){var n=C(H[U],H[$]-1),r,i,o,a,s,l=n!=H[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(H[V],H[W]),r=n!=H[V],i,o,a,s,l;if(n==e)return B(n,r,F,t);for(i=n.parentNode,o=B(i,z,F,t);i;){for(;n;)a=n.nextSibling,s=B(n,r,F,t),t!=I&&o.appendChild(s),r=F,n=a;if(i==e)return o;n=i.nextSibling,i=i.parentNode,l=B(i,z,F,t),t!=I&&l.appendChild(o),o=l}}function B(e,t,r,i){var o,a,s,l,c;if(t)return D(e,i);if(3==e.nodeType){if(o=e.nodeValue,r?(l=H[W],a=o.substring(l),s=o.substring(0,l)):(l=H[$],a=o.substring(0,l),s=o.substring(l)),i!=O&&(e.nodeValue=s),i==I)return;return c=n.clone(e,z),c.nodeValue=a,c}if(i!=I)return n.clone(e,z)}function D(e,t){return t!=I?t==O?n.clone(e,F):e:void e.parentNode.removeChild(e)}function L(){return n.create("body",null,g()).outerText}var H=this,M=n.doc,P=0,O=1,I=2,F=!0,z=!1,W="startOffset",V="startContainer",U="endContainer",$="endOffset",q=e.extend,j=n.nodeIndex;return q(H,{startContainer:M,startOffset:0,endContainer:M,endOffset:0,collapsed:F,commonAncestorContainer:M,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:i,setEnd:o,setStartBefore:a,setStartAfter:s,setEndBefore:l,setEndAfter:c,collapse:u,selectNode:d,selectNodeContents:f,compareBoundaryPoints:p,deleteContents:h,extractContents:m,cloneContents:g,insertNode:v,surroundContents:y,cloneRange:b,toStringIE:L}),H}return t.prototype.toString=function(){return this.toStringIE()},t}),r(g,[d],function(e){function t(e){var t;return t=document.createElement("div"),t.innerHTML=e,t.textContent||t.innerText||e}function n(e,t){var n,r,i,a={};if(e){for(e=e.split(","),t=t||10,n=0;n<e.length;n+=2)r=String.fromCharCode(parseInt(e[n],t)),o[r]||(i="&"+e[n+1]+";",a[r]=i,a[i]=r);return a}}var r=e.makeMap,i,o,a,s=/[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,c=/[<>&\"\']/g,u=/&(#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;","`":"&#96;"},a={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"},i=n("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);var f={encodeRaw:function(e,t){return e.replace(t?s:l,function(e){return o[e]||e})},encodeAllRaw:function(e){return(""+e).replace(c,function(e){return o[e]||e})},encodeNumeric:function(e,t){return e.replace(t?s:l,function(e){return e.length>1?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":o[e]||"&#"+e.charCodeAt(0)+";"})},encodeNamed:function(e,t,n){return n=n||i,e.replace(t?s:l,function(e){return o[e]||n[e]||e})},getEncodeFunc:function(e,t){function a(e,n){return e.replace(n?s:l,function(e){return o[e]||t[e]||"&#"+e.charCodeAt(0)+";"||e})}function c(e,n){return f.encodeNamed(e,n,t)}return t=n(t)||i,e=r(e.replace(/\+/g,",")),e.named&&e.numeric?a:e.named?t?c:f.encodeNamed:e.numeric?f.encodeNumeric:f.encodeRaw},decode:function(e){return e.replace(u,function(e,n,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(v,[d],function(e){return function(t,n){function r(e){t.getElementsByTagName("head")[0].appendChild(e)}function i(n,i,l){function c(){for(var e=y.passed,t=e.length;t--;)e[t]();y.status=2,y.passed=[],y.failed=[]}function u(){for(var e=y.failed,t=e.length;t--;)e[t]();y.status=3,y.passed=[],y.failed=[]}function d(){var e=navigator.userAgent.match(/WebKit\/(\d*)/);return!!(e&&e[1]<536)}function f(e,t){e()||((new Date).getTime()-v<s?window.setTimeout(t,0):u())}function p(){f(function(){for(var e=t.styleSheets,n,r=e.length,i;r--;)if(n=e[r],i=n.ownerNode?n.ownerNode:n.owningElement,i&&i.id===m.id)return c(),!0},p)}function h(){f(function(){try{var e=g.sheet.cssRules;return c(),!!e}catch(t){}},h)}var m,g,v,y;if(n=e._addCacheSuffix(n),a[n]?y=a[n]:(y={passed:[],failed:[]},a[n]=y),i&&y.passed.push(i),l&&y.failed.push(l),1!=y.status){if(2==y.status)return void c();if(3==y.status)return void u();if(y.status=1,m=t.createElement("link"),m.rel="stylesheet",m.type="text/css",m.id="u"+o++,m.async=!1,m.defer=!1,v=(new Date).getTime(),"onload"in m&&!d())m.onload=p,m.onerror=u;else{if(navigator.userAgent.indexOf("Firefox")>0)return g=t.createElement("style"),g.textContent='@import "'+n+'"',h(),void r(g);p()}r(m),m.href=n}}var o=0,a={},s;n=n||{},s=n.maxLoadTime||5e3,this.load=i}}),r(y,[c,f,p,l,h,m,g,u,d,v],function(e,n,r,i,o,a,s,l,c,u){function d(e,t){var n={},r=t.keep_values,i;return i={set:function(n,r,i){t.url_converter&&(r=t.url_converter.call(t.url_converter_scope||e,r,i,n[0])),n.attr("data-mce-"+i,r).attr(i,r)},get:function(e,t){return e.attr("data-mce-"+t)||e.attr(t)}},n={style:{set:function(e,t){return null!==t&&"object"==typeof t?void e.css(t):(r&&e.attr("data-mce-style",t),void e.attr("style",t))},get:function(t){var n=t.attr("data-mce-style")||t.attr("style");return n=e.serializeStyle(e.parseStyle(n),t[0].nodeName)}}},r&&(n.href=n.src=i),n}function f(e,t){var o=this,a;o.doc=e,o.win=window,o.files={},o.counter=0,o.stdMode=!v||e.documentMode>=8,o.boxModel=!v||"CSS1Compat"==e.compatMode||o.stdMode,o.styleSheetLoader=new u(e),o.boundEvents=[],o.settings=t=t||{},o.schema=t.schema,o.styles=new r({url_converter:t.url_converter,url_converter_scope:t.url_converter_scope},t.schema),o.fixDoc(e),o.events=t.ownEvents?new i(t.proxy):i.Event,o.attrHooks=d(o,t),a=t.schema?t.schema.getBlockElements():{},o.$=n.overrideDefaults(function(){return{context:e,element:o.getRoot()}}),o.isBlock=function(e){if(!e)return!1;var t=e.nodeType;return t?!(1!==t||!a[e.nodeName]):!!a[e]}}var p=c.each,h=c.is,m=c.grep,g=c.trim,v=l.ie,y=/^([a-z0-9],?)+$/i,b=/^[ \t\r\n]*$/;return f.prototype={$$:function(e){return"string"==typeof e&&(e=this.get(e)),this.$(e)},root:null,fixDoc:function(e){var t=this.settings,n;if(v&&t.schema){"abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video".replace(/\w+/g,function(t){e.createElement(t)});for(n in t.schema.getCustomElements())e.createElement(n)}},clone:function(e,t){var n=this,r,i;return!v||1!==e.nodeType||t?e.cloneNode(t):(i=n.doc,t?r.firstChild:(r=i.createElement(e.nodeName),p(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),r))},getRoot:function(){var e=this;return e.settings.root_element||e.doc.body},getViewPort:function(e){var t,n;return e=e?e:this.win,t=e.document,n=this.boxModel?t.documentElement:t.body,{x:e.pageXOffset||n.scrollLeft,y:e.pageYOffset||n.scrollTop,w:e.innerWidth||n.clientWidth,h:e.innerHeight||n.clientHeight}},getRect:function(e){var t=this,n,r;return e=t.get(e),n=t.getPos(e),r=t.getSize(e),{x:n.x,y:n.y,w:r.w,h:r.h}},getSize:function(e){var t=this,n,r;return e=t.get(e),n=t.getStyle(e,"width"),r=t.getStyle(e,"height"),-1===n.indexOf("px")&&(n=0),-1===r.indexOf("px")&&(r=0),{w:parseInt(n,10)||e.offsetWidth||e.clientWidth,h:parseInt(r,10)||e.offsetHeight||e.clientHeight}},getParent:function(e,t,n){return this.getParents(e,t,n,!1)},getParents:function(e,n,r,i){var o=this,a,s=[];for(e=o.get(e),i=i===t,r=r||("BODY"!=o.getRoot().nodeName?o.getRoot().parentNode:null),h(n,"string")&&(a=n,n="*"===n?function(e){return 1==e.nodeType}:function(e){return o.is(e,a)});e&&e!=r&&e.nodeType&&9!==e.nodeType;){if(!n||n(e)){if(!i)return e;s.push(e)}e=e.parentNode}return i?s:null},get:function(e){var t;return e&&this.doc&&"string"==typeof e&&(t=e,e=this.doc.getElementById(e),e&&e.id!==t)?this.doc.getElementsByName(t)[1]:e},getNext:function(e,t){return this._findSib(e,t,"nextSibling")},getPrev:function(e,t){return this._findSib(e,t,"previousSibling")},select:function(t,n){var r=this;return e(t,r.get(n)||r.settings.root_element||r.doc,[])},is:function(n,r){var i;if(n.length===t){if("*"===r)return 1==n.nodeType;if(y.test(r)){for(r=r.toLowerCase().split(/,/),n=n.nodeName.toLowerCase(),i=r.length-1;i>=0;i--)if(r[i]==n)return!0;return!1}}if(n.nodeType&&1!=n.nodeType)return!1;var o=n.nodeType?[n]:n;return e(r,o[0].ownerDocument||o[0],null,o).length>0},add:function(e,t,n,r,i){var o=this;return this.run(e,function(e){var a;return a=h(t,"string")?o.doc.createElement(t):t,o.setAttribs(a,n),r&&(r.nodeType?a.appendChild(r):o.setHTML(a,r)),i?a:e.appendChild(a)})},create:function(e,t,n){return this.add(this.doc.createElement(e),e,t,n,1)},createHTML:function(e,t,n){var r="",i;r+="<"+e;for(i in t)t.hasOwnProperty(i)&&null!==t[i]&&"undefined"!=typeof t[i]&&(r+=" "+i+'="'+this.encode(t[i])+'"');return"undefined"!=typeof n?r+">"+n+"</"+e+">":r+" />"},createFragment:function(e){var t,n,r=this.doc,i;for(i=r.createElement("div"),t=r.createDocumentFragment(),e&&(i.innerHTML=e);n=i.firstChild;)t.appendChild(n);return t},remove:function(e,t){return e=this.$$(e),t?e.each(function(){for(var e;e=this.firstChild;)3==e.nodeType&&0===e.data.length?this.removeChild(e):this.parentNode.insertBefore(e,this)}).remove():e.remove(),e.length>1?e.toArray():e[0]},setStyle:function(e,t,n){e=this.$$(e).css(t,n),this.settings.update_styles&&e.attr("data-mce-style",null)},getStyle:function(e,n,r){return e=this.$$(e),r?e.css(n):(n=n.replace(/-(\D)/g,function(e,t){return t.toUpperCase()}),"float"==n&&(n=v?"styleFloat":"cssFloat"),e[0]&&e[0].style?e[0].style[n]:t)},setStyles:function(e,t){e=this.$$(e).css(t),this.settings.update_styles&&e.attr("data-mce-style",null)},removeAllAttribs:function(e){return this.run(e,function(e){var t,n=e.attributes;for(t=n.length-1;t>=0;t--)e.removeAttributeNode(n.item(t))})},setAttrib:function(e,t,n){var r=this,i,o,a=r.settings;""===n&&(n=null),e=r.$$(e),i=e.attr(t),e.length&&(o=r.attrHooks[t],o&&o.set?o.set(e,n,t):e.attr(t,n),i!=n&&a.onSetAttrib&&a.onSetAttrib({attrElm:e,attrName:t,attrValue:n}))},setAttribs:function(e,t){var n=this;n.$$(e).each(function(e,r){p(t,function(e,t){n.setAttrib(r,t,e)})})},getAttrib:function(e,t,n){var r=this,i,o;return e=r.$$(e),e.length&&(i=r.attrHooks[t],o=i&&i.get?i.get(e,t):e.attr(t)),"undefined"==typeof o&&(o=n||""),o},getPos:function(e,t){var r=this,i=0,o=0,a,s=r.doc,l=s.body,c;if(e=r.get(e),t=t||l,e){if(t===l&&e.getBoundingClientRect&&"static"===n(l).css("position"))return c=e.getBoundingClientRect(),t=r.boxModel?s.documentElement:l,i=c.left+(s.documentElement.scrollLeft||l.scrollLeft)-t.clientLeft,o=c.top+(s.documentElement.scrollTop||l.scrollTop)-t.clientTop,{x:i,y:o};for(a=e;a&&a!=t&&a.nodeType;)i+=a.offsetLeft||0,o+=a.offsetTop||0,a=a.offsetParent;for(a=e.parentNode;a&&a!=t&&a.nodeType;)i-=a.scrollLeft||0,o-=a.scrollTop||0,a=a.parentNode}return{x:i,y:o}},parseStyle:function(e){return this.styles.parse(e)},serializeStyle:function(e,t){return this.styles.serialize(e,t)},addStyle:function(e){var t=this,n=t.doc,r,i;if(t!==f.DOM&&n===document){var o=f.DOM.addedStyles;if(o=o||[],o[e])return;o[e]=!0,f.DOM.addedStyles=o}i=n.getElementById("mceDefaultStyles"),i||(i=n.createElement("style"),i.id="mceDefaultStyles",i.type="text/css",r=n.getElementsByTagName("head")[0],r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i)),i.styleSheet?i.styleSheet.cssText+=e:i.appendChild(n.createTextNode(e))},loadCSS:function(e){var t=this,n=t.doc,r;return t!==f.DOM&&n===document?void f.DOM.loadCSS(e):(e||(e=""),r=n.getElementsByTagName("head")[0],void p(e.split(","),function(e){var i;e=c._addCacheSuffix(e),t.files[e]||(t.files[e]=!0,i=t.create("link",{rel:"stylesheet",href:e}),v&&n.documentMode&&n.recalc&&(i.onload=function(){n.recalc&&n.recalc(),i.onload=null}),r.appendChild(i))}))},addClass:function(e,t){this.$$(e).addClass(t)},removeClass:function(e,t){this.toggleClass(e,t,!1)},hasClass:function(e,t){return this.$$(e).hasClass(t)},toggleClass:function(e,t,r){this.$$(e).toggleClass(t,r).each(function(){""===this.className&&n(this).attr("class",null)})},show:function(e){this.$$(e).show()},hide:function(e){this.$$(e).hide()},isHidden:function(e){return"none"==this.$$(e).css("display")},uniqueId:function(e){return(e?e:"mce_")+this.counter++},setHTML:function(e,t){e=this.$$(e),v?e.each(function(e,r){if(r.canHaveHTML!==!1){for(;r.firstChild;)r.removeChild(r.firstChild);try{r.innerHTML="<br>"+t,r.removeChild(r.firstChild)}catch(i){n("<div>").html("<br>"+t).contents().slice(1).appendTo(r)}return t}}):e.html(t)},getOuterHTML:function(e){return e=this.get(e),1==e.nodeType?e.outerHTML:n("<div>").append(n(e).clone()).html()},setOuterHTML:function(e,t){var r=this;r.$$(e).each(function(){try{this.outerHTML=t}catch(e){r.remove(n(this).html(t),!0)}})},decode:s.decode,encode:s.encodeAllRaw,insertAfter:function(e,t){return t=this.get(t),this.run(e,function(e){var n,r;return n=t.parentNode,r=t.nextSibling,r?n.insertBefore(e,r):n.appendChild(e),e})},replace:function(e,t,n){var r=this;return r.run(t,function(t){return h(t,"array")&&(e=e.cloneNode(!0)),n&&p(m(t.childNodes),function(t){e.appendChild(t)}),t.parentNode.replaceChild(e,t)})},rename:function(e,t){var n=this,r;return e.nodeName!=t.toUpperCase()&&(r=n.create(t),p(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),n.replace(r,e,1)),r||e},findCommonAncestor:function(e,t){for(var n=e,r;n;){for(r=t;r&&n!=r;)r=r.parentNode;if(n==r)break;n=n.parentNode}return!n&&e.ownerDocument?e.ownerDocument.documentElement:n},toHex:function(e){return this.styles.toHex(c.trim(e))},run:function(e,t,n){var r=this,i;return"string"==typeof e&&(e=r.get(e)),e?(n=n||this,e.nodeType||!e.length&&0!==e.length?t.call(n,e):(i=[],p(e,function(e,o){e&&("string"==typeof e&&(e=r.get(e)),i.push(t.call(n,e,o)))}),i)):!1},getAttribs:function(e){var t;if(e=this.get(e),!e)return[];if(v){if(t=[],"OBJECT"==e.nodeName)return e.attributes;"OPTION"===e.nodeName&&this.getAttrib(e,"selected")&&t.push({specified:1,nodeName:"selected"});var n=/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi;return e.cloneNode(!1).outerHTML.replace(n,"").replace(/[\w:\-]+/gi,function(e){t.push({specified:1,nodeName:e})}),t}return e.attributes},isEmpty:function(e,t){var n=this,r,i,a,s,l,c=0;if(e=e.firstChild){s=new o(e,e.parentNode),t=t||(n.schema?n.schema.getNonEmptyElements():null);do{if(a=e.nodeType,1===a){if(e.getAttribute("data-mce-bogus"))continue;if(l=e.nodeName.toLowerCase(),t&&t[l]){if("br"===l){c++;continue}return!1}for(i=n.getAttribs(e),r=i.length;r--;)if(l=i[r].nodeName,"name"===l||"data-mce-bookmark"===l)return!1}if(8==a)return!1;if(3===a&&!b.test(e.nodeValue))return!1}while(e=s.next())}return 1>=c},createRng:function(){var e=this.doc;return e.createRange?e.createRange():new a(this)},nodeIndex:function(e,t){var n=0,r,i;if(e)for(r=e.nodeType,e=e.previousSibling;e;e=e.previousSibling)i=e.nodeType,(!t||3!=i||i!=r&&e.nodeValue.length)&&(n++,r=i);return n},split:function(e,t,n){function r(e){function t(e){var t=e.previousSibling&&"SPAN"==e.previousSibling.nodeName,n=e.nextSibling&&"SPAN"==e.nextSibling.nodeName;return t&&n}var n,o=e.childNodes,a=e.nodeType;if(1!=a||"bookmark"!=e.getAttribute("data-mce-type")){for(n=o.length-1;n>=0;n--)r(o[n]);if(9!=a){if(3==a&&e.nodeValue.length>0){var s=g(e.nodeValue).length;if(!i.isBlock(e.parentNode)||s>0||0===s&&t(e))return
-}else if(1==a&&(o=e.childNodes,1==o.length&&o[0]&&1==o[0].nodeType&&"bookmark"==o[0].getAttribute("data-mce-type")&&e.parentNode.insertBefore(o[0],e),o.length||/^(br|hr|input|img)$/i.test(e.nodeName)))return;i.remove(e)}return e}}var i=this,o=i.createRng(),a,s,l;return e&&t?(o.setStart(e.parentNode,i.nodeIndex(e)),o.setEnd(t.parentNode,i.nodeIndex(t)),a=o.extractContents(),o=i.createRng(),o.setStart(t.parentNode,i.nodeIndex(t)+1),o.setEnd(e.parentNode,i.nodeIndex(e)+1),s=o.extractContents(),l=e.parentNode,l.insertBefore(r(a),e),n?l.replaceChild(n,t):l.insertBefore(t,e),l.insertBefore(r(s),e),i.remove(e),n||t):void 0},bind:function(e,t,n,r){var i=this;if(c.isArray(e)){for(var o=e.length;o--;)e[o]=i.bind(e[o],t,n,r);return e}return!i.settings.collect||e!==i.doc&&e!==i.win||i.boundEvents.push([e,t,n,r]),i.events.bind(e,t,n,r||i)},unbind:function(e,t,n){var r=this,i;if(c.isArray(e)){for(i=e.length;i--;)e[i]=r.unbind(e[i],t,n);return e}if(r.boundEvents&&(e===r.doc||e===r.win))for(i=r.boundEvents.length;i--;){var o=r.boundEvents[i];e!=o[0]||t&&t!=o[1]||n&&n!=o[2]||this.events.unbind(o[0],o[1],o[2])}return this.events.unbind(e,t,n)},fire:function(e,t,n){return this.events.fire(e,t,n)},getContentEditable:function(e){var t;return e&&1==e.nodeType?(t=e.getAttribute("data-mce-contenteditable"),t&&"inherit"!==t?t:"inherit"!==e.contentEditable?e.contentEditable:null):null},getContentEditableParent:function(e){for(var t=this.getRoot(),n=null;e&&e!==t&&(n=this.getContentEditable(e),null===n);e=e.parentNode);return n},destroy:function(){var t=this;if(t.boundEvents){for(var n=t.boundEvents.length;n--;){var r=t.boundEvents[n];this.events.unbind(r[0],r[1],r[2])}t.boundEvents=null}e.setDocument&&e.setDocument(),t.win=t.doc=t.root=t.events=t.frag=null},isChildOf:function(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1},dumpRng:function(e){return"startContainer: "+e.startContainer.nodeName+", startOffset: "+e.startOffset+", endContainer: "+e.endContainer.nodeName+", endOffset: "+e.endOffset},_findSib:function(e,t,n){var r=this,i=t;if(e)for("string"==typeof i&&(i=function(e){return r.is(e,t)}),e=e[n];e;e=e[n])if(i(e))return e;return null}},f.DOM=new f(document),f}),r(b,[y,d],function(e,t){function n(){function e(e,n){function i(){a.remove(l),s&&(s.onreadystatechange=s.onload=s=null),n()}function o(){"undefined"!=typeof console&&console.log&&console.log("Failed to load: "+e)}var a=r,s,l;l=a.uniqueId(),s=document.createElement("script"),s.id=l,s.type="text/javascript",s.src=t._addCacheSuffix(e),"onreadystatechange"in s?s.onreadystatechange=function(){/loaded|complete/.test(s.readyState)&&i()}:s.onload=i,s.onerror=o,(document.getElementsByTagName("head")[0]||document.body).appendChild(s)}var n=0,a=1,s=2,l={},c=[],u={},d=[],f=0,p;this.isDone=function(e){return l[e]==s},this.markDone=function(e){l[e]=s},this.add=this.load=function(e,t,r){var i=l[e];i==p&&(c.push(e),l[e]=n),t&&(u[e]||(u[e]=[]),u[e].push({func:t,scope:r||this}))},this.loadQueue=function(e,t){this.loadScripts(c,e,t)},this.loadScripts=function(t,n,r){function c(e){i(u[e],function(e){e.func.call(e.scope)}),u[e]=p}var h;d.push({func:n,scope:r||this}),(h=function(){var n=o(t);t.length=0,i(n,function(t){return l[t]==s?void c(t):void(l[t]!=a&&(l[t]=a,f++,e(t,function(){l[t]=s,f--,c(t),h()})))}),f||(i(d,function(e){e.func.call(e.scope)}),d.length=0)})()}}var r=e.DOM,i=t.each,o=t.grep;return n.ScriptLoader=new n,n}),r(C,[b,d],function(e,n){function r(){var e=this;e.items=[],e.urls={},e.lookup={}}var i=n.each;return r.prototype={get:function(e){return this.lookup[e]?this.lookup[e].instance:t},dependencies:function(e){var t;return this.lookup[e]&&(t=this.lookup[e].dependencies),t||[]},requireLangPack:function(t,n){var i=r.language;if(i&&r.languageLoad!==!1){if(n)if(n=","+n+",",-1!=n.indexOf(","+i.substr(0,2)+","))i=i.substr(0,2);else if(-1==n.indexOf(","+i+","))return;e.ScriptLoader.add(this.urls[t]+"/langs/"+i+".js")}},add:function(e,t,n){return this.items.push(t),this.lookup[e]={instance:t,dependencies:n},t},createUrl:function(e,t){return"object"==typeof t?t:{prefix:e.prefix,resource:t,suffix:e.suffix}},addComponents:function(t,n){var r=this.urls[t];i(n,function(t){e.ScriptLoader.add(r+"/"+t)})},load:function(n,o,a,s){function l(){var r=c.dependencies(n);i(r,function(e){var n=c.createUrl(o,e);c.load(n.resource,n,t,t)}),a&&a.call(s?s:e)}var c=this,u=o;c.urls[n]||("object"==typeof o&&(u=o.prefix+o.resource+o.suffix),0!==u.indexOf("/")&&-1==u.indexOf("://")&&(u=r.baseURL+"/"+u),c.urls[n]=u.substring(0,u.lastIndexOf("/")),c.lookup[n]?l():e.ScriptLoader.add(u,l,s))}},r.PluginManager=new r,r.ThemeManager=new r,r}),r(x,[d,h],function(e,t){function n(e,t){var n=e.childNodes;return t--,t>n.length-1?t=n.length-1:0>t&&(t=0),n[t]||e}function r(e){this.walk=function(t,r){function o(e){var t;return t=e[0],3===t.nodeType&&t===c&&u>=t.nodeValue.length&&e.splice(0,1),t=e[e.length-1],0===f&&e.length>0&&t===d&&3===t.nodeType&&e.splice(e.length-1,1),e}function a(e,t,n){for(var r=[];e&&e!=n;e=e[t])r.push(e);return r}function s(e,t){do{if(e.parentNode==t)return e;e=e.parentNode}while(e)}function l(e,t,n){var i=n?"nextSibling":"previousSibling";for(g=e,v=g.parentNode;g&&g!=t;g=v)v=g.parentNode,y=a(g==e?g:g[i],i),y.length&&(n||y.reverse(),r(o(y)))}var c=t.startContainer,u=t.startOffset,d=t.endContainer,f=t.endOffset,p,h,m,g,v,y,b;if(b=e.select("td.mce-item-selected,th.mce-item-selected"),b.length>0)return void i(b,function(e){r([e])});if(1==c.nodeType&&c.hasChildNodes()&&(c=c.childNodes[u]),1==d.nodeType&&d.hasChildNodes()&&(d=n(d,f)),c==d)return r(o([c]));for(p=e.findCommonAncestor(c,d),g=c;g;g=g.parentNode){if(g===d)return l(c,p,!0);if(g===p)break}for(g=d;g;g=g.parentNode){if(g===c)return l(d,p);if(g===p)break}h=s(c,p)||c,m=s(d,p)||d,l(c,h,!0),y=a(h==c?h:h.nextSibling,"nextSibling",m==d?m.nextSibling:m),y.length&&r(o(y)),l(d,m)},this.split=function(e){function t(e,t){return e.splitText(t)}var n=e.startContainer,r=e.startOffset,i=e.endContainer,o=e.endOffset;return n==i&&3==n.nodeType?r>0&&r<n.nodeValue.length&&(i=t(n,r),n=i.previousSibling,o>r?(o-=r,n=i=t(i,o).previousSibling,o=i.nodeValue.length,r=0):o=0):(3==n.nodeType&&r>0&&r<n.nodeValue.length&&(n=t(n,r),r=0),3==i.nodeType&&o>0&&o<i.nodeValue.length&&(i=t(i,o).previousSibling,o=i.nodeValue.length)),{startContainer:n,startOffset:r,endContainer:i,endOffset:o}},this.normalize=function(n){function r(r){function a(n,r){for(var i=new t(n,e.getParent(n.parentNode,e.isBlock)||f);n=i[r?"prev":"next"]();)if("BR"===n.nodeName)return!0}function s(e,t){return e.previousSibling&&e.previousSibling.nodeName==t}function l(n,r){var a,s,l;if(r=r||c,l=e.getParent(r.parentNode,e.isBlock)||f,n&&"BR"==r.nodeName&&g&&e.isEmpty(l))return c=r.parentNode,u=e.nodeIndex(r),void(i=!0);for(a=new t(r,l);p=a[n?"prev":"next"]();){if("false"===e.getContentEditableParent(p))return;if(3===p.nodeType&&p.nodeValue.length>0)return c=p,u=n?p.nodeValue.length:0,void(i=!0);if(e.isBlock(p)||h[p.nodeName.toLowerCase()])return;s=p}o&&s&&(c=s,i=!0,u=0)}var c,u,d,f=e.getRoot(),p,h,m,g;if(c=n[(r?"start":"end")+"Container"],u=n[(r?"start":"end")+"Offset"],g=1==c.nodeType&&u===c.childNodes.length,h=e.schema.getNonEmptyElements(),m=r,1==c.nodeType&&u>c.childNodes.length-1&&(m=!1),9===c.nodeType&&(c=e.getRoot(),u=0),c===f){if(m&&(p=c.childNodes[u>0?u-1:0],p&&(h[p.nodeName]||"TABLE"==p.nodeName)))return;if(c.hasChildNodes()&&(u=Math.min(!m&&u>0?u-1:u,c.childNodes.length-1),c=c.childNodes[u],u=0,c.hasChildNodes()&&!/TABLE/.test(c.nodeName))){p=c,d=new t(c,f);do{if(3===p.nodeType&&p.nodeValue.length>0){u=m?0:p.nodeValue.length,c=p,i=!0;break}if(h[p.nodeName.toLowerCase()]){u=e.nodeIndex(p),c=p.parentNode,"IMG"!=p.nodeName||m||u++,i=!0;break}}while(p=m?d.next():d.prev())}}o&&(3===c.nodeType&&0===u&&l(!0),1===c.nodeType&&(p=c.childNodes[u],p||(p=c.childNodes[u-1]),!p||"BR"!==p.nodeName||s(p,"A")||a(p)||a(p,!0)||l(!0,p))),m&&!o&&3===c.nodeType&&u===c.nodeValue.length&&l(!1),i&&n["set"+(r?"Start":"End")](c,u)}var i,o;return o=n.collapsed,r(!0),o||r(),i&&o&&n.collapse(!0),i}}var i=e.each;return r.compareRanges=function(e,t){if(e&&t){if(!e.item&&!e.duplicate)return e.startContainer==t.startContainer&&e.startOffset==t.startOffset;if(e.item&&t.item&&e.item(0)===t.item(0))return!0;if(e.isEqual&&t.isEqual&&t.isEqual(e))return!0}return!1},r}),r(w,[x],function(e){return function(t){function n(e){var n,r;if(r=t.$(e).parentsUntil(t.getBody()).add(e),r.length===i.length){for(n=r.length;n>=0&&r[n]===i[n];n--);if(-1===n)return i=r,!0}return i=r,!1}var r,i=[];"onselectionchange"in t.getDoc()||t.on("NodeChange Click MouseUp KeyUp Focus",function(n){var i,o;i=t.selection.getRng(),o={startContainer:i.startContainer,startOffset:i.startOffset,endContainer:i.endContainer,endOffset:i.endOffset},"nodechange"!=n.type&&e.compareRanges(o,r)||t.fire("SelectionChange"),r=o}),t.on("contextmenu",function(){t.fire("SelectionChange")}),t.on("SelectionChange",function(){var e=t.selection.getStart(!0);t.selection.isCollapsed()||n(e)||!t.dom.isChildOf(e,t.getBody())||t.nodeChanged({selectionChange:!0})}),t.on("MouseUp",function(e){e.isDefaultPrevented()||setTimeout(function(){t.nodeChanged()},0)}),this.nodeChanged=function(e){var n=t.selection,r,i,o;t.initialized&&n&&!t.settings.disable_nodechange&&!t.settings.readonly&&(o=t.getBody(),r=n.getStart()||o,r=r.ownerDocument!=t.getDoc()?t.getBody():r,"IMG"==r.nodeName&&n.isCollapsed()&&(r=r.parentNode),i=[],t.dom.getParent(r,function(e){return e===o?!0:void i.push(e)}),e=e||{},e.element=r,e.parents=i,t.fire("NodeChange",e))}}}),r(_,[],function(){function e(e,t,n){var r,i,o=n?"lastChild":"firstChild",a=n?"prev":"next";if(e[o])return e[o];if(e!==t){if(r=e[a])return r;for(i=e.parent;i&&i!==t;i=i.parent)if(r=i[a])return r}}function t(e,t){this.name=e,this.type=t,1===t&&(this.attributes=[],this.attributes.map={})}var n=/^[ \t\r\n]*$/,r={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};return t.prototype={replace:function(e){var t=this;return e.parent&&e.remove(),t.insert(e,t),t.remove(),t},attr:function(e,t){var n=this,r,i,o;if("string"!=typeof e){for(i in e)n.attr(i,e[i]);return n}if(r=n.attributes){if(t!==o){if(null===t){if(e in r.map)for(delete r.map[e],i=r.length;i--;)if(r[i].name===e)return r=r.splice(i,1),n;return n}if(e in r.map){for(i=r.length;i--;)if(r[i].name===e){r[i].value=t;break}}else r.push({name:e,value:t});return r.map[e]=t,n}return r.map[e]}},clone:function(){var e=this,n=new t(e.name,e.type),r,i,o,a,s;if(o=e.attributes){for(s=[],s.map={},r=0,i=o.length;i>r;r++)a=o[r],"id"!==a.name&&(s[s.length]={name:a.name,value:a.value},s.map[a.name]=a.value);n.attributes=s}return n.value=e.value,n.shortEnded=e.shortEnded,n},wrap:function(e){var t=this;return t.parent.insert(e,t),e.append(t),t},unwrap:function(){var e=this,t,n;for(t=e.firstChild;t;)n=t.next,e.insert(t,e,!0),t=n;e.remove()},remove:function(){var e=this,t=e.parent,n=e.next,r=e.prev;return t&&(t.firstChild===e?(t.firstChild=n,n&&(n.prev=null)):r.next=n,t.lastChild===e?(t.lastChild=r,r&&(r.next=null)):n.prev=r,e.parent=e.next=e.prev=null),e},append:function(e){var t=this,n;return e.parent&&e.remove(),n=t.lastChild,n?(n.next=e,e.prev=n,t.lastChild=e):t.lastChild=t.firstChild=e,e.parent=t,e},insert:function(e,t,n){var r;return e.parent&&e.remove(),r=t.parent||this,n?(t===r.firstChild?r.firstChild=e:t.prev.next=e,e.prev=t.prev,e.next=t,t.prev=e):(t===r.lastChild?r.lastChild=e:t.next.prev=e,e.next=t.next,e.prev=t,t.next=e),e.parent=r,e},getAll:function(t){var n=this,r,i=[];for(r=n.firstChild;r;r=e(r,n))r.name===t&&i.push(r);return i},empty:function(){var t=this,n,r,i;if(t.firstChild){for(n=[],i=t.firstChild;i;i=e(i,t))n.push(i);for(r=n.length;r--;)i=n[r],i.parent=i.firstChild=i.lastChild=i.next=i.prev=null}return t.firstChild=t.lastChild=null,t},isEmpty:function(t){var r=this,i=r.firstChild,o,a;if(i)do{if(1===i.type){if(i.attributes.map["data-mce-bogus"])continue;if(t[i.name])return!1;for(o=i.attributes.length;o--;)if(a=i.attributes[o].name,"name"===a||0===a.indexOf("data-mce-bookmark"))return!1}if(8===i.type)return!1;if(3===i.type&&!n.test(i.value))return!1}while(i=e(i,r));return!0},walk:function(t){return e(this,null,t)}},t.create=function(e,n){var i,o;if(i=new t(e,r[e]||1),n)for(o in n)i.attr(o,n[o]);return i},t}),r(E,[d],function(e){function t(e,t){return e?e.split(t||" "):[]}function n(e){function n(e,n,r){function i(e,t){var n={},r,i;for(r=0,i=e.length;i>r;r++)n[e[r]]=t||{};return n}var s,c,u,d=arguments;for(r=r||[],n=n||"","string"==typeof r&&(r=t(r)),c=3;c<d.length;c++)"string"==typeof d[c]&&(d[c]=t(d[c])),r.push.apply(r,d[c]);for(e=t(e),s=e.length;s--;)u=[].concat(l,t(n)),a[e[s]]={attributes:i(u),attributesOrder:u,children:i(r,o)}}function r(e,n){var r,i,o,s;for(e=t(e),r=e.length,n=t(n);r--;)for(i=a[e[r]],o=0,s=n.length;s>o;o++)i.attributes[n[o]]={},i.attributesOrder.push(n[o])}var a={},l,c,u,d,f,p;return i[e]?i[e]:(l=t("id accesskey class dir lang style tabindex title"),c=t("address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul"),u=t("a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var #text #comment"),"html4"!=e&&(l.push.apply(l,t("contenteditable contextmenu draggable dropzone hidden spellcheck translate")),c.push.apply(c,t("article aside details dialog figure header footer hgroup section nav")),u.push.apply(u,t("audio canvas command datalist mark meter output progress time wbr video ruby bdi keygen"))),"html5-strict"!=e&&(l.push("xml:lang"),p=t("acronym applet basefont big font strike tt"),u.push.apply(u,p),s(p,function(e){n(e,"",u)}),f=t("center dir isindex noframes"),c.push.apply(c,f),d=[].concat(c,u),s(f,function(e){n(e,"",d)})),d=d||[].concat(c,u),n("html","manifest","head body"),n("head","","base command link meta noscript script style title"),n("title hr noscript br"),n("base","href target"),n("link","href rel media hreflang type sizes hreflang"),n("meta","name http-equiv content charset"),n("style","media type scoped"),n("script","src async defer type charset"),n("body","onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload",d),n("address dt dd div caption","",d),n("h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn","",u),n("blockquote","cite",d),n("ol","reversed start type","li"),n("ul","","li"),n("li","value",d),n("dl","","dt dd"),n("a","href target rel media hreflang type",u),n("q","cite",u),n("ins del","cite datetime",d),n("img","src srcset alt usemap ismap width height"),n("iframe","src name width height",d),n("embed","src type width height"),n("object","data type typemustmatch name usemap form width height",d,"param"),n("param","name value"),n("map","name",d,"area"),n("area","alt coords shape href target rel media hreflang type"),n("table","border","caption colgroup thead tfoot tbody tr"+("html4"==e?" col":"")),n("colgroup","span","col"),n("col","span"),n("tbody thead tfoot","","tr"),n("tr","","td th"),n("td","colspan rowspan headers",d),n("th","colspan rowspan headers scope abbr",d),n("form","accept-charset action autocomplete enctype method name novalidate target",d),n("fieldset","disabled form name",d,"legend"),n("label","form for",u),n("input","accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width"),n("button","disabled form formaction formenctype formmethod formnovalidate formtarget name type value","html4"==e?d:u),n("select","disabled form multiple name required size","option optgroup"),n("optgroup","disabled label","option"),n("option","disabled label selected value"),n("textarea","cols dirname disabled form maxlength name readonly required rows wrap"),n("menu","type label",d,"li"),n("noscript","",d),"html4"!=e&&(n("wbr"),n("ruby","",u,"rt rp"),n("figcaption","",d),n("mark rt rp summary bdi","",u),n("canvas","width height",d),n("video","src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered",d,"track source"),n("audio","src crossorigin preload autoplay mediagroup loop muted controls buffered volume",d,"track source"),n("picture","","img source"),n("source","src srcset type media sizes"),n("track","kind src srclang label default"),n("datalist","",u,"option"),n("article section nav aside header footer","",d),n("hgroup","","h1 h2 h3 h4 h5 h6"),n("figure","",d,"figcaption"),n("time","datetime",u),n("dialog","open",d),n("command","type label icon disabled checked radiogroup command"),n("output","for form name",u),n("progress","value max",u),n("meter","value min max low high optimum",u),n("details","open",d,"summary"),n("keygen","autofocus challenge disabled form keytype name")),"html5-strict"!=e&&(r("script","language xml:space"),r("style","xml:space"),r("object","declare classid code codebase codetype archive standby align border hspace vspace"),r("embed","align name hspace vspace"),r("param","valuetype type"),r("a","charset name rev shape coords"),r("br","clear"),r("applet","codebase archive code object alt name width height align hspace vspace"),r("img","name longdesc align border hspace vspace"),r("iframe","longdesc frameborder marginwidth marginheight scrolling align"),r("font basefont","size color face"),r("input","usemap align"),r("select","onchange"),r("textarea"),r("h1 h2 h3 h4 h5 h6 div p legend caption","align"),r("ul","type compact"),r("li","type"),r("ol dl menu dir","compact"),r("pre","width xml:space"),r("hr","align noshade size width"),r("isindex","prompt"),r("table","summary width frame rules cellspacing cellpadding align bgcolor"),r("col","width align char charoff valign"),r("colgroup","width align char charoff valign"),r("thead","align char charoff valign"),r("tr","align char charoff valign bgcolor"),r("th","axis align char charoff valign nowrap bgcolor width height"),r("form","accept"),r("td","abbr axis scope align char charoff valign nowrap bgcolor width height"),r("tfoot","align char charoff valign"),r("tbody","align char charoff valign"),r("area","nohref"),r("body","background bgcolor text link vlink alink")),"html4"!=e&&(r("input button select textarea","autofocus"),r("input textarea","placeholder"),r("a","download"),r("link script img","crossorigin"),r("iframe","sandbox seamless allowfullscreen")),s(t("a form meter progress dfn"),function(e){a[e]&&delete a[e].children[e]}),delete a.caption.children.table,i[e]=a,a)}function r(e,t){var n;return e&&(n={},"string"==typeof e&&(e={"*":e}),s(e,function(e,r){n[r]="map"==t?a(e,/[, ]/):c(e,/[, ]/)})),n}var i={},o={},a=e.makeMap,s=e.each,l=e.extend,c=e.explode,u=e.inArray;return function(e){function o(t,n,r){var o=e[t];return o?o=a(o,/[, ]/,a(o.toUpperCase(),/[, ]/)):(o=i[t],o||(o=a(n," ",a(n.toUpperCase()," ")),o=l(o,r),i[t]=o)),o}function d(e){return new RegExp("^"+e.replace(/([?+*])/g,".$1")+"$")}function f(e){var n,r,i,o,s,l,c,f,p,h,m,g,v,b,x,w,_,E,N,k=/^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)\])?$/,S=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,T=/[*?+]/;if(e)for(e=t(e,","),y["@"]&&(w=y["@"].attributes,_=y["@"].attributesOrder),n=0,r=e.length;r>n;n++)if(s=k.exec(e[n])){if(b=s[1],p=s[2],x=s[3],f=s[5],g={},v=[],l={attributes:g,attributesOrder:v},"#"===b&&(l.paddEmpty=!0),"-"===b&&(l.removeEmpty=!0),"!"===s[4]&&(l.removeEmptyAttrs=!0),w){for(E in w)g[E]=w[E];v.push.apply(v,_)}if(f)for(f=t(f,"|"),i=0,o=f.length;o>i;i++)if(s=S.exec(f[i])){if(c={},m=s[1],h=s[2].replace(/::/g,":"),b=s[3],N=s[4],"!"===m&&(l.attributesRequired=l.attributesRequired||[],l.attributesRequired.push(h),c.required=!0),"-"===m){delete g[h],v.splice(u(v,h),1);continue}b&&("="===b&&(l.attributesDefault=l.attributesDefault||[],l.attributesDefault.push({name:h,value:N}),c.defaultValue=N),":"===b&&(l.attributesForced=l.attributesForced||[],l.attributesForced.push({name:h,value:N}),c.forcedValue=N),"<"===b&&(c.validValues=a(N,"?"))),T.test(h)?(l.attributePatterns=l.attributePatterns||[],c.pattern=d(h),l.attributePatterns.push(c)):(g[h]||v.push(h),g[h]=c)}w||"@"!=p||(w=g,_=v),x&&(l.outputName=p,y[x]=l),T.test(p)?(l.pattern=d(p),C.push(l)):y[p]=l}}function p(e){y={},C=[],f(e),s(_,function(e,t){b[t]=e.children})}function h(e){var n=/^(~)?(.+)$/;e&&(i.text_block_elements=i.block_elements=null,s(t(e,","),function(e){var t=n.exec(e),r="~"===t[1],i=r?"span":"div",o=t[2];if(b[o]=b[i],L[o]=i,r||(R[o.toUpperCase()]={},R[o]={}),!y[o]){var a=y[i];a=l({},a),delete a.removeEmptyAttrs,delete a.removeEmpty,y[o]=a}s(b,function(e,t){e[i]&&(b[t]=e=l({},b[t]),e[o]=e[i])})}))}function m(e){var n=/^([+\-]?)(\w+)\[([^\]]+)\]$/;e&&s(t(e,","),function(e){var r=n.exec(e),i,o;r&&(o=r[1],i=o?b[r[2]]:b[r[2]]={"#comment":{}},i=b[r[2]],s(t(r[3],"|"),function(e){"-"===o?(b[r[2]]=i=l({},b[r[2]]),delete i[e]):i[e]={}}))})}function g(e){var t=y[e],n;if(t)return t;for(n=C.length;n--;)if(t=C[n],t.pattern.test(e))return t}var v=this,y={},b={},C=[],x,w,_,E,N,k,S,T,R,A,B,D,L={},H={};e=e||{},_=n(e.schema),e.verify_html===!1&&(e.valid_elements="*[*]"),x=r(e.valid_styles),w=r(e.invalid_styles,"map"),T=r(e.valid_classes,"map"),E=o("whitespace_elements","pre script noscript style textarea video audio iframe object"),N=o("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr"),k=o("short_ended_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr track"),S=o("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls"),A=o("non_empty_elements","td th iframe video audio object script",k),B=o("text_block_elements","h1 h2 h3 h4 h5 h6 p div address pre form blockquote center dir fieldset header footer article section hgroup aside nav figure"),R=o("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup",B),D=o("text_inline_elements","span strong b em i font strike u var cite dfn code mark q sup sub samp"),s((e.special||"script noscript style textarea").split(" "),function(e){H[e]=new RegExp("</"+e+"[^>]*>","gi")}),e.valid_elements?p(e.valid_elements):(s(_,function(e,t){y[t]={attributes:e.attributes,attributesOrder:e.attributesOrder},b[t]=e.children}),"html5"!=e.schema&&s(t("strong/b em/i"),function(e){e=t(e,"/"),y[e[1]].outputName=e[0]}),y.img.attributesDefault=[{name:"alt",value:""}],s(t("ol ul sub sup blockquote span font a table tbody tr strong em b i"),function(e){y[e]&&(y[e].removeEmpty=!0)}),s(t("p h1 h2 h3 h4 h5 h6 th td pre div address caption"),function(e){y[e].paddEmpty=!0}),s(t("span"),function(e){y[e].removeEmptyAttrs=!0})),h(e.custom_elements),m(e.valid_children),f(e.extended_valid_elements),m("+ol[ul|ol],+ul[ul|ol]"),e.invalid_elements&&s(c(e.invalid_elements),function(e){y[e]&&delete y[e]}),g("span")||f("span[!data-mce-type|*]"),v.children=b,v.getValidStyles=function(){return x},v.getInvalidStyles=function(){return w},v.getValidClasses=function(){return T},v.getBoolAttrs=function(){return S},v.getBlockElements=function(){return R},v.getTextBlockElements=function(){return B},v.getTextInlineElements=function(){return D},v.getShortEndedElements=function(){return k},v.getSelfClosingElements=function(){return N},v.getNonEmptyElements=function(){return A},v.getWhiteSpaceElements=function(){return E},v.getSpecialElements=function(){return H},v.isValidChild=function(e,t){var n=b[e];return!(!n||!n[t])},v.isValid=function(e,t){var n,r,i=g(e);if(i){if(!t)return!0;if(i.attributes[t])return!0;if(n=i.attributePatterns)for(r=n.length;r--;)if(n[r].pattern.test(e))return!0}return!1},v.getElementRule=g,v.getCustomElements=function(){return L},v.addValidElements=f,v.setValidElements=p,v.addCustomElements=h,v.addValidChildren=m,v.elements=y}}),r(N,[E,g,d],function(e,t,n){function r(e,t,n){var r=1,i,o,a,s;for(s=e.getShortEndedElements(),a=/<([!?\/])?([A-Za-z0-9\-_\:\.]+)((?:\s+[^"\'>]+(?:(?:"[^"]*")|(?:\'[^\']*\')|[^>]*))*|\/|\s+)>/g,a.lastIndex=i=n;o=a.exec(t);){if(i=a.lastIndex,"/"===o[1])r--;else if(!o[1]){if(o[2]in s)continue;r++}if(0===r)break}return i}function i(i,a){function s(){}var l=this;i=i||{},l.schema=a=a||new e,i.fix_self_closing!==!1&&(i.fix_self_closing=!0),o("comment cdata text start end pi doctype".split(" "),function(e){e&&(l[e]=i[e]||s)}),l.parse=function(e){function o(e){var t,n;for(t=p.length;t--&&p[t].name!==e;);if(t>=0){for(n=p.length-1;n>=t;n--)e=p[n],e.valid&&l.end(e.name);p.length=t}}function s(e,t,n,r,o){var a,s,l=/[\s\u0000-\u001F]+/g;if(t=t.toLowerCase(),n=t in x?t:z(n||r||o||""),_&&!y&&0!==t.indexOf("data-")){if(a=T[t],!a&&R){for(s=R.length;s--&&(a=R[s],!a.pattern.test(t)););-1===s&&(a=null)}if(!a)return;if(a.validValues&&!(n in a.validValues))return}if(V[t]&&!i.allow_script_urls){var c=n.replace(l,"");try{c=decodeURIComponent(c)}catch(u){c=unescape(c)}if(U.test(c))return;if(!i.allow_html_data_urls&&$.test(c)&&!/^data:image\//i.test(c))return}h.map[t]=n,h.push({name:t,value:n})}var l=this,c,u=0,d,f,p=[],h,m,g,v,y,b,C,x,w,_,E,N,k,S,T,R,A,B,D,L,H,M,P,O,I,F=0,z=t.decode,W,V=n.makeMap("src,href,data,background,formaction,poster"),U=/((java|vb)script|mhtml):/i,$=/^data:/i;for(M=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([A-Za-z0-9\\-_\\:\\.]+)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))","g"),P=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g,C=a.getShortEndedElements(),H=i.self_closing_elements||a.getSelfClosingElements(),x=a.getBoolAttrs(),_=i.validate,b=i.remove_internals,W=i.fix_self_closing,O=a.getSpecialElements();c=M.exec(e);){if(u<c.index&&l.text(z(e.substr(u,c.index-u))),d=c[6])d=d.toLowerCase(),":"===d.charAt(0)&&(d=d.substr(1)),o(d);else if(d=c[7]){if(d=d.toLowerCase(),":"===d.charAt(0)&&(d=d.substr(1)),w=d in C,W&&H[d]&&p.length>0&&p[p.length-1].name===d&&o(d),!_||(E=a.getElementRule(d))){if(N=!0,_&&(T=E.attributes,R=E.attributePatterns),(S=c[8])?(y=-1!==S.indexOf("data-mce-type"),y&&b&&(N=!1),h=[],h.map={},S.replace(P,s)):(h=[],h.map={}),_&&!y){if(A=E.attributesRequired,B=E.attributesDefault,D=E.attributesForced,L=E.removeEmptyAttrs,L&&!h.length&&(N=!1),D)for(m=D.length;m--;)k=D[m],v=k.name,I=k.value,"{$uid}"===I&&(I="mce_"+F++),h.map[v]=I,h.push({name:v,value:I});if(B)for(m=B.length;m--;)k=B[m],v=k.name,v in h.map||(I=k.value,"{$uid}"===I&&(I="mce_"+F++),h.map[v]=I,h.push({name:v,value:I}));if(A){for(m=A.length;m--&&!(A[m]in h.map););-1===m&&(N=!1)}if(k=h.map["data-mce-bogus"]){if("all"===k){u=r(a,e,M.lastIndex),M.lastIndex=u;continue}N=!1}}N&&l.start(d,h,w)}else N=!1;if(f=O[d]){f.lastIndex=u=c.index+c[0].length,(c=f.exec(e))?(N&&(g=e.substr(u,c.index-u)),u=c.index+c[0].length):(g=e.substr(u),u=e.length),N&&(g.length>0&&l.text(g,!0),l.end(d)),M.lastIndex=u;continue}w||(S&&S.indexOf("/")==S.length-1?N&&l.end(d):p.push({name:d,valid:N}))}else(d=c[1])?(">"===d.charAt(0)&&(d=" "+d),i.allow_conditional_comments||"[if"!==d.substr(0,3)||(d=" "+d),l.comment(d)):(d=c[2])?l.cdata(d):(d=c[3])?l.doctype(d):(d=c[4])&&l.pi(d,c[5]);u=c.index+c[0].length}for(u<e.length&&l.text(z(e.substr(u))),m=p.length-1;m>=0;m--)d=p[m],d.valid&&l.end(d.name)}}var o=n.each;return i.findEndTag=r,i}),r(k,[_,E,N,d],function(e,t,n,r){var i=r.makeMap,o=r.each,a=r.explode,s=r.extend;return function(r,l){function c(t){var n,r,o,a,s,c,d,f,p,h,m,g,v,y;for(m=i("tr,td,th,tbody,thead,tfoot,table"),h=l.getNonEmptyElements(),g=l.getTextBlockElements(),n=0;n<t.length;n++)if(r=t[n],r.parent&&!r.fixed)if(g[r.name]&&"li"==r.parent.name){for(v=r.next;v&&g[v.name];)v.name="li",v.fixed=!0,r.parent.insert(v,r.parent),v=v.next;r.unwrap(r)}else{for(a=[r],o=r.parent;o&&!l.isValidChild(o.name,r.name)&&!m[o.name];o=o.parent)a.push(o);if(o&&a.length>1){for(a.reverse(),s=c=u.filterNode(a[0].clone()),p=0;p<a.length-1;p++){for(l.isValidChild(c.name,a[p].name)?(d=u.filterNode(a[p].clone()),c.append(d)):d=c,f=a[p].firstChild;f&&f!=a[p+1];)y=f.next,d.append(f),f=y;c=d}s.isEmpty(h)?o.insert(r,a[0],!0):(o.insert(s,a[0],!0),o.insert(r,s)),o=a[0],(o.isEmpty(h)||o.firstChild===o.lastChild&&"br"===o.firstChild.name)&&o.empty().remove()}else if(r.parent){if("li"===r.name){if(v=r.prev,v&&("ul"===v.name||"ul"===v.name)){v.append(r);continue}if(v=r.next,v&&("ul"===v.name||"ul"===v.name)){v.insert(r,v.firstChild,!0);continue}r.wrap(u.filterNode(new e("ul",1)));continue}l.isValidChild(r.parent.name,"div")&&l.isValidChild("div",r.name)?r.wrap(u.filterNode(new e("div",1))):"style"===r.name||"script"===r.name?r.empty().remove():r.unwrap()}}}var u=this,d={},f=[],p={},h={};r=r||{},r.validate="validate"in r?r.validate:!0,r.root_name=r.root_name||"body",u.schema=l=l||new t,u.filterNode=function(e){var t,n,r;n in d&&(r=p[n],r?r.push(e):p[n]=[e]),t=f.length;for(;t--;)n=f[t].name,n in e.attributes.map&&(r=h[n],r?r.push(e):h[n]=[e]);return e},u.addNodeFilter=function(e,t){o(a(e),function(e){var n=d[e];n||(d[e]=n=[]),n.push(t)})},u.addAttributeFilter=function(e,t){o(a(e),function(e){var n;for(n=0;n<f.length;n++)if(f[n].name===e)return void f[n].callbacks.push(t);f.push({name:e,callbacks:[t]})})},u.parse=function(t,o){function a(){function e(e){e&&(t=e.firstChild,t&&3==t.type&&(t.value=t.value.replace(R,"")),t=e.lastChild,t&&3==t.type&&(t.value=t.value.replace(D,"")))}var t=y.firstChild,n,i;if(l.isValidChild(y.name,I.toLowerCase())){for(;t;)n=t.next,3==t.type||1==t.type&&"p"!==t.name&&!T[t.name]&&!t.attr("data-mce-type")?i?i.append(t):(i=u(I,1),i.attr(r.forced_root_block_attrs),y.insert(i,t),i.append(t)):(e(i),i=null),t=n;e(i)}}function u(t,n){var r=new e(t,n),i;return t in d&&(i=p[t],i?i.push(r):p[t]=[r]),r}function m(e){var t,n,r;for(t=e.prev;t&&3===t.type;)n=t.value.replace(D,""),n.length>0?(t.value=n,t=t.prev):(r=t.prev,t.remove(),t=r)}function g(e){var t,n={};for(t in e)"li"!==t&&"p"!=t&&(n[t]=e[t]);return n}var v,y,b,C,x,w,_,E,N,k,S,T,R,A=[],B,D,L,H,M,P,O,I;if(o=o||{},p={},h={},T=s(i("script,style,head,html,body,title,meta,param"),l.getBlockElements()),O=l.getNonEmptyElements(),P=l.children,S=r.validate,I="forced_root_block"in o?o.forced_root_block:r.forced_root_block,M=l.getWhiteSpaceElements(),R=/^[ \t\r\n]+/,D=/[ \t\r\n]+$/,L=/[ \t\r\n]+/g,H=/^[ \t\r\n]+$/,v=new n({validate:S,allow_script_urls:r.allow_script_urls,allow_conditional_comments:r.allow_conditional_comments,self_closing_elements:g(l.getSelfClosingElements()),cdata:function(e){b.append(u("#cdata",4)).value=e},text:function(e,t){var n;B||(e=e.replace(L," "),b.lastChild&&T[b.lastChild.name]&&(e=e.replace(R,""))),0!==e.length&&(n=u("#text",3),n.raw=!!t,b.append(n).value=e)},comment:function(e){b.append(u("#comment",8)).value=e},pi:function(e,t){b.append(u(e,7)).value=t,m(b)},doctype:function(e){var t;t=b.append(u("#doctype",10)),t.value=e,m(b)},start:function(e,t,n){var r,i,o,a,s;if(o=S?l.getElementRule(e):{}){for(r=u(o.outputName||e,1),r.attributes=t,r.shortEnded=n,b.append(r),s=P[b.name],s&&P[r.name]&&!s[r.name]&&A.push(r),i=f.length;i--;)a=f[i].name,a in t.map&&(N=h[a],N?N.push(r):h[a]=[r]);T[e]&&m(r),n||(b=r),!B&&M[e]&&(B=!0)}},end:function(t){var n,r,i,o,a;if(r=S?l.getElementRule(t):{}){if(T[t]&&!B){if(n=b.firstChild,n&&3===n.type)if(i=n.value.replace(R,""),i.length>0)n.value=i,n=n.next;else for(o=n.next,n.remove(),n=o;n&&3===n.type;)i=n.value,o=n.next,(0===i.length||H.test(i))&&(n.remove(),n=o),n=o;if(n=b.lastChild,n&&3===n.type)if(i=n.value.replace(D,""),i.length>0)n.value=i,n=n.prev;else for(o=n.prev,n.remove(),n=o;n&&3===n.type;)i=n.value,o=n.prev,(0===i.length||H.test(i))&&(n.remove(),n=o),n=o}if(B&&M[t]&&(B=!1),(r.removeEmpty||r.paddEmpty)&&b.isEmpty(O))if(r.paddEmpty)b.empty().append(new e("#text","3")).value="\xa0";else if(!b.attributes.map.name&&!b.attributes.map.id)return a=b.parent,T[b.name]?b.empty().remove():b.unwrap(),void(b=a);
-b=b.parent}}},l),y=b=new e(o.context||r.root_name,11),v.parse(t),S&&A.length&&(o.context?o.invalid=!0:c(A)),I&&("body"==y.name||o.isRootContent)&&a(),!o.invalid){for(k in p){for(N=d[k],C=p[k],_=C.length;_--;)C[_].parent||C.splice(_,1);for(x=0,w=N.length;w>x;x++)N[x](C,k,o)}for(x=0,w=f.length;w>x;x++)if(N=f[x],N.name in h){for(C=h[N.name],_=C.length;_--;)C[_].parent||C.splice(_,1);for(_=0,E=N.callbacks.length;E>_;_++)N.callbacks[_](C,N.name,o)}}return y},r.remove_trailing_brs&&u.addNodeFilter("br",function(t){var n,r=t.length,i,o=s({},l.getBlockElements()),a=l.getNonEmptyElements(),c,u,d,f,p,h;for(o.body=1,n=0;r>n;n++)if(i=t[n],c=i.parent,o[i.parent.name]&&i===c.lastChild){for(d=i.prev;d;){if(f=d.name,"span"!==f||"bookmark"!==d.attr("data-mce-type")){if("br"!==f)break;if("br"===f){i=null;break}}d=d.prev}i&&(i.remove(),c.isEmpty(a)&&(p=l.getElementRule(c.name),p&&(p.removeEmpty?c.remove():p.paddEmpty&&(c.empty().append(new e("#text",3)).value="\xa0"))))}else{for(u=i;c&&c.firstChild===u&&c.lastChild===u&&(u=c,!o[c.name]);)c=c.parent;u===c&&(h=new e("#text",3),h.value="\xa0",i.replace(h))}}),r.allow_html_in_named_anchor||u.addAttributeFilter("id,name",function(e){for(var t=e.length,n,r,i,o;t--;)if(o=e[t],"a"===o.name&&o.firstChild&&!o.attr("href")){i=o.parent,n=o.lastChild;do r=n.prev,i.insert(n,o),n=r;while(n)}}),r.validate&&l.getValidClasses()&&u.addAttributeFilter("class",function(e){for(var t=e.length,n,r,i,o,a,s=l.getValidClasses(),c,u;t--;){for(n=e[t],r=n.attr("class").split(" "),a="",i=0;i<r.length;i++)o=r[i],u=!1,c=s["*"],c&&c[o]&&(u=!0),c=s[n.name],u||!c||c[o]||(u=!0),u&&(a&&(a+=" "),a+=o);a.length||(a=null),n.attr("class",a)}})}}),r(S,[g,d],function(e,t){var n=t.makeMap;return function(t){var r=[],i,o,a,s,l;return t=t||{},i=t.indent,o=n(t.indent_before||""),a=n(t.indent_after||""),s=e.getEncodeFunc(t.entity_encoding||"raw",t.entities),l="html"==t.element_format,{start:function(e,t,n){var c,u,d,f;if(i&&o[e]&&r.length>0&&(f=r[r.length-1],f.length>0&&"\n"!==f&&r.push("\n")),r.push("<",e),t)for(c=0,u=t.length;u>c;c++)d=t[c],r.push(" ",d.name,'="',s(d.value,!0),'"');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(T,[S,E],function(e,t){return function(n,r){var i=this,o=new e(n);n=n||{},n.validate="validate"in n?n.validate:!0,i.schema=r=r||new t,i.writer=o,i.serialize=function(e){function t(e){var n=i[e.type],s,l,c,u,d,f,p,h,m;if(n)n(e);else{if(s=e.name,l=e.shortEnded,c=e.attributes,a&&c&&c.length>1){for(f=[],f.map={},m=r.getElementRule(e.name),p=0,h=m.attributesOrder.length;h>p;p++)u=m.attributesOrder[p],u in c.map&&(d=c.map[u],f.map[u]=d,f.push({name:u,value:d}));for(p=0,h=c.length;h>p;p++)u=c[p].name,u in f.map||(d=c.map[u],f.map[u]=d,f.push({name:u,value:d}));c=f}if(o.start(e.name,c,l),!l){if(e=e.firstChild)do t(e);while(e=e.next);o.end(s)}}}var i,a;return a=n.validate,i={3:function(e){o.text(e.value,e.raw)},8:function(e){o.comment(e.value)},7:function(e){o.pi(e.name,e.value)},10:function(e){o.doctype(e.value)},4:function(e){o.cdata(e.value)},11:function(e){if(e=e.firstChild)do t(e);while(e=e.next)}},o.reset(),1!=e.type||n.inner?i[11](e):t(e),o.getContent()}}}),r(R,[y,k,g,T,_,E,u,d],function(e,t,n,r,i,o,a,s){var l=s.each,c=s.trim,u=e.DOM;return function(e,i){var s,d,f;return i&&(s=i.dom,d=i.schema),s=s||u,d=d||new o(e),e.entity_encoding=e.entity_encoding||"named",e.remove_trailing_brs="remove_trailing_brs"in e?e.remove_trailing_brs:!0,f=new t(e,d),f.addAttributeFilter("data-mce-tabindex",function(e,t){for(var n=e.length,r;n--;)r=e[n],r.attr("tabindex",r.attributes.map["data-mce-tabindex"]),r.attr(t,null)}),f.addAttributeFilter("src,href,style",function(t,n){for(var r=t.length,i,o,a="data-mce-"+n,l=e.url_converter,c=e.url_converter_scope,u;r--;)i=t[r],o=i.attributes.map[a],o!==u?(i.attr(n,o.length>0?o:null),i.attr(a,null)):(o=i.attributes.map[n],"style"===n?o=s.serializeStyle(s.parseStyle(o),i.name):l&&(o=l.call(c,o,n,i.name)),i.attr(n,o.length>0?o:null))}),f.addAttributeFilter("class",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.attr("class"),r&&(r=n.attr("class").replace(/(?:^|\s)mce-item-\w+(?!\S)/g,""),n.attr("class",r.length>0?r:null))}),f.addAttributeFilter("data-mce-type",function(e,t,n){for(var r=e.length,i;r--;)i=e[r],"bookmark"!==i.attributes.map["data-mce-type"]||n.cleanup||i.remove()}),f.addNodeFilter("noscript",function(e){for(var t=e.length,r;t--;)r=e[t].firstChild,r&&(r.value=n.decode(r.value))}),f.addNodeFilter("script,style",function(e,t){function n(e){return e.replace(/(<!--\[CDATA\[|\]\]-->)/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*((<!--)?(\s*\/\/)?\s*<!\[CDATA\[|(<!--\s*)?\/\*\s*<!\[CDATA\[\s*\*\/|(\/\/)?\s*<!--|\/\*\s*<!--\s*\*\/)\s*[\r\n]*/gi,"").replace(/\s*(\/\*\s*\]\]>\s*\*\/(-->)?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,"")}for(var r=e.length,i,o,a;r--;)i=e[r],o=i.firstChild?i.firstChild.value:"","script"===t?(a=i.attr("type"),a&&i.attr("type","mce-no/type"==a?null:a.replace(/^mce\-/,"")),o.length>0&&(i.firstChild.value="// <![CDATA[\n"+n(o)+"\n// ]]>")):o.length>0&&(i.firstChild.value="<!--\n"+n(o)+"\n-->")}),f.addNodeFilter("#comment",function(e){for(var t=e.length,n;t--;)n=e[t],0===n.value.indexOf("[CDATA[")?(n.name="#cdata",n.type=4,n.value=n.value.replace(/^\[CDATA\[|\]\]$/g,"")):0===n.value.indexOf("mce:protected ")&&(n.name="#text",n.type=3,n.raw=!0,n.value=unescape(n.value).substr(14))}),f.addNodeFilter("xml:namespace,input",function(e,t){for(var n=e.length,r;n--;)r=e[n],7===r.type?r.remove():1===r.type&&("input"!==t||"type"in r.attributes.map||r.attr("type","text"))}),e.fix_list_elements&&f.addNodeFilter("ul,ol",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.parent,("ul"===r.name||"ol"===r.name)&&n.prev&&"li"===n.prev.name&&n.prev.append(n)}),f.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-type,data-mce-resize",function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)}),{schema:d,addNodeFilter:f.addNodeFilter,addAttributeFilter:f.addAttributeFilter,serialize:function(t,n){var i=this,o,u,p,h,m;return a.ie&&s.select("script,style,select,map").length>0?(m=t.innerHTML,t=t.cloneNode(!1),s.setHTML(t,m)):t=t.cloneNode(!0),o=t.ownerDocument.implementation,o.createHTMLDocument&&(u=o.createHTMLDocument(""),l("BODY"==t.nodeName?t.childNodes:[t],function(e){u.body.appendChild(u.importNode(e,!0))}),t="BODY"!=t.nodeName?u.body.firstChild:u.body,p=s.doc,s.doc=u),n=n||{},n.format=n.format||"html",n.selection&&(n.forced_root_block=""),n.no_events||(n.node=t,i.onPreProcess(n)),h=new r(e,d),n.content=h.serialize(f.parse(c(n.getInner?t.innerHTML:s.getOuterHTML(t)),n)),n.cleanup||(n.content=n.content.replace(/\uFEFF/g,"")),n.no_events||i.onPostProcess(n),p&&(s.doc=p),n.node=null,n.content},addRules:function(e){d.addValidElements(e)},setRules:function(e){d.setValidElements(e)},onPreProcess:function(e){i&&i.fire("PreProcess",e)},onPostProcess:function(e){i&&i.fire("PostProcess",e)}}}}),r(A,[],function(){function e(e){function t(t,n){var r,i=0,o,a,s,l,c,u,d=-1,f;if(r=t.duplicate(),r.collapse(n),f=r.parentElement(),f.ownerDocument===e.dom.doc){for(;"false"===f.contentEditable;)f=f.parentNode;if(!f.hasChildNodes())return{node:f,inside:1};for(s=f.children,o=s.length-1;o>=i;)if(u=Math.floor((i+o)/2),l=s[u],r.moveToElementText(l),d=r.compareEndPoints(n?"StartToStart":"EndToEnd",t),d>0)o=u-1;else{if(!(0>d))return{node:l};i=u+1}if(0>d)for(l?r.collapse(!1):(r.moveToElementText(f),r.collapse(!0),l=f,a=!0),c=0;0!==r.compareEndPoints(n?"StartToStart":"StartToEnd",t)&&0!==r.move("character",1)&&f==r.parentElement();)c++;else for(r.collapse(!0),c=0;0!==r.compareEndPoints(n?"StartToStart":"StartToEnd",t)&&0!==r.move("character",-1)&&f==r.parentElement();)c++;return{node:l,position:d,offset:c,inside:a}}}function n(){function n(e){var n=t(o,e),r,i,s=0,l,c,u;if(r=n.node,i=n.offset,n.inside&&!r.hasChildNodes())return void a[e?"setStart":"setEnd"](r,0);if(i===c)return void a[e?"setStartBefore":"setEndAfter"](r);if(n.position<0){if(l=n.inside?r.firstChild:r.nextSibling,!l)return void a[e?"setStartAfter":"setEndAfter"](r);if(!i)return void(3==l.nodeType?a[e?"setStart":"setEnd"](l,0):a[e?"setStartBefore":"setEndBefore"](l));for(;l;){if(3==l.nodeType&&(u=l.nodeValue,s+=u.length,s>=i)){r=l,s-=i,s=u.length-s;break}l=l.nextSibling}}else{if(l=r.previousSibling,!l)return a[e?"setStartBefore":"setEndBefore"](r);if(!i)return void(3==r.nodeType?a[e?"setStart":"setEnd"](l,r.nodeValue.length):a[e?"setStartAfter":"setEndAfter"](l));for(;l;){if(3==l.nodeType&&(s+=l.nodeValue.length,s>=i)){r=l,s-=i;break}l=l.previousSibling}}a[e?"setStart":"setEnd"](r,s)}var o=e.getRng(),a=i.createRng(),s,l,c,u,d;if(s=o.item?o.item(0):o.parentElement(),s.ownerDocument!=i.doc)return a;if(l=e.isCollapsed(),o.item)return a.setStart(s.parentNode,i.nodeIndex(s)),a.setEnd(a.startContainer,a.startOffset+1),a;try{n(!0),l||n()}catch(f){if(-2147024809!=f.number)throw f;d=r.getBookmark(2),c=o.duplicate(),c.collapse(!0),s=c.parentElement(),l||(c=o.duplicate(),c.collapse(!1),u=c.parentElement(),u.innerHTML=u.innerHTML),s.innerHTML=s.innerHTML,r.moveToBookmark(d),o=e.getRng(),n(!0),l||n()}return a}var r=this,i=e.dom,o=!1;this.getBookmark=function(n){function r(e){var t,n,r,o,a=[];for(t=e.parentNode,n=i.getRoot().parentNode;t!=n&&9!==t.nodeType;){for(r=t.children,o=r.length;o--;)if(e===r[o]){a.push(o);break}e=t,t=t.parentNode}return a}function o(e){var n;return n=t(a,e),n?{position:n.position,offset:n.offset,indexes:r(n.node),inside:n.inside}:void 0}var a=e.getRng(),s={};return 2===n&&(a.item?s.start={ctrl:!0,indexes:r(a.item(0))}:(s.start=o(!0),e.isCollapsed()||(s.end=o()))),s},this.moveToBookmark=function(e){function t(e){var t,n,r,o;for(t=i.getRoot(),n=e.length-1;n>=0;n--)o=t.children,r=e[n],r<=o.length-1&&(t=o[r]);return t}function n(n){var i=e[n?"start":"end"],a,s,l,c;i&&(a=i.position>0,s=o.createTextRange(),s.moveToElementText(t(i.indexes)),c=i.offset,c!==l?(s.collapse(i.inside||a),s.moveStart("character",a?-c:c)):s.collapse(n),r.setEndPoint(n?"StartToStart":"EndToStart",s),n&&r.collapse(!0))}var r,o=i.doc.body;e.start&&(e.start.ctrl?(r=o.createControlRange(),r.addElement(t(e.start.indexes)),r.select()):(r=o.createTextRange(),n(!0),n(),r.select()))},this.addRange=function(t){function n(e){var t,n,a,d,h;a=i.create("a"),t=e?s:c,n=e?l:u,d=r.duplicate(),(t==f||t==f.documentElement)&&(t=p,n=0),3==t.nodeType?(t.parentNode.insertBefore(a,t),d.moveToElementText(a),d.moveStart("character",n),i.remove(a),r.setEndPoint(e?"StartToStart":"EndToEnd",d)):(h=t.childNodes,h.length?(n>=h.length?i.insertAfter(a,h[h.length-1]):t.insertBefore(a,h[n]),d.moveToElementText(a)):t.canHaveHTML&&(t.innerHTML="<span>&#xFEFF;</span>",a=t.firstChild,d.moveToElementText(a),d.collapse(o)),r.setEndPoint(e?"StartToStart":"EndToEnd",d),i.remove(a))}var r,a,s,l,c,u,d,f=e.dom.doc,p=f.body,h,m;if(s=t.startContainer,l=t.startOffset,c=t.endContainer,u=t.endOffset,r=p.createTextRange(),s==c&&1==s.nodeType){if(l==u&&!s.hasChildNodes()){if(s.canHaveHTML)return d=s.previousSibling,d&&!d.hasChildNodes()&&i.isBlock(d)?d.innerHTML="&#xFEFF;":d=null,s.innerHTML="<span>&#xFEFF;</span><span>&#xFEFF;</span>",r.moveToElementText(s.lastChild),r.select(),i.doc.selection.clear(),s.innerHTML="",void(d&&(d.innerHTML=""));l=i.nodeIndex(s),s=s.parentNode}if(l==u-1)try{if(m=s.childNodes[l],a=p.createControlRange(),a.addElement(m),a.select(),h=e.getRng(),h.item&&m===h.item(0))return}catch(g){}}n(!0),n(),r.select()},this.getRangeAt=n}return e}),r(B,[u],function(e){return{BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,modifierPressed:function(e){return e.shiftKey||e.ctrlKey||e.altKey||this.metaKeyPressed(e)},metaKeyPressed:function(t){return e.mac?t.metaKey:t.ctrlKey&&!t.altKey}}}),r(D,[B,d,u],function(e,t,n){return function(r,i){function o(e){var t=i.settings.object_resizing;return t===!1||n.iOS?!1:("string"!=typeof t&&(t="table,img,div"),"false"===e.getAttribute("data-mce-resize")?!1:i.dom.is(e,t))}function a(t){var n,r,o,a,s;n=t.screenX-T,r=t.screenY-R,P=n*k[2]+D,O=r*k[3]+L,P=5>P?5:P,O=5>O?5:O,o="IMG"==w.nodeName&&i.settings.resize_img_proportional!==!1?!e.modifierPressed(t):e.modifierPressed(t)||"IMG"==w.nodeName&&k[2]*k[3]!==0,o&&(W(n)>W(r)?(O=V(P*H),P=V(O/H)):(P=V(O/H),O=V(P*H))),C.setStyles(_,{width:P,height:O}),a=k.startPos.x+n,s=k.startPos.y+r,a=a>0?a:0,s=s>0?s:0,C.setStyles(E,{left:a,top:s,display:"block"}),E.innerHTML=P+" &times; "+O,k[2]<0&&_.clientWidth<=P&&C.setStyle(_,"left",A+(D-P)),k[3]<0&&_.clientHeight<=O&&C.setStyle(_,"top",B+(L-O)),n=U.scrollWidth-$,r=U.scrollHeight-q,n+r!==0&&C.setStyles(E,{left:a-n,top:s-r}),M||(i.fire("ObjectResizeStart",{target:w,width:D,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",P),e("height",O),C.unbind(I,"mousemove",a),C.unbind(I,"mouseup",s),F!=I&&(C.unbind(F,"mousemove",a),C.unbind(F,"mouseup",s)),C.remove(_),C.remove(E),z&&"TABLE"!=w.nodeName||l(w),i.fire("ObjectResized",{target:w,width:P,height:O}),C.setAttrib(w,"style",C.getAttrib(w,"style")),i.nodeChanged()}function l(e,t,r){var l,u,d,f,p;g(),l=C.getPos(e,U),A=l.x,B=l.y,p=e.getBoundingClientRect(),u=p.width||p.right-p.left,d=p.height||p.bottom-p.top,w!=e&&(m(),w=e,P=O=0),f=i.fire("ObjectSelected",{target:e}),o(e)&&!f.isDefaultPrevented()?x(N,function(e,i){function o(t){T=t.screenX,R=t.screenY,D=w.clientWidth,L=w.clientHeight,H=L/D,k=e,e.startPos={x:u*e[0]+A,y:d*e[1]+B},$=U.scrollWidth,q=U.scrollHeight,_=w.cloneNode(!0),C.addClass(_,"mce-clonedresizable"),C.setAttrib(_,"data-mce-bogus","all"),_.contentEditable=!1,_.unSelectabe=!0,C.setStyles(_,{left:A,top:B,margin:0}),_.removeAttribute("data-mce-selected"),U.appendChild(_),C.bind(I,"mousemove",a),C.bind(I,"mouseup",s),F!=I&&(C.bind(F,"mousemove",a),C.bind(F,"mouseup",s)),E=C.add(U,"div",{"class":"mce-resize-helper","data-mce-bogus":"all"},D+" &times; "+L)}var l,c;return t?void(i==t&&o(r)):(l=C.get("mceResizeHandle"+i),l?C.show(l):(c=U,l=C.add(c,"div",{id:"mceResizeHandle"+i,"data-mce-bogus":"all","class":"mce-resizehandle",unselectable:!0,style:"cursor:"+i+"-resize; margin:0; padding:0"}),n.ie&&(l.contentEditable=!1)),e.elm||(C.bind(l,"mousedown",function(e){e.stopImmediatePropagation(),e.preventDefault(),o(e)}),e.elm=l),void C.setStyles(l,{left:u*e[0]+A-l.offsetWidth/2,top:d*e[1]+B-l.offsetHeight/2}))}):c(),w.setAttribute("data-mce-selected","1")}function c(){var e,t;g(),w&&w.removeAttribute("data-mce-selected");for(e in N)t=C.get("mceResizeHandle"+e),t&&(C.unbind(t),C.remove(t))}function u(e){function t(e,t){if(e)do if(e===t)return!0;while(e=e.parentNode)}var n,i;if(!M)return x(C.select("img[data-mce-selected],hr[data-mce-selected]"),function(e){e.removeAttribute("data-mce-selected")}),i="mousedown"==e.type?e.target:r.getNode(),i=C.$(i).closest(z?"table":"table,img,hr")[0],t(i,U)&&(v(),n=r.getStart(!0),t(n,i)&&t(r.getEnd(!0),i)&&(!z||i!=n&&"IMG"!==n.nodeName))?void l(i):void c()}function d(e,t,n){e&&e.attachEvent&&e.attachEvent("on"+t,n)}function f(e,t,n){e&&e.detachEvent&&e.detachEvent("on"+t,n)}function p(e){var t=e.srcElement,n,r,o,a,s,c,u;n=t.getBoundingClientRect(),c=S.clientX-n.left,u=S.clientY-n.top;for(r in N)if(o=N[r],a=t.offsetWidth*o[0],s=t.offsetHeight*o[1],W(a-c)<8&&W(s-u)<8){k=o;break}M=!0,i.fire("ObjectResizeStart",{target:w,width:w.clientWidth,height:w.clientHeight}),i.getDoc().selection.empty(),l(t,r,S)}function h(e){var t=e.srcElement;if(t!=w){if(i.fire("ObjectSelected",{target:t}),m(),0===t.id.indexOf("mceResizeHandle"))return void(e.returnValue=!1);("IMG"==t.nodeName||"TABLE"==t.nodeName)&&(c(),w=t,d(t,"resizestart",p))}}function m(){f(w,"resizestart",p)}function g(){for(var e in N){var t=N[e];t.elm&&(C.unbind(t.elm),delete t.elm)}}function v(){try{i.getDoc().execCommand("enableObjectResizing",!1,!1)}catch(e){}}function y(e){var t;if(z){t=I.body.createControlRange();try{return t.addElement(e),t.select(),!0}catch(n){}}}function b(){w=_=null,z&&(m(),f(U,"controlselect",h))}var C=i.dom,x=t.each,w,_,E,N,k,S,T,R,A,B,D,L,H,M,P,O,I=i.getDoc(),F=document,z=n.ie&&n.ie<11,W=Math.abs,V=Math.round,U=i.getBody(),$,q;N={n:[.5,0,0,-1],e:[1,.5,1,0],s:[.5,1,0,1],w:[0,.5,-1,0],nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]};var j=".mce-content-body";return i.contentStyles.push(j+" div.mce-resizehandle {position: absolute;border: 1px solid black;background: #FFF;width: 5px;height: 5px;z-index: 10000}"+j+" .mce-resizehandle:hover {background: #000}"+j+" img[data-mce-selected], hr[data-mce-selected] {outline: 1px solid black;resize: none}"+j+" .mce-clonedresizable {position: absolute;"+(n.gecko?"":"outline: 1px dashed black;")+"opacity: .5;filter: alpha(opacity=50);z-index: 10000}"+j+" .mce-resize-helper {background: #555;background: rgba(0,0,0,0.75);border-radius: 3px;border: 1px;color: white;display: none;font-family: sans-serif;font-size: 12px;white-space: nowrap;line-height: 14px;margin: 5px 10px;padding: 5px;position: absolute;z-index: 10001}"),i.on("init",function(){z?(i.on("ObjectResized",function(e){"TABLE"!=e.target.nodeName&&(c(),y(e.target))}),d(U,"controlselect",h),i.on("mousedown",function(e){S=e})):(v(),n.ie>=11&&(i.on("mouseup",function(e){var t=e.target.nodeName;!M&&/^(TABLE|IMG|HR)$/.test(t)&&(i.selection.select(e.target,"TABLE"==t),i.nodeChanged())}),i.dom.bind(U,"mscontrolselect",function(e){/^(TABLE|IMG|HR)$/.test(e.target.nodeName)&&(e.preventDefault(),"IMG"==e.target.tagName&&window.setTimeout(function(){i.selection.select(e.target)},0))}))),i.on("nodechange ResizeEditor",u),i.on("keydown keyup",function(e){w&&"TABLE"==w.nodeName&&u(e)}),i.on("hide",c)}),i.on("remove",g),{isResizable:o,showResizeRect:l,hideResizeRect:c,updateResizeRect:u,controlSelect:y,destroy:b}}}),r(L,[u,d],function(e,t){function n(n){var r=n.dom;this.getBookmark=function(e,i){function o(e,n){var i=0;return t.each(r.select(e),function(e,t){e==n&&(i=t)}),i}function a(e){function t(t){var n,r,i,o=t?"start":"end";n=e[o+"Container"],r=e[o+"Offset"],1==n.nodeType&&"TR"==n.nodeName&&(i=n.childNodes,n=i[Math.min(t?r:r-1,i.length-1)],n&&(r=t?0:n.childNodes.length,e["set"+(t?"Start":"End")](n,r)))}return t(!0),t(),e}function s(){function e(e,t){var n=e[t?"startContainer":"endContainer"],a=e[t?"startOffset":"endOffset"],s=[],l,c,u=0;if(3==n.nodeType){if(i)for(l=n.previousSibling;l&&3==l.nodeType;l=l.previousSibling)a+=l.nodeValue.length;s.push(a)}else c=n.childNodes,a>=c.length&&c.length&&(u=1,a=Math.max(0,c.length-1)),s.push(r.nodeIndex(c[a],i)+u);for(;n&&n!=o;n=n.parentNode)s.push(r.nodeIndex(n,i));return s}var t=n.getRng(!0),o=r.getRoot(),a={};return a.start=e(t,!0),n.isCollapsed()||(a.end=e(t)),a}var l,c,u,d,f,p,h="&#xFEFF;",m;if(2==e)return p=n.getNode(),f=p?p.nodeName:null,"IMG"==f?{name:f,index:o(f,p)}:n.tridentSel?n.tridentSel.getBookmark(e):s();if(e)return{rng:n.getRng()};if(l=n.getRng(),u=r.uniqueId(),d=n.isCollapsed(),m="overflow:hidden;line-height:0px",l.duplicate||l.item){if(l.item)return p=l.item(0),f=p.nodeName,{name:f,index:o(f,p)};c=l.duplicate();try{l.collapse(),l.pasteHTML('<span data-mce-type="bookmark" id="'+u+'_start" style="'+m+'">'+h+"</span>"),d||(c.collapse(!1),l.moveToElementText(c.parentElement()),0===l.compareEndPoints("StartToEnd",c)&&c.move("character",-1),c.pasteHTML('<span data-mce-type="bookmark" id="'+u+'_end" style="'+m+'">'+h+"</span>"))}catch(g){return null}}else{if(p=n.getNode(),f=p.nodeName,"IMG"==f)return{name:f,index:o(f,p)};c=a(l.cloneRange()),d||(c.collapse(!1),c.insertNode(r.create("span",{"data-mce-type":"bookmark",id:u+"_end",style:m},h))),l=a(l),l.collapse(!0),l.insertNode(r.create("span",{"data-mce-type":"bookmark",id:u+"_start",style:m},h))}return n.moveToBookmark({id:u,keep:1}),{id:u}},this.moveToBookmark=function(i){function o(e){var t=i[e?"start":"end"],n,r,o,a;if(t){for(o=t[0],r=c,n=t.length-1;n>=1;n--){if(a=r.childNodes,t[n]>a.length-1)return;r=a[t[n]]}3===r.nodeType&&(o=Math.min(t[0],r.nodeValue.length)),1===r.nodeType&&(o=Math.min(t[0],r.childNodes.length)),e?l.setStart(r,o):l.setEnd(r,o)}return!0}function a(n){var o=r.get(i.id+"_"+n),a,s,l,c,h=i.keep;if(o&&(a=o.parentNode,"start"==n?(h?(a=o.firstChild,s=1):s=r.nodeIndex(o),u=d=a,f=p=s):(h?(a=o.firstChild,s=1):s=r.nodeIndex(o),d=a,p=s),!h)){for(c=o.previousSibling,l=o.nextSibling,t.each(t.grep(o.childNodes),function(e){3==e.nodeType&&(e.nodeValue=e.nodeValue.replace(/\uFEFF/g,""))});o=r.get(i.id+"_"+n);)r.remove(o,1);c&&l&&c.nodeType==l.nodeType&&3==c.nodeType&&!e.opera&&(s=c.nodeValue.length,c.appendData(l.nodeValue),r.remove(l),"start"==n?(u=d=c,f=p=s):(d=c,p=s))}}function s(t){return!r.isBlock(t)||t.innerHTML||e.ie||(t.innerHTML='<br data-mce-bogus="1" />'),t}var l,c,u,d,f,p;if(i)if(i.start){if(l=r.createRng(),c=r.getRoot(),n.tridentSel)return n.tridentSel.moveToBookmark(i);o(!0)&&o()&&n.setRng(l)}else i.id?(a("start"),a("end"),u&&(l=r.createRng(),l.setStart(s(u),f),l.setEnd(s(d),p),n.setRng(l))):i.name?n.select(r.select(i.name)[i.index]):i.rng&&n.setRng(i.rng)}}return n.isBookmarkNode=function(e){return e&&"SPAN"===e.tagName&&"bookmark"===e.getAttribute("data-mce-type")},n}),r(H,[h,A,D,x,L,u,d],function(e,n,r,i,o,a,s){function l(e,t,i,a){var s=this;s.dom=e,s.win=t,s.serializer=i,s.editor=a,s.bookmarkManager=new o(s),s.controlSelection=new r(s,a),s.win.getSelection||(s.tridentSel=new n(s))}var c=s.each,u=s.trim,d=a.ie;return l.prototype={setCursorLocation:function(e,t){var n=this,r=n.dom.createRng();e?(r.setStart(e,t),r.setEnd(e,t),n.setRng(r),n.collapse(!1)):(n._moveEndPoint(r,n.editor.getBody(),!0),n.setRng(r))},getContent:function(e){var n=this,r=n.getRng(),i=n.dom.create("body"),o=n.getSel(),a,s,l;return e=e||{},a=s="",e.get=!0,e.format=e.format||"html",e.selection=!0,n.editor.fire("BeforeGetContent",e),"text"==e.format?n.isCollapsed()?"":r.text||(o.toString?o.toString():""):(r.cloneContents?(l=r.cloneContents(),l&&i.appendChild(l)):r.item!==t||r.htmlText!==t?(i.innerHTML="<br>"+(r.item?r.item(0).outerHTML:r.htmlText),i.removeChild(i.firstChild)):i.innerHTML=r.toString(),/^\s/.test(i.innerHTML)&&(a=" "),/\s+$/.test(i.innerHTML)&&(s=" "),e.getInner=!0,e.content=n.isCollapsed()?"":a+n.serializer.serialize(i,e)+s,n.editor.fire("GetContent",e),e.content)},setContent:function(e,t){var n=this,r=n.getRng(),i,o=n.win.document,a,s;if(t=t||{format:"html"},t.set=!0,t.selection=!0,e=t.content=e,t.no_events||n.editor.fire("BeforeSetContent",t),e=t.content,r.insertNode){e+='<span id="__caret">_</span>',r.startContainer==o&&r.endContainer==o?o.body.innerHTML=e:(r.deleteContents(),0===o.body.childNodes.length?o.body.innerHTML=e:r.createContextualFragment?r.insertNode(r.createContextualFragment(e)):(a=o.createDocumentFragment(),s=o.createElement("div"),a.appendChild(s),s.outerHTML=e,r.insertNode(a))),i=n.dom.get("__caret"),r=o.createRange(),r.setStartBefore(i),r.setEndBefore(i),n.setRng(r),n.dom.remove("__caret");try{n.setRng(r)}catch(l){}}else r.item&&(o.execCommand("Delete",!1,null),r=n.getRng()),/^\s+/.test(e)?(r.pasteHTML('<span id="__mce_tmp">_</span>'+e),n.dom.remove("__mce_tmp")):r.pasteHTML(e);t.no_events||n.editor.fire("SetContent",t)},getStart:function(e){var t=this,n=t.getRng(),r,i,o,a;if(n.duplicate||n.item){if(n.item)return n.item(0);for(o=n.duplicate(),o.collapse(1),r=o.parentElement(),r.ownerDocument!==t.dom.doc&&(r=t.dom.getRoot()),i=a=n.parentElement();a=a.parentNode;)if(a==r){r=i;break}return r}return r=n.startContainer,1==r.nodeType&&r.hasChildNodes()&&(e&&n.collapsed||(r=r.childNodes[Math.min(r.childNodes.length-1,n.startOffset)])),r&&3==r.nodeType?r.parentNode:r},getEnd:function(e){var t=this,n=t.getRng(),r,i;return n.duplicate||n.item?n.item?n.item(0):(n=n.duplicate(),n.collapse(0),r=n.parentElement(),r.ownerDocument!==t.dom.doc&&(r=t.dom.getRoot()),r&&"BODY"==r.nodeName?r.lastChild||r:r):(r=n.endContainer,i=n.endOffset,1==r.nodeType&&r.hasChildNodes()&&(e&&n.collapsed||(r=r.childNodes[i>0?i-1:i])),r&&3==r.nodeType?r.parentNode:r)},getBookmark:function(e,t){return this.bookmarkManager.getBookmark(e,t)},moveToBookmark:function(e){return this.bookmarkManager.moveToBookmark(e)},select:function(e,t){var n=this,r=n.dom,i=r.createRng(),o;if(n.lastFocusBookmark=null,e){if(!t&&n.controlSelection.controlSelect(e))return;o=r.nodeIndex(e),i.setStart(e.parentNode,o),i.setEnd(e.parentNode,o+1),t&&(n._moveEndPoint(i,e,!0),n._moveEndPoint(i,e)),n.setRng(i)}return e},isCollapsed:function(){var e=this,t=e.getRng(),n=e.getSel();return!t||t.item?!1:t.compareEndPoints?0===t.compareEndPoints("StartToEnd",t):!n||t.collapsed},collapse:function(e){var t=this,n=t.getRng(),r;n.item&&(r=n.item(0),n=t.win.document.body.createTextRange(),n.moveToElementText(r)),n.collapse(!!e),t.setRng(n)},getSel:function(){var e=this.win;return e.getSelection?e.getSelection():e.document.selection},getRng:function(e){function t(e,t,n){try{return t.compareBoundaryPoints(e,n)}catch(r){return-1}}var n=this,r,i,o,a=n.win.document,s;if(!e&&n.lastFocusBookmark){var l=n.lastFocusBookmark;return l.startContainer?(i=a.createRange(),i.setStart(l.startContainer,l.startOffset),i.setEnd(l.endContainer,l.endOffset)):i=l,i}if(e&&n.tridentSel)return n.tridentSel.getRangeAt(0);try{(r=n.getSel())&&(i=r.rangeCount>0?r.getRangeAt(0):r.createRange?r.createRange():a.createRange())}catch(c){}if(d&&i&&i.setStart&&a.selection){try{s=a.selection.createRange()}catch(c){}s&&s.item&&(o=s.item(0),i=a.createRange(),i.setStartBefore(o),i.setEndAfter(o))}return i||(i=a.createRange?a.createRange():a.body.createTextRange()),i.setStart&&9===i.startContainer.nodeType&&i.collapsed&&(o=n.dom.getRoot(),i.setStart(o,0),i.setEnd(o,0)),n.selectedRange&&n.explicitRange&&(0===t(i.START_TO_START,i,n.selectedRange)&&0===t(i.END_TO_END,i,n.selectedRange)?i=n.explicitRange:(n.selectedRange=null,n.explicitRange=null)),i},setRng:function(e,t){var n=this,r;if(e)if(e.select)try{e.select()}catch(i){}else if(n.tridentSel){if(e.cloneRange)try{return void n.tridentSel.addRange(e)}catch(i){}}else if(r=n.getSel()){n.explicitRange=e;try{r.removeAllRanges(),r.addRange(e)}catch(i){}t===!1&&r.extend&&(r.collapse(e.endContainer,e.endOffset),r.extend(e.startContainer,e.startOffset)),n.selectedRange=r.rangeCount>0?r.getRangeAt(0):null}},setNode:function(e){var t=this;return t.setContent(t.dom.getOuterHTML(e)),e},getNode:function(){function e(e,t){for(var n=e;e&&3===e.nodeType&&0===e.length;)e=t?e.nextSibling:e.previousSibling;return e||n}var t=this,n=t.getRng(),r,i=n.startContainer,o=n.endContainer,a=n.startOffset,s=n.endOffset,l=t.dom.getRoot();return n?n.setStart?(r=n.commonAncestorContainer,!n.collapsed&&(i==o&&2>s-a&&i.hasChildNodes()&&(r=i.childNodes[a]),3===i.nodeType&&3===o.nodeType&&(i=i.length===a?e(i.nextSibling,!0):i.parentNode,o=0===s?e(o.previousSibling,!1):o.parentNode,i&&i===o))?i:r&&3==r.nodeType?r.parentNode:r):(r=n.item?n.item(0):n.parentElement(),r.ownerDocument!==t.win.document&&(r=l),r):l},getSelectedBlocks:function(t,n){var r=this,i=r.dom,o,a,s=[];if(a=i.getRoot(),t=i.getParent(t||r.getStart(),i.isBlock),n=i.getParent(n||r.getEnd(),i.isBlock),t&&t!=a&&s.push(t),t&&n&&t!=n){o=t;for(var l=new e(t,a);(o=l.next())&&o!=n;)i.isBlock(o)&&s.push(o)}return n&&t!=n&&n!=a&&s.push(n),s},isForward:function(){var e=this.dom,t=this.getSel(),n,r;return t&&t.anchorNode&&t.focusNode?(n=e.createRng(),n.setStart(t.anchorNode,t.anchorOffset),n.collapse(!0),r=e.createRng(),r.setStart(t.focusNode,t.focusOffset),r.collapse(!0),n.compareBoundaryPoints(n.START_TO_START,r)<=0):!0},normalize:function(){var e=this,t=e.getRng();return!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={};c(n.selectorChangedData,function(e,t){c(o,function(n){return i.is(n,t)?(r[t]||(c(e,function(e){e(!0,{node:n,selector:t,parents:o})}),r[t]=e),a[t]=e,!1):void 0})}),c(r,function(e,n){a[n]||(delete r[n],c(e,function(e){e(!1,{node:t,selector:n,parents:o})}))})})),n.selectorChangedData[e]||(n.selectorChangedData[e]=[]),n.selectorChangedData[e].push(t),n},getScrollContainer:function(){for(var e,t=this.dom.getRoot();t&&"BODY"!=t.nodeName;){if(t.scrollHeight>t.clientHeight){e=t;break}t=t.parentNode}return e},scrollIntoView:function(e){function t(e){for(var t=0,n=0,r=e;r&&r.nodeType;)t+=r.offsetLeft||0,n+=r.offsetTop||0,r=r.offsetParent;return{x:t,y:n}}var n,r,i=this,o=i.dom,a=o.getRoot(),s,l;if("BODY"!=a.nodeName){var c=i.getScrollContainer();if(c)return n=t(e).y-t(c).y,l=c.clientHeight,s=c.scrollTop,void((s>n||n+25>s+l)&&(c.scrollTop=s>n?n:n-l+25))}r=o.getViewPort(i.editor.getWin()),n=o.getPos(e).y,s=r.y,l=r.h,(n<r.y||n+25>s+l)&&i.editor.getWin().scrollTo(0,s>n?n:n-l+25)},placeCaretAt:function(e,t){var n=this.editor.getDoc(),r,i;if(n.caretPositionFromPoint)i=n.caretPositionFromPoint(e,t),r=n.createRange(),r.setStart(i.offsetNode,i.offset),r.collapse(!0);else if(n.caretRangeFromPoint)r=n.caretRangeFromPoint(e,t);else if(n.body.createTextRange){r=n.body.createTextRange();try{r.moveToPoint(e,t),r.collapse(!0)}catch(o){r.collapse(t<n.body.clientHeight)}}this.setRng(r)},_moveEndPoint:function(t,n,r){var i=n,o=new e(n,i),s=this.dom.schema.getNonEmptyElements();do{if(3==n.nodeType&&0!==u(n.nodeValue).length)return void(r?t.setStart(n,0):t.setEnd(n,n.nodeValue.length));if(s[n.nodeName]&&!/^(TD|TH)$/.test(n.nodeName))return void(r?t.setStartBefore(n):"BR"==n.nodeName?t.setEndBefore(n):t.setEndAfter(n));if(a.ie&&a.ie<11&&this.dom.isBlock(n)&&this.dom.isEmpty(n))return void(r?t.setStart(n,0):t.setEnd(n,0))}while(n=r?o.next():o.prev());"BODY"==i.nodeName&&(r?t.setStart(i,0):t.setEnd(i,i.childNodes.length))},destroy:function(){this.win=null,this.controlSelection.destroy()}},l}),r(M,[L,d],function(e,t){function n(t){this.compare=function(n,i){function o(e){var n={};return r(t.getAttribs(e),function(r){var i=r.nodeName.toLowerCase();0!==i.indexOf("_")&&"style"!==i&&"data-mce-style"!==i&&(n[i]=t.getAttrib(e,i))}),n}function a(e,t){var n,r;for(r in e)if(e.hasOwnProperty(r)){if(n=t[r],"undefined"==typeof n)return!1;if(e[r]!=n)return!1;delete t[r]}for(r in t)if(t.hasOwnProperty(r))return!1;return!0}return n.nodeName!=i.nodeName?!1:a(o(n),o(i))&&a(t.parseStyle(t.getAttrib(n,"style")),t.parseStyle(t.getAttrib(i,"style")))?!e.isBookmarkNode(n)&&!e.isBookmarkNode(i):!1}}var r=t.each;return n}),r(P,[d],function(e){function t(e,t){function r(e){return e.replace(/%(\w+)/g,"")}var i,o,a=e.dom,s="",l,c;if(c=e.settings.preview_styles,c===!1)return"";if(c||(c="font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow"),"string"==typeof t){if(t=e.formatter.get(t),!t)return;t=t[0]}return i=t.block||t.inline||"span",o=a.create(i),n(t.styles,function(e,t){e=r(e),e&&a.setStyle(o,t,e)}),n(t.attributes,function(e,t){e=r(e),e&&a.setAttrib(o,t,e)}),n(t.classes,function(e){e=r(e),a.hasClass(o,e)||a.addClass(o,e)}),e.fire("PreviewFormats"),a.setStyles(o,{position:"absolute",left:-65535}),e.getBody().appendChild(o),l=a.getStyle(e.getBody(),"fontSize",!0),l=/px$/.test(l)?parseInt(l,10):0,n(c.split(" "),function(t){var n=a.getStyle(o,t,!0);if(!("background-color"==t&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(n)&&(n=a.getStyle(e.getBody(),t,!0),"#ffffff"==a.toHex(n).toLowerCase())||"color"==t&&"#000000"==a.toHex(n).toLowerCase())){if("font-size"==t&&/em|%$/.test(n)){if(0===l)return;n=parseFloat(n,10)/(/%$/.test(n)?100:1),n=n*l+"px"
-}"border"==t&&n&&(s+="padding:0 2px;"),s+=t+":"+n+";"}}),e.fire("AfterPreviewFormats"),a.remove(o),s}var n=e.each;return{getCssText:t}}),r(O,[h,x,L,M,d,P],function(e,t,n,r,i,o){return function(a){function s(e){return e.nodeType&&(e=e.nodeName),!!a.schema.getTextBlockElements()[e.toLowerCase()]}function l(e,t){return U.getParents(e,t,U.getRoot())}function c(e){return 1===e.nodeType&&"_mce_caret"===e.id}function u(){p({valigntop:[{selector:"td,th",styles:{verticalAlign:"top"}}],valignmiddle:[{selector:"td,th",styles:{verticalAlign:"middle"}}],valignbottom:[{selector:"td,th",styles:{verticalAlign:"bottom"}}],alignleft:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"left"},defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"left"}}],aligncenter:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"center"},defaultBlock:"div"},{selector:"img",collapsed:!1,styles:{display:"block",marginLeft:"auto",marginRight:"auto"}},{selector:"table",collapsed:!1,styles:{marginLeft:"auto",marginRight:"auto"}}],alignright:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"right"},defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"right"}}],alignjustify:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"justify"},defaultBlock:"div"}],bold:[{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all"}],italic:[{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all"}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:!0},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:!0},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},links:!0,remove_similar:!0},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},links:!0,remove_similar:!0},fontname:{inline:"span",styles:{fontFamily:"%value"}},fontsize:{inline:"span",styles:{fontSize:"%value"}},fontsize_class:{inline:"span",attributes:{"class":"%value"}},blockquote:{block:"blockquote",wrapper:1,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},code:{inline:"code"},link:{inline:"a",selector:"a",remove:"all",split:!0,deep:!0,onmatch:function(){return!0},onformat:function(e,t,n){at(n,function(t,n){U.setAttrib(e,n,t)})}},removeformat:[{selector:"b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q",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}]}),at("p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp".split(/\s/),function(e){p(e,{block:e,remove:"all"})}),p(a.settings.formats)}function d(){a.addShortcut("ctrl+b","bold_desc","Bold"),a.addShortcut("ctrl+i","italic_desc","Italic"),a.addShortcut("ctrl+u","underline_desc","Underline");for(var e=1;6>=e;e++)a.addShortcut("ctrl+"+e,"",["FormatBlock",!1,"h"+e]);a.addShortcut("ctrl+7","",["FormatBlock",!1,"p"]),a.addShortcut("ctrl+8","",["FormatBlock",!1,"div"]),a.addShortcut("ctrl+9","",["FormatBlock",!1,"address"])}function f(e){return e?V[e]:V}function p(e,t){e&&("string"!=typeof e?at(e,function(e,t){p(t,e)}):(t=t.length?t:[t],at(t,function(e){e.deep===tt&&(e.deep=!e.selector),e.split===tt&&(e.split=!e.selector||e.inline),e.remove===tt&&e.selector&&!e.inline&&(e.remove="none"),e.selector&&e.inline&&(e.mixed=!0,e.block_expand=!0),"string"==typeof e.classes&&(e.classes=e.classes.split(/\s+/))}),V[e]=t))}function h(e){return e&&V[e]&&delete V[e],V}function m(e){var t;return a.dom.getParent(e,function(e){return t=a.dom.getStyle(e,"text-decoration"),t&&"none"!==t}),t}function g(e){var t;1===e.nodeType&&e.parentNode&&1===e.parentNode.nodeType&&(t=m(e.parentNode),a.dom.getStyle(e,"color")&&t?a.dom.setStyle(e,"text-decoration",t):a.dom.getStyle(e,"textdecoration")===t&&a.dom.setStyle(e,"text-decoration",null))}function v(t,n,r){function i(e,t){if(t=t||d,e){if(t.onformat&&t.onformat(e,t,n,r),at(t.styles,function(t,r){U.setStyle(e,r,A(t,n))}),t.styles){var i=U.getAttrib(e,"style");i&&e.setAttribute("data-mce-style",i)}at(t.attributes,function(t,r){U.setAttrib(e,r,A(t,n))}),at(t.classes,function(t){t=A(t,n),U.hasClass(e,t)||U.addClass(e,t)})}}function o(){function t(t,n){var i=new e(n);for(r=i.current();r;r=i.prev())if(r.childNodes.length>1||r==t||"BR"==r.tagName)return r}var n=a.selection.getRng(),i=n.startContainer,o=n.endContainer;if(i!=o&&0===n.endOffset){var s=t(i,o),l=3==s.nodeType?s.length:s.childNodes.length;n.setEnd(s,l)}return n}function l(e,r,o){var a=[],l,f,p=!0;l=d.inline||d.block,f=U.create(l),i(f),q.walk(e,function(e){function r(e){var g,v,y,b,x;return x=p,g=e.nodeName.toLowerCase(),v=e.parentNode.nodeName.toLowerCase(),1===e.nodeType&&nt(e)&&(x=p,p="true"===nt(e),b=!0),S(g,"br")?(h=0,void(d.block&&U.remove(e))):d.wrapper&&C(e,t,n)?void(h=0):p&&!b&&d.block&&!d.wrapper&&s(g)&&j(v,l)?(e=U.rename(e,l),i(e),a.push(e),void(h=0)):d.selector&&(at(u,function(t){"collapsed"in t&&t.collapsed!==m||U.is(e,t.selector)&&!c(e)&&(i(e,t),y=!0)}),!d.inline||y)?void(h=0):void(!p||b||!j(l,g)||!j(v,l)||!o&&3===e.nodeType&&1===e.nodeValue.length&&65279===e.nodeValue.charCodeAt(0)||c(e)||d.inline&&Y(e)?(h=0,at(st(e.childNodes),r),b&&(p=x),h=0):(h||(h=U.clone(f,Q),e.parentNode.insertBefore(h,e),a.push(h)),h.appendChild(e)))}var h;at(e,r)}),d.links===!0&&at(a,function(e){function t(e){"A"===e.nodeName&&i(e,d),at(st(e.childNodes),t)}t(e)}),at(a,function(e){function r(e){var t=0;return at(e.childNodes,function(e){B(e)||ot(e)||t++}),t}function o(e){var t,n;return at(e.childNodes,function(e){return 1!=e.nodeType||ot(e)||c(e)?void 0:(t=e,Q)}),t&&!ot(t)&&k(t,d)&&(n=U.clone(t,Q),i(n),U.replace(n,e,Z),U.remove(t,1)),n||e}var s;if(s=r(e),(a.length>1||!Y(e))&&0===s)return void U.remove(e,1);if(d.inline||d.wrapper){if(d.exact||1!==s||(e=o(e)),at(u,function(t){at(U.select(t.inline,e),function(e){ot(e)||M(t,n,e,t.exact?e:null)})}),C(e.parentNode,t,n))return U.remove(e,1),e=0,Z;d.merge_with_parents&&U.getParent(e.parentNode,function(r){return C(r,t,n)?(U.remove(e,1),e=0,Z):void 0}),e&&d.merge_siblings!==!1&&(e=I(O(e),e),e=I(e,O(e,Z)))}})}var u=f(t),d=u[0],p,h,m=!r&&$.isCollapsed();if(d)if(r)r.nodeType?(h=U.createRng(),h.setStartBefore(r),h.setEndAfter(r),l(L(h,u),null,!0)):l(r,null,!0);else if(m&&d.inline&&!U.select("td.mce-item-selected,th.mce-item-selected").length)z("apply",t,n);else{var y=a.selection.getNode();K||!u[0].defaultBlock||U.getParent(y,U.isBlock)||v(u[0].defaultBlock),a.selection.setRng(o()),p=$.getBookmark(),l(L($.getRng(Z),u),p),d.styles&&(d.styles.color||d.styles.textDecoration)&&(lt(y,g,"childNodes"),g(y)),$.moveToBookmark(p),W($.getRng(Z)),a.nodeChanged()}}function y(e,t,n,r){function i(e){var n,r,o,a,s;if(1===e.nodeType&&nt(e)&&(a=y,y="true"===nt(e),s=!0),n=st(e.childNodes),y&&!s)for(r=0,o=p.length;o>r&&!M(p[r],t,e,e);r++);if(h.deep&&n.length){for(r=0,o=n.length;o>r;r++)i(n[r]);s&&(y=a)}}function o(n){var i;return at(l(n.parentNode).reverse(),function(n){var o;i||"_start"==n.id||"_end"==n.id||(o=C(n,e,t,r),o&&o.split!==!1&&(i=n))}),i}function s(e,n,r,i){var o,a,s,l,c,u;if(e){for(u=e.parentNode,o=n.parentNode;o&&o!=u;o=o.parentNode){for(a=U.clone(o,Q),c=0;c<p.length;c++)if(M(p[c],t,a,a)){a=0;break}a&&(s&&a.appendChild(s),l||(l=a),s=a)}!i||h.mixed&&Y(e)||(n=U.split(e,n)),s&&(r.parentNode.insertBefore(s,r),l.appendChild(r))}return n}function c(e){return s(o(e),e,e,!0)}function u(e){var t=U.get(e?"_start":"_end"),n=t[e?"firstChild":"lastChild"];return ot(n)&&(n=n[e?"firstChild":"lastChild"]),U.remove(t,!0),n}function d(e){var t,n,r=e.commonAncestorContainer;e=L(e,p,Z),h.split&&(t=F(e,Z),n=F(e),t!=n?(/^(TR|TH|TD)$/.test(t.nodeName)&&t.firstChild&&(t="TR"==t.nodeName?t.firstChild.firstChild||t:t.firstChild||t),r&&/^T(HEAD|BODY|FOOT|R)$/.test(r.nodeName)&&/^(TH|TD)$/.test(n.nodeName)&&n.firstChild&&(n=n.firstChild||n),t=D(t,"span",{id:"_start","data-mce-type":"bookmark"}),n=D(n,"span",{id:"_end","data-mce-type":"bookmark"}),c(t),c(n),t=u(Z),n=u()):t=n=c(t),e.startContainer=t.parentNode,e.startOffset=G(t),e.endContainer=n.parentNode,e.endOffset=G(n)+1),q.walk(e,function(e){at(e,function(e){i(e),1===e.nodeType&&"underline"===a.dom.getStyle(e,"text-decoration")&&e.parentNode&&"underline"===m(e.parentNode)&&M({deep:!1,exact:!0,inline:"span",styles:{textDecoration:"underline"}},null,e)})})}var p=f(e),h=p[0],g,v,y=!0;return n?void(n.nodeType?(v=U.createRng(),v.setStartBefore(n),v.setEndAfter(n),d(v)):d(n)):void($.isCollapsed()&&h.inline&&!U.select("td.mce-item-selected,th.mce-item-selected").length?z("remove",e,t,r):(g=$.getBookmark(),d($.getRng(Z)),$.moveToBookmark(g),h.inline&&x(e,t,$.getStart())&&W($.getRng(!0)),a.nodeChanged()))}function b(e,t,n){var r=f(e);!x(e,t,n)||"toggle"in r[0]&&!r[0].toggle?v(e,t,n):y(e,t,n)}function C(e,t,n,r){function i(e,t,i){var o,a,s=t[i],l;if(t.onmatch)return t.onmatch(e,t,i);if(s)if(s.length===tt){for(o in s)if(s.hasOwnProperty(o)){if(a="attributes"===i?U.getAttrib(e,o):T(e,o),r&&!a&&!t.exact)return;if((!r||t.exact)&&!S(a,R(A(s[o],n),o)))return}}else for(l=0;l<s.length;l++)if("attributes"===i?U.getAttrib(e,s[l]):T(e,s[l]))return t;return t}var o=f(t),a,s,l;if(o&&e)for(s=0;s<o.length;s++)if(a=o[s],k(e,a)&&i(e,a,"attributes")&&i(e,a,"styles")){if(l=a.classes)for(s=0;s<l.length;s++)if(!U.hasClass(e,l[s]))return;return a}}function x(e,t,n){function r(n){var r=U.getRoot();return n===r?!1:(n=U.getParent(n,function(n){return n.parentNode===r||!!C(n,e,t,!0)}),C(n,e,t))}var i;return n?r(n):(n=$.getNode(),r(n)?Z:(i=$.getStart(),i!=n&&r(i)?Z:Q))}function w(e,t){var n,r=[],i={};return n=$.getStart(),U.getParent(n,function(n){var o,a;for(o=0;o<e.length;o++)a=e[o],!i[a]&&C(n,a,t)&&(i[a]=!0,r.push(a))},U.getRoot()),r}function _(e){var t=f(e),n,r,i,o,a;if(t)for(n=$.getStart(),r=l(n),o=t.length-1;o>=0;o--){if(a=t[o].selector,!a||t[o].defaultBlock)return Z;for(i=r.length-1;i>=0;i--)if(U.is(r[i],a))return Z}return Q}function E(e,t,n){var r;return et||(et={},r={},a.on("NodeChange",function(e){var t=l(e.element),n={};t=i.grep(t,function(e){return 1==e.nodeType&&!e.getAttribute("data-mce-bogus")}),at(et,function(e,i){at(t,function(o){return C(o,i,{},e.similar)?(r[i]||(at(e,function(e){e(!0,{node:o,format:i,parents:t})}),r[i]=e),n[i]=e,!1):void 0})}),at(r,function(i,o){n[o]||(delete r[o],at(i,function(n){n(!1,{node:e.element,format:o,parents:t})}))})})),at(e.split(","),function(e){et[e]||(et[e]=[],et[e].similar=n),et[e].push(t)}),this}function N(e){return o.getCssText(a,e)}function k(e,t){return S(e,t.inline)?Z:S(e,t.block)?Z:t.selector?1==e.nodeType&&U.is(e,t.selector):void 0}function S(e,t){return e=e||"",t=t||"",e=""+(e.nodeName||e),t=""+(t.nodeName||t),e.toLowerCase()==t.toLowerCase()}function T(e,t){return R(U.getStyle(e,t),t)}function R(e,t){return("color"==t||"backgroundColor"==t)&&(e=U.toHex(e)),"fontWeight"==t&&700==e&&(e="bold"),"fontFamily"==t&&(e=e.replace(/[\'\"]/g,"").replace(/,\s+/g,",")),""+e}function A(e,t){return"string"!=typeof e?e=e(t):t&&(e=e.replace(/%(\w+)/g,function(e,n){return t[n]||e})),e}function B(e){return e&&3===e.nodeType&&/^([\t \r\n]+|)$/.test(e.nodeValue)}function D(e,t,n){var r=U.create(t,n);return e.parentNode.insertBefore(r,e),r.appendChild(e),r}function L(t,n,r){function i(e){function t(e){return"BR"==e.nodeName&&e.getAttribute("data-mce-bogus")&&!e.nextSibling}var r,i,o,a,s;if(r=i=e?g:y,a=e?"previousSibling":"nextSibling",s=U.getRoot(),3==r.nodeType&&!B(r)&&(e?v>0:b<r.nodeValue.length))return r;for(;;){if(!n[0].block_expand&&Y(i))return i;for(o=i[a];o;o=o[a])if(!ot(o)&&!B(o)&&!t(o))return i;if(i.parentNode==s){r=i;break}i=i.parentNode}return r}function o(e,t){for(t===tt&&(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&&nt(t))return"false"===nt(t)?t:e;t=t.parentNode}return e}function u(t,n,i){function o(e,t){var n,o,a=e.nodeValue;return"undefined"==typeof t&&(t=i?a.length:0),i?(n=a.lastIndexOf(" ",t),o=a.lastIndexOf("\xa0",t),n=n>o?n:o,-1===n||r||n++):(n=a.indexOf(" ",t),o=a.indexOf("\xa0",t),n=-1!==n&&(-1===o||o>n)?n:o),n}var s,l,c,u;if(3===t.nodeType){if(c=o(t,n),-1!==c)return{container:t,offset:c};u=t}for(s=new e(t,U.getParent(t,Y)||a.getBody());l=s[i?"prev":"next"]();)if(3===l.nodeType){if(u=l,c=o(l),-1!==c)return{container:l,offset:c}}else if(Y(l))break;return u?(n=i?0:u.length,{container:u,offset:n}):void 0}function d(e,r){var i,o,a,s;for(3==e.nodeType&&0===e.nodeValue.length&&e[r]&&(e=e[r]),i=l(e),o=0;o<i.length;o++)for(a=0;a<n.length;a++)if(s=n[a],!("collapsed"in s&&s.collapsed!==t.collapsed)&&U.is(i[o],s.selector))return i[o];return e}function f(e,t){var r,i=U.getRoot();if(n[0].wrapper||(r=U.getParent(e,n[0].block,i)),r||(r=U.getParent(3==e.nodeType?e.parentNode:e,function(e){return e!=i&&s(e)})),r&&n[0].wrapper&&(r=l(r,"ul,ol").reverse()[0]||r),!r)for(r=e;r[t]&&!Y(r[t])&&(r=r[t],!S(r,"br")););return r||e}var p,h,m,g=t.startContainer,v=t.startOffset,y=t.endContainer,b=t.endOffset;if(1==g.nodeType&&g.hasChildNodes()&&(p=g.childNodes.length-1,g=g.childNodes[v>p?p:v],3==g.nodeType&&(v=0)),1==y.nodeType&&y.hasChildNodes()&&(p=y.childNodes.length-1,y=y.childNodes[b>p?p:b-1],3==y.nodeType&&(b=y.nodeValue.length)),g=c(g),y=c(y),(ot(g.parentNode)||ot(g))&&(g=ot(g)?g:g.parentNode,g=g.nextSibling||g,3==g.nodeType&&(v=0)),(ot(y.parentNode)||ot(y))&&(y=ot(y)?y:y.parentNode,y=y.previousSibling||y,3==y.nodeType&&(b=y.length)),n[0].inline&&(t.collapsed&&(m=u(g,v,!0),m&&(g=m.container,v=m.offset),m=u(y,b),m&&(y=m.container,b=m.offset)),h=o(y,b),h.node)){for(;h.node&&0===h.offset&&h.node.previousSibling;)h=o(h.node.previousSibling);h.node&&h.offset>0&&3===h.node.nodeType&&" "===h.node.nodeValue.charAt(h.offset-1)&&h.offset>1&&(y=h.node,y.splitText(h.offset-1))}return(n[0].inline||n[0].block_expand)&&(n[0].inline&&3==g.nodeType&&0!==v||(g=i(!0)),n[0].inline&&3==y.nodeType&&b!==y.nodeValue.length||(y=i())),n[0].selector&&n[0].expand!==Q&&!n[0].inline&&(g=d(g,"previousSibling"),y=d(y,"nextSibling")),(n[0].block||n[0].selector)&&(g=f(g,"previousSibling"),y=f(y,"nextSibling"),n[0].block&&(Y(g)||(g=i(!0)),Y(y)||(y=i()))),1==g.nodeType&&(v=G(g),g=g.parentNode),1==y.nodeType&&(b=G(y)+1,y=y.parentNode),{startContainer:g,startOffset:v,endContainer:y,endOffset:b}}function H(e,t){return t.links&&"A"==e.tagName}function M(e,t,n,r){var i,o,a;if(!k(n,e)&&!H(n,e))return Q;if("all"!=e.remove)for(at(e.styles,function(i,o){i=R(A(i,t),o),"number"==typeof o&&(o=i,r=0),(e.remove_similar||!r||S(T(r,o),i))&&U.setStyle(n,o,""),a=1}),a&&""===U.getAttrib(n,"style")&&(n.removeAttribute("style"),n.removeAttribute("data-mce-style")),at(e.attributes,function(e,i){var o;if(e=A(e,t),"number"==typeof i&&(i=e,r=0),!r||S(U.getAttrib(r,i),e)){if("class"==i&&(e=U.getAttrib(n,i),e&&(o="",at(e.split(/\s+/),function(e){/mce\w+/.test(e)&&(o+=(o?" ":"")+e)}),o)))return void U.setAttrib(n,i,o);"class"==i&&n.removeAttribute("className"),J.test(i)&&n.removeAttribute("data-mce-"+i),n.removeAttribute(i)}}),at(e.classes,function(e){e=A(e,t),(!r||U.hasClass(r,e))&&U.removeClass(n,e)}),o=U.getAttribs(n),i=0;i<o.length;i++)if(0!==o[i].nodeName.indexOf("_"))return Q;return"none"!=e.remove?(P(n,e),Z):void 0}function P(e,t){function n(e,t,n){return e=O(e,t,n),!e||"BR"==e.nodeName||Y(e)}var r=e.parentNode,i;t.block&&(K?r==U.getRoot()&&(t.list_block&&S(e,t.list_block)||at(st(e.childNodes),function(e){j(K,e.nodeName.toLowerCase())?i?i.appendChild(e):(i=D(e,K),U.setAttribs(i,a.settings.forced_root_block_attrs)):i=0})):Y(e)&&!Y(r)&&(n(e,Q)||n(e.firstChild,Z,1)||e.insertBefore(U.create("br"),e.firstChild),n(e,Z)||n(e.lastChild,Q,1)||e.appendChild(U.create("br")))),t.selector&&t.inline&&!S(t.inline,e)||U.remove(e,1)}function O(e,t,n){if(e)for(t=t?"nextSibling":"previousSibling",e=n?e:e[t];e;e=e[t])if(1==e.nodeType||!B(e))return e}function I(e,t){function n(e,t){for(i=e;i;i=i[t]){if(3==i.nodeType&&0!==i.nodeValue.length)return e;if(1==i.nodeType&&!ot(i))return i}return e}var i,o,a=new r(U);if(e&&t&&(e=n(e,"previousSibling"),t=n(t,"nextSibling"),a.compare(e,t))){for(i=e.nextSibling;i&&i!=t;)o=i,i=i.nextSibling,e.appendChild(o);return U.remove(t),at(st(t.childNodes),function(t){e.appendChild(t)}),e}return t}function F(t,n){var r,i,o;return r=t[n?"startContainer":"endContainer"],i=t[n?"startOffset":"endOffset"],1==r.nodeType&&(o=r.childNodes.length-1,!n&&i&&i--,r=r.childNodes[i>o?o:i]),3===r.nodeType&&n&&i>=r.nodeValue.length&&(r=new e(r,a.getBody()).next()||r),3!==r.nodeType||n||0!==i||(r=new e(r,a.getBody()).prev()||r),r}function z(t,n,r,i){function o(e){var t=U.create("span",{id:g,"data-mce-bogus":!0,style:b?"color:red":""});return e&&t.appendChild(a.getDoc().createTextNode(X)),t}function l(e,t){for(;e;){if(3===e.nodeType&&e.nodeValue!==X||e.childNodes.length>1)return!1;t&&1===e.nodeType&&t.push(e),e=e.firstChild}return!0}function c(e){for(;e;){if(e.id===g)return e;e=e.parentNode}}function u(t){var n;if(t)for(n=new e(t,t),t=n.current();t;t=n.next())if(3===t.nodeType)return t}function d(e,t){var n,r;if(e)r=$.getRng(!0),l(e)?(t!==!1&&(r.setStartBefore(e),r.setEndBefore(e)),U.remove(e)):(n=u(e),n.nodeValue.charAt(0)===X&&(n.deleteData(0,1),r.startContainer==n&&r.startOffset>0&&r.setStart(n,r.startOffset-1),r.endContainer==n&&r.endOffset>0&&r.setEnd(n,r.endOffset-1)),U.remove(e,1)),$.setRng(r);else if(e=c($.getStart()),!e)for(;e=U.get(g);)d(e,!1)}function p(){var e,t,i,a,s,l,d;e=$.getRng(!0),a=e.startOffset,l=e.startContainer,d=l.nodeValue,t=c($.getStart()),t&&(i=u(t)),d&&a>0&&a<d.length&&/\w/.test(d.charAt(a))&&/\w/.test(d.charAt(a-1))?(s=$.getBookmark(),e.collapse(!0),e=L(e,f(n)),e=q.split(e),v(n,r,e),$.moveToBookmark(s)):(t&&i.nodeValue===X?v(n,r,t):(t=o(!0),i=t.firstChild,e.insertNode(t),a=1,v(n,r,t)),$.setCursorLocation(i,a))}function h(){var e=$.getRng(!0),t,a,l,c,u,d,p=[],h,m;for(t=e.startContainer,a=e.startOffset,u=t,3==t.nodeType&&(a!=t.nodeValue.length&&(c=!0),u=u.parentNode);u;){if(C(u,n,r,i)){d=u;break}u.nextSibling&&(c=!0),p.push(u),u=u.parentNode}if(d)if(c)l=$.getBookmark(),e.collapse(!0),e=L(e,f(n),!0),e=q.split(e),y(n,r,e),$.moveToBookmark(l);else{for(m=o(),u=m,h=p.length-1;h>=0;h--)u.appendChild(U.clone(p[h],!1)),u=u.firstChild;u.appendChild(U.doc.createTextNode(X)),u=u.firstChild;var g=U.getParent(d,s);g&&U.isEmpty(g)?d.parentNode.replaceChild(m,d):U.insertAfter(m,d),$.setCursorLocation(u,1),U.isEmpty(d)&&U.remove(d)}}function m(){var e;e=c($.getStart()),e&&!U.isEmpty(e)&&lt(e,function(e){1!=e.nodeType||e.id===g||U.isEmpty(e)||U.setAttrib(e,"data-mce-bogus",null)},"childNodes")}var g="_mce_caret",b=a.settings.caret_debug;a._hasCaretEvents||(it=function(){var e=[],t;if(l(c($.getStart()),e))for(t=e.length;t--;)U.setAttrib(e[t],"data-mce-bogus","1")},rt=function(e){var t=e.keyCode;d(),(8==t||37==t||39==t)&&d(c($.getStart())),m()},a.on("SetContent",function(e){e.selection&&m()}),a._hasCaretEvents=!0),"apply"==t?p():h()}function W(t){var n=t.startContainer,r=t.startOffset,i,o,a,s,l;if(3==n.nodeType&&r>=n.nodeValue.length&&(r=G(n),n=n.parentNode,i=!0),1==n.nodeType)for(s=n.childNodes,n=s[Math.min(r,s.length-1)],o=new e(n,U.getParent(n,U.isBlock)),(r>s.length-1||i)&&o.next(),a=o.current();a;a=o.next())if(3==a.nodeType&&!B(a))return l=U.create("a",{"data-mce-bogus":"all"},X),a.parentNode.insertBefore(l,a),t.setStart(a,0),$.setRng(t),void U.remove(l)}var V={},U=a.dom,$=a.selection,q=new t(U),j=a.schema.isValidChild,Y=U.isBlock,K=a.settings.forced_root_block,G=U.nodeIndex,X="\ufeff",J=/^(src|href|style)$/,Q=!1,Z=!0,et,tt,nt=U.getContentEditable,rt,it,ot=n.isBookmarkNode,at=i.each,st=i.grep,lt=i.walk,ct=i.extend;ct(this,{get:f,register:p,unregister:h,apply:v,remove:y,toggle:b,match:x,matchAll:w,matchNode:C,canApply:_,formatChanged:E,getCssText:N}),u(),d(),a.on("BeforeGetContent",function(e){it&&"raw"!=e.format&&it()}),a.on("mouseup keydown",function(e){rt&&rt(e)})}}),r(I,[B,u,d,N],function(e,t,n,r){var i=n.trim,o;return o=new RegExp(["<span[^>]+data-mce-bogus[^>]+>[\u200b\ufeff]+<\\/span>",'\\s?data-mce-selected="[^"]+"'].join("|"),"gi"),function(n){function a(){var e=n.getContent({format:"raw",no_events:1}),t=/<(\w+) [^>]*data-mce-bogus="all"[^>]*>/g,a,s,l,c,u,d=n.schema;for(e=e.replace(o,""),u=d.getShortEndedElements();c=t.exec(e);)s=t.lastIndex,l=c[0].length,a=u[c[1]]?s:r.findEndTag(d,e,s),e=e.substring(0,s-l)+e.substring(a),t.lastIndex=s-l;return i(e)}function s(e){l.typing=!1,l.add({},e)}var l=this,c=0,u=[],d,f,p=0;return n.on("init",function(){l.add()}),n.on("BeforeExecCommand",function(e){var t=e.command;"Undo"!=t&&"Redo"!=t&&"mceRepaint"!=t&&l.beforeChange()}),n.on("ExecCommand",function(e){var t=e.command;"Undo"!=t&&"Redo"!=t&&"mceRepaint"!=t&&s(e)}),n.on("ObjectResizeStart",function(){l.beforeChange()}),n.on("SaveContent ObjectResized blur",s),n.on("DragEnd",s),n.on("KeyUp",function(e){var r=e.keyCode;(r>=33&&36>=r||r>=37&&40>=r||45==r||13==r||e.ctrlKey)&&(s(),n.nodeChanged()),(46==r||8==r||t.mac&&(91==r||93==r))&&n.nodeChanged(),f&&l.typing&&(n.isDirty()||(n.isNotDirty=!u[0]||a()==u[0].content,n.isNotDirty||n.fire("change",{level:u[0],lastLevel:null})),n.fire("TypingUndo"),f=!1,n.nodeChanged())}),n.on("KeyDown",function(t){var n=t.keyCode;if(n>=33&&36>=n||n>=37&&40>=n||45==n)return void(l.typing&&s(t));var r=e.modifierPressed(t);!(16>n||n>20)||224==n||91==n||l.typing||r||(l.beforeChange(),l.typing=!0,l.add({},t),f=!0)}),n.on("MouseDown",function(e){l.typing&&s(e)}),n.addShortcut("ctrl+z","","Undo"),n.addShortcut("ctrl+y,ctrl+shift+z","","Redo"),n.on("AddUndo Undo Redo ClearUndos",function(e){e.isDefaultPrevented()||n.nodeChanged()}),l={data:u,typing:!1,beforeChange:function(){p||(d=n.selection.getBookmark(2,!0))},add:function(e,t){var r,i=n.settings,o;if(e=e||{},e.content=a(),p||n.removed)return null;if(o=u[c],n.fire("BeforeAddUndo",{level:e,lastLevel:o,originalEvent:t}).isDefaultPrevented())return null;if(o&&o.content==e.content)return null;if(u[c]&&(u[c].beforeBookmark=d),i.custom_undo_redo_levels&&u.length>i.custom_undo_redo_levels){for(r=0;r<u.length-1;r++)u[r]=u[r+1];u.length--,c=u.length}e.bookmark=n.selection.getBookmark(2,!0),c<u.length-1&&(u.length=c+1),u.push(e),c=u.length-1;var s={level:e,lastLevel:o,originalEvent:t};return n.fire("AddUndo",s),c>0&&(n.isNotDirty=!1,n.fire("change",s)),e},undo:function(){var e;return l.typing&&(l.add(),l.typing=!1),c>0&&(e=u[--c],0===c&&(n.isNotDirty=!0),n.setContent(e.content,{format:"raw"}),n.selection.moveToBookmark(e.beforeBookmark),n.fire("undo",{level:e})),e},redo:function(){var e;return c<u.length-1&&(e=u[++c],n.setContent(e.content,{format:"raw"}),n.selection.moveToBookmark(e.bookmark),n.fire("redo",{level:e})),e},clear:function(){u=[],c=0,l.typing=!1,n.fire("ClearUndos")},hasUndo:function(){return c>0||l.typing&&u[0]&&a()!=u[0].content},hasRedo:function(){return c<u.length-1&&!this.typing},transact:function(e){l.beforeChange();try{p++,e()}finally{p--}l.add()}}}}),r(F,[h,x,u],function(e,t,n){var r=n.ie&&n.ie<11;return function(i){function o(o){function 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 h(e){var t=e,n=[],r;if(t){for(;t=t.firstChild;){if(a.isBlock(t))return;1!=t.nodeType||d[t.nodeName.toLowerCase()]||n.push(t)}for(r=n.length;r--;)t=n[r],!t.hasChildNodes()||t.firstChild==t.lastChild&&""===t.firstChild.nodeValue?a.remove(t):"A"==t.nodeName&&" "===(t.innerText||t.textContent)&&a.remove(t)}}function m(t){function r(e){for(;e;){if(1==e.nodeType||3==e.nodeType&&e.data&&/[\r\n\s]/.test(e.data))return e;e=e.nextSibling}}var i,o,l,c=t,u;if(t){if(n.ie&&n.ie<9&&A&&A.firstChild&&A.firstChild==A.lastChild&&"BR"==A.firstChild.tagName&&a.remove(A.firstChild),/^(LI|DT|DD)$/.test(t.nodeName)){var f=r(t.firstChild);f&&/^(UL|OL|DL)$/.test(f.nodeName)&&t.insertBefore(a.doc.createTextNode("\xa0"),t.firstChild)}if(l=a.createRng(),n.ie||t.normalize(),t.hasChildNodes()){for(i=new e(t,t);o=i.current();){if(3==o.nodeType){l.setStart(o,0),l.setEnd(o,0);break}if(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)?((!B||9>B)&&(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=T,n,i,o,s=u.getTextInlineElements();if(e||"TABLE"==P?(n=a.create(e||I),g(n)):n=A.cloneNode(!1),o=n,l.keep_styles!==!1)do if(s[t.nodeName]){if("_mce_caret"==t.id)continue;i=t.cloneNode(!1),a.setAttrib(i,"id",""),n.hasChildNodes()?(i.appendChild(n.firstChild),n.appendChild(i)):(o=i,n.appendChild(i))}while(t=t.parentNode);return r||(o.innerHTML='<br data-mce-bogus="1">'),n}function y(t){var n,r,i;if(3==T.nodeType&&(t?R>0:R<T.nodeValue.length))return!1;if(T.parentNode==A&&F&&!t)return!0;if(t&&1==T.nodeType&&T==A.firstChild)return!0;if("TABLE"===T.nodeName||T.previousSibling&&"TABLE"==T.previousSibling.nodeName)return F&&!t||!F&&t;for(n=new e(T,A),3==T.nodeType&&(t&&0===R?n.prev():t||R!=T.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=I||"P";if(r=a.getParent(e,a.isBlock),c=i.getBody().nodeName.toLowerCase(),!r||!f(r)){if(r=r||S,!r.hasChildNodes())return n=a.create(d),g(n),r.appendChild(n),N.setStart(n,0),N.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;N.setStart(e,t),N.setEnd(e,t)}}return e}function C(){function e(e){for(var t=M[e?"firstChild":"lastChild"];t&&1!=t.nodeType;)t=t[e?"nextSibling":"previousSibling"];return t===A}function t(){var e=M.parentNode;return/^(LI|DT|DD)$/.test(e.nodeName)?e:M}var n=M.parentNode.nodeName;/^(OL|UL|LI)$/.test(n)&&(I="LI"),L=I?v(I):a.create("BR"),e(!0)&&e()?"LI"==n?a.insertAfter(L,t()):a.replace(L,M):e(!0)?"LI"==n?(a.insertAfter(L,t()),L.appendChild(a.doc.createTextNode(" ")),L.appendChild(M)):M.parentNode.insertBefore(L,M):e()?(a.insertAfter(L,t()),p(L)):(M=t(),k=N.cloneRange(),k.setStartAfter(A),k.setEndAfter(M),H=k.extractContents(),"LI"==I&&"LI"==H.firstChild.nodeName?(L=H.firstChild,a.insertAfter(H,M)):(a.insertAfter(H,M),a.insertAfter(L,M))),a.remove(A),m(L),c.add()}function x(){i.execCommand("InsertLineBreak",!1,o)}function w(e){do 3===e.nodeType&&(e.nodeValue=e.nodeValue.replace(/^[\r\n]+/,"")),e=e.firstChild;while(e)}function _(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 N,k,S,T,R,A,B,D,L,H,M,P,O,I,F;if(N=s.getRng(!0),!o.isDefaultPrevented()){if(!N.collapsed)return void i.execCommand("Delete");if(new t(a).normalize(N),T=N.startContainer,R=N.startOffset,I=(l.force_p_newlines?"p":"")||l.forced_root_block,I=I?I.toUpperCase():"",B=a.doc.documentMode,D=o.shiftKey,1==T.nodeType&&T.hasChildNodes()&&(F=R>T.childNodes.length-1,T=T.childNodes[Math.min(R,T.childNodes.length-1)]||T,R=F&&3==T.nodeType?T.nodeValue.length:0),S=_(T)){if(c.beforeChange(),!a.isBlock(S)&&S!=a.getRoot())return void((!I||D)&&x());if((I&&!D||!I&&D)&&(T=b(T,R)),A=a.getParent(T,a.isBlock),M=A?a.getParent(A.parentNode,a.isBlock):null,P=A?A.nodeName.toUpperCase():"",O=M?M.nodeName.toUpperCase():"","LI"!=O||o.ctrlKey||(A=M,P=O),/^(LI|DT|DD)$/.test(P)){if(!I&&D)return void x();if(a.isEmpty(A))return void C()}if("PRE"==P&&l.br_in_pre!==!1){if(!D)return void x()}else if(!I&&!D&&"LI"!=P||I&&D)return void x();I&&A===i.getBody()||(I=I||"P",y()?(L=/^(H[1-6]|PRE|FIGURE)$/.test(P)&&"HGROUP"!=O?v(I):v(),l.end_container_on_empty_block&&f(M)&&a.isEmpty(A)?L=a.split(M,A):a.insertAfter(L,A),m(L)):y(!0)?(L=A.parentNode.insertBefore(v(),A),p(L),m(A)):(k=N.cloneRange(),k.setEndAfter(A),H=k.extractContents(),w(H),L=H.firstChild,a.insertAfter(H,A),h(L),E(A),m(L)),a.setAttrib(L,"id",""),i.fire("NewBlock",{newBlock:L}),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(z,[],function(){return function(e){function t(){var t=i.getStart(),s=e.getBody(),l,c,u,d,f,p,h,m=-16777215,g,v,y,b,C;if(C=n.forced_root_block,t&&1===t.nodeType&&C){for(;t&&t!=s;){if(a[t.nodeName])return;t=t.parentNode}if(l=i.getRng(),l.setStart){c=l.startContainer,u=l.startOffset,d=l.endContainer,f=l.endOffset;try{v=e.getDoc().activeElement===s}catch(x){}}else l.item&&(t=l.item(0),l=e.getDoc().body.createTextRange(),l.moveToElementText(t)),v=l.parentElement().ownerDocument===e.getDoc(),y=l.duplicate(),y.collapse(!0),u=-1*y.move("character",m),y.collapsed||(y=l.duplicate(),y.collapse(!1),f=-1*y.move("character",m)-u);for(t=s.firstChild,b=s.nodeName.toLowerCase();t;)if((3===t.nodeType||1==t.nodeType&&!a[t.nodeName])&&o.isValidChild(b,C.toLowerCase())){if(3===t.nodeType&&0===t.nodeValue.length){h=t,t=t.nextSibling,r.remove(h);continue}p||(p=r.create(C,e.settings.forced_root_block_attrs),t.parentNode.insertBefore(p,t),g=!0),h=t,t=t.nextSibling,p.appendChild(h)}else p=null,t=t.nextSibling;if(g&&v){if(l.setStart)l.setStart(c,u),l.setEnd(d,f),i.setRng(l);else try{l=e.getDoc().body.createTextRange(),l.moveToElementText(s),l.collapse(!0),l.moveStart("character",u),f>0&&l.moveEnd("character",f),l.select()}catch(x){}e.nodeChanged()}}}var n=e.settings,r=e.dom,i=e.selection,o=e.schema,a=o.getBlockElements();n.forced_root_block&&e.on("NodeChange",t)}}),r(W,[T,u,d,M,x,h],function(e,n,r,i,o,a){var s=r.each,l=r.extend,c=r.map,u=r.inArray,d=r.explode,f=n.gecko,p=n.ie,h=n.ie&&n.ie<11,m=!0,g=!1;return function(r){function v(e,t,n){var r;return e=e.toLowerCase(),(r=T.exec[e])?(r(e,t,n),m):g}function y(e){var t;return e=e.toLowerCase(),(t=T.state[e])?t(e):-1}function b(e){var t;return e=e.toLowerCase(),(t=T.value[e])?t(e):g}function C(e,t){t=t||"exec",s(e,function(e,n){s(n.toLowerCase().split(","),function(n){T[t][n]=e})})}function x(e,n,i){return n===t&&(n=g),i===t&&(i=null),r.getDoc().execCommand(e,n,i)}function w(e){return A.match(e)}function _(e,n){A.toggle(e,n?{value:n}:t),r.nodeChanged()}function E(e){B=S.getBookmark(e)}function N(){S.moveToBookmark(B)}var k=r.dom,S=r.selection,T={state:{},exec:{},value:{}},R=r.settings,A=r.formatter,B;l(this,{execCommand:v,queryCommandState:y,queryCommandValue:b,addCommands:C}),C({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){r.undoManager.add()},"Cut,Copy,Paste":function(e){var t=r.getDoc(),i;try{x(e)}catch(o){i=m}if(i||!t.queryCommandSupported(e)){var a=r.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.");n.mac&&(a=a.replace(/Ctrl\+/g,"\u2318+")),r.windowManager.alert(a)}},unlink:function(){if(S.isCollapsed()){var e=S.getNode();return void("A"==e.tagName&&r.dom.remove(e,!0))}A.remove("link")},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(e){var t=e.substring(7);"full"==t&&(t="justify"),s("left,center,right,justify".split(","),function(e){t!=e&&A.remove("align"+e)}),_("align"+t),v("mceRepaint")
-},"InsertUnorderedList,InsertOrderedList":function(e){var t,n;x(e),t=k.getParent(S.getNode(),"ol,ul"),t&&(n=t.parentNode,/^(H[1-6]|P|ADDRESS|PRE)$/.test(n.nodeName)&&(E(),k.split(n,t),N()))},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){_(e)},"ForeColor,HiliteColor,FontName":function(e,t,n){_(e,n)},FontSize:function(e,t,n){var r,i;n>=1&&7>=n&&(i=d(R.font_size_style_values),r=d(R.font_size_classes),n=r?r[n-1]||n:i[n-1]||n),_(e,n)},RemoveFormat:function(e){A.remove(e)},mceBlockQuote:function(){_("blockquote")},FormatBlock:function(e,t,n){return _(n||"p")},mceCleanup:function(){var e=S.getBookmark();r.setContent(r.getContent({cleanup:m}),{cleanup:m}),S.moveToBookmark(e)},mceRemoveNode:function(e,t,n){var i=n||S.getNode();i!=r.getBody()&&(E(),r.dom.remove(i,m),N())},mceSelectNodeDepth:function(e,t,n){var i=0;k.getParent(S.getNode(),function(e){return 1==e.nodeType&&i++==n?(S.select(e),g):void 0},r.getBody())},mceSelectNode:function(e,t,n){S.select(n)},mceInsertContent:function(t,n,o){function a(e){function t(e){return r[e]&&3==r[e].nodeType}var n,r,i;return n=S.getRng(!0),r=n.startContainer,i=n.startOffset,3==r.nodeType&&(i>0?e=e.replace(/^&nbsp;/," "):t("previousSibling")||(e=e.replace(/^ /,"&nbsp;")),i<r.length?e=e.replace(/&nbsp;(<br>|)$/," "):t("nextSibling")||(e=e.replace(/(&nbsp;| )(<br>|)$/,"&nbsp;"))),e}function l(e){if(w)for(b=e.firstChild;b;b=b.walk(!0))_[b.name]&&b.attr("data-mce-new","true")}function c(){if(w){var e=r.getBody(),t=new i(k);s(k.select("*[data-mce-new]"),function(n){n.removeAttribute("data-mce-new");for(var r=n.parentNode;r&&r!=e;r=r.parentNode)t.compare(r,n)&&k.remove(n,!0)})}}var u,d,f,h,m,g,v,y,b,C,x,w,_=r.schema.getTextInlineElements();"string"!=typeof o&&(w=o.merge,o=o.content),/^ | $/.test(o)&&(o=a(o)),u=r.parser,d=new e({},r.schema),x='<span id="mce_marker" data-mce-type="bookmark">&#xFEFF;&#x200B;</span>',g={content:o,format:"html",selection:!0},r.fire("BeforeSetContent",g),o=g.content,-1==o.indexOf("{$caret}")&&(o+="{$caret}"),o=o.replace(/\{\$caret\}/,x),y=S.getRng();var E=y.startContainer||(y.parentElement?y.parentElement():null),N=r.getBody();E===N&&S.isCollapsed()&&k.isBlock(N.firstChild)&&k.isEmpty(N.firstChild)&&(y=k.createRng(),y.setStart(N.firstChild,0),y.setEnd(N.firstChild,0),S.setRng(y)),S.isCollapsed()||r.getDoc().execCommand("Delete",!1,null),f=S.getNode();var T={context:f.nodeName.toLowerCase()};if(m=u.parse(o,T),l(m),b=m.lastChild,"mce_marker"==b.attr("id"))for(v=b,b=b.prev;b;b=b.walk(!0))if(3==b.type||!k.isBlock(b.name)){r.schema.isValidChild(b.parent.name,"span")&&b.parent.insert(v,b,"br"===b.name);break}if(T.invalid){for(S.setContent(x),f=S.getNode(),h=r.getBody(),9==f.nodeType?f=b=h:b=f;b!==h;)f=b,b=b.parentNode;o=f==h?h.innerHTML:k.getOuterHTML(f),o=d.serialize(u.parse(o.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return d.serialize(m)}))),f==h?k.setHTML(h,o):k.setOuterHTML(f,o)}else o=d.serialize(m),b=f.firstChild,C=f.lastChild,!b||b===C&&"BR"===b.nodeName?k.setHTML(f,o):S.setContent(o);c(),v=k.get("mce_marker"),S.scrollIntoView(v),y=k.createRng(),b=v.previousSibling,b&&3==b.nodeType?(y.setStart(b,b.nodeValue.length),p||(C=v.nextSibling,C&&3==C.nodeType&&(b.appendData(C.data),C.parentNode.removeChild(C)))):(y.setStartBefore(v),y.setEndBefore(v)),k.remove(v),S.setRng(y),r.fire("SetContent",g),r.addVisual()},mceInsertRawHTML:function(e,t,n){S.setContent("tiny_mce_marker"),r.setContent(r.getContent().replace(/tiny_mce_marker/g,function(){return n}))},mceToggleFormat:function(e,t,n){_(n)},mceSetContent:function(e,t,n){r.setContent(n)},"Indent,Outdent":function(e){var t,n,i;t=R.indentation,n=/[a-z%]+$/i.exec(t),t=parseInt(t,10),y("InsertUnorderedList")||y("InsertOrderedList")?x(e):(R.forced_root_block||k.getParent(S.getNode(),k.isBlock)||A.apply("div"),s(S.getSelectedBlocks(),function(o){if("LI"!=o.nodeName){var a=r.getParam("indent_use_margin",!1)?"margin":"padding";a+="rtl"==k.getStyle(o,"direction",!0)?"Right":"Left","outdent"==e?(i=Math.max(0,parseInt(o.style[a]||0,10)-t),k.setStyle(o,a,i?i+n:"")):(i=parseInt(o.style[a]||0,10)+t+n,k.setStyle(o,a,i))}}))},mceRepaint:function(){if(f)try{E(m),S.getSel()&&S.getSel().selectAllChildren(r.getBody()),S.collapse(m),N()}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,S.getContent({format:"text"})))},mceInsertLink:function(e,t,n){var r;"string"==typeof n&&(n={href:n}),r=k.getParent(S.getNode(),"a"),n.href=n.href.replace(" ","%20"),r&&n.href||A.remove("link"),n.href&&A.apply("link",n,r)},selectAll:function(){var e=k.getRoot(),t;S.getRng().setStart?(t=k.createRng(),t.setStart(e,0),t.setEnd(e,e.childNodes.length),S.setRng(t)):(t=S.getRng(),t.item||(t.moveToElementText(e),t.select()))},"delete":function(){x("Delete");var e=r.getBody();k.isEmpty(e)&&(r.setContent(""),e.firstChild&&k.isBlock(e.firstChild)?r.selection.setCursorLocation(e.firstChild,0):r.selection.setCursorLocation(e,0))},mceNewDocument:function(){r.setContent("")},InsertLineBreak:function(e,t,n){function i(){for(var e=new a(p,v),t,n=r.schema.getNonEmptyElements();t=e.next();)if(n[t.nodeName.toLowerCase()]||t.length>0)return!0}var s=n,l,c,u,d=S.getRng(!0);new o(k).normalize(d);var f=d.startOffset,p=d.startContainer;if(1==p.nodeType&&p.hasChildNodes()){var g=f>p.childNodes.length-1;p=p.childNodes[Math.min(f,p.childNodes.length-1)]||p,f=g&&3==p.nodeType?p.nodeValue.length:0}var v=k.getParent(p,k.isBlock),y=v?v.nodeName.toUpperCase():"",b=v?k.getParent(v.parentNode,k.isBlock):null,C=b?b.nodeName.toUpperCase():"",x=s&&s.ctrlKey;"LI"!=C||x||(v=b,y=C),p&&3==p.nodeType&&f>=p.nodeValue.length&&(h||i()||(l=k.create("br"),d.insertNode(l),d.setStartAfter(l),d.setEndAfter(l),c=!0)),l=k.create("br"),d.insertNode(l);var w=k.doc.documentMode;return h&&"PRE"==y&&(!w||8>w)&&l.parentNode.insertBefore(k.doc.createTextNode("\r"),l),u=k.create("span",{},"&nbsp;"),l.parentNode.insertBefore(u,l),S.scrollIntoView(u),k.remove(u),c?(d.setStartBefore(l),d.setEndBefore(l)):(d.setStartAfter(l),d.setEndAfter(l)),S.setRng(d),r.undoManager.add(),m}}),C({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(e){var t="align"+e.substring(7),n=S.isCollapsed()?[k.getParent(S.getNode(),k.isBlock)]:S.getSelectedBlocks(),r=c(n,function(e){return!!A.matchNode(e,t)});return-1!==u(r,m)},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){return w(e)},mceBlockQuote:function(){return w("blockquote")},Outdent:function(){var e;if(R.inline_styles){if((e=k.getParent(S.getStart(),k.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return m;if((e=k.getParent(S.getEnd(),k.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return m}return y("InsertUnorderedList")||y("InsertOrderedList")||!R.inline_styles&&!!k.getParent(S.getNode(),"BLOCKQUOTE")},"InsertUnorderedList,InsertOrderedList":function(e){var t=k.getParent(S.getNode(),"ul,ol");return t&&("insertunorderedlist"===e&&"UL"===t.tagName||"insertorderedlist"===e&&"OL"===t.tagName)}},"state"),C({"FontSize,FontName":function(e){var t=0,n;return(n=k.getParent(S.getNode(),"span"))&&(t="fontsize"==e?n.style.fontSize:n.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()),t}},"value"),C({Undo:function(){r.undoManager.undo()},Redo:function(){r.undoManager.redo()}})}}),r(V,[d],function(e){function t(e,o){var a=this,s,l;if(e=r(e),o=a.settings=o||{},s=o.base_uri,/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e))return void(a.source=e);var c=0===e.indexOf("//");0!==e.indexOf("/")||c||(e=(s?s.protocol||"http":"http")+"://mce_host"+e),/^[\w\-]*:?\/\//.test(e)||(l=o.base_uri?o.base_uri.path:new t(location.href).directory,""===o.base_uri.protocol?e="//mce_host"+a.toAbsPath(l,e):(e=/([^#?]*)([#?]?.*)/.exec(e),e=(s&&s.protocol||"http")+"://mce_host"+a.toAbsPath(l,e[1])+e[2])),e=e.replace(/@@/g,"(mce_at)"),e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e),n(i,function(t,n){var r=e[n];r&&(r=r.replace(/\(mce_at\)/g,"@@")),a[t]=r}),s&&(a.protocol||(a.protocol=s.protocol),a.userInfo||(a.userInfo=s.userInfo),a.port||"mce_host"!==a.host||(a.port=s.port),a.host&&"mce_host"!==a.host||(a.host=s.host),a.source=""),c&&(a.protocol="")}var n=e.each,r=e.trim,i="source protocol authority userInfo user password host port relative path directory file query anchor".split(" "),o={ftp:21,http:80,https:443,mailto:25};return t.prototype={setPath:function(e){var t=this;e=/^(.*?)\/?(\w+)?$/.exec(e),t.path=e[0],t.directory=e[1],t.file=e[2],t.source="",t.getURI()},toRelative:function(e){var n=this,r;if("./"===e)return e;if(e=new t(e,{base_uri:n}),"mce_host"!=e.host&&n.host!=e.host&&e.host||n.port!=e.port||n.protocol!=e.protocol&&""!==e.protocol)return e.getURI();var i=n.getURI(),o=e.getURI();return i==o||"/"==i.charAt(i.length-1)&&i.substr(0,i.length-1)==o?i:(r=n.toRelPath(n.path,e.path),e.query&&(r+="?"+e.query),e.anchor&&(r+="#"+e.anchor),r)},toAbsolute:function(e,n){return e=new t(e,{base_uri:this}),e.getURI(n&&this.isSameOrigin(e))},isSameOrigin:function(e){if(this.host==e.host&&this.protocol==e.protocol){if(this.port==e.port)return!0;var t=o[this.protocol];if(t&&(this.port||t)==(e.port||t))return!0}return!1},toRelPath:function(e,t){var n,r=0,i="",o,a;if(e=e.substring(0,e.lastIndexOf("/")),e=e.split("/"),n=t.split("/"),e.length>=n.length)for(o=0,a=e.length;a>o;o++)if(o>=n.length||e[o]!=n[o]){r=o+1;break}if(e.length<n.length)for(o=0,a=n.length;a>o;o++)if(o>=e.length||e[o]!=n[o]){r=o+1;break}if(1===r)return t;for(o=0,a=e.length-(r-1);a>o;o++)i+="../";for(o=r-1,a=n.length;a>o;o++)i+=o!=r-1?"/"+n[o]:n[o];return i},toAbsPath:function(e,t){var r,i=0,o=[],a,s;for(a=/\/$/.test(t)?"/":"",e=e.split("/"),t=t.split("/"),n(e,function(e){e&&o.push(e)}),e=o,r=t.length-1,o=[];r>=0;r--)0!==t[r].length&&"."!==t[r]&&(".."!==t[r]?i>0?i--:o.push(t[r]):i++);return r=e.length-i,s=0>=r?o.reverse().join("/"):e.slice(0,r).join("/")+"/"+o.reverse().join("/"),0!==s.indexOf("/")&&(s="/"+s),a&&s.lastIndexOf("/")!==s.length-1&&(s+=a),s},getURI:function(e){var t,n=this;return(!n.source||e)&&(t="",e||(t+=n.protocol?n.protocol+"://":"//",n.userInfo&&(t+=n.userInfo+"@"),n.host&&(t+=n.host),n.port&&(t+=":"+n.port)),n.path&&(t+=n.path),n.query&&(t+="?"+n.query),n.anchor&&(t+="#"+n.anchor),n.source=t),n.source}},t}),r(U,[d],function(e){function t(){}var n=e.each,r=e.extend,i,o;return t.extend=i=function(e){function t(){var e,t,n,r=this;if(!o&&(r.init&&r.init.apply(r,arguments),t=r.Mixins))for(e=t.length;e--;)n=t[e],n.init&&n.init.apply(r,arguments)}function a(){return this}function s(e,t){return function(){var n=this,r=n._super,i;return n._super=c[e],i=t.apply(n,arguments),n._super=r,i}}var l=this,c=l.prototype,u,d,f;o=!0,u=new l,o=!1,e.Mixins&&(n(e.Mixins,function(t){t=t;for(var n in t)"init"!==n&&(e[n]=t[n])}),c.Mixins&&(e.Mixins=c.Mixins.concat(e.Mixins))),e.Methods&&n(e.Methods.split(","),function(t){e[t]=a}),e.Properties&&n(e.Properties.split(","),function(t){var n="_"+t;e[t]=function(e){var t=this,r;return e!==r?(t[n]=e,t):t[n]}}),e.Statics&&n(e.Statics,function(e,n){t[n]=e}),e.Defaults&&c.Defaults&&(e.Defaults=r({},c.Defaults,e.Defaults));for(d in e)f=e[d],u[d]="function"==typeof f&&c[d]?s(d,f):f;return t.prototype=u,t.constructor=t,t.extend=i,t},t}),r($,[d],function(e){function t(t){function n(){return!1}function r(){return!0}function i(e,i){var o,s,l,c;if(e=e.toLowerCase(),i=i||{},i.type=e,i.target||(i.target=u),i.preventDefault||(i.preventDefault=function(){i.isDefaultPrevented=r},i.stopPropagation=function(){i.isPropagationStopped=r},i.stopImmediatePropagation=function(){i.isImmediatePropagationStopped=r},i.isDefaultPrevented=n,i.isPropagationStopped=n,i.isImmediatePropagationStopped=n),t.beforeFire&&t.beforeFire(i),o=d[e])for(s=0,l=o.length;l>s;s++){if(c=o[s],c.once&&a(e,c.func),i.isImmediatePropagationStopped())return i.stopPropagation(),i;if(c.func.call(u,i)===!1)return i.preventDefault(),i}return i}function o(t,r,i,o){var a,s,l;if(r===!1&&(r=n),r)for(r={func:r},o&&e.extend(r,o),s=t.toLowerCase().split(" "),l=s.length;l--;)t=s[l],a=d[t],a||(a=d[t]=[],f(t,!0)),i?a.unshift(r):a.push(r);return c}function a(e,t){var n,r,i,o,a;if(e)for(o=e.toLowerCase().split(" "),n=o.length;n--;){if(e=o[n],r=d[e],!e){for(i in d)f(i,!1),delete d[i];return c}if(r){if(t)for(a=r.length;a--;)r[a].func===t&&(r=r.slice(0,a).concat(r.slice(a+1)),d[e]=r);else r.length=0;r.length||(f(e,!1),delete d[e])}}else{for(e in d)f(e,!1);d={}}return c}function s(e,t,n){return o(e,t,n,{once:!0})}function l(e){return e=e.toLowerCase(),!(!d[e]||0===d[e].length)}var c=this,u,d={},f;t=t||{},u=t.scope||c,f=t.toggleEvent||n,c.fire=i,c.on=o,c.off=a,c.once=s,c.has=l}var n=e.makeMap("focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchend"," ");return t.isNative=function(e){return!!n[e.toLowerCase()]},t}),r(q,[U],function(e){function t(e){for(var t=[],n=e.length,r;n--;)r=e[n],r.__checked||(t.push(r),r.__checked=1);for(n=t.length;n--;)delete t[n].__checked;return t}var n=/^([\w\\*]+)?(?:#([\w\\]+))?(?:\.([\w\\\.]+))?(?:\[\@?([\w\\]+)([\^\$\*!~]?=)([\w\\]+)\])?(?:\:(.+))?/i,r=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,i=/^\s*|\s*$/g,o,a=e.extend({init:function(e){function t(e){return e?(e=e.toLowerCase(),function(t){return"*"===e||t.type===e}):void 0}function o(e){return e?function(t){return t._name===e}:void 0}function a(e){return e?(e=e.split("."),function(t){for(var n=e.length;n--;)if(!t.hasClass(e[n]))return!1;return!0}):void 0}function s(e,t,n){return e?function(r){var i=r[e]?r[e]():"";return t?"="===t?i===n:"*="===t?i.indexOf(n)>=0:"~="===t?(" "+i+" ").indexOf(" "+n+" ")>=0:"!="===t?i!=n:"^="===t?0===i.indexOf(n):"$="===t?i.substr(i.length-n.length)===n:!1:!!n}:void 0}function l(e){var t;return e?(e=/(?:not\((.+)\))|(.+)/i.exec(e),e[1]?(t=u(e[1],[]),function(e){return!d(e,t)}):(e=e[2],function(t,n,r){return"first"===e?0===n:"last"===e?n===r-1:"even"===e?n%2===0:"odd"===e?n%2===1:t[e]?t[e]():!1})):void 0}function c(e,r,c){function u(e){e&&r.push(e)}var d;return d=n.exec(e.replace(i,"")),u(t(d[1])),u(o(d[2])),u(a(d[3])),u(s(d[4],d[5],d[6])),u(l(d[7])),r.psuedo=!!d[7],r.direct=c,r}function u(e,t){var n=[],i,o,a;do if(r.exec(""),o=r.exec(e),o&&(e=o[3],n.push(o[1]),o[2])){i=o[3];break}while(o);for(i&&u(i,t),e=[],a=0;a<n.length;a++)">"!=n[a]&&e.push(c(n[a],[],">"===n[a-1]));return t.push(e),t}var d=this.match;this._selectors=u(e,[])},match:function(e,t){var n,r,i,o,a,s,l,c,u,d,f,p,h;for(t=t||this._selectors,n=0,r=t.length;r>n;n++){for(a=t[n],o=a.length,h=e,p=0,i=o-1;i>=0;i--)for(c=a[i];h;){if(c.psuedo)for(f=h.parent().items(),u=d=f.length;u--&&f[u]!==h;);for(s=0,l=c.length;l>s;s++)if(!c[s](h,u,d)){s=l+1;break}if(s===l){p++;break}if(i===o-1)break;h=h.parent()}if(p===o)return!0}return!1},find:function(e){function n(e,t,i){var o,a,s,l,c,u=t[i];for(o=0,a=e.length;a>o;o++){for(c=e[o],s=0,l=u.length;l>s;s++)if(!u[s](c,o,a)){s=l+1;break}if(s===l)i==t.length-1?r.push(c):c.items&&n(c.items(),t,i+1);else if(u.direct)return;c.items&&n(c.items(),t,i)}}var r=[],i,s,l=this._selectors;if(e.items){for(i=0,s=l.length;s>i;i++)n(e.items(),l[i],0);s>1&&(r=t(r))}return o||(o=a.Collection),new o(r)}});return a}),r(j,[d,q,U],function(e,t,n){var r,i,o=Array.prototype.push,a=Array.prototype.slice;return i={length:0,init:function(e){e&&this.add(e)},add:function(t){var n=this;return e.isArray(t)?o.apply(n,t):t instanceof r?n.add(t.toArray()):o.call(n,t),n},set:function(e){var t=this,n=t.length,r;for(t.length=0,t.add(e),r=t.length;n>r;r++)delete t[r];return t},filter:function(e){var n=this,i,o,a=[],s,l;for("string"==typeof e?(e=new t(e),l=function(t){return e.match(t)}):l=e,i=0,o=n.length;o>i;i++)s=n[i],l(s)&&a.push(s);return new r(a)},slice:function(){return new r(a.apply(this,arguments))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},each:function(t){return e.each(this,t),this},toArray:function(){return e.toArray(this)},indexOf:function(e){for(var t=this,n=t.length;n--&&t[n]!==e;);return n},reverse:function(){return new r(e.toArray(this).reverse())},hasClass:function(e){return this[0]?this[0].hasClass(e):!1},prop:function(e,t){var n=this,r,i;return t!==r?(n.each(function(n){n[e]&&n[e](t)}),n):(i=n[0],i&&i[e]?i[e]():void 0)},exec:function(t){var n=this,r=e.toArray(arguments).slice(1);return n.each(function(e){e[t]&&e[t].apply(e,r)}),n},remove:function(){for(var e=this.length;e--;)this[e].remove();return this}},e.each("fire on off show hide addClass removeClass append prepend before after reflow".split(" "),function(t){i[t]=function(){var n=e.toArray(arguments);return this.each(function(e){t in e&&e[t].apply(e,n)}),this}}),e.each("text name disabled active selected checked visible parent value data".split(" "),function(e){i[e]=function(t){return this.prop(e,t)}}),r=n.extend(i),t.Collection=r,r}),r(Y,[d,y],function(e,t){var n=0;return{id:function(){return"mceu_"+n++},createFragment:function(e){return t.DOM.createFragment(e)},getWindowSize:function(){return t.DOM.getViewPort()},getSize:function(e){var t,n;if(e.getBoundingClientRect){var r=e.getBoundingClientRect();t=Math.max(r.width||r.right-r.left,e.offsetWidth),n=Math.max(r.height||r.bottom-r.bottom,e.offsetHeight)}else t=e.offsetWidth,n=e.offsetHeight;return{width:t,height:n}},getPos:function(e,n){return t.DOM.getPos(e,n)},getViewPort:function(e){return t.DOM.getViewPort(e)},get:function(e){return document.getElementById(e)},addClass:function(e,n){return t.DOM.addClass(e,n)},removeClass:function(e,n){return t.DOM.removeClass(e,n)},hasClass:function(e,n){return t.DOM.hasClass(e,n)},toggleClass:function(e,n,r){return t.DOM.toggleClass(e,n,r)},css:function(e,n,r){return t.DOM.setStyle(e,n,r)},getRuntimeStyle:function(e,n){return t.DOM.getStyle(e,n,!0)},on:function(e,n,r,i){return t.DOM.bind(e,n,r,i)},off:function(e,n,r){return t.DOM.unbind(e,n,r)},fire:function(e,n,r){return t.DOM.fire(e,n,r)},innerHtml:function(e,n){t.DOM.setHTML(e,n)}}}),r(K,[U,d,$,j,Y],function(e,t,n,r,i){function o(e){return e._eventDispatcher||(e._eventDispatcher=new n({scope:e,toggleEvent:function(t,r){r&&n.isNative(t)&&(e._nativeEvents||(e._nativeEvents={}),e._nativeEvents[t]=!0,e._rendered&&e.bindPendingEvents())}})),e._eventDispatcher}var a="onmousewheel"in document,s=!1,l="mce-",c=e.extend({Statics:{classPrefix:l},isRtl:function(){return c.rtl},classPrefix:l,init:function(e){var n=this,r,o;if(n.settings=e=t.extend({},n.Defaults,e),n._id=e.id||i.id(),n._text=n._name="",n._width=n._height=0,n._aria={role:e.role},this._elmCache={},r=e.classes)for(r=r.split(" "),r.map={},o=r.length;o--;)r.map[r[o]]=!0;n._classes=r||[],n.visible(!0),t.each("title text width height name classes visible disabled active value".split(" "),function(t){var r=e[t],i;r!==i?n[t](r):n["_"+t]===i&&(n["_"+t]=!1)}),n.on("click",function(){return n.disabled()?!1:void 0}),e.classes&&t.each(e.classes.split(" "),function(e){n.addClass(e)}),n.settings=e,n._borderBox=n.parseBox(e.border),n._paddingBox=n.parseBox(e.padding),n._marginBox=n.parseBox(e.margin),e.hidden&&n.hide()},Properties:"parent,title,text,width,height,disabled,active,name,value",Methods:"renderHtml",getContainerElm:function(){return document.body},getParentCtrl:function(e){for(var t,n=this.getRoot().controlIdLookup;e&&n&&!(t=n[e.id]);)e=e.parentNode;return t},parseBox:function(e){var t,n=10;if(e)return"number"==typeof e?(e=e||0,{top:e,left:e,bottom:e,right:e}):(e=e.split(" "),t=e.length,1===t?e[1]=e[2]=e[3]=e[0]:2===t?(e[2]=e[0],e[3]=e[1]):3===t&&(e[3]=e[1]),{top:parseInt(e[0],n)||0,right:parseInt(e[1],n)||0,bottom:parseInt(e[2],n)||0,left:parseInt(e[3],n)||0})},borderBox:function(){return this._borderBox},paddingBox:function(){return this._paddingBox},marginBox:function(){return this._marginBox},measureBox:function(e,t){function n(t){var n=document.defaultView;return n?(t=t.replace(/[A-Z]/g,function(e){return"-"+e}),n.getComputedStyle(e,null).getPropertyValue(t)):e.currentStyle[t]}function r(e){var t=parseFloat(n(e),10);return isNaN(t)?0:t}return{top:r(t+"TopWidth"),right:r(t+"RightWidth"),bottom:r(t+"BottomWidth"),left:r(t+"LeftWidth")}},initLayoutRect:function(){var e=this,t=e.settings,n,r,o=e.getEl(),a,s,l,c,u,d,f,p;n=e._borderBox=e._borderBox||e.measureBox(o,"border"),e._paddingBox=e._paddingBox||e.measureBox(o,"padding"),e._marginBox=e._marginBox||e.measureBox(o,"margin"),p=i.getSize(o),d=t.minWidth,f=t.minHeight,l=d||p.width,c=f||p.height,a=t.width,s=t.height,u=t.autoResize,u="undefined"!=typeof u?u:!a&&!s,a=a||l,s=s||c;var h=n.left+n.right,m=n.top+n.bottom,g=t.maxWidth||65535,v=t.maxHeight||65535;return e._layoutRect=r={x:t.x||0,y:t.y||0,w:a,h:s,deltaW:h,deltaH:m,contentW:a-h,contentH:s-m,innerW:a-h,innerH:s-m,startMinWidth:d||0,startMinHeight:f||0,minW:Math.min(l,g),minH:Math.min(c,v),maxW:g,maxH:v,autoResize:u,scrollW:0},e._lastLayoutRect={},r},layoutRect:function(e){var t=this,n=t._layoutRect,r,i,o,a,s,l;return n||(n=t.initLayoutRect()),e?(o=n.deltaW,a=n.deltaH,e.x!==s&&(n.x=e.x),e.y!==s&&(n.y=e.y),e.minW!==s&&(n.minW=e.minW),e.minH!==s&&(n.minH=e.minH),i=e.w,i!==s&&(i=i<n.minW?n.minW:i,i=i>n.maxW?n.maxW:i,n.w=i,n.innerW=i-o),i=e.h,i!==s&&(i=i<n.minH?n.minH:i,i=i>n.maxH?n.maxH:i,n.h=i,n.innerH=i-a),i=e.innerW,i!==s&&(i=i<n.minW-o?n.minW-o:i,i=i>n.maxW-o?n.maxW-o:i,n.innerW=i,n.w=i+o),i=e.innerH,i!==s&&(i=i<n.minH-a?n.minH-a:i,i=i>n.maxH-a?n.maxH-a:i,n.innerH=i,n.h=i+a),e.contentW!==s&&(n.contentW=e.contentW),e.contentH!==s&&(n.contentH=e.contentH),r=t._lastLayoutRect,(r.x!==n.x||r.y!==n.y||r.w!==n.w||r.h!==n.h)&&(l=c.repaintControls,l&&l.map&&!l.map[t._id]&&(l.push(t),l.map[t._id]=!0),r.x=n.x,r.y=n.y,r.w=n.w,r.h=n.h),t):n},repaint:function(){var e=this,t,n,r,i,o=0,a=0,s,l;l=document.createRange?function(e){return e}:Math.round,t=e.getEl().style,r=e._layoutRect,s=e._lastRepaintRect||{},i=e._borderBox,o=i.left+i.right,a=i.top+i.bottom,r.x!==s.x&&(t.left=l(r.x)+"px",s.x=r.x),r.y!==s.y&&(t.top=l(r.y)+"px",s.y=r.y),r.w!==s.w&&(t.width=l(r.w-o)+"px",s.w=r.w),r.h!==s.h&&(t.height=l(r.h-a)+"px",s.h=r.h),e._hasBody&&r.innerW!==s.innerW&&(n=e.getEl("body").style,n.width=l(r.innerW)+"px",s.innerW=r.innerW),e._hasBody&&r.innerH!==s.innerH&&(n=n||e.getEl("body").style,n.height=l(r.innerH)+"px",s.innerH=r.innerH),e._lastRepaintRect=s,e.fire("repaint",{},!1)},on:function(e,t){function n(e){var t,n;return"string"!=typeof e?e:function(i){return t||r.parentsAndSelf().each(function(r){var i=r.settings.callbacks;return i&&(t=i[e])?(n=r,!1):void 0}),t.call(n,i)}}var r=this;return o(r).on(e,n(t)),r},off:function(e,t){return o(this).off(e,t),this},fire:function(e,t,n){var r=this;if(t=t||{},t.control||(t.control=r),t=o(r).fire(e,t),n!==!1&&r.parent)for(var i=r.parent();i&&!t.isPropagationStopped();)i.fire(e,t,!1),i=i.parent();return t},hasEventListeners:function(e){return o(this).has(e)},parents:function(e){var t=this,n,i=new r;for(n=t.parent();n;n=n.parent())i.add(n);return e&&(i=i.filter(e)),i},parentsAndSelf:function(e){return new r(this).add(this.parents(e))},next:function(){var e=this.parent().items();return e[e.indexOf(this)+1]},prev:function(){var e=this.parent().items();return e[e.indexOf(this)-1]},findCommonAncestor:function(e,t){for(var n;e;){for(n=t;n&&e!=n;)n=n.parent();if(e==n)break;e=e.parent()}return e},hasClass:function(e,t){var n=this._classes[t||"control"];return e=this.classPrefix+e,n&&!!n.map[e]},addClass:function(e,t){var n=this,r,i;return e=this.classPrefix+e,r=n._classes[t||"control"],r||(r=[],r.map={},n._classes[t||"control"]=r),r.map[e]||(r.map[e]=e,r.push(e),n._rendered&&(i=n.getEl(t),i&&(i.className=r.join(" ")))),n},removeClass:function(e,t){var n=this,r,i,o;if(e=this.classPrefix+e,r=n._classes[t||"control"],r&&r.map[e])for(delete r.map[e],i=r.length;i--;)r[i]===e&&r.splice(i,1);return n._rendered&&(o=n.getEl(t),o&&(o.className=r.join(" "))),n},toggleClass:function(e,t,n){var r=this;return t?r.addClass(e,n):r.removeClass(e,n),r},classes:function(e){var t=this._classes[e||"control"];return t?t.join(" "):""},innerHtml:function(e){return i.innerHtml(this.getEl(),e),this},getEl:function(e){var t=e?this._id+"-"+e:this._id;return this._elmCache[t]||(this._elmCache[t]=i.get(t)),this._elmCache[t]},visible:function(e){var t=this,n;return"undefined"!=typeof e?(t._visible!==e&&(t._rendered&&(t.getEl().style.display=e?"":"none"),t._visible=e,n=t.parent(),n&&(n._lastRect=null),t.fire(e?"show":"hide")),t):t._visible},show:function(){return this.visible(!0)},hide:function(){return this.visible(!1)},focus:function(){try{this.getEl().focus()}catch(e){}return this},blur:function(){return this.getEl().blur(),this},aria:function(e,t){var n=this,r=n.getEl(n.ariaTarget);return"undefined"==typeof t?n._aria[e]:(n._aria[e]=t,n._rendered&&r.setAttribute("role"==e?e:"aria-"+e,t),n)},encode:function(e,t){return t!==!1&&(e=this.translate(e)),(e||"").replace(/[&<>"]/g,function(e){return"&#"+e.charCodeAt(0)+";"})},translate:function(e){return c.translate?c.translate(e):e},before:function(e){var t=this,n=t.parent();return n&&n.insert(e,n.items().indexOf(t),!0),t},after:function(e){var t=this,n=t.parent();return n&&n.insert(e,n.items().indexOf(t)),t},remove:function(){var e=this,t=e.getEl(),n=e.parent(),r,o;if(e.items){var a=e.items().toArray();for(o=a.length;o--;)a[o].remove()}n&&n.items&&(r=[],n.items().each(function(t){t!==e&&r.push(t)}),n.items().set(r),n._lastRect=null),e._eventsRoot&&e._eventsRoot==e&&i.off(t);var s=e.getRoot().controlIdLookup;return s&&delete s[e._id],t&&t.parentNode&&t.parentNode.removeChild(t),e._rendered=!1,e},renderBefore:function(e){var t=this;return e.parentNode.insertBefore(i.createFragment(t.renderHtml()),e),t.postRender(),t},renderTo:function(e){var t=this;return e=e||t.getContainerElm(),e.appendChild(i.createFragment(t.renderHtml())),t.postRender(),t},postRender:function(){var e=this,t=e.settings,n,r,o,a,s;for(a in t)0===a.indexOf("on")&&e.on(a.substr(2),t[a]);if(e._eventsRoot){for(o=e.parent();!s&&o;o=o.parent())s=o._eventsRoot;if(s)for(a in s._nativeEvents)e._nativeEvents[a]=!0}e.bindPendingEvents(),t.style&&(n=e.getEl(),n&&(n.setAttribute("style",t.style),n.style.cssText=t.style)),e._visible||i.css(e.getEl(),"display","none"),e.settings.border&&(r=e.borderBox(),i.css(e.getEl(),{"border-top-width":r.top,"border-right-width":r.right,"border-bottom-width":r.bottom,"border-left-width":r.left}));var l=e.getRoot();l.controlIdLookup||(l.controlIdLookup={}),l.controlIdLookup[e._id]=e;for(var c in e._aria)e.aria(c,e._aria[c]);e.fire("postrender",{},!1)},scrollIntoView:function(e){function t(e,t){var n,r,i=e;for(n=r=0;i&&i!=t&&i.nodeType;)n+=i.offsetLeft||0,r+=i.offsetTop||0,i=i.offsetParent;return{x:n,y:r}}var n=this.getEl(),r=n.parentNode,i,o,a,s,l,c,u=t(n,r);return i=u.x,o=u.y,a=n.offsetWidth,s=n.offsetHeight,l=r.clientWidth,c=r.clientHeight,"end"==e?(i-=l-a,o-=c-s):"center"==e&&(i-=l/2-a/2,o-=c/2-s/2),r.scrollLeft=i,r.scrollTop=o,this},bindPendingEvents:function(){function e(e){var t=o.getParentCtrl(e.target);t&&t.fire(e.type,e)}function t(){var e=d._lastHoverCtrl;e&&(e.fire("mouseleave",{target:e.getEl()}),e.parents().each(function(e){e.fire("mouseleave",{target:e.getEl()})}),d._lastHoverCtrl=null)}function n(e){var t=o.getParentCtrl(e.target),n=d._lastHoverCtrl,r=0,i,a,s;if(t!==n){if(d._lastHoverCtrl=t,a=t.parents().toArray().reverse(),a.push(t),n){for(s=n.parents().toArray().reverse(),s.push(n),r=0;r<s.length&&a[r]===s[r];r++);for(i=s.length-1;i>=r;i--)n=s[i],n.fire("mouseleave",{target:n.getEl()})}for(i=r;i<a.length;i++)t=a[i],t.fire("mouseenter",{target:t.getEl()})}}function r(e){e.preventDefault(),"mousewheel"==e.type?(e.deltaY=-1/40*e.wheelDelta,e.wheelDeltaX&&(e.deltaX=-1/40*e.wheelDeltaX)):(e.deltaX=0,e.deltaY=e.detail),e=o.fire("wheel",e)}var o=this,l,c,u,d,f,p;if(o._rendered=!0,f=o._nativeEvents){for(u=o.parents().toArray(),u.unshift(o),l=0,c=u.length;!d&&c>l;l++)d=u[l]._eventsRoot;for(d||(d=u[u.length-1]||o),o._eventsRoot=d,c=l,l=0;c>l;l++)u[l]._eventsRoot=d;var h=d._delegates;h||(h=d._delegates={});for(p in f){if(!f)return!1;"wheel"!==p||s?("mouseenter"===p||"mouseleave"===p?d._hasMouseEnter||(i.on(d.getEl(),"mouseleave",t),i.on(d.getEl(),"mouseover",n),d._hasMouseEnter=1):h[p]||(i.on(d.getEl(),p,e),h[p]=!0),f[p]=!1):a?i.on(o.getEl(),"mousewheel",r):i.on(o.getEl(),"DOMMouseScroll",r)}}},getRoot:function(){for(var e=this,t,n=[];e;){if(e.rootControl){t=e.rootControl;break}n.push(e),t=e,e=e.parent()}t||(t=this);for(var r=n.length;r--;)n[r].rootControl=t;return t},reflow:function(){return this.repaint(),this}});return c}),r(G,[],function(){var e={},t;return{add:function(t,n){e[t.toLowerCase()]=n},has:function(t){return!!e[t.toLowerCase()]},create:function(n,r){var i,o,a;if(!t){a=tinymce.ui;for(o in a)e[o.toLowerCase()]=a[o];t=!0}if("string"==typeof n?(r=r||{},r.type=n):(r=n,n=r.type),n=n.toLowerCase(),i=e[n],!i)throw new Error("Could not find control by type: "+n);return i=new i(r),i.type=n,i}}}),r(X,[],function(){return function(e){function t(e){return e=e||b,e&&e.getAttribute("role")}function n(e){for(var n,r=e||b;r=r.parentNode;)if(n=t(r))return n}function r(e){var t=b;return t?t.getAttribute("aria-"+e):void 0}function i(e){var t=e.tagName.toUpperCase();return"INPUT"==t||"TEXTAREA"==t}function o(e){return i(e)&&!e.hidden?!0:/^(button|menuitem|checkbox|tab|menuitemcheckbox|option|gridcell)$/.test(t(e))?!0:!1}function a(e){function t(e){if(1==e.nodeType&&"none"!=e.style.display){o(e)&&n.push(e);for(var r=0;r<e.childNodes.length;r++)t(e.childNodes[r])}}var n=[];return t(e||y.getEl()),n}function s(e){var t,n;e=e||C,n=e.parents().toArray(),n.unshift(e);for(var r=0;r<n.length&&(t=n[r],!t.settings.ariaRoot);r++);return t}function l(e){var t=s(e),n=a(t.getEl());t.settings.ariaRemember&&"lastAriaIndex"in t?c(t.lastAriaIndex,n):c(0,n)}function c(e,t){return 0>e?e=t.length-1:e>=t.length&&(e=0),t[e]&&t[e].focus(),e}function u(e,t){var n=-1,r=s();t=t||a(r.getEl());for(var i=0;i<t.length;i++)t[i]===b&&(n=i);n+=e,r.lastAriaIndex=c(n,t)}function d(){var e=n();"tablist"==e?u(-1,a(b.parentNode)):C.parent().submenu?g():u(-1)}function f(){var e=t(),i=n();"tablist"==i?u(1,a(b.parentNode)):"menuitem"==e&&"menu"==i&&r("haspopup")?v():u(1)}function p(){u(-1)}function h(){var e=t(),i=n();"menuitem"==e&&"menubar"==i?v():"button"==e&&r("haspopup")?v({key:"down"}):u(1)}function m(e){var t=n();if("tablist"==t){var r=a(C.getEl("body"))[0];r&&r.focus()}else u(e.shiftKey?-1:1)}function g(){C.fire("cancel")}function v(e){e=e||{},C.fire("click",{target:b,aria:e})}var y=e.root,b,C;try{b=document.activeElement}catch(x){b=document.body}return C=y.getParentCtrl(b),y.on("keydown",function(e){function t(e,t){i(b)||t(e)!==!1&&e.preventDefault()}if(!e.isDefaultPrevented())switch(e.keyCode){case 37:t(e,d);break;case 39:t(e,f);break;case 38:t(e,p);break;case 40:t(e,h);break;case 27:g();break;case 14:case 13:case 32:t(e,v);break;case 9:m(e)!==!1&&e.preventDefault()}}),y.on("focusin",function(e){b=e.target,C=e.control}),{focusFirst:l}}}),r(J,[K,j,q,G,X,d,Y],function(e,t,n,r,i,o,a){var s={};return e.extend({layout:"",innerClass:"container-inner",init:function(e){var n=this;n._super(e),e=n.settings,n._fixed=e.fixed,n._items=new t,n.isRtl()&&n.addClass("rtl"),n.addClass("container"),n.addClass("container-body","body"),e.containerCls&&n.addClass(e.containerCls),n._layout=r.create((e.layout||n.layout)+"layout"),n.settings.items&&n.add(n.settings.items),n._hasBody=!0},items:function(){return this._items},find:function(e){return e=s[e]=s[e]||new n(e),e.find(this)},add:function(e){var t=this;return t.items().add(t.create(e)).parent(t),t
-},focus:function(e){var t=this,n,r,i;return e&&(r=t.keyboardNav||t.parents().eq(-1)[0].keyboardNav)?void r.focusFirst(t):(i=t.find("*"),t.statusbar&&i.add(t.statusbar.items()),i.each(function(e){return e.settings.autofocus?(n=null,!1):void(e.canFocus&&(n=n||e))}),n&&n.focus(),t)},replace:function(e,t){for(var n,r=this.items(),i=r.length;i--;)if(r[i]===e){r[i]=t;break}i>=0&&(n=t.getEl(),n&&n.parentNode.removeChild(n),n=e.getEl(),n&&n.parentNode.removeChild(n)),t.parent(this)},create:function(t){var n=this,i,a=[];return o.isArray(t)||(t=[t]),o.each(t,function(t){t&&(t instanceof e||("string"==typeof t&&(t={type:t}),i=o.extend({},n.settings.defaults,t),t.type=i.type=i.type||t.type||n.settings.defaultType||(i.defaults?i.defaults.type:null),t=r.create(i)),a.push(t))}),a},renderNew:function(){var e=this;return e.items().each(function(t,n){var r,i;t.parent(e),t._rendered||(r=e.getEl("body"),i=a.createFragment(t.renderHtml()),r.hasChildNodes()&&n<=r.childNodes.length-1?r.insertBefore(i,r.childNodes[n]):r.appendChild(i),t.postRender())}),e._layout.applyClasses(e),e._lastRect=null,e},append:function(e){return this.add(e).renderNew()},prepend:function(e){var t=this;return t.items().set(t.create(e).concat(t.items().toArray())),t.renderNew()},insert:function(e,t,n){var r=this,i,o,a;return e=r.create(e),i=r.items(),!n&&t<i.length-1&&(t+=1),t>=0&&t<i.length&&(o=i.slice(0,t).toArray(),a=i.slice(t).toArray(),i.set(o.concat(e,a))),r.renderNew()},fromJSON:function(e){var t=this;for(var n in e)t.find("#"+n).value(e[n]);return t},toJSON:function(){var e=this,t={};return e.find("*").each(function(e){var n=e.name(),r=e.value();n&&"undefined"!=typeof r&&(t[n]=r)}),t},preRender:function(){},renderHtml:function(){var e=this,t=e._layout,n=this.settings.role;return e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes()+'"'+(n?' role="'+this.settings.role+'"':"")+'><div id="'+e._id+'-body" class="'+e.classes("body")+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"},postRender:function(){var e=this,t;return e.items().exec("postRender"),e._super(),e._layout.postRender(e),e._rendered=!0,e.settings.style&&a.css(e.getEl(),e.settings.style),e.settings.border&&(t=e.borderBox(),a.css(e.getEl(),{"border-top-width":t.top,"border-right-width":t.right,"border-bottom-width":t.bottom,"border-left-width":t.left})),e.parent()||(e.keyboardNav=new i({root:e})),e},initLayoutRect:function(){var e=this,t=e._super();return e._layout.recalc(e),t},recalc:function(){var e=this,t=e._layoutRect,n=e._lastRect;return n&&n.w==t.w&&n.h==t.h?void 0:(e._layout.recalc(e),t=e.layoutRect(),e._lastRect={x:t.x,y:t.y,w:t.w,h:t.h},!0)},reflow:function(){var t;if(this.visible()){for(e.repaintControls=[],e.repaintControls.map={},this.recalc(),t=e.repaintControls.length;t--;)e.repaintControls[t].repaint();"flow"!==this.settings.layout&&"stack"!==this.settings.layout&&this.repaint(),e.repaintControls=[]}return this}})}),r(Q,[Y],function(e){function t(){var e=document,t,n,r,i,o,a,s,l,c=Math.max;return t=e.documentElement,n=e.body,r=c(t.scrollWidth,n.scrollWidth),i=c(t.clientWidth,n.clientWidth),o=c(t.offsetWidth,n.offsetWidth),a=c(t.scrollHeight,n.scrollHeight),s=c(t.clientHeight,n.clientHeight),l=c(t.offsetHeight,n.offsetHeight),{width:o>r?i:r,height:l>a?s:a}}return function(n,r){function i(){return a.getElementById(r.handle||n)}var o,a=document,s,l,c,u,d,f;r=r||{},l=function(n){var l=t(),p,h;n.preventDefault(),s=n.button,p=i(),d=n.screenX,f=n.screenY,h=window.getComputedStyle?window.getComputedStyle(p,null).getPropertyValue("cursor"):p.runtimeStyle.cursor,o=a.createElement("div"),e.css(o,{position:"absolute",top:0,left:0,width:l.width,height:l.height,zIndex:2147483647,opacity:1e-4,cursor:h}),a.body.appendChild(o),e.on(a,"mousemove",u),e.on(a,"mouseup",c),r.start(n)},u=function(e){return e.button!==s?c(e):(e.deltaX=e.screenX-d,e.deltaY=e.screenY-f,e.preventDefault(),void r.drag(e))},c=function(t){e.off(a,"mousemove",u),e.off(a,"mouseup",c),o.parentNode.removeChild(o),r.stop&&r.stop(t)},this.destroy=function(){e.off(i())},e.on(i(),"mousedown",l)}}),r(Z,[Y,Q],function(e,t){return{init:function(){var e=this;e.on("repaint",e.renderScroll)},renderScroll:function(){function n(){function t(t,a,s,l,c,u){var d,f,p,h,m,g,v,y,b;if(f=i.getEl("scroll"+t)){if(y=a.toLowerCase(),b=s.toLowerCase(),i.getEl("absend")&&e.css(i.getEl("absend"),y,i.layoutRect()[l]-1),!c)return void e.css(f,"display","none");e.css(f,"display","block"),d=i.getEl("body"),p=i.getEl("scroll"+t+"t"),h=d["client"+s]-2*o,h-=n&&r?f["client"+u]:0,m=d["scroll"+s],g=h/m,v={},v[y]=d["offset"+a]+o,v[b]=h,e.css(f,v),v={},v[y]=d["scroll"+a]*g,v[b]=h*g,e.css(p,v)}}var n,r,a;a=i.getEl("body"),n=a.scrollWidth>a.clientWidth,r=a.scrollHeight>a.clientHeight,t("h","Left","Width","contentW",n,"Height"),t("v","Top","Height","contentH",r,"Width")}function r(){function n(n,r,a,s,l){var c,u=i._id+"-scroll"+n,d=i.classPrefix;i.getEl().appendChild(e.createFragment('<div id="'+u+'" class="'+d+"scrollbar "+d+"scrollbar-"+n+'"><div id="'+u+'t" class="'+d+'scrollbar-thumb"></div></div>')),i.draghelper=new t(u+"t",{start:function(){c=i.getEl("body")["scroll"+r],e.addClass(e.get(u),d+"active")},drag:function(e){var t,u,d,f,p=i.layoutRect();u=p.contentW>p.innerW,d=p.contentH>p.innerH,f=i.getEl("body")["client"+a]-2*o,f-=u&&d?i.getEl("scroll"+n)["client"+l]:0,t=f/i.getEl("body")["scroll"+a],i.getEl("body")["scroll"+r]=c+e["delta"+s]/t},stop:function(){e.removeClass(e.get(u),d+"active")}})}i.addClass("scroll"),n("v","Top","Height","Y","Width"),n("h","Left","Width","X","Height")}var i=this,o=2;i.settings.autoScroll&&(i._hasScroll||(i._hasScroll=!0,r(),i.on("wheel",function(e){var t=i.getEl("body");t.scrollLeft+=10*(e.deltaX||0),t.scrollTop+=10*e.deltaY,n()}),e.on(i.getEl("body"),"scroll",n)),n())}}}),r(et,[J,Z],function(e,t){return e.extend({Defaults:{layout:"fit",containerCls:"panel"},Mixins:[t],renderHtml:function(){var e=this,t=e._layout,n=e.settings.html;return e.preRender(),t.preRender(e),"undefined"==typeof n?n='<div id="'+e._id+'-body" class="'+e.classes("body")+'">'+t.renderHtml(e)+"</div>":("function"==typeof n&&(n=n.call(e)),e._hasBody=!1),'<div id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1" role="group">'+(e._preBodyHtml||"")+n+"</div>"}})}),r(tt,[Y],function(e){function t(t,n,r){var i,o,a,s,l,c,u,d,f,p;return f=e.getViewPort(),o=e.getPos(n),a=o.x,s=o.y,t._fixed&&"static"==e.getRuntimeStyle(document.body,"position")&&(a-=f.x,s-=f.y),i=t.getEl(),p=e.getSize(i),l=p.width,c=p.height,p=e.getSize(n),u=p.width,d=p.height,r=(r||"").split(""),"b"===r[0]&&(s+=d),"r"===r[1]&&(a+=u),"c"===r[0]&&(s+=Math.round(d/2)),"c"===r[1]&&(a+=Math.round(u/2)),"b"===r[3]&&(s-=c),"r"===r[4]&&(a-=l),"c"===r[3]&&(s-=Math.round(c/2)),"c"===r[4]&&(a-=Math.round(l/2)),{x:a,y:s,w:l,h:c}}return{testMoveRel:function(n,r){for(var i=e.getViewPort(),o=0;o<r.length;o++){var a=t(this,n,r[o]);if(this._fixed){if(a.x>0&&a.x+a.w<i.w&&a.y>0&&a.y+a.h<i.h)return r[o]}else if(a.x>i.x&&a.x+a.w<i.w+i.x&&a.y>i.y&&a.y+a.h<i.h+i.y)return r[o]}return r[0]},moveRel:function(e,n){"string"!=typeof n&&(n=this.testMoveRel(e,n));var r=t(this,e,n);return this.moveTo(r.x,r.y)},moveBy:function(e,t){var n=this,r=n.layoutRect();return n.moveTo(r.x+e,r.y+t),n},moveTo:function(t,n){function r(e,t,n){return 0>e?0:e+n>t?(e=t-n,0>e?0:e):e}var i=this;if(i.settings.constrainToViewport){var o=e.getViewPort(window),a=i.layoutRect();t=r(t,o.w+o.x,a.w),n=r(n,o.h+o.y,a.h)}return i._rendered?i.layoutRect({x:t,y:n}).repaint():(i.settings.x=t,i.settings.y=n),i.fire("move",{x:t,y:n}),i}}}),r(nt,[Y],function(e){return{resizeToContent:function(){this._layoutRect.autoResize=!0,this._lastRect=null,this.reflow()},resizeTo:function(t,n){if(1>=t||1>=n){var r=e.getWindowSize();t=1>=t?t*r.w:t,n=1>=n?n*r.h:n}return this._layoutRect.autoResize=!1,this.layoutRect({minW:t,minH:n,w:t,h:n}).reflow()},resizeBy:function(e,t){var n=this,r=n.layoutRect();return n.resizeTo(r.w+e,r.h+t)}}}),r(rt,[et,tt,nt,Y],function(e,t,n,r){function i(){function e(e,t){for(;e;){if(e==t)return!0;e=e.parent()}}u||(u=function(t){if(2!=t.button)for(var n=p.length;n--;){var r=p[n],i=r.getParentCtrl(t.target);if(r.settings.autohide){if(i&&(e(i,r)||r.parent()===i))continue;t=r.fire("autohide",{target:t.target}),t.isDefaultPrevented()||r.hide()}}},r.on(document,"click",u))}function o(){d||(d=function(){var e;for(e=p.length;e--;)s(p[e])},r.on(window,"scroll",d))}function a(){if(!f){var e=document.documentElement,t=e.clientWidth,n=e.clientHeight;f=function(){document.all&&t==e.clientWidth&&n==e.clientHeight||(t=e.clientWidth,n=e.clientHeight,g.hideAll())},r.on(window,"resize",f)}}function s(e){function t(t,n){for(var r,i=0;i<p.length;i++)if(p[i]!=e)for(r=p[i].parent();r&&(r=r.parent());)r==e&&p[i].fixed(t).moveBy(0,n).repaint()}var n=r.getViewPort().y;e.settings.autofix&&(e._fixed?e._autoFixY>n&&(e.fixed(!1).layoutRect({y:e._autoFixY}).repaint(),t(!1,e._autoFixY-n)):(e._autoFixY=e.layoutRect().y,e._autoFixY<n&&(e.fixed(!0).layoutRect({y:0}).repaint(),t(!0,n-e._autoFixY))))}function l(e,t){var n,i=g.zIndex||65535,o;if(e)h.push(t);else for(n=h.length;n--;)h[n]===t&&h.splice(n,1);if(h.length)for(n=0;n<h.length;n++)h[n].modal&&(i++,o=h[n]),h[n].getEl().style.zIndex=i,h[n].zIndex=i,i++;var a=document.getElementById(t.classPrefix+"modal-block");o?r.css(a,"z-index",o.zIndex-1):a&&(a.parentNode.removeChild(a),m=!1),g.currentZIndex=i}function c(e){var t;for(t=p.length;t--;)p[t]===e&&p.splice(t,1);for(t=h.length;t--;)h[t]===e&&h.splice(t,1)}var u,d,f,p=[],h=[],m,g=e.extend({Mixins:[t,n],init:function(e){var t=this;t._super(e),t._eventsRoot=t,t.addClass("floatpanel"),e.autohide&&(i(),a(),p.push(t)),e.autofix&&(o(),t.on("move",function(){s(this)})),t.on("postrender show",function(e){if(e.control==t){var n,i=t.classPrefix;t.modal&&!m&&(n=r.createFragment('<div id="'+i+'modal-block" class="'+i+"reset "+i+'fade"></div>'),n=n.firstChild,t.getContainerElm().appendChild(n),setTimeout(function(){r.addClass(n,i+"in"),r.addClass(t.getEl(),i+"in")},0),m=!0),l(!0,t)}}),t.on("show",function(){t.parents().each(function(e){return e._fixed?(t.fixed(!0),!1):void 0})}),e.popover&&(t._preBodyHtml='<div class="'+t.classPrefix+'arrow"></div>',t.addClass("popover").addClass("bottom").addClass(t.isRtl()?"end":"start"))},fixed:function(e){var t=this;if(t._fixed!=e){if(t._rendered){var n=r.getViewPort();e?t.layoutRect().y-=n.y:t.layoutRect().y+=n.y}t.toggleClass("fixed",e),t._fixed=e}return t},show:function(){var e=this,t,n=e._super();for(t=p.length;t--&&p[t]!==e;);return-1===t&&p.push(e),n},hide:function(){return c(this),l(!1,this),this._super()},hideAll:function(){g.hideAll()},close:function(){var e=this;return e.fire("close").isDefaultPrevented()||(e.remove(),l(!1,e)),e},remove:function(){c(this),this._super()},postRender:function(){var e=this;return e.settings.bodyRole&&this.getEl("body").setAttribute("role",e.settings.bodyRole),e._super()}});return g.hideAll=function(){for(var e=p.length;e--;){var t=p[e];t&&t.settings.autohide&&(t.hide(),p.splice(e,1))}},g}),r(it,[rt,et,Y,Q],function(e,t,n,r){var i=e.extend({modal:!0,Defaults:{border:1,layout:"flex",containerCls:"panel",role:"dialog",callbacks:{submit:function(){this.fire("submit",{data:this.toJSON()})},close:function(){this.close()}}},init:function(e){var n=this;n._super(e),n.isRtl()&&n.addClass("rtl"),n.addClass("window"),n._fixed=!0,e.buttons&&(n.statusbar=new t({layout:"flex",border:"1 0 0 0",spacing:3,padding:10,align:"center",pack:n.isRtl()?"start":"end",defaults:{type:"button"},items:e.buttons}),n.statusbar.addClass("foot"),n.statusbar.parent(n)),n.on("click",function(e){-1!=e.target.className.indexOf(n.classPrefix+"close")&&n.close()}),n.on("cancel",function(){n.close()}),n.aria("describedby",n.describedBy||n._id+"-none"),n.aria("label",e.title),n._fullscreen=!1},recalc:function(){var e=this,t=e.statusbar,r,i,o,a;e._fullscreen&&(e.layoutRect(n.getWindowSize()),e.layoutRect().contentH=e.layoutRect().innerH),e._super(),r=e.layoutRect(),e.settings.title&&!e._fullscreen&&(i=r.headerW,i>r.w&&(o=r.x-Math.max(0,i/2),e.layoutRect({w:i,x:o}),a=!0)),t&&(t.layoutRect({w:e.layoutRect().innerW}).recalc(),i=t.layoutRect().minW+r.deltaW,i>r.w&&(o=r.x-Math.max(0,i-r.w),e.layoutRect({w:i,x:o}),a=!0)),a&&e.recalc()},initLayoutRect:function(){var e=this,t=e._super(),r=0,i;if(e.settings.title&&!e._fullscreen){i=e.getEl("head");var o=n.getSize(i);t.headerW=o.width,t.headerH=o.height,r+=t.headerH}e.statusbar&&(r+=e.statusbar.layoutRect().h),t.deltaH+=r,t.minH+=r,t.h+=r;var a=n.getWindowSize();return t.x=Math.max(0,a.w/2-t.w/2),t.y=Math.max(0,a.h/2-t.h/2),t},renderHtml:function(){var e=this,t=e._layout,n=e._id,r=e.classPrefix,i=e.settings,o="",a="",s=i.html;return e.preRender(),t.preRender(e),i.title&&(o='<div id="'+n+'-head" class="'+r+'window-head"><div id="'+n+'-title" class="'+r+'title">'+e.encode(i.title)+'</div><button type="button" class="'+r+'close" aria-hidden="true">\xd7</button><div id="'+n+'-dragh" class="'+r+'dragh"></div></div>'),i.url&&(s='<iframe src="'+i.url+'" tabindex="-1"></iframe>'),"undefined"==typeof s&&(s=t.renderHtml(e)),e.statusbar&&(a=e.statusbar.renderHtml()),'<div id="'+n+'" class="'+e.classes()+'" hidefocus="1"><div class="'+e.classPrefix+'reset" role="application">'+o+'<div id="'+n+'-body" class="'+e.classes("body")+'">'+s+"</div>"+a+"</div></div>"},fullscreen:function(e){var t=this,r=document.documentElement,i,o=t.classPrefix,a;if(e!=t._fullscreen)if(n.on(window,"resize",function(){var e;if(t._fullscreen)if(i)t._timer||(t._timer=setTimeout(function(){var e=n.getWindowSize();t.moveTo(0,0).resizeTo(e.w,e.h),t._timer=0},50));else{e=(new Date).getTime();var r=n.getWindowSize();t.moveTo(0,0).resizeTo(r.w,r.h),(new Date).getTime()-e>50&&(i=!0)}}),a=t.layoutRect(),t._fullscreen=e,e){t._initial={x:a.x,y:a.y,w:a.w,h:a.h},t._borderBox=t.parseBox("0"),t.getEl("head").style.display="none",a.deltaH-=a.headerH+2,n.addClass(r,o+"fullscreen"),n.addClass(document.body,o+"fullscreen"),t.addClass("fullscreen");var s=n.getWindowSize();t.moveTo(0,0).resizeTo(s.w,s.h)}else t._borderBox=t.parseBox(t.settings.border),t.getEl("head").style.display="",a.deltaH+=a.headerH,n.removeClass(r,o+"fullscreen"),n.removeClass(document.body,o+"fullscreen"),t.removeClass("fullscreen"),t.moveTo(t._initial.x,t._initial.y).resizeTo(t._initial.w,t._initial.h);return t.reflow()},postRender:function(){var e=this,t;setTimeout(function(){e.addClass("in")},0),e._super(),e.statusbar&&e.statusbar.postRender(),e.focus(),this.dragHelper=new r(e._id+"-dragh",{start:function(){t={x:e.layoutRect().x,y:e.layoutRect().y}},drag:function(n){e.moveTo(t.x+n.deltaX,t.y+n.deltaY)}}),e.on("submit",function(t){t.isDefaultPrevented()||e.close()})},submit:function(){return this.fire("submit",{data:this.toJSON()})},remove:function(){var e=this,t=e.classPrefix;e.dragHelper.destroy(),e._super(),e.statusbar&&this.statusbar.remove(),e._fullscreen&&(n.removeClass(document.documentElement,t+"fullscreen"),n.removeClass(document.body,t+"fullscreen"))},getContentWindow:function(){var e=this.getEl().getElementsByTagName("iframe")[0];return e?e.contentWindow:null}});return i}),r(ot,[it],function(e){var t=e.extend({init:function(e){e={border:1,padding:20,layout:"flex",pack:"center",align:"center",containerCls:"panel",autoScroll:!0,buttons:{type:"button",text:"Ok",action:"ok"},items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200}},this._super(e)},Statics:{OK:1,OK_CANCEL:2,YES_NO:3,YES_NO_CANCEL:4,msgBox:function(n){function r(e,t,n){return{type:"button",text:e,subtype:n?"primary":"",onClick:function(e){e.control.parents()[1].close(),o(t)}}}var i,o=n.callback||function(){};switch(n.buttons){case t.OK_CANCEL:i=[r("Ok",!0,!0),r("Cancel",!1)];break;case t.YES_NO:case t.YES_NO_CANCEL:i=[r("Yes",1,!0),r("No",0)],n.buttons==t.YES_NO_CANCEL&&i.push(r("Cancel",-1));break;default:i=[r("Ok",!0,!0)]}return new e({padding:20,x:n.x,y:n.y,minWidth:300,minHeight:100,layout:"flex",pack:"center",align:"center",buttons:i,title:n.title,role:"alertdialog",items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200,text:n.text},onPostRender:function(){this.aria("describedby",this.items()[0]._id)},onClose:n.onClose,onCancel:function(){o(!1)}}).renderTo(document.body).reflow()},alert:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,t.msgBox(e)},confirm:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,e.buttons=t.OK_CANCEL,t.msgBox(e)}}});return t}),r(at,[it,ot],function(e,t){return function(n){function r(){return o.length?o[o.length-1]:void 0}var i=this,o=[];i.windows=o,n.on("remove",function(){for(var e=o.length;e--;)o[e].close()}),i.open=function(t,r){var i;return n.editorManager.setActive(n),t.title=t.title||" ",t.url=t.url||t.file,t.url&&(t.width=parseInt(t.width||320,10),t.height=parseInt(t.height||240,10)),t.body&&(t.items={defaults:t.defaults,type:t.bodyType||"form",items:t.body}),t.url||t.buttons||(t.buttons=[{text:"Ok",subtype:"primary",onclick:function(){i.find("form")[0].submit()}},{text:"Cancel",onclick:function(){i.close()}}]),i=new e(t),o.push(i),i.on("close",function(){for(var e=o.length;e--;)o[e]===i&&o.splice(e,1);o.length||n.focus()}),t.data&&i.on("postRender",function(){this.find("*").each(function(e){var n=e.name();n in t.data&&e.value(t.data[n])})}),i.features=t||{},i.params=r||{},1===o.length&&n.nodeChanged(),i.renderTo().reflow()},i.alert=function(e,r,i){t.alert(e,function(){r?r.call(i||this):n.focus()})},i.confirm=function(e,n,r){t.confirm(e,function(e){n.call(r||this,e)})},i.close=function(){r()&&r().close()},i.getParams=function(){return r()?r().params:null},i.setParams=function(e){r()&&(r().params=e)},i.getWindows=function(){return o}}}),r(st,[B,x,_,g,u,d],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",a.dom.getAttrib(e,"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(q.isChildOf(e.target,a.getBody())){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),q.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,l;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("DOMSubtreeModified",e,!1),r.removeEventListener("DOMNodeInsertedIntoDocument",e,!1),r.removeEventListener("DOMNodeInserted",e,!1),r.removeEventListener("DOMAttrModified",t,!1)},this.takeRecords=function(){return n}}),a.on("keydown",function(n){var r=n.keyCode==$,i=e.metaKeyPressed(n);if(!c(n)&&(r||n.keyCode==U)){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)||j.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){var t;a.selection.isCollapsed()&&"IMG"==e.target.tagName&&j.select(e.target),l=j.getRng(),t=a.selection.getContent(),t.length>0&&e.dataTransfer.setData("URL","data:text/mce-internal,"+escape(t))}),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(),window.setTimeout(function(){var r=n.caretRangeFromPoint(e.x,e.y);l&&(j.setRng(l),l=null),t(),j.setRng(r),a.insertContent(i)},0))}}),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=q.create("body"),n=e.cloneContents();return t.appendChild(n),j.serializer.serialize(t,{format:"html"})}function n(n){if(!n.setStart){if(n.item)return!1;var r=n.duplicate();return r.moveToElementText(a.getBody()),t.compareRanges(n,r)}var i=e(n),o=q.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==$||t==U)){if(r=a.selection.isCollapsed(),i=a.getBody(),r&&!q.isEmpty(i))return;if(!r&&!n(a.selection.getRng()))return;e.preventDefault(),a.setContent(""),i.firstChild&&q.isBlock(i.firstChild)?a.selection.setCursorLocation(i.firstChild,0):a.selection.setCursorLocation(i,0),a.nodeChanged()}})}function f(){a.shortcuts.add("ctrl+a",null,"SelectAll")}function p(){a.settings.content_editable||(q.bind(a.getDoc(),"focusin",function(){j.setRng(j.getRng())}),q.bind(a.getDoc(),"mousedown mouseup",function(e){e.target==a.getDoc().documentElement&&(a.getBody().focus(),"mousedown"==e.type?j.placeCaretAt(e.clientX,e.clientY):j.setRng(j.getRng()))}))}function h(){a.on("keydown",function(e){if(!c(e)&&e.keyCode===U){if(!a.getBody().getElementsByTagName("hr").length)return;if(j.isCollapsed()&&0===j.getRng(!0).startOffset){var t=j.getNode(),n=t.previousSibling;if("HR"==t.nodeName)return q.remove(t),void e.preventDefault();n&&n.nodeName&&"hr"===n.nodeName.toLowerCase()&&(q.remove(n),e.preventDefault())}}})}function m(){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){var t=e.target;/^(IMG|HR)$/.test(t.nodeName)&&(e.preventDefault(),j.getSel().setBaseAndExtent(t,0,t,1),a.nodeChanged()),"A"==t.nodeName&&q.hasClass(t,"mce-item-anchor")&&(e.preventDefault(),j.select(t))})}function v(){function e(){var e=q.getAttribs(j.getStart().cloneNode(!1));return function(){var t=j.getStart();t!==a.getBody()&&(q.setAttrib(t,"style",null),V(e,function(e){t.setAttributeNode(e.cloneNode(!0))}))}}function t(){return!j.isCollapsed()&&q.getParent(j.getStart(),q.isBlock)!=q.getParent(j.getEnd(),q.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)}),q.bind(a.getDoc(),"cut",function(n){var r;!c(n)&&t()&&(r=e(),setTimeout(function(){r()},0))})}function y(){document.body.setAttribute("role","application")}function b(){a.on("keydown",function(e){if(!c(e)&&e.keyCode===U&&j.isCollapsed()&&0===j.getRng(!0).startOffset){var t=j.getNode().previousSibling;if(t&&t.nodeName&&"table"===t.nodeName.toLowerCase())return e.preventDefault(),!1}})}function C(){l()>7||(s("RespectVisibilityInDesign",!0),a.contentStyles.push(".mceHideBrInPre pre br {display: none}"),q.addClass(a.getBody(),"mceHideBrInPre"),K.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"}),G.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 x(){q.bind(a.getBody(),"mouseup",function(){var e,t=j.getNode();"IMG"==t.nodeName&&((e=q.getStyle(t,"width"))&&(q.setAttrib(t,"width",e.replace(/[^0-9%]+/g,"")),q.setStyle(t,"width","")),(e=q.getStyle(t,"height"))&&(q.setAttrib(t,"height",e.replace(/[^0-9%]+/g,"")),q.setStyle(t,"height","")))})}function w(){a.on("keydown",function(t){var n,r,i,o,s;if(!c(t)&&t.keyCode==e.BACKSPACE&&(n=j.getRng(),r=n.startContainer,i=n.startOffset,o=q.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=q.createRng(),n.setStart(r,0),n.setEnd(r,0),j.setRng(n))}})}function _(){function e(){a._refreshContentEditable(),s("StyleWithCSS",!1),s("enableInlineTableEditing",!1),Y.object_resizing||s("enableObjectResizing",!1)}Y.readonly||a.on("BeforeExecCommand MouseDown",e)}function E(){function e(){V(q.select("a"),function(e){var t=e.parentNode,n=q.getRoot();if(t.lastChild===e){for(;t&&!q.isBlock(t);){if(t.parentNode.lastChild!==t||t===n)return;t=t.parentNode}q.add(t,"br",{"data-mce-bogus":1})}})}a.on("SetContent ExecCommand",function(t){("setcontent"==t.type||"mceInsertLink"===t.command)&&e()})}function N(){Y.forced_root_block&&a.on("init",function(){s("DefaultParagraphSeparator",Y.forced_root_block)})}function k(){a.on("Undo Redo SetContent",function(e){e.initial||a.execCommand("mceRepaint")})}function S(){a.on("keydown",function(e){var t;c(e)||e.keyCode!=U||(t=a.getDoc().selection.createRange(),t&&t.item&&(e.preventDefault(),a.undoManager.beforeChange(),q.remove(t.item(0)),a.undoManager.add()))})}function T(){var e;l()>=10&&(e="",V("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 R(){l()<9&&(K.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)}),G.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 A(){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(),q.unbind(r,"mouseup",n),q.unbind(r,"mousemove",t),a=o=0}var r=q.doc,i=r.body,o,a,s;r.documentElement.unselectable=!0,q.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&&(q.bind(r,"mouseup",n),q.bind(r,"mousemove",t),q.getRoot().focus(),a.select())}})}function B(){a.on("keyup focusin mouseup",function(t){65==t.keyCode&&e.metaKeyPressed(t)||j.normalize()},!0)}function D(){a.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}")}function L(){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 M(){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 P(){s("AutoUrlDetect",!1)}function O(){a.inline||a.on("focus blur beforegetcontent",function(){var e=a.dom.create("br");a.getBody().appendChild(e),e.parentNode.removeChild(e)},!0)}function I(){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}")}function F(){a.on("touchstart",function(e){var t,n,r,i;t=e.target,n=(new Date).getTime(),i=e.changedTouches,!i||i.length>1||(r=i[0],a.once("touchend",function(e){var i=e.changedTouches[0],o;(new Date).getTime()-n>500||Math.abs(r.clientX-i.clientX)>5||Math.abs(r.clientY-i.clientY)>5||(o={target:t},V("pageX pageY clientX clientY screenX screenY".split(" "),function(e){o[e]=i[e]}),o=a.fire("click",o),o.isDefaultPrevented()||(a.selection.placeCaretAt(i.clientX,i.clientY),a.nodeChanged()))}))})}function z(){a.on("init",function(){a.dom.bind(a.getBody(),"submit",function(e){e.preventDefault()})})}function W(){K.addNodeFilter("br",function(e){for(var t=e.length;t--;)"Apple-interchange-newline"==e[t].attr("class")&&e[t].remove()})}var V=o.each,U=e.BACKSPACE,$=e.DELETE,q=a.dom,j=a.selection,Y=a.settings,K=a.parser,G=a.serializer,X=i.gecko,J=i.ie,Q=i.webkit;w(),d(),B(),Q&&(u(),p(),g(),N(),z(),b(),W(),F(),i.iOS?(L(),H(),I()):f()),J&&i.ie<11&&(h(),y(),C(),x(),S(),T(),R(),A()),i.ie>=11&&(H(),O(),b()),i.ie&&(f(),P()),X&&(h(),m(),v(),_(),E(),k(),D(),M(),b())}}),r(lt,[$],function(e){function t(t){return t._eventDispatcher||(t._eventDispatcher=new e({scope:t,toggleEvent:function(n,r){e.isNative(n)&&t.toggleNativeEvent&&t.toggleNativeEvent(n,r)}})),t._eventDispatcher}return{fire:function(e,n,r){var i=this;if(i.removed&&"remove"!==e)return n;if(n=t(i).fire(e,n,r),r!==!1&&i.parent)for(var o=i.parent();o&&!n.isPropagationStopped();)o.fire(e,n,!1),o=o.parent();return n},on:function(e,n,r){return t(this).on(e,n,r)},off:function(e,n){return t(this).off(e,n)},once:function(e,n){return t(this).once(e,n)},hasEventListeners:function(e){return t(this).has(e)}}}),r(ct,[lt,y,d],function(e,t,n){function r(e,t){return"selectionchange"==t?e.getDoc():!e.inline&&/^mouse|click|contextmenu|drop|dragover|dragend/.test(t)?e.getDoc().documentElement:e.settings.event_root?(e.eventRoot||(e.eventRoot=o.select(e.settings.event_root)[0]),e.eventRoot):e.getBody()}function i(e,t){var n=r(e,t),i;if(e.delegates||(e.delegates={}),!e.delegates[t])if(e.settings.event_root){if(a||(a={},e.editorManager.on("removeEditor",function(){var t;if(!e.editorManager.activeEditor&&a){for(t in a)e.dom.unbind(r(e,t));a=null}})),a[t])return;i=function(n){for(var r=n.target,i=e.editorManager.editors,a=i.length;a--;){var s=i[a].getBody();(s===r||o.isChildOf(r,s))&&(i[a].hidden||i[a].fire(t,n))}},a[t]=i,o.bind(n,t,i)}else i=function(n){e.hidden||e.fire(t,n)},o.bind(n,t,i),e.delegates[t]=i}var o=t.DOM,a,s={bindPendingEventDelegates:function(){var e=this;n.each(e._pendingNativeEvents,function(t){i(e,t)})},toggleNativeEvent:function(e,t){var n=this;n.settings.readonly||"focus"!=e&&"blur"!=e&&(t?n.initialized?i(n,e):n._pendingNativeEvents?n._pendingNativeEvents.push(e):n._pendingNativeEvents=[e]:n.initialized&&(n.dom.unbind(r(n,e),e,n.delegates[e]),delete n.delegates[e]))},unbindAllNativeEvents:function(){var e=this,t;if(e.delegates){for(t in e.delegates)e.dom.unbind(r(e,t),t,e.delegates[t]);delete e.delegates}e.inline||(e.getBody().onload=null,e.dom.unbind(e.getWin()),e.dom.unbind(e.getDoc())),e.dom.unbind(e.getBody()),e.dom.unbind(e.getContainer())}};return s=n.extend({},e,s)}),r(ut,[d,u],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)&&!e.isDefaultPrevented()&&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:/^[0-9]{2,}$/.test(e)?t.keyCode=parseInt(e,10):(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(dt,[y,f,C,w,_,R,T,H,O,I,F,z,W,V,b,l,at,E,k,st,u,d,ct,ut],function(e,n,r,i,o,a,s,l,c,u,d,f,p,h,m,g,v,y,b,C,x,w,_,E){function N(e,t,i){var o=this,a,s;a=o.documentBaseUrl=i.documentBaseURL,s=i.baseURI,o.settings=t=R({id:e,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:a,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:"<!DOCTYPE html>",visual:!0,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",forced_root_block:"p",hidden_input:!0,padd_empty_editor:!0,render_ui:!0,indentation:"30px",inline_styles:!0,convert_fonts_to_spans:!0,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",validate:!0,entity_encoding:"named",url_converter:o.convertURL,url_converter_scope:o,ie7_compat:!0},t),r.language=t.language||"en",r.languageLoad=t.language_load,r.baseURL=i.baseURL,o.id=t.id=e,o.isNotDirty=!0,o.plugins={},o.documentBaseURI=new h(t.document_base_url||a,{base_uri:s}),o.baseURI=s,o.contentCSS=[],o.contentStyles=[],o.shortcuts=new E(o),o.execCommands={},o.queryStateCommands={},o.queryValueCommands={},o.loadedCSS={},t.target&&(o.targetElm=t.target),o.suffix=i.suffix,o.editorManager=i,o.inline=t.inline,t.cache_suffix&&(x.cacheSuffix=t.cache_suffix.replace(/^[\?\&]+/,"")),i.fire("SetupEditor",o),o.execCallback("setup",o),o.$=n.overrideDefaults(function(){return{context:o.inline?o.getBody():o.getDoc(),element:o.getBody()}})}var k=e.DOM,S=r.ThemeManager,T=r.PluginManager,R=w.extend,A=w.each,B=w.explode,D=w.inArray,L=w.trim,H=w.resolve,M=g.Event,P=x.gecko,O=x.ie;return N.prototype={render:function(){function e(){k.unbind(window,"ready",e),n.render()}function t(){var e=m.ScriptLoader;if(r.language&&"en"!=r.language&&!r.language_url&&(r.language_url=n.editorManager.baseURL+"/langs/"+r.language+".js"),r.language_url&&e.add(r.language_url),r.theme&&"function"!=typeof r.theme&&"-"!=r.theme.charAt(0)&&!S.urls[r.theme]){var t=r.theme_url;t=t?n.documentBaseURI.toAbsolute(t):"themes/"+r.theme+"/theme"+o+".js",S.load(r.theme,t)}w.isArray(r.plugins)&&(r.plugins=r.plugins.join(" ")),A(r.external_plugins,function(e,t){T.load(t,e),r.plugins+=" "+t}),A(r.plugins.split(/[ ,]/),function(e){if(e=L(e),e&&!T.urls[e])if("-"==e.charAt(0)){e=e.substr(1,e.length);var t=T.dependencies(e);A(t,function(e){var t={prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"};e=T.createUrl(t,e),T.load(e.resource,e)})}else T.load(e,{prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"})}),e.loadQueue(function(){n.removed||n.init()})}var n=this,r=n.settings,i=n.id,o=n.suffix;if(!M.domLoaded)return void k.bind(window,"ready",e);if(n.getElement()&&x.contentEditable){r.inline?n.inline=!0:(n.orgVisibility=n.getElement().style.visibility,n.getElement().style.visibility="hidden");var a=n.getElement().form||k.getParent(i,"form");a&&(n.formElement=a,r.hidden_input&&!/TEXTAREA|INPUT/i.test(n.getElement().nodeName)&&(k.insertAfter(k.create("input",{type:"hidden",name:i}),i),n.hasHiddenInput=!0),n.formEventDelegate=function(e){n.fire(e.type,e)},k.bind(a,"submit reset",n.formEventDelegate),n.on("reset",function(){n.setContent(n.startContent,{format:"raw"})}),!r.submit_patch||a.submit.nodeType||a.submit.length||a._mceOldSubmit||(a._mceOldSubmit=a.submit,a.submit=function(){return n.editorManager.triggerSave(),n.isNotDirty=!0,a._mceOldSubmit(a)})),n.windowManager=new v(n),"xml"==r.encoding&&n.on("GetContent",function(e){e.save&&(e.content=k.encode(e.content))}),r.add_form_submit_trigger&&n.on("submit",function(){n.initialized&&n.save()}),r.add_unload_trigger&&(n._beforeUnload=function(){!n.initialized||n.destroyed||n.isHidden()||n.save({format:"raw",no_events:!0,set_dirty:!1})},n.editorManager.on("BeforeUnload",n._beforeUnload)),t()}},init:function(){function e(n){var r=T.get(n),i,o;i=T.urls[n]||t.documentBaseUrl.replace(/\/$/,""),n=L(n),r&&-1===D(m,n)&&(A(T.dependencies(n),function(t){e(t)}),o=new r(t,i,t.$),t.plugins[n]=o,o.init&&(o.init(t,i),m.push(n)))}var t=this,n=t.settings,r=t.getElement(),i,o,a,s,l,c,u,d,f,p,h,m=[];if(t.rtl=this.editorManager.i18n.rtl,t.editorManager.add(t),n.aria_label=n.aria_label||k.getAttrib(r,"aria-label",t.getLang("aria.rich_text_area")),n.theme&&("function"!=typeof n.theme?(n.theme=n.theme.replace(/-/,""),c=S.get(n.theme),t.theme=new c(t,S.urls[n.theme]),t.theme.init&&t.theme.init(t,S.urls[n.theme]||t.documentBaseUrl.replace(/\/$/,""),t.$)):t.theme=n.theme),A(n.plugins.replace(/\-/g,"").split(/[ ,]/),e),n.render_ui&&t.theme&&(t.orgDisplay=r.style.display,"function"!=typeof n.theme?(i=n.width||r.style.width||r.offsetWidth,o=n.height||r.style.height||r.offsetHeight,a=n.min_height||100,p=/^[0-9\.]+(|px)$/i,p.test(""+i)&&(i=Math.max(parseInt(i,10),100)),p.test(""+o)&&(o=Math.max(parseInt(o,10),a)),l=t.theme.renderUI({targetNode:r,width:i,height:o,deltaWidth:n.delta_width,deltaHeight:n.delta_height}),n.content_editable||(o=(l.iframeHeight||o)+("number"==typeof o?l.deltaHeight||0:""),a>o&&(o=a))):(l=n.theme(t,r),l.editorContainer.nodeType&&(l.editorContainer=l.editorContainer.id=l.editorContainer.id||t.id+"_parent"),l.iframeContainer.nodeType&&(l.iframeContainer=l.iframeContainer.id=l.iframeContainer.id||t.id+"_iframecontainer"),o=l.iframeHeight||r.offsetHeight),t.editorContainer=l.editorContainer),n.content_css&&A(B(n.content_css),function(e){t.contentCSS.push(t.documentBaseURI.toAbsolute(e))}),n.content_style&&t.contentStyles.push(n.content_style),n.content_editable)return r=s=l=null,t.initContentBody();for(t.iframeHTML=n.doctype+"<html><head>",n.document_base_url!=t.documentBaseUrl&&(t.iframeHTML+='<base href="'+t.documentBaseURI.getURI()+'" />'),!x.caretAfter&&n.ie7_compat&&(t.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'),t.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />',h=0;h<t.contentCSS.length;h++){var g=t.contentCSS[h];t.iframeHTML+='<link type="text/css" rel="stylesheet" href="'+w._addCacheSuffix(g)+'" />',t.loadedCSS[g]=!0}d=n.body_id||"tinymce",-1!=d.indexOf("=")&&(d=t.getParam("body_id","","hash"),d=d[t.id]||d),f=n.body_class||"",-1!=f.indexOf("=")&&(f=t.getParam("body_class","","hash"),f=f[t.id]||""),n.content_security_policy&&(t.iframeHTML+='<meta http-equiv="Content-Security-Policy" content="'+n.content_security_policy+'" />'),t.iframeHTML+='</head><body id="'+d+'" class="mce-content-body '+f+'" data-id="'+t.id+'"><br></body></html>';var v='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinymce.get("'+t.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody(true);})()';document.domain!=location.hostname&&(u=v);var y=k.create("iframe",{id:t.id+"_ifr",frameBorder:"0",allowTransparency:"true",title:t.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),style:{width:"100%",height:o,display:"block"}});if(y.onload=function(){y.onload=null,t.fire("load")},k.setAttrib(y,"src",u||'javascript:""'),t.contentAreaContainer=l.iframeContainer,t.iframeElement=y,s=k.add(l.iframeContainer,y),O)try{t.getDoc()}catch(b){s.src=u=v}l.editorContainer&&(k.get(l.editorContainer).style.display=t.orgDisplay,t.hidden=k.isHidden(l.editorContainer)),t.getElement().style.display="none",k.setAttrib(t.id,"aria-hidden",!0),u||t.initContentBody(),r=s=l=null},initContentBody:function(t){var n=this,r=n.settings,s=n.getElement(),h=n.getDoc(),m,g;r.inline||(n.getElement().style.visibility=n.orgVisibility),t||r.content_editable||(h.open(),h.write(n.iframeHTML),h.close()),r.content_editable&&(n.on("remove",function(){var e=this.getBody();k.removeClass(e,"mce-content-body"),k.removeClass(e,"mce-edit-focus"),k.setAttrib(e,"contentEditable",null)}),k.addClass(s,"mce-content-body"),n.contentDocument=h=r.content_document||document,n.contentWindow=r.content_window||window,n.bodyElement=s,r.content_document=r.content_window=null,r.root_name=s.nodeName.toLowerCase()),m=n.getBody(),m.disabled=!0,r.readonly||(n.inline&&"static"==k.getStyle(m,"position",!0)&&(m.style.position="relative"),m.contentEditable=n.getParam("content_editable_state",!0)),m.disabled=!1,n.schema=new y(r),n.dom=new e(h,{keep_values:!0,url_converter:n.convertURL,url_converter_scope:n,hex_colors:r.force_hex_style_colors,class_filter:r.class_filter,update_styles:!0,root_element:n.inline?n.getBody():null,collect:r.content_editable,schema:n.schema,onSetAttrib:function(e){n.fire("SetAttrib",e)}}),n.parser=new b(r,n.schema),n.parser.addAttributeFilter("src,href,style,tabindex",function(e,t){for(var r=e.length,i,o=n.dom,a,s;r--;)i=e[r],a=i.attr(t),s="data-mce-"+t,i.attributes.map[s]||("style"===t?(a=o.serializeStyle(o.parseStyle(a),i.name),a.length||(a=null),i.attr(s,a),i.attr(t,a)):"tabindex"===t?(i.attr(s,a),i.attr(t,null)):i.attr(s,n.convertURL(a,t,i.name)))}),n.parser.addNodeFilter("script",function(e){for(var t=e.length,n;t--;)n=e[t],n.attr("type","mce-"+(n.attr("type")||"no/type"))}),n.parser.addNodeFilter("#cdata",function(e){for(var t=e.length,n;t--;)n=e[t],n.type=8,n.name="#comment",n.value="[CDATA["+n.value+"]]"}),n.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(e){for(var t=e.length,r,i=n.schema.getNonEmptyElements();t--;)r=e[t],r.isEmpty(i)&&(r.append(new o("br",1)).shortEnded=!0)}),n.serializer=new a(r,n),n.selection=new l(n.dom,n.getWin(),n.serializer,n),n.formatter=new c(n),n.undoManager=new u(n),n.forceBlocks=new f(n),n.enterKey=new d(n),n.editorCommands=new p(n),n._nodeChangeDispatcher=new i(n),n.fire("PreInit"),r.browser_spellcheck||r.gecko_spellcheck||(h.body.spellcheck=!1,k.setAttrib(m,"spellcheck","false")),n.fire("PostRender"),n.quirks=new C(n),r.directionality&&(m.dir=r.directionality),r.nowrap&&(m.style.whiteSpace="nowrap"),r.protect&&n.on("BeforeSetContent",function(e){A(r.protect,function(t){e.content=e.content.replace(t,function(e){return"<!--mce:protected "+escape(e)+"-->"})})}),n.on("SetContent",function(){n.addVisual(n.getBody())}),r.padd_empty_editor&&n.on("PostProcess",function(e){e.content=e.content.replace(/^(<p[^>]*>(&nbsp;|&#160;|\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")}),n.load({initial:!0,format:"html"}),n.startContent=n.getContent({format:"raw"}),n.initialized=!0,n.bindPendingEventDelegates(),n.fire("init"),n.focus(!0),n.nodeChanged({initial:!0}),n.execCallback("init_instance_callback",n),n.contentStyles.length>0&&(g="",A(n.contentStyles,function(e){g+=e+"\r\n"}),n.dom.addStyle(g)),A(n.contentCSS,function(e){n.loadedCSS[e]||(n.dom.loadCSS(e),n.loadedCSS[e]=!0)}),r.auto_focus&&setTimeout(function(){var e;e=r.auto_focus===!0?n:n.editorManager.get(r.auto_focus),e.focus()},100),s=h=m=null},focus:function(e){var t=this,n=t.selection,r=t.settings.content_editable,i,o,a=t.getDoc(),s;if(!e){if(i=n.getRng(),i.item&&(o=i.item(0)),t._refreshContentEditable(),r||(x.opera||t.getBody().focus(),t.getWin().focus()),P||r){if(s=t.getBody(),s.setActive)try{s.setActive()}catch(l){s.focus()}else s.focus();r&&n.normalize()}o&&o.ownerDocument==a&&(i=a.body.createControlRange(),i.addElement(o),i.select())}t.editorManager.setActive(t)},execCallback:function(e){var t=this,n=t.settings[e],r;if(n)return t.callbackLookup&&(r=t.callbackLookup[e])&&(n=r.func,r=r.scope),"string"==typeof n&&(r=n.replace(/\.\w+$/,""),r=r?H(r):0,n=H(n),t.callbackLookup=t.callbackLookup||{},t.callbackLookup[e]={func:n,scope:r}),n.apply(r||t,Array.prototype.slice.call(arguments,1))},translate:function(e){var t=this.settings.language||"en",n=this.editorManager.i18n;return e?n.data[t+"."+e]||e.replace(/\{\#([^\}]+)\}/g,function(e,r){return n.data[t+"."+r]||"{#"+r+"}"}):""},getLang:function(e,n){return this.editorManager.i18n.data[(this.settings.language||"en")+"."+e]||(n!==t?n:"{#"+e+"}")},getParam:function(e,t,n){var r=e in this.settings?this.settings[e]:t,i;return"hash"===n?(i={},"string"==typeof r?A(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(e){this._nodeChangeDispatcher.nodeChanged(e)},addButton:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),t.text||t.icon||(t.icon=e),n.buttons=n.buttons||{},t.tooltip=t.tooltip||t.title,n.buttons[e]=t},addMenuItem:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),n.menuItems=n.menuItems||{},n.menuItems[e]=t},addCommand:function(e,t,n){this.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;if(/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(e)||r&&r.skip_focus||i.focus(),r=R({},r),r=i.fire("BeforeExecCommand",{command:e,ui:t,value:n}),r.isDefaultPrevented())return!1;if((a=i.execCommands[e])&&a.func.call(a.scope,t,n)!==!0)return i.fire("ExecCommand",{command:e,ui:t,value:n}),!0;if(A(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)return o;if(i.theme&&i.theme.execCommand&&i.theme.execCommand(e,t,n))return i.fire("ExecCommand",{command:e,ui:t,value:n}),!0;if(i.editorCommands.execCommand(e,t,n))return i.fire("ExecCommand",{command:e,ui:t,value:n}),!0;try{o=i.getDoc().execCommand(e,t,n)}catch(s){}return o?(i.fire("ExecCommand",{command:e,ui:t,value:n}),!0):!1},queryCommandState:function(e){var t=this,n,r;if(!t._isHidden()){if((n=t.queryStateCommands[e])&&(r=n.func.call(n.scope),r===!0||r===!1))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.hidden&&(e.hidden=!1,e.inline?e.getBody().contentEditable=!0:(k.show(e.getContainer()),k.hide(e.id)),e.load(),e.fire("show"))},hide:function(){var e=this,t=e.getDoc();e.hidden||(O&&t&&!e.inline&&t.execCommand("SelectAll"),e.save(),e.inline?(e.getBody().contentEditable=!1,e==e.editorManager.focusedEditor&&(e.editorManager.focusedEditor=null)):(k.hide(e.getContainer()),k.setStyle(e.id,"display",e.orgDisplay)),e.hidden=!0,e.fire("hide"))},isHidden:function(){return!!this.hidden},setProgressState:function(e,t){this.fire("ProgressState",{state:e,time:t})},load:function(e){var n=this,r=n.getElement(),i;return r?(e=e||{},e.load=!0,i=n.setContent(r.value!==t?r.value:r.innerHTML,e),e.element=r,e.no_events||n.fire("LoadContent",e),e.element=r=null,i):void 0},save:function(e){var t=this,n=t.getElement(),r,i;if(n&&t.initialized)return e=e||{},e.save=!0,e.element=n,r=e.content=t.getContent(e),e.no_events||t.fire("SaveContent",e),r=e.content,/TEXTAREA|INPUT/i.test(n.nodeName)?n.value=r:(t.inline||(n.innerHTML=r),(i=k.getParent(t.id,"form"))&&A(i.elements,function(e){return e.name==t.id?(e.value=r,!1):void 0})),e.element=n=null,e.set_dirty!==!1&&(t.isNotDirty=!0),r},setContent:function(e,t){var n=this,r=n.getBody(),i;return t=t||{},t.format=t.format||"html",t.set=!0,t.content=e,t.no_events||n.fire("BeforeSetContent",t),e=t.content,0===e.length||/^\s+$/.test(e)?(i=n.settings.forced_root_block,i&&n.schema.isValidChild(r.nodeName.toLowerCase(),i.toLowerCase())?(e=O&&11>O?"":'<br data-mce-bogus="1">',e=n.dom.createHTML(i,n.settings.forced_root_block_attrs,e)):O||(e='<br data-mce-bogus="1">'),n.dom.setHTML(r,e),n.fire("SetContent",t)):("raw"!==t.format&&(e=new s({},n.schema).serialize(n.parser.parse(e,{isRootContent:!0}))),t.content=L(e),n.dom.setHTML(r,t.content),t.no_events||n.fire("SetContent",t)),t.content},getContent:function(e){var t=this,n,r=t.getBody();return e=e||{},e.format=e.format||"html",e.get=!0,e.getInner=!0,e.no_events||t.fire("BeforeGetContent",e),n="raw"==e.format?r.innerHTML:"text"==e.format?r.innerText||r.textContent:t.serializer.serialize(r,e),e.content="text"!=e.format?L(n):n,e.no_events||t.fire("GetContent",e),e.content},insertContent:function(e,t){t&&(e=R({content:e},t)),this.execCommand("mceInsertContent",!1,e)},isDirty:function(){return!this.isNotDirty},getContainer:function(){var e=this;return e.container||(e.container=k.get(e.editorContainer||e.id+"_parent")),e.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return this.targetElm||(this.targetElm=k.get(this.id)),this.targetElm},getWin:function(){var e=this,t;return e.contentWindow||(t=e.iframeElement,t&&(e.contentWindow=t.contentWindow)),e.contentWindow},getDoc:function(){var e=this,t;return e.contentDocument||(t=e.getWin(),t&&(e.contentDocument=t.document)),e.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(e,t,n){var r=this,i=r.settings;return i.urlconverter_callback?r.execCallback("urlconverter_callback",e,n,!0,t):!i.convert_urls||n&&"LINK"==n.nodeName||0===e.indexOf("file:")||0===e.length?e:i.relative_urls?r.documentBaseURI.toRelative(e):e=r.documentBaseURI.toAbsolute(e,i.remove_script_host)},addVisual:function(e){var n=this,r=n.settings,i=n.dom,o;e=e||n.getBody(),n.hasVisual===t&&(n.hasVisual=r.visual),A(i.select("table,a",e),function(e){var t;switch(e.nodeName){case"TABLE":return o=r.visual_table_class||"mce-item-table",t=i.getAttrib(e,"border"),void(t&&"0"!=t||!n.hasVisual?i.removeClass(e,o):i.addClass(e,o));case"A":return void(i.getAttrib(e,"href",!1)||(t=i.getAttrib(e,"name")||e.id,o=r.visual_anchor_class||"mce-item-anchor",t&&n.hasVisual?i.addClass(e,o):i.removeClass(e,o)))}}),n.fire("VisualAid",{element:e,hasVisual:n.hasVisual})},remove:function(){var e=this;e.removed||(e.save(),e.removed=1,e.unbindAllNativeEvents(),e.hasHiddenInput&&k.remove(e.getElement().nextSibling),e.inline||(O&&10>O&&e.getDoc().execCommand("SelectAll",!1,null),k.setStyle(e.id,"display",e.orgDisplay),e.getBody().onload=null),e.fire("remove"),e.editorManager.remove(e),k.remove(e.getContainer()),e.destroy())},destroy:function(e){var t=this,n;if(!t.destroyed){if(!e&&!t.removed)return void t.remove();e||(t.editorManager.off("beforeunload",t._beforeUnload),t.theme&&t.theme.destroy&&t.theme.destroy(),t.selection.destroy(),t.dom.destroy()),n=t.formElement,n&&(n._mceOldSubmit&&(n.submit=n._mceOldSubmit,n._mceOldSubmit=null),k.unbind(n,"submit reset",t.formEventDelegate)),t.contentAreaContainer=t.formElement=t.container=t.editorContainer=null,t.bodyElement=t.contentDocument=t.contentWindow=null,t.iframeElement=t.targetElm=null,t.selection&&(t.selection=t.selection.win=t.selection.dom=t.selection.dom.doc=null),t.destroyed=1}},_refreshContentEditable:function(){var e=this,t,n;e._isHidden()&&(t=e.getBody(),n=t.parentNode,n.removeChild(t),n.appendChild(t),t.focus())},_isHidden:function(){var e;return P?(e=this.selection.getSel(),!e||!e.rangeCount||0===e.rangeCount):0}},R(N.prototype,_),N}),r(ft,[],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(pt,[y,u],function(e,t){function n(e){function s(){try{return document.activeElement}catch(e){return document.body}}function l(e,t){if(t&&t.startContainer){if(!e.isChildOf(t.startContainer,e.getRoot())||!e.isChildOf(t.endContainer,e.getRoot()))return;return{startContainer:t.startContainer,startOffset:t.startOffset,endContainer:t.endContainer,endOffset:t.endOffset}}return t}function c(e,t){var n;return t.startContainer?(n=e.getDoc().createRange(),n.setStart(t.startContainer,t.startOffset),n.setEnd(t.endContainer,t.endOffset)):n=t,n}function u(e){return!!a.getParent(e,n.isEditorUIElement)}function d(n){var d=n.editor;d.on("init",function(){(d.inline||t.ie)&&("onbeforedeactivate"in document&&t.ie<9?d.dom.bind(d.getBody(),"beforedeactivate",function(e){if(e.target==d.getBody())try{d.lastRng=d.selection.getRng()}catch(t){}}):d.on("nodechange mouseup keyup",function(e){var t=s();"nodechange"==e.type&&e.selectionChange||(t&&t.id==d.id+"_ifr"&&(t=d.getBody()),d.dom.isChildOf(t,d.getBody())&&(d.lastRng=d.selection.getRng()))}),t.webkit&&!r&&(r=function(){var t=e.activeEditor;if(t&&t.selection){var n=t.selection.getRng();n&&!n.collapsed&&(d.lastRng=n)}},a.bind(document,"selectionchange",r)))}),d.on("setcontent",function(){d.lastRng=null}),d.on("mousedown",function(){d.selection.lastFocusBookmark=null}),d.on("focusin",function(){var t=e.focusedEditor;d.selection.lastFocusBookmark&&(d.selection.setRng(c(d,d.selection.lastFocusBookmark)),d.selection.lastFocusBookmark=null),t!=d&&(t&&t.fire("blur",{focusedEditor:d}),e.setActive(d),e.focusedEditor=d,d.fire("focus",{blurredEditor:t}),d.focus(!0)),d.lastRng=null}),d.on("focusout",function(){window.setTimeout(function(){var t=e.focusedEditor;u(s())||t!=d||(d.fire("blur",{focusedEditor:null}),e.focusedEditor=null,d.selection&&(d.selection.lastFocusBookmark=null))},0)}),i||(i=function(t){var n=e.activeEditor;n&&t.target.ownerDocument==document&&(n.selection&&t.target!=n.getBody()&&(n.selection.lastFocusBookmark=l(n.dom,n.lastRng)),t.target==document.body||u(t.target)||e.focusedEditor!=n||(n.fire("blur",{focusedEditor:null}),e.focusedEditor=null))},a.bind(document,"focusin",i)),d.inline&&!o&&(o=function(t){var n=e.activeEditor;if(n.inline&&!n.dom.isChildOf(t.target,n.getBody())){var r=n.selection.getRng();r.collapsed||(n.lastRng=r)}},a.bind(document,"mouseup",o))}function f(t){e.focusedEditor==t.editor&&(e.focusedEditor=null),e.activeEditor||(a.unbind(document,"selectionchange",r),a.unbind(document,"focusin",i),a.unbind(document,"mouseup",o),r=i=o=null)}e.on("AddEditor",d),e.on("RemoveEditor",f)}var r,i,o,a=e.DOM;return n.isEditorUIElement=function(e){return-1!==e.className.toString().indexOf("mce-")},n}),r(ht,[dt,f,y,V,u,d,lt,ft,pt],function(e,t,n,r,i,o,a,s,l){function c(e){var t=v.editors,n;delete t[e.id];for(var r=0;r<t.length;r++)if(t[r]==e){t.splice(r,1),n=!0;break}return v.activeEditor==e&&(v.activeEditor=t[0]),v.focusedEditor==e&&(v.focusedEditor=null),n}function u(e){return e&&!(e.getContainer()||e.getBody()).parentNode&&(c(e),e.unbindAllNativeEvents(),e.destroy(!0),e=null),e}var d=n.DOM,f=o.explode,p=o.each,h=o.extend,m=0,g,v;return v={$:t,majorVersion:"4",minorVersion:"1.7",releaseDate:"2014-11-27",editors:[],i18n:s,activeEditor:null,setup:function(){var e=this,t,n,i="",o,a;if(n=document.location.href,/^[^:]+:\/\/\/?[^\/]+\//.test(n)&&(n=n.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(n)||(n+="/")),o=window.tinymce||window.tinyMCEPreInit)t=o.base||o.baseURL,i=o.suffix;else{for(var s=document.getElementsByTagName("script"),c=0;c<s.length;c++)if(a=s[c].src,/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(a)){-1!=a.indexOf(".min")&&(i=".min"),t=a.substring(0,a.lastIndexOf("/"));break}!t&&document.currentScript&&(a=document.currentScript.src,-1!=a.indexOf(".min")&&(i=".min"),t=a.substring(0,a.lastIndexOf("/")))}e.baseURL=new r(n).toAbsolute(t),e.documentBaseURL=n,e.baseURI=new r(e.baseURL),e.suffix=i,e.focusManager=new l(e)},init:function(t){function n(e){var t=e.id;return t||(t=e.name,t=t&&!d.get(t)?e.name:d.uniqueId(),e.setAttribute("id",t)),t}function r(t,n,r){if(!u(s.get(t))){var i=new e(t,n,s);i.targetElm=i.targetElm||r,l.push(i),i.render()}}function i(e){var n=t[e];if(n)return n.apply(s,Array.prototype.slice.call(arguments,2))}function o(e,t){return t.constructor===RegExp?t.test(e.className):d.hasClass(e,t)}function a(){var e,s;if(d.unbind(window,"ready",a),i("onpageload"),t.types)return void p(t.types,function(e){p(d.select(e.selector),function(i){r(n(i),h({},t,e),i)})});if(t.selector)return void p(d.select(t.selector),function(e){r(n(e),t,e)});switch(t.target&&r(n(t.target),t),t.mode){case"exact":e=t.elements||"",e.length>0&&p(f(e),function(e){var n;(n=d.get(e))?r(e,t,n):p(document.forms,function(n){p(n.elements,function(n){n.name===e&&(e="mce_editor_"+m++,d.setAttrib(n,"id",e),r(e,t,n))})})});break;case"textareas":case"specific_textareas":p(d.select("textarea"),function(e){t.editor_deselector&&o(e,t.editor_deselector)||(!t.editor_selector||o(e,t.editor_selector))&&r(n(e),t,e)})}t.oninit&&(e=s=0,p(l,function(t){s++,t.initialized?e++:t.on("init",function(){e++,e==s&&i("oninit")}),e==s&&i("oninit")}))}var s=this,l=[];s.settings=t,d.bind(window,"ready",a)},get:function(e){return arguments.length?e in this.editors?this.editors[e]:null:this.editors},add:function(e){var t=this,n=t.editors;return n[e.id]=e,n.push(e),t.activeEditor=e,t.fire("AddEditor",{editor:e}),g||(g=function(){t.fire("BeforeUnload")},d.bind(window,"beforeunload",g)),e},createEditor:function(t,n){return this.add(new e(t,n,this))},remove:function(e){var t=this,n,r=t.editors,i;{if(e)return"string"==typeof e?(e=e.selector||e,void p(d.select(e),function(e){i=r[e.id],i&&t.remove(i)})):(i=e,r[i.id]?(c(i)&&t.fire("RemoveEditor",{editor:i}),r.length||d.unbind(window,"beforeunload",g),i.remove(),i):null);for(n=r.length-1;n>=0;n--)t.remove(r[n])}},execCommand:function(t,n,r){var i=this,o=i.get(r);switch(t){case"mceAddEditor":return i.get(r)||new e(r,i.settings,i).render(),!0;case"mceRemoveEditor":return o&&o.remove(),!0;case"mceToggleEditor":return o?(o.isHidden()?o.show():o.hide(),!0):(i.execCommand("mceAddEditor",0,r),!0)}return i.activeEditor?i.activeEditor.execCommand(t,n,r):!1},triggerSave:function(){p(this.editors,function(e){e.save()})},addI18n:function(e,t){s.add(e,t)},translate:function(e){return s.translate(e)},setActive:function(e){var t=this.activeEditor;this.activeEditor!=e&&(t&&t.fire("deactivate",{relatedTarget:e}),e.fire("activate",{relatedTarget:t})),this.activeEditor=e}},h(v,a),v.setup(),window.tinymce=window.tinyMCE=v,v}),r(mt,[ht,d],function(e,t){var n=t.each,r=t.explode;e.on("AddEditor",function(e){var t=e.editor;t.on("preInit",function(){function e(e,t){n(t,function(t,n){t&&s.setStyle(e,n,t)}),s.rename(e,"span")}function i(e){s=t.dom,l.convert_fonts_to_spans&&n(s.select("font,u,strike",e.node),function(e){o[e.nodeName.toLowerCase()](s,e)})}var o,a,s,l=t.settings;l.inline_styles&&(a=r(l.font_size_legacy_values),o={font:function(t,n){e(n,{backgroundColor:n.style.backgroundColor,color:n.color,fontFamily:n.face,fontSize:a[parseInt(n.size,10)-1]})},u:function(t,n){e(n,{textDecoration:"underline"})},strike:function(t,n){e(n,{textDecoration:"line-through"})}},t.on("PreProcess SetContent",i))})})}),r(gt,[lt,d],function(e,t){var n={send:function(e){function t(){!e.async||4==r.readyState||i++>1e4?(e.success&&1e4>i&&200==r.status?e.success.call(e.success_scope,""+r.responseText,r,e):e.error&&e.error.call(e.error_scope,i>1e4?"TIMED_OUT":"GENERAL",r,e),r=null):setTimeout(t,10)}var r,i=0;if(e.scope=e.scope||this,e.success_scope=e.success_scope||e.scope,e.error_scope=e.error_scope||e.scope,e.async=e.async===!1?!1:!0,e.data=e.data||"",r=new XMLHttpRequest){if(r.overrideMimeType&&r.overrideMimeType(e.content_type),r.open(e.type||(e.data?"POST":"GET"),e.url,e.async),e.crossDomain&&(r.withCredentials=!0),e.content_type&&r.setRequestHeader("Content-Type",e.content_type),r.setRequestHeader("X-Requested-With","XMLHttpRequest"),r=n.fire("beforeSend",{xhr:r,settings:e}).xhr,r.send(e.data),!e.async)return t();setTimeout(t,10)}}};return t.extend(n,e),n}),r(vt,[],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(yt,[vt,gt,d],function(e,t,n){function r(e){this.settings=i({},e),this.count=0}var i=n.extend;return r.sendRPC=function(e){return(new r).send(e)},r.prototype={send:function(n){var r=n.error,o=n.success;n=i(this.settings,n),n.success=function(t,i){t=e.parse(t),"undefined"==typeof t&&(t={error:"JSON Parse error."}),t.error?r.call(n.error_scope||n.scope,t.error,i):o.call(n.success_scope||n.scope,t.result)},n.error=function(e,t){r&&r.call(n.error_scope||n.scope,e,t)},n.data=e.serialize({id:n.id||"c"+this.count++,method:n.method,params:n.params}),n.content_type="application/json",t.send(n)}},r}),r(bt,[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(Ct,[],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(xt,[y,l,b,C,d,u],function(e,t,n,r,i,o){var a=window.tinymce;return a.DOM=e.DOM,a.ScriptLoader=n.ScriptLoader,a.PluginManager=r.PluginManager,a.ThemeManager=r.ThemeManager,a.dom=a.dom||{},a.dom.Event=t.Event,i.each(i,function(e,t){a[t]=e}),i.each("isOpera isWebKit isIE isGecko isMac".split(" "),function(e){a[e]=o[e.substr(2).toLowerCase()]}),{}}),r(wt,[U,d],function(e,t){return e.extend({Defaults:{firstControlClass:"first",lastControlClass:"last"},init:function(e){this.settings=t.extend({},this.Defaults,e)},preRender:function(e){e.addClass(this.settings.containerClass,"body")},applyClasses:function(e){var t=this,n=t.settings,r,i,o;r=e.items().filter(":visible"),i=n.firstControlClass,o=n.lastControlClass,r.each(function(e){e.removeClass(i).removeClass(o),n.controlClass&&e.addClass(n.controlClass)}),r.eq(0).addClass(i),r.eq(-1).addClass(o)},renderHtml:function(e){var t=this,n=t.settings,r,i="";
-return r=e.items(),r.eq(0).addClass(n.firstControlClass),r.eq(-1).addClass(n.lastControlClass),r.each(function(e){n.controlClass&&e.addClass(n.controlClass),i+=e.renderHtml()}),i},recalc:function(){},postRender:function(){}})}),r(_t,[wt],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(Et,[K,tt],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(Nt,[K,Et],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(kt,[Nt],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(St,[J],function(e){return e.extend({Defaults:{defaultType:"button",role:"group"},renderHtml:function(){var e=this,t=e._layout;return e.addClass("btn-group"),e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes()+'"><div id="'+e._id+'-body">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}})}),r(Tt,[Nt],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(Rt,[Nt,G,Y],function(e,t,n){return e.extend({init:function(e){var t=this;t._super(e),t.addClass("combobox"),t.subinput=!0,t.ariaTarget="inp",e=t.settings,e.menu=e.menu||e.values,e.menu&&(e.icon="caret"),t.on("click",function(n){for(var r=n.target,i=t.getEl();r&&r!=i;)r.id&&-1!=r.id.indexOf("-open")&&(t.fire("action"),e.menu&&(t.showMenu(),n.aria&&t.menu.items()[0].focus())),r=r.parentNode}),t.on("keydown",function(e){"INPUT"==e.target.nodeName&&13==e.keyCode&&t.parents().reverse().each(function(n){return e.preventDefault(),t.fire("change"),n.hasEventListeners("submit")&&n.toJSON?(n.fire("submit",{data:n.toJSON()}),!1):void 0})}),e.placeholder&&(t.addClass("placeholder"),t.on("focusin",function(){t._hasOnChange||(n.on(t.getEl("inp"),"change",function(){t.fire("change")}),t._hasOnChange=!0),t.hasClass("placeholder")&&(t.getEl("inp").value="",t.removeClass("placeholder"))}),t.on("focusout",function(){0===t.value().length&&(t.getEl("inp").value=e.placeholder,t.addClass("placeholder"))}))},showMenu:function(){var e=this,n=e.settings,r;e.menu||(r=n.menu||[],r.length?r={type:"menu",items:r}:r.type=r.type||"menu",e.menu=t.create(r).parent(e).renderTo(e.getContainerElm()),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control===e.menu&&e.focus()}),e.menu.on("show hide",function(t){t.control.items().each(function(t){t.active(t.value()==e.value())})}).fire("show"),e.menu.on("select",function(t){e.value(t.control.value())}),e.on("focusin",function(t){"INPUT"==t.target.tagName.toUpperCase()&&e.menu.hide()}),e.aria("expanded",!0)),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])},value:function(e){var t=this;return"undefined"!=typeof e?(t._value=e,t.removeClass("placeholder"),t._rendered&&(t.getEl("inp").value=e),t):t._rendered?(e=t.getEl("inp").value,e!=t.settings.placeholder?e:""):t._value},disabled:function(e){var t=this;return t._rendered&&"undefined"!=typeof e&&(t.getEl("inp").disabled=e),t._super(e)},focus:function(){this.getEl("inp").focus()},repaint:function(){var e=this,t=e.getEl(),r=e.getEl("open"),i=e.layoutRect(),o,a;o=r?i.w-n.getSize(r).width-10:i.w-10;var s=document;return s.all&&(!s.documentMode||s.documentMode<=8)&&(a=e.layoutRect().h-2+"px"),n.css(t.firstChild,{width:o,lineHeight:a}),e._super(),e},postRender:function(){var e=this;return n.on(this.getEl("inp"),"change",function(){e.fire("change")}),e._super()},remove:function(){n.off(this.getEl("inp")),this._super()},renderHtml:function(){var e=this,t=e._id,n=e.settings,r=e.classPrefix,i=n.value||n.placeholder||"",o,a,s="",l="";return"spellcheck"in n&&(l+=' spellcheck="'+n.spellcheck+'"'),n.maxLength&&(l+=' maxlength="'+n.maxLength+'"'),n.size&&(l+=' size="'+n.size+'"'),n.subtype&&(l+=' type="'+n.subtype+'"'),e.disabled()&&(l+=' disabled="disabled"'),o=n.icon,o&&"caret"!=o&&(o=r+"ico "+r+"i-"+n.icon),a=e._text,(o||a)&&(s='<div id="'+t+'-open" class="'+r+"btn "+r+'open" tabIndex="-1" role="button"><button id="'+t+'-action" type="button" hidefocus="1" tabindex="-1">'+("caret"!=o?'<i class="'+o+'"></i>':'<i class="'+r+'caret"></i>')+(a?(o?" ":"")+a:"")+"</button></div>",e.addClass("has-open")),'<div id="'+t+'" class="'+e.classes()+'"><input id="'+t+'-inp" class="'+r+"textbox "+r+'placeholder" value="'+i+'" hidefocus="1"'+l+" />"+s+"</div>"}})}),r(At,[Rt],function(e){return e.extend({init:function(e){var t=this;e.spellcheck=!1,e.onaction&&(e.icon="none"),t._super(e),t.addClass("colorbox"),t.on("change keyup postrender",function(){t.repaintColor(t.value())})},repaintColor:function(e){var t=this.getEl().getElementsByTagName("i")[0];if(t)try{t.style.background=e}catch(n){}},value:function(e){var t=this;return"undefined"!=typeof e&&t._rendered&&t.repaintColor(e),t._super(e)}})}),r(Bt,[kt,rt],function(e,t){return e.extend({showPanel:function(){var e=this,n=e.settings;if(e.active(!0),e.panel)e.panel.show();else{var r=n.panel;r.type&&(r={layout:"grid",items:r}),r.role=r.role||"dialog",r.popover=!0,r.autohide=!0,r.ariaRoot=!0,e.panel=new t(r).on("hide",function(){e.active(!1)}).on("cancel",function(t){t.stopPropagation(),e.focus(),e.hidePanel()}).parent(e).renderTo(e.getContainerElm()),e.panel.fire("show"),e.panel.reflow()}e.panel.moveRel(e.getEl(),n.popoverAlign||(e.isRtl()?["bc-tr","bc-tc"]:["bc-tl","bc-tc"]))},hidePanel:function(){var e=this;e.panel&&e.panel.hide()},postRender:function(){var e=this;return e.aria("haspopup",!0),e.on("click",function(t){t.control===e&&(e.panel&&e.panel.visible()?e.hidePanel():(e.showPanel(),e.panel.focus(!!t.aria)))}),e._super()},remove:function(){return this.panel&&(this.panel.remove(),this.panel=null),this._super()}})}),r(Dt,[Bt,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(Lt,[],function(){function e(e){function i(e,i,o){var a,s,l,c,u,d;return a=0,s=0,l=0,e/=255,i/=255,o/=255,u=t(e,t(i,o)),d=n(e,n(i,o)),u==d?(l=u,{h:0,s:0,v:100*l}):(c=e==u?i-o:o==u?e-i:o-e,a=e==u?3:o==u?1:5,a=60*(a-c/(d-u)),s=(d-u)/d,l=d,{h:r(a),s:r(100*s),v:r(100*l)})}function o(e,i,o){var a,s,l,c;if(e=(parseInt(e,10)||0)%360,i=parseInt(i,10)/100,o=parseInt(o,10)/100,i=n(0,t(i,1)),o=n(0,t(o,1)),0===i)return void(d=f=p=r(255*o));switch(a=e/60,s=o*i,l=s*(1-Math.abs(a%2-1)),c=o-s,Math.floor(a)){case 0:d=s,f=l,p=0;break;case 1:d=l,f=s,p=0;break;case 2:d=0,f=s,p=l;break;case 3:d=0,f=l,p=s;break;case 4:d=l,f=0,p=s;break;case 5:d=s,f=0,p=l;break;default:d=f=p=0}d=r(255*(d+c)),f=r(255*(f+c)),p=r(255*(p+c))}function a(){function e(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+e(d)+e(f)+e(p)}function s(){return{r:d,g:f,b:p}}function l(){return i(d,f,p)}function c(e){var t;return"object"==typeof e?"r"in e?(d=e.r,f=e.g,p=e.b):"v"in e&&o(e.h,e.s,e.v):(t=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec(e))?(d=parseInt(t[1],10),f=parseInt(t[2],10),p=parseInt(t[3],10)):(t=/#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(e))?(d=parseInt(t[1],16),f=parseInt(t[2],16),p=parseInt(t[3],16)):(t=/#([0-F])([0-F])([0-F])/gi.exec(e))&&(d=parseInt(t[1]+t[1],16),f=parseInt(t[2]+t[2],16),p=parseInt(t[3]+t[3],16)),d=0>d?0:d>255?255:d,f=0>f?0:f>255?255:f,p=0>p?0:p>255?255:p,u}var u=this,d=0,f=0,p=0;e&&c(e),u.toRgb=s,u.toHsv=l,u.toHex=a,u.parse=c}var t=Math.min,n=Math.max,r=Math.round;return e}),r(Ht,[Nt,Q,Y,Lt],function(e,t,n,r){return e.extend({Defaults:{classes:"widget colorpicker"},init:function(e){this._super(e)},postRender:function(){function e(e,t){var r=n.getPos(e),i,o;return i=t.pageX-r.x,o=t.pageY-r.y,i=Math.max(0,Math.min(i/e.clientWidth,1)),o=Math.max(0,Math.min(o/e.clientHeight,1)),{x:i,y:o}}function i(e,t){var i=(360-e.h)/360;n.css(d,{top:100*i+"%"}),t||n.css(p,{left:e.s+"%",top:100-e.v+"%"}),f.style.background=new r({s:100,v:100,h:e.h}).toHex(),s.color().parse({s:e.s,v:e.v,h:e.h})}function o(t){var n;n=e(f,t),c.s=100*n.x,c.v=100*(1-n.y),i(c),s.fire("change")}function a(t){var n;n=e(u,t),c=l.toHsv(),c.h=360*(1-n.y),i(c,!0),s.fire("change")}var s=this,l=s.color(),c,u,d,f,p;u=s.getEl("h"),d=s.getEl("hp"),f=s.getEl("sv"),p=s.getEl("svp"),s._repaint=function(){c=l.toHsv(),i(c)},s._super(),s._svdraghelper=new t(s._id+"-sv",{start:o,drag:o}),s._hdraghelper=new t(s._id+"-h",{start:a,drag:a}),s._repaint()},rgb:function(){return this.color().toRgb()},value:function(e){var t=this;return arguments.length?(t.color().parse(e),void(t._rendered&&t._repaint())):t.color().toHex()},color:function(){return this._color||(this._color=new r),this._color},renderHtml:function(){function e(){var e,t,n="",i,a;for(i="filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=",a=o.split(","),e=0,t=a.length-1;t>e;e++)n+='<div class="'+r+'colorpicker-h-chunk" style="height:'+100/t+"%;"+i+a[e]+",endColorstr="+a[e+1]+");-ms-"+i+a[e]+",endColorstr="+a[e+1]+')"></div>';return n}var t=this,n=t._id,r=t.classPrefix,i,o="#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000",a="background: -ms-linear-gradient(top,"+o+");background: linear-gradient(to bottom,"+o+");";return i='<div id="'+n+'-h" class="'+r+'colorpicker-h" style="'+a+'">'+e()+'<div id="'+n+'-hp" class="'+r+'colorpicker-h-marker"></div></div>','<div id="'+n+'" class="'+t.classes()+'"><div id="'+n+'-sv" class="'+r+'colorpicker-sv"><div class="'+r+'colorpicker-overlay1"><div class="'+r+'colorpicker-overlay2"><div id="'+n+'-svp" class="'+r+'colorpicker-selector1"><div class="'+r+'colorpicker-selector2"></div></div></div></div></div>'+i+"</div>"}})}),r(Mt,[Nt],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(Pt,[Mt,ht],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(e){r.focus(),r.selection.select(this.data()[e.index].element),r.nodeChanged()}),r.on("nodeChange",function(t){for(var i=[],o=t.parents,a=o.length;a--;)if(1==o[a].nodeType&&!e(o[a])){var s=r.fire("ResolveName",{name:o[a].nodeName.toLowerCase(),target:o[a]});if(s.isDefaultPrevented()||i.push({name:s.name,element:o[a]}),s.isPropagationStopped())break}n.data(i)}),n._super()}})}),r(Ot,[J],function(e){return e.extend({Defaults:{layout:"flex",align:"center",defaults:{flex:1}},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.addClass("formitem"),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<div id="'+e._id+'-title" class="'+n+'title">'+e.settings.title+"</div>":"")+'<div id="'+e._id+'-body" class="'+e.classes("body")+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}})}),r(It,[J,Ot,d],function(e,t,n){return e.extend({Defaults:{containerCls:"form",layout:"flex",direction:"column",align:"stretch",flex:1,padding:20,labelGap:30,spacing:10,callbacks:{submit:function(){this.submit()}}},preRender:function(){var e=this,r=e.items();e.settings.formItemDefaults||(e.settings.formItemDefaults={layout:"flex",autoResize:"overflow",defaults:{flex:1}}),r.each(function(r){var i,o=r.settings.label;o&&(i=new t(n.extend({items:{type:"label",id:r._id+"-l",text:o,flex:0,forId:r._id,disabled:r.disabled()}},e.settings.formItemDefaults)),i.type="formitem",r.aria("labelledby",r._id+"-l"),"undefined"==typeof r.settings.flex&&(r.settings.flex=1),e.replace(r,i),i.add(r))})},recalcLabels:function(){var e=this,t=0,n=[],r,i,o;if(e.settings.labelGapCalc!==!1)for(o="children"==e.settings.labelGapCalc?e.find("formitem"):e.items(),o.filter("formitem").each(function(e){var r=e.items()[0],i=r.getEl().clientWidth;t=i>t?i:t,n.push(r)}),i=e.settings.labelGap||0,r=n.length;r--;)n[r].settings.minWidth=t+i},visible:function(e){var t=this._super(e);return e===!0&&this._rendered&&this.recalcLabels(),t},submit:function(){return this.fire("submit",{data:this.toJSON()})},postRender:function(){var e=this;e._super(),e.recalcLabels(),e.fromJSON(e.settings.data)}})}),r(Ft,[It],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(zt,[Rt,d],function(e,t){return e.extend({init:function(e){var n=this,r=tinymce.activeEditor,i=r.settings,o,a,s;e.spellcheck=!1,s=i.file_picker_types||i.file_browser_callback_types,s&&(s=t.makeMap(s,/[, ]/)),(!s||s[e.filetype])&&(a=i.file_picker_callback,!a||s&&!s[e.filetype]?(a=i.file_browser_callback,!a||s&&!s[e.filetype]||(o=function(){a(n.getEl("inp").id,n.value(),e.filetype,window)})):o=function(){var i=n.fire("beforecall").meta;i=t.extend({filetype:e.filetype},i),a.call(r,function(e,t){n.value(e).fire("change",{meta:t})},n.value(),i)}),o&&(e.icon="browse",e.onaction=o),n._super(e)}})}),r(Wt,[_t],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(Vt,[_t],function(e){return e.extend({recalc:function(e){var t,n,r,i,o,a,s,l,c,u,d,f,p,h,m,g,v=[],y,b,C,x,w,_,E,N,k,S,T,R,A,B,D,L,H,M,P,O,I,F,z=Math.max,W=Math.min;for(r=e.items().filter(":visible"),i=e.layoutRect(),o=e._paddingBox,a=e.settings,f=e.isRtl()?a.direction||"row-reversed":a.direction,s=a.align,l=e.isRtl()?a.pack||"end":a.pack,c=a.spacing||0,("row-reversed"==f||"column-reverse"==f)&&(r=r.set(r.toArray().reverse()),f=f.split("-")[0]),"column"==f?(k="y",E="h",N="minH",S="maxH",R="innerH",T="top",A="deltaH",B="contentH",P="left",H="w",D="x",L="innerW",M="minW",O="right",I="deltaW",F="contentW"):(k="x",E="w",N="minW",S="maxW",R="innerW",T="left",A="deltaW",B="contentW",P="top",H="h",D="y",L="innerH",M="minH",O="bottom",I="deltaH",F="contentH"),d=i[R]-o[T]-o[T],_=u=0,t=0,n=r.length;n>t;t++)p=r[t],h=p.layoutRect(),m=p.settings,g=m.flex,d-=n-1>t?c:0,g>0&&(u+=g,h[S]&&v.push(p),h.flex=g),d-=h[N],y=o[P]+h[M]+o[O],y>_&&(_=y);if(x={},x[N]=0>d?i[N]-d+i[A]:i[R]-d+i[A],x[M]=_+i[I],x[B]=i[R]-d,x[F]=_,x.minW=W(x.minW,i.maxW),x.minH=W(x.minH,i.maxH),x.minW=z(x.minW,i.startMinWidth),x.minH=z(x.minH,i.startMinHeight),!i.autoResize||x.minW==i.minW&&x.minH==i.minH){for(C=d/u,t=0,n=v.length;n>t;t++)p=v[t],h=p.layoutRect(),b=h[S],y=h[N]+h.flex*C,y>b?(d-=h[S]-h[N],u-=h.flex,h.flex=0,h.maxFlexSize=b):h.maxFlexSize=0;for(C=d/u,w=o[T],x={},0===u&&("end"==l?w=d+o[T]:"center"==l?(w=Math.round(i[R]/2-(i[R]-d)/2)+o[T],0>w&&(w=o[T])):"justify"==l&&(w=o[T],c=Math.floor(d/(r.length-1)))),x[D]=o[P],t=0,n=r.length;n>t;t++)p=r[t],h=p.layoutRect(),y=h.maxFlexSize||h[N],"center"===s?x[D]=Math.round(i[L]/2-h[H]/2):"stretch"===s?(x[H]=z(h[M]||0,i[L]-o[P]-o[O]),x[D]=o[P]):"end"===s&&(x[D]=i[L]-h[H]-o.top),h.flex>0&&(y+=h.flex*C),x[E]=y,x[k]=w,p.layoutRect(x),p.recalc&&p.recalc(),w+=y+c}else if(x.w=x.minW,x.h=x.minH,e.layoutRect(x),this.recalc(e),null===e._lastRect){var V=e.parent();V&&(V._lastRect=null,V.recalc())}}})}),r(Ut,[wt],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($t,[K,Nt,rt,d,ht,u],function(e,t,n,r,i,o){function a(e){function t(t,n){return function(){var r=this;e.on("nodeChange",function(i){var o=e.formatter,a=null;s(i.parents,function(e){return s(t,function(t){return n?o.matchNode(e,n,{value:t.value})&&(a=t.value):o.matchNode(e,t.value)&&(a=t.value),a?!1:void 0}),a?!1:void 0}),r.value(a)})}}function r(e){e=e.replace(/;$/,"").split(";");for(var t=e.length;t--;)e[t]=e[t].split("=");return e}function i(){function t(e){var n=[];if(e)return s(e,function(e){var o={text:e.title,icon:e.icon};if(e.items)o.menu=t(e.items);else{var a=e.format||"custom"+r++;e.format||(e.name=a,i.push(e)),o.format=a,o.cmd=e.cmd}n.push(o)}),n}function n(){var n;return n=t(e.settings.style_formats_merge?e.settings.style_formats?o.concat(e.settings.style_formats):o:e.settings.style_formats||o)}var r=0,i=[],o=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",icon:"bold",format:"bold"},{title:"Italic",icon:"italic",format:"italic"},{title:"Underline",icon:"underline",format:"underline"},{title:"Strikethrough",icon:"strikethrough",format:"strikethrough"},{title:"Superscript",icon:"superscript",format:"superscript"},{title:"Subscript",icon:"subscript",format:"subscript"},{title:"Code",icon:"code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Alignment",items:[{title:"Left",icon:"alignleft",format:"alignleft"},{title:"Center",icon:"aligncenter",format:"aligncenter"},{title:"Right",icon:"alignright",format:"alignright"},{title:"Justify",icon:"alignjustify",format:"alignjustify"}]}];return e.on("init",function(){s(i,function(t){e.formatter.register(t.name,t)})}),{type:"menu",items:n(),onPostRender:function(t){e.fire("renderFormatsMenu",{control:t.control})},itemDefaults:{preview:!0,textStyle:function(){return this.settings.format?e.formatter.getCssText(this.settings.format):void 0},onPostRender:function(){var t=this;t.parent().on("show",function(){var n,r;n=t.settings.format,n&&(t.disabled(!e.formatter.canApply(n)),t.active(e.formatter.match(n))),r=t.settings.cmd,r&&t.active(e.queryCommandState(r))})},onclick:function(){this.settings.format&&l(this.settings.format),this.settings.cmd&&e.execCommand(this.settings.cmd)}}}}function o(t){return function(){function n(){return e.undoManager?e.undoManager[t]():!1}var r=this;t="redo"==t?"hasRedo":"hasUndo",r.disabled(!n()),e.on("Undo Redo AddUndo TypingUndo ClearUndos",function(){r.disabled(!n())})}}function a(){var t=this;e.on("VisualAid",function(e){t.active(e.hasVisual)}),t.active(e.hasVisual)}function l(t){t.control&&(t=t.control.value()),t&&e.execCommand("mceToggleFormat",!1,t)}var c;c=i(),s({bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript"},function(t,n){e.addButton(n,{tooltip:t,onPostRender:function(){var t=this;e.formatter?e.formatter.formatChanged(n,function(e){t.active(e)}):e.on("init",function(){e.formatter.formatChanged(n,function(e){t.active(e)})})},onclick:function(){l(n)}})}),s({outdent:["Decrease indent","Outdent"],indent:["Increase indent","Indent"],cut:["Cut","Cut"],copy:["Copy","Copy"],paste:["Paste","Paste"],help:["Help","mceHelp"],selectall:["Select all","SelectAll"],removeformat:["Clear formatting","RemoveFormat"],visualaid:["Visual aids","mceToggleVisualAid"],newdocument:["New document","mceNewDocument"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1]})}),s({blockquote:["Blockquote","mceBlockQuote"],numlist:["Numbered list","InsertOrderedList"],bullist:["Bullet list","InsertUnorderedList"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],alignleft:["Align left","JustifyLeft"],aligncenter:["Align center","JustifyCenter"],alignright:["Align right","JustifyRight"],alignjustify:["Justify","JustifyFull"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1],onPostRender:function(){var t=this;e.formatter?e.formatter.formatChanged(n,function(e){t.active(e)}):e.on("init",function(){e.formatter.formatChanged(n,function(e){t.active(e)})})}})}),e.addButton("undo",{tooltip:"Undo",onPostRender:o("undo"),cmd:"undo"}),e.addButton("redo",{tooltip:"Redo",onPostRender:o("redo"),cmd:"redo"}),e.addMenuItem("newdocument",{text:"New document",shortcut:"Ctrl+N",icon:"newdocument",cmd:"mceNewDocument"}),e.addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Ctrl+Z",onPostRender:o("undo"),cmd:"undo"}),e.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Ctrl+Y",onPostRender:o("redo"),cmd:"redo"}),e.addMenuItem("visualaid",{text:"Visual aids",selectable:!0,onPostRender:a,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:c}),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:l,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){var t=e,r=e,i=e.split("=");i.length>1&&(t=i[0],r=i[1]),n.push({text:t,value:r})}),{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:n,fixedWidth:!0,onPostRender:t(n,"fontsize"),onclick:function(t){t.control.settings.value&&e.execCommand("FontSize",!1,t.control.settings.value)}}}),e.addMenuItem("formats",{text:"Formats",menu:c})}var s=r.each;i.on("AddEditor",function(t){t.editor.rtl&&(e.rtl=!0),a(t.editor)}),e.translate=function(e){return i.translate(e)},t.tooltips=!o.iOS}),r(qt,[_t],function(e){return e.extend({recalc:function(e){var t=e.settings,n,r,i,o,a,s,l,c,u,d,f,p,h,m,g,v,y,b,C,x,w,_,E=[],N=[],k,S,T,R,A,B;t=e.settings,i=e.items().filter(":visible"),o=e.layoutRect(),r=t.columns||Math.ceil(Math.sqrt(i.length)),n=Math.ceil(i.length/r),y=t.spacingH||t.spacing||0,b=t.spacingV||t.spacing||0,C=t.alignH||t.align,x=t.alignV||t.align,g=e._paddingBox,A="reverseRows"in t?t.reverseRows:e.isRtl(),C&&"string"==typeof C&&(C=[C]),x&&"string"==typeof x&&(x=[x]);for(d=0;r>d;d++)E.push(0);for(f=0;n>f;f++)N.push(0);for(f=0;n>f;f++)for(d=0;r>d&&(u=i[f*r+d],u);d++)c=u.layoutRect(),k=c.minW,S=c.minH,E[d]=k>E[d]?k:E[d],N[f]=S>N[f]?S:N[f];for(T=o.innerW-g.left-g.right,w=0,d=0;r>d;d++)w+=E[d]+(d>0?y:0),T-=(d>0?y:0)+E[d];for(R=o.innerH-g.top-g.bottom,_=0,f=0;n>f;f++)_+=N[f]+(f>0?b:0),R-=(f>0?b:0)+N[f];if(w+=g.left+g.right,_+=g.top+g.bottom,l={},l.minW=w+(o.w-o.innerW),l.minH=_+(o.h-o.innerH),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH,l.minW=Math.min(l.minW,o.maxW),l.minH=Math.min(l.minH,o.maxH),l.minW=Math.max(l.minW,o.startMinWidth),l.minH=Math.max(l.minH,o.startMinHeight),!o.autoResize||l.minW==o.minW&&l.minH==o.minH){o.autoResize&&(l=e.layoutRect(l),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH);var D;D="start"==t.packV?0:R>0?Math.floor(R/n):0;var L=0,H=t.flexWidths;if(H)for(d=0;d<H.length;d++)L+=H[d];else L=r;var M=T/L;for(d=0;r>d;d++)E[d]+=H?H[d]*M:M;for(h=g.top,f=0;n>f;f++){for(p=g.left,s=N[f]+D,d=0;r>d&&(B=A?f*r+r-1-d:f*r+d,u=i[B],u);d++)m=u.settings,c=u.layoutRect(),a=Math.max(E[d],c.startMinWidth),c.x=p,c.y=h,v=m.alignH||(C?C[d]||C[0]:null),"center"==v?c.x=p+a/2-c.w/2:"right"==v?c.x=p+a-c.w:"stretch"==v&&(c.w=a),v=m.alignV||(x?x[d]||x[0]:null),"center"==v?c.y=h+s/2-c.h/2:"bottom"==v?c.y=h+s-c.h:"stretch"==v&&(c.h=s),u.layoutRect(c),p+=a+y,u.recalc&&u.recalc();h+=s+b}}else if(l.w=l.minW,l.h=l.minH,e.layoutRect(l),this.recalc(e),null===e._lastRect){var P=e.parent();P&&(P._lastRect=null,P.recalc())}}})}),r(jt,[Nt],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(Yt,[Nt,Y],function(e,t){return e.extend({init:function(e){var t=this;t._super(e),t.addClass("widget"),t.addClass("label"),t.canFocus=!1,e.multiline&&t.addClass("autoscroll"),e.strong&&t.addClass("strong")},initLayoutRect:function(){var e=this,n=e._super();if(e.settings.multiline){var r=t.getSize(e.getEl());r.width>n.maxW&&(n.minW=n.maxW,e.addClass("multiline")),e.getEl().style.width=n.minW+"px",n.startMinH=n.h=n.minH=Math.min(n.maxH,t.getSize(e.getEl()).height)}return n},repaint:function(){var e=this;return e.settings.multiline||(e.getEl().style.lineHeight=e.layoutRect().h+"px"),e._super()},text:function(e){var t=this;return t._rendered&&e&&this.innerHtml(t.encode(e)),t._super(e)},renderHtml:function(){var e=this,t=e.settings.forId;return'<label id="'+e._id+'" class="'+e.classes()+'"'+(t?' for="'+t+'"':"")+">"+e.encode(e._text)+"</label>"
-}})}),r(Kt,[J],function(e){return e.extend({Defaults:{role:"toolbar",layout:"flow"},init:function(e){var t=this;t._super(e),t.addClass("toolbar")},postRender:function(){var e=this;return e.items().addClass("toolbar-item"),e._super()}})}),r(Gt,[Kt],function(e){return e.extend({Defaults:{role:"menubar",containerCls:"menubar",ariaRoot:!0,defaults:{type:"menubutton"}}})}),r(Xt,[kt,G,Gt],function(e,t,n){function r(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1}var i=e.extend({init:function(e){var t=this;t._renderOpen=!0,t._super(e),t.addClass("menubtn"),e.fixedWidth&&t.addClass("fixed-width"),t.aria("haspopup",!0),t.hasPopup=!0},showMenu:function(){var e=this,n=e.settings,r;return e.menu&&e.menu.visible()?e.hideMenu():(e.menu||(r=n.menu||[],r.length?r={type:"menu",items:r}:r.type=r.type||"menu",e.menu=t.create(r).parent(e).renderTo(),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control.parent()===e.menu&&(t.stopPropagation(),e.focus(),e.hideMenu())}),e.menu.on("select",function(){e.focus()}),e.menu.on("show hide",function(t){t.control==e.menu&&e.activeMenu("show"==t.type),e.aria("expanded","show"==t.type)}).fire("show")),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),void e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"]))},hideMenu:function(){var e=this;e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide())},activeMenu:function(e){this.toggleClass("active",e)},renderHtml:function(){var e=this,t=e._id,r=e.classPrefix,i=e.settings.icon,o;return o=e.settings.image,o?(i="none","string"!=typeof o&&(o=window.getSelection?o[0]:o[1]),o=" style=\"background-image: url('"+o+"')\""):o="",i=e.settings.icon?r+"ico "+r+"i-"+i:"",e.aria("role",e.parent()instanceof n?"menuitem":"button"),'<div id="'+t+'" class="'+e.classes()+'" tabindex="-1" aria-labelledby="'+t+'"><button id="'+t+'-open" role="presentation" type="button" tabindex="-1">'+(i?'<i class="'+i+'"'+o+"></i>":"")+"<span>"+(e._text?(i?"\xa0":"")+e.encode(e._text):"")+'</span> <i class="'+r+'caret"></i></button></div>'},postRender:function(){var e=this;return e.on("click",function(t){t.control===e&&r(t.target,e.getEl())&&(e.showMenu(),t.aria&&e.menu.items()[0].focus())}),e.on("mouseenter",function(t){var n=t.control,r=e.parent(),o;n&&r&&n instanceof i&&n.parent()==r&&(r.items().filter("MenuButton").each(function(e){e.hideMenu&&e!=n&&(e.menu&&e.menu.visible()&&(o=!0),e.hideMenu())}),o&&(n.focus(),n.showMenu()))}),e._super()},text:function(e){var t=this,n,r;if(t._rendered)for(r=t.getEl("open").getElementsByTagName("span"),n=0;n<r.length;n++)r[n].innerHTML=(t.settings.icon&&e?"\xa0":"")+t.encode(e);return this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}});return i}),r(Jt,[Xt],function(e){return e.extend({init:function(e){function t(r){for(var a=0;a<r.length;a++){if(i=r[a].selected||e.value===r[a].value){o=o||r[a].text,n._value=r[a].value;break}r[a].menu&&t(r[a].menu)}}var n=this,r,i,o,a;n._values=r=e.values,r&&("undefined"!=typeof e.value&&t(r),!i&&r.length>0&&(o=r[0].text,n._value=r[0].value),e.menu=r),e.text=e.text||o||r[0].text,n._super(e),n.addClass("listbox"),n.on("select",function(t){var r=t.control;a&&(t.lastControl=a),e.multiple?r.active(!r.active()):n.value(t.control.settings.value),a=r})},value:function(e){function t(e,n){e.items().each(function(e){i=e.value()===n,i&&(o=o||e.text()),e.active(i),e.menu&&t(e.menu,n)})}function n(t){for(var r=0;r<t.length;r++)i=t[r].value==e,i&&(o=o||t[r].text),t[r].active=i,t[r].menu&&n(t[r].menu)}var r=this,i,o,a;return"undefined"!=typeof e&&(r.menu?t(r.menu,e):(a=r.settings.menu,n(a)),r.text(o||this.settings.text)),r._super(e)}})}),r(Qt,[Nt,G,u],function(e,t,n){return e.extend({Defaults:{border:0,role:"menuitem"},init:function(e){var t=this;t.hasPopup=!0,t._super(e),e=t.settings,t.addClass("menu-item"),e.menu&&t.addClass("menu-item-expand"),e.preview&&t.addClass("menu-item-preview"),("-"===t._text||"|"===t._text)&&(t.addClass("menu-item-sep"),t.aria("role","separator"),t._text="-"),e.selectable&&(t.aria("role","menuitemcheckbox"),t.addClass("menu-item-checkbox"),e.icon="selected"),e.preview||e.selectable||t.addClass("menu-item-normal"),t.on("mousedown",function(e){e.preventDefault()}),e.menu&&!e.ariaHideMenu&&t.aria("haspopup",!0)},hasMenus:function(){return!!this.settings.menu},showMenu:function(){var e=this,n=e.settings,r,i=e.parent();if(i.items().each(function(t){t!==e&&t.hideMenu()}),n.menu){r=e.menu,r?r.show():(r=n.menu,r.length?r={type:"menu",items:r}:r.type=r.type||"menu",i.settings.itemDefaults&&(r.itemDefaults=i.settings.itemDefaults),r=e.menu=t.create(r).parent(e).renderTo(),r.reflow(),r.on("cancel",function(t){t.stopPropagation(),e.focus(),r.hide()}),r.on("show hide",function(e){e.control.items().each(function(e){e.active(e.settings.selected)})}).fire("show"),r.on("hide",function(t){t.control===r&&e.removeClass("selected")}),r.submenu=!0),r._parentMenu=i,r.addClass("menu-sub");var o=r.testMoveRel(e.getEl(),e.isRtl()?["tl-tr","bl-br","tr-tl","br-bl"]:["tr-tl","br-bl","tl-tr","bl-br"]);r.moveRel(e.getEl(),o),r.rel=o,o="menu-sub-"+o,r.removeClass(r._lastRel),r.addClass(o),r._lastRel=o,e.addClass("selected"),e.aria("expanded",!0)}},hideMenu:function(){var e=this;return e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide(),e.aria("expanded",!1)),e},renderHtml:function(){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(Zt,[rt,Qt,d],function(e,t,n){var r=e.extend({Defaults:{defaultType:"menuitem",border:1,layout:"stack",role:"application",bodyRole:"menu",ariaRoot:!0},init:function(e){var t=this;if(e.autohide=!0,e.constrainToViewport=!0,e.itemDefaults)for(var r=e.items,i=r.length;i--;)r[i]=n.extend({},e.itemDefaults,r[i]);t._super(e),t.addClass("menu")},repaint:function(){return this.toggleClass("menu-align",!0),this._super(),this.getEl().style.height="",this.getEl("body").style.height="",this},cancel:function(){var e=this;e.hideAll(),e.fire("select")},hideAll:function(){var e=this;return this.find("menuitem").exec("hideMenu"),e._super()},preRender:function(){var e=this;return e.items().each(function(t){var n=t.settings;return n.icon||n.selectable?(e._hasIcons=!0,!1):void 0}),e._super()}});return r}),r(en,[Tt],function(e){return e.extend({Defaults:{classes:"radio",role:"radio"}})}),r(tn,[Nt,Q],function(e,t){return e.extend({renderHtml:function(){var e=this,t=e.classPrefix;return e.addClass("resizehandle"),"both"==e.settings.direction&&e.addClass("resizehandle-both"),e.canFocus=!1,'<div id="'+e._id+'" class="'+e.classes()+'"><i class="'+t+"ico "+t+'i-resize"></i></div>'},postRender:function(){var e=this;e._super(),e.resizeDragHelper=new t(this._id,{start:function(){e.fire("ResizeStart")},drag:function(t){"both"!=e.settings.direction&&(t.deltaX=0),e.fire("Resize",t)},stop:function(){e.fire("ResizeEnd")}})},remove:function(){return this.resizeDragHelper&&this.resizeDragHelper.destroy(),this._super()}})}),r(nn,[Nt],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(rn,[Xt,Y],function(e,t){return e.extend({Defaults:{classes:"widget btn splitbtn",role:"button"},repaint:function(){var e=this,n=e.getEl(),r=e.layoutRect(),i,o;return e._super(),i=n.firstChild,o=n.lastChild,t.css(i,{width:r.w-t.getSize(o).width,height:r.h-2}),t.css(o,{height:r.h-2}),e},activeMenu:function(e){var n=this;t.toggleClass(n.getEl().lastChild,n.classPrefix+"active",e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r,i=e.settings.icon;return r=e.settings.image,r?(i="none","string"!=typeof r&&(r=window.getSelection?r[0]:r[1]),r=" style=\"background-image: url('"+r+"')\""):r="",i=e.settings.icon?n+"ico "+n+"i-"+i:"",'<div id="'+t+'" class="'+e.classes()+'" role="button" tabindex="-1"><button type="button" hidefocus="1" tabindex="-1">'+(i?'<i class="'+i+'"'+r+"></i>":"")+(e._text?(i?" ":"")+e._text:"")+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1">'+(e._menuBtnText?(i?"\xa0":"")+e._menuBtnText:"")+' <i class="'+n+'caret"></i></button></div>'},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(e){var n=e.target;if(e.control==this)for(;n;){if(e.aria&&"down"!=e.aria.key||"BUTTON"==n.nodeName&&-1==n.className.indexOf("open"))return e.stopImmediatePropagation(),void t.call(this,e);n=n.parentNode}}),delete e.settings.onclick,e._super()}})}),r(on,[Ut],function(e){return e.extend({Defaults:{containerClass:"stack-layout",controlClass:"stack-layout-item",endClass:"break"}})}),r(an,[et,Y],function(e,t){return e.extend({Defaults:{layout:"absolute",defaults:{type:"panel"}},activateTab:function(e){var n;this.activeTabId&&(n=this.getEl(this.activeTabId),t.removeClass(n,this.classPrefix+"active"),n.setAttribute("aria-selected","false")),this.activeTabId="t"+e,n=this.getEl("t"+e),n.setAttribute("aria-selected","true"),t.addClass(n,this.classPrefix+"active"),this.items()[e].show().fire("showtab"),this.reflow(),this.items().each(function(t,n){e!=n&&t.hide()})},renderHtml:function(){var e=this,t=e._layout,n="",r=e.classPrefix;return e.preRender(),t.preRender(e),e.items().each(function(t,i){var o=e._id+"-t"+i;t.aria("role","tabpanel"),t.aria("labelledby",o),n+='<div id="'+o+'" class="'+r+'tab" unselectable="on" role="tab" aria-controls="'+t._id+'" aria-selected="false" tabIndex="-1">'+e.encode(t.settings.title)+"</div>"}),'<div id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1"><div id="'+e._id+'-head" class="'+r+'tabs" role="tablist">'+n+'</div><div id="'+e._id+'-body" class="'+e.classes("body")+'">'+t.renderHtml(e)+"</div></div>"},postRender:function(){var e=this;e._super(),e.settings.activeTab=e.settings.activeTab||0,e.activateTab(e.settings.activeTab),this.on("click",function(t){var n=t.target.parentNode;if(t.target.parentNode.id==e._id+"-head")for(var r=n.childNodes.length;r--;)n.childNodes[r]==t.target&&e.activateTab(r)})},initLayoutRect:function(){var e=this,n,r,i;r=t.getSize(e.getEl("head")).width,r=0>r?0:r,i=0,e.items().each(function(e){r=Math.max(r,e.layoutRect().minW),i=Math.max(i,e.layoutRect().minH)}),e.items().each(function(e){e.settings.x=0,e.settings.y=0,e.settings.w=r,e.settings.h=i,e.layoutRect({x:0,y:0,w:r,h:i})});var o=t.getSize(e.getEl("head")).height;return e.settings.minWidth=r,e.settings.minHeight=i+o,n=e._super(),n.deltaH+=o,n.innerH=n.h-n.deltaH,n}})}),r(sn,[Nt,Y],function(e,t){return e.extend({init:function(e){var t=this;t._super(e),t._value=e.value||"",t.addClass("textbox"),e.multiline?t.addClass("multiline"):t.on("keydown",function(e){13==e.keyCode&&t.parents().reverse().each(function(t){return e.preventDefault(),t.hasEventListeners("submit")&&t.toJSON?(t.fire("submit",{data:t.toJSON()}),!1):void 0})})},disabled:function(e){var t=this;return t._rendered&&"undefined"!=typeof e&&(t.getEl().disabled=e),t._super(e)},value:function(e){var t=this;return"undefined"!=typeof e?(t._value=e,t._rendered&&(t.getEl().value=e),t):t._rendered?t.getEl().value:t._value},repaint:function(){var e=this,t,n,r,i=0,o=0,a;t=e.getEl().style,n=e._layoutRect,a=e._lastRepaintRect||{};var s=document;return!e.settings.multiline&&s.all&&(!s.documentMode||s.documentMode<=8)&&(t.lineHeight=n.h-o+"px"),r=e._borderBox,i=r.left+r.right+8,o=r.top+r.bottom+(e.settings.multiline?8:0),n.x!==a.x&&(t.left=n.x+"px",a.x=n.x),n.y!==a.y&&(t.top=n.y+"px",a.y=n.y),n.w!==a.w&&(t.width=n.w-i+"px",a.w=n.w),n.h!==a.h&&(t.height=n.h-o+"px",a.h=n.h),e._lastRepaintRect=a,e.fire("repaint",{},!1),e},renderHtml:function(){var e=this,t=e._id,n=e.settings,r=e.encode(e._value,!1),i="";return"spellcheck"in n&&(i+=' spellcheck="'+n.spellcheck+'"'),n.maxLength&&(i+=' maxlength="'+n.maxLength+'"'),n.size&&(i+=' size="'+n.size+'"'),n.subtype&&(i+=' type="'+n.subtype+'"'),e.disabled()&&(i+=' disabled="disabled"'),n.multiline?'<textarea id="'+t+'" class="'+e.classes()+'" '+(n.rows?' rows="'+n.rows+'"':"")+' hidefocus="1"'+i+">"+r+"</textarea>":'<input id="'+t+'" class="'+e.classes()+'" value="'+r+'" hidefocus="1"'+i+" />"},postRender:function(){var e=this;return t.on(e.getEl(),"change",function(t){e.fire("change",t)}),e._super()},remove:function(){t.off(this.getEl()),this._super()}})}),r(ln,[Y,K],function(e,t){return function(n,r){var i=this,o,a=t.classPrefix;i.show=function(t){return i.hide(),o=!0,window.setTimeout(function(){o&&n.appendChild(e.createFragment('<div class="'+a+"throbber"+(r?" "+a+"throbber-inline":"")+'"></div>'))},t||0),i},i.hide=function(){var e=n.lastChild;return e&&-1!=e.className.indexOf("throbber")&&e.parentNode.removeChild(e),o=!1,i}}}),a([l,c,u,d,f,p,h,m,g,y,b,C,_,E,N,k,S,T,R,A,B,D,L,H,M,O,I,F,z,W,V,U,$,q,j,Y,K,G,X,J,Q,Z,et,tt,nt,rt,it,ot,at,st,lt,ct,ut,dt,ft,pt,ht,mt,gt,vt,yt,bt,Ct,xt,wt,_t,Et,Nt,kt,St,Tt,Rt,At,Bt,Dt,Lt,Ht,Mt,Pt,Ot,It,Ft,zt,Wt,Vt,Ut,$t,qt,jt,Yt,Kt,Gt,Xt,Jt,Qt,Zt,en,tn,nn,rn,on,an,sn,ln])}(this);
\ No newline at end of file
+// 4.1.9 (2015-04-05)
+!function(e,t){"use strict";function n(e,t){for(var n,r=[],i=0;i<e.length;++i){if(n=s[e[i]]||o(e[i]),!n)throw"module definition dependecy not found: "+e[i];r.push(n)}t.apply(null,r)}function r(e,r,i){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(r===t)throw"invalid module definition, dependencies must be specified";if(i===t)throw"invalid module definition, definition function must be specified";n(r,function(){s[e]=i.apply(null,arguments)})}function i(e){return!!s[e]}function o(t){for(var n=e,r=t.split(/[.\/]/),i=0;i<r.length;++i){if(!n[r[i]])return;n=n[r[i]]}return n}function a(n){for(var r=0;r<n.length;r++){for(var i=e,o=n[r],a=o.split(/[.\/]/),l=0;l<a.length-1;++l)i[a[l]]===t&&(i[a[l]]={}),i=i[a[l]];i[a[a.length-1]]=s[o]}}var s={},l="tinymce/dom/EventUtils",c="tinymce/dom/Sizzle",u="tinymce/Env",d="tinymce/util/Tools",f="tinymce/dom/DomQuery",p="tinymce/html/Styles",h="tinymce/dom/TreeWalker",m="tinymce/dom/Range",g="tinymce/html/Entities",v="tinymce/dom/StyleSheetLoader",y="tinymce/dom/DOMUtils",b="tinymce/dom/ScriptLoader",C="tinymce/AddOnManager",x="tinymce/dom/RangeUtils",w="tinymce/NodeChange",_="tinymce/html/Node",E="tinymce/html/Schema",N="tinymce/html/SaxParser",k="tinymce/html/DomParser",S="tinymce/html/Writer",T="tinymce/html/Serializer",R="tinymce/dom/Serializer",A="tinymce/dom/TridentSelection",B="tinymce/util/VK",D="tinymce/dom/ControlSelection",L="tinymce/dom/BookmarkManager",M="tinymce/dom/Selection",H="tinymce/dom/ElementUtils",P="tinymce/fmt/Preview",O="tinymce/Formatter",I="tinymce/UndoManager",F="tinymce/EnterKey",z="tinymce/ForceBlocks",W="tinymce/EditorCommands",V="tinymce/util/URI",U="tinymce/util/Class",$="tinymce/util/EventDispatcher",q="tinymce/ui/Selector",j="tinymce/ui/Collection",Y="tinymce/ui/DomUtils",K="tinymce/ui/Control",G="tinymce/ui/Factory",X="tinymce/ui/KeyboardNavigation",J="tinymce/ui/Container",Q="tinymce/ui/DragHelper",Z="tinymce/ui/Scrollable",ee="tinymce/ui/Panel",te="tinymce/ui/Movable",ne="tinymce/ui/Resizable",re="tinymce/ui/FloatPanel",ie="tinymce/ui/Window",oe="tinymce/ui/MessageBox",ae="tinymce/WindowManager",se="tinymce/util/Quirks",le="tinymce/util/Observable",ce="tinymce/EditorObservable",ue="tinymce/Shortcuts",de="tinymce/Editor",fe="tinymce/util/I18n",pe="tinymce/FocusManager",he="tinymce/EditorManager",me="tinymce/LegacyInput",ge="tinymce/util/XHR",ve="tinymce/util/JSON",ye="tinymce/util/JSONRequest",be="tinymce/util/JSONP",Ce="tinymce/util/LocalStorage",xe="tinymce/Compat",we="tinymce/ui/Layout",_e="tinymce/ui/AbsoluteLayout",Ee="tinymce/ui/Tooltip",Ne="tinymce/ui/Widget",ke="tinymce/ui/Button",Se="tinymce/ui/ButtonGroup",Te="tinymce/ui/Checkbox",Re="tinymce/ui/ComboBox",Ae="tinymce/ui/ColorBox",Be="tinymce/ui/PanelButton",De="tinymce/ui/ColorButton",Le="tinymce/util/Color",Me="tinymce/ui/ColorPicker",He="tinymce/ui/Path",Pe="tinymce/ui/ElementPath",Oe="tinymce/ui/FormItem",Ie="tinymce/ui/Form",Fe="tinymce/ui/FieldSet",ze="tinymce/ui/FilePicker",We="tinymce/ui/FitLayout",Ve="tinymce/ui/FlexLayout",Ue="tinymce/ui/FlowLayout",$e="tinymce/ui/FormatControls",qe="tinymce/ui/GridLayout",je="tinymce/ui/Iframe",Ye="tinymce/ui/Label",Ke="tinymce/ui/Toolbar",Ge="tinymce/ui/MenuBar",Xe="tinymce/ui/MenuButton",Je="tinymce/ui/ListBox",Qe="tinymce/ui/MenuItem",Ze="tinymce/ui/Menu",et="tinymce/ui/Radio",tt="tinymce/ui/ResizeHandle",nt="tinymce/ui/Spacer",rt="tinymce/ui/SplitButton",it="tinymce/ui/StackLayout",ot="tinymce/ui/TabPanel",at="tinymce/ui/TextBox",st="tinymce/ui/Throbber";r(l,[],function(){function e(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r||!1):e.attachEvent&&e.attachEvent("on"+t,n)}function t(e,t,n,r){e.removeEventListener?e.removeEventListener(t,n,r||!1):e.detachEvent&&e.detachEvent("on"+t,n)}function n(e,t){function n(){return!1}function r(){return!0}var i,o=t||{},l;for(i in e)s[i]||(o[i]=e[i]);if(o.target||(o.target=o.srcElement||document),e&&a.test(e.type)&&e.pageX===l&&e.clientX!==l){var c=o.target.ownerDocument||document,u=c.documentElement,d=c.body;o.pageX=e.clientX+(u&&u.scrollLeft||d&&d.scrollLeft||0)-(u&&u.clientLeft||d&&d.clientLeft||0),o.pageY=e.clientY+(u&&u.scrollTop||d&&d.scrollTop||0)-(u&&u.clientTop||d&&d.clientTop||0)}return o.preventDefault=function(){o.isDefaultPrevented=r,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},o.stopPropagation=function(){o.isPropagationStopped=r,e&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)},o.stopImmediatePropagation=function(){o.isImmediatePropagationStopped=r,o.stopPropagation()},o.isDefaultPrevented||(o.isDefaultPrevented=n,o.isPropagationStopped=n,o.isImmediatePropagationStopped=n),o}function r(n,r,i){function o(){i.domLoaded||(i.domLoaded=!0,r(c))}function a(){("complete"===l.readyState||"interactive"===l.readyState&&l.body)&&(t(l,"readystatechange",a),o())}function s(){try{l.documentElement.doScroll("left")}catch(e){return void setTimeout(s,0)}o()}var l=n.document,c={type:"ready"};return i.domLoaded?void r(c):(l.addEventListener?"complete"===l.readyState?o():e(n,"DOMContentLoaded",o):(e(l,"readystatechange",a),l.documentElement.doScroll&&n.self===n.top&&s()),void e(n,"load",o))}function i(){function i(e,t){var n,r,i,o,a=s[t];if(n=a&&a[e.type])for(r=0,i=n.length;i>r;r++)if(o=n[r],o&&o.func.call(o.scope,e)===!1&&e.preventDefault(),e.isImmediatePropagationStopped())return}var a=this,s={},l,c,u,d,f;c=o+(+new Date).toString(32),d="onmouseenter"in document.documentElement,u="onfocusin"in document.documentElement,f={mouseenter:"mouseover",mouseleave:"mouseout"},l=1,a.domLoaded=!1,a.events=s,a.bind=function(t,o,p,h){function m(e){i(n(e||_.event),g)}var g,v,y,b,C,x,w,_=window;if(t&&3!==t.nodeType&&8!==t.nodeType){for(t[c]?g=t[c]:(g=l++,t[c]=g,s[g]={}),h=h||t,o=o.split(" "),y=o.length;y--;)b=o[y],x=m,C=w=!1,"DOMContentLoaded"===b&&(b="ready"),a.domLoaded&&"ready"===b&&"complete"==t.readyState?p.call(h,n({type:b})):(d||(C=f[b],C&&(x=function(e){var t,r;if(t=e.currentTarget,r=e.relatedTarget,r&&t.contains)r=t.contains(r);else for(;r&&r!==t;)r=r.parentNode;r||(e=n(e||_.event),e.type="mouseout"===e.type?"mouseleave":"mouseenter",e.target=t,i(e,g))})),u||"focusin"!==b&&"focusout"!==b||(w=!0,C="focusin"===b?"focus":"blur",x=function(e){e=n(e||_.event),e.type="focus"===e.type?"focusin":"focusout",i(e,g)}),v=s[g][b],v?"ready"===b&&a.domLoaded?p({type:b}):v.push({func:p,scope:h}):(s[g][b]=v=[{func:p,scope:h}],v.fakeName=C,v.capture=w,v.nativeHandler=x,"ready"===b?r(t,x,a):e(t,C||b,x,w)));return t=v=0,p}},a.unbind=function(e,n,r){var i,o,l,u,d,f;if(!e||3===e.nodeType||8===e.nodeType)return a;if(i=e[c]){if(f=s[i],n){for(n=n.split(" "),l=n.length;l--;)if(d=n[l],o=f[d]){if(r)for(u=o.length;u--;)if(o[u].func===r){var p=o.nativeHandler,h=o.fakeName,m=o.capture;o=o.slice(0,u).concat(o.slice(u+1)),o.nativeHandler=p,o.fakeName=h,o.capture=m,f[d]=o}r&&0!==o.length||(delete f[d],t(e,o.fakeName||d,o.nativeHandler,o.capture))}}else{for(d in f)o=f[d],t(e,o.fakeName||d,o.nativeHandler,o.capture);f={}}for(d in f)return a;delete s[i];try{delete e[c]}catch(g){e[c]=null}}return a},a.fire=function(e,t,r){var o;if(!e||3===e.nodeType||8===e.nodeType)return a;r=n(null,r),r.type=t,r.target=e;do o=e[c],o&&i(r,o),e=e.parentNode||e.ownerDocument||e.defaultView||e.parentWindow;while(e&&!r.isPropagationStopped());return a},a.clean=function(e){var t,n,r=a.unbind;if(!e||3===e.nodeType||8===e.nodeType)return a;if(e[c]&&r(e),e.getElementsByTagName||(e=e.document),e&&e.getElementsByTagName)for(r(e),n=e.getElementsByTagName("*"),t=n.length;t--;)e=n[t],e[c]&&r(e);return a},a.destroy=function(){s={}},a.cancel=function(e){return e&&(e.preventDefault(),e.stopImmediatePropagation()),!1}}var o="mce-data-",a=/^(?:mouse|contextmenu)|click/,s={keyLocation:1,layerX:1,layerY:1,returnValue:1};return i.Event=new i,i.Event.bind(window,"ready",function(){}),i}),r(c,[],function(){function e(e,t,n,r){var i,o,a,s,l,c,d,p,h,m;if((t?t.ownerDocument||t:z)!==D&&B(t),t=t||D,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(M&&!r){if(i=ve.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&I(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return Z.apply(n,t.getElementsByTagName(e)),n;if((a=i[3])&&x.getElementsByClassName)return Z.apply(n,t.getElementsByClassName(a)),n}if(x.qsa&&(!H||!H.test(e))){if(p=d=F,h=t,m=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){for(c=N(e),(d=t.getAttribute("id"))?p=d.replace(be,"\\$&"):t.setAttribute("id",p),p="[id='"+p+"'] ",l=c.length;l--;)c[l]=p+f(c[l]);h=ye.test(e)&&u(t.parentNode)||t,m=c.join(",")}if(m)try{return Z.apply(n,h.querySelectorAll(m)),n}catch(g){}finally{d||t.removeAttribute("id")}}}return S(e.replace(se,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>w.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[F]=!0,e}function i(e){var t=D.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=e.length;r--;)w.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||K)-(~e.sourceIndex||K);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function u(e){return e&&typeof e.getElementsByTagName!==Y&&e}function d(){}function f(e){for(var t=0,n=e.length,r="";n>t;t++)r+=e[t].value;return r}function p(e,t,n){var r=t.dir,i=n&&"parentNode"===r,o=V++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,a){var s,l,c=[W,o];if(a){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,a))return!0}else for(;t=t[r];)if(1===t.nodeType||i){if(l=t[F]||(t[F]={}),(s=l[r])&&s[0]===W&&s[1]===o)return c[2]=s[2];if(l[r]=c,c[2]=e(t,n,a))return!0}}}function h(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function m(t,n,r){for(var i=0,o=n.length;o>i;i++)e(t,n[i],r);return r}function g(e,t,n,r,i){for(var o,a=[],s=0,l=e.length,c=null!=t;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),c&&t.push(s));return a}function v(e,t,n,i,o,a){return i&&!i[F]&&(i=v(i)),o&&!o[F]&&(o=v(o,a)),r(function(r,a,s,l){var c,u,d,f=[],p=[],h=a.length,v=r||m(t||"*",s.nodeType?[s]:s,[]),y=!e||!r&&t?v:g(v,f,e,s,l),b=n?o||(r?e:h||i)?[]:a:y;if(n&&n(y,b,s,l),i)for(c=g(b,p),i(c,[],s,l),u=c.length;u--;)(d=c[u])&&(b[p[u]]=!(y[p[u]]=d));if(r){if(o||e){if(o){for(c=[],u=b.length;u--;)(d=b[u])&&c.push(y[u]=d);o(null,b=[],c,l)}for(u=b.length;u--;)(d=b[u])&&(c=o?te.call(r,d):f[u])>-1&&(r[c]=!(a[c]=d))}}else b=g(b===a?b.splice(h,b.length):b),o?o(null,a,b,l):Z.apply(a,b)})}function y(e){for(var t,n,r,i=e.length,o=w.relative[e[0].type],a=o||w.relative[" "],s=o?1:0,l=p(function(e){return e===t},a,!0),c=p(function(e){return te.call(t,e)>-1},a,!0),u=[function(e,n,r){return!o&&(r||n!==T)||((t=n).nodeType?l(e,n,r):c(e,n,r))}];i>s;s++)if(n=w.relative[e[s].type])u=[p(h(u),n)];else{if(n=w.filter[e[s].type].apply(null,e[s].matches),n[F]){for(r=++s;i>r&&!w.relative[e[r].type];r++);return v(s>1&&h(u),s>1&&f(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,r>s&&y(e.slice(s,r)),i>r&&y(e=e.slice(r)),i>r&&f(e))}u.push(n)}return h(u)}function b(t,n){var i=n.length>0,o=t.length>0,a=function(r,a,s,l,c){var u,d,f,p=0,h="0",m=r&&[],v=[],y=T,b=r||o&&w.find.TAG("*",c),C=W+=null==y?1:Math.random()||.1,x=b.length;for(c&&(T=a!==D&&a);h!==x&&null!=(u=b[h]);h++){if(o&&u){for(d=0;f=t[d++];)if(f(u,a,s)){l.push(u);break}c&&(W=C)}i&&((u=!f&&u)&&p--,r&&m.push(u))}if(p+=h,i&&h!==p){for(d=0;f=n[d++];)f(m,v,a,s);if(r){if(p>0)for(;h--;)m[h]||v[h]||(v[h]=J.call(l));v=g(v)}Z.apply(l,v),c&&!r&&v.length>0&&p+n.length>1&&e.uniqueSort(l)}return c&&(W=C,T=y),m};return i?r(a):a}var C,x,w,_,E,N,k,S,T,R,A,B,D,L,M,H,P,O,I,F="sizzle"+-new Date,z=window.document,W=0,V=0,U=n(),$=n(),q=n(),j=function(e,t){return e===t&&(A=!0),0},Y=typeof t,K=1<<31,G={}.hasOwnProperty,X=[],J=X.pop,Q=X.push,Z=X.push,ee=X.slice,te=X.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1},ne="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",re="[\\x20\\t\\r\\n\\f]",ie="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",oe="\\["+re+"*("+ie+")(?:"+re+"*([*^$|!~]?=)"+re+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+ie+"))|)"+re+"*\\]",ae=":("+ie+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+oe+")*)|.*)\\)|)",se=new RegExp("^"+re+"+|((?:^|[^\\\\])(?:\\\\.)*)"+re+"+$","g"),le=new RegExp("^"+re+"*,"+re+"*"),ce=new RegExp("^"+re+"*([>+~]|"+re+")"+re+"*"),ue=new RegExp("="+re+"*([^\\]'\"]*?)"+re+"*\\]","g"),de=new RegExp(ae),fe=new RegExp("^"+ie+"$"),pe={ID:new RegExp("^#("+ie+")"),CLASS:new RegExp("^\\.("+ie+")"),TAG:new RegExp("^("+ie+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ae),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+re+"*(even|odd|(([+-]|)(\\d*)n|)"+re+"*(?:([+-]|)"+re+"*(\\d+)|))"+re+"*\\)|)","i"),bool:new RegExp("^(?:"+ne+")$","i"),needsContext:new RegExp("^"+re+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+re+"*((?:-\\d)?\\d*)"+re+"*\\)|)(?=[^-]|$)","i")},he=/^(?:input|select|textarea|button)$/i,me=/^h\d$/i,ge=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,be=/'|\\/g,Ce=new RegExp("\\\\([\\da-f]{1,6}"+re+"?|("+re+")|.)","ig"),xe=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)};try{Z.apply(X=ee.call(z.childNodes),z.childNodes),X[z.childNodes.length].nodeType}catch(we){Z={apply:X.length?function(e,t){Q.apply(e,ee.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}x=e.support={},E=e.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},B=e.setDocument=function(e){var t,n=e?e.ownerDocument||e:z,r=n.defaultView;return n!==D&&9===n.nodeType&&n.documentElement?(D=n,L=n.documentElement,M=!E(n),r&&r!==r.top&&(r.addEventListener?r.addEventListener("unload",function(){B()},!1):r.attachEvent&&r.attachEvent("onunload",function(){B()})),x.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),x.getElementsByTagName=i(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),x.getElementsByClassName=ge.test(n.getElementsByClassName),x.getById=i(function(e){return L.appendChild(e).id=F,!n.getElementsByName||!n.getElementsByName(F).length}),x.getById?(w.find.ID=function(e,t){if(typeof t.getElementById!==Y&&M){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},w.filter.ID=function(e){var t=e.replace(Ce,xe);return function(e){return e.getAttribute("id")===t}}):(delete w.find.ID,w.filter.ID=function(e){var t=e.replace(Ce,xe);return function(e){var n=typeof e.getAttributeNode!==Y&&e.getAttributeNode("id");return n&&n.value===t}}),w.find.TAG=x.getElementsByTagName?function(e,t){return typeof t.getElementsByTagName!==Y?t.getElementsByTagName(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},w.find.CLASS=x.getElementsByClassName&&function(e,t){return M?t.getElementsByClassName(e):void 0},P=[],H=[],(x.qsa=ge.test(n.querySelectorAll))&&(i(function(e){e.innerHTML="<select msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&H.push("[*^$]="+re+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||H.push("\\["+re+"*(?:value|"+ne+")"),e.querySelectorAll(":checked").length||H.push(":checked")}),i(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&H.push("name"+re+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||H.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),H.push(",.*:")})),(x.matchesSelector=ge.test(O=L.matches||L.webkitMatchesSelector||L.mozMatchesSelector||L.oMatchesSelector||L.msMatchesSelector))&&i(function(e){x.disconnectedMatch=O.call(e,"div"),O.call(e,"[s!='']:x"),P.push("!=",ae)}),H=H.length&&new RegExp(H.join("|")),P=P.length&&new RegExp(P.join("|")),t=ge.test(L.compareDocumentPosition),I=t||ge.test(L.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return A=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r?r:(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&r||!x.sortDetached&&t.compareDocumentPosition(e)===r?e===n||e.ownerDocument===z&&I(z,e)?-1:t===n||t.ownerDocument===z&&I(z,t)?1:R?te.call(R,e)-te.call(R,t):0:4&r?-1:1)}:function(e,t){if(e===t)return A=!0,0;var r,i=0,o=e.parentNode,s=t.parentNode,l=[e],c=[t];if(!o||!s)return e===n?-1:t===n?1:o?-1:s?1:R?te.call(R,e)-te.call(R,t):0;if(o===s)return a(e,t);for(r=e;r=r.parentNode;)l.unshift(r);for(r=t;r=r.parentNode;)c.unshift(r);for(;l[i]===c[i];)i++;return i?a(l[i],c[i]):l[i]===z?-1:c[i]===z?1:0},n):D},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==D&&B(t),n=n.replace(ue,"='$1']"),!(!x.matchesSelector||!M||P&&P.test(n)||H&&H.test(n)))try{var r=O.call(t,n);if(r||x.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(i){}return e(n,D,null,[t]).length>0},e.contains=function(e,t){return(e.ownerDocument||e)!==D&&B(e),I(e,t)},e.attr=function(e,n){(e.ownerDocument||e)!==D&&B(e);var r=w.attrHandle[n.toLowerCase()],i=r&&G.call(w.attrHandle,n.toLowerCase())?r(e,n,!M):t;return i!==t?i:x.attributes||!M?e.getAttribute(n):(i=e.getAttributeNode(n))&&i.specified?i.value:null},e.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},e.uniqueSort=function(e){var t,n=[],r=0,i=0;if(A=!x.detectDuplicates,R=!x.sortStable&&e.slice(0),e.sort(j),A){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return R=null,e},_=e.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=_(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=_(t);return n},w=e.selectors={cacheLength:50,createPseudo:r,match:pe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Ce,xe),e[3]=(e[3]||e[4]||e[5]||"").replace(Ce,xe),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&de.test(n)&&(t=N(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Ce,xe).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+re+")"+e+"("+re+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==Y&&e.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(i){var o=e.attr(i,t);return null==o?"!="===n:n?(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o+" ").indexOf(r)>-1:"|="===n?o===r||o.slice(0,r.length+1)===r+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,f,p,h,m=o!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s;if(g){if(o){for(;m;){for(d=t;d=d[m];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;h=m="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?g.firstChild:g.lastChild],a&&y){for(u=g[F]||(g[F]={}),c=u[e]||[],p=c[0]===W&&c[1],f=c[0]===W&&c[2],d=p&&g.childNodes[p];d=++p&&d&&d[m]||(f=p=0)||h.pop();)if(1===d.nodeType&&++f&&d===t){u[e]=[W,p,f];break}}else if(y&&(c=(t[F]||(t[F]={}))[e])&&c[0]===W)f=c[1];else for(;(d=++p&&d&&d[m]||(f=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++f||(y&&((d[F]||(d[F]={}))[e]=[W,f]),d!==t)););return f-=i,f===r||f%r===0&&f/r>=0}}},PSEUDO:function(t,n){var i,o=w.pseudos[t]||w.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return o[F]?o(n):o.length>1?(i=[t,t,"",n],w.setFilters.hasOwnProperty(t.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=te.call(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=k(e.replace(se,"$1"));return i[F]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),!n.pop()}}),has:r(function(t){return function(n){return e(t,n).length>0}}),contains:r(function(e){return e=e.replace(Ce,xe),function(t){return(t.textContent||t.innerText||_(t)).indexOf(e)>-1}}),lang:r(function(t){return fe.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(Ce,xe).toLowerCase(),function(e){var n;do if(n=M?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return n=n.toLowerCase(),n===t||0===n.indexOf(t+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=window.location&&window.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===L},focus:function(e){return e===D.activeElement&&(!D.hasFocus||D.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!w.pseudos.empty(e)},header:function(e){return me.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[0>n?n+t:n]}),even:c(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=0>n?n+t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=0>n?n+t:n;++r<t;)e.push(r);return e})}},w.pseudos.nth=w.pseudos.eq;for(C in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[C]=s(C);for(C in{submit:!0,reset:!0})w.pseudos[C]=l(C);return d.prototype=w.filters=w.pseudos,w.setFilters=new d,N=e.tokenize=function(t,n){var r,i,o,a,s,l,c,u=$[t+" "];if(u)return n?0:u.slice(0);for(s=t,l=[],c=w.preFilter;s;){(!r||(i=le.exec(s)))&&(i&&(s=s.slice(i[0].length)||s),l.push(o=[])),r=!1,(i=ce.exec(s))&&(r=i.shift(),o.push({value:r,type:i[0].replace(se," ")}),s=s.slice(r.length));for(a in w.filter)!(i=pe[a].exec(s))||c[a]&&!(i=c[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),s=s.slice(r.length));if(!r)break}return n?s.length:s?e.error(t):$(t,l).slice(0)},k=e.compile=function(e,t){var n,r=[],i=[],o=q[e+" "];if(!o){for(t||(t=N(e)),n=t.length;n--;)o=y(t[n]),o[F]?r.push(o):i.push(o);o=q(e,b(i,r)),o.selector=e}return o},S=e.select=function(e,t,n,r){var i,o,a,s,l,c="function"==typeof e&&e,d=!r&&N(e=c.selector||e);if(n=n||[],1===d.length){if(o=d[0]=d[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&x.getById&&9===t.nodeType&&M&&w.relative[o[1].type]){if(t=(w.find.ID(a.matches[0].replace(Ce,xe),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pe.needsContext.test(e)?0:o.length;i--&&(a=o[i],!w.relative[s=a.type]);)if((l=w.find[s])&&(r=l(a.matches[0].replace(Ce,xe),ye.test(o[0].type)&&u(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&f(o),!e)return Z.apply(n,r),n;break}}return(c||k(e,d))(r,t,!M,n,ye.test(e)&&u(t.parentNode)||t),n},x.sortStable=F.split("").sort(j).join("")===F,x.detectDuplicates=!!A,B(),x.sortDetached=i(function(e){return 1&e.compareDocumentPosition(D.createElement("div"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),x.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(ne,function(e,t,n){var r;return n?void 0:e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),e}),r(u,[],function(){var e=navigator,t=e.userAgent,n,r,i,o,a,s,l,c,u;n=window.opera&&window.opera.buildNumber,u=/Android/.test(t),r=/WebKit/.test(t),i=!r&&!n&&/MSIE/gi.test(t)&&/Explorer/gi.test(e.appName),i=i&&/MSIE (\w+)\./.exec(t)[1],o=-1==t.indexOf("Trident/")||-1==t.indexOf("rv:")&&-1==e.appName.indexOf("Netscape")?!1:11,a=!document.msElementsFromPoint||i||o?!1:12,i=i||o||a,s=!r&&!o&&/Gecko/.test(t),l=-1!=t.indexOf("Mac"),c=/(iPad|iPhone)/.test(t),a&&(r=!1);var d=!c||t.match(/AppleWebKit\/(\d*)/)[1]>=534;return{opera:n,webkit:r,ie:i,gecko:s,mac:l,iOS:c,android:u,contentEditable:d,transparentSrc:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",caretAfter:8!=i,range:window.getSelection&&"Range"in window,documentMode:i&&!a?document.documentMode||7:10}}),r(d,[u],function(e){function n(e){return null===e||e===t?"":(""+e).replace(v,"")}function r(e,n){return n?"array"==n&&y(e)?!0:typeof e==n:e!==t}function i(e){var t=e,n,r;if(!y(e))for(t=[],n=0,r=e.length;r>n;n++)t[n]=e[n];return t}function o(e,t,n){var r;for(e=e||[],t=t||",","string"==typeof e&&(e=e.split(t)),n=n||{},r=e.length;r--;)n[e[r]]={};return n}function a(e,n,r){var i,o;if(!e)return 0;if(r=r||e,e.length!==t){for(i=0,o=e.length;o>i;i++)if(n.call(r,e[i],i,e)===!1)return 0}else for(i in e)if(e.hasOwnProperty(i)&&n.call(r,e[i],i,e)===!1)return 0;return 1}function s(e,t){var n=[];return a(e,function(e){n.push(t(e))}),n}function l(e,t){var n=[];return a(e,function(e){(!t||t(e))&&n.push(e)}),n}function c(e,t,n){var r=this,i,o,a,s,l,c=0;if(e=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(e),a=e[3].match(/(^|\.)(\w+)$/i)[2],o=r.createNS(e[3].replace(/\.\w+$/,""),n),!o[a]){if("static"==e[2])return o[a]=t,void(this.onCreate&&this.onCreate(e[2],e[3],o[a]));t[a]||(t[a]=function(){},c=1),o[a]=t[a],r.extend(o[a].prototype,t),e[5]&&(i=r.resolve(e[5]).prototype,s=e[5].match(/\.(\w+)$/i)[1],l=o[a],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 u(e,t){var n,r;if(e)for(n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1}function d(e,n){var r,i,o,a=arguments,s;for(r=1,i=a.length;i>r;r++){n=a[r];for(o in n)n.hasOwnProperty(o)&&(s=n[o],s!==t&&(e[o]=s))}return e}function f(e,t,n,r){r=r||this,e&&(n&&(e=e[n]),a(e,function(e,i){return t.call(r,e,i,n)===!1?!1:void f(e,t,n,r)}))}function p(e,t){var n,r;for(t=t||window,e=e.split("."),n=0;n<e.length;n++)r=e[n],t[r]||(t[r]={}),t=t[r];return t}function h(e,t){var n,r;for(t=t||window,e=e.split("."),n=0,r=e.length;r>n&&(t=t[e[n]],t);n++);return t}function m(e,t){return!e||r(e,"array")?e:s(e.split(t||","),n)}function g(t){var n=e.cacheSuffix;return n&&(t+=(-1===t.indexOf("?")?"?":"&")+n),t}var v=/^\s*|\s*$/g,y=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)};return{trim:n,isArray:y,is:r,toArray:i,makeMap:o,each:a,map:s,grep:l,inArray:u,extend:d,create:c,walk:f,createNS:p,resolve:h,explode:m,_addCacheSuffix:g}}),r(f,[l,c,d,u],function(e,n,r,i){function o(e){return"undefined"!=typeof e}function a(e){return"string"==typeof e}function s(e){return e&&e==e.window}function l(e,t){var n,r,i;for(t=t||w,i=t.createElement("div"),n=t.createDocumentFragment(),i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return n}function c(e,t,n,r){var i;if(a(t))t=l(t,v(e[0]));else if(t.length&&!t.nodeType){if(t=f.makeArray(t),r)for(i=t.length-1;i>=0;i--)c(e,t[i],n,r);else for(i=0;i<t.length;i++)c(e,t[i],n,r);return e}if(t.nodeType)for(i=e.length;i--;)n.call(e[i],t);return e}function u(e,t){return e&&t&&-1!==(" "+e.className+" ").indexOf(" "+t+" ")}function d(e,t,n){var r,i;return t=f(t)[0],e.each(function(){var e=this;n&&r==e.parentNode?i.appendChild(e):(r=e.parentNode,i=t.cloneNode(!1),e.parentNode.insertBefore(i,e),i.appendChild(e))}),e}function f(e,t){return new f.fn.init(e,t)}function p(e,t){var n;if(t.indexOf)return t.indexOf(e);for(n=t.length;n--;)if(t[n]===e)return n;return-1}function h(e){return null===e||e===S?"":(""+e).replace(M,"")}function m(e,t){var n,r,i,o,a;if(e)if(n=e.length,n===o){for(r in e)if(e.hasOwnProperty(r)&&(a=e[r],t.call(a,r,a)===!1))break}else for(i=0;n>i&&(a=e[i],t.call(a,i,a)!==!1);i++);return e}function g(e,t){var n=[];return m(e,function(e,r){t(r,e)&&n.push(r)}),n}function v(e){return e?9==e.nodeType?e:e.ownerDocument:w}function y(e,n,r){var i=[],o=e[n];for("string"!=typeof r&&r instanceof f&&(r=r[0]);o&&9!==o.nodeType;){if(r!==t){if(o===r)break;if("string"==typeof r&&f(o).is(r))break}1===o.nodeType&&i.push(o),o=o[n]}return i}function b(e,n,r,i){var o=[];for(i instanceof f&&(i=i[0]);e;e=e[n])if(!r||e.nodeType===r){if(i!==t){if(e===i)break;if("string"==typeof i&&f(e).is(i))break}o.push(e)}return o}function C(e,t,n){for(e=e[t];e;e=e[t])if(e.nodeType==n)return e;return null}function x(e,t,n){m(n,function(n,r){e[n]=e[n]||{},e[n][t]=r})}var w=document,_=Array.prototype.push,E=Array.prototype.slice,N=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,k=e.Event,S,T=r.makeMap("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom"," "),R=r.makeMap("checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected"," "),A={"for":"htmlFor","class":"className",readonly:"readOnly"},B={"float":"cssFloat"},D={},L={},M=/^\s*|\s*$/g;return f.fn=f.prototype={constructor:f,selector:"",context:null,length:0,init:function(e,t){var n=this,r,i;if(!e)return n;if(e.nodeType)return n.context=n[0]=e,n.length=1,n;if(t&&t.nodeType)n.context=t;else{if(t)return f(e).attr(t);n.context=t=document}if(a(e)){if(n.selector=e,r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!r)return f(t).find(e);if(r[1])for(i=l(e,v(t)).firstChild;i;)_.call(n,i),i=i.nextSibling;else{if(i=v(t).getElementById(r[2]),!i)return n;if(i.id!==r[2])return n.find(e);n.length=1,n[0]=i}}else this.add(e,!1);return n},toArray:function(){return r.toArray(this);
+
+},add:function(e,t){var n=this,r,i;if(a(e))return n.add(f(e));if(t!==!1)for(r=f.unique(n.toArray().concat(f.makeArray(e))),n.length=r.length,i=0;i<r.length;i++)n[i]=r[i];else _.apply(n,f.makeArray(e));return n},attr:function(e,t){var n=this,r;if("object"==typeof e)m(e,function(e,t){n.attr(e,t)});else{if(!o(t)){if(n[0]&&1===n[0].nodeType){if(r=D[e],r&&r.get)return r.get(n[0],e);if(R[e])return n.prop(e)?e:S;t=n[0].getAttribute(e,2),null===t&&(t=S)}return t}this.each(function(){var n;if(1===this.nodeType){if(n=D[e],n&&n.set)return void n.set(this,t);null===t?this.removeAttribute(e,2):this.setAttribute(e,t,2)}})}return n},removeAttr:function(e){return this.attr(e,null)},prop:function(e,t){var n=this;if(e=A[e]||e,"object"==typeof e)m(e,function(e,t){n.prop(e,t)});else{if(!o(t))return n[0]&&n[0].nodeType&&e in n[0]?n[0][e]:t;this.each(function(){1==this.nodeType&&(this[e]=t)})}return n},css:function(e,t){function n(e){return e.replace(/-(\D)/g,function(e,t){return t.toUpperCase()})}function r(e){return e.replace(/[A-Z]/g,function(e){return"-"+e})}var i=this,a,s;if("object"==typeof e)m(e,function(e,t){i.css(e,t)});else if(o(t))e=n(e),"number"!=typeof t||T[e]||(t+="px"),i.each(function(){var n=this.style;if(s=L[e],s&&s.set)return void s.set(this,t);try{this.style[B[e]||e]=t}catch(i){}(null===t||""===t)&&(n.removeProperty?n.removeProperty(r(e)):n.removeAttribute(e))});else{if(a=i[0],s=L[e],s&&s.get)return s.get(a);if(a.ownerDocument.defaultView)try{return a.ownerDocument.defaultView.getComputedStyle(a,null).getPropertyValue(r(e))}catch(l){return S}else if(a.currentStyle)return a.currentStyle[n(e)]}return i},remove:function(){for(var e=this,t,n=this.length;n--;)t=e[n],k.clean(t),t.parentNode&&t.parentNode.removeChild(t);return this},empty:function(){for(var e=this,t,n=this.length;n--;)for(t=e[n];t.firstChild;)t.removeChild(t.firstChild);return this},html:function(e){var t=this,n;if(o(e)){n=t.length;try{for(;n--;)t[n].innerHTML=e}catch(r){f(t[n]).empty().append(e)}return t}return t[0]?t[0].innerHTML:""},text:function(e){var t=this,n;if(o(e)){for(n=t.length;n--;)"innerText"in t[n]?t[n].innerText=e:t[0].textContent=e;return t}return t[0]?t[0].innerText||t[0].textContent:""},append:function(){return c(this,arguments,function(e){1===this.nodeType&&this.appendChild(e)})},prepend:function(){return c(this,arguments,function(e){1===this.nodeType&&this.insertBefore(e,this.firstChild)},!0)},before:function(){var e=this;return e[0]&&e[0].parentNode?c(e,arguments,function(e){this.parentNode.insertBefore(e,this)}):e},after:function(){var e=this;return e[0]&&e[0].parentNode?c(e,arguments,function(e){this.parentNode.insertBefore(e,this.nextSibling)},!0):e},appendTo:function(e){return f(e).append(this),this},prependTo:function(e){return f(e).prepend(this),this},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){return d(this,e)},wrapAll:function(e){return d(this,e,!0)},wrapInner:function(e){return this.each(function(){f(this).contents().wrapAll(e)}),this},unwrap:function(){return this.parent().each(function(){f(this).replaceWith(this.childNodes)})},clone:function(){var e=[];return this.each(function(){e.push(this.cloneNode(!0))}),f(e)},addClass:function(e){return this.toggleClass(e,!0)},removeClass:function(e){return this.toggleClass(e,!1)},toggleClass:function(e,t){var n=this;return"string"!=typeof e?n:(-1!==e.indexOf(" ")?m(e.split(" "),function(){n.toggleClass(this,t)}):n.each(function(n,r){var i,o;o=u(r,e),o!==t&&(i=r.className,o?r.className=h((" "+i+" ").replace(" "+e+" "," ")):r.className+=i?" "+e:e)}),n)},hasClass:function(e){return u(this[0],e)},each:function(e){return m(this,e)},on:function(e,t){return this.each(function(){k.bind(this,e,t)})},off:function(e,t){return this.each(function(){k.unbind(this,e,t)})},trigger:function(e){return this.each(function(){"object"==typeof e?k.fire(this,e.type,e):k.fire(this,e)})},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},slice:function(){return new f(E.apply(this,arguments))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},find:function(e){var t,n,r=[];for(t=0,n=this.length;n>t;t++)f.find(e,this[t],r);return f(r)},filter:function(e){return f("function"==typeof e?g(this.toArray(),function(t,n){return e(n,t)}):f.filter(e,this.toArray()))},closest:function(e){var t=[];return e instanceof f&&(e=e[0]),this.each(function(n,r){for(;r;){if("string"==typeof e&&f(r).is(e)){t.push(r);break}if(r==e){t.push(r);break}r=r.parentNode}}),f(t)},offset:function(e){var t,n,r,i=0,o=0,a;return e?this.css(e):(t=this[0],t&&(n=t.ownerDocument,r=n.documentElement,t.getBoundingClientRect&&(a=t.getBoundingClientRect(),i=a.left+(r.scrollLeft||n.body.scrollLeft)-r.clientLeft,o=a.top+(r.scrollTop||n.body.scrollTop)-r.clientTop)),{left:i,top:o})},push:_,sort:[].sort,splice:[].splice},r.extend(f,{extend:r.extend,makeArray:function(e){return s(e)||e.nodeType?[e]:r.toArray(e)},inArray:p,isArray:r.isArray,each:m,trim:h,grep:g,find:n,expr:n.selectors,unique:n.uniqueSort,text:n.getText,contains:n.contains,filter:function(e,t,n){var r=t.length;for(n&&(e=":not("+e+")");r--;)1!=t[r].nodeType&&t.splice(r,1);return t=1===t.length?f.find.matchesSelector(t[0],e)?[t[0]]:[]:f.find.matches(e,t)}}),m({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return y(e,"parentNode")},next:function(e){return C(e,"nextSibling",1)},prev:function(e){return C(e,"previousSibling",1)},children:function(e){return b(e.firstChild,"nextSibling",1)},contents:function(e){return r.toArray(("iframe"===e.nodeName?e.contentDocument||e.contentWindow.document:e).childNodes)}},function(e,t){f.fn[e]=function(n){var r=this,i=[];return r.each(function(){var e=t.call(i,this,n,i);e&&(f.isArray(e)?i.push.apply(i,e):i.push(e))}),this.length>1&&(i=f.unique(i),0===e.indexOf("parents")&&(i=i.reverse())),i=f(i),n?i.filter(n):i}}),m({parentsUntil:function(e,t){return y(e,"parentNode",t)},nextUntil:function(e,t){return b(e,"nextSibling",1,t).slice(1)},prevUntil:function(e,t){return b(e,"previousSibling",1,t).slice(1)}},function(e,t){f.fn[e]=function(n,r){var i=this,o=[];return i.each(function(){var e=t.call(o,this,n,o);e&&(f.isArray(e)?o.push.apply(o,e):o.push(e))}),this.length>1&&(o=f.unique(o),(0===e.indexOf("parents")||"prevUntil"===e)&&(o=o.reverse())),o=f(o),r?o.filter(r):o}}),f.fn.is=function(e){return!!e&&this.filter(e).length>0},f.fn.init.prototype=f.fn,f.overrideDefaults=function(e){function t(r,i){return n=n||e(),0===arguments.length&&(r=n.element),i||(i=n.context),new t.fn.init(r,i)}var n;return f.extend(t,this),t},i.ie&&i.ie<8&&(x(D,"get",{maxlength:function(e){var t=e.maxLength;return 2147483647===t?S:t},size:function(e){var t=e.size;return 20===t?S:t},"class":function(e){return e.className},style:function(e){var t=e.style.cssText;return 0===t.length?S:t}}),x(D,"set",{"class":function(e,t){e.className=t},style:function(e,t){e.style.cssText=t}})),i.ie&&i.ie<9&&(B["float"]="styleFloat",x(L,"set",{opacity:function(e,t){var n=e.style;null===t||""===t?n.removeAttribute("filter"):(n.zoom=1,n.filter="alpha(opacity="+100*t+")")}})),f.attrHooks=D,f.cssHooks=L,f}),r(p,[],function(){return function(e,t){function n(e,t,n,r){function i(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+i(t)+i(n)+i(r)}var r=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,i=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,o=/\s*([^:]+):\s*([^;]+);?/g,a=/\s+$/,s,l,c={},u,d,f,p="\ufeff";for(e=e||{},t&&(d=t.getValidStyles(),f=t.getInvalidStyles()),u=("\\\" \\' \\; \\: ; : "+p).split(" "),l=0;l<u.length;l++)c[u[l]]=p+l,c[p+l]=u[l];return{toHex:function(e){return e.replace(r,n)},parse:function(t){function s(e,t,n){var r,i,o,a;if(r=m[e+"-top"+t],r&&(i=m[e+"-right"+t],i&&(o=m[e+"-bottom"+t],o&&(a=m[e+"-left"+t])))){var s=[r,i,o,a];for(l=s.length-1;l--&&s[l]===s[l+1];);l>-1&&n||(m[e+t]=-1==l?s[0]:s.join(" "),delete m[e+"-top"+t],delete m[e+"-right"+t],delete m[e+"-bottom"+t],delete m[e+"-left"+t])}}function u(e){var t=m[e],n;if(t){for(t=t.split(" "),n=t.length;n--;)if(t[n]!==t[0])return!1;return m[e]=t[0],!0}}function d(e,t,n,r){u(t)&&u(n)&&u(r)&&(m[e]=m[t]+" "+m[n]+" "+m[r],delete m[t],delete m[n],delete m[r])}function f(e){return b=!0,c[e]}function p(e,t){return b&&(e=e.replace(/\uFEFF[0-9]/g,function(e){return c[e]})),t||(e=e.replace(/\\([\'\";:])/g,"$1")),e}function h(t,n,r,i,o,a){if(o=o||a)return o=p(o),"'"+o.replace(/\'/g,"\\'")+"'";if(n=p(n||r||i),!e.allow_script_urls){var s=n.replace(/[\s\r\n]+/,"");if(/(java|vb)script:/i.test(s))return"";if(!e.allow_svg_data_urls&&/^data:image\/svg/i.test(s))return""}return C&&(n=C.call(x,n,"style")),"url('"+n.replace(/\'/g,"\\'")+"')"}var m={},g,v,y,b,C=e.url_converter,x=e.url_converter_scope||this;if(t){for(t=t.replace(/[\u0000-\u001F]/g,""),t=t.replace(/\\[\"\';:\uFEFF]/g,f).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(e){return e.replace(/[;:]/g,f)});g=o.exec(t);){if(v=g[1].replace(a,"").toLowerCase(),y=g[2].replace(a,""),y=y.replace(/\\[0-9a-f]+/g,function(e){return String.fromCharCode(parseInt(e.substr(1),16))}),v&&y.length>0){if(!e.allow_script_urls&&("behavior"==v||/expression\s*\(|\/\*|\*\//.test(y)))continue;"font-weight"===v&&"700"===y?y="bold":("color"===v||"background-color"===v)&&(y=y.toLowerCase()),y=y.replace(r,n),y=y.replace(i,h),m[v]=b?p(y,!0):y}o.lastIndex=g.index+g[0].length}s("border","",!0),s("border","-width"),s("border","-color"),s("border","-style"),s("padding",""),s("margin",""),d("border","border-width","border-style","border-color"),"medium none"===m.border&&delete m.border,"none"===m["border-image"]&&delete m["border-image"]}return m},serialize:function(e,t){function n(t){var n,r,o,a;if(n=d[t])for(r=0,o=n.length;o>r;r++)t=n[r],a=e[t],a!==s&&a.length>0&&(i+=(i.length>0?" ":"")+t+": "+a+";")}function r(e,t){var n;return n=f["*"],n&&n[e]?!1:(n=f[t],n&&n[e]?!1:!0)}var i="",o,a;if(t&&d)n("*"),n(t);else for(o in e)a=e[o],a!==s&&a.length>0&&(!f||r(o,t))&&(i+=(i.length>0?" ":"")+o+": "+a+";");return i}}}}),r(h,[],function(){return function(e,t){function n(e,n,r,i){var o,a;if(e){if(!i&&e[n])return e[n];if(e!=t){if(o=e[r])return o;for(a=e.parentNode;a&&a!=t;a=a.parentNode)if(o=a[r])return o}}}var r=e;this.current=function(){return r},this.next=function(e){return r=n(r,"firstChild","nextSibling",e)},this.prev=function(e){return r=n(r,"lastChild","previousSibling",e)}}}),r(m,[d],function(e){function t(n){function r(){return H.createDocumentFragment()}function i(e,t){_(F,e,t)}function o(e,t){_(z,e,t)}function a(e){i(e.parentNode,j(e))}function s(e){i(e.parentNode,j(e)+1)}function l(e){o(e.parentNode,j(e))}function c(e){o(e.parentNode,j(e)+1)}function u(e){e?(M[U]=M[V],M[$]=M[W]):(M[V]=M[U],M[W]=M[$]),M.collapsed=F}function d(e){a(e),c(e)}function f(e){i(e,0),o(e,1===e.nodeType?e.childNodes.length:e.nodeValue.length)}function p(e,t){var n=M[V],r=M[W],i=M[U],o=M[$],a=t.startContainer,s=t.startOffset,l=t.endContainer,c=t.endOffset;return 0===e?w(n,r,a,s):1===e?w(i,o,a,s):2===e?w(i,o,l,c):3===e?w(n,r,l,c):void 0}function h(){E(I)}function m(){return E(P)}function g(){return E(O)}function v(e){var t=this[V],r=this[W],i,o;3!==t.nodeType&&4!==t.nodeType||!t.nodeValue?(t.childNodes.length>0&&(o=t.childNodes[r]),o?t.insertBefore(e,o):3==t.nodeType?n.insertAfter(e,t):t.appendChild(e)):r?r>=t.nodeValue.length?n.insertAfter(e,t):(i=t.splitText(r),t.parentNode.insertBefore(e,i)):t.parentNode.insertBefore(e,t)}function y(e){var t=M.extractContents();M.insertNode(e),e.appendChild(t),M.selectNode(e)}function b(){return q(new t(n),{startContainer:M[V],startOffset:M[W],endContainer:M[U],endOffset:M[$],collapsed:M.collapsed,commonAncestorContainer:M.commonAncestorContainer})}function C(e,t){var n;if(3==e.nodeType)return e;if(0>t)return e;for(n=e.firstChild;n&&t>0;)--t,n=n.nextSibling;return n?n:e}function x(){return M[V]==M[U]&&M[W]==M[$]}function w(e,t,r,i){var o,a,s,l,c,u;if(e==r)return t==i?0:i>t?-1:1;for(o=r;o&&o.parentNode!=e;)o=o.parentNode;if(o){for(a=0,s=e.firstChild;s!=o&&t>a;)a++,s=s.nextSibling;return a>=t?-1:1}for(o=e;o&&o.parentNode!=r;)o=o.parentNode;if(o){for(a=0,s=r.firstChild;s!=o&&i>a;)a++,s=s.nextSibling;return i>a?-1:1}for(l=n.findCommonAncestor(e,r),c=e;c&&c.parentNode!=l;)c=c.parentNode;for(c||(c=l),u=r;u&&u.parentNode!=l;)u=u.parentNode;if(u||(u=l),c==u)return 0;for(s=l.firstChild;s;){if(s==c)return-1;if(s==u)return 1;s=s.nextSibling}}function _(e,t,r){var i,o;for(e?(M[V]=t,M[W]=r):(M[U]=t,M[$]=r),i=M[U];i.parentNode;)i=i.parentNode;for(o=M[V];o.parentNode;)o=o.parentNode;o==i?w(M[V],M[W],M[U],M[$])>0&&M.collapse(e):M.collapse(e),M.collapsed=x(),M.commonAncestorContainer=n.findCommonAncestor(M[V],M[U])}function E(e){var t,n=0,r=0,i,o,a,s,l,c;if(M[V]==M[U])return N(e);for(t=M[U],i=t.parentNode;i;t=i,i=i.parentNode){if(i==M[V])return k(t,e);++n}for(t=M[V],i=t.parentNode;i;t=i,i=i.parentNode){if(i==M[U])return S(t,e);++r}for(o=r-n,a=M[V];o>0;)a=a.parentNode,o--;for(s=M[U];0>o;)s=s.parentNode,o++;for(l=a.parentNode,c=s.parentNode;l!=c;l=l.parentNode,c=c.parentNode)a=l,s=c;return T(a,s,e)}function N(e){var t,n,i,o,a,s,l,c,u;if(e!=I&&(t=r()),M[W]==M[$])return t;if(3==M[V].nodeType){if(n=M[V].nodeValue,i=n.substring(M[W],M[$]),e!=O&&(o=M[V],c=M[W],u=M[$]-M[W],0===c&&u>=o.nodeValue.length-1?o.parentNode.removeChild(o):o.deleteData(c,u),M.collapse(F)),e==I)return;return i.length>0&&t.appendChild(H.createTextNode(i)),t}for(o=C(M[V],M[W]),a=M[$]-M[W];o&&a>0;)s=o.nextSibling,l=D(o,e),t&&t.appendChild(l),--a,o=s;return e!=O&&M.collapse(F),t}function k(e,t){var n,i,o,a,s,l;if(t!=I&&(n=r()),i=R(e,t),n&&n.appendChild(i),o=j(e),a=o-M[W],0>=a)return t!=O&&(M.setEndBefore(e),M.collapse(z)),n;for(i=e.previousSibling;a>0;)s=i.previousSibling,l=D(i,t),n&&n.insertBefore(l,n.firstChild),--a,i=s;return t!=O&&(M.setEndBefore(e),M.collapse(z)),n}function S(e,t){var n,i,o,a,s,l;for(t!=I&&(n=r()),o=A(e,t),n&&n.appendChild(o),i=j(e),++i,a=M[$]-i,o=e.nextSibling;o&&a>0;)s=o.nextSibling,l=D(o,t),n&&n.appendChild(l),--a,o=s;return t!=O&&(M.setStartAfter(e),M.collapse(F)),n}function T(e,t,n){var i,o,a,s,l,c,u;for(n!=I&&(o=r()),i=A(e,n),o&&o.appendChild(i),a=j(e),s=j(t),++a,l=s-a,c=e.nextSibling;l>0;)u=c.nextSibling,i=D(c,n),o&&o.appendChild(i),c=u,--l;return i=R(t,n),o&&o.appendChild(i),n!=O&&(M.setStartAfter(e),M.collapse(F)),o}function R(e,t){var n=C(M[U],M[$]-1),r,i,o,a,s,l=n!=M[U];if(n==e)return B(n,l,z,t);for(r=n.parentNode,i=B(r,z,z,t);r;){for(;n;)o=n.previousSibling,a=B(n,l,z,t),t!=I&&i.insertBefore(a,i.firstChild),l=F,n=o;if(r==e)return i;n=r.previousSibling,r=r.parentNode,s=B(r,z,z,t),t!=I&&s.appendChild(i),i=s}}function A(e,t){var n=C(M[V],M[W]),r=n!=M[V],i,o,a,s,l;if(n==e)return B(n,r,F,t);for(i=n.parentNode,o=B(i,z,F,t);i;){for(;n;)a=n.nextSibling,s=B(n,r,F,t),t!=I&&o.appendChild(s),r=F,n=a;if(i==e)return o;n=i.nextSibling,i=i.parentNode,l=B(i,z,F,t),t!=I&&l.appendChild(o),o=l}}function B(e,t,r,i){var o,a,s,l,c;if(t)return D(e,i);if(3==e.nodeType){if(o=e.nodeValue,r?(l=M[W],a=o.substring(l),s=o.substring(0,l)):(l=M[$],a=o.substring(0,l),s=o.substring(l)),i!=O&&(e.nodeValue=s),i==I)return;return c=n.clone(e,z),c.nodeValue=a,c}if(i!=I)return n.clone(e,z)}function D(e,t){return t!=I?t==O?n.clone(e,F):e:void e.parentNode.removeChild(e)}function L(){return n.create("body",null,g()).outerText}var M=this,H=n.doc,P=0,O=1,I=2,F=!0,z=!1,W="startOffset",V="startContainer",U="endContainer",$="endOffset",q=e.extend,j=n.nodeIndex;return q(M,{startContainer:H,startOffset:0,endContainer:H,endOffset:0,collapsed:F,commonAncestorContainer:H,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:i,setEnd:o,setStartBefore:a,setStartAfter:s,setEndBefore:l,setEndAfter:c,collapse:u,selectNode:d,selectNodeContents:f,compareBoundaryPoints:p,deleteContents:h,extractContents:m,cloneContents:g,insertNode:v,surroundContents:y,cloneRange:b,toStringIE:L}),M}return t.prototype.toString=function(){return this.toStringIE()},t}),r(g,[d],function(e){function t(e){var t;return t=document.createElement("div"),t.innerHTML=e,t.textContent||t.innerText||e}function n(e,t){var n,r,i,a={};if(e){for(e=e.split(","),t=t||10,n=0;n<e.length;n+=2)r=String.fromCharCode(parseInt(e[n],t)),o[r]||(i="&"+e[n+1]+";",a[r]=i,a[i]=r);return a}}var r=e.makeMap,i,o,a,s=/[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,c=/[<>&\"\']/g,u=/&(#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;","`":"&#96;"},a={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"},i=n("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);var f={encodeRaw:function(e,t){return e.replace(t?s:l,function(e){return o[e]||e})},encodeAllRaw:function(e){return(""+e).replace(c,function(e){return o[e]||e})},encodeNumeric:function(e,t){return e.replace(t?s:l,function(e){return e.length>1?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":o[e]||"&#"+e.charCodeAt(0)+";"})},encodeNamed:function(e,t,n){return n=n||i,e.replace(t?s:l,function(e){return o[e]||n[e]||e})},getEncodeFunc:function(e,t){function a(e,n){return e.replace(n?s:l,function(e){return o[e]||t[e]||"&#"+e.charCodeAt(0)+";"||e})}function c(e,n){return f.encodeNamed(e,n,t)}return t=n(t)||i,e=r(e.replace(/\+/g,",")),e.named&&e.numeric?a:e.named?t?c:f.encodeNamed:e.numeric?f.encodeNumeric:f.encodeRaw},decode:function(e){return e.replace(u,function(e,n,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(v,[d],function(e){return function(t,n){function r(e){t.getElementsByTagName("head")[0].appendChild(e)}function i(n,i,l){function c(){for(var e=y.passed,t=e.length;t--;)e[t]();y.status=2,y.passed=[],y.failed=[]}function u(){for(var e=y.failed,t=e.length;t--;)e[t]();y.status=3,y.passed=[],y.failed=[]}function d(){var e=navigator.userAgent.match(/WebKit\/(\d*)/);return!!(e&&e[1]<536)}function f(e,t){e()||((new Date).getTime()-v<s?window.setTimeout(t,0):u())}function p(){f(function(){for(var e=t.styleSheets,n,r=e.length,i;r--;)if(n=e[r],i=n.ownerNode?n.ownerNode:n.owningElement,i&&i.id===m.id)return c(),!0},p)}function h(){f(function(){try{var e=g.sheet.cssRules;return c(),!!e}catch(t){}},h)}var m,g,v,y;if(n=e._addCacheSuffix(n),a[n]?y=a[n]:(y={passed:[],failed:[]},a[n]=y),i&&y.passed.push(i),l&&y.failed.push(l),1!=y.status){if(2==y.status)return void c();if(3==y.status)return void u();if(y.status=1,m=t.createElement("link"),m.rel="stylesheet",m.type="text/css",m.id="u"+o++,m.async=!1,m.defer=!1,v=(new Date).getTime(),"onload"in m&&!d())m.onload=p,m.onerror=u;else{if(navigator.userAgent.indexOf("Firefox")>0)return g=t.createElement("style"),g.textContent='@import "'+n+'"',h(),void r(g);p()}r(m),m.href=n}}var o=0,a={},s;n=n||{},s=n.maxLoadTime||5e3,this.load=i}}),r(y,[c,f,p,l,h,m,g,u,d,v],function(e,n,r,i,o,a,s,l,c,u){function d(e,t){var n={},r=t.keep_values,i;return i={set:function(n,r,i){t.url_converter&&(r=t.url_converter.call(t.url_converter_scope||e,r,i,n[0])),n.attr("data-mce-"+i,r).attr(i,r)},get:function(e,t){return e.attr("data-mce-"+t)||e.attr(t)}},n={style:{set:function(e,t){return null!==t&&"object"==typeof t?void e.css(t):(r&&e.attr("data-mce-style",t),void e.attr("style",t))},get:function(t){var n=t.attr("data-mce-style")||t.attr("style");return n=e.serializeStyle(e.parseStyle(n),t[0].nodeName)}}},r&&(n.href=n.src=i),n}function f(e,t){var o=this,a;o.doc=e,o.win=window,o.files={},o.counter=0,o.stdMode=!v||e.documentMode>=8,o.boxModel=!v||"CSS1Compat"==e.compatMode||o.stdMode,o.styleSheetLoader=new u(e),o.boundEvents=[],o.settings=t=t||{},o.schema=t.schema,o.styles=new r({url_converter:t.url_converter,url_converter_scope:t.url_converter_scope},t.schema),o.fixDoc(e),o.events=t.ownEvents?new i(t.proxy):i.Event,o.attrHooks=d(o,t),a=t.schema?t.schema.getBlockElements():{},o.$=n.overrideDefaults(function(){return{context:e,element:o.getRoot()}}),o.isBlock=function(e){if(!e)return!1;var t=e.nodeType;return t?!(1!==t||!a[e.nodeName]):!!a[e]}}var p=c.each,h=c.is,m=c.grep,g=c.trim,v=l.ie,y=/^([a-z0-9],?)+$/i,b=/^[ \t\r\n]*$/;return f.prototype={$$:function(e){return"string"==typeof e&&(e=this.get(e)),this.$(e)},root:null,fixDoc:function(e){var t=this.settings,n;if(v&&t.schema){"abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video".replace(/\w+/g,function(t){e.createElement(t)});for(n in t.schema.getCustomElements())e.createElement(n)}},clone:function(e,t){var n=this,r,i;return!v||1!==e.nodeType||t?e.cloneNode(t):(i=n.doc,t?r.firstChild:(r=i.createElement(e.nodeName),p(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),r))},getRoot:function(){var e=this;return e.settings.root_element||e.doc.body},getViewPort:function(e){var t,n;return e=e?e:this.win,t=e.document,n=this.boxModel?t.documentElement:t.body,{x:e.pageXOffset||n.scrollLeft,y:e.pageYOffset||n.scrollTop,w:e.innerWidth||n.clientWidth,h:e.innerHeight||n.clientHeight}},getRect:function(e){var t=this,n,r;return e=t.get(e),n=t.getPos(e),r=t.getSize(e),{x:n.x,y:n.y,w:r.w,h:r.h}},getSize:function(e){var t=this,n,r;return e=t.get(e),n=t.getStyle(e,"width"),r=t.getStyle(e,"height"),-1===n.indexOf("px")&&(n=0),-1===r.indexOf("px")&&(r=0),{w:parseInt(n,10)||e.offsetWidth||e.clientWidth,h:parseInt(r,10)||e.offsetHeight||e.clientHeight}},getParent:function(e,t,n){return this.getParents(e,t,n,!1)},getParents:function(e,n,r,i){var o=this,a,s=[];for(e=o.get(e),i=i===t,r=r||("BODY"!=o.getRoot().nodeName?o.getRoot().parentNode:null),h(n,"string")&&(a=n,n="*"===n?function(e){return 1==e.nodeType}:function(e){return o.is(e,a)});e&&e!=r&&e.nodeType&&9!==e.nodeType;){if(!n||n(e)){if(!i)return e;s.push(e)}e=e.parentNode}return i?s:null},get:function(e){var t;return e&&this.doc&&"string"==typeof e&&(t=e,e=this.doc.getElementById(e),e&&e.id!==t)?this.doc.getElementsByName(t)[1]:e},getNext:function(e,t){return this._findSib(e,t,"nextSibling")},getPrev:function(e,t){return this._findSib(e,t,"previousSibling")},select:function(t,n){var r=this;return e(t,r.get(n)||r.settings.root_element||r.doc,[])},is:function(n,r){var i;if(n.length===t){if("*"===r)return 1==n.nodeType;if(y.test(r)){for(r=r.toLowerCase().split(/,/),n=n.nodeName.toLowerCase(),i=r.length-1;i>=0;i--)if(r[i]==n)return!0;return!1}}if(n.nodeType&&1!=n.nodeType)return!1;var o=n.nodeType?[n]:n;return e(r,o[0].ownerDocument||o[0],null,o).length>0},add:function(e,t,n,r,i){var o=this;return this.run(e,function(e){var a;return a=h(t,"string")?o.doc.createElement(t):t,o.setAttribs(a,n),r&&(r.nodeType?a.appendChild(r):o.setHTML(a,r)),i?a:e.appendChild(a)})},create:function(e,t,n){return this.add(this.doc.createElement(e),e,t,n,1)},createHTML:function(e,t,n){var r="",i;r+="<"+e;for(i in t)t.hasOwnProperty(i)&&null!==t[i]&&"undefined"!=typeof t[i]&&(r+=" "+i+'="'+this.encode(t[i])+'"');return"undefined"!=typeof n?r+">"+n+"</"+e+">":r+" />"},createFragment:function(e){var t,n,r=this.doc,i;for(i=r.createElement("div"),t=r.createDocumentFragment(),e&&(i.innerHTML=e);n=i.firstChild;)t.appendChild(n);return t},remove:function(e,t){return e=this.$$(e),t?e.each(function(){for(var e;e=this.firstChild;)3==e.nodeType&&0===e.data.length?this.removeChild(e):this.parentNode.insertBefore(e,this)}).remove():e.remove(),e.length>1?e.toArray():e[0]},setStyle:function(e,t,n){e=this.$$(e).css(t,n),this.settings.update_styles&&e.attr("data-mce-style",null)},getStyle:function(e,n,r){return e=this.$$(e),r?e.css(n):(n=n.replace(/-(\D)/g,function(e,t){return t.toUpperCase()}),"float"==n&&(n=v?"styleFloat":"cssFloat"),e[0]&&e[0].style?e[0].style[n]:t)},setStyles:function(e,t){e=this.$$(e).css(t),this.settings.update_styles&&e.attr("data-mce-style",null)},removeAllAttribs:function(e){return this.run(e,function(e){var t,n=e.attributes;for(t=n.length-1;t>=0;t--)e.removeAttributeNode(n.item(t))})},setAttrib:function(e,t,n){var r=this,i,o,a=r.settings;""===n&&(n=null),e=r.$$(e),i=e.attr(t),e.length&&(o=r.attrHooks[t],o&&o.set?o.set(e,n,t):e.attr(t,n),i!=n&&a.onSetAttrib&&a.onSetAttrib({attrElm:e,attrName:t,attrValue:n}))},setAttribs:function(e,t){var n=this;n.$$(e).each(function(e,r){p(t,function(e,t){n.setAttrib(r,t,e)})})},getAttrib:function(e,t,n){var r=this,i,o;return e=r.$$(e),e.length&&(i=r.attrHooks[t],o=i&&i.get?i.get(e,t):e.attr(t)),"undefined"==typeof o&&(o=n||""),o},getPos:function(e,t){var r=this,i=0,o=0,a,s=r.doc,l=s.body,c;if(e=r.get(e),t=t||l,e){if(t===l&&e.getBoundingClientRect&&"static"===n(l).css("position"))return c=e.getBoundingClientRect(),t=r.boxModel?s.documentElement:l,i=c.left+(s.documentElement.scrollLeft||l.scrollLeft)-t.clientLeft,o=c.top+(s.documentElement.scrollTop||l.scrollTop)-t.clientTop,{x:i,y:o};for(a=e;a&&a!=t&&a.nodeType;)i+=a.offsetLeft||0,o+=a.offsetTop||0,a=a.offsetParent;for(a=e.parentNode;a&&a!=t&&a.nodeType;)i-=a.scrollLeft||0,o-=a.scrollTop||0,a=a.parentNode}return{x:i,y:o}},parseStyle:function(e){return this.styles.parse(e)},serializeStyle:function(e,t){return this.styles.serialize(e,t)},addStyle:function(e){var t=this,n=t.doc,r,i;if(t!==f.DOM&&n===document){var o=f.DOM.addedStyles;if(o=o||[],o[e])return;o[e]=!0,f.DOM.addedStyles=o}i=n.getElementById("mceDefaultStyles"),i||(i=n.createElement("style"),i.id="mceDefaultStyles",i.type="text/css",r=n.getElementsByTagName("head")[0],r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i)),i.styleSheet?i.styleSheet.cssText+=e:i.appendChild(n.createTextNode(e))},loadCSS:function(e){var t=this,n=t.doc,r;return t!==f.DOM&&n===document?void f.DOM.loadCSS(e):(e||(e=""),r=n.getElementsByTagName("head")[0],void p(e.split(","),function(e){var i;e=c._addCacheSuffix(e),t.files[e]||(t.files[e]=!0,i=t.create("link",{rel:"stylesheet",href:e}),v&&n.documentMode&&n.recalc&&(i.onload=function(){n.recalc&&n.recalc(),i.onload=null}),r.appendChild(i))}))},addClass:function(e,t){this.$$(e).addClass(t)},removeClass:function(e,t){this.toggleClass(e,t,!1)},hasClass:function(e,t){return this.$$(e).hasClass(t)},toggleClass:function(e,t,r){this.$$(e).toggleClass(t,r).each(function(){""===this.className&&n(this).attr("class",null)})},show:function(e){this.$$(e).show()},hide:function(e){this.$$(e).hide()},isHidden:function(e){return"none"==this.$$(e).css("display")},uniqueId:function(e){return(e?e:"mce_")+this.counter++},setHTML:function(e,t){e=this.$$(e),v?e.each(function(e,r){if(r.canHaveHTML!==!1){for(;r.firstChild;)r.removeChild(r.firstChild);try{r.innerHTML="<br>"+t,r.removeChild(r.firstChild)}catch(i){n("<div>").html("<br>"+t).contents().slice(1).appendTo(r)}return t}}):e.html(t)},getOuterHTML:function(e){return e=this.get(e),1==e.nodeType&&"outerHTML"in e?e.outerHTML:n("<div>").append(n(e).clone()).html()},setOuterHTML:function(e,t){var r=this;r.$$(e).each(function(){try{if("outerHTML"in this)return void(this.outerHTML=t)}catch(e){}r.remove(n(this).html(t),!0)})},decode:s.decode,encode:s.encodeAllRaw,insertAfter:function(e,t){return t=this.get(t),this.run(e,function(e){var n,r;return n=t.parentNode,r=t.nextSibling,r?n.insertBefore(e,r):n.appendChild(e),e})},replace:function(e,t,n){var r=this;return r.run(t,function(t){return h(t,"array")&&(e=e.cloneNode(!0)),n&&p(m(t.childNodes),function(t){e.appendChild(t)}),t.parentNode.replaceChild(e,t)})},rename:function(e,t){var n=this,r;return e.nodeName!=t.toUpperCase()&&(r=n.create(t),p(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),n.replace(r,e,1)),r||e},findCommonAncestor:function(e,t){for(var n=e,r;n;){for(r=t;r&&n!=r;)r=r.parentNode;if(n==r)break;n=n.parentNode}return!n&&e.ownerDocument?e.ownerDocument.documentElement:n},toHex:function(e){return this.styles.toHex(c.trim(e))},run:function(e,t,n){var r=this,i;return"string"==typeof e&&(e=r.get(e)),e?(n=n||this,e.nodeType||!e.length&&0!==e.length?t.call(n,e):(i=[],p(e,function(e,o){e&&("string"==typeof e&&(e=r.get(e)),i.push(t.call(n,e,o)))}),i)):!1},getAttribs:function(e){var t;if(e=this.get(e),!e)return[];if(v){if(t=[],"OBJECT"==e.nodeName)return e.attributes;"OPTION"===e.nodeName&&this.getAttrib(e,"selected")&&t.push({specified:1,nodeName:"selected"});var n=/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi;return e.cloneNode(!1).outerHTML.replace(n,"").replace(/[\w:\-]+/gi,function(e){t.push({specified:1,nodeName:e})}),t}return e.attributes},isEmpty:function(e,t){var n=this,r,i,a,s,l,c=0;if(e=e.firstChild){s=new o(e,e.parentNode),t=t||(n.schema?n.schema.getNonEmptyElements():null);do{if(a=e.nodeType,1===a){if(e.getAttribute("data-mce-bogus"))continue;if(l=e.nodeName.toLowerCase(),t&&t[l]){if("br"===l){c++;continue}return!1}for(i=n.getAttribs(e),r=i.length;r--;)if(l=i[r].nodeName,"name"===l||"data-mce-bookmark"===l)return!1}if(8==a)return!1;if(3===a&&!b.test(e.nodeValue))return!1}while(e=s.next())}return 1>=c},createRng:function(){var e=this.doc;return e.createRange?e.createRange():new a(this)},nodeIndex:function(e,t){var n=0,r,i;if(e)for(r=e.nodeType,e=e.previousSibling;e;e=e.previousSibling)i=e.nodeType,(!t||3!=i||i!=r&&e.nodeValue.length)&&(n++,r=i);return n},split:function(e,t,n){function r(e){function t(e){var t=e.previousSibling&&"SPAN"==e.previousSibling.nodeName,n=e.nextSibling&&"SPAN"==e.nextSibling.nodeName;return t&&n;
+
+}var n,o=e.childNodes,a=e.nodeType;if(1!=a||"bookmark"!=e.getAttribute("data-mce-type")){for(n=o.length-1;n>=0;n--)r(o[n]);if(9!=a){if(3==a&&e.nodeValue.length>0){var s=g(e.nodeValue).length;if(!i.isBlock(e.parentNode)||s>0||0===s&&t(e))return}else if(1==a&&(o=e.childNodes,1==o.length&&o[0]&&1==o[0].nodeType&&"bookmark"==o[0].getAttribute("data-mce-type")&&e.parentNode.insertBefore(o[0],e),o.length||/^(br|hr|input|img)$/i.test(e.nodeName)))return;i.remove(e)}return e}}var i=this,o=i.createRng(),a,s,l;return e&&t?(o.setStart(e.parentNode,i.nodeIndex(e)),o.setEnd(t.parentNode,i.nodeIndex(t)),a=o.extractContents(),o=i.createRng(),o.setStart(t.parentNode,i.nodeIndex(t)+1),o.setEnd(e.parentNode,i.nodeIndex(e)+1),s=o.extractContents(),l=e.parentNode,l.insertBefore(r(a),e),n?l.replaceChild(n,t):l.insertBefore(t,e),l.insertBefore(r(s),e),i.remove(e),n||t):void 0},bind:function(e,t,n,r){var i=this;if(c.isArray(e)){for(var o=e.length;o--;)e[o]=i.bind(e[o],t,n,r);return e}return!i.settings.collect||e!==i.doc&&e!==i.win||i.boundEvents.push([e,t,n,r]),i.events.bind(e,t,n,r||i)},unbind:function(e,t,n){var r=this,i;if(c.isArray(e)){for(i=e.length;i--;)e[i]=r.unbind(e[i],t,n);return e}if(r.boundEvents&&(e===r.doc||e===r.win))for(i=r.boundEvents.length;i--;){var o=r.boundEvents[i];e!=o[0]||t&&t!=o[1]||n&&n!=o[2]||this.events.unbind(o[0],o[1],o[2])}return this.events.unbind(e,t,n)},fire:function(e,t,n){return this.events.fire(e,t,n)},getContentEditable:function(e){var t;return e&&1==e.nodeType?(t=e.getAttribute("data-mce-contenteditable"),t&&"inherit"!==t?t:"inherit"!==e.contentEditable?e.contentEditable:null):null},getContentEditableParent:function(e){for(var t=this.getRoot(),n=null;e&&e!==t&&(n=this.getContentEditable(e),null===n);e=e.parentNode);return n},destroy:function(){var t=this;if(t.boundEvents){for(var n=t.boundEvents.length;n--;){var r=t.boundEvents[n];this.events.unbind(r[0],r[1],r[2])}t.boundEvents=null}e.setDocument&&e.setDocument(),t.win=t.doc=t.root=t.events=t.frag=null},isChildOf:function(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1},dumpRng:function(e){return"startContainer: "+e.startContainer.nodeName+", startOffset: "+e.startOffset+", endContainer: "+e.endContainer.nodeName+", endOffset: "+e.endOffset},_findSib:function(e,t,n){var r=this,i=t;if(e)for("string"==typeof i&&(i=function(e){return r.is(e,t)}),e=e[n];e;e=e[n])if(i(e))return e;return null}},f.DOM=new f(document),f}),r(b,[y,d],function(e,t){function n(){function e(e,n){function i(){a.remove(l),s&&(s.onreadystatechange=s.onload=s=null),n()}function o(){"undefined"!=typeof console&&console.log&&console.log("Failed to load: "+e)}var a=r,s,l;l=a.uniqueId(),s=document.createElement("script"),s.id=l,s.type="text/javascript",s.src=t._addCacheSuffix(e),"onreadystatechange"in s?s.onreadystatechange=function(){/loaded|complete/.test(s.readyState)&&i()}:s.onload=i,s.onerror=o,(document.getElementsByTagName("head")[0]||document.body).appendChild(s)}var n=0,a=1,s=2,l={},c=[],u={},d=[],f=0,p;this.isDone=function(e){return l[e]==s},this.markDone=function(e){l[e]=s},this.add=this.load=function(e,t,r){var i=l[e];i==p&&(c.push(e),l[e]=n),t&&(u[e]||(u[e]=[]),u[e].push({func:t,scope:r||this}))},this.loadQueue=function(e,t){this.loadScripts(c,e,t)},this.loadScripts=function(t,n,r){function c(e){i(u[e],function(e){e.func.call(e.scope)}),u[e]=p}var h;d.push({func:n,scope:r||this}),(h=function(){var n=o(t);t.length=0,i(n,function(t){return l[t]==s?void c(t):void(l[t]!=a&&(l[t]=a,f++,e(t,function(){l[t]=s,f--,c(t),h()})))}),f||(i(d,function(e){e.func.call(e.scope)}),d.length=0)})()}}var r=e.DOM,i=t.each,o=t.grep;return n.ScriptLoader=new n,n}),r(C,[b,d],function(e,n){function r(){var e=this;e.items=[],e.urls={},e.lookup={}}var i=n.each;return r.prototype={get:function(e){return this.lookup[e]?this.lookup[e].instance:t},dependencies:function(e){var t;return this.lookup[e]&&(t=this.lookup[e].dependencies),t||[]},requireLangPack:function(t,n){var i=r.language;if(i&&r.languageLoad!==!1){if(n)if(n=","+n+",",-1!=n.indexOf(","+i.substr(0,2)+","))i=i.substr(0,2);else if(-1==n.indexOf(","+i+","))return;e.ScriptLoader.add(this.urls[t]+"/langs/"+i+".js")}},add:function(e,t,n){return this.items.push(t),this.lookup[e]={instance:t,dependencies:n},t},createUrl:function(e,t){return"object"==typeof t?t:{prefix:e.prefix,resource:t,suffix:e.suffix}},addComponents:function(t,n){var r=this.urls[t];i(n,function(t){e.ScriptLoader.add(r+"/"+t)})},load:function(n,o,a,s){function l(){var r=c.dependencies(n);i(r,function(e){var n=c.createUrl(o,e);c.load(n.resource,n,t,t)}),a&&a.call(s?s:e)}var c=this,u=o;c.urls[n]||("object"==typeof o&&(u=o.prefix+o.resource+o.suffix),0!==u.indexOf("/")&&-1==u.indexOf("://")&&(u=r.baseURL+"/"+u),c.urls[n]=u.substring(0,u.lastIndexOf("/")),c.lookup[n]?l():e.ScriptLoader.add(u,l,s))}},r.PluginManager=new r,r.ThemeManager=new r,r}),r(x,[d,h],function(e,t){function n(e,t){var n=e.childNodes;return t--,t>n.length-1?t=n.length-1:0>t&&(t=0),n[t]||e}function r(e){this.walk=function(t,r){function o(e){var t;return t=e[0],3===t.nodeType&&t===c&&u>=t.nodeValue.length&&e.splice(0,1),t=e[e.length-1],0===f&&e.length>0&&t===d&&3===t.nodeType&&e.splice(e.length-1,1),e}function a(e,t,n){for(var r=[];e&&e!=n;e=e[t])r.push(e);return r}function s(e,t){do{if(e.parentNode==t)return e;e=e.parentNode}while(e)}function l(e,t,n){var i=n?"nextSibling":"previousSibling";for(g=e,v=g.parentNode;g&&g!=t;g=v)v=g.parentNode,y=a(g==e?g:g[i],i),y.length&&(n||y.reverse(),r(o(y)))}var c=t.startContainer,u=t.startOffset,d=t.endContainer,f=t.endOffset,p,h,m,g,v,y,b;if(b=e.select("td.mce-item-selected,th.mce-item-selected"),b.length>0)return void i(b,function(e){r([e])});if(1==c.nodeType&&c.hasChildNodes()&&(c=c.childNodes[u]),1==d.nodeType&&d.hasChildNodes()&&(d=n(d,f)),c==d)return r(o([c]));for(p=e.findCommonAncestor(c,d),g=c;g;g=g.parentNode){if(g===d)return l(c,p,!0);if(g===p)break}for(g=d;g;g=g.parentNode){if(g===c)return l(d,p);if(g===p)break}h=s(c,p)||c,m=s(d,p)||d,l(c,h,!0),y=a(h==c?h:h.nextSibling,"nextSibling",m==d?m.nextSibling:m),y.length&&r(o(y)),l(d,m)},this.split=function(e){function t(e,t){return e.splitText(t)}var n=e.startContainer,r=e.startOffset,i=e.endContainer,o=e.endOffset;return n==i&&3==n.nodeType?r>0&&r<n.nodeValue.length&&(i=t(n,r),n=i.previousSibling,o>r?(o-=r,n=i=t(i,o).previousSibling,o=i.nodeValue.length,r=0):o=0):(3==n.nodeType&&r>0&&r<n.nodeValue.length&&(n=t(n,r),r=0),3==i.nodeType&&o>0&&o<i.nodeValue.length&&(i=t(i,o).previousSibling,o=i.nodeValue.length)),{startContainer:n,startOffset:r,endContainer:i,endOffset:o}},this.normalize=function(n){function r(r){function a(n,r){for(var i=new t(n,e.getParent(n.parentNode,e.isBlock)||f);n=i[r?"prev":"next"]();)if("BR"===n.nodeName)return!0}function s(e,t){return e.previousSibling&&e.previousSibling.nodeName==t}function l(n,r){var a,s,l;if(r=r||c,l=e.getParent(r.parentNode,e.isBlock)||f,n&&"BR"==r.nodeName&&g&&e.isEmpty(l))return c=r.parentNode,u=e.nodeIndex(r),void(i=!0);for(a=new t(r,l);p=a[n?"prev":"next"]();){if("false"===e.getContentEditableParent(p))return;if(3===p.nodeType&&p.nodeValue.length>0)return c=p,u=n?p.nodeValue.length:0,void(i=!0);if(e.isBlock(p)||h[p.nodeName.toLowerCase()])return;s=p}o&&s&&(c=s,i=!0,u=0)}var c,u,d,f=e.getRoot(),p,h,m,g;if(c=n[(r?"start":"end")+"Container"],u=n[(r?"start":"end")+"Offset"],g=1==c.nodeType&&u===c.childNodes.length,h=e.schema.getNonEmptyElements(),m=r,1==c.nodeType&&u>c.childNodes.length-1&&(m=!1),9===c.nodeType&&(c=e.getRoot(),u=0),c===f){if(m&&(p=c.childNodes[u>0?u-1:0],p&&(h[p.nodeName]||"TABLE"==p.nodeName)))return;if(c.hasChildNodes()&&(u=Math.min(!m&&u>0?u-1:u,c.childNodes.length-1),c=c.childNodes[u],u=0,c.hasChildNodes()&&!/TABLE/.test(c.nodeName))){p=c,d=new t(c,f);do{if(3===p.nodeType&&p.nodeValue.length>0){u=m?0:p.nodeValue.length,c=p,i=!0;break}if(h[p.nodeName.toLowerCase()]){u=e.nodeIndex(p),c=p.parentNode,"IMG"!=p.nodeName||m||u++,i=!0;break}}while(p=m?d.next():d.prev())}}o&&(3===c.nodeType&&0===u&&l(!0),1===c.nodeType&&(p=c.childNodes[u],p||(p=c.childNodes[u-1]),!p||"BR"!==p.nodeName||s(p,"A")||a(p)||a(p,!0)||l(!0,p))),m&&!o&&3===c.nodeType&&u===c.nodeValue.length&&l(!1),i&&n["set"+(r?"Start":"End")](c,u)}var i,o;return o=n.collapsed,r(!0),o||r(),i&&o&&n.collapse(!0),i}}var i=e.each;return r.compareRanges=function(e,t){if(e&&t){if(!e.item&&!e.duplicate)return e.startContainer==t.startContainer&&e.startOffset==t.startOffset;if(e.item&&t.item&&e.item(0)===t.item(0))return!0;if(e.isEqual&&t.isEqual&&t.isEqual(e))return!0}return!1},r.getCaretRangeFromPoint=function(e,t,n){var r,i;if(n.caretPositionFromPoint)i=n.caretPositionFromPoint(e,t),r=n.createRange(),r.setStart(i.offsetNode,i.offset),r.collapse(!0);else if(n.caretRangeFromPoint)r=n.caretRangeFromPoint(e,t);else if(n.body.createTextRange){r=n.body.createTextRange();try{r.moveToPoint(e,t),r.collapse(!0)}catch(o){r.collapse(t<n.body.clientHeight)}}return r},r.getNode=function(e,t){return 1==e.nodeType&&e.hasChildNodes()&&(t>=e.childNodes.length&&(t=e.childNodes.length-1),e=e.childNodes[t]),e},r}),r(w,[x,u],function(e,t){return function(n){function r(e){var t,r;if(r=n.$(e).parentsUntil(n.getBody()).add(e),r.length===o.length){for(t=r.length;t>=0&&r[t]===o[t];t--);if(-1===t)return o=r,!0}return o=r,!1}var i,o=[];"onselectionchange"in n.getDoc()||n.on("NodeChange Click MouseUp KeyUp Focus",function(t){var r,o;r=n.selection.getRng(),o={startContainer:r.startContainer,startOffset:r.startOffset,endContainer:r.endContainer,endOffset:r.endOffset},"nodechange"!=t.type&&e.compareRanges(o,i)||n.fire("SelectionChange"),i=o}),n.on("contextmenu",function(){n.fire("SelectionChange")}),n.on("SelectionChange",function(){var e=n.selection.getStart(!0);(t.range||!n.selection.isCollapsed())&&!r(e)&&n.dom.isChildOf(e,n.getBody())&&n.nodeChanged({selectionChange:!0})}),n.on("MouseUp",function(e){e.isDefaultPrevented()||("IMG"==n.selection.getNode().nodeName?setTimeout(function(){n.nodeChanged()},0):n.nodeChanged())}),this.nodeChanged=function(e){var t=n.selection,r,i,o;n.initialized&&t&&!n.settings.disable_nodechange&&!n.settings.readonly&&(o=n.getBody(),r=t.getStart()||o,r=r.ownerDocument!=n.getDoc()?n.getBody():r,"IMG"==r.nodeName&&t.isCollapsed()&&(r=r.parentNode),i=[],n.dom.getParent(r,function(e){return e===o?!0:void i.push(e)}),e=e||{},e.element=r,e.parents=i,n.fire("NodeChange",e))}}}),r(_,[],function(){function e(e,t,n){var r,i,o=n?"lastChild":"firstChild",a=n?"prev":"next";if(e[o])return e[o];if(e!==t){if(r=e[a])return r;for(i=e.parent;i&&i!==t;i=i.parent)if(r=i[a])return r}}function t(e,t){this.name=e,this.type=t,1===t&&(this.attributes=[],this.attributes.map={})}var n=/^[ \t\r\n]*$/,r={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};return t.prototype={replace:function(e){var t=this;return e.parent&&e.remove(),t.insert(e,t),t.remove(),t},attr:function(e,t){var n=this,r,i,o;if("string"!=typeof e){for(i in e)n.attr(i,e[i]);return n}if(r=n.attributes){if(t!==o){if(null===t){if(e in r.map)for(delete r.map[e],i=r.length;i--;)if(r[i].name===e)return r=r.splice(i,1),n;return n}if(e in r.map){for(i=r.length;i--;)if(r[i].name===e){r[i].value=t;break}}else r.push({name:e,value:t});return r.map[e]=t,n}return r.map[e]}},clone:function(){var e=this,n=new t(e.name,e.type),r,i,o,a,s;if(o=e.attributes){for(s=[],s.map={},r=0,i=o.length;i>r;r++)a=o[r],"id"!==a.name&&(s[s.length]={name:a.name,value:a.value},s.map[a.name]=a.value);n.attributes=s}return n.value=e.value,n.shortEnded=e.shortEnded,n},wrap:function(e){var t=this;return t.parent.insert(e,t),e.append(t),t},unwrap:function(){var e=this,t,n;for(t=e.firstChild;t;)n=t.next,e.insert(t,e,!0),t=n;e.remove()},remove:function(){var e=this,t=e.parent,n=e.next,r=e.prev;return t&&(t.firstChild===e?(t.firstChild=n,n&&(n.prev=null)):r.next=n,t.lastChild===e?(t.lastChild=r,r&&(r.next=null)):n.prev=r,e.parent=e.next=e.prev=null),e},append:function(e){var t=this,n;return e.parent&&e.remove(),n=t.lastChild,n?(n.next=e,e.prev=n,t.lastChild=e):t.lastChild=t.firstChild=e,e.parent=t,e},insert:function(e,t,n){var r;return e.parent&&e.remove(),r=t.parent||this,n?(t===r.firstChild?r.firstChild=e:t.prev.next=e,e.prev=t.prev,e.next=t,t.prev=e):(t===r.lastChild?r.lastChild=e:t.next.prev=e,e.next=t.next,e.prev=t,t.next=e),e.parent=r,e},getAll:function(t){var n=this,r,i=[];for(r=n.firstChild;r;r=e(r,n))r.name===t&&i.push(r);return i},empty:function(){var t=this,n,r,i;if(t.firstChild){for(n=[],i=t.firstChild;i;i=e(i,t))n.push(i);for(r=n.length;r--;)i=n[r],i.parent=i.firstChild=i.lastChild=i.next=i.prev=null}return t.firstChild=t.lastChild=null,t},isEmpty:function(t){var r=this,i=r.firstChild,o,a;if(i)do{if(1===i.type){if(i.attributes.map["data-mce-bogus"])continue;if(t[i.name])return!1;for(o=i.attributes.length;o--;)if(a=i.attributes[o].name,"name"===a||0===a.indexOf("data-mce-bookmark"))return!1}if(8===i.type)return!1;if(3===i.type&&!n.test(i.value))return!1}while(i=e(i,r));return!0},walk:function(t){return e(this,null,t)}},t.create=function(e,n){var i,o;if(i=new t(e,r[e]||1),n)for(o in n)i.attr(o,n[o]);return i},t}),r(E,[d],function(e){function t(e,t){return e?e.split(t||" "):[]}function n(e){function n(e,n,r){function i(e,t){var n={},r,i;for(r=0,i=e.length;i>r;r++)n[e[r]]=t||{};return n}var s,c,u,d=arguments;for(r=r||[],n=n||"","string"==typeof r&&(r=t(r)),c=3;c<d.length;c++)"string"==typeof d[c]&&(d[c]=t(d[c])),r.push.apply(r,d[c]);for(e=t(e),s=e.length;s--;)u=[].concat(l,t(n)),a[e[s]]={attributes:i(u),attributesOrder:u,children:i(r,o)}}function r(e,n){var r,i,o,s;for(e=t(e),r=e.length,n=t(n);r--;)for(i=a[e[r]],o=0,s=n.length;s>o;o++)i.attributes[n[o]]={},i.attributesOrder.push(n[o])}var a={},l,c,u,d,f,p;return i[e]?i[e]:(l=t("id accesskey class dir lang style tabindex title"),c=t("address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul"),u=t("a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var #text #comment"),"html4"!=e&&(l.push.apply(l,t("contenteditable contextmenu draggable dropzone hidden spellcheck translate")),c.push.apply(c,t("article aside details dialog figure header footer hgroup section nav")),u.push.apply(u,t("audio canvas command datalist mark meter output progress time wbr video ruby bdi keygen"))),"html5-strict"!=e&&(l.push("xml:lang"),p=t("acronym applet basefont big font strike tt"),u.push.apply(u,p),s(p,function(e){n(e,"",u)}),f=t("center dir isindex noframes"),c.push.apply(c,f),d=[].concat(c,u),s(f,function(e){n(e,"",d)})),d=d||[].concat(c,u),n("html","manifest","head body"),n("head","","base command link meta noscript script style title"),n("title hr noscript br"),n("base","href target"),n("link","href rel media hreflang type sizes hreflang"),n("meta","name http-equiv content charset"),n("style","media type scoped"),n("script","src async defer type charset"),n("body","onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload",d),n("address dt dd div caption","",d),n("h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn","",u),n("blockquote","cite",d),n("ol","reversed start type","li"),n("ul","","li"),n("li","value",d),n("dl","","dt dd"),n("a","href target rel media hreflang type",u),n("q","cite",u),n("ins del","cite datetime",d),n("img","src sizes srcset alt usemap ismap width height"),n("iframe","src name width height",d),n("embed","src type width height"),n("object","data type typemustmatch name usemap form width height",d,"param"),n("param","name value"),n("map","name",d,"area"),n("area","alt coords shape href target rel media hreflang type"),n("table","border","caption colgroup thead tfoot tbody tr"+("html4"==e?" col":"")),n("colgroup","span","col"),n("col","span"),n("tbody thead tfoot","","tr"),n("tr","","td th"),n("td","colspan rowspan headers",d),n("th","colspan rowspan headers scope abbr",d),n("form","accept-charset action autocomplete enctype method name novalidate target",d),n("fieldset","disabled form name",d,"legend"),n("label","form for",u),n("input","accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width"),n("button","disabled form formaction formenctype formmethod formnovalidate formtarget name type value","html4"==e?d:u),n("select","disabled form multiple name required size","option optgroup"),n("optgroup","disabled label","option"),n("option","disabled label selected value"),n("textarea","cols dirname disabled form maxlength name readonly required rows wrap"),n("menu","type label",d,"li"),n("noscript","",d),"html4"!=e&&(n("wbr"),n("ruby","",u,"rt rp"),n("figcaption","",d),n("mark rt rp summary bdi","",u),n("canvas","width height",d),n("video","src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered",d,"track source"),n("audio","src crossorigin preload autoplay mediagroup loop muted controls buffered volume",d,"track source"),n("picture","","img source"),n("source","src srcset type media sizes"),n("track","kind src srclang label default"),n("datalist","",u,"option"),n("article section nav aside header footer","",d),n("hgroup","","h1 h2 h3 h4 h5 h6"),n("figure","",d,"figcaption"),n("time","datetime",u),n("dialog","open",d),n("command","type label icon disabled checked radiogroup command"),n("output","for form name",u),n("progress","value max",u),n("meter","value min max low high optimum",u),n("details","open",d,"summary"),n("keygen","autofocus challenge disabled form keytype name")),"html5-strict"!=e&&(r("script","language xml:space"),r("style","xml:space"),r("object","declare classid code codebase codetype archive standby align border hspace vspace"),r("embed","align name hspace vspace"),r("param","valuetype type"),r("a","charset name rev shape coords"),r("br","clear"),r("applet","codebase archive code object alt name width height align hspace vspace"),r("img","name longdesc align border hspace vspace"),r("iframe","longdesc frameborder marginwidth marginheight scrolling align"),r("font basefont","size color face"),r("input","usemap align"),r("select","onchange"),r("textarea"),r("h1 h2 h3 h4 h5 h6 div p legend caption","align"),r("ul","type compact"),r("li","type"),r("ol dl menu dir","compact"),r("pre","width xml:space"),r("hr","align noshade size width"),r("isindex","prompt"),r("table","summary width frame rules cellspacing cellpadding align bgcolor"),r("col","width align char charoff valign"),r("colgroup","width align char charoff valign"),r("thead","align char charoff valign"),r("tr","align char charoff valign bgcolor"),r("th","axis align char charoff valign nowrap bgcolor width height"),r("form","accept"),r("td","abbr axis scope align char charoff valign nowrap bgcolor width height"),r("tfoot","align char charoff valign"),r("tbody","align char charoff valign"),r("area","nohref"),r("body","background bgcolor text link vlink alink")),"html4"!=e&&(r("input button select textarea","autofocus"),r("input textarea","placeholder"),r("a","download"),r("link script img","crossorigin"),r("iframe","sandbox seamless allowfullscreen")),s(t("a form meter progress dfn"),function(e){a[e]&&delete a[e].children[e]}),delete a.caption.children.table,i[e]=a,a)}function r(e,t){var n;return e&&(n={},"string"==typeof e&&(e={"*":e}),s(e,function(e,r){n[r]=n[r.toUpperCase()]="map"==t?a(e,/[, ]/):c(e,/[, ]/)})),n}var i={},o={},a=e.makeMap,s=e.each,l=e.extend,c=e.explode,u=e.inArray;return function(e){function o(t,n,r){var o=e[t];return o?o=a(o,/[, ]/,a(o.toUpperCase(),/[, ]/)):(o=i[t],o||(o=a(n," ",a(n.toUpperCase()," ")),o=l(o,r),i[t]=o)),o}function d(e){return new RegExp("^"+e.replace(/([?+*])/g,".$1")+"$")}function f(e){var n,r,i,o,s,l,c,f,p,h,m,g,v,b,x,w,_,E,N,k=/^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)\])?$/,S=/^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,T=/[*?+]/;if(e)for(e=t(e,","),y["@"]&&(w=y["@"].attributes,_=y["@"].attributesOrder),n=0,r=e.length;r>n;n++)if(s=k.exec(e[n])){if(b=s[1],p=s[2],x=s[3],f=s[5],g={},v=[],l={attributes:g,attributesOrder:v},"#"===b&&(l.paddEmpty=!0),"-"===b&&(l.removeEmpty=!0),"!"===s[4]&&(l.removeEmptyAttrs=!0),w){for(E in w)g[E]=w[E];v.push.apply(v,_)}if(f)for(f=t(f,"|"),i=0,o=f.length;o>i;i++)if(s=S.exec(f[i])){if(c={},m=s[1],h=s[2].replace(/::/g,":"),b=s[3],N=s[4],"!"===m&&(l.attributesRequired=l.attributesRequired||[],l.attributesRequired.push(h),c.required=!0),"-"===m){delete g[h],v.splice(u(v,h),1);continue}b&&("="===b&&(l.attributesDefault=l.attributesDefault||[],l.attributesDefault.push({name:h,value:N}),c.defaultValue=N),":"===b&&(l.attributesForced=l.attributesForced||[],l.attributesForced.push({name:h,value:N}),c.forcedValue=N),"<"===b&&(c.validValues=a(N,"?"))),T.test(h)?(l.attributePatterns=l.attributePatterns||[],c.pattern=d(h),l.attributePatterns.push(c)):(g[h]||v.push(h),g[h]=c)}w||"@"!=p||(w=g,_=v),x&&(l.outputName=p,y[x]=l),T.test(p)?(l.pattern=d(p),C.push(l)):y[p]=l}}function p(e){y={},C=[],f(e),s(_,function(e,t){b[t]=e.children})}function h(e){var n=/^(~)?(.+)$/;e&&(i.text_block_elements=i.block_elements=null,s(t(e,","),function(e){var t=n.exec(e),r="~"===t[1],i=r?"span":"div",o=t[2];if(b[o]=b[i],M[o]=i,r||(R[o.toUpperCase()]={},R[o]={}),!y[o]){var a=y[i];a=l({},a),delete a.removeEmptyAttrs,delete a.removeEmpty,y[o]=a}s(b,function(e,t){e[i]&&(b[t]=e=l({},b[t]),e[o]=e[i])})}))}function m(e){var n=/^([+\-]?)(\w+)\[([^\]]+)\]$/;e&&s(t(e,","),function(e){var r=n.exec(e),i,o;r&&(o=r[1],i=o?b[r[2]]:b[r[2]]={"#comment":{}},i=b[r[2]],s(t(r[3],"|"),function(e){"-"===o?(b[r[2]]=i=l({},b[r[2]]),delete i[e]):i[e]={}}))})}function g(e){var t=y[e],n;if(t)return t;for(n=C.length;n--;)if(t=C[n],t.pattern.test(e))return t}var v=this,y={},b={},C=[],x,w,_,E,N,k,S,T,R,A,B,D,L,M={},H={};e=e||{},_=n(e.schema),e.verify_html===!1&&(e.valid_elements="*[*]"),x=r(e.valid_styles),w=r(e.invalid_styles,"map"),T=r(e.valid_classes,"map"),E=o("whitespace_elements","pre script noscript style textarea video audio iframe object"),N=o("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr"),k=o("short_ended_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr track"),S=o("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls"),A=o("non_empty_elements","td th iframe video audio object script",k),B=o("move_caret_before_on_enter_elements","table",A),D=o("text_block_elements","h1 h2 h3 h4 h5 h6 p div address pre form blockquote center dir fieldset header footer article section hgroup aside nav figure"),R=o("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup",D),L=o("text_inline_elements","span strong b em i font strike u var cite dfn code mark q sup sub samp"),s((e.special||"script noscript style textarea").split(" "),function(e){H[e]=new RegExp("</"+e+"[^>]*>","gi")}),e.valid_elements?p(e.valid_elements):(s(_,function(e,t){y[t]={attributes:e.attributes,attributesOrder:e.attributesOrder},b[t]=e.children}),"html5"!=e.schema&&s(t("strong/b em/i"),function(e){e=t(e,"/"),y[e[1]].outputName=e[0]}),y.img.attributesDefault=[{name:"alt",value:""}],s(t("ol ul sub sup blockquote span font a table tbody tr strong em b i"),function(e){y[e]&&(y[e].removeEmpty=!0)}),s(t("p h1 h2 h3 h4 h5 h6 th td pre div address caption"),function(e){y[e].paddEmpty=!0}),s(t("span"),function(e){y[e].removeEmptyAttrs=!0})),h(e.custom_elements),m(e.valid_children),f(e.extended_valid_elements),m("+ol[ul|ol],+ul[ul|ol]"),e.invalid_elements&&s(c(e.invalid_elements),function(e){y[e]&&delete y[e]}),g("span")||f("span[!data-mce-type|*]"),v.children=b,v.getValidStyles=function(){return x},v.getInvalidStyles=function(){return w},v.getValidClasses=function(){return T},v.getBoolAttrs=function(){return S},v.getBlockElements=function(){return R},v.getTextBlockElements=function(){return D},v.getTextInlineElements=function(){return L},v.getShortEndedElements=function(){return k},v.getSelfClosingElements=function(){return N},v.getNonEmptyElements=function(){return A},v.getMoveCaretBeforeOnEnterElements=function(){return B},v.getWhiteSpaceElements=function(){return E},v.getSpecialElements=function(){return H},v.isValidChild=function(e,t){var n=b[e];return!(!n||!n[t])},v.isValid=function(e,t){var n,r,i=g(e);if(i){if(!t)return!0;if(i.attributes[t])return!0;if(n=i.attributePatterns)for(r=n.length;r--;)if(n[r].pattern.test(e))return!0}return!1},v.getElementRule=g,v.getCustomElements=function(){return M},v.addValidElements=f,v.setValidElements=p,v.addCustomElements=h,v.addValidChildren=m,v.elements=y}}),r(N,[E,g,d],function(e,t,n){function r(e,t,n){var r=1,i,o,a,s;for(s=e.getShortEndedElements(),a=/<([!?\/])?([A-Za-z0-9\-_\:\.]+)((?:\s+[^"\'>]+(?:(?:"[^"]*")|(?:\'[^\']*\')|[^>]*))*|\/|\s+)>/g,a.lastIndex=i=n;o=a.exec(t);){if(i=a.lastIndex,"/"===o[1])r--;else if(!o[1]){if(o[2]in s)continue;r++}if(0===r)break}return i}function i(i,a){function s(){}var l=this;i=i||{},l.schema=a=a||new e,i.fix_self_closing!==!1&&(i.fix_self_closing=!0),o("comment cdata text start end pi doctype".split(" "),function(e){e&&(l[e]=i[e]||s)}),l.parse=function(e){function o(e){var t,n;for(t=p.length;t--&&p[t].name!==e;);if(t>=0){for(n=p.length-1;n>=t;n--)e=p[n],e.valid&&l.end(e.name);p.length=t}}function s(e,t,n,r,o){var a,s,l=/[\s\u0000-\u001F]+/g;if(t=t.toLowerCase(),n=t in x?t:z(n||r||o||""),_&&!y&&0!==t.indexOf("data-")){if(a=T[t],!a&&R){for(s=R.length;s--&&(a=R[s],!a.pattern.test(t)););-1===s&&(a=null)}if(!a)return;if(a.validValues&&!(n in a.validValues))return}if(V[t]&&!i.allow_script_urls){var c=n.replace(l,"");try{c=decodeURIComponent(c)}catch(u){c=unescape(c)}if(U.test(c))return;if(!i.allow_html_data_urls&&$.test(c)&&!/^data:image\//i.test(c))return}h.map[t]=n,h.push({name:t,value:n})}var l=this,c,u=0,d,f,p=[],h,m,g,v,y,b,C,x,w,_,E,N,k,S,T,R,A,B,D,L,M,H,P,O,I,F=0,z=t.decode,W,V=n.makeMap("src,href,data,background,formaction,poster"),U=/((java|vb)script|mhtml):/i,$=/^data:/i;for(H=new RegExp("<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([A-Za-z0-9\\-_\\:\\.]+)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))","g"),P=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g,C=a.getShortEndedElements(),M=i.self_closing_elements||a.getSelfClosingElements(),x=a.getBoolAttrs(),_=i.validate,b=i.remove_internals,W=i.fix_self_closing,O=a.getSpecialElements();c=H.exec(e);){if(u<c.index&&l.text(z(e.substr(u,c.index-u))),d=c[6])d=d.toLowerCase(),":"===d.charAt(0)&&(d=d.substr(1)),o(d);else if(d=c[7]){if(d=d.toLowerCase(),":"===d.charAt(0)&&(d=d.substr(1)),w=d in C,W&&M[d]&&p.length>0&&p[p.length-1].name===d&&o(d),!_||(E=a.getElementRule(d))){if(N=!0,_&&(T=E.attributes,R=E.attributePatterns),(S=c[8])?(y=-1!==S.indexOf("data-mce-type"),y&&b&&(N=!1),h=[],h.map={},S.replace(P,s)):(h=[],h.map={}),_&&!y){if(A=E.attributesRequired,B=E.attributesDefault,D=E.attributesForced,L=E.removeEmptyAttrs,L&&!h.length&&(N=!1),D)for(m=D.length;m--;)k=D[m],v=k.name,I=k.value,"{$uid}"===I&&(I="mce_"+F++),h.map[v]=I,h.push({name:v,value:I});if(B)for(m=B.length;m--;)k=B[m],v=k.name,v in h.map||(I=k.value,"{$uid}"===I&&(I="mce_"+F++),h.map[v]=I,h.push({name:v,value:I}));if(A){for(m=A.length;m--&&!(A[m]in h.map););-1===m&&(N=!1)}if(k=h.map["data-mce-bogus"]){if("all"===k){u=r(a,e,H.lastIndex),H.lastIndex=u;continue}N=!1}}N&&l.start(d,h,w)}else N=!1;if(f=O[d]){f.lastIndex=u=c.index+c[0].length,(c=f.exec(e))?(N&&(g=e.substr(u,c.index-u)),u=c.index+c[0].length):(g=e.substr(u),u=e.length),N&&(g.length>0&&l.text(g,!0),l.end(d)),H.lastIndex=u;continue}w||(S&&S.indexOf("/")==S.length-1?N&&l.end(d):p.push({name:d,valid:N}))}else(d=c[1])?(">"===d.charAt(0)&&(d=" "+d),i.allow_conditional_comments||"[if"!==d.substr(0,3)||(d=" "+d),l.comment(d)):(d=c[2])?l.cdata(d):(d=c[3])?l.doctype(d):(d=c[4])&&l.pi(d,c[5]);u=c.index+c[0].length}for(u<e.length&&l.text(z(e.substr(u))),m=p.length-1;m>=0;m--)d=p[m],d.valid&&l.end(d.name)}}var o=n.each;return i.findEndTag=r,i}),r(k,[_,E,N,d],function(e,t,n,r){var i=r.makeMap,o=r.each,a=r.explode,s=r.extend;return function(r,l){function c(t){var n,r,o,a,s,c,d,f,p,h,m,g,v,y;for(m=i("tr,td,th,tbody,thead,tfoot,table"),h=l.getNonEmptyElements(),g=l.getTextBlockElements(),n=0;n<t.length;n++)if(r=t[n],r.parent&&!r.fixed)if(g[r.name]&&"li"==r.parent.name){for(v=r.next;v&&g[v.name];)v.name="li",v.fixed=!0,r.parent.insert(v,r.parent),v=v.next;r.unwrap(r)}else{for(a=[r],o=r.parent;o&&!l.isValidChild(o.name,r.name)&&!m[o.name];o=o.parent)a.push(o);if(o&&a.length>1){for(a.reverse(),s=c=u.filterNode(a[0].clone()),p=0;p<a.length-1;p++){for(l.isValidChild(c.name,a[p].name)?(d=u.filterNode(a[p].clone()),c.append(d)):d=c,f=a[p].firstChild;f&&f!=a[p+1];)y=f.next,d.append(f),f=y;c=d}s.isEmpty(h)?o.insert(r,a[0],!0):(o.insert(s,a[0],!0),o.insert(r,s)),o=a[0],(o.isEmpty(h)||o.firstChild===o.lastChild&&"br"===o.firstChild.name)&&o.empty().remove()}else if(r.parent){if("li"===r.name){if(v=r.prev,v&&("ul"===v.name||"ul"===v.name)){v.append(r);continue}if(v=r.next,v&&("ul"===v.name||"ul"===v.name)){v.insert(r,v.firstChild,!0);continue}r.wrap(u.filterNode(new e("ul",1)));continue}l.isValidChild(r.parent.name,"div")&&l.isValidChild("div",r.name)?r.wrap(u.filterNode(new e("div",1))):"style"===r.name||"script"===r.name?r.empty().remove():r.unwrap()}}}var u=this,d={},f=[],p={},h={};r=r||{},r.validate="validate"in r?r.validate:!0,r.root_name=r.root_name||"body",u.schema=l=l||new t,u.filterNode=function(e){var t,n,r;n in d&&(r=p[n],r?r.push(e):p[n]=[e]),t=f.length;for(;t--;)n=f[t].name,n in e.attributes.map&&(r=h[n],r?r.push(e):h[n]=[e]);return e},u.addNodeFilter=function(e,t){o(a(e),function(e){var n=d[e];n||(d[e]=n=[]),n.push(t)})},u.addAttributeFilter=function(e,t){o(a(e),function(e){var n;for(n=0;n<f.length;n++)if(f[n].name===e)return void f[n].callbacks.push(t);f.push({name:e,callbacks:[t]})})},u.parse=function(t,o){function a(){function e(e){e&&(t=e.firstChild,t&&3==t.type&&(t.value=t.value.replace(R,"")),t=e.lastChild,t&&3==t.type&&(t.value=t.value.replace(D,"")))}var t=y.firstChild,n,i;if(l.isValidChild(y.name,I.toLowerCase())){for(;t;)n=t.next,3==t.type||1==t.type&&"p"!==t.name&&!T[t.name]&&!t.attr("data-mce-type")?i?i.append(t):(i=u(I,1),i.attr(r.forced_root_block_attrs),y.insert(i,t),i.append(t)):(e(i),i=null),t=n;e(i)}}function u(t,n){var r=new e(t,n),i;return t in d&&(i=p[t],i?i.push(r):p[t]=[r]),r}function m(e){var t,n,r;for(t=e.prev;t&&3===t.type;)n=t.value.replace(D,""),n.length>0?(t.value=n,t=t.prev):(r=t.prev,t.remove(),t=r)}function g(e){var t,n={};for(t in e)"li"!==t&&"p"!=t&&(n[t]=e[t]);return n}var v,y,b,C,x,w,_,E,N,k,S,T,R,A=[],B,D,L,M,H,P,O,I;if(o=o||{},p={},h={},T=s(i("script,style,head,html,body,title,meta,param"),l.getBlockElements()),O=l.getNonEmptyElements(),P=l.children,S=r.validate,I="forced_root_block"in o?o.forced_root_block:r.forced_root_block,H=l.getWhiteSpaceElements(),R=/^[ \t\r\n]+/,D=/[ \t\r\n]+$/,L=/[ \t\r\n]+/g,M=/^[ \t\r\n]+$/,v=new n({validate:S,allow_script_urls:r.allow_script_urls,allow_conditional_comments:r.allow_conditional_comments,self_closing_elements:g(l.getSelfClosingElements()),cdata:function(e){b.append(u("#cdata",4)).value=e},text:function(e,t){var n;B||(e=e.replace(L," "),b.lastChild&&T[b.lastChild.name]&&(e=e.replace(R,""))),0!==e.length&&(n=u("#text",3),n.raw=!!t,b.append(n).value=e)},comment:function(e){b.append(u("#comment",8)).value=e},pi:function(e,t){b.append(u(e,7)).value=t,m(b)},doctype:function(e){var t;t=b.append(u("#doctype",10)),t.value=e,m(b)},start:function(e,t,n){var r,i,o,a,s;
+
+if(o=S?l.getElementRule(e):{}){for(r=u(o.outputName||e,1),r.attributes=t,r.shortEnded=n,b.append(r),s=P[b.name],s&&P[r.name]&&!s[r.name]&&A.push(r),i=f.length;i--;)a=f[i].name,a in t.map&&(N=h[a],N?N.push(r):h[a]=[r]);T[e]&&m(r),n||(b=r),!B&&H[e]&&(B=!0)}},end:function(t){var n,r,i,o,a;if(r=S?l.getElementRule(t):{}){if(T[t]&&!B){if(n=b.firstChild,n&&3===n.type)if(i=n.value.replace(R,""),i.length>0)n.value=i,n=n.next;else for(o=n.next,n.remove(),n=o;n&&3===n.type;)i=n.value,o=n.next,(0===i.length||M.test(i))&&(n.remove(),n=o),n=o;if(n=b.lastChild,n&&3===n.type)if(i=n.value.replace(D,""),i.length>0)n.value=i,n=n.prev;else for(o=n.prev,n.remove(),n=o;n&&3===n.type;)i=n.value,o=n.prev,(0===i.length||M.test(i))&&(n.remove(),n=o),n=o}if(B&&H[t]&&(B=!1),(r.removeEmpty||r.paddEmpty)&&b.isEmpty(O))if(r.paddEmpty)b.empty().append(new e("#text","3")).value="\xa0";else if(!b.attributes.map.name&&!b.attributes.map.id)return a=b.parent,T[b.name]?b.empty().remove():b.unwrap(),void(b=a);b=b.parent}}},l),y=b=new e(o.context||r.root_name,11),v.parse(t),S&&A.length&&(o.context?o.invalid=!0:c(A)),I&&("body"==y.name||o.isRootContent)&&a(),!o.invalid){for(k in p){for(N=d[k],C=p[k],_=C.length;_--;)C[_].parent||C.splice(_,1);for(x=0,w=N.length;w>x;x++)N[x](C,k,o)}for(x=0,w=f.length;w>x;x++)if(N=f[x],N.name in h){for(C=h[N.name],_=C.length;_--;)C[_].parent||C.splice(_,1);for(_=0,E=N.callbacks.length;E>_;_++)N.callbacks[_](C,N.name,o)}}return y},r.remove_trailing_brs&&u.addNodeFilter("br",function(t){var n,r=t.length,i,o=s({},l.getBlockElements()),a=l.getNonEmptyElements(),c,u,d,f,p,h;for(o.body=1,n=0;r>n;n++)if(i=t[n],c=i.parent,o[i.parent.name]&&i===c.lastChild){for(d=i.prev;d;){if(f=d.name,"span"!==f||"bookmark"!==d.attr("data-mce-type")){if("br"!==f)break;if("br"===f){i=null;break}}d=d.prev}i&&(i.remove(),c.isEmpty(a)&&(p=l.getElementRule(c.name),p&&(p.removeEmpty?c.remove():p.paddEmpty&&(c.empty().append(new e("#text",3)).value="\xa0"))))}else{for(u=i;c&&c.firstChild===u&&c.lastChild===u&&(u=c,!o[c.name]);)c=c.parent;u===c&&(h=new e("#text",3),h.value="\xa0",i.replace(h))}}),r.allow_html_in_named_anchor||u.addAttributeFilter("id,name",function(e){for(var t=e.length,n,r,i,o;t--;)if(o=e[t],"a"===o.name&&o.firstChild&&!o.attr("href")){i=o.parent,n=o.lastChild;do r=n.prev,i.insert(n,o),n=r;while(n)}}),r.validate&&l.getValidClasses()&&u.addAttributeFilter("class",function(e){for(var t=e.length,n,r,i,o,a,s=l.getValidClasses(),c,u;t--;){for(n=e[t],r=n.attr("class").split(" "),a="",i=0;i<r.length;i++)o=r[i],u=!1,c=s["*"],c&&c[o]&&(u=!0),c=s[n.name],!u&&c&&c[o]&&(u=!0),u&&(a&&(a+=" "),a+=o);a.length||(a=null),n.attr("class",a)}})}}),r(S,[g,d],function(e,t){var n=t.makeMap;return function(t){var r=[],i,o,a,s,l;return t=t||{},i=t.indent,o=n(t.indent_before||""),a=n(t.indent_after||""),s=e.getEncodeFunc(t.entity_encoding||"raw",t.entities),l="html"==t.element_format,{start:function(e,t,n){var c,u,d,f;if(i&&o[e]&&r.length>0&&(f=r[r.length-1],f.length>0&&"\n"!==f&&r.push("\n")),r.push("<",e),t)for(c=0,u=t.length;u>c;c++)d=t[c],r.push(" ",d.name,'="',s(d.value,!0),'"');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(T,[S,E],function(e,t){return function(n,r){var i=this,o=new e(n);n=n||{},n.validate="validate"in n?n.validate:!0,i.schema=r=r||new t,i.writer=o,i.serialize=function(e){function t(e){var n=i[e.type],s,l,c,u,d,f,p,h,m;if(n)n(e);else{if(s=e.name,l=e.shortEnded,c=e.attributes,a&&c&&c.length>1){for(f=[],f.map={},m=r.getElementRule(e.name),p=0,h=m.attributesOrder.length;h>p;p++)u=m.attributesOrder[p],u in c.map&&(d=c.map[u],f.map[u]=d,f.push({name:u,value:d}));for(p=0,h=c.length;h>p;p++)u=c[p].name,u in f.map||(d=c.map[u],f.map[u]=d,f.push({name:u,value:d}));c=f}if(o.start(e.name,c,l),!l){if(e=e.firstChild)do t(e);while(e=e.next);o.end(s)}}}var i,a;return a=n.validate,i={3:function(e){o.text(e.value,e.raw)},8:function(e){o.comment(e.value)},7:function(e){o.pi(e.name,e.value)},10:function(e){o.doctype(e.value)},4:function(e){o.cdata(e.value)},11:function(e){if(e=e.firstChild)do t(e);while(e=e.next)}},o.reset(),1!=e.type||n.inner?i[11](e):t(e),o.getContent()}}}),r(R,[y,k,g,T,_,E,u,d],function(e,t,n,r,i,o,a,s){var l=s.each,c=s.trim,u=e.DOM;return function(e,i){var s,d,f;return i&&(s=i.dom,d=i.schema),s=s||u,d=d||new o(e),e.entity_encoding=e.entity_encoding||"named",e.remove_trailing_brs="remove_trailing_brs"in e?e.remove_trailing_brs:!0,f=new t(e,d),f.addAttributeFilter("data-mce-tabindex",function(e,t){for(var n=e.length,r;n--;)r=e[n],r.attr("tabindex",r.attributes.map["data-mce-tabindex"]),r.attr(t,null)}),f.addAttributeFilter("src,href,style",function(t,n){for(var r=t.length,i,o,a="data-mce-"+n,l=e.url_converter,c=e.url_converter_scope,u;r--;)i=t[r],o=i.attributes.map[a],o!==u?(i.attr(n,o.length>0?o:null),i.attr(a,null)):(o=i.attributes.map[n],"style"===n?o=s.serializeStyle(s.parseStyle(o),i.name):l&&(o=l.call(c,o,n,i.name)),i.attr(n,o.length>0?o:null))}),f.addAttributeFilter("class",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.attr("class"),r&&(r=n.attr("class").replace(/(?:^|\s)mce-item-\w+(?!\S)/g,""),n.attr("class",r.length>0?r:null))}),f.addAttributeFilter("data-mce-type",function(e,t,n){for(var r=e.length,i;r--;)i=e[r],"bookmark"!==i.attributes.map["data-mce-type"]||n.cleanup||i.remove()}),f.addNodeFilter("noscript",function(e){for(var t=e.length,r;t--;)r=e[t].firstChild,r&&(r.value=n.decode(r.value))}),f.addNodeFilter("script,style",function(e,t){function n(e){return e.replace(/(<!--\[CDATA\[|\]\]-->)/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*((<!--)?(\s*\/\/)?\s*<!\[CDATA\[|(<!--\s*)?\/\*\s*<!\[CDATA\[\s*\*\/|(\/\/)?\s*<!--|\/\*\s*<!--\s*\*\/)\s*[\r\n]*/gi,"").replace(/\s*(\/\*\s*\]\]>\s*\*\/(-->)?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,"")}for(var r=e.length,i,o,a;r--;)i=e[r],o=i.firstChild?i.firstChild.value:"","script"===t?(a=i.attr("type"),a&&i.attr("type","mce-no/type"==a?null:a.replace(/^mce\-/,"")),o.length>0&&(i.firstChild.value="// <![CDATA[\n"+n(o)+"\n// ]]>")):o.length>0&&(i.firstChild.value="<!--\n"+n(o)+"\n-->")}),f.addNodeFilter("#comment",function(e){for(var t=e.length,n;t--;)n=e[t],0===n.value.indexOf("[CDATA[")?(n.name="#cdata",n.type=4,n.value=n.value.replace(/^\[CDATA\[|\]\]$/g,"")):0===n.value.indexOf("mce:protected ")&&(n.name="#text",n.type=3,n.raw=!0,n.value=unescape(n.value).substr(14))}),f.addNodeFilter("xml:namespace,input",function(e,t){for(var n=e.length,r;n--;)r=e[n],7===r.type?r.remove():1===r.type&&("input"!==t||"type"in r.attributes.map||r.attr("type","text"))}),e.fix_list_elements&&f.addNodeFilter("ul,ol",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.parent,("ul"===r.name||"ol"===r.name)&&n.prev&&"li"===n.prev.name&&n.prev.append(n)}),f.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-type,data-mce-resize",function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)}),{schema:d,addNodeFilter:f.addNodeFilter,addAttributeFilter:f.addAttributeFilter,serialize:function(t,n){var i=this,o,u,p,h,m;return a.ie&&s.select("script,style,select,map").length>0?(m=t.innerHTML,t=t.cloneNode(!1),s.setHTML(t,m)):t=t.cloneNode(!0),o=t.ownerDocument.implementation,o.createHTMLDocument&&(u=o.createHTMLDocument(""),l("BODY"==t.nodeName?t.childNodes:[t],function(e){u.body.appendChild(u.importNode(e,!0))}),t="BODY"!=t.nodeName?u.body.firstChild:u.body,p=s.doc,s.doc=u),n=n||{},n.format=n.format||"html",n.selection&&(n.forced_root_block=""),n.no_events||(n.node=t,i.onPreProcess(n)),h=new r(e,d),n.content=h.serialize(f.parse(c(n.getInner?t.innerHTML:s.getOuterHTML(t)),n)),n.cleanup||(n.content=n.content.replace(/\uFEFF/g,"")),n.no_events||i.onPostProcess(n),p&&(s.doc=p),n.node=null,n.content},addRules:function(e){d.addValidElements(e)},setRules:function(e){d.setValidElements(e)},onPreProcess:function(e){i&&i.fire("PreProcess",e)},onPostProcess:function(e){i&&i.fire("PostProcess",e)}}}}),r(A,[],function(){function e(e){function t(t,n){var r,i=0,o,a,s,l,c,u,d=-1,f;if(r=t.duplicate(),r.collapse(n),f=r.parentElement(),f.ownerDocument===e.dom.doc){for(;"false"===f.contentEditable;)f=f.parentNode;if(!f.hasChildNodes())return{node:f,inside:1};for(s=f.children,o=s.length-1;o>=i;)if(u=Math.floor((i+o)/2),l=s[u],r.moveToElementText(l),d=r.compareEndPoints(n?"StartToStart":"EndToEnd",t),d>0)o=u-1;else{if(!(0>d))return{node:l};i=u+1}if(0>d)for(l?r.collapse(!1):(r.moveToElementText(f),r.collapse(!0),l=f,a=!0),c=0;0!==r.compareEndPoints(n?"StartToStart":"StartToEnd",t)&&0!==r.move("character",1)&&f==r.parentElement();)c++;else for(r.collapse(!0),c=0;0!==r.compareEndPoints(n?"StartToStart":"StartToEnd",t)&&0!==r.move("character",-1)&&f==r.parentElement();)c++;return{node:l,position:d,offset:c,inside:a}}}function n(){function n(e){var n=t(o,e),r,i,s=0,l,c,u;if(r=n.node,i=n.offset,n.inside&&!r.hasChildNodes())return void a[e?"setStart":"setEnd"](r,0);if(i===c)return void a[e?"setStartBefore":"setEndAfter"](r);if(n.position<0){if(l=n.inside?r.firstChild:r.nextSibling,!l)return void a[e?"setStartAfter":"setEndAfter"](r);if(!i)return void(3==l.nodeType?a[e?"setStart":"setEnd"](l,0):a[e?"setStartBefore":"setEndBefore"](l));for(;l;){if(3==l.nodeType&&(u=l.nodeValue,s+=u.length,s>=i)){r=l,s-=i,s=u.length-s;break}l=l.nextSibling}}else{if(l=r.previousSibling,!l)return a[e?"setStartBefore":"setEndBefore"](r);if(!i)return void(3==r.nodeType?a[e?"setStart":"setEnd"](l,r.nodeValue.length):a[e?"setStartAfter":"setEndAfter"](l));for(;l;){if(3==l.nodeType&&(s+=l.nodeValue.length,s>=i)){r=l,s-=i;break}l=l.previousSibling}}a[e?"setStart":"setEnd"](r,s)}var o=e.getRng(),a=i.createRng(),s,l,c,u,d;if(s=o.item?o.item(0):o.parentElement(),s.ownerDocument!=i.doc)return a;if(l=e.isCollapsed(),o.item)return a.setStart(s.parentNode,i.nodeIndex(s)),a.setEnd(a.startContainer,a.startOffset+1),a;try{n(!0),l||n()}catch(f){if(-2147024809!=f.number)throw f;d=r.getBookmark(2),c=o.duplicate(),c.collapse(!0),s=c.parentElement(),l||(c=o.duplicate(),c.collapse(!1),u=c.parentElement(),u.innerHTML=u.innerHTML),s.innerHTML=s.innerHTML,r.moveToBookmark(d),o=e.getRng(),n(!0),l||n()}return a}var r=this,i=e.dom,o=!1;this.getBookmark=function(n){function r(e){var t,n,r,o,a=[];for(t=e.parentNode,n=i.getRoot().parentNode;t!=n&&9!==t.nodeType;){for(r=t.children,o=r.length;o--;)if(e===r[o]){a.push(o);break}e=t,t=t.parentNode}return a}function o(e){var n;return n=t(a,e),n?{position:n.position,offset:n.offset,indexes:r(n.node),inside:n.inside}:void 0}var a=e.getRng(),s={};return 2===n&&(a.item?s.start={ctrl:!0,indexes:r(a.item(0))}:(s.start=o(!0),e.isCollapsed()||(s.end=o()))),s},this.moveToBookmark=function(e){function t(e){var t,n,r,o;for(t=i.getRoot(),n=e.length-1;n>=0;n--)o=t.children,r=e[n],r<=o.length-1&&(t=o[r]);return t}function n(n){var i=e[n?"start":"end"],a,s,l,c;i&&(a=i.position>0,s=o.createTextRange(),s.moveToElementText(t(i.indexes)),c=i.offset,c!==l?(s.collapse(i.inside||a),s.moveStart("character",a?-c:c)):s.collapse(n),r.setEndPoint(n?"StartToStart":"EndToStart",s),n&&r.collapse(!0))}var r,o=i.doc.body;e.start&&(e.start.ctrl?(r=o.createControlRange(),r.addElement(t(e.start.indexes)),r.select()):(r=o.createTextRange(),n(!0),n(),r.select()))},this.addRange=function(t){function n(e){var t,n,a,d,h;a=i.create("a"),t=e?s:c,n=e?l:u,d=r.duplicate(),(t==f||t==f.documentElement)&&(t=p,n=0),3==t.nodeType?(t.parentNode.insertBefore(a,t),d.moveToElementText(a),d.moveStart("character",n),i.remove(a),r.setEndPoint(e?"StartToStart":"EndToEnd",d)):(h=t.childNodes,h.length?(n>=h.length?i.insertAfter(a,h[h.length-1]):t.insertBefore(a,h[n]),d.moveToElementText(a)):t.canHaveHTML&&(t.innerHTML="<span>&#xFEFF;</span>",a=t.firstChild,d.moveToElementText(a),d.collapse(o)),r.setEndPoint(e?"StartToStart":"EndToEnd",d),i.remove(a))}var r,a,s,l,c,u,d,f=e.dom.doc,p=f.body,h,m;if(s=t.startContainer,l=t.startOffset,c=t.endContainer,u=t.endOffset,r=p.createTextRange(),s==c&&1==s.nodeType){if(l==u&&!s.hasChildNodes()){if(s.canHaveHTML)return d=s.previousSibling,d&&!d.hasChildNodes()&&i.isBlock(d)?d.innerHTML="&#xFEFF;":d=null,s.innerHTML="<span>&#xFEFF;</span><span>&#xFEFF;</span>",r.moveToElementText(s.lastChild),r.select(),i.doc.selection.clear(),s.innerHTML="",void(d&&(d.innerHTML=""));l=i.nodeIndex(s),s=s.parentNode}if(l==u-1)try{if(m=s.childNodes[l],a=p.createControlRange(),a.addElement(m),a.select(),h=e.getRng(),h.item&&m===h.item(0))return}catch(g){}}n(!0),n(),r.select()},this.getRangeAt=n}return e}),r(B,[u],function(e){return{BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,modifierPressed:function(e){return e.shiftKey||e.ctrlKey||e.altKey||this.metaKeyPressed(e)},metaKeyPressed:function(t){return e.mac?t.metaKey:t.ctrlKey&&!t.altKey}}}),r(D,[B,d,u],function(e,t,n){return function(r,i){function o(e){var t=i.settings.object_resizing;return t===!1||n.iOS?!1:("string"!=typeof t&&(t="table,img,div"),"false"===e.getAttribute("data-mce-resize")?!1:i.dom.is(e,t))}function a(t){var n,r,o,a,s;n=t.screenX-T,r=t.screenY-R,P=n*k[2]+D,O=r*k[3]+L,P=5>P?5:P,O=5>O?5:O,o="IMG"==w.nodeName&&i.settings.resize_img_proportional!==!1?!e.modifierPressed(t):e.modifierPressed(t)||"IMG"==w.nodeName&&k[2]*k[3]!==0,o&&(W(n)>W(r)?(O=V(P*M),P=V(O/M)):(P=V(O/M),O=V(P*M))),C.setStyles(_,{width:P,height:O}),a=k.startPos.x+n,s=k.startPos.y+r,a=a>0?a:0,s=s>0?s:0,C.setStyles(E,{left:a,top:s,display:"block"}),E.innerHTML=P+" &times; "+O,k[2]<0&&_.clientWidth<=P&&C.setStyle(_,"left",A+(D-P)),k[3]<0&&_.clientHeight<=O&&C.setStyle(_,"top",B+(L-O)),n=U.scrollWidth-$,r=U.scrollHeight-q,n+r!==0&&C.setStyles(E,{left:a-n,top:s-r}),H||(i.fire("ObjectResizeStart",{target:w,width:D,height:L}),H=!0)}function s(){function e(e,t){t&&(w.style[e]||!i.schema.isValid(w.nodeName.toLowerCase(),e)?C.setStyle(w,e,t):C.setAttrib(w,e,t))}H=!1,e("width",P),e("height",O),C.unbind(I,"mousemove",a),C.unbind(I,"mouseup",s),F!=I&&(C.unbind(F,"mousemove",a),C.unbind(F,"mouseup",s)),C.remove(_),C.remove(E),z&&"TABLE"!=w.nodeName||l(w),i.fire("ObjectResized",{target:w,width:P,height:O}),C.setAttrib(w,"style",C.getAttrib(w,"style")),i.nodeChanged()}function l(e,t,r){var l,u,d,f,p;g(),l=C.getPos(e,U),A=l.x,B=l.y,p=e.getBoundingClientRect(),u=p.width||p.right-p.left,d=p.height||p.bottom-p.top,w!=e&&(m(),w=e,P=O=0),f=i.fire("ObjectSelected",{target:e}),o(e)&&!f.isDefaultPrevented()?x(N,function(e,i){function o(t){T=t.screenX,R=t.screenY,D=w.clientWidth,L=w.clientHeight,M=L/D,k=e,e.startPos={x:u*e[0]+A,y:d*e[1]+B},$=U.scrollWidth,q=U.scrollHeight,_=w.cloneNode(!0),C.addClass(_,"mce-clonedresizable"),C.setAttrib(_,"data-mce-bogus","all"),_.contentEditable=!1,_.unSelectabe=!0,C.setStyles(_,{left:A,top:B,margin:0}),_.removeAttribute("data-mce-selected"),U.appendChild(_),C.bind(I,"mousemove",a),C.bind(I,"mouseup",s),F!=I&&(C.bind(F,"mousemove",a),C.bind(F,"mouseup",s)),E=C.add(U,"div",{"class":"mce-resize-helper","data-mce-bogus":"all"},D+" &times; "+L)}var l,c;return t?void(i==t&&o(r)):(l=C.get("mceResizeHandle"+i),l?C.show(l):(c=U,l=C.add(c,"div",{id:"mceResizeHandle"+i,"data-mce-bogus":"all","class":"mce-resizehandle",unselectable:!0,style:"cursor:"+i+"-resize; margin:0; padding:0"}),n.ie&&(l.contentEditable=!1)),e.elm||(C.bind(l,"mousedown",function(e){e.stopImmediatePropagation(),e.preventDefault(),o(e)}),e.elm=l),void C.setStyles(l,{left:u*e[0]+A-l.offsetWidth/2,top:d*e[1]+B-l.offsetHeight/2}))}):c(),w.setAttribute("data-mce-selected","1")}function c(){var e,t;g(),w&&w.removeAttribute("data-mce-selected");for(e in N)t=C.get("mceResizeHandle"+e),t&&(C.unbind(t),C.remove(t))}function u(e){function t(e,t){if(e)do if(e===t)return!0;while(e=e.parentNode)}var n,i;if(!H)return x(C.select("img[data-mce-selected],hr[data-mce-selected]"),function(e){e.removeAttribute("data-mce-selected")}),i="mousedown"==e.type?e.target:r.getNode(),i=C.$(i).closest(z?"table":"table,img,hr")[0],t(i,U)&&(v(),n=r.getStart(!0),t(n,i)&&t(r.getEnd(!0),i)&&(!z||i!=n&&"IMG"!==n.nodeName))?void l(i):void c()}function d(e,t,n){e&&e.attachEvent&&e.attachEvent("on"+t,n)}function f(e,t,n){e&&e.detachEvent&&e.detachEvent("on"+t,n)}function p(e){var t=e.srcElement,n,r,o,a,s,c,u;n=t.getBoundingClientRect(),c=S.clientX-n.left,u=S.clientY-n.top;for(r in N)if(o=N[r],a=t.offsetWidth*o[0],s=t.offsetHeight*o[1],W(a-c)<8&&W(s-u)<8){k=o;break}H=!0,i.fire("ObjectResizeStart",{target:w,width:w.clientWidth,height:w.clientHeight}),i.getDoc().selection.empty(),l(t,r,S)}function h(e){var t=e.srcElement;if(t!=w){if(i.fire("ObjectSelected",{target:t}),m(),0===t.id.indexOf("mceResizeHandle"))return void(e.returnValue=!1);("IMG"==t.nodeName||"TABLE"==t.nodeName)&&(c(),w=t,d(t,"resizestart",p))}}function m(){f(w,"resizestart",p)}function g(){for(var e in N){var t=N[e];t.elm&&(C.unbind(t.elm),delete t.elm)}}function v(){try{i.getDoc().execCommand("enableObjectResizing",!1,!1)}catch(e){}}function y(e){var t;if(z){t=I.body.createControlRange();try{return t.addElement(e),t.select(),!0}catch(n){}}}function b(){w=_=null,z&&(m(),f(U,"controlselect",h))}var C=i.dom,x=t.each,w,_,E,N,k,S,T,R,A,B,D,L,M,H,P,O,I=i.getDoc(),F=document,z=n.ie&&n.ie<11,W=Math.abs,V=Math.round,U=i.getBody(),$,q;N={n:[.5,0,0,-1],e:[1,.5,1,0],s:[.5,1,0,1],w:[0,.5,-1,0],nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]};var j=".mce-content-body";return i.contentStyles.push(j+" div.mce-resizehandle {position: absolute;border: 1px solid black;background: #FFF;width: 5px;height: 5px;z-index: 10000}"+j+" .mce-resizehandle:hover {background: #000}"+j+" img[data-mce-selected], hr[data-mce-selected] {outline: 1px solid black;resize: none}"+j+" .mce-clonedresizable {position: absolute;"+(n.gecko?"":"outline: 1px dashed black;")+"opacity: .5;filter: alpha(opacity=50);z-index: 10000}"+j+" .mce-resize-helper {background: #555;background: rgba(0,0,0,0.75);border-radius: 3px;border: 1px;color: white;display: none;font-family: sans-serif;font-size: 12px;white-space: nowrap;line-height: 14px;margin: 5px 10px;padding: 5px;position: absolute;z-index: 10001}"),i.on("init",function(){z?(i.on("ObjectResized",function(e){"TABLE"!=e.target.nodeName&&(c(),y(e.target))}),d(U,"controlselect",h),i.on("mousedown",function(e){S=e})):(v(),n.ie>=11&&(i.on("mouseup",function(e){var t=e.target.nodeName;!H&&/^(TABLE|IMG|HR)$/.test(t)&&(i.selection.select(e.target,"TABLE"==t),i.nodeChanged())}),i.dom.bind(U,"mscontrolselect",function(e){/^(TABLE|IMG|HR)$/.test(e.target.nodeName)&&(e.preventDefault(),"IMG"==e.target.tagName&&window.setTimeout(function(){i.selection.select(e.target)},0))}))),i.on("nodechange ResizeEditor",u),i.on("keydown keyup",function(e){w&&"TABLE"==w.nodeName&&u(e)}),i.on("hide",c)}),i.on("remove",g),{isResizable:o,showResizeRect:l,hideResizeRect:c,updateResizeRect:u,controlSelect:y,destroy:b}}}),r(L,[u,d],function(e,t){function n(n){var r=n.dom;this.getBookmark=function(e,i){function o(e,n){var i=0;return t.each(r.select(e),function(e,t){e==n&&(i=t)}),i}function a(e){function t(t){var n,r,i,o=t?"start":"end";n=e[o+"Container"],r=e[o+"Offset"],1==n.nodeType&&"TR"==n.nodeName&&(i=n.childNodes,n=i[Math.min(t?r:r-1,i.length-1)],n&&(r=t?0:n.childNodes.length,e["set"+(t?"Start":"End")](n,r)))}return t(!0),t(),e}function s(){function e(e,t){var n=e[t?"startContainer":"endContainer"],a=e[t?"startOffset":"endOffset"],s=[],l,c,u=0;if(3==n.nodeType){if(i)for(l=n.previousSibling;l&&3==l.nodeType;l=l.previousSibling)a+=l.nodeValue.length;s.push(a)}else c=n.childNodes,a>=c.length&&c.length&&(u=1,a=Math.max(0,c.length-1)),s.push(r.nodeIndex(c[a],i)+u);for(;n&&n!=o;n=n.parentNode)s.push(r.nodeIndex(n,i));return s}var t=n.getRng(!0),o=r.getRoot(),a={};return a.start=e(t,!0),n.isCollapsed()||(a.end=e(t)),a}var l,c,u,d,f,p,h="&#xFEFF;",m;if(2==e)return p=n.getNode(),f=p?p.nodeName:null,"IMG"==f?{name:f,index:o(f,p)}:n.tridentSel?n.tridentSel.getBookmark(e):s();if(e)return{rng:n.getRng()};if(l=n.getRng(),u=r.uniqueId(),d=n.isCollapsed(),m="overflow:hidden;line-height:0px",l.duplicate||l.item){if(l.item)return p=l.item(0),f=p.nodeName,{name:f,index:o(f,p)};c=l.duplicate();try{l.collapse(),l.pasteHTML('<span data-mce-type="bookmark" id="'+u+'_start" style="'+m+'">'+h+"</span>"),d||(c.collapse(!1),l.moveToElementText(c.parentElement()),0===l.compareEndPoints("StartToEnd",c)&&c.move("character",-1),c.pasteHTML('<span data-mce-type="bookmark" id="'+u+'_end" style="'+m+'">'+h+"</span>"))}catch(g){return null}}else{if(p=n.getNode(),f=p.nodeName,"IMG"==f)return{name:f,index:o(f,p)};c=a(l.cloneRange()),d||(c.collapse(!1),c.insertNode(r.create("span",{"data-mce-type":"bookmark",id:u+"_end",style:m},h))),l=a(l),l.collapse(!0),l.insertNode(r.create("span",{"data-mce-type":"bookmark",id:u+"_start",style:m},h))}return n.moveToBookmark({id:u,keep:1}),{id:u}},this.moveToBookmark=function(i){function o(e){var t=i[e?"start":"end"],n,r,o,a;if(t){for(o=t[0],r=c,n=t.length-1;n>=1;n--){if(a=r.childNodes,t[n]>a.length-1)return;r=a[t[n]]}3===r.nodeType&&(o=Math.min(t[0],r.nodeValue.length)),1===r.nodeType&&(o=Math.min(t[0],r.childNodes.length)),e?l.setStart(r,o):l.setEnd(r,o)}return!0}function a(n){var o=r.get(i.id+"_"+n),a,s,l,c,h=i.keep;if(o&&(a=o.parentNode,"start"==n?(h?(a=o.firstChild,s=1):s=r.nodeIndex(o),u=d=a,f=p=s):(h?(a=o.firstChild,s=1):s=r.nodeIndex(o),d=a,p=s),!h)){for(c=o.previousSibling,l=o.nextSibling,t.each(t.grep(o.childNodes),function(e){3==e.nodeType&&(e.nodeValue=e.nodeValue.replace(/\uFEFF/g,""))});o=r.get(i.id+"_"+n);)r.remove(o,1);c&&l&&c.nodeType==l.nodeType&&3==c.nodeType&&!e.opera&&(s=c.nodeValue.length,c.appendData(l.nodeValue),r.remove(l),"start"==n?(u=d=c,f=p=s):(d=c,p=s))}}function s(t){return!r.isBlock(t)||t.innerHTML||e.ie||(t.innerHTML='<br data-mce-bogus="1" />'),t}var l,c,u,d,f,p;if(i)if(i.start){if(l=r.createRng(),c=r.getRoot(),n.tridentSel)return n.tridentSel.moveToBookmark(i);o(!0)&&o()&&n.setRng(l)}else i.id?(a("start"),a("end"),u&&(l=r.createRng(),l.setStart(s(u),f),l.setEnd(s(d),p),n.setRng(l))):i.name?n.select(r.select(i.name)[i.index]):i.rng&&n.setRng(i.rng)}}return n.isBookmarkNode=function(e){return e&&"SPAN"===e.tagName&&"bookmark"===e.getAttribute("data-mce-type")},n}),r(M,[h,A,D,x,L,u,d],function(e,n,r,i,o,a,s){function l(e,t,i,a){var s=this;s.dom=e,s.win=t,s.serializer=i,s.editor=a,s.bookmarkManager=new o(s),s.controlSelection=new r(s,a),s.win.getSelection||(s.tridentSel=new n(s))}var c=s.each,u=s.trim,d=a.ie;return l.prototype={setCursorLocation:function(e,t){var n=this,r=n.dom.createRng();e?(r.setStart(e,t),r.setEnd(e,t),n.setRng(r),n.collapse(!1)):(n._moveEndPoint(r,n.editor.getBody(),!0),n.setRng(r))},getContent:function(e){var n=this,r=n.getRng(),i=n.dom.create("body"),o=n.getSel(),a,s,l;return e=e||{},a=s="",e.get=!0,e.format=e.format||"html",e.selection=!0,n.editor.fire("BeforeGetContent",e),"text"==e.format?n.isCollapsed()?"":r.text||(o.toString?o.toString():""):(r.cloneContents?(l=r.cloneContents(),l&&i.appendChild(l)):r.item!==t||r.htmlText!==t?(i.innerHTML="<br>"+(r.item?r.item(0).outerHTML:r.htmlText),i.removeChild(i.firstChild)):i.innerHTML=r.toString(),/^\s/.test(i.innerHTML)&&(a=" "),/\s+$/.test(i.innerHTML)&&(s=" "),e.getInner=!0,e.content=n.isCollapsed()?"":a+n.serializer.serialize(i,e)+s,n.editor.fire("GetContent",e),e.content)},setContent:function(e,t){var n=this,r=n.getRng(),i,o=n.win.document,a,s;if(t=t||{format:"html"},t.set=!0,t.selection=!0,e=t.content=e,t.no_events||n.editor.fire("BeforeSetContent",t),e=t.content,r.insertNode){e+='<span id="__caret">_</span>',r.startContainer==o&&r.endContainer==o?o.body.innerHTML=e:(r.deleteContents(),0===o.body.childNodes.length?o.body.innerHTML=e:r.createContextualFragment?r.insertNode(r.createContextualFragment(e)):(a=o.createDocumentFragment(),s=o.createElement("div"),a.appendChild(s),s.outerHTML=e,r.insertNode(a))),i=n.dom.get("__caret"),r=o.createRange(),r.setStartBefore(i),r.setEndBefore(i),n.setRng(r),n.dom.remove("__caret");try{n.setRng(r)}catch(l){}}else r.item&&(o.execCommand("Delete",!1,null),r=n.getRng()),/^\s+/.test(e)?(r.pasteHTML('<span id="__mce_tmp">_</span>'+e),n.dom.remove("__mce_tmp")):r.pasteHTML(e);t.no_events||n.editor.fire("SetContent",t)},getStart:function(e){var t=this,n=t.getRng(),r,i,o,a;if(n.duplicate||n.item){if(n.item)return n.item(0);for(o=n.duplicate(),o.collapse(1),r=o.parentElement(),r.ownerDocument!==t.dom.doc&&(r=t.dom.getRoot()),i=a=n.parentElement();a=a.parentNode;)if(a==r){r=i;break}return r}return r=n.startContainer,1==r.nodeType&&r.hasChildNodes()&&(e&&n.collapsed||(r=r.childNodes[Math.min(r.childNodes.length-1,n.startOffset)])),r&&3==r.nodeType?r.parentNode:r},getEnd:function(e){var t=this,n=t.getRng(),r,i;return n.duplicate||n.item?n.item?n.item(0):(n=n.duplicate(),n.collapse(0),r=n.parentElement(),r.ownerDocument!==t.dom.doc&&(r=t.dom.getRoot()),r&&"BODY"==r.nodeName?r.lastChild||r:r):(r=n.endContainer,i=n.endOffset,1==r.nodeType&&r.hasChildNodes()&&(e&&n.collapsed||(r=r.childNodes[i>0?i-1:i])),r&&3==r.nodeType?r.parentNode:r)},getBookmark:function(e,t){return this.bookmarkManager.getBookmark(e,t)},moveToBookmark:function(e){return this.bookmarkManager.moveToBookmark(e)},select:function(e,t){var n=this,r=n.dom,i=r.createRng(),o;if(n.lastFocusBookmark=null,e){if(!t&&n.controlSelection.controlSelect(e))return;o=r.nodeIndex(e),i.setStart(e.parentNode,o),i.setEnd(e.parentNode,o+1),t&&(n._moveEndPoint(i,e,!0),n._moveEndPoint(i,e)),n.setRng(i)}return e},isCollapsed:function(){var e=this,t=e.getRng(),n=e.getSel();return!t||t.item?!1:t.compareEndPoints?0===t.compareEndPoints("StartToEnd",t):!n||t.collapsed},collapse:function(e){var t=this,n=t.getRng(),r;n.item&&(r=n.item(0),n=t.win.document.body.createTextRange(),n.moveToElementText(r)),n.collapse(!!e),t.setRng(n)},getSel:function(){var e=this.win;return e.getSelection?e.getSelection():e.document.selection},getRng:function(e){function t(e,t,n){try{return t.compareBoundaryPoints(e,n)}catch(r){return-1}}var n=this,r,i,o,a=n.win.document,s;if(!e&&n.lastFocusBookmark){var l=n.lastFocusBookmark;return l.startContainer?(i=a.createRange(),i.setStart(l.startContainer,l.startOffset),i.setEnd(l.endContainer,l.endOffset)):i=l,i}if(e&&n.tridentSel)return n.tridentSel.getRangeAt(0);try{(r=n.getSel())&&(i=r.rangeCount>0?r.getRangeAt(0):r.createRange?r.createRange():a.createRange())}catch(c){}if(d&&i&&i.setStart&&a.selection){try{s=a.selection.createRange()}catch(c){}s&&s.item&&(o=s.item(0),i=a.createRange(),i.setStartBefore(o),i.setEndAfter(o))}return i||(i=a.createRange?a.createRange():a.body.createTextRange()),i.setStart&&9===i.startContainer.nodeType&&i.collapsed&&(o=n.dom.getRoot(),i.setStart(o,0),i.setEnd(o,0)),n.selectedRange&&n.explicitRange&&(0===t(i.START_TO_START,i,n.selectedRange)&&0===t(i.END_TO_END,i,n.selectedRange)?i=n.explicitRange:(n.selectedRange=null,n.explicitRange=null)),i},setRng:function(e,t){var n=this,r;if(e)if(e.select)try{e.select()}catch(i){}else if(n.tridentSel){if(e.cloneRange)try{return void n.tridentSel.addRange(e)}catch(i){}}else if(r=n.getSel()){n.explicitRange=e;try{r.removeAllRanges(),r.addRange(e)}catch(i){}t===!1&&r.extend&&(r.collapse(e.endContainer,e.endOffset),r.extend(e.startContainer,e.startOffset)),n.selectedRange=r.rangeCount>0?r.getRangeAt(0):null}},setNode:function(e){var t=this;return t.setContent(t.dom.getOuterHTML(e)),e},getNode:function(){function e(e,t){for(var n=e;e&&3===e.nodeType&&0===e.length;)e=t?e.nextSibling:e.previousSibling;return e||n}var t=this,n=t.getRng(),r,i=n.startContainer,o=n.endContainer,a=n.startOffset,s=n.endOffset,l=t.dom.getRoot();return n?n.setStart?(r=n.commonAncestorContainer,!n.collapsed&&(i==o&&2>s-a&&i.hasChildNodes()&&(r=i.childNodes[a]),3===i.nodeType&&3===o.nodeType&&(i=i.length===a?e(i.nextSibling,!0):i.parentNode,o=0===s?e(o.previousSibling,!1):o.parentNode,i&&i===o))?i:r&&3==r.nodeType?r.parentNode:r):(r=n.item?n.item(0):n.parentElement(),r.ownerDocument!==t.win.document&&(r=l),r):l},getSelectedBlocks:function(t,n){var r=this,i=r.dom,o,a,s=[];if(a=i.getRoot(),t=i.getParent(t||r.getStart(),i.isBlock),n=i.getParent(n||r.getEnd(),i.isBlock),t&&t!=a&&s.push(t),t&&n&&t!=n){o=t;for(var l=new e(t,a);(o=l.next())&&o!=n;)i.isBlock(o)&&s.push(o)}return n&&t!=n&&n!=a&&s.push(n),s},isForward:function(){var e=this.dom,t=this.getSel(),n,r;return t&&t.anchorNode&&t.focusNode?(n=e.createRng(),n.setStart(t.anchorNode,t.anchorOffset),n.collapse(!0),r=e.createRng(),r.setStart(t.focusNode,t.focusOffset),r.collapse(!0),n.compareBoundaryPoints(n.START_TO_START,r)<=0):!0},normalize:function(){var e=this,t=e.getRng();return a.range&&new i(e.dom).normalize(t)&&e.setRng(t,e.isForward()),t},selectorChanged:function(e,t){var n=this,r;return n.selectorChangedData||(n.selectorChangedData={},r={},n.editor.on("NodeChange",function(e){var t=e.element,i=n.dom,o=i.getParents(t,null,i.getRoot()),a={};c(n.selectorChangedData,function(e,t){c(o,function(n){return i.is(n,t)?(r[t]||(c(e,function(e){e(!0,{node:n,selector:t,parents:o})}),r[t]=e),a[t]=e,!1):void 0})}),c(r,function(e,n){a[n]||(delete r[n],c(e,function(e){e(!1,{node:t,selector:n,parents:o})}))})})),n.selectorChangedData[e]||(n.selectorChangedData[e]=[]),n.selectorChangedData[e].push(t),n},getScrollContainer:function(){for(var e,t=this.dom.getRoot();t&&"BODY"!=t.nodeName;){if(t.scrollHeight>t.clientHeight){e=t;break}t=t.parentNode}return e},scrollIntoView:function(e){function t(e){for(var t=0,n=0,r=e;r&&r.nodeType;)t+=r.offsetLeft||0,n+=r.offsetTop||0,r=r.offsetParent;return{x:t,y:n}}var n,r,i=this,o=i.dom,a=o.getRoot(),s,l;if("BODY"!=a.nodeName){var c=i.getScrollContainer();if(c)return n=t(e).y-t(c).y,l=c.clientHeight,s=c.scrollTop,void((s>n||n+25>s+l)&&(c.scrollTop=s>n?n:n-l+25))}r=o.getViewPort(i.editor.getWin()),n=o.getPos(e).y,s=r.y,l=r.h,(n<r.y||n+25>s+l)&&i.editor.getWin().scrollTo(0,s>n?n:n-l+25)},placeCaretAt:function(e,t){var n=this.editor.getDoc(),r,i;if(n.caretPositionFromPoint)i=n.caretPositionFromPoint(e,t),r=n.createRange(),r.setStart(i.offsetNode,i.offset),r.collapse(!0);else if(n.caretRangeFromPoint)r=n.caretRangeFromPoint(e,t);else if(n.body.createTextRange){r=n.body.createTextRange();try{r.moveToPoint(e,t),r.collapse(!0)}catch(o){r.collapse(t<n.body.clientHeight)}}this.setRng(r)},_moveEndPoint:function(t,n,r){var i=n,o=new e(n,i),s=this.dom.schema.getNonEmptyElements();do{if(3==n.nodeType&&0!==u(n.nodeValue).length)return void(r?t.setStart(n,0):t.setEnd(n,n.nodeValue.length));if(s[n.nodeName]&&!/^(TD|TH)$/.test(n.nodeName))return void(r?t.setStartBefore(n):"BR"==n.nodeName?t.setEndBefore(n):t.setEndAfter(n));if(a.ie&&a.ie<11&&this.dom.isBlock(n)&&this.dom.isEmpty(n))return void(r?t.setStart(n,0):t.setEnd(n,0))}while(n=r?o.next():o.prev());"BODY"==i.nodeName&&(r?t.setStart(i,0):t.setEnd(i,i.childNodes.length))},destroy:function(){this.win=null,this.controlSelection.destroy()}},l}),r(H,[L,d],function(e,t){function n(t){this.compare=function(n,i){function o(e){var n={};return r(t.getAttribs(e),function(r){var i=r.nodeName.toLowerCase();0!==i.indexOf("_")&&"style"!==i&&"data-mce-style"!==i&&(n[i]=t.getAttrib(e,i))}),n}function a(e,t){var n,r;for(r in e)if(e.hasOwnProperty(r)){if(n=t[r],"undefined"==typeof n)return!1;if(e[r]!=n)return!1;delete t[r]}for(r in t)if(t.hasOwnProperty(r))return!1;return!0}return n.nodeName!=i.nodeName?!1:a(o(n),o(i))&&a(t.parseStyle(t.getAttrib(n,"style")),t.parseStyle(t.getAttrib(i,"style")))?!e.isBookmarkNode(n)&&!e.isBookmarkNode(i):!1}}var r=t.each;return n}),r(P,[d],function(e){function t(e,t){function r(e){return e.replace(/%(\w+)/g,"")}var i,o,a=e.dom,s="",l,c;if(c=e.settings.preview_styles,
+c===!1)return"";if(c||(c="font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow"),"string"==typeof t){if(t=e.formatter.get(t),!t)return;t=t[0]}return i=t.block||t.inline||"span",o=a.create(i),n(t.styles,function(e,t){e=r(e),e&&a.setStyle(o,t,e)}),n(t.attributes,function(e,t){e=r(e),e&&a.setAttrib(o,t,e)}),n(t.classes,function(e){e=r(e),a.hasClass(o,e)||a.addClass(o,e)}),e.fire("PreviewFormats"),a.setStyles(o,{position:"absolute",left:-65535}),e.getBody().appendChild(o),l=a.getStyle(e.getBody(),"fontSize",!0),l=/px$/.test(l)?parseInt(l,10):0,n(c.split(" "),function(t){var n=a.getStyle(o,t,!0);if(!("background-color"==t&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(n)&&(n=a.getStyle(e.getBody(),t,!0),"#ffffff"==a.toHex(n).toLowerCase())||"color"==t&&"#000000"==a.toHex(n).toLowerCase())){if("font-size"==t&&/em|%$/.test(n)){if(0===l)return;n=parseFloat(n,10)/(/%$/.test(n)?100:1),n=n*l+"px"}"border"==t&&n&&(s+="padding:0 2px;"),s+=t+":"+n+";"}}),e.fire("AfterPreviewFormats"),a.remove(o),s}var n=e.each;return{getCssText:t}}),r(O,[h,x,L,H,d,P],function(e,t,n,r,i,o){return function(a){function s(e){return e.nodeType&&(e=e.nodeName),!!a.schema.getTextBlockElements()[e.toLowerCase()]}function l(e,t){return U.getParents(e,t,U.getRoot())}function c(e){return 1===e.nodeType&&"_mce_caret"===e.id}function u(){p({valigntop:[{selector:"td,th",styles:{verticalAlign:"top"}}],valignmiddle:[{selector:"td,th",styles:{verticalAlign:"middle"}}],valignbottom:[{selector:"td,th",styles:{verticalAlign:"bottom"}}],alignleft:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"left"},defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"left"}}],aligncenter:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"center"},defaultBlock:"div"},{selector:"img",collapsed:!1,styles:{display:"block",marginLeft:"auto",marginRight:"auto"}},{selector:"table",collapsed:!1,styles:{marginLeft:"auto",marginRight:"auto"}}],alignright:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"right"},defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"right"}}],alignjustify:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"justify"},defaultBlock:"div"}],bold:[{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all"}],italic:[{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all"}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:!0},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:!0},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},links:!0,remove_similar:!0},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},links:!0,remove_similar:!0},fontname:{inline:"span",styles:{fontFamily:"%value"}},fontsize:{inline:"span",styles:{fontSize:"%value"}},fontsize_class:{inline:"span",attributes:{"class":"%value"}},blockquote:{block:"blockquote",wrapper:1,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},code:{inline:"code"},link:{inline:"a",selector:"a",remove:"all",split:!0,deep:!0,onmatch:function(){return!0},onformat:function(e,t,n){ae(n,function(t,n){U.setAttrib(e,n,t)})}},removeformat:[{selector:"b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins",remove:"all",split:!0,expand:!1,block_expand:!0,deep:!0},{selector:"span",attributes:["style","class"],remove:"empty",split:!0,expand:!1,deep:!0},{selector:"*",attributes:["style","class"],split:!1,expand:!1,deep:!0}]}),ae("p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp".split(/\s/),function(e){p(e,{block:e,remove:"all"})}),p(a.settings.formats)}function d(){a.addShortcut("meta+b","bold_desc","Bold"),a.addShortcut("meta+i","italic_desc","Italic"),a.addShortcut("meta+u","underline_desc","Underline");for(var e=1;6>=e;e++)a.addShortcut("access+"+e,"",["FormatBlock",!1,"h"+e]);a.addShortcut("access+7","",["FormatBlock",!1,"p"]),a.addShortcut("access+8","",["FormatBlock",!1,"div"]),a.addShortcut("access+9","",["FormatBlock",!1,"address"])}function f(e){return e?V[e]:V}function p(e,t){e&&("string"!=typeof e?ae(e,function(e,t){p(t,e)}):(t=t.length?t:[t],ae(t,function(e){e.deep===te&&(e.deep=!e.selector),e.split===te&&(e.split=!e.selector||e.inline),e.remove===te&&e.selector&&!e.inline&&(e.remove="none"),e.selector&&e.inline&&(e.mixed=!0,e.block_expand=!0),"string"==typeof e.classes&&(e.classes=e.classes.split(/\s+/))}),V[e]=t))}function h(e){return e&&V[e]&&delete V[e],V}function m(e){var t;return a.dom.getParent(e,function(e){return t=a.dom.getStyle(e,"text-decoration"),t&&"none"!==t}),t}function g(e){var t;1===e.nodeType&&e.parentNode&&1===e.parentNode.nodeType&&(t=m(e.parentNode),a.dom.getStyle(e,"color")&&t?a.dom.setStyle(e,"text-decoration",t):a.dom.getStyle(e,"text-decoration")===t&&a.dom.setStyle(e,"text-decoration",null))}function v(t,n,r){function i(e,t){if(t=t||d,e){if(t.onformat&&t.onformat(e,t,n,r),ae(t.styles,function(t,r){U.setStyle(e,r,A(t,n))}),t.styles){var i=U.getAttrib(e,"style");i&&e.setAttribute("data-mce-style",i)}ae(t.attributes,function(t,r){U.setAttrib(e,r,A(t,n))}),ae(t.classes,function(t){t=A(t,n),U.hasClass(e,t)||U.addClass(e,t)})}}function o(){function t(t,n){var i=new e(n);for(r=i.current();r;r=i.prev())if(r.childNodes.length>1||r==t||"BR"==r.tagName)return r}var n=a.selection.getRng(),i=n.startContainer,o=n.endContainer;if(i!=o&&0===n.endOffset){var s=t(i,o),l=3==s.nodeType?s.length:s.childNodes.length;n.setEnd(s,l)}return n}function l(e,r,o){var a=[],l,f,p=!0;l=d.inline||d.block,f=U.create(l),i(f),q.walk(e,function(e){function r(e){var g,v,y,b,x;return x=p,g=e.nodeName.toLowerCase(),v=e.parentNode.nodeName.toLowerCase(),1===e.nodeType&&ne(e)&&(x=p,p="true"===ne(e),b=!0),S(g,"br")?(h=0,void(d.block&&U.remove(e))):d.wrapper&&C(e,t,n)?void(h=0):p&&!b&&d.block&&!d.wrapper&&s(g)&&j(v,l)?(e=U.rename(e,l),i(e),a.push(e),void(h=0)):d.selector&&(ae(u,function(t){"collapsed"in t&&t.collapsed!==m||U.is(e,t.selector)&&!c(e)&&(i(e,t),y=!0)}),!d.inline||y)?void(h=0):void(!p||b||!j(l,g)||!j(v,l)||!o&&3===e.nodeType&&1===e.nodeValue.length&&65279===e.nodeValue.charCodeAt(0)||c(e)||d.inline&&Y(e)?(h=0,ae(se(e.childNodes),r),b&&(p=x),h=0):(h||(h=U.clone(f,Q),e.parentNode.insertBefore(h,e),a.push(h)),h.appendChild(e)))}var h;ae(e,r)}),d.links===!0&&ae(a,function(e){function t(e){"A"===e.nodeName&&i(e,d),ae(se(e.childNodes),t)}t(e)}),ae(a,function(e){function r(e){var t=0;return ae(e.childNodes,function(e){B(e)||oe(e)||t++}),t}function o(e){var t,n;return ae(e.childNodes,function(e){return 1!=e.nodeType||oe(e)||c(e)?void 0:(t=e,Q)}),t&&!oe(t)&&k(t,d)&&(n=U.clone(t,Q),i(n),U.replace(n,e,Z),U.remove(t,1)),n||e}var s;if(s=r(e),(a.length>1||!Y(e))&&0===s)return void U.remove(e,1);if(d.inline||d.wrapper){if(d.exact||1!==s||(e=o(e)),ae(u,function(t){ae(U.select(t.inline,e),function(e){oe(e)||H(t,n,e,t.exact?e:null)})}),C(e.parentNode,t,n))return U.remove(e,1),e=0,Z;d.merge_with_parents&&U.getParent(e.parentNode,function(r){return C(r,t,n)?(U.remove(e,1),e=0,Z):void 0}),e&&d.merge_siblings!==!1&&(e=I(O(e),e),e=I(e,O(e,Z)))}})}var u=f(t),d=u[0],p,h,m=!r&&$.isCollapsed();if(d)if(r)r.nodeType?(h=U.createRng(),h.setStartBefore(r),h.setEndAfter(r),l(L(h,u),null,!0)):l(r,null,!0);else if(m&&d.inline&&!U.select("td.mce-item-selected,th.mce-item-selected").length)z("apply",t,n);else{var y=a.selection.getNode();K||!u[0].defaultBlock||U.getParent(y,U.isBlock)||v(u[0].defaultBlock),a.selection.setRng(o()),p=$.getBookmark(),l(L($.getRng(Z),u),p),d.styles&&(d.styles.color||d.styles.textDecoration)&&(le(y,g,"childNodes"),g(y)),$.moveToBookmark(p),W($.getRng(Z)),a.nodeChanged()}}function y(e,t,n,r){function i(e){var n,r,o,a,s;if(1===e.nodeType&&ne(e)&&(a=y,y="true"===ne(e),s=!0),n=se(e.childNodes),y&&!s)for(r=0,o=p.length;o>r&&!H(p[r],t,e,e);r++);if(h.deep&&n.length){for(r=0,o=n.length;o>r;r++)i(n[r]);s&&(y=a)}}function o(n){var i;return ae(l(n.parentNode).reverse(),function(n){var o;i||"_start"==n.id||"_end"==n.id||(o=C(n,e,t,r),o&&o.split!==!1&&(i=n))}),i}function s(e,n,r,i){var o,a,s,l,c,u;if(e){for(u=e.parentNode,o=n.parentNode;o&&o!=u;o=o.parentNode){for(a=U.clone(o,Q),c=0;c<p.length;c++)if(H(p[c],t,a,a)){a=0;break}a&&(s&&a.appendChild(s),l||(l=a),s=a)}!i||h.mixed&&Y(e)||(n=U.split(e,n)),s&&(r.parentNode.insertBefore(s,r),l.appendChild(r))}return n}function c(e){return s(o(e),e,e,!0)}function u(e){var t=U.get(e?"_start":"_end"),n=t[e?"firstChild":"lastChild"];return oe(n)&&(n=n[e?"firstChild":"lastChild"]),3==n.nodeType&&0===n.data.length&&(n=e?t.previousSibling||t.nextSibling:t.nextSibling||t.previousSibling),U.remove(t,!0),n}function d(e){var t,n,r=e.commonAncestorContainer;e=L(e,p,Z),h.split&&(t=F(e,Z),n=F(e),t!=n?(/^(TR|TH|TD)$/.test(t.nodeName)&&t.firstChild&&(t="TR"==t.nodeName?t.firstChild.firstChild||t:t.firstChild||t),r&&/^T(HEAD|BODY|FOOT|R)$/.test(r.nodeName)&&/^(TH|TD)$/.test(n.nodeName)&&n.firstChild&&(n=n.firstChild||n),t=D(t,"span",{id:"_start","data-mce-type":"bookmark"}),n=D(n,"span",{id:"_end","data-mce-type":"bookmark"}),c(t),c(n),t=u(Z),n=u()):t=n=c(t),e.startContainer=t.parentNode?t.parentNode:t,e.startOffset=G(t),e.endContainer=n.parentNode?n.parentNode:n,e.endOffset=G(n)+1),q.walk(e,function(e){ae(e,function(e){i(e),1===e.nodeType&&"underline"===a.dom.getStyle(e,"text-decoration")&&e.parentNode&&"underline"===m(e.parentNode)&&H({deep:!1,exact:!0,inline:"span",styles:{textDecoration:"underline"}},null,e)})})}var p=f(e),h=p[0],g,v,y=!0;return n?void(n.nodeType?(v=U.createRng(),v.setStartBefore(n),v.setEndAfter(n),d(v)):d(n)):void($.isCollapsed()&&h.inline&&!U.select("td.mce-item-selected,th.mce-item-selected").length?z("remove",e,t,r):(g=$.getBookmark(),d($.getRng(Z)),$.moveToBookmark(g),h.inline&&x(e,t,$.getStart())&&W($.getRng(!0)),a.nodeChanged()))}function b(e,t,n){var r=f(e);!x(e,t,n)||"toggle"in r[0]&&!r[0].toggle?v(e,t,n):y(e,t,n)}function C(e,t,n,r){function i(e,t,i){var o,a,s=t[i],l;if(t.onmatch)return t.onmatch(e,t,i);if(s)if(s.length===te){for(o in s)if(s.hasOwnProperty(o)){if(a="attributes"===i?U.getAttrib(e,o):T(e,o),r&&!a&&!t.exact)return;if((!r||t.exact)&&!S(a,R(A(s[o],n),o)))return}}else for(l=0;l<s.length;l++)if("attributes"===i?U.getAttrib(e,s[l]):T(e,s[l]))return t;return t}var o=f(t),a,s,l;if(o&&e)for(s=0;s<o.length;s++)if(a=o[s],k(e,a)&&i(e,a,"attributes")&&i(e,a,"styles")){if(l=a.classes)for(s=0;s<l.length;s++)if(!U.hasClass(e,l[s]))return;return a}}function x(e,t,n){function r(n){var r=U.getRoot();return n===r?!1:(n=U.getParent(n,function(n){return n.parentNode===r||!!C(n,e,t,!0)}),C(n,e,t))}var i;return n?r(n):(n=$.getNode(),r(n)?Z:(i=$.getStart(),i!=n&&r(i)?Z:Q))}function w(e,t){var n,r=[],i={};return n=$.getStart(),U.getParent(n,function(n){var o,a;for(o=0;o<e.length;o++)a=e[o],!i[a]&&C(n,a,t)&&(i[a]=!0,r.push(a))},U.getRoot()),r}function _(e){var t=f(e),n,r,i,o,a;if(t)for(n=$.getStart(),r=l(n),o=t.length-1;o>=0;o--){if(a=t[o].selector,!a||t[o].defaultBlock)return Z;for(i=r.length-1;i>=0;i--)if(U.is(r[i],a))return Z}return Q}function E(e,t,n){var r;return ee||(ee={},r={},a.on("NodeChange",function(e){var t=l(e.element),n={};t=i.grep(t,function(e){return 1==e.nodeType&&!e.getAttribute("data-mce-bogus")}),ae(ee,function(e,i){ae(t,function(o){return C(o,i,{},e.similar)?(r[i]||(ae(e,function(e){e(!0,{node:o,format:i,parents:t})}),r[i]=e),n[i]=e,!1):void 0})}),ae(r,function(i,o){n[o]||(delete r[o],ae(i,function(n){n(!1,{node:e.element,format:o,parents:t})}))})})),ae(e.split(","),function(e){ee[e]||(ee[e]=[],ee[e].similar=n),ee[e].push(t)}),this}function N(e){return o.getCssText(a,e)}function k(e,t){return S(e,t.inline)?Z:S(e,t.block)?Z:t.selector?1==e.nodeType&&U.is(e,t.selector):void 0}function S(e,t){return e=e||"",t=t||"",e=""+(e.nodeName||e),t=""+(t.nodeName||t),e.toLowerCase()==t.toLowerCase()}function T(e,t){return R(U.getStyle(e,t),t)}function R(e,t){return("color"==t||"backgroundColor"==t)&&(e=U.toHex(e)),"fontWeight"==t&&700==e&&(e="bold"),"fontFamily"==t&&(e=e.replace(/[\'\"]/g,"").replace(/,\s+/g,",")),""+e}function A(e,t){return"string"!=typeof e?e=e(t):t&&(e=e.replace(/%(\w+)/g,function(e,n){return t[n]||e})),e}function B(e){return e&&3===e.nodeType&&/^([\t \r\n]+|)$/.test(e.nodeValue)}function D(e,t,n){var r=U.create(t,n);return e.parentNode.insertBefore(r,e),r.appendChild(e),r}function L(t,n,r){function i(e){function t(e){return"BR"==e.nodeName&&e.getAttribute("data-mce-bogus")&&!e.nextSibling}var r,i,o,a,s;if(r=i=e?g:y,a=e?"previousSibling":"nextSibling",s=U.getRoot(),3==r.nodeType&&!B(r)&&(e?v>0:b<r.nodeValue.length))return r;for(;;){if(!n[0].block_expand&&Y(i))return i;for(o=i[a];o;o=o[a])if(!oe(o)&&!B(o)&&!t(o))return i;if(i.parentNode==s){r=i;break}i=i.parentNode}return r}function o(e,t){for(t===te&&(t=3===e.nodeType?e.length:e.childNodes.length);e&&e.hasChildNodes();)e=e.childNodes[t],e&&(t=3===e.nodeType?e.length:e.childNodes.length);return{node:e,offset:t}}function c(e){for(var t=e;t;){if(1===t.nodeType&&ne(t))return"false"===ne(t)?t:e;t=t.parentNode}return e}function u(t,n,i){function o(e,t){var n,o,a=e.nodeValue;return"undefined"==typeof t&&(t=i?a.length:0),i?(n=a.lastIndexOf(" ",t),o=a.lastIndexOf("\xa0",t),n=n>o?n:o,-1===n||r||n++):(n=a.indexOf(" ",t),o=a.indexOf("\xa0",t),n=-1!==n&&(-1===o||o>n)?n:o),n}var s,l,c,u;if(3===t.nodeType){if(c=o(t,n),-1!==c)return{container:t,offset:c};u=t}for(s=new e(t,U.getParent(t,Y)||a.getBody());l=s[i?"prev":"next"]();)if(3===l.nodeType){if(u=l,c=o(l),-1!==c)return{container:l,offset:c}}else if(Y(l))break;return u?(n=i?0:u.length,{container:u,offset:n}):void 0}function d(e,r){var i,o,a,s;for(3==e.nodeType&&0===e.nodeValue.length&&e[r]&&(e=e[r]),i=l(e),o=0;o<i.length;o++)for(a=0;a<n.length;a++)if(s=n[a],!("collapsed"in s&&s.collapsed!==t.collapsed)&&U.is(i[o],s.selector))return i[o];return e}function f(e,t){var r,i=U.getRoot();if(n[0].wrapper||(r=U.getParent(e,n[0].block,i)),r||(r=U.getParent(3==e.nodeType?e.parentNode:e,function(e){return e!=i&&s(e)})),r&&n[0].wrapper&&(r=l(r,"ul,ol").reverse()[0]||r),!r)for(r=e;r[t]&&!Y(r[t])&&(r=r[t],!S(r,"br")););return r||e}var p,h,m,g=t.startContainer,v=t.startOffset,y=t.endContainer,b=t.endOffset;if(1==g.nodeType&&g.hasChildNodes()&&(p=g.childNodes.length-1,g=g.childNodes[v>p?p:v],3==g.nodeType&&(v=0)),1==y.nodeType&&y.hasChildNodes()&&(p=y.childNodes.length-1,y=y.childNodes[b>p?p:b-1],3==y.nodeType&&(b=y.nodeValue.length)),g=c(g),y=c(y),(oe(g.parentNode)||oe(g))&&(g=oe(g)?g:g.parentNode,g=g.nextSibling||g,3==g.nodeType&&(v=0)),(oe(y.parentNode)||oe(y))&&(y=oe(y)?y:y.parentNode,y=y.previousSibling||y,3==y.nodeType&&(b=y.length)),n[0].inline&&(t.collapsed&&(m=u(g,v,!0),m&&(g=m.container,v=m.offset),m=u(y,b),m&&(y=m.container,b=m.offset)),h=o(y,b),h.node)){for(;h.node&&0===h.offset&&h.node.previousSibling;)h=o(h.node.previousSibling);h.node&&h.offset>0&&3===h.node.nodeType&&" "===h.node.nodeValue.charAt(h.offset-1)&&h.offset>1&&(y=h.node,y.splitText(h.offset-1))}return(n[0].inline||n[0].block_expand)&&(n[0].inline&&3==g.nodeType&&0!==v||(g=i(!0)),n[0].inline&&3==y.nodeType&&b!==y.nodeValue.length||(y=i())),n[0].selector&&n[0].expand!==Q&&!n[0].inline&&(g=d(g,"previousSibling"),y=d(y,"nextSibling")),(n[0].block||n[0].selector)&&(g=f(g,"previousSibling"),y=f(y,"nextSibling"),n[0].block&&(Y(g)||(g=i(!0)),Y(y)||(y=i()))),1==g.nodeType&&(v=G(g),g=g.parentNode),1==y.nodeType&&(b=G(y)+1,y=y.parentNode),{startContainer:g,startOffset:v,endContainer:y,endOffset:b}}function M(e,t){return t.links&&"A"==e.tagName}function H(e,t,n,r){var i,o,a;if(!k(n,e)&&!M(n,e))return Q;if("all"!=e.remove)for(ae(e.styles,function(i,o){i=R(A(i,t),o),"number"==typeof o&&(o=i,r=0),(e.remove_similar||!r||S(T(r,o),i))&&U.setStyle(n,o,""),a=1}),a&&""===U.getAttrib(n,"style")&&(n.removeAttribute("style"),n.removeAttribute("data-mce-style")),ae(e.attributes,function(e,i){var o;if(e=A(e,t),"number"==typeof i&&(i=e,r=0),!r||S(U.getAttrib(r,i),e)){if("class"==i&&(e=U.getAttrib(n,i),e&&(o="",ae(e.split(/\s+/),function(e){/mce\-\w+/.test(e)&&(o+=(o?" ":"")+e)}),o)))return void U.setAttrib(n,i,o);"class"==i&&n.removeAttribute("className"),J.test(i)&&n.removeAttribute("data-mce-"+i),n.removeAttribute(i)}}),ae(e.classes,function(e){e=A(e,t),(!r||U.hasClass(r,e))&&U.removeClass(n,e)}),o=U.getAttribs(n),i=0;i<o.length;i++)if(0!==o[i].nodeName.indexOf("_"))return Q;return"none"!=e.remove?(P(n,e),Z):void 0}function P(e,t){function n(e,t,n){return e=O(e,t,n),!e||"BR"==e.nodeName||Y(e)}var r=e.parentNode,i;t.block&&(K?r==U.getRoot()&&(t.list_block&&S(e,t.list_block)||ae(se(e.childNodes),function(e){j(K,e.nodeName.toLowerCase())?i?i.appendChild(e):(i=D(e,K),U.setAttribs(i,a.settings.forced_root_block_attrs)):i=0})):Y(e)&&!Y(r)&&(n(e,Q)||n(e.firstChild,Z,1)||e.insertBefore(U.create("br"),e.firstChild),n(e,Z)||n(e.lastChild,Q,1)||e.appendChild(U.create("br")))),t.selector&&t.inline&&!S(t.inline,e)||U.remove(e,1)}function O(e,t,n){if(e)for(t=t?"nextSibling":"previousSibling",e=n?e:e[t];e;e=e[t])if(1==e.nodeType||!B(e))return e}function I(e,t){function n(e,t){for(i=e;i;i=i[t]){if(3==i.nodeType&&0!==i.nodeValue.length)return e;if(1==i.nodeType&&!oe(i))return i}return e}var i,o,a=new r(U);if(e&&t&&(e=n(e,"previousSibling"),t=n(t,"nextSibling"),a.compare(e,t))){for(i=e.nextSibling;i&&i!=t;)o=i,i=i.nextSibling,e.appendChild(o);return U.remove(t),ae(se(t.childNodes),function(t){e.appendChild(t)}),e}return t}function F(t,n){var r,i,o;return r=t[n?"startContainer":"endContainer"],i=t[n?"startOffset":"endOffset"],1==r.nodeType&&(o=r.childNodes.length-1,!n&&i&&i--,r=r.childNodes[i>o?o:i]),3===r.nodeType&&n&&i>=r.nodeValue.length&&(r=new e(r,a.getBody()).next()||r),3!==r.nodeType||n||0!==i||(r=new e(r,a.getBody()).prev()||r),r}function z(t,n,r,i){function o(e){var t=U.create("span",{id:g,"data-mce-bogus":!0,style:b?"color:red":""});return e&&t.appendChild(a.getDoc().createTextNode(X)),t}function l(e,t){for(;e;){if(3===e.nodeType&&e.nodeValue!==X||e.childNodes.length>1)return!1;t&&1===e.nodeType&&t.push(e),e=e.firstChild}return!0}function c(e){for(;e;){if(e.id===g)return e;e=e.parentNode}}function u(t){var n;if(t)for(n=new e(t,t),t=n.current();t;t=n.next())if(3===t.nodeType)return t}function d(e,t){var n,r;if(e)r=$.getRng(!0),l(e)?(t!==!1&&(r.setStartBefore(e),r.setEndBefore(e)),U.remove(e)):(n=u(e),n.nodeValue.charAt(0)===X&&(n.deleteData(0,1),r.startContainer==n&&r.startOffset>0&&r.setStart(n,r.startOffset-1),r.endContainer==n&&r.endOffset>0&&r.setEnd(n,r.endOffset-1)),U.remove(e,1)),$.setRng(r);else if(e=c($.getStart()),!e)for(;e=U.get(g);)d(e,!1)}function p(){var e,t,i,a,s,l,d;e=$.getRng(!0),a=e.startOffset,l=e.startContainer,d=l.nodeValue,t=c($.getStart()),t&&(i=u(t)),d&&a>0&&a<d.length&&/\w/.test(d.charAt(a))&&/\w/.test(d.charAt(a-1))?(s=$.getBookmark(),e.collapse(!0),e=L(e,f(n)),e=q.split(e),v(n,r,e),$.moveToBookmark(s)):(t&&i.nodeValue===X?v(n,r,t):(t=o(!0),i=t.firstChild,e.insertNode(t),a=1,v(n,r,t)),$.setCursorLocation(i,a))}function h(){var e=$.getRng(!0),t,a,l,c,u,d,p=[],h,m;for(t=e.startContainer,a=e.startOffset,u=t,3==t.nodeType&&(a!=t.nodeValue.length&&(c=!0),u=u.parentNode);u;){if(C(u,n,r,i)){d=u;break}u.nextSibling&&(c=!0),p.push(u),u=u.parentNode}if(d)if(c)l=$.getBookmark(),e.collapse(!0),e=L(e,f(n),!0),e=q.split(e),y(n,r,e),$.moveToBookmark(l);else{for(m=o(),u=m,h=p.length-1;h>=0;h--)u.appendChild(U.clone(p[h],!1)),u=u.firstChild;u.appendChild(U.doc.createTextNode(X)),u=u.firstChild;var g=U.getParent(d,s);g&&U.isEmpty(g)?d.parentNode.replaceChild(m,d):U.insertAfter(m,d),$.setCursorLocation(u,1),U.isEmpty(d)&&U.remove(d)}}function m(){var e;e=c($.getStart()),e&&!U.isEmpty(e)&&le(e,function(e){1!=e.nodeType||e.id===g||U.isEmpty(e)||U.setAttrib(e,"data-mce-bogus",null)},"childNodes")}var g="_mce_caret",b=a.settings.caret_debug;a._hasCaretEvents||(ie=function(){var e=[],t;if(l(c($.getStart()),e))for(t=e.length;t--;)U.setAttrib(e[t],"data-mce-bogus","1")},re=function(e){var t=e.keyCode;d(),(8==t&&$.isCollapsed()||37==t||39==t)&&d(c($.getStart())),m()},a.on("SetContent",function(e){e.selection&&m()}),a._hasCaretEvents=!0),"apply"==t?p():h()}function W(t){var n=t.startContainer,r=t.startOffset,i,o,a,s,l;if(3==n.nodeType&&r>=n.nodeValue.length&&(r=G(n),n=n.parentNode,i=!0),1==n.nodeType)for(s=n.childNodes,n=s[Math.min(r,s.length-1)],o=new e(n,U.getParent(n,U.isBlock)),(r>s.length-1||i)&&o.next(),a=o.current();a;a=o.next())if(3==a.nodeType&&!B(a))return l=U.create("a",{"data-mce-bogus":"all"},X),a.parentNode.insertBefore(l,a),t.setStart(a,0),$.setRng(t),void U.remove(l)}var V={},U=a.dom,$=a.selection,q=new t(U),j=a.schema.isValidChild,Y=U.isBlock,K=a.settings.forced_root_block,G=U.nodeIndex,X="\ufeff",J=/^(src|href|style)$/,Q=!1,Z=!0,ee,te,ne=U.getContentEditable,re,ie,oe=n.isBookmarkNode,ae=i.each,se=i.grep,le=i.walk,ce=i.extend;ce(this,{get:f,register:p,unregister:h,apply:v,remove:y,toggle:b,match:x,matchAll:w,matchNode:C,canApply:_,formatChanged:E,getCssText:N}),u(),d(),a.on("BeforeGetContent",function(e){ie&&"raw"!=e.format&&ie()}),a.on("mouseup keydown",function(e){re&&re(e)})}}),r(I,[B,u,d,N],function(e,t,n,r){var i=n.trim,o;return o=new RegExp(["<span[^>]+data-mce-bogus[^>]+>[\u200b\ufeff]+<\\/span>",'\\s?data-mce-selected="[^"]+"'].join("|"),"gi"),function(n){function a(){var e=n.getContent({format:"raw",no_events:1}),t=/<(\w+) [^>]*data-mce-bogus="all"[^>]*>/g,a,s,l,c,u,d=n.schema;for(e=e.replace(o,""),u=d.getShortEndedElements();c=t.exec(e);)s=t.lastIndex,l=c[0].length,a=u[c[1]]?s:r.findEndTag(d,e,s),e=e.substring(0,s-l)+e.substring(a),t.lastIndex=s-l;return i(e)}function s(e){l.typing=!1,l.add({},e)}var l=this,c=0,u=[],d,f,p=0;return n.on("init",function(){l.add()}),n.on("BeforeExecCommand",function(e){var t=e.command;"Undo"!=t&&"Redo"!=t&&"mceRepaint"!=t&&l.beforeChange()}),n.on("ExecCommand",function(e){var t=e.command;"Undo"!=t&&"Redo"!=t&&"mceRepaint"!=t&&s(e)}),n.on("ObjectResizeStart",function(){l.beforeChange()}),n.on("SaveContent ObjectResized blur",s),n.on("DragEnd",s),n.on("KeyUp",function(e){var r=e.keyCode;(r>=33&&36>=r||r>=37&&40>=r||45==r||13==r||e.ctrlKey)&&(s(),n.nodeChanged()),(46==r||8==r||t.mac&&(91==r||93==r))&&n.nodeChanged(),f&&l.typing&&(n.isDirty()||(n.isNotDirty=!u[0]||a()==u[0].content,n.isNotDirty||n.fire("change",{level:u[0],lastLevel:null})),n.fire("TypingUndo"),f=!1,n.nodeChanged())}),n.on("KeyDown",function(t){var n=t.keyCode;if(n>=33&&36>=n||n>=37&&40>=n||45==n)return void(l.typing&&s(t));var r=e.modifierPressed(t);!(16>n||n>20)||224==n||91==n||l.typing||r||(l.beforeChange(),l.typing=!0,l.add({},t),f=!0)}),n.on("MouseDown",function(e){l.typing&&s(e)}),n.addShortcut("meta+z","","Undo"),n.addShortcut("meta+y,meta+shift+z","","Redo"),n.on("AddUndo Undo Redo ClearUndos",function(e){e.isDefaultPrevented()||n.nodeChanged()}),l={data:u,typing:!1,beforeChange:function(){p||(d=n.selection.getBookmark(2,!0))},add:function(e,t){var r,i=n.settings,o;if(e=e||{},e.content=a(),p||n.removed)return null;if(o=u[c],n.fire("BeforeAddUndo",{level:e,lastLevel:o,originalEvent:t}).isDefaultPrevented())return null;if(o&&o.content==e.content)return null;if(u[c]&&(u[c].beforeBookmark=d),i.custom_undo_redo_levels&&u.length>i.custom_undo_redo_levels){for(r=0;r<u.length-1;r++)u[r]=u[r+1];u.length--,c=u.length}e.bookmark=n.selection.getBookmark(2,!0),c<u.length-1&&(u.length=c+1),u.push(e),c=u.length-1;var s={level:e,lastLevel:o,originalEvent:t};return n.fire("AddUndo",s),c>0&&(n.isNotDirty=!1,n.fire("change",s)),e},undo:function(){var e;return l.typing&&(l.add(),l.typing=!1),c>0&&(e=u[--c],0===c&&(n.isNotDirty=!0),n.setContent(e.content,{format:"raw"}),n.selection.moveToBookmark(e.beforeBookmark),n.fire("undo",{level:e})),e},redo:function(){var e;return c<u.length-1&&(e=u[++c],n.setContent(e.content,{format:"raw"}),n.selection.moveToBookmark(e.bookmark),n.fire("redo",{level:e})),e},clear:function(){u=[],c=0,l.typing=!1,n.fire("ClearUndos")},hasUndo:function(){return c>0||l.typing&&u[0]&&a()!=u[0].content},hasRedo:function(){return c<u.length-1&&!this.typing},transact:function(e){l.beforeChange();try{p++,e()}finally{p--}l.add()}}}}),r(F,[h,x,u],function(e,t,n){var r=n.ie&&n.ie<11;return function(i){function o(o){function p(e){return e&&a.isBlock(e)&&!/^(TD|TH|CAPTION|FORM)$/.test(e.nodeName)&&!/^(fixed|absolute)/i.test(e.style.position)&&"true"!==a.getContentEditable(e)}function h(e){var t;a.isBlock(e)&&(t=s.getRng(),e.appendChild(a.create("span",null,"\xa0")),s.select(e),e.lastChild.outerHTML="",s.setRng(t))}function m(e){var t=e,n=[],r;if(t){for(;t=t.firstChild;){if(a.isBlock(t))return;1!=t.nodeType||d[t.nodeName.toLowerCase()]||n.push(t)}for(r=n.length;r--;)t=n[r],!t.hasChildNodes()||t.firstChild==t.lastChild&&""===t.firstChild.nodeValue?a.remove(t):"A"==t.nodeName&&" "===(t.innerText||t.textContent)&&a.remove(t)}}function g(t){function r(e){for(;e;){if(1==e.nodeType||3==e.nodeType&&e.data&&/[\r\n\s]/.test(e.data))return e;e=e.nextSibling}}var i,o,l,c=t,u;if(t){if(n.ie&&n.ie<9&&B&&B.firstChild&&B.firstChild==B.lastChild&&"BR"==B.firstChild.tagName&&a.remove(B.firstChild),/^(LI|DT|DD)$/.test(t.nodeName)){var d=r(t.firstChild);d&&/^(UL|OL|DL)$/.test(d.nodeName)&&t.insertBefore(a.doc.createTextNode("\xa0"),t.firstChild)}if(l=a.createRng(),n.ie||t.normalize(),t.hasChildNodes()){for(i=new e(t,t);o=i.current();){if(3==o.nodeType){l.setStart(o,0),l.setEnd(o,0);break}if(f[o.nodeName.toLowerCase()]){l.setStartBefore(o),l.setEndBefore(o);break}c=o,o=i.next()}o||(l.setStart(c,0),l.setEnd(c,0))}else"BR"==t.nodeName?t.nextSibling&&a.isBlock(t.nextSibling)?((!D||9>D)&&(u=a.create("br"),t.parentNode.insertBefore(u,t)),l.setStartBefore(t),l.setEndBefore(t)):(l.setStartAfter(t),l.setEndAfter(t)):(l.setStart(t,0),l.setEnd(t,0));s.setRng(l),a.remove(u),s.scrollIntoView(t)}}function v(e){var t=l.forced_root_block;t&&t.toLowerCase()===e.tagName.toLowerCase()&&a.setAttribs(e,l.forced_root_block_attrs)}function y(e){var t=R,n,i,o,s=u.getTextInlineElements();if(e||"TABLE"==O?(n=a.create(e||F),v(n)):n=B.cloneNode(!1),o=n,l.keep_styles!==!1)do if(s[t.nodeName]){if("_mce_caret"==t.id)continue;i=t.cloneNode(!1),a.setAttrib(i,"id",""),n.hasChildNodes()?(i.appendChild(n.firstChild),n.appendChild(i)):(o=i,n.appendChild(i))}while(t=t.parentNode);return r||(o.innerHTML='<br data-mce-bogus="1">'),n}function b(t){var n,r,i;if(3==R.nodeType&&(t?A>0:A<R.nodeValue.length))return!1;if(R.parentNode==B&&z&&!t)return!0;if(t&&1==R.nodeType&&R==B.firstChild)return!0;if("TABLE"===R.nodeName||R.previousSibling&&"TABLE"==R.previousSibling.nodeName)return z&&!t||!z&&t;for(n=new e(R,B),3==R.nodeType&&(t&&0===A?n.prev():t||A!=R.nodeValue.length||n.next());r=n.current();){if(1===r.nodeType){if(!r.getAttribute("data-mce-bogus")&&(i=r.nodeName.toLowerCase(),d[i]&&"br"!==i))return!1}else if(3===r.nodeType&&!/^[ \t\r\n]*$/.test(r.nodeValue))return!1;t?n.prev():n.next()}return!0}function C(e,t){var n,r,o,s,l,c,d=F||"P";if(r=a.getParent(e,a.isBlock),c=i.getBody().nodeName.toLowerCase(),!r||!p(r)){if(r=r||T,!r.hasChildNodes())return n=a.create(d),v(n),r.appendChild(n),k.setStart(n,0),k.setEnd(n,0),n;for(s=e;s.parentNode!=r;)s=s.parentNode;for(;s&&!a.isBlock(s);)o=s,s=s.previousSibling;if(o&&u.isValidChild(c,d.toLowerCase())){for(n=a.create(d),v(n),o.parentNode.insertBefore(n,o),s=o;s&&!a.isBlock(s);)l=s.nextSibling,n.appendChild(s),s=l;k.setStart(e,t),k.setEnd(e,t)}}return e}function x(){function e(e){for(var t=P[e?"firstChild":"lastChild"];t&&1!=t.nodeType;)t=t[e?"nextSibling":"previousSibling"];return t===B}function t(){var e=P.parentNode;return/^(LI|DT|DD)$/.test(e.nodeName)?e:P}var n=P.parentNode.nodeName;/^(OL|UL|LI)$/.test(n)&&(F="LI"),M=F?y(F):a.create("BR"),e(!0)&&e()?"LI"==n?a.insertAfter(M,t()):a.replace(M,P):e(!0)?"LI"==n?(a.insertAfter(M,t()),M.appendChild(a.doc.createTextNode(" ")),M.appendChild(P)):P.parentNode.insertBefore(M,P):e()?(a.insertAfter(M,t()),h(M)):(P=t(),S=k.cloneRange(),S.setStartAfter(B),S.setEndAfter(P),H=S.extractContents(),"LI"==F&&"LI"==H.firstChild.nodeName?(M=H.firstChild,a.insertAfter(H,P)):(a.insertAfter(H,P),a.insertAfter(M,P))),a.remove(B),g(M),c.add()}function w(){i.execCommand("InsertLineBreak",!1,o)}function _(e){do 3===e.nodeType&&(e.nodeValue=e.nodeValue.replace(/^[\r\n]+/,"")),e=e.firstChild;while(e)}function E(e){var t=a.getRoot(),n,r;for(n=e;n!==t&&"false"!==a.getContentEditable(n);)"true"===a.getContentEditable(n)&&(r=n),n=n.parentNode;return n!==t?r:t}function N(e){var t;r||(e.normalize(),t=e.lastChild,(!t||/^(left|right)$/gi.test(a.getStyle(t,"float",!0)))&&a.add(e,"br"))}var k,S,T,R,A,B,D,L,M,H,P,O,I,F,z;if(k=s.getRng(!0),!o.isDefaultPrevented()){if(!k.collapsed)return void i.execCommand("Delete");if(new t(a).normalize(k),R=k.startContainer,A=k.startOffset,F=(l.force_p_newlines?"p":"")||l.forced_root_block,F=F?F.toUpperCase():"",D=a.doc.documentMode,L=o.shiftKey,1==R.nodeType&&R.hasChildNodes()&&(z=A>R.childNodes.length-1,R=R.childNodes[Math.min(A,R.childNodes.length-1)]||R,A=z&&3==R.nodeType?R.nodeValue.length:0),T=E(R)){if(c.beforeChange(),!a.isBlock(T)&&T!=a.getRoot())return void((!F||L)&&w());if((F&&!L||!F&&L)&&(R=C(R,A)),B=a.getParent(R,a.isBlock),P=B?a.getParent(B.parentNode,a.isBlock):null,O=B?B.nodeName.toUpperCase():"",I=P?P.nodeName.toUpperCase():"","LI"!=I||o.ctrlKey||(B=P,O=I),/^(LI|DT|DD)$/.test(O)){if(!F&&L)return void w();if(a.isEmpty(B))return void x()}if("PRE"==O&&l.br_in_pre!==!1){if(!L)return void w()}else if(!F&&!L&&"LI"!=O||F&&L)return void w();F&&B===i.getBody()||(F=F||"P",b()?(M=/^(H[1-6]|PRE|FIGURE)$/.test(O)&&"HGROUP"!=I?y(F):y(),l.end_container_on_empty_block&&p(P)&&a.isEmpty(B)?M=a.split(P,B):a.insertAfter(M,B),g(M)):b(!0)?(M=B.parentNode.insertBefore(y(),B),h(M),g(B)):(S=k.cloneRange(),S.setEndAfter(B),H=S.extractContents(),_(H),M=H.firstChild,a.insertAfter(H,B),m(M),N(B),g(M)),a.setAttrib(M,"id",""),i.fire("NewBlock",{newBlock:M}),c.add())}}}var a=i.dom,s=i.selection,l=i.settings,c=i.undoManager,u=i.schema,d=u.getNonEmptyElements(),f=u.getMoveCaretBeforeOnEnterElements();i.on("keydown",function(e){13==e.keyCode&&o(e)!==!1&&e.preventDefault()})}}),r(z,[],function(){return function(e){function t(){var t=i.getStart(),s=e.getBody(),l,c,u,d,f,p,h,m=-16777215,g,v,y,b,C;if(C=n.forced_root_block,t&&1===t.nodeType&&C){for(;t&&t!=s;){if(a[t.nodeName])return;t=t.parentNode}if(l=i.getRng(),l.setStart){c=l.startContainer,u=l.startOffset,d=l.endContainer,f=l.endOffset;try{v=e.getDoc().activeElement===s}catch(x){}}else l.item&&(t=l.item(0),l=e.getDoc().body.createTextRange(),l.moveToElementText(t)),v=l.parentElement().ownerDocument===e.getDoc(),y=l.duplicate(),y.collapse(!0),u=-1*y.move("character",m),y.collapsed||(y=l.duplicate(),y.collapse(!1),f=-1*y.move("character",m)-u);for(t=s.firstChild,b=s.nodeName.toLowerCase();t;)if((3===t.nodeType||1==t.nodeType&&!a[t.nodeName])&&o.isValidChild(b,C.toLowerCase())){if(3===t.nodeType&&0===t.nodeValue.length){h=t,t=t.nextSibling,r.remove(h);continue}p||(p=r.create(C,e.settings.forced_root_block_attrs),t.parentNode.insertBefore(p,t),g=!0),h=t,t=t.nextSibling,p.appendChild(h)}else p=null,t=t.nextSibling;if(g&&v){if(l.setStart)l.setStart(c,u),l.setEnd(d,f),i.setRng(l);else try{l=e.getDoc().body.createTextRange(),l.moveToElementText(s),l.collapse(!0),l.moveStart("character",u),f>0&&l.moveEnd("character",f),l.select()}catch(x){}e.nodeChanged()}}}var n=e.settings,r=e.dom,i=e.selection,o=e.schema,a=o.getBlockElements();n.forced_root_block&&e.on("NodeChange",t)}}),r(W,[T,u,d,H,x,h],function(e,n,r,i,o,a){var s=r.each,l=r.extend,c=r.map,u=r.inArray,d=r.explode,f=n.gecko,p=n.ie,h=n.ie&&n.ie<11,m=!0,g=!1;return function(r){function v(e,t,n,i){var o,a,c=0;if(/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(e)||i&&i.skip_focus||r.focus(),i=l({},i),i=r.fire("BeforeExecCommand",{command:e,ui:t,value:n}),i.isDefaultPrevented())return!1;if(a=e.toLowerCase(),o=M.exec[a])return o(a,t,n),r.fire("ExecCommand",{
+command:e,ui:t,value:n}),!0;if(s(r.plugins,function(i){return i.execCommand&&i.execCommand(e,t,n)?(r.fire("ExecCommand",{command:e,ui:t,value:n}),c=!0,!1):void 0}),c)return c;if(r.theme&&r.theme.execCommand&&r.theme.execCommand(e,t,n))return r.fire("ExecCommand",{command:e,ui:t,value:n}),!0;try{c=r.getDoc().execCommand(e,t,n)}catch(u){}return c?(r.fire("ExecCommand",{command:e,ui:t,value:n}),!0):!1}function y(e){var t;if(!r._isHidden()){if(e=e.toLowerCase(),t=M.state[e])return t(e);try{return r.getDoc().queryCommandState(e)}catch(n){}return!1}}function b(e){var t;if(!r._isHidden()){if(e=e.toLowerCase(),t=M.value[e])return t(e);try{return r.getDoc().queryCommandValue(e)}catch(n){}}}function C(e,t){t=t||"exec",s(e,function(e,n){s(n.toLowerCase().split(","),function(n){M[t][n]=e})})}function x(e,t,n){e=e.toLowerCase(),M.exec[e]=function(e,i,o,a){return t.call(n||r,i,o,a)}}function w(e){if(e=e.toLowerCase(),M.exec[e])return!0;try{return r.getDoc().queryCommandSupported(e)}catch(t){}return!1}function _(e,t,n){e=e.toLowerCase(),M.state[e]=function(){return t.call(n||r)}}function E(e,t,n){e=e.toLowerCase(),M.value[e]=function(){return t.call(n||r)}}function N(e){return e=e.toLowerCase(),!!M.exec[e]}function k(e,n,i){return n===t&&(n=g),i===t&&(i=null),r.getDoc().execCommand(e,n,i)}function S(e){return L.match(e)}function T(e,n){L.toggle(e,n?{value:n}:t),r.nodeChanged()}function R(e){P=D.getBookmark(e)}function A(){D.moveToBookmark(P)}var B,D,L,M={state:{},exec:{},value:{}},H=r.settings,P;r.on("PreInit",function(){B=r.dom,D=r.selection,H=r.settings,L=r.formatter}),l(this,{execCommand:v,queryCommandState:y,queryCommandValue:b,queryCommandSupported:w,addCommands:C,addCommand:x,addQueryStateHandler:_,addQueryValueHandler:E,hasCustomCommand:N}),C({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){r.undoManager.add()},"Cut,Copy,Paste":function(e){var t=r.getDoc(),i;try{k(e)}catch(o){i=m}if(i||!t.queryCommandSupported(e)){var a=r.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.");n.mac&&(a=a.replace(/Ctrl\+/g,"\u2318+")),r.windowManager.alert(a)}},unlink:function(){if(D.isCollapsed()){var e=D.getNode();return void("A"==e.tagName&&r.dom.remove(e,!0))}L.remove("link")},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(e){var t=e.substring(7);"full"==t&&(t="justify"),s("left,center,right,justify".split(","),function(e){t!=e&&L.remove("align"+e)}),T("align"+t),v("mceRepaint")},"InsertUnorderedList,InsertOrderedList":function(e){var t,n;k(e),t=B.getParent(D.getNode(),"ol,ul"),t&&(n=t.parentNode,/^(H[1-6]|P|ADDRESS|PRE)$/.test(n.nodeName)&&(R(),B.split(n,t),A()))},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){T(e)},"ForeColor,HiliteColor,FontName":function(e,t,n){T(e,n)},FontSize:function(e,t,n){var r,i;n>=1&&7>=n&&(i=d(H.font_size_style_values),r=d(H.font_size_classes),n=r?r[n-1]||n:i[n-1]||n),T(e,n)},RemoveFormat:function(e){L.remove(e)},mceBlockQuote:function(){T("blockquote")},FormatBlock:function(e,t,n){return T(n||"p")},mceCleanup:function(){var e=D.getBookmark();r.setContent(r.getContent({cleanup:m}),{cleanup:m}),D.moveToBookmark(e)},mceRemoveNode:function(e,t,n){var i=n||D.getNode();i!=r.getBody()&&(R(),r.dom.remove(i,m),A())},mceSelectNodeDepth:function(e,t,n){var i=0;B.getParent(D.getNode(),function(e){return 1==e.nodeType&&i++==n?(D.select(e),g):void 0},r.getBody())},mceSelectNode:function(e,t,n){D.select(n)},mceInsertContent:function(t,n,o){function a(e){function t(e){return r[e]&&3==r[e].nodeType}var n,r,i;return n=D.getRng(!0),r=n.startContainer,i=n.startOffset,3==r.nodeType&&(i>0?e=e.replace(/^&nbsp;/," "):t("previousSibling")||(e=e.replace(/^ /,"&nbsp;")),i<r.length?e=e.replace(/&nbsp;(<br>|)$/," "):t("nextSibling")||(e=e.replace(/(&nbsp;| )(<br>|)$/,"&nbsp;"))),e}function l(){var e,t,n;e=D.getRng(!0),t=e.startContainer,n=e.startOffset,3==t.nodeType&&e.collapsed&&("\xa0"===t.data[n]?(t.deleteData(n,1),/[\u00a0| ]$/.test(o)||(o+=" ")):"\xa0"===t.data[n-1]&&(t.deleteData(n-1,1),/[\u00a0| ]$/.test(o)||(o=" "+o)))}function c(e){if(_)for(C=e.firstChild;C;C=C.walk(!0))E[C.name]&&C.attr("data-mce-new","true")}function u(){if(_){var e=r.getBody(),t=new i(B);s(B.select("*[data-mce-new]"),function(n){n.removeAttribute("data-mce-new");for(var r=n.parentNode;r&&r!=e;r=r.parentNode)t.compare(r,n)&&B.remove(n,!0)})}}var d,f,h,m,g,v,y,b,C,x,w,_,E=r.schema.getTextInlineElements();"string"!=typeof o&&(_=o.merge,o=o.content),/^ | $/.test(o)&&(o=a(o)),d=r.parser,f=new e({},r.schema),w='<span id="mce_marker" data-mce-type="bookmark">&#xFEFF;&#x200B;</span>',v={content:o,format:"html",selection:!0},r.fire("BeforeSetContent",v),o=v.content,-1==o.indexOf("{$caret}")&&(o+="{$caret}"),o=o.replace(/\{\$caret\}/,w),b=D.getRng();var N=b.startContainer||(b.parentElement?b.parentElement():null),k=r.getBody();N===k&&D.isCollapsed()&&B.isBlock(k.firstChild)&&B.isEmpty(k.firstChild)&&(b=B.createRng(),b.setStart(k.firstChild,0),b.setEnd(k.firstChild,0),D.setRng(b)),D.isCollapsed()||(r.getDoc().execCommand("Delete",!1,null),l()),h=D.getNode();var S={context:h.nodeName.toLowerCase()};if(g=d.parse(o,S),c(g),C=g.lastChild,"mce_marker"==C.attr("id"))for(y=C,C=C.prev;C;C=C.walk(!0))if(3==C.type||!B.isBlock(C.name)){r.schema.isValidChild(C.parent.name,"span")&&C.parent.insert(y,C,"br"===C.name);break}if(S.invalid){for(D.setContent(w),h=D.getNode(),m=r.getBody(),9==h.nodeType?h=C=m:C=h;C!==m;)h=C,C=C.parentNode;o=h==m?m.innerHTML:B.getOuterHTML(h),o=f.serialize(d.parse(o.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return f.serialize(g)}))),h==m?B.setHTML(m,o):B.setOuterHTML(h,o)}else o=f.serialize(g),C=h.firstChild,x=h.lastChild,!C||C===x&&"BR"===C.nodeName?B.setHTML(h,o):D.setContent(o);u(),y=B.get("mce_marker"),D.scrollIntoView(y),b=B.createRng(),C=y.previousSibling,C&&3==C.nodeType?(b.setStart(C,C.nodeValue.length),p||(x=y.nextSibling,x&&3==x.nodeType&&(C.appendData(x.data),x.parentNode.removeChild(x)))):(b.setStartBefore(y),b.setEndBefore(y)),B.remove(y),D.setRng(b),r.fire("SetContent",v),r.addVisual()},mceInsertRawHTML:function(e,t,n){D.setContent("tiny_mce_marker"),r.setContent(r.getContent().replace(/tiny_mce_marker/g,function(){return n}))},mceToggleFormat:function(e,t,n){T(n)},mceSetContent:function(e,t,n){r.setContent(n)},"Indent,Outdent":function(e){var t,n,i;t=H.indentation,n=/[a-z%]+$/i.exec(t),t=parseInt(t,10),y("InsertUnorderedList")||y("InsertOrderedList")?k(e):(H.forced_root_block||B.getParent(D.getNode(),B.isBlock)||L.apply("div"),s(D.getSelectedBlocks(),function(o){if("LI"!=o.nodeName){var a=r.getParam("indent_use_margin",!1)?"margin":"padding";a+="rtl"==B.getStyle(o,"direction",!0)?"Right":"Left","outdent"==e?(i=Math.max(0,parseInt(o.style[a]||0,10)-t),B.setStyle(o,a,i?i+n:"")):(i=parseInt(o.style[a]||0,10)+t+n,B.setStyle(o,a,i))}}))},mceRepaint:function(){if(f)try{R(m),D.getSel()&&D.getSel().selectAllChildren(r.getBody()),D.collapse(m),A()}catch(e){}},InsertHorizontalRule:function(){r.execCommand("mceInsertContent",!1,"<hr />")},mceToggleVisualAid:function(){r.hasVisual=!r.hasVisual,r.addVisual()},mceReplaceContent:function(e,t,n){r.execCommand("mceInsertContent",!1,n.replace(/\{\$selection\}/g,D.getContent({format:"text"})))},mceInsertLink:function(e,t,n){var r;"string"==typeof n&&(n={href:n}),r=B.getParent(D.getNode(),"a"),n.href=n.href.replace(" ","%20"),r&&n.href||L.remove("link"),n.href&&L.apply("link",n,r)},selectAll:function(){var e=B.getRoot(),t;D.getRng().setStart?(t=B.createRng(),t.setStart(e,0),t.setEnd(e,e.childNodes.length),D.setRng(t)):(t=D.getRng(),t.item||(t.moveToElementText(e),t.select()))},"delete":function(){k("Delete");var e=r.getBody();B.isEmpty(e)&&(r.setContent(""),e.firstChild&&B.isBlock(e.firstChild)?r.selection.setCursorLocation(e.firstChild,0):r.selection.setCursorLocation(e,0))},mceNewDocument:function(){r.setContent("")},InsertLineBreak:function(e,t,n){function i(){for(var e=new a(p,v),t,n=r.schema.getNonEmptyElements();t=e.next();)if(n[t.nodeName.toLowerCase()]||t.length>0)return!0}var s=n,l,c,u,d=D.getRng(!0);new o(B).normalize(d);var f=d.startOffset,p=d.startContainer;if(1==p.nodeType&&p.hasChildNodes()){var g=f>p.childNodes.length-1;p=p.childNodes[Math.min(f,p.childNodes.length-1)]||p,f=g&&3==p.nodeType?p.nodeValue.length:0}var v=B.getParent(p,B.isBlock),y=v?v.nodeName.toUpperCase():"",b=v?B.getParent(v.parentNode,B.isBlock):null,C=b?b.nodeName.toUpperCase():"",x=s&&s.ctrlKey;"LI"!=C||x||(v=b,y=C),p&&3==p.nodeType&&f>=p.nodeValue.length&&(h||i()||(l=B.create("br"),d.insertNode(l),d.setStartAfter(l),d.setEndAfter(l),c=!0)),l=B.create("br"),d.insertNode(l);var w=B.doc.documentMode;return h&&"PRE"==y&&(!w||8>w)&&l.parentNode.insertBefore(B.doc.createTextNode("\r"),l),u=B.create("span",{},"&nbsp;"),l.parentNode.insertBefore(u,l),D.scrollIntoView(u),B.remove(u),c?(d.setStartBefore(l),d.setEndBefore(l)):(d.setStartAfter(l),d.setEndAfter(l)),D.setRng(d),r.undoManager.add(),m}}),C({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(e){var t="align"+e.substring(7),n=D.isCollapsed()?[B.getParent(D.getNode(),B.isBlock)]:D.getSelectedBlocks(),r=c(n,function(e){return!!L.matchNode(e,t)});return-1!==u(r,m)},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){return S(e)},mceBlockQuote:function(){return S("blockquote")},Outdent:function(){var e;if(H.inline_styles){if((e=B.getParent(D.getStart(),B.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return m;if((e=B.getParent(D.getEnd(),B.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return m}return y("InsertUnorderedList")||y("InsertOrderedList")||!H.inline_styles&&!!B.getParent(D.getNode(),"BLOCKQUOTE")},"InsertUnorderedList,InsertOrderedList":function(e){var t=B.getParent(D.getNode(),"ul,ol");return t&&("insertunorderedlist"===e&&"UL"===t.tagName||"insertorderedlist"===e&&"OL"===t.tagName)}},"state"),C({"FontSize,FontName":function(e){var t=0,n;return(n=B.getParent(D.getNode(),"span"))&&(t="fontsize"==e?n.style.fontSize:n.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()),t}},"value"),C({Undo:function(){r.undoManager.undo()},Redo:function(){r.undoManager.redo()}})}}),r(V,[d],function(e){function t(e,o){var a=this,s,l;if(e=r(e),o=a.settings=o||{},s=o.base_uri,/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e))return void(a.source=e);var c=0===e.indexOf("//");0!==e.indexOf("/")||c||(e=(s?s.protocol||"http":"http")+"://mce_host"+e),/^[\w\-]*:?\/\//.test(e)||(l=o.base_uri?o.base_uri.path:new t(location.href).directory,""===o.base_uri.protocol?e="//mce_host"+a.toAbsPath(l,e):(e=/([^#?]*)([#?]?.*)/.exec(e),e=(s&&s.protocol||"http")+"://mce_host"+a.toAbsPath(l,e[1])+e[2])),e=e.replace(/@@/g,"(mce_at)"),e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e),n(i,function(t,n){var r=e[n];r&&(r=r.replace(/\(mce_at\)/g,"@@")),a[t]=r}),s&&(a.protocol||(a.protocol=s.protocol),a.userInfo||(a.userInfo=s.userInfo),a.port||"mce_host"!==a.host||(a.port=s.port),a.host&&"mce_host"!==a.host||(a.host=s.host),a.source=""),c&&(a.protocol="")}var n=e.each,r=e.trim,i="source protocol authority userInfo user password host port relative path directory file query anchor".split(" "),o={ftp:21,http:80,https:443,mailto:25};return t.prototype={setPath:function(e){var t=this;e=/^(.*?)\/?(\w+)?$/.exec(e),t.path=e[0],t.directory=e[1],t.file=e[2],t.source="",t.getURI()},toRelative:function(e){var n=this,r;if("./"===e)return e;if(e=new t(e,{base_uri:n}),"mce_host"!=e.host&&n.host!=e.host&&e.host||n.port!=e.port||n.protocol!=e.protocol&&""!==e.protocol)return e.getURI();var i=n.getURI(),o=e.getURI();return i==o||"/"==i.charAt(i.length-1)&&i.substr(0,i.length-1)==o?i:(r=n.toRelPath(n.path,e.path),e.query&&(r+="?"+e.query),e.anchor&&(r+="#"+e.anchor),r)},toAbsolute:function(e,n){return e=new t(e,{base_uri:this}),e.getURI(n&&this.isSameOrigin(e))},isSameOrigin:function(e){if(this.host==e.host&&this.protocol==e.protocol){if(this.port==e.port)return!0;var t=o[this.protocol];if(t&&(this.port||t)==(e.port||t))return!0}return!1},toRelPath:function(e,t){var n,r=0,i="",o,a;if(e=e.substring(0,e.lastIndexOf("/")),e=e.split("/"),n=t.split("/"),e.length>=n.length)for(o=0,a=e.length;a>o;o++)if(o>=n.length||e[o]!=n[o]){r=o+1;break}if(e.length<n.length)for(o=0,a=n.length;a>o;o++)if(o>=e.length||e[o]!=n[o]){r=o+1;break}if(1===r)return t;for(o=0,a=e.length-(r-1);a>o;o++)i+="../";for(o=r-1,a=n.length;a>o;o++)i+=o!=r-1?"/"+n[o]:n[o];return i},toAbsPath:function(e,t){var r,i=0,o=[],a,s;for(a=/\/$/.test(t)?"/":"",e=e.split("/"),t=t.split("/"),n(e,function(e){e&&o.push(e)}),e=o,r=t.length-1,o=[];r>=0;r--)0!==t[r].length&&"."!==t[r]&&(".."!==t[r]?i>0?i--:o.push(t[r]):i++);return r=e.length-i,s=0>=r?o.reverse().join("/"):e.slice(0,r).join("/")+"/"+o.reverse().join("/"),0!==s.indexOf("/")&&(s="/"+s),a&&s.lastIndexOf("/")!==s.length-1&&(s+=a),s},getURI:function(e){var t,n=this;return(!n.source||e)&&(t="",e||(t+=n.protocol?n.protocol+"://":"//",n.userInfo&&(t+=n.userInfo+"@"),n.host&&(t+=n.host),n.port&&(t+=":"+n.port)),n.path&&(t+=n.path),n.query&&(t+="?"+n.query),n.anchor&&(t+="#"+n.anchor),n.source=t),n.source}},t}),r(U,[d],function(e){function t(){}var n=e.each,r=e.extend,i,o;return t.extend=i=function(e){function t(){var e,t,n,r=this;if(!o&&(r.init&&r.init.apply(r,arguments),t=r.Mixins))for(e=t.length;e--;)n=t[e],n.init&&n.init.apply(r,arguments)}function a(){return this}function s(e,t){return function(){var n=this,r=n._super,i;return n._super=c[e],i=t.apply(n,arguments),n._super=r,i}}var l=this,c=l.prototype,u,d,f;o=!0,u=new l,o=!1,e.Mixins&&(n(e.Mixins,function(t){t=t;for(var n in t)"init"!==n&&(e[n]=t[n])}),c.Mixins&&(e.Mixins=c.Mixins.concat(e.Mixins))),e.Methods&&n(e.Methods.split(","),function(t){e[t]=a}),e.Properties&&n(e.Properties.split(","),function(t){var n="_"+t;e[t]=function(e){var t=this,r;return e!==r?(t[n]=e,t):t[n]}}),e.Statics&&n(e.Statics,function(e,n){t[n]=e}),e.Defaults&&c.Defaults&&(e.Defaults=r({},c.Defaults,e.Defaults));for(d in e)f=e[d],u[d]="function"==typeof f&&c[d]?s(d,f):f;return t.prototype=u,t.constructor=t,t.extend=i,t},t}),r($,[d],function(e){function t(t){function n(){return!1}function r(){return!0}function i(e,i){var o,s,l,c;if(e=e.toLowerCase(),i=i||{},i.type=e,i.target||(i.target=u),i.preventDefault||(i.preventDefault=function(){i.isDefaultPrevented=r},i.stopPropagation=function(){i.isPropagationStopped=r},i.stopImmediatePropagation=function(){i.isImmediatePropagationStopped=r},i.isDefaultPrevented=n,i.isPropagationStopped=n,i.isImmediatePropagationStopped=n),t.beforeFire&&t.beforeFire(i),o=d[e])for(s=0,l=o.length;l>s;s++){if(c=o[s],c.once&&a(e,c.func),i.isImmediatePropagationStopped())return i.stopPropagation(),i;if(c.func.call(u,i)===!1)return i.preventDefault(),i}return i}function o(t,r,i,o){var a,s,l;if(r===!1&&(r=n),r)for(r={func:r},o&&e.extend(r,o),s=t.toLowerCase().split(" "),l=s.length;l--;)t=s[l],a=d[t],a||(a=d[t]=[],f(t,!0)),i?a.unshift(r):a.push(r);return c}function a(e,t){var n,r,i,o,a;if(e)for(o=e.toLowerCase().split(" "),n=o.length;n--;){if(e=o[n],r=d[e],!e){for(i in d)f(i,!1),delete d[i];return c}if(r){if(t)for(a=r.length;a--;)r[a].func===t&&(r=r.slice(0,a).concat(r.slice(a+1)),d[e]=r);else r.length=0;r.length||(f(e,!1),delete d[e])}}else{for(e in d)f(e,!1);d={}}return c}function s(e,t,n){return o(e,t,n,{once:!0})}function l(e){return e=e.toLowerCase(),!(!d[e]||0===d[e].length)}var c=this,u,d={},f;t=t||{},u=t.scope||c,f=t.toggleEvent||n,c.fire=i,c.on=o,c.off=a,c.once=s,c.has=l}var n=e.makeMap("focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchend"," ");return t.isNative=function(e){return!!n[e.toLowerCase()]},t}),r(q,[U],function(e){function t(e){for(var t=[],n=e.length,r;n--;)r=e[n],r.__checked||(t.push(r),r.__checked=1);for(n=t.length;n--;)delete t[n].__checked;return t}var n=/^([\w\\*]+)?(?:#([\w\\]+))?(?:\.([\w\\\.]+))?(?:\[\@?([\w\\]+)([\^\$\*!~]?=)([\w\\]+)\])?(?:\:(.+))?/i,r=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,i=/^\s*|\s*$/g,o,a=e.extend({init:function(e){function t(e){return e?(e=e.toLowerCase(),function(t){return"*"===e||t.type===e}):void 0}function o(e){return e?function(t){return t._name===e}:void 0}function a(e){return e?(e=e.split("."),function(t){for(var n=e.length;n--;)if(!t.hasClass(e[n]))return!1;return!0}):void 0}function s(e,t,n){return e?function(r){var i=r[e]?r[e]():"";return t?"="===t?i===n:"*="===t?i.indexOf(n)>=0:"~="===t?(" "+i+" ").indexOf(" "+n+" ")>=0:"!="===t?i!=n:"^="===t?0===i.indexOf(n):"$="===t?i.substr(i.length-n.length)===n:!1:!!n}:void 0}function l(e){var t;return e?(e=/(?:not\((.+)\))|(.+)/i.exec(e),e[1]?(t=u(e[1],[]),function(e){return!d(e,t)}):(e=e[2],function(t,n,r){return"first"===e?0===n:"last"===e?n===r-1:"even"===e?n%2===0:"odd"===e?n%2===1:t[e]?t[e]():!1})):void 0}function c(e,r,c){function u(e){e&&r.push(e)}var d;return d=n.exec(e.replace(i,"")),u(t(d[1])),u(o(d[2])),u(a(d[3])),u(s(d[4],d[5],d[6])),u(l(d[7])),r.psuedo=!!d[7],r.direct=c,r}function u(e,t){var n=[],i,o,a;do if(r.exec(""),o=r.exec(e),o&&(e=o[3],n.push(o[1]),o[2])){i=o[3];break}while(o);for(i&&u(i,t),e=[],a=0;a<n.length;a++)">"!=n[a]&&e.push(c(n[a],[],">"===n[a-1]));return t.push(e),t}var d=this.match;this._selectors=u(e,[])},match:function(e,t){var n,r,i,o,a,s,l,c,u,d,f,p,h;for(t=t||this._selectors,n=0,r=t.length;r>n;n++){for(a=t[n],o=a.length,h=e,p=0,i=o-1;i>=0;i--)for(c=a[i];h;){if(c.psuedo)for(f=h.parent().items(),u=d=f.length;u--&&f[u]!==h;);for(s=0,l=c.length;l>s;s++)if(!c[s](h,u,d)){s=l+1;break}if(s===l){p++;break}if(i===o-1)break;h=h.parent()}if(p===o)return!0}return!1},find:function(e){function n(e,t,i){var o,a,s,l,c,u=t[i];for(o=0,a=e.length;a>o;o++){for(c=e[o],s=0,l=u.length;l>s;s++)if(!u[s](c,o,a)){s=l+1;break}if(s===l)i==t.length-1?r.push(c):c.items&&n(c.items(),t,i+1);else if(u.direct)return;c.items&&n(c.items(),t,i)}}var r=[],i,s,l=this._selectors;if(e.items){for(i=0,s=l.length;s>i;i++)n(e.items(),l[i],0);s>1&&(r=t(r))}return o||(o=a.Collection),new o(r)}});return a}),r(j,[d,q,U],function(e,t,n){var r,i,o=Array.prototype.push,a=Array.prototype.slice;return i={length:0,init:function(e){e&&this.add(e)},add:function(t){var n=this;return e.isArray(t)?o.apply(n,t):t instanceof r?n.add(t.toArray()):o.call(n,t),n},set:function(e){var t=this,n=t.length,r;for(t.length=0,t.add(e),r=t.length;n>r;r++)delete t[r];return t},filter:function(e){var n=this,i,o,a=[],s,l;for("string"==typeof e?(e=new t(e),l=function(t){return e.match(t)}):l=e,i=0,o=n.length;o>i;i++)s=n[i],l(s)&&a.push(s);return new r(a)},slice:function(){return new r(a.apply(this,arguments))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},each:function(t){return e.each(this,t),this},toArray:function(){return e.toArray(this)},indexOf:function(e){for(var t=this,n=t.length;n--&&t[n]!==e;);return n},reverse:function(){return new r(e.toArray(this).reverse())},hasClass:function(e){return this[0]?this[0].hasClass(e):!1},prop:function(e,t){var n=this,r,i;return t!==r?(n.each(function(n){n[e]&&n[e](t)}),n):(i=n[0],i&&i[e]?i[e]():void 0)},exec:function(t){var n=this,r=e.toArray(arguments).slice(1);return n.each(function(e){e[t]&&e[t].apply(e,r)}),n},remove:function(){for(var e=this.length;e--;)this[e].remove();return this}},e.each("fire on off show hide addClass removeClass append prepend before after reflow".split(" "),function(t){i[t]=function(){var n=e.toArray(arguments);return this.each(function(e){t in e&&e[t].apply(e,n)}),this}}),e.each("text name disabled active selected checked visible parent value data".split(" "),function(e){i[e]=function(t){return this.prop(e,t)}}),r=n.extend(i),t.Collection=r,r}),r(Y,[d,y],function(e,t){var n=0;return{id:function(){return"mceu_"+n++},createFragment:function(e){return t.DOM.createFragment(e)},getWindowSize:function(){return t.DOM.getViewPort()},getSize:function(e){var t,n;if(e.getBoundingClientRect){var r=e.getBoundingClientRect();t=Math.max(r.width||r.right-r.left,e.offsetWidth),n=Math.max(r.height||r.bottom-r.bottom,e.offsetHeight)}else t=e.offsetWidth,n=e.offsetHeight;return{width:t,height:n}},getPos:function(e,n){return t.DOM.getPos(e,n)},getViewPort:function(e){return t.DOM.getViewPort(e)},get:function(e){return document.getElementById(e)},addClass:function(e,n){return t.DOM.addClass(e,n)},removeClass:function(e,n){return t.DOM.removeClass(e,n)},hasClass:function(e,n){return t.DOM.hasClass(e,n)},toggleClass:function(e,n,r){return t.DOM.toggleClass(e,n,r)},css:function(e,n,r){return t.DOM.setStyle(e,n,r)},getRuntimeStyle:function(e,n){return t.DOM.getStyle(e,n,!0)},on:function(e,n,r,i){return t.DOM.bind(e,n,r,i)},off:function(e,n,r){return t.DOM.unbind(e,n,r)},fire:function(e,n,r){return t.DOM.fire(e,n,r)},innerHtml:function(e,n){t.DOM.setHTML(e,n)}}}),r(K,[U,d,$,j,Y],function(e,t,n,r,i){function o(e){return e._eventDispatcher||(e._eventDispatcher=new n({scope:e,toggleEvent:function(t,r){r&&n.isNative(t)&&(e._nativeEvents||(e._nativeEvents={}),e._nativeEvents[t]=!0,e._rendered&&e.bindPendingEvents())}})),e._eventDispatcher}var a="onmousewheel"in document,s=!1,l="mce-",c=e.extend({Statics:{classPrefix:l},isRtl:function(){return c.rtl},classPrefix:l,init:function(e){var n=this,r,o;if(n.settings=e=t.extend({},n.Defaults,e),n._id=e.id||i.id(),n._text=n._name="",n._width=n._height=0,n._aria={role:e.role},this._elmCache={},r=e.classes)for(r=r.split(" "),r.map={},o=r.length;o--;)r.map[r[o]]=!0;n._classes=r||[],n.visible(!0),t.each("title text width height name classes visible disabled active value".split(" "),function(t){var r=e[t],i;r!==i?n[t](r):n["_"+t]===i&&(n["_"+t]=!1)}),n.on("click",function(){return n.disabled()?!1:void 0}),e.classes&&t.each(e.classes.split(" "),function(e){n.addClass(e)}),n.settings=e,n._borderBox=n.parseBox(e.border),n._paddingBox=n.parseBox(e.padding),n._marginBox=n.parseBox(e.margin),e.hidden&&n.hide()},Properties:"parent,title,text,width,height,disabled,active,name,value",Methods:"renderHtml",getContainerElm:function(){return document.body},getParentCtrl:function(e){for(var t,n=this.getRoot().controlIdLookup;e&&n&&!(t=n[e.id]);)e=e.parentNode;return t},parseBox:function(e){var t,n=10;if(e)return"number"==typeof e?(e=e||0,{top:e,left:e,bottom:e,right:e}):(e=e.split(" "),t=e.length,1===t?e[1]=e[2]=e[3]=e[0]:2===t?(e[2]=e[0],e[3]=e[1]):3===t&&(e[3]=e[1]),{top:parseInt(e[0],n)||0,right:parseInt(e[1],n)||0,bottom:parseInt(e[2],n)||0,left:parseInt(e[3],n)||0})},borderBox:function(){return this._borderBox},paddingBox:function(){return this._paddingBox},marginBox:function(){return this._marginBox},measureBox:function(e,t){function n(t){var n=document.defaultView;return n?(t=t.replace(/[A-Z]/g,function(e){return"-"+e}),n.getComputedStyle(e,null).getPropertyValue(t)):e.currentStyle[t]}function r(e){var t=parseFloat(n(e),10);return isNaN(t)?0:t}return{top:r(t+"TopWidth"),right:r(t+"RightWidth"),bottom:r(t+"BottomWidth"),left:r(t+"LeftWidth")}},initLayoutRect:function(){var e=this,t=e.settings,n,r,o=e.getEl(),a,s,l,c,u,d,f,p;n=e._borderBox=e._borderBox||e.measureBox(o,"border"),e._paddingBox=e._paddingBox||e.measureBox(o,"padding"),e._marginBox=e._marginBox||e.measureBox(o,"margin"),p=i.getSize(o),d=t.minWidth,f=t.minHeight,l=d||p.width,c=f||p.height,a=t.width,s=t.height,u=t.autoResize,u="undefined"!=typeof u?u:!a&&!s,a=a||l,s=s||c;var h=n.left+n.right,m=n.top+n.bottom,g=t.maxWidth||65535,v=t.maxHeight||65535;return e._layoutRect=r={x:t.x||0,y:t.y||0,w:a,h:s,deltaW:h,deltaH:m,contentW:a-h,contentH:s-m,innerW:a-h,innerH:s-m,startMinWidth:d||0,startMinHeight:f||0,minW:Math.min(l,g),minH:Math.min(c,v),maxW:g,maxH:v,autoResize:u,scrollW:0},e._lastLayoutRect={},r},layoutRect:function(e){var t=this,n=t._layoutRect,r,i,o,a,s,l;return n||(n=t.initLayoutRect()),e?(o=n.deltaW,a=n.deltaH,e.x!==s&&(n.x=e.x),e.y!==s&&(n.y=e.y),e.minW!==s&&(n.minW=e.minW),e.minH!==s&&(n.minH=e.minH),i=e.w,i!==s&&(i=i<n.minW?n.minW:i,i=i>n.maxW?n.maxW:i,n.w=i,n.innerW=i-o),i=e.h,i!==s&&(i=i<n.minH?n.minH:i,i=i>n.maxH?n.maxH:i,n.h=i,n.innerH=i-a),i=e.innerW,i!==s&&(i=i<n.minW-o?n.minW-o:i,i=i>n.maxW-o?n.maxW-o:i,n.innerW=i,n.w=i+o),i=e.innerH,i!==s&&(i=i<n.minH-a?n.minH-a:i,i=i>n.maxH-a?n.maxH-a:i,n.innerH=i,n.h=i+a),e.contentW!==s&&(n.contentW=e.contentW),e.contentH!==s&&(n.contentH=e.contentH),r=t._lastLayoutRect,(r.x!==n.x||r.y!==n.y||r.w!==n.w||r.h!==n.h)&&(l=c.repaintControls,l&&l.map&&!l.map[t._id]&&(l.push(t),l.map[t._id]=!0),r.x=n.x,r.y=n.y,r.w=n.w,r.h=n.h),t):n},repaint:function(){var e=this,t,n,r,i,o=0,a=0,s,l;l=document.createRange?function(e){return e}:Math.round,t=e.getEl().style,r=e._layoutRect,s=e._lastRepaintRect||{},i=e._borderBox,o=i.left+i.right,a=i.top+i.bottom,r.x!==s.x&&(t.left=l(r.x)+"px",s.x=r.x),r.y!==s.y&&(t.top=l(r.y)+"px",s.y=r.y),r.w!==s.w&&(t.width=l(r.w-o)+"px",s.w=r.w),r.h!==s.h&&(t.height=l(r.h-a)+"px",s.h=r.h),e._hasBody&&r.innerW!==s.innerW&&(n=e.getEl("body").style,n.width=l(r.innerW)+"px",s.innerW=r.innerW),e._hasBody&&r.innerH!==s.innerH&&(n=n||e.getEl("body").style,n.height=l(r.innerH)+"px",s.innerH=r.innerH),e._lastRepaintRect=s,e.fire("repaint",{},!1)},on:function(e,t){function n(e){var t,n;return"string"!=typeof e?e:function(i){return t||r.parentsAndSelf().each(function(r){var i=r.settings.callbacks;return i&&(t=i[e])?(n=r,!1):void 0}),t.call(n,i)}}var r=this;return o(r).on(e,n(t)),r},off:function(e,t){return o(this).off(e,t),this},fire:function(e,t,n){var r=this;if(t=t||{},t.control||(t.control=r),t=o(r).fire(e,t),n!==!1&&r.parent)for(var i=r.parent();i&&!t.isPropagationStopped();)i.fire(e,t,!1),i=i.parent();return t},hasEventListeners:function(e){return o(this).has(e)},parents:function(e){var t=this,n,i=new r;for(n=t.parent();n;n=n.parent())i.add(n);return e&&(i=i.filter(e)),i},parentsAndSelf:function(e){return new r(this).add(this.parents(e))},next:function(){var e=this.parent().items();return e[e.indexOf(this)+1]},prev:function(){var e=this.parent().items();return e[e.indexOf(this)-1]},findCommonAncestor:function(e,t){for(var n;e;){for(n=t;n&&e!=n;)n=n.parent();if(e==n)break;e=e.parent()}return e},hasClass:function(e,t){var n=this._classes[t||"control"];return e=this.classPrefix+e,n&&!!n.map[e]},addClass:function(e,t){var n=this,r,i;return e=this.classPrefix+e,r=n._classes[t||"control"],r||(r=[],r.map={},n._classes[t||"control"]=r),r.map[e]||(r.map[e]=e,r.push(e),n._rendered&&(i=n.getEl(t),i&&(i.className=r.join(" ")))),n},removeClass:function(e,t){var n=this,r,i,o;if(e=this.classPrefix+e,r=n._classes[t||"control"],r&&r.map[e])for(delete r.map[e],i=r.length;i--;)r[i]===e&&r.splice(i,1);return n._rendered&&(o=n.getEl(t),o&&(o.className=r.join(" "))),n},toggleClass:function(e,t,n){var r=this;return t?r.addClass(e,n):r.removeClass(e,n),r},classes:function(e){var t=this._classes[e||"control"];return t?t.join(" "):""},innerHtml:function(e){return i.innerHtml(this.getEl(),e),this},getEl:function(e){var t=e?this._id+"-"+e:this._id;return this._elmCache[t]||(this._elmCache[t]=i.get(t)),this._elmCache[t]},visible:function(e){var t=this,n;return"undefined"!=typeof e?(t._visible!==e&&(t._rendered&&(t.getEl().style.display=e?"":"none"),t._visible=e,n=t.parent(),n&&(n._lastRect=null),t.fire(e?"show":"hide")),t):t._visible},show:function(){return this.visible(!0)},hide:function(){return this.visible(!1)},focus:function(){try{this.getEl().focus()}catch(e){}return this},blur:function(){return this.getEl().blur(),this},aria:function(e,t){var n=this,r=n.getEl(n.ariaTarget);return"undefined"==typeof t?n._aria[e]:(n._aria[e]=t,n._rendered&&r.setAttribute("role"==e?e:"aria-"+e,t),n)},encode:function(e,t){return t!==!1&&(e=this.translate(e)),(e||"").replace(/[&<>"]/g,function(e){return"&#"+e.charCodeAt(0)+";"})},translate:function(e){return c.translate?c.translate(e):e},before:function(e){var t=this,n=t.parent();return n&&n.insert(e,n.items().indexOf(t),!0),t},after:function(e){var t=this,n=t.parent();return n&&n.insert(e,n.items().indexOf(t)),t},remove:function(){var e=this,t=e.getEl(),n=e.parent(),r,o;if(e.items){var a=e.items().toArray();for(o=a.length;o--;)a[o].remove()}n&&n.items&&(r=[],n.items().each(function(t){t!==e&&r.push(t)}),n.items().set(r),n._lastRect=null),e._eventsRoot&&e._eventsRoot==e&&i.off(t);var s=e.getRoot().controlIdLookup;return s&&delete s[e._id],t&&t.parentNode&&t.parentNode.removeChild(t),e._rendered=!1,e},renderBefore:function(e){var t=this;return e.parentNode.insertBefore(i.createFragment(t.renderHtml()),e),t.postRender(),t},renderTo:function(e){var t=this;return e=e||t.getContainerElm(),e.appendChild(i.createFragment(t.renderHtml())),t.postRender(),t},postRender:function(){var e=this,t=e.settings,n,r,o,a,s;for(a in t)0===a.indexOf("on")&&e.on(a.substr(2),t[a]);if(e._eventsRoot){for(o=e.parent();!s&&o;o=o.parent())s=o._eventsRoot;if(s)for(a in s._nativeEvents)e._nativeEvents[a]=!0}e.bindPendingEvents(),t.style&&(n=e.getEl(),n&&(n.setAttribute("style",t.style),n.style.cssText=t.style)),e._visible||i.css(e.getEl(),"display","none"),e.settings.border&&(r=e.borderBox(),i.css(e.getEl(),{"border-top-width":r.top,"border-right-width":r.right,"border-bottom-width":r.bottom,"border-left-width":r.left}));var l=e.getRoot();l.controlIdLookup||(l.controlIdLookup={}),l.controlIdLookup[e._id]=e;for(var c in e._aria)e.aria(c,e._aria[c]);e.fire("postrender",{},!1)},scrollIntoView:function(e){function t(e,t){var n,r,i=e;for(n=r=0;i&&i!=t&&i.nodeType;)n+=i.offsetLeft||0,r+=i.offsetTop||0,i=i.offsetParent;return{x:n,y:r}}var n=this.getEl(),r=n.parentNode,i,o,a,s,l,c,u=t(n,r);return i=u.x,o=u.y,a=n.offsetWidth,s=n.offsetHeight,l=r.clientWidth,c=r.clientHeight,"end"==e?(i-=l-a,o-=c-s):"center"==e&&(i-=l/2-a/2,o-=c/2-s/2),r.scrollLeft=i,r.scrollTop=o,this},bindPendingEvents:function(){function e(e){var t=o.getParentCtrl(e.target);t&&t.fire(e.type,e)}function t(){var e=d._lastHoverCtrl;e&&(e.fire("mouseleave",{target:e.getEl()}),e.parents().each(function(e){e.fire("mouseleave",{target:e.getEl()})}),d._lastHoverCtrl=null)}function n(e){var t=o.getParentCtrl(e.target),n=d._lastHoverCtrl,r=0,i,a,s;if(t!==n){if(d._lastHoverCtrl=t,a=t.parents().toArray().reverse(),a.push(t),n){for(s=n.parents().toArray().reverse(),s.push(n),r=0;r<s.length&&a[r]===s[r];r++);for(i=s.length-1;i>=r;i--)n=s[i],n.fire("mouseleave",{target:n.getEl()})}for(i=r;i<a.length;i++)t=a[i],t.fire("mouseenter",{target:t.getEl()})}}function r(e){e.preventDefault(),"mousewheel"==e.type?(e.deltaY=-1/40*e.wheelDelta,e.wheelDeltaX&&(e.deltaX=-1/40*e.wheelDeltaX)):(e.deltaX=0,e.deltaY=e.detail),e=o.fire("wheel",e)}var o=this,l,c,u,d,f,p;if(o._rendered=!0,f=o._nativeEvents){for(u=o.parents().toArray(),u.unshift(o),l=0,c=u.length;!d&&c>l;l++)d=u[l]._eventsRoot;for(d||(d=u[u.length-1]||o),o._eventsRoot=d,c=l,l=0;c>l;l++)u[l]._eventsRoot=d;var h=d._delegates;h||(h=d._delegates={});for(p in f){if(!f)return!1;"wheel"!==p||s?("mouseenter"===p||"mouseleave"===p?d._hasMouseEnter||(i.on(d.getEl(),"mouseleave",t),i.on(d.getEl(),"mouseover",n),d._hasMouseEnter=1):h[p]||(i.on(d.getEl(),p,e),h[p]=!0),f[p]=!1):a?i.on(o.getEl(),"mousewheel",r):i.on(o.getEl(),"DOMMouseScroll",r)}}},getRoot:function(){for(var e=this,t,n=[];e;){if(e.rootControl){t=e.rootControl;break}n.push(e),t=e,e=e.parent()}t||(t=this);for(var r=n.length;r--;)n[r].rootControl=t;return t},reflow:function(){return this.repaint(),this}});return c}),r(G,[],function(){var e={},t;return{add:function(t,n){e[t.toLowerCase()]=n},has:function(t){return!!e[t.toLowerCase()]},create:function(n,r){var i,o,a;if(!t){a=tinymce.ui;for(o in a)e[o.toLowerCase()]=a[o];t=!0}if("string"==typeof n?(r=r||{},
+r.type=n):(r=n,n=r.type),n=n.toLowerCase(),i=e[n],!i)throw new Error("Could not find control by type: "+n);return i=new i(r),i.type=n,i}}}),r(X,[],function(){return function(e){function t(e){return e=e||b,e&&e.getAttribute("role")}function n(e){for(var n,r=e||b;r=r.parentNode;)if(n=t(r))return n}function r(e){var t=b;return t?t.getAttribute("aria-"+e):void 0}function i(e){var t=e.tagName.toUpperCase();return"INPUT"==t||"TEXTAREA"==t}function o(e){return i(e)&&!e.hidden?!0:/^(button|menuitem|checkbox|tab|menuitemcheckbox|option|gridcell)$/.test(t(e))?!0:!1}function a(e){function t(e){if(1==e.nodeType&&"none"!=e.style.display){o(e)&&n.push(e);for(var r=0;r<e.childNodes.length;r++)t(e.childNodes[r])}}var n=[];return t(e||y.getEl()),n}function s(e){var t,n;e=e||C,n=e.parents().toArray(),n.unshift(e);for(var r=0;r<n.length&&(t=n[r],!t.settings.ariaRoot);r++);return t}function l(e){var t=s(e),n=a(t.getEl());t.settings.ariaRemember&&"lastAriaIndex"in t?c(t.lastAriaIndex,n):c(0,n)}function c(e,t){return 0>e?e=t.length-1:e>=t.length&&(e=0),t[e]&&t[e].focus(),e}function u(e,t){var n=-1,r=s();t=t||a(r.getEl());for(var i=0;i<t.length;i++)t[i]===b&&(n=i);n+=e,r.lastAriaIndex=c(n,t)}function d(){var e=n();"tablist"==e?u(-1,a(b.parentNode)):C.parent().submenu?g():u(-1)}function f(){var e=t(),i=n();"tablist"==i?u(1,a(b.parentNode)):"menuitem"==e&&"menu"==i&&r("haspopup")?v():u(1)}function p(){u(-1)}function h(){var e=t(),i=n();"menuitem"==e&&"menubar"==i?v():"button"==e&&r("haspopup")?v({key:"down"}):u(1)}function m(e){var t=n();if("tablist"==t){var r=a(C.getEl("body"))[0];r&&r.focus()}else u(e.shiftKey?-1:1)}function g(){C.fire("cancel")}function v(e){e=e||{},C.fire("click",{target:b,aria:e})}var y=e.root,b,C;try{b=document.activeElement}catch(x){b=document.body}return C=y.getParentCtrl(b),y.on("keydown",function(e){function t(e,t){i(b)||t(e)!==!1&&e.preventDefault()}if(!e.isDefaultPrevented())switch(e.keyCode){case 37:t(e,d);break;case 39:t(e,f);break;case 38:t(e,p);break;case 40:t(e,h);break;case 27:g();break;case 14:case 13:case 32:t(e,v);break;case 9:m(e)!==!1&&e.preventDefault()}}),y.on("focusin",function(e){b=e.target,C=e.control}),{focusFirst:l}}}),r(J,[K,j,q,G,X,d,Y],function(e,t,n,r,i,o,a){var s={};return e.extend({layout:"",innerClass:"container-inner",init:function(e){var n=this;n._super(e),e=n.settings,n._fixed=e.fixed,n._items=new t,n.isRtl()&&n.addClass("rtl"),n.addClass("container"),n.addClass("container-body","body"),e.containerCls&&n.addClass(e.containerCls),n._layout=r.create((e.layout||n.layout)+"layout"),n.settings.items&&n.add(n.settings.items),n._hasBody=!0},items:function(){return this._items},find:function(e){return e=s[e]=s[e]||new n(e),e.find(this)},add:function(e){var t=this;return t.items().add(t.create(e)).parent(t),t},focus:function(e){var t=this,n,r,i;return e&&(r=t.keyboardNav||t.parents().eq(-1)[0].keyboardNav)?void r.focusFirst(t):(i=t.find("*"),t.statusbar&&i.add(t.statusbar.items()),i.each(function(e){return e.settings.autofocus?(n=null,!1):void(e.canFocus&&(n=n||e))}),n&&n.focus(),t)},replace:function(e,t){for(var n,r=this.items(),i=r.length;i--;)if(r[i]===e){r[i]=t;break}i>=0&&(n=t.getEl(),n&&n.parentNode.removeChild(n),n=e.getEl(),n&&n.parentNode.removeChild(n)),t.parent(this)},create:function(t){var n=this,i,a=[];return o.isArray(t)||(t=[t]),o.each(t,function(t){t&&(t instanceof e||("string"==typeof t&&(t={type:t}),i=o.extend({},n.settings.defaults,t),t.type=i.type=i.type||t.type||n.settings.defaultType||(i.defaults?i.defaults.type:null),t=r.create(i)),a.push(t))}),a},renderNew:function(){var e=this;return e.items().each(function(t,n){var r,i;t.parent(e),t._rendered||(r=e.getEl("body"),i=a.createFragment(t.renderHtml()),r.hasChildNodes()&&n<=r.childNodes.length-1?r.insertBefore(i,r.childNodes[n]):r.appendChild(i),t.postRender())}),e._layout.applyClasses(e),e._lastRect=null,e},append:function(e){return this.add(e).renderNew()},prepend:function(e){var t=this;return t.items().set(t.create(e).concat(t.items().toArray())),t.renderNew()},insert:function(e,t,n){var r=this,i,o,a;return e=r.create(e),i=r.items(),!n&&t<i.length-1&&(t+=1),t>=0&&t<i.length&&(o=i.slice(0,t).toArray(),a=i.slice(t).toArray(),i.set(o.concat(e,a))),r.renderNew()},fromJSON:function(e){var t=this;for(var n in e)t.find("#"+n).value(e[n]);return t},toJSON:function(){var e=this,t={};return e.find("*").each(function(e){var n=e.name(),r=e.value();n&&"undefined"!=typeof r&&(t[n]=r)}),t},preRender:function(){},renderHtml:function(){var e=this,t=e._layout,n=this.settings.role;return e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes()+'"'+(n?' role="'+this.settings.role+'"':"")+'><div id="'+e._id+'-body" class="'+e.classes("body")+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"},postRender:function(){var e=this,t;return e.items().exec("postRender"),e._super(),e._layout.postRender(e),e._rendered=!0,e.settings.style&&a.css(e.getEl(),e.settings.style),e.settings.border&&(t=e.borderBox(),a.css(e.getEl(),{"border-top-width":t.top,"border-right-width":t.right,"border-bottom-width":t.bottom,"border-left-width":t.left})),e.parent()||(e.keyboardNav=new i({root:e})),e},initLayoutRect:function(){var e=this,t=e._super();return e._layout.recalc(e),t},recalc:function(){var e=this,t=e._layoutRect,n=e._lastRect;return n&&n.w==t.w&&n.h==t.h?void 0:(e._layout.recalc(e),t=e.layoutRect(),e._lastRect={x:t.x,y:t.y,w:t.w,h:t.h},!0)},reflow:function(){var t;if(this.visible()){for(e.repaintControls=[],e.repaintControls.map={},this.recalc(),t=e.repaintControls.length;t--;)e.repaintControls[t].repaint();"flow"!==this.settings.layout&&"stack"!==this.settings.layout&&this.repaint(),e.repaintControls=[]}return this}})}),r(Q,[Y],function(e){function t(){var e=document,t,n,r,i,o,a,s,l,c=Math.max;return t=e.documentElement,n=e.body,r=c(t.scrollWidth,n.scrollWidth),i=c(t.clientWidth,n.clientWidth),o=c(t.offsetWidth,n.offsetWidth),a=c(t.scrollHeight,n.scrollHeight),s=c(t.clientHeight,n.clientHeight),l=c(t.offsetHeight,n.offsetHeight),{width:o>r?i:r,height:l>a?s:a}}return function(n,r){function i(){return a.getElementById(r.handle||n)}var o,a=document,s,l,c,u,d,f;r=r||{},l=function(n){var l=t(),p,h;n.preventDefault(),s=n.button,p=i(),d=n.screenX,f=n.screenY,h=window.getComputedStyle?window.getComputedStyle(p,null).getPropertyValue("cursor"):p.runtimeStyle.cursor,o=a.createElement("div"),e.css(o,{position:"absolute",top:0,left:0,width:l.width,height:l.height,zIndex:2147483647,opacity:1e-4,cursor:h}),a.body.appendChild(o),e.on(a,"mousemove",u),e.on(a,"mouseup",c),r.start(n)},u=function(e){return e.button!==s?c(e):(e.deltaX=e.screenX-d,e.deltaY=e.screenY-f,e.preventDefault(),void r.drag(e))},c=function(t){e.off(a,"mousemove",u),e.off(a,"mouseup",c),o.parentNode.removeChild(o),r.stop&&r.stop(t)},this.destroy=function(){e.off(i())},e.on(i(),"mousedown",l)}}),r(Z,[Y,Q],function(e,t){return{init:function(){var e=this;e.on("repaint",e.renderScroll)},renderScroll:function(){function n(){function t(t,a,s,l,c,u){var d,f,p,h,m,g,v,y,b;if(f=i.getEl("scroll"+t)){if(y=a.toLowerCase(),b=s.toLowerCase(),i.getEl("absend")&&e.css(i.getEl("absend"),y,i.layoutRect()[l]-1),!c)return void e.css(f,"display","none");e.css(f,"display","block"),d=i.getEl("body"),p=i.getEl("scroll"+t+"t"),h=d["client"+s]-2*o,h-=n&&r?f["client"+u]:0,m=d["scroll"+s],g=h/m,v={},v[y]=d["offset"+a]+o,v[b]=h,e.css(f,v),v={},v[y]=d["scroll"+a]*g,v[b]=h*g,e.css(p,v)}}var n,r,a;a=i.getEl("body"),n=a.scrollWidth>a.clientWidth,r=a.scrollHeight>a.clientHeight,t("h","Left","Width","contentW",n,"Height"),t("v","Top","Height","contentH",r,"Width")}function r(){function n(n,r,a,s,l){var c,u=i._id+"-scroll"+n,d=i.classPrefix;i.getEl().appendChild(e.createFragment('<div id="'+u+'" class="'+d+"scrollbar "+d+"scrollbar-"+n+'"><div id="'+u+'t" class="'+d+'scrollbar-thumb"></div></div>')),i.draghelper=new t(u+"t",{start:function(){c=i.getEl("body")["scroll"+r],e.addClass(e.get(u),d+"active")},drag:function(e){var t,u,d,f,p=i.layoutRect();u=p.contentW>p.innerW,d=p.contentH>p.innerH,f=i.getEl("body")["client"+a]-2*o,f-=u&&d?i.getEl("scroll"+n)["client"+l]:0,t=f/i.getEl("body")["scroll"+a],i.getEl("body")["scroll"+r]=c+e["delta"+s]/t},stop:function(){e.removeClass(e.get(u),d+"active")}})}i.addClass("scroll"),n("v","Top","Height","Y","Width"),n("h","Left","Width","X","Height")}var i=this,o=2;i.settings.autoScroll&&(i._hasScroll||(i._hasScroll=!0,r(),i.on("wheel",function(e){var t=i.getEl("body");t.scrollLeft+=10*(e.deltaX||0),t.scrollTop+=10*e.deltaY,n()}),e.on(i.getEl("body"),"scroll",n)),n())}}}),r(ee,[J,Z],function(e,t){return e.extend({Defaults:{layout:"fit",containerCls:"panel"},Mixins:[t],renderHtml:function(){var e=this,t=e._layout,n=e.settings.html;return e.preRender(),t.preRender(e),"undefined"==typeof n?n='<div id="'+e._id+'-body" class="'+e.classes("body")+'">'+t.renderHtml(e)+"</div>":("function"==typeof n&&(n=n.call(e)),e._hasBody=!1),'<div id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1" role="group">'+(e._preBodyHtml||"")+n+"</div>"}})}),r(te,[Y],function(e){function t(t,n,r){var i,o,a,s,l,c,u,d,f,p;return f=e.getViewPort(),o=e.getPos(n),a=o.x,s=o.y,t._fixed&&"static"==e.getRuntimeStyle(document.body,"position")&&(a-=f.x,s-=f.y),i=t.getEl(),p=e.getSize(i),l=p.width,c=p.height,p=e.getSize(n),u=p.width,d=p.height,r=(r||"").split(""),"b"===r[0]&&(s+=d),"r"===r[1]&&(a+=u),"c"===r[0]&&(s+=Math.round(d/2)),"c"===r[1]&&(a+=Math.round(u/2)),"b"===r[3]&&(s-=c),"r"===r[4]&&(a-=l),"c"===r[3]&&(s-=Math.round(c/2)),"c"===r[4]&&(a-=Math.round(l/2)),{x:a,y:s,w:l,h:c}}return{testMoveRel:function(n,r){for(var i=e.getViewPort(),o=0;o<r.length;o++){var a=t(this,n,r[o]);if(this._fixed){if(a.x>0&&a.x+a.w<i.w&&a.y>0&&a.y+a.h<i.h)return r[o]}else if(a.x>i.x&&a.x+a.w<i.w+i.x&&a.y>i.y&&a.y+a.h<i.h+i.y)return r[o]}return r[0]},moveRel:function(e,n){"string"!=typeof n&&(n=this.testMoveRel(e,n));var r=t(this,e,n);return this.moveTo(r.x,r.y)},moveBy:function(e,t){var n=this,r=n.layoutRect();return n.moveTo(r.x+e,r.y+t),n},moveTo:function(t,n){function r(e,t,n){return 0>e?0:e+n>t?(e=t-n,0>e?0:e):e}var i=this;if(i.settings.constrainToViewport){var o=e.getViewPort(window),a=i.layoutRect();t=r(t,o.w+o.x,a.w),n=r(n,o.h+o.y,a.h)}return i._rendered?i.layoutRect({x:t,y:n}).repaint():(i.settings.x=t,i.settings.y=n),i.fire("move",{x:t,y:n}),i}}}),r(ne,[Y],function(e){return{resizeToContent:function(){this._layoutRect.autoResize=!0,this._lastRect=null,this.reflow()},resizeTo:function(t,n){if(1>=t||1>=n){var r=e.getWindowSize();t=1>=t?t*r.w:t,n=1>=n?n*r.h:n}return this._layoutRect.autoResize=!1,this.layoutRect({minW:t,minH:n,w:t,h:n}).reflow()},resizeBy:function(e,t){var n=this,r=n.layoutRect();return n.resizeTo(r.w+e,r.h+t)}}}),r(re,[ee,te,ne,Y],function(e,t,n,r){function i(){function e(e,t){for(;e;){if(e==t)return!0;e=e.parent()}}u||(u=function(t){if(2!=t.button)for(var n=p.length;n--;){var r=p[n],i=r.getParentCtrl(t.target);if(r.settings.autohide){if(i&&(e(i,r)||r.parent()===i))continue;t=r.fire("autohide",{target:t.target}),t.isDefaultPrevented()||r.hide()}}},r.on(document,"click",u))}function o(){d||(d=function(){var e;for(e=p.length;e--;)s(p[e])},r.on(window,"scroll",d))}function a(){if(!f){var e=document.documentElement,t=e.clientWidth,n=e.clientHeight;f=function(){document.all&&t==e.clientWidth&&n==e.clientHeight||(t=e.clientWidth,n=e.clientHeight,g.hideAll())},r.on(window,"resize",f)}}function s(e){function t(t,n){for(var r,i=0;i<p.length;i++)if(p[i]!=e)for(r=p[i].parent();r&&(r=r.parent());)r==e&&p[i].fixed(t).moveBy(0,n).repaint()}var n=r.getViewPort().y;e.settings.autofix&&(e._fixed?e._autoFixY>n&&(e.fixed(!1).layoutRect({y:e._autoFixY}).repaint(),t(!1,e._autoFixY-n)):(e._autoFixY=e.layoutRect().y,e._autoFixY<n&&(e.fixed(!0).layoutRect({y:0}).repaint(),t(!0,n-e._autoFixY))))}function l(e,t){var n,i=g.zIndex||65535,o;if(e)h.push(t);else for(n=h.length;n--;)h[n]===t&&h.splice(n,1);if(h.length)for(n=0;n<h.length;n++)h[n].modal&&(i++,o=h[n]),h[n].getEl().style.zIndex=i,h[n].zIndex=i,i++;var a=document.getElementById(t.classPrefix+"modal-block");o?r.css(a,"z-index",o.zIndex-1):a&&(a.parentNode.removeChild(a),m=!1),g.currentZIndex=i}function c(e){var t;for(t=p.length;t--;)p[t]===e&&p.splice(t,1);for(t=h.length;t--;)h[t]===e&&h.splice(t,1)}var u,d,f,p=[],h=[],m,g=e.extend({Mixins:[t,n],init:function(e){var t=this;t._super(e),t._eventsRoot=t,t.addClass("floatpanel"),e.autohide&&(i(),a(),p.push(t)),e.autofix&&(o(),t.on("move",function(){s(this)})),t.on("postrender show",function(e){if(e.control==t){var n,i=t.classPrefix;t.modal&&!m&&(n=r.createFragment('<div id="'+i+'modal-block" class="'+i+"reset "+i+'fade"></div>'),n=n.firstChild,t.getContainerElm().appendChild(n),setTimeout(function(){r.addClass(n,i+"in"),r.addClass(t.getEl(),i+"in")},0),m=!0),l(!0,t)}}),t.on("show",function(){t.parents().each(function(e){return e._fixed?(t.fixed(!0),!1):void 0})}),e.popover&&(t._preBodyHtml='<div class="'+t.classPrefix+'arrow"></div>',t.addClass("popover").addClass("bottom").addClass(t.isRtl()?"end":"start"))},fixed:function(e){var t=this;if(t._fixed!=e){if(t._rendered){var n=r.getViewPort();e?t.layoutRect().y-=n.y:t.layoutRect().y+=n.y}t.toggleClass("fixed",e),t._fixed=e}return t},show:function(){var e=this,t,n=e._super();for(t=p.length;t--&&p[t]!==e;);return-1===t&&p.push(e),n},hide:function(){return c(this),l(!1,this),this._super()},hideAll:function(){g.hideAll()},close:function(){var e=this;return e.fire("close").isDefaultPrevented()||(e.remove(),l(!1,e)),e},remove:function(){c(this),this._super()},postRender:function(){var e=this;return e.settings.bodyRole&&this.getEl("body").setAttribute("role",e.settings.bodyRole),e._super()}});return g.hideAll=function(){for(var e=p.length;e--;){var t=p[e];t&&t.settings.autohide&&(t.hide(),p.splice(e,1))}},g}),r(ie,[re,ee,Y,Q],function(e,t,n,r){var i=e.extend({modal:!0,Defaults:{border:1,layout:"flex",containerCls:"panel",role:"dialog",callbacks:{submit:function(){this.fire("submit",{data:this.toJSON()})},close:function(){this.close()}}},init:function(e){var n=this;n._super(e),n.isRtl()&&n.addClass("rtl"),n.addClass("window"),n._fixed=!0,e.buttons&&(n.statusbar=new t({layout:"flex",border:"1 0 0 0",spacing:3,padding:10,align:"center",pack:n.isRtl()?"start":"end",defaults:{type:"button"},items:e.buttons}),n.statusbar.addClass("foot"),n.statusbar.parent(n)),n.on("click",function(e){-1!=e.target.className.indexOf(n.classPrefix+"close")&&n.close()}),n.on("cancel",function(){n.close()}),n.aria("describedby",n.describedBy||n._id+"-none"),n.aria("label",e.title),n._fullscreen=!1},recalc:function(){var e=this,t=e.statusbar,r,i,o,a;e._fullscreen&&(e.layoutRect(n.getWindowSize()),e.layoutRect().contentH=e.layoutRect().innerH),e._super(),r=e.layoutRect(),e.settings.title&&!e._fullscreen&&(i=r.headerW,i>r.w&&(o=r.x-Math.max(0,i/2),e.layoutRect({w:i,x:o}),a=!0)),t&&(t.layoutRect({w:e.layoutRect().innerW}).recalc(),i=t.layoutRect().minW+r.deltaW,i>r.w&&(o=r.x-Math.max(0,i-r.w),e.layoutRect({w:i,x:o}),a=!0)),a&&e.recalc()},initLayoutRect:function(){var e=this,t=e._super(),r=0,i;if(e.settings.title&&!e._fullscreen){i=e.getEl("head");var o=n.getSize(i);t.headerW=o.width,t.headerH=o.height,r+=t.headerH}e.statusbar&&(r+=e.statusbar.layoutRect().h),t.deltaH+=r,t.minH+=r,t.h+=r;var a=n.getWindowSize();return t.x=Math.max(0,a.w/2-t.w/2),t.y=Math.max(0,a.h/2-t.h/2),t},renderHtml:function(){var e=this,t=e._layout,n=e._id,r=e.classPrefix,i=e.settings,o="",a="",s=i.html;return e.preRender(),t.preRender(e),i.title&&(o='<div id="'+n+'-head" class="'+r+'window-head"><div id="'+n+'-title" class="'+r+'title">'+e.encode(i.title)+'</div><button type="button" class="'+r+'close" aria-hidden="true">\xd7</button><div id="'+n+'-dragh" class="'+r+'dragh"></div></div>'),i.url&&(s='<iframe src="'+i.url+'" tabindex="-1"></iframe>'),"undefined"==typeof s&&(s=t.renderHtml(e)),e.statusbar&&(a=e.statusbar.renderHtml()),'<div id="'+n+'" class="'+e.classes()+'" hidefocus="1"><div class="'+e.classPrefix+'reset" role="application">'+o+'<div id="'+n+'-body" class="'+e.classes("body")+'">'+s+"</div>"+a+"</div></div>"},fullscreen:function(e){var t=this,r=document.documentElement,i,o=t.classPrefix,a;if(e!=t._fullscreen)if(n.on(window,"resize",function(){var e;if(t._fullscreen)if(i)t._timer||(t._timer=setTimeout(function(){var e=n.getWindowSize();t.moveTo(0,0).resizeTo(e.w,e.h),t._timer=0},50));else{e=(new Date).getTime();var r=n.getWindowSize();t.moveTo(0,0).resizeTo(r.w,r.h),(new Date).getTime()-e>50&&(i=!0)}}),a=t.layoutRect(),t._fullscreen=e,e){t._initial={x:a.x,y:a.y,w:a.w,h:a.h},t._borderBox=t.parseBox("0"),t.getEl("head").style.display="none",a.deltaH-=a.headerH+2,n.addClass(r,o+"fullscreen"),n.addClass(document.body,o+"fullscreen"),t.addClass("fullscreen");var s=n.getWindowSize();t.moveTo(0,0).resizeTo(s.w,s.h)}else t._borderBox=t.parseBox(t.settings.border),t.getEl("head").style.display="",a.deltaH+=a.headerH,n.removeClass(r,o+"fullscreen"),n.removeClass(document.body,o+"fullscreen"),t.removeClass("fullscreen"),t.moveTo(t._initial.x,t._initial.y).resizeTo(t._initial.w,t._initial.h);return t.reflow()},postRender:function(){var e=this,t;setTimeout(function(){e.addClass("in")},0),e._super(),e.statusbar&&e.statusbar.postRender(),e.focus(),this.dragHelper=new r(e._id+"-dragh",{start:function(){t={x:e.layoutRect().x,y:e.layoutRect().y}},drag:function(n){e.moveTo(t.x+n.deltaX,t.y+n.deltaY)}}),e.on("submit",function(t){t.isDefaultPrevented()||e.close()})},submit:function(){return this.fire("submit",{data:this.toJSON()})},remove:function(){var e=this,t=e.classPrefix;e.dragHelper.destroy(),e._super(),e.statusbar&&this.statusbar.remove(),e._fullscreen&&(n.removeClass(document.documentElement,t+"fullscreen"),n.removeClass(document.body,t+"fullscreen"))},getContentWindow:function(){var e=this.getEl().getElementsByTagName("iframe")[0];return e?e.contentWindow:null}});return i}),r(oe,[ie],function(e){var t=e.extend({init:function(e){e={border:1,padding:20,layout:"flex",pack:"center",align:"center",containerCls:"panel",autoScroll:!0,buttons:{type:"button",text:"Ok",action:"ok"},items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200}},this._super(e)},Statics:{OK:1,OK_CANCEL:2,YES_NO:3,YES_NO_CANCEL:4,msgBox:function(n){function r(e,t,n){return{type:"button",text:e,subtype:n?"primary":"",onClick:function(e){e.control.parents()[1].close(),o(t)}}}var i,o=n.callback||function(){};switch(n.buttons){case t.OK_CANCEL:i=[r("Ok",!0,!0),r("Cancel",!1)];break;case t.YES_NO:case t.YES_NO_CANCEL:i=[r("Yes",1,!0),r("No",0)],n.buttons==t.YES_NO_CANCEL&&i.push(r("Cancel",-1));break;default:i=[r("Ok",!0,!0)]}return new e({padding:20,x:n.x,y:n.y,minWidth:300,minHeight:100,layout:"flex",pack:"center",align:"center",buttons:i,title:n.title,role:"alertdialog",items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200,text:n.text},onPostRender:function(){this.aria("describedby",this.items()[0]._id)},onClose:n.onClose,onCancel:function(){o(!1)}}).renderTo(document.body).reflow()},alert:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,t.msgBox(e)},confirm:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,e.buttons=t.OK_CANCEL,t.msgBox(e)}}});return t}),r(ae,[ie,oe],function(e,t){return function(n){function r(){return o.length?o[o.length-1]:void 0}var i=this,o=[];i.windows=o,n.on("remove",function(){for(var e=o.length;e--;)o[e].close()}),i.open=function(t,r){var i;return n.editorManager.setActive(n),t.title=t.title||" ",t.url=t.url||t.file,t.url&&(t.width=parseInt(t.width||320,10),t.height=parseInt(t.height||240,10)),t.body&&(t.items={defaults:t.defaults,type:t.bodyType||"form",items:t.body}),t.url||t.buttons||(t.buttons=[{text:"Ok",subtype:"primary",onclick:function(){i.find("form")[0].submit()}},{text:"Cancel",onclick:function(){i.close()}}]),i=new e(t),o.push(i),i.on("close",function(){for(var e=o.length;e--;)o[e]===i&&o.splice(e,1);o.length||n.focus()}),t.data&&i.on("postRender",function(){this.find("*").each(function(e){var n=e.name();n in t.data&&e.value(t.data[n])})}),i.features=t||{},i.params=r||{},1===o.length&&n.nodeChanged(),i.renderTo().reflow()},i.alert=function(e,r,i){t.alert(e,function(){r?r.call(i||this):n.focus()})},i.confirm=function(e,n,r){t.confirm(e,function(e){n.call(r||this,e)})},i.close=function(){r()&&r().close()},i.getParams=function(){return r()?r().params:null},i.setParams=function(e){r()&&(r().params=e)},i.getWindows=function(){return o}}}),r(se,[B,x,h,_,g,u,d],function(e,t,n,r,i,o,a){return function(s){function l(e,t){try{s.getDoc().execCommand(e,!1,t)}catch(n){}}function c(){var e=s.getDoc().documentMode;return e?e:6}function u(e){return e.isDefaultPrevented()}function d(e){var t;e.dataTransfer&&(s.selection.isCollapsed()&&"IMG"==e.target.tagName&&Q.select(e.target),t=s.selection.getContent(),t.length>0&&e.dataTransfer.setData(ae,oe+escape(t)))}function f(e){var t,n;return e.dataTransfer&&(t=e.dataTransfer.getData(ae),t&&t.indexOf(oe)>=0&&(n=unescape(t.substr(oe.length)))),n}function p(e){s.queryCommandSupported("mceInsertClipboardContent")?s.execCommand("mceInsertClipboardContent",!1,{content:e}):s.execCommand("mceInsertContent",!1,e)}function h(){function r(e){var t=v.schema.getBlockElements(),n=s.getBody();if("BR"!=e.nodeName)return!1;for(e=e;e!=n&&!t[e.nodeName];e=e.parentNode)if(e.nextSibling)return!1;return!0}function i(e,t){var n;for(n=e.nextSibling;n&&n!=t;n=n.nextSibling)if((3!=n.nodeType||0!==K.trim(n.data).length)&&n!==t)return!1;return n===t}function o(e,t,i){var o,a,s;for(s=v.schema.getNonEmptyElements(),o=new n(i||e,e);a=o[t?"next":"prev"]();){if(s[a.nodeName]&&!r(a))return a;if(3==a.nodeType&&a.data.length>0)return a}}function l(e){var n,r,i,a,l;if(!e.collapsed&&(n=v.getParent(t.getNode(e.startContainer,e.startOffset),v.isBlock),r=v.getParent(t.getNode(e.endContainer,e.endOffset),v.isBlock),l=s.schema.getTextBlockElements(),n!=r&&l[n.nodeName]&&l[r.nodeName]&&"false"!==v.getContentEditable(n)&&"false"!==v.getContentEditable(r)))return e.deleteContents(),i=o(n,!1),a=o(r,!0),v.isEmpty(r)||K(n).append(r.childNodes),K(r).remove(),i?1==i.nodeType?"BR"==i.nodeName?(e.setStartBefore(i),e.setEndBefore(i)):(e.setStartAfter(i),e.setEndAfter(i)):(e.setStart(i,i.data.length),e.setEnd(i,i.data.length)):a&&(1==a.nodeType?(e.setStartBefore(a),e.setEndBefore(a)):(e.setStart(a,0),e.setEnd(a,0))),y.setRng(e),!0}function c(e,n){var r,a,l,c,u,d;if(!e.collapsed)return e;if(u=e.startContainer,d=e.startOffset,3==u.nodeType)if(n){if(d<u.data.length)return e}else if(d>0)return e;if(r=t.getNode(e.startContainer,e.startOffset),l=v.getParent(r,v.isBlock),a=o(s.getBody(),n,r),c=v.getParent(a,v.isBlock),!r||!a)return e;if(c&&l!=c)if(n){if(!i(l,c))return e;1==r.nodeType?"BR"==r.nodeName?e.setStartBefore(r):e.setStartAfter(r):e.setStart(r,r.data.length),1==a.nodeType?e.setEnd(a,0):e.setEndBefore(a)}else{if(!i(c,l))return e;1==a.nodeType?"BR"==a.nodeName?e.setStartBefore(a):e.setStartAfter(a):e.setStart(a,a.data.length),1==r.nodeType?e.setEnd(r,0):e.setEndBefore(r)}return e}function h(e){var t=y.getRng();return t=c(t,e),l(t)?!0:void 0}function m(e){var t,n,r;h(e)||(a.each(s.getBody().getElementsByTagName("*"),function(e){"SPAN"==e.tagName&&e.setAttribute("mce-data-marked",1),!e.hasAttribute("data-mce-style")&&e.hasAttribute("style")&&s.dom.setAttrib(e,"style",s.dom.getAttrib(e,"style"))}),t=new b(function(){}),t.observe(s.getDoc(),{childList:!0,attributes:!0,subtree:!0,attributeFilter:["style"]}),s.getDoc().execCommand(e?"ForwardDelete":"Delete",!1,null),n=s.selection.getRng(),r=n.startContainer.parentNode,a.each(t.takeRecords(),function(e){if(v.isChildOf(e.target,s.getBody())){if("style"==e.attributeName){var t=e.target.getAttribute("data-mce-style");t?e.target.setAttribute("style",t):e.target.removeAttribute("style")}a.each(e.addedNodes,function(e){if("SPAN"==e.nodeName&&!e.getAttribute("mce-data-marked")){var t,i;e==r&&(t=n.startOffset,i=e.firstChild),v.remove(e,!0),i&&(n.setStart(i,t),n.setEnd(i,t),s.selection.setRng(n))}})}}),t.disconnect(),a.each(s.dom.select("span[mce-data-marked]"),function(e){e.removeAttribute("mce-data-marked")}))}var g=s.getDoc(),v=s.dom,y=s.selection,b=window.MutationObserver,C,x;b||(C=!0,b=function(){function e(e){var t=e.relatedNode||e.target;n.push({target:t,addedNodes:[t]})}function t(e){var t=e.relatedNode||e.target;n.push({target:t,attributeName:e.attrName})}var n=[],r;this.observe=function(n){r=n,r.addEventListener("DOMSubtreeModified",e,!1),r.addEventListener("DOMNodeInsertedIntoDocument",e,!1),r.addEventListener("DOMNodeInserted",e,!1),r.addEventListener("DOMAttrModified",t,!1)},this.disconnect=function(){r.removeEventListener("DOMSubtreeModified",e,!1),r.removeEventListener("DOMNodeInsertedIntoDocument",e,!1),r.removeEventListener("DOMNodeInserted",e,!1),r.removeEventListener("DOMAttrModified",t,!1)},this.takeRecords=function(){return n}}),s.on("keydown",function(e){var t=e.keyCode==X,n=e.ctrlKey||e.metaKey;if(!u(e)&&(t||e.keyCode==G)){var r=s.selection.getRng(),i=r.startContainer,o=r.startOffset;if(!n&&r.collapsed&&3==i.nodeType&&(t?o<i.data.length:o>0))return;e.preventDefault(),n&&s.selection.getSel().modify("extend",t?"forward":"backward",e.metaKey?"lineboundary":"word"),m(t)}}),s.on("keypress",function(t){if(!u(t)&&!y.isCollapsed()&&t.charCode&&!e.metaKeyPressed(t)){var n,r,i,o,a,l;n=s.selection.getRng(),l=String.fromCharCode(t.charCode),t.preventDefault(),r=K(n.startContainer).parents().filter(function(e,t){return!!s.schema.getTextInlineElements()[t.nodeName]}),m(!0),r=r.filter(function(e,t){return!K.contains(s.getBody(),t)}),r.length?(i=v.createFragment(),r.each(function(e,t){t=t.cloneNode(!1),i.hasChildNodes()?(t.appendChild(i.firstChild),i.appendChild(t)):(a=t,i.appendChild(t)),i.appendChild(t)}),a.appendChild(s.getDoc().createTextNode(l)),o=v.getParent(n.startContainer,v.isBlock),v.isEmpty(o)?K(o).empty().append(i):n.insertNode(i),n.setStart(a.firstChild,1),n.setEnd(a.firstChild,1),s.selection.setRng(n)):s.selection.setContent(l)}}),s.addCommand("Delete",function(){m()}),s.addCommand("ForwardDelete",function(){m(!0)}),C||(s.on("dragstart",function(e){x=y.getRng(),d(e)}),s.on("drop",function(e){if(!u(e)){var n=f(e);n&&(e.preventDefault(),window.setTimeout(function(){var r=t.getCaretRangeFromPoint(e.x,e.y,g);x&&(y.setRng(x),x=null),m(),y.setRng(r),p(n)},0))}}),s.on("cut",function(e){!u(e)&&e.clipboardData&&(e.preventDefault(),e.clipboardData.clearData(),e.clipboardData.setData("text/html",s.selection.getContent()),e.clipboardData.setData("text/plain",s.selection.getContent({format:"text"})),m(!0))}))}function m(){function e(e){var t=J.create("body"),n=e.cloneContents();return t.appendChild(n),Q.serializer.serialize(t,{format:"html"})}function n(n){if(!n.setStart){if(n.item)return!1;var r=n.duplicate();return r.moveToElementText(s.getBody()),t.compareRanges(n,r)}var i=e(n),o=J.createRng();o.selectNode(s.getBody());var a=e(o);return i===a}s.on("keydown",function(e){var t=e.keyCode,r,i;if(!u(e)&&(t==X||t==G)){if(r=s.selection.isCollapsed(),i=s.getBody(),r&&!J.isEmpty(i))return;if(!r&&!n(s.selection.getRng()))return;e.preventDefault(),s.setContent(""),i.firstChild&&J.isBlock(i.firstChild)?s.selection.setCursorLocation(i.firstChild,0):s.selection.setCursorLocation(i,0),s.nodeChanged()}})}function g(){s.shortcuts.add("meta+a",null,"SelectAll")}function v(){s.settings.content_editable||(J.bind(s.getDoc(),"focusin",function(){Q.setRng(Q.getRng())}),J.bind(s.getDoc(),"mousedown mouseup",function(e){e.target==s.getDoc().documentElement&&(s.getBody().focus(),"mousedown"==e.type?Q.placeCaretAt(e.clientX,e.clientY):Q.setRng(Q.getRng()))}))}function y(){s.on("keydown",function(e){if(!u(e)&&e.keyCode===G){if(!s.getBody().getElementsByTagName("hr").length)return;if(Q.isCollapsed()&&0===Q.getRng(!0).startOffset){var t=Q.getNode(),n=t.previousSibling;if("HR"==t.nodeName)return J.remove(t),void e.preventDefault();n&&n.nodeName&&"hr"===n.nodeName.toLowerCase()&&(J.remove(n),e.preventDefault())}}})}function b(){window.Range.prototype.getClientRects||s.on("mousedown",function(e){if(!u(e)&&"HTML"===e.target.nodeName){var t=s.getBody();t.blur(),setTimeout(function(){t.focus()},0)}})}function C(){s.on("click",function(e){var t=e.target;/^(IMG|HR)$/.test(t.nodeName)&&(e.preventDefault(),Q.getSel().setBaseAndExtent(t,0,t,1),s.nodeChanged()),"A"==t.nodeName&&J.hasClass(t,"mce-item-anchor")&&(e.preventDefault(),Q.select(t))})}function x(){function e(){var e=J.getAttribs(Q.getStart().cloneNode(!1));return function(){var t=Q.getStart();t!==s.getBody()&&(J.setAttrib(t,"style",null),Y(e,function(e){t.setAttributeNode(e.cloneNode(!0))}))}}function t(){return!Q.isCollapsed()&&J.getParent(Q.getStart(),J.isBlock)!=J.getParent(Q.getEnd(),J.isBlock)}s.on("keypress",function(n){var r;return u(n)||8!=n.keyCode&&46!=n.keyCode||!t()?void 0:(r=e(),s.getDoc().execCommand("delete",!1,null),r(),n.preventDefault(),!1)}),J.bind(s.getDoc(),"cut",function(n){var r;!u(n)&&t()&&(r=e(),setTimeout(function(){r()},0))})}function w(){document.body.setAttribute("role","application")}function _(){s.on("keydown",function(e){if(!u(e)&&e.keyCode===G&&Q.isCollapsed()&&0===Q.getRng(!0).startOffset){var t=Q.getNode().previousSibling;if(t&&t.nodeName&&"table"===t.nodeName.toLowerCase())return e.preventDefault(),!1}})}function E(){c()>7||(l("RespectVisibilityInDesign",!0),s.contentStyles.push(".mceHideBrInPre pre br {display: none}"),J.addClass(s.getBody(),"mceHideBrInPre"),ee.addNodeFilter("pre",function(e){for(var t=e.length,n,i,o,a;t--;)for(n=e[t].getAll("br"),i=n.length;i--;)o=n[i],a=o.prev,a&&3===a.type&&"\n"!=a.value.charAt(a.value-1)?a.value+="\n":o.parent.insert(new r("#text",3),o,!0).value="\n"}),te.addNodeFilter("pre",function(e){for(var t=e.length,n,r,i,o;t--;)for(n=e[t].getAll("br"),r=n.length;r--;)i=n[r],o=i.prev,o&&3==o.type&&(o.value=o.value.replace(/\r?\n$/,""))}))}function N(){J.bind(s.getBody(),"mouseup",function(){var e,t=Q.getNode();"IMG"==t.nodeName&&((e=J.getStyle(t,"width"))&&(J.setAttrib(t,"width",e.replace(/[^0-9%]+/g,"")),J.setStyle(t,"width","")),(e=J.getStyle(t,"height"))&&(J.setAttrib(t,"height",e.replace(/[^0-9%]+/g,"")),J.setStyle(t,"height","")))})}function k(){s.on("keydown",function(t){var n,r,i,o,a;if(!u(t)&&t.keyCode==e.BACKSPACE&&(n=Q.getRng(),r=n.startContainer,i=n.startOffset,o=J.getRoot(),a=r,n.collapsed&&0===i)){for(;a&&a.parentNode&&a.parentNode.firstChild==a&&a.parentNode!=o;)a=a.parentNode;"BLOCKQUOTE"===a.tagName&&(s.formatter.toggle("blockquote",null,a),n=J.createRng(),n.setStart(r,0),n.setEnd(r,0),Q.setRng(n))}})}function S(){function e(){s._refreshContentEditable(),l("StyleWithCSS",!1),l("enableInlineTableEditing",!1),Z.object_resizing||l("enableObjectResizing",!1)}Z.readonly||s.on("BeforeExecCommand MouseDown",e)}function T(){function e(){Y(J.select("a"),function(e){var t=e.parentNode,n=J.getRoot();if(t.lastChild===e){for(;t&&!J.isBlock(t);){if(t.parentNode.lastChild!==t||t===n)return;t=t.parentNode}J.add(t,"br",{"data-mce-bogus":1})}})}s.on("SetContent ExecCommand",function(t){("setcontent"==t.type||"mceInsertLink"===t.command)&&e()})}function R(){Z.forced_root_block&&s.on("init",function(){l("DefaultParagraphSeparator",Z.forced_root_block)})}function A(){s.on("Undo Redo SetContent",function(e){e.initial||s.execCommand("mceRepaint")})}function B(){s.on("keydown",function(e){var t;u(e)||e.keyCode!=G||(t=s.getDoc().selection.createRange(),t&&t.item&&(e.preventDefault(),s.undoManager.beforeChange(),J.remove(t.item(0)),s.undoManager.add()))})}function D(){var e;c()>=10&&(e="",Y("p div h1 h2 h3 h4 h5 h6".split(" "),function(t,n){e+=(n>0?",":"")+t+":empty"}),s.contentStyles.push(e+"{padding-right: 1px !important}"))}function L(){c()<9&&(ee.addNodeFilter("noscript",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.firstChild,r&&n.attr("data-mce-innertext",r.value)}),te.addNodeFilter("noscript",function(e){for(var t=e.length,n,o,a;t--;)n=e[t],o=e[t].firstChild,o?o.value=i.decode(o.value):(a=n.attributes.map["data-mce-innertext"],a&&(n.attr("data-mce-innertext",null),
+o=new r("#text",3),o.value=a,o.raw=!0,n.append(o)))}))}function M(){function e(e,t){var n=i.createTextRange();try{n.moveToPoint(e,t)}catch(r){n=null}return n}function t(t){var r;t.button?(r=e(t.x,t.y),r&&(r.compareEndPoints("StartToStart",a)>0?r.setEndPoint("StartToStart",a):r.setEndPoint("EndToEnd",a),r.select())):n()}function n(){var e=r.selection.createRange();a&&!e.item&&0===e.compareEndPoints("StartToEnd",e)&&a.select(),J.unbind(r,"mouseup",n),J.unbind(r,"mousemove",t),a=o=0}var r=J.doc,i=r.body,o,a,s;r.documentElement.unselectable=!0,J.bind(r,"mousedown contextmenu",function(i){if("HTML"===i.target.nodeName){if(o&&n(),s=r.documentElement,s.scrollHeight>s.clientHeight)return;o=1,a=e(i.x,i.y),a&&(J.bind(r,"mouseup",n),J.bind(r,"mousemove",t),J.getRoot().focus(),a.select())}})}function H(){s.on("keyup focusin mouseup",function(t){65==t.keyCode&&e.metaKeyPressed(t)||Q.normalize()},!0)}function P(){s.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}")}function O(){s.inline||s.on("keydown",function(){document.activeElement==document.body&&s.getWin().focus()})}function I(){s.inline||(s.contentStyles.push("body {min-height: 150px}"),s.on("click",function(e){if("HTML"==e.target.nodeName){var t;t=s.selection.getRng(),s.getBody().focus(),s.selection.setRng(t),s.selection.normalize(),s.nodeChanged()}}))}function F(){o.mac&&s.on("keydown",function(t){!e.metaKeyPressed(t)||37!=t.keyCode&&39!=t.keyCode||(t.preventDefault(),s.selection.getSel().modify("move",37==t.keyCode?"backward":"forward","word"))})}function z(){l("AutoUrlDetect",!1)}function W(){s.inline||s.on("focus blur beforegetcontent",function(){var e=s.dom.create("br");s.getBody().appendChild(e),e.parentNode.removeChild(e)},!0)}function V(){s.on("click",function(e){var t=e.target;do if("A"===t.tagName)return void e.preventDefault();while(t=t.parentNode)}),s.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")}function U(){s.on("touchstart",function(e){var t,n,r,i;t=e.target,n=(new Date).getTime(),i=e.changedTouches,!i||i.length>1||(r=i[0],s.once("touchend",function(e){var i=e.changedTouches[0],o;(new Date).getTime()-n>500||Math.abs(r.clientX-i.clientX)>5||Math.abs(r.clientY-i.clientY)>5||(o={target:t},Y("pageX pageY clientX clientY screenX screenY".split(" "),function(e){o[e]=i[e]}),o=s.fire("click",o),o.isDefaultPrevented()||(s.selection.placeCaretAt(i.clientX,i.clientY),s.nodeChanged()))}))})}function $(){s.on("init",function(){s.dom.bind(s.getBody(),"submit",function(e){e.preventDefault()})})}function q(){ee.addNodeFilter("br",function(e){for(var t=e.length;t--;)"Apple-interchange-newline"==e[t].attr("class")&&e[t].remove()})}function j(){s.on("dragstart",function(e){d(e)}),s.on("drop",function(e){if(!u(e)){var n=f(e);if(n){e.preventDefault();var r=t.getCaretRangeFromPoint(e.x,e.y,s.getDoc());Q.setRng(r),p(n)}}})}var Y=a.each,K=s.$,G=e.BACKSPACE,X=e.DELETE,J=s.dom,Q=s.selection,Z=s.settings,ee=s.parser,te=s.serializer,ne=o.gecko,re=o.ie,ie=o.webkit,oe="data:text/mce-internal,",ae=re?"Text":"URL";k(),m(),H(),ie&&(h(),v(),C(),R(),$(),_(),q(),U(),o.iOS?(O(),I(),V()):g()),re&&o.ie<11&&(y(),w(),E(),N(),B(),D(),L(),M()),o.ie>=11&&(I(),W(),_()),o.ie&&(g(),z(),j()),ne&&(y(),b(),x(),S(),T(),A(),P(),F(),_())}}),r(le,[$],function(e){function t(t){return t._eventDispatcher||(t._eventDispatcher=new e({scope:t,toggleEvent:function(n,r){e.isNative(n)&&t.toggleNativeEvent&&t.toggleNativeEvent(n,r)}})),t._eventDispatcher}return{fire:function(e,n,r){var i=this;if(i.removed&&"remove"!==e)return n;if(n=t(i).fire(e,n,r),r!==!1&&i.parent)for(var o=i.parent();o&&!n.isPropagationStopped();)o.fire(e,n,!1),o=o.parent();return n},on:function(e,n,r){return t(this).on(e,n,r)},off:function(e,n){return t(this).off(e,n)},once:function(e,n){return t(this).once(e,n)},hasEventListeners:function(e){return t(this).has(e)}}}),r(ce,[le,y,d],function(e,t,n){function r(e,t){return"selectionchange"==t?e.getDoc():!e.inline&&/^mouse|click|contextmenu|drop|dragover|dragend/.test(t)?e.getDoc().documentElement:e.settings.event_root?(e.eventRoot||(e.eventRoot=o.select(e.settings.event_root)[0]),e.eventRoot):e.getBody()}function i(e,t){var n=r(e,t),i;if(e.delegates||(e.delegates={}),!e.delegates[t])if(e.settings.event_root){if(a||(a={},e.editorManager.on("removeEditor",function(){var t;if(!e.editorManager.activeEditor&&a){for(t in a)e.dom.unbind(r(e,t));a=null}})),a[t])return;i=function(n){for(var r=n.target,i=e.editorManager.editors,a=i.length;a--;){var s=i[a].getBody();(s===r||o.isChildOf(r,s))&&(i[a].hidden||i[a].fire(t,n))}},a[t]=i,o.bind(n,t,i)}else i=function(n){e.hidden||e.fire(t,n)},o.bind(n,t,i),e.delegates[t]=i}var o=t.DOM,a,s={bindPendingEventDelegates:function(){var e=this;n.each(e._pendingNativeEvents,function(t){i(e,t)})},toggleNativeEvent:function(e,t){var n=this;n.settings.readonly||"focus"!=e&&"blur"!=e&&(t?n.initialized?i(n,e):n._pendingNativeEvents?n._pendingNativeEvents.push(e):n._pendingNativeEvents=[e]:n.initialized&&(n.dom.unbind(r(n,e),e,n.delegates[e]),delete n.delegates[e]))},unbindAllNativeEvents:function(){var e=this,t;if(e.delegates){for(t in e.delegates)e.dom.unbind(r(e,t),t,e.delegates[t]);delete e.delegates}e.inline||(e.getBody().onload=null,e.dom.unbind(e.getWin()),e.dom.unbind(e.getDoc())),e.dom.unbind(e.getBody()),e.dom.unbind(e.getContainer())}};return s=n.extend({},e,s)}),r(ue,[d,u],function(e,t){var n=e.each,r=e.explode,i={f9:120,f10:121,f11:122},o=e.makeMap("alt,ctrl,shift,meta,access");return function(a){function s(e,s,l,c){var u,d,f;f={func:l,scope:c||a,desc:a.translate(s)},n(r(e,"+"),function(e){e in o?f[e]=!0:/^[0-9]{2,}$/.test(e)?f.keyCode=parseInt(e,10):(f.charCode=e.charCodeAt(0),f.keyCode=i[e]||e.toUpperCase().charCodeAt(0))}),u=[f.keyCode];for(d in o)f[d]?u.push(d):f[d]=!1;return f.id=u.join(","),f.access&&(f.alt=!0,t.mac?f.ctrl=!0:f.shift=!0),f.meta&&(t.mac?f.meta=!0:(f.ctrl=!0,f.meta=!1)),f}var l=this,c={};a.on("keyup keypress keydown",function(e){(e.altKey||e.ctrlKey||e.metaKey)&&!e.isDefaultPrevented()&&n(c,function(t){return t.ctrl==e.ctrlKey&&t.meta==e.metaKey&&t.alt==e.altKey&&t.shift==e.shiftKey&&(e.keyCode==t.keyCode||e.charCode&&e.charCode==t.charCode)?(e.preventDefault(),"keydown"==e.type&&t.func.call(t.scope),!0):void 0})}),l.add=function(t,i,o,l){var u;return u=o,"string"==typeof o?o=function(){a.execCommand(u,!1,null)}:e.isArray(u)&&(o=function(){a.execCommand(u[0],u[1],u[2])}),n(r(t.toLowerCase()),function(e){var t=s(e,i,o,l);c[t.id]=t}),!0},l.remove=function(e){var t=s(e);return c[t.id]?(delete c[t.id],!0):!1}}}),r(de,[y,f,C,w,_,R,T,M,O,I,F,z,W,V,b,l,ae,E,k,se,u,d,ce,ue],function(e,n,r,i,o,a,s,l,c,u,d,f,p,h,m,g,v,y,b,C,x,w,_,E){function N(e,t,i){var o=this,a,s;a=o.documentBaseUrl=i.documentBaseURL,s=i.baseURI,o.settings=t=R({id:e,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:a,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:"<!DOCTYPE html>",visual:!0,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",forced_root_block:"p",hidden_input:!0,padd_empty_editor:!0,render_ui:!0,indentation:"30px",inline_styles:!0,convert_fonts_to_spans:!0,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",validate:!0,entity_encoding:"named",url_converter:o.convertURL,url_converter_scope:o,ie7_compat:!0},t),r.language=t.language||"en",r.languageLoad=t.language_load,r.baseURL=i.baseURL,o.id=t.id=e,o.isNotDirty=!0,o.plugins={},o.documentBaseURI=new h(t.document_base_url||a,{base_uri:s}),o.baseURI=s,o.contentCSS=[],o.contentStyles=[],o.shortcuts=new E(o),o.loadedCSS={},o.editorCommands=new p(o),t.target&&(o.targetElm=t.target),o.suffix=i.suffix,o.editorManager=i,o.inline=t.inline,t.cache_suffix&&(x.cacheSuffix=t.cache_suffix.replace(/^[\?\&]+/,"")),i.fire("SetupEditor",o),o.execCallback("setup",o),o.$=n.overrideDefaults(function(){return{context:o.inline?o.getBody():o.getDoc(),element:o.getBody()}})}var k=e.DOM,S=r.ThemeManager,T=r.PluginManager,R=w.extend,A=w.each,B=w.explode,D=w.inArray,L=w.trim,M=w.resolve,H=g.Event,P=x.gecko,O=x.ie;return N.prototype={render:function(){function e(){k.unbind(window,"ready",e),n.render()}function t(){var e=m.ScriptLoader;if(r.language&&"en"!=r.language&&!r.language_url&&(r.language_url=n.editorManager.baseURL+"/langs/"+r.language+".js"),r.language_url&&e.add(r.language_url),r.theme&&"function"!=typeof r.theme&&"-"!=r.theme.charAt(0)&&!S.urls[r.theme]){var t=r.theme_url;t=t?n.documentBaseURI.toAbsolute(t):"themes/"+r.theme+"/theme"+o+".js",S.load(r.theme,t)}w.isArray(r.plugins)&&(r.plugins=r.plugins.join(" ")),A(r.external_plugins,function(e,t){T.load(t,e),r.plugins+=" "+t}),A(r.plugins.split(/[ ,]/),function(e){if(e=L(e),e&&!T.urls[e])if("-"==e.charAt(0)){e=e.substr(1,e.length);var t=T.dependencies(e);A(t,function(e){var t={prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"};e=T.createUrl(t,e),T.load(e.resource,e)})}else T.load(e,{prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"})}),e.loadQueue(function(){n.removed||n.init()})}var n=this,r=n.settings,i=n.id,o=n.suffix;if(!H.domLoaded)return void k.bind(window,"ready",e);if(n.getElement()&&x.contentEditable){r.inline?n.inline=!0:(n.orgVisibility=n.getElement().style.visibility,n.getElement().style.visibility="hidden");var a=n.getElement().form||k.getParent(i,"form");a&&(n.formElement=a,r.hidden_input&&!/TEXTAREA|INPUT/i.test(n.getElement().nodeName)&&(k.insertAfter(k.create("input",{type:"hidden",name:i}),i),n.hasHiddenInput=!0),n.formEventDelegate=function(e){n.fire(e.type,e)},k.bind(a,"submit reset",n.formEventDelegate),n.on("reset",function(){n.setContent(n.startContent,{format:"raw"})}),!r.submit_patch||a.submit.nodeType||a.submit.length||a._mceOldSubmit||(a._mceOldSubmit=a.submit,a.submit=function(){return n.editorManager.triggerSave(),n.isNotDirty=!0,a._mceOldSubmit(a)})),n.windowManager=new v(n),"xml"==r.encoding&&n.on("GetContent",function(e){e.save&&(e.content=k.encode(e.content))}),r.add_form_submit_trigger&&n.on("submit",function(){n.initialized&&n.save()}),r.add_unload_trigger&&(n._beforeUnload=function(){!n.initialized||n.destroyed||n.isHidden()||n.save({format:"raw",no_events:!0,set_dirty:!1})},n.editorManager.on("BeforeUnload",n._beforeUnload)),t()}},init:function(){function e(n){var r=T.get(n),i,o;i=T.urls[n]||t.documentBaseUrl.replace(/\/$/,""),n=L(n),r&&-1===D(m,n)&&(A(T.dependencies(n),function(t){e(t)}),o=new r(t,i,t.$),t.plugins[n]=o,o.init&&(o.init(t,i),m.push(n)))}var t=this,n=t.settings,r=t.getElement(),i,o,a,s,l,c,u,d,f,p,h,m=[];if(this.editorManager.i18n.setCode(n.language),t.rtl=this.editorManager.i18n.rtl,t.editorManager.add(t),n.aria_label=n.aria_label||k.getAttrib(r,"aria-label",t.getLang("aria.rich_text_area")),n.theme&&("function"!=typeof n.theme?(n.theme=n.theme.replace(/-/,""),c=S.get(n.theme),t.theme=new c(t,S.urls[n.theme]),t.theme.init&&t.theme.init(t,S.urls[n.theme]||t.documentBaseUrl.replace(/\/$/,""),t.$)):t.theme=n.theme),A(n.plugins.replace(/\-/g,"").split(/[ ,]/),e),n.render_ui&&t.theme&&(t.orgDisplay=r.style.display,"function"!=typeof n.theme?(i=n.width||r.style.width||r.offsetWidth,o=n.height||r.style.height||r.offsetHeight,a=n.min_height||100,p=/^[0-9\.]+(|px)$/i,p.test(""+i)&&(i=Math.max(parseInt(i,10),100)),p.test(""+o)&&(o=Math.max(parseInt(o,10),a)),l=t.theme.renderUI({targetNode:r,width:i,height:o,deltaWidth:n.delta_width,deltaHeight:n.delta_height}),n.content_editable||(o=(l.iframeHeight||o)+("number"==typeof o?l.deltaHeight||0:""),a>o&&(o=a))):(l=n.theme(t,r),l.editorContainer.nodeType&&(l.editorContainer=l.editorContainer.id=l.editorContainer.id||t.id+"_parent"),l.iframeContainer.nodeType&&(l.iframeContainer=l.iframeContainer.id=l.iframeContainer.id||t.id+"_iframecontainer"),o=l.iframeHeight||r.offsetHeight),t.editorContainer=l.editorContainer),n.content_css&&A(B(n.content_css),function(e){t.contentCSS.push(t.documentBaseURI.toAbsolute(e))}),n.content_style&&t.contentStyles.push(n.content_style),n.content_editable)return r=s=l=null,t.initContentBody();for(t.iframeHTML=n.doctype+"<html><head>",n.document_base_url!=t.documentBaseUrl&&(t.iframeHTML+='<base href="'+t.documentBaseURI.getURI()+'" />'),!x.caretAfter&&n.ie7_compat&&(t.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'),t.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />',h=0;h<t.contentCSS.length;h++){var g=t.contentCSS[h];t.iframeHTML+='<link type="text/css" rel="stylesheet" href="'+w._addCacheSuffix(g)+'" />',t.loadedCSS[g]=!0}d=n.body_id||"tinymce",-1!=d.indexOf("=")&&(d=t.getParam("body_id","","hash"),d=d[t.id]||d),f=n.body_class||"",-1!=f.indexOf("=")&&(f=t.getParam("body_class","","hash"),f=f[t.id]||""),n.content_security_policy&&(t.iframeHTML+='<meta http-equiv="Content-Security-Policy" content="'+n.content_security_policy+'" />'),t.iframeHTML+='</head><body id="'+d+'" class="mce-content-body '+f+'" data-id="'+t.id+'"><br></body></html>';var v='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinymce.get("'+t.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody(true);})()';document.domain!=location.hostname&&(u=v);var y=k.create("iframe",{id:t.id+"_ifr",frameBorder:"0",allowTransparency:"true",title:t.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),style:{width:"100%",height:o,display:"block"}});if(y.onload=function(){y.onload=null,t.fire("load")},k.setAttrib(y,"src",u||'javascript:""'),t.contentAreaContainer=l.iframeContainer,t.iframeElement=y,s=k.add(l.iframeContainer,y),O)try{t.getDoc()}catch(b){s.src=u=v}l.editorContainer&&(k.get(l.editorContainer).style.display=t.orgDisplay,t.hidden=k.isHidden(l.editorContainer)),t.getElement().style.display="none",k.setAttrib(t.id,"aria-hidden",!0),u||t.initContentBody(),r=s=l=null},initContentBody:function(t){var n=this,r=n.settings,s=n.getElement(),p=n.getDoc(),h,m;r.inline||(n.getElement().style.visibility=n.orgVisibility),t||r.content_editable||(p.open(),p.write(n.iframeHTML),p.close()),r.content_editable&&(n.on("remove",function(){var e=this.getBody();k.removeClass(e,"mce-content-body"),k.removeClass(e,"mce-edit-focus"),k.setAttrib(e,"contentEditable",null)}),k.addClass(s,"mce-content-body"),n.contentDocument=p=r.content_document||document,n.contentWindow=r.content_window||window,n.bodyElement=s,r.content_document=r.content_window=null,r.root_name=s.nodeName.toLowerCase()),h=n.getBody(),h.disabled=!0,r.readonly||(n.inline&&"static"==k.getStyle(h,"position",!0)&&(h.style.position="relative"),h.contentEditable=n.getParam("content_editable_state",!0)),h.disabled=!1,n.schema=new y(r),n.dom=new e(p,{keep_values:!0,url_converter:n.convertURL,url_converter_scope:n,hex_colors:r.force_hex_style_colors,class_filter:r.class_filter,update_styles:!0,root_element:n.inline?n.getBody():null,collect:r.content_editable,schema:n.schema,onSetAttrib:function(e){n.fire("SetAttrib",e)}}),n.parser=new b(r,n.schema),n.parser.addAttributeFilter("src,href,style,tabindex",function(e,t){for(var r=e.length,i,o=n.dom,a,s;r--;)i=e[r],a=i.attr(t),s="data-mce-"+t,i.attributes.map[s]||("style"===t?(a=o.serializeStyle(o.parseStyle(a),i.name),a.length||(a=null),i.attr(s,a),i.attr(t,a)):"tabindex"===t?(i.attr(s,a),i.attr(t,null)):i.attr(s,n.convertURL(a,t,i.name)))}),n.parser.addNodeFilter("script",function(e){for(var t=e.length,n;t--;)n=e[t],n.attr("type","mce-"+(n.attr("type")||"no/type"))}),n.parser.addNodeFilter("#cdata",function(e){for(var t=e.length,n;t--;)n=e[t],n.type=8,n.name="#comment",n.value="[CDATA["+n.value+"]]"}),n.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(e){for(var t=e.length,r,i=n.schema.getNonEmptyElements();t--;)r=e[t],r.isEmpty(i)&&(r.append(new o("br",1)).shortEnded=!0)}),n.serializer=new a(r,n),n.selection=new l(n.dom,n.getWin(),n.serializer,n),n.formatter=new c(n),n.undoManager=new u(n),n.forceBlocks=new f(n),n.enterKey=new d(n),n._nodeChangeDispatcher=new i(n),n.fire("PreInit"),r.browser_spellcheck||r.gecko_spellcheck||(p.body.spellcheck=!1,k.setAttrib(h,"spellcheck","false")),n.fire("PostRender"),n.quirks=new C(n),r.directionality&&(h.dir=r.directionality),r.nowrap&&(h.style.whiteSpace="nowrap"),r.protect&&n.on("BeforeSetContent",function(e){A(r.protect,function(t){e.content=e.content.replace(t,function(e){return"<!--mce:protected "+escape(e)+"-->"})})}),n.on("SetContent",function(){n.addVisual(n.getBody())}),r.padd_empty_editor&&n.on("PostProcess",function(e){e.content=e.content.replace(/^(<p[^>]*>(&nbsp;|&#160;|\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")}),n.load({initial:!0,format:"html"}),n.startContent=n.getContent({format:"raw"}),n.initialized=!0,n.bindPendingEventDelegates(),n.fire("init"),n.focus(!0),n.nodeChanged({initial:!0}),n.execCallback("init_instance_callback",n),n.contentStyles.length>0&&(m="",A(n.contentStyles,function(e){m+=e+"\r\n"}),n.dom.addStyle(m)),A(n.contentCSS,function(e){n.loadedCSS[e]||(n.dom.loadCSS(e),n.loadedCSS[e]=!0)}),r.auto_focus&&setTimeout(function(){var e;e=r.auto_focus===!0?n:n.editorManager.get(r.auto_focus),e.focus()},100),s=p=h=null},focus:function(e){var t=this,n=t.selection,r=t.settings.content_editable,i,o,a=t.getDoc(),s;if(!e){if(i=n.getRng(),i.item&&(o=i.item(0)),t._refreshContentEditable(),r||(x.opera||t.getBody().focus(),t.getWin().focus()),P||r){if(s=t.getBody(),s.setActive)try{s.setActive()}catch(l){s.focus()}else s.focus();r&&n.normalize()}o&&o.ownerDocument==a&&(i=a.body.createControlRange(),i.addElement(o),i.select())}t.editorManager.setActive(t)},execCallback:function(e){var t=this,n=t.settings[e],r;if(n)return t.callbackLookup&&(r=t.callbackLookup[e])&&(n=r.func,r=r.scope),"string"==typeof n&&(r=n.replace(/\.\w+$/,""),r=r?M(r):0,n=M(n),t.callbackLookup=t.callbackLookup||{},t.callbackLookup[e]={func:n,scope:r}),n.apply(r||t,Array.prototype.slice.call(arguments,1))},translate:function(e){var t=this.settings.language||"en",n=this.editorManager.i18n;return e?n.data[t+"."+e]||e.replace(/\{\#([^\}]+)\}/g,function(e,r){return n.data[t+"."+r]||"{#"+r+"}"}):""},getLang:function(e,n){return this.editorManager.i18n.data[(this.settings.language||"en")+"."+e]||(n!==t?n:"{#"+e+"}")},getParam:function(e,t,n){var r=e in this.settings?this.settings[e]:t,i;return"hash"===n?(i={},"string"==typeof r?A(r.split(r.indexOf("=")>0?/[;,](?![^=;,]*(?:[;,]|$))/:","),function(e){e=e.split("="),i[L(e[0])]=L(e.length>1?e[1]:e)}):i=r,i):r},nodeChanged:function(e){this._nodeChangeDispatcher.nodeChanged(e)},addButton:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),t.text||t.icon||(t.icon=e),n.buttons=n.buttons||{},t.tooltip=t.tooltip||t.title,n.buttons[e]=t},addMenuItem:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),n.menuItems=n.menuItems||{},n.menuItems[e]=t},addCommand:function(e,t,n){this.editorCommands.addCommand(e,t,n)},addQueryStateHandler:function(e,t,n){this.editorCommands.addQueryStateHandler(e,t,n)},addQueryValueHandler:function(e,t,n){this.editorCommands.addQueryValueHandler(e,t,n)},addShortcut:function(e,t,n,r){this.shortcuts.add(e,t,n,r)},execCommand:function(e,t,n,r){return this.editorCommands.execCommand(e,t,n,r)},queryCommandState:function(e){return this.editorCommands.queryCommandState(e)},queryCommandValue:function(e){return this.editorCommands.queryCommandValue(e)},queryCommandSupported:function(e){return this.editorCommands.queryCommandSupported(e)},show:function(){var e=this;e.hidden&&(e.hidden=!1,e.inline?e.getBody().contentEditable=!0:(k.show(e.getContainer()),k.hide(e.id)),e.load(),e.fire("show"))},hide:function(){var e=this,t=e.getDoc();e.hidden||(O&&t&&!e.inline&&t.execCommand("SelectAll"),e.save(),e.inline?(e.getBody().contentEditable=!1,e==e.editorManager.focusedEditor&&(e.editorManager.focusedEditor=null)):(k.hide(e.getContainer()),k.setStyle(e.id,"display",e.orgDisplay)),e.hidden=!0,e.fire("hide"))},isHidden:function(){return!!this.hidden},setProgressState:function(e,t){this.fire("ProgressState",{state:e,time:t})},load:function(e){var n=this,r=n.getElement(),i;return r?(e=e||{},e.load=!0,i=n.setContent(r.value!==t?r.value:r.innerHTML,e),e.element=r,e.no_events||n.fire("LoadContent",e),e.element=r=null,i):void 0},save:function(e){var t=this,n=t.getElement(),r,i;if(n&&t.initialized)return e=e||{},e.save=!0,e.element=n,r=e.content=t.getContent(e),e.no_events||t.fire("SaveContent",e),r=e.content,/TEXTAREA|INPUT/i.test(n.nodeName)?n.value=r:(t.inline||(n.innerHTML=r),(i=k.getParent(t.id,"form"))&&A(i.elements,function(e){return e.name==t.id?(e.value=r,!1):void 0})),e.element=n=null,e.set_dirty!==!1&&(t.isNotDirty=!0),r},setContent:function(e,t){var n=this,r=n.getBody(),i;return t=t||{},t.format=t.format||"html",t.set=!0,t.content=e,t.no_events||n.fire("BeforeSetContent",t),e=t.content,0===e.length||/^\s+$/.test(e)?(i=n.settings.forced_root_block,i&&n.schema.isValidChild(r.nodeName.toLowerCase(),i.toLowerCase())?(e=O&&11>O?"":'<br data-mce-bogus="1">',e=n.dom.createHTML(i,n.settings.forced_root_block_attrs,e)):O||(e='<br data-mce-bogus="1">'),n.dom.setHTML(r,e),n.fire("SetContent",t)):("raw"!==t.format&&(e=new s({},n.schema).serialize(n.parser.parse(e,{isRootContent:!0}))),t.content=L(e),n.dom.setHTML(r,t.content),t.no_events||n.fire("SetContent",t)),t.content},getContent:function(e){var t=this,n,r=t.getBody();return e=e||{},e.format=e.format||"html",e.get=!0,e.getInner=!0,e.no_events||t.fire("BeforeGetContent",e),n="raw"==e.format?r.innerHTML:"text"==e.format?r.innerText||r.textContent:t.serializer.serialize(r,e),e.content="text"!=e.format?L(n):n,e.no_events||t.fire("GetContent",e),e.content},insertContent:function(e,t){t&&(e=R({content:e},t)),this.execCommand("mceInsertContent",!1,e)},isDirty:function(){return!this.isNotDirty},getContainer:function(){var e=this;return e.container||(e.container=k.get(e.editorContainer||e.id+"_parent")),e.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return this.targetElm||(this.targetElm=k.get(this.id)),this.targetElm},getWin:function(){var e=this,t;return e.contentWindow||(t=e.iframeElement,t&&(e.contentWindow=t.contentWindow)),e.contentWindow},getDoc:function(){var e=this,t;return e.contentDocument||(t=e.getWin(),t&&(e.contentDocument=t.document)),e.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(e,t,n){var r=this,i=r.settings;return i.urlconverter_callback?r.execCallback("urlconverter_callback",e,n,!0,t):!i.convert_urls||n&&"LINK"==n.nodeName||0===e.indexOf("file:")||0===e.length?e:i.relative_urls?r.documentBaseURI.toRelative(e):e=r.documentBaseURI.toAbsolute(e,i.remove_script_host)},addVisual:function(e){var n=this,r=n.settings,i=n.dom,o;e=e||n.getBody(),n.hasVisual===t&&(n.hasVisual=r.visual),A(i.select("table,a",e),function(e){var t;switch(e.nodeName){case"TABLE":return o=r.visual_table_class||"mce-item-table",t=i.getAttrib(e,"border"),void(t&&"0"!=t||!n.hasVisual?i.removeClass(e,o):i.addClass(e,o));case"A":return void(i.getAttrib(e,"href",!1)||(t=i.getAttrib(e,"name")||e.id,o=r.visual_anchor_class||"mce-item-anchor",t&&n.hasVisual?i.addClass(e,o):i.removeClass(e,o)))}}),n.fire("VisualAid",{element:e,hasVisual:n.hasVisual})},remove:function(){var e=this;e.removed||(e.save(),e.removed=1,e.unbindAllNativeEvents(),e.hasHiddenInput&&k.remove(e.getElement().nextSibling),e.inline||(O&&10>O&&e.getDoc().execCommand("SelectAll",!1,null),k.setStyle(e.id,"display",e.orgDisplay),e.getBody().onload=null),e.fire("remove"),e.editorManager.remove(e),k.remove(e.getContainer()),e.destroy())},destroy:function(e){var t=this,n;if(!t.destroyed){if(!e&&!t.removed)return void t.remove();e||(t.editorManager.off("beforeunload",t._beforeUnload),t.theme&&t.theme.destroy&&t.theme.destroy(),t.selection.destroy(),t.dom.destroy()),n=t.formElement,n&&(n._mceOldSubmit&&(n.submit=n._mceOldSubmit,n._mceOldSubmit=null),k.unbind(n,"submit reset",t.formEventDelegate)),t.contentAreaContainer=t.formElement=t.container=t.editorContainer=null,t.bodyElement=t.contentDocument=t.contentWindow=null,t.iframeElement=t.targetElm=null,t.selection&&(t.selection=t.selection.win=t.selection.dom=t.selection.dom.doc=null),t.destroyed=1}},_refreshContentEditable:function(){var e=this,t,n;e._isHidden()&&(t=e.getBody(),n=t.parentNode,n.removeChild(t),n.appendChild(t),t.focus())},_isHidden:function(){var e;return P?(e=this.selection.getSel(),!e||!e.rangeCount||0===e.rangeCount):0}},R(N.prototype,_),N}),r(fe,[],function(){var e={},t="en";return{setCode:function(e){e&&(t=e,this.rtl=this.data[e]?"rtl"===this.data[e]._dir:!1)},getCode:function(){return t},rtl:!1,add:function(t,n){var r=e[t];r||(e[t]=r={});for(var i in n)r[i]=n[i];this.setCode(t)},translate:function(n){var r;if(r=e[t],r||(r={}),"undefined"==typeof n)return n;if("string"!=typeof n&&n.raw)return n.raw;if(n.push){var i=n.slice(1);n=(r[n[0]]||n[0]).replace(/\{([0-9]+)\}/g,function(e,t){return i[t]})}return(r[n]||n).replace(/{context:\w+}$/,"")},data:e}}),r(pe,[y,u],function(e,t){function n(e){function s(){try{return document.activeElement}catch(e){return document.body}}function l(e,t){if(t&&t.startContainer){if(!e.isChildOf(t.startContainer,e.getRoot())||!e.isChildOf(t.endContainer,e.getRoot()))return;return{startContainer:t.startContainer,startOffset:t.startOffset,endContainer:t.endContainer,endOffset:t.endOffset}}return t}function c(e,t){var n;return t.startContainer?(n=e.getDoc().createRange(),n.setStart(t.startContainer,t.startOffset),n.setEnd(t.endContainer,t.endOffset)):n=t,n}function u(e){return!!a.getParent(e,n.isEditorUIElement)}function d(n){var d=n.editor;d.on("init",function(){(d.inline||t.ie)&&("onbeforedeactivate"in document&&t.ie<9?d.dom.bind(d.getBody(),"beforedeactivate",function(e){if(e.target==d.getBody())try{d.lastRng=d.selection.getRng()}catch(t){}}):d.on("nodechange mouseup keyup",function(e){var t=s();"nodechange"==e.type&&e.selectionChange||(t&&t.id==d.id+"_ifr"&&(t=d.getBody()),d.dom.isChildOf(t,d.getBody())&&(d.lastRng=d.selection.getRng()))}),t.webkit&&!r&&(r=function(){var t=e.activeEditor;if(t&&t.selection){var n=t.selection.getRng();n&&!n.collapsed&&(d.lastRng=n)}},a.bind(document,"selectionchange",r)))}),d.on("setcontent",function(){d.lastRng=null}),d.on("mousedown",function(){d.selection.lastFocusBookmark=null}),d.on("focusin",function(){var t=e.focusedEditor;d.selection.lastFocusBookmark&&(d.selection.setRng(c(d,d.selection.lastFocusBookmark)),d.selection.lastFocusBookmark=null),t!=d&&(t&&t.fire("blur",{focusedEditor:d}),e.setActive(d),e.focusedEditor=d,d.fire("focus",{blurredEditor:t}),d.focus(!0)),d.lastRng=null}),d.on("focusout",function(){window.setTimeout(function(){var t=e.focusedEditor;u(s())||t!=d||(d.fire("blur",{focusedEditor:null}),e.focusedEditor=null,d.selection&&(d.selection.lastFocusBookmark=null))},0)}),i||(i=function(t){var n=e.activeEditor;n&&t.target.ownerDocument==document&&(n.selection&&t.target!=n.getBody()&&(n.selection.lastFocusBookmark=l(n.dom,n.lastRng)),t.target==document.body||u(t.target)||e.focusedEditor!=n||(n.fire("blur",{focusedEditor:null}),e.focusedEditor=null))},a.bind(document,"focusin",i)),d.inline&&!o&&(o=function(t){var n=e.activeEditor;if(n.inline&&!n.dom.isChildOf(t.target,n.getBody())){var r=n.selection.getRng();r.collapsed||(n.lastRng=r)}},a.bind(document,"mouseup",o))}function f(t){e.focusedEditor==t.editor&&(e.focusedEditor=null),e.activeEditor||(a.unbind(document,"selectionchange",r),a.unbind(document,"focusin",i),a.unbind(document,"mouseup",o),r=i=o=null)}e.on("AddEditor",d),e.on("RemoveEditor",f)}var r,i,o,a=e.DOM;return n.isEditorUIElement=function(e){return-1!==e.className.toString().indexOf("mce-")},n}),r(he,[de,f,y,V,u,d,le,fe,pe],function(e,t,n,r,i,o,a,s,l){function c(e){var t=v.editors,n;delete t[e.id];for(var r=0;r<t.length;r++)if(t[r]==e){t.splice(r,1),n=!0;break}return v.activeEditor==e&&(v.activeEditor=t[0]),v.focusedEditor==e&&(v.focusedEditor=null),n}function u(e){return e&&!(e.getContainer()||e.getBody()).parentNode&&(c(e),e.unbindAllNativeEvents(),e.destroy(!0),e=null),e}var d=n.DOM,f=o.explode,p=o.each,h=o.extend,m=0,g,v;return v={$:t,majorVersion:"4",minorVersion:"1.9",releaseDate:"2015-04-05",editors:[],i18n:s,activeEditor:null,setup:function(){var e=this,t,n,i="",o,a;if(n=document.location.href,/^[^:]+:\/\/\/?[^\/]+\//.test(n)&&(n=n.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(n)||(n+="/")),o=window.tinymce||window.tinyMCEPreInit)t=o.base||o.baseURL,i=o.suffix;else{for(var s=document.getElementsByTagName("script"),c=0;c<s.length;c++)if(a=s[c].src,/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(a)){-1!=a.indexOf(".min")&&(i=".min"),t=a.substring(0,a.lastIndexOf("/"));break}!t&&document.currentScript&&(a=document.currentScript.src,-1!=a.indexOf(".min")&&(i=".min"),t=a.substring(0,a.lastIndexOf("/")))}e.baseURL=new r(n).toAbsolute(t),e.documentBaseURL=n,e.baseURI=new r(e.baseURL),e.suffix=i,e.focusManager=new l(e)},init:function(t){function n(e){var t=e.id;return t||(t=e.name,t=t&&!d.get(t)?e.name:d.uniqueId(),e.setAttribute("id",t)),t}function r(t,n,r){if(!u(s.get(t))){var i=new e(t,n,s);i.targetElm=i.targetElm||r,l.push(i),i.render()}}function i(e){var n=t[e];if(n)return n.apply(s,Array.prototype.slice.call(arguments,2))}function o(e,t){return t.constructor===RegExp?t.test(e.className):d.hasClass(e,t)}function a(){var e,s;if(d.unbind(window,"ready",a),i("onpageload"),t.types)return void p(t.types,function(e){p(d.select(e.selector),function(i){r(n(i),h({},t,e),i)})});if(t.selector)return void p(d.select(t.selector),function(e){r(n(e),t,e)});switch(t.target&&r(n(t.target),t),t.mode){case"exact":e=t.elements||"",e.length>0&&p(f(e),function(e){var n;(n=d.get(e))?r(e,t,n):p(document.forms,function(n){p(n.elements,function(n){n.name===e&&(e="mce_editor_"+m++,d.setAttrib(n,"id",e),r(e,t,n))})})});break;case"textareas":case"specific_textareas":p(d.select("textarea"),function(e){t.editor_deselector&&o(e,t.editor_deselector)||(!t.editor_selector||o(e,t.editor_selector))&&r(n(e),t,e)})}t.oninit&&(e=s=0,p(l,function(t){s++,t.initialized?e++:t.on("init",function(){e++,e==s&&i("oninit")}),e==s&&i("oninit")}))}var s=this,l=[];s.settings=t,d.bind(window,"ready",a)},get:function(e){return arguments.length?e in this.editors?this.editors[e]:null:this.editors},add:function(e){var t=this,n=t.editors;return n[e.id]=e,n.push(e),t.activeEditor=e,t.fire("AddEditor",{editor:e}),g||(g=function(){t.fire("BeforeUnload")},d.bind(window,"beforeunload",g)),e},createEditor:function(t,n){return this.add(new e(t,n,this))},remove:function(e){var t=this,n,r=t.editors,i;{if(e)return"string"==typeof e?(e=e.selector||e,void p(d.select(e),function(e){i=r[e.id],i&&t.remove(i)})):(i=e,r[i.id]?(c(i)&&t.fire("RemoveEditor",{editor:i}),r.length||d.unbind(window,"beforeunload",g),i.remove(),i):null);for(n=r.length-1;n>=0;n--)t.remove(r[n])}},execCommand:function(t,n,r){var i=this,o=i.get(r);switch(t){case"mceAddEditor":return i.get(r)||new e(r,i.settings,i).render(),!0;case"mceRemoveEditor":return o&&o.remove(),!0;case"mceToggleEditor":return o?(o.isHidden()?o.show():o.hide(),!0):(i.execCommand("mceAddEditor",0,r),!0)}return i.activeEditor?i.activeEditor.execCommand(t,n,r):!1},triggerSave:function(){p(this.editors,function(e){e.save()})},addI18n:function(e,t){s.add(e,t)},translate:function(e){return s.translate(e)},setActive:function(e){var t=this.activeEditor;this.activeEditor!=e&&(t&&t.fire("deactivate",{relatedTarget:e}),e.fire("activate",{
+relatedTarget:t})),this.activeEditor=e}},h(v,a),v.setup(),window.tinymce=window.tinyMCE=v,v}),r(me,[he,d],function(e,t){var n=t.each,r=t.explode;e.on("AddEditor",function(e){var t=e.editor;t.on("preInit",function(){function e(e,t){n(t,function(t,n){t&&s.setStyle(e,n,t)}),s.rename(e,"span")}function i(e){s=t.dom,l.convert_fonts_to_spans&&n(s.select("font,u,strike",e.node),function(e){o[e.nodeName.toLowerCase()](s,e)})}var o,a,s,l=t.settings;l.inline_styles&&(a=r(l.font_size_legacy_values),o={font:function(t,n){e(n,{backgroundColor:n.style.backgroundColor,color:n.color,fontFamily:n.face,fontSize:a[parseInt(n.size,10)-1]})},u:function(n,r){"html4"===t.settings.schema&&e(r,{textDecoration:"underline"})},strike:function(t,n){e(n,{textDecoration:"line-through"})}},t.on("PreProcess SetContent",i))})})}),r(ge,[le,d],function(e,t){var n={send:function(e){function t(){!e.async||4==r.readyState||i++>1e4?(e.success&&1e4>i&&200==r.status?e.success.call(e.success_scope,""+r.responseText,r,e):e.error&&e.error.call(e.error_scope,i>1e4?"TIMED_OUT":"GENERAL",r,e),r=null):setTimeout(t,10)}var r,i=0;if(e.scope=e.scope||this,e.success_scope=e.success_scope||e.scope,e.error_scope=e.error_scope||e.scope,e.async=e.async===!1?!1:!0,e.data=e.data||"",r=new XMLHttpRequest){if(r.overrideMimeType&&r.overrideMimeType(e.content_type),r.open(e.type||(e.data?"POST":"GET"),e.url,e.async),e.crossDomain&&(r.withCredentials=!0),e.content_type&&r.setRequestHeader("Content-Type",e.content_type),r.setRequestHeader("X-Requested-With","XMLHttpRequest"),r=n.fire("beforeSend",{xhr:r,settings:e}).xhr,r.send(e.data),!e.async)return t();setTimeout(t,10)}}};return t.extend(n,e),n}),r(ve,[],function(){function e(t,n){var r,i,o,a;if(n=n||'"',null===t)return"null";if(o=typeof t,"string"==o)return i="\bb        t\nn\ff\rr\"\"''\\\\",n+t.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(e,t){return'"'===n&&"'"===e?e:(r=i.indexOf(t),r+1?"\\"+i.charAt(r+1):(e=t.charCodeAt().toString(16),"\\u"+"0000".substring(e.length)+e))})+n;if("object"==o){if(t.hasOwnProperty&&"[object Array]"===Object.prototype.toString.call(t)){for(r=0,i="[";r<t.length;r++)i+=(r>0?",":"")+e(t[r],n);return i+"]"}i="{";for(a in t)t.hasOwnProperty(a)&&(i+="function"!=typeof t[a]?(i.length>1?","+n:n)+a+n+":"+e(t[a],n):"");return i+"}"}return""+t}return{serialize:e,parse:function(e){try{return window[String.fromCharCode(101)+"val"]("("+e+")")}catch(t){}}}}),r(ye,[ve,ge,d],function(e,t,n){function r(e){this.settings=i({},e),this.count=0}var i=n.extend;return r.sendRPC=function(e){return(new r).send(e)},r.prototype={send:function(n){var r=n.error,o=n.success;n=i(this.settings,n),n.success=function(t,i){t=e.parse(t),"undefined"==typeof t&&(t={error:"JSON Parse error."}),t.error?r.call(n.error_scope||n.scope,t.error,i):o.call(n.success_scope||n.scope,t.result)},n.error=function(e,t){r&&r.call(n.error_scope||n.scope,e,t)},n.data=e.serialize({id:n.id||"c"+this.count++,method:n.method,params:n.params}),n.content_type="application/json",t.send(n)}},r}),r(be,[y],function(e){return{callbacks:{},count:0,send:function(n){var r=this,i=e.DOM,o=n.count!==t?n.count:r.count,a="tinymce_jsonp_"+o;r.callbacks[o]=function(e){i.remove(a),delete r.callbacks[o],n.callback(e)},i.add(i.doc.body,"script",{id:a,src:n.url,type:"text/javascript"}),r.count++}}}),r(Ce,[],function(){function e(){s=[];for(var e in a)s.push(e);i.length=s.length}function n(){function n(e){var n,r;return r=e!==t?u+e:i.indexOf(",",u),-1===r||r>i.length?null:(n=i.substring(u,r),u=r+1,n)}var r,i,s,u=0;if(a={},c){o.load(l),i=o.getAttribute(l)||"";do{var d=n();if(null===d)break;if(r=n(parseInt(d,32)||0),null!==r){if(d=n(),null===d)break;s=n(parseInt(d,32)||0),r&&(a[r]=s)}}while(null!==r);e()}}function r(){var t,n="";if(c){for(var r in a)t=a[r],n+=(n?",":"")+r.length.toString(32)+","+r+","+t.length.toString(32)+","+t;o.setAttribute(l,n);try{o.save(l)}catch(i){}e()}}var i,o,a,s,l,c;try{if(window.localStorage)return localStorage}catch(u){}return l="tinymce",o=document.documentElement,c=!!o.addBehavior,c&&o.addBehavior("#default#userData"),i={key:function(e){return s[e]},getItem:function(e){return e in a?a[e]:null},setItem:function(e,t){a[e]=""+t,r()},removeItem:function(e){delete a[e],r()},clear:function(){a={},r()}},n(),i}),r(xe,[y,l,b,C,d,u],function(e,t,n,r,i,o){var a=window.tinymce;return a.DOM=e.DOM,a.ScriptLoader=n.ScriptLoader,a.PluginManager=r.PluginManager,a.ThemeManager=r.ThemeManager,a.dom=a.dom||{},a.dom.Event=t.Event,i.each(i,function(e,t){a[t]=e}),i.each("isOpera isWebKit isIE isGecko isMac".split(" "),function(e){a[e]=o[e.substr(2).toLowerCase()]}),{}}),r(we,[U,d],function(e,t){return e.extend({Defaults:{firstControlClass:"first",lastControlClass:"last"},init:function(e){this.settings=t.extend({},this.Defaults,e)},preRender:function(e){e.addClass(this.settings.containerClass,"body")},applyClasses:function(e){var t=this,n=t.settings,r,i,o;r=e.items().filter(":visible"),i=n.firstControlClass,o=n.lastControlClass,r.each(function(e){e.removeClass(i).removeClass(o),n.controlClass&&e.addClass(n.controlClass)}),r.eq(0).addClass(i),r.eq(-1).addClass(o)},renderHtml:function(e){var t=this,n=t.settings,r,i="";return r=e.items(),r.eq(0).addClass(n.firstControlClass),r.eq(-1).addClass(n.lastControlClass),r.each(function(e){n.controlClass&&e.addClass(n.controlClass),i+=e.renderHtml()}),i},recalc:function(){},postRender:function(){}})}),r(_e,[we],function(e){return e.extend({Defaults:{containerClass:"abs-layout",controlClass:"abs-layout-item"},recalc:function(e){e.items().filter(":visible").each(function(e){var t=e.settings;e.layoutRect({x:t.x,y:t.y,w:t.w,h:t.h}),e.recalc&&e.recalc()})},renderHtml:function(e){return'<div id="'+e._id+'-absend" class="'+e.classPrefix+'abs-end"></div>'+this._super(e)}})}),r(Ee,[K,te],function(e,t){return e.extend({Mixins:[t],Defaults:{classes:"widget tooltip tooltip-n"},text:function(e){var t=this;return"undefined"!=typeof e?(t._value=e,t._rendered&&(t.getEl().lastChild.innerHTML=t.encode(e)),t):t._value},renderHtml:function(){var e=this,t=e.classPrefix;return'<div id="'+e._id+'" class="'+e.classes()+'" role="presentation"><div class="'+t+'tooltip-arrow"></div><div class="'+t+'tooltip-inner">'+e.encode(e._text)+"</div></div>"},repaint:function(){var e=this,t,n;t=e.getEl().style,n=e._layoutRect,t.left=n.x+"px",t.top=n.y+"px",t.zIndex=131070}})}),r(Ne,[K,Ee],function(e,t){var n,r=e.extend({init:function(e){var t=this;t._super(e),e=t.settings,t.canFocus=!0,e.tooltip&&r.tooltips!==!1&&(t.on("mouseenter",function(n){var r=t.tooltip().moveTo(-65535);if(n.control==t){var i=r.text(e.tooltip).show().testMoveRel(t.getEl(),["bc-tc","bc-tl","bc-tr"]);r.toggleClass("tooltip-n","bc-tc"==i),r.toggleClass("tooltip-nw","bc-tl"==i),r.toggleClass("tooltip-ne","bc-tr"==i),r.moveRel(t.getEl(),i)}else r.hide()}),t.on("mouseleave mousedown click",function(){t.tooltip().hide()})),t.aria("label",e.ariaLabel||e.tooltip)},tooltip:function(){return n||(n=new t({type:"tooltip"}),n.renderTo()),n},active:function(e){var t=this,n;return e!==n&&(t.aria("pressed",e),t.toggleClass("active",e)),t._super(e)},disabled:function(e){var t=this,n;return e!==n&&(t.aria("disabled",e),t.toggleClass("disabled",e)),t._super(e)},postRender:function(){var e=this,t=e.settings;e._rendered=!0,e._super(),e.parent()||!t.width&&!t.height||(e.initLayoutRect(),e.repaint()),t.autofocus&&e.focus()},remove:function(){this._super(),n&&(n.remove(),n=null)}});return r}),r(ke,[Ne],function(e){return e.extend({Defaults:{classes:"widget btn",role:"button"},init:function(e){var t=this,n;t.on("click mousedown",function(e){e.preventDefault()}),t._super(e),n=e.size,e.subtype&&t.addClass(e.subtype),n&&t.addClass("btn-"+n)},icon:function(e){var t=this,n=t.classPrefix;if("undefined"==typeof e)return t.settings.icon;if(t.settings.icon=e,e=e?n+"ico "+n+"i-"+t.settings.icon:"",t._rendered){var r=t.getEl().firstChild,i=r.getElementsByTagName("i")[0];e?(i&&i==r.firstChild||(i=document.createElement("i"),r.insertBefore(i,r.firstChild)),i.className=e):i&&r.removeChild(i),t.text(t._text)}return t},repaint:function(){var e=this.getEl().firstChild.style;e.width=e.height="100%",this._super()},text:function(e){var t=this;if(t._rendered){var n=t.getEl().lastChild.lastChild;n&&(n.data=t.translate(e))}return t._super(e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.settings.icon,i;return i=e.settings.image,i?(r="none","string"!=typeof i&&(i=window.getSelection?i[0]:i[1]),i=" style=\"background-image: url('"+i+"')\""):i="",r=e.settings.icon?n+"ico "+n+"i-"+r:"",'<div id="'+t+'" class="'+e.classes()+'" tabindex="-1" aria-labelledby="'+t+'"><button role="presentation" type="button" tabindex="-1">'+(r?'<i class="'+r+'"'+i+"></i>":"")+(e._text?(r?"\xa0":"")+e.encode(e._text):"")+"</button></div>"}})}),r(Se,[J],function(e){return e.extend({Defaults:{defaultType:"button",role:"group"},renderHtml:function(){var e=this,t=e._layout;return e.addClass("btn-group"),e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes()+'"><div id="'+e._id+'-body">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}})}),r(Te,[Ne],function(e){return e.extend({Defaults:{classes:"checkbox",role:"checkbox",checked:!1},init:function(e){var t=this;t._super(e),t.on("click mousedown",function(e){e.preventDefault()}),t.on("click",function(e){e.preventDefault(),t.disabled()||t.checked(!t.checked())}),t.checked(t.settings.checked)},checked:function(e){var t=this;return"undefined"!=typeof e?(e?t.addClass("checked"):t.removeClass("checked"),t._checked=e,t.aria("checked",e),t):t._checked},value:function(e){return this.checked(e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix;return'<div id="'+t+'" class="'+e.classes()+'" unselectable="on" aria-labelledby="'+t+'-al" tabindex="-1"><i class="'+n+"ico "+n+'i-checkbox"></i><span id="'+t+'-al" class="'+n+'label">'+e.encode(e._text)+"</span></div>"}})}),r(Re,[Ne,G,Y],function(e,t,n){return e.extend({init:function(e){var t=this;t._super(e),t.addClass("combobox"),t.subinput=!0,t.ariaTarget="inp",e=t.settings,e.menu=e.menu||e.values,e.menu&&(e.icon="caret"),t.on("click",function(n){for(var r=n.target,i=t.getEl();r&&r!=i;)r.id&&-1!=r.id.indexOf("-open")&&(t.fire("action"),e.menu&&(t.showMenu(),n.aria&&t.menu.items()[0].focus())),r=r.parentNode}),t.on("keydown",function(e){"INPUT"==e.target.nodeName&&13==e.keyCode&&t.parents().reverse().each(function(n){return e.preventDefault(),t.fire("change"),n.hasEventListeners("submit")&&n.toJSON?(n.fire("submit",{data:n.toJSON()}),!1):void 0})}),e.placeholder&&(t.addClass("placeholder"),t.on("focusin",function(){t._hasOnChange||(n.on(t.getEl("inp"),"change",function(){t.fire("change")}),t._hasOnChange=!0),t.hasClass("placeholder")&&(t.getEl("inp").value="",t.removeClass("placeholder"))}),t.on("focusout",function(){0===t.value().length&&(t.getEl("inp").value=e.placeholder,t.addClass("placeholder"))}))},showMenu:function(){var e=this,n=e.settings,r;e.menu||(r=n.menu||[],r.length?r={type:"menu",items:r}:r.type=r.type||"menu",e.menu=t.create(r).parent(e).renderTo(e.getContainerElm()),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control===e.menu&&e.focus()}),e.menu.on("show hide",function(t){t.control.items().each(function(t){t.active(t.value()==e.value())})}).fire("show"),e.menu.on("select",function(t){e.value(t.control.value())}),e.on("focusin",function(t){"INPUT"==t.target.tagName.toUpperCase()&&e.menu.hide()}),e.aria("expanded",!0)),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])},value:function(e){var t=this;return"undefined"!=typeof e?(t._value=e,t.removeClass("placeholder"),t._rendered&&(t.getEl("inp").value=e),t):t._rendered?(e=t.getEl("inp").value,e!=t.settings.placeholder?e:""):t._value},disabled:function(e){var t=this;return t._rendered&&"undefined"!=typeof e&&(t.getEl("inp").disabled=e),t._super(e)},focus:function(){this.getEl("inp").focus()},repaint:function(){var e=this,t=e.getEl(),r=e.getEl("open"),i=e.layoutRect(),o,a;o=r?i.w-n.getSize(r).width-10:i.w-10;var s=document;return s.all&&(!s.documentMode||s.documentMode<=8)&&(a=e.layoutRect().h-2+"px"),n.css(t.firstChild,{width:o,lineHeight:a}),e._super(),e},postRender:function(){var e=this;return n.on(this.getEl("inp"),"change",function(){e.fire("change")}),e._super()},remove:function(){n.off(this.getEl("inp")),this._super()},renderHtml:function(){var e=this,t=e._id,n=e.settings,r=e.classPrefix,i=n.value||n.placeholder||"",o,a,s="",l="";return"spellcheck"in n&&(l+=' spellcheck="'+n.spellcheck+'"'),n.maxLength&&(l+=' maxlength="'+n.maxLength+'"'),n.size&&(l+=' size="'+n.size+'"'),n.subtype&&(l+=' type="'+n.subtype+'"'),e.disabled()&&(l+=' disabled="disabled"'),o=n.icon,o&&"caret"!=o&&(o=r+"ico "+r+"i-"+n.icon),a=e._text,(o||a)&&(s='<div id="'+t+'-open" class="'+r+"btn "+r+'open" tabIndex="-1" role="button"><button id="'+t+'-action" type="button" hidefocus="1" tabindex="-1">'+("caret"!=o?'<i class="'+o+'"></i>':'<i class="'+r+'caret"></i>')+(a?(o?" ":"")+a:"")+"</button></div>",e.addClass("has-open")),'<div id="'+t+'" class="'+e.classes()+'"><input id="'+t+'-inp" class="'+r+"textbox "+r+'placeholder" value="'+i+'" hidefocus="1"'+l+" />"+s+"</div>"}})}),r(Ae,[Re],function(e){return e.extend({init:function(e){var t=this;e.spellcheck=!1,e.onaction&&(e.icon="none"),t._super(e),t.addClass("colorbox"),t.on("change keyup postrender",function(){t.repaintColor(t.value())})},repaintColor:function(e){var t=this.getEl().getElementsByTagName("i")[0];if(t)try{t.style.background=e}catch(n){}},value:function(e){var t=this;return"undefined"!=typeof e&&t._rendered&&t.repaintColor(e),t._super(e)}})}),r(Be,[ke,re],function(e,t){return e.extend({showPanel:function(){var e=this,n=e.settings;if(e.active(!0),e.panel)e.panel.show();else{var r=n.panel;r.type&&(r={layout:"grid",items:r}),r.role=r.role||"dialog",r.popover=!0,r.autohide=!0,r.ariaRoot=!0,e.panel=new t(r).on("hide",function(){e.active(!1)}).on("cancel",function(t){t.stopPropagation(),e.focus(),e.hidePanel()}).parent(e).renderTo(e.getContainerElm()),e.panel.fire("show"),e.panel.reflow()}e.panel.moveRel(e.getEl(),n.popoverAlign||(e.isRtl()?["bc-tr","bc-tc"]:["bc-tl","bc-tc"]))},hidePanel:function(){var e=this;e.panel&&e.panel.hide()},postRender:function(){var e=this;return e.aria("haspopup",!0),e.on("click",function(t){t.control===e&&(e.panel&&e.panel.visible()?e.hidePanel():(e.showPanel(),e.panel.focus(!!t.aria)))}),e._super()},remove:function(){return this.panel&&(this.panel.remove(),this.panel=null),this._super()}})}),r(De,[Be,y],function(e,t){var n=t.DOM;return e.extend({init:function(e){this._super(e),this.addClass("colorbutton")},color:function(e){return e?(this._color=e,this.getEl("preview").style.backgroundColor=e,this):this._color},resetColor:function(){return this._color=null,this.getEl("preview").style.backgroundColor=null,this},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.settings.icon?n+"ico "+n+"i-"+e.settings.icon:"",i=e.settings.image?" style=\"background-image: url('"+e.settings.image+"')\"":"";return'<div id="'+t+'" class="'+e.classes()+'" role="button" tabindex="-1" aria-haspopup="true"><button role="presentation" hidefocus="1" type="button" tabindex="-1">'+(r?'<i class="'+r+'"'+i+"></i>":"")+'<span id="'+t+'-preview" class="'+n+'preview"></span>'+(e._text?(r?" ":"")+e._text:"")+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1"> <i class="'+n+'caret"></i></button></div>'},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(r){r.aria&&"down"==r.aria.key||r.control!=e||n.getParent(r.target,"."+e.classPrefix+"open")||(r.stopImmediatePropagation(),t.call(e,r))}),delete e.settings.onclick,e._super()}})}),r(Le,[],function(){function e(e){function i(e,i,o){var a,s,l,c,u,d;return a=0,s=0,l=0,e/=255,i/=255,o/=255,u=t(e,t(i,o)),d=n(e,n(i,o)),u==d?(l=u,{h:0,s:0,v:100*l}):(c=e==u?i-o:o==u?e-i:o-e,a=e==u?3:o==u?1:5,a=60*(a-c/(d-u)),s=(d-u)/d,l=d,{h:r(a),s:r(100*s),v:r(100*l)})}function o(e,i,o){var a,s,l,c;if(e=(parseInt(e,10)||0)%360,i=parseInt(i,10)/100,o=parseInt(o,10)/100,i=n(0,t(i,1)),o=n(0,t(o,1)),0===i)return void(d=f=p=r(255*o));switch(a=e/60,s=o*i,l=s*(1-Math.abs(a%2-1)),c=o-s,Math.floor(a)){case 0:d=s,f=l,p=0;break;case 1:d=l,f=s,p=0;break;case 2:d=0,f=s,p=l;break;case 3:d=0,f=l,p=s;break;case 4:d=l,f=0,p=s;break;case 5:d=s,f=0,p=l;break;default:d=f=p=0}d=r(255*(d+c)),f=r(255*(f+c)),p=r(255*(p+c))}function a(){function e(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+e(d)+e(f)+e(p)}function s(){return{r:d,g:f,b:p}}function l(){return i(d,f,p)}function c(e){var t;return"object"==typeof e?"r"in e?(d=e.r,f=e.g,p=e.b):"v"in e&&o(e.h,e.s,e.v):(t=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec(e))?(d=parseInt(t[1],10),f=parseInt(t[2],10),p=parseInt(t[3],10)):(t=/#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(e))?(d=parseInt(t[1],16),f=parseInt(t[2],16),p=parseInt(t[3],16)):(t=/#([0-F])([0-F])([0-F])/gi.exec(e))&&(d=parseInt(t[1]+t[1],16),f=parseInt(t[2]+t[2],16),p=parseInt(t[3]+t[3],16)),d=0>d?0:d>255?255:d,f=0>f?0:f>255?255:f,p=0>p?0:p>255?255:p,u}var u=this,d=0,f=0,p=0;e&&c(e),u.toRgb=s,u.toHsv=l,u.toHex=a,u.parse=c}var t=Math.min,n=Math.max,r=Math.round;return e}),r(Me,[Ne,Q,Y,Le],function(e,t,n,r){return e.extend({Defaults:{classes:"widget colorpicker"},init:function(e){this._super(e)},postRender:function(){function e(e,t){var r=n.getPos(e),i,o;return i=t.pageX-r.x,o=t.pageY-r.y,i=Math.max(0,Math.min(i/e.clientWidth,1)),o=Math.max(0,Math.min(o/e.clientHeight,1)),{x:i,y:o}}function i(e,t){var i=(360-e.h)/360;n.css(d,{top:100*i+"%"}),t||n.css(p,{left:e.s+"%",top:100-e.v+"%"}),f.style.background=new r({s:100,v:100,h:e.h}).toHex(),s.color().parse({s:e.s,v:e.v,h:e.h})}function o(t){var n;n=e(f,t),c.s=100*n.x,c.v=100*(1-n.y),i(c),s.fire("change")}function a(t){var n;n=e(u,t),c=l.toHsv(),c.h=360*(1-n.y),i(c,!0),s.fire("change")}var s=this,l=s.color(),c,u,d,f,p;u=s.getEl("h"),d=s.getEl("hp"),f=s.getEl("sv"),p=s.getEl("svp"),s._repaint=function(){c=l.toHsv(),i(c)},s._super(),s._svdraghelper=new t(s._id+"-sv",{start:o,drag:o}),s._hdraghelper=new t(s._id+"-h",{start:a,drag:a}),s._repaint()},rgb:function(){return this.color().toRgb()},value:function(e){var t=this;return arguments.length?(t.color().parse(e),void(t._rendered&&t._repaint())):t.color().toHex()},color:function(){return this._color||(this._color=new r),this._color},renderHtml:function(){function e(){var e,t,n="",i,a;for(i="filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=",a=o.split(","),e=0,t=a.length-1;t>e;e++)n+='<div class="'+r+'colorpicker-h-chunk" style="height:'+100/t+"%;"+i+a[e]+",endColorstr="+a[e+1]+");-ms-"+i+a[e]+",endColorstr="+a[e+1]+')"></div>';return n}var t=this,n=t._id,r=t.classPrefix,i,o="#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000",a="background: -ms-linear-gradient(top,"+o+");background: linear-gradient(to bottom,"+o+");";return i='<div id="'+n+'-h" class="'+r+'colorpicker-h" style="'+a+'">'+e()+'<div id="'+n+'-hp" class="'+r+'colorpicker-h-marker"></div></div>','<div id="'+n+'" class="'+t.classes()+'"><div id="'+n+'-sv" class="'+r+'colorpicker-sv"><div class="'+r+'colorpicker-overlay1"><div class="'+r+'colorpicker-overlay2"><div id="'+n+'-svp" class="'+r+'colorpicker-selector1"><div class="'+r+'colorpicker-selector2"></div></div></div></div></div>'+i+"</div>"}})}),r(He,[Ne],function(e){return e.extend({init:function(e){var t=this;e.delimiter||(e.delimiter="\xbb"),t._super(e),t.addClass("path"),t.canFocus=!0,t.on("click",function(e){var n,r=e.target;(n=r.getAttribute("data-index"))&&t.fire("select",{value:t.data()[n],index:n})})},focus:function(){var e=this;return e.getEl().firstChild.focus(),e},data:function(e){var t=this;return"undefined"!=typeof e?(t._data=e,t.update(),t):t._data},update:function(){this.innerHtml(this._getPathHtml())},postRender:function(){var e=this;e._super(),e.data(e.settings.data)},renderHtml:function(){var e=this;return'<div id="'+e._id+'" class="'+e.classes()+'">'+e._getPathHtml()+"</div>"},_getPathHtml:function(){var e=this,t=e._data||[],n,r,i="",o=e.classPrefix;for(n=0,r=t.length;r>n;n++)i+=(n>0?'<div class="'+o+'divider" aria-hidden="true"> '+e.settings.delimiter+" </div>":"")+'<div role="button" class="'+o+"path-item"+(n==r-1?" "+o+"last":"")+'" data-index="'+n+'" tabindex="-1" id="'+e._id+"-"+n+'" aria-level="'+n+'">'+t[n].name+"</div>";return i||(i='<div class="'+o+'path-item">\xa0</div>'),i}})}),r(Pe,[He,he],function(e,t){return e.extend({postRender:function(){function e(e){if(1===e.nodeType){if("BR"==e.nodeName||e.getAttribute("data-mce-bogus"))return!0;if("bookmark"===e.getAttribute("data-mce-type"))return!0}return!1}var n=this,r=t.activeEditor;return r.settings.elementpath!==!1&&(n.on("select",function(e){r.focus(),r.selection.select(this.data()[e.index].element),r.nodeChanged()}),r.on("nodeChange",function(t){for(var i=[],o=t.parents,a=o.length;a--;)if(1==o[a].nodeType&&!e(o[a])){var s=r.fire("ResolveName",{name:o[a].nodeName.toLowerCase(),target:o[a]});if(s.isDefaultPrevented()||i.push({name:s.name,element:o[a]}),s.isPropagationStopped())break}n.data(i)})),n._super()}})}),r(Oe,[J],function(e){return e.extend({Defaults:{layout:"flex",align:"center",defaults:{flex:1}},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.addClass("formitem"),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<div id="'+e._id+'-title" class="'+n+'title">'+e.settings.title+"</div>":"")+'<div id="'+e._id+'-body" class="'+e.classes("body")+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}})}),r(Ie,[J,Oe,d],function(e,t,n){return e.extend({Defaults:{containerCls:"form",layout:"flex",direction:"column",align:"stretch",flex:1,padding:20,labelGap:30,spacing:10,callbacks:{submit:function(){this.submit()}}},preRender:function(){var e=this,r=e.items();e.settings.formItemDefaults||(e.settings.formItemDefaults={layout:"flex",autoResize:"overflow",defaults:{flex:1}}),r.each(function(r){var i,o=r.settings.label;o&&(i=new t(n.extend({items:{type:"label",id:r._id+"-l",text:o,flex:0,forId:r._id,disabled:r.disabled()}},e.settings.formItemDefaults)),i.type="formitem",r.aria("labelledby",r._id+"-l"),"undefined"==typeof r.settings.flex&&(r.settings.flex=1),e.replace(r,i),i.add(r))})},recalcLabels:function(){var e=this,t=0,n=[],r,i,o;if(e.settings.labelGapCalc!==!1)for(o="children"==e.settings.labelGapCalc?e.find("formitem"):e.items(),o.filter("formitem").each(function(e){var r=e.items()[0],i=r.getEl().clientWidth;t=i>t?i:t,n.push(r)}),i=e.settings.labelGap||0,r=n.length;r--;)n[r].settings.minWidth=t+i},visible:function(e){var t=this._super(e);return e===!0&&this._rendered&&this.recalcLabels(),t},submit:function(){return this.fire("submit",{data:this.toJSON()})},postRender:function(){var e=this;e._super(),e.recalcLabels(),e.fromJSON(e.settings.data)}})}),r(Fe,[Ie],function(e){return e.extend({Defaults:{containerCls:"fieldset",layout:"flex",direction:"column",align:"stretch",flex:1,padding:"25 15 5 15",labelGap:30,spacing:10,border:1},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.preRender(),t.preRender(e),'<fieldset id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<legend id="'+e._id+'-title" class="'+n+'fieldset-title">'+e.settings.title+"</legend>":"")+'<div id="'+e._id+'-body" class="'+e.classes("body")+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></fieldset>"}})}),r(ze,[Re,d],function(e,t){return e.extend({init:function(e){var n=this,r=tinymce.activeEditor,i=r.settings,o,a,s;e.spellcheck=!1,s=i.file_picker_types||i.file_browser_callback_types,s&&(s=t.makeMap(s,/[, ]/)),(!s||s[e.filetype])&&(a=i.file_picker_callback,!a||s&&!s[e.filetype]?(a=i.file_browser_callback,!a||s&&!s[e.filetype]||(o=function(){a(n.getEl("inp").id,n.value(),e.filetype,window)})):o=function(){var i=n.fire("beforecall").meta;i=t.extend({filetype:e.filetype},i),a.call(r,function(e,t){n.value(e).fire("change",{meta:t})},n.value(),i)}),o&&(e.icon="browse",e.onaction=o),n._super(e)}})}),r(We,[_e],function(e){return e.extend({recalc:function(e){var t=e.layoutRect(),n=e.paddingBox();e.items().filter(":visible").each(function(e){e.layoutRect({x:n.left,y:n.top,w:t.innerW-n.right-n.left,h:t.innerH-n.top-n.bottom}),e.recalc&&e.recalc()})}})}),r(Ve,[_e],function(e){return e.extend({recalc:function(e){var t,n,r,i,o,a,s,l,c,u,d,f,p,h,m,g,v=[],y,b,C,x,w,_,E,N,k,S,T,R,A,B,D,L,M,H,P,O,I,F,z=Math.max,W=Math.min;for(r=e.items().filter(":visible"),i=e.layoutRect(),o=e._paddingBox,a=e.settings,f=e.isRtl()?a.direction||"row-reversed":a.direction,s=a.align,l=e.isRtl()?a.pack||"end":a.pack,c=a.spacing||0,("row-reversed"==f||"column-reverse"==f)&&(r=r.set(r.toArray().reverse()),f=f.split("-")[0]),"column"==f?(k="y",E="h",N="minH",S="maxH",R="innerH",T="top",A="deltaH",B="contentH",P="left",M="w",D="x",L="innerW",H="minW",O="right",I="deltaW",F="contentW"):(k="x",E="w",N="minW",S="maxW",R="innerW",T="left",A="deltaW",B="contentW",P="top",M="h",D="y",L="innerH",H="minH",O="bottom",I="deltaH",F="contentH"),d=i[R]-o[T]-o[T],_=u=0,t=0,n=r.length;n>t;t++)p=r[t],h=p.layoutRect(),m=p.settings,g=m.flex,d-=n-1>t?c:0,g>0&&(u+=g,h[S]&&v.push(p),h.flex=g),d-=h[N],y=o[P]+h[H]+o[O],y>_&&(_=y);if(x={},x[N]=0>d?i[N]-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],h=p.layoutRect(),b=h[S],y=h[N]+h.flex*C,y>b?(d-=h[S]-h[N],u-=h.flex,h.flex=0,h.maxFlexSize=b):h.maxFlexSize=0;for(C=d/u,w=o[T],x={},0===u&&("end"==l?w=d+o[T]:"center"==l?(w=Math.round(i[R]/2-(i[R]-d)/2)+o[T],0>w&&(w=o[T])):"justify"==l&&(w=o[T],c=Math.floor(d/(r.length-1)))),x[D]=o[P],t=0,n=r.length;n>t;t++)p=r[t],h=p.layoutRect(),y=h.maxFlexSize||h[N],"center"===s?x[D]=Math.round(i[L]/2-h[M]/2):"stretch"===s?(x[M]=z(h[H]||0,i[L]-o[P]-o[O]),x[D]=o[P]):"end"===s&&(x[D]=i[L]-h[M]-o.top),h.flex>0&&(y+=h.flex*C),x[E]=y,x[k]=w,p.layoutRect(x),p.recalc&&p.recalc(),w+=y+c}else if(x.w=x.minW,x.h=x.minH,e.layoutRect(x),this.recalc(e),null===e._lastRect){var V=e.parent();V&&(V._lastRect=null,V.recalc())}}})}),r(Ue,[we],function(e){return e.extend({Defaults:{containerClass:"flow-layout",controlClass:"flow-layout-item",endClass:"break"},recalc:function(e){e.items().filter(":visible").each(function(e){e.recalc&&e.recalc()})}})}),r($e,[K,Ne,re,d,he,u],function(e,t,n,r,i,o){function a(e){function t(t,n){return function(){var r=this;e.on("nodeChange",function(i){var o=e.formatter,a=null;s(i.parents,function(e){return s(t,function(t){return n?o.matchNode(e,n,{value:t.value})&&(a=t.value):o.matchNode(e,t.value)&&(a=t.value),a?!1:void 0}),a?!1:void 0}),r.value(a)})}}function r(e){e=e.replace(/;$/,"").split(";");for(var t=e.length;t--;)e[t]=e[t].split("=");return e}function i(){function t(e){var n=[];if(e)return s(e,function(e){var o={text:e.title,icon:e.icon};if(e.items)o.menu=t(e.items);else{var a=e.format||"custom"+r++;e.format||(e.name=a,i.push(e)),o.format=a,o.cmd=e.cmd}n.push(o)}),n}function n(){var n;return n=t(e.settings.style_formats_merge?e.settings.style_formats?o.concat(e.settings.style_formats):o:e.settings.style_formats||o)}var r=0,i=[],o=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",icon:"bold",format:"bold"},{title:"Italic",icon:"italic",format:"italic"},{title:"Underline",icon:"underline",format:"underline"},{title:"Strikethrough",icon:"strikethrough",format:"strikethrough"},{title:"Superscript",icon:"superscript",format:"superscript"},{title:"Subscript",icon:"subscript",format:"subscript"},{title:"Code",icon:"code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Alignment",items:[{title:"Left",icon:"alignleft",format:"alignleft"},{title:"Center",icon:"aligncenter",format:"aligncenter"},{title:"Right",icon:"alignright",format:"alignright"},{title:"Justify",icon:"alignjustify",format:"alignjustify"}]}];return e.on("init",function(){s(i,function(t){e.formatter.register(t.name,t)})}),{type:"menu",items:n(),onPostRender:function(t){e.fire("renderFormatsMenu",{control:t.control})},itemDefaults:{preview:!0,textStyle:function(){return this.settings.format?e.formatter.getCssText(this.settings.format):void 0},onPostRender:function(){var t=this;t.parent().on("show",function(){var n,r;n=t.settings.format,n&&(t.disabled(!e.formatter.canApply(n)),t.active(e.formatter.match(n))),r=t.settings.cmd,r&&t.active(e.queryCommandState(r))})},onclick:function(){this.settings.format&&l(this.settings.format),this.settings.cmd&&e.execCommand(this.settings.cmd)}}}}function o(t){return function(){function n(){return e.undoManager?e.undoManager[t]():!1}var r=this;t="redo"==t?"hasRedo":"hasUndo",r.disabled(!n()),e.on("Undo Redo AddUndo TypingUndo ClearUndos",function(){r.disabled(!n())})}}function a(){var t=this;e.on("VisualAid",function(e){t.active(e.hasVisual)}),t.active(e.hasVisual)}function l(t){t.control&&(t=t.control.value()),t&&e.execCommand("mceToggleFormat",!1,t)}var c;c=i(),s({bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript"},function(t,n){e.addButton(n,{tooltip:t,onPostRender:function(){var t=this;e.formatter?e.formatter.formatChanged(n,function(e){t.active(e)}):e.on("init",function(){e.formatter.formatChanged(n,function(e){t.active(e)})})},onclick:function(){l(n)}})}),s({outdent:["Decrease indent","Outdent"],indent:["Increase indent","Indent"],cut:["Cut","Cut"],copy:["Copy","Copy"],paste:["Paste","Paste"],help:["Help","mceHelp"],selectall:["Select all","SelectAll"],removeformat:["Clear formatting","RemoveFormat"],visualaid:["Visual aids","mceToggleVisualAid"],newdocument:["New document","mceNewDocument"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1]})}),s({blockquote:["Blockquote","mceBlockQuote"],numlist:["Numbered list","InsertOrderedList"],bullist:["Bullet list","InsertUnorderedList"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],alignleft:["Align left","JustifyLeft"],aligncenter:["Align center","JustifyCenter"],alignright:["Align right","JustifyRight"],alignjustify:["Justify","JustifyFull"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1],onPostRender:function(){var t=this;e.formatter?e.formatter.formatChanged(n,function(e){t.active(e)}):e.on("init",function(){e.formatter.formatChanged(n,function(e){t.active(e)})})}})}),e.addButton("undo",{tooltip:"Undo",onPostRender:o("undo"),cmd:"undo"}),e.addButton("redo",{tooltip:"Redo",onPostRender:o("redo"),cmd:"redo"}),e.addMenuItem("newdocument",{text:"New document",icon:"newdocument",cmd:"mceNewDocument"}),e.addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Meta+Z",onPostRender:o("undo"),cmd:"undo"}),e.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Meta+Y",onPostRender:o("redo"),cmd:"redo"}),e.addMenuItem("visualaid",{text:"Visual aids",selectable:!0,onPostRender:a,cmd:"mceToggleVisualAid"}),s({cut:["Cut","Cut","Meta+X"],copy:["Copy","Copy","Meta+C"],paste:["Paste","Paste","Meta+V"],selectall:["Select all","SelectAll","Meta+A"],bold:["Bold","Bold","Meta+B"],italic:["Italic","Italic","Meta+I"],underline:["Underline","Underline"],strikethrough:["Strikethrough","Strikethrough"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],removeformat:["Clear formatting","RemoveFormat"]},function(t,n){e.addMenuItem(n,{text:t[0],icon:n,shortcut:t[2],cmd:t[1]})}),e.on("mousedown",function(){n.hideAll()}),e.addButton("styleselect",{
+type:"menubutton",text:"Formats",menu:c}),e.addButton("formatselect",function(){var n=[],i=r(e.settings.block_formats||"Paragraph=p;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre");return s(i,function(t){n.push({text:t[0],value:t[1],textStyle:function(){return e.formatter.getCssText(t[1])}})}),{type:"listbox",text:i[0][0],values:n,fixedWidth:!0,onselect:l,onPostRender:t(n)}}),e.addButton("fontselect",function(){var n="Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats",i=[],o=r(e.settings.font_formats||n);return s(o,function(e){i.push({text:{raw:e[0]},value:e[1],textStyle:-1==e[1].indexOf("dings")?"font-family:"+e[1]:""})}),{type:"listbox",text:"Font Family",tooltip:"Font Family",values:i,fixedWidth:!0,onPostRender:t(i,"fontname"),onselect:function(t){t.control.settings.value&&e.execCommand("FontName",!1,t.control.settings.value)}}}),e.addButton("fontsizeselect",function(){var n=[],r="8pt 10pt 12pt 14pt 18pt 24pt 36pt",i=e.settings.fontsize_formats||r;return s(i.split(" "),function(e){var t=e,r=e,i=e.split("=");i.length>1&&(t=i[0],r=i[1]),n.push({text:t,value:r})}),{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:n,fixedWidth:!0,onPostRender:t(n,"fontsize"),onclick:function(t){t.control.settings.value&&e.execCommand("FontSize",!1,t.control.settings.value)}}}),e.addMenuItem("formats",{text:"Formats",menu:c})}var s=r.each;i.on("AddEditor",function(t){t.editor.rtl&&(e.rtl=!0),a(t.editor)}),e.translate=function(e){return i.translate(e)},t.tooltips=!o.iOS}),r(qe,[_e],function(e){return e.extend({recalc:function(e){var t=e.settings,n,r,i,o,a,s,l,c,u,d,f,p,h,m,g,v,y,b,C,x,w,_,E=[],N=[],k,S,T,R,A,B;t=e.settings,i=e.items().filter(":visible"),o=e.layoutRect(),r=t.columns||Math.ceil(Math.sqrt(i.length)),n=Math.ceil(i.length/r),y=t.spacingH||t.spacing||0,b=t.spacingV||t.spacing||0,C=t.alignH||t.align,x=t.alignV||t.align,g=e._paddingBox,A="reverseRows"in t?t.reverseRows:e.isRtl(),C&&"string"==typeof C&&(C=[C]),x&&"string"==typeof x&&(x=[x]);for(d=0;r>d;d++)E.push(0);for(f=0;n>f;f++)N.push(0);for(f=0;n>f;f++)for(d=0;r>d&&(u=i[f*r+d],u);d++)c=u.layoutRect(),k=c.minW,S=c.minH,E[d]=k>E[d]?k:E[d],N[f]=S>N[f]?S:N[f];for(T=o.innerW-g.left-g.right,w=0,d=0;r>d;d++)w+=E[d]+(d>0?y:0),T-=(d>0?y:0)+E[d];for(R=o.innerH-g.top-g.bottom,_=0,f=0;n>f;f++)_+=N[f]+(f>0?b:0),R-=(f>0?b:0)+N[f];if(w+=g.left+g.right,_+=g.top+g.bottom,l={},l.minW=w+(o.w-o.innerW),l.minH=_+(o.h-o.innerH),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH,l.minW=Math.min(l.minW,o.maxW),l.minH=Math.min(l.minH,o.maxH),l.minW=Math.max(l.minW,o.startMinWidth),l.minH=Math.max(l.minH,o.startMinHeight),!o.autoResize||l.minW==o.minW&&l.minH==o.minH){o.autoResize&&(l=e.layoutRect(l),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH);var D;D="start"==t.packV?0:R>0?Math.floor(R/n):0;var L=0,M=t.flexWidths;if(M)for(d=0;d<M.length;d++)L+=M[d];else L=r;var H=T/L;for(d=0;r>d;d++)E[d]+=M?M[d]*H:H;for(h=g.top,f=0;n>f;f++){for(p=g.left,s=N[f]+D,d=0;r>d&&(B=A?f*r+r-1-d:f*r+d,u=i[B],u);d++)m=u.settings,c=u.layoutRect(),a=Math.max(E[d],c.startMinWidth),c.x=p,c.y=h,v=m.alignH||(C?C[d]||C[0]:null),"center"==v?c.x=p+a/2-c.w/2:"right"==v?c.x=p+a-c.w:"stretch"==v&&(c.w=a),v=m.alignV||(x?x[d]||x[0]:null),"center"==v?c.y=h+s/2-c.h/2:"bottom"==v?c.y=h+s-c.h:"stretch"==v&&(c.h=s),u.layoutRect(c),p+=a+y,u.recalc&&u.recalc();h+=s+b}}else if(l.w=l.minW,l.h=l.minH,e.layoutRect(l),this.recalc(e),null===e._lastRect){var P=e.parent();P&&(P._lastRect=null,P.recalc())}}})}),r(je,[Ne],function(e){return e.extend({renderHtml:function(){var e=this;return e.addClass("iframe"),e.canFocus=!1,'<iframe id="'+e._id+'" class="'+e.classes()+'" tabindex="-1" src="'+(e.settings.url||"javascript:''")+'" frameborder="0"></iframe>'},src:function(e){this.getEl().src=e},html:function(e,t){var n=this,r=this.getEl().contentWindow.document.body;return r?(r.innerHTML=e,t&&t()):setTimeout(function(){n.html(e)},0),this}})}),r(Ye,[Ne,Y],function(e,t){return e.extend({init:function(e){var t=this;t._super(e),t.addClass("widget"),t.addClass("label"),t.canFocus=!1,e.multiline&&t.addClass("autoscroll"),e.strong&&t.addClass("strong")},initLayoutRect:function(){var e=this,n=e._super();if(e.settings.multiline){var r=t.getSize(e.getEl());r.width>n.maxW&&(n.minW=n.maxW,e.addClass("multiline")),e.getEl().style.width=n.minW+"px",n.startMinH=n.h=n.minH=Math.min(n.maxH,t.getSize(e.getEl()).height)}return n},repaint:function(){var e=this;return e.settings.multiline||(e.getEl().style.lineHeight=e.layoutRect().h+"px"),e._super()},text:function(e){var t=this;return t._rendered&&e&&this.innerHtml(t.encode(e)),t._super(e)},renderHtml:function(){var e=this,t=e.settings.forId;return'<label id="'+e._id+'" class="'+e.classes()+'"'+(t?' for="'+t+'"':"")+">"+e.encode(e._text)+"</label>"}})}),r(Ke,[J],function(e){return e.extend({Defaults:{role:"toolbar",layout:"flow"},init:function(e){var t=this;t._super(e),t.addClass("toolbar")},postRender:function(){var e=this;return e.items().addClass("toolbar-item"),e._super()}})}),r(Ge,[Ke],function(e){return e.extend({Defaults:{role:"menubar",containerCls:"menubar",ariaRoot:!0,defaults:{type:"menubutton"}}})}),r(Xe,[ke,G,Ge],function(e,t,n){function r(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1}var i=e.extend({init:function(e){var t=this;t._renderOpen=!0,t._super(e),t.addClass("menubtn"),e.fixedWidth&&t.addClass("fixed-width"),t.aria("haspopup",!0),t.hasPopup=!0},showMenu:function(){var e=this,n=e.settings,r;return e.menu&&e.menu.visible()?e.hideMenu():(e.menu||(r=n.menu||[],r.length?r={type:"menu",items:r}:r.type=r.type||"menu",e.menu=t.create(r).parent(e).renderTo(),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control.parent()===e.menu&&(t.stopPropagation(),e.focus(),e.hideMenu())}),e.menu.on("select",function(){e.focus()}),e.menu.on("show hide",function(t){t.control==e.menu&&e.activeMenu("show"==t.type),e.aria("expanded","show"==t.type)}).fire("show")),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),void e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"]))},hideMenu:function(){var e=this;e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide())},activeMenu:function(e){this.toggleClass("active",e)},renderHtml:function(){var e=this,t=e._id,r=e.classPrefix,i=e.settings.icon,o;return o=e.settings.image,o?(i="none","string"!=typeof o&&(o=window.getSelection?o[0]:o[1]),o=" style=\"background-image: url('"+o+"')\""):o="",i=e.settings.icon?r+"ico "+r+"i-"+i:"",e.aria("role",e.parent()instanceof n?"menuitem":"button"),'<div id="'+t+'" class="'+e.classes()+'" tabindex="-1" aria-labelledby="'+t+'"><button id="'+t+'-open" role="presentation" type="button" tabindex="-1">'+(i?'<i class="'+i+'"'+o+"></i>":"")+"<span>"+(e._text?(i?"\xa0":"")+e.encode(e._text):"")+'</span> <i class="'+r+'caret"></i></button></div>'},postRender:function(){var e=this;return e.on("click",function(t){t.control===e&&r(t.target,e.getEl())&&(e.showMenu(),t.aria&&e.menu.items()[0].focus())}),e.on("mouseenter",function(t){var n=t.control,r=e.parent(),o;n&&r&&n instanceof i&&n.parent()==r&&(r.items().filter("MenuButton").each(function(e){e.hideMenu&&e!=n&&(e.menu&&e.menu.visible()&&(o=!0),e.hideMenu())}),o&&(n.focus(),n.showMenu()))}),e._super()},text:function(e){var t=this,n,r;if(t._rendered)for(r=t.getEl("open").getElementsByTagName("span"),n=0;n<r.length;n++)r[n].innerHTML=(t.settings.icon&&e?"\xa0":"")+t.encode(e);return this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}});return i}),r(Je,[Xe],function(e){return e.extend({init:function(e){function t(r){for(var a=0;a<r.length;a++){if(i=r[a].selected||e.value===r[a].value){o=o||r[a].text,n._value=r[a].value;break}r[a].menu&&t(r[a].menu)}}var n=this,r,i,o,a;n._values=r=e.values,r&&(t(r),!i&&r.length>0&&(o=r[0].text,n._value=r[0].value),e.menu=r),e.text=e.text||o||r[0].text,n._super(e),n.addClass("listbox"),n.on("select",function(t){var r=t.control;a&&(t.lastControl=a),e.multiple?r.active(!r.active()):n.value(t.control.settings.value),a=r})},value:function(e){function t(e,n){e.items().each(function(e){i=e.value()===n,i&&(o=o||e.text()),e.active(i),e.menu&&t(e.menu,n)})}function n(t){for(var r=0;r<t.length;r++)i=t[r].value==e,i&&(o=o||t[r].text),t[r].active=i,t[r].menu&&n(t[r].menu)}var r=this,i,o,a;return"undefined"!=typeof e&&(r.menu?t(r.menu,e):(a=r.settings.menu,n(a)),r.text(o||this.settings.text)),r._super(e)}})}),r(Qe,[Ne,G,u],function(e,t,n){return e.extend({Defaults:{border:0,role:"menuitem"},init:function(e){var t=this;t.hasPopup=!0,t._super(e),e=t.settings,t.addClass("menu-item"),e.menu&&t.addClass("menu-item-expand"),e.preview&&t.addClass("menu-item-preview"),("-"===t._text||"|"===t._text)&&(t.addClass("menu-item-sep"),t.aria("role","separator"),t._text="-"),e.selectable&&(t.aria("role","menuitemcheckbox"),t.addClass("menu-item-checkbox"),e.icon="selected"),e.preview||e.selectable||t.addClass("menu-item-normal"),t.on("mousedown",function(e){e.preventDefault()}),e.menu&&!e.ariaHideMenu&&t.aria("haspopup",!0)},hasMenus:function(){return!!this.settings.menu},showMenu:function(){var e=this,n=e.settings,r,i=e.parent();if(i.items().each(function(t){t!==e&&t.hideMenu()}),n.menu){r=e.menu,r?r.show():(r=n.menu,r.length?r={type:"menu",items:r}:r.type=r.type||"menu",i.settings.itemDefaults&&(r.itemDefaults=i.settings.itemDefaults),r=e.menu=t.create(r).parent(e).renderTo(),r.reflow(),r.on("cancel",function(t){t.stopPropagation(),e.focus(),r.hide()}),r.on("show hide",function(e){e.control.items().each(function(e){e.active(e.settings.selected)})}).fire("show"),r.on("hide",function(t){t.control===r&&e.removeClass("selected")}),r.submenu=!0),r._parentMenu=i,r.addClass("menu-sub");var o=r.testMoveRel(e.getEl(),e.isRtl()?["tl-tr","bl-br","tr-tl","br-bl"]:["tr-tl","br-bl","tl-tr","bl-br"]);r.moveRel(e.getEl(),o),r.rel=o,o="menu-sub-"+o,r.removeClass(r._lastRel),r.addClass(o),r._lastRel=o,e.addClass("selected"),e.aria("expanded",!0)}},hideMenu:function(){var e=this;return e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide(),e.aria("expanded",!1)),e},renderHtml:function(){function e(e){var t,r,i={};for(i=n.mac?{alt:"&#x2325;",ctrl:"&#x2318;",shift:"&#x21E7;",meta:"&#x2318;"}:{meta:"Ctrl"},e=e.split("+"),t=0;t<e.length;t++)r=i[e[t].toLowerCase()],r&&(e[t]=r);return e.join("+")}var t=this,r=t._id,i=t.settings,o=t.classPrefix,a=t.encode(t._text),s=t.settings.icon,l="",c=i.shortcut;return s&&t.parent().addClass("menu-has-icons"),i.image&&(s="none",l=" style=\"background-image: url('"+i.image+"')\""),c&&(c=e(c)),s=o+"ico "+o+"i-"+(t.settings.icon||"none"),'<div id="'+r+'" class="'+t.classes()+'" tabindex="-1">'+("-"!==a?'<i class="'+s+'"'+l+"></i>\xa0":"")+("-"!==a?'<span id="'+r+'-text" class="'+o+'text">'+a+"</span>":"")+(c?'<div id="'+r+'-shortcut" class="'+o+'menu-shortcut">'+c+"</div>":"")+(i.menu?'<div class="'+o+'caret"></div>':"")+"</div>"},postRender:function(){var e=this,t=e.settings,n=t.textStyle;if("function"==typeof n&&(n=n.call(this)),n){var r=e.getEl("text");r&&r.setAttribute("style",n)}return e.on("mouseenter click",function(n){n.control===e&&(t.menu||"click"!==n.type?(e.showMenu(),n.aria&&e.menu.focus(!0)):(e.fire("select"),e.parent().hideAll()))}),e._super(),e},active:function(e){return"undefined"!=typeof e&&this.aria("checked",e),this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}})}),r(Ze,[re,Qe,d],function(e,t,n){var r=e.extend({Defaults:{defaultType:"menuitem",border:1,layout:"stack",role:"application",bodyRole:"menu",ariaRoot:!0},init:function(e){var t=this;if(e.autohide=!0,e.constrainToViewport=!0,e.itemDefaults)for(var r=e.items,i=r.length;i--;)r[i]=n.extend({},e.itemDefaults,r[i]);t._super(e),t.addClass("menu")},repaint:function(){return this.toggleClass("menu-align",!0),this._super(),this.getEl().style.height="",this.getEl("body").style.height="",this},cancel:function(){var e=this;e.hideAll(),e.fire("select")},hideAll:function(){var e=this;return this.find("menuitem").exec("hideMenu"),e._super()},preRender:function(){var e=this;return e.items().each(function(t){var n=t.settings;return n.icon||n.selectable?(e._hasIcons=!0,!1):void 0}),e._super()}});return r}),r(et,[Te],function(e){return e.extend({Defaults:{classes:"radio",role:"radio"}})}),r(tt,[Ne,Q],function(e,t){return e.extend({renderHtml:function(){var e=this,t=e.classPrefix;return e.addClass("resizehandle"),"both"==e.settings.direction&&e.addClass("resizehandle-both"),e.canFocus=!1,'<div id="'+e._id+'" class="'+e.classes()+'"><i class="'+t+"ico "+t+'i-resize"></i></div>'},postRender:function(){var e=this;e._super(),e.resizeDragHelper=new t(this._id,{start:function(){e.fire("ResizeStart")},drag:function(t){"both"!=e.settings.direction&&(t.deltaX=0),e.fire("Resize",t)},stop:function(){e.fire("ResizeEnd")}})},remove:function(){return this.resizeDragHelper&&this.resizeDragHelper.destroy(),this._super()}})}),r(nt,[Ne],function(e){return e.extend({renderHtml:function(){var e=this;return e.addClass("spacer"),e.canFocus=!1,'<div id="'+e._id+'" class="'+e.classes()+'"></div>'}})}),r(rt,[Xe,Y],function(e,t){return e.extend({Defaults:{classes:"widget btn splitbtn",role:"button"},repaint:function(){var e=this,n=e.getEl(),r=e.layoutRect(),i,o;return e._super(),i=n.firstChild,o=n.lastChild,t.css(i,{width:r.w-t.getSize(o).width,height:r.h-2}),t.css(o,{height:r.h-2}),e},activeMenu:function(e){var n=this;t.toggleClass(n.getEl().lastChild,n.classPrefix+"active",e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r,i=e.settings.icon;return r=e.settings.image,r?(i="none","string"!=typeof r&&(r=window.getSelection?r[0]:r[1]),r=" style=\"background-image: url('"+r+"')\""):r="",i=e.settings.icon?n+"ico "+n+"i-"+i:"",'<div id="'+t+'" class="'+e.classes()+'" role="button" tabindex="-1"><button type="button" hidefocus="1" tabindex="-1">'+(i?'<i class="'+i+'"'+r+"></i>":"")+(e._text?(i?" ":"")+e._text:"")+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1">'+(e._menuBtnText?(i?"\xa0":"")+e._menuBtnText:"")+' <i class="'+n+'caret"></i></button></div>'},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(e){var n=e.target;if(e.control==this)for(;n;){if(e.aria&&"down"!=e.aria.key||"BUTTON"==n.nodeName&&-1==n.className.indexOf("open"))return e.stopImmediatePropagation(),void t.call(this,e);n=n.parentNode}}),delete e.settings.onclick,e._super()}})}),r(it,[Ue],function(e){return e.extend({Defaults:{containerClass:"stack-layout",controlClass:"stack-layout-item",endClass:"break"}})}),r(ot,[ee,Y],function(e,t){return e.extend({Defaults:{layout:"absolute",defaults:{type:"panel"}},activateTab:function(e){var n;this.activeTabId&&(n=this.getEl(this.activeTabId),t.removeClass(n,this.classPrefix+"active"),n.setAttribute("aria-selected","false")),this.activeTabId="t"+e,n=this.getEl("t"+e),n.setAttribute("aria-selected","true"),t.addClass(n,this.classPrefix+"active"),this.items()[e].show().fire("showtab"),this.reflow(),this.items().each(function(t,n){e!=n&&t.hide()})},renderHtml:function(){var e=this,t=e._layout,n="",r=e.classPrefix;return e.preRender(),t.preRender(e),e.items().each(function(t,i){var o=e._id+"-t"+i;t.aria("role","tabpanel"),t.aria("labelledby",o),n+='<div id="'+o+'" class="'+r+'tab" unselectable="on" role="tab" aria-controls="'+t._id+'" aria-selected="false" tabIndex="-1">'+e.encode(t.settings.title)+"</div>"}),'<div id="'+e._id+'" class="'+e.classes()+'" hidefocus="1" tabindex="-1"><div id="'+e._id+'-head" class="'+r+'tabs" role="tablist">'+n+'</div><div id="'+e._id+'-body" class="'+e.classes("body")+'">'+t.renderHtml(e)+"</div></div>"},postRender:function(){var e=this;e._super(),e.settings.activeTab=e.settings.activeTab||0,e.activateTab(e.settings.activeTab),this.on("click",function(t){var n=t.target.parentNode;if(t.target.parentNode.id==e._id+"-head")for(var r=n.childNodes.length;r--;)n.childNodes[r]==t.target&&e.activateTab(r)})},initLayoutRect:function(){var e=this,n,r,i;r=t.getSize(e.getEl("head")).width,r=0>r?0:r,i=0,e.items().each(function(e){r=Math.max(r,e.layoutRect().minW),i=Math.max(i,e.layoutRect().minH)}),e.items().each(function(e){e.settings.x=0,e.settings.y=0,e.settings.w=r,e.settings.h=i,e.layoutRect({x:0,y:0,w:r,h:i})});var o=t.getSize(e.getEl("head")).height;return e.settings.minWidth=r,e.settings.minHeight=i+o,n=e._super(),n.deltaH+=o,n.innerH=n.h-n.deltaH,n}})}),r(at,[Ne,Y],function(e,t){return e.extend({init:function(e){var t=this;t._super(e),t._value=e.value||"",t.addClass("textbox"),e.multiline?t.addClass("multiline"):t.on("keydown",function(e){13==e.keyCode&&t.parents().reverse().each(function(t){return e.preventDefault(),t.hasEventListeners("submit")&&t.toJSON?(t.fire("submit",{data:t.toJSON()}),!1):void 0})})},disabled:function(e){var t=this;return t._rendered&&"undefined"!=typeof e&&(t.getEl().disabled=e),t._super(e)},value:function(e){var t=this;return"undefined"!=typeof e?(t._value=e,t._rendered&&(t.getEl().value=e),t):t._rendered?t.getEl().value:t._value},repaint:function(){var e=this,t,n,r,i=0,o=0,a;t=e.getEl().style,n=e._layoutRect,a=e._lastRepaintRect||{};var s=document;return!e.settings.multiline&&s.all&&(!s.documentMode||s.documentMode<=8)&&(t.lineHeight=n.h-o+"px"),r=e._borderBox,i=r.left+r.right+8,o=r.top+r.bottom+(e.settings.multiline?8:0),n.x!==a.x&&(t.left=n.x+"px",a.x=n.x),n.y!==a.y&&(t.top=n.y+"px",a.y=n.y),n.w!==a.w&&(t.width=n.w-i+"px",a.w=n.w),n.h!==a.h&&(t.height=n.h-o+"px",a.h=n.h),e._lastRepaintRect=a,e.fire("repaint",{},!1),e},renderHtml:function(){var e=this,t=e._id,n=e.settings,r=e.encode(e._value,!1),i="";return"spellcheck"in n&&(i+=' spellcheck="'+n.spellcheck+'"'),n.maxLength&&(i+=' maxlength="'+n.maxLength+'"'),n.size&&(i+=' size="'+n.size+'"'),n.subtype&&(i+=' type="'+n.subtype+'"'),e.disabled()&&(i+=' disabled="disabled"'),n.multiline?'<textarea id="'+t+'" class="'+e.classes()+'" '+(n.rows?' rows="'+n.rows+'"':"")+' hidefocus="1"'+i+">"+r+"</textarea>":'<input id="'+t+'" class="'+e.classes()+'" value="'+r+'" hidefocus="1"'+i+" />"},postRender:function(){var e=this;return t.on(e.getEl(),"change",function(t){e.fire("change",t)}),e._super()},remove:function(){t.off(this.getEl()),this._super()}})}),r(st,[Y,K],function(e,t){return function(n,r){var i=this,o,a=t.classPrefix;i.show=function(t){return i.hide(),o=!0,window.setTimeout(function(){o&&n.appendChild(e.createFragment('<div class="'+a+"throbber"+(r?" "+a+"throbber-inline":"")+'"></div>'))},t||0),i},i.hide=function(){var e=n.lastChild;return e&&-1!=e.className.indexOf("throbber")&&e.parentNode.removeChild(e),o=!1,i}}}),a([l,c,u,d,f,p,h,m,g,y,b,C,x,_,E,N,k,S,T,R,A,B,D,L,M,H,O,I,F,z,W,V,U,$,q,j,Y,K,G,X,J,Q,Z,ee,te,ne,re,ie,oe,ae,se,le,ce,ue,de,fe,pe,he,me,ge,ve,ye,be,Ce,xe,we,_e,Ee,Ne,ke,Se,Te,Re,Ae,Be,De,Le,Me,He,Pe,Oe,Ie,Fe,ze,We,Ve,Ue,$e,qe,je,Ye,Ke,Ge,Xe,Je,Qe,Ze,et,tt,nt,rt,it,ot,at,st])}(this);
\ No newline at end of file
index 1852fec69dceda90d4bd1ef07982c93395a5e1ef..53d649e281932029b99fe4510c4b20e0fb3d770d 100644 (file)
@@ -100,19 +100,24 @@ header('Content-Type: text/html; charset=' . get_bloginfo('charset'));
                <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>k</th><td><?php _e('Insert/edit link'); ?></td></tr>
+               <tr><th>u</th><td><?php _e('Underline'); ?></td><th>k</th><td><?php _e('Insert/edit link'); ?></td></tr>
        </table>
 
-       <p><?php _e('The following shortcuts use different access keys: Alt + Shift + letter.'); ?></p>
+       <p>
+               <?php _e('The following shortcuts use different access keys: Alt + Shift + letter.'); ?>
+               <?php _e('Macintosh uses Ctrl + Alt + letter.'); ?>
+       </p>
        <table class="keys">
                <tr class="top"><th class="key center"><?php _e('Letter'); ?></th><th class="left"><?php _e('Action'); ?></th><th class="key center"><?php _e('Letter'); ?></th><th class="left"><?php _e('Action'); ?></th></tr>
+
+               <tr><th>1</th><td><?php _e('Heading 1'); ?></td><th>2</th><td><?php _e('Heading 2'); ?></td></tr>
+               <tr><th>3</th><td><?php _e('Heading 3'); ?></td><th>4</th><td><?php _e('Heading 4'); ?></td></tr>
+               <tr><th>5</th><td><?php _e('Heading 5'); ?></td><th>6</th><td><?php _e('Heading 6'); ?></td></tr>
+
                <tr><th>n</th><td><?php _e('Check Spelling'); ?></td><th>l</th><td><?php _e('Align Left'); ?></td></tr>
                <tr><th>j</th><td><?php _e('Justify Text'); ?></td><th>c</th><td><?php _e('Align Center'); ?></td></tr>
                <tr><th>d</th><td><span style="text-decoration: line-through;"><?php _e('Strikethrough'); ?></span></td><th>r</th><td><?php _e('Align Right'); ?></td></tr>
-               <tr><th>u</th><td><strong>&bull;</strong> <?php _e('List'); ?></td><th>a</th><td><?php _e('Insert link'); ?></td></tr>
+               <tr><th>u</th><td><strong>&bull;</strong> <?php _e('List'); ?></td><th>a</th><td><?php _e('Insert/edit link'); ?></td></tr>
                <tr><th>o</th><td>1. <?php _e('List'); ?></td><th>s</th><td><?php _e('Remove link'); ?></td></tr>
                <tr><th>q</th><td><?php _e('Quote'); ?></td><th>m</th><td><?php _e('Insert Image'); ?></td></tr>
                <tr><th>w</th><td><?php _e('Distraction-free writing mode'); ?></td><th>t</th><td><?php _e('Insert More Tag'); ?></td></tr>
index 19dd3ed1b47a9d7cad2158f8b056c3a1e7e231ac..b8d48bbc81df328b586ff9b78a687e2766e782c6 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 922df9fc150d94d3102f041914ae68aab44cc2bc..ea58e682d08a0d8499ced9e9f23d5a44923bd65b 100644 (file)
@@ -21,7 +21,7 @@ function get_file($path) {
 
 $expires_offset = 31536000; // 1 year
 
-header('Content-Type: application/x-javascript; charset=UTF-8');
+header('Content-Type: application/javascript; charset=UTF-8');
 header('Vary: Accept-Encoding'); // Handle proxies
 header('Expires: ' . gmdate( "D, d M Y H:i:s", time() + $expires_offset ) . ' GMT');
 header("Cache-Control: public, max-age=$expires_offset");
diff --git a/wp-includes/js/twemoji.js b/wp-includes/js/twemoji.js
new file mode 100644 (file)
index 0000000..3ff788b
--- /dev/null
@@ -0,0 +1,542 @@
+/*jslint indent: 2, browser: true, bitwise: true, plusplus: true */
+var twemoji = (function (
+  /*! Copyright Twitter Inc. and other contributors. Licensed under MIT *//*
+    https://github.com/twitter/twemoji/blob/gh-pages/LICENSE
+  */
+
+  // WARNING:   this file is generated automatically via
+  //            `node twemoji-generator.js`
+  //            please update its `createTwemoji` function
+  //            at the bottom of the same file instead.
+
+) {
+  'use strict';
+
+  /*jshint maxparams:4 */
+
+  var
+    // the exported module object
+    twemoji = {
+
+
+    /////////////////////////
+    //      properties     //
+    /////////////////////////
+
+      // default assets url, by default will be Twitter Inc. CDN
+      base: (location.protocol === 'https:' ? 'https:' : 'http:') +
+            '//twemoji.maxcdn.com/',
+
+      // default assets file extensions, by default '.png'
+      ext: '.png',
+
+      // default assets/folder size, by default "36x36"
+      // available via Twitter CDN: 16, 36, 72
+      size: '36x36',
+
+      // default class name, by default 'emoji'
+      className: 'emoji',
+
+      // basic utilities / helpers to convert code points
+      // to JavaScript surrogates and vice versa
+      convert: {
+
+        /**
+         * Given an HEX codepoint, returns UTF16 surrogate pairs.
+         *
+         * @param   string  generic codepoint, i.e. '1F4A9'
+         * @return  string  codepoint transformed into utf16 surrogates pair,
+         *          i.e. \uD83D\uDCA9
+         *
+         * @example
+         *  twemoji.convert.fromCodePoint('1f1e8');
+         *  // "\ud83c\udde8"
+         *
+         *  '1f1e8-1f1f3'.split('-').map(twemoji.convert.fromCodePoint).join('')
+         *  // "\ud83c\udde8\ud83c\uddf3"
+         */
+        fromCodePoint: fromCodePoint,
+
+        /**
+         * Given UTF16 surrogate pairs, returns the equivalent HEX codepoint.
+         *
+         * @param   string  generic utf16 surrogates pair, i.e. \uD83D\uDCA9
+         * @param   string  optional separator for double code points, default='-'
+         * @return  string  utf16 transformed into codepoint, i.e. '1F4A9'
+         *
+         * @example
+         *  twemoji.convert.toCodePoint('\ud83c\udde8\ud83c\uddf3');
+         *  // "1f1e8-1f1f3"
+         *
+         *  twemoji.convert.toCodePoint('\ud83c\udde8\ud83c\uddf3', '~');
+         *  // "1f1e8~1f1f3"
+         */
+        toCodePoint: toCodePoint
+      },
+
+
+    /////////////////////////
+    //       methods       //
+    /////////////////////////
+
+      /**
+       * User first: used to remove missing images
+       * preserving the original text intent when
+       * a fallback for network problems is desired.
+       * Automatically added to Image nodes via DOM
+       * It could be recycled for string operations via:
+       *  $('img.emoji').on('error', twemoji.onerror)
+       */
+      onerror: function onerror() {
+        if (this.parentNode) {
+          this.parentNode.replaceChild(createText(this.alt), this);
+        }
+      },
+
+      /**
+       * Main method/logic to generate either <img> tags or HTMLImage nodes.
+       *  "emojify" a generic text or DOM Element.
+       *
+       * @overloads
+       *
+       * String replacement for `innerHTML` or server side operations
+       *  twemoji.parse(string);
+       *  twemoji.parse(string, Function);
+       *  twemoji.parse(string, Object);
+       *
+       * HTMLElement tree parsing for safer operations over existing DOM
+       *  twemoji.parse(HTMLElement);
+       *  twemoji.parse(HTMLElement, Function);
+       *  twemoji.parse(HTMLElement, Object);
+       *
+       * @param   string|HTMLElement  the source to parse and enrich with emoji.
+       *
+       *          string              replace emoji matches with <img> tags.
+       *                              Mainly used to inject emoji via `innerHTML`
+       *                              It does **not** parse the string or validate it,
+       *                              it simply replaces found emoji with a tag.
+       *                              NOTE: be sure this won't affect security.
+       *
+       *          HTMLElement         walk through the DOM tree and find emoji
+       *                              that are inside **text node only** (nodeType === 3)
+       *                              Mainly used to put emoji in already generated DOM
+       *                              without compromising surrounding nodes and
+       *                              **avoiding** the usage of `innerHTML`.
+       *                              NOTE: Using DOM elements instead of strings should
+       *                              improve security without compromising too much
+       *                              performance compared with a less safe `innerHTML`.
+       *
+       * @param   Function|Object  [optional]
+       *                              either the callback that will be invoked or an object
+       *                              with all properties to use per each found emoji.
+       *
+       *          Function            if specified, this will be invoked per each emoji
+       *                              that has been found through the RegExp except
+       *                              those follwed by the invariant \uFE0E ("as text").
+       *                              Once invoked, parameters will be:
+       *
+       *                                codePoint:string  the lower case HEX code point
+       *                                                  i.e. "1f4a9"
+       *
+       *                                options:Object    all info for this parsing operation
+       *
+       *                                variant:char      the optional \uFE0F ("as image")
+       *                                                  variant, in case this info
+       *                                                  is anyhow meaningful.
+       *                                                  By default this is ignored.
+       *
+       *                              If such callback will return a falsy value instead
+       *                              of a valid `src` to use for the image, nothing will
+       *                              actually change for that specific emoji.
+       *
+       *
+       *          Object              if specified, an object containing the following properties
+       *
+       *            callback   Function  the callback to invoke per each found emoji.
+       *            base       string    the base url, by default twemoji.base
+       *            ext        string    the image extension, by default twemoji.ext
+       *            size       string    the assets size, by default twemoji.size
+       *
+       * @example
+       *
+       *  twemoji.parse("I \u2764\uFE0F emoji!");
+       *  // I <img class="emoji" draggable="false" alt="❤️" src="/assets/2764.gif"> emoji!
+       *
+       *
+       *  twemoji.parse("I \u2764\uFE0F emoji!", function(icon, options, variant) {
+       *    return '/assets/' + icon + '.gif';
+       *  });
+       *  // I <img class="emoji" draggable="false" alt="❤️" src="/assets/2764.gif"> emoji!
+       *
+       *
+       * twemoji.parse("I \u2764\uFE0F emoji!", {
+       *   size: 72,
+       *   callback: function(icon, options, variant) {
+       *     return '/assets/' + options.size + '/' + icon + options.ext;
+       *   }
+       * });
+       *  // I <img class="emoji" draggable="false" alt="❤️" src="/assets/72x72/2764.png"> emoji!
+       *
+       */
+      parse: parse,
+
+      /**
+       * Given a string, invokes the callback argument
+       *  per each emoji found in such string.
+       * This is the most raw version used by
+       *  the .parse(string) method itself.
+       *
+       * @param   string    generic string to parse
+       * @param   Function  a generic callback that will be
+       *                    invoked to replace the content.
+       *                    This calback wil receive standard
+       *                    String.prototype.replace(str, callback)
+       *                    arguments such:
+       *  callback(
+       *    match,  // the emoji match
+       *    icon,   // the emoji text (same as text)
+       *    variant // either '\uFE0E' or '\uFE0F', if present
+       *  );
+       *
+       *                    and others commonly received via replace.
+       *
+       *  NOTE: When the variant \uFE0E is found, remember this is an explicit intent
+       *  from the user: the emoji should **not** be replaced with an image.
+       *  In \uFE0F case one, it's the opposite, it should be graphic.
+       *  This utility convetion is that only \uFE0E are not translated into images.
+       */
+      replace: replace,
+
+      /**
+       * Simplify string tests against emoji.
+       *
+       * @param   string  some text that might contain emoji
+       * @return  boolean true if any emoji was found, false otherwise.
+       *
+       * @example
+       *
+       *  if (twemoji.test(someContent)) {
+       *    console.log("emoji All The Things!");
+       *  }
+       */
+      test: test
+    },
+
+    // RegExp based on emoji's official Unicode standards
+    // http://www.unicode.org/Public/UNIDATA/EmojiSources.txt
+    re = /((?:\ud83c\udde8\ud83c\uddf3|\ud83c\uddfa\ud83c\uddf8|\ud83c\uddf7\ud83c\uddfa|\ud83c\uddf0\ud83c\uddf7|\ud83c\uddef\ud83c\uddf5|\ud83c\uddee\ud83c\uddf9|\ud83c\uddec\ud83c\udde7|\ud83c\uddeb\ud83c\uddf7|\ud83c\uddea\ud83c\uddf8|\ud83c\udde9\ud83c\uddea|\u0039\ufe0f?\u20e3|\u0038\ufe0f?\u20e3|\u0037\ufe0f?\u20e3|\u0036\ufe0f?\u20e3|\u0035\ufe0f?\u20e3|\u0034\ufe0f?\u20e3|\u0033\ufe0f?\u20e3|\u0032\ufe0f?\u20e3|\u0031\ufe0f?\u20e3|\u0030\ufe0f?\u20e3|\u0023\ufe0f?\u20e3|\ud83d\udeb3|\ud83d\udeb1|\ud83d\udeb0|\ud83d\udeaf|\ud83d\udeae|\ud83d\udea6|\ud83d\udea3|\ud83d\udea1|\ud83d\udea0|\ud83d\ude9f|\ud83d\ude9e|\ud83d\ude9d|\ud83d\ude9c|\ud83d\ude9b|\ud83d\ude98|\ud83d\ude96|\ud83d\ude94|\ud83d\ude90|\ud83d\ude8e|\ud83d\ude8d|\ud83d\ude8b|\ud83d\ude8a|\ud83d\ude88|\ud83d\ude86|\ud83d\ude82|\ud83d\ude81|\ud83d\ude36|\ud83d\ude34|\ud83d\ude2f|\ud83d\ude2e|\ud83d\ude2c|\ud83d\ude27|\ud83d\ude26|\ud83d\ude1f|\ud83d\ude1b|\ud83d\ude19|\ud83d\ude17|\ud83d\ude15|\ud83d\ude11|\ud83d\ude10|\ud83d\ude0e|\ud83d\ude08|\ud83d\ude07|\ud83d\ude00|\ud83d\udd67|\ud83d\udd66|\ud83d\udd65|\ud83d\udd64|\ud83d\udd63|\ud83d\udd62|\ud83d\udd61|\ud83d\udd60|\ud83d\udd5f|\ud83d\udd5e|\ud83d\udd5d|\ud83d\udd5c|\ud83d\udd2d|\ud83d\udd2c|\ud83d\udd15|\ud83d\udd09|\ud83d\udd08|\ud83d\udd07|\ud83d\udd06|\ud83d\udd05|\ud83d\udd04|\ud83d\udd02|\ud83d\udd01|\ud83d\udd00|\ud83d\udcf5|\ud83d\udcef|\ud83d\udced|\ud83d\udcec|\ud83d\udcb7|\ud83d\udcb6|\ud83d\udcad|\ud83d\udc6d|\ud83d\udc6c|\ud83d\udc65|\ud83d\udc2a|\ud83d\udc16|\ud83d\udc15|\ud83d\udc13|\ud83d\udc10|\ud83d\udc0f|\ud83d\udc0b|\ud83d\udc0a|\ud83d\udc09|\ud83d\udc08|\ud83d\udc07|\ud83d\udc06|\ud83d\udc05|\ud83d\udc04|\ud83d\udc03|\ud83d\udc02|\ud83d\udc01|\ud83d\udc00|\ud83c\udfe4|\ud83c\udfc9|\ud83c\udfc7|\ud83c\udf7c|\ud83c\udf50|\ud83c\udf4b|\ud83c\udf33|\ud83c\udf32|\ud83c\udf1e|\ud83c\udf1d|\ud83c\udf1c|\ud83c\udf1a|\ud83c\udf18|\ud83c\udccf|\ud83c\udd70|\ud83c\udd71|\ud83c\udd7e|\ud83c\udd8e|\ud83c\udd91|\ud83c\udd92|\ud83c\udd93|\ud83c\udd94|\ud83c\udd95|\ud83c\udd96|\ud83c\udd97|\ud83c\udd98|\ud83c\udd99|\ud83c\udd9a|\ud83d\udc77|\ud83d\udec5|\ud83d\udec4|\ud83d\udec3|\ud83d\udec2|\ud83d\udec1|\ud83d\udebf|\ud83d\udeb8|\ud83d\udeb7|\ud83d\udeb5|\ud83c\ude01|\ud83c\ude02|\ud83c\ude32|\ud83c\ude33|\ud83c\ude34|\ud83c\ude35|\ud83c\ude36|\ud83c\ude37|\ud83c\ude38|\ud83c\ude39|\ud83c\ude3a|\ud83c\ude50|\ud83c\ude51|\ud83c\udf00|\ud83c\udf01|\ud83c\udf02|\ud83c\udf03|\ud83c\udf04|\ud83c\udf05|\ud83c\udf06|\ud83c\udf07|\ud83c\udf08|\ud83c\udf09|\ud83c\udf0a|\ud83c\udf0b|\ud83c\udf0c|\ud83c\udf0f|\ud83c\udf11|\ud83c\udf13|\ud83c\udf14|\ud83c\udf15|\ud83c\udf19|\ud83c\udf1b|\ud83c\udf1f|\ud83c\udf20|\ud83c\udf30|\ud83c\udf31|\ud83c\udf34|\ud83c\udf35|\ud83c\udf37|\ud83c\udf38|\ud83c\udf39|\ud83c\udf3a|\ud83c\udf3b|\ud83c\udf3c|\ud83c\udf3d|\ud83c\udf3e|\ud83c\udf3f|\ud83c\udf40|\ud83c\udf41|\ud83c\udf42|\ud83c\udf43|\ud83c\udf44|\ud83c\udf45|\ud83c\udf46|\ud83c\udf47|\ud83c\udf48|\ud83c\udf49|\ud83c\udf4a|\ud83c\udf4c|\ud83c\udf4d|\ud83c\udf4e|\ud83c\udf4f|\ud83c\udf51|\ud83c\udf52|\ud83c\udf53|\ud83c\udf54|\ud83c\udf55|\ud83c\udf56|\ud83c\udf57|\ud83c\udf58|\ud83c\udf59|\ud83c\udf5a|\ud83c\udf5b|\ud83c\udf5c|\ud83c\udf5d|\ud83c\udf5e|\ud83c\udf5f|\ud83c\udf60|\ud83c\udf61|\ud83c\udf62|\ud83c\udf63|\ud83c\udf64|\ud83c\udf65|\ud83c\udf66|\ud83c\udf67|\ud83c\udf68|\ud83c\udf69|\ud83c\udf6a|\ud83c\udf6b|\ud83c\udf6c|\ud83c\udf6d|\ud83c\udf6e|\ud83c\udf6f|\ud83c\udf70|\ud83c\udf71|\ud83c\udf72|\ud83c\udf73|\ud83c\udf74|\ud83c\udf75|\ud83c\udf76|\ud83c\udf77|\ud83c\udf78|\ud83c\udf79|\ud83c\udf7a|\ud83c\udf7b|\ud83c\udf80|\ud83c\udf81|\ud83c\udf82|\ud83c\udf83|\ud83c\udf84|\ud83c\udf85|\ud83c\udf86|\ud83c\udf87|\ud83c\udf88|\ud83c\udf89|\ud83c\udf8a|\ud83c\udf8b|\ud83c\udf8c|\ud83c\udf8d|\ud83c\udf8e|\ud83c\udf8f|\ud83c\udf90|\ud83c\udf91|\ud83c\udf92|\ud83c\udf93|\ud83c\udfa0|\ud83c\udfa1|\ud83c\udfa2|\ud83c\udfa3|\ud83c\udfa4|\ud83c\udfa5|\ud83c\udfa6|\ud83c\udfa7|\ud83c\udfa8|\ud83c\udfa9|\ud83c\udfaa|\ud83c\udfab|\ud83c\udfac|\ud83c\udfad|\ud83c\udfae|\ud83c\udfaf|\ud83c\udfb0|\ud83c\udfb1|\ud83c\udfb2|\ud83c\udfb3|\ud83c\udfb4|\ud83c\udfb5|\ud83c\udfb6|\ud83c\udfb7|\ud83c\udfb8|\ud83c\udfb9|\ud83c\udfba|\ud83c\udfbb|\ud83c\udfbc|\ud83c\udfbd|\ud83c\udfbe|\ud83c\udfbf|\ud83c\udfc0|\ud83c\udfc1|\ud83c\udfc2|\ud83c\udfc3|\ud83c\udfc4|\ud83c\udfc6|\ud83c\udfc8|\ud83c\udfca|\ud83c\udfe0|\ud83c\udfe1|\ud83c\udfe2|\ud83c\udfe3|\ud83c\udfe5|\ud83c\udfe6|\ud83c\udfe7|\ud83c\udfe8|\ud83c\udfe9|\ud83c\udfea|\ud83c\udfeb|\ud83c\udfec|\ud83c\udfed|\ud83c\udfee|\ud83c\udfef|\ud83c\udff0|\ud83d\udc0c|\ud83d\udc0d|\ud83d\udc0e|\ud83d\udc11|\ud83d\udc12|\ud83d\udc14|\ud83d\udc17|\ud83d\udc18|\ud83d\udc19|\ud83d\udc1a|\ud83d\udc1b|\ud83d\udc1c|\ud83d\udc1d|\ud83d\udc1e|\ud83d\udc1f|\ud83d\udc20|\ud83d\udc21|\ud83d\udc22|\ud83d\udc23|\ud83d\udc24|\ud83d\udc25|\ud83d\udc26|\ud83d\udc27|\ud83d\udc28|\ud83d\udc29|\ud83d\udc2b|\ud83d\udc2c|\ud83d\udc2d|\ud83d\udc2e|\ud83d\udc2f|\ud83d\udc30|\ud83d\udc31|\ud83d\udc32|\ud83d\udc33|\ud83d\udc34|\ud83d\udc35|\ud83d\udc36|\ud83d\udc37|\ud83d\udc38|\ud83d\udc39|\ud83d\udc3a|\ud83d\udc3b|\ud83d\udc3c|\ud83d\udc3d|\ud83d\udc3e|\ud83d\udc40|\ud83d\udc42|\ud83d\udc43|\ud83d\udc44|\ud83d\udc45|\ud83d\udc46|\ud83d\udc47|\ud83d\udc48|\ud83d\udc49|\ud83d\udc4a|\ud83d\udc4b|\ud83d\udc4c|\ud83d\udc4d|\ud83d\udc4e|\ud83d\udc4f|\ud83d\udc50|\ud83d\udc51|\ud83d\udc52|\ud83d\udc53|\ud83d\udc54|\ud83d\udc55|\ud83d\udc56|\ud83d\udc57|\ud83d\udc58|\ud83d\udc59|\ud83d\udc5a|\ud83d\udc5b|\ud83d\udc5c|\ud83d\udc5d|\ud83d\udc5e|\ud83d\udc5f|\ud83d\udc60|\ud83d\udc61|\ud83d\udc62|\ud83d\udc63|\ud83d\udc64|\ud83d\udc66|\ud83d\udc67|\ud83d\udc68|\ud83d\udc69|\ud83d\udc6a|\ud83d\udc6b|\ud83d\udc6e|\ud83d\udc6f|\ud83d\udc70|\ud83d\udc71|\ud83d\udc72|\ud83d\udc73|\ud83d\udc74|\ud83d\udc75|\ud83d\udc76|\ud83d\udeb4|\ud83d\udc78|\ud83d\udc79|\ud83d\udc7a|\ud83d\udc7b|\ud83d\udc7c|\ud83d\udc7d|\ud83d\udc7e|\ud83d\udc7f|\ud83d\udc80|\ud83d\udc81|\ud83d\udc82|\ud83d\udc83|\ud83d\udc84|\ud83d\udc85|\ud83d\udc86|\ud83d\udc87|\ud83d\udc88|\ud83d\udc89|\ud83d\udc8a|\ud83d\udc8b|\ud83d\udc8c|\ud83d\udc8d|\ud83d\udc8e|\ud83d\udc8f|\ud83d\udc90|\ud83d\udc91|\ud83d\udc92|\ud83d\udc93|\ud83d\udc94|\ud83d\udc95|\ud83d\udc96|\ud83d\udc97|\ud83d\udc98|\ud83d\udc99|\ud83d\udc9a|\ud83d\udc9b|\ud83d\udc9c|\ud83d\udc9d|\ud83d\udc9e|\ud83d\udc9f|\ud83d\udca0|\ud83d\udca1|\ud83d\udca2|\ud83d\udca3|\ud83d\udca4|\ud83d\udca5|\ud83d\udca6|\ud83d\udca7|\ud83d\udca8|\ud83d\udca9|\ud83d\udcaa|\ud83d\udcab|\ud83d\udcac|\ud83d\udcae|\ud83d\udcaf|\ud83d\udcb0|\ud83d\udcb1|\ud83d\udcb2|\ud83d\udcb3|\ud83d\udcb4|\ud83d\udcb5|\ud83d\udcb8|\ud83d\udcb9|\ud83d\udcba|\ud83d\udcbb|\ud83d\udcbc|\ud83d\udcbd|\ud83d\udcbe|\ud83d\udcbf|\ud83d\udcc0|\ud83d\udcc1|\ud83d\udcc2|\ud83d\udcc3|\ud83d\udcc4|\ud83d\udcc5|\ud83d\udcc6|\ud83d\udcc7|\ud83d\udcc8|\ud83d\udcc9|\ud83d\udcca|\ud83d\udccb|\ud83d\udccc|\ud83d\udccd|\ud83d\udcce|\ud83d\udccf|\ud83d\udcd0|\ud83d\udcd1|\ud83d\udcd2|\ud83d\udcd3|\ud83d\udcd4|\ud83d\udcd5|\ud83d\udcd6|\ud83d\udcd7|\ud83d\udcd8|\ud83d\udcd9|\ud83d\udcda|\ud83d\udcdb|\ud83d\udcdc|\ud83d\udcdd|\ud83d\udcde|\ud83d\udcdf|\ud83d\udce0|\ud83d\udce1|\ud83d\udce2|\ud83d\udce3|\ud83d\udce4|\ud83d\udce5|\ud83d\udce6|\ud83d\udce7|\ud83d\udce8|\ud83d\udce9|\ud83d\udcea|\ud83d\udceb|\ud83d\udcee|\ud83d\udcf0|\ud83d\udcf1|\ud83d\udcf2|\ud83d\udcf3|\ud83d\udcf4|\ud83d\udcf6|\ud83d\udcf7|\ud83d\udcf9|\ud83d\udcfa|\ud83d\udcfb|\ud83d\udcfc|\ud83d\udd03|\ud83d\udd0a|\ud83d\udd0b|\ud83d\udd0c|\ud83d\udd0d|\ud83d\udd0e|\ud83d\udd0f|\ud83d\udd10|\ud83d\udd11|\ud83d\udd12|\ud83d\udd13|\ud83d\udd14|\ud83d\udd16|\ud83d\udd17|\ud83d\udd18|\ud83d\udd19|\ud83d\udd1a|\ud83d\udd1b|\ud83d\udd1c|\ud83d\udd1d|\ud83d\udd1e|\ud83d\udd1f|\ud83d\udd20|\ud83d\udd21|\ud83d\udd22|\ud83d\udd23|\ud83d\udd24|\ud83d\udd25|\ud83d\udd26|\ud83d\udd27|\ud83d\udd28|\ud83d\udd29|\ud83d\udd2a|\ud83d\udd2b|\ud83d\udd2e|\ud83d\udd2f|\ud83d\udd30|\ud83d\udd31|\ud83d\udd32|\ud83d\udd33|\ud83d\udd34|\ud83d\udd35|\ud83d\udd36|\ud83d\udd37|\ud83d\udd38|\ud83d\udd39|\ud83d\udd3a|\ud83d\udd3b|\ud83d\udd3c|\ud83d\udd3d|\ud83d\udd50|\ud83d\udd51|\ud83d\udd52|\ud83d\udd53|\ud83d\udd54|\ud83d\udd55|\ud83d\udd56|\ud83d\udd57|\ud83d\udd58|\ud83d\udd59|\ud83d\udd5a|\ud83d\udd5b|\ud83d\uddfb|\ud83d\uddfc|\ud83d\uddfd|\ud83d\uddfe|\ud83d\uddff|\ud83d\ude01|\ud83d\ude02|\ud83d\ude03|\ud83d\ude04|\ud83d\ude05|\ud83d\ude06|\ud83d\ude09|\ud83d\ude0a|\ud83d\ude0b|\ud83d\ude0c|\ud83d\ude0d|\ud83d\ude0f|\ud83d\ude12|\ud83d\ude13|\ud83d\ude14|\ud83d\ude16|\ud83d\ude18|\ud83d\ude1a|\ud83d\ude1c|\ud83d\ude1d|\ud83d\ude1e|\ud83d\ude20|\ud83d\ude21|\ud83d\ude22|\ud83d\ude23|\ud83d\ude24|\ud83d\ude25|\ud83d\ude28|\ud83d\ude29|\ud83d\ude2a|\ud83d\ude2b|\ud83d\ude2d|\ud83d\ude30|\ud83d\ude31|\ud83d\ude32|\ud83d\ude33|\ud83d\ude35|\ud83d\ude37|\ud83d\ude38|\ud83d\ude39|\ud83d\ude3a|\ud83d\ude3b|\ud83d\ude3c|\ud83d\ude3d|\ud83d\ude3e|\ud83d\ude3f|\ud83d\ude40|\ud83d\ude45|\ud83d\ude46|\ud83d\ude47|\ud83d\ude48|\ud83d\ude49|\ud83d\ude4a|\ud83d\ude4b|\ud83d\ude4c|\ud83d\ude4d|\ud83d\ude4e|\ud83d\ude4f|\ud83d\ude80|\ud83d\ude83|\ud83d\ude84|\ud83d\ude85|\ud83d\ude87|\ud83d\ude89|\ud83d\ude8c|\ud83d\ude8f|\ud83d\ude91|\ud83d\ude92|\ud83d\ude93|\ud83d\ude95|\ud83d\ude97|\ud83d\ude99|\ud83d\ude9a|\ud83d\udea2|\ud83d\udea4|\ud83d\udea5|\ud83d\udea7|\ud83d\udea8|\ud83d\udea9|\ud83d\udeaa|\ud83d\udeab|\ud83d\udeac|\ud83d\udead|\ud83d\udeb2|\ud83d\udeb6|\ud83d\udeb9|\ud83d\udeba|\ud83d\udebb|\ud83d\udebc|\ud83d\udebd|\ud83d\udebe|\ud83d\udec0|\ud83c\udde6|\ud83c\udde7|\ud83c\udde8|\ud83c\udde9|\ud83c\uddea|\ud83c\uddeb|\ud83c\uddec|\ud83c\udded|\ud83c\uddee|\ud83c\uddef|\ud83c\uddf0|\ud83c\uddf1|\ud83c\uddf2|\ud83c\uddf3|\ud83c\uddf4|\ud83c\uddf5|\ud83c\uddf6|\ud83c\uddf7|\ud83c\uddf8|\ud83c\uddf9|\ud83c\uddfa|\ud83c\uddfb|\ud83c\uddfc|\ud83c\uddfd|\ud83c\uddfe|\ud83c\uddff|\ud83c\udf0d|\ud83c\udf0e|\ud83c\udf10|\ud83c\udf12|\ud83c\udf16|\ud83c\udf17|\ue50a|\u3030|\u27b0|\u2797|\u2796|\u2795|\u2755|\u2754|\u2753|\u274e|\u274c|\u2728|\u270b|\u270a|\u2705|\u26ce|\u23f3|\u23f0|\u23ec|\u23eb|\u23ea|\u23e9|\u2122|\u27bf|\u00a9|\u00ae)|(?:(?:\ud83c\udc04|\ud83c\udd7f|\ud83c\ude1a|\ud83c\ude2f|\u3299|\u303d|\u2b55|\u2b50|\u2b1c|\u2b1b|\u2b07|\u2b06|\u2b05|\u2935|\u2934|\u27a1|\u2764|\u2757|\u2747|\u2744|\u2734|\u2733|\u2716|\u2714|\u2712|\u270f|\u270c|\u2709|\u2708|\u2702|\u26fd|\u26fa|\u26f5|\u26f3|\u26f2|\u26ea|\u26d4|\u26c5|\u26c4|\u26be|\u26bd|\u26ab|\u26aa|\u26a1|\u26a0|\u2693|\u267f|\u267b|\u3297|\u2666|\u2665|\u2663|\u2660|\u2653|\u2652|\u2651|\u2650|\u264f|\u264e|\u264d|\u264c|\u264b|\u264a|\u2649|\u2648|\u263a|\u261d|\u2615|\u2614|\u2611|\u260e|\u2601|\u2600|\u25fe|\u25fd|\u25fc|\u25fb|\u25c0|\u25b6|\u25ab|\u25aa|\u24c2|\u231b|\u231a|\u21aa|\u21a9|\u2199|\u2198|\u2197|\u2196|\u2195|\u2194|\u2139|\u2049|\u203c|\u2668)([\uFE0E\uFE0F]?)))/g,
+
+    // nodes with type 1 which should **not** be parsed
+    shouldntBeParsed = /IFRAME|NOFRAMES|NOSCRIPT|SCRIPT|SELECT|STYLE|TEXTAREA/,
+
+    // just a private shortcut
+    fromCharCode = String.fromCharCode;
+
+  return twemoji;
+
+
+  /////////////////////////
+  //  private functions  //
+  //     declaration     //
+  /////////////////////////
+
+  /**
+   * Shortcut to create text nodes
+   * @param   string  text used to create DOM text node
+   * @return  Node  a DOM node with that text
+   */
+  function createText(text) {
+    return document.createTextNode(text);
+  }
+
+  /**
+   * Default callback used to generate emoji src
+   *  based on Twitter CDN
+   * @param   string    the emoji codepoint string
+   * @param   string    the default size to use, i.e. "36x36"
+   * @param   string    optional "\uFE0F" variant char, ignored by default
+   * @return  string    the image source to use
+   */
+  function defaultImageSrcGenerator(icon, options) {
+    return ''.concat(options.base, options.size, '/', icon, options.ext);
+  }
+
+  /**
+   * Given a generic DOM nodeType 1, walk through all children
+   * and store every nodeType 3 (#text) found in the tree.
+   * @param   Element a DOM Element with probably some text in it
+   * @param   Array the list of previously discovered text nodes
+   * @return  Array same list with new discovered nodes, if any
+   */
+  function grabAllTextNodes(node, allText) {
+    var
+      childNodes = node.childNodes,
+      length = childNodes.length,
+      subnode,
+      nodeType;
+    while (length--) {
+      subnode = childNodes[length];
+      nodeType = subnode.nodeType;
+      // parse emoji only in text nodes
+      if (nodeType === 3) {
+        // collect them to process emoji later
+        allText.push(subnode);
+      }
+      // ignore all nodes that are not type 1 or that
+      // should not be parsed as script, style, and others
+      else if (nodeType === 1 && !shouldntBeParsed.test(subnode.nodeName)) {
+        grabAllTextNodes(subnode, allText);
+      }
+    }
+    return allText;
+  }
+
+  /**
+   * Used to both remove the possible variant
+   *  and to convert utf16 into code points
+   * @param   string    the emoji surrogate pair
+   * @param   string    the optional variant char, if any
+   */
+  function grabTheRightIcon(icon, variant) {
+    // if variant is present as \uFE0F
+    return toCodePoint(
+      variant === '\uFE0F' ?
+        // the icon should not contain it
+        icon.slice(0, -1) :
+        // fix non standard OSX behavior
+        (icon.length === 3 && icon.charAt(1) === '\uFE0F' ?
+          icon.charAt(0) + icon.charAt(2) : icon)
+    );
+  }
+
+  /**
+   * DOM version of the same logic / parser:
+   *  emojify all found sub-text nodes placing images node instead.
+   * @param   Element   generic DOM node with some text in some child node
+   * @param   Object    options  containing info about how to parse
+    *
+    *            .callback   Function  the callback to invoke per each found emoji.
+    *            .base       string    the base url, by default twemoji.base
+    *            .ext        string    the image extension, by default twemoji.ext
+    *            .size       string    the assets size, by default twemoji.size
+    *
+   * @return  Element same generic node with emoji in place, if any.
+   */
+  function parseNode(node, options) {
+    var
+      allText = grabAllTextNodes(node, []),
+      length = allText.length,
+      modified,
+      fragment,
+      subnode,
+      text,
+      match,
+      i,
+      index,
+      img,
+      alt,
+      icon,
+      variant,
+      src,
+      attr;
+    while (length--) {
+      modified = false;
+      fragment = document.createDocumentFragment();
+      subnode = allText[length];
+      text = subnode.nodeValue;
+      i = 0;
+      while ((match = re.exec(text))) {
+        index = match.index;
+        if (index !== i) {
+          fragment.appendChild(
+            createText(text.slice(i, index))
+          );
+        }
+        alt = match[0];
+        icon = match[1];
+        variant = match[2];
+        i = index + alt.length;
+        if (variant !== '\uFE0E') {
+          src = options.callback(
+            grabTheRightIcon(icon, variant),
+            options,
+            variant
+          );
+          if (src) {
+            img = new Image();
+
+                       // Set additional image attributes.
+            if ( options.imgAttr ) {
+              for ( attr in options.imgAttr ) {
+                img.setAttribute( attr, options.imgAttr[attr] );
+              }
+            }
+
+            img.onerror = twemoji.onerror;
+            img.className = options.className;
+            img.setAttribute('draggable', 'false');
+            img.alt = alt;
+            img.src = src;
+            modified = true;
+            fragment.appendChild(img);
+          }
+        }
+        if (!img) fragment.appendChild(createText(alt));
+        img = null;
+      }
+      // is there actually anything to replace in here ?
+      if (modified) {
+        // any text left to be added ?
+        if (i < text.length) {
+          fragment.appendChild(
+            createText(text.slice(i))
+          );
+        }
+        // replace the text node only, leave intact
+        // anything else surrounding such text
+        subnode.parentNode.replaceChild(fragment, subnode);
+      }
+    }
+    return node;
+  }
+
+  /**
+   * String/HTML version of the same logic / parser:
+   *  emojify a generic text placing images tags instead of surrogates pair.
+   * @param   string    generic string with possibly some emoji in it
+   * @param   Object    options  containing info about how to parse
+   *
+   *            .callback   Function  the callback to invoke per each found emoji.
+   *            .base       string    the base url, by default twemoji.base
+   *            .ext        string    the image extension, by default twemoji.ext
+   *            .size       string    the assets size, by default twemoji.size
+   *
+   * @return  the string with <img tags> replacing all found and parsed emoji
+   */
+  function parseString(str, options) {
+    return replace(str, function (match, icon, variant) {
+      var src, attr, attributes = '';
+      // verify the variant is not the FE0E one
+      // this variant means "emoji as text" and should not
+      // require any action/replacement
+      // http://unicode.org/Public/UNIDATA/StandardizedVariants.html
+      if (variant !== '\uFE0E') {
+        src = options.callback(
+          grabTheRightIcon(icon, variant),
+          options,
+          variant
+        );
+        if (src) {
+          // Set additional image attributes.
+          if ( options.imgAttr ) {
+            for ( attr in options.imgAttr ) {
+              if ( ! /draggable|class|alt|src/i.test( attr ) ) {
+                attributes += ' '.concat( attr, '="', options.imgAttr[attr], '"' );
+              }
+            }
+          }
+
+          // recycle the match string replacing the emoji
+          // with its image counter part
+          match = '<img '.concat(
+            'class="', options.className, '" ',
+            'draggable="false" ',
+            // needs to preserve user original intent
+            // when variants should be copied and pasted too
+            'alt="',
+            match,
+            '" ',
+            'src="',
+            src,
+            '"',
+            attributes,
+            '>'
+          );
+        }
+      }
+      return match;
+    });
+  }
+
+  /**
+   * Given a generic value, creates its squared counterpart if it's a number.
+   *  As example, number 36 will return '36x36'.
+   * @param   any     a generic value.
+   * @return  any     a string representing asset size, i.e. "36x36"
+   *                  only in case the value was a number.
+   *                  Returns initial value otherwise.
+   */
+  function toSizeSquaredAsset(value) {
+    return typeof value === 'number' ?
+      value + 'x' + value :
+      value;
+  }
+
+
+  /////////////////////////
+  //  exported functions //
+  //     declaration     //
+  /////////////////////////
+
+  function fromCodePoint(codepoint) {
+    var code = typeof codepoint === 'string' ?
+          parseInt(codepoint, 16) : codepoint;
+    if (code < 0x10000) {
+      return fromCharCode(code);
+    }
+    code -= 0x10000;
+    return fromCharCode(
+      0xD800 + (code >> 10),
+      0xDC00 + (code & 0x3FF)
+    );
+  }
+
+  function parse(what, how) {
+    if (!how || typeof how === 'function') {
+      how = {callback: how};
+    }
+    // if first argument is string, inject html <img> tags
+    // otherwise use the DOM tree and parse text nodes only
+    return (typeof what === 'string' ? parseString : parseNode)(what, {
+      callback: how.callback || defaultImageSrcGenerator,
+      base:     typeof how.base === 'string' ? how.base : twemoji.base,
+      ext:      how.ext || twemoji.ext,
+      size:     how.folder || toSizeSquaredAsset(how.size || twemoji.size),
+      className:how.className || twemoji.className,
+      imgAttr:  how.imgAttr
+    });
+  }
+
+  function replace(text, callback) {
+    return String(text).replace(re, callback);
+  }
+
+  function test(text) {
+    // IE6 needs a reset before too
+    re.lastIndex = 0;
+    var result = re.test(text);
+    re.lastIndex = 0;
+    return result;
+  }
+
+  function toCodePoint(unicodeSurrogates, sep) {
+    var
+      r = [],
+      c = 0,
+      p = 0,
+      i = 0;
+    while (i < unicodeSurrogates.length) {
+      c = unicodeSurrogates.charCodeAt(i++);
+      if (p) {
+        r.push((0x10000 + ((p - 0xD800) << 10) + (c - 0xDC00)).toString(16));
+        p = 0;
+      } else if (0xD800 <= c && c <= 0xDBFF) {
+        p = c;
+      } else {
+        r.push(c.toString(16));
+      }
+    }
+    return r.join(sep || '-');
+  }
+
+}());
diff --git a/wp-includes/js/twemoji.min.js b/wp-includes/js/twemoji.min.js
new file mode 100644 (file)
index 0000000..fec7ec6
--- /dev/null
@@ -0,0 +1 @@
+var twemoji=function(){"use strict";function a(a){return document.createTextNode(a)}function b(a,b){return"".concat(b.base,b.size,"/",a,b.ext)}function c(a,b){for(var d,e,f=a.childNodes,g=f.length;g--;)d=f[g],e=d.nodeType,3===e?b.push(d):1!==e||o.test(d.nodeName)||c(d,b);return b}function d(a,b){return l("️"===b?a.slice(0,-1):3===a.length&&"️"===a.charAt(1)?a.charAt(0)+a.charAt(2):a)}function e(b,e){for(var f,g,h,i,j,k,l,o,p,q,r,s,t,u=c(b,[]),v=u.length;v--;){for(f=!1,g=document.createDocumentFragment(),h=u[v],i=h.nodeValue,k=0;j=n.exec(i);){if(l=j.index,l!==k&&g.appendChild(a(i.slice(k,l))),p=j[0],q=j[1],r=j[2],k=l+p.length,"︎"!==r&&(s=e.callback(d(q,r),e,r))){if(o=new Image,e.imgAttr)for(t in e.imgAttr)o.setAttribute(t,e.imgAttr[t]);o.onerror=m.onerror,o.className=e.className,o.setAttribute("draggable","false"),o.alt=p,o.src=s,f=!0,g.appendChild(o)}o||g.appendChild(a(p)),o=null}f&&(k<i.length&&g.appendChild(a(i.slice(k))),h.parentNode.replaceChild(g,h))}return b}function f(a,b){return j(a,function(a,c,e){var f,g,h="";if("︎"!==e&&(f=b.callback(d(c,e),b,e))){if(b.imgAttr)for(g in b.imgAttr)/draggable|class|alt|src/i.test(g)||(h+=" ".concat(g,'="',b.imgAttr[g],'"'));a="<img ".concat('class="',b.className,'" ','draggable="false" ','alt="',a,'" ','src="',f,'"',h,">")}return a})}function g(a){return"number"==typeof a?a+"x"+a:a}function h(a){var b="string"==typeof a?parseInt(a,16):a;return 65536>b?p(b):(b-=65536,p(55296+(b>>10),56320+(1023&b)))}function i(a,c){return c&&"function"!=typeof c||(c={callback:c}),("string"==typeof a?f:e)(a,{callback:c.callback||b,base:"string"==typeof c.base?c.base:m.base,ext:c.ext||m.ext,size:c.folder||g(c.size||m.size),className:c.className||m.className,imgAttr:c.imgAttr})}function j(a,b){return String(a).replace(n,b)}function k(a){n.lastIndex=0;var b=n.test(a);return n.lastIndex=0,b}function l(a,b){for(var c=[],d=0,e=0,f=0;f<a.length;)d=a.charCodeAt(f++),e?(c.push((65536+(e-55296<<10)+(d-56320)).toString(16)),e=0):d>=55296&&56319>=d?e=d:c.push(d.toString(16));return c.join(b||"-")}var m={base:("https:"===location.protocol?"https:":"http:")+"//twemoji.maxcdn.com/",ext:".png",size:"36x36",className:"emoji",convert:{fromCodePoint:h,toCodePoint:l},onerror:function(){this.parentNode&&this.parentNode.replaceChild(a(this.alt),this)},parse:i,replace:j,test:k},n=/((?:\ud83c\udde8\ud83c\uddf3|\ud83c\uddfa\ud83c\uddf8|\ud83c\uddf7\ud83c\uddfa|\ud83c\uddf0\ud83c\uddf7|\ud83c\uddef\ud83c\uddf5|\ud83c\uddee\ud83c\uddf9|\ud83c\uddec\ud83c\udde7|\ud83c\uddeb\ud83c\uddf7|\ud83c\uddea\ud83c\uddf8|\ud83c\udde9\ud83c\uddea|\u0039\ufe0f?\u20e3|\u0038\ufe0f?\u20e3|\u0037\ufe0f?\u20e3|\u0036\ufe0f?\u20e3|\u0035\ufe0f?\u20e3|\u0034\ufe0f?\u20e3|\u0033\ufe0f?\u20e3|\u0032\ufe0f?\u20e3|\u0031\ufe0f?\u20e3|\u0030\ufe0f?\u20e3|\u0023\ufe0f?\u20e3|\ud83d\udeb3|\ud83d\udeb1|\ud83d\udeb0|\ud83d\udeaf|\ud83d\udeae|\ud83d\udea6|\ud83d\udea3|\ud83d\udea1|\ud83d\udea0|\ud83d\ude9f|\ud83d\ude9e|\ud83d\ude9d|\ud83d\ude9c|\ud83d\ude9b|\ud83d\ude98|\ud83d\ude96|\ud83d\ude94|\ud83d\ude90|\ud83d\ude8e|\ud83d\ude8d|\ud83d\ude8b|\ud83d\ude8a|\ud83d\ude88|\ud83d\ude86|\ud83d\ude82|\ud83d\ude81|\ud83d\ude36|\ud83d\ude34|\ud83d\ude2f|\ud83d\ude2e|\ud83d\ude2c|\ud83d\ude27|\ud83d\ude26|\ud83d\ude1f|\ud83d\ude1b|\ud83d\ude19|\ud83d\ude17|\ud83d\ude15|\ud83d\ude11|\ud83d\ude10|\ud83d\ude0e|\ud83d\ude08|\ud83d\ude07|\ud83d\ude00|\ud83d\udd67|\ud83d\udd66|\ud83d\udd65|\ud83d\udd64|\ud83d\udd63|\ud83d\udd62|\ud83d\udd61|\ud83d\udd60|\ud83d\udd5f|\ud83d\udd5e|\ud83d\udd5d|\ud83d\udd5c|\ud83d\udd2d|\ud83d\udd2c|\ud83d\udd15|\ud83d\udd09|\ud83d\udd08|\ud83d\udd07|\ud83d\udd06|\ud83d\udd05|\ud83d\udd04|\ud83d\udd02|\ud83d\udd01|\ud83d\udd00|\ud83d\udcf5|\ud83d\udcef|\ud83d\udced|\ud83d\udcec|\ud83d\udcb7|\ud83d\udcb6|\ud83d\udcad|\ud83d\udc6d|\ud83d\udc6c|\ud83d\udc65|\ud83d\udc2a|\ud83d\udc16|\ud83d\udc15|\ud83d\udc13|\ud83d\udc10|\ud83d\udc0f|\ud83d\udc0b|\ud83d\udc0a|\ud83d\udc09|\ud83d\udc08|\ud83d\udc07|\ud83d\udc06|\ud83d\udc05|\ud83d\udc04|\ud83d\udc03|\ud83d\udc02|\ud83d\udc01|\ud83d\udc00|\ud83c\udfe4|\ud83c\udfc9|\ud83c\udfc7|\ud83c\udf7c|\ud83c\udf50|\ud83c\udf4b|\ud83c\udf33|\ud83c\udf32|\ud83c\udf1e|\ud83c\udf1d|\ud83c\udf1c|\ud83c\udf1a|\ud83c\udf18|\ud83c\udccf|\ud83c\udd70|\ud83c\udd71|\ud83c\udd7e|\ud83c\udd8e|\ud83c\udd91|\ud83c\udd92|\ud83c\udd93|\ud83c\udd94|\ud83c\udd95|\ud83c\udd96|\ud83c\udd97|\ud83c\udd98|\ud83c\udd99|\ud83c\udd9a|\ud83d\udc77|\ud83d\udec5|\ud83d\udec4|\ud83d\udec3|\ud83d\udec2|\ud83d\udec1|\ud83d\udebf|\ud83d\udeb8|\ud83d\udeb7|\ud83d\udeb5|\ud83c\ude01|\ud83c\ude02|\ud83c\ude32|\ud83c\ude33|\ud83c\ude34|\ud83c\ude35|\ud83c\ude36|\ud83c\ude37|\ud83c\ude38|\ud83c\ude39|\ud83c\ude3a|\ud83c\ude50|\ud83c\ude51|\ud83c\udf00|\ud83c\udf01|\ud83c\udf02|\ud83c\udf03|\ud83c\udf04|\ud83c\udf05|\ud83c\udf06|\ud83c\udf07|\ud83c\udf08|\ud83c\udf09|\ud83c\udf0a|\ud83c\udf0b|\ud83c\udf0c|\ud83c\udf0f|\ud83c\udf11|\ud83c\udf13|\ud83c\udf14|\ud83c\udf15|\ud83c\udf19|\ud83c\udf1b|\ud83c\udf1f|\ud83c\udf20|\ud83c\udf30|\ud83c\udf31|\ud83c\udf34|\ud83c\udf35|\ud83c\udf37|\ud83c\udf38|\ud83c\udf39|\ud83c\udf3a|\ud83c\udf3b|\ud83c\udf3c|\ud83c\udf3d|\ud83c\udf3e|\ud83c\udf3f|\ud83c\udf40|\ud83c\udf41|\ud83c\udf42|\ud83c\udf43|\ud83c\udf44|\ud83c\udf45|\ud83c\udf46|\ud83c\udf47|\ud83c\udf48|\ud83c\udf49|\ud83c\udf4a|\ud83c\udf4c|\ud83c\udf4d|\ud83c\udf4e|\ud83c\udf4f|\ud83c\udf51|\ud83c\udf52|\ud83c\udf53|\ud83c\udf54|\ud83c\udf55|\ud83c\udf56|\ud83c\udf57|\ud83c\udf58|\ud83c\udf59|\ud83c\udf5a|\ud83c\udf5b|\ud83c\udf5c|\ud83c\udf5d|\ud83c\udf5e|\ud83c\udf5f|\ud83c\udf60|\ud83c\udf61|\ud83c\udf62|\ud83c\udf63|\ud83c\udf64|\ud83c\udf65|\ud83c\udf66|\ud83c\udf67|\ud83c\udf68|\ud83c\udf69|\ud83c\udf6a|\ud83c\udf6b|\ud83c\udf6c|\ud83c\udf6d|\ud83c\udf6e|\ud83c\udf6f|\ud83c\udf70|\ud83c\udf71|\ud83c\udf72|\ud83c\udf73|\ud83c\udf74|\ud83c\udf75|\ud83c\udf76|\ud83c\udf77|\ud83c\udf78|\ud83c\udf79|\ud83c\udf7a|\ud83c\udf7b|\ud83c\udf80|\ud83c\udf81|\ud83c\udf82|\ud83c\udf83|\ud83c\udf84|\ud83c\udf85|\ud83c\udf86|\ud83c\udf87|\ud83c\udf88|\ud83c\udf89|\ud83c\udf8a|\ud83c\udf8b|\ud83c\udf8c|\ud83c\udf8d|\ud83c\udf8e|\ud83c\udf8f|\ud83c\udf90|\ud83c\udf91|\ud83c\udf92|\ud83c\udf93|\ud83c\udfa0|\ud83c\udfa1|\ud83c\udfa2|\ud83c\udfa3|\ud83c\udfa4|\ud83c\udfa5|\ud83c\udfa6|\ud83c\udfa7|\ud83c\udfa8|\ud83c\udfa9|\ud83c\udfaa|\ud83c\udfab|\ud83c\udfac|\ud83c\udfad|\ud83c\udfae|\ud83c\udfaf|\ud83c\udfb0|\ud83c\udfb1|\ud83c\udfb2|\ud83c\udfb3|\ud83c\udfb4|\ud83c\udfb5|\ud83c\udfb6|\ud83c\udfb7|\ud83c\udfb8|\ud83c\udfb9|\ud83c\udfba|\ud83c\udfbb|\ud83c\udfbc|\ud83c\udfbd|\ud83c\udfbe|\ud83c\udfbf|\ud83c\udfc0|\ud83c\udfc1|\ud83c\udfc2|\ud83c\udfc3|\ud83c\udfc4|\ud83c\udfc6|\ud83c\udfc8|\ud83c\udfca|\ud83c\udfe0|\ud83c\udfe1|\ud83c\udfe2|\ud83c\udfe3|\ud83c\udfe5|\ud83c\udfe6|\ud83c\udfe7|\ud83c\udfe8|\ud83c\udfe9|\ud83c\udfea|\ud83c\udfeb|\ud83c\udfec|\ud83c\udfed|\ud83c\udfee|\ud83c\udfef|\ud83c\udff0|\ud83d\udc0c|\ud83d\udc0d|\ud83d\udc0e|\ud83d\udc11|\ud83d\udc12|\ud83d\udc14|\ud83d\udc17|\ud83d\udc18|\ud83d\udc19|\ud83d\udc1a|\ud83d\udc1b|\ud83d\udc1c|\ud83d\udc1d|\ud83d\udc1e|\ud83d\udc1f|\ud83d\udc20|\ud83d\udc21|\ud83d\udc22|\ud83d\udc23|\ud83d\udc24|\ud83d\udc25|\ud83d\udc26|\ud83d\udc27|\ud83d\udc28|\ud83d\udc29|\ud83d\udc2b|\ud83d\udc2c|\ud83d\udc2d|\ud83d\udc2e|\ud83d\udc2f|\ud83d\udc30|\ud83d\udc31|\ud83d\udc32|\ud83d\udc33|\ud83d\udc34|\ud83d\udc35|\ud83d\udc36|\ud83d\udc37|\ud83d\udc38|\ud83d\udc39|\ud83d\udc3a|\ud83d\udc3b|\ud83d\udc3c|\ud83d\udc3d|\ud83d\udc3e|\ud83d\udc40|\ud83d\udc42|\ud83d\udc43|\ud83d\udc44|\ud83d\udc45|\ud83d\udc46|\ud83d\udc47|\ud83d\udc48|\ud83d\udc49|\ud83d\udc4a|\ud83d\udc4b|\ud83d\udc4c|\ud83d\udc4d|\ud83d\udc4e|\ud83d\udc4f|\ud83d\udc50|\ud83d\udc51|\ud83d\udc52|\ud83d\udc53|\ud83d\udc54|\ud83d\udc55|\ud83d\udc56|\ud83d\udc57|\ud83d\udc58|\ud83d\udc59|\ud83d\udc5a|\ud83d\udc5b|\ud83d\udc5c|\ud83d\udc5d|\ud83d\udc5e|\ud83d\udc5f|\ud83d\udc60|\ud83d\udc61|\ud83d\udc62|\ud83d\udc63|\ud83d\udc64|\ud83d\udc66|\ud83d\udc67|\ud83d\udc68|\ud83d\udc69|\ud83d\udc6a|\ud83d\udc6b|\ud83d\udc6e|\ud83d\udc6f|\ud83d\udc70|\ud83d\udc71|\ud83d\udc72|\ud83d\udc73|\ud83d\udc74|\ud83d\udc75|\ud83d\udc76|\ud83d\udeb4|\ud83d\udc78|\ud83d\udc79|\ud83d\udc7a|\ud83d\udc7b|\ud83d\udc7c|\ud83d\udc7d|\ud83d\udc7e|\ud83d\udc7f|\ud83d\udc80|\ud83d\udc81|\ud83d\udc82|\ud83d\udc83|\ud83d\udc84|\ud83d\udc85|\ud83d\udc86|\ud83d\udc87|\ud83d\udc88|\ud83d\udc89|\ud83d\udc8a|\ud83d\udc8b|\ud83d\udc8c|\ud83d\udc8d|\ud83d\udc8e|\ud83d\udc8f|\ud83d\udc90|\ud83d\udc91|\ud83d\udc92|\ud83d\udc93|\ud83d\udc94|\ud83d\udc95|\ud83d\udc96|\ud83d\udc97|\ud83d\udc98|\ud83d\udc99|\ud83d\udc9a|\ud83d\udc9b|\ud83d\udc9c|\ud83d\udc9d|\ud83d\udc9e|\ud83d\udc9f|\ud83d\udca0|\ud83d\udca1|\ud83d\udca2|\ud83d\udca3|\ud83d\udca4|\ud83d\udca5|\ud83d\udca6|\ud83d\udca7|\ud83d\udca8|\ud83d\udca9|\ud83d\udcaa|\ud83d\udcab|\ud83d\udcac|\ud83d\udcae|\ud83d\udcaf|\ud83d\udcb0|\ud83d\udcb1|\ud83d\udcb2|\ud83d\udcb3|\ud83d\udcb4|\ud83d\udcb5|\ud83d\udcb8|\ud83d\udcb9|\ud83d\udcba|\ud83d\udcbb|\ud83d\udcbc|\ud83d\udcbd|\ud83d\udcbe|\ud83d\udcbf|\ud83d\udcc0|\ud83d\udcc1|\ud83d\udcc2|\ud83d\udcc3|\ud83d\udcc4|\ud83d\udcc5|\ud83d\udcc6|\ud83d\udcc7|\ud83d\udcc8|\ud83d\udcc9|\ud83d\udcca|\ud83d\udccb|\ud83d\udccc|\ud83d\udccd|\ud83d\udcce|\ud83d\udccf|\ud83d\udcd0|\ud83d\udcd1|\ud83d\udcd2|\ud83d\udcd3|\ud83d\udcd4|\ud83d\udcd5|\ud83d\udcd6|\ud83d\udcd7|\ud83d\udcd8|\ud83d\udcd9|\ud83d\udcda|\ud83d\udcdb|\ud83d\udcdc|\ud83d\udcdd|\ud83d\udcde|\ud83d\udcdf|\ud83d\udce0|\ud83d\udce1|\ud83d\udce2|\ud83d\udce3|\ud83d\udce4|\ud83d\udce5|\ud83d\udce6|\ud83d\udce7|\ud83d\udce8|\ud83d\udce9|\ud83d\udcea|\ud83d\udceb|\ud83d\udcee|\ud83d\udcf0|\ud83d\udcf1|\ud83d\udcf2|\ud83d\udcf3|\ud83d\udcf4|\ud83d\udcf6|\ud83d\udcf7|\ud83d\udcf9|\ud83d\udcfa|\ud83d\udcfb|\ud83d\udcfc|\ud83d\udd03|\ud83d\udd0a|\ud83d\udd0b|\ud83d\udd0c|\ud83d\udd0d|\ud83d\udd0e|\ud83d\udd0f|\ud83d\udd10|\ud83d\udd11|\ud83d\udd12|\ud83d\udd13|\ud83d\udd14|\ud83d\udd16|\ud83d\udd17|\ud83d\udd18|\ud83d\udd19|\ud83d\udd1a|\ud83d\udd1b|\ud83d\udd1c|\ud83d\udd1d|\ud83d\udd1e|\ud83d\udd1f|\ud83d\udd20|\ud83d\udd21|\ud83d\udd22|\ud83d\udd23|\ud83d\udd24|\ud83d\udd25|\ud83d\udd26|\ud83d\udd27|\ud83d\udd28|\ud83d\udd29|\ud83d\udd2a|\ud83d\udd2b|\ud83d\udd2e|\ud83d\udd2f|\ud83d\udd30|\ud83d\udd31|\ud83d\udd32|\ud83d\udd33|\ud83d\udd34|\ud83d\udd35|\ud83d\udd36|\ud83d\udd37|\ud83d\udd38|\ud83d\udd39|\ud83d\udd3a|\ud83d\udd3b|\ud83d\udd3c|\ud83d\udd3d|\ud83d\udd50|\ud83d\udd51|\ud83d\udd52|\ud83d\udd53|\ud83d\udd54|\ud83d\udd55|\ud83d\udd56|\ud83d\udd57|\ud83d\udd58|\ud83d\udd59|\ud83d\udd5a|\ud83d\udd5b|\ud83d\uddfb|\ud83d\uddfc|\ud83d\uddfd|\ud83d\uddfe|\ud83d\uddff|\ud83d\ude01|\ud83d\ude02|\ud83d\ude03|\ud83d\ude04|\ud83d\ude05|\ud83d\ude06|\ud83d\ude09|\ud83d\ude0a|\ud83d\ude0b|\ud83d\ude0c|\ud83d\ude0d|\ud83d\ude0f|\ud83d\ude12|\ud83d\ude13|\ud83d\ude14|\ud83d\ude16|\ud83d\ude18|\ud83d\ude1a|\ud83d\ude1c|\ud83d\ude1d|\ud83d\ude1e|\ud83d\ude20|\ud83d\ude21|\ud83d\ude22|\ud83d\ude23|\ud83d\ude24|\ud83d\ude25|\ud83d\ude28|\ud83d\ude29|\ud83d\ude2a|\ud83d\ude2b|\ud83d\ude2d|\ud83d\ude30|\ud83d\ude31|\ud83d\ude32|\ud83d\ude33|\ud83d\ude35|\ud83d\ude37|\ud83d\ude38|\ud83d\ude39|\ud83d\ude3a|\ud83d\ude3b|\ud83d\ude3c|\ud83d\ude3d|\ud83d\ude3e|\ud83d\ude3f|\ud83d\ude40|\ud83d\ude45|\ud83d\ude46|\ud83d\ude47|\ud83d\ude48|\ud83d\ude49|\ud83d\ude4a|\ud83d\ude4b|\ud83d\ude4c|\ud83d\ude4d|\ud83d\ude4e|\ud83d\ude4f|\ud83d\ude80|\ud83d\ude83|\ud83d\ude84|\ud83d\ude85|\ud83d\ude87|\ud83d\ude89|\ud83d\ude8c|\ud83d\ude8f|\ud83d\ude91|\ud83d\ude92|\ud83d\ude93|\ud83d\ude95|\ud83d\ude97|\ud83d\ude99|\ud83d\ude9a|\ud83d\udea2|\ud83d\udea4|\ud83d\udea5|\ud83d\udea7|\ud83d\udea8|\ud83d\udea9|\ud83d\udeaa|\ud83d\udeab|\ud83d\udeac|\ud83d\udead|\ud83d\udeb2|\ud83d\udeb6|\ud83d\udeb9|\ud83d\udeba|\ud83d\udebb|\ud83d\udebc|\ud83d\udebd|\ud83d\udebe|\ud83d\udec0|\ud83c\udde6|\ud83c\udde7|\ud83c\udde8|\ud83c\udde9|\ud83c\uddea|\ud83c\uddeb|\ud83c\uddec|\ud83c\udded|\ud83c\uddee|\ud83c\uddef|\ud83c\uddf0|\ud83c\uddf1|\ud83c\uddf2|\ud83c\uddf3|\ud83c\uddf4|\ud83c\uddf5|\ud83c\uddf6|\ud83c\uddf7|\ud83c\uddf8|\ud83c\uddf9|\ud83c\uddfa|\ud83c\uddfb|\ud83c\uddfc|\ud83c\uddfd|\ud83c\uddfe|\ud83c\uddff|\ud83c\udf0d|\ud83c\udf0e|\ud83c\udf10|\ud83c\udf12|\ud83c\udf16|\ud83c\udf17|\ue50a|\u3030|\u27b0|\u2797|\u2796|\u2795|\u2755|\u2754|\u2753|\u274e|\u274c|\u2728|\u270b|\u270a|\u2705|\u26ce|\u23f3|\u23f0|\u23ec|\u23eb|\u23ea|\u23e9|\u2122|\u27bf|\u00a9|\u00ae)|(?:(?:\ud83c\udc04|\ud83c\udd7f|\ud83c\ude1a|\ud83c\ude2f|\u3299|\u303d|\u2b55|\u2b50|\u2b1c|\u2b1b|\u2b07|\u2b06|\u2b05|\u2935|\u2934|\u27a1|\u2764|\u2757|\u2747|\u2744|\u2734|\u2733|\u2716|\u2714|\u2712|\u270f|\u270c|\u2709|\u2708|\u2702|\u26fd|\u26fa|\u26f5|\u26f3|\u26f2|\u26ea|\u26d4|\u26c5|\u26c4|\u26be|\u26bd|\u26ab|\u26aa|\u26a1|\u26a0|\u2693|\u267f|\u267b|\u3297|\u2666|\u2665|\u2663|\u2660|\u2653|\u2652|\u2651|\u2650|\u264f|\u264e|\u264d|\u264c|\u264b|\u264a|\u2649|\u2648|\u263a|\u261d|\u2615|\u2614|\u2611|\u260e|\u2601|\u2600|\u25fe|\u25fd|\u25fc|\u25fb|\u25c0|\u25b6|\u25ab|\u25aa|\u24c2|\u231b|\u231a|\u21aa|\u21a9|\u2199|\u2198|\u2197|\u2196|\u2195|\u2194|\u2139|\u2049|\u203c|\u2668)([\uFE0E\uFE0F]?)))/g,o=/IFRAME|NOFRAMES|NOSCRIPT|SCRIPT|SELECT|STYLE|TEXTAREA/,p=String.fromCharCode;return m}();
\ No newline at end of file
index 5c6742f7a8e2db8c5b65b1f5a4933b59b0372802..ab5fbd8bb013c088a2adb649d76f6737d72a8668 100644 (file)
@@ -1 +1,5 @@
-(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
+//     Underscore.js 1.6.0
+//     http://underscorejs.org
+//     (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+//     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,g=e.filter,d=e.every,m=e.some,y=e.indexOf,b=e.lastIndexOf,x=Array.isArray,w=Object.keys,_=i.bind,j=function(n){return n instanceof j?n:this instanceof j?void(this._wrapped=n):new j(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=j),exports._=j):n._=j,j.VERSION="1.6.0";var A=j.each=j.forEach=function(n,t,e){if(null==n)return 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=j.keys(n),u=0,i=a.length;i>u;u++)if(t.call(e,n[a[u]],a[u],n)===r)return;return n};j.map=j.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.push(t.call(r,n,u,i))}),e)};var O="Reduce of empty array with no initial value";j.reduce=j.foldl=j.inject=function(n,t,r,e){var u=arguments.length>2;if(null==n&&(n=[]),h&&n.reduce===h)return e&&(t=j.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},j.reduceRight=j.foldr=function(n,t,r,e){var u=arguments.length>2;if(null==n&&(n=[]),v&&n.reduceRight===v)return e&&(t=j.bind(t,e)),u?n.reduceRight(t,r):n.reduceRight(t);var i=n.length;if(i!==+i){var a=j.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},j.find=j.detect=function(n,t,r){var e;return k(n,function(n,u,i){return t.call(r,n,u,i)?(e=n,!0):void 0}),e},j.filter=j.select=function(n,t,r){var e=[];return null==n?e:g&&n.filter===g?n.filter(t,r):(A(n,function(n,u,i){t.call(r,n,u,i)&&e.push(n)}),e)},j.reject=function(n,t,r){return j.filter(n,function(n,e,u){return!t.call(r,n,e,u)},r)},j.every=j.all=function(n,t,e){t||(t=j.identity);var u=!0;return null==n?u:d&&n.every===d?n.every(t,e):(A(n,function(n,i,a){return(u=u&&t.call(e,n,i,a))?void 0:r}),!!u)};var k=j.some=j.any=function(n,t,e){t||(t=j.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)};j.contains=j.include=function(n,t){return null==n?!1:y&&n.indexOf===y?n.indexOf(t)!=-1:k(n,function(n){return n===t})},j.invoke=function(n,t){var r=o.call(arguments,2),e=j.isFunction(t);return j.map(n,function(n){return(e?t:n[t]).apply(n,r)})},j.pluck=function(n,t){return j.map(n,j.property(t))},j.where=function(n,t){return j.filter(n,j.matches(t))},j.findWhere=function(n,t){return j.find(n,j.matches(t))},j.max=function(n,t,r){if(!t&&j.isArray(n)&&n[0]===+n[0]&&n.length<65535)return Math.max.apply(Math,n);var e=-1/0,u=-1/0;return A(n,function(n,i,a){var o=t?t.call(r,n,i,a):n;o>u&&(e=n,u=o)}),e},j.min=function(n,t,r){if(!t&&j.isArray(n)&&n[0]===+n[0]&&n.length<65535)return Math.min.apply(Math,n);var e=1/0,u=1/0;return A(n,function(n,i,a){var o=t?t.call(r,n,i,a):n;u>o&&(e=n,u=o)}),e},j.shuffle=function(n){var t,r=0,e=[];return A(n,function(n){t=j.random(r++),e[r-1]=e[t],e[t]=n}),e},j.sample=function(n,t,r){return null==t||r?(n.length!==+n.length&&(n=j.values(n)),n[j.random(n.length-1)]):j.shuffle(n).slice(0,Math.max(0,t))};var E=function(n){return null==n?j.identity:j.isFunction(n)?n:j.property(n)};j.sortBy=function(n,t,r){return t=E(t),j.pluck(j.map(n,function(n,e,u){return{value:n,index:e,criteria:t.call(r,n,e,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}),"value")};var F=function(n){return function(t,r,e){var u={};return r=E(r),A(t,function(i,a){var o=r.call(e,i,a,t);n(u,o,i)}),u}};j.groupBy=F(function(n,t,r){j.has(n,t)?n[t].push(r):n[t]=[r]}),j.indexBy=F(function(n,t,r){n[t]=r}),j.countBy=F(function(n,t){j.has(n,t)?n[t]++:n[t]=1}),j.sortedIndex=function(n,t,r,e){r=E(r);for(var u=r.call(e,t),i=0,a=n.length;a>i;){var o=i+a>>>1;r.call(e,n[o])<u?i=o+1:a=o}return i},j.toArray=function(n){return n?j.isArray(n)?o.call(n):n.length===+n.length?j.map(n,j.identity):j.values(n):[]},j.size=function(n){return null==n?0:n.length===+n.length?n.length:j.keys(n).length},j.first=j.head=j.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:0>t?[]:o.call(n,0,t)},j.initial=function(n,t,r){return o.call(n,0,n.length-(null==t||r?1:t))},j.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))},j.rest=j.tail=j.drop=function(n,t,r){return o.call(n,null==t||r?1:t)},j.compact=function(n){return j.filter(n,j.identity)};var M=function(n,t,r){return t&&j.every(n,j.isArray)?c.apply(r,n):(A(n,function(n){j.isArray(n)||j.isArguments(n)?t?a.apply(r,n):M(n,t,r):r.push(n)}),r)};j.flatten=function(n,t){return M(n,t,[])},j.without=function(n){return j.difference(n,o.call(arguments,1))},j.partition=function(n,t){var r=[],e=[];return A(n,function(n){(t(n)?r:e).push(n)}),[r,e]},j.uniq=j.unique=function(n,t,r,e){j.isFunction(t)&&(e=r,r=t,t=!1);var u=r?j.map(n,r,e):n,i=[],a=[];return A(u,function(r,e){(t?e&&a[a.length-1]===r:j.contains(a,r))||(a.push(r),i.push(n[e]))}),i},j.union=function(){return j.uniq(j.flatten(arguments,!0))},j.intersection=function(n){var t=o.call(arguments,1);return j.filter(j.uniq(n),function(n){return j.every(t,function(t){return j.contains(t,n)})})},j.difference=function(n){var t=c.apply(e,o.call(arguments,1));return j.filter(n,function(n){return!j.contains(t,n)})},j.zip=function(){for(var n=j.max(j.pluck(arguments,"length").concat(0)),t=new Array(n),r=0;n>r;r++)t[r]=j.pluck(arguments,""+r);return t},j.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},j.indexOf=function(n,t,r){if(null==n)return-1;var e=0,u=n.length;if(r){if("number"!=typeof r)return e=j.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},j.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},j.range=function(n,t,r){arguments.length<=1&&(t=n||0,n=0),r=arguments[2]||1;for(var e=Math.max(Math.ceil((t-n)/r),0),u=0,i=new Array(e);e>u;)i[u++]=n,n+=r;return i};var R=function(){};j.bind=function(n,t){var r,e;if(_&&n.bind===_)return _.apply(n,o.call(arguments,1));if(!j.isFunction(n))throw new TypeError;return r=o.call(arguments,2),e=function(){if(!(this instanceof e))return n.apply(t,r.concat(o.call(arguments)));R.prototype=n.prototype;var u=new R;R.prototype=null;var i=n.apply(u,r.concat(o.call(arguments)));return Object(i)===i?i:u}},j.partial=function(n){var t=o.call(arguments,1);return function(){for(var r=0,e=t.slice(),u=0,i=e.length;i>u;u++)e[u]===j&&(e[u]=arguments[r++]);for(;r<arguments.length;)e.push(arguments[r++]);return n.apply(this,e)}},j.bindAll=function(n){var t=o.call(arguments,1);if(0===t.length)throw new Error("bindAll must be passed function names");return A(t,function(t){n[t]=j.bind(n[t],n)}),n},j.memoize=function(n,t){var r={};return t||(t=j.identity),function(){var e=t.apply(this,arguments);return j.has(r,e)?r[e]:r[e]=n.apply(this,arguments)}},j.delay=function(n,t){var r=o.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},j.defer=function(n){return j.delay.apply(j,[n,1].concat(o.call(arguments,1)))},j.throttle=function(n,t,r){var e,u,i,a=null,o=0;r||(r={});var c=function(){o=r.leading===!1?0:j.now(),a=null,i=n.apply(e,u),e=u=null};return function(){var l=j.now();o||r.leading!==!1||(o=l);var f=t-(l-o);return e=this,u=arguments,0>=f?(clearTimeout(a),a=null,o=l,i=n.apply(e,u),e=u=null):a||r.trailing===!1||(a=setTimeout(c,f)),i}},j.debounce=function(n,t,r){var e,u,i,a,o,c=function(){var l=j.now()-a;t>l?e=setTimeout(c,t-l):(e=null,r||(o=n.apply(i,u),i=u=null))};return function(){i=this,u=arguments,a=j.now();var l=r&&!e;return e||(e=setTimeout(c,t)),l&&(o=n.apply(i,u),i=u=null),o}},j.once=function(n){var t,r=!1;return function(){return r?t:(r=!0,t=n.apply(this,arguments),n=null,t)}},j.wrap=function(n,t){return j.partial(t,n)},j.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]}},j.after=function(n,t){return function(){return--n<1?t.apply(this,arguments):void 0}},j.keys=function(n){if(!j.isObject(n))return[];if(w)return w(n);var t=[];for(var r in n)j.has(n,r)&&t.push(r);return t},j.values=function(n){for(var t=j.keys(n),r=t.length,e=new Array(r),u=0;r>u;u++)e[u]=n[t[u]];return e},j.pairs=function(n){for(var t=j.keys(n),r=t.length,e=new Array(r),u=0;r>u;u++)e[u]=[t[u],n[t[u]]];return e},j.invert=function(n){for(var t={},r=j.keys(n),e=0,u=r.length;u>e;e++)t[n[r[e]]]=r[e];return t},j.functions=j.methods=function(n){var t=[];for(var r in n)j.isFunction(n[r])&&t.push(r);return t.sort()},j.extend=function(n){return A(o.call(arguments,1),function(t){if(t)for(var r in t)n[r]=t[r]}),n},j.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},j.omit=function(n){var t={},r=c.apply(e,o.call(arguments,1));for(var u in n)j.contains(r,u)||(t[u]=n[u]);return t},j.defaults=function(n){return A(o.call(arguments,1),function(t){if(t)for(var r in t)n[r]===void 0&&(n[r]=t[r])}),n},j.clone=function(n){return j.isObject(n)?j.isArray(n)?n.slice():j.extend({},n):n},j.tap=function(n,t){return t(n),n};var S=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 j&&(n=n._wrapped),t instanceof j&&(t=t._wrapped);var u=l.call(n);if(u!=l.call(t))return!1;switch(u){case"[object String]":return n==String(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;var a=n.constructor,o=t.constructor;if(a!==o&&!(j.isFunction(a)&&a instanceof a&&j.isFunction(o)&&o instanceof o)&&"constructor"in n&&"constructor"in t)return!1;r.push(n),e.push(t);var c=0,f=!0;if("[object Array]"==u){if(c=n.length,f=c==t.length)for(;c--&&(f=S(n[c],t[c],r,e)););}else{for(var s in n)if(j.has(n,s)&&(c++,!(f=j.has(t,s)&&S(n[s],t[s],r,e))))break;if(f){for(s in t)if(j.has(t,s)&&!c--)break;f=!c}}return r.pop(),e.pop(),f};j.isEqual=function(n,t){return S(n,t,[],[])},j.isEmpty=function(n){if(null==n)return!0;if(j.isArray(n)||j.isString(n))return 0===n.length;for(var t in n)if(j.has(n,t))return!1;return!0},j.isElement=function(n){return!(!n||1!==n.nodeType)},j.isArray=x||function(n){return"[object Array]"==l.call(n)},j.isObject=function(n){return n===Object(n)},A(["Arguments","Function","String","Number","Date","RegExp"],function(n){j["is"+n]=function(t){return l.call(t)=="[object "+n+"]"}}),j.isArguments(arguments)||(j.isArguments=function(n){return!(!n||!j.has(n,"callee"))}),"function"!=typeof/./&&(j.isFunction=function(n){return"function"==typeof n}),j.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},j.isNaN=function(n){return j.isNumber(n)&&n!=+n},j.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"==l.call(n)},j.isNull=function(n){return null===n},j.isUndefined=function(n){return n===void 0},j.has=function(n,t){return f.call(n,t)},j.noConflict=function(){return n._=t,this},j.identity=function(n){return n},j.constant=function(n){return function(){return n}},j.property=function(n){return function(t){return t[n]}},j.matches=function(n){return function(t){if(t===n)return!0;for(var r in n)if(n[r]!==t[r])return!1;return!0}},j.times=function(n,t,r){for(var e=Array(Math.max(0,n)),u=0;n>u;u++)e[u]=t.call(r,u);return e},j.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},j.now=Date.now||function(){return(new Date).getTime()};var T={escape:{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"}};T.unescape=j.invert(T.escape);var I={escape:new RegExp("["+j.keys(T.escape).join("")+"]","g"),unescape:new RegExp("("+j.keys(T.unescape).join("|")+")","g")};j.each(["escape","unescape"],function(n){j[n]=function(t){return null==t?"":(""+t).replace(I[n],function(t){return T[n][t]})}}),j.result=function(n,t){if(null==n)return void 0;var r=n[t];return j.isFunction(r)?r.call(n):r},j.mixin=function(n){A(j.functions(n),function(t){var r=j[t]=n[t];j.prototype[t]=function(){var n=[this._wrapped];return a.apply(n,arguments),z.call(this,r.apply(j,n))}})};var N=0;j.uniqueId=function(n){var t=++N+"";return n?n+t:t},j.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var q=/(.)^/,B={"'":"'","\\":"\\","\r":"r","\n":"n","  ":"t","\u2028":"u2028","\u2029":"u2029"},D=/\\|'|\r|\n|\t|\u2028|\u2029/g;j.template=function(n,t,r){var e;r=j.defaults({},r,j.templateSettings);var u=new RegExp([(r.escape||q).source,(r.interpolate||q).source,(r.evaluate||q).source].join("|")+"|$","g"),i=0,a="__p+='";n.replace(u,function(t,r,e,u,o){return a+=n.slice(i,o).replace(D,function(n){return"\\"+B[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=new Function(r.variable||"obj","_",a)}catch(o){throw o.source=a,o}if(t)return e(t,j);var c=function(n){return e.call(this,n,j)};return c.source="function("+(r.variable||"obj")+"){\n"+a+"}",c},j.chain=function(n){return j(n).chain()};var z=function(n){return this._chain?j(n).chain():n};j.mixin(j),A(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=e[n];j.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!=n&&"splice"!=n||0!==r.length||delete r[0],z.call(this,r)}}),A(["concat","join","slice"],function(n){var t=e[n];j.prototype[n]=function(){return z.call(this,t.apply(this._wrapped,arguments))}}),j.extend(j.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}}),"function"==typeof define&&define.amd&&define("underscore",[],function(){return j})}).call(this);
diff --git a/wp-includes/js/wp-a11y.js b/wp-includes/js/wp-a11y.js
new file mode 100644 (file)
index 0000000..ffb45b8
--- /dev/null
@@ -0,0 +1,46 @@
+window.wp = window.wp || {};
+
+( function ( wp, $ ) {
+       'use strict';
+
+       var $container;
+
+       /**
+        * Update the ARIA live notification area text node.
+        *
+        * @since 4.2.0
+        *
+        * @param {String} message
+        */
+       function speak( message ) {
+               if ( $container ) {
+                       $container.text( message );
+               }
+       }
+
+       /**
+        * Initialize wp.a11y and define ARIA live notification area.
+        *
+        * @since 4.2.0
+        */
+       $( document ).ready( function() {
+               $container = $( '#wp-a11y-speak' );
+
+               if ( ! $container.length ) {
+                       $container = $( '<div>', {
+                               id: 'wp-a11y-speak',
+                               role: 'status',
+                               'aria-live': 'polite',
+                               'aria-relevant': 'all',
+                               'aria-atomic': 'true',
+                               'class': 'screen-reader-text'
+                       } );
+
+                       $( document.body ).append( $container );
+               }
+       } );
+
+       wp.a11y = wp.a11y || {};
+       wp.a11y.speak = speak;
+
+} )( window.wp, window.jQuery );
diff --git a/wp-includes/js/wp-a11y.min.js b/wp-includes/js/wp-a11y.min.js
new file mode 100644 (file)
index 0000000..78ec9b5
--- /dev/null
@@ -0,0 +1 @@
+window.wp=window.wp||{},function(a,b){"use strict";function c(a){d&&d.text(a)}var d;b(document).ready(function(){d=b("#wp-a11y-speak"),d.length||(d=b("<div>",{id:"wp-a11y-speak",role:"status","aria-live":"polite","aria-relevant":"all","aria-atomic":"true","class":"screen-reader-text"}),b(document.body).append(d))}),a.a11y=a.a11y||{},a.a11y.speak=c}(window.wp,window.jQuery);
\ No newline at end of file
index eb46267852c84c2f659a7f100965f7432e1cfd47..45160a76a8c699003d7296e5a0d928778eb0707f 100644 (file)
@@ -12,7 +12,7 @@ var wpAjax = jQuery.extend( {
                return r;
        },
        parseAjaxResponse: function( x, r, e ) { // 1 = good, 0 = strange (bad data?), -1 = you lack permission
-               var parsed = {}, re = jQuery('#' + r).html(''), err = '';
+               var parsed = {}, re = jQuery('#' + r).empty(), err = '';
 
                if ( x && typeof x == 'object' && x.getElementsByTagName('wp_ajax') ) {
                        parsed.responses = [];
index 32da06b32c3dc5085bcc3255cef265ea28c36244..c52863202b6f72501b2c718338132b41471ae47c 100644 (file)
@@ -1 +1 @@
-var wpAjax=jQuery.extend({unserialize:function(a){var b,c,d,e,f={};if(!a)return f;b=a.split("?"),b[1]&&(a=b[1]),c=a.split("&");for(d in c)(!jQuery.isFunction(c.hasOwnProperty)||c.hasOwnProperty(d))&&(e=c[d].split("="),f[e[0]]=e[1]);return f},parseAjaxResponse:function(a,b,c){var d={},e=jQuery("#"+b).html(""),f="";return a&&"object"==typeof a&&a.getElementsByTagName("wp_ajax")?(d.responses=[],d.errors=!1,jQuery("response",a).each(function(){var b,e=jQuery(this),g=jQuery(this.firstChild);b={action:e.attr("action"),what:g.get(0).nodeName,id:g.attr("id"),oldId:g.attr("old_id"),position:g.attr("position")},b.data=jQuery("response_data",g).text(),b.supplemental={},jQuery("supplemental",g).children().each(function(){b.supplemental[this.nodeName]=jQuery(this).text()}).size()||(b.supplemental=!1),b.errors=[],jQuery("wp_error",g).each(function(){var e,g,h,i=jQuery(this).attr("code");e={code:i,message:this.firstChild.nodeValue,data:!1},g=jQuery('wp_error_data[code="'+i+'"]',a),g&&(e.data=g.get()),h=jQuery("form-field",g).text(),h&&(i=h),c&&wpAjax.invalidateForm(jQuery("#"+c+' :input[name="'+i+'"]').parents(".form-field:first")),f+="<p>"+e.message+"</p>",b.errors.push(e),d.errors=!0}).size()||(b.errors=!1),d.responses.push(b)}),f.length&&e.html('<div class="error">'+f+"</div>"),d):isNaN(a)?!e.html('<div class="error"><p>'+a+"</p></div>"):(a=parseInt(a,10),-1==a?!e.html('<div class="error"><p>'+wpAjax.noPerm+"</p></div>"):0===a?!e.html('<div class="error"><p>'+wpAjax.broken+"</p></div>"):!0)},invalidateForm:function(a){return jQuery(a).addClass("form-invalid").find("input:visible").change(function(){jQuery(this).closest(".form-invalid").removeClass("form-invalid")})},validateForm:function(a){return a=jQuery(a),!wpAjax.invalidateForm(a.find(".form-required").filter(function(){return""===jQuery("input:visible",this).val()})).size()}},wpAjax||{noPerm:"You do not have permission to do that.",broken:"An unidentified error has occurred."});jQuery(document).ready(function(a){a("form.validate").submit(function(){return wpAjax.validateForm(a(this))})});
\ No newline at end of file
+var wpAjax=jQuery.extend({unserialize:function(a){var b,c,d,e,f={};if(!a)return f;b=a.split("?"),b[1]&&(a=b[1]),c=a.split("&");for(d in c)(!jQuery.isFunction(c.hasOwnProperty)||c.hasOwnProperty(d))&&(e=c[d].split("="),f[e[0]]=e[1]);return f},parseAjaxResponse:function(a,b,c){var d={},e=jQuery("#"+b).empty(),f="";return a&&"object"==typeof a&&a.getElementsByTagName("wp_ajax")?(d.responses=[],d.errors=!1,jQuery("response",a).each(function(){var b,e=jQuery(this),g=jQuery(this.firstChild);b={action:e.attr("action"),what:g.get(0).nodeName,id:g.attr("id"),oldId:g.attr("old_id"),position:g.attr("position")},b.data=jQuery("response_data",g).text(),b.supplemental={},jQuery("supplemental",g).children().each(function(){b.supplemental[this.nodeName]=jQuery(this).text()}).size()||(b.supplemental=!1),b.errors=[],jQuery("wp_error",g).each(function(){var e,g,h,i=jQuery(this).attr("code");e={code:i,message:this.firstChild.nodeValue,data:!1},g=jQuery('wp_error_data[code="'+i+'"]',a),g&&(e.data=g.get()),h=jQuery("form-field",g).text(),h&&(i=h),c&&wpAjax.invalidateForm(jQuery("#"+c+' :input[name="'+i+'"]').parents(".form-field:first")),f+="<p>"+e.message+"</p>",b.errors.push(e),d.errors=!0}).size()||(b.errors=!1),d.responses.push(b)}),f.length&&e.html('<div class="error">'+f+"</div>"),d):isNaN(a)?!e.html('<div class="error"><p>'+a+"</p></div>"):(a=parseInt(a,10),-1==a?!e.html('<div class="error"><p>'+wpAjax.noPerm+"</p></div>"):0===a?!e.html('<div class="error"><p>'+wpAjax.broken+"</p></div>"):!0)},invalidateForm:function(a){return jQuery(a).addClass("form-invalid").find("input:visible").change(function(){jQuery(this).closest(".form-invalid").removeClass("form-invalid")})},validateForm:function(a){return a=jQuery(a),!wpAjax.invalidateForm(a.find(".form-required").filter(function(){return""===jQuery("input:visible",this).val()})).size()}},wpAjax||{noPerm:"You do not have permission to do that.",broken:"An unidentified error has occurred."});jQuery(document).ready(function(a){a("form.validate").submit(function(){return wpAjax.validateForm(a(this))})});
\ No newline at end of file
index e58a27dab9c50338ad36cec14f99afe2bf42761e..4c0b71d9c22cc4a40582f11b8e56f090811cff20 100644 (file)
@@ -49,6 +49,7 @@
                        $('#wp-auth-check-form').append( frame );
                }
 
+               $( 'body' ).addClass( 'modal-open' );
                wrap.removeClass('hidden');
 
                if ( frame ) {
@@ -80,6 +81,7 @@
                wrap.fadeOut( 200, function() {
                        wrap.addClass('hidden').css('display', '');
                        $('#wp-auth-check-frame').remove();
+                       $( 'body' ).removeClass( 'modal-open' );
                });
        }
 
index fc7b25c1bf220bc8ce912d4df8943d0b674ad7ab..41a130804d7b99c6a204440755a2cc9799c7bae6 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(),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
+!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)),a("body").addClass("modal-open"),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(),a("body").removeClass("modal-open")})}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
diff --git a/wp-includes/js/wp-emoji-loader.js b/wp-includes/js/wp-emoji-loader.js
new file mode 100644 (file)
index 0000000..d4d0242
--- /dev/null
@@ -0,0 +1,76 @@
+( function( window, document, settings ) {
+       var src;
+
+       /**
+        * Detect if the browser supports rendering emoji or flag emoji. Flag emoji are a single glyph
+        * made of two characters, so some browsers (notably, Firefox OS X) don't support them.
+        *
+        * @since 4.2.0
+        *
+        * @param type {String} Whether to test for support of "simple" or "flag" emoji.
+        * @return {Boolean} True if the browser can render emoji, false if it cannot.
+        */
+       function browserSupportsEmoji( type ) {
+               var canvas = document.createElement( 'canvas' ),
+                       context = canvas.getContext && canvas.getContext( '2d' );
+
+               if ( ! context || ! context.fillText ) {
+                       return false;
+               }
+
+               /*
+                * Chrome on OS X added native emoji rendering in M41. Unfortunately,
+                * it doesn't work when the font is bolder than 500 weight. So, we
+                * check for bold rendering support to avoid invisible emoji in Chrome.
+                */
+               context.textBaseline = 'top';
+               context.font = '600 32px Arial';
+
+               if ( type === 'flag' ) {
+                       /*
+                        * This works because the image will be one of three things:
+                        * - Two empty squares, if the browser doesn't render emoji
+                        * - Two squares with 'G' and 'B' in them, if the browser doesn't render flag emoji
+                        * - The British flag
+                        *
+                        * The first two will encode to small images (1-2KB data URLs), the third will encode
+                        * to a larger image (4-5KB data URL).
+                        */
+                       context.fillText( String.fromCharCode( 55356, 56812, 55356, 56807 ), 0, 0 );
+                       return canvas.toDataURL().length > 3000;
+               } else {
+                       /*
+                        * This creates a smiling emoji, and checks to see if there is any image data in the
+                        * center pixel. In browsers that don't support emoji, the character will be rendered
+                        * as an empty square, so the center pixel will be blank.
+                        */
+                       context.fillText( String.fromCharCode( 55357, 56835 ), 0, 0 );
+                       return context.getImageData( 16, 16, 1, 1 ).data[0] !== 0;
+               }
+       }
+
+       function addScript( src ) {
+               var script = document.createElement( 'script' );
+
+               script.src = src;
+               script.type = 'text/javascript';
+               document.getElementsByTagName( 'head' )[0].appendChild( script );
+       }
+
+       settings.supports = {
+               simple: browserSupportsEmoji( 'simple' ),
+               flag:   browserSupportsEmoji( 'flag' )
+       };
+
+       if ( ! settings.supports.simple || ! settings.supports.flag ) {
+               src = settings.source || {};
+
+               if ( src.concatemoji ) {
+                       addScript( src.concatemoji );
+               } else if ( src.wpemoji && src.twemoji ) {
+                       addScript( src.twemoji );
+                       addScript( src.wpemoji );
+               }
+       }
+
+} )( window, document, window._wpemojiSettings );
diff --git a/wp-includes/js/wp-emoji-loader.min.js b/wp-includes/js/wp-emoji-loader.min.js
new file mode 100644 (file)
index 0000000..69ce659
--- /dev/null
@@ -0,0 +1 @@
+!function(a,b,c){function d(a){var c=b.createElement("canvas"),d=c.getContext&&c.getContext("2d");return d&&d.fillText?(d.textBaseline="top",d.font="600 32px Arial","flag"===a?(d.fillText(String.fromCharCode(55356,56812,55356,56807),0,0),c.toDataURL().length>3e3):(d.fillText(String.fromCharCode(55357,56835),0,0),0!==d.getImageData(16,16,1,1).data[0])):!1}function e(a){var c=b.createElement("script");c.src=a,c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f;c.supports={simple:d("simple"),flag:d("flag")},c.supports.simple&&c.supports.flag||(f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings);
\ No newline at end of file
diff --git a/wp-includes/js/wp-emoji-release.min.js b/wp-includes/js/wp-emoji-release.min.js
new file mode 100644 (file)
index 0000000..a4f0fc4
--- /dev/null
@@ -0,0 +1,4 @@
+// Source: wp-includes/js/twemoji.min.js
+var twemoji=function(){"use strict";function a(a){return document.createTextNode(a)}function b(a,b){return"".concat(b.base,b.size,"/",a,b.ext)}function c(a,b){for(var d,e,f=a.childNodes,g=f.length;g--;)d=f[g],e=d.nodeType,3===e?b.push(d):1!==e||o.test(d.nodeName)||c(d,b);return b}function d(a,b){return l("️"===b?a.slice(0,-1):3===a.length&&"️"===a.charAt(1)?a.charAt(0)+a.charAt(2):a)}function e(b,e){for(var f,g,h,i,j,k,l,o,p,q,r,s,t,u=c(b,[]),v=u.length;v--;){for(f=!1,g=document.createDocumentFragment(),h=u[v],i=h.nodeValue,k=0;j=n.exec(i);){if(l=j.index,l!==k&&g.appendChild(a(i.slice(k,l))),p=j[0],q=j[1],r=j[2],k=l+p.length,"︎"!==r&&(s=e.callback(d(q,r),e,r))){if(o=new Image,e.imgAttr)for(t in e.imgAttr)o.setAttribute(t,e.imgAttr[t]);o.onerror=m.onerror,o.className=e.className,o.setAttribute("draggable","false"),o.alt=p,o.src=s,f=!0,g.appendChild(o)}o||g.appendChild(a(p)),o=null}f&&(k<i.length&&g.appendChild(a(i.slice(k))),h.parentNode.replaceChild(g,h))}return b}function f(a,b){return j(a,function(a,c,e){var f,g,h="";if("︎"!==e&&(f=b.callback(d(c,e),b,e))){if(b.imgAttr)for(g in b.imgAttr)/draggable|class|alt|src/i.test(g)||(h+=" ".concat(g,'="',b.imgAttr[g],'"'));a="<img ".concat('class="',b.className,'" ','draggable="false" ','alt="',a,'" ','src="',f,'"',h,">")}return a})}function g(a){return"number"==typeof a?a+"x"+a:a}function h(a){var b="string"==typeof a?parseInt(a,16):a;return 65536>b?p(b):(b-=65536,p(55296+(b>>10),56320+(1023&b)))}function i(a,c){return c&&"function"!=typeof c||(c={callback:c}),("string"==typeof a?f:e)(a,{callback:c.callback||b,base:"string"==typeof c.base?c.base:m.base,ext:c.ext||m.ext,size:c.folder||g(c.size||m.size),className:c.className||m.className,imgAttr:c.imgAttr})}function j(a,b){return String(a).replace(n,b)}function k(a){n.lastIndex=0;var b=n.test(a);return n.lastIndex=0,b}function l(a,b){for(var c=[],d=0,e=0,f=0;f<a.length;)d=a.charCodeAt(f++),e?(c.push((65536+(e-55296<<10)+(d-56320)).toString(16)),e=0):d>=55296&&56319>=d?e=d:c.push(d.toString(16));return c.join(b||"-")}var m={base:("https:"===location.protocol?"https:":"http:")+"//twemoji.maxcdn.com/",ext:".png",size:"36x36",className:"emoji",convert:{fromCodePoint:h,toCodePoint:l},onerror:function(){this.parentNode&&this.parentNode.replaceChild(a(this.alt),this)},parse:i,replace:j,test:k},n=/((?:\ud83c\udde8\ud83c\uddf3|\ud83c\uddfa\ud83c\uddf8|\ud83c\uddf7\ud83c\uddfa|\ud83c\uddf0\ud83c\uddf7|\ud83c\uddef\ud83c\uddf5|\ud83c\uddee\ud83c\uddf9|\ud83c\uddec\ud83c\udde7|\ud83c\uddeb\ud83c\uddf7|\ud83c\uddea\ud83c\uddf8|\ud83c\udde9\ud83c\uddea|\u0039\ufe0f?\u20e3|\u0038\ufe0f?\u20e3|\u0037\ufe0f?\u20e3|\u0036\ufe0f?\u20e3|\u0035\ufe0f?\u20e3|\u0034\ufe0f?\u20e3|\u0033\ufe0f?\u20e3|\u0032\ufe0f?\u20e3|\u0031\ufe0f?\u20e3|\u0030\ufe0f?\u20e3|\u0023\ufe0f?\u20e3|\ud83d\udeb3|\ud83d\udeb1|\ud83d\udeb0|\ud83d\udeaf|\ud83d\udeae|\ud83d\udea6|\ud83d\udea3|\ud83d\udea1|\ud83d\udea0|\ud83d\ude9f|\ud83d\ude9e|\ud83d\ude9d|\ud83d\ude9c|\ud83d\ude9b|\ud83d\ude98|\ud83d\ude96|\ud83d\ude94|\ud83d\ude90|\ud83d\ude8e|\ud83d\ude8d|\ud83d\ude8b|\ud83d\ude8a|\ud83d\ude88|\ud83d\ude86|\ud83d\ude82|\ud83d\ude81|\ud83d\ude36|\ud83d\ude34|\ud83d\ude2f|\ud83d\ude2e|\ud83d\ude2c|\ud83d\ude27|\ud83d\ude26|\ud83d\ude1f|\ud83d\ude1b|\ud83d\ude19|\ud83d\ude17|\ud83d\ude15|\ud83d\ude11|\ud83d\ude10|\ud83d\ude0e|\ud83d\ude08|\ud83d\ude07|\ud83d\ude00|\ud83d\udd67|\ud83d\udd66|\ud83d\udd65|\ud83d\udd64|\ud83d\udd63|\ud83d\udd62|\ud83d\udd61|\ud83d\udd60|\ud83d\udd5f|\ud83d\udd5e|\ud83d\udd5d|\ud83d\udd5c|\ud83d\udd2d|\ud83d\udd2c|\ud83d\udd15|\ud83d\udd09|\ud83d\udd08|\ud83d\udd07|\ud83d\udd06|\ud83d\udd05|\ud83d\udd04|\ud83d\udd02|\ud83d\udd01|\ud83d\udd00|\ud83d\udcf5|\ud83d\udcef|\ud83d\udced|\ud83d\udcec|\ud83d\udcb7|\ud83d\udcb6|\ud83d\udcad|\ud83d\udc6d|\ud83d\udc6c|\ud83d\udc65|\ud83d\udc2a|\ud83d\udc16|\ud83d\udc15|\ud83d\udc13|\ud83d\udc10|\ud83d\udc0f|\ud83d\udc0b|\ud83d\udc0a|\ud83d\udc09|\ud83d\udc08|\ud83d\udc07|\ud83d\udc06|\ud83d\udc05|\ud83d\udc04|\ud83d\udc03|\ud83d\udc02|\ud83d\udc01|\ud83d\udc00|\ud83c\udfe4|\ud83c\udfc9|\ud83c\udfc7|\ud83c\udf7c|\ud83c\udf50|\ud83c\udf4b|\ud83c\udf33|\ud83c\udf32|\ud83c\udf1e|\ud83c\udf1d|\ud83c\udf1c|\ud83c\udf1a|\ud83c\udf18|\ud83c\udccf|\ud83c\udd70|\ud83c\udd71|\ud83c\udd7e|\ud83c\udd8e|\ud83c\udd91|\ud83c\udd92|\ud83c\udd93|\ud83c\udd94|\ud83c\udd95|\ud83c\udd96|\ud83c\udd97|\ud83c\udd98|\ud83c\udd99|\ud83c\udd9a|\ud83d\udc77|\ud83d\udec5|\ud83d\udec4|\ud83d\udec3|\ud83d\udec2|\ud83d\udec1|\ud83d\udebf|\ud83d\udeb8|\ud83d\udeb7|\ud83d\udeb5|\ud83c\ude01|\ud83c\ude02|\ud83c\ude32|\ud83c\ude33|\ud83c\ude34|\ud83c\ude35|\ud83c\ude36|\ud83c\ude37|\ud83c\ude38|\ud83c\ude39|\ud83c\ude3a|\ud83c\ude50|\ud83c\ude51|\ud83c\udf00|\ud83c\udf01|\ud83c\udf02|\ud83c\udf03|\ud83c\udf04|\ud83c\udf05|\ud83c\udf06|\ud83c\udf07|\ud83c\udf08|\ud83c\udf09|\ud83c\udf0a|\ud83c\udf0b|\ud83c\udf0c|\ud83c\udf0f|\ud83c\udf11|\ud83c\udf13|\ud83c\udf14|\ud83c\udf15|\ud83c\udf19|\ud83c\udf1b|\ud83c\udf1f|\ud83c\udf20|\ud83c\udf30|\ud83c\udf31|\ud83c\udf34|\ud83c\udf35|\ud83c\udf37|\ud83c\udf38|\ud83c\udf39|\ud83c\udf3a|\ud83c\udf3b|\ud83c\udf3c|\ud83c\udf3d|\ud83c\udf3e|\ud83c\udf3f|\ud83c\udf40|\ud83c\udf41|\ud83c\udf42|\ud83c\udf43|\ud83c\udf44|\ud83c\udf45|\ud83c\udf46|\ud83c\udf47|\ud83c\udf48|\ud83c\udf49|\ud83c\udf4a|\ud83c\udf4c|\ud83c\udf4d|\ud83c\udf4e|\ud83c\udf4f|\ud83c\udf51|\ud83c\udf52|\ud83c\udf53|\ud83c\udf54|\ud83c\udf55|\ud83c\udf56|\ud83c\udf57|\ud83c\udf58|\ud83c\udf59|\ud83c\udf5a|\ud83c\udf5b|\ud83c\udf5c|\ud83c\udf5d|\ud83c\udf5e|\ud83c\udf5f|\ud83c\udf60|\ud83c\udf61|\ud83c\udf62|\ud83c\udf63|\ud83c\udf64|\ud83c\udf65|\ud83c\udf66|\ud83c\udf67|\ud83c\udf68|\ud83c\udf69|\ud83c\udf6a|\ud83c\udf6b|\ud83c\udf6c|\ud83c\udf6d|\ud83c\udf6e|\ud83c\udf6f|\ud83c\udf70|\ud83c\udf71|\ud83c\udf72|\ud83c\udf73|\ud83c\udf74|\ud83c\udf75|\ud83c\udf76|\ud83c\udf77|\ud83c\udf78|\ud83c\udf79|\ud83c\udf7a|\ud83c\udf7b|\ud83c\udf80|\ud83c\udf81|\ud83c\udf82|\ud83c\udf83|\ud83c\udf84|\ud83c\udf85|\ud83c\udf86|\ud83c\udf87|\ud83c\udf88|\ud83c\udf89|\ud83c\udf8a|\ud83c\udf8b|\ud83c\udf8c|\ud83c\udf8d|\ud83c\udf8e|\ud83c\udf8f|\ud83c\udf90|\ud83c\udf91|\ud83c\udf92|\ud83c\udf93|\ud83c\udfa0|\ud83c\udfa1|\ud83c\udfa2|\ud83c\udfa3|\ud83c\udfa4|\ud83c\udfa5|\ud83c\udfa6|\ud83c\udfa7|\ud83c\udfa8|\ud83c\udfa9|\ud83c\udfaa|\ud83c\udfab|\ud83c\udfac|\ud83c\udfad|\ud83c\udfae|\ud83c\udfaf|\ud83c\udfb0|\ud83c\udfb1|\ud83c\udfb2|\ud83c\udfb3|\ud83c\udfb4|\ud83c\udfb5|\ud83c\udfb6|\ud83c\udfb7|\ud83c\udfb8|\ud83c\udfb9|\ud83c\udfba|\ud83c\udfbb|\ud83c\udfbc|\ud83c\udfbd|\ud83c\udfbe|\ud83c\udfbf|\ud83c\udfc0|\ud83c\udfc1|\ud83c\udfc2|\ud83c\udfc3|\ud83c\udfc4|\ud83c\udfc6|\ud83c\udfc8|\ud83c\udfca|\ud83c\udfe0|\ud83c\udfe1|\ud83c\udfe2|\ud83c\udfe3|\ud83c\udfe5|\ud83c\udfe6|\ud83c\udfe7|\ud83c\udfe8|\ud83c\udfe9|\ud83c\udfea|\ud83c\udfeb|\ud83c\udfec|\ud83c\udfed|\ud83c\udfee|\ud83c\udfef|\ud83c\udff0|\ud83d\udc0c|\ud83d\udc0d|\ud83d\udc0e|\ud83d\udc11|\ud83d\udc12|\ud83d\udc14|\ud83d\udc17|\ud83d\udc18|\ud83d\udc19|\ud83d\udc1a|\ud83d\udc1b|\ud83d\udc1c|\ud83d\udc1d|\ud83d\udc1e|\ud83d\udc1f|\ud83d\udc20|\ud83d\udc21|\ud83d\udc22|\ud83d\udc23|\ud83d\udc24|\ud83d\udc25|\ud83d\udc26|\ud83d\udc27|\ud83d\udc28|\ud83d\udc29|\ud83d\udc2b|\ud83d\udc2c|\ud83d\udc2d|\ud83d\udc2e|\ud83d\udc2f|\ud83d\udc30|\ud83d\udc31|\ud83d\udc32|\ud83d\udc33|\ud83d\udc34|\ud83d\udc35|\ud83d\udc36|\ud83d\udc37|\ud83d\udc38|\ud83d\udc39|\ud83d\udc3a|\ud83d\udc3b|\ud83d\udc3c|\ud83d\udc3d|\ud83d\udc3e|\ud83d\udc40|\ud83d\udc42|\ud83d\udc43|\ud83d\udc44|\ud83d\udc45|\ud83d\udc46|\ud83d\udc47|\ud83d\udc48|\ud83d\udc49|\ud83d\udc4a|\ud83d\udc4b|\ud83d\udc4c|\ud83d\udc4d|\ud83d\udc4e|\ud83d\udc4f|\ud83d\udc50|\ud83d\udc51|\ud83d\udc52|\ud83d\udc53|\ud83d\udc54|\ud83d\udc55|\ud83d\udc56|\ud83d\udc57|\ud83d\udc58|\ud83d\udc59|\ud83d\udc5a|\ud83d\udc5b|\ud83d\udc5c|\ud83d\udc5d|\ud83d\udc5e|\ud83d\udc5f|\ud83d\udc60|\ud83d\udc61|\ud83d\udc62|\ud83d\udc63|\ud83d\udc64|\ud83d\udc66|\ud83d\udc67|\ud83d\udc68|\ud83d\udc69|\ud83d\udc6a|\ud83d\udc6b|\ud83d\udc6e|\ud83d\udc6f|\ud83d\udc70|\ud83d\udc71|\ud83d\udc72|\ud83d\udc73|\ud83d\udc74|\ud83d\udc75|\ud83d\udc76|\ud83d\udeb4|\ud83d\udc78|\ud83d\udc79|\ud83d\udc7a|\ud83d\udc7b|\ud83d\udc7c|\ud83d\udc7d|\ud83d\udc7e|\ud83d\udc7f|\ud83d\udc80|\ud83d\udc81|\ud83d\udc82|\ud83d\udc83|\ud83d\udc84|\ud83d\udc85|\ud83d\udc86|\ud83d\udc87|\ud83d\udc88|\ud83d\udc89|\ud83d\udc8a|\ud83d\udc8b|\ud83d\udc8c|\ud83d\udc8d|\ud83d\udc8e|\ud83d\udc8f|\ud83d\udc90|\ud83d\udc91|\ud83d\udc92|\ud83d\udc93|\ud83d\udc94|\ud83d\udc95|\ud83d\udc96|\ud83d\udc97|\ud83d\udc98|\ud83d\udc99|\ud83d\udc9a|\ud83d\udc9b|\ud83d\udc9c|\ud83d\udc9d|\ud83d\udc9e|\ud83d\udc9f|\ud83d\udca0|\ud83d\udca1|\ud83d\udca2|\ud83d\udca3|\ud83d\udca4|\ud83d\udca5|\ud83d\udca6|\ud83d\udca7|\ud83d\udca8|\ud83d\udca9|\ud83d\udcaa|\ud83d\udcab|\ud83d\udcac|\ud83d\udcae|\ud83d\udcaf|\ud83d\udcb0|\ud83d\udcb1|\ud83d\udcb2|\ud83d\udcb3|\ud83d\udcb4|\ud83d\udcb5|\ud83d\udcb8|\ud83d\udcb9|\ud83d\udcba|\ud83d\udcbb|\ud83d\udcbc|\ud83d\udcbd|\ud83d\udcbe|\ud83d\udcbf|\ud83d\udcc0|\ud83d\udcc1|\ud83d\udcc2|\ud83d\udcc3|\ud83d\udcc4|\ud83d\udcc5|\ud83d\udcc6|\ud83d\udcc7|\ud83d\udcc8|\ud83d\udcc9|\ud83d\udcca|\ud83d\udccb|\ud83d\udccc|\ud83d\udccd|\ud83d\udcce|\ud83d\udccf|\ud83d\udcd0|\ud83d\udcd1|\ud83d\udcd2|\ud83d\udcd3|\ud83d\udcd4|\ud83d\udcd5|\ud83d\udcd6|\ud83d\udcd7|\ud83d\udcd8|\ud83d\udcd9|\ud83d\udcda|\ud83d\udcdb|\ud83d\udcdc|\ud83d\udcdd|\ud83d\udcde|\ud83d\udcdf|\ud83d\udce0|\ud83d\udce1|\ud83d\udce2|\ud83d\udce3|\ud83d\udce4|\ud83d\udce5|\ud83d\udce6|\ud83d\udce7|\ud83d\udce8|\ud83d\udce9|\ud83d\udcea|\ud83d\udceb|\ud83d\udcee|\ud83d\udcf0|\ud83d\udcf1|\ud83d\udcf2|\ud83d\udcf3|\ud83d\udcf4|\ud83d\udcf6|\ud83d\udcf7|\ud83d\udcf9|\ud83d\udcfa|\ud83d\udcfb|\ud83d\udcfc|\ud83d\udd03|\ud83d\udd0a|\ud83d\udd0b|\ud83d\udd0c|\ud83d\udd0d|\ud83d\udd0e|\ud83d\udd0f|\ud83d\udd10|\ud83d\udd11|\ud83d\udd12|\ud83d\udd13|\ud83d\udd14|\ud83d\udd16|\ud83d\udd17|\ud83d\udd18|\ud83d\udd19|\ud83d\udd1a|\ud83d\udd1b|\ud83d\udd1c|\ud83d\udd1d|\ud83d\udd1e|\ud83d\udd1f|\ud83d\udd20|\ud83d\udd21|\ud83d\udd22|\ud83d\udd23|\ud83d\udd24|\ud83d\udd25|\ud83d\udd26|\ud83d\udd27|\ud83d\udd28|\ud83d\udd29|\ud83d\udd2a|\ud83d\udd2b|\ud83d\udd2e|\ud83d\udd2f|\ud83d\udd30|\ud83d\udd31|\ud83d\udd32|\ud83d\udd33|\ud83d\udd34|\ud83d\udd35|\ud83d\udd36|\ud83d\udd37|\ud83d\udd38|\ud83d\udd39|\ud83d\udd3a|\ud83d\udd3b|\ud83d\udd3c|\ud83d\udd3d|\ud83d\udd50|\ud83d\udd51|\ud83d\udd52|\ud83d\udd53|\ud83d\udd54|\ud83d\udd55|\ud83d\udd56|\ud83d\udd57|\ud83d\udd58|\ud83d\udd59|\ud83d\udd5a|\ud83d\udd5b|\ud83d\uddfb|\ud83d\uddfc|\ud83d\uddfd|\ud83d\uddfe|\ud83d\uddff|\ud83d\ude01|\ud83d\ude02|\ud83d\ude03|\ud83d\ude04|\ud83d\ude05|\ud83d\ude06|\ud83d\ude09|\ud83d\ude0a|\ud83d\ude0b|\ud83d\ude0c|\ud83d\ude0d|\ud83d\ude0f|\ud83d\ude12|\ud83d\ude13|\ud83d\ude14|\ud83d\ude16|\ud83d\ude18|\ud83d\ude1a|\ud83d\ude1c|\ud83d\ude1d|\ud83d\ude1e|\ud83d\ude20|\ud83d\ude21|\ud83d\ude22|\ud83d\ude23|\ud83d\ude24|\ud83d\ude25|\ud83d\ude28|\ud83d\ude29|\ud83d\ude2a|\ud83d\ude2b|\ud83d\ude2d|\ud83d\ude30|\ud83d\ude31|\ud83d\ude32|\ud83d\ude33|\ud83d\ude35|\ud83d\ude37|\ud83d\ude38|\ud83d\ude39|\ud83d\ude3a|\ud83d\ude3b|\ud83d\ude3c|\ud83d\ude3d|\ud83d\ude3e|\ud83d\ude3f|\ud83d\ude40|\ud83d\ude45|\ud83d\ude46|\ud83d\ude47|\ud83d\ude48|\ud83d\ude49|\ud83d\ude4a|\ud83d\ude4b|\ud83d\ude4c|\ud83d\ude4d|\ud83d\ude4e|\ud83d\ude4f|\ud83d\ude80|\ud83d\ude83|\ud83d\ude84|\ud83d\ude85|\ud83d\ude87|\ud83d\ude89|\ud83d\ude8c|\ud83d\ude8f|\ud83d\ude91|\ud83d\ude92|\ud83d\ude93|\ud83d\ude95|\ud83d\ude97|\ud83d\ude99|\ud83d\ude9a|\ud83d\udea2|\ud83d\udea4|\ud83d\udea5|\ud83d\udea7|\ud83d\udea8|\ud83d\udea9|\ud83d\udeaa|\ud83d\udeab|\ud83d\udeac|\ud83d\udead|\ud83d\udeb2|\ud83d\udeb6|\ud83d\udeb9|\ud83d\udeba|\ud83d\udebb|\ud83d\udebc|\ud83d\udebd|\ud83d\udebe|\ud83d\udec0|\ud83c\udde6|\ud83c\udde7|\ud83c\udde8|\ud83c\udde9|\ud83c\uddea|\ud83c\uddeb|\ud83c\uddec|\ud83c\udded|\ud83c\uddee|\ud83c\uddef|\ud83c\uddf0|\ud83c\uddf1|\ud83c\uddf2|\ud83c\uddf3|\ud83c\uddf4|\ud83c\uddf5|\ud83c\uddf6|\ud83c\uddf7|\ud83c\uddf8|\ud83c\uddf9|\ud83c\uddfa|\ud83c\uddfb|\ud83c\uddfc|\ud83c\uddfd|\ud83c\uddfe|\ud83c\uddff|\ud83c\udf0d|\ud83c\udf0e|\ud83c\udf10|\ud83c\udf12|\ud83c\udf16|\ud83c\udf17|\ue50a|\u3030|\u27b0|\u2797|\u2796|\u2795|\u2755|\u2754|\u2753|\u274e|\u274c|\u2728|\u270b|\u270a|\u2705|\u26ce|\u23f3|\u23f0|\u23ec|\u23eb|\u23ea|\u23e9|\u2122|\u27bf|\u00a9|\u00ae)|(?:(?:\ud83c\udc04|\ud83c\udd7f|\ud83c\ude1a|\ud83c\ude2f|\u3299|\u303d|\u2b55|\u2b50|\u2b1c|\u2b1b|\u2b07|\u2b06|\u2b05|\u2935|\u2934|\u27a1|\u2764|\u2757|\u2747|\u2744|\u2734|\u2733|\u2716|\u2714|\u2712|\u270f|\u270c|\u2709|\u2708|\u2702|\u26fd|\u26fa|\u26f5|\u26f3|\u26f2|\u26ea|\u26d4|\u26c5|\u26c4|\u26be|\u26bd|\u26ab|\u26aa|\u26a1|\u26a0|\u2693|\u267f|\u267b|\u3297|\u2666|\u2665|\u2663|\u2660|\u2653|\u2652|\u2651|\u2650|\u264f|\u264e|\u264d|\u264c|\u264b|\u264a|\u2649|\u2648|\u263a|\u261d|\u2615|\u2614|\u2611|\u260e|\u2601|\u2600|\u25fe|\u25fd|\u25fc|\u25fb|\u25c0|\u25b6|\u25ab|\u25aa|\u24c2|\u231b|\u231a|\u21aa|\u21a9|\u2199|\u2198|\u2197|\u2196|\u2195|\u2194|\u2139|\u2049|\u203c|\u2668)([\uFE0E\uFE0F]?)))/g,o=/IFRAME|NOFRAMES|NOSCRIPT|SCRIPT|SELECT|STYLE|TEXTAREA/,p=String.fromCharCode;return m}();
+// Source: wp-includes/js/wp-emoji.min.js
+!function(a,b){function c(){function c(){if("undefined"==typeof a.twemoji){if(m>600)return;return a.clearTimeout(g),g=a.setTimeout(c,50),void m++}f=a.twemoji,h&&new h(function(a){for(var b,c,e=a.length;e--;)for(b=a[e].addedNodes.length;b--;)c=a[e].addedNodes[b],3===c.nodeType&&(c=c.parentNode),c&&1===c.nodeType&&d(c)}).observe(document.body,{childList:!0,subtree:!0}),d(document.body)}function d(a,c){return k?(c=c||{},f.parse(a,{base:b.baseUrl,ext:b.ext,className:c.className||"emoji",imgAttr:c.imgAttr,callback:function(a,b){switch(a){case"a9":case"ae":case"2122":case"2194":case"2660":case"2663":case"2665":case"2666":return!1}return j||!i||/^1f1(?:e[6-9a-f]|f[0-9a-f])-1f1(?:e[6-9a-f]|f[0-9a-f])$/.test(a)?"".concat(b.base,a,b.ext):!1}})):a}function e(){(!l&&"interactive"===document.readyState||l&&"complete"===document.readyState)&&c()}var f,g,h=a.MutationObserver||a.WebKitMutationObserver||a.MozMutationObserver,i=!1,j=!1,k=!1,l=-1!==a.navigator.userAgent.indexOf("IE 8"),m=0;return b&&(i=a._wpemojiSettings.supports.simple,j=a._wpemojiSettings.supports.flag,k=!i||!j,!l&&"loading"===document.readyState||l&&"complete"!==document.readyState?document.addEventListener?document.addEventListener("readystatechange",e,!1):document.attachEvent&&document.attachEvent("onreadystatechange",e):c()),{replaceEmoji:k,parse:d}}a.wp=a.wp||{},a.wp.emoji=new c}(window,window._wpemojiSettings);
\ No newline at end of file
diff --git a/wp-includes/js/wp-emoji.js b/wp-includes/js/wp-emoji.js
new file mode 100644 (file)
index 0000000..0ff3c6f
--- /dev/null
@@ -0,0 +1,170 @@
+
+( function( window, settings ) {
+       function wpEmoji() {
+               var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver,
+
+               /**
+                * Flag to determine if the browser and the OS support emoji.
+                *
+                * @since 4.2.0
+                *
+                * @var Boolean
+                */
+               supportsEmoji = false,
+
+               /**
+                * Flag to determine if the browser and the OS support flag (two character) emoji.
+                *
+                * @since 4.2.0
+                *
+                * @var Boolean
+                */
+               supportsFlagEmoji = false,
+
+               /**
+                * Flag to determine if we should replace emoji characters with images.
+                *
+                * @since 4.2.0
+                *
+                * @var Boolean
+                */
+               replaceEmoji = false,
+
+               isIE8 = window.navigator.userAgent.indexOf( 'IE 8' ) !== -1,
+
+               // Private
+               twemoji, timer,
+               count = 0;
+
+               /**
+                * Runs when the document load event is fired, so we can do our first parse of the page.
+                *
+                * @since 4.2.0
+                */
+               function load() {
+                       if ( typeof window.twemoji === 'undefined' ) {
+                               // Break if waiting for longer than 30 sec.
+                               if ( count > 600 ) {
+                                       return;
+                               }
+
+                               // Still waiting.
+                               window.clearTimeout( timer );
+                               timer = window.setTimeout( load, 50 );
+                               count++;
+
+                               return;
+                       }
+
+                       twemoji = window.twemoji;
+
+                       if ( MutationObserver ) {
+                               new MutationObserver( function( mutationRecords ) {
+                                       var i = mutationRecords.length,
+                                               ii, node;
+
+                                       while ( i-- ) {
+                                               ii = mutationRecords[ i ].addedNodes.length;
+
+                                               while ( ii-- ) {
+                                                       node = mutationRecords[ i ].addedNodes[ ii ];
+
+                                                       if ( node.nodeType === 3 ) {
+                                                               node = node.parentNode;
+                                                       }
+
+                                                       if ( node && node.nodeType === 1 ) {
+                                                               parse( node );
+                                                       }
+                                               }
+                                       }
+                               } ).observe( document.body, {
+                                       childList: true,
+                                       subtree: true
+                               } );
+                       }
+
+                       parse( document.body );
+               }
+
+               /**
+                * Given an element or string, parse any emoji characters into Twemoji images.
+                *
+                * @since 4.2.0
+                *
+                * @param {HTMLElement|String} object The element or string to parse.
+                * @param {Object} args Additional options for Twemoji.
+                */
+               function parse( object, args ) {
+                       if ( ! replaceEmoji ) {
+                               return object;
+                       }
+
+                       args = args || {};
+
+                       return twemoji.parse( object, {
+                               base: settings.baseUrl,
+                               ext: settings.ext,
+                               className: args.className || 'emoji',
+                               imgAttr: args.imgAttr,
+                               callback: function( icon, options ) {
+                                       // Ignore some standard characters that TinyMCE recommends in its character map.
+                                       switch ( icon ) {
+                                               case 'a9':
+                                               case 'ae':
+                                               case '2122':
+                                               case '2194':
+                                               case '2660':
+                                               case '2663':
+                                               case '2665':
+                                               case '2666':
+                                                       return false;
+                                       }
+
+                                       if ( ! supportsFlagEmoji && supportsEmoji &&
+                                               ! /^1f1(?:e[6-9a-f]|f[0-9a-f])-1f1(?:e[6-9a-f]|f[0-9a-f])$/.test( icon ) ) {
+
+                                               return false;
+                                       }
+
+                                       return ''.concat( options.base, icon, options.ext );
+                               }
+                       } );
+               }
+
+               // Load when the readyState changes to 'interactive', not 'complete'.
+               function onLoad() {
+                       if ( ( ! isIE8 && 'interactive' === document.readyState ) || ( isIE8 && 'complete' === document.readyState ) ) {
+                               load();
+                       }
+               }
+
+               /**
+                * Initialize our emoji support, and set up listeners.
+                */
+               if ( settings ) {
+                       supportsEmoji = window._wpemojiSettings.supports.simple;
+                       supportsFlagEmoji = window._wpemojiSettings.supports.flag;
+                       replaceEmoji = ! supportsEmoji || ! supportsFlagEmoji;
+
+                       if ( ( ! isIE8 && 'loading' === document.readyState ) || ( isIE8 && 'complete' !== document.readyState ) ) {
+                               if ( document.addEventListener ) {
+                                       document.addEventListener( 'readystatechange', onLoad, false );
+                               } else if ( document.attachEvent ) {
+                                       document.attachEvent( 'onreadystatechange', onLoad );
+                               }
+                       } else {
+                               load();
+                       }
+               }
+
+               return {
+                       replaceEmoji: replaceEmoji,
+                       parse: parse
+               };
+       }
+
+       window.wp = window.wp || {};
+       window.wp.emoji = new wpEmoji();
+
+} )( window, window._wpemojiSettings );
diff --git a/wp-includes/js/wp-emoji.min.js b/wp-includes/js/wp-emoji.min.js
new file mode 100644 (file)
index 0000000..b5b7d01
--- /dev/null
@@ -0,0 +1 @@
+!function(a,b){function c(){function c(){if("undefined"==typeof a.twemoji){if(m>600)return;return a.clearTimeout(g),g=a.setTimeout(c,50),void m++}f=a.twemoji,h&&new h(function(a){for(var b,c,e=a.length;e--;)for(b=a[e].addedNodes.length;b--;)c=a[e].addedNodes[b],3===c.nodeType&&(c=c.parentNode),c&&1===c.nodeType&&d(c)}).observe(document.body,{childList:!0,subtree:!0}),d(document.body)}function d(a,c){return k?(c=c||{},f.parse(a,{base:b.baseUrl,ext:b.ext,className:c.className||"emoji",imgAttr:c.imgAttr,callback:function(a,b){switch(a){case"a9":case"ae":case"2122":case"2194":case"2660":case"2663":case"2665":case"2666":return!1}return j||!i||/^1f1(?:e[6-9a-f]|f[0-9a-f])-1f1(?:e[6-9a-f]|f[0-9a-f])$/.test(a)?"".concat(b.base,a,b.ext):!1}})):a}function e(){(!l&&"interactive"===document.readyState||l&&"complete"===document.readyState)&&c()}var f,g,h=a.MutationObserver||a.WebKitMutationObserver||a.MozMutationObserver,i=!1,j=!1,k=!1,l=-1!==a.navigator.userAgent.indexOf("IE 8"),m=0;return b&&(i=a._wpemojiSettings.supports.simple,j=a._wpemojiSettings.supports.flag,k=!i||!j,!l&&"loading"===document.readyState||l&&"complete"!==document.readyState?document.addEventListener?document.addEventListener("readystatechange",e,!1):document.attachEvent&&document.attachEvent("onreadystatechange",e):c()),{replaceEmoji:k,parse:d}}a.wp=a.wp||{},a.wp.emoji=new c}(window,window._wpemojiSettings);
\ No newline at end of file
index acb8ccc391c7fb6249324fcab58b7a374e61ccb5..31489f83570e3078e785064b79e3fe348b8337bf 100644 (file)
@@ -2,11 +2,15 @@
 var wpLink;
 
 ( function( $ ) {
-       var editor, searchTimer, River, Query,
+       var editor, searchTimer, River, Query, correctedURL,
                inputs = {},
                rivers = {},
                isTouch = ( 'ontouchend' in document );
 
+       function getLink() {
+               return editor.dom.getParent( editor.selection.getNode(), 'a' );
+       }
+
        wpLink = {
                timeToTriggerRiver: 150,
                minRiverAJAXDuration: 200,
@@ -21,14 +25,14 @@ var wpLink;
                        inputs.backdrop = $( '#wp-link-backdrop' );
                        inputs.submit = $( '#wp-link-submit' );
                        inputs.close = $( '#wp-link-close' );
-                       // URL
-                       inputs.url = $( '#url-field' );
+
+                       // Input
+                       inputs.text = $( '#wp-link-text' );
+                       inputs.url = $( '#wp-link-url' );
                        inputs.nonce = $( '#_ajax_linking_nonce' );
-                       // Secondary options
-                       inputs.title = $( '#link-title-field' );
-                       // Advanced Options
-                       inputs.openInNewTab = $( '#link-target-checkbox' );
-                       inputs.search = $( '#search-field' );
+                       inputs.openInNewTab = $( '#wp-link-target' );
+                       inputs.search = $( '#wp-link-search' );
+
                        // Build Rivers
                        rivers.search = new River( $( '#search-results' ) );
                        rivers.recent = new River( $( '#most-recent-results' ) );
@@ -72,6 +76,21 @@ var wpLink;
                                        wpLink.searchInternalLinks.call( self );
                                }, 500 );
                        });
+
+                       function correctURL() {
+                               var url = $.trim( inputs.url.val() );
+
+                               if ( url && correctedURL !== url && ! /^(?:[a-z]+:|#|\?|\.|\/)/.test( url ) ) {
+                                       inputs.url.val( 'http://' + url );
+                                       correctedURL = url;
+                               }
+                       }
+
+                       inputs.url.on( 'paste', function() {
+                               setTimeout( correctURL, 0 );
+                       } );
+
+                       inputs.url.on( 'blur', correctURL );
                },
 
                open: function( editorId ) {
@@ -114,6 +133,7 @@ var wpLink;
                        inputs.backdrop.show();
 
                        wpLink.refresh();
+
                        $( document ).trigger( 'wplink-open', inputs.wrap );
                },
 
@@ -122,6 +142,8 @@ var wpLink;
                },
 
                refresh: function() {
+                       var text = '';
+
                        // Refresh rivers (clear links, check visibility)
                        rivers.search.refresh();
                        rivers.recent.refresh();
@@ -129,6 +151,21 @@ var wpLink;
                        if ( wpLink.isMCE() ) {
                                wpLink.mceRefresh();
                        } else {
+                               // For the Text editor the "Link text" field is always shown
+                               if ( ! inputs.wrap.hasClass( 'has-text-field' ) ) {
+                                       inputs.wrap.addClass( 'has-text-field' );
+                               }
+
+                               if ( document.selection ) {
+                                       // Old IE
+                                       text = document.selection.createRange().text || '';
+                               } else if ( typeof this.textarea.selectionStart !== 'undefined' &&
+                                       ( this.textarea.selectionStart !== this.textarea.selectionEnd ) ) {
+                                       // W3C
+                                       text = this.textarea.value.substring( this.textarea.selectionStart, this.textarea.selectionEnd ) || '';
+                               }
+
+                               inputs.text.val( text );
                                wpLink.setDefaultValues();
                        }
 
@@ -146,24 +183,57 @@ var wpLink;
                        if ( ! rivers.recent.ul.children().length ) {
                                rivers.recent.ajax();
                        }
+
+                       correctedURL = inputs.url.val().replace( /^http:\/\//, '' );
+               },
+
+               hasSelectedText: function( linkNode ) {
+                       var html = editor.selection.getContent();
+
+                       // Partial html and not a fully selected anchor element
+                       if ( /</.test( html ) && ( ! /^<a [^>]+>[^<]+<\/a>$/.test( html ) || html.indexOf('href=') === -1 ) ) {
+                               return false;
+                       }
+
+                       if ( linkNode ) {
+                               var nodes = linkNode.childNodes, i;
+
+                               if ( nodes.length === 0 ) {
+                                       return false;
+                               }
+
+                               for ( i = nodes.length - 1; i >= 0; i-- ) {
+                                       if ( nodes[i].nodeType != 3 ) {
+                                               return false;
+                                       }
+                               }
+                       }
+
+                       return true;
                },
 
                mceRefresh: function() {
-                       var e;
-
-                       // If link exists, select proper values.
-                       if ( e = editor.dom.getParent( editor.selection.getNode(), 'A' ) ) {
-                               // Set URL and description.
-                               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' === editor.dom.getAttrib( e, 'target' ) ) );
-                               // Update save prompt.
+                       var text,
+                               selectedNode = editor.selection.getNode(),
+                               linkNode = editor.dom.getParent( selectedNode, 'a[href]' ),
+                               onlyText = this.hasSelectedText( linkNode );
+
+                       if ( linkNode ) {
+                               text = linkNode.innerText || linkNode.textContent;
+                               inputs.url.val( editor.dom.getAttrib( linkNode, 'href' ) );
+                               inputs.openInNewTab.prop( 'checked', '_blank' === editor.dom.getAttrib( linkNode, 'target' ) );
                                inputs.submit.val( wpLinkL10n.update );
+                       } else {
+                               text = editor.selection.getContent({ format: 'text' });
+                               this.setDefaultValues();
+                       }
 
-                       // If there's no link, set the default values.
+                       if ( onlyText ) {
+                               inputs.text.val( text || '' );
+                               inputs.wrap.addClass( 'has-text-field' );
                        } else {
-                               wpLink.setDefaultValues();
+                               inputs.text.val( '' );
+                               inputs.wrap.removeClass( 'has-text-field' );
                        }
                },
 
@@ -183,45 +253,46 @@ var wpLink;
 
                        inputs.backdrop.hide();
                        inputs.wrap.hide();
+
+                       correctedURL = false;
+
                        $( document ).trigger( 'wplink-close', inputs.wrap );
                },
 
                getAttrs: function() {
                        return {
-                               href: inputs.url.val(),
-                               title: inputs.title.val(),
+                               href: $.trim( inputs.url.val() ),
                                target: inputs.openInNewTab.prop( 'checked' ) ? '_blank' : ''
                        };
                },
 
                update: function() {
-                       if ( wpLink.isMCE() )
+                       if ( wpLink.isMCE() ) {
                                wpLink.mceUpdate();
-                       else
+                       } else {
                                wpLink.htmlUpdate();
+                       }
                },
 
                htmlUpdate: function() {
-                       var attrs, html, begin, end, cursor, title, selection,
+                       var attrs, text, html, begin, end, cursor, selection,
                                textarea = wpLink.textarea;
 
-                       if ( ! textarea )
+                       if ( ! textarea ) {
                                return;
+                       }
 
                        attrs = wpLink.getAttrs();
+                       text = inputs.text.val();
 
                        // If there's no href, return.
-                       if ( ! attrs.href || attrs.href == 'http://' )
+                       if ( ! attrs.href ) {
                                return;
+                       }
 
                        // Build HTML
                        html = '<a href="' + attrs.href + '"';
 
-                       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 + '"';
                        }
@@ -234,25 +305,29 @@ var wpLink;
                                // Note: If no text is selected, IE will not place the cursor
                                //       inside the closing tag.
                                textarea.focus();
-                               wpLink.range.text = html + wpLink.range.text + '</a>';
+                               wpLink.range.text = html + ( text || wpLink.range.text ) + '</a>';
                                wpLink.range.moveToBookmark( wpLink.range.getBookmark() );
                                wpLink.range.select();
 
                                wpLink.range = null;
                        } else if ( typeof textarea.selectionStart !== 'undefined' ) {
                                // W3C
-                               begin       = textarea.selectionStart;
-                               end         = textarea.selectionEnd;
-                               selection   = textarea.value.substring( begin, end );
-                               html        = html + selection + '</a>';
-                               cursor      = begin + html.length;
+                               begin = textarea.selectionStart;
+                               end = textarea.selectionEnd;
+                               selection = text || textarea.value.substring( begin, end );
+                               html = html + selection + '</a>';
+                               cursor = begin + html.length;
 
                                // If no text is selected, place the cursor inside the closing tag.
-                               if ( begin == end )
-                                       cursor -= '</a>'.length;
+                               if ( begin === end && ! selection ) {
+                                       cursor -= 4;
+                               }
 
-                               textarea.value = textarea.value.substring( 0, begin ) + html +
-                                       textarea.value.substring( end, textarea.value.length );
+                               textarea.value = (
+                                       textarea.value.substring( 0, begin ) +
+                                       html +
+                                       textarea.value.substring( end, textarea.value.length )
+                               );
 
                                // Update cursor position
                                textarea.selectionStart = textarea.selectionEnd = cursor;
@@ -263,8 +338,8 @@ var wpLink;
                },
 
                mceUpdate: function() {
-                       var link,
-                               attrs = wpLink.getAttrs();
+                       var attrs = wpLink.getAttrs(),
+                               link, text;
 
                        wpLink.close();
                        editor.focus();
@@ -273,34 +348,50 @@ var wpLink;
                                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 ( ! attrs.href ) {
                                editor.execCommand( 'unlink' );
                                return;
                        }
 
+                       link = getLink();
+                       text = inputs.text.val();
+
                        if ( link ) {
+                               if ( text ) {
+                                       if ( 'innerText' in link ) {
+                                               link.innerText = text;
+                                       } else {
+                                               link.textContent = text;
+                                       }
+                               }
+
                                editor.dom.setAttribs( link, attrs );
                        } else {
-                               editor.execCommand( 'mceInsertLink', false, attrs );
+                               if ( text ) {
+                                       editor.selection.setNode( editor.dom.create( 'a', attrs, text ) );
+                               } else {
+                                       editor.execCommand( 'mceInsertLink', false, attrs );
+                               }
                        }
-
-                       // Move the cursor to the end of the selection
-                       editor.selection.collapse();
                },
 
                updateFields: function( e, li ) {
                        inputs.url.val( li.children( '.item-permalink' ).val() );
-                       inputs.title.val( li.hasClass( 'no-title' ) ? '' : li.children( '.item-title' ).text() );
                },
 
                setDefaultValues: function() {
-                       var selection = editor && editor.selection.getContent(),
+                       var selection,
                                emailRegexp = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i,
                                urlRegexp = /^(https?|ftp):\/\/[A-Z0-9.-]+\.[A-Z]{2,4}[^ "]*$/i;
 
+                       if ( this.isMCE() ) {
+                               selection = editor.selection.getContent();
+                       } else if ( document.selection && wpLink.range ) {
+                               selection = wpLink.range.text;
+                       } else if ( typeof this.textarea.selectionStart !== 'undefined' ) {
+                               selection = this.textarea.value.substring( this.textarea.selectionStart, this.textarea.selectionEnd );
+                       }
+
                        if ( selection && emailRegexp.test( selection ) ) {
                                // Selection is email address
                                inputs.url.val( 'mailto:' + selection );
@@ -309,12 +400,9 @@ var wpLink;
                                inputs.url.val( selection.replace( /&amp;|&#0?38;/gi, '&' ) );
                        } else {
                                // Set URL to default.
-                               inputs.url.val( 'http://' );
+                               inputs.url.val( '' );
                        }
 
-                       // Set description to default.
-                       inputs.title.val( '' );
-
                        // Update save prompt.
                        inputs.submit.val( wpLinkL10n.save );
                },
@@ -332,11 +420,11 @@ var wpLink;
                                        return;
 
                                wpLink.lastSearch = search;
-                               waiting = t.parent().find('.spinner').show();
+                               waiting = t.parent().find( '.spinner' ).addClass( 'is-active' );
 
                                rivers.search.change( search );
                                rivers.search.ajax( function() {
-                                       waiting.hide();
+                                       waiting.removeClass( 'is-active' );
                                });
                        } else {
                                rivers.search.hide();
@@ -572,11 +660,11 @@ var wpLink;
                                if ( ! self.query.ready() || newBottom < self.contentHeight.height() - wpLink.riverBottomThreshold )
                                        return;
 
-                               self.waiting.show();
+                               self.waiting.addClass( 'is-active' );
                                el.scrollTop( newTop + self.waiting.outerHeight() );
 
                                self.ajax( function() {
-                                       self.waiting.hide();
+                                       self.waiting.removeClass( 'is-active' );
                                });
                        }, wpLink.timeToTriggerRiver );
                }
index 3c3c0724f8d54d6f99c2ecd687bb251a1921c932..f787c3df99080ff309be8afc90be197f34bb2080 100644 (file)
@@ -1 +1 @@
-var wpLink;!function(a){var b,c,d,e,f={},g={},h="ontouchend"in document;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.queryNotice=a("#query-notice-message"),f.queryNoticeTextDefault=f.queryNotice.find(".query-notice-default"),f.queryNoticeTextHint=f.queryNotice.find(".query-notice-hint"),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").on("click",wpLink.toggleInternalLinking),g.elements.on("river-select",wpLink.updateFields),f.search.on("focus.wplink",function(){f.queryNoticeTextDefault.hide(),f.queryNoticeTextHint.removeClass("screen-reader-text").show()}).on("blur.wplink",function(){f.queryNoticeTextDefault.show(),f.queryNoticeTextHint.addClass("screen-reader-text").hide()}),f.search.keyup(function(){var a=this;window.clearTimeout(c),c=window.setTimeout(function(){wpLink.searchInternalLinks.call(a)},500)})},open:function(c){var d;a(document.body).addClass("modal-open"),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(),a(document).trigger("wplink-open",f.wrap))},isMCE:function(){return b&&!b.isHidden()},refresh:function(){g.search.refresh(),g.recent.refresh(),wpLink.isMCE()?wpLink.mceRefresh():wpLink.setDefaultValues(),h?f.url.focus().blur():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(){a(document.body).removeClass("modal-open"),wpLink.isMCE()?b.focus():(wpLink.textarea.focus(),wpLink.range&&(wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select())),f.backdrop.hide(),f.wrap.hide(),a(document).trigger("wplink-close",f.wrap)},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){f.url.val(b.children(".item-permalink").val()),f.title.val(b.hasClass("no-title")?"":b.children(".item-title").text())},setDefaultValues:function(){var a=b&&b.selection.getContent(),c=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i,d=/^(https?|ftp):\/\/[A-Z0-9.-]+\.[A-Z]{2,4}[^ "]*$/i;f.url.val(a&&c.test(a)?"mailto:"+a:a&&d.test(a)?a.replace(/&amp;|&#0?38;/gi,"&"):"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)&&(!document.activeElement||"link-title-field"!==document.activeElement.id&&"url-field"!==document.activeElement.id)&&(c=b.keyCode===e.UP?"prev":"next",clearInterval(wpLink.keyInterval),wpLink[c](),wpLink.keyInterval=setInterval(wpLink[c],wpLink.keySensitivity),b.preventDefault())},keyup:function(b){var c=a.ui.keyCode;(b.which===c.UP||b.which===c.DOWN)&&(clearInterval(wpLink.keyInterval),b.preventDefault())},delayedCallback:function(a,b){var c,d,e,f;return b?(setTimeout(function(){return d?a.apply(f,e):void(c=!0)},b),function(){return c?a.apply(this,arguments):(e=arguments,f=this,void(d=!0))}):a},toggleInternalLinking:function(a){var b=f.wrap.hasClass("search-panel-visible");f.wrap.toggleClass("search-panel-visible",!b),setUserSetting("wplink",b?"0":"1"),f[b?"url":"search"].focus(),a.preventDefault()}},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 no-matches-found"><span class="item-title"><em>'+wpLinkL10n.noMatchesFound+"</em></span></li>"),this.ul[g?"html":"append"](d)},maybeLoad:function(){var a=this,b=this.element,c=b.scrollTop()+b.height();!this.query.ready()||c<this.contentHeight.height()-wpLink.riverBottomThreshold||setTimeout(function(){var c=b.scrollTop(),d=c+b.height();!a.query.ready()||d<a.contentHeight.height()-wpLink.riverBottomThreshold||(a.waiting.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
+var wpLink;!function(a){function b(){return c.dom.getParent(c.selection.getNode(),"a")}var c,d,e,f,g,h={},i={},j="ontouchend"in document;wpLink={timeToTriggerRiver:150,minRiverAJAXDuration:200,riverBottomThreshold:5,keySensitivity:100,lastSearch:"",textarea:"",init:function(){function b(){var b=a.trim(h.url.val());b&&g!==b&&!/^(?:[a-z]+:|#|\?|\.|\/)/.test(b)&&(h.url.val("http://"+b),g=b)}h.wrap=a("#wp-link-wrap"),h.dialog=a("#wp-link"),h.backdrop=a("#wp-link-backdrop"),h.submit=a("#wp-link-submit"),h.close=a("#wp-link-close"),h.text=a("#wp-link-text"),h.url=a("#wp-link-url"),h.nonce=a("#_ajax_linking_nonce"),h.openInNewTab=a("#wp-link-target"),h.search=a("#wp-link-search"),i.search=new e(a("#search-results")),i.recent=new e(a("#most-recent-results")),i.elements=h.dialog.find(".query-results"),h.queryNotice=a("#query-notice-message"),h.queryNoticeTextDefault=h.queryNotice.find(".query-notice-default"),h.queryNoticeTextHint=h.queryNotice.find(".query-notice-hint"),h.dialog.keydown(wpLink.keydown),h.dialog.keyup(wpLink.keyup),h.submit.click(function(a){a.preventDefault(),wpLink.update()}),h.close.add(h.backdrop).add("#wp-link-cancel a").click(function(a){a.preventDefault(),wpLink.close()}),a("#wp-link-search-toggle").on("click",wpLink.toggleInternalLinking),i.elements.on("river-select",wpLink.updateFields),h.search.on("focus.wplink",function(){h.queryNoticeTextDefault.hide(),h.queryNoticeTextHint.removeClass("screen-reader-text").show()}).on("blur.wplink",function(){h.queryNoticeTextDefault.show(),h.queryNoticeTextHint.addClass("screen-reader-text").hide()}),h.search.keyup(function(){var a=this;window.clearTimeout(d),d=window.setTimeout(function(){wpLink.searchInternalLinks.call(a)},500)}),h.url.on("paste",function(){setTimeout(b,0)}),h.url.on("blur",b)},open:function(b){var d;a(document.body).addClass("modal-open"),wpLink.range=null,b&&(window.wpActiveEditor=b),window.wpActiveEditor&&(this.textarea=a("#"+window.wpActiveEditor).get(0),"undefined"!=typeof tinymce&&(d=tinymce.get(wpActiveEditor),c=d&&!d.isHidden()?d:null,c&&tinymce.isIE&&(c.windowManager.bookmark=c.selection.getBookmark())),!wpLink.isMCE()&&document.selection&&(this.textarea.focus(),this.range=document.selection.createRange()),h.wrap.show(),h.backdrop.show(),wpLink.refresh(),a(document).trigger("wplink-open",h.wrap))},isMCE:function(){return c&&!c.isHidden()},refresh:function(){var a="";i.search.refresh(),i.recent.refresh(),wpLink.isMCE()?wpLink.mceRefresh():(h.wrap.hasClass("has-text-field")||h.wrap.addClass("has-text-field"),document.selection?a=document.selection.createRange().text||"":"undefined"!=typeof this.textarea.selectionStart&&this.textarea.selectionStart!==this.textarea.selectionEnd&&(a=this.textarea.value.substring(this.textarea.selectionStart,this.textarea.selectionEnd)||""),h.text.val(a),wpLink.setDefaultValues()),j?h.url.focus().blur():h.url.focus()[0].select(),i.recent.ul.children().length||i.recent.ajax(),g=h.url.val().replace(/^http:\/\//,"")},hasSelectedText:function(a){var b=c.selection.getContent();if(/</.test(b)&&(!/^<a [^>]+>[^<]+<\/a>$/.test(b)||-1===b.indexOf("href=")))return!1;if(a){var d,e=a.childNodes;if(0===e.length)return!1;for(d=e.length-1;d>=0;d--)if(3!=e[d].nodeType)return!1}return!0},mceRefresh:function(){var a,b=c.selection.getNode(),d=c.dom.getParent(b,"a[href]"),e=this.hasSelectedText(d);d?(a=d.innerText||d.textContent,h.url.val(c.dom.getAttrib(d,"href")),h.openInNewTab.prop("checked","_blank"===c.dom.getAttrib(d,"target")),h.submit.val(wpLinkL10n.update)):(a=c.selection.getContent({format:"text"}),this.setDefaultValues()),e?(h.text.val(a||""),h.wrap.addClass("has-text-field")):(h.text.val(""),h.wrap.removeClass("has-text-field"))},close:function(){a(document.body).removeClass("modal-open"),wpLink.isMCE()?c.focus():(wpLink.textarea.focus(),wpLink.range&&(wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select())),h.backdrop.hide(),h.wrap.hide(),g=!1,a(document).trigger("wplink-close",h.wrap)},getAttrs:function(){return{href:a.trim(h.url.val()),target:h.openInNewTab.prop("checked")?"_blank":""}},update:function(){wpLink.isMCE()?wpLink.mceUpdate():wpLink.htmlUpdate()},htmlUpdate:function(){var a,b,c,d,e,f,g,i=wpLink.textarea;i&&(a=wpLink.getAttrs(),b=h.text.val(),a.href&&(c='<a href="'+a.href+'"',a.target&&(c+=' target="'+a.target+'"'),c+=">",document.selection&&wpLink.range?(i.focus(),wpLink.range.text=c+(b||wpLink.range.text)+"</a>",wpLink.range.moveToBookmark(wpLink.range.getBookmark()),wpLink.range.select(),wpLink.range=null):"undefined"!=typeof i.selectionStart&&(d=i.selectionStart,e=i.selectionEnd,g=b||i.value.substring(d,e),c=c+g+"</a>",f=d+c.length,d!==e||g||(f-=4),i.value=i.value.substring(0,d)+c+i.value.substring(e,i.value.length),i.selectionStart=i.selectionEnd=f),wpLink.close(),i.focus()))},mceUpdate:function(){var a,d,e=wpLink.getAttrs();return wpLink.close(),c.focus(),tinymce.isIE&&c.selection.moveToBookmark(c.windowManager.bookmark),e.href?(a=b(),d=h.text.val(),void(a?(d&&("innerText"in a?a.innerText=d:a.textContent=d),c.dom.setAttribs(a,e)):d?c.selection.setNode(c.dom.create("a",e,d)):c.execCommand("mceInsertLink",!1,e))):void c.execCommand("unlink")},updateFields:function(a,b){h.url.val(b.children(".item-permalink").val())},setDefaultValues:function(){var a,b=/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i,d=/^(https?|ftp):\/\/[A-Z0-9.-]+\.[A-Z]{2,4}[^ "]*$/i;this.isMCE()?a=c.selection.getContent():document.selection&&wpLink.range?a=wpLink.range.text:"undefined"!=typeof this.textarea.selectionStart&&(a=this.textarea.value.substring(this.textarea.selectionStart,this.textarea.selectionEnd)),h.url.val(a&&b.test(a)?"mailto:"+a:a&&d.test(a)?a.replace(/&amp;|&#0?38;/gi,"&"):""),h.submit.val(wpLinkL10n.save)},searchInternalLinks:function(){var b,c=a(this),d=c.val();if(d.length>2){if(i.recent.hide(),i.search.show(),wpLink.lastSearch==d)return;wpLink.lastSearch=d,b=c.parent().find(".spinner").addClass("is-active"),i.search.change(d),i.search.ajax(function(){b.removeClass("is-active")})}else i.search.hide(),i.recent.show()},next:function(){i.search.next(),i.recent.next()},prev:function(){i.search.prev(),i.recent.prev()},keydown:function(b){var c,d,e=a.ui.keyCode;e.ESCAPE===b.keyCode?(wpLink.close(),b.stopImmediatePropagation()):e.TAB===b.keyCode&&(d=b.target.id,"wp-link-submit"!==d||b.shiftKey?"wp-link-close"===d&&b.shiftKey&&(h.submit.focus(),b.preventDefault()):(h.close.focus(),b.preventDefault())),(b.keyCode===e.UP||b.keyCode===e.DOWN)&&(!document.activeElement||"link-title-field"!==document.activeElement.id&&"url-field"!==document.activeElement.id)&&(c=b.keyCode===e.UP?"prev":"next",clearInterval(wpLink.keyInterval),wpLink[c](),wpLink.keyInterval=setInterval(wpLink[c],wpLink.keySensitivity),b.preventDefault())},keyup:function(b){var c=a.ui.keyCode;(b.which===c.UP||b.which===c.DOWN)&&(clearInterval(wpLink.keyInterval),b.preventDefault())},delayedCallback:function(a,b){var c,d,e,f;return b?(setTimeout(function(){return d?a.apply(f,e):void(c=!0)},b),function(){return c?a.apply(this,arguments):(e=arguments,f=this,void(d=!0))}):a},toggleInternalLinking:function(a){var b=h.wrap.hasClass("search-panel-visible");h.wrap.toggleClass("search-panel-visible",!b),setUserSetting("wplink",b?"0":"1"),h[b?"url":"search"].focus(),a.preventDefault()}},e=function(b,c){var d=this;this.element=b,this.ul=b.children("ul"),this.contentHeight=b.children("#link-selector-height"),this.waiting=b.find(".river-waiting"),this.change(c),this.refresh(),a("#wp-link .query-results, #wp-link #link-selector").scroll(function(){d.maybeLoad()}),b.on("click","li",function(b){d.select(a(this),b)})},a.extend(e.prototype,{refresh:function(){this.deselect(),this.visible=this.element.is(":visible")},show:function(){this.visible||(this.deselect(),this.element.show(),this.visible=!0)},hide:function(){this.element.hide(),this.visible=!1},select:function(a,b){var c,d,e,f;a.hasClass("unselectable")||a==this.selected||(this.deselect(),this.selected=a.addClass("selected"),c=a.outerHeight(),d=this.element.height(),e=a.position().top,f=this.element.scrollTop(),0>e?this.element.scrollTop(f+e):e+c>d&&this.element.scrollTop(f+e-d+c),this.element.trigger("river-select",[a,b,this]))},deselect:function(){this.selected&&this.selected.removeClass("selected"),this.selected=!1},prev:function(){if(this.visible){var a;this.selected&&(a=this.selected.prev("li"),a.length&&this.select(a))}},next:function(){if(this.visible){var b=this.selected?this.selected.next("li"):a("li:not(.unselectable):first",this.element);b.length&&this.select(b)}},ajax:function(a){var b=this,c=1==this.query.page?0:wpLink.minRiverAJAXDuration,d=wpLink.delayedCallback(function(c,d){b.process(c,d),a&&a(c,d)},c);this.query.ajax(d)},change:function(a){this.query&&this._search==a||(this._search=a,this.query=new f(a),this.element.scrollTop(0))},process:function(b,c){var d="",e=!0,f="",g=1==c.page;b?a.each(b,function(){f=e?"alternate":"",f+=this.title?"":" no-title",d+=f?'<li class="'+f+'">':"<li>",d+='<input type="hidden" class="item-permalink" value="'+this.permalink+'" />',d+='<span class="item-title">',d+=this.title?this.title:wpLinkL10n.noTitle,d+='</span><span class="item-info">'+this.info+"</span></li>",e=!e}):g&&(d+='<li class="unselectable no-matches-found"><span class="item-title"><em>'+wpLinkL10n.noMatchesFound+"</em></span></li>"),this.ul[g?"html":"append"](d)},maybeLoad:function(){var a=this,b=this.element,c=b.scrollTop()+b.height();!this.query.ready()||c<this.contentHeight.height()-wpLink.riverBottomThreshold||setTimeout(function(){var c=b.scrollTop(),d=c+b.height();!a.query.ready()||d<a.contentHeight.height()-wpLink.riverBottomThreshold||(a.waiting.addClass("is-active"),b.scrollTop(c+a.waiting.outerHeight()),a.ajax(function(){a.waiting.removeClass("is-active")}))},wpLink.timeToTriggerRiver)}}),f=function(a){this.page=1,this.allLoaded=!1,this.querying=!1,this.search=a},a.extend(f.prototype,{ready:function(){return!(this.querying||this.allLoaded)},ajax:function(b){var c=this,d={action:"wp-link-ajax",page:this.page,_ajax_linking_nonce:h.nonce.val()};this.search&&(d.search=this.search),this.querying=!0,a.post(ajaxurl,d,function(a){c.page++,c.querying=!1,c.allLoaded=!a,b(a,d)},"json")}}),a(document).ready(wpLink.init)}(jQuery);
\ No newline at end of file
index cd2727a48449192cf67ef4cfdde406098ff47a56..ba96b089e523997d1dab0fba60a5d1df9105f718 100644 (file)
@@ -441,6 +441,7 @@ if ( ! CUSTOM_TAGS ) {
                'q' => array(
                        'cite' => true,
                ),
+               's' => array(),
                'strike' => array(),
                'strong' => array(),
        );
@@ -556,22 +557,22 @@ function wp_kses_allowed_html( $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 */
@@ -672,7 +673,7 @@ function wp_kses_split2($string, $allowed_html, $allowed_protocols) {
 
        if (substr($string, 0, 1) != '<')
                return '&gt;';
-       # It matched a ">" character
+       // It matched a ">" character
 
        if ( '<!--' == substr( $string, 0, 4 ) ) {
                $string = str_replace( array('<!--', '-->'), '', $string );
@@ -686,11 +687,11 @@ function wp_kses_split2($string, $allowed_html, $allowed_protocols) {
                $string = preg_replace('/-$/', '', $string);
                return "<!--{$string}-->";
        }
-       # Allow HTML comments
+       // Allow HTML comments
 
        if (!preg_match('%^<\s*(/\s*)?([a-zA-Z0-9]+)([^>]*)>?$%', $string, $matches))
                return '';
-       # It's seriously malformed
+       // It's seriously malformed
 
        $slash = trim($matches[1]);
        $elem = $matches[2];
@@ -701,11 +702,11 @@ function wp_kses_split2($string, $allowed_html, $allowed_protocols) {
 
        if ( ! isset($allowed_html[strtolower($elem)]) )
                return '';
-       # They are using a not allowed HTML element
+       // They are using a not allowed HTML element
 
        if ($slash != '')
                return "</$elem>";
-       # No attributes are allowed for closing elements
+       // No attributes are allowed for closing elements
 
        return wp_kses_attr( $elem, $attrlist, $allowed_html, $allowed_protocols );
 }
@@ -728,7 +729,7 @@ function wp_kses_split2($string, $allowed_html, $allowed_protocols) {
  * @return string Sanitized HTML element
  */
 function wp_kses_attr($element, $attr, $allowed_html, $allowed_protocols) {
-       # Is there a closing XHTML slash at the end of the attributes?
+       // Is there a closing XHTML slash at the end of the attributes?
 
        if ( ! is_array( $allowed_html ) )
                $allowed_html = wp_kses_allowed_html( $allowed_html );
@@ -737,25 +738,25 @@ function wp_kses_attr($element, $attr, $allowed_html, $allowed_protocols) {
        if (preg_match('%\s*/\s*$%', $attr))
                $xhtml_slash = ' /';
 
-       # Are any attributes allowed at all for this element?
+       // Are any attributes allowed at all for this element?
        if ( ! isset($allowed_html[strtolower($element)]) || count($allowed_html[strtolower($element)]) == 0 )
                return "<$element$xhtml_slash>";
 
-       # Split it
+       // Split it
        $attrarr = wp_kses_hair($attr, $allowed_protocols);
 
-       # Go through $attrarr, and save the allowed attributes for this element
-       # in $attr2
+       // Go through $attrarr, and save the allowed attributes for this element
+       // in $attr2
        $attr2 = '';
 
        $allowed_attr = $allowed_html[strtolower($element)];
        foreach ($attrarr as $arreach) {
                if ( ! isset( $allowed_attr[strtolower($arreach['name'])] ) )
-                       continue; # the attribute is not allowed
+                       continue; // the attribute is not allowed
 
                $current = $allowed_attr[strtolower($arreach['name'])];
                if ( $current == '' )
-                       continue; # the attribute is not allowed
+                       continue; // the attribute is not allowed
 
                if ( strtolower( $arreach['name'] ) == 'style' ) {
                        $orig_value = $arreach['value'];
@@ -770,10 +771,10 @@ function wp_kses_attr($element, $attr, $allowed_html, $allowed_protocols) {
 
                if ( ! is_array($current) ) {
                        $attr2 .= ' '.$arreach['whole'];
-               # there are no checks
+               // there are no checks
 
                } else {
-                       # there are some checks
+                       // there are some checks
                        $ok = true;
                        foreach ($current as $currkey => $currval) {
                                if ( ! wp_kses_check_attr_val($arreach['value'], $arreach['vless'], $currkey, $currval) ) {
@@ -783,11 +784,11 @@ function wp_kses_attr($element, $attr, $allowed_html, $allowed_protocols) {
                        }
 
                        if ( $ok )
-                               $attr2 .= ' '.$arreach['whole']; # it passed them
-               } # if !is_array($current)
-       } # foreach
+                               $attr2 .= ' '.$arreach['whole']; // it passed them
+               } // if !is_array($current)
+       } // foreach
 
-       # Remove any "<" or ">" characters
+       // Remove any "<" or ">" characters
        $attr2 = preg_replace('/[<>]/', '', $attr2);
 
        return "<$element$attr2$xhtml_slash>";
@@ -816,13 +817,13 @@ function wp_kses_hair($attr, $allowed_protocols) {
        $attrname = '';
        $uris = array('xmlns', 'profile', 'href', 'src', 'cite', 'classid', 'codebase', 'data', 'usemap', 'longdesc', 'action');
 
-       # Loop through the whole attribute list
+       // Loop through the whole attribute list
 
        while (strlen($attr) != 0) {
-               $working = 0; # Was the last operation successful?
+               $working = 0; // Was the last operation successful?
 
                switch ($mode) {
-                       case 0 : # attribute name, href for instance
+                       case 0 : // attribute name, href for instance
 
                                if ( preg_match('/^([-a-zA-Z:]+)/', $attr, $match ) ) {
                                        $attrname = $match[1];
@@ -832,9 +833,9 @@ function wp_kses_hair($attr, $allowed_protocols) {
 
                                break;
 
-                       case 1 : # equals sign or valueless ("selected")
+                       case 1 : // equals sign or valueless ("selected")
 
-                               if (preg_match('/^\s*=\s*/', $attr)) # equals sign
+                               if (preg_match('/^\s*=\s*/', $attr)) // equals sign
                                        {
                                        $working = 1;
                                        $mode = 2;
@@ -842,7 +843,7 @@ function wp_kses_hair($attr, $allowed_protocols) {
                                        break;
                                }
 
-                               if (preg_match('/^\s+/', $attr)) # valueless
+                               if (preg_match('/^\s+/', $attr)) // valueless
                                        {
                                        $working = 1;
                                        $mode = 0;
@@ -854,10 +855,10 @@ function wp_kses_hair($attr, $allowed_protocols) {
 
                                break;
 
-                       case 2 : # attribute value, a URL after href= for instance
+                       case 2 : // attribute value, a URL after href= for instance
 
                                if (preg_match('%^"([^"]*)"(\s+|/?$)%', $attr, $match))
-                                       # "value"
+                                       // "value"
                                        {
                                        $thisval = $match[1];
                                        if ( in_array(strtolower($attrname), $uris) )
@@ -873,7 +874,7 @@ function wp_kses_hair($attr, $allowed_protocols) {
                                }
 
                                if (preg_match("%^'([^']*)'(\s+|/?$)%", $attr, $match))
-                                       # 'value'
+                                       // 'value'
                                        {
                                        $thisval = $match[1];
                                        if ( in_array(strtolower($attrname), $uris) )
@@ -889,7 +890,7 @@ function wp_kses_hair($attr, $allowed_protocols) {
                                }
 
                                if (preg_match("%^([^\s\"']+)(\s+|/?$)%", $attr, $match))
-                                       # value
+                                       // value
                                        {
                                        $thisval = $match[1];
                                        if ( in_array(strtolower($attrname), $uris) )
@@ -898,25 +899,25 @@ function wp_kses_hair($attr, $allowed_protocols) {
                                        if(false === array_key_exists($attrname, $attrarr)) {
                                                $attrarr[$attrname] = array ('name' => $attrname, 'value' => $thisval, 'whole' => "$attrname=\"$thisval\"", 'vless' => 'n');
                                        }
-                                       # We add quotes to conform to W3C's HTML spec.
+                                       // We add quotes to conform to W3C's HTML spec.
                                        $working = 1;
                                        $mode = 0;
                                        $attr = preg_replace("%^[^\s\"']+(\s+|$)%", '', $attr);
                                }
 
                                break;
-               } # switch
+               } // switch
 
-               if ($working == 0) # not well formed, remove and try again
+               if ($working == 0) // not well formed, remove and try again
                {
                        $attr = wp_kses_html_error($attr);
                        $mode = 0;
                }
-       } # while
+       } // while
 
        if ($mode == 1 && false === array_key_exists($attrname, $attrarr))
-               # special case, for when the attribute list ends with a valueless
-               # attribute like "selected"
+               // special case, for when the attribute list ends with a valueless
+               // attribute like "selected"
                $attrarr[$attrname] = array ('name' => $attrname, 'value' => '', 'whole' => $attrname, 'vless' => 'y');
 
        return $attrarr;
@@ -941,28 +942,28 @@ function wp_kses_check_attr_val($value, $vless, $checkname, $checkvalue) {
 
        switch (strtolower($checkname)) {
                case 'maxlen' :
-                       # The maxlen check makes sure that the attribute value has a length not
-                       # greater than the given value. This can be used to avoid Buffer Overflows
-                       # in WWW clients and various Internet servers.
+                       // The maxlen check makes sure that the attribute value has a length not
+                       // greater than the given value. This can be used to avoid Buffer Overflows
+                       // in WWW clients and various Internet servers.
 
                        if (strlen($value) > $checkvalue)
                                $ok = false;
                        break;
 
                case 'minlen' :
-                       # The minlen check makes sure that the attribute value has a length not
-                       # smaller than the given value.
+                       // The minlen check makes sure that the attribute value has a length not
+                       // smaller than the given value.
 
                        if (strlen($value) < $checkvalue)
                                $ok = false;
                        break;
 
                case 'maxval' :
-                       # The maxval check does two things: it checks that the attribute value is
-                       # an integer from 0 and up, without an excessive amount of zeroes or
-                       # whitespace (to avoid Buffer Overflows). It also checks that the attribute
-                       # value is not greater than the given value.
-                       # This check can be used to avoid Denial of Service attacks.
+                       // The maxval check does two things: it checks that the attribute value is
+                       // an integer from 0 and up, without an excessive amount of zeroes or
+                       // whitespace (to avoid Buffer Overflows). It also checks that the attribute
+                       // value is not greater than the given value.
+                       // This check can be used to avoid Denial of Service attacks.
 
                        if (!preg_match('/^\s{0,6}[0-9]{1,6}\s{0,6}$/', $value))
                                $ok = false;
@@ -971,8 +972,8 @@ function wp_kses_check_attr_val($value, $vless, $checkname, $checkvalue) {
                        break;
 
                case 'minval' :
-                       # The minval check makes sure that the attribute value is a positive integer,
-                       # and that it is not smaller than the given value.
+                       // The minval check makes sure that the attribute value is a positive integer,
+                       // and that it is not smaller than the given value.
 
                        if (!preg_match('/^\s{0,6}[0-9]{1,6}\s{0,6}$/', $value))
                                $ok = false;
@@ -981,15 +982,15 @@ function wp_kses_check_attr_val($value, $vless, $checkname, $checkvalue) {
                        break;
 
                case 'valueless' :
-                       # The valueless check makes sure if the attribute has a value
-                       # (like <a href="blah">) or not (<option selected>). If the given value
-                       # is a "y" or a "Y", the attribute must not have a value.
-                       # If the given value is an "n" or an "N", the attribute must have one.
+                       // The valueless check makes sure if the attribute has a value
+                       // (like <a href="blah">) or not (<option selected>). If the given value
+                       // is a "y" or a "Y", the attribute must not have a value.
+                       // If the given value is an "n" or an "N", the attribute must have one.
 
                        if (strtolower($checkvalue) != $vless)
                                $ok = false;
                        break;
-       } # switch
+       } // switch
 
        return $ok;
 }
@@ -1074,8 +1075,8 @@ function wp_kses_array_lc($inarray) {
                foreach ( (array) $inval as $inkey2 => $inval2) {
                        $outkey2 = strtolower($inkey2);
                        $outarray[$outkey][$outkey2] = $inval2;
-               } # foreach $inval
-       } # foreach $inarray
+               } // foreach $inval
+       } // foreach $inarray
 
        return $outarray;
 }
@@ -1181,11 +1182,11 @@ function wp_kses_bad_protocol_once2( $string, $allowed_protocols ) {
  * @return string Content with normalized entities
  */
 function wp_kses_normalize_entities($string) {
-       # Disarm all entities by converting & to &amp;
+       // Disarm all entities by converting & to &amp;
 
        $string = str_replace('&', '&amp;', $string);
 
-       # Change back the allowed entities in our entity whitelist
+       // Change back the allowed entities in our entity whitelist
 
        $string = preg_replace_callback('/&amp;([A-Za-z]{2,8}[0-9]{0,2});/', 'wp_kses_named_entities', $string);
        $string = preg_replace_callback('/&amp;#(0*[0-9]{1,7});/', 'wp_kses_normalize_entities2', $string);
@@ -1452,9 +1453,6 @@ function kses_init() {
                kses_init_filters();
 }
 
-add_action('init', 'kses_init');
-add_action('set_current_user', 'kses_init');
-
 /**
  * Inline CSS filter
  *
index 67215452b766263ccf9fa3fc1b715e6346c276ac..4c5d8b19a5028b245ca5a1a3bac9e57dce65b8bc 100644 (file)
@@ -594,7 +594,7 @@ function load_plugin_textdomain( $domain, $deprecated = false, $plugin_rel_path
 
        if ( false !== $plugin_rel_path ) {
                $path = WP_PLUGIN_DIR . '/' . trim( $plugin_rel_path, '/' );
-       } else if ( false !== $deprecated ) {
+       } elseif ( false !== $deprecated ) {
                _deprecated_argument( __FUNCTION__, '2.7' );
                $path = ABSPATH . trim( $deprecated, '/' );
        } else {
@@ -896,7 +896,7 @@ function wp_dropdown_languages( $args = array() ) {
                        $languages[] = array(
                                'language'    => $translation['language'],
                                'native_name' => $translation['native_name'],
-                               'lang'        => $translation['iso'][1],
+                               'lang'        => current( $translation['iso'] ),
                        );
 
                        // Remove installed language from available translations.
@@ -942,7 +942,7 @@ function wp_dropdown_languages( $args = array() ) {
                        $structure[] = sprintf(
                                '<option value="%s" lang="%s"%s>%s</option>',
                                esc_attr( $translation['language'] ),
-                               esc_attr( $translation['iso'][1] ),
+                               esc_attr( current( $translation['iso'] ) ),
                                selected( $translation['language'], $args['selected'], false ),
                                esc_html( $translation['native_name'] )
                        );
index a9f87d6e5e583dfb0199bf1ea9281ae7af5d9ae5..58b722cbad6d919a422b62d1623690fb3a127472 100644 (file)
@@ -157,7 +157,7 @@ function get_permalink( $id = 0, $leavename = false ) {
         */
        $permalink = apply_filters( 'pre_post_link', $permalink, $post, $leavename );
 
-       if ( '' != $permalink && !in_array($post->post_status, array('draft', 'pending', 'auto-draft')) ) {
+       if ( '' != $permalink && !in_array( $post->post_status, array( 'draft', 'pending', 'auto-draft', 'future' ) ) ) {
                $unixtime = strtotime($post->post_date);
 
                $category = '';
@@ -253,7 +253,7 @@ function get_post_permalink( $id = 0, $leavename = false, $sample = false ) {
 
        $slug = $post->post_name;
 
-       $draft_or_pending = isset($post->post_status) && in_array( $post->post_status, array( 'draft', 'pending', 'auto-draft' ) );
+       $draft_or_pending = isset( $post->post_status ) && in_array( $post->post_status, array( 'draft', 'pending', 'auto-draft', 'future' ) );
 
        $post_type = get_post_type_object($post->post_type);
 
@@ -888,9 +888,10 @@ function edit_tag_link( $link = '', $before = '', $after = '', $tag = null ) {
  *
  * @since 3.1.0
  *
- * @param int $term_id Term ID
- * @param string $taxonomy Taxonomy
- * @param string $object_type The object type
+ * @param int    $term_id     Term ID.
+ * @param string $taxonomy    Taxonomy.
+ * @param string $object_type The object type. Used to highlight the proper post type menu on the linked page.
+ *                            Defaults to the first object_type associated with the taxonomy.
  * @return string The edit term link URL for the given term.
  */
 function get_edit_term_link( $term_id, $taxonomy, $object_type = '' ) {
@@ -906,8 +907,11 @@ function get_edit_term_link( $term_id, $taxonomy, $object_type = '' ) {
                'tag_ID' => $term->term_id,
        );
 
-       if ( $object_type )
+       if ( $object_type ) {
                $args['post_type'] = $object_type;
+       } else if ( ! empty( $tax->object_type ) ) {
+               $args['post_type'] = reset( $tax->object_type );
+       }
 
        $location = add_query_arg( $args, admin_url( 'edit-tags.php' ) );
 
@@ -1337,7 +1341,7 @@ function edit_comment_link( $text = null, $before = '', $after = '' ) {
  *
  * @since 2.7.0
  *
- * @param int $link Optional. Bookmark ID.
+ * @param int|stdClass $link Optional. Bookmark ID.
  * @return string The edit bookmark link URL.
  */
 function get_edit_bookmark_link( $link = 0 ) {
@@ -1517,6 +1521,36 @@ function get_adjacent_post( $in_same_term = false, $excluded_terms = '', $previo
                }
        }
 
+       // 'post_status' clause depends on the current user.
+       if ( is_user_logged_in() ) {
+               $user_id = get_current_user_id();
+
+               $post_type_object = get_post_type_object( $post->post_type );
+               if ( empty( $post_type_object ) ) {
+                       $post_type_cap    = $post->post_type;
+                       $read_private_cap = 'read_private_' . $post_type_cap . 's';
+               } else {
+                       $read_private_cap = $post_type_object->cap->read_private_posts;
+               }
+
+               /*
+                * Results should include private posts belonging to the current user, or private posts where the
+                * current user has the 'read_private_posts' cap.
+                */
+               $private_states = get_post_stati( array( 'private' => true ) );
+               $where .= " AND ( p.post_status = 'publish'";
+               foreach ( (array) $private_states as $state ) {
+                       if ( current_user_can( $read_private_cap ) ) {
+                               $where .= $wpdb->prepare( " OR p.post_status = %s", $state );
+                       } else {
+                               $where .= $wpdb->prepare( " OR (p.post_author = %d AND p.post_status = %s)", $user_id, $state );
+                       }
+               }
+               $where .= " )";
+       } else {
+               $where .= " AND p.post_status = 'publish'";
+       }
+
        $adjacent = $previous ? 'previous' : 'next';
        $op = $previous ? '<' : '>';
        $order = $previous ? 'DESC' : 'ASC';
@@ -1547,7 +1581,7 @@ function get_adjacent_post( $in_same_term = false, $excluded_terms = '', $previo
         * @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' $where", $current_post_date, $post->post_type ), $in_same_term, $excluded_terms );
+       $where = apply_filters( "get_{$adjacent}_post_where", $wpdb->prepare( "WHERE p.post_date $op %s AND p.post_type = %s $where", $current_post_date, $post->post_type ), $in_same_term, $excluded_terms );
 
        /**
         * Filter the ORDER BY clause in the SQL for an adjacent post query.
@@ -1865,13 +1899,15 @@ function get_adjacent_post_link( $format, $link, $in_same_term = false, $exclude
         * of adjacency, 'next' or 'previous'.
         *
         * @since 2.6.0
+        * @since 4.2.0 Added the `$adjacent` parameter.
         *
-        * @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.
+        * @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.
+        * @param string  $adjacent Whether the post is previous or next.
         */
-       return apply_filters( "{$adjacent}_post_link", $output, $format, $link, $post );
+       return apply_filters( "{$adjacent}_post_link", $output, $format, $link, $post, $adjacent );
 }
 
 /**
@@ -2388,13 +2424,13 @@ function get_comments_pagenum_link( $pagenum = 1, $max_page = 0 ) {
        if ( 'newest' == get_option('default_comments_page') ) {
                if ( $pagenum != $max_page ) {
                        if ( $wp_rewrite->using_permalinks() )
-                               $result = user_trailingslashit( trailingslashit($result) . 'comment-page-' . $pagenum, 'commentpaged');
+                               $result = user_trailingslashit( trailingslashit($result) . $wp_rewrite->comments_pagination_base . '-' . $pagenum, 'commentpaged');
                        else
                                $result = add_query_arg( 'cpage', $pagenum, $result );
                }
        } elseif ( $pagenum > 1 ) {
                if ( $wp_rewrite->using_permalinks() )
-                       $result = user_trailingslashit( trailingslashit($result) . 'comment-page-' . $pagenum, 'commentpaged');
+                       $result = user_trailingslashit( trailingslashit($result) . $wp_rewrite->comments_pagination_base . '-' . $pagenum, 'commentpaged');
                else
                        $result = add_query_arg( 'cpage', $pagenum, $result );
        }
@@ -2430,6 +2466,10 @@ function get_next_comments_link( $label = '', $max_page = 0 ) {
 
        $page = get_query_var('cpage');
 
+       if ( ! $page ) {
+               $page = 1;
+       }
+
        $nextpage = intval($page) + 1;
 
        if ( empty($max_page) )
@@ -2537,7 +2577,7 @@ function paginate_comments_links($args = array()) {
                'add_fragment' => '#comments'
        );
        if ( $wp_rewrite->using_permalinks() )
-               $defaults['base'] = user_trailingslashit(trailingslashit(get_permalink()) . 'comment-page-%#%', 'commentpaged');
+               $defaults['base'] = user_trailingslashit(trailingslashit(get_permalink()) . $wp_rewrite->comments_pagination_base . '-%#%', 'commentpaged');
 
        $args = wp_parse_args( $args, $defaults );
        $page_links = paginate_links( $args );
@@ -2558,23 +2598,43 @@ function paginate_comments_links($args = array()) {
  * @return string The Press This bookmarklet link URL.
  */
 function get_shortcut_link() {
-       // In case of breaking changes, version this. #WP20071
-       $link = "javascript:
-                       var d=document,
-                       w=window,
-                       e=w.getSelection,
-                       k=d.getSelection,
-                       x=d.selection,
-                       s=(e?e():(k)?k():(x?x.createRange().text:0)),
-                       f='" . admin_url('press-this.php') . "',
-                       l=d.location,
-                       e=encodeURIComponent,
-                       u=f+'?u='+e(l.href)+'&t='+e(d.title)+'&s='+e(s)+'&v=4';
-                       a=function(){if(!w.open(u,'t','toolbar=0,resizable=1,scrollbars=1,status=1,width=720,height=570'))l.href=u;};
-                       if (/Firefox/.test(navigator.userAgent)) setTimeout(a, 0); else a();
-                       void(0)";
-
-       $link = str_replace(array("\r", "\n", "\t"),  '', $link);
+       global $is_IE, $wp_version;
+
+       include_once( ABSPATH . 'wp-admin/includes/class-wp-press-this.php' );
+       $bookmarklet_version = $GLOBALS['wp_press_this']->version;
+       $link = '';
+
+       if ( $is_IE ) {
+               /**
+                * Return the old/shorter bookmarklet code for MSIE 8 and lower,
+                * since they only support a max length of ~2000 characters for
+                * bookmark[let] URLs, which is way to small for our smarter one.
+                * Do update the version number so users do not get the "upgrade your
+                * bookmarklet" notice when using PT in those browsers.
+                */
+               $ua = $_SERVER['HTTP_USER_AGENT'];
+
+               if ( ! empty( $ua ) && preg_match( '/\bMSIE (\d)/', $ua, $matches ) && (int) $matches[1] <= 8 ) {
+                       $url = wp_json_encode( admin_url( 'press-this.php' ) );
+
+                       $link = 'javascript:var d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,' .
+                               's=(e?e():(k)?k():(x?x.createRange().text:0)),f=' . $url . ',l=d.location,e=encodeURIComponent,' .
+                               'u=f+"?u="+e(l.href)+"&t="+e(d.title)+"&s="+e(s)+"&v=' . $bookmarklet_version . '";' .
+                               'a=function(){if(!w.open(u,"t","toolbar=0,resizable=1,scrollbars=1,status=1,width=600,height=700"))l.href=u;};' .
+                               'if(/Firefox/.test(navigator.userAgent))setTimeout(a,0);else a();void(0)';
+               }
+       }
+
+       if ( empty( $link ) ) {
+               $src = @file_get_contents( ABSPATH . 'wp-admin/js/bookmarklet.min.js' );
+
+               if ( $src ) {
+                       $url = wp_json_encode( admin_url( 'press-this.php' ) . '?v=' . $bookmarklet_version );
+                       $link = 'javascript:' . str_replace( 'window.pt_url', $url, $src );
+               }
+       }
+
+       $link = str_replace( array( "\r", "\n", "\t" ),  '', $link );
 
        /**
         * Filter the Press This bookmarklet link.
@@ -3322,3 +3382,250 @@ function the_shortlink( $text = '', $title = '', $before = '', $after = '' ) {
                echo $before, $link, $after;
        }
 }
+
+
+/**
+ * Retrieve the avatar URL.
+ *
+ * @since 4.2.0
+ *
+ * @param mixed $id_or_email The Gravatar to retrieve a URL for. Accepts a user_id, gravatar md5 hash,
+ *                           user email, WP_User object, WP_Post object, or comment object.
+ * @param array $args {
+ *     Optional. Arguments to return instead of the default arguments.
+ *
+ *     @type int    $size           Height and width of the avatar in pixels. Default 96.
+ *     @type string $default        URL for the default image or a default type. Accepts '404' (return
+ *                                  a 404 instead of a default image), 'retro' (8bit), 'monsterid' (monster),
+ *                                  'wavatar' (cartoon face), 'indenticon' (the "quilt"), 'mystery', 'mm',
+ *                                  or 'mysterman' (The Oyster Man), 'blank' (transparent GIF), or
+ *                                  'gravatar_default' (the Gravatar logo). Default is the value of the
+ *                                  'avatar_default' option, with a fallback of 'mystery'.
+ *     @type bool   $force_default  Whether to always show the default image, never the Gravatar. Default false.
+ *     @type string $rating         What rating to display avatars up to. Accepts 'G', 'PG', 'R', 'X', and are
+ *                                  judged in that order. Default is the value of the 'avatar_rating' option.
+ *     @type string $scheme         URL scheme to use. See set_url_scheme() for accepted values.
+ *                                  Default null.
+ *     @type array  $processed_args When the function returns, the value will be the processed/sanitized $args
+ *                                  plus a "found_avatar" guess. Pass as a reference. Default null.
+ * }
+ * @return false|string The URL of the avatar we found, or false if we couldn't find an avatar.
+ */
+function get_avatar_url( $id_or_email, $args = null ) {
+       $args = get_avatar_data( $id_or_email, $args );
+       return $args['url'];
+}
+
+/**
+ * Retrieve default data about the avatar.
+ *
+ * @since 4.2.0
+ *
+ * @param mixed $id_or_email The Gravatar to check the data against. Accepts a user_id, gravatar md5 hash,
+ *                           user email, WP_User object, WP_Post object, or comment object.
+ * @param array $args {
+ *     Optional. Arguments to return instead of the default arguments.
+ *
+ *     @type int    $size           Height and width of the avatar image file in pixels. Default 96.
+ *     @type int    $height         Display height of the avatar in pixels. Defaults to $size.
+ *     @type int    $width          Display width of the avatar in pixels. Defaults to $size.
+ *     @type string $default        URL for the default image or a default type. Accepts '404' (return
+ *                                  a 404 instead of a default image), 'retro' (8bit), 'monsterid' (monster),
+ *                                  'wavatar' (cartoon face), 'indenticon' (the "quilt"), 'mystery', 'mm',
+ *                                  or 'mysterman' (The Oyster Man), 'blank' (transparent GIF), or
+ *                                  'gravatar_default' (the Gravatar logo). Default is the value of the
+ *                                  'avatar_default' option, with a fallback of 'mystery'.
+ *     @type bool   $force_default  Whether to always show the default image, never the Gravatar. Default false.
+ *     @type string $rating         What rating to display avatars up to. Accepts 'G', 'PG', 'R', 'X', and are
+ *                                  judged in that order. Default is the value of the 'avatar_rating' option.
+ *     @type string $scheme         URL scheme to use. See set_url_scheme() for accepted values.
+ *                                  Default null.
+ *     @type array  $processed_args When the function returns, the value will be the processed/sanitized $args
+ *                                  plus a "found_avatar" guess. Pass as a reference. Default null.
+ *     @type string $extra_attr     HTML attributes to insert in the IMG element. Is not sanitized. Default empty.
+ * }
+ * @return array $processed_args {
+ *     Along with the arguments passed in `$args`, this will contain a couple of extra arguments.
+ *
+ *     @type bool   $found_avatar True if we were able to find an avatar for this user,
+ *                                false or not set if we couldn't.
+ *     @type string $url          The URL of the avatar we found.
+ * }
+ */
+function get_avatar_data( $id_or_email, $args = null ) {
+       $args = wp_parse_args( $args, array(
+               'size'           => 96,
+               'height'         => null,
+               'width'          => null,
+               'default'        => get_option( 'avatar_default', 'mystery' ),
+               'force_default'  => false,
+               'rating'         => get_option( 'avatar_rating' ),
+               'scheme'         => null,
+               'processed_args' => null, // if used, should be a reference
+               'extra_attr'     => '',
+       ) );
+
+       if ( is_numeric( $args['size'] ) ) {
+               $args['size'] = absint( $args['size'] );
+               if ( ! $args['size'] ) {
+                       $args['size'] = 96;
+               }
+       } else {
+               $args['size'] = 96;
+       }
+
+       if ( is_numeric( $args['height'] ) ) {
+               $args['height'] = absint( $args['height'] );
+               if ( ! $args['height'] ) {
+                       $args['height'] = $args['size'];
+               }
+       } else {
+               $args['height'] = $args['size'];
+       }
+
+       if ( is_numeric( $args['width'] ) ) {
+               $args['width'] = absint( $args['width'] );
+               if ( ! $args['width'] ) {
+                       $args['width'] = $args['size'];
+               }
+       } else {
+               $args['width'] = $args['size'];
+       }
+
+       if ( empty( $args['default'] ) ) {
+               $args['default'] = get_option( 'avatar_default', 'mystery' );
+       }
+
+       switch ( $args['default'] ) {
+               case 'mm' :
+               case 'mystery' :
+               case 'mysteryman' :
+                       $args['default'] = 'mm';
+                       break;
+               case 'gravatar_default' :
+                       $args['default'] = false;
+                       break;
+       }
+
+       $args['force_default'] = (bool) $args['force_default'];
+
+       $args['rating'] = strtolower( $args['rating'] );
+
+       $args['found_avatar'] = false;
+
+       /**
+        * Filter whether to retrieve the avatar URL early.
+        *
+        * Passing a non-null value in the 'url' member of the return array will
+        * effectively short circuit get_avatar_data(), passing the value through
+        * the {@see 'get_avatar_data'} filter and returning early.
+        *
+        * @since 4.2.0
+        *
+        * @param array             $args          Arguments passed to get_avatar_data(), after processing.
+        * @param int|object|string $id_or_email   A user ID, email address, or comment object.
+        */
+       $args = apply_filters( 'pre_get_avatar_data', $args, $id_or_email );
+
+       if ( isset( $args['url'] ) && ! is_null( $args['url'] ) ) {
+               /** This filter is documented in wp-includes/link-template.php */
+               return apply_filters( 'get_avatar_data', $args, $id_or_email );
+       }
+
+       $email_hash = '';
+       $user = $email = false;
+
+       // Process the user identifier.
+       if ( is_numeric( $id_or_email ) ) {
+               $user = get_user_by( 'id', absint( $id_or_email ) );
+       } elseif ( is_string( $id_or_email ) ) {
+               if ( strpos( $id_or_email, '@md5.gravatar.com' ) ) {
+                       // md5 hash
+                       list( $email_hash ) = explode( '@', $id_or_email );
+               } else {
+                       // email address
+                       $email = $id_or_email;
+               }
+       } elseif ( $id_or_email instanceof WP_User ) {
+               // User Object
+               $user = $id_or_email;
+       } elseif ( $id_or_email instanceof WP_Post ) {
+               // Post Object
+               $user = get_user_by( 'id', (int) $id_or_email->post_author );
+       } elseif ( is_object( $id_or_email ) && isset( $id_or_email->comment_ID ) ) {
+               // Comment Object
+
+               /**
+                * 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 ) ) {
+                       $args['url'] = false;
+                       /** This filter is documented in wp-includes/link-template.php */
+                       return apply_filters( 'get_avatar_data', $args, $id_or_email );
+               }
+
+               if ( ! empty( $id_or_email->user_id ) ) {
+                       $user = get_user_by( 'id', (int) $id_or_email->user_id );
+               }
+               if ( ( ! $user || is_wp_error( $user ) ) && ! empty( $id_or_email->comment_author_email ) ) {
+                       $email = $id_or_email->comment_author_email;
+               }
+       }
+
+       if ( ! $email_hash ) {
+               if ( $user ) {
+                       $email = $user->user_email;
+               }
+
+               if ( $email ) {
+                       $email_hash = md5( strtolower( trim( $email ) ) );
+               }
+       }
+
+       if ( $email_hash ) {
+               $args['found_avatar'] = true;
+               $gravatar_server = hexdec( $email_hash[0] ) % 3;
+       } else {
+               $gravatar_server = rand( 0, 2 );
+       }
+
+       $url_args = array(
+               's' => $args['size'],
+               'd' => $args['default'],
+               'f' => $args['force_default'] ? 'y' : false,
+               'r' => $args['rating'],
+       );
+
+       $url = sprintf( 'http://%d.gravatar.com/avatar/%s', $gravatar_server, $email_hash );
+
+       $url = add_query_arg(
+               rawurlencode_deep( array_filter( $url_args ) ),
+               set_url_scheme( $url, $args['scheme'] )
+       );
+
+       /**
+        * Filter the avatar URL.
+        *
+        * @since 4.2.0
+        *
+        * @param string            $url         The URL of the avatar.
+        * @param int|object|string $id_or_email A user ID, email address, or comment object.
+        * @param array             $args        Arguments passed to get_avatar_data(), after processing.
+        */
+       $args['url'] = apply_filters( 'get_avatar_url', $url, $id_or_email, $args );
+
+       /**
+        * Filter the avatar data.
+        *
+        * @since 4.2.0
+        *
+        * @param array             $args        Arguments passed to get_avatar_data(), after processing.
+        * @param int|object|string $id_or_email A user ID, email address, or comment object.
+        */
+       return apply_filters( 'get_avatar_data', $args, $id_or_email );
+}
index c578c8de73e3353af4d9b0fbb3d5a9afe55e9bcd..b41e650b6bd169bd16bba25bf4fcda6d6b277dc2 100644 (file)
@@ -52,14 +52,14 @@ function wp_fix_server_vars() {
        $_SERVER = array_merge( $default_server_values, $_SERVER );
 
        // Fix for IIS when running with PHP ISAPI
-       if ( empty( $_SERVER['REQUEST_URI'] ) || ( php_sapi_name() != 'cgi-fcgi' && preg_match( '/^Microsoft-IIS\//', $_SERVER['SERVER_SOFTWARE'] ) ) ) {
+       if ( empty( $_SERVER['REQUEST_URI'] ) || ( PHP_SAPI != 'cgi-fcgi' && preg_match( '/^Microsoft-IIS\//', $_SERVER['SERVER_SOFTWARE'] ) ) ) {
 
                // IIS Mod-Rewrite
                if ( isset( $_SERVER['HTTP_X_ORIGINAL_URL'] ) ) {
                        $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_ORIGINAL_URL'];
                }
                // IIS Isapi_Rewrite
-               else if ( isset( $_SERVER['HTTP_X_REWRITE_URL'] ) ) {
+               elseif ( isset( $_SERVER['HTTP_X_REWRITE_URL'] ) ) {
                        $_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];
                } else {
                        // Use ORIG_PATH_INFO if there is no PATH_INFO
@@ -217,13 +217,13 @@ function timer_start() {
  *
  * @since 0.71
  *
- * @global float $timestart Seconds from when timer_start() is called.
- * @global float $timeend   Seconds from when function is called.
+ * @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.
+ * @param int|bool $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.
  */
@@ -427,7 +427,7 @@ function wp_start_object_cache() {
                }
 
                $first_init = true;
-       } else if ( ! wp_using_ext_object_cache() && file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
+       } elseif ( ! wp_using_ext_object_cache() && file_exists( WP_CONTENT_DIR . '/object-cache.php' ) ) {
                /*
                 * Sometimes advanced-cache.php can load object-cache.php before
                 * it is loaded here. This breaks the function_exists check above
@@ -451,7 +451,7 @@ function wp_start_object_cache() {
                wp_cache_init();
 
        if ( function_exists( 'wp_cache_add_global_groups' ) ) {
-               wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'site-transient', 'site-options', 'site-lookup', 'blog-lookup', 'blog-details', 'rss', 'global-posts', 'blog-id-cache' ) );
+               wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'useremail', 'userslugs', 'site-transient', 'site-options', 'site-lookup', 'blog-lookup', 'blog-details', 'rss', 'global-posts', 'blog-id-cache' ) );
                wp_cache_add_non_persistent_groups( array( 'comment', 'counts', 'plugins' ) );
        }
 }
index 73f282c300e96133d794072a82dc06e0e8829e5e..b3f4b455e18f097e6bdbc0b4125fc5d0cf568f12 100644 (file)
@@ -17,9 +17,8 @@ class WP_Locale {
         *
         * @since 2.1.0
         * @var array
-        * @access private
         */
-       var $weekday;
+       public $weekday;
 
        /**
         * Stores the translated strings for the one character weekday names.
@@ -31,36 +30,32 @@ class WP_Locale {
         *
         * @since 2.1.0
         * @var array
-        * @access private
         */
-       var $weekday_initial;
+       public $weekday_initial;
 
        /**
         * Stores the translated strings for the abbreviated weekday names.
         *
         * @since 2.1.0
         * @var array
-        * @access private
         */
-       var $weekday_abbrev;
+       public $weekday_abbrev;
 
        /**
         * Stores the translated strings for the full month names.
         *
         * @since 2.1.0
         * @var array
-        * @access private
         */
-       var $month;
+       public $month;
 
        /**
         * Stores the translated strings for the abbreviated month names.
         *
         * @since 2.1.0
         * @var array
-        * @access private
         */
-       var $month_abbrev;
+       public $month_abbrev;
 
        /**
         * Stores the translated strings for 'am' and 'pm'.
@@ -69,9 +64,8 @@ class WP_Locale {
         *
         * @since 2.1.0
         * @var array
-        * @access private
         */
-       var $meridiem;
+       public $meridiem;
 
        /**
         * The text direction of the locale language.
@@ -80,15 +74,14 @@ class WP_Locale {
         *
         * @since 2.1.0
         * @var string
-        * @access private
         */
-       var $text_direction = 'ltr';
+       public $text_direction = 'ltr';
 
        /**
         * @var array
         */
-       var $number_format;
-       
+       public $number_format;
+
        /**
         * Sets up the translated strings and object properties.
         *
@@ -325,7 +318,6 @@ class WP_Locale {
         * @uses WP_Locale::register_globals()
         * @since 2.1.0
         *
-        * @return WP_Locale
         */
        function __construct() {
                $this->init();
index 758c7f5c528b977561c38122a1be6d5df7efae64..6999f1bdf34f4669ee6ce93c6e42e1c42091f6e4 100644 (file)
@@ -50,9 +50,14 @@ function wp_underscore_audio_template() {
 function wp_underscore_video_template() {
        $video_types = wp_get_video_extensions();
 ?>
-<#  var w_rule = h_rule = '',
+<#  var w_rule = h_rule = '', classes = [],
                w, h, settings = wp.media.view.settings,
-               isYouTube = ! _.isEmpty( data.model.src ) && data.model.src.match(/youtube|youtu\.be/);
+               isYouTube = isVimeo = false;
+
+       if ( ! _.isEmpty( data.model.src ) ) {
+               isYouTube = data.model.src.match(/youtube|youtu\.be/);
+               isVimeo = -1 !== data.model.src.indexOf('vimeo');
+       }
 
        if ( settings.contentWidth && data.model.width >= settings.contentWidth ) {
                w = settings.contentWidth;
@@ -72,10 +77,19 @@ function wp_underscore_video_template() {
        if ( h ) {
                h_rule = 'height: ' + h + 'px;';
        }
+
+       if ( isYouTube ) {
+               classes.push( 'youtube-video' );
+       }
+
+       if ( isVimeo ) {
+               classes.push( 'vimeo-video' );
+       }
+
 #>
 <div style="{{ w_rule }}{{ h_rule }}" class="wp-video">
 <video controls
-       class="wp-video-shortcode{{ isYouTube ? ' youtube-video' : '' }}"
+       class="wp-video-shortcode {{ classes.join( ' ' ) }}"
        <# if ( w ) { #>width="{{ w }}"<# } #>
        <# if ( h ) { #>height="{{ h }}"<# } #>
        <?php
@@ -100,6 +114,8 @@ function wp_underscore_video_template() {
        <# if ( ! _.isEmpty( data.model.src ) ) {
                if ( isYouTube ) { #>
                <source src="{{ data.model.src }}" type="video/youtube" />
+               <# } else if ( isVimeo ) { #>
+               <source src="{{ data.model.src }}" type="video/vimeo" />
                <# } else { #>
                <source src="{{ data.model.src }}" type="{{ settings.embedMimes[ data.model.src.split('.').pop() ] }}" />
                <# }
@@ -796,9 +812,9 @@ function wp_print_media_templates() {
        </script>
 
        <script type="text/html" id="tmpl-embed-link-settings">
-               <label class="setting title">
-                       <span><?php _e( 'Title' ); ?></span>
-                       <input type="text" class="alignment" data-setting="title" />
+               <label class="setting link-text">
+                       <span><?php _e( 'Link Text' ); ?></span>
+                       <input type="text" class="alignment" data-setting="linkText" />
                </label>
                <div class="embed-container" style="display: none;">
                        <div class="embed-preview"></div>
@@ -1092,8 +1108,7 @@ function wp_print_media_templates() {
                        <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,
+                               var 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 ) {
@@ -1190,7 +1205,7 @@ function wp_print_media_templates() {
        </script>
 
        <script type="text/html" id="tmpl-editor-gallery">
-               <# if ( data.attachments ) { #>
+               <# if ( data.attachments.length ) { #>
                        <div class="gallery gallery-columns-{{ data.columns }}">
                                <# _.each( data.attachments, function( attachment, index ) { #>
                                        <dl class="gallery-item">
index c7d092d96657762be90b3592880ed64133de9789..b69b328d1336207657fb44e3ad1440dd97afb319 100644 (file)
@@ -59,10 +59,12 @@ function image_constrain_size_for_editor( $width, $height, $size = 'medium', $co
                // if no width is set, default to the theme content width if available
        }
        elseif ( $size == 'large' ) {
-               // We're inserting a large size image into the editor. If it's a really
-               // big image we'll scale it down to fit reasonably within the editor
-               // itself, and within the theme's content width if it's known. The user
-               // can resize it in the editor if they wish.
+               /*
+                * We're inserting a large size image into the editor. If it's a really
+                * big image we'll scale it down to fit reasonably within the editor
+                * itself, and within the theme's content width if it's known. The user
+                * can resize it in the editor if they wish.
+                */
                $max_width = intval(get_option('large_size_w'));
                $max_height = intval(get_option('large_size_h'));
                if ( intval($content_width) > 0 )
@@ -109,11 +111,11 @@ function image_constrain_size_for_editor( $width, $height, $size = 'medium', $co
  *
  * @since 2.5.0
  *
- * @param int|string $width Optional. Width attribute value.
- * @param int|string $height Optional. Height attribute value.
+ * @param int|string $width  Image width in pixels.
+ * @param int|string $height Image height in pixels.
  * @return string HTML attributes for width and, or height.
  */
-function image_hwstring($width, $height) {
+function image_hwstring( $width, $height ) {
        $out = '';
        if ($width)
                $out .= 'width="'.intval($width).'" ';
@@ -140,11 +142,12 @@ function image_hwstring($width, $height) {
  *
  * @since 2.5.0
  *
- * @param int $id Attachment ID for image.
- * @param array|string $size Optional, default is 'medium'. Size of image, either array or string.
+ * @param int          $id   Attachment ID for image.
+ * @param array|string $size Optional. Image size to scale to. Accepts a registered image size
+ *                           or flat array of height and width values. Default 'medium'.
  * @return bool|array False on failure, array on success.
  */
-function image_downsize($id, $size = 'medium') {
+function image_downsize( $id, $size = 'medium' ) {
 
        if ( !wp_attachment_is_image($id) )
                return false;
@@ -284,7 +287,7 @@ function set_post_thumbnail_size( $width = 0, $height = 0, $crop = false ) {
 }
 
 /**
- * An <img src /> tag for an image attachment, scaling it down if requested.
+ * Gets an img tag for an image attachment, scaling it down if requested.
  *
  * The filter 'get_image_tag_class' allows for changing the class name for the
  * image without having to use regular expressions on the HTML content. The
@@ -297,14 +300,15 @@ function set_post_thumbnail_size( $width = 0, $height = 0, $crop = false ) {
  *
  * @since 2.5.0
  *
- * @param int $id Attachment ID.
- * @param string $alt Image Description for the alt attribute.
- * @param string $title Image Description for the title attribute.
- * @param string $align Part of the class name for aligning the image.
- * @param string $size Optional. Default is 'medium'.
+ * @param int          $id    Attachment ID.
+ * @param string       $alt   Image Description for the alt attribute.
+ * @param string       $title Image Description for the title attribute.
+ * @param string       $align Part of the class name for aligning the image.
+ * @param string|array $size  Optional. Registered image size to retrieve a tag for, or flat array
+ *                            of height and width values. Default 'medium'.
  * @return string HTML IMG element for given image attachment
  */
-function get_image_tag($id, $alt, $title, $align, $size='medium') {
+function get_image_tag( $id, $alt, $title, $align, $size = 'medium' ) {
 
        list( $img_src, $width, $height ) = image_downsize($id, $size);
        $hwstring = image_hwstring($width, $height);
@@ -345,21 +349,21 @@ function get_image_tag($id, $alt, $title, $align, $size='medium') {
 }
 
 /**
- * Calculates the new dimensions for a downsampled image.
+ * Calculates the new dimensions for a down-sampled image.
  *
  * If either width or height are empty, no constraint is applied on
  * that dimension.
  *
  * @since 2.5.0
  *
- * @param int $current_width Current width of the image.
+ * @param int $current_width  Current width of the image.
  * @param int $current_height Current height of the image.
- * @param int $max_width Optional. Maximum wanted width.
- * @param int $max_height Optional. Maximum wanted height.
+ * @param int $max_width      Optional. Max width in pixels to constrain to. Default 0.
+ * @param int $max_height     Optional. Max height in pixels to constrain to. Default 0.
  * @return array First item is the width, the second item is the height.
  */
-function wp_constrain_dimensions( $current_width, $current_height, $max_width=0, $max_height=0 ) {
-       if ( !$max_width and !$max_height )
+function wp_constrain_dimensions( $current_width, $current_height, $max_width = 0, $max_height = 0 ) {
+       if ( !$max_width && !$max_height )
                return array( $current_width, $current_height );
 
        $width_ratio = $height_ratio = 1.0;
@@ -405,11 +409,22 @@ function wp_constrain_dimensions( $current_width, $current_height, $max_width=0,
                $h = $max_height; // Round it up
        }
 
+       /**
+        * Filter dimensions to constrain down-sampled images to.
+        *
+        * @since 4.1.0
+        *
+        * @param array $dimensions     The image width and height.
+        * @param int   $current_width  The current width of the image.
+        * @param int   $current_height The current height of the image.
+        * @param int   $max_width      The maximum width permitted.
+        * @param int   $max_height     The maximum height permitted.
+        */
        return apply_filters( 'wp_constrain_dimensions', array( $w, $h ), $current_width, $current_height, $max_width, $max_height );
 }
 
 /**
- * Retrieve calculated resize dimensions for use in WP_Image_Editor.
+ * Retrieves 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.
@@ -523,7 +538,7 @@ function image_resize_dimensions($orig_w, $orig_h, $dest_w, $dest_h, $crop = fal
 }
 
 /**
- * Resize an image to make a thumbnail or intermediate size.
+ * Resizes an image to make a thumbnail or intermediate size.
  *
  * The returned array has the file size, the image width, and image height. The
  * filter 'image_make_intermediate_size' can be used to hook in and change the
@@ -531,10 +546,11 @@ function image_resize_dimensions($orig_w, $orig_h, $dest_w, $dest_h, $crop = fal
  *
  * @since 2.5.0
  *
- * @param string $file File path.
- * @param int $width Image width.
- * @param int $height Image height.
- * @param bool $crop Optional, default is false. Whether to crop image to specified height and width or resize.
+ * @param string $file   File path.
+ * @param int    $width  Image width.
+ * @param int    $height Image height.
+ * @param bool   $crop   Optional. Whether to crop image to specified height and width or resize.
+ *                       Default false.
  * @return bool|array False, if no image was created. Metadata array on success.
  */
 function image_make_intermediate_size( $file, $width, $height, $crop = false ) {
@@ -555,7 +571,7 @@ function image_make_intermediate_size( $file, $width, $height, $crop = false ) {
 }
 
 /**
- * Retrieve the image's intermediate size (resized) path, width, and height.
+ * Retrieves the image's intermediate size (resized) path, width, and height.
  *
  * The $size parameter can be an array with the width and height respectively.
  * If the size matches the 'sizes' metadata array for width and height, then it
@@ -574,18 +590,20 @@ function image_make_intermediate_size( $file, $width, $height, $crop = false ) {
  * browser scale down the image.
  *
  * @since 2.5.0
- * @see add_image_size()
  *
- * @param int $post_id Attachment ID for image.
- * @param array|string $size Optional, default is 'thumbnail'. Size of image, either array or string.
+ * @param int          $post_id Attachment ID.
+ * @param array|string $size    Optional. Registered image size to retrieve or flat array of height
+ *                              and width dimensions. Default 'thumbnail'.
  * @return bool|array False on failure or array of file path, width, and height on success.
  */
-function image_get_intermediate_size($post_id, $size='thumbnail') {
+function image_get_intermediate_size( $post_id, $size = 'thumbnail' ) {
        if ( !is_array( $imagedata = wp_get_attachment_metadata( $post_id ) ) )
                return false;
 
        // get the best one for a specified set of dimensions
        if ( is_array($size) && !empty($imagedata['sizes']) ) {
+               $areas = array();
+
                foreach ( $imagedata['sizes'] as $_size => $data ) {
                        // already cropped to width or height; so use this size
                        if ( ( $data['width'] == $size[0] && $data['height'] <= $size[1] ) || ( $data['height'] == $size[1] && $data['width'] <= $size[0] ) ) {
@@ -631,9 +649,13 @@ function image_get_intermediate_size($post_id, $size='thumbnail') {
 }
 
 /**
- * Get the available image sizes
+ * Gets the available intermediate image sizes.
+ *
  * @since 3.0.0
- * @return array Returns a filtered array of image size strings
+ *
+ * @global array $_wp_additional_image_sizes
+ *
+ * @return array Returns a filtered array of image size strings.
  */
 function get_intermediate_image_sizes() {
        global $_wp_additional_image_sizes;
@@ -659,12 +681,13 @@ function get_intermediate_image_sizes() {
  *
  * @since 2.5.0
  *
- * @param int $attachment_id Image attachment ID.
- * @param string $size Optional, default is 'thumbnail'.
- * @param bool $icon Optional, default is false. Whether it is an icon.
+ * @param int          $attachment_id Image attachment ID.
+ * @param string|array $size          Optional. Registered image size to retrieve the source for or a flat
+ *                                    array of height and width dimensions. Default 'thumbnail'.
+ * @param bool         $icon          Optional. Whether the image should be treated as an icon. Default false.
  * @return bool|array Returns an array (url, width, height), or false, if no image is available.
  */
-function wp_get_attachment_image_src($attachment_id, $size='thumbnail', $icon = false) {
+function wp_get_attachment_image_src( $attachment_id, $size = 'thumbnail', $icon = false ) {
 
        // get a thumbnail or intermediate image if there is one
        if ( $image = image_downsize($attachment_id, $size) )
@@ -675,6 +698,7 @@ function wp_get_attachment_image_src($attachment_id, $size='thumbnail', $icon =
        if ( $icon && $src = wp_mime_type_icon($attachment_id) ) {
                /** This filter is documented in wp-includes/post.php */
                $icon_dir = apply_filters( 'icon_dir', ABSPATH . WPINC . '/images/media' );
+
                $src_file = $icon_dir . '/' . wp_basename($src);
                @list($width, $height) = getimagesize($src_file);
        }
@@ -686,19 +710,18 @@ function wp_get_attachment_image_src($attachment_id, $size='thumbnail', $icon =
 /**
  * Get an HTML img element representing an image attachment
  *
- * While $size will accept an array, it is better to register a size with
+ * While `$size` will accept an array, it is better to register a size with
  * add_image_size() so that a cropped version is generated. It's much more
  * 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()
- *
  * @param int          $attachment_id Image attachment ID.
- * @param string|array $size          Optional. Default 'thumbnail'.
- * @param bool         $icon          Optional. Whether it is an icon. Default false.
- * @param string|array $attr          Optional. Attributes for the image markup. Default empty string.
+ * @param string|array $size          Optional. Registered image size or flat array of height and width
+ *                                    dimensions. Default 'thumbnail'.
+ * @param bool         $icon          Optional. Whether the image should be treated as an icon. Default false.
+ * @param string|array $attr          Optional. Attributes for the image markup. Default empty.
  * @return string HTML img element or empty string on failure.
  */
 function wp_get_attachment_image($attachment_id, $size = 'thumbnail', $icon = false, $attr = '') {
@@ -747,13 +770,16 @@ function wp_get_attachment_image($attachment_id, $size = 'thumbnail', $icon = fa
 }
 
 /**
- * Adds a 'wp-post-image' class to post thumbnails
- * Uses the begin_fetch_post_thumbnail_html and end_fetch_post_thumbnail_html action hooks to
- * dynamically add/remove itself so as to only filter post thumbnails
+ * Adds a 'wp-post-image' class to post thumbnails. Internal use only.
+ *
+ * Uses the 'begin_fetch_post_thumbnail_html' and 'end_fetch_post_thumbnail_html' action hooks to
+ * dynamically add/remove itself so as to only filter post thumbnails.
  *
+ * @ignore
  * @since 2.9.0
- * @param array $attr Attributes including src, class, alt, title
- * @return array
+ *
+ * @param array $attr Thumbnail attributes including src, class, alt, title.
+ * @return array Modified array of attributes including the new 'wp-post-image' class.
  */
 function _wp_post_thumbnail_class_filter( $attr ) {
        $attr['class'] .= ' wp-post-image';
@@ -761,18 +787,26 @@ function _wp_post_thumbnail_class_filter( $attr ) {
 }
 
 /**
- * Adds _wp_post_thumbnail_class_filter to the wp_get_attachment_image_attributes filter
+ * Adds '_wp_post_thumbnail_class_filter' callback to the 'wp_get_attachment_image_attributes'
+ * filter hook. Internal use only.
  *
+ * @ignore
  * @since 2.9.0
+ *
+ * @param array $attr Thumbnail attributes including src, class, alt, title.
  */
 function _wp_post_thumbnail_class_filter_add( $attr ) {
        add_filter( 'wp_get_attachment_image_attributes', '_wp_post_thumbnail_class_filter' );
 }
 
 /**
- * Removes _wp_post_thumbnail_class_filter from the wp_get_attachment_image_attributes filter
+ * Removes the '_wp_post_thumbnail_class_filter' callback from the 'wp_get_attachment_image_attributes'
+ * filter hook. Internal use only.
  *
+ * @ignore
  * @since 2.9.0
+ *
+ * @param array $attr Thumbnail attributes including src, class, alt, title.
  */
 function _wp_post_thumbnail_class_filter_remove( $attr ) {
        remove_filter( 'wp_get_attachment_image_attributes', '_wp_post_thumbnail_class_filter' );
@@ -782,7 +816,7 @@ add_shortcode('wp_caption', 'img_caption_shortcode');
 add_shortcode('caption', 'img_caption_shortcode');
 
 /**
- * The Caption shortcode.
+ * Builds the Caption shortcode output.
  *
  * Allows a plugin to replace the content that would otherwise be returned. The
  * filter is 'img_caption_shortcode' and passes an empty string, the attr
@@ -793,7 +827,7 @@ add_shortcode('caption', 'img_caption_shortcode');
  *
  * @since 2.6.0
  *
- * @param array $attr {
+ * @param array  $attr {
  *     Attributes of the caption shortcode.
  *
  *     @type string $id      ID of the div element for the caption.
@@ -803,7 +837,7 @@ add_shortcode('caption', 'img_caption_shortcode');
  *     @type string $caption The caption text.
  *     @type string $class   Additional class name(s) added to the caption container.
  * }
- * @param string $content Optional. Shortcode content.
+ * @param string $content Shortcode content.
  * @return string HTML content to display the caption.
  */
 function img_caption_shortcode( $attr, $content = null ) {
@@ -885,7 +919,7 @@ function img_caption_shortcode( $attr, $content = null ) {
 add_shortcode('gallery', 'gallery_shortcode');
 
 /**
- * The Gallery shortcode.
+ * Builds the Gallery shortcode output.
  *
  * This implements the functionality of the Gallery Shortcode for displaying
  * WordPress images on a post.
@@ -936,13 +970,15 @@ function gallery_shortcode( $attr ) {
         * the default gallery template.
         *
         * @since 2.5.0
+        * @since 4.2.0 The `$instance` parameter was added.
         *
         * @see gallery_shortcode()
         *
-        * @param string $output The gallery output. Default empty.
-        * @param array  $attr   Attributes of the gallery shortcode.
+        * @param string $output   The gallery output. Default empty.
+        * @param array  $attr     Attributes of the gallery shortcode.
+        * @param int    $instance Unique numeric ID of this gallery shortcode instance.
         */
-       $output = apply_filters( 'post_gallery', '', $attr );
+       $output = apply_filters( 'post_gallery', '', $attr, $instance );
        if ( $output != '' ) {
                return $output;
        }
@@ -1101,7 +1137,7 @@ function gallery_shortcode( $attr ) {
 }
 
 /**
- * Output the templates used by playlists.
+ * Outputs the templates used by playlists.
  *
  * @since 3.9.0
  */
@@ -1139,7 +1175,7 @@ function wp_underscore_playlist_templates() {
 }
 
 /**
- * Output and enqueue default scripts and styles for playlists.
+ * Outputs and enqueue default scripts and styles for playlists.
  *
  * @since 3.9.0
  *
@@ -1154,10 +1190,9 @@ function wp_playlist_scripts( $type ) {
        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.
+ * Builds the Playlist shortcode output.
  *
  * This implements the functionality of the playlist shortcode for displaying
  * a collection of WordPress audio or video files in a post.
@@ -1212,11 +1247,13 @@ function wp_playlist_shortcode( $attr ) {
         * of the default playlist output, returning the passed value instead.
         *
         * @since 3.9.0
+        * @since 4.2.0 The `$instance` parameter was added.
         *
-        * @param string $output Playlist output. Default empty.
-        * @param array  $attr   An array of shortcode attributes.
+        * @param string $output   Playlist output. Default empty.
+        * @param array  $attr     An array of shortcode attributes.
+        * @param int    $instance Unique numeric ID of this playlist shortcode instance.
         */
-       $output = apply_filters( 'post_playlist', '', $attr );
+       $output = apply_filters( 'post_playlist', '', $attr, $instance );
        if ( $output != '' ) {
                return $output;
        }
@@ -1401,12 +1438,12 @@ function wp_playlist_shortcode( $attr ) {
 add_shortcode( 'playlist', 'wp_playlist_shortcode' );
 
 /**
- * Provide a No-JS Flash fallback as a last resort for audio / video
+ * Provides a No-JS Flash fallback as a last resort for audio / video.
  *
  * @since 3.6.0
  *
- * @param string $url
- * @return string Fallback HTML
+ * @param string $url The media element URL.
+ * @return string Fallback HTML.
  */
 function wp_mediaelement_fallback( $url ) {
        /**
@@ -1421,10 +1458,11 @@ function wp_mediaelement_fallback( $url ) {
 }
 
 /**
- * Return a filtered list of WP-supported audio formats.
+ * Returns a filtered list of WP-supported audio formats.
  *
  * @since 3.6.0
- * @return array
+ *
+ * @return array Supported audio formats.
  */
 function wp_get_audio_extensions() {
        /**
@@ -1439,12 +1477,12 @@ function wp_get_audio_extensions() {
 }
 
 /**
- * Return useful keys to use to lookup data from an attachment's stored metadata.
+ * Returns 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'.
+ * @param string  $context    Optional. 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' ) {
@@ -1474,14 +1512,14 @@ function wp_get_attachment_id3_keys( $attachment, $context = 'display' ) {
        return apply_filters( 'wp_get_attachment_id3_keys', $fields, $attachment, $context );
 }
 /**
- * The Audio shortcode.
+ * Builds the Audio shortcode output.
  *
  * This implements the functionality of the Audio Shortcode for displaying
  * WordPress mp3s in a post.
  *
  * @since 3.6.0
  *
- * @param array $attr {
+ * @param array  $attr {
  *     Attributes of the audio shortcode.
  *
  *     @type string $src      URL to the source of the audio file. Default empty.
@@ -1489,17 +1527,17 @@ function wp_get_attachment_id3_keys( $attachment, $context = 'display' ) {
  *     @type string $autoplay The 'autoplay' attribute for the `<audio>` element. Default empty.
  *     @type string $preload  The 'preload' attribute for the `<audio>` element. Default empty.
  *     @type string $class    The 'class' attribute for the `<audio>` element. Default 'wp-audio-shortcode'.
- *     @type string $id       The 'id' attribute for the `<audio>` element. Default 'audio-{$post_id}-{$instances}'.
+ *     @type string $id       The 'id' attribute for the `<audio>` element. Default 'audio-{$post_id}-{$instance}'.
  *     @type string $style    The 'style' attribute for the `<audio>` element. Default 'width: 100%'.
  * }
- * @param string $content Optional. Shortcode content.
+ * @param string $content Shortcode content.
  * @return string HTML content to display audio.
  */
 function wp_audio_shortcode( $attr, $content = '' ) {
        $post_id = get_post() ? get_the_ID() : 0;
 
-       static $instances = 0;
-       $instances++;
+       static $instance = 0;
+       $instance++;
 
        /**
         * Filter the default audio shortcode output.
@@ -1508,12 +1546,12 @@ function wp_audio_shortcode( $attr, $content = '' ) {
         *
         * @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.
+        * @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    $instance Unique numeric ID of this audio shortcode instance.
         */
-       $override = apply_filters( 'wp_audio_shortcode_override', '', $attr, $content, $instances );
+       $override = apply_filters( 'wp_audio_shortcode_override', '', $attr, $content, $instance );
        if ( '' !== $override ) {
                return $override;
        }
@@ -1589,7 +1627,7 @@ function wp_audio_shortcode( $attr, $content = '' ) {
         */
        $html_atts = array(
                'class'    => apply_filters( 'wp_audio_shortcode_class', 'wp-audio-shortcode' ),
-               'id'       => sprintf( 'audio-%d-%d', $post_id, $instances ),
+               'id'       => sprintf( 'audio-%d-%d', $post_id, $instance ),
                'loop'     => wp_validate_boolean( $atts['loop'] ),
                'autoplay' => wp_validate_boolean( $atts['autoplay'] ),
                'preload'  => $atts['preload'],
@@ -1609,7 +1647,7 @@ function wp_audio_shortcode( $attr, $content = '' ) {
        }
 
        $html = '';
-       if ( 'mediaelement' === $library && 1 === $instances ) {
+       if ( 'mediaelement' === $library && 1 === $instance ) {
                $html .= "<!--[if lt IE 9]><script>document.createElement('audio');</script><![endif]-->\n";
        }
        $html .= sprintf( '<audio %s controls="controls">', join( ' ', $attr_strings ) );
@@ -1622,7 +1660,7 @@ function wp_audio_shortcode( $attr, $content = '' ) {
                                $fileurl = $atts[ $fallback ];
                        }
                        $type = wp_check_filetype( $atts[ $fallback ], wp_get_mime_types() );
-                       $url = add_query_arg( '_', $instances, $atts[ $fallback ] );
+                       $url = add_query_arg( '_', $instance, $atts[ $fallback ] );
                        $html .= sprintf( $source, $type['type'], esc_url( $url ) );
                }
        }
@@ -1648,10 +1686,11 @@ function wp_audio_shortcode( $attr, $content = '' ) {
 add_shortcode( 'audio', 'wp_audio_shortcode' );
 
 /**
- * Return a filtered list of WP-supported video formats
+ * Returns a filtered list of WP-supported video formats.
  *
  * @since 3.6.0
- * @return array
+ *
+ * @return array List of supported video formats.
  */
 function wp_get_video_extensions() {
        /**
@@ -1666,14 +1705,14 @@ function wp_get_video_extensions() {
 }
 
 /**
- * The Video shortcode.
+ * Builds the Video shortcode output.
  *
  * This implements the functionality of the Video Shortcode for displaying
  * WordPress mp4s in a post.
  *
  * @since 3.6.0
  *
- * @param array $attr {
+ * @param array  $attr {
  *     Attributes of the shortcode.
  *
  *     @type string $src      URL to the source of the video file. Default empty.
@@ -1687,17 +1726,17 @@ function wp_get_video_extensions() {
  *     @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}'.
+ *                            Default 'video-{$post_id}-{$instance}'.
  * }
- * @param string $content Optional. Shortcode content.
+ * @param string $content Shortcode content.
  * @return string HTML content to display video.
  */
 function wp_video_shortcode( $attr, $content = '' ) {
        global $content_width;
        $post_id = get_post() ? get_the_ID() : 0;
 
-       static $instances = 0;
-       $instances++;
+       static $instance = 0;
+       $instance++;
 
        /**
         * Filter the default video shortcode output.
@@ -1709,12 +1748,12 @@ function wp_video_shortcode( $attr, $content = '' ) {
         *
         * @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.
+        * @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    $instance Unique numeric ID of this video shortcode instance.
         */
-       $override = apply_filters( 'wp_video_shortcode_override', '', $attr, $content, $instances );
+       $override = apply_filters( 'wp_video_shortcode_override', '', $attr, $content, $instance );
        if ( '' !== $override ) {
                return $override;
        }
@@ -1752,16 +1791,25 @@ function wp_video_shortcode( $attr, $content = '' ) {
                }
        }
 
+       $is_vimeo = $is_youtube = false;
        $yt_pattern = '#^https?://(?:www\.)?(?:youtube\.com/watch|youtu\.be/)#';
+       $vimeo_pattern = '#^https?://(.+\.)?vimeo\.com/.*#';
 
        $primary = false;
        if ( ! empty( $atts['src'] ) ) {
-               if ( ! preg_match( $yt_pattern, $atts['src'] ) ) {
+               $is_vimeo = ( preg_match( $vimeo_pattern, $atts['src'] ) );
+               $is_youtube = (  preg_match( $yt_pattern, $atts['src'] ) );
+               if ( ! $is_youtube && ! $is_vimeo ) {
                        $type = wp_check_filetype( $atts['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( $atts['src'] ), esc_html( $atts['src'] ) );
                        }
                }
+
+               if ( $is_vimeo ) {
+                       wp_enqueue_script( 'froogaloop' );
+               }
+
                $primary = true;
                array_unshift( $default_types, 'src' );
        } else {
@@ -1812,7 +1860,7 @@ function wp_video_shortcode( $attr, $content = '' ) {
         */
        $html_atts = array(
                'class'    => apply_filters( 'wp_video_shortcode_class', 'wp-video-shortcode' ),
-               'id'       => sprintf( 'video-%d-%d', $post_id, $instances ),
+               'id'       => sprintf( 'video-%d-%d', $post_id, $instance ),
                'width'    => absint( $atts['width'] ),
                'height'   => absint( $atts['height'] ),
                'poster'   => esc_url( $atts['poster'] ),
@@ -1834,7 +1882,7 @@ function wp_video_shortcode( $attr, $content = '' ) {
        }
 
        $html = '';
-       if ( 'mediaelement' === $library && 1 === $instances ) {
+       if ( 'mediaelement' === $library && 1 === $instance ) {
                $html .= "<!--[if lt IE 9]><script>document.createElement('video');</script><![endif]-->\n";
        }
        $html .= sprintf( '<video %s controls="controls">', join( ' ', $attr_strings ) );
@@ -1846,12 +1894,14 @@ function wp_video_shortcode( $attr, $content = '' ) {
                        if ( empty( $fileurl ) ) {
                                $fileurl = $atts[ $fallback ];
                        }
-                       if ( 'src' === $fallback && preg_match( $yt_pattern, $atts['src'] ) ) {
+                       if ( 'src' === $fallback && $is_youtube ) {
                                $type = array( 'type' => 'video/youtube' );
+                       } elseif ( 'src' === $fallback && $is_vimeo ) {
+                               $type = array( 'type' => 'video/vimeo' );
                        } else {
                                $type = wp_check_filetype( $atts[ $fallback ], wp_get_mime_types() );
                        }
-                       $url = add_query_arg( '_', $instances, $atts[ $fallback ] );
+                       $url = add_query_arg( '_', $instance, $atts[ $fallback ] );
                        $html .= sprintf( $source, $type['type'], esc_url( $url ) );
                }
        }
@@ -1890,39 +1940,51 @@ function wp_video_shortcode( $attr, $content = '' ) {
 add_shortcode( 'video', 'wp_video_shortcode' );
 
 /**
- * Display previous image link that has the same post parent.
+ * Displays previous image link that has the same post parent.
  *
  * @since 2.5.0
- * @param string $size Optional, default is 'thumbnail'. Size of image, either array or string. 0 or 'none' will default to post_title or $text;
- * @param string $text Optional, default is false. If included, link will reflect $text variable.
- * @return string HTML content.
+ *
+ * @see adjacent_image_link()
+ *
+ * @param string|array $size Optional. Registered image size or flat array of height and width dimensions.
+ *                           0 or 'none' will default to 'post_title' or `$text`. Default 'thumbnail'.
+ * @param string       $text Optional. Link text. Default false.
+ * @return string HTML output for the previous image link.
  */
-function previous_image_link($size = 'thumbnail', $text = false) {
+function previous_image_link( $size = 'thumbnail', $text = false ) {
        adjacent_image_link(true, $size, $text);
 }
 
 /**
- * Display next image link that has the same post parent.
+ * Displays next image link that has the same post parent.
  *
  * @since 2.5.0
- * @param string $size Optional, default is 'thumbnail'. Size of image, either array or string. 0 or 'none' will default to post_title or $text;
- * @param string $text Optional, default is false. If included, link will reflect $text variable.
- * @return string HTML content.
+ *
+ * @see adjacent_image_link()
+ *
+ * @param string|array $size Optional. Registered image size or flat array of height and width dimensions.
+ *                           0 or 'none' will default to 'post_title' or `$text`. Default 'thumbnail'.
+ * @param string       $text Optional. Link text. Default false.
+ * @return string HTML output for the next image link.
  */
 function next_image_link($size = 'thumbnail', $text = false) {
        adjacent_image_link(false, $size, $text);
 }
 
 /**
- * Display next or previous image link that has the same post parent.
+ * Displays next or previous image link that has the same post parent.
  *
  * Retrieves the current attachment object from the $post global.
  *
  * @since 2.5.0
  *
- * @param bool $prev Optional. Default is true to display previous link, false for next.
+ * @param bool         $prev Optional. Whether to display the next (false) or previous (true) link. Default true.
+ * @param string|array $size Optional. Registered image size or flat array of height and width dimensions.
+ *                                     Default 'thumbnail'.
+ * @param bool         $text Optional. Link text. Default false.
+ * @return string The adjacent image link.
  */
-function adjacent_image_link($prev = true, $size = 'thumbnail', $text = false) {
+function adjacent_image_link( $prev = true, $size = 'thumbnail', $text = false ) {
        $post = get_post();
        $attachments = array_values( get_children( array( 'post_parent' => $post->post_parent, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'order' => 'ASC', 'orderby' => 'menu_order ID' ) ) );
 
@@ -1963,19 +2025,19 @@ function adjacent_image_link($prev = true, $size = 'thumbnail', $text = false) {
 }
 
 /**
- * Retrieve taxonomies attached to the attachment.
+ * Retrieves taxonomies attached to given the attachment.
  *
  * @since 2.5.0
  *
- * @param int|array|object $attachment Attachment ID, Attachment data array, or Attachment data object.
+ * @param int|array|object $attachment Attachment ID, data array, or data object.
  * @return array Empty array on failure. List of taxonomies on success.
  */
-function get_attachment_taxonomies($attachment) {
-       if ( is_int( $attachment ) )
-               $attachment = get_post($attachment);
-       else if ( is_array($attachment) )
+function get_attachment_taxonomies( $attachment ) {
+       if ( is_int( $attachment ) ) {
+               $attachment = get_post( $attachment );
+       } elseif ( is_array( $attachment ) ) {
                $attachment = (object) $attachment;
-
+       }
        if ( ! is_object($attachment) )
                return array();
 
@@ -2002,14 +2064,16 @@ function get_attachment_taxonomies($attachment) {
 }
 
 /**
- * Return all of the taxonomy names that are registered for attachments.
+ * Retrieves all of the taxonomy names that are registered for attachments.
  *
  * Handles mime-type-specific taxonomies such as attachment:image and attachment:video.
  *
  * @since 3.5.0
- * @see get_attachment_taxonomies()
  *
- * @param string $output The type of output to return, either taxonomy 'names' or 'objects'. 'names' is the default.
+ * @see get_taxonomies()
+ *
+ * @param string $output Optional. The type of taxonomy output to return. Accepts 'names' or 'objects'.
+ *                       Default 'names'.
  * @return array The names of all taxonomy of $object_type.
  */
 function get_taxonomies_for_attachments( $output = 'names' ) {
@@ -2031,13 +2095,14 @@ function get_taxonomies_for_attachments( $output = 'names' ) {
 
 /**
  * Create new GD image resource with transparency support
- * @TODO: Deprecate if possible.
+ *
+ * @todo: Deprecate if possible.
  *
  * @since 2.9.0
  *
- * @param int $width Image width
- * @param int $height Image height
- * @return resource resource
+ * @param int $width  Image width in pixels.
+ * @param int $height Image height in pixels..
+ * @return resource The GD image resource.
  */
 function wp_imagecreatetruecolor($width, $height) {
        $img = imagecreatetruecolor($width, $height);
@@ -2049,16 +2114,19 @@ function wp_imagecreatetruecolor($width, $height) {
 }
 
 /**
- * Register an embed handler. This function should probably only be used for sites that do not support oEmbed.
+ * Registers an embed handler.
+ *
+ * Should probably only be used for sites that do not support oEmbed.
  *
  * @since 2.9.0
+ *
  * @see WP_Embed::register_handler()
  *
- * @global WP_Embed $wp_embed
- * @param string   $id
- * @param string   $regex
- * @param callable $callback
- * @param int      $priority
+ * @param string   $id       An internal ID/name for the handler. Needs to be unique.
+ * @param string   $regex    The regex that will be used to see if this handler should be used for a URL.
+ * @param callback $callback The callback function that will be called if the regex is matched.
+ * @param int      $priority Optional. Used to specify the order in which the registered handlers will
+ *                           be tested. Default 10.
  */
 function wp_embed_register_handler( $id, $regex, $callback, $priority = 10 ) {
        global $wp_embed;
@@ -2066,14 +2134,14 @@ function wp_embed_register_handler( $id, $regex, $callback, $priority = 10 ) {
 }
 
 /**
- * Unregister a previously registered embed handler.
+ * Unregisters a previously-registered embed handler.
  *
  * @since 2.9.0
+ *
  * @see WP_Embed::unregister_handler()
  *
- * @global WP_Embed $wp_embed
- * @param string $id
- * @param int    $priority
+ * @param string $id       The handler ID that should be removed.
+ * @param int    $priority Optional. The priority of the handler to be removed. Default 10.
  */
 function wp_embed_unregister_handler( $id, $priority = 10 ) {
        global $wp_embed;
@@ -2122,10 +2190,12 @@ function wp_embed_defaults( $url = '' ) {
  *
  * @since 2.9.0
  *
- * @param int $example_width The width of an example embed.
+ * @see wp_constrain_dimensions()
+ *
+ * @param int $example_width  The width of an example embed.
  * @param int $example_height The height of an example embed.
- * @param int $max_width The maximum allowed width.
- * @param int $max_height The maximum allowed height.
+ * @param int $max_width      The maximum allowed width.
+ * @param int $max_height     The maximum allowed height.
  * @return array The maximum possible width and height based on the example ratio.
  */
 function wp_expand_dimensions( $example_width, $example_height, $max_width, $max_height ) {
@@ -2141,10 +2211,12 @@ function wp_expand_dimensions( $example_width, $example_height, $max_width, $max
  * Attempts to fetch the embed HTML for a provided URL using oEmbed.
  *
  * @since 2.9.0
+ *
  * @see WP_oEmbed
  *
- * @param string $url The URL that should be embedded.
- * @param array $args Additional arguments and parameters.
+ * @param string $url  The URL that should be embedded.
+ * @param array  $args Optional. Additional arguments and parameters for retrieving embed HTML.
+ *                     Default empty.
  * @return false|string False on failure or the embed HTML on success.
  */
 function wp_oembed_get( $url, $args = '' ) {
@@ -2157,11 +2229,13 @@ function wp_oembed_get( $url, $args = '' ) {
  * Adds a URL format and oEmbed provider URL pair.
  *
  * @since 2.9.0
+ *
  * @see WP_oEmbed
  *
- * @param string $format The format of URL that this provider can handle. You can use asterisks as wildcards.
- * @param string $provider The URL to the oEmbed provider.
- * @param boolean $regex Whether the $format parameter is in a regex format.
+ * @param string  $format   The format of URL that this provider can handle. You can use asterisks
+ *                          as wildcards.
+ * @param string  $provider The URL to the oEmbed provider.
+ * @param boolean $regex    Optional. Whether the `$format` parameter is in a RegEx format. Default false.
  */
 function wp_oembed_add_provider( $format, $provider, $regex = false ) {
        require_once( ABSPATH . WPINC . '/class-oembed.php' );
@@ -2178,9 +2252,11 @@ function wp_oembed_add_provider( $format, $provider, $regex = false ) {
  * Removes an oEmbed provider.
  *
  * @since 3.5.0
+ *
  * @see WP_oEmbed
  *
  * @param string $format The URL format for the oEmbed provider to remove.
+ * @return bool Was the provider removed successfully?
  */
 function wp_oembed_remove_provider( $format ) {
        require_once( ABSPATH . WPINC . '/class-oembed.php' );
@@ -2206,6 +2282,8 @@ function wp_oembed_remove_provider( $format ) {
  * it hasn't, then it will load the embeds library.
  *
  * @since 2.9.0
+ *
+ * @see wp_embed_register_handler()
  */
 function wp_maybe_load_embeds() {
        /**
@@ -2245,15 +2323,17 @@ function wp_maybe_load_embeds() {
 }
 
 /**
- * The Google Video embed handler callback. Google Video does not support oEmbed.
+ * The Google Video embed handler callback.
+ *
+ * Google Video does not support oEmbed.
  *
  * @see WP_Embed::register_handler()
  * @see WP_Embed::shortcode()
  *
- * @param array $matches The regex matches from the provided regex when calling {@link wp_embed_register_handler()}.
- * @param array $attr Embed attributes.
- * @param string $url The original URL that was matched by the regex.
- * @param array $rawattr The original unmodified attributes.
+ * @param array  $matches The RegEx matches from the provided regex when calling wp_embed_register_handler().
+ * @param array  $attr    Embed attributes.
+ * @param string $url     The original URL that was matched by the regex.
+ * @param array  $rawattr The original unmodified attributes.
  * @return string The embed HTML.
  */
 function wp_embed_handler_googlevideo( $matches, $attr, $url, $rawattr ) {
@@ -2271,7 +2351,7 @@ function wp_embed_handler_googlevideo( $matches, $attr, $url, $rawattr ) {
         * @since 2.9.0
         *
         * @param string $html    Google Video HTML embed markup.
-        * @param array  $matches The regex matches from the provided regex.
+        * @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.
@@ -2280,14 +2360,14 @@ function wp_embed_handler_googlevideo( $matches, $attr, $url, $rawattr ) {
 }
 
 /**
- * YouTube embed handler callback.
+ * YouTube iframe embed handler callback.
  *
- * Catches URLs that can be parsed but aren't supported by oEmbed.
+ * Catches YouTube iframe embed URLs that are not parsable by oEmbed but can be translated into a URL that is.
  *
  * @since 4.0.0
  *
- * @param array  $matches The regex matches from the provided regex when calling
- *                        {@see wp_embed_register_handler()}.
+ * @param array  $matches The RegEx matches from the provided regex when calling
+ *                        wp_embed_register_handler().
  * @param array  $attr    Embed attributes.
  * @param string $url     The original URL that was matched by the regex.
  * @param array  $rawattr The original unmodified attributes.
@@ -2296,6 +2376,7 @@ function wp_embed_handler_googlevideo( $matches, $attr, $url, $rawattr ) {
 function wp_embed_handler_youtube( $matches, $attr, $url, $rawattr ) {
        global $wp_embed;
        $embed = $wp_embed->autoembed( "https://youtube.com/watch?v={$matches[2]}" );
+
        /**
         * Filter the YoutTube embed output.
         *
@@ -2316,7 +2397,7 @@ function wp_embed_handler_youtube( $matches, $attr, $url, $rawattr ) {
  *
  * @since 3.6.0
  *
- * @param array $matches The regex matches from the provided regex when calling {@link wp_embed_register_handler()}.
+ * @param array $matches The RegEx matches from the provided regex when calling wp_embed_register_handler().
  * @param array $attr Embed attributes.
  * @param string $url The original URL that was matched by the regex.
  * @param array $rawattr The original unmodified attributes.
@@ -2343,10 +2424,10 @@ function wp_embed_handler_audio( $matches, $attr, $url, $rawattr ) {
  *
  * @since 3.6.0
  *
- * @param array $matches The regex matches from the provided regex when calling {@link wp_embed_register_handler()}.
- * @param array $attr Embed attributes.
- * @param string $url The original URL that was matched by the regex.
- * @param array $rawattr The original unmodified attributes.
+ * @param array  $matches The RegEx matches from the provided regex when calling wp_embed_register_handler().
+ * @param array  $attr    Embed attributes.
+ * @param string $url     The original URL that was matched by the regex.
+ * @param array  $rawattr The original unmodified attributes.
  * @return string The embed HTML.
  */
 function wp_embed_handler_video( $matches, $attr, $url, $rawattr ) {
@@ -2391,7 +2472,7 @@ function wp_convert_hr_to_bytes( $size ) {
 }
 
 /**
- * Determine the maximum upload size allowed in php.ini.
+ * Determines the maximum upload size allowed in php.ini.
  *
  * @since 2.5.0
  *
@@ -2417,11 +2498,12 @@ function wp_max_upload_size() {
  * Returns a WP_Image_Editor instance and loads file into it.
  *
  * @since 3.5.0
- * @access public
  *
- * @param string $path Path to file to load
- * @param array $args Additional data. Accepts { 'mime_type'=>string, 'methods'=>{string, string, ...} }
- * @return WP_Image_Editor|WP_Error
+ * @param string $path Path to the file to load.
+ * @param array  $args Optional. Additional arguments for retrieving the image editor.
+ *                     Default empty array.
+ * @return WP_Image_Editor|WP_Error The WP_Image_Editor object if successful, an WP_Error
+ *                                  object otherwise.
  */
 function wp_get_image_editor( $path, $args = array() ) {
        $args['path'] = $path;
@@ -2454,10 +2536,10 @@ function wp_get_image_editor( $path, $args = array() ) {
  * Tests whether there is an editor that supports a given mime type or methods.
  *
  * @since 3.5.0
- * @access public
  *
- * @param string|array $args Array of requirements. Accepts { 'mime_type'=>string, 'methods'=>{string, string, ...} }
- * @return boolean true if an eligible editor is found; false otherwise
+ * @param string|array $args Optional. Array of arguments to retrieve the image editor supports.
+ *                           Default empty array.
+ * @return bool True if an eligible editor is found; false otherwise.
  */
 function wp_image_editor_supports( $args = array() ) {
        return (bool) _wp_image_editor_choose( $args );
@@ -2466,11 +2548,12 @@ function wp_image_editor_supports( $args = array() ) {
 /**
  * Tests which editors are capable of supporting the request.
  *
+ * @ignore
  * @since 3.5.0
- * @access private
  *
- * @param array $args Additional data. Accepts { 'mime_type'=>string, 'methods'=>{string, string, ...} }
- * @return string|bool Class name for the first editor that claims to support the request. False if no editor claims to support the request.
+ * @param array $args Optional. Array of arguments for choosing a capable editor. Default empty array.
+ * @return string|bool Class name for the first editor that claims to support the request. False if no
+ *                     editor claims to support the request.
  */
 function _wp_image_editor_choose( $args = array() ) {
        require_once ABSPATH . WPINC . '/class-wp-image-editor.php';
@@ -2582,7 +2665,6 @@ function wp_plupload_default_settings() {
 
        $wp_scripts->add_data( 'wp-plupload', 'data', $script );
 }
-add_action( 'customize_controls_enqueue_scripts', 'wp_plupload_default_settings' );
 
 /**
  * Prepares an attachment post object for JS, where it is expected
@@ -2783,6 +2865,13 @@ function wp_prepare_attachment_for_js( $attachment ) {
  * all media JS APIs.
  *
  * @since 3.5.0
+ *
+ * @param array $args {
+ *     Arguments for enqueuing media scripts.
+ *
+ *     @type int|WP_Post A post object or ID.
+ * }
+ * @return array List of media view settings.
  */
 function wp_enqueue_media( $args = array() ) {
 
@@ -2887,9 +2976,9 @@ function wp_enqueue_media( $args = array() ) {
 
                $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/' ) ) {
+                       if ( wp_attachment_is( 'audio', $post ) ) {
                                $thumbnail_support = post_type_supports( 'attachment:audio', 'thumbnail' ) || current_theme_supports( 'post-thumbnails', 'attachment:audio' );
-                       } elseif ( 0 === strpos( $post->post_mime_type, 'video/' ) ) {
+                       } elseif ( wp_attachment_is( 'video', $post ) ) {
                                $thumbnail_support = post_type_supports( 'attachment:video', 'thumbnail' ) || current_theme_supports( 'post-thumbnails', 'attachment:video' );
                        }
                }
@@ -2918,7 +3007,7 @@ function wp_enqueue_media( $args = array() ) {
                   lack of plural support here, turn it into "selected: %d" then translate it.
                 */
                'selected'    => __( '%d selected' ),
-               'dragInfo'    => __( 'Drag and drop to reorder images.' ),
+               'dragInfo'    => __( 'Drag and drop to reorder media files.' ),
 
                // Upload
                'uploadFilesTitle'  => __( 'Upload Files' ),
@@ -3074,7 +3163,7 @@ function wp_enqueue_media( $args = array() ) {
 }
 
 /**
- * Retrieve media attached to the passed post.
+ * Retrieves media attached to the passed post.
  *
  * @since 3.6.0
  *
@@ -3126,21 +3215,35 @@ function get_attached_media( $type, $post = 0 ) {
  * @since 3.6.0
  *
  * @param string $content A string which might contain media data.
- * @param array $types array of media types: 'audio', 'video', 'object', 'embed', or 'iframe'
- * @return array A list of found HTML media embeds
+ * @param array  $types   An array of media types: 'audio', 'video', 'object', 'embed', or 'iframe'.
+ * @return array A list of found HTML media embeds.
  */
 function get_media_embedded_in_content( $content, $types = null ) {
        $html = array();
-       $allowed_media_types = array( 'audio', 'video', 'object', 'embed', 'iframe' );
+
+       /**
+        * Filter the embedded media types that are allowed to be returned from the content blob.
+        *
+        * @since 4.2.0
+        *
+        * @param array $allowed_media_types An array of allowed media types. Default media types are
+        *                                   'audio', 'video', 'object', 'embed', and 'iframe'.
+        */
+       $allowed_media_types = apply_filters( 'media_embedded_in_content_allowed_types', array( 'audio', 'video', 'object', 'embed', 'iframe' ) );
+
        if ( ! empty( $types ) ) {
-               if ( ! is_array( $types ) )
+               if ( ! is_array( $types ) ) {
                        $types = array( $types );
+               }
+
                $allowed_media_types = array_intersect( $allowed_media_types, $types );
        }
 
-       foreach ( $allowed_media_types as $tag ) {
-               if ( preg_match( '#' . get_tag_regex( $tag ) . '#', $content, $matches ) ) {
-                       $html[] = $matches[0];
+       $tags = implode( '|', $allowed_media_types );
+
+       if ( preg_match_all( '#<(?P<tag>' . $tags . ')[^<]*?(?:>[\s\S]*?<\/(?P=tag)>|\s*\/>)#', $content, $matches ) ) {
+               foreach ( $matches[0] as $match ) {
+                       $html[] = $match;
                }
        }
 
@@ -3148,14 +3251,14 @@ function get_media_embedded_in_content( $content, $types = null ) {
 }
 
 /**
- * Retrieve galleries from the passed post's content.
+ * Retrieves galleries from the passed post's content.
  *
  * @since 3.6.0
  *
- * @param int|WP_Post $post Optional. Post ID or object.
- * @param bool        $html Whether to return HTML or data in the array.
+ * @param int|WP_Post $post Post ID or object.
+ * @param bool        $html Optional. Whether to return HTML or data in the array. Default true.
  * @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 ) )
@@ -3205,7 +3308,7 @@ function get_post_galleries( $post, $html = true ) {
  * @since 3.6.0
  *
  * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post.
- * @param bool        $html Whether to return HTML or data.
+ * @param bool        $html Optional. Whether to return HTML or data. Default is true.
  * @return string|array Gallery data and srcs parsed from the expanded shortcode.
  */
 function get_post_gallery( $post = 0, $html = true ) {
@@ -3229,9 +3332,11 @@ function get_post_gallery( $post = 0, $html = true ) {
  *
  * @since 3.6.0
  *
- * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post.
+ * @see get_post_galleries()
+ *
+ * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global `$post`.
  * @return array A list of lists, each containing image srcs parsed.
- *             from an expanded shortcode
+ *               from an expanded shortcode
  */
 function get_post_galleries_images( $post = 0 ) {
        $galleries = get_post_galleries( $post, false );
@@ -3239,11 +3344,13 @@ function get_post_galleries_images( $post = 0 ) {
 }
 
 /**
- * Check a post's content for galleries and return the image srcs for the first found gallery
+ * Checks a post's content for galleries and return the image srcs for the first found gallery
  *
  * @since 3.6.0
  *
- * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global $post.
+ * @see get_post_gallery()
+ *
+ * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global `$post`.
  * @return array A list of a gallery's image srcs in order.
  */
 function get_post_gallery_images( $post = 0 ) {
@@ -3252,7 +3359,7 @@ function get_post_gallery_images( $post = 0 ) {
 }
 
 /**
- * Maybe attempt to generate attachment metadata, if missing.
+ * Maybe attempts to generate attachment metadata, if missing.
  *
  * @since 3.9.0
  *
@@ -3277,14 +3384,14 @@ function wp_maybe_generate_attachment_metadata( $attachment ) {
 }
 
 /**
- * Try to convert an attachment URL into a post ID.
+ * Tries to convert an attachment URL into a post ID.
  *
  * @since 4.0.0
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
  * @param string $url The URL to resolve.
- * @return int The found post ID.
+ * @return int The found post ID, or 0 on failure.
  */
 function attachment_url_to_postid( $url ) {
        global $wpdb;
@@ -3301,13 +3408,22 @@ function attachment_url_to_postid( $url ) {
                $path
        );
        $post_id = $wpdb->get_var( $sql );
-       if ( ! empty( $post_id ) ) {
-               return (int) $post_id;
-       }
+
+       /**
+        * Filter an attachment id found by URL.
+        *
+        * @since 4.2.0
+        *
+        * @param int|null $post_id The post_id (if any) found by the function.
+        * @param string   $url     The URL being looked up.
+        */
+       $post_id = apply_filters( 'attachment_url_to_postid', $post_id, $url );
+
+       return (int) $post_id;
 }
 
 /**
- * Return the URLs for CSS files used in an iframe-sandbox'd TinyMCE media view.
+ * Returns the URLs for CSS files used in an iframe-sandbox'd TinyMCE media view.
  *
  * @since 4.0.0
  *
index 1637413d7897758f77be6b6d7b00c86dfd9dc77b..b57e761f46b6a8391e1407b98963f752ded258a8 100644 (file)
@@ -449,7 +449,7 @@ function delete_metadata($meta_type, $object_id, $meta_key, $meta_value = '', $d
  *             the specified object.
  * @param bool $single Optional, default is false. If true, return only the first value of the
  *             specified meta_key. This parameter has no effect if meta_key is not specified.
- * @return string|array Single metadata value, or array of values
+ * @return mixed Single metadata value, or array of values
  */
 function get_metadata($meta_type, $object_id, $meta_key = '', $single = false) {
        if ( ! $meta_type || ! is_numeric( $object_id ) ) {
@@ -933,14 +933,26 @@ class WP_Meta_Query {
         */
        protected $table_aliases = array();
 
+       /**
+        * A flat list of clauses, keyed by clause 'name'.
+        *
+        * @since 4.2.0
+        * @access protected
+        * @var array
+        */
+       protected $clauses = array();
+
        /**
         * Constructor.
         *
         * @since 3.2.0
+        * @since 4.2.0 Introduced support for naming query clauses by associative array keys.
+        *
         * @access public
         *
         * @param array $meta_query {
-        *     Array of meta query clauses.
+        *     Array of meta query clauses. When first-order clauses use strings as their array keys, they may be
+        *     referenced in the 'orderby' parameter of the parent query.
         *
         *     @type string $relation Optional. The MySQL keyword used to join
         *                            the clauses of the query. Accepts 'AND', or 'OR'. Default 'AND'.
@@ -995,23 +1007,23 @@ class WP_Meta_Query {
                        if ( 'relation' === $key ) {
                                $relation = $query;
 
-                       } else if ( ! is_array( $query ) ) {
+                       } elseif ( ! is_array( $query ) ) {
                                continue;
 
                        // First-order clause.
-                       } else if ( $this->is_first_order_clause( $query ) ) {
+                       } elseif ( $this->is_first_order_clause( $query ) ) {
                                if ( isset( $query['value'] ) && array() === $query['value'] ) {
                                        unset( $query['value'] );
                                }
 
-                               $clean_queries[] = $query;
+                               $clean_queries[ $key ] = $query;
 
                        // Otherwise, it's a nested query, so we recurse.
                        } else {
                                $cleaned_query = $this->sanitize_query( $query );
 
                                if ( ! empty( $cleaned_query ) ) {
-                                       $clean_queries[] = $cleaned_query;
+                                       $clean_queries[ $key ] = $cleaned_query;
                                }
                        }
                }
@@ -1029,7 +1041,7 @@ class WP_Meta_Query {
                 * This value will not actually be used to join clauses, but it
                 * simplifies the logic around combining key-only queries.
                 */
-               } else if ( 1 === count( $clean_queries ) ) {
+               } elseif ( 1 === count( $clean_queries ) ) {
                        $clean_queries['relation'] = 'OR';
 
                // Default to AND.
@@ -1093,11 +1105,11 @@ class WP_Meta_Query {
                                $primary_meta_query,
                                $existing_meta_query,
                        );
-               } else if ( ! empty( $primary_meta_query ) ) {
+               } elseif ( ! empty( $primary_meta_query ) ) {
                        $meta_query = array(
                                $primary_meta_query,
                        );
-               } else if ( ! empty( $existing_meta_query ) ) {
+               } elseif ( ! empty( $existing_meta_query ) ) {
                        $meta_query = $existing_meta_query;
                }
 
@@ -1146,8 +1158,6 @@ class WP_Meta_Query {
         * }
         */
        public function get_sql( $type, $primary_table, $primary_id_column, $context = null ) {
-               global $wpdb;
-
                if ( ! $meta_table = _get_meta_table( $type ) ) {
                        return false;
                }
@@ -1256,16 +1266,16 @@ class WP_Meta_Query {
                foreach ( $query as $key => &$clause ) {
                        if ( 'relation' === $key ) {
                                $relation = $query['relation'];
-                       } else if ( is_array( $clause ) ) {
+                       } elseif ( is_array( $clause ) ) {
 
                                // This is a first-order clause.
                                if ( $this->is_first_order_clause( $clause ) ) {
-                                       $clause_sql = $this->get_sql_for_clause( $clause, $query );
+                                       $clause_sql = $this->get_sql_for_clause( $clause, $query, $key );
 
                                        $where_count = count( $clause_sql['where'] );
                                        if ( ! $where_count ) {
                                                $sql_chunks['where'][] = '';
-                                       } else if ( 1 === $where_count ) {
+                                       } elseif ( 1 === $where_count ) {
                                                $sql_chunks['where'][] = $clause_sql['where'][0];
                                        } else {
                                                $sql_chunks['where'][] = '( ' . implode( ' AND ', $clause_sql['where'] ) . ' )';
@@ -1311,8 +1321,10 @@ class WP_Meta_Query {
         * @since 4.1.0
         * @access public
         *
-        * @param array $clause       Query clause, passed by reference.
-        * @param array $parent_query Parent query array.
+        * @param array  $clause       Query clause, passed by reference.
+        * @param array  $parent_query Parent query array.
+        * @param string $clause_key   Optional. The array key used to name the clause in the original `$meta_query`
+        *                             parameters. If not provided, a key will be generated automatically.
         * @return array {
         *     Array containing JOIN and WHERE SQL clauses to append to a first-order query.
         *
@@ -1320,7 +1332,7 @@ class WP_Meta_Query {
         *     @type string $where SQL fragment to append to the main WHERE clause.
         * }
         */
-       public function get_sql_for_clause( &$clause, $parent_query ) {
+       public function get_sql_for_clause( &$clause, $parent_query, $clause_key = '' ) {
                global $wpdb;
 
                $sql_chunks = array(
@@ -1376,6 +1388,27 @@ class WP_Meta_Query {
                // Save the alias to this clause, for future siblings to find.
                $clause['alias'] = $alias;
 
+               // Determine the data type.
+               $_meta_type = isset( $clause['type'] ) ? $clause['type'] : '';
+               $meta_type  = $this->get_cast_for_type( $_meta_type );
+               $clause['cast'] = $meta_type;
+
+               // Fallback for clause keys is the table alias.
+               if ( ! $clause_key ) {
+                       $clause_key = $clause['alias'];
+               }
+
+               // Ensure unique clause keys, so none are overwritten.
+               $iterator = 1;
+               $clause_key_base = $clause_key;
+               while ( isset( $this->clauses[ $clause_key ] ) ) {
+                       $clause_key = $clause_key_base . '-' . $iterator;
+                       $iterator++;
+               }
+
+               // Store the clause in our flat array.
+               $this->clauses[ $clause_key ] =& $clause;
+
                // Next, build the WHERE clause.
 
                // meta_key.
@@ -1390,7 +1423,6 @@ class WP_Meta_Query {
                // meta_value.
                if ( array_key_exists( 'value', $clause ) ) {
                        $meta_value = $clause['value'];
-                       $meta_type = $this->get_cast_for_type( isset( $clause['type'] ) ? $clause['type'] : '' );
 
                        if ( in_array( $meta_compare, array( 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' ) ) ) {
                                if ( ! is_array( $meta_value ) ) {
@@ -1452,6 +1484,21 @@ class WP_Meta_Query {
                return $sql_chunks;
        }
 
+       /**
+        * Get a flattened list of sanitized meta clauses.
+        *
+        * This array should be used for clause lookup, as when the table alias and CAST type must be determined for
+        * a value of 'orderby' corresponding to a meta clause.
+        *
+        * @since 4.2.0
+        * @access public
+        *
+        * @return array Meta clauses.
+        */
+       public function get_clauses() {
+               return $this->clauses;
+       }
+
        /**
         * Identify an existing table alias that is compatible with the current
         * query clause.
@@ -1494,7 +1541,7 @@ class WP_Meta_Query {
                                $compatible_compares = array( '=', 'IN', 'BETWEEN', 'LIKE', 'REGEXP', 'RLIKE', '>', '>=', '<', '<=' );
 
                        // Clauses joined by AND with "negative" operators share a join only if they also share a key.
-                       } else if ( isset( $sibling['key'] ) && isset( $clause['key'] ) && $sibling['key'] === $clause['key'] ) {
+                       } elseif ( isset( $sibling['key'] ) && isset( $clause['key'] ) && $sibling['key'] === $clause['key'] ) {
                                $compatible_compares = array( '!=', 'NOT IN', 'NOT LIKE' );
                        }
 
index e1c70e1a8d20467f7858896dd7d6f4603ab53ebe..74885b135064a114f47c7ca2d14c929c38026c4f 100644 (file)
@@ -33,11 +33,11 @@ function wpmu_update_blogs_date() {
  * @since MU
  *
  * @param int $blog_id Blog ID
- * @return string
+ * @return string Full URL of the blog if found. Empty string if not.
  */
 function get_blogaddress_by_id( $blog_id ) {
        $bloginfo = get_blog_details( (int) $blog_id, false ); // only get bare details!
-       return esc_url( 'http://' . $bloginfo->domain . $bloginfo->path );
+       return ( $bloginfo ) ? esc_url( 'http://' . $bloginfo->domain . $bloginfo->path ) : '';
 }
 
 /**
@@ -99,7 +99,7 @@ function get_id_from_blogname( $slug ) {
  *
  * @param int|string|array $fields A blog ID, a blog slug, or an array of fields to query against. Optional. If not specified the current blog ID is used.
  * @param bool $get_all Whether to retrieve all details or only the details in the blogs table. Default is true.
- * @return object Blog details.
+ * @return object|false Blog details on success. False on failure.
  */
 function get_blog_details( $fields = null, $get_all = true ) {
        global $wpdb;
@@ -296,8 +296,13 @@ function update_blog_details( $blog_id, $details = array() ) {
 
        $update_details = array();
        $fields = array( 'site_id', 'domain', 'path', 'registered', 'last_updated', 'public', 'archived', 'mature', 'spam', 'deleted', 'lang_id');
-       foreach ( array_intersect( array_keys( $details ), $fields ) as $field )
-               $update_details[$field] = $details[$field];
+       foreach ( array_intersect( array_keys( $details ), $fields ) as $field ) {
+               if ( 'path' === $field ) {
+                       $details[ $field ] = trailingslashit( '/' . trim( $details[ $field ], '/' ) );
+               }
+
+               $update_details[ $field ] = $details[ $field ];
+       }
 
        $result = $wpdb->update( $wpdb->blogs, $update_details, array('blog_id' => $blog_id) );
 
@@ -620,10 +625,11 @@ function switch_to_blog( $new_blog, $deprecated = null ) {
                wp_cache_init();
 
                if ( function_exists( 'wp_cache_add_global_groups' ) ) {
-                       if ( is_array( $global_groups ) )
+                       if ( is_array( $global_groups ) ) {
                                wp_cache_add_global_groups( $global_groups );
-                       else
-                               wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'site-transient', 'site-options', 'site-lookup', 'blog-lookup', 'blog-details', 'rss', 'global-posts', ' blog-id-cache' ) );
+                       } else {
+                               wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'useremail', 'userslugs', 'site-transient', 'site-options', 'site-lookup', 'blog-lookup', 'blog-details', 'rss', 'global-posts', 'blog-id-cache' ) );
+                       }
                        wp_cache_add_non_persistent_groups( array( 'comment', 'counts', 'plugins' ) );
                }
        }
@@ -683,10 +689,11 @@ function restore_current_blog() {
                wp_cache_init();
 
                if ( function_exists( 'wp_cache_add_global_groups' ) ) {
-                       if ( is_array( $global_groups ) )
+                       if ( is_array( $global_groups ) ) {
                                wp_cache_add_global_groups( $global_groups );
-                       else
-                               wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'site-transient', 'site-options', 'site-lookup', 'blog-lookup', 'blog-details', 'rss', 'global-posts', ' blog-id-cache' ) );
+                       } else {
+                               wp_cache_add_global_groups( array( 'users', 'userlogins', 'usermeta', 'user_meta', 'useremail', 'userslugs', 'site-transient', 'site-options', 'site-lookup', 'blog-lookup', 'blog-details', 'rss', 'global-posts', 'blog-id-cache' ) );
+                       }
                        wp_cache_add_non_persistent_groups( array( 'comment', 'counts', 'plugins' ) );
                }
        }
index 7481ec9a027ccbbf2f4c483463501447cfb3509b..3a3979c111199c67c67551629aa62281b129af45 100644 (file)
  * @since 3.0.0
  */
 
+// Functions
+add_action( 'update_option_blog_public', 'update_blog_public', 10, 2 );
+add_filter( 'option_users_can_register', 'users_can_register_signup_filter' );
+add_filter( 'site_option_welcome_user_email', 'welcome_user_msg_filter' );
+
 // Users
 add_filter( 'wpmu_validate_user_signup', 'signup_nonce_check' );
 add_action( 'init', 'maybe_add_existing_user_to_blog' );
index ffd65ca8212169546bb01df9a1483b2cb633b0b4..beae326fe141b090d157332caeae6dec44e37f5d 100644 (file)
@@ -166,20 +166,21 @@ function get_blog_list( $start = 0, $num = 10, $deprecated = '' ) {
        global $wpdb;
        $blogs = $wpdb->get_results( $wpdb->prepare("SELECT blog_id, domain, path FROM $wpdb->blogs WHERE site_id = %d AND public = '1' AND archived = '0' AND mature = '0' AND spam = '0' AND deleted = '0' ORDER BY registered DESC", $wpdb->siteid), ARRAY_A );
 
+       $blog_list = array();
        foreach ( (array) $blogs as $details ) {
                $blog_list[ $details['blog_id'] ] = $details;
                $blog_list[ $details['blog_id'] ]['postcount'] = $wpdb->get_var( "SELECT COUNT(ID) FROM " . $wpdb->get_blog_prefix( $details['blog_id'] ). "posts WHERE post_status='publish' AND post_type='post'" );
        }
-       unset( $blogs );
-       $blogs = $blog_list;
 
-       if ( false == is_array( $blogs ) )
+       if ( ! $blog_list ) {
                return array();
+       }
 
-       if ( $num == 'all' )
-               return array_slice( $blogs, $start, count( $blogs ) );
-       else
-               return array_slice( $blogs, $start, $num );
+       if ( $num == 'all' ) {
+               return array_slice( $blog_list, $start, count( $blog_list ) );
+       } else {
+               return array_slice( $blog_list, $start, $num );
+       }
 }
 
 /**
@@ -193,15 +194,18 @@ function get_most_active_blogs( $num = 10, $display = true ) {
        $blogs = get_blog_list( 0, 'all', false ); // $blog_id -> $details
        if ( is_array( $blogs ) ) {
                reset( $blogs );
+               $most_active = array();
+               $blog_list = array();
                foreach ( (array) $blogs as $key => $details ) {
                        $most_active[ $details['blog_id'] ] = $details['postcount'];
                        $blog_list[ $details['blog_id'] ] = $details; // array_slice() removes keys!!
                }
                arsort( $most_active );
                reset( $most_active );
-               foreach ( (array) $most_active as $key => $details )
+               $t = array();
+               foreach ( (array) $most_active as $key => $details ) {
                        $t[ $key ] = $blog_list[ $key ];
-
+               }
                unset( $most_active );
                $most_active = $t;
        }
index 5537fb3644ea41056f61401ab590783adcc5853e..6dbcf086d828433ced83bed1006b3a7003d3ed8d 100644 (file)
@@ -434,23 +434,20 @@ function is_email_address_unsafe( $user_email ) {
 }
 
 /**
- * Processes new user registrations.
+ * Sanitize and validate data required for a user sign-up.
  *
- * Checks the data provided by the user during signup. Verifies
- * the validity and uniqueness of user names and user email addresses,
- * and checks email addresses against admin-provided domain
- * whitelists and blacklists.
+ * Verifies the validity and uniqueness of user names and user email addresses,
+ * and checks email addresses against admin-provided domain whitelists and blacklists.
  *
- * The hook 'wpmu_validate_user_signup' provides an easy way
- * to modify the signup process. The value $result, which is passed
- * to the hook, contains both the user-provided info and the error
- * messages created by the function. 'wpmu_validate_user_signup' allows
- * you to process the data in any way you'd like, and unset the
- * relevant errors if necessary.
+ * The {@see 'wpmu_validate_user_signup'} hook provides an easy way to modify the sign-up
+ * process. The value $result, which is passed to the hook, contains both the user-provided
+ * info and the error messages created by the function. {@see 'wpmu_validate_user_signup'}
+ * allows you to process the data in any way you'd like, and unset the relevant errors if
+ * necessary.
  *
  * @since MU
  *
- * @param string $user_name The login name provided by the user.
+ * @param string $user_name  The login name provided by the user.
  * @param string $user_email The email provided by the user.
  * @return array Contains username, email, and error messages.
  */
@@ -1437,7 +1434,7 @@ function wpmu_welcome_notification( $blog_id, $user_id, $password, $title, $meta
 
        $welcome_email = get_site_option( 'welcome_email' );
        if ( $welcome_email == false )
-               $welcome_email = __( 'Dear User,
+               $welcome_email = __( 'Howdy USERNAME,
 
 Your new SITE_NAME site has been successfully set up at:
 BLOG_URL
@@ -1804,11 +1801,13 @@ function global_terms( $term_id, $deprecated = '' ) {
                        $global_id = $wpdb->insert_id;
                }
        } elseif ( $global_id != $term_id ) {
-               $local_id = $wpdb->get_row( $wpdb->prepare( "SELECT term_id FROM $wpdb->terms WHERE term_id = %d", $global_id ) );
-               if ( null != $local_id )
-                       $local_id = global_terms( $local_id );
-                       if ( 10 < $global_terms_recurse )
+               $local_id = $wpdb->get_var( $wpdb->prepare( "SELECT term_id FROM $wpdb->terms WHERE term_id = %d", $global_id ) );
+               if ( null != $local_id ) {
+                       global_terms( $local_id );
+                       if ( 10 < $global_terms_recurse ) {
                                $global_id = $term_id;
+                       }
+               }
        }
 
        if ( $global_id != $term_id ) {
@@ -1935,7 +1934,7 @@ function maybe_add_existing_user_to_blog() {
        if ( empty( $details ) || is_wp_error( add_existing_user_to_blog( $details ) ) )
                wp_die( sprintf(__('An error occurred adding you to this site. Back to the <a href="%s">homepage</a>.'), home_url() ) );
 
-       wp_die( sprintf( __( 'You have been added to this site. Please visit the <a href="%s">homepage</a> or <a href="%s">log in</a> using your username and password.' ), home_url(), admin_url() ), __( 'WordPress &rsaquo; Success' ) );
+       wp_die( sprintf( __( 'You have been added to this site. Please visit the <a href="%s">homepage</a> or <a href="%s">log in</a> using your username and password.' ), home_url(), admin_url() ), __( 'WordPress &rsaquo; Success' ), array( 'response' => 200 ) );
 }
 
 /**
@@ -2005,11 +2004,12 @@ function fix_phpmailer_messageid( $phpmailer ) {
  * @return bool
  */
 function is_user_spammy( $user = null ) {
-    if ( ! is_a( $user, 'WP_User' ) ) {
-               if ( $user )
+    if ( ! ( $user instanceof WP_User ) ) {
+               if ( $user ) {
                        $user = get_user_by( 'login', $user );
-               else
+               } else {
                        $user = wp_get_current_user();
+               }
        }
 
        return $user && isset( $user->spam ) && 1 == $user->spam;
@@ -2028,7 +2028,6 @@ function is_user_spammy( $user = null ) {
 function update_blog_public( $old_value, $value ) {
        update_blog_status( get_current_blog_id(), 'public', (int) $value );
 }
-add_action('update_option_blog_public', 'update_blog_public', 10, 2);
 
 /**
  * Check whether a usermeta key has to do with the current blog.
@@ -2069,7 +2068,6 @@ function users_can_register_signup_filter() {
 
        return false;
 }
-add_filter('option_users_can_register', 'users_can_register_signup_filter');
 
 /**
  * Ensure that the welcome message is not empty. Currently unused.
@@ -2082,7 +2080,7 @@ add_filter('option_users_can_register', 'users_can_register_signup_filter');
 function welcome_user_msg_filter( $text ) {
        if ( !$text ) {
                remove_filter( 'site_option_welcome_user_email', 'welcome_user_msg_filter' );
-               $text = __( 'Dear User,
+               $text = __( 'Howdy USERNAME,
 
 Your new account is set up.
 
@@ -2098,7 +2096,6 @@ Thanks!
        }
        return $text;
 }
-add_filter( 'site_option_welcome_user_email', 'welcome_user_msg_filter' );
 
 /**
  * Whether to force SSL on content.
index 652b190962922e717bc396feef6c73e21dbcaf19..bc925baaa9b465676eaf89a75ce1f42af4212d99 100644 (file)
@@ -308,6 +308,8 @@ function get_site_by_path( $domain, $path, $segments = null ) {
                $path_segments = array_slice( $path_segments, 0, $segments );
        }
 
+       $paths = array();
+
        while ( count( $path_segments ) ) {
                $paths[] = '/' . implode( '/', $path_segments ) . '/';
                array_pop( $path_segments );
@@ -393,23 +395,35 @@ function get_site_by_path( $domain, $path, $segments = null ) {
 function ms_not_installed() {
        global $wpdb, $domain, $path;
 
+       if ( ! is_admin() ) {
+               dead_db();
+       }
+
        wp_load_translations_early();
 
        $title = __( 'Error establishing a database connection' );
+
        $msg  = '<h1>' . $title . '</h1>';
-       if ( ! is_admin() ) {
-               die( $msg );
-       }
        $msg .= '<p>' . __( 'If your site does not display, please contact the owner of this network.' ) . '';
        $msg .= ' ' . __( 'If you are the owner of this network please check that MySQL is running properly and all tables are error free.' ) . '</p>';
        $query = $wpdb->prepare( "SHOW TABLES LIKE %s", $wpdb->esc_like( $wpdb->site ) );
        if ( ! $wpdb->get_var( $query ) ) {
-               $msg .= '<p>' . sprintf( __( '<strong>Database tables are missing.</strong> This means that MySQL is not running, WordPress was not installed properly, or someone deleted <code>%s</code>. You really should look at your database now.' ), $wpdb->site ) . '</p>';
+               $msg .= '<p>' . sprintf(
+                       /* translators: %s: table name */
+                       __( '<strong>Database tables are missing.</strong> This means that MySQL is not running, WordPress was not installed properly, or someone deleted %s. You really should look at your database now.' ),
+                       '<code>' . $wpdb->site . '</code>'
+               ) . '</p>';
        } else {
-               $msg .= '<p>' . sprintf( __( '<strong>Could not find site <code>%1$s</code>.</strong> Searched for table <code>%2$s</code> in database <code>%3$s</code>. Is that right?' ), rtrim( $domain . $path, '/' ), $wpdb->blogs, DB_NAME ) . '</p>';
+               $msg .= '<p>' . sprintf(
+                       /* translators: 1: site url, 2: table name, 3: database name */
+                       __( '<strong>Could not find site %1$s.</strong> Searched for table %2$s in database %3$s. Is that right?' ),
+                       '<code>' . rtrim( $domain . $path, '/' ) . '</code>',
+                       '<code>' . $wpdb->blogs . '</code>',
+                       '<code>' . DB_NAME . '</code>'
+               ) . '</p>';
        }
        $msg .= '<p><strong>' . __( 'What do I do now?' ) . '</strong> ';
-       $msg .= __( 'Read the <a target="_blank" href="http://codex.wordpress.org/Debugging_a_WordPress_Network">bug report</a> page. Some of the guidelines there may help you figure out what went wrong.' );
+       $msg .= __( 'Read the <a target="_blank" href="https://codex.wordpress.org/Debugging_a_WordPress_Network">bug report</a> page. Some of the guidelines there may help you figure out what went wrong.' );
        $msg .= ' ' . __( 'If you&#8217;re still stuck with this message, then check that your database contains the following tables:' ) . '</p><ul>';
        foreach ( $wpdb->tables('global') as $t => $table ) {
                if ( 'sitecategories' == $t )
@@ -418,7 +432,7 @@ function ms_not_installed() {
        }
        $msg .= '</ul>';
 
-       wp_die( $msg, $title );
+       wp_die( $msg, $title, array( 'response' => 500 ) );
 }
 
 /**
index 46cb025c1257c55a42a02bb9c9fb46c2dba1aae6..5feac802f825beb803a08088333fdc1e4f755f24 100644 (file)
@@ -673,4 +673,3 @@ function _nav_menu_item_id_use_once( $id, $item ) {
        $_used_ids[] = $item->ID;
        return $id;
 }
-add_filter( 'nav_menu_item_id', '_nav_menu_item_id_use_once', 10, 2 );
index 602ad41eacd307f2042f76639927735571fac63d..48549b1aaa4f464713950f8f04dce4923270e04b 100644 (file)
@@ -441,7 +441,7 @@ function wp_update_nav_menu_item( $menu_id = 0, $menu_item_db_id = 0, $menu_item
         *
         * @since 3.0.0
         *
-        * @see wp_update_nav_menu_items()
+        * @see wp_update_nav_menu_item()
         *
         * @param int   $menu_id         ID of the updated menu.
         * @param int   $menu_item_db_id ID of the updated menu item.
@@ -688,7 +688,7 @@ function wp_setup_nav_menu_item( $menu_item ) {
                                $menu_item->title = '' == $menu_item->post_title ? $original_title : $menu_item->post_title;
 
                        } else {
-                               $menu_item->type_label = __('Custom');
+                               $menu_item->type_label = __('Custom Link');
                                $menu_item->title = $menu_item->post_title;
                                $menu_item->url = empty( $menu_item->url ) ? get_post_meta( $menu_item->ID, '_menu_item_url', true ) : $menu_item->url;
                        }
@@ -806,7 +806,7 @@ function wp_get_associated_nav_menu_items( $object_id = 0, $object_type = 'post_
                                'post_type' == $menu_item_type
                        ) {
                                $menu_item_ids[] = (int) $menu_item->ID;
-                       } else if (
+                       } elseif (
                                'taxonomy' == $object_type &&
                                'taxonomy' == $menu_item_type &&
                                get_post_meta( $menu_item->ID, '_menu_item_object', true ) == $taxonomy
index 6134606471347db74f641f73250885c9de53caa3..b7725fc47261713fe6768f0c1e90a030d023a634 100644 (file)
@@ -221,12 +221,17 @@ 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
- *
- * @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.
+ * @since 4.2.0 The `$autoload` parameter was added.
+ *
+ * @param string      $option   Option name. Expected to not be SQL-escaped.
+ * @param mixed       $value    Option value. Must be serializable if non-scalar. Expected to not be SQL-escaped.
+ * @param string|bool $autoload Optional. Whether to load the option when WordPress starts up. For existing options,
+ *                              `$autoload` can only be updated using `update_option()` if `$value` is also changed.
+ *                              Accepts 'yes' or true to enable, 'no' or false to disable. For non-existent options,
+ *                              the default value is 'yes'.
  * @return bool False if value was not updated and true if value was updated.
  */
-function update_option( $option, $value ) {
+function update_option( $option, $value, $autoload = null ) {
        global $wpdb;
 
        $option = trim($option);
@@ -268,8 +273,15 @@ function update_option( $option, $value ) {
        if ( $value === $old_value )
                return false;
 
-       if ( false === $old_value )
-               return add_option( $option, $value );
+       /** This filter is documented in wp-includes/option.php */
+       if ( apply_filters( 'default_option_' . $option, false ) === $old_value ) {
+               // Default setting for new options is 'yes'.
+               if ( null === $autoload ) {
+                       $autoload = 'yes';
+               }
+
+               return add_option( $option, $value, '', $autoload );
+       }
 
        $serialized_value = maybe_serialize( $value );
 
@@ -284,7 +296,15 @@ function update_option( $option, $value ) {
         */
        do_action( 'update_option', $option, $old_value, $value );
 
-       $result = $wpdb->update( $wpdb->options, array( 'option_value' => $serialized_value ), array( 'option_name' => $option ) );
+       $update_args = array(
+               'option_value' => $serialized_value,
+       );
+
+       if ( null !== $autoload ) {
+               $update_args['autoload'] = ( 'no' === $autoload || false === $autoload ) ? 'no' : 'yes';
+       }
+
+       $result = $wpdb->update( $wpdb->options, $update_args, array( 'option_name' => $option ) );
        if ( ! $result )
                return false;
 
@@ -346,7 +366,8 @@ function update_option( $option, $value ) {
  * @param string         $option      Name of option to add. Expected to not be SQL-escaped.
  * @param mixed          $value       Optional. Option value. Must be serializable if non-scalar. Expected to not be SQL-escaped.
  * @param string         $deprecated  Optional. Description. Not used anymore.
- * @param string|bool    $autoload    Optional. Default is enabled. Whether to load the option when WordPress starts up.
+ * @param string|bool    $autoload    Optional. Whether to load the option when WordPress starts up.
+ *                                    Default is enabled. Accepts 'no' to disable for legacy reasons.
  * @return bool False if option was not added and true if option was added.
  */
 function add_option( $option, $value = '', $deprecated = '', $autoload = 'yes' ) {
@@ -369,11 +390,12 @@ function add_option( $option, $value = '', $deprecated = '', $autoload = 'yes' )
        // Make sure the option doesn't already exist. We can check the 'notoptions' cache before we ask for a db query
        $notoptions = wp_cache_get( 'notoptions', 'options' );
        if ( !is_array( $notoptions ) || !isset( $notoptions[$option] ) )
-               if ( false !== get_option( $option ) )
+               /** This filter is documented in wp-includes/option.php */
+               if ( apply_filters( 'default_option_' . $option, false ) !== get_option( $option ) )
                        return false;
 
        $serialized_value = maybe_serialize( $value );
-       $autoload = ( 'no' === $autoload ) ? 'no' : 'yes';
+       $autoload = ( 'no' === $autoload || false === $autoload ) ? 'no' : 'yes';
 
        /**
         * Fires before an option is added.
@@ -627,18 +649,20 @@ function get_transient( $transient ) {
  */
 function set_transient( $transient, $value, $expiration = 0 ) {
 
+       $expiration = (int) $expiration;
+
        /**
         * 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
+        * @since 4.2.0 Added `$expiration` parameter.
         *
-        * @param mixed $value New value of transient.
+        * @param mixed $value      New value of transient.
+        * @param int   $expiration Time until expiration in seconds.
         */
-       $value = apply_filters( 'pre_set_transient_' . $transient, $value );
-
-       $expiration = (int) $expiration;
+       $value = apply_filters( 'pre_set_transient_' . $transient, $value, $expiration );
 
        if ( wp_using_ext_object_cache() ) {
                $result = wp_cache_set( $transient, $value, 'transient', $expiration );
index 8f3a5de665c910feb08908f0b9c712a6a155dd18..ffe2a0739521d017ccdf49d49703a9d29e72eec5 100644 (file)
@@ -260,7 +260,7 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array()
        global $phpmailer;
 
        // (Re)create it, if it's gone missing
-       if ( !is_object( $phpmailer ) || !is_a( $phpmailer, 'PHPMailer' ) ) {
+       if ( ! ( $phpmailer instanceof PHPMailer ) ) {
                require_once ABSPATH . WPINC . '/class-phpmailer.php';
                require_once ABSPATH . WPINC . '/class-smtp.php';
                $phpmailer = new PHPMailer( true );
@@ -302,30 +302,37 @@ function wp_mail( $to, $subject, $message, $headers = '', $attachments = array()
                                switch ( strtolower( $name ) ) {
                                        // Mainly for legacy -- process a From: header if it's there
                                        case 'from':
-                                               if ( strpos($content, '<' ) !== false ) {
-                                                       // So... making my life hard again?
-                                                       $from_name = substr( $content, 0, strpos( $content, '<' ) - 1 );
-                                                       $from_name = str_replace( '"', '', $from_name );
-                                                       $from_name = trim( $from_name );
+                                               $bracket_pos = strpos( $content, '<' );
+                                               if ( $bracket_pos !== false ) {
+                                                       // Text before the bracketed email is the "From" name.
+                                                       if ( $bracket_pos > 0 ) {
+                                                               $from_name = substr( $content, 0, $bracket_pos - 1 );
+                                                               $from_name = str_replace( '"', '', $from_name );
+                                                               $from_name = trim( $from_name );
+                                                       }
 
-                                                       $from_email = substr( $content, strpos( $content, '<' ) + 1 );
+                                                       $from_email = substr( $content, $bracket_pos + 1 );
                                                        $from_email = str_replace( '>', '', $from_email );
                                                        $from_email = trim( $from_email );
-                                               } else {
+
+                                               // Avoid setting an empty $from_email.
+                                               } elseif ( '' !== trim( $content ) ) {
                                                        $from_email = trim( $content );
                                                }
                                                break;
                                        case 'content-type':
                                                if ( strpos( $content, ';' ) !== false ) {
-                                                       list( $type, $charset ) = explode( ';', $content );
+                                                       list( $type, $charset_content ) = explode( ';', $content );
                                                        $content_type = trim( $type );
-                                                       if ( false !== stripos( $charset, 'charset=' ) ) {
-                                                               $charset = trim( str_replace( array( 'charset=', '"' ), '', $charset ) );
-                                                       } elseif ( false !== stripos( $charset, 'boundary=' ) ) {
-                                                               $boundary = trim( str_replace( array( 'BOUNDARY=', 'boundary=', '"' ), '', $charset ) );
+                                                       if ( false !== stripos( $charset_content, 'charset=' ) ) {
+                                                               $charset = trim( str_replace( array( 'charset=', '"' ), '', $charset_content ) );
+                                                       } elseif ( false !== stripos( $charset_content, 'boundary=' ) ) {
+                                                               $boundary = trim( str_replace( array( 'BOUNDARY=', 'boundary=', '"' ), '', $charset_content ) );
                                                                $charset = '';
                                                        }
-                                               } else {
+
+                                               // Avoid setting an empty $content_type.
+                                               } elseif ( '' !== trim( $content ) ) {
                                                        $content_type = trim( $content );
                                                }
                                                break;
@@ -1064,10 +1071,13 @@ if ( !function_exists('check_admin_referer') ) :
  *
  * @since 1.2.0
  *
- * @param int|string $action    Action nonce
- * @param string     $query_arg Where to look for nonce in $_REQUEST (since 2.5)
+ * @param int|string $action    Action nonce.
+ * @param string     $query_arg Optional. Key to check for nonce in `$_REQUEST` (since 2.5).
+ *                              Default '_wpnonce'.
+ * @return false|int False if the nonce is invalid, 1 if the nonce is valid and generated between
+ *                   0-12 hours ago, 2 if the nonce is valid and generated between 12-24 hours ago.
  */
-function check_admin_referer($action = -1, $query_arg = '_wpnonce') {
+function check_admin_referer( $action = -1, $query_arg = '_wpnonce' ) {
        if ( -1 == $action )
                _doing_it_wrong( __FUNCTION__, __( 'You should specify a nonce action to be verified by using the first parameter.' ), '3.2' );
 
@@ -1084,8 +1094,9 @@ function check_admin_referer($action = -1, $query_arg = '_wpnonce') {
         *
         * @since 1.5.1
         *
-        * @param string $action The nonce action.
-        * @param bool   $result Whether the admin request nonce was validated.
+        * @param string    $action The nonce action.
+        * @param false|int $result False if the nonce is invalid, 1 if the nonce is valid and generated between
+        *                          0-12 hours ago, 2 if the nonce is valid and generated between 12-24 hours ago.
         */
        do_action( 'check_admin_referer', $action, $result );
        return $result;
@@ -1098,8 +1109,14 @@ if ( !function_exists('check_ajax_referer') ) :
  *
  * @since 2.0.3
  *
- * @param int|string $action    Action nonce
- * @param string     $query_arg Where to look for nonce in $_REQUEST (since 2.5)
+ * @param int|string   $action    Action nonce.
+ * @param false|string $query_arg Optional. Key to check for the nonce in `$_REQUEST` (since 2.5). If false,
+ *                                `$_REQUEST` values will be evaluated for '_ajax_nonce', and '_wpnonce'
+ *                                (in that order). Default false.
+ * @param bool         $die       Optional. Whether to die early when the nonce cannot be verified.
+ *                                Default true.
+ * @return false|int False if the nonce is invalid, 1 if the nonce is valid and generated between
+ *                   0-12 hours ago, 2 if the nonce is valid and generated between 12-24 hours ago.
  */
 function check_ajax_referer( $action = -1, $query_arg = false, $die = true ) {
        $nonce = '';
@@ -1125,8 +1142,9 @@ function check_ajax_referer( $action = -1, $query_arg = false, $die = true ) {
         *
         * @since 2.1.0
         *
-        * @param string $action The AJAX nonce action.
-        * @param bool   $result Whether the AJAX request nonce was validated.
+        * @param string    $action The AJAX nonce action.
+        * @param false|int $result False if the nonce is invalid, 1 if the nonce is valid and generated between
+        *                          0-12 hours ago, 2 if the nonce is valid and generated between 12-24 hours ago.
         */
        do_action( 'check_ajax_referer', $action, $result );
 
@@ -1172,7 +1190,7 @@ function wp_redirect($location, $status = 302) {
 
        $location = wp_sanitize_redirect($location);
 
-       if ( !$is_IIS && php_sapi_name() != 'cgi-fcgi' )
+       if ( !$is_IIS && PHP_SAPI != 'cgi-fcgi' )
                status_header($status); // This causes problems on IIS and some FastCGI setups
 
        header("Location: $location", true, $status);
@@ -1190,6 +1208,19 @@ if ( !function_exists('wp_sanitize_redirect') ) :
  * @return string redirect-sanitized URL
  **/
 function wp_sanitize_redirect($location) {
+       $regex = '/
+               (
+                       (?: [\xC2-\xDF][\x80-\xBF]        # double-byte sequences   110xxxxx 10xxxxxx
+                       |   \xE0[\xA0-\xBF][\x80-\xBF]    # triple-byte sequences   1110xxxx 10xxxxxx * 2
+                       |   [\xE1-\xEC][\x80-\xBF]{2}
+                       |   \xED[\x80-\x9F][\x80-\xBF]
+                       |   [\xEE-\xEF][\x80-\xBF]{2}
+                       |   \xF0[\x90-\xBF][\x80-\xBF]{2} # four-byte sequences   11110xxx 10xxxxxx * 3
+                       |   [\xF1-\xF3][\x80-\xBF]{3}
+                       |   \xF4[\x80-\x8F][\x80-\xBF]{2}
+               ){1,50}                              # ...one or more times
+               )/x';
+       $location = preg_replace_callback( $regex, '_wp_sanitize_utf8_in_redirect', $location );
        $location = preg_replace('|[^a-z0-9-~+_.?#=&;,/:%!*\[\]()]|i', '', $location);
        $location = wp_kses_no_null($location);
 
@@ -1198,6 +1229,19 @@ function wp_sanitize_redirect($location) {
        $location = _deep_replace($strip, $location);
        return $location;
 }
+
+/**
+ * URL encode UTF-8 characters in a URL.
+ *
+ * @ignore
+ * @since 4.2.0
+ * @access private
+ *
+ * @see wp_sanitize_redirect()
+ */
+function _wp_sanitize_utf8_in_redirect( $matches ) {
+       return urlencode( $matches[0] );
+}
 endif;
 
 if ( !function_exists('wp_safe_redirect') ) :
@@ -1380,20 +1424,20 @@ function wp_notify_postauthor( $comment_id, $deprecated = null ) {
        switch ( $comment->comment_type ) {
                case 'trackback':
                        $notify_message  = sprintf( __( 'New trackback on your post "%s"' ), $post->post_title ) . "\r\n";
-                       /* translators: 1: website name, 2: author IP, 3: author domain */
-                       $notify_message .= sprintf( __('Website: %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
+                       /* translators: 1: website name, 2: website IP, 3: website hostname */
+                       $notify_message .= sprintf( __('Website: %1$s (IP: %2$s, %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
                        $notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
-                       $notify_message .= sprintf( __( 'Comment: %s' ), $comment->comment_content ) . "\r\n\r\n";
+                       $notify_message .= sprintf( __( 'Comment: %s' ), "\r\n" . $comment->comment_content ) . "\r\n\r\n";
                        $notify_message .= __( 'You can see all trackbacks on this post here:' ) . "\r\n";
                        /* translators: 1: blog name, 2: post title */
                        $subject = sprintf( __('[%1$s] Trackback: "%2$s"'), $blogname, $post->post_title );
                        break;
                case 'pingback':
                        $notify_message  = sprintf( __( 'New pingback on your post "%s"' ), $post->post_title ) . "\r\n";
-                       /* translators: 1: comment author, 2: author IP, 3: author domain */
-                       $notify_message .= sprintf( __('Website: %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
+                       /* translators: 1: website name, 2: website IP, 3: website hostname */
+                       $notify_message .= sprintf( __('Website: %1$s (IP: %2$s, %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
                        $notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
-                       $notify_message .= sprintf( __( 'Comment: %s' ), $comment->comment_content ) . "\r\n\r\n";
+                       $notify_message .= sprintf( __( 'Comment: %s' ), "\r\n" . $comment->comment_content ) . "\r\n\r\n";
                        $notify_message .= __( 'You can see all pingbacks on this post here:' ) . "\r\n";
                        /* translators: 1: blog name, 2: post title */
                        $subject = sprintf( __('[%1$s] Pingback: "%2$s"'), $blogname, $post->post_title );
@@ -1401,11 +1445,11 @@ function wp_notify_postauthor( $comment_id, $deprecated = null ) {
                default: // Comments
                        $notify_message  = sprintf( __( 'New comment on your post "%s"' ), $post->post_title ) . "\r\n";
                        /* translators: 1: comment author, 2: author IP, 3: author domain */
-                       $notify_message .= sprintf( __( 'Author: %1$s (IP: %2$s , %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
+                       $notify_message .= sprintf( __( 'Author: %1$s (IP: %2$s, %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
                        $notify_message .= sprintf( __( 'E-mail: %s' ), $comment->comment_author_email ) . "\r\n";
                        $notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
                        $notify_message .= sprintf( __( 'Whois: %s' ), "http://whois.arin.net/rest/ip/{$comment->comment_author_IP}" ) . "\r\n";
-                       $notify_message .= sprintf( __('Comment: %s' ), $comment->comment_content ) . "\r\n\r\n";
+                       $notify_message .= sprintf( __('Comment: %s' ), "\r\n" . $comment->comment_content ) . "\r\n\r\n";
                        $notify_message .= __( 'You can see all comments on this post here:' ) . "\r\n";
                        /* translators: 1: blog name, 2: post title */
                        $subject = sprintf( __('[%1$s] Comment: "%2$s"'), $blogname, $post->post_title );
@@ -1516,25 +1560,27 @@ function wp_notify_moderator($comment_id) {
                case 'trackback':
                        $notify_message  = sprintf( __('A new trackback on the post "%s" is waiting for your approval'), $post->post_title ) . "\r\n";
                        $notify_message .= get_permalink($comment->comment_post_ID) . "\r\n\r\n";
-                       $notify_message .= sprintf( __('Website : %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
-                       $notify_message .= sprintf( __('URL    : %s'), $comment->comment_author_url ) . "\r\n";
+                       /* translators: 1: website name, 2: website IP, 3: website hostname */
+                       $notify_message .= sprintf( __( 'Website: %1$s (IP: %2$s, %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
+                       $notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
                        $notify_message .= __('Trackback excerpt: ') . "\r\n" . $comment->comment_content . "\r\n\r\n";
                        break;
                case 'pingback':
                        $notify_message  = sprintf( __('A new pingback on the post "%s" is waiting for your approval'), $post->post_title ) . "\r\n";
                        $notify_message .= get_permalink($comment->comment_post_ID) . "\r\n\r\n";
-                       $notify_message .= sprintf( __('Website : %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
-                       $notify_message .= sprintf( __('URL    : %s'), $comment->comment_author_url ) . "\r\n";
+                       /* translators: 1: website name, 2: website IP, 3: website hostname */
+                       $notify_message .= sprintf( __( 'Website: %1$s (IP: %2$s, %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
+                       $notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
                        $notify_message .= __('Pingback excerpt: ') . "\r\n" . $comment->comment_content . "\r\n\r\n";
                        break;
                default: // Comments
                        $notify_message  = sprintf( __('A new comment on the post "%s" is waiting for your approval'), $post->post_title ) . "\r\n";
                        $notify_message .= get_permalink($comment->comment_post_ID) . "\r\n\r\n";
-                       $notify_message .= sprintf( __('Author : %1$s (IP: %2$s , %3$s)'), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
-                       $notify_message .= sprintf( __('E-mail : %s'), $comment->comment_author_email ) . "\r\n";
-                       $notify_message .= sprintf( __('URL    : %s'), $comment->comment_author_url ) . "\r\n";
-                       $notify_message .= sprintf( __('Whois  : http://whois.arin.net/rest/ip/%s'), $comment->comment_author_IP ) . "\r\n";
-                       $notify_message .= __('Comment: ') . "\r\n" . $comment->comment_content . "\r\n\r\n";
+                       $notify_message .= sprintf( __( 'Author: %1$s (IP: %2$s, %3$s)' ), $comment->comment_author, $comment->comment_author_IP, $comment_author_domain ) . "\r\n";
+                       $notify_message .= sprintf( __( 'E-mail: %s' ), $comment->comment_author_email ) . "\r\n";
+                       $notify_message .= sprintf( __( 'URL: %s' ), $comment->comment_author_url ) . "\r\n";
+                       $notify_message .= sprintf( __( 'Whois: %s' ), "http://whois.arin.net/rest/ip/{$comment->comment_author_IP}" ) . "\r\n";
+                       $notify_message .= sprintf( __( 'Comment: %s' ), "\r\n" . $comment->comment_content ) . "\r\n\r\n";
                        break;
        }
 
@@ -1693,7 +1739,8 @@ if ( !function_exists('wp_verify_nonce') ) :
  *
  * @param string     $nonce  Nonce that was used in the form to verify
  * @param string|int $action Should give context to what is taking place and be the same when nonce was created.
- * @return bool Whether the nonce check passed or failed.
+ * @return false|int False if the nonce is invalid, 1 if the nonce is valid and generated between
+ *                   0-12 hours ago, 2 if the nonce is valid and generated between 12-24 hours ago.
  */
 function wp_verify_nonce( $nonce, $action = -1 ) {
        $nonce = (string) $nonce;
@@ -2082,123 +2129,144 @@ endif;
 
 if ( !function_exists( 'get_avatar' ) ) :
 /**
- * Retrieve the avatar for a user who provided a user ID or email address.
+ * Retrieve the avatar `<img>` tag for a user, email address, MD5 hash, comment, or post.
  *
  * @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
- * @param string $alt Alternative text to use in image tag. Defaults to blank
- * @return false|string `<img>` tag for the user's avatar.
-*/
-function get_avatar( $id_or_email, $size = '96', $default = '', $alt = false ) {
-       if ( ! get_option('show_avatars') )
-               return false;
+ * @since 4.2.0 Optional `$args` parameter added.
+ *
+ * @param mixed $id_or_email The Gravatar to retrieve. Accepts a user_id, gravatar md5 hash,
+ *                           user email, WP_User object, WP_Post object, or comment object.
+ * @param int    $size       Optional. Height and width of the avatar image file in pixels. Default 96.
+ * @param string $default    Optional. URL for the default image or a default type. Accepts '404'
+ *                           (return a 404 instead of a default image), 'retro' (8bit), 'monsterid'
+ *                           (monster), 'wavatar' (cartoon face), 'indenticon' (the "quilt"),
+ *                           'mystery', 'mm', or 'mysterman' (The Oyster Man), 'blank' (transparent GIF),
+ *                           or 'gravatar_default' (the Gravatar logo). Default is the value of the
+ *                           'avatar_default' option, with a fallback of 'mystery'.
+ * @param string $alt        Optional. Alternative text to use in &lt;img&gt; tag. Default empty.
+ * @param array  $args       {
+ *     Optional. Extra arguments to retrieve the avatar.
+ *
+ *     @type int          $height        Display height of the avatar in pixels. Defaults to $size.
+ *     @type int          $width         Display width of the avatar in pixels. Defaults to $size.
+ *     @type bool         $force_default Whether to always show the default image, never the Gravatar. Default false.
+ *     @type string       $rating        What rating to display avatars up to. Accepts 'G', 'PG', 'R', 'X', and are
+ *                                       judged in that order. Default is the value of the 'avatar_rating' option.
+ *     @type string       $scheme        URL scheme to use. See set_url_scheme() for accepted values.
+ *                                       Default null.
+ *     @type array|string $class         Array or string of additional classes to add to the &lt;img&gt; element.
+ *                                       Default null.
+ *     @type bool         $force_display Whether to always show the avatar - ignores the show_avatars option.
+ *                                       Default false.
+ *     @type string       $extra_attr    HTML attributes to insert in the IMG element. Is not sanitized. Default empty.
+ * }
+ * @return false|string `<img>` tag for the user's avatar. False on failure.
+ */
+function get_avatar( $id_or_email, $size = 96, $default = '', $alt = '', $args = null ) {
+       $defaults = array(
+               // get_avatar_data() args.
+               'size'          => 96,
+               'height'        => null,
+               'width'         => null,
+               'default'       => get_option( 'avatar_default', 'mystery' ),
+               'force_default' => false,
+               'rating'        => get_option( 'avatar_rating' ),
+               'scheme'        => null,
+               'alt'           => '',
+               'class'         => null,
+               'force_display' => false,
+               'extra_attr'    => '',
+       );
 
-       if ( false === $alt)
-               $safe_alt = '';
-       else
-               $safe_alt = esc_attr( $alt );
+       if ( empty( $args ) ) {
+               $args = array();
+       }
 
-       if ( !is_numeric($size) )
-               $size = '96';
+       $args['size']    = (int) $size;
+       $args['default'] = $default;
+       $args['alt']     = $alt;
 
-       $email = '';
-       if ( is_numeric($id_or_email) ) {
-               $id = (int) $id_or_email;
-               $user = get_userdata($id);
-               if ( $user )
-                       $email = $user->user_email;
-       } elseif ( is_object($id_or_email) ) {
-               // No avatar for pingbacks or trackbacks
+       $args = wp_parse_args( $args, $defaults );
 
-               /**
-                * 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;
+       if ( empty( $args['height'] ) ) {
+               $args['height'] = $args['size'];
+       }
+       if ( empty( $args['width'] ) ) {
+               $args['width'] = $args['size'];
+       }
 
-               if ( ! empty( $id_or_email->user_id ) ) {
-                       $id = (int) $id_or_email->user_id;
-                       $user = get_userdata($id);
-                       if ( $user )
-                               $email = $user->user_email;
-               }
+       /**
+        * Filter whether to retrieve the avatar URL early.
+        *
+        * Passing a non-null value will effectively short-circuit get_avatar(), passing
+        * the value through the {@see 'pre_get_avatar'} filter and returning early.
+        *
+        * @since 4.2.0
+        *
+        * @param string            $avatar      HTML for the user's avatar. Default null.
+        * @param int|object|string $id_or_email A user ID, email address, or comment object.
+        * @param array             $args        Arguments passed to get_avatar_url(), after processing.
+        */
+       $avatar = apply_filters( 'pre_get_avatar', null, $id_or_email, $args );
 
-               if ( ! $email && ! empty( $id_or_email->comment_author_email ) )
-                       $email = $id_or_email->comment_author_email;
-       } else {
-               $email = $id_or_email;
+       if ( ! is_null( $avatar ) ) {
+               /** This filter is documented in wp-includes/pluggable.php */
+               return apply_filters( 'get_avatar', $avatar, $id_or_email, $args['size'], $args['default'], $args['alt'], $args );
        }
 
-       if ( empty($default) ) {
-               $avatar_default = get_option('avatar_default');
-               if ( empty($avatar_default) )
-                       $default = 'mystery';
-               else
-                       $default = $avatar_default;
+       if ( ! $args['force_display'] && ! get_option( 'show_avatars' ) ) {
+               return false;
        }
 
-       if ( !empty($email) )
-               $email_hash = md5( strtolower( trim( $email ) ) );
+       $url2x = get_avatar_url( $id_or_email, array_merge( $args, array( 'size' => $args['size'] * 2 ) ) );
 
-       if ( is_ssl() ) {
-               $host = 'https://secure.gravatar.com';
-       } else {
-               if ( !empty($email) )
-                       $host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash[0] ) % 2 ) );
-               else
-                       $host = 'http://0.gravatar.com';
-       }
-
-       if ( 'mystery' == $default )
-               $default = "$host/avatar/ad516503a11cd5ca435acc9bb6523536?s={$size}"; // ad516503a11cd5ca435acc9bb6523536 == md5('unknown@gravatar.com')
-       elseif ( 'blank' == $default )
-               $default = $email ? 'blank' : includes_url( 'images/blank.gif' );
-       elseif ( !empty($email) && 'gravatar_default' == $default )
-               $default = '';
-       elseif ( 'gravatar_default' == $default )
-               $default = "$host/avatar/?s={$size}";
-       elseif ( empty($email) )
-               $default = "$host/avatar/?d=$default&amp;s={$size}";
-       elseif ( strpos($default, 'http://') === 0 )
-               $default = add_query_arg( 's', $size, $default );
-
-       if ( !empty($email) ) {
-               $out = "$host/avatar/";
-               $out .= $email_hash;
-               $out .= '?s='.$size;
-               $out .= '&amp;d=' . urlencode( $default );
-
-               $rating = get_option('avatar_rating');
-               if ( !empty( $rating ) )
-                       $out .= "&amp;r={$rating}";
-
-               $out = str_replace( '&#038;', '&amp;', esc_url( $out ) );
-               $avatar = "<img alt='{$safe_alt}' src='{$out}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
-       } else {
-               $out = esc_url( $default );
-               $avatar = "<img alt='{$safe_alt}' src='{$out}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />";
+       $args = get_avatar_data( $id_or_email, $args );
+
+       $url = $args['url'];
+
+       if ( ! $url || is_wp_error( $url ) ) {
+        return false;
+       }
+
+       $class = array( 'avatar', 'avatar-' . (int) $args['size'], 'photo' );
+
+       if ( ! $args['found_avatar'] || $args['force_default'] ) {
+        $class[] = 'avatar-default';
        }
 
+       if ( $args['class'] ) {
+               if ( is_array( $args['class'] ) ) {
+                       $class = array_merge( $class, $args['class'] );
+               } else {
+                       $class[] = $args['class'];
+               }
+       }
+
+       $avatar = sprintf(
+               "<img alt='%s' src='%s' srcset='%s' class='%s' height='%d' width='%d' %s/>",
+               esc_attr( $args['alt'] ),
+               esc_url( $url ),
+               esc_attr( "$url2x 2x" ),
+               esc_attr( join( ' ', $class ) ),
+               (int) $args['height'],
+               (int) $args['width'],
+               $args['extra_attr']
+       );
+
        /**
         * Filter the avatar to retrieve.
         *
         * @since 2.5.0
+        * @since 4.2.0 The `$args` parameter was added.
         *
-        * @param string            $avatar      Image tag for the user's avatar.
+        * @param string            $avatar      &lt;img&gt; 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.
+        * @param array             $args        Arguments passed to get_avatar_data(), after processing.
         */
-       return apply_filters( 'get_avatar', $avatar, $id_or_email, $size, $default, $alt );
+       return apply_filters( 'get_avatar', $avatar, $id_or_email, $args['size'], $args['default'], $args['alt'], $args );
 }
 endif;
 
index 27a65ee1b598f42780ebe6ad2e4ded8a124e451c..331633c45c41b6869faa8386d6ddcab110de97ba 100644 (file)
@@ -11,7 +11,7 @@
  * {@link http://us2.php.net/manual/en/language.pseudo-types.php#language.types.callback 'callback'}
  * type are valid.
  *
- * Also see the {@link http://codex.wordpress.org/Plugin_API Plugin API} for
+ * Also see the {@link https://codex.wordpress.org/Plugin_API Plugin API} for
  * more information and examples on how to use a lot of these functions.
  *
  * @package WordPress
@@ -325,10 +325,10 @@ function remove_all_filters( $tag, $priority = false ) {
        global $wp_filter, $merged_filters;
 
        if ( isset( $wp_filter[ $tag ]) ) {
-               if ( false !== $priority && isset( $wp_filter[ $tag ][ $priority ] ) ) {
-                       $wp_filter[ $tag ][ $priority ] = array();
-               } else {
+               if ( false === $priority ) {
                        $wp_filter[ $tag ] = array();
+               } elseif ( isset( $wp_filter[ $tag ][ $priority ] ) ) {
+                       $wp_filter[ $tag ][ $priority ] = array();
                }
        }
 
@@ -479,7 +479,7 @@ function do_action($tag, $arg = '') {
                $args[] =& $arg[0];
        else
                $args[] = $arg;
-       for ( $a = 2; $a < func_num_args(); $a++ )
+       for ( $a = 2, $num = func_num_args(); $a < $num; $a++ )
                $args[] = func_get_arg($a);
 
        // Sort
@@ -839,7 +839,7 @@ function _wp_call_all_hook($args) {
  * Build Unique ID for storage and retrieval.
  *
  * The old way to serialize the callback caused issues and this function is the
- * solution. It works by checking for objects and creating an a new property in
+ * solution. It works by checking for objects and creating a new property in
  * the class to keep track of the object and new objects of the same class that
  * need to be added.
  *
@@ -900,7 +900,7 @@ function _wp_filter_build_unique_id($tag, $function, $priority) {
 
                        return $obj_idx;
                }
-       } else if ( is_string($function[0]) ) {
+       } elseif ( is_string( $function[0] ) ) {
                // Static Calling
                return $function[0] . '::' . $function[1];
        }
index 8215e2ddaffca6c769d79c926fcf5ee61a9c8643..8e50ab4eac57914bbe1f6aa6de9492f087ca100b 100644 (file)
@@ -40,7 +40,7 @@ class POMO_Reader {
                        return false;
                $endian_letter = ('big' == $this->endian)? 'N' : 'V';
                $int = unpack($endian_letter, $bytes);
-               return array_shift($int);
+               return reset( $int );
        }
 
        /**
index ac613f396cd9325450c36eaec6e03e453ae5697a..94a38581c5eea61711a577e1848555dbd67c59c8 100644 (file)
@@ -26,7 +26,7 @@ function get_post_format( $post = null ) {
        if ( empty( $_format ) )
                return false;
 
-       $format = array_shift( $_format );
+       $format = reset( $_format );
 
        return str_replace('post-format-', '', $format->slug );
 }
@@ -161,7 +161,6 @@ function _post_format_request( $qvs ) {
                $qvs['post_type'] = $tax->object_type;
        return $qvs;
 }
-add_filter( 'request', '_post_format_request' );
 
 /**
  * Filters the post format term link to remove the format prefix.
@@ -180,7 +179,6 @@ function _post_format_link( $link, $term, $taxonomy ) {
                return add_query_arg( 'post_format', str_replace( 'post-format-', '', $term->slug ), $link );
        }
 }
-add_filter( 'term_link', '_post_format_link', 10, 3 );
 
 /**
  * Remove the post format prefix from the name property of the term object created by get_term().
@@ -194,7 +192,6 @@ function _post_format_get_term( $term ) {
        }
        return $term;
 }
-add_filter( 'get_post_format', '_post_format_get_term' );
 
 /**
  * Remove the post format prefix from the name property of the term objects created by get_terms().
@@ -218,7 +215,6 @@ function _post_format_get_terms( $terms, $taxonomies, $args ) {
        }
        return $terms;
 }
-add_filter( 'get_terms', '_post_format_get_terms', 10, 3 );
 
 /**
  * Remove the post format prefix from the name property of the term objects created by wp_get_object_terms().
@@ -234,4 +230,3 @@ function _post_format_wp_get_object_terms( $terms ) {
        }
        return $terms;
 }
-add_filter( 'wp_get_object_terms', '_post_format_wp_get_object_terms' );
index f13a458b566c3839472ebd03b59b1e6f4f1f8fc3..2a6569f29812c4422acd518e9d9ee5fb0d8f7ab1 100644 (file)
@@ -129,7 +129,7 @@ function get_the_title( $post = 0 ) {
                         */
                        $protected_title_format = apply_filters( 'protected_title_format', __( 'Protected: %s' ), $post );
                        $title = sprintf( $protected_title_format, $title );
-               } else if ( isset( $post->post_status ) && 'private' == $post->post_status ) {
+               } elseif ( isset( $post->post_status ) && 'private' == $post->post_status ) {
 
                        /**
                         * Filter the text prepended to the post title of private posts.
@@ -172,7 +172,16 @@ function get_the_title( $post = 0 ) {
  * @param int|WP_Post $id Optional. Post ID or post object.
  */
 function the_guid( $id = 0 ) {
-       echo esc_url( get_the_guid( $id ) );
+       /**
+        * Filter the escaped Global Unique Identifier (guid) of the post.
+        *
+        * @since 4.2.0
+        *
+        * @see get_the_guid()
+        *
+        * @param string $post_guid Escaped Global Unique Identifier (guid) of the post.
+        */
+       echo apply_filters( 'the_guid', get_the_guid( $id ) );
 }
 
 /**
@@ -389,26 +398,35 @@ function post_class( $class = '', $post_id = null ) {
  *
  * 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
- * of classes, followed by $class parameter value, with the post ID as the last
- * parameter.
+ * post thumbnail, 'has-post-thumbnail' is added as a class. For each taxonomy that
+ * the post belongs to, a class will be added of the format '{$taxonomy}-{$slug}' -
+ * eg 'category-foo' or 'my_custom_taxonomy-bar'. The 'post_tag' taxonomy is a special
+ * case; the class has the 'tag-' prefix instead of 'post_tag-'. All classes are
+ * passed through the filter, 'post_class' with the list of classes, followed by
+ * $class parameter value, with the post ID as the last parameter.
  *
  * @since 2.7.0
+ * @since 4.2.0 Custom taxonomy classes were added.
  *
- * @param string|array $class One or more classes to add to the class list.
- * @param int|WP_Post $post_id Optional. Post ID or post object.
+ * @param string|array $class   One or more classes to add to the class list.
+ * @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 ) {
-       $post = get_post($post_id);
+       $post = get_post( $post_id );
 
        $classes = array();
 
-       if ( empty($post) )
+       if ( $class ) {
+               if ( ! is_array( $class ) ) {
+                       $class = preg_split( '#\s+#', $class );
+               }
+               $classes = array_map( 'esc_attr', $class );
+       }
+
+       if ( ! $post ) {
                return $classes;
+       }
 
        $classes[] = 'post-' . $post->ID;
        if ( ! is_admin() )
@@ -446,31 +464,31 @@ function get_post_class( $class = '', $post_id = null ) {
        // hentry for hAtom compliance
        $classes[] = 'hentry';
 
-       // Categories
-       if ( is_object_in_taxonomy( $post->post_type, 'category' ) ) {
-               foreach ( (array) get_the_category($post->ID) as $cat ) {
-                       if ( empty($cat->slug ) )
-                               continue;
-                       $classes[] = 'category-' . sanitize_html_class($cat->slug, $cat->term_id);
-               }
-       }
+       // All public taxonomies
+       $taxonomies = get_taxonomies( array( 'public' => true ) );
+       foreach ( (array) $taxonomies as $taxonomy ) {
+               if ( is_object_in_taxonomy( $post->post_type, $taxonomy ) ) {
+                       foreach ( (array) get_the_terms( $post->ID, $taxonomy ) as $term ) {
+                               if ( empty( $term->slug ) ) {
+                                       continue;
+                               }
 
-       // Tags
-       if ( is_object_in_taxonomy( $post->post_type, 'post_tag' ) ) {
-               foreach ( (array) get_the_tags($post->ID) as $tag ) {
-                       if ( empty($tag->slug ) )
-                               continue;
-                       $classes[] = 'tag-' . sanitize_html_class($tag->slug, $tag->term_id);
-               }
-       }
+                               $term_class = sanitize_html_class( $term->slug, $term->term_id );
+                               if ( is_numeric( $term_class ) || ! trim( $term_class, '-' ) ) {
+                                       $term_class = $term->term_id;
+                               }
 
-       if ( !empty($class) ) {
-               if ( !is_array( $class ) )
-                       $class = preg_split('#\s+#', $class);
-               $classes = array_merge($classes, $class);
+                               // 'post_tag' uses the 'tag' prefix for backward compatibility.
+                               if ( 'post_tag' == $taxonomy ) {
+                                       $classes[] = 'tag-' . $term_class;
+                               } else {
+                                       $classes[] = sanitize_html_class( $taxonomy . '-' . $term_class, $taxonomy . '-' . $term->term_id );
+                               }
+                       }
+               }
        }
 
-       $classes = array_map('esc_attr', $classes);
+       $classes = array_map( 'esc_attr', $classes );
 
        /**
         * Filter the list of CSS classes for the current post.
@@ -566,7 +584,7 @@ function get_body_class( $class = '' ) {
                        if ( is_array( $post_type ) )
                                $post_type = reset( $post_type );
                        $classes[] = 'post-type-archive-' . sanitize_html_class( $post_type );
-               } else if ( is_author() ) {
+               } elseif ( is_author() ) {
                        $author = $wp_query->get_queried_object();
                        $classes[] = 'author';
                        if ( isset( $author->user_nicename ) ) {
@@ -577,21 +595,36 @@ function get_body_class( $class = '' ) {
                        $cat = $wp_query->get_queried_object();
                        $classes[] = 'category';
                        if ( isset( $cat->term_id ) ) {
-                               $classes[] = 'category-' . sanitize_html_class( $cat->slug, $cat->term_id );
+                               $cat_class = sanitize_html_class( $cat->slug, $cat->term_id );
+                               if ( is_numeric( $cat_class ) || ! trim( $cat_class, '-' ) ) {
+                                       $cat_class = $cat->term_id;
+                               }
+
+                               $classes[] = 'category-' . $cat_class;
                                $classes[] = 'category-' . $cat->term_id;
                        }
                } elseif ( is_tag() ) {
-                       $tags = $wp_query->get_queried_object();
+                       $tag = $wp_query->get_queried_object();
                        $classes[] = 'tag';
-                       if ( isset( $tags->term_id ) ) {
-                               $classes[] = 'tag-' . sanitize_html_class( $tags->slug, $tags->term_id );
-                               $classes[] = 'tag-' . $tags->term_id;
+                       if ( isset( $tag->term_id ) ) {
+                               $tag_class = sanitize_html_class( $tag->slug, $tag->term_id );
+                               if ( is_numeric( $tag_class ) || ! trim( $tag_class, '-' ) ) {
+                                       $tag_class = $tag->term_id;
+                               }
+
+                               $classes[] = 'tag-' . $tag_class;
+                               $classes[] = 'tag-' . $tag->term_id;
                        }
                } elseif ( is_tax() ) {
                        $term = $wp_query->get_queried_object();
                        if ( isset( $term->term_id ) ) {
+                               $term_class = sanitize_html_class( $term->slug, $term->term_id );
+                               if ( is_numeric( $term_class ) || ! trim( $term_class, '-' ) ) {
+                                       $term_class = $term->term_id;
+                               }
+
                                $classes[] = 'tax-' . sanitize_html_class( $term->taxonomy );
-                               $classes[] = 'term-' . sanitize_html_class( $term->slug, $term->term_id );
+                               $classes[] = 'term-' . $term_class;
                                $classes[] = 'term-' . $term->term_id;
                        }
                }
@@ -635,7 +668,7 @@ function get_body_class( $class = '' ) {
                $classes[] = 'no-customize-support';
        }
 
-       if ( get_theme_mod( 'background_color' ) || get_background_image() )
+       if ( get_background_color() !== get_theme_support( 'custom-background', 'default-color' ) || get_background_image() )
                $classes[] = 'custom-background';
 
        $page = $wp_query->get( 'page' );
@@ -940,8 +973,26 @@ function the_meta() {
  * Retrieve or display list of pages as a dropdown (select list).
  *
  * @since 2.1.0
+ * @since 4.2.0 The `$value_field` argument was added.
  *
- * @param array|string $args Optional. Override default arguments.
+ * @param array|string $args {
+ *     Optional. Array or string of arguments to generate a pages drop-down element.
+ *
+ *     @type int          $depth                 Maximum depth. Default 0.
+ *     @type int          $child_of              Page ID to retrieve child pages of. Default 0.
+ *     @type int|string   $selected              Value of the option that should be selected. Default 0.
+ *     @type bool|int     $echo                  Whether to echo or return the generated markup. Accepts 0, 1,
+ *                                               or their bool equivalents. Default 1.
+ *     @type string       $name                  Value for the 'name' attribute of the select element.
+ *                                               Default 'page_id'.
+ *     @type string       $id                    Value for the 'id' attribute of the select element.
+ *                                               Defaults to the value of `$name`.
+ *     @type string       $show_option_none      Text to display for showing no pages. Default empty (does not display).
+ *     @type string       $show_option_no_change Text to display for "no change" option. Default empty (does not display).
+ *     @type string       $option_none_value     Value to use when no page is selected. Default empty.
+ *     @type string       $value_field           Post field used to populate the 'value' attribute of the option
+ *                                               elements. Accepts any valid post field. Default 'ID'.
+ * }
  * @return string HTML content, if not displaying.
  */
 function wp_dropdown_pages( $args = '' ) {
@@ -950,7 +1001,8 @@ function wp_dropdown_pages( $args = '' ) {
                'selected' => 0, 'echo' => 1,
                'name' => 'page_id', 'id' => '',
                'show_option_none' => '', 'show_option_no_change' => '',
-               'option_none_value' => ''
+               'option_none_value' => '',
+               'value_field' => 'ID',
        );
 
        $r = wp_parse_args( $args, $defaults );
@@ -1108,18 +1160,17 @@ function wp_list_pages( $args = '' ) {
  * @since 2.7.0
  *
  * @param array|string $args {
- *     Optional. Arguments to generate a page menu. {@see wp_list_pages()}
- *     for additional arguments.
- *
- * @type string     $sort_column How to short the list of pages. Accepts post column names.
- *                               Default 'menu_order, post_title'.
- * @type string     $menu_class  Class to use for the div ID containing the page list. Default 'menu'.
- * @type bool       $echo        Whether to echo the list or return it. Accepts true (echo) or false (return).
- *                               Default true.
- * @type string     $link_before The HTML or text to prepend to $show_home text. Default empty.
- * @type string     $link_after  The HTML or text to append to $show_home text. Default empty.
- * @type int|string $show_home   Whether to display the link to the home page. Can just enter the text
- *                               you'd like shown for the home link. 1|true defaults to 'Home'.
+ *     Optional. Arguments to generate a page menu. See wp_list_pages() for additional arguments.
+ *
+ *     @type string          $sort_column How to short the list of pages. Accepts post column names.
+ *                                        Default 'menu_order, post_title'.
+ *     @type string          $menu_class  Class to use for the div ID containing the page list. Default 'menu'.
+ *     @type bool            $echo        Whether to echo the list or return it. Accepts true (echo) or false (return).
+ *                                        Default true.
+ *     @type string          $link_before The HTML or text to prepend to $show_home text. Default empty.
+ *     @type string          $link_after  The HTML or text to append to $show_home text. Default empty.
+ *     @type int|bool|string $show_home   Whether to display the link to the home page. Can just enter the text
+ *                                        you'd like shown for the home link. 1|true defaults to 'Home'.
  * }
  * @return string html menu
  */
@@ -1404,15 +1455,20 @@ class Walker_PageDropdown extends Walker {
         * @since 2.1.0
         *
         * @param string $output Passed by reference. Used to append additional content.
-        * @param object $page Page data object.
-        * @param int $depth Depth of page in reference to parent pages. Used for padding.
-        * @param array $args Uses 'selected' argument for selected page to set selected HTML attribute for option element.
+        * @param object $page   Page data object.
+        * @param int    $depth  Depth of page in reference to parent pages. Used for padding.
+        * @param array  $args   Uses 'selected' argument for selected page to set selected HTML attribute for option
+        *              element. Uses 'value_field' argument to fill "value" attribute. See {@see wp_dropdown_pages()}.
         * @param int $id
         */
        public function start_el( &$output, $page, $depth = 0, $args = array(), $id = 0 ) {
                $pad = str_repeat('&nbsp;', $depth * 3);
 
-               $output .= "\t<option class=\"level-$depth\" value=\"$page->ID\"";
+               if ( ! isset( $args['value_field'] ) || ! isset( $page->{$args['value_field']} ) ) {
+                       $args['value_field'] = 'ID';
+               }
+
+               $output .= "\t<option class=\"level-$depth\" value=\"" . esc_attr( $page->{$args['value_field']} ) . "\"";
                if ( $page->ID == $args['selected'] )
                        $output .= ' selected="selected"';
                $output .= '>';
@@ -1523,7 +1579,7 @@ function prepend_attachment($content) {
        if ( empty($post->post_type) || $post->post_type != 'attachment' )
                return $content;
 
-       if ( 0 === strpos( $post->post_mime_type, 'video' ) ) {
+       if ( wp_attachment_is( 'video', $post ) ) {
                $meta = wp_get_attachment_metadata( get_the_ID() );
                $atts = array( 'src' => wp_get_attachment_url() );
                if ( ! empty( $meta['width'] ) && ! empty( $meta['height'] ) ) {
@@ -1534,7 +1590,7 @@ function prepend_attachment($content) {
                        $atts['poster'] = wp_get_attachment_url( get_post_thumbnail_id() );
                }
                $p = wp_video_shortcode( $atts );
-       } elseif ( 0 === strpos( $post->post_mime_type, 'audio' ) ) {
+       } elseif ( wp_attachment_is( 'audio', $post ) ) {
                $p = wp_audio_shortcode( array( 'src' => wp_get_attachment_url() ) );
        } else {
                $p = '<p class="attachment">';
@@ -1595,12 +1651,13 @@ function get_the_password_form( $post = 0 ) {
  * Whether currently in a page template.
  *
  * This template tag allows you to determine if you are in a page template.
- * You can optionally provide a template name and then the check will be
- * specific to that template.
+ * You can optionally provide a template name or array of template names
+ * and then the check will be specific to that template.
  *
  * @since 2.5.0
+ * @since 4.2.0 The `$template` parameter was changed to also accept an array of page templates.
  *
- * @param string $template The specific template name if specific matching is required.
+ * @param string|array $template The specific template name or array of templates to match.
  * @return bool True on success, false on failure.
  */
 function is_page_template( $template = '' ) {
@@ -1615,6 +1672,14 @@ function is_page_template( $template = '' ) {
        if ( $template == $page_template )
                return true;
 
+       if ( is_array( $template ) ) {
+               if ( ( in_array( 'default', $template, true ) && ! $page_template )
+                       || in_array( $page_template, $template, true )
+               ) {
+                       return true;
+               }
+       }
+
        if ( 'default' == $template && ! $page_template )
                return true;
 
@@ -1657,7 +1722,7 @@ function wp_post_revision_title( $revision, $link = true ) {
                return false;
 
        /* translators: revision date format, see http://php.net/date */
-       $datef = _x( 'j F, Y @ G:i', 'revision date format');
+       $datef = _x( 'F j, Y @ H:i:s', 'revision date format' );
        /* translators: 1: date */
        $autosavef = _x( '%1$s [Autosave]', 'post revision title extra' );
        /* translators: 1: date */
@@ -1693,7 +1758,7 @@ function wp_post_revision_title_expanded( $revision, $link = true ) {
 
        $author = get_the_author_meta( 'display_name', $revision->post_author );
        /* translators: revision date format, see http://php.net/date */
-       $datef = _x( 'j F, Y @ G:i:s', 'revision date format');
+       $datef = _x( 'F j, Y @ H:i:s', 'revision date format' );
 
        $gravatar = get_avatar( $revision->post_author, 24 );
 
index 91201e79944069ea89b716cee9561c70493c94dd..f1d70364576e9873cec59003f3eeeead8f31cacb 100644 (file)
@@ -2,8 +2,8 @@
 /**
  * WordPress Post Thumbnail Template Functions.
  *
- * Support for post thumbnails
- * Themes function.php must call add_theme_support( 'post-thumbnails' ) to use these.
+ * Support for post thumbnails.
+ * Theme's functions.php must call add_theme_support( 'post-thumbnails' ) to use these.
  *
  * @package WordPress
  * @subpackage Template
@@ -35,12 +35,22 @@ function get_post_thumbnail_id( $post_id = null ) {
 }
 
 /**
- * Display Post Thumbnail.
+ * Display the post thumbnail.
+ *
+ * When a theme adds 'post-thumbnail' support, a special 'post-thumbnail' image size
+ * is registered, which differs from the 'thumbnail' image size managed via the
+ * Settings > Media screen.
+ *
+ * When using the_post_thumbnail() or related functions, the 'post-thumbnail' image
+ * size is used by default, though a different size can be specified instead as needed.
  *
  * @since 2.9.0
  *
- * @param string|array $size Optional. Image size. Defaults to 'post-thumbnail', which theme sets using set_post_thumbnail_size( $width, $height, $crop_flag );.
- * @param string|array $attr Optional. Query string or array of attributes.
+ * @see get_the_post_thumbnail()
+ *
+ * @param string|array $size Optional. Registered image size to use, or flat array of height
+ *                           and width values. Default 'post-thumbnail'.
+ * @param string|array $attr Optional. Query string or array of attributes. Default empty.
  */
 function the_post_thumbnail( $size = 'post-thumbnail', $attr = '' ) {
        echo get_the_post_thumbnail( null, $size, $attr );
@@ -74,13 +84,21 @@ function update_post_thumbnail_cache( $wp_query = null ) {
 }
 
 /**
- * Retrieve Post Thumbnail.
+ * Retrieve the post thumbnail.
+ *
+ * When a theme adds 'post-thumbnail' support, a special 'post-thumbnail' image size
+ * is registered, which differs from the 'thumbnail' image size managed via the
+ * Settings > Media screen.
+ *
+ * When using the_post_thumbnail() or related functions, the 'post-thumbnail' image
+ * size is used by default, though a different size can be specified instead as needed.
  *
  * @since 2.9.0
  *
- * @param int $post_id Optional. Post ID.
- * @param string $size Optional. Image size. Defaults to 'post-thumbnail'.
- * @param string|array $attr Optional. Query string or array of attributes.
+ * @param int $post_id       Post ID. Default is the ID of the `$post` global.
+ * @param string|array $size Optional. Registered image size to use, or flat array of height
+ *                           and width values. Default 'post-thumbnail'.
+ * @param string|array $attr Optional. Query string or array of attributes. Default empty.
  */
 function get_the_post_thumbnail( $post_id = null, $size = 'post-thumbnail', $attr = '' ) {
        $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
index c8963e6b2d9323694072ab2dabf0f532070500ee..7b6575366a8b9d764d909b4529a7ea14daf12fc9 100644 (file)
@@ -164,7 +164,6 @@ function create_initial_post_types() {
                'exclude_from_search' => false,
        ) );
 }
-add_action( 'init', 'create_initial_post_types', 0 ); // highest priority
 
 /**
  * Retrieve attached file path based on attachment ID.
@@ -304,10 +303,10 @@ function _wp_relative_upload_path( $path ) {
  * post types are 'post', 'pages', and 'attachments'. The 'post_status'
  * argument will accept any post status within the write administration panels.
  *
- * @internal Claims made in the long description might be inaccurate.
  * @since 2.0.0
  *
  * @see get_posts()
+ * @todo Check validity of description.
  *
  * @param mixed  $args   Optional. User defined arguments for replacing the defaults. Default empty.
  * @param string $output Optional. Constant for return type. Accepts OBJECT, ARRAY_A, ARRAY_N.
@@ -352,12 +351,16 @@ function get_children( $args = '', $output = OBJECT ) {
        if ( $output == OBJECT ) {
                return $kids;
        } elseif ( $output == ARRAY_A ) {
-               foreach ( (array) $kids as $kid )
+               $weeuns = array();
+               foreach ( (array) $kids as $kid ) {
                        $weeuns[$kid->ID] = get_object_vars($kids[$kid->ID]);
+               }
                return $weeuns;
        } elseif ( $output == ARRAY_N ) {
-               foreach ( (array) $kids as $kid )
+               $babes = array();
+               foreach ( (array) $kids as $kid ) {
                        $babes[$kid->ID] = array_values(get_object_vars($kids[$kid->ID]));
+               }
                return $babes;
        } else {
                return $kids;
@@ -412,13 +415,14 @@ function get_extended( $post ) {
  *                            Default OBJECT.
  * @param string      $filter Optional. Type of filter to apply. Accepts 'raw', 'edit', 'db',
  *                            or 'display'. Default 'raw'.
- * @return WP_Post|null WP_Post on success or null on failure.
+ * @return WP_Post|array|null Type corresponding to $output on success or null on failure.
+ *                            When $output is OBJECT, a `WP_Post` instance is returned.
  */
 function get_post( $post = null, $output = OBJECT, $filter = 'raw' ) {
        if ( empty( $post ) && isset( $GLOBALS['post'] ) )
                $post = $GLOBALS['post'];
 
-       if ( is_a( $post, 'WP_Post' ) ) {
+       if ( $post instanceof WP_Post ) {
                $_post = $post;
        } elseif ( is_object( $post ) ) {
                if ( empty( $post->filter ) ) {
@@ -451,6 +455,11 @@ function get_post( $post = null, $output = OBJECT, $filter = 'raw' ) {
  *
  * @since 3.5.0
  *
+ * @property-read array  $ancestors
+ * @property-read string $page_template
+ * @property-read int    $post_category
+ * @property-read string $tag_input
+ *
  */
 final class WP_Post {
 
@@ -1333,9 +1342,9 @@ function register_post_type( $post_type, $args = array() ) {
        $post_type = sanitize_key( $post_type );
        $args->name = $post_type;
 
-       if ( strlen( $post_type ) > 20 ) {
-               _doing_it_wrong( __FUNCTION__, __( 'Post types cannot exceed 20 characters in length' ), '4.0' );
-               return new WP_Error( 'post_type_too_long', __( 'Post types cannot exceed 20 characters in length' ) );
+       if ( empty( $post_type ) || strlen( $post_type ) > 20 ) {
+               _doing_it_wrong( __FUNCTION__, __( 'Post type names must be between 1 and 20 characters in length.' ), '4.2' );
+               return new WP_Error( 'post_type_length_invalid', __( 'Post type names must be between 1 and 20 characters in length.' ) );
        }
 
        // If not set, default to the setting for public.
@@ -1594,7 +1603,7 @@ function _post_type_meta_capabilities( $capabilities = null ) {
  * - singular_name - name for one object of this post type. Default is Post/Page
  * - add_new - Default is Add New for both hierarchical and non-hierarchical types.
  *             When internationalizing this string, please use a gettext context
- *             {@link http://codex.wordpress.org/I18n_for_WordPress_Developers#Disambiguation_by_context}
+ *             {@link https://codex.wordpress.org/I18n_for_WordPress_Developers#Disambiguation_by_context}
  *             matching your post type. Example: `_x( 'Add New', 'product' );`.
  * - add_new_item - Default is Add New Post/Add New Page.
  * - edit_item - Default is Edit Post/Edit Page.
@@ -1681,9 +1690,10 @@ function _get_custom_object_labels( $object, $nohier_vs_hier_defaults ) {
        if ( !isset( $object->labels['all_items'] ) && isset( $object->labels['menu_name'] ) )
                $object->labels['all_items'] = $object->labels['menu_name'];
 
-       foreach ( $nohier_vs_hier_defaults as $key => $value )
-                       $defaults[$key] = $object->hierarchical ? $value[1] : $value[0];
-
+       $defaults = array();
+       foreach ( $nohier_vs_hier_defaults as $key => $value ) {
+               $defaults[$key] = $object->hierarchical ? $value[1] : $value[0];
+       }
        $labels = array_merge( $defaults, $object->labels );
        return (object)$labels;
 }
@@ -1703,7 +1713,6 @@ function _add_post_type_submenus() {
                add_submenu_page( $ptype_obj->show_in_menu, $ptype_obj->labels->name, $ptype_obj->labels->all_items, $ptype_obj->cap->edit_posts, "edit.php?post_type=$ptype" );
        }
 }
-add_action( 'admin_menu', '_add_post_type_submenus' );
 
 /**
  * Register support of certain features for a post type.
@@ -2179,7 +2188,7 @@ function sanitize_post_field($field, $value, $post_id, $context) {
                } else {
                        $value = esc_attr($value);
                }
-       } else if ( 'db' == $context ) {
+       } elseif ( 'db' == $context ) {
                if ( $prefixed ) {
 
                        /**
@@ -2247,7 +2256,7 @@ function sanitize_post_field($field, $value, $post_id, $context) {
 
        if ( 'attribute' == $context )
                $value = esc_attr($value);
-       else if ( 'js' == $context )
+       elseif ( 'js' == $context )
                $value = esc_js($value);
 
        return $value;
@@ -2346,6 +2355,12 @@ function wp_count_posts( $type = 'post', $perm = '' ) {
 
        $cache_key = _count_posts_cache_key( $type, $perm );
 
+       $counts = wp_cache_get( $cache_key, 'counts' );
+       if ( false !== $counts ) {
+               /** This filter is documented in wp-includes/post.php */
+               return apply_filters( 'wp_count_posts', $counts, $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);
@@ -2357,18 +2372,16 @@ function wp_count_posts( $type = 'post', $perm = '' ) {
        }
        $query .= ' GROUP BY post_status';
 
-       $counts = wp_cache_get( $cache_key, 'counts' );
-       if ( false === $counts ) {
-               $results = (array) $wpdb->get_results( $wpdb->prepare( $query, $type ), ARRAY_A );
-               $counts = array_fill_keys( get_post_stati(), 0 );
-
-               foreach ( $results as $row )
-                       $counts[ $row['post_status'] ] = $row['num_posts'];
+       $results = (array) $wpdb->get_results( $wpdb->prepare( $query, $type ), ARRAY_A );
+       $counts = array_fill_keys( get_post_stati(), 0 );
 
-               $counts = (object) $counts;
-               wp_cache_set( $cache_key, $counts, 'counts' );
+       foreach ( $results as $row ) {
+               $counts[ $row['post_status'] ] = $row['num_posts'];
        }
 
+       $counts = (object) $counts;
+       wp_cache_set( $cache_key, $counts, 'counts' );
+
        /**
         * Modify returned post counts by status for the current post type.
         *
@@ -2473,11 +2486,14 @@ function wp_match_mime_types( $wildcard_mime_types, $real_mime_types ) {
        $wild = '[-._a-z0-9]*';
 
        foreach ( (array) $wildcard_mime_types as $type ) {
-               $regex = str_replace( '__wildcard__', $wild, preg_quote( str_replace( '*', '__wildcard__', $type ) ) );
-               $patternses[1][$type] = "^$regex$";
-               if ( false === strpos($type, '/') ) {
-                       $patternses[2][$type] = "^$regex/";
-                       $patternses[3][$type] = $regex;
+               $mimes = array_map( 'trim', explode( ',', $type ) );
+               foreach ( $mimes as $mime ) {
+                       $regex = str_replace( '__wildcard__', $wild, preg_quote( str_replace( '*', '__wildcard__', $mime ) ) );
+                       $patternses[][$type] = "^$regex$";
+                       if ( false === strpos( $mime, '/' ) ) {
+                               $patternses[][$type] = "^$regex/";
+                               $patternses[][$type] = $regex;
+                       }
                }
        }
        asort( $patternses );
@@ -2510,6 +2526,9 @@ function wp_post_mime_type_where( $post_mime_types, $table_alias = '' ) {
        $wildcards = array('', '%', '%/%');
        if ( is_string($post_mime_types) )
                $post_mime_types = array_map('trim', explode(',', $post_mime_types));
+
+       $wheres = array();
+
        foreach ( (array) $post_mime_types as $mime_type ) {
                $mime_type = preg_replace('/\s/', '', $mime_type);
                $slashpos = strpos($mime_type, '/');
@@ -2692,8 +2711,6 @@ function _reset_front_page_settings_for_post( $post_id ) {
        }
        unstick_post( $post->ID );
 }
-add_action( 'before_delete_post', '_reset_front_page_settings_for_post' );
-add_action( 'wp_trash_post',      '_reset_front_page_settings_for_post' );
 
 /**
  * Move a post or page to the Trash
@@ -3031,6 +3048,7 @@ function wp_get_recent_posts( $args = array(), $output = ARRAY_A ) {
  * setting the value for 'comment_status' key.
  *
  * @since 1.0.0
+ * @since 4.2.0 Support was added for encoding emoji in the post title, content, and excerpt.
  *
  * @see sanitize_post()
  * @global wpdb $wpdb WordPress database abstraction object.
@@ -3040,22 +3058,35 @@ function wp_get_recent_posts( $args = array(), $output = ARRAY_A ) {
  *
  *     @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 is
  *                                         the current user ID.
- *     @type bool   $ping_status           Whether the post can accept pings. Default is the
- *                                         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 $post_date             The date of the post. Default is the current time.
+ *     @type string $post_date_gmt         The date of the post in the GMT timezone. Default is
+ *                                         the value of `$post_date`.
+ *     @type mixed  $post_content          The post content. Default empty.
+ *     @type string $post_content_filtered The filtered post content. Default empty.
+ *     @type string $post_title            The post title. Default empty.
+ *     @type string $post_excerpt          The post excerpt. Default empty.
+ *     @type string $post_status           The post status. Default 'draft'.
+ *     @type string $post_type             The post type. Default 'post'.
+ *     @type string $comment_status        Whether the post can accept comments. Accepts 'open' or 'closed'.
+ *                                         Default is the value of 'default_comment_status' option.
+ *     @type string $ping_status           Whether the post can accept pings. Accepts 'open' or 'closed'.
+ *                                         Default is the value of 'default_ping_status' option.
+ *     @type string $post_password         The password to access the post. Default empty.
+ *     @type string $post_name             The post name. Default is the sanitized post title.
  *     @type string $to_ping               Space or carriage return-separated list of URLs to ping.
- *                                         Default empty string.
+ *                                         Default empty.
  *     @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.
+ *                                         been pinged. Default empty.
+ *     @type string $post_modified         The date when the post was last modified. Default is
+ *                                         the current time.
+ *     @type string $post_modified_gmt     The date when the post was last modified in the GMT
+ *                                         timezone. Default is the current time.
+ *     @type int    $post_parent           Set this for the post it belongs to, if any. Default 0.
+ *     @type int    $menu_order            The order the post should be displayed in. Default 0.
+ *     @type string $post_mime_type        The mime type of the post. Default empty.
+ *     @type string $guid                  Global Unique ID for referencing the post. Default empty.
  * }
  * @param bool  $wp_error Optional. Whether to allow return of WP_Error on failure. Default false.
  * @return int|WP_Error The post ID on success. The value 0 or WP_Error on failure.
@@ -3299,6 +3330,17 @@ function wp_insert_post( $postarr, $wp_error = false ) {
        // Expected_slashed (everything!).
        $data = compact( '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' );
 
+       $emoji_fields = array( 'post_title', 'post_content', 'post_excerpt' );
+
+       foreach( $emoji_fields as $emoji_field ) {
+               if ( isset( $data[ $emoji_field ] ) ) {
+                       $charset = $wpdb->get_col_charset( $wpdb->posts, $emoji_field );
+                       if ( 'utf8' === $charset ) {
+                               $data[ $emoji_field ] = wp_encode_emoji( $data[ $emoji_field ] );
+                       }
+               }
+       }
+
        if ( 'attachment' === $post_type ) {
                /**
                 * Filter attachment post data before it is updated in or added to the database.
@@ -3415,11 +3457,11 @@ function wp_insert_post( $postarr, $wp_error = false ) {
                if ( 'default' != $postarr['page_template'] && ! isset( $page_templates[ $postarr['page_template'] ] ) ) {
                        if ( $wp_error ) {
                                return new WP_Error('invalid_page_template', __('The page template is invalid.'));
-                       } else {
-                               return 0;
                        }
+                       update_post_meta( $post_ID, '_wp_page_template', 'default' );
+               } else {
+                       update_post_meta( $post_ID, '_wp_page_template', $postarr['page_template'] );
                }
-               update_post_meta( $post_ID, '_wp_page_template', $postarr['page_template'] );
        }
 
        if ( 'attachment' !== $postarr['post_type'] ) {
@@ -3892,7 +3934,7 @@ function wp_set_post_categories( $post_ID = 0, $post_categories = array(), $appe
                } else {
                        $post_categories = array();
                }
-       } else if ( 1 == count($post_categories) && '' == reset($post_categories) ) {
+       } elseif ( 1 == count( $post_categories ) && '' == reset( $post_categories ) ) {
                return true;
        }
 
@@ -3902,16 +3944,14 @@ function wp_set_post_categories( $post_ID = 0, $post_categories = array(), $appe
 /**
  * Transition the post status of a post.
  *
- * Calls hooks to transition post status.
+ * When a post is saved, the post status is "transitioned" from one status to another,
+ * though this does not always mean the status has actually changed before and after
+ * the save.
  *
- * The first is 'transition_post_status' with new status, old status, and post data.
- *
- * The next action called is 'OLDSTATUS_to_NEWSTATUS' the 'NEWSTATUS' is the
- * $new_status parameter and the 'OLDSTATUS' is $old_status parameter; it has the
- * post data.
- *
- * The final action is named 'NEWSTATUS_POSTTYPE', 'NEWSTATUS' is from the $new_status
- * parameter and POSTTYPE is post_type post data.
+ * For instance: When publishing a post for the first time, the post status may transition
+ * from 'draft' – or some other status – to 'publish'. However, if a post is already
+ * published and is simply being updated, the "old" and "new" statuses may both be 'publish'
+ * before and after the transition.
  *
  * @since 2.3.0
  *
@@ -3949,6 +3989,14 @@ function wp_transition_post_status( $new_status, $old_status, $post ) {
         * The dynamic portions of the hook name, `$new_status` and `$post->post_type`,
         * refer to the new post status and post type, respectively.
         *
+        * Please note: When this action is hooked using a particular post status (like
+        * 'publish', as `publish_{$post->post_type}`), it will fire both when a post is
+        * first transitioned to that status from something else, as well as upon
+        * subsequent post updates (old and new status are both the same).
+        *
+        * Therefore, if you are looking to only fire a callback when a post is first
+        * transitioned to a status, use the {@see 'transition_post_status'} hook instead.
+        *
         * @since 2.3.0
         *
         * @param int     $post_id Post ID.
@@ -4551,7 +4599,7 @@ function get_pages( $args = array() ) {
        }
 
        if ( 1 == count( $post_status ) ) {
-               $where_post_type = $wpdb->prepare( "post_type = %s AND post_status = %s", $r['post_type'], array_shift( $post_status ) );
+               $where_post_type = $wpdb->prepare( "post_type = %s AND post_status = %s", $r['post_type'], reset( $post_status ) );
        } else {
                $post_status = implode( "', '", $post_status );
                $where_post_type = $wpdb->prepare( "post_type = %s AND post_status IN ('$post_status')", $r['post_type'] );
@@ -4811,7 +4859,7 @@ function wp_delete_attachment( $post_id, $force_delete = false ) {
                // Don't delete the thumb if another attachment uses it.
                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", '%' . $wpdb->esc_like( $meta['thumb'] ) . '%', $post_id)) ) {
                        $thumbfile = str_replace(basename($file), $meta['thumb'], $file);
-                       /** This filter is documented in wp-admin/custom-header.php */
+                       /** This filter is documented in wp-includes/functions.php */
                        $thumbfile = apply_filters( 'wp_delete_file', $thumbfile );
                        @ unlink( path_join($uploadpath['basedir'], $thumbfile) );
                }
@@ -4821,7 +4869,7 @@ function wp_delete_attachment( $post_id, $force_delete = false ) {
        if ( isset( $meta['sizes'] ) && is_array( $meta['sizes'] ) ) {
                foreach ( $meta['sizes'] as $size => $sizeinfo ) {
                        $intermediate_file = str_replace( basename( $file ), $sizeinfo['file'], $file );
-                       /** This filter is documented in wp-admin/custom-header.php */
+                       /** This filter is documented in wp-includes/functions.php */
                        $intermediate_file = apply_filters( 'wp_delete_file', $intermediate_file );
                        @ unlink( path_join( $uploadpath['basedir'], $intermediate_file ) );
                }
@@ -4830,17 +4878,13 @@ function wp_delete_attachment( $post_id, $force_delete = false ) {
        if ( is_array($backup_sizes) ) {
                foreach ( $backup_sizes as $size ) {
                        $del_file = path_join( dirname($meta['file']), $size['file'] );
-                       /** This filter is documented in wp-admin/custom-header.php */
+                       /** This filter is documented in wp-includes/functions.php */
                        $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 );
-
-       if ( ! empty($file) )
-               @ unlink($file);
+       wp_delete_file( $file );
 
        clean_post_cache( $post );
 
@@ -4948,6 +4992,14 @@ function wp_get_attachment_url( $post_id = 0 ) {
                $url = get_the_guid( $post->ID );
        }
 
+       /*
+        * If currently on SSL, prefer HTTPS URLs when we know they're supported by the domain
+        * (which is to say, when they share the domain name of the current SSL page).
+        */
+       if ( is_ssl() && 'https' !== substr( $url, 0, 5 ) && parse_url( $url, PHP_URL_HOST ) === $_SERVER['HTTP_HOST'] ) {
+               $url = set_url_scheme( $url, 'https' );
+       }
+
        /**
         * Filter the attachment URL.
         *
@@ -5031,28 +5083,65 @@ function wp_get_attachment_thumb_url( $post_id = 0 ) {
 }
 
 /**
- * Check if the attachment is an image.
+ * Verifies an attachment is of a given type.
  *
- * @since 2.1.0
+ * @since 4.2.0
  *
- * @param int $post_id Optional. Attachment ID. Default 0.
- * @return bool Whether the attachment is an image.
+ * @param string      $type    Attachment type. Accepts 'image', 'audio', or 'video'.
+ * @param int|WP_Post $post_id Optional. Attachment ID. Default 0.
+ * @return bool True if one of the accepted types, false otherwise.
  */
-function wp_attachment_is_image( $post_id = 0 ) {
-       $post_id = (int) $post_id;
-       if ( !$post = get_post( $post_id ) )
+function wp_attachment_is( $type, $post_id = 0 ) {
+       if ( ! $post = get_post( $post_id ) ) {
                return false;
+       }
 
-       if ( !$file = get_attached_file( $post->ID ) )
+       if ( ! $file = get_attached_file( $post->ID ) ) {
                return false;
+       }
 
-       $ext = preg_match('/\.([^.]+)$/', $file, $matches) ? strtolower($matches[1]) : false;
+       if ( 0 === strpos( $post->post_mime_type, $type . '/' ) ) {
+               return true;
+       }
 
-       $image_exts = array( 'jpg', 'jpeg', 'jpe', 'gif', 'png' );
+       $check = wp_check_filetype( $file );
+       if ( empty( $check['ext'] ) ) {
+               return false;
+       }
 
-       if ( 'image/' == substr($post->post_mime_type, 0, 6) || $ext && 'import' == $post->post_mime_type && in_array($ext, $image_exts) )
-               return true;
-       return false;
+       $ext = $check['ext'];
+
+       if ( 'import' !== $post->post_mime_type ) {
+               return $type === $ext;
+       }
+
+       switch ( $type ) {
+       case 'image':
+               $image_exts = array( 'jpg', 'jpeg', 'jpe', 'gif', 'png' );
+               return in_array( $ext, $image_exts );
+
+       case 'audio':
+               return in_array( $ext, wp_get_audio_extensions() );
+
+       case 'video':
+               return in_array( $ext, wp_get_video_extensions() );
+
+       default:
+               return $type === $ext;
+       }
+}
+
+/**
+ * Checks if the attachment is an image.
+ *
+ * @since 2.1.0
+ * @since 4.2.0 Modified into wrapper for wp_attachment_is()
+ *
+ * @param int|WP_Post $post Optional. Attachment ID. Default 0.
+ * @return bool Whether the attachment is an image.
+ */
+function wp_attachment_is_image( $post = 0 ) {
+       return wp_attachment_is( 'image', $post );
 }
 
 /**
@@ -5140,6 +5229,7 @@ function wp_mime_type_icon( $mime = 0 ) {
                        wp_cache_add( 'icon_files', $icon_files, 'default', 600 );
                }
 
+               $types = array();
                // Icon basename - extension = MIME wildcard.
                foreach ( $icon_files as $file => $uri )
                        $types[ preg_replace('/^([^.]*).*$/', '$1', basename($file)) ] =& $icon_files[$file];
@@ -5269,35 +5359,34 @@ function get_posts_by_author_sql( $post_type, $full = true, $post_author = null,
                $cap = $post_type_obj->cap->read_private_posts;
        }
 
-       if ( $full ) {
-               if ( null === $post_author ) {
-                       $sql = $wpdb->prepare( 'WHERE post_type = %s AND ', $post_type );
-               } else {
-                       $sql = $wpdb->prepare( 'WHERE post_author = %d AND post_type = %s AND ', $post_author, $post_type );
-               }
-       } else {
-               $sql = '';
-       }
+       $sql = $wpdb->prepare( 'post_type = %s', $post_type );
 
-       $sql .= "(post_status = 'publish'";
+       if ( null !== $post_author ) {
+               $sql .= $wpdb->prepare( ' AND post_author = %d', $post_author );
+       }
 
        // Only need to check the cap if $public_only is false.
+       $post_status_sql = "post_status = 'publish'";
        if ( false === $public_only ) {
                if ( current_user_can( $cap ) ) {
                        // Does the user have the capability to view private posts? Guess so.
-                       $sql .= " OR post_status = 'private'";
+                       $post_status_sql .= " OR post_status = 'private'";
                } elseif ( is_user_logged_in() ) {
                        // Users can view their own private posts.
                        $id = get_current_user_id();
                        if ( null === $post_author || ! $full ) {
-                               $sql .= " OR post_status = 'private' AND post_author = $id";
+                               $post_status_sql .= " OR post_status = 'private' AND post_author = $id";
                        } elseif ( $id == (int) $post_author ) {
-                               $sql .= " OR post_status = 'private'";
+                               $post_status_sql .= " OR post_status = 'private'";
                        } // else none
                } // else none
        }
 
-       $sql .= ')';
+       $sql .= " AND ($post_status_sql)";
+
+       if ( $full ) {
+               $sql = 'WHERE ' . $sql;
+       }
 
        return $sql;
 }
@@ -5513,9 +5602,11 @@ function update_post_caches( &$posts, $post_type = 'post', $update_term_cache =
                if ( is_array($post_type) ) {
                        $ptypes = $post_type;
                } elseif ( 'any' == $post_type ) {
+                       $ptypes = array();
                        // Just use the post_types in the supplied posts.
-                       foreach ( $posts as $post )
+                       foreach ( $posts as $post ) {
                                $ptypes[] = $post->post_type;
+                       }
                        $ptypes = array_unique($ptypes);
                } else {
                        $ptypes = array($post_type);
index cfb1e772a2fb85470dee10b5db0e63f4ca15bacb..6cfdd2ee5d1f6f46cf5ec0401fbc2d23890da844 100644 (file)
@@ -5,7 +5,7 @@
  * The query API attempts to get which part of WordPress the user is on. It
  * also provides functionality for getting URL query information.
  *
- * @link http://codex.wordpress.org/The_Loop More information on The Loop.
+ * @link https://codex.wordpress.org/The_Loop More information on The Loop.
  *
  * @package WordPress
  * @subpackage Query
@@ -722,7 +722,7 @@ function is_404() {
 function is_main_query() {
        if ( 'pre_get_posts' === current_filter() ) {
                $message = sprintf( __( 'In <code>%1$s</code>, use the <code>%2$s</code> method, not the <code>%3$s</code> function. See %4$s.' ),
-                       'pre_get_posts', 'WP_Query::is_main_query()', 'is_main_query()', __( 'http://codex.wordpress.org/Function_Reference/is_main_query' ) );
+                       'pre_get_posts', 'WP_Query::is_main_query()', 'is_main_query()', __( 'https://codex.wordpress.org/Function_Reference/is_main_query' ) );
                _doing_it_wrong( __FUNCTION__, $message, '3.7' );
        }
 
@@ -830,7 +830,7 @@ function the_comment() {
 /**
  * The WordPress Query class.
  *
- * @link http://codex.wordpress.org/Function_Reference/WP_Query Codex page.
+ * @link https://codex.wordpress.org/Function_Reference/WP_Query Codex page.
  *
  * @since 1.5.0
  */
@@ -1271,6 +1271,7 @@ class WP_Query {
         *
         * @since 3.1.0
         * @access private
+        * @var bool|string
         */
        private $query_vars_hash = false;
 
@@ -1300,6 +1301,10 @@ class WP_Query {
         */
        private $stopwords;
 
+       private $compat_fields = array( 'query_vars_hash', 'query_vars_changed' );
+
+       private $compat_methods = array( 'init_query_flags', 'parse_tax_query' );
+
        /**
         * Resets query flags to false.
         *
@@ -1445,6 +1450,8 @@ class WP_Query {
         * Parse a query string and set query type booleans.
         *
         * @since 1.5.0
+        * @since 4.2.0 Introduced the ability to order by specific clauses of a `$meta_query`, by passing the clause's
+        *              array key to `$orderby`.
         * @access public
         *
         * @param string|array $query {
@@ -1472,7 +1479,7 @@ class WP_Query {
         *                                                 or array of fields. 'id=>parent' uses 'id' and 'post_parent'.
         *                                                 Default all fields. Accepts 'ids', 'id=>parent'.
         *     @type int          $hour                    Hour of the day. Default empty. Accepts numbers 0-23.
-        *     @type bool         $ignore_sticky_posts     Whether to ignore sticky posts or not. Setting this to false
+        *     @type int|bool     $ignore_sticky_posts     Whether to ignore sticky posts or not. Setting this to false
         *                                                 excludes stickies from 'post__in'. Accepts 1|true, 0|false.
         *                                                 Default 0|false.
         *     @type int          $m                       Combination YearMonth. Accepts any four-digit year and month
@@ -1492,11 +1499,14 @@ class WP_Query {
         *     @type int          $offset                  The number of posts to offset before retrieval.
         *     @type string       $order                   Designates ascending or descending order of posts. Default 'DESC'.
         *                                                 Accepts 'ASC', 'DESC'.
-        *     @type string       $orderby                 Sort retrieved posts by parameter. One or more options can be
+        *     @type string|array $orderby                 Sort retrieved posts by parameter. One or more options may be
         *                                                 passed. To use 'meta_value', or 'meta_value_num',
-        *                                                 'meta_key=keyname' must be also be defined. Default 'date'.
-        *                                                 Accepts 'none', 'name', 'author', 'date', 'title', 'modified',
-        *                                                 'menu_order', 'parent', 'ID', 'rand', 'comment_count'.
+        *                                                 'meta_key=keyname' must be also be defined. To sort by a
+        *                                                 specific `$meta_query` clause, use that clause's array key.
+        *                                                 Default 'date'. Accepts 'none', 'name', 'author', 'date',
+        *                                                 'title', 'modified', 'menu_order', 'parent', 'ID', 'rand',
+        *                                                 'comment_count', 'meta_value', 'meta_value_num', and the
+        *                                                 array keys of `$meta_query`.
         *     @type int          $p                       Post ID.
         *     @type int          $page                    Show the number of posts that would show up on page X of a
         *                                                 static front page.
@@ -1654,9 +1664,9 @@ class WP_Query {
                                $this->is_date = true;
                                if ( strlen($qv['m']) > 9 ) {
                                        $this->is_time = true;
-                               } else if ( strlen($qv['m']) > 7 ) {
+                               } elseif ( strlen( $qv['m'] ) > 7 ) {
                                        $this->is_day = true;
-                               } else if ( strlen($qv['m']) > 5 ) {
+                               } elseif ( strlen( $qv['m'] ) > 5 ) {
                                        $this->is_month = true;
                                } else {
                                        $this->is_year = true;
@@ -1827,7 +1837,7 @@ class WP_Query {
         *
         * @param array &$q The query variables
         */
-       function parse_tax_query( &$q ) {
+       public function parse_tax_query( &$q ) {
                if ( ! empty( $q['tax_query'] ) && is_array( $q['tax_query'] ) ) {
                        $tax_query = $q['tax_query'];
                } else {
@@ -1956,7 +1966,7 @@ class WP_Query {
                                        $tag = sanitize_term_field('slug', $tag, 0, 'post_tag', 'db');
                                        $q['tag_slug__in'][] = $tag;
                                }
-                       } else if ( preg_match('/[+\r\n\t ]+/', $q['tag']) || !empty($q['cat']) ) {
+                       } elseif ( preg_match('/[+\r\n\t ]+/', $q['tag'] ) || ! empty( $q['cat'] ) ) {
                                $tags = preg_split('/[+\r\n\t ]+/', $q['tag']);
                                foreach ( (array) $tags as $tag ) {
                                        $tag = sanitize_term_field('slug', $tag, 0, 'post_tag', 'db');
@@ -2228,8 +2238,9 @@ class WP_Query {
 
                $primary_meta_key = '';
                $primary_meta_query = false;
-               if ( ! empty( $this->meta_query->queries ) ) {
-                       $primary_meta_query = reset( $this->meta_query->queries );
+               $meta_clauses = $this->meta_query->get_clauses();
+               if ( ! empty( $meta_clauses ) ) {
+                       $primary_meta_query = reset( $meta_clauses );
 
                        if ( ! empty( $primary_meta_query['key'] ) ) {
                                $primary_meta_key = $primary_meta_query['key'];
@@ -2238,6 +2249,7 @@ class WP_Query {
 
                        $allowed_keys[] = 'meta_value';
                        $allowed_keys[] = 'meta_value_num';
+                       $allowed_keys   = array_merge( $allowed_keys, array_keys( $meta_clauses ) );
                }
 
                if ( ! in_array( $orderby, $allowed_keys ) ) {
@@ -2255,29 +2267,36 @@ class WP_Query {
                        case 'ID':
                        case 'menu_order':
                        case 'comment_count':
-                               $orderby = "$wpdb->posts.{$orderby}";
+                               $orderby_clause = "$wpdb->posts.{$orderby}";
                                break;
                        case 'rand':
-                               $orderby = 'RAND()';
+                               $orderby_clause = 'RAND()';
                                break;
                        case $primary_meta_key:
                        case 'meta_value':
                                if ( ! empty( $primary_meta_query['type'] ) ) {
-                                       $sql_type = $this->meta_query->get_cast_for_type( $primary_meta_query['type'] );
-                                       $orderby = "CAST($wpdb->postmeta.meta_value AS {$sql_type})";
+                                       $orderby_clause = "CAST({$primary_meta_query['alias']}.meta_value AS {$primary_meta_query['cast']})";
                                } else {
-                                       $orderby = "$wpdb->postmeta.meta_value";
+                                       $orderby_clause = "{$primary_meta_query['alias']}.meta_value";
                                }
                                break;
                        case 'meta_value_num':
-                               $orderby = "$wpdb->postmeta.meta_value+0";
+                               $orderby_clause = "{$primary_meta_query['alias']}.meta_value+0";
                                break;
                        default:
-                               $orderby = "$wpdb->posts.post_" . $orderby;
+                               if ( array_key_exists( $orderby, $meta_clauses ) ) {
+                                       // $orderby corresponds to a meta_query clause.
+                                       $meta_clause = $meta_clauses[ $orderby ];
+                                       $orderby_clause = "CAST({$meta_clause['alias']}.meta_value AS {$meta_clause['cast']})";
+                               } else {
+                                       // Default: order by post field.
+                                       $orderby_clause = "$wpdb->posts.post_" . sanitize_key( $orderby );
+                               }
+
                                break;
                }
 
-               return $orderby;
+               return $orderby_clause;
        }
 
        /**
@@ -2467,7 +2486,7 @@ class WP_Query {
                $q['posts_per_page'] = (int) $q['posts_per_page'];
                if ( $q['posts_per_page'] < -1 )
                        $q['posts_per_page'] = abs($q['posts_per_page']);
-               else if ( $q['posts_per_page'] == 0 )
+               elseif ( $q['posts_per_page'] == 0 )
                        $q['posts_per_page'] = 1;
 
                if ( !isset($q['comments_per_page']) || $q['comments_per_page'] == 0 )
@@ -2808,6 +2827,12 @@ class WP_Query {
 
                $where .= $search . $whichauthor . $whichmimetype;
 
+               if ( ! empty( $this->meta_query->queries ) ) {
+                       $clauses = $this->meta_query->get_sql( 'post', $wpdb->posts, 'ID', $this );
+                       $join   .= $clauses['join'];
+                       $where  .= $clauses['where'];
+               }
+
                $rand = ( isset( $q['orderby'] ) && 'rand' === $q['orderby'] );
                if ( ! isset( $q['order'] ) ) {
                        $q['order'] = $rand ? '' : 'DESC';
@@ -2943,6 +2968,7 @@ class WP_Query {
 
                $user_id = get_current_user_id();
 
+               $q_status = array();
                if ( ! empty( $q['post_status'] ) ) {
                        $statuswheres = array();
                        $q_status = $q['post_status'];
@@ -3025,12 +3051,6 @@ class WP_Query {
                        $where .= ')';
                }
 
-               if ( !empty( $this->meta_query->queries ) ) {
-                       $clauses = $this->meta_query->get_sql( 'post', $wpdb->posts, 'ID', $this );
-                       $join .= $clauses['join'];
-                       $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.
@@ -3406,10 +3426,11 @@ class WP_Query {
 
                if ( 'ids' == $q['fields'] ) {
                        $this->posts = $wpdb->get_col( $this->request );
+                       $this->posts = array_map( 'intval', $this->posts );
                        $this->post_count = count( $this->posts );
                        $this->set_found_posts( $q, $limits );
 
-                       return array_map( 'intval', $this->posts );
+                       return $this->posts;
                }
 
                if ( 'id=>parent' == $q['fields'] ) {
@@ -3418,9 +3439,13 @@ class WP_Query {
                        $this->set_found_posts( $q, $limits );
 
                        $r = array();
-                       foreach ( $this->posts as $post ) {
+                       foreach ( $this->posts as $key => $post ) {
+                               $this->posts[ $key ]->ID = (int) $post->ID;
+                               $this->posts[ $key ]->post_parent = (int) $post->post_parent;
+
                                $r[ (int) $post->ID ] = (int) $post->post_parent;
                        }
+
                        return $r;
                }
 
@@ -3513,7 +3538,10 @@ class WP_Query {
                        $status = get_post_status($this->posts[0]);
                        $post_status_obj = get_post_status_object($status);
                        //$type = get_post_type($this->posts[0]);
-                       if ( !$post_status_obj->public ) {
+
+                       // If the post_status was specifically requested, let it pass through.
+                       if ( !$post_status_obj->public && ! in_array( $status, $q_status ) ) {
+
                                if ( ! is_user_logged_in() ) {
                                        // User must be logged in to view unpublished posts.
                                        $this->posts = array();
@@ -3872,15 +3900,17 @@ class WP_Query {
                                // For other tax queries, grab the first term from the first clause.
                                $tax_query_in_and = wp_list_filter( $this->tax_query->queried_terms, array( 'operator' => 'NOT IN' ), 'NOT' );
 
-                               $queried_taxonomies = array_keys( $tax_query_in_and );
-                               $matched_taxonomy = reset( $queried_taxonomies );
-                               $query = $tax_query_in_and[ $matched_taxonomy ];
+                               if ( ! empty( $tax_query_in_and ) ) {
+                                       $queried_taxonomies = array_keys( $tax_query_in_and );
+                                       $matched_taxonomy = reset( $queried_taxonomies );
+                                       $query = $tax_query_in_and[ $matched_taxonomy ];
 
-                               if ( $query['terms'] ) {
-                                       if ( 'term_id' == $query['field'] ) {
-                                               $term = get_term( reset( $query['terms'] ), $matched_taxonomy );
-                                       } else {
-                                               $term = get_term_by( $query['field'], reset( $query['terms'] ), $matched_taxonomy );
+                                       if ( $query['terms'] ) {
+                                               if ( 'term_id' == $query['field'] ) {
+                                                       $term = get_term( reset( $query['terms'] ), $matched_taxonomy );
+                                               } else {
+                                                       $term = get_term_by( $query['field'], reset( $query['terms'] ), $matched_taxonomy );
+                                               }
                                        }
                                }
                        }
@@ -3938,8 +3968,7 @@ class WP_Query {
         * @since 1.5.0
         * @access public
         *
-        * @param string $query URL query string.
-        * @return WP_Query
+        * @param string|array $query URL query string or array of vars.
         */
        public function __construct($query = '') {
                if ( ! empty($query) ) {
@@ -3957,11 +3986,13 @@ class WP_Query {
         * @return mixed Property.
         */
        public function __get( $name ) {
-               return $this->$name;
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       return $this->$name;
+               }
        }
 
        /**
-        * Make private properties settable for backwards compatibility.
+        * Make private properties checkable for backwards compatibility.
         *
         * @since 4.0.0
         * @access public
@@ -3970,19 +4001,9 @@ class WP_Query {
         * @return bool Whether the property is set.
         */
        public function __isset( $name ) {
-               return isset( $this->$name );
-       }
-
-       /**
-        * Make private properties settable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param string $name Property to unset.
-        */
-       public function __unset( $name ) {
-               unset( $this->$name );
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       return isset( $this->$name );
+               }
        }
 
        /**
@@ -3993,10 +4014,13 @@ class WP_Query {
         *
         * @param callable $name      Method to call.
         * @param array    $arguments Arguments to pass when calling.
-        * @return mixed|bool Return value of the callback, otherwise false.
+        * @return mixed|bool Return value of the callback, false otherwise.
         */
        public function __call( $name, $arguments ) {
-               return call_user_func_array( array( $this, $name ), $arguments );
+               if ( in_array( $name, $this->compat_methods ) ) {
+                       return call_user_func_array( array( $this, $name ), $arguments );
+               }
+               return false;
        }
 
        /**
@@ -4053,7 +4077,7 @@ class WP_Query {
 
                $post_obj = $this->get_queried_object();
 
-               if ( in_array( $post_obj->ID, $attachment ) ) {
+               if ( in_array( (string) $post_obj->ID, $attachment ) ) {
                        return true;
                } elseif ( in_array( $post_obj->post_title, $attachment ) ) {
                        return true;
@@ -4085,7 +4109,7 @@ class WP_Query {
 
                $author = (array) $author;
 
-               if ( in_array( $author_obj->ID, $author ) )
+               if ( in_array( (string) $author_obj->ID, $author ) )
                        return true;
                elseif ( in_array( $author_obj->nickname, $author ) )
                        return true;
@@ -4117,7 +4141,7 @@ class WP_Query {
 
                $category = (array) $category;
 
-               if ( in_array( $cat_obj->term_id, $category ) )
+               if ( in_array( (string) $cat_obj->term_id, $category ) )
                        return true;
                elseif ( in_array( $cat_obj->name, $category ) )
                        return true;
@@ -4149,7 +4173,7 @@ class WP_Query {
 
                $tag = (array) $tag;
 
-               if ( in_array( $tag_obj->term_id, $tag ) )
+               if ( in_array( (string) $tag_obj->term_id, $tag ) )
                        return true;
                elseif ( in_array( $tag_obj->name, $tag ) )
                        return true;
@@ -4172,7 +4196,7 @@ class WP_Query {
         * @since 3.1.0
         *
         * @param mixed $taxonomy Optional. Taxonomy slug or slugs.
-        * @param mixed $term. Optional. Term ID, name, slug or array of Term IDs, names, and slugs.
+        * @param mixed $term     Optional. Term ID, name, slug or array of Term IDs, names, and slugs.
         * @return bool
         */
        public function is_tax( $taxonomy = '', $term = '' ) {
@@ -4346,11 +4370,11 @@ class WP_Query {
 
                $page = (array) $page;
 
-               if ( in_array( $page_obj->ID, $page ) ) {
+               if ( in_array( (string) $page_obj->ID, $page ) ) {
                        return true;
                } elseif ( in_array( $page_obj->post_title, $page ) ) {
                        return true;
-               } else if ( in_array( $page_obj->post_name, $page ) ) {
+               } elseif ( in_array( $page_obj->post_name, $page ) ) {
                        return true;
                } else {
                        foreach ( $page as $pagepath ) {
@@ -4439,7 +4463,7 @@ class WP_Query {
 
                $post = (array) $post;
 
-               if ( in_array( $post_obj->ID, $post ) ) {
+               if ( in_array( (string) $post_obj->ID, $post ) ) {
                        return true;
                } elseif ( in_array( $post_obj->post_title, $post ) ) {
                        return true;
@@ -4568,7 +4592,7 @@ class WP_Query {
                 */
                if ( $post->ID === get_queried_object_id() && ( $this->is_page() || $this->is_single() ) ) {
                        $more = 1;
-               } else if ( $this->is_feed() ) {
+               } elseif ( $this->is_feed() ) {
                        $more = 1;
                } else {
                        $more = 0;
@@ -4649,7 +4673,7 @@ function wp_old_slug_redirect() {
                if ( is_array( $post_type ) ) {
                        if ( count( $post_type ) > 1 )
                                return;
-                       $post_type = array_shift( $post_type );
+                       $post_type = reset( $post_type );
                }
 
                // Do not attempt redirect for hierarchical post types
index 9bc167f08f4b630aeb98fa733b91f58fc367850a..45d28cea97a072773e0c25cf08299b67068bcbf2 100644 (file)
@@ -420,19 +420,17 @@ class WP_Rewrite {
         * Permalink structure for posts.
         *
         * @since 1.5.0
-        * @access private
         * @var string
         */
-       var $permalink_structure;
+       public $permalink_structure;
 
        /**
         * Whether to add trailing slashes.
         *
         * @since 2.2.0
-        * @access private
         * @var bool
         */
-       var $use_trailing_slashes;
+       public $use_trailing_slashes;
 
        /**
         * Base for the author permalink structure (example.com/$author_base/authorname).
@@ -501,10 +499,18 @@ class WP_Rewrite {
         * Pagination permalink base.
         *
         * @since 3.1.0
+        * @var string
+        */
+       public $pagination_base = 'page';
+
+       /**
+        * Comments pagination permalink base.
+        *
+        * @since 4.2.0
         * @access private
         * @var string
         */
-       var $pagination_base = 'page';
+       var $comments_pagination_base = 'comment-page';
 
        /**
         * Feed permalink base.
@@ -522,7 +528,7 @@ class WP_Rewrite {
         * @access private
         * @var string
         */
-       var $comments_feed_structure;
+       var $comment_feed_structure;
 
        /**
         * Feed request permalink structure.
@@ -542,10 +548,9 @@ class WP_Rewrite {
         *
         * @see WP_Rewrite::init()
         * @since 1.5.0
-        * @access private
         * @var string
         */
-       var $front;
+       public $front;
 
        /**
         * The prefix for all permalink structures.
@@ -557,10 +562,9 @@ class WP_Rewrite {
         * @see WP_Rewrite::init()
         * @see WP_Rewrite::using_index_permalinks()
         * @since 1.5.0
-        * @access private
         * @var string
         */
-       var $root = '';
+       public $root = '';
 
        /**
         * The name of the index file which is the entry point to all requests.
@@ -746,10 +750,9 @@ class WP_Rewrite {
         * Supported default feeds.
         *
         * @since 1.5.0
-        * @access private
         * @var array
         */
-       var $feeds = array( 'feed', 'rdf', 'rss', 'rss2', 'atom' );
+       public $feeds = array( 'feed', 'rdf', 'rss', 'rss2', 'atom' );
 
        /**
         * Whether permalinks are being used.
@@ -1262,7 +1265,7 @@ class WP_Rewrite {
                //build a regex to match the trackback and page/xx parts of URLs
                $trackbackregex = 'trackback/?$';
                $pageregex = $this->pagination_base . '/?([0-9]{1,})/?$';
-               $commentregex = 'comment-page-([0-9]{1,})/?$';
+               $commentregex = $this->comments_pagination_base . '-([0-9]{1,})/?$';
 
                //build up an array of endpoint regexes to append => queries to append
                if ( $endpoints ) {
@@ -1288,6 +1291,7 @@ class WP_Rewrite {
                $trackbackindex = $index;
                //build a list from the rewritecode and queryreplace arrays, that will look something like
                //tagname=$matches[i] where i is the current $i
+               $queries = array();
                for ( $i = 0; $i < $num_tokens; ++$i ) {
                        if ( 0 < $i )
                                $queries[$i] = $queries[$i - 1] . '&';
@@ -1328,7 +1332,7 @@ class WP_Rewrite {
                        $num_toks = preg_match_all('/%.+?%/', $struct, $toks);
 
                        //get the 'tagname=$matches[i]'
-                       $query = ( isset($queries) && is_array($queries) && !empty($num_toks) ) ? $queries[$num_toks - 1] : '';
+                       $query = ( ! empty( $num_toks ) && isset( $queries[$num_toks - 1] ) ) ? $queries[$num_toks - 1] : '';
 
                        //set up $ep_mask_specific which is used to match more specific URL types
                        switch ( $dirs[$j] ) {
@@ -1381,11 +1385,11 @@ class WP_Rewrite {
                                $rewrite = array_merge($rewrite, array($pagematch => $pagequery));
 
                        //only on pages with comments add ../comment-page-xx/
-                       if ( EP_PAGES & $ep_mask || EP_PERMALINK & $ep_mask )
+                       if ( EP_PAGES & $ep_mask || EP_PERMALINK & $ep_mask ) {
                                $rewrite = array_merge($rewrite, array($commentmatch => $commentquery));
-                       else if ( EP_ROOT & $ep_mask && get_option('page_on_front') )
+                       } elseif ( EP_ROOT & $ep_mask && get_option('page_on_front') ) {
                                $rewrite = array_merge($rewrite, array($rootcommentmatch => $rootcommentquery));
-
+                       }
                        //do endpoints
                        if ( $endpoints ) {
                                foreach ( (array) $ep_query_append as $regex => $ep) {
@@ -2040,7 +2044,21 @@ class WP_Rewrite {
         * @access public
         * @param bool $hard Whether to update .htaccess (hard flush) or just update rewrite_rules option (soft flush). Default is true (hard).
         */
-       public function flush_rules($hard = true) {
+       public function flush_rules( $hard = true ) {
+               static $do_hard_later;
+
+               // Prevent this action from running before everyone has registered their rewrites
+               if ( ! did_action( 'wp_loaded' ) ) {
+                       add_action( 'wp_loaded', array( $this, 'flush_rules' ) );
+                       $do_hard_later = ( isset( $do_hard_later ) ) ? $do_hard_later || $hard : $hard;
+                       return;
+               }
+
+               if ( isset( $do_hard_later ) ) {
+                       $hard = $do_hard_later;
+                       unset( $do_hard_later );
+               }
+
                delete_option('rewrite_rules');
                $this->wp_rewrite_rules();
                /**
@@ -2170,7 +2188,6 @@ class WP_Rewrite {
         * @since 1.5.0
         * @access public
         *
-        * @return WP_Rewrite
         */
        public function __construct() {
                $this->init();
index e9f6dee6bdb100351e566fe97779bac3a5dc8ed5..81c158ac5d1ff505cec4f5809e3a6250656117c3 100644 (file)
@@ -79,9 +79,12 @@ function wp_default_scripts( &$scripts ) {
 
        $scripts->add( 'common', "/wp-admin/js/common$suffix.js", array('jquery', 'hoverIntent', 'utils'), false, 1 );
        did_action( 'init' ) && $scripts->localize( 'common', 'commonL10n', array(
-               'warnDelete' => __("You are about to permanently delete the selected items.\n  'Cancel' to stop, 'OK' to delete.")
+               'warnDelete' => __( "You are about to permanently delete the selected items.\n  'Cancel' to stop, 'OK' to delete." ),
+               'dismiss'    => __( 'Dismiss this notice.' ),
        ) );
 
+       $scripts->add( 'wp-a11y', "/wp-includes/js/wp-a11y$suffix.js", array( 'jquery' ), false, 1 );
+
        $scripts->add( 'sack', "/wp-includes/js/tw-sack$suffix.js", array(), '1.6.1', 1 );
 
        $scripts->add( 'quicktags', "/wp-includes/js/quicktags$suffix.js", array(), false, 1 );
@@ -161,50 +164,50 @@ 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.11.1' );
-       $scripts->add( 'jquery-core', '/wp-includes/js/jquery/jquery.js', array(), '1.11.1' );
+       $scripts->add( 'jquery', false, array( 'jquery-core', 'jquery-migrate' ), '1.11.2' );
+       $scripts->add( 'jquery-core', '/wp-includes/js/jquery/jquery.js', array(), '1.11.2' );
        $scripts->add( 'jquery-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/core$dev_suffix.js", array('jquery'), '1.11.2', 1 );
-       $scripts->add( 'jquery-effects-core', "/wp-includes/js/jquery/ui/effect$dev_suffix.js", array('jquery'), '1.11.2', 1 );
-
-       $scripts->add( 'jquery-effects-blind', "/wp-includes/js/jquery/ui/effect-blind$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
-       $scripts->add( 'jquery-effects-bounce', "/wp-includes/js/jquery/ui/effect-bounce$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
-       $scripts->add( 'jquery-effects-clip', "/wp-includes/js/jquery/ui/effect-clip$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
-       $scripts->add( 'jquery-effects-drop', "/wp-includes/js/jquery/ui/effect-drop$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
-       $scripts->add( 'jquery-effects-explode', "/wp-includes/js/jquery/ui/effect-explode$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
-       $scripts->add( 'jquery-effects-fade', "/wp-includes/js/jquery/ui/effect-fade$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
-       $scripts->add( 'jquery-effects-fold', "/wp-includes/js/jquery/ui/effect-fold$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
-       $scripts->add( 'jquery-effects-highlight', "/wp-includes/js/jquery/ui/effect-highlight$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
-       $scripts->add( 'jquery-effects-puff', "/wp-includes/js/jquery/ui/effect-puff$dev_suffix.js", array('jquery-effects-core', 'jquery-effects-scale'), '1.11.2', 1 );
-       $scripts->add( 'jquery-effects-pulsate', "/wp-includes/js/jquery/ui/effect-pulsate$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
-       $scripts->add( 'jquery-effects-scale', "/wp-includes/js/jquery/ui/effect-scale$dev_suffix.js", array('jquery-effects-core', 'jquery-effects-size'), '1.11.2', 1 );
-       $scripts->add( 'jquery-effects-shake', "/wp-includes/js/jquery/ui/effect-shake$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
-       $scripts->add( 'jquery-effects-size', "/wp-includes/js/jquery/ui/effect-size$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
-       $scripts->add( 'jquery-effects-slide', "/wp-includes/js/jquery/ui/effect-slide$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
-       $scripts->add( 'jquery-effects-transfer', "/wp-includes/js/jquery/ui/effect-transfer$dev_suffix.js", array('jquery-effects-core'), '1.11.2', 1 );
-
-       $scripts->add( 'jquery-ui-accordion', "/wp-includes/js/jquery/ui/accordion$dev_suffix.js", array('jquery-ui-core', 'jquery-ui-widget'), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-autocomplete', "/wp-includes/js/jquery/ui/autocomplete$dev_suffix.js", array('jquery-ui-menu'), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-button', "/wp-includes/js/jquery/ui/button$dev_suffix.js", array('jquery-ui-core', 'jquery-ui-widget'), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-datepicker', "/wp-includes/js/jquery/ui/datepicker$dev_suffix.js", array('jquery-ui-core'), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-dialog', "/wp-includes/js/jquery/ui/dialog$dev_suffix.js", array('jquery-ui-resizable', 'jquery-ui-draggable', 'jquery-ui-button', 'jquery-ui-position'), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-draggable', "/wp-includes/js/jquery/ui/draggable$dev_suffix.js", array('jquery-ui-mouse'), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-droppable', "/wp-includes/js/jquery/ui/droppable$dev_suffix.js", array('jquery-ui-draggable'), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-menu', "/wp-includes/js/jquery/ui/menu$dev_suffix.js", array( 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-position' ), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-mouse', "/wp-includes/js/jquery/ui/mouse$dev_suffix.js", array( 'jquery-ui-core', 'jquery-ui-widget' ), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-position', "/wp-includes/js/jquery/ui/position$dev_suffix.js", array('jquery'), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-progressbar', "/wp-includes/js/jquery/ui/progressbar$dev_suffix.js", array('jquery-ui-widget'), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-resizable', "/wp-includes/js/jquery/ui/resizable$dev_suffix.js", array('jquery-ui-mouse'), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-selectable', "/wp-includes/js/jquery/ui/selectable$dev_suffix.js", array('jquery-ui-mouse'), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-selectmenu', "/wp-includes/js/jquery/ui/selectmenu$dev_suffix.js", array('jquery-ui-menu'), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-slider', "/wp-includes/js/jquery/ui/slider$dev_suffix.js", array('jquery-ui-mouse'), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-sortable', "/wp-includes/js/jquery/ui/sortable$dev_suffix.js", array('jquery-ui-mouse'), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-spinner', "/wp-includes/js/jquery/ui/spinner$dev_suffix.js", array( 'jquery-ui-button' ), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-tabs', "/wp-includes/js/jquery/ui/tabs$dev_suffix.js", array('jquery-ui-core', 'jquery-ui-widget'), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-tooltip', "/wp-includes/js/jquery/ui/tooltip$dev_suffix.js", array( 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-position' ), '1.11.2', 1 );
-       $scripts->add( 'jquery-ui-widget', "/wp-includes/js/jquery/ui/widget$dev_suffix.js", array('jquery'), '1.11.2', 1 );
+       $scripts->add( 'jquery-ui-core', "/wp-includes/js/jquery/ui/core$dev_suffix.js", array('jquery'), '1.11.4', 1 );
+       $scripts->add( 'jquery-effects-core', "/wp-includes/js/jquery/ui/effect$dev_suffix.js", array('jquery'), '1.11.4', 1 );
+
+       $scripts->add( 'jquery-effects-blind', "/wp-includes/js/jquery/ui/effect-blind$dev_suffix.js", array('jquery-effects-core'), '1.11.4', 1 );
+       $scripts->add( 'jquery-effects-bounce', "/wp-includes/js/jquery/ui/effect-bounce$dev_suffix.js", array('jquery-effects-core'), '1.11.4', 1 );
+       $scripts->add( 'jquery-effects-clip', "/wp-includes/js/jquery/ui/effect-clip$dev_suffix.js", array('jquery-effects-core'), '1.11.4', 1 );
+       $scripts->add( 'jquery-effects-drop', "/wp-includes/js/jquery/ui/effect-drop$dev_suffix.js", array('jquery-effects-core'), '1.11.4', 1 );
+       $scripts->add( 'jquery-effects-explode', "/wp-includes/js/jquery/ui/effect-explode$dev_suffix.js", array('jquery-effects-core'), '1.11.4', 1 );
+       $scripts->add( 'jquery-effects-fade', "/wp-includes/js/jquery/ui/effect-fade$dev_suffix.js", array('jquery-effects-core'), '1.11.4', 1 );
+       $scripts->add( 'jquery-effects-fold', "/wp-includes/js/jquery/ui/effect-fold$dev_suffix.js", array('jquery-effects-core'), '1.11.4', 1 );
+       $scripts->add( 'jquery-effects-highlight', "/wp-includes/js/jquery/ui/effect-highlight$dev_suffix.js", array('jquery-effects-core'), '1.11.4', 1 );
+       $scripts->add( 'jquery-effects-puff', "/wp-includes/js/jquery/ui/effect-puff$dev_suffix.js", array('jquery-effects-core', 'jquery-effects-scale'), '1.11.4', 1 );
+       $scripts->add( 'jquery-effects-pulsate', "/wp-includes/js/jquery/ui/effect-pulsate$dev_suffix.js", array('jquery-effects-core'), '1.11.4', 1 );
+       $scripts->add( 'jquery-effects-scale', "/wp-includes/js/jquery/ui/effect-scale$dev_suffix.js", array('jquery-effects-core', 'jquery-effects-size'), '1.11.4', 1 );
+       $scripts->add( 'jquery-effects-shake', "/wp-includes/js/jquery/ui/effect-shake$dev_suffix.js", array('jquery-effects-core'), '1.11.4', 1 );
+       $scripts->add( 'jquery-effects-size', "/wp-includes/js/jquery/ui/effect-size$dev_suffix.js", array('jquery-effects-core'), '1.11.4', 1 );
+       $scripts->add( 'jquery-effects-slide', "/wp-includes/js/jquery/ui/effect-slide$dev_suffix.js", array('jquery-effects-core'), '1.11.4', 1 );
+       $scripts->add( 'jquery-effects-transfer', "/wp-includes/js/jquery/ui/effect-transfer$dev_suffix.js", array('jquery-effects-core'), '1.11.4', 1 );
+
+       $scripts->add( 'jquery-ui-accordion', "/wp-includes/js/jquery/ui/accordion$dev_suffix.js", array('jquery-ui-core', 'jquery-ui-widget'), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-autocomplete', "/wp-includes/js/jquery/ui/autocomplete$dev_suffix.js", array('jquery-ui-menu'), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-button', "/wp-includes/js/jquery/ui/button$dev_suffix.js", array('jquery-ui-core', 'jquery-ui-widget'), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-datepicker', "/wp-includes/js/jquery/ui/datepicker$dev_suffix.js", array('jquery-ui-core'), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-dialog', "/wp-includes/js/jquery/ui/dialog$dev_suffix.js", array('jquery-ui-resizable', 'jquery-ui-draggable', 'jquery-ui-button', 'jquery-ui-position'), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-draggable', "/wp-includes/js/jquery/ui/draggable$dev_suffix.js", array('jquery-ui-mouse'), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-droppable', "/wp-includes/js/jquery/ui/droppable$dev_suffix.js", array('jquery-ui-draggable'), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-menu', "/wp-includes/js/jquery/ui/menu$dev_suffix.js", array( 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-position' ), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-mouse', "/wp-includes/js/jquery/ui/mouse$dev_suffix.js", array( 'jquery-ui-core', 'jquery-ui-widget' ), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-position', "/wp-includes/js/jquery/ui/position$dev_suffix.js", array('jquery'), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-progressbar', "/wp-includes/js/jquery/ui/progressbar$dev_suffix.js", array('jquery-ui-core', 'jquery-ui-widget'), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-resizable', "/wp-includes/js/jquery/ui/resizable$dev_suffix.js", array('jquery-ui-mouse'), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-selectable', "/wp-includes/js/jquery/ui/selectable$dev_suffix.js", array('jquery-ui-mouse'), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-selectmenu', "/wp-includes/js/jquery/ui/selectmenu$dev_suffix.js", array('jquery-ui-menu'), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-slider', "/wp-includes/js/jquery/ui/slider$dev_suffix.js", array('jquery-ui-mouse'), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-sortable', "/wp-includes/js/jquery/ui/sortable$dev_suffix.js", array('jquery-ui-mouse'), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-spinner', "/wp-includes/js/jquery/ui/spinner$dev_suffix.js", array( 'jquery-ui-button' ), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-tabs', "/wp-includes/js/jquery/ui/tabs$dev_suffix.js", array('jquery-ui-core', 'jquery-ui-widget'), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-tooltip', "/wp-includes/js/jquery/ui/tooltip$dev_suffix.js", array( 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-position' ), '1.11.4', 1 );
+       $scripts->add( 'jquery-ui-widget', "/wp-includes/js/jquery/ui/widget$dev_suffix.js", array('jquery'), '1.11.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 );
@@ -288,7 +291,8 @@ function wp_default_scripts( &$scripts ) {
 
        $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( 'json2', "/wp-includes/js/json2$suffix.js", array(), '2011-02-23' );
+       did_action( 'init' ) && $scripts->add_data( 'json2', 'conditional', 'lt IE 8' );
 
        $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 );
@@ -306,7 +310,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.15.1', 1 );
+       $scripts->add( 'mediaelement', "/wp-includes/js/mediaelement/mediaelement-and-player.min.js", array('jquery'), '2.16.2', 1 );
        did_action( 'init' ) && $scripts->localize( 'mediaelement', 'mejsL10n', array(
                'language' => get_bloginfo( 'language' ),
                'strings'  => array(
@@ -331,6 +335,7 @@ function wp_default_scripts( &$scripts ) {
                'pluginPath' => includes_url( 'js/mediaelement/', 'relative' ),
        ) );
 
+       $scripts->add( 'froogaloop',  "/wp-includes/js/mediaelement/froogaloop.min.js", array(), '2.0' );
        $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' );
@@ -376,22 +381,24 @@ function wp_default_scripts( &$scripts ) {
 
        $scripts->add( 'media-upload', "/wp-admin/js/media-upload$suffix.js", array( 'thickbox', 'shortcode' ), false, 1 );
 
-       $scripts->add( 'hoverIntent', "/wp-includes/js/hoverIntent$suffix.js", array('jquery'), 'r7', 1 );
+       $scripts->add( 'hoverIntent', "/wp-includes/js/hoverIntent$suffix.js", array('jquery'), '1.8.1', 1 );
 
-       $scripts->add( 'customize-base',     "/wp-includes/js/customize-base$suffix.js",     array( 'jquery', 'json2', 'underscore' ), false, 1 );
+       $scripts->add( 'customize-base',     "/wp-includes/js/customize-base$suffix.js",     array( 'jquery', 'json2', 'underscore', 'wp-a11y' ), 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' ),
-               'save'      => __( 'Save &amp; Publish' ),
-               'saveAlert' => __( 'The changes you made will be lost if you navigate away from this page.' ),
-               'saved'     => __( 'Saved' ),
-               'cancel'    => __( 'Cancel' ),
-               'close'     => __( 'Close' ),
-               'cheatin'   => __( 'Cheatin&#8217; uh?' ),
+               'activate'           => __( 'Save &amp; Activate' ),
+               'save'               => __( 'Save &amp; Publish' ),
+               'saveAlert'          => __( 'The changes you made will be lost if you navigate away from this page.' ),
+               'saved'              => __( 'Saved' ),
+               'cancel'             => __( 'Cancel' ),
+               'close'              => __( 'Close' ),
+               'cheatin'            => __( 'Cheatin&#8217; uh?' ),
+               'previewIframeTitle' => __( 'Site Preview' ),
+               'loginIframeTitle'   => __( 'Session expired' ),
 
                // Used for overriding the file types allowed in plupload.
                'allowedFiles' => __( 'Allowed Files' ),
@@ -419,7 +426,7 @@ function wp_default_scripts( &$scripts ) {
        $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 );
+               $scripts->add( 'admin-tags', "/wp-admin/js/tags$suffix.js", array( 'jquery', 'wp-ajax-response' ), false, 1 );
                did_action( 'init' ) && $scripts->localize( 'admin-tags', 'tagsl10n', array(
                        'noPerm' => __('You do not have permission to do that.'),
                        'broken' => __('An unidentified error has occurred.')
@@ -437,7 +444,12 @@ function wp_default_scripts( &$scripts ) {
 
                $scripts->add( 'postbox', "/wp-admin/js/postbox$suffix.js", array('jquery-ui-sortable'), false, 1 );
 
-               $scripts->add( 'post', "/wp-admin/js/post$suffix.js", array('suggest', 'wp-lists', 'postbox'), false, 1 );
+               $scripts->add( 'tags-box', "/wp-admin/js/tags-box$suffix.js", array( 'jquery', 'suggest' ), false, 1 );
+               did_action( 'init' ) && $scripts->localize( 'tags-box', 'tagsBoxL10n', array(
+                       'tagDelimiter' => _x( ',', 'tag delimiter' ),
+               ) );
+
+               $scripts->add( 'post', "/wp-admin/js/post$suffix.js", array( 'suggest', 'wp-lists', 'postbox', 'tags-box' ), false, 1 );
                did_action( 'init' ) && $scripts->localize( 'post', 'postL10n', array(
                        'ok' => __('OK'),
                        'cancel' => __('Cancel'),
@@ -459,11 +471,21 @@ function wp_default_scripts( &$scripts ) {
                        'password' => __('Password Protected'),
                        '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( 'press-this', "/wp-admin/js/press-this$suffix.js", array( 'jquery', 'tags-box' ), false, 1 );
+               did_action( 'init' ) && $scripts->localize( 'press-this', 'pressThisL10n', array(
+                       'newPost' => __( 'Title' ),
+                       'serverError' => __( 'Connection lost or the server is busy. Please try again later.' ),
+                       'saveAlert' => __( 'The changes you made will be lost if you navigate away from this page.' ),
+                       /* translators: %d: nth embed found in a post */
+                       'suggestedEmbedAlt' => __( 'Suggested embed #%d' ),
+                       /* translators: %d: nth image found in a post */
+                       'suggestedImgAlt' => __( 'Suggested image #%d' ),
+               ) );
+
                $scripts->add( 'editor-expand', "/wp-admin/js/editor-expand$suffix.js", array( 'jquery' ), false, 1 );
 
                $scripts->add( 'link', "/wp-admin/js/link$suffix.js", array( 'wp-lists', 'postbox' ), false, 1 );
@@ -478,7 +500,7 @@ 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', "/wp-admin/js/theme$suffix.js", array( 'wp-backbone', 'wp-a11y' ), false, 1 );
 
                $scripts->add( 'inline-edit-post', "/wp-admin/js/inline-edit-post$suffix.js", array( 'jquery', 'suggest' ), false, 1 );
                did_action( 'init' ) && $scripts->localize( 'inline-edit-post', 'inlineEditL10n', array(
@@ -499,7 +521,28 @@ 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( 'updates', "/wp-admin/js/updates$suffix.js", array( 'jquery', 'wp-util', 'wp-a11y' ) );
+               did_action( 'init' ) && $scripts->localize( 'updates', '_wpUpdatesSettings', array(
+                       'ajax_nonce' => wp_create_nonce( 'updates' ),
+                       'l10n'       => array(
+                               'updating'          => __( 'Updating...' ),
+                               'updated'           => __( 'Updated!' ),
+                               'updateFailed'      => __( 'Update Failed' ),
+                               /* translators: Plugin name and version */
+                               'updatingLabel'     => __( 'Updating %s...' ),
+                               /* translators: Plugin name and version */
+                               'updatedLabel'      => __( '%s updated!' ),
+                               /* translators: Plugin name and version */
+                               'updateFailedLabel' => __( '%s update failed' ),
+                               /* translators: JavaScript accessible string */
+                               'updatingMsg'       => __( 'Updating... please wait.' ),
+                               /* translators: JavaScript accessible string */
+                               'updatedMsg'        => __( 'Update completed successfully.' ),
+                               /* translators: JavaScript accessible string */
+                               'updateCancel'      => __( 'Update canceled.' ),
+                               'beforeunload'      => __( 'Plugin updates may not complete if you navigate away from this page.' ),
+                       )
+               ) );
 
                $scripts->add( 'farbtastic', '/wp-admin/js/farbtastic.js', array('jquery'), '1.2' );
 
@@ -619,8 +662,9 @@ function wp_default_styles( &$styles ) {
        $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" );
+       $styles->add( 'press-this',         "/wp-admin/css/press-this$suffix.css", array( 'open-sans', 'buttons' ) );
 
+       $styles->add( 'ie',                 "/wp-admin/css/ie$suffix.css" );
        $styles->add_data( 'ie', 'conditional', 'lte IE 7' );
 
        // Common dependencies
@@ -638,7 +682,7 @@ function wp_default_styles( &$styles ) {
        // 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.15.1' );
+       $styles->add( 'mediaelement',        "/wp-includes/js/mediaelement/mediaelementplayer.min.css", array(), '2.16.2' );
        $styles->add( 'wp-mediaelement',     "/wp-includes/js/mediaelement/wp-mediaelement.css", array( 'mediaelement' ) );
        $styles->add( 'thickbox',            '/wp-includes/js/thickbox/thickbox.css', array( 'dashicons' ) );
 
@@ -651,7 +695,7 @@ function wp_default_styles( &$styles ) {
        // RTL CSS
        $rtl_styles = array(
                // wp-admin
-               'wp-admin', 'install', 'wp-color-picker', 'customize-controls', 'customize-widgets', 'ie', 'login',
+               'wp-admin', 'install', 'wp-color-picker', 'customize-controls', 'customize-widgets', 'ie', 'login', 'press-this',
                // wp-includes
                'buttons', 'admin-bar', 'wp-auth-check', 'editor-buttons', 'media-views', 'wp-pointer',
                'wp-jquery-ui-dialog',
@@ -777,8 +821,9 @@ function print_head_scripts() {
                do_action( 'wp_print_scripts' );
        }
 
-       if ( !is_a($wp_scripts, 'WP_Scripts') )
+       if ( ! ( $wp_scripts instanceof WP_Scripts ) ) {
                $wp_scripts = new WP_Scripts();
+       }
 
        script_concat_settings();
        $wp_scripts->do_concat = $concatenate_scripts;
@@ -807,9 +852,9 @@ function print_head_scripts() {
 function print_footer_scripts() {
        global $wp_scripts, $concatenate_scripts;
 
-       if ( !is_a($wp_scripts, 'WP_Scripts') )
+       if ( ! ( $wp_scripts instanceof WP_Scripts ) ) {
                return array(); // No need to run if not instantiated.
-
+       }
        script_concat_settings();
        $wp_scripts->do_concat = $concatenate_scripts;
        $wp_scripts->do_footer_items();
@@ -830,7 +875,9 @@ function print_footer_scripts() {
 }
 
 /**
- * @internal use
+ * Print scripts (internal use only)
+ *
+ * @ignore
  */
 function _print_scripts() {
        global $wp_scripts, $compress_scripts;
@@ -876,9 +923,9 @@ function wp_print_head_scripts() {
 
        global $wp_scripts;
 
-       if ( !is_a($wp_scripts, 'WP_Scripts') )
+       if ( ! ( $wp_scripts instanceof WP_Scripts ) ) {
                return array(); // no need to run if nothing is queued
-
+       }
        return print_head_scripts();
 }
 
@@ -931,8 +978,9 @@ function wp_enqueue_scripts() {
 function print_admin_styles() {
        global $wp_styles, $concatenate_scripts;
 
-       if ( !is_a($wp_styles, 'WP_Styles') )
+       if ( ! ( $wp_styles instanceof WP_Styles ) ) {
                $wp_styles = new WP_Styles();
+       }
 
        script_concat_settings();
        $wp_styles->do_concat = $concatenate_scripts;
@@ -961,8 +1009,9 @@ function print_admin_styles() {
 function print_late_styles() {
        global $wp_styles, $concatenate_scripts;
 
-       if ( !is_a($wp_styles, 'WP_Styles') )
+       if ( ! ( $wp_styles instanceof WP_Styles ) ) {
                return;
+       }
 
        $wp_styles->do_concat = $concatenate_scripts;
        $wp_styles->do_footer_items();
@@ -983,7 +1032,9 @@ function print_late_styles() {
 }
 
 /**
- * @internal use
+ * Print styles (internal use only)
+ *
+ * @ignore
  */
 function _print_styles() {
        global $wp_styles, $compress_css;
@@ -1037,10 +1088,3 @@ function script_concat_settings() {
                        $compress_css = false;
        }
 }
-
-add_action( 'wp_default_scripts', 'wp_default_scripts' );
-add_filter( 'wp_print_scripts', 'wp_just_in_time_script_localization' );
-add_filter( 'print_scripts_array', 'wp_prototype_before_jquery' );
-
-add_action( 'wp_default_styles', 'wp_default_styles' );
-add_filter( 'style_loader_src', 'wp_style_loader_src', 10, 2 );
index 9b93d41dc5a5ee67635a4ff8576879f94f9663e5..1d7c5d01a12483e5e534011d0a496b866e7ea7b9 100644 (file)
@@ -434,6 +434,6 @@ class WP_User_Meta_Session_Tokens extends WP_Session_Tokens {
         * @static
         */
        public static function drop_sessions() {
-               delete_metadata( 'user', false, 'session_tokens', false, true );
+               delete_metadata( 'user', 0, 'session_tokens', false, true );
        }
 }
index 99eec774dcd8ecd677577499516ea0025a40956e..e3c267a4bb24bc0dc41be937c0437180f7c7d316 100644 (file)
@@ -23,7 +23,7 @@
  *
  *     $out = do_shortcode( $content );
  *
- * @link http://codex.wordpress.org/Shortcode_API
+ * @link https://codex.wordpress.org/Shortcode_API
  *
  * @package WordPress
  * @subpackage Shortcodes
@@ -100,7 +100,7 @@ function add_shortcode($tag, $func) {
  *
  * @uses $shortcode_tags
  *
- * @param string $tag shortcode tag to remove hook for.
+ * @param string $tag Shortcode tag to remove hook for.
  */
 function remove_shortcode($tag) {
        global $shortcode_tags;
@@ -130,9 +130,10 @@ function remove_all_shortcodes() {
  *
  * @since 3.6.0
  *
- * @global array $shortcode_tags
- * @param string $tag
- * @return boolean
+ * @global array $shortcode_tags List of shortcode tags and their callback hooks.
+ *
+ * @param string $tag Shortcode tag to check.
+ * @return bool Whether the given shortcode exists.
  */
 function shortcode_exists( $tag ) {
        global $shortcode_tags;
@@ -145,8 +146,10 @@ function shortcode_exists( $tag ) {
  * @since 3.6.0
  *
  * @global array $shortcode_tags
- * @param string $tag
- * @return boolean
+ *
+ * @param string $content Content to search for shortcodes.
+ * @param string $tag     Shortcode tag to check.
+ * @return bool Whether the passed content contains the given shortcode.
  */
 function has_shortcode( $content, $tag ) {
        if ( false === strpos( $content, '[' ) ) {
@@ -178,9 +181,9 @@ function has_shortcode( $content, $tag ) {
  *
  * @since 2.5.0
  *
- * @uses $shortcode_tags
+ * @global array $shortcode_tags List of shortcode tags and their callback hooks.
  *
- * @param string $content Content to search for shortcodes
+ * @param string $content Content to search for shortcodes.
  * @return string Content with shortcodes filtered out.
  */
 function do_shortcode($content) {
@@ -311,7 +314,7 @@ function shortcode_parse_atts($text) {
                                $atts[strtolower($m[3])] = stripcslashes($m[4]);
                        elseif (!empty($m[5]))
                                $atts[strtolower($m[5])] = stripcslashes($m[6]);
-                       elseif (isset($m[7]) and strlen($m[7]))
+                       elseif (isset($m[7]) && strlen($m[7]))
                                $atts[] = stripcslashes($m[7]);
                        elseif (isset($m[8]))
                                $atts[] = stripcslashes($m[8]);
@@ -399,5 +402,3 @@ function strip_shortcode_tag( $m ) {
 
        return $m[1] . $m[6];
 }
-
-add_filter('the_content', 'do_shortcode', 11); // AFTER wpautop()
index 40a22f297049de1c32c3f6af5b4bc5c6bc16212c..cce486786b3f96030dee795bd112a72f762d02f4 100644 (file)
@@ -127,7 +127,6 @@ function create_initial_taxonomies() {
                'show_in_nav_menus' => current_theme_supports( 'post-formats' ),
        ) );
 }
-add_action( 'init', 'create_initial_taxonomies', 0 ); // highest priority
 
 /**
  * Get a list of registered taxonomy objects.
@@ -283,6 +282,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_in_quick_edit - Whether to show the taxonomy in the quick/bulk edit panel.
+ *     * It 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.
@@ -309,8 +310,10 @@ function is_taxonomy_hierarchical($taxonomy) {
  * - _builtin - true if this taxonomy is a native or "built-in" taxonomy. THIS IS FOR INTERNAL USE ONLY!
  *
  * @since 2.3.0
- * @uses $wp_taxonomies Inserts new taxonomy object into the list
- * @uses $wp Adds query vars
+ * @since 4.2.0 Introduced `show_in_quick_edit` argument.
+ *
+ * @global array $wp_taxonomies Registered taxonomies.
+ * @global WP    $wp            WP instance.
  *
  * @param string $taxonomy Taxonomy key, must not exceed 32 characters.
  * @param array|string $object_type Name of the object type for the taxonomy object.
@@ -332,6 +335,7 @@ function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
                'show_in_menu'          => null,
                'show_in_nav_menus'     => null,
                'show_tagcloud'         => null,
+               'show_in_quick_edit'    => null,
                'show_admin_column'     => false,
                'meta_box_cb'           => null,
                'capabilities'          => array(),
@@ -342,9 +346,9 @@ function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
        );
        $args = wp_parse_args( $args, $defaults );
 
-       if ( strlen( $taxonomy ) > 32 ) {
-               _doing_it_wrong( __FUNCTION__, __( 'Taxonomies cannot exceed 32 characters in length' ), '4.0' );
-               return new WP_Error( 'taxonomy_too_long', __( 'Taxonomies cannot exceed 32 characters in length' ) );
+       if ( empty( $taxonomy ) || strlen( $taxonomy ) > 32 ) {
+               _doing_it_wrong( __FUNCTION__, __( 'Taxonomy names must be between 1 and 32 characters in length.' ), '4.2' );
+               return new WP_Error( 'taxonomy_length_invalid', __( 'Taxonomy names must be between 1 and 32 characters in length.' ) );
        }
 
        if ( false !== $args['query_var'] && ! empty( $wp ) ) {
@@ -390,6 +394,11 @@ function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
        if ( null === $args['show_tagcloud'] )
                $args['show_tagcloud'] = $args['show_ui'];
 
+       // If not set, default to the setting for show_ui.
+       if ( null === $args['show_in_quick_edit'] ) {
+               $args['show_in_quick_edit'] = $args['show_ui'];
+       }
+
        $default_caps = array(
                'manage_terms' => 'manage_categories',
                'edit_terms'   => 'manage_categories',
@@ -450,7 +459,7 @@ function register_taxonomy( $taxonomy, $object_type, $args = array() ) {
  * - separate_items_with_commas - This string isn't used on hierarchical taxonomies. Default is "Separate tags with commas", used in the meta box.
  * - add_or_remove_items - This string isn't used on hierarchical taxonomies. Default is "Add or remove tags", used in the meta box when JavaScript is disabled.
  * - choose_from_most_used - This string isn't used on hierarchical taxonomies. Default is "Choose from the most used tags", used in the meta box.
- * - not_found - This string isn't used on hierarchical taxonomies. Default is "No tags found", used in the meta box.
+ * - not_found - Default is "No tags found"/"No categories found", used in the meta box and taxonomy list table.
  *
  * Above, the first default value is for non-hierarchical taxonomies (like tags) and the second one is for hierarchical taxonomies (like categories).
  *
@@ -484,7 +493,7 @@ function get_taxonomy_labels( $tax ) {
                'separate_items_with_commas' => array( __( 'Separate tags with commas' ), null ),
                'add_or_remove_items' => array( __( 'Add or remove tags' ), null ),
                'choose_from_most_used' => array( __( 'Choose from the most used tags' ), null ),
-               'not_found' => array( __( 'No tags found.' ), null ),
+               'not_found' => array( __( 'No tags found.' ), __( 'No categories found.' ) ),
        );
        $nohier_vs_hier_defaults['menu_name'] = $nohier_vs_hier_defaults['name'];
 
@@ -765,7 +774,7 @@ class WP_Tax_Query {
                                $cleaned_query['relation'] = $this->sanitize_relation( $query );
 
                        // First-order clause.
-                       } else if ( self::is_first_order_clause( $query ) ) {
+                       } elseif ( self::is_first_order_clause( $query ) ) {
 
                                $cleaned_clause = array_merge( $defaults, $query );
                                $cleaned_clause['terms'] = (array) $cleaned_clause['terms'];
@@ -795,7 +804,7 @@ class WP_Tax_Query {
                                }
 
                        // Otherwise, it's a nested query, so we recurse.
-                       } else if ( is_array( $query ) ) {
+                       } elseif ( is_array( $query ) ) {
                                $cleaned_subquery = $this->sanitize_query( $query );
 
                                if ( ! empty( $cleaned_subquery ) ) {
@@ -939,7 +948,7 @@ class WP_Tax_Query {
                foreach ( $query as $key => &$clause ) {
                        if ( 'relation' === $key ) {
                                $relation = $query['relation'];
-                       } else if ( is_array( $clause ) ) {
+                       } elseif ( is_array( $clause ) ) {
 
                                // This is a first-order clause.
                                if ( $this->is_first_order_clause( $clause ) ) {
@@ -948,7 +957,7 @@ class WP_Tax_Query {
                                        $where_count = count( $clause_sql['where'] );
                                        if ( ! $where_count ) {
                                                $sql_chunks['where'][] = '';
-                                       } else if ( 1 === $where_count ) {
+                                       } elseif ( 1 === $where_count ) {
                                                $sql_chunks['where'][] = $clause_sql['where'][0];
                                        } else {
                                                $sql_chunks['where'][] = '( ' . implode( ' AND ', $clause_sql['where'] ) . ' )';
@@ -1218,7 +1227,17 @@ class WP_Tax_Query {
                switch ( $query['field'] ) {
                        case 'slug':
                        case 'name':
-                               $terms = "'" . implode( "','", array_map( 'sanitize_title_for_query', $query['terms'] ) ) . "'";
+                               foreach ( $query['terms'] as &$term ) {
+                                       /*
+                                        * 0 is the $term_id parameter. We don't have a term ID yet, but it doesn't
+                                        * matter because `sanitize_term_field()` ignores the $term_id param when the
+                                        * context is 'db'.
+                                        */
+                                       $term = "'" . esc_sql( sanitize_term_field( $query['field'], $term, 0, $query['taxonomy'], 'db' ) ) . "'";
+                               }
+
+                               $terms = implode( ",", $query['terms'] );
+
                                $terms = $wpdb->get_col( "
                                        SELECT $wpdb->term_taxonomy.$resulting_field
                                        FROM $wpdb->term_taxonomy
@@ -1393,11 +1412,11 @@ function get_term_by($field, $value, $taxonomy, $output = OBJECT, $filter = 'raw
                $value = sanitize_title($value);
                if ( empty($value) )
                        return false;
-       } else if ( 'name' == $field ) {
+       } elseif ( 'name' == $field ) {
                // Assume already escaped
                $value = wp_unslash($value);
                $field = 't.name';
-       } else if ( 'term_taxonomy_id' == $field ) {
+       } elseif ( 'term_taxonomy_id' == $field ) {
                $value = (int) $value;
                $field = 'tt.term_taxonomy_id';
        } else {
@@ -1544,10 +1563,8 @@ function get_term_to_edit( $id, $taxonomy ) {
  * The 'get_terms_orderby' filter passes the ORDER BY clause for the query
  * along with the $args array.
  *
- * The 'get_terms_fields' filter passes the fields for the SELECT query
- * along with the $args array.
- *
  * @since 2.3.0
+ * @since 4.2.0 Introduced 'name' and 'childless' parameters.
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
@@ -1555,11 +1572,11 @@ function get_term_to_edit( $id, $taxonomy ) {
  * @param array|string $args {
  *     Optional. Array or string of arguments to get terms.
  *
- *     @type string   $orderby               Field(s) to order terms by. Accepts term fields ('name', 'slug',
- *                                           'term_group', 'term_id', 'id'), 'count' for term taxonomy count,
- *                                           'include' to match the 'order' of the $include param, or 'none'
- *                                           to skip ORDER BY. Defaults to 'name'.
- *     @type string   $order                 Whether to order terms in ascending or descending order.
+ *     @type string       $orderby           Field(s) to order terms by. Accepts term fields ('name', 'slug',
+ *                                           'term_group', 'term_id', 'id', 'description'), 'count' for term
+ *                                           taxonomy count, 'include' to match the 'order' of the $include param,
+ *                                           or 'none' to skip ORDER BY. Defaults to 'name'.
+ *     @type string       $order             Whether to order terms in ascending or descending order.
  *                                           Accepts 'ASC' (ascending) or 'DESC' (descending).
  *                                           Default 'ASC'.
  *     @type bool|int     $hide_empty        Whether to hide terms not assigned to any posts. Accepts
@@ -1572,12 +1589,13 @@ function get_term_to_edit( $id, $taxonomy ) {
  *     @type array|string $exclude_tree      Array or comma/space-separated string of term ids to exclude
  *                                           along with all of their descendant terms. If $include is
  *                                           non-empty, $exclude_tree is ignored. Default empty array.
- *     @type int          $number            Maximum number of terms to return. Accepts 1+ or -1 (all).
- *                                           Default -1.
+ *     @type int|string   $number            Maximum number of terms to return. Accepts ''|0 (all) or any
+ *                                           positive number. Default ''|0 (all).
  *     @type int          $offset            The number by which to offset the terms query. Default empty.
  *     @type string       $fields            Term fields to query for. Accepts 'all' (returns an array of
  *                                           term objects), 'ids' or 'names' (returns an array of integers
  *                                           or strings, respectively. Default 'all'.
+ *     @type string|array $name              Optional. Name or array of names to return term(s) for. Default empty.
  *     @type string|array $slug              Optional. Slug or array of slugs to return term(s) for. Default empty.
  *     @type bool         $hierarchical      Whether to include terms that have non-empty descendants (even
  *                                           if $hide_empty is set to true). Default true.
@@ -1594,6 +1612,8 @@ function get_term_to_edit( $id, $taxonomy ) {
  *     @type int          $child_of          Term ID to retrieve child terms of. If multiple taxonomies
  *                                           are passed, $child_of is ignored. Default 0.
  *     @type int|string   $parent            Parent term ID to retrieve direct-child terms of. Default empty.
+ *     @type bool         $childless         True to limit results to terms that have no children. This parameter has
+ *                                           no effect on non-hierarchical taxonomies. Default false.
  *     @type string       $cache_domain      Unique cache key to be produced when this query is stored in an
  *                                           object cache. Default is 'core'.
  * }
@@ -1618,7 +1638,7 @@ function get_terms( $taxonomies, $args = '' ) {
 
        $defaults = array('orderby' => 'name', 'order' => 'ASC',
                'hide_empty' => true, 'exclude' => array(), 'exclude_tree' => array(), 'include' => array(),
-               'number' => '', 'fields' => 'all', 'slug' => '', 'parent' => '',
+               'number' => '', 'fields' => 'all', 'name' => '', 'slug' => '', 'parent' => '', 'childless' => false,
                'hierarchical' => true, 'child_of' => 0, 'get' => '', 'name__like' => '', 'description__like' => '',
                'pad_counts' => false, 'offset' => '', 'search' => '', 'cache_domain' => 'core' );
        $args = wp_parse_args( $args, $defaults );
@@ -1626,7 +1646,14 @@ function get_terms( $taxonomies, $args = '' ) {
        $args['offset'] = absint( $args['offset'] );
 
        // Save queries by not crawling the tree in the case of multiple taxes or a flat tax.
-       if ( ! $single_taxonomy || ! is_taxonomy_hierarchical( reset( $taxonomies ) ) ) {
+       $has_hierarchical_tax = false;
+       foreach ( $taxonomies as $_tax ) {
+               if ( is_taxonomy_hierarchical( $_tax ) ) {
+                       $has_hierarchical_tax = true;
+               }
+       }
+
+       if ( ! $has_hierarchical_tax ) {
                $args['hierarchical'] = false;
                $args['pad_counts'] = false;
        }
@@ -1637,6 +1664,7 @@ function get_terms( $taxonomies, $args = '' ) {
        }
 
        if ( 'all' == $args['get'] ) {
+               $args['childless'] = false;
                $args['child_of'] = 0;
                $args['hide_empty'] = 0;
                $args['hierarchical'] = false;
@@ -1648,23 +1676,34 @@ function get_terms( $taxonomies, $args = '' ) {
         *
         * @since 3.1.0
         *
-        * @param array        $args       An array of arguments.
-        * @param string|array $taxonomies A taxonomy or array of taxonomies.
+        * @param array $args       An array of arguments.
+        * @param array $taxonomies An array of taxonomies.
         */
        $args = apply_filters( 'get_terms_args', $args, $taxonomies );
 
+       // Avoid the query if the queried parent/child_of term has no descendants.
        $child_of = $args['child_of'];
+       $parent   = $args['parent'];
+
        if ( $child_of ) {
-               $hierarchy = _get_term_hierarchy( reset( $taxonomies ) );
-               if ( ! isset( $hierarchy[ $child_of ] ) ) {
-                       return $empty_array;
-               }
+               $_parent = $child_of;
+       } elseif ( $parent ) {
+               $_parent = $parent;
+       } else {
+               $_parent = false;
        }
 
-       $parent = $args['parent'];
-       if ( $parent ) {
-               $hierarchy = _get_term_hierarchy( reset( $taxonomies ) );
-               if ( ! isset( $hierarchy[ $parent ] ) ) {
+       if ( $_parent ) {
+               $in_hierarchy = false;
+               foreach ( $taxonomies as $_tax ) {
+                       $hierarchy = _get_term_hierarchy( $_tax );
+
+                       if ( isset( $hierarchy[ $_parent ] ) ) {
+                               $in_hierarchy = true;
+                       }
+               }
+
+               if ( ! $in_hierarchy ) {
                        return $empty_array;
                }
        }
@@ -1686,9 +1725,9 @@ function get_terms( $taxonomies, $args = '' ) {
                 *
                 * @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.
+                * @param array $cache      Cached array of terms for the given taxonomy.
+                * @param array $taxonomies An array of taxonomies.
+                * @param array $args       An array of arguments to get terms.
                 */
                $cache = apply_filters( 'get_terms', $cache, $taxonomies, $args );
                return $cache;
@@ -1697,16 +1736,18 @@ function get_terms( $taxonomies, $args = '' ) {
        $_orderby = strtolower( $args['orderby'] );
        if ( 'count' == $_orderby ) {
                $orderby = 'tt.count';
-       } else if ( 'name' == $_orderby ) {
+       } elseif ( 'name' == $_orderby ) {
                $orderby = 't.name';
-       } else if ( 'slug' == $_orderby ) {
+       } elseif ( 'slug' == $_orderby ) {
                $orderby = 't.slug';
-       } else if ( 'include' == $_orderby && ! empty( $args['include'] ) ) {
+       } elseif ( 'include' == $_orderby && ! empty( $args['include'] ) ) {
                $include = implode( ',', array_map( 'absint', $args['include'] ) );
                $orderby = "FIELD( t.term_id, $include )";
-       } else if ( 'term_group' == $_orderby ) {
+       } elseif ( 'term_group' == $_orderby ) {
                $orderby = 't.term_group';
-       } else if ( 'none' == $_orderby ) {
+       } elseif ( 'description' == $_orderby ) {
+               $orderby = 'tt.description';
+       } elseif ( 'none' == $_orderby ) {
                $orderby = '';
        } elseif ( empty($_orderby) || 'id' == $_orderby ) {
                $orderby = 't.term_id';
@@ -1718,9 +1759,9 @@ function get_terms( $taxonomies, $args = '' ) {
         *
         * @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.
+        * @param string $orderby    ORDERBY clause of the terms query.
+        * @param array  $args       An array of terms query arguments.
+        * @param array  $taxonomies An array of taxonomies.
         */
        $orderby = apply_filters( 'get_terms_orderby', $orderby, $args, $taxonomies );
 
@@ -1753,6 +1794,7 @@ function get_terms( $taxonomies, $args = '' ) {
                $where .= $inclusions;
        }
 
+       $exclusions = array();
        if ( ! empty( $exclude_tree ) ) {
                $exclude_tree = wp_parse_id_list( $exclude_tree );
                $excluded_children = $exclude_tree;
@@ -1762,22 +1804,26 @@ function get_terms( $taxonomies, $args = '' ) {
                                (array) get_terms( $taxonomies[0], array( 'child_of' => intval( $extrunk ), 'fields' => 'ids', 'hide_empty' => 0 ) )
                        );
                }
-               $exclusions = implode( ',', array_map( 'intval', $excluded_children ) );
-       } else {
-               $exclusions = '';
+               $exclusions = array_merge( $excluded_children, $exclusions );
        }
 
        if ( ! empty( $exclude ) ) {
-               $exterms = wp_parse_id_list( $exclude );
-               if ( empty( $exclusions ) ) {
-                       $exclusions = implode( ',', $exterms );
-               } else {
-                       $exclusions .= ', ' . implode( ',', $exterms );
+               $exclusions = array_merge( wp_parse_id_list( $exclude ), $exclusions );
+       }
+
+       // 'childless' terms are those without an entry in the flattened term hierarchy.
+       $childless = (bool) $args['childless'];
+       if ( $childless ) {
+               foreach ( $taxonomies as $_tax ) {
+                       $term_hierarchy = _get_term_hierarchy( $_tax );
+                       $exclusions = array_merge( array_keys( $term_hierarchy ), $exclusions );
                }
        }
 
        if ( ! empty( $exclusions ) ) {
-               $exclusions = ' AND t.term_id NOT IN (' . $exclusions . ')';
+               $exclusions = ' AND t.term_id NOT IN (' . implode( ',', array_map( 'intval', $exclusions ) ) . ')';
+       } else {
+               $exclusions = '';
        }
 
        /**
@@ -1785,9 +1831,9 @@ function get_terms( $taxonomies, $args = '' ) {
         *
         * @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.
+        * @param string $exclusions NOT IN clause of the terms query.
+        * @param array  $args       An array of terms query arguments.
+        * @param array  $taxonomies An array of taxonomies.
         */
        $exclusions = apply_filters( 'list_terms_exclusions', $exclusions, $args, $taxonomies );
 
@@ -1795,6 +1841,16 @@ function get_terms( $taxonomies, $args = '' ) {
                $where .= $exclusions;
        }
 
+       if ( ! empty( $args['name'] ) ) {
+               if ( is_array( $args['name'] ) ) {
+                       $name = array_map( 'sanitize_text_field', $args['name'] );
+                       $where .= " AND t.name IN ('" . implode( "', '", array_map( 'esc_sql', $name ) ) . "')";
+               } else {
+                       $name = sanitize_text_field( $args['name'] );
+                       $where .= $wpdb->prepare( " AND t.name = %s", $name );
+               }
+       }
+
        if ( ! empty( $args['slug'] ) ) {
                if ( is_array( $args['slug'] ) ) {
                        $slug = array_map( 'sanitize_title', $args['slug'] );
@@ -1852,10 +1908,10 @@ function get_terms( $taxonomies, $args = '' ) {
                        break;
                case 'ids':
                case 'id=>parent':
-                       $selects = array( 't.term_id', 'tt.parent', 'tt.count' );
+                       $selects = array( 't.term_id', 'tt.parent', 'tt.count', 'tt.taxonomy' );
                        break;
                case 'names':
-                       $selects = array( 't.term_id', 'tt.parent', 'tt.count', 't.name' );
+                       $selects = array( 't.term_id', 'tt.parent', 'tt.count', 't.name', 'tt.taxonomy' );
                        break;
                case 'count':
                        $orderby = '';
@@ -1863,10 +1919,10 @@ function get_terms( $taxonomies, $args = '' ) {
                        $selects = array( 'COUNT(*)' );
                        break;
                case 'id=>name':
-                       $selects = array( 't.term_id', 't.name', 'tt.count' );
+                       $selects = array( 't.term_id', 't.name', 'tt.count', 'tt.taxonomy' );
                        break;
                case 'id=>slug':
-                       $selects = array( 't.term_id', 't.slug', 'tt.count' );
+                       $selects = array( 't.term_id', 't.slug', 'tt.count', 'tt.taxonomy' );
                        break;
        }
 
@@ -1875,11 +1931,18 @@ function get_terms( $taxonomies, $args = '' ) {
        /**
         * Filter the fields to select in the terms query.
         *
+        * Field lists modified using this filter will only modify the term fields returned
+        * by the function when the `$fields` parameter set to 'count' or 'all'. In all other
+        * cases, the term fields in the results array will be determined by the `$fields`
+        * parameter alone.
+        *
+        * Use of this filter can result in unpredictable behavior, and is not recommended.
+        *
         * @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.
+        * @param array $selects    An array of fields to select for the terms query.
+        * @param array $args       An array of term query arguments.
+        * @param array $taxonomies An array of taxonomies.
         */
        $fields = implode( ', ', apply_filters( 'get_terms_fields', $selects, $args, $taxonomies ) );
 
@@ -1892,9 +1955,9 @@ function get_terms( $taxonomies, $args = '' ) {
         *
         * @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.
+        * @param array $pieces     Terms query SQL clauses.
+        * @param array $taxonomies An array of taxonomies.
+        * @param array $args       An array of terms query arguments.
         */
        $clauses = apply_filters( 'terms_clauses', compact( $pieces ), $taxonomies, $args );
        $fields = isset( $clauses[ 'fields' ] ) ? $clauses[ 'fields' ] : '';
@@ -1925,24 +1988,29 @@ function get_terms( $taxonomies, $args = '' ) {
        }
 
        if ( $child_of ) {
-               $children = _get_term_hierarchy( reset( $taxonomies ) );
-               if ( ! empty( $children ) ) {
-                       $terms = _get_term_children( $child_of, $terms, reset( $taxonomies ) );
+               foreach ( $taxonomies as $_tax ) {
+                       $children = _get_term_hierarchy( $_tax );
+                       if ( ! empty( $children ) ) {
+                               $terms = _get_term_children( $child_of, $terms, $_tax );
+                       }
                }
        }
 
        // Update term counts to include children.
        if ( $args['pad_counts'] && 'all' == $_fields ) {
-               _pad_term_counts( $terms, reset( $taxonomies ) );
+               foreach ( $taxonomies as $_tax ) {
+                       _pad_term_counts( $terms, $_tax );
+               }
        }
+
        // Make sure we show empty categories that have children.
        if ( $hierarchical && $args['hide_empty'] && is_array( $terms ) ) {
                foreach ( $terms as $k => $term ) {
                        if ( ! $term->count ) {
-                               $children = get_term_children( $term->term_id, reset( $taxonomies ) );
+                               $children = get_term_children( $term->term_id, $term->taxonomy );
                                if ( is_array( $children ) ) {
                                        foreach ( $children as $child_id ) {
-                                               $child = get_term( $child_id, reset( $taxonomies ) );
+                                               $child = get_term( $child_id, $term->taxonomy );
                                                if ( $child->count ) {
                                                        continue 2;
                                                }
@@ -1954,28 +2022,27 @@ function get_terms( $taxonomies, $args = '' ) {
                        }
                }
        }
-       reset( $terms );
 
        $_terms = array();
        if ( 'id=>parent' == $_fields ) {
-               while ( $term = array_shift( $terms ) ) {
-                       $_terms[$term->term_id] = $term->parent;
+               foreach ( $terms as $term ) {
+                       $_terms[ $term->term_id ] = $term->parent;
                }
        } elseif ( 'ids' == $_fields ) {
-               while ( $term = array_shift( $terms ) ) {
+               foreach ( $terms as $term ) {
                        $_terms[] = $term->term_id;
                }
        } elseif ( 'names' == $_fields ) {
-               while ( $term = array_shift( $terms ) ) {
+               foreach ( $terms as $term ) {
                        $_terms[] = $term->name;
                }
        } elseif ( 'id=>name' == $_fields ) {
-               while ( $term = array_shift( $terms ) ) {
-                       $_terms[$term->term_id] = $term->name;
+               foreach ( $terms as $term ) {
+                       $_terms[ $term->term_id ] = $term->name;
                }
        } elseif ( 'id=>slug' == $_fields ) {
-               while ( $term = array_shift( $terms ) ) {
-                       $_terms[$term->term_id] = $term->slug;
+               foreach ( $terms as $term ) {
+                       $_terms[ $term->term_id ] = $term->slug;
                }
        }
 
@@ -2194,7 +2261,7 @@ function sanitize_term_field($field, $value, $term_id, $taxonomy, $context) {
                        $value = esc_html($value); // textarea_escaped
                else
                        $value = esc_attr($value);
-       } else if ( 'db' == $context ) {
+       } elseif ( 'db' == $context ) {
 
                /**
                 * Filter a term field value before it is sanitized.
@@ -2233,7 +2300,7 @@ function sanitize_term_field($field, $value, $term_id, $taxonomy, $context) {
                        $value = apply_filters( 'pre_category_nicename', $value );
                }
 
-       } else if ( 'rss' == $context ) {
+       } elseif ( 'rss' == $context ) {
 
                /**
                 * Filter the term field for use in RSS.
@@ -2290,11 +2357,11 @@ function sanitize_term_field($field, $value, $term_id, $taxonomy, $context) {
                $value = apply_filters( "{$taxonomy}_{$field}", $value, $term_id, $context );
        }
 
-       if ( 'attribute' == $context )
+       if ( 'attribute' == $context ) {
                $value = esc_attr($value);
-       else if ( 'js' == $context )
+       } elseif ( 'js' == $context ) {
                $value = esc_js($value);
-
+       }
        return $value;
 }
 
@@ -2542,33 +2609,27 @@ function wp_delete_category( $cat_ID ) {
 /**
  * Retrieves the terms associated with the given object(s), in the supplied taxonomies.
  *
- * The following information has to do the $args parameter and for what can be
- * contained in the string or array of that parameter, if it exists.
- *
- * The first argument is called, 'orderby' and has the default value of 'name'.
- * The other value that is supported is 'count'.
- *
- * The second argument is called, 'order' and has the default value of 'ASC'.
- * The only other value that will be acceptable is 'DESC'.
- *
- * The final argument supported is called, 'fields' and has the default value of
- * 'all'. There are multiple other options that can be used instead. Supported
- * values are as follows: 'all', 'ids', 'names', and finally
- * 'all_with_object_id'.
- *
- * The fields argument also decides what will be returned. If 'all' or
- * 'all_with_object_id' is chosen or the default kept intact, then all matching
- * 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.
- *
  * @since 2.3.0
+ * @since 4.2.0 Added support for 'taxonomy', 'parent', and 'term_taxonomy_id' values of `$orderby`.
+ *              Introduced `$parent` argument.
  *
  * @global wpdb $wpdb WordPress database abstraction object.
  *
- * @param int|array $object_ids The ID(s) of the object(s) to retrieve.
+ * @param int|array    $object_ids The ID(s) of the object(s) to retrieve.
  * @param string|array $taxonomies The taxonomies to retrieve terms from.
- * @param array|string $args Change what is returned
- * @return array|WP_Error The requested term data or empty array if no terms found. WP_Error if any of the $taxonomies don't exist.
+ * @param array|string $args {
+ *     Array of arguments.
+ *     @type string $orderby Field by which results should be sorted. Accepts 'name', 'count', 'slug', 'term_group',
+ *                           'term_order', 'taxonomy', 'parent', or 'term_taxonomy_id'. Default 'name'.
+ *     @type string $order   Sort order. Accepts 'ASC' or 'DESC'. Default 'ASC'.
+ *     @type string $fields  Fields to return for matched terms. Accepts 'all', 'ids', 'names', and
+ *                           'all_with_object_id'. Note that 'all' or 'all_with_object_id' will result in an array of
+ *                           term objects being returned, 'ids' will return an array of integers, and 'names' an array
+ *                           of strings.
+ *     @type int    $parent  Optional. Limit results to the direct children of a given term ID.
+ * }
+ * @return array|WP_Error The requested term data or empty array if no terms found.
+ *                        WP_Error if any of the $taxonomies don't exist.
  */
 function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
        global $wpdb;
@@ -2588,7 +2649,12 @@ function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
                $object_ids = array($object_ids);
        $object_ids = array_map('intval', $object_ids);
 
-       $defaults = array('orderby' => 'name', 'order' => 'ASC', 'fields' => 'all');
+       $defaults = array(
+               'orderby' => 'name',
+               'order'   => 'ASC',
+               'fields'  => 'all',
+               'parent'  => '',
+       );
        $args = wp_parse_args( $args, $defaults );
 
        $terms = array();
@@ -2610,17 +2676,13 @@ function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
        $order = $args['order'];
        $fields = $args['fields'];
 
-       if ( 'count' == $orderby )
-               $orderby = 'tt.count';
-       else if ( 'name' == $orderby )
-               $orderby = 't.name';
-       else if ( 'slug' == $orderby )
-               $orderby = 't.slug';
-       else if ( 'term_group' == $orderby )
-               $orderby = 't.term_group';
-       else if ( 'term_order' == $orderby )
+       if ( in_array( $orderby, array( 'term_id', 'name', 'slug', 'term_group' ) ) ) {
+               $orderby = "t.$orderby";
+       } else if ( in_array( $orderby, array( 'count', 'parent', 'taxonomy', 'term_taxonomy_id' ) ) ) {
+               $orderby = "tt.$orderby";
+       } else if ( 'term_order' === $orderby ) {
                $orderby = 'tr.term_order';
-       else if ( 'none' == $orderby ) {
+       } else if ( 'none' === $orderby ) {
                $orderby = '';
                $order = '';
        } else {
@@ -2638,22 +2700,36 @@ function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
        if ( '' !== $order && ! in_array( $order, array( 'ASC', 'DESC' ) ) )
                $order = 'ASC';
 
+       $taxonomy_array = $taxonomies;
+       $object_id_array = $object_ids;
        $taxonomies = "'" . implode("', '", $taxonomies) . "'";
        $object_ids = implode(', ', $object_ids);
 
        $select_this = '';
-       if ( 'all' == $fields )
+       if ( 'all' == $fields ) {
                $select_this = 't.*, tt.*';
-       else if ( 'ids' == $fields )
+       } elseif ( 'ids' == $fields ) {
                $select_this = 't.term_id';
-       else if ( 'names' == $fields )
+       } elseif ( 'names' == $fields ) {
                $select_this = 't.name';
-       else if ( 'slugs' == $fields )
+       } elseif ( 'slugs' == $fields ) {
                $select_this = 't.slug';
-       else if ( 'all_with_object_id' == $fields )
+       } elseif ( 'all_with_object_id' == $fields ) {
                $select_this = 't.*, tt.*, tr.object_id';
+       }
+
+       $where = array(
+               "tt.taxonomy IN ($taxonomies)",
+               "tr.object_id IN ($object_ids)",
+       );
+
+       if ( '' !== $args['parent'] ) {
+               $where[] = $wpdb->prepare( 'tt.parent = %d', $args['parent'] );
+       }
+
+       $where = implode( ' AND ', $where );
 
-       $query = "SELECT $select_this FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN $wpdb->term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ($taxonomies) AND tr.object_id IN ($object_ids) $orderby $order";
+       $query = "SELECT $select_this FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN $wpdb->term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE $where $orderby $order";
 
        $objects = false;
        if ( 'all' == $fields || 'all_with_object_id' == $fields ) {
@@ -2664,14 +2740,14 @@ function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
                $terms = array_merge( $terms, $_terms );
                update_term_cache( $terms );
                $objects = true;
-       } else if ( 'ids' == $fields || 'names' == $fields || 'slugs' == $fields ) {
+       } elseif ( 'ids' == $fields || 'names' == $fields || 'slugs' == $fields ) {
                $_terms = $wpdb->get_col( $query );
                $_field = ( 'ids' == $fields ) ? 'term_id' : 'name';
                foreach ( $_terms as $key => $term ) {
                        $_terms[$key] = sanitize_term_field( $_field, $term, $term, $taxonomy, 'raw' );
                }
                $terms = array_merge( $terms, $_terms );
-       } else if ( 'tt_ids' == $fields ) {
+       } elseif ( 'tt_ids' == $fields ) {
                $terms = $wpdb->get_col("SELECT tr.term_taxonomy_id FROM $wpdb->term_relationships AS tr INNER JOIN $wpdb->term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tr.object_id IN ($object_ids) AND tt.taxonomy IN ($taxonomies) $orderby $order");
                foreach ( $terms as $key => $tt_id ) {
                        $terms[$key] = sanitize_term_field( 'term_taxonomy_id', $tt_id, 0, $taxonomy, 'raw' ); // 0 should be the term id, however is not needed when using raw context.
@@ -2695,16 +2771,33 @@ function wp_get_object_terms($object_ids, $taxonomies, $args = array()) {
        } elseif ( ! $objects ) {
                $terms = array_values( array_unique( $terms ) );
        }
+
        /**
         * Filter the terms for a given object or objects.
         *
+        * @since 4.2.0
+        *
+        * @param array $terms           An array of terms for the given object or objects.
+        * @param array $object_id_array Array of object IDs for which `$terms` were retrieved.
+        * @param array $taxonomy_array  Array of taxonomies from which `$terms` were retrieved.
+        * @param array $args            An array of arguments for retrieving terms for the given
+        *                               object(s). See wp_get_object_terms() for details.
+        */
+       $terms = apply_filters( 'get_object_terms', $terms, $object_id_array, $taxonomy_array, $args );
+
+       /**
+        * Filter the terms for a given object or objects.
+        *
+        * The `$taxonomies` parameter passed to this filter is formatted as a SQL fragment. The
+        * {@see 'get_object_terms'} filter is recommended as an alternative.
+        *
         * @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).
+        * @param array     $terms      An array of terms for the given object or objects.
+        * @param int|array $object_ids Object ID or array of IDs.
+        * @param string    $taxonomies SQL-formatted (comma-separated and quoted) list of taxonomy names.
+        * @param array     $args       An array of arguments for retrieving terms for the given object(s).
+        *                              See {@see wp_get_object_terms()} for details.
         */
        return apply_filters( 'wp_get_object_terms', $terms, $object_ids, $taxonomies, $args );
 }
@@ -2793,13 +2886,7 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
 
        $slug_provided = ! empty( $args['slug'] );
        if ( ! $slug_provided ) {
-               $_name = trim( $name );
-               $existing_term = get_term_by( 'name', $_name, $taxonomy );
-               if ( $existing_term ) {
-                       $slug = $existing_term->slug;
-               } else {
-                       $slug = sanitize_title( $name );
-               }
+               $slug = sanitize_title( $name );
        } else {
                $slug = $args['slug'];
        }
@@ -2810,7 +2897,7 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
                if ( ! empty( $alias->term_group ) ) {
                        // The alias we want is already in a group, so let's use that one.
                        $term_group = $alias->term_group;
-               } else if ( ! empty( $alias->term_id ) ) {
+               } elseif ( ! empty( $alias->term_id ) ) {
                        /*
                         * The alias is not in a group, so we create a new one
                         * and add the alias to it.
@@ -2823,20 +2910,28 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
                }
        }
 
-       // Terms with duplicate names are not allowed at the same level of a taxonomy hierarchy.
-       if ( $exists = term_exists( $slug, $taxonomy ) ) {
-               $existing_term = get_term( $exists['term_id'], $taxonomy );
-
-               if ( $name === $existing_term->name ) {
-
+       /*
+        * Prevent the creation of terms with duplicate names at the same level of a taxonomy hierarchy,
+        * unless a unique slug has been explicitly provided.
+        */
+       if ( $name_match = get_term_by( 'name', $name, $taxonomy ) ) {
+               $slug_match = get_term_by( 'slug', $slug, $taxonomy );
+               if ( ! $slug_provided || $name_match->slug === $slug || $slug_match ) {
                        if ( is_taxonomy_hierarchical( $taxonomy ) ) {
-                               $siblings = get_terms( $taxonomy, array( 'fields' => 'names', 'get' => 'all', 'parent' => $parent ) );
-                               if ( in_array( $name, $siblings ) ) {
-                                       return new WP_Error( 'term_exists', __( 'A term with the name and slug already exists with this parent.' ), $exists['term_id'] );
+                               $siblings = get_terms( $taxonomy, array( 'get' => 'all', 'parent' => $parent ) );
+
+                               $existing_term = null;
+                               if ( $name_match->slug === $slug && in_array( $name, wp_list_pluck( $siblings, 'name' ) ) ) {
+                                       $existing_term = $name_match;
+                               } elseif ( $slug_match && in_array( $slug, wp_list_pluck( $siblings, 'slug' ) ) ) {
+                                       $existing_term = $slug_match;
                                }
 
+                               if ( $existing_term ) {
+                                       return new WP_Error( 'term_exists', __( 'A term with the name already exists with this parent.' ), $existing_term->term_id );
+                               }
                        } else {
-                               return new WP_Error( 'term_exists', __( 'A term with the name and slug already exists in this taxonomy.' ), $exists['term_id'] );
+                               return new WP_Error( 'term_exists', __( 'A term with the name already exists in this taxonomy.' ), $name_match->term_id );
                        }
                }
        }
@@ -2960,7 +3055,7 @@ function wp_insert_term( $term, $taxonomy, $args = array() ) {
  * @param int              $object_id The object to relate to.
  * @param array|int|string $terms     A single term slug, single term id, or array of either term slugs or ids.
  *                                    Will replace all existing related terms in this taxonomy.
- * @param array|string     $taxonomy  The context in which to relate the term to the object.
+ * @param string           $taxonomy  The context in which to relate the term to the object.
  * @param bool             $append    Optional. If false will delete difference of terms. Default false.
  * @return array|WP_Error Affected Term IDs.
  */
@@ -3270,16 +3365,22 @@ function wp_unique_term_slug($slug, $term) {
 function wp_update_term( $term_id, $taxonomy, $args = array() ) {
        global $wpdb;
 
-       if ( ! taxonomy_exists($taxonomy) )
-               return new WP_Error('invalid_taxonomy', __('Invalid taxonomy'));
+       if ( ! taxonomy_exists( $taxonomy ) ) {
+               return new WP_Error( 'invalid_taxonomy', __( 'Invalid taxonomy' ) );
+       }
 
        $term_id = (int) $term_id;
 
        // First, get all of the original args
-       $term = get_term ($term_id, $taxonomy, ARRAY_A);
+       $term = get_term( $term_id, $taxonomy, ARRAY_A );
 
-       if ( is_wp_error( $term ) )
+       if ( is_wp_error( $term ) ) {
                return $term;
+       }
+
+       if ( ! $term ) {
+               return new WP_Error( 'invalid_term', __( 'Empty Term' ) );
+       }
 
        // Escape data pulled from DB.
        $term = wp_slash($term);
@@ -3322,7 +3423,7 @@ function wp_update_term( $term_id, $taxonomy, $args = array() ) {
                if ( ! empty( $alias->term_group ) ) {
                        // The alias we want is already in a group, so let's use that one.
                        $term_group = $alias->term_group;
-               } else if ( ! empty( $alias->term_id ) ) {
+               } elseif ( ! empty( $alias->term_id ) ) {
                        /*
                         * The alias is not in a group, so we create a new one
                         * and add the alias to it.
@@ -3365,6 +3466,12 @@ function wp_update_term( $term_id, $taxonomy, $args = array() ) {
 
        $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) );
 
+       // Check whether this is a shared term that needs splitting.
+       $_term_id = _split_shared_term( $term_id, $tt_id );
+       if ( ! is_wp_error( $_term_id ) ) {
+               $term_id = $_term_id;
+       }
+
        /**
         * Fires immediately before the given terms are edited.
         *
@@ -3682,7 +3789,7 @@ function clean_term_cache($ids, $taxonomy = '', $clean_taxonomy = true) {
  *
  * @since 2.3.0
  *
- * @param int|array $id Term object ID
+ * @param int    $id       Term object ID
  * @param string $taxonomy Taxonomy Name
  * @return bool|array Empty array if $terms found, but not $taxonomy. False if nothing is in cache for $taxonomy and $id.
  */
@@ -3692,23 +3799,21 @@ function get_object_term_cache($id, $taxonomy) {
 }
 
 /**
- * Updates the cache for Term ID(s).
+ * Updates the cache for the given term object ID(s).
  *
- * Will only update the cache for terms not already cached.
+ * Note: Due to performance concerns, great care should be taken to only update
+ * term caches when necessary. Processing time can increase exponentially depending
+ * on both the number of passed term IDs and the number of taxonomies those terms
+ * belong to.
  *
- * The $object_ids expects that the ids be separated by commas, if it is a
- * string.
- *
- * It should be noted that update_object_term_cache() is very time extensive. It
- * is advised that the function is not called very often or at least not for a
- * 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.
+ * Caches will only be updated for terms not already cached.
  *
  * @since 2.3.0
  *
- * @param string|array $object_ids Single or list of term object ID(s)
- * @param array|string $object_type The taxonomy object type
- * @return null|false Null value is given with empty $object_ids. False if
+ * @param string|array $object_ids  Comma-separated list or array of term object IDs..
+ * @param array|string $object_type The taxonomy object type.
+ * @return null|false Null if `$object_ids` is empty, false if all of the terms in
+ *                    `$object_ids` are already cached.
  */
 function update_object_term_cache($object_ids, $object_type) {
        if ( empty($object_ids) )
@@ -3738,7 +3843,7 @@ function update_object_term_cache($object_ids, $object_type) {
 
        $object_terms = array();
        foreach ( (array) $terms as $term )
-               $object_terms[$term->object_id][$term->taxonomy][$term->term_id] = $term;
+               $object_terms[$term->object_id][$term->taxonomy][] = $term;
 
        foreach ( $ids as $id ) {
                foreach ( $taxonomies as $taxonomy ) {
@@ -3816,11 +3921,15 @@ function _get_term_hierarchy($taxonomy) {
  * @since 2.3.0
  *
  * @param int $term_id The ancestor term: all returned terms should be descendants of $term_id.
- * @param array $terms The set of terms---either an array of term objects or term IDs---from which those that are descendants of $term_id will be chosen.
- * @param string $taxonomy The taxonomy which determines the hierarchy of the terms.
+ * @param array  $terms     The set of terms - either an array of term objects or term IDs - from which those that
+ *                          are descendants of $term_id will be chosen.
+ * @param string $taxonomy  The taxonomy which determines the hierarchy of the terms.
+ * @param array  $ancestors Term ancestors that have already been identified. Passed by reference, to keep track of
+ *                          found terms when recursing the hierarchy. The array of located ancestors is used to prevent
+ *                          infinite recursion loops.
  * @return array The subset of $terms that are descendants of $term_id.
  */
-function _get_term_children($term_id, $terms, $taxonomy) {
+function _get_term_children( $term_id, $terms, $taxonomy, &$ancestors = array() ) {
        $empty_array = array();
        if ( empty($terms) )
                return $empty_array;
@@ -3831,6 +3940,11 @@ function _get_term_children($term_id, $terms, $taxonomy) {
        if  ( ( 0 != $term_id ) && ! isset($has_children[$term_id]) )
                return $empty_array;
 
+       // Include the term itself in the ancestors array, so we can properly detect when a loop has occurred.
+       if ( empty( $ancestors ) ) {
+               $ancestors[] = $term_id;
+       }
+
        foreach ( (array) $terms as $term ) {
                $use_id = false;
                if ( !is_object($term) ) {
@@ -3840,7 +3954,8 @@ function _get_term_children($term_id, $terms, $taxonomy) {
                        $use_id = true;
                }
 
-               if ( $term->term_id == $term_id ) {
+               // Don't recurse if we've already identified the term as a child - this indicates a loop.
+               if ( in_array( $term->term_id, $ancestors ) ) {
                        continue;
                }
 
@@ -3853,7 +3968,13 @@ function _get_term_children($term_id, $terms, $taxonomy) {
                        if ( !isset($has_children[$term->term_id]) )
                                continue;
 
-                       if ( $children = _get_term_children($term->term_id, $terms, $taxonomy) )
+                       if ( $use_id ) {
+                               $ancestors = array_merge( $ancestors, $term_list );
+                       } else {
+                               $ancestors = array_merge( $ancestors, wp_list_pluck( $term_list, 'term_id' ) );
+                       }
+
+                       if ( $children = _get_term_children( $term->term_id, $terms, $taxonomy, $ancestors) )
                                $term_list = array_merge($term_list, $children);
                }
        }
@@ -3889,6 +4010,8 @@ function _pad_term_counts(&$terms, $taxonomy) {
                return;
 
        $term_items = array();
+       $terms_by_id = array();
+       $term_ids = array();
 
        foreach ( (array) $terms as $key => $term ) {
                $terms_by_id[$term->term_id] = & $terms[$key];
@@ -3907,12 +4030,18 @@ function _pad_term_counts(&$terms, $taxonomy) {
        // Touch every ancestor's lookup row for each post in each term
        foreach ( $term_ids as $term_id ) {
                $child = $term_id;
+               $ancestors = array();
                while ( !empty( $terms_by_id[$child] ) && $parent = $terms_by_id[$child]->parent ) {
+                       $ancestors[] = $child;
                        if ( !empty( $term_items[$term_id] ) )
                                foreach ( $term_items[$term_id] as $item_id => $touches ) {
                                        $term_items[$parent][$item_id] = isset($term_items[$parent][$item_id]) ? ++$term_items[$parent][$item_id]: 1;
                                }
                        $child = $parent;
+
+                       if ( in_array( $parent, $ancestors ) ) {
+                               break;
+                       }
                }
        }
 
@@ -3969,11 +4098,11 @@ function _update_post_term_count( $terms, $taxonomy ) {
                        $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 );
+               do_action( 'edit_term_taxonomy', $term, $taxonomy->name );
                $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 );
+               do_action( 'edited_term_taxonomy', $term, $taxonomy->name );
        }
 }
 
@@ -3996,12 +4125,206 @@ function _update_generic_term_count( $terms, $taxonomy ) {
                $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 );
+               do_action( 'edit_term_taxonomy', $term, $taxonomy->name );
                $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 );
+               do_action( 'edited_term_taxonomy', $term, $taxonomy->name );
+       }
+}
+
+/**
+ * Create a new term for a term_taxonomy item that currently shares its term with another term_taxonomy.
+ *
+ * @ignore
+ * @since 4.2.0
+ *
+ * @param int  $term_id          ID of the shared term.
+ * @param int  $term_taxonomy_id ID of the term_taxonomy item to receive a new term.
+ * @return int|WP_Error When the current term does not need to be split (or cannot be split on the current
+ *                      database schema), `$term_id` is returned. When the term is successfully split, the
+ *                      new term_id is returned. A WP_Error is returned for miscellaneous errors.
+ */
+function _split_shared_term( $term_id, $term_taxonomy_id ) {
+       global $wpdb;
+
+       // Don't try to split terms if database schema does not support shared slugs.
+       $current_db_version = get_option( 'db_version' );
+       if ( $current_db_version < 30133 ) {
+               return $term_id;
+       }
+
+       // If there are no shared term_taxonomy rows, there's nothing to do here.
+       $shared_tt_count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->term_taxonomy tt WHERE tt.term_id = %d AND tt.term_taxonomy_id != %d", $term_id, $term_taxonomy_id ) );
+       if ( ! $shared_tt_count ) {
+               return $term_id;
+       }
+
+       // Pull up data about the currently shared slug, which we'll use to populate the new one.
+       $shared_term = $wpdb->get_row( $wpdb->prepare( "SELECT t.* FROM $wpdb->terms t WHERE t.term_id = %d", $term_id ) );
+
+       $new_term_data = array(
+               'name' => $shared_term->name,
+               'slug' => $shared_term->slug,
+               'term_group' => $shared_term->term_group,
+       );
+
+       if ( false === $wpdb->insert( $wpdb->terms, $new_term_data ) ) {
+               return new WP_Error( 'db_insert_error', __( 'Could not split shared term.' ), $wpdb->last_error );
        }
+
+       $new_term_id = (int) $wpdb->insert_id;
+
+       // Update the existing term_taxonomy to point to the newly created term.
+       $wpdb->update( $wpdb->term_taxonomy,
+               array( 'term_id' => $new_term_id ),
+               array( 'term_taxonomy_id' => $term_taxonomy_id )
+       );
+
+       // Reassign child terms to the new parent.
+       $term_taxonomy = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->term_taxonomy WHERE term_taxonomy_id = %d", $term_taxonomy_id ) );
+       $children_tt_ids = $wpdb->get_col( $wpdb->prepare( "SELECT term_taxonomy_id FROM $wpdb->term_taxonomy WHERE taxonomy = %s AND parent = %d", $term_taxonomy->taxonomy, $term_id ) );
+
+       if ( ! empty( $children_tt_ids ) ) {
+               foreach ( $children_tt_ids as $child_tt_id ) {
+                       $wpdb->update( $wpdb->term_taxonomy,
+                               array( 'parent' => $new_term_id ),
+                               array( 'term_taxonomy_id' => $child_tt_id )
+                       );
+                       clean_term_cache( $term_id, $term_taxonomy->taxonomy );
+               }
+       } else {
+               // If the term has no children, we must force its taxonomy cache to be rebuilt separately.
+               clean_term_cache( $new_term_id, $term_taxonomy->taxonomy );
+       }
+
+       // Clean the cache for term taxonomies formerly shared with the current term.
+       $shared_term_taxonomies = $wpdb->get_row( $wpdb->prepare( "SELECT taxonomy FROM $wpdb->term_taxonomy WHERE term_id = %d", $term_id ) );
+       if ( $shared_term_taxonomies ) {
+               foreach ( $shared_term_taxonomies as $shared_term_taxonomy ) {
+                       clean_term_cache( $term_id, $shared_term_taxonomy );
+               }
+       }
+
+       // Keep a record of term_ids that have been split, keyed by old term_id. See {@see wp_get_split_term()}.
+       $split_term_data = get_option( '_split_terms', array() );
+       if ( ! isset( $split_term_data[ $term_id ] ) ) {
+               $split_term_data[ $term_id ] = array();
+       }
+
+       $split_term_data[ $term_id ][ $term_taxonomy->taxonomy ] = $new_term_id;
+
+       update_option( '_split_terms', $split_term_data );
+
+       /**
+        * Fires after a previously shared taxonomy term is split into two separate terms.
+        *
+        * @since 4.2.0
+        *
+        * @param int    $term_id          ID of the formerly shared term.
+        * @param int    $new_term_id      ID of the new term created for the $term_taxonomy_id.
+        * @param int    $term_taxonomy_id ID for the term_taxonomy row affected by the split.
+        * @param string $taxonomy         Taxonomy for the split term.
+        */
+       do_action( 'split_shared_term', $term_id, $new_term_id, $term_taxonomy_id, $term_taxonomy->taxonomy );
+
+       return $new_term_id;
+}
+
+/**
+ * Check default categories when a term gets split to see if any of them need to be updated.
+ *
+ * @ignore
+ * @since 4.2.0
+ *
+ * @param int    $term_id          ID of the formerly shared term.
+ * @param int    $new_term_id      ID of the new term created for the $term_taxonomy_id.
+ * @param int    $term_taxonomy_id ID for the term_taxonomy row affected by the split.
+ * @param string $taxonomy         Taxonomy for the split term.
+ */
+function _wp_check_split_default_terms( $term_id, $new_term_id, $term_taxonomy_id, $taxonomy ) {
+       if ( 'category' != $taxonomy ) {
+               return;
+       }
+
+       foreach ( array( 'default_category', 'default_link_category', 'default_email_category' ) as $option ) {
+               if ( $term_id == get_option( $option, -1 ) ) {
+                       update_option( $option, $new_term_id );
+               }
+       }
+}
+
+/**
+ * Check menu items when a term gets split to see if any of them need to be updated.
+ *
+ * @ignore
+ * @since 4.2.0
+ *
+ * @param int    $term_id          ID of the formerly shared term.
+ * @param int    $new_term_id      ID of the new term created for the $term_taxonomy_id.
+ * @param int    $term_taxonomy_id ID for the term_taxonomy row affected by the split.
+ * @param string $taxonomy         Taxonomy for the split term.
+ */
+function _wp_check_split_terms_in_menus( $term_id, $new_term_id, $term_taxonomy_id, $taxonomy ) {
+       global $wpdb;
+       $post_ids = $wpdb->get_col( $wpdb->prepare(
+               "SELECT m1.post_id
+               FROM {$wpdb->postmeta} AS m1
+                       INNER JOIN {$wpdb->postmeta} AS m2 ON ( m2.post_id = m1.post_id )
+                       INNER JOIN {$wpdb->postmeta} AS m3 ON ( m3.post_id = m1.post_id )
+               WHERE ( m1.meta_key = '_menu_item_type' AND m1.meta_value = 'taxonomy' )
+                       AND ( m2.meta_key = '_menu_item_object' AND m2.meta_value = '%s' )
+                       AND ( m3.meta_key = '_menu_item_object_id' AND m3.meta_value = %d )",
+               $taxonomy,
+               $term_id
+       ) );
+
+       if ( $post_ids ) {
+               foreach ( $post_ids as $post_id ) {
+                       update_post_meta( $post_id, '_menu_item_object_id', $new_term_id, $term_id );
+               }
+       }
+}
+
+/**
+ * Get data about terms that previously shared a single term_id, but have since been split.
+ *
+ * @since 4.2.0
+ *
+ * @param int $old_term_id Term ID. This is the old, pre-split term ID.
+ * @return array Array of new term IDs, keyed by taxonomy.
+ */
+function wp_get_split_terms( $old_term_id ) {
+       $split_terms = get_option( '_split_terms', array() );
+
+       $terms = array();
+       if ( isset( $split_terms[ $old_term_id ] ) ) {
+               $terms = $split_terms[ $old_term_id ];
+       }
+
+       return $terms;
+}
+
+/**
+ * Get the new term ID corresponding to a previously split term.
+ *
+ * @since 4.2.0
+ *
+ * @param int    $old_term_id Term ID. This is the old, pre-split term ID.
+ * @param string $taxonomy    Taxonomy that the term belongs to.
+ * @return bool|int If a previously split term is found corresponding to the old term_id and taxonomy,
+ *                  the new term_id will be returned. If no previously split term is found matching
+ *                  the parameters, returns false.
+ */
+function wp_get_split_term( $old_term_id, $taxonomy ) {
+       $split_terms = wp_get_split_terms( $old_term_id );
+
+       $term_id = false;
+       if ( isset( $split_terms[ $taxonomy ] ) ) {
+               $term_id = (int) $split_terms[ $taxonomy ];
+       }
+
+       return $term_id;
 }
 
 /**
@@ -4224,7 +4547,7 @@ function get_post_taxonomies( $post = 0 ) {
  * @param int $object_id ID of the object (post ID, link ID, ...)
  * @param string $taxonomy Single taxonomy name
  * @param int|string|array $terms Optional. Term term_id, name, slug or array of said
- * @return bool|WP_Error. WP_Error on input error.
+ * @return bool|WP_Error WP_Error on input error.
  */
 function is_object_in_term( $object_id, $taxonomy, $terms = null ) {
        if ( !$object_id = (int) $object_id )
@@ -4317,7 +4640,7 @@ function get_ancestors( $object_id = 0, $object_type = '', $resource_type = '' )
        if ( ! $resource_type ) {
                if ( is_taxonomy_hierarchical( $object_type ) ) {
                        $resource_type = 'taxonomy';
-               } else if ( post_type_exists( $object_type ) ) {
+               } elseif ( post_type_exists( $object_type ) ) {
                        $resource_type = 'post_type';
                }
        }
@@ -4336,7 +4659,7 @@ function get_ancestors( $object_id = 0, $object_type = '', $resource_type = '' )
         * Filter a given object's ancestors.
         *
         * @since 3.1.0
-        * @since 4.1.1 Introduced the `$resource_type` parameter.
+        * @since 4.1.0 Introduced the `$resource_type` parameter.
         *
         * @param array  $ancestors     An array of object ancestors.
         * @param int    $object_id     Object ID.
index b02486a39d9e6cc11527c50004b613fa3c0f912c..cfe9bb06aa8f3312b74c9962837fef730e9ca458 100644 (file)
@@ -135,7 +135,7 @@ function get_author_template() {
 
        $templates = array();
 
-       if ( is_a( $author, 'WP_User' ) ) {
+       if ( $author instanceof WP_User ) {
                $templates[] = "author-{$author->user_nicename}.php";
                $templates[] = "author-{$author->ID}.php";
        }
@@ -467,7 +467,7 @@ function locate_template($template_names, $load = false, $require_once = true )
                if ( file_exists(STYLESHEETPATH . '/' . $template_name)) {
                        $located = STYLESHEETPATH . '/' . $template_name;
                        break;
-               } else if ( file_exists(TEMPLATEPATH . '/' . $template_name) ) {
+               } elseif ( file_exists(TEMPLATEPATH . '/' . $template_name) ) {
                        $located = TEMPLATEPATH . '/' . $template_name;
                        break;
                }
index 1016f4f5a9b4196852b767ed9819f46687a30346..d46c0419cd415706acc959f3a9ac74e60acdb4c2 100644 (file)
@@ -23,8 +23,18 @@ _deprecated_file( sprintf( __( 'Theme without %1$s' ), basename(__FILE__) ), '3.
 <!-- You can start editing here. -->
 
 <?php if ( have_comments() ) : ?>
-       <h3 id="comments"><?php printf( _n( 'One Response to %2$s', '%1$s Responses to %2$s', get_comments_number() ),
-                                                                       number_format_i18n( get_comments_number() ), '&#8220;' . get_the_title() . '&#8221;' ); ?></h3>
+       <h3 id="comments">
+               <?php
+                       if ( 1 == get_comments_number() ) {
+                               /* translators: %s: post title */
+                               printf( __( 'One Response to %s' ),  '&#8220;' . get_the_title() . '&#8221;' );
+                       } else {
+                               /* translators: 1: number of comments, 2: post title */
+                               printf( _n( '%1$s Response to %2$s', '%1$s Responses to %2$s', get_comments_number() ),
+                                       number_format_i18n( get_comments_number() ),  '&#8220;' . get_the_title() . '&#8221;' );
+                       }
+               ?>
+       </h3>
 
        <div class="navigation">
                <div class="alignleft"><?php previous_comments_link() ?></div>
index f8539e9f8f37113098f68131a6b6ed62f3f42845..1b372da37ab28aecb2942cfd8b3a0f9767afe14d 100644 (file)
@@ -406,6 +406,7 @@ function search_theme_directories( $force = false ) {
        $found_themes = array();
 
        $wp_theme_directories = (array) $wp_theme_directories;
+       $relative_theme_roots = array();
 
        // Set up maybe-relative, maybe-absolute array of theme directories.
        // We always want to return absolute, but we need to cache relative
@@ -675,7 +676,6 @@ function preview_theme() {
 
        ob_start( 'preview_theme_ob_filter' );
 }
-add_action('setup_theme', 'preview_theme');
 
 /**
  * Private function to modify the current template when previewing a theme
@@ -934,7 +934,7 @@ function get_theme_mod( $name, $default = false ) {
  * @since 2.1.0
  *
  * @param string $name Theme modification name.
- * @param string $value theme modification value.
+ * @param mixed  $value theme modification value.
  */
 function set_theme_mod( $name, $value ) {
        $mods = get_theme_mods();
@@ -1034,12 +1034,25 @@ function display_header_text() {
        return 'blank' != $text_color;
 }
 
+/**
+ * Check whether a header image is set or not.
+ *
+ * @since 4.2.0
+ *
+ * @see get_header_image()
+ *
+ * @return bool Whether a header image is set or not.
+ */
+function has_header_image() {
+       return (bool) get_header_image();
+}
+
 /**
  * Retrieve header image for custom header.
  *
  * @since 2.1.0
  *
- * @return string
+ * @return string|false
  */
 function get_header_image() {
        $url = get_theme_mod( 'header_image', get_theme_support( 'custom-header', 'default-image' ) );
@@ -1142,7 +1155,10 @@ function is_random_header_image( $type = 'any' ) {
  * @since 2.1.0
  */
 function header_image() {
-       echo esc_url( get_header_image() );
+       $image = get_header_image();
+       if ( $image ) {
+               echo esc_url( $image );
+       }
 }
 
 /**
@@ -1662,7 +1678,6 @@ function _custom_header_background_just_in_time() {
                }
        }
 }
-add_action( 'wp_loaded', '_custom_header_background_just_in_time' );
 
 /**
  * Gets the theme support arguments passed when registering that support
@@ -1871,8 +1886,6 @@ function _delete_attachment_theme_mod( $id ) {
                remove_theme_mod( 'background_image' );
 }
 
-add_action( 'delete_attachment', '_delete_attachment_theme_mod' );
-
 /**
  * Checks if a theme has been changed and runs 'after_switch_theme' hook on the next WP load
  *
@@ -1929,7 +1942,6 @@ function _wp_customize_include() {
        // Init Customize class
        $GLOBALS['wp_customize'] = new WP_Customize_Manager;
 }
-add_action( 'plugins_loaded', '_wp_customize_include' );
 
 /**
  * Adds settings for the customize-loader script.
@@ -1953,7 +1965,8 @@ function _wp_customize_loader_settings() {
                'isCrossDomain' => $cross_domain,
                'browser'       => $browser,
                'l10n'          => array(
-                       'saveAlert' => __( 'The changes you made will be lost if you navigate away from this page.' ),
+                       'saveAlert'       => __( 'The changes you made will be lost if you navigate away from this page.' ),
+                       'mainIframeTitle' => __( 'Customizer' ),
                ),
        );
 
@@ -1965,7 +1978,6 @@ function _wp_customize_loader_settings() {
 
        $wp_scripts->add_data( 'customize-loader', 'data', $script );
 }
-add_action( 'admin_enqueue_scripts', '_wp_customize_loader_settings' );
 
 /**
  * Returns a URL to load the Customizer.
@@ -2032,5 +2044,5 @@ function wp_customize_support_script() {
 function is_customize_preview() {
        global $wp_customize;
 
-       return is_a( $wp_customize, 'WP_Customize_Manager' ) && $wp_customize->is_preview();
+       return ( $wp_customize instanceof WP_Customize_Manager ) && $wp_customize->is_preview();
 }
index a32b1e88cb1e2fc916f1baa6b32a1446a8c5a35f..98d529ec351bbf639851de9c5deb28e2225cb240 100644 (file)
@@ -659,7 +659,6 @@ function wp_clean_update_cache() {
        } else {
                delete_site_transient( 'update_plugins' );
        }
-       wp_clean_plugins_cache();
        wp_clean_themes_cache();
        delete_site_transient( 'update_core' );
 }
@@ -690,4 +689,4 @@ add_action( 'update_option_WPLANG', 'wp_clean_update_cache' , 10, 0 );
 
 add_action( 'wp_maybe_auto_update', 'wp_maybe_auto_update' );
 
-add_action('init', 'wp_schedule_update_checks');
+add_action( 'init', 'wp_schedule_update_checks' );
index 3640980f5641950797fc3f0744bd7f260a524ed7..e602a3ece8a4366ddd0577c71ceab7e4c1e4476d 100644 (file)
@@ -112,7 +112,7 @@ function wp_signon( $credentials = array(), $secure_cookie = '' ) {
  * @return WP_User|WP_Error WP_User on success, WP_Error on failure.
  */
 function wp_authenticate_username_password($user, $username, $password) {
-       if ( is_a( $user, 'WP_User' ) ) {
+       if ( $user instanceof WP_User ) {
                return $user;
        }
 
@@ -134,7 +134,7 @@ function wp_authenticate_username_password($user, $username, $password) {
        $user = get_user_by('login', $username);
 
        if ( !$user )
-               return new WP_Error( 'invalid_username', sprintf( __( '<strong>ERROR</strong>: Invalid username. <a href="%s">Lost your password</a>?' ), wp_lostpassword_url() ) );
+               return new WP_Error( 'invalid_username', sprintf( __( '<strong>ERROR</strong>: Invalid username. <a href="%s">Lost your password?</a>' ), wp_lostpassword_url() ) );
 
        /**
         * Filter whether the given user can be authenticated with the provided $password.
@@ -150,7 +150,7 @@ function wp_authenticate_username_password($user, $username, $password) {
                return $user;
 
        if ( !wp_check_password($password, $user->user_pass, $user->ID) )
-               return new WP_Error( 'incorrect_password', sprintf( __( '<strong>ERROR</strong>: The password you entered for the username <strong>%1$s</strong> is incorrect. <a href="%2$s">Lost your password</a>?' ),
+               return new WP_Error( 'incorrect_password', sprintf( __( '<strong>ERROR</strong>: The password you entered for the username <strong>%1$s</strong> is incorrect. <a href="%2$s">Lost your password?</a>' ),
                $username, wp_lostpassword_url() ) );
 
        return $user;
@@ -167,7 +167,7 @@ function wp_authenticate_username_password($user, $username, $password) {
  * @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' ) ) {
+       if ( $user instanceof WP_User ) {
                return $user;
        }
 
@@ -202,7 +202,7 @@ function wp_authenticate_cookie($user, $username, $password) {
  * @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() ) {
+       if ( $user instanceof WP_User && is_multisite() ) {
                /**
                 * Filter whether the user has been marked as a spammer.
                 *
@@ -473,6 +473,17 @@ class WP_User_Query {
         */
        private $total_users = 0;
 
+       /**
+        * Metadata query container.
+        *
+        * @since 4.2.0
+        * @access public
+        * @var object WP_Meta_Query
+        */
+       public $meta_query = false;
+
+       private $compat_fields = array( 'results', 'total_users' );
+
        // SQL clauses
        public $query_fields;
        public $query_from;
@@ -486,7 +497,6 @@ class WP_User_Query {
         * @since 3.1.0
         *
         * @param null|string|array $args Optional. The query variables.
-        * @return WP_User_Query
         */
        public function __construct( $query = null ) {
                if ( ! empty( $query ) ) {
@@ -499,6 +509,8 @@ class WP_User_Query {
         * Prepare the query variables.
         *
         * @since 3.1.0
+        * @since 4.2.0 Added 'meta_value_num' support for `$orderby` parameter. Added multi-dimensional array syntax
+        *              for `$orderby` parameter.
         * @access public
         *
         * @param string|array $query {
@@ -519,12 +531,19 @@ class WP_User_Query {
         *                                         column to search in based on search string. Default empty.
         *     @type array        $search_columns  Array of column names to be searched. Accepts 'ID', 'login',
         *                                         'nicename', 'email', 'url'. Default empty array.
-        *     @type string       $orderby         Field to sort the retrieved users by. Accepts 'ID', 'display_name',
-        *                                         'login', 'nicename', 'email', 'url', 'registered', 'post_count', or
-        *                                         'meta_value'. To use 'meta_value', `$meta_key` must be also be defined.
+        *     @type string|array $orderby         Field(s) to sort the retrieved users by. May be a single value,
+        *                                         an array of values, or a multi-dimensional array with fields as keys
+        *                                         and orders ('ASC' or 'DESC') as values. Accepted values are'ID',
+        *                                         'display_name' (or 'name'), 'user_login' (or 'login'),
+        *                                         'user_nicename' (or 'nicename'), 'user_email' (or 'email'),
+        *                                         'user_url' (or 'url'), 'user_registered' (or 'registered'),
+        *                                         'post_count', 'meta_value', 'meta_value_num', the value of
+        *                                         `$meta_key`, or an array key of `$meta_query`. To use 'meta_value'
+        *                                         or 'meta_value_num', `$meta_key` must be also be defined.
         *                                         Default 'user_login'.
-        *     @type string       $order           Designates ascending or descending order of users. Accepts 'ASC',
-        *                                         'DESC'. Default 'ASC'.
+        *     @type string       $order           Designates ascending or descending order of users. Order values
+        *                                         passed as part of an `$orderby` array take precedence over this
+        *                                         parameter. Accepts 'ASC', 'DESC'. Default 'ASC'.
         *     @type int          $offset          Number of users to offset in retrieved results. Can be used in
         *                                         conjunction with pagination. Default 0.
         *     @type int          $number          Number of users to limit the query for. Can be used in conjunction
@@ -607,47 +626,104 @@ class WP_User_Query {
                        $include = false;
                }
 
+               $blog_id = 0;
+               if ( isset( $qv['blog_id'] ) ) {
+                       $blog_id = absint( $qv['blog_id'] );
+               }
+
+               if ( isset( $qv['who'] ) && 'authors' == $qv['who'] && $blog_id ) {
+                       $qv['meta_key'] = $wpdb->get_blog_prefix( $blog_id ) . 'user_level';
+                       $qv['meta_value'] = 0;
+                       $qv['meta_compare'] = '!=';
+                       $qv['blog_id'] = $blog_id = 0; // Prevent extra meta query
+               }
+
+               // Meta query.
+               $this->meta_query = new WP_Meta_Query();
+               $this->meta_query->parse_query_vars( $qv );
+
+               $role = '';
+               if ( isset( $qv['role'] ) ) {
+                       $role = trim( $qv['role'] );
+               }
+
+               if ( $blog_id && ( $role || is_multisite() ) ) {
+                       $cap_meta_query = array();
+                       $cap_meta_query['key'] = $wpdb->get_blog_prefix( $blog_id ) . 'capabilities';
+
+                       if ( $role ) {
+                               $cap_meta_query['value'] = '"' . $role . '"';
+                               $cap_meta_query['compare'] = 'like';
+                       }
+
+                       if ( empty( $this->meta_query->queries ) ) {
+                               $this->meta_query->queries = array( $cap_meta_query );
+                       } elseif ( ! in_array( $cap_meta_query, $this->meta_query->queries, true ) ) {
+                               // Append the cap query to the original queries and reparse the query.
+                               $this->meta_query->queries = array(
+                                       'relation' => 'AND',
+                                       array( $this->meta_query->queries, $cap_meta_query ),
+                               );
+                       }
+
+                       $this->meta_query->parse_query_vars( $this->meta_query->queries );
+               }
+
+               if ( ! empty( $this->meta_query->queries ) ) {
+                       $clauses = $this->meta_query->get_sql( 'user', $wpdb->users, 'ID', $this );
+                       $this->query_from .= $clauses['join'];
+                       $this->query_where .= $clauses['where'];
+
+                       if ( 'OR' == $this->meta_query->relation ) {
+                               $this->query_fields = 'DISTINCT ' . $this->query_fields;
+                       }
+               }
+
                // sorting
-               if ( isset( $qv['orderby'] ) ) {
-                       if ( in_array( $qv['orderby'], array('nicename', 'email', 'url', 'registered') ) ) {
-                               $orderby = 'user_' . $qv['orderby'];
-                       } elseif ( in_array( $qv['orderby'], array('user_nicename', 'user_email', 'user_url', 'user_registered') ) ) {
-                               $orderby = $qv['orderby'];
-                       } elseif ( 'name' == $qv['orderby'] || 'display_name' == $qv['orderby'] ) {
-                               $orderby = 'display_name';
-                       } elseif ( 'post_count' == $qv['orderby'] ) {
-                               // todo: avoid the JOIN
-                               $where = get_posts_by_author_sql('post');
-                               $this->query_from .= " LEFT OUTER JOIN (
-                                       SELECT post_author, COUNT(*) as post_count
-                                       FROM $wpdb->posts
-                                       $where
-                                       GROUP BY post_author
-                               ) p ON ({$wpdb->users}.ID = p.post_author)
-                               ";
-                               $orderby = 'post_count';
-                       } elseif ( 'ID' == $qv['orderby'] || 'id' == $qv['orderby'] ) {
-                               $orderby = 'ID';
-                       } elseif ( 'meta_value' == $qv['orderby'] ) {
-                               $orderby = "$wpdb->usermeta.meta_value";
-                       } else if ( 'include' === $qv['orderby'] && ! empty( $include ) ) {
-                               // Sanitized earlier.
-                               $include_sql = implode( ',', $include );
-                               $orderby = "FIELD( $wpdb->users.ID, $include_sql )";
+               $qv['order'] = isset( $qv['order'] ) ? strtoupper( $qv['order'] ) : '';
+               $order = $this->parse_order( $qv['order'] );
+
+               if ( empty( $qv['orderby'] ) ) {
+                       // Default order is by 'user_login'.
+                       $ordersby = array( 'user_login' => $order );
+               } else if ( is_array( $qv['orderby'] ) ) {
+                       $ordersby = $qv['orderby'];
+               } else {
+                       // 'orderby' values may be a comma- or space-separated list.
+                       $ordersby = preg_split( '/[,\s]+/', $qv['orderby'] );
+               }
+
+               $orderby_array = array();
+               foreach ( $ordersby as $_key => $_value ) {
+                       if ( ! $_value ) {
+                               continue;
+                       }
+
+                       if ( is_int( $_key ) ) {
+                               // Integer key means this is a flat array of 'orderby' fields.
+                               $_orderby = $_value;
+                               $_order = $order;
                        } else {
-                               $orderby = 'user_login';
+                               // Non-integer key means this the key is the field and the value is ASC/DESC.
+                               $_orderby = $_key;
+                               $_order = $_value;
+                       }
+
+                       $parsed = $this->parse_orderby( $_orderby );
+
+                       if ( ! $parsed ) {
+                               continue;
                        }
+
+                       $orderby_array[] = $parsed . ' ' . $this->parse_order( $_order );
                }
 
-               if ( empty( $orderby ) )
-                       $orderby = 'user_login';
+               // If no valid clauses were found, order by user_login.
+               if ( empty( $orderby_array ) ) {
+                       $orderby_array[] = "user_login $order";
+               }
 
-               $qv['order'] = isset( $qv['order'] ) ? strtoupper( $qv['order'] ) : '';
-               if ( 'ASC' == $qv['order'] )
-                       $order = 'ASC';
-               else
-                       $order = 'DESC';
-               $this->query_orderby = "ORDER BY $orderby $order";
+               $this->query_orderby = 'ORDER BY ' . implode( ', ', $orderby_array );
 
                // limit
                if ( isset( $qv['number'] ) && $qv['number'] ) {
@@ -706,55 +782,6 @@ class WP_User_Query {
                        $this->query_where .= $this->get_search_sql( $search, $search_columns, $wild );
                }
 
-               $blog_id = 0;
-               if ( isset( $qv['blog_id'] ) )
-                       $blog_id = absint( $qv['blog_id'] );
-
-               if ( isset( $qv['who'] ) && 'authors' == $qv['who'] && $blog_id ) {
-                       $qv['meta_key'] = $wpdb->get_blog_prefix( $blog_id ) . 'user_level';
-                       $qv['meta_value'] = 0;
-                       $qv['meta_compare'] = '!=';
-                       $qv['blog_id'] = $blog_id = 0; // Prevent extra meta query
-               }
-
-               $meta_query = new WP_Meta_Query();
-               $meta_query->parse_query_vars( $qv );
-
-               $role = '';
-               if ( isset( $qv['role'] ) )
-                       $role = trim( $qv['role'] );
-
-               if ( $blog_id && ( $role || is_multisite() ) ) {
-                       $cap_meta_query = array();
-                       $cap_meta_query['key'] = $wpdb->get_blog_prefix( $blog_id ) . 'capabilities';
-
-                       if ( $role ) {
-                               $cap_meta_query['value'] = '"' . $role . '"';
-                               $cap_meta_query['compare'] = 'like';
-                       }
-
-                       if ( empty( $meta_query->queries ) ) {
-                               $meta_query->queries = array( $cap_meta_query );
-                       } elseif ( ! in_array( $cap_meta_query, $meta_query->queries, true ) ) {
-                               // Append the cap query to the original queries and reparse the query.
-                               $meta_query->queries = array(
-                                       'relation' => 'AND',
-                                       array( $meta_query->queries, $cap_meta_query ),
-                               );
-                       }
-
-                       $meta_query->parse_query_vars( $meta_query->queries );
-               }
-
-               if ( !empty( $meta_query->queries ) ) {
-                       $clauses = $meta_query->get_sql( 'user', $wpdb->users, 'ID', $this );
-                       $this->query_from .= $clauses['join'];
-                       $this->query_where .= $clauses['where'];
-
-                       if ( 'OR' == $meta_query->relation )
-                               $this->query_fields = 'DISTINCT ' . $this->query_fields;
-               }
-
                if ( ! empty( $include ) ) {
                        // Sanitized earlier.
                        $ids = implode( ',', $include );
@@ -830,7 +857,7 @@ class WP_User_Query {
                        $this->results = $r;
                } elseif ( 'all' == $qv['fields'] ) {
                        foreach ( $this->results as $key => $user ) {
-                               $this->results[ $key ] = new WP_User( $user );
+                               $this->results[ $key ] = new WP_User( $user, '', $qv['blog_id'] );
                        }
                }
        }
@@ -919,6 +946,79 @@ class WP_User_Query {
                return $this->total_users;
        }
 
+       /**
+        * Parse and sanitize 'orderby' keys passed to the user query.
+        *
+        * @since 4.2.0
+        * @access protected
+        *
+        * @global wpdb $wpdb WordPress database abstraction object.
+        *
+        * @param string $orderby Alias for the field to order by.
+        * @return string|bool Value to used in the ORDER clause, if `$orderby` is valid. False otherwise.
+        */
+       protected function parse_orderby( $orderby ) {
+               global $wpdb;
+
+               $meta_query_clauses = $this->meta_query->get_clauses();
+
+               $_orderby = '';
+               if ( in_array( $orderby, array( 'login', 'nicename', 'email', 'url', 'registered' ) ) ) {
+                       $_orderby = 'user_' . $orderby;
+               } elseif ( in_array( $orderby, array( 'user_login', 'user_nicename', 'user_email', 'user_url', 'user_registered' ) ) ) {
+                       $_orderby = $orderby;
+               } elseif ( 'name' == $orderby || 'display_name' == $orderby ) {
+                       $_orderby = 'display_name';
+               } elseif ( 'post_count' == $orderby ) {
+                       // todo: avoid the JOIN
+                       $where = get_posts_by_author_sql( 'post' );
+                       $this->query_from .= " LEFT OUTER JOIN (
+                               SELECT post_author, COUNT(*) as post_count
+                               FROM $wpdb->posts
+                               $where
+                               GROUP BY post_author
+                       ) p ON ({$wpdb->users}.ID = p.post_author)
+                       ";
+                       $_orderby = 'post_count';
+               } elseif ( 'ID' == $orderby || 'id' == $orderby ) {
+                       $_orderby = 'ID';
+               } elseif ( 'meta_value' == $orderby || $this->get( 'meta_key' ) == $orderby ) {
+                       $_orderby = "$wpdb->usermeta.meta_value";
+               } elseif ( 'meta_value_num' == $orderby ) {
+                       $_orderby = "$wpdb->usermeta.meta_value+0";
+               } elseif ( 'include' === $orderby && ! empty( $this->query_vars['include'] ) ) {
+                       $include = wp_parse_id_list( $this->query_vars['include'] );
+                       $include_sql = implode( ',', $include );
+                       $_orderby = "FIELD( $wpdb->users.ID, $include_sql )";
+               } elseif ( isset( $meta_query_clauses[ $orderby ] ) ) {
+                       $meta_clause = $meta_query_clauses[ $orderby ];
+                       $_orderby = sprintf( "CAST(%s.meta_value AS %s)", esc_sql( $meta_clause['alias'] ), esc_sql( $meta_clause['cast'] ) );
+               }
+
+               return $_orderby;
+       }
+
+       /**
+        * Parse an 'order' query variable and cast it to ASC or DESC as necessary.
+        *
+        * @since 4.2.0
+        * @access protected
+        *
+        * @param string $order The 'order' query variable.
+        * @return string The sanitized 'order' query variable.
+        */
+       protected function parse_order( $order ) {
+               if ( ! is_string( $order ) || empty( $order ) ) {
+                       return 'DESC';
+               }
+
+               if ( 'ASC' === strtoupper( $order ) ) {
+                       return 'ASC';
+               } else {
+                       return 'DESC';
+               }
+       }
+
        /**
         * Make private properties readable for backwards compatibility.
         *
@@ -929,7 +1029,9 @@ class WP_User_Query {
         * @return mixed Property.
         */
        public function __get( $name ) {
-               return $this->$name;
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       return $this->$name;
+               }
        }
 
        /**
@@ -938,12 +1040,14 @@ class WP_User_Query {
         * @since 4.0.0
         * @access public
         *
-        * @param string $name  Property to set.
+        * @param string $name  Property to check if set.
         * @param mixed  $value Property value.
         * @return mixed Newly-set property.
         */
        public function __set( $name, $value ) {
-               return $this->$name = $value;
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       return $this->$name = $value;
+               }
        }
 
        /**
@@ -956,7 +1060,9 @@ class WP_User_Query {
         * @return bool Whether the property is set.
         */
        public function __isset( $name ) {
-               return isset( $this->$name );
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       return isset( $this->$name );
+               }
        }
 
        /**
@@ -968,7 +1074,9 @@ class WP_User_Query {
         * @param string $name Property to unset.
         */
        public function __unset( $name ) {
-               unset( $this->$name );
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       unset( $this->$name );
+               }
        }
 
        /**
@@ -982,7 +1090,10 @@ class WP_User_Query {
         * @return mixed|bool Return value of the callback, false otherwise.
         */
        public function __call( $name, $arguments ) {
-               return call_user_func_array( array( $this, $name ), $arguments );
+               if ( 'get_search_sql' === $name ) {
+                       return call_user_func_array( array( $this, $name ), $arguments );
+               }
+               return false;
        }
 }
 
@@ -1138,7 +1249,7 @@ function is_user_member_of_blog( $user_id = 0, $blog_id = 0 ) {
  * Post meta data is called "Custom Fields" on the Administration Screens.
  *
  * @since 3.0.0
- * @link http://codex.wordpress.org/Function_Reference/add_user_meta
+ * @link https://codex.wordpress.org/Function_Reference/add_user_meta
  *
  * @param int $user_id User ID.
  * @param string $meta_key Metadata name.
@@ -1158,7 +1269,7 @@ function add_user_meta($user_id, $meta_key, $meta_value, $unique = false) {
  * allows removing all metadata matching key, if needed.
  *
  * @since 3.0.0
- * @link http://codex.wordpress.org/Function_Reference/delete_user_meta
+ * @link https://codex.wordpress.org/Function_Reference/delete_user_meta
  *
  * @param int $user_id user ID
  * @param string $meta_key Metadata name.
@@ -1173,7 +1284,7 @@ function delete_user_meta($user_id, $meta_key, $meta_value = '') {
  * Retrieve user meta field for a user.
  *
  * @since 3.0.0
- * @link http://codex.wordpress.org/Function_Reference/get_user_meta
+ * @link https://codex.wordpress.org/Function_Reference/get_user_meta
  *
  * @param int $user_id User ID.
  * @param string $key Optional. The meta key to retrieve. By default, returns data for all keys.
@@ -1194,7 +1305,7 @@ function get_user_meta($user_id, $key = '', $single = false) {
  * If the meta field for the user does not exist, it will be added.
  *
  * @since 3.0.0
- * @link http://codex.wordpress.org/Function_Reference/update_user_meta
+ * @link https://codex.wordpress.org/Function_Reference/update_user_meta
  *
  * @param int $user_id User ID.
  * @param string $meta_key Metadata key.
@@ -1514,7 +1625,7 @@ function sanitize_user_field($field, $value, $user_id, $context) {
                        $value = esc_html( $value ); // textarea_escaped?
                else
                        $value = esc_attr($value);
-       } else if ( 'db' == $context ) {
+       } elseif ( 'db' == $context ) {
                if ( $prefixed ) {
                        /** This filter is documented in wp-includes/post.php */
                        $value = apply_filters( "pre_{$field}", $value );
@@ -1559,11 +1670,11 @@ function sanitize_user_field($field, $value, $user_id, $context) {
        if ( 'user_url' == $field )
                $value = esc_url($value);
 
-       if ( 'attribute' == $context )
-               $value = esc_attr($value);
-       else if ( 'js' == $context )
-               $value = esc_js($value);
-
+       if ( 'attribute' == $context ) {
+               $value = esc_attr( $value );
+       } elseif ( 'js' == $context ) {
+               $value = esc_js( $value );
+       }
        return $value;
 }
 
@@ -1633,7 +1744,7 @@ function email_exists( $email ) {
 }
 
 /**
- * Checks whether an username is valid.
+ * Checks whether a username is valid.
  *
  * @since 2.0.1
  *
@@ -1655,7 +1766,7 @@ function validate_username( $username ) {
 }
 
 /**
- * Insert an user into the database.
+ * Insert a user into the database.
  *
  * Most of the $userdata array fields have filters associated with the values.
  * The exceptions are 'rich_editing', 'role', 'jabber', 'aim', 'yim',
@@ -1686,7 +1797,7 @@ function validate_username( $username ) {
  *                                        to build $display_name if unspecified.
  *     @type string|bool $rich_editing    Whether to enable the rich-editor for the user. False
  *                                        if not empty.
- *     @type string      $date_registered Date the user registered. Format is 'Y-m-d H:i:s'.
+ *     @type string      $user_registered Date the user registered. Format is 'Y-m-d H:i:s'.
  *     @type string      $role            User's role.
  *     @type string      $jabber          User's Jabber account username.
  *     @type string      $aim             User's AIM account username.
@@ -1698,9 +1809,9 @@ function validate_username( $username ) {
 function wp_insert_user( $userdata ) {
        global $wpdb;
 
-       if ( is_a( $userdata, 'stdClass' ) ) {
+       if ( $userdata instanceof stdClass ) {
                $userdata = get_object_vars( $userdata );
-       } elseif ( is_a( $userdata, 'WP_User' ) ) {
+       } elseif ( $userdata instanceof WP_User ) {
                $userdata = $userdata->to_array();
        }
        // Are we updating or creating?
@@ -1783,7 +1894,15 @@ function wp_insert_user( $userdata ) {
         */
        $user_email = apply_filters( 'pre_user_email', $raw_user_email );
 
-       if ( ! $update && ! defined( 'WP_IMPORTING' ) && email_exists( $user_email ) ) {
+       /*
+        * If there is no update, just check for `email_exists`. If there is an update,
+        * check if current email and new email are the same, or not, and check `email_exists`
+        * accordingly.
+        */
+       if ( ( ! $update || ( ! empty( $old_user_data ) && $user_email !== $old_user_data->user_email ) )
+               && ! defined( 'WP_IMPORTING' )
+               && email_exists( $user_email )
+       ) {
                return new WP_Error( 'existing_user_email', __( 'Sorry, that email address is already used!' ) );
        }
        $nickname = empty( $userdata['nickname'] ) ? $user_login : $userdata['nickname'];
@@ -1941,7 +2060,7 @@ function wp_insert_user( $userdata ) {
 }
 
 /**
- * Update an user in the database.
+ * Update a user in the database.
  *
  * It is possible to update a user's password by specifying the 'user_pass'
  * value in the $userdata parameter array.
@@ -1957,17 +2076,22 @@ function wp_insert_user( $userdata ) {
  * @return int|WP_Error The updated user's ID or a WP_Error object if the user could not be updated.
  */
 function wp_update_user($userdata) {
-       if ( is_a( $userdata, 'stdClass' ) )
+       if ( $userdata instanceof stdClass ) {
                $userdata = get_object_vars( $userdata );
-       elseif ( is_a( $userdata, 'WP_User' ) )
+       } elseif ( $userdata instanceof WP_User ) {
                $userdata = $userdata->to_array();
+       }
 
-       $ID = (int) $userdata['ID'];
+       $ID = isset( $userdata['ID'] ) ? (int) $userdata['ID'] : 0;
+       if ( ! $ID ) {
+               return new WP_Error( 'invalid_user_id', __( 'Invalid user ID.' ) );
+       }
 
        // First, get all of the original fields
        $user_obj = get_userdata( $ID );
-       if ( ! $user_obj )
+       if ( ! $user_obj ) {
                return new WP_Error( 'invalid_user_id', __( 'Invalid user ID.' ) );
+       }
 
        $user = $user_obj->to_array();
 
@@ -2012,7 +2136,7 @@ function wp_update_user($userdata) {
 }
 
 /**
- * A simpler way of inserting an user into the database.
+ * A simpler way of inserting a user into the database.
  *
  * Creates a new user with just the username, password, and email. For more
  * complex user creation use {@see wp_insert_user()} to specify more information.
@@ -2117,7 +2241,8 @@ function wp_get_password_hint() {
  * hashing process. This field is now hashed; old values are no longer accepted
  * but have a different WP_Error code so good user feedback can be provided.
  *
- * @global wpdb $wpdb WordPress database object for queries.
+ * @global wpdb         $wpdb      WordPress database object for queries.
+ * @global PasswordHash $wp_hasher Portable PHP password hashing framework instance.
  *
  * @param string $key       Hash to validate sending user's password.
  * @param string $login     The user login.
index 996d17383007a05de96a777a43d588a4d1b90ae8..da29cb20f0cea59c5de0eab791bca6c9b69138f9 100644 (file)
@@ -10,7 +10,7 @@
  * 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
+ * generate rewrite rules for it. See https://codex.wordpress.org/Nginx
  *
  * @package WordPress
  */
index 0684eb84c1d94cbd2c29f9268aa88598256b4d5a..ac5dadd95aba5e52324dbfe1416fa3caa3beb4af 100644 (file)
@@ -4,21 +4,21 @@
  *
  * @global string $wp_version
  */
-$wp_version = '4.1.4';
+$wp_version = '4.2';
 
 /**
  * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
  *
  * @global int $wp_db_version
  */
-$wp_db_version = 30134;
+$wp_db_version = 31532;
 
 /**
  * Holds the TinyMCE version
  *
  * @global string $tinymce_version
  */
-$tinymce_version = '4107-20150118';
+$tinymce_version = '4109-20150406';
 
 /**
  * Holds the required PHP version
index 2e710ccb89cc1dc08ab2868c2efb58e1c4c634e6..a488a90f60100b99c50e3eb9f87d90f347aedfe0 100644 (file)
@@ -6,8 +6,8 @@
  * This functionality was found in a plugin before WordPress 2.2 release which
  * included it in the core from that point on.
  *
- * @link http://codex.wordpress.org/Plugins/WordPress_Widgets WordPress Widgets
- * @link http://codex.wordpress.org/Plugins/WordPress_Widgets_Api Widgets API
+ * @link https://codex.wordpress.org/Plugins/WordPress_Widgets WordPress Widgets
+ * @link https://codex.wordpress.org/Plugins/WordPress_Widgets_Api Widgets API
  *
  * @package WordPress
  * @subpackage Widgets
@@ -166,7 +166,7 @@ class WP_Widget {
 
        /**
         * PHP4 constructor
-        * 
+        *
         * @param string $id_base
         * @param string $name
         * @param array  $widget_options
@@ -803,6 +803,8 @@ function register_sidebar($args = array()) {
 
        $i = count($wp_registered_sidebars) + 1;
 
+       $id_is_empty = empty( $args['id'] );
+
        $defaults = array(
                'name' => sprintf(__('Sidebar %d'), $i ),
                'id' => "sidebar-$i",
@@ -816,6 +818,11 @@ function register_sidebar($args = array()) {
 
        $sidebar = wp_parse_args( $args, $defaults );
 
+       if ( $id_is_empty ) {
+               /* translators: 1: the id argument, 2: sidebar name, 3: recommended id value */
+               _doing_it_wrong( __FUNCTION__, sprintf( __( 'No %1$s was set in the arguments array for the "%2$s" sidebar. Defaulting to "%3$s". Manually set the %1$s to "%3$s" to silence this notice and keep existing sidebar content.' ), '<code>id</code>', $sidebar['name'], $sidebar['id'] ), '4.2.0' );
+       }
+
        $wp_registered_sidebars[$sidebar['id']] = $sidebar;
 
        add_theme_support('widgets');
@@ -1552,8 +1559,9 @@ function the_widget( $widget, $instance = array(), $args = array() ) {
        global $wp_widget_factory;
 
        $widget_obj = $wp_widget_factory->widgets[$widget];
-       if ( !is_a($widget_obj, 'WP_Widget') )
+       if ( ! ( $widget_obj instanceof WP_Widget ) ) {
                return;
+       }
 
        $before_widget = sprintf('<div class="widget %s">', $widget_obj->widget_options['classname'] );
        $default_args = array( 'before_widget' => $before_widget, 'after_widget' => "</div>", 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>' );
index 6eb0c75dc173d345d7e5cb8d5bd05285a90e875a..5e5cd1eefd12858c47327d01890df448b37f7286 100644 (file)
@@ -43,7 +43,7 @@ define( 'ARRAY_N', 'ARRAY_N' );
  * file to your class. The wpdb class will still be included,
  * so you can extend it or simply use your own.
  *
- * @link http://codex.wordpress.org/Function_Reference/wpdb_Class
+ * @link https://codex.wordpress.org/Function_Reference/wpdb_Class
  *
  * @package WordPress
  * @subpackage Database
@@ -240,7 +240,7 @@ class wpdb {
        var $ready = false;
 
        /**
-        * {@internal Missing Description}}
+        * Blog ID.
         *
         * @since 3.0.0
         * @access public
@@ -249,7 +249,7 @@ class wpdb {
        public $blogid = 0;
 
        /**
-        * {@internal Missing Description}}
+        * Site ID.
         *
         * @since 3.0.0
         * @access public
@@ -634,8 +634,6 @@ class wpdb {
                        }
                }
 
-               $this->init_charset();
-
                $this->dbuser = $dbuser;
                $this->dbpassword = $dbpassword;
                $this->dbname = $dbname;
@@ -727,16 +725,31 @@ class wpdb {
        public function init_charset() {
                if ( function_exists('is_multisite') && is_multisite() ) {
                        $this->charset = 'utf8';
-                       if ( defined( 'DB_COLLATE' ) && DB_COLLATE )
+                       if ( defined( 'DB_COLLATE' ) && DB_COLLATE ) {
                                $this->collate = DB_COLLATE;
-                       else
+                       } else {
                                $this->collate = 'utf8_general_ci';
+                       }
                } elseif ( defined( 'DB_COLLATE' ) ) {
                        $this->collate = DB_COLLATE;
                }
 
-               if ( defined( 'DB_CHARSET' ) )
+               if ( defined( 'DB_CHARSET' ) ) {
                        $this->charset = DB_CHARSET;
+               }
+
+               if ( ( $this->use_mysqli && ! ( $this->dbh instanceof mysqli ) )
+                 || ( empty( $this->dbh ) || ! ( $this->dbh instanceof mysqli ) ) ) {
+                       return;
+               }
+
+               if ( 'utf8' === $this->charset && $this->has_cap( 'utf8mb4' ) ) {
+                       $this->charset = 'utf8mb4';
+               }
+
+               if ( 'utf8mb4' === $this->charset && ( ! $this->collate || stripos( $this->collate, 'utf8_' ) === 0 ) ) {
+                       $this->collate = 'utf8mb4_unicode_ci';
+               }
        }
 
        /**
@@ -1376,7 +1389,7 @@ class wpdb {
                        while ( mysqli_more_results( $this->dbh ) ) {
                                mysqli_next_result( $this->dbh );
                        }
-               } else if ( is_resource( $this->result ) ) {
+               } elseif ( is_resource( $this->result ) ) {
                        mysql_free_result( $this->result );
                }
        }
@@ -1445,9 +1458,9 @@ class wpdb {
 
                                if ( $this->has_connected ) {
                                        $attempt_fallback = false;
-                               } else if ( defined( 'WP_USE_EXT_MYSQL' ) && ! WP_USE_EXT_MYSQL ) {
+                               } elseif ( defined( 'WP_USE_EXT_MYSQL' ) && ! WP_USE_EXT_MYSQL ) {
                                        $attempt_fallback = false;
-                               } else if ( ! function_exists( 'mysql_connect' ) ) {
+                               } elseif ( ! function_exists( 'mysql_connect' ) ) {
                                        $attempt_fallback = false;
                                }
 
@@ -1485,11 +1498,17 @@ class wpdb {
 " ), htmlspecialchars( $this->dbhost, ENT_QUOTES ) ), 'db_connect_fail' );
 
                        return false;
-               } else if ( $this->dbh ) {
+               } elseif ( $this->dbh ) {
+                       if ( ! $this->has_connected ) {
+                               $this->init_charset();
+                       }
+
                        $this->has_connected = true;
+
                        $this->set_charset( $this->dbh );
-                       $this->set_sql_mode();
+
                        $this->ready = true;
+                       $this->set_sql_mode();
                        $this->select( $this->dbname, $this->dbh );
 
                        return true;
@@ -1620,6 +1639,7 @@ class wpdb {
                }
 
                $this->check_current_query = true;
+
                // Keep track of the last query for debug..
                $this->last_query = $query;
 
@@ -1685,7 +1705,7 @@ class wpdb {
                                        $this->last_result[$num_rows] = $row;
                                        $num_rows++;
                                }
-                       } else if ( is_resource( $this->result ) ) {
+                       } elseif ( is_resource( $this->result ) ) {
                                while ( $row = @mysql_fetch_object( $this->result ) ) {
                                        $this->last_result[$num_rows] = $row;
                                        $num_rows++;
@@ -1926,20 +1946,11 @@ class wpdb {
         */
        protected function process_fields( $table, $data, $format ) {
                $data = $this->process_field_formats( $data, $format );
-               if ( false === $data ) {
-                       return false;
-               }
-
                $data = $this->process_field_charsets( $data, $table );
                if ( false === $data ) {
                        return false;
                }
 
-               $data = $this->process_field_lengths( $data, $table );
-               if ( false === $data ) {
-                       return false;
-               }
-
                $converted_data = $this->strip_invalid_text( $data );
 
                if ( $data !== $converted_data ) {
@@ -1986,12 +1997,12 @@ class wpdb {
 
        /**
         * Adds field charsets to field/value/format arrays generated by
-        * the {@see wpdb::process_field_formats()} method.
+        * the wpdb::process_field_formats() method.
         *
         * @since 4.2.0
         * @access protected
         *
-        * @param array  $data  As it comes from the {@see wpdb::process_field_formats()} method.
+        * @param array  $data  As it comes from the wpdb::process_field_formats() method.
         * @param string $table Table name.
         * @return The same array as $data with additional 'charset' keys.
         */
@@ -2020,40 +2031,6 @@ class wpdb {
                return $data;
        }
 
-       /**
-        * For string fields, record the maximum string length that field can safely save.
-        *
-        * @since 4.2.1
-        * @access protected
-        *
-        * @param array  $data  As it comes from the wpdb::process_field_charsets() method.
-        * @param string $table Table name.
-        * @return array|False The same array as $data with additional 'length' keys, or false if
-        *                     any of the values were too long for their corresponding field.
-        */
-       protected function process_field_lengths( $data, $table ) {
-               foreach ( $data as $field => $value ) {
-                       if ( '%d' === $value['format'] || '%f' === $value['format'] ) {
-                               // We can skip this field if we know it isn't a string.
-                               // This checks %d/%f versus ! %s because it's sprintf() could take more.
-                               $value['length'] = false;
-                       } else {
-                               $value['length'] = $this->get_col_length( $table, $field );
-                               if ( is_wp_error( $value['length'] ) ) {
-                                       return false;
-                               }
-                       }
-
-                       if ( false !== $value['length'] && strlen( $value['value'] ) > $value['length'] ) {
-                               return false;
-                       }
-
-                       $data[ $field ] = $value;
-               }
-
-               return $data;
-       }
-
        /**
         * Retrieve one variable from the database.
         *
@@ -2229,7 +2206,7 @@ class wpdb {
         * @access protected
         *
         * @param string $table Table name.
-        * @return string|WP_Error Table character set, {@see WP_Error} object if it couldn't be found.
+        * @return string|WP_Error Table character set, WP_Error object if it couldn't be found.
         */
        protected function get_table_charset( $table ) {
                $tablekey = strtolower( $table );
@@ -2269,6 +2246,12 @@ class wpdb {
                foreach ( $columns as $column ) {
                        if ( ! empty( $column->Collation ) ) {
                                list( $charset ) = explode( '_', $column->Collation );
+
+                               // If the current connection can't support utf8mb4 characters, let's only send 3-byte utf8 characters.
+                               if ( 'utf8mb4' === $charset && ! $this->has_cap( 'utf8mb4' ) ) {
+                                       $charset = 'utf8';
+                               }
+
                                $charsets[ strtolower( $charset ) ] = true;
                        }
 
@@ -2323,7 +2306,7 @@ class wpdb {
         * @param string $table  Table name.
         * @param string $column Column name.
         * @return mixed Column character set as a string. False if the column has no
-        *               character set. {@see WP_Error} object if there was an error.
+        *               character set. WP_Error object if there was an error.
         */
        public function get_col_charset( $table, $column ) {
                $tablekey = strtolower( $table );
@@ -2378,77 +2361,6 @@ class wpdb {
                return $charset;
        }
 
-       /**
-        * Retrieve the maximum string length allowed in a given column.
-        *
-        * @since 4.2.1
-        * @access public
-        *
-        * @param string $table  Table name.
-        * @param string $column Column name.
-        * @return mixed Max column length as an int. False if the column has no
-        *               length. WP_Error object if there was an error.
-        */
-       public function get_col_length( $table, $column ) {
-               $tablekey = strtolower( $table );
-               $columnkey = strtolower( $column );
-
-               // Skip this entirely if this isn't a MySQL database.
-               if ( false === $this->is_mysql ) {
-                       return false;
-               }
-
-               if ( empty( $this->col_meta[ $tablekey ] ) ) {
-                       // This primes column information for us.
-                       $table_charset = $this->get_table_charset( $table );
-                       if ( is_wp_error( $table_charset ) ) {
-                               return $table_charset;
-                       }
-               }
-
-               if ( empty( $this->col_meta[ $tablekey ][ $columnkey ] ) ) {
-                       return false;
-               }
-
-               $typeinfo = explode( '(', $this->col_meta[ $tablekey ][ $columnkey ]->Type );
-
-               $type = strtolower( $typeinfo[0] );
-               if ( ! empty( $typeinfo[1] ) ) {
-                       $length = trim( $typeinfo[1], ')' );
-               } else {
-                       $length = false;
-               }
-
-               switch( $type ) {
-                       case 'binary':
-                       case 'char':
-                       case 'varbinary':
-                       case 'varchar':
-                               return $length;
-                               break;
-                       case 'tinyblob':
-                       case 'tinytext':
-                               return 255; // 2^8 - 1
-                               break;
-                       case 'blob':
-                       case 'text':
-                               return 65535; // 2^16 - 1
-                               break;
-                       case 'mediumblob':
-                       case 'mediumtext':
-                               return 16777215; // 2^24 - 1
-                               break;
-                       case 'longblob':
-                       case 'longtext':
-                               return 4294967295; // 2^32 - 1
-                               break;
-                       default:
-                               return false;
-               }
-
-               return false;
-       }
-
        /**
         * Check if a string is ASCII.
         *
@@ -2543,9 +2455,8 @@ class wpdb {
         * @return array|WP_Error The $data parameter, with invalid characters removed from
         *                        each value. This works as a passthrough: any additional keys
         *                        such as 'field' are retained in each value array. If we cannot
-        *                        remove invalid characters, a {@see WP_Error} object is returned.
+        *                        remove invalid characters, a WP_Error object is returned.
         */
-               // If any of the columns don't have one of these collations, it needs more sanity checking.
        protected function strip_invalid_text( $data ) {
                // Some multibyte character sets that we can check in PHP.
                $mb_charsets = array(
@@ -2678,7 +2589,7 @@ class wpdb {
         * @access protected
         *
         * @param string $query Query to convert.
-        * @return string|WP_Error The converted query, or a {@see WP_Error} object if the conversion fails.
+        * @return string|WP_Error The converted query, or a WP_Error object if the conversion fails.
         */
        protected function strip_invalid_text_from_query( $query ) {
                $table = $this->get_table_from_query( $query );
@@ -2719,7 +2630,7 @@ class wpdb {
         * @param string $table  Table name.
         * @param string $column Column name.
         * @param string $value  The text to check.
-        * @return string|WP_Error The converted string, or a `WP_Error` object if the conversion fails.
+        * @return string|WP_Error The converted string, or a WP_Error object if the conversion fails.
         */
        public function strip_invalid_text_for_column( $table, $column, $value ) {
                if ( ! is_string( $value ) || $this->check_ascii( $value ) ) {
@@ -2982,7 +2893,25 @@ class wpdb {
                        case 'set_charset' :
                                return version_compare( $version, '5.0.7', '>=' );
                        case 'utf8mb4' :      // @since 4.1.0
-                               return version_compare( $version, '5.5.3', '>=' );
+                               if ( version_compare( $version, '5.5.3', '<' ) ) {
+                                       return false;
+                               }
+                               if ( $this->use_mysqli ) {
+                                       $client_version = mysqli_get_client_info();
+                               } else {
+                                       $client_version = mysql_get_client_info();
+                               }
+
+                               /*
+                                * libmysql has supported utf8mb4 since 5.5.3, same as the MySQL server.
+                                * mysqlnd has supported utf8mb4 since 5.0.9.
+                                */
+                               if ( false !== strpos( $client_version, 'mysqlnd' ) ) {
+                                       $client_version = preg_replace( '/^\D+([\d.]+).*/', '$1', $client_version );
+                                       return version_compare( $client_version, '5.0.9', '>=' );
+                               } else {
+                                       return version_compare( $client_version, '5.5.3', '>=' );
+                               }
                }
 
                return false;
index 77efd45533c27a5534cc4713d16354721e5ee729..1e8fc0e921bfb01c485f2f8f8056207fe00b957a 100644 (file)
@@ -42,7 +42,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
        public $_trailing_context_lines = 10000;
 
        /**
-        * {@internal Missing Description}}
+        * Threshold for when a diff should be saved or omitted.
         *
         * @var float
         * @access protected
@@ -68,6 +68,8 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
         */
        protected $_show_split_view = true;
 
+       protected $compat_fields = array( '_show_split_view', 'inline_diff_renderer', '_diff_threshold' );
+
        /**
         * Constructor - Call parent constructor with params array.
         *
@@ -271,7 +273,7 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
                                $diff = $renderer->render( $text_diff );
 
                                // If they're too different, don't include any <ins> or <dels>
-                               if ( $diff_count = preg_match_all( '!(<ins>.*?</ins>|<del>.*?</del>)!', $diff, $diff_matches ) ) {
+                               if ( preg_match_all( '!(<ins>.*?</ins>|<del>.*?</del>)!', $diff, $diff_matches ) ) {
                                        // length of all text between <ins> or <del>
                                        $stripped_matches = strlen(strip_tags( join(' ', $diff_matches[0]) ));
                                        // since we count lengith of text between <ins> or <del> (instead of picking just one),
@@ -465,7 +467,9 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
         * @return mixed Property.
         */
        public function __get( $name ) {
-               return $this->$name;
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       return $this->$name;
+               }
        }
 
        /**
@@ -479,7 +483,9 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
         * @return mixed Newly-set property.
         */
        public function __set( $name, $value ) {
-               return $this->$name = $value;
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       return $this->$name = $value;
+               }
        }
 
        /**
@@ -492,7 +498,9 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
         * @return bool Whether the property is set.
         */
        public function __isset( $name ) {
-               return isset( $this->$name );
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       return isset( $this->$name );
+               }
        }
 
        /**
@@ -504,21 +512,9 @@ class WP_Text_Diff_Renderer_Table extends Text_Diff_Renderer {
         * @param string $name Property to unset.
         */
        public function __unset( $name ) {
-               unset( $this->$name );
-       }
-
-       /**
-        * Make private/protected methods readable for backwards compatibility.
-        *
-        * @since 4.0.0
-        * @access public
-        *
-        * @param callable $name      Method to call.
-        * @param array    $arguments Arguments to pass when calling.
-        * @return mixed|bool Return value of the callback, false otherwise.
-        */
-       public function __call( $name, $arguments ) {
-               return call_user_func_array( array( $this, $name ), $arguments );
+               if ( in_array( $name, $this->compat_fields ) ) {
+                       unset( $this->$name );
+               }
        }
 }
 
index 9021ceb7475866cfbeca7b615b7375089b06df87..983298bb68da06c15a008803066f32aa1d59886d 100644 (file)
@@ -23,6 +23,14 @@ define( 'ABSPATH', dirname(__FILE__) . '/' );
 
 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 );
 
+/*
+ * If wp-config.php exists in the WordPress root, or if it exists in the root and wp-settings.php
+ * doesn't, load wp-config.php. The secondary check for wp-settings.php has the added benefit
+ * of avoiding cases where the current directory is a nested installation, e.g. / is WordPress(a)
+ * and /blog/ is WordPress(b).
+ *
+ * If neither set of conditions is true, initiate loading the setup process.
+ */
 if ( file_exists( ABSPATH . 'wp-config.php') ) {
 
        /** The config file resides in ABSPATH */
@@ -65,7 +73,7 @@ if ( file_exists( ABSPATH . 'wp-config.php') ) {
 
        // Die with an error message
        $die  = __( "There doesn't seem to be a <code>wp-config.php</code> file. I need this before we can get started." ) . '</p>';
-       $die .= '<p>' . __( "Need more help? <a href='http://codex.wordpress.org/Editing_wp-config.php'>We got it</a>." ) . '</p>';
+       $die .= '<p>' . __( "Need more help? <a href='https://codex.wordpress.org/Editing_wp-config.php'>We got it</a>." ) . '</p>';
        $die .= '<p>' . __( "You can create a <code>wp-config.php</code> file through a web interface, but this doesn't work for all server setups. The safest way is to manually create the file." ) . '</p>';
        $die .= '<p><a href="' . $path . '" class="button button-large">' . __( "Create a Configuration File" ) . '</a>';
 
index 3dabec4a4ca35eac793e7d9f9e62ecb1ed07d9dc..d52ccb3a4ab27d1c7cae6578d56a2c06b2dd30c3 100644 (file)
@@ -276,7 +276,7 @@ function retrieve_password() {
 
        if ( empty( $_POST['user_login'] ) ) {
                $errors->add('empty_username', __('<strong>ERROR</strong>: Enter a username or e-mail address.'));
-       } else if ( strpos( $_POST['user_login'], '@' ) ) {
+       } elseif ( strpos( $_POST['user_login'], '@' ) ) {
                $user_data = get_user_by( 'email', trim( $_POST['user_login'] ) );
                if ( empty( $user_data ) )
                        $errors->add('invalid_email', __('<strong>ERROR</strong>: There is no user registered with that email address.'));
@@ -333,10 +333,11 @@ function retrieve_password() {
         */
        $allow = apply_filters( 'allow_password_reset', true, $user_data->ID );
 
-       if ( ! $allow )
-               return new WP_Error('no_password_reset', __('Password reset is not allowed for this user'));
-       else if ( is_wp_error($allow) )
+       if ( ! $allow ) {
+               return new WP_Error( 'no_password_reset', __('Password reset is not allowed for this user') );
+       } elseif ( is_wp_error( $allow ) ) {
                return $allow;
+       }
 
        // Generate something random for a password reset key.
        $key = wp_generate_password( 20, false );
@@ -483,9 +484,28 @@ case 'postpass' :
 
 case 'logout' :
        check_admin_referer('log-out');
+
+       $user = wp_get_current_user();
+
        wp_logout();
 
-       $redirect_to = !empty( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : 'wp-login.php?loggedout=true';
+       if ( ! empty( $_REQUEST['redirect_to'] ) ) {
+               $redirect_to = $requested_redirect_to = $_REQUEST['redirect_to'];
+       } else {
+               $redirect_to = 'wp-login.php?loggedout=true';
+               $requested_redirect_to = '';
+       }
+
+       /**
+        * Filter the log out redirect URL.
+        *
+        * @since 4.2.0
+        *
+        * @param string  $redirect_to           The redirect destination URL.
+        * @param string  $requested_redirect_to The requested redirect destination URL passed as a parameter.
+        * @param WP_User $user                  The WP_User object for the user that's logging out.
+        */
+       $redirect_to = apply_filters( 'logout_redirect', $redirect_to, $requested_redirect_to, $user );
        wp_safe_redirect( $redirect_to );
        exit();
 
@@ -777,11 +797,11 @@ default:
        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/' ) ) );
+                               __( 'https://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' ) ) );
+                               __( 'https://codex.wordpress.org/Cookies' ) ) );
                }
        }
 
@@ -869,16 +889,22 @@ default:
        if ( isset($_POST['log']) )
                $user_login = ( 'incorrect_password' == $errors->get_error_code() || 'empty_password' == $errors->get_error_code() ) ? esc_attr(wp_unslash($_POST['log'])) : '';
        $rememberme = ! empty( $_POST['rememberme'] );
+
+       if ( ! empty( $errors->errors ) ) {
+               $aria_describedby_error = ' aria-describedby="login_error"';
+       } else {
+               $aria_describedby_error = '';
+       }
 ?>
 
 <form name="loginform" id="loginform" action="<?php echo esc_url( site_url( 'wp-login.php', 'login_post' ) ); ?>" method="post">
        <p>
                <label for="user_login"><?php _e('Username') ?><br />
-               <input type="text" name="log" id="user_login" class="input" value="<?php echo esc_attr($user_login); ?>" size="20" /></label>
+               <input type="text" name="log" id="user_login"<?php echo $aria_describedby_error; ?> class="input" value="<?php echo esc_attr( $user_login ); ?>" size="20" /></label>
        </p>
        <p>
                <label for="user_pass"><?php _e('Password') ?><br />
-               <input type="password" name="pwd" id="user_pass" class="input" value="" size="20" /></label>
+               <input type="password" name="pwd" id="user_pass"<?php echo $aria_describedby_error; ?> class="input" value="" size="20" /></label>
        </p>
        <?php
        /**
index 97959716b32e0e56a16d130962c5b1e8890234cd..f90ff11c10f66bc44deda6f7926043d7c536b97a 100644 (file)
@@ -192,7 +192,7 @@ do_action( 'muplugins_loaded' );
 if ( is_multisite() )
        ms_cookie_constants(  );
 
-// Define constants after multisite is loaded. Cookie-related constants may be overridden in ms_network_cookies().
+// Define constants after multisite is loaded.
 wp_cookie_constants();
 
 // Define and enforce our SSL constants
@@ -367,7 +367,7 @@ if ( is_multisite() ) {
  * AJAX requests should use wp-admin/admin-ajax.php. admin-ajax.php can handle requests for
  * users not logged in.
  *
- * @link http://codex.wordpress.org/AJAX_in_Plugins
+ * @link https://codex.wordpress.org/AJAX_in_Plugins
  *
  * @since 3.0.0
  */