<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[23729] trunk: Introduce [audio] and [video] shortcodes, and use MediaElement.js to play them.</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg > ul, #logmsg > ol { margin-left: 0; margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://core.trac.wordpress.org/changeset/23729">23729</a></dd>
<dt>Author</dt> <dd>markjaquith</dd>
<dt>Date</dt> <dd>2013-03-16 05:25:44 +0000 (Sat, 16 Mar 2013)</dd>
</dl>

<h3>Log Message</h3>
<pre>Introduce [audio] and [video] shortcodes, and use MediaElement.js to play them.

props wonderboymusic. see <a href="http://core.trac.wordpress.org/ticket/23282">#23282</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkwpadminincludesajaxactionsphp">trunk/wp-admin/includes/ajax-actions.php</a></li>
<li><a href="#trunkwpincludesfunctionsphp">trunk/wp-includes/functions.php</a></li>
<li><a href="#trunkwpincludesjsmediaeditorjs">trunk/wp-includes/js/media-editor.js</a></li>
<li><a href="#trunkwpincludesmediaphp">trunk/wp-includes/media.php</a></li>
<li><a href="#trunkwpincludespostformatsphp">trunk/wp-includes/post-formats.php</a></li>
<li><a href="#trunkwpincludesscriptloaderphp">trunk/wp-includes/script-loader.php</a></li>
<li><a href="#trunkwpincludesshortcodesphp">trunk/wp-includes/shortcodes.php</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>trunk/wp-includes/mediaelement/</li>
<li><a href="#trunkwpincludesmediaelementbackgroundpng">trunk/wp-includes/mediaelement/background.png</a></li>
<li><a href="#trunkwpincludesmediaelementbigplaypng">trunk/wp-includes/mediaelement/bigplay.png</a></li>
<li><a href="#trunkwpincludesmediaelementbigplaysvg">trunk/wp-includes/mediaelement/bigplay.svg</a></li>
<li><a href="#trunkwpincludesmediaelementcontrolspng">trunk/wp-includes/mediaelement/controls.png</a></li>
<li><a href="#trunkwpincludesmediaelementcontrolssvg">trunk/wp-includes/mediaelement/controls.svg</a></li>
<li><a href="#trunkwpincludesmediaelementflashmediaelementswf">trunk/wp-includes/mediaelement/flashmediaelement.swf</a></li>
<li><a href="#trunkwpincludesmediaelementloadinggif">trunk/wp-includes/mediaelement/loading.gif</a></li>
<li><a href="#trunkwpincludesmediaelementmediaelementandplayerjs">trunk/wp-includes/mediaelement/mediaelement-and-player.js</a></li>
<li><a href="#trunkwpincludesmediaelementmediaelementandplayerminjs">trunk/wp-includes/mediaelement/mediaelement-and-player.min.js</a></li>
<li><a href="#trunkwpincludesmediaelementmediaelementplayercss">trunk/wp-includes/mediaelement/mediaelementplayer.css</a></li>
<li><a href="#trunkwpincludesmediaelementmediaelementplayermincss">trunk/wp-includes/mediaelement/mediaelementplayer.min.css</a></li>
<li><a href="#trunkwpincludesmediaelementsilverlightmediaelementxap">trunk/wp-includes/mediaelement/silverlightmediaelement.xap</a></li>
<li><a href="#trunkwpincludesmediaelementwpmediaelementcss">trunk/wp-includes/mediaelement/wp-mediaelement.css</a></li>
<li><a href="#trunkwpincludesmediaelementwpmediaelementjs">trunk/wp-includes/mediaelement/wp-mediaelement.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkwpadminincludesajaxactionsphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/includes/ajax-actions.php (23728 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/includes/ajax-actions.php        2013-03-16 04:58:37 UTC (rev 23728)
+++ trunk/wp-admin/includes/ajax-actions.php        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -2019,6 +2019,8 @@
</span><span class="cx">                 $caption = isset( $attachment['post_excerpt'] ) ? $attachment['post_excerpt'] : '';
</span><span class="cx">                 $title = ''; // We no longer insert title tags into &lt;img&gt; tags, as they are redundant.
</span><span class="cx">                 $html = get_image_send_to_editor( $id, $caption, $title, $align, $url, (bool) $rel, $size, $alt );
</span><ins>+        } elseif ( 'video' === substr( $post-&gt;post_mime_type, 0, 5 ) || 'audio' === substr( $post-&gt;post_mime_type, 0, 5 )  ) {
+                $html = stripslashes_deep( $_POST['html'] );
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         $html = apply_filters( 'media_send_to_editor', $html, $id, $attachment );
</span></span></pre></div>
<a id="trunkwpincludesfunctionsphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/functions.php (23728 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/functions.php        2013-03-16 04:58:37 UTC (rev 23728)
+++ trunk/wp-includes/functions.php        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -4020,3 +4020,23 @@
</span><span class="cx"> &lt;/script&gt;
</span><span class="cx"> &lt;/div&gt;' ) );
</span><span class="cx"> }
</span><ins>+
+/**
+ * Return RegEx body to liberally match an opening HTML tag that:
+ * 1. Is self-closing or
+ * 2. Has no body but has a closing tag of the same name or
+ * 3. Contains a body and a closing tag of the same name
+ *
+ * Note: this RegEx does not balance inner tags and does not attempt to produce valid HTML
+ *
+ * @since 3.6.0
+ *
+ * @param string $tag An HTML tag name. Example: 'video'
+ * @return string
+ */
+function get_tag_regex( $tag ) {
+        if ( empty( $tag ) )
+                return;
+
+        return sprintf( '(&lt;%1$s[^&gt;]*(?:/?&gt;$|&gt;[\s\S]*?&lt;/%1$s&gt;))', tag_escape( $tag ) );
+}
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludesjsmediaeditorjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/js/media-editor.js (23728 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/js/media-editor.js        2013-03-16 04:58:37 UTC (rev 23728)
+++ trunk/wp-includes/js/media-editor.js        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -66,7 +66,8 @@
</span><span class="cx">                                         src:       size.url,
</span><span class="cx">                                         captionId: 'attachment_' + attachment.id
</span><span class="cx">                                 });
</span><del>-
</del><ins>+                        } else if ( 'video' === attachment.type || 'audio' === attachment.type ) {
+                                _.extend( props, _.pick( attachment, 'title', 'type', 'icon', 'mime' ) );
</ins><span class="cx">                         // Format properties for non-images.
</span><span class="cx">                         } else {
</span><span class="cx">                                 props.title = props.title || attachment.filename;
</span><span class="lines">@@ -95,6 +96,89 @@
</span><span class="cx">                         return wp.html.string( options );
</span><span class="cx">                 },
</span><span class="cx"> 
</span><ins>+                audio: function( props, attachment ) {
+                        var shortcode, html;
+
+                        props = wp.media.string.props( props, attachment );
+
+                        shortcode = {};
+
+                        if ( props.mime ) {
+                                switch ( props.mime ) {
+                                case 'audio/mpeg':
+                                        if ( props.linkUrl.indexOf( 'mp3' ) )
+                                                shortcode.mp3 = props.linkUrl;
+                                        else if ( props.linkUrl.indexOf( 'm4a' ) )
+                                                shortcode.m4a = props.linkUrl;
+                                        break;
+                                case 'audio/mp3':
+                                        shortcode.mp3 = props.linkUrl;
+                                        break;
+                                case 'audio/m4a':
+                                        shortcode.m4a = props.linkUrl;
+                                        break;
+                                case 'audio/wav':
+                                        shortcode.wav = props.linkUrl;
+                                        break;
+                                case 'audio/ogg':
+                                        shortcode.ogg = props.linkUrl;
+                                        break;
+                                case 'audio/x-ms-wma':
+                                case 'audio/wma':
+                                        shortcode.wma = props.linkUrl;
+                                        break;
+                                }
+                        }
+
+                        html = wp.shortcode.string({
+                                tag:     'audio',
+                                attrs:   shortcode
+                        });
+
+                        return html;
+                },
+
+                video: function( props, attachment ) {
+                        var shortcode, html;
+
+                        props = wp.media.string.props( props, attachment );
+
+                        shortcode = {};
+
+                        if ( props.mime ) {
+                                switch ( props.mime ) {
+                                case 'video/mp4':
+                                        shortcode.mp4 = props.linkUrl;
+                                        break;
+                                case 'video/m4v':
+                                        shortcode.m4v = props.linkUrl;
+                                        break;
+                                case 'video/webm':
+                                        shortcode.webm = props.linkUrl;
+                                        break;
+                                case 'video/ogg':
+                                        shortcode.ogv = props.linkUrl;
+                                        break;
+                                case 'video/x-ms-wmv':
+                                case 'video/wmv':
+                                case 'video/asf':
+                                        shortcode.wmv = props.linkUrl;
+                                        break;
+                                case 'video/flv':
+                                case 'video/x-flv':
+                                        shortcode.flv = props.linkUrl;
+                                        break;
+                                }
+                        }
+
+                        html = wp.shortcode.string({
+                                tag:     'video',
+                                attrs:   shortcode
+                        });
+
+                        return html;
+                },
+
</ins><span class="cx">                 image: function( props, attachment ) {
</span><span class="cx">                         var img = {},
</span><span class="cx">                                 options, classes, shortcode, html;
</span><span class="lines">@@ -575,7 +659,10 @@
</span><span class="cx">                                                 if ( props[ prop ] )
</span><span class="cx">                                                         options[ option ] = props[ prop ];
</span><span class="cx">                                         });
</span><del>-
</del><ins>+                                } else if ( 'video' === attachment.type ) {
+                                        html = wp.media.string.video( props );
+                                } else if ( 'audio' === attachment.type ) {
+                                        html = wp.media.string.audio( props );
</ins><span class="cx">                                 } else {
</span><span class="cx">                                         html = wp.media.string.link( props );
</span><span class="cx">                                         options.post_title = props.title;
</span></span></pre></div>
<a id="trunkwpincludesmediaphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/media.php (23728 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/media.php        2013-03-16 04:58:37 UTC (rev 23728)
+++ trunk/wp-includes/media.php        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -806,6 +806,233 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><ins>+ * Provide a No-JS Flash fallback as a last resort for audio / video
+ *
+ * @since 3.6.0
+ *
+ * @param string $url
+ * @return string Fallback HTML
+ */
+function wp_mediaelement_fallback( $url ) {
+        return apply_filters( 'wp_mediaelement_fallback', sprintf( '&lt;a href=&quot;%1$s&quot;&gt;%1$s&lt;/a&gt;', esc_url( $url ) ), $url );
+}
+
+/**
+ * Return a filtered list of WP-supported audio formats
+ *
+ * @since 3.6.0
+ * @return array
+ */
+function wp_get_audio_extensions() {
+        return apply_filters( 'wp_audio_extensions', array( 'mp3', 'ogg', 'wma', 'm4a', 'wav' ) );
+}
+
+/**
+ * The Audio shortcode.
+ *
+ * This implements the functionality of the Audio Shortcode for displaying
+ * WordPress mp3s in a post.
+ *
+ * @since 3.6.0
+ *
+ * @param array $attr Attributes of the shortcode.
+ * @return string HTML content to display audio.
+ */
+function wp_audio_shortcode( $attr ) {
+        $post_id = get_post() ? get_the_ID() : 0;
+
+        static $instances = 0;
+        $instances++;
+
+        $audio = null;
+
+        $default_types = wp_get_audio_extensions();
+        $defaults_atts = array( 'src' =&gt; '' );
+        foreach ( $default_types as $type  )
+                $defaults_atts[$type] = '';
+
+        $atts = shortcode_atts( $defaults_atts, $attr );
+        extract( $atts );
+
+        $primary = false;
+        if ( ! empty( $src ) ) {
+                $type = wp_check_filetype( $src );
+                if ( ! in_array( $type['ext'], $default_types ) ) {
+                        printf( '&lt;a class=&quot;wp-post-format-link-audio&quot; href=&quot;%1$s&quot;&gt;%1$s&lt;/a&gt;', $src );
+                        return;
+                }
+                $primary = true;
+                array_unshift( $default_types, 'src' );
+        } else {
+                foreach ( $default_types as $ext ) {
+                        if ( ! empty( $$ext ) ) {
+                                $type = wp_check_filetype( $$ext );
+                                if ( $type['ext'] === $ext )
+                                        $primary = true;
+                        }
+                }
+        }
+
+        if ( ! $primary ) {
+                $audios = get_post_audio( $post_id );
+                if ( empty( $audios ) )
+                        return;
+
+                $audio = reset( $audios );
+                $src = wp_get_attachment_url( $audio-&gt;ID );
+                if ( empty( $src ) )
+                        return;
+
+                array_unshift( $default_types, 'src' );
+        }
+
+        $library = apply_filters( 'wp_audio_shortcode_library', 'mediaelement' );
+        if ( 'mediaelement' === $library ) {
+                wp_enqueue_style( 'wp-mediaelement' );
+                wp_enqueue_script( 'wp-mediaelement' );
+        }
+
+        $atts = array(
+                sprintf( 'class=&quot;%s&quot;', apply_filters( 'wp_audio_shortcode_class', 'wp-audio-shortcode' ) ),
+                sprintf( 'id=&quot;audio-%d-%d&quot;', $post_id, $instances ),
+        );
+
+        $html = sprintf( '&lt;audio %s controls=&quot;controls&quot; preload=&quot;none&quot;&gt;', join( ' ', $atts ) );
+
+        $fileurl = '';
+        $source = '&lt;source type=&quot;%s&quot; src=&quot;%s&quot; /&gt;';
+        foreach ( $default_types as $fallback ) {
+                if ( ! empty( $$fallback ) ) {
+                        if ( empty( $fileurl ) )
+                                $fileurl = $$fallback;
+                        $type = wp_check_filetype( $$fallback );
+                        $html .= sprintf( $source, $type['type'], $$fallback );
+                }
+        }
+
+        if ( 'mediaelement' === $library )
+                $html .= wp_mediaelement_fallback( $fileurl );
+        $html .= '&lt;/audio&gt;';
+
+        return apply_filters( 'wp_audio_shortcode', $html, $atts, $audio, $post_id );
+}
+add_shortcode( 'audio', apply_filters( 'wp_audio_shortcode_handler', 'wp_audio_shortcode' ) );
+
+/**
+ * Return a filtered list of WP-supported video formats
+ *
+ * @since 3.6.0
+ * @return array
+ */
+function wp_get_video_extensions() {
+        return apply_filters( 'wp_video_extensions', array( 'mp4', 'm4v', 'webm', 'ogv', 'wmv', 'flv' ) );
+}
+
+/**
+ * The Video shortcode.
+ *
+ * This implements the functionality of the Video Shortcode for displaying
+ * WordPress mp4s in a post.
+ *
+ * @since 3.6.0
+ *
+ * @param array $attr Attributes of the shortcode.
+ * @return string HTML content to display video.
+ */
+function wp_video_shortcode( $attr ) {
+        global $content_width;
+        $post_id = get_post() ? get_the_ID() : 0;
+
+        static $instances = 0;
+        $instances++;
+
+        $video = null;
+
+        $default_types = wp_get_video_extensions();
+        $defaults_atts = array(
+                'src' =&gt; '',
+                'poster' =&gt; '',
+                'height' =&gt; 360,
+                'width' =&gt; empty( $content_width ) ? 640 : $content_width,
+        );
+        foreach ( $default_types as $type  )
+                $defaults_atts[$type] = '';
+
+        $atts = shortcode_atts( $defaults_atts, $attr );
+        extract( $atts );
+
+        $primary = false;
+        if ( ! empty( $src ) ) {
+                $type = wp_check_filetype( $src );
+                if ( ! in_array( $type['ext'], $default_types ) ) {
+                        printf( '&lt;a class=&quot;wp-post-format-link-video&quot; href=&quot;%1$s&quot;&gt;%1$s&lt;/a&gt;', $src );
+                        return;
+                }
+                $primary = true;
+                array_unshift( $default_types, 'src' );
+        } else {
+                foreach ( $default_types as $ext ) {
+                        if ( ! empty( $$ext ) ) {
+                                $type = wp_check_filetype( $$ext );
+                                if ( $type['ext'] === $ext )
+                                        $primary = true;
+                        }
+                }
+        }
+
+        if ( ! $primary ) {
+                $videos = get_post_video( $post_id );
+                if ( empty( $videos ) )
+                        return;
+
+                $video = reset( $videos );
+                $src = wp_get_attachment_url( $video-&gt;ID );
+                if ( empty( $src ) )
+                        return;
+
+                array_unshift( $default_types, 'src' );
+        }
+
+        $library = apply_filters( 'wp_video_shortcode_library', 'mediaelement' );
+        if ( 'mediaelement' === $library ) {
+                wp_enqueue_style( 'wp-mediaelement' );
+                wp_enqueue_script( 'wp-mediaelement' );
+        }
+
+        $atts = array(
+                sprintf( 'class=&quot;%s&quot;', apply_filters( 'wp_video_shortcode_class', 'wp-video-shortcode' ) ),
+                sprintf( 'id=&quot;video-%d-%d&quot;', $post_id, $instances ),
+                sprintf( 'width=&quot;%d&quot;', $width ),
+                sprintf( 'height=&quot;%d&quot;', $height ),
+        );
+
+        if ( ! empty( $poster ) )
+                $atts[] = sprintf( 'poster=&quot;%s&quot;', esc_url( $poster ) );
+
+        $html = sprintf( '&lt;video %s controls=&quot;controls&quot; preload=&quot;none&quot;&gt;', join( ' ', $atts ) );
+
+        $fileurl = '';
+        $source = '&lt;source type=&quot;%s&quot; src=&quot;%s&quot; /&gt;';
+        foreach ( $default_types as $fallback ) {
+                if ( ! empty( $$fallback ) ) {
+                        if ( empty( $fileurl ) )
+                                $fileurl = $$fallback;
+                        $type = wp_check_filetype( $$fallback );
+                        // m4v sometimes shows up as video/mpeg which collides with mp4
+                        if ( 'm4v' === $type['ext'] )
+                                $type['type'] = 'video/m4v';
+                        $html .= sprintf( $source, $type['type'], $$fallback );
+                }
+        }
+        if ( 'mediaelement' === $library )
+                $html .= wp_mediaelement_fallback( $fileurl, $width, $height );
+        $html .= '&lt;/video&gt;';
+
+        return apply_filters( 'wp_video_shortcode', $html, $atts, $video, $post_id );
+}
+add_shortcode( 'video', apply_filters( 'wp_video_shortcode_handler', 'wp_video_shortcode' ) );
+
+/**
</ins><span class="cx">  * Display previous image link that has the same post parent.
</span><span class="cx">  *
</span><span class="cx">  * @since 2.5.0
</span><span class="lines">@@ -1545,3 +1772,91 @@
</span><span class="cx"> 
</span><span class="cx">         do_action( 'wp_enqueue_media' );
</span><span class="cx"> }
</span><ins>+
+/**
+ * Retrieve audio attached to the passed post
+ *
+ * @since 3.6.0
+ *
+ * @param int $post_id  Post ID
+ * @return array Found audio attachments
+ */
+function get_post_audio( $post_id = 0 ) {
+        $post = empty( $post_id ) ? get_post() : get_post( $post_id );
+        if ( empty( $post ) )
+                return;
+
+        $children = get_children( array(
+                'post_parent' =&gt; $post-&gt;ID,
+                'post_type' =&gt; 'attachment',
+                'post_mime_type' =&gt; 'audio',
+                'posts_per_page' =&gt; -1
+        ) );
+
+        if ( ! empty( $children ) )
+                return $children;
+}
+
+/**
+ * Retrieve video attached to the passed post
+ *
+ * @since 3.6.0
+ *
+ * @param int $post_id  Post ID
+ * @return array Found video attachments
+ */
+function get_post_video( $post_id = 0 ) {
+        $post = empty( $post_id ) ? get_post() : get_post( $post_id );
+        if ( empty( $post ) )
+                return;
+
+        $children = get_children( array(
+                'post_parent' =&gt; $post-&gt;ID,
+                'post_type' =&gt; 'attachment',
+                'post_mime_type' =&gt; 'video',
+                'posts_per_page' =&gt; -1
+        ) );
+
+        if ( ! empty( $children ) )
+                return $children;
+}
+
+/**
+ * Audio embed handler callback.
+ *
+ * @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.
+ * @return string The embed HTML.
+ */
+function wp_audio_embed( $matches, $attr, $url, $rawattr ) {
+        $audio = $url;
+        if ( shortcode_exists( 'audio' ) )
+                $audio = do_shortcode( '[audio src=&quot;' . $url . '&quot; /]' );
+        return apply_filters( 'wp_audio_embed', $audio, $attr, $url, $rawattr );
+}
+wp_embed_register_handler( 'wp_audio_embed', '#https?://.+?\.(' . join( '|', wp_get_audio_extensions() ) . ')#i', apply_filters( 'wp_audio_embed_handler', 'wp_audio_embed' ), 9999 );
+
+/**
+ * Video embed handler callback.
+ *
+ * @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.
+ * @return string The embed HTML.
+ */
+function wp_video_embed( $matches, $attr, $url, $rawattr ) {
+        $dimensions = '';
+        $video = $url;
+        if ( shortcode_exists( 'video' ) ) {
+                if ( ! empty( $rawattr['width'] ) &amp;&amp; ! empty( $rawattr['height'] ) ) {
+                        $dimensions .= sprintf( 'width=&quot;%d&quot; ', (int) $rawattr['width'] );
+                        $dimensions .= sprintf( 'height=&quot;%d&quot; ', (int) $rawattr['height'] );
+                }
+                $video = do_shortcode( '[video ' . $dimensions . 'src=&quot;' . $url . '&quot; /]' );
+        }
+        return apply_filters( 'wp_video_embed', $video, $attr, $url, $rawattr );
+}
+wp_embed_register_handler( 'wp_video_embed', '#https?://.+?\.(' . join( '|', wp_get_video_extensions() ) . ')#i', apply_filters( 'wp_video_embed_handler', 'wp_video_embed' ), 9999 );
</ins></span></pre></div>
<a id="trunkwpincludesmediaelementbackgroundpng"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/mediaelement/background.png (0 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/mediaelement/background.png                                (rev 0)
+++ trunk/wp-includes/mediaelement/background.png        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+\x89PNG
+
+ +IHDR22?\x88\xB1tEXtSoftwareAdobe ImageReadyq\xC9e&lt;HIDATx\xDA\xEC\xCF1  \xB1\xFFnj \xBD\xC4AN5-p[BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\xE4\x8F'\xC0D\x8D\xB8\xEFy\x8CIEND\xAEB`\x82
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludesmediaelementbigplaypng"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/mediaelement/bigplay.png (0 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/mediaelement/bigplay.png                                (rev 0)
+++ trunk/wp-includes/mediaelement/bigplay.png        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -0,0 +1,24 @@
</span><ins>+\x89PNG
+
+ +IHDRd\xC8)\xE2\xB4\xF3sBIT\xDB\xE1O\xE0\xD2PLTE\xFF\xFF\xFF\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xD6\xD6\xD6\xCC\xCC\xCC\xDE\xDE\xDE\xD6\xD6\xD6ZZZQQQJJJAAA999333)))!!!\xE6\xE6\xE6\xDE\xDE\xDE|||ssskkkfffZZZQQQ\xEF\xEF\xEF\xE6\xE6晙\x99\x94\x94\x94\x8C\x8C\x8C\x84\x84\x84|||\xEF\xEF\xEF\xE6\xE6浵\xB5\xAD\xAD\xAD\xA4\xA4\xA4\x99\x99\x99\xF7\xF7\xF7\xEF\xEF\xEF\xCC\xCC\xCC\xC5\xC5ž\xBE\xBE\xB5\xB5\xB5\xF7\xF7\xF7\xD6\xD6\xD6\xCC\xCC\xCC\xC5\xC5\xC5\xF7\xF7\xF7\xDE\xDE\xDE\xD6\xD6\xD6\xFF\xFF\xFF\xF7\xF7\xF7\xE6\xE6\xE6\xDE\xDE\xDE\xFF\xFF\xFF\xF7\xF7\xF7\xEF\xEF\xEF\xE6\xE6\xE6\xFF\xFF\xFF\xF7\xF7\xF7\xFF\xFF\xFF\xF7\xF7\xF7\x94?\xB4PFtRNS&quot;&quot;33DDDDDDUUUUUUUUUUUffffffffwwwwwww\x88\x88\x88\x88\x88\x88\x99\x99\x99\x99\x99\x99\xAA\xAA\xAA\xAA\xBB\xBB\xBB\xCC\xCC\xCC\xCC\xDD\xDD\xDD\xDD\xEE\xEE\xFF\xFFE+:        pHYs  \xD2\xDD~\xFCtEXtSoftwareAdobe Fireworks CS4\xB2ӠtEXtCreation Time11/19/10-s\xBB1
         \xE2IDATx\x9C\xED\x9A{[\xB9\xC0mE\x96\xE52GA\xAA\xAC\x97]\xB6\xAD\x9C\xEAʊ\x88Pg\xC6\xEF\xFF\x95N.o\x9273I&amp;\x9F\xB3\xCFc\xFEji&amp;\xBF\xBC\xF7\xE4M&gt;\xC6\xC7p\x8EϹ\xB1B\xD5\xBE^-7*\xE4 B +ĩ\x91]_'\xED\x8C\xD1\xED̨#A\xE7\x94\xC6 [\xB0{7[o:\xD2$ٮg_\xFB\x92S\xA3#~\x9Bm\x9343\x92\xED\xFCJǔ\x83\xACr&lt;\xD9f0\xE2\xED\xE4\x98cJ\x83\xD7K,\xC3U\xD7\x96gy\x8D1\x81 \x8E\xE8I\xC4[\xB2\x9E\xDD^0C\xF4/\x89}$:\x99u&amp;\x80\x82\x8F\xB0T\xBC\x9E\4u\xCFj]̷ R\xF2L\xF9\xEEr+\xF6z\xA2\xB9\xAD\xE4\\xCD`\xAF\xDC4\xDE\xC9h\x82\xDB\xDB\x8A
+9\xF8o\xDD        \x9F\x94\xFChPcɿ\xBE\xD55-\x8B\xD19\x83\xBD,\xFD)\x92q\xB6\xE6\x9F\xF6\xB5 \x82\x87\xC4t\xB2\xA9\xCF\xDE\xC1\xE83F\xF2W.I\x89!9dB\xF3\xE6g_P\xFCMθ\xCC&amp;(}\xD4d0]1\xCA\xFȦB?T\x8C\xED\x894F&gt;\xD9J \xA7\x9C0G\xFC\xD9b\xB7\xC2@\x90\xE63s\xCB&gt;r\xA8\x9A)\xA01\xA6\xC7(O\xADBQ\x84\xB2&amp;L\x8E\xBE\xEE\xB4ƴ\xF1Yn\x9FQn \xC6&gt; 1\x98 \x86*\x8A\xE6\xA8('\xF4\xB3\x84d2'DB\xB7\x94\x9C\x88\xACJ\xB7\xA6Z\xA1\xB2v\xFB\x82R^ D\xAB3e\xDD\xF1\xB9\xD2\xFE{v\xEA\xC4\xC0Nn\x95\xC2l\x84I\xBDli\x909|\x9Bi\x84
+Z4*\x93\xBEK\x84zVҒ\xC1ˬ4\xA7F\xFAfFP\x8E\xE9\x9F\xA2\xC0DVw\x92\xA1 $o\[1\x82\xF2\xC8mo\xA1iq{.&quot;\x82s)\xAE\x99F\xFB\x98\xEF\x869\x8D]\xD8\xCBu\x82\x9D=I\xA5i         \x80\x8BBm\x9Ftm\xA2 \xC5$\xA7\xC2\xD7s\x92\x9F.\xCC\xF8\xBEK7\xF9h\x8BX\x8EΙ\xA8\x94\x87\xD3\xDDY\xECgF\xD5m\xD1\x88{C驍\x98 \xC44&amp;wQNb2\xE3ʬ/\x98B\xF7\xB1F1k\x84\x8C\xC1\x9Dq\xBEx0\xEB V\xDB&quot;m\xD8!d'ywFs_\x8D\xFAB\xD1\xFE\xF6;چB5c\xE1\xC5WT\xD2/&amp;}\xC1\x84\xBB\x94E{\xDD\x92&amp;\xFD\xBC-\x8A\xF5\x9Do&amp;}\xE5L\xA2m\x85\xE42 +\xE5\x95\xFC\xCB\xDC\xA1Uw\xE6ɚ\xA6&amp;sƳ&quot;\xEC~!{V\xA6\xA9\xA9\xBAj\x8C\x8Ax\xC5\x9Ci8\xE4+\xF9\xF17\xE4\xAD!:\xFB\x86\xAA(\xB8\x97\x92h\xE5\xD3 BL\xF0\xA0\xB0Z\xFF\xB6H\x9A\xFCݖ\x90~\xE2\x86\xD0\xF9\xBBC&lt;$i\xDB$\xA3\xAE\xAE\xA4\xB7\xAB\xE1\xAF\xD3B\xC8\xDBͮ.\xFC\xADB\x83\xF1v\xD7`\xA4\x87        [0\xBEKZ\xA1\x90\xA7\xB4\x82I\xD5\xE1J\x904\xD5o\x9B\xBB\xA4zr\x8Ct\xA7z^\xB4\xB4sy`Ѣs/S\xEBQ\xB5\xBA\xF2Kk\x92\xB9\xF
 C\xE2\xBB$ZV\x93H\xA3|\xA7+\xA0&quot;v$b\xA1H\xE2=\xBEt\x89\xEA\xED_\xC5&gt;J\xEEj\x85\x87;|J\xCE\xE4F\xCAS8\x8E\xA95q\xF1\xB8ā\x9Bm\xF2\xD4~\xE0VW\x87,\xA7z\xF7ՁN&lt;\xA5{\x9Cٴ%E\xA1\xC5\xDF\xC2.At+\xC7\xCEKsA*
+\xB9a\x94\xBF\xCE9\x91\xA2\xD0\xEA\xC9\=\xF8b\xFA+M\xB0\xA4 Y\xD1/K\xE5\xAE؏Jծ{\xBCj\\x847 X'\xE7 3\x84\xBB\xBBCK\xA2.\xBB\x85m\x8F|\xE6d\xE8\xE5\xE0oF\xFDY܋\x94'FQ\x{DBBA}\xB1\xA5u\xBC8c\xE6\xD7U\xABɶD\xBA\xED)JQS\x8D\xB7\xEE\x96^\xFDAa\xDE\xE6Ld\xC3\xDF\xDA\xACs\xC6 +c&lt;\xCB\xE8rB\xA4(g\xACC\x9A&lt;\xB6лB-P\x8DN޵\x85vj!\xB5:\x9Fy\xD2\xED\xB7l\xAF\xA0\xBB\xDB\xF4R\x96Ny\xE2Iq\xA2:\xC3\xD9\xC1\xDA\xD2_\xE61\x9B\xF8\xD0\xF2g\xA0V\xFDt\xC8z\x86.z\xDA\xE80\xE9.\x84\x81)\xD7kH\xF1˛̓\xCD\xF1\xF0\xE7\x8A\xF0g\x87\xBAz \xEE&lt;\xBB\xC8ξ\xCF\xC4Q\xF2\xA7H;\xDE \xED\xA5+/\xC8R\xEB\xE5\xE3\xD7\xCB\xEE\x97\xD6\xE9\xD5_\x93%~\xA4i\x96`\xE8\xCFM\xC7
+CW\xE4\xEFs\xE8\x87y\xCFR-}(\x9Fe\xF4n_sOsB\xB8\xDBn۞\xA0\xFD\x85ant=_\xE78\xC9zr\x8DB5!\x85\x91\x98v\xEB\xFB\xFC\xF9\x95\xBFf&amp;\xDB\xD7\xE7\xF9\x{1F3D8E}(\xC1\xD01u\x93\xEBi\xADa\xCC\\xCA#T\xC9P\xF5QU t\xCE\xFE\xFD%f\xBF\xFF}q\xF2\xA3:\x82\x8DS5\xE1c|\x8C\x8F\xF11\xFE\xA5\xE3Sn\xEC\x9FP5\x87\xAFw\x98r\xE1 +ĩ\x91]_'\xED\x8C\xD1\x8D̨#A\xE7\x94\xC6 [0MW\x9B\x98\x8E4\x8E7\xAB\xE90\x92\x9C\xD2q&gt;\xDD\xC4\xD9w\xBC\x99tLi1\xC8*\x9D\xF1\xC6|s \x9Cq\x87cJ\x83\x83\x85&amp;U\x97\xF6\xF7\xC5c)D\xBC\x9A\x8EΙ!\xA2sb\xF5\xFB4\x98
+b\x8Ca\xA9\xF8e|\x9Eu-b'\x81S\x80A5\xB5{\xEDhn+\xFF&lt;\x98\xC2&amp;6\xDC4\xDE\xC516\xA3E\x85\xFC\xB7&amp;ţ\x8Ab,\xD4\xD7
+p\xA8e1\x8CY\xF8S$#Z\xF1O#-\x83\xE0!1\x9DU Egp1\xB4$%\x86\xE4\xD0#&amp;\xCC*?F\xE3\x851\x98\x91/Y\x87*\x98(\xF4C\xF6\xD1
+\xB9\x8C9\xD9J d\xE6\x88+\xAE1\xB7„ \xCC\xE6\x9B9ԡ)\xA01&amp;b\x94i\xB1(\x821\xCE1li\xE3\x93
+\NR\xD8\xA0`\xC1PEќ\xA5\x83\x9D!\xDDR\xDCY\x94nM\xB5Be$ϰ\xCD\x88V\xBFGbsH\xE3^\xE5@#v2R_\xDA  \x93Z@\xA6&quot;m\x98M#\x9F:e\xB9DA\xA8g\xC5*x\x99\x95\xA6TC\xBB0\x82\xC268u\x88\x99ե\x8F o`\xC5`\xBF$\xB6\xB7\x8A\x82a\x9E!\xCE~\x9C\xE6\xCASFgb7\xCCi\xEC\xA2X\xD1 2\xA3\xE7\x85\xA2\x8C\x9CVA\x8A\x89\x85 9H\x9A\xBE\x9C\x9B1\xF0}D79\xB6\xC5
+,'\xE6@\xCAC \xFB\xE70x?\x8B\xBE@ܡ&amp;\x88BLcrg\x859\x98\xC5\xF4H[/(f\x8D\x821\xB83\xCE\xF7f}\xC1j\xA4\xAD;\x84\xEC$\xEF΅\xFA\xC2юS\x9CB5c\xE1\xC5\xAB\xC1\x84\x8F\xF6#\x88&lt;m\xA9\xAAy(}gh\xD22\xC9
+\x8B\xEA\x82\xE42 +2\xCA\xD4Y\xA5\x99xuCȎ4Ө\xB2\xBA\xB0@\xC4&amp;F!\xCD4\x87*-\x8FB\xF1o\xA2\x823 +\x87 = Q \x84\xB8\xF3UQp/7Ds.?1A(\xAC\xA8\xEC        \x92\xC6\xF7 +        \x89b7\x84\xCE\xDF\xE2%I\xA8MJ\xA8\xEB= \xAFg\x84\xB2.\xEC\x82\xEC=\xDF%\xAD\xBC[\x82\xA5\x99\xC3lp\xAAo\xA5z^\xB4\xE2\x8A\x96t.\xF3\xA1\xE8=\xCA/\x9EQ\xC1A\xC2hi\xE6\xE3H_aG&quot;\xA9\xADsǑ\xE8\xA8\xF1 &gt;\xCB\xEE w\xF8\x84\xCCV\xEE\x98:rS\xE5P}\x89\xF7\xD8\xEE[\xEA,\xBB\xC0\xA1tu\xB5\xC4u Bg\xB3\xF2\x97 \xA6\xED\x8E\xF3\xA4\xAEs\xB2Q\xF1uN3\xDDBϬ\x9E\xD3_^\x9C\xC1S\xD1E9\xF0\x8A=NӢ+\xB6\xDE,8o\xB0\xABરY\xF0IM\x86\x96đ\xECz\xB6=\xA2\xB8\xC0\xEA\xBA(\xA58\xBC\xF5Gq/
+\xE7\xDC\xEE2\xB7\xA2\xB4\x8EWǷehx5l\xBA\xCA4\xD5x\xEBn\xE1\xD5\x94\x91\xCB[\x90\xC5\xED\xC1#\xCE\xEA \xCF&amp;$PƲ_\xEBlt\x8E\xA3\xB89\xA8Q\xA0-\xBC\xF2h\xD9\xB2-\xDB&quot;\xA2\xF0\x84\x8F&amp;;x\x8FZ\xE9\xF7 \xD4\xE2A\x87\xFC^\xBD\xF9d        \x8D\xCE}\xAE\x8D\xEE\xC1\xD0^ \xC5/\x86 +\xE3\x8A\x878\xE4\x85?;5\xD4\xD3F\xBA\x99f\x9F6\xA2\xA1zڐ        ڛ\xA1Q:\xE2񂾡,\xC6\xC3A5\xA2\xC1Nj\xF4H\xD3(\xC1П\x9B&amp;e\xAFM\xFA\x83\x93\xBDZ\xFAP&gt;\xC90\x88F\xF9\xA79 \xACF\xAE\xE0/ \x85\xE9K\x8E\xAFƻ=Ja\x95\xB7\xA7\x8B +͌7\x9BE%\x8F\x99:\xE6\xC8\xECŽ:\x8C1sp        (\x8F8P%C\xD5GmT\x81\xD09\xFB{\xF4\x97\x98\xFD\xFE\xF7\xC4ɏ\xEA6NՄ\x8F\xF11\xFE_\xC7\xFF\x8A\x83I\xFE\x9B\xA5JIEND\xAEB`\x82
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludesmediaelementbigplaysvg"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/mediaelement/bigplay.svg (0 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/mediaelement/bigplay.svg                                (rev 0)
+++ trunk/wp-includes/mediaelement/bigplay.svg        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -0,0 +1,50 @@
</span><ins>+&lt;?xml version=&quot;1.0&quot; standalone=&quot;no&quot;?&gt; +&lt;!-- Generator: Adobe Fireworks CS6, Export SVG Extension by Aaron Beall (http://fireworks.abeall.com) . Version: 0.6.1  --&gt; +&lt;!DOCTYPE svg PUBLIC &quot;-//W3C//DTD SVG 1.1//EN&quot; &quot;http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd&quot;&gt; +&lt;svg id=&quot;bigplay-gradient.fw-Page%201&quot; viewBox=&quot;0 0 100 200&quot; style=&quot;background-color:#ffffff00&quot; version=&quot;1.1&quot; +        xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xml:space=&quot;preserve&quot; +        x=&quot;0px&quot; y=&quot;0px&quot; width=&quot;100px&quot; height=&quot;200px&quot; +&gt; +        &lt;defs&gt; +                &lt;radialGradient id=&quot;gradient1&quot; cx=&quot;50%&quot; cy=&quot;50%&quot; r=&quot;50%&quot;&gt; +                        &lt;stop stop-color=&quot;#222222&quot; stop-opacity=&quot;0&quot; offset=&quot;70%&quot;/&gt; +                        &lt;stop stop-color=&quot;#222222&quot; stop-opacity
 =&quot;0.0118&quot; offset=&quot;70.202%&quot;/&gt; +                        &lt;stop stop-color=&quot;#333333&quot; stop-opacity=&quot;1&quot; offset=&quot;85%&quot;/&gt; +                        &lt;stop stop-color=&quot;#333333&quot; stop-opacity=&quot;0&quot; offset=&quot;100%&quot;/&gt; +                &lt;/radialGradient&gt; +                &lt;radialGradient id=&quot;gradient2&quot; cx=&quot;50%&quot; cy=&quot;50%&quot; r=&quot;50%&quot;&gt; +                        &lt;stop stop-color=&quot;#bbbbbb&quot; stop-opacity=&quot;0&quot; offset=&quot;70%&quot;/&gt; +                        &lt;stop stop-color=&quot;#bbbbbb&quot; stop-opacity=&quot;0.0118&quot; offset=&quot;70.202%&quot;/&gt; +                        &lt;stop stop-color=&quot;#bbbbbb&quot; stop-opacity=&quot;1&quot; offset=&quot;85%&quot;/&gt; +                        &lt;stop stop-color=&quot;#bbbbbb&quot; stop-opacity=&quot;0&quot; offset=&quot;100%&quot;/&gt; +                &lt;/radialGradient&gt; +                &lt;filter id=&quot;filter1&quot; x=&quot;-100%&quot; y=&quot;-100%&quot; width=&quot;300%&quot; height=&quot;300%&quot;&gt; +                        &lt;!-- Glow --&gt; +                        &lt;feColorMatr
 ix result=&quot;out&quot; in=&quot;SourceGraphic&quot; type=&quot;matrix&quot; values=&quot;0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.251 0&quot;/&gt; +                        &lt;feMorphology result=&quot;out&quot; in=&quot;out&quot; operator=&quot;dilate&quot; radius=&quot;3&quot;/&gt; +                        &lt;feGaussianBlur result=&quot;out&quot; in=&quot;out&quot; stdDeviation=&quot;1.5&quot;/&gt; +                        &lt;feBlend in=&quot;SourceGraphic&quot; in2=&quot;out&quot; mode=&quot;normal&quot; result=&quot;Glow1&quot;/&gt; +                &lt;/filter&gt; +                &lt;filter id=&quot;filter2&quot; x=&quot;-100%&quot; y=&quot;-100%&quot; width=&quot;300%&quot; height=&quot;300%&quot;&gt; +                        &lt;!-- Glow --&gt; +                        &lt;feColorMatrix result=&quot;out&quot; in=&quot;SourceGraphic&quot; type=&quot;matrix&quot; values=&quot;0 0 0 0.8667 0  0 0 0 0.8667 0  0 0 0 0.8667 0  0 0 0 0.251 0&quot;/&gt; +                        &lt;feMorphology result=&quot;out&quot; in=&quot;out&quot; operator=&quot;dilate&quot; radius=&quot;3&quot;/&gt; +                        &lt;feGaussianBlur result=&q
 uot;out&quot; in=&quot;out&quot; stdDeviation=&quot;1.5&quot;/&gt; +                        &lt;feBlend in=&quot;SourceGraphic&quot; in2=&quot;out&quot; mode=&quot;normal&quot; result=&quot;Glow2&quot;/&gt; +                &lt;/filter&gt; +        &lt;/defs&gt; +        &lt;g id=&quot;Background&quot;&gt; +        &lt;/g&gt; +        &lt;g id=&quot;dark%20shadow&quot;&gt; +                &lt;path d=&quot;M 22 50 C 22 34.5358 34.5358 22 50 22 C 65.4642 22 78 34.5358 78 50 C 78 65.4642 65.4642 78 50 78 C 34.5358 78 22 65.4642 22 50 ZM 5 50 C 5 74.8531 25.1469 95 50 95 C 74.8531 95 95 74.8531 95 50 C 95 25.1469 74.8531 5 50 5 C 25.1469 5 5 25.1469 5 50 Z&quot; fill=&quot;url(#gradient1)&quot;/&gt; +                &lt;path d=&quot;M 22 150 C 22 134.5358 34.5358 122 50 122 C 65.4642 122 78 134.5358 78 150 C 78 165.4642 65.4642 178 50 178 C 34.5358 178 22 165.4642 22 150 ZM 5 150 C 5 174.8531 25.1469 195 50 195 C 74.8531 195 95 174.8531 95 150 C 95 125.1469 74.8531 105 50 105 C 25.1469 105 5 125.1469 5 150 Z&quot; fill=&quot;url(#gradient2)&quot;/&gt; +        &lt;/g&gt; +        
 &lt;g id=&quot;dark&quot;&gt; +                &lt;path id=&quot;Polygon&quot; filter=&quot;url(#filter1)&quot; d=&quot;M 72.5 49.5 L 38.75 68.9856 L 38.75 30.0144 L 72.5 49.5 Z&quot; fill=&quot;#ffffff&quot;/&gt; +                &lt;path id=&quot;Ellipse&quot; d=&quot;M 13 50.5 C 13 29.7891 29.7891 13 50.5 13 C 71.2109 13 88 29.7891 88 50.5 C 88 71.2109 71.2109 88 50.5 88 C 29.7891 88 13 71.2109 13 50.5 Z&quot; stroke=&quot;#ffffff&quot; stroke-width=&quot;5&quot; fill=&quot;none&quot;/&gt; +        &lt;/g&gt; +        &lt;g id=&quot;light&quot;&gt; +                &lt;path id=&quot;Polygon2&quot; filter=&quot;url(#filter2)&quot; d=&quot;M 72.5 149.5 L 38.75 168.9856 L 38.75 130.0144 L 72.5 149.5 Z&quot; fill=&quot;#ffffff&quot;/&gt; +                &lt;path id=&quot;Ellipse2&quot; d=&quot;M 13 150.5 C 13 129.7891 29.7891 113 50.5 113 C 71.2109 113 88 129.7891 88 150.5 C 88 171.211 71.2109 188 50.5 188 C 29.7891 188 13 171.211 13 150.5 Z&quot; stroke=&quot;#ffffff&quot; stroke-width=&quot;5&quot; fill=&quot;none&quot;/&gt; +        &lt;/g&gt; +&l
 t;/svg&gt;
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludesmediaelementcontrolspng"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/mediaelement/controls.png (0 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/mediaelement/controls.png                                (rev 0)
+++ trunk/wp-includes/mediaelement/controls.png        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+\x89PNG
+
+ +IHDR\x90 \xCAR\xFFsBIT\xDB\xE1O\xE0\xFBPLTE\xFF\xFF\xFF\xFE\xFE\xFE\xFB\xFB\xFB\xFA\xFA\xFA\xF9\xF9\xF9\xF8\xF8\xF8\xF7\xF7\xF7\xF6\xF6\xF6\xF5\xF5\xF5\xF4\xF4\xF4\xF2\xF2\xF2\xF1\xF1\xF1\xF0\xF0\xF0\xEF\xEF\xEF\xEE\xEE\xEE\xED\xED\xED\xEC\xEC\xEC\xEB\xEB\xEB\xEA\xEA\xEA\xE9\xE9\xE9\xE8\xE8\xE8\xE6\xE6\xE6\xE4\xE4\xE4\xE3\xE3\xE3\xE2\xE2\xE2\xE1\xE1\xE1\xE0\xE0\xE0\xDF\xDF\xDF\xDE\xDE\xDE\xDC\xDC\xDC\xDB\xDB\xDB\xDA\xDA\xDA\xD9\xD9\xD9\xD7\xD7\xD7\xD6\xD6\xD6\xD3\xD3\xD3\xD2\xD2\xD2\xD1\xD1\xD1\xD0\xD0\xD0\xCE\xCE\xCE\xCD\xCD\xCD\xCB\xCB\xCB\xC6\xC6\xC6\xC5\xC5\xC5\xC4\xC4\xC4\xC3\xC3\xC3\xC2\xC2\xC2\xC1\xC1\xC1\xC0\xC0\xC0\xBF\xBF\xBF\xBD\xBD\xBD\xB8\xB8\xB8\xB7\xB7\xB7\xB6\xB6\xB6\xB4\xB4\xB4\xB2\xB2\xB2\xAF\xAF\xAF\xAE\xAE\xAE\xAD\xAD\xAD\xAC\xAC\xAC\xAB\xAB\xAB\xA8\xA8\xB7\xA7\xA7\xA7\xA5\xA5\xA5\xA4\xA4\xA4\xA2\xA2\xA2\xA0\xA0\xA0\x9E\x9E\xAC\x9F\x9F\x9F\x9D\x9D\x9D\x9C\x9C\x9C\x9B\x9B\x9B\x9A\x9A\x9A\x99\x99\x99\x97\x97\x97\x95\x95\x95\x94\x9
 4\x94\x94\x94\xA1\x93\x93\x93\x92\x92\x92\x8F\x8F\x8F\x8E\x8E\x8E\x8C\x8C\x8C\x8B\x8B\x8B\x8A\x8A\x8A\x89\x89\x89\x89\x89\x95\x87\x87\x87\x86\x86\x86\x84\x84\x84\x83\x83\x83\x82\x82\x82\x81\x81\x81\x80\x80\x80yyyxxxwwwuu\x80rrrpppnnnmmwiisiiigggdddccc```___^^^]]]\\\ZZZXXXVVVUUUSSSRRRQQQOOONNNMMMLLLKKKJJJIIIGGGFFFDDDCCCBBB@@@???&gt;&gt;&gt;;;;999777666555559333222111000,,,+++*****.)))((('''!!!     &quot; \xFC-(\xA9tRNS\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF
 \xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFBo{        pHYs  \xD2\xDD~\xFCtEXtCreation Time11/13/12\xAC\xC0:ytEXtSoftwareAdobe Fireworks CS6輲\x8CIDATX\x85\xD5V        [W +&amp;\x9A\xAA\xA3\x8DD#\x93H\xE3V\xB0\xEE[TH\x88\x8A(\xD5*H
+Z\xB5&amp;(FqAYTԀn\xB8\xAET\x83\xF7g\xFA\xEE{w\xEEL\xC2\xE4+\xB5\xF3z\xBE/\xEF\xDE\xF3ޝ;'o\xB6c\x83)\xDBd \x90h㡠\xA0\xA1\x9F8\xB5        TTc$\xAA\xF4\xFA\xBB\xF3\xFA|\1\x80\x98\x8B\xF9\xDA\xC6Utγsn\xB7\xDBk0ֈ\xA9\xB1N\x92\xCDj!\xE6zJ\xB3o\xEE\xA4[S\xAD]/\xF5?d\xD0o\x9C\xD0\xDA8\xF1\xB8\xC3\xC1\x82\xECv:W\xCFoN\xA7\x93\x89ӹG%{\xE4\xA4\xD3X\x88d\xC4=F\xFC\xD3\xDC#87\xD6)u,ј8\x96\xBA\xFAWn[\xDA!;C[\x98)\xC1\x82~\\xD0\x91\xCD\xE06\xB3k\xB5\xAC'\xC5\xEF\xF3[\xA0'\xE2\x8E5\xB3+q\xAC\xBAg+&quot;خ\x82f2\x90\xB5/,f,l\x97\x82        \xB5\xABr\xCC\xE7
+\xF0\xF1\xFB '\x9D mk\xD6m\xCF\xC8\xB0\xCA3\xA3_\xD5\xF4\xCF\xF0\x88q\xF0V\xD1#BQ\xFAn\xFE\xEE \xE60$\xADs\xBBݕׯW\x8AP\xA7vh!|\x88yL\xFF\x9E\x9F s\x87 `\x95~ue\xF6\xB4G\xD4\xDA&amp;\xF7Џ uX\xBD\xC7s\xE0\x86\xC7SJ\xD0\xC6Vb%\x85\x95\xBC\x8BQ\x82\xC8+\xA0_ ԩ Ju\x9A\xEDP        C\xF1\x83^\xEFM\x80\x9B^\xEFA\xB4\x88\xB0\xF22[,\xC0\xC7\x82\x9Ct1d;\x9E\xCB\xB0\xAAdV\xB7Z힅g4\xEE\xD0\xB3\xBFT\xCAPM\xC5\xC96\xF4\xF6n\xE1\x90䗨\xBC\xA2\xCA1/\xE0\xE3ˎh\xD9\x9C,\x83\xDEm\xEB\xAB\xC8p\xA2\xB6x\xF5\xAE\x8E\xAD.\x96\xB7\xFF-\xFD\xA6N\xC9QB\xBB\xB4\x94\x81\xAC#\xBC\x84ks\x88\xA3\xC1`\x90I0x\x94g\x91 \x91\xBC\xF5\xB9*Ľ\xD2S\xE1\xF2\xE1\x83\x9F\xBBR-\xF5\xB1]\xB1\xFA\x96\xB3\x90\x8F\xBB\x87B \xADM@B\xA6X\xB2lٺky\xBBzmU9\xE7\xE5\xE5\xE5        \x8C        \x91 5\xD6I\xF2\xAC\xD4-Q\xFA\x8Cf/\xE1{\xE8\xECü\xA6\xDA\x85\xDAB(\xD4\xD4D\xF2P\xD0Ʈ\xFC#^\xEF\xE0t\xB9@3@3F\xA2:dŻ\xFE\xF9\xF3\xFDލo3AT`\xFF
+4\xF9\xE8\xE6a\x8A2\xE0\xFF$\xA8/\xFD\xEA\xBF\xD3\xC1 \x87zP~(ӼE{l\xAAy0A2&quot;\x80ɨU\x82\xC8\xEC\xF9\xA1\xD6-\x8AťUQ\xAE\xC8'\x94\xA0dt\xD8&quot;Ad~ \xFDP\xDF\xC5!\xF0J\xB6W}\xAD\xD8\xE5a4*\x8D\xEE\x8FD-\xD8#D懂\xE6\x872\x8D;\xB3\xF1\xFD\xBD\xCF\xE5r\xD1z\xADY\x8Bd\xA4\xE14\xEE\xD0׆HR\xF5\xE4O\xC7w
+&quot;\xF3CA\xF7CU\xB7=5\x81\xD1\xC8 \x90J^D\xA2rB\xFF\xB8~\xA7 2?t?\xD4r\xEE\x8F\xE3h\xA1\xEEhC\xF6\xAF\x911\xA1\xA0\xFB\xA1\xDF\xCF\xFEsR\x91\xF9\xA1\xA0\xFB\xA1M\x8F\xAB\xCEL\xA0E42\xA0\x92\xAB.\x99
+\x9A\xEA\x8BW\xC1/@\xC4 \x87\xCDZ\x88\x9B\xFA+F\xEBnj2?\x84~\xE8IO\x8A\xB3\xC40\x8D\xA6-\xC4c\xDF \xF6h\xA0\xC1\xB2\xC7^\xF9-H(?tr\xB7b        \xB9j*\xD0c_D\x96\xBD\xC9\xD6h\xEEF\xFD\xD0\xF1\x9F5\xD6̃)F\x93BR4i٧\xA3\xEE\xB4\xE2 \xFFS\xCE~|\xCE\xD1&quot;D\x90\xE2IEND\xAEB`\x82
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludesmediaelementcontrolssvg"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/mediaelement/controls.svg (0 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/mediaelement/controls.svg                                (rev 0)
+++ trunk/wp-includes/mediaelement/controls.svg        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -0,0 +1,172 @@
</span><ins>+&lt;?xml version=&quot;1.0&quot; standalone=&quot;no&quot;?&gt; +&lt;!-- Generator: Adobe Fireworks CS6, Export SVG Extension by Aaron Beall (http://fireworks.abeall.com) . Version: 0.6.1  --&gt; +&lt;!DOCTYPE svg PUBLIC &quot;-//W3C//DTD SVG 1.1//EN&quot; &quot;http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd&quot;&gt; +&lt;svg id=&quot;controls.fw-Page%201&quot; viewBox=&quot;0 0 144 32&quot; style=&quot;background-color:#ffffff00&quot; version=&quot;1.1&quot; +        xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot; xml:space=&quot;preserve&quot; +        x=&quot;0px&quot; y=&quot;0px&quot; width=&quot;144px&quot; height=&quot;32px&quot; +&gt; +        &lt;defs&gt; +                &lt;radialGradient id=&quot;gradient1&quot; cx=&quot;50%&quot; cy=&quot;50%&quot; r=&quot;50%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#f2f2f2&quot; stop-opacity=&quot;0.2&
 quot; offset=&quot;100%&quot;/&gt; +                &lt;/radialGradient&gt; +                &lt;linearGradient id=&quot;gradient2&quot; x1=&quot;50%&quot; y1=&quot;-7.8652%&quot; x2=&quot;50%&quot; y2=&quot;249.6629%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient3&quot; x1=&quot;50%&quot; y1=&quot;0%&quot; x2=&quot;50%&quot; y2=&quot;238.75%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient4&quot; x1=&quot;50%&quot; y1=&quot;0%&quot; x2=&quot;50%&quot; y2=&quot;100%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quo
 t;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient5&quot; x1=&quot;50%&quot; y1=&quot;-33.3333%&quot; x2=&quot;50%&quot; y2=&quot;152.0833%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient6&quot; x1=&quot;50%&quot; y1=&quot;0%&quot; x2=&quot;50%&quot; y2=&quot;100%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient7&quot; x1=&quot;50%&quot; y1=&quot;-33.3333%&quot; x2=&quot;50%&quot; y2=&quot;152.0833%&q
 uot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient8&quot; x1=&quot;50%&quot; y1=&quot;0%&quot; x2=&quot;50%&quot; y2=&quot;100%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient9&quot; x1=&quot;50%&quot; y1=&quot;0%&quot; x2=&quot;50%&quot; y2=&quot;100%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient10&quot; x1=
 &quot;50%&quot; y1=&quot;0%&quot; x2=&quot;50%&quot; y2=&quot;100%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient11&quot; x1=&quot;50%&quot; y1=&quot;0%&quot; x2=&quot;50%&quot; y2=&quot;100%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient12&quot; x1=&quot;50%&quot; y1=&quot;0%&quot; x2=&quot;50%&quot; y2=&quot;238.75%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &l
 t;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient13&quot; x1=&quot;40%&quot; y1=&quot;-140%&quot; x2=&quot;40%&quot; y2=&quot;98.75%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient14&quot; x1=&quot;50%&quot; y1=&quot;0%&quot; x2=&quot;50%&quot; y2=&quot;238.75%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient15&quot; x1=&quot;60%&quot; y1=&quot;-140%&quot; x2=&quot;60%&quot; y2=&quot;98.75%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-colo
 r=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient16&quot; x1=&quot;50%&quot; y1=&quot;0%&quot; x2=&quot;50%&quot; y2=&quot;298.4375%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient17&quot; x1=&quot;50%&quot; y1=&quot;0%&quot; x2=&quot;50%&quot; y2=&quot;238.75%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient18&quot; x1=&quot;50%&quot; y1=&quot;-200%&quot; x2=&quot;50%&quot; y2=&quot;100%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&q
 uot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient19&quot; x1=&quot;50%&quot; y1=&quot;-200%&quot; x2=&quot;50%&quot; y2=&quot;110.9375%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient20&quot; x1=&quot;55%&quot; y1=&quot;0%&quot; x2=&quot;55%&quot; y2=&quot;100%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;100%&quot;/&gt; +                &lt;/linearGradient&gt; +                &lt;linearGradient id=&quot;gradient21&quot; x1=&quot;50%&quot; y1=&quot;0%&quot; x2=&
 quot;50%&quot; y2=&quot;100%&quot;&gt; +                        &lt;stop stop-color=&quot;#ffffff&quot; stop-opacity=&quot;1&quot; offset=&quot;0%&quot;/&gt; +                        &lt;stop stop-color=&quot;#c8c8c8&quot; stop-opacity=&quot;1&quot; offset=&quot;99.4444%&quot;/&gt; +                &lt;/linearGradient&gt; +        &lt;/defs&gt; +        &lt;g id=&quot;BG&quot;&gt; +        &lt;/g&gt; +        &lt;g id=&quot;controls&quot;&gt; +                &lt;path id=&quot;Line&quot; d=&quot;M 98.5 7.5 L 109.5 7.5 &quot; stroke=&quot;#ffffff&quot; stroke-width=&quot;1&quot; fill=&quot;none&quot;/&gt; +                &lt;path id=&quot;Line2&quot; d=&quot;M 98.5 3.5 L 109.5 3.5 &quot; stroke=&quot;#ffffff&quot; stroke-width=&quot;1&quot; fill=&quot;none&quot;/&gt; +                &lt;path id=&quot;Line3&quot; d=&quot;M 98.5 11.5 L 109.5 11.5 &quot; stroke=&quot;#ffffff&quot; stroke-width=&quot;1&quot; fill=&quot;none&quot;/&gt; +                &lt;path id=&quot;Ellipse&quot; d=&quot;M 108 11.5 C 108 10.6716 108.4477 10 109 10 C 109.5523 10 110 10.6716 110 11.5 C 110 12.3284 109.5523 13 109 13 C 108.4477 13 
 108 12.3284 108 11.5 Z&quot; fill=&quot;#ffffff&quot;/&gt; +                &lt;path id=&quot;Ellipse2&quot; d=&quot;M 104 7.5 C 104 6.6716 104.4477 6 105 6 C 105.5523 6 106 6.6716 106 7.5 C 106 8.3284 105.5523 9 105 9 C 104.4477 9 104 8.3284 104 7.5 Z&quot; fill=&quot;#ffffff&quot;/&gt; +                &lt;path id=&quot;Ellipse3&quot; d=&quot;M 108 3.5 C 108 2.6716 108.4477 2 109 2 C 109.5523 2 110 2.6716 110 3.5 C 110 4.3284 109.5523 5 109 5 C 108.4477 5 108 4.3284 108 3.5 Z&quot; fill=&quot;#ffffff&quot;/&gt; +        &lt;/g&gt; +        &lt;g id=&quot;backlight&quot;&gt; +                &lt;g id=&quot;off&quot;&gt; +                        &lt;rect x=&quot;83&quot; y=&quot;21&quot; width=&quot;10&quot; height=&quot;6&quot; stroke=&quot;#ffffff&quot; stroke-width=&quot;1&quot; fill=&quot;#333333&quot;/&gt; +                &lt;/g&gt; +                &lt;g id=&quot;on&quot;&gt; +                        &lt;path id=&quot;Ellipse4&quot; d=&quot;M 81 8 C 81 5.2385 84.134 3 88 3 C 91.866 3 95 5.2385 95 8 C 95 10.7615 91.866 13 88 13 C 84.134 13 81 10.7615 81 8 Z&quot; fill=&quot;url(#gradient1)&qu
 ot;/&gt; +                        &lt;rect x=&quot;83&quot; y=&quot;5&quot; width=&quot;10&quot; height=&quot;6&quot; stroke=&quot;#ffffff&quot; stroke-width=&quot;1&quot; fill=&quot;#333333&quot;/&gt; +                &lt;/g&gt; +        &lt;/g&gt; +        &lt;g id=&quot;loop&quot;&gt; +                &lt;g id=&quot;on2&quot;&gt; +                        &lt;path d=&quot;M 73.795 4.205 C 75.2155 4.8785 76.2 6.3234 76.2 8 C 76.2 10.3196 74.3196 12.2 72 12.2 C 69.6804 12.2 67.8 10.3196 67.8 8 C 67.8 6.3234 68.7845 4.8785 70.205 4.205 L 68.875 2.875 C 67.1501 3.9289 66 5.8306 66 8 C 66 11.3138 68.6862 14 72 14 C 75.3138 14 78 11.3138 78 8 C 78 5.8306 76.8499 3.9289 75.125 2.875 L 73.795 4.205 Z&quot; fill=&quot;url(#gradient2)&quot;/&gt; +                        &lt;path d=&quot;M 71 2 L 66 2 L 71 7 L 71 2 Z&quot; fill=&quot;url(#gradient3)&quot;/&gt; +                &lt;/g&gt; +                &lt;g id=&quot;off2&quot;&gt; +                        &lt;path d=&quot;M 73.795 20.205 C 75.2155 20.8785 76.2 22.3234 76.2 24 C 76.2 26.3196 74.3196 28.2 72 28.2 C 69.6804 28.2 67.8 26.3196 67.8 24 C 67.8 22.3234 68.7845 20.8785 70.2
 05 20.205 L 68.875 18.875 C 67.1501 19.9289 66 21.8306 66 24 C 66 27.3138 68.6862 30 72 30 C 75.3138 30 78 27.3138 78 24 C 78 21.8306 76.8499 19.9289 75.125 18.875 L 73.795 20.205 Z&quot; fill=&quot;#a8a8b7&quot;/&gt; +                        &lt;path d=&quot;M 71 18 L 66 18 L 71 23 L 71 18 Z&quot; fill=&quot;#a8a8b7&quot;/&gt; +                &lt;/g&gt; +        &lt;/g&gt; +        &lt;g id=&quot;cc&quot;&gt; +                &lt;rect visibility=&quot;hidden&quot; x=&quot;49&quot; y=&quot;2&quot; width=&quot;14&quot; height=&quot;12&quot; stroke=&quot;#b0b0b0&quot; stroke-width=&quot;1&quot; fill=&quot;none&quot;/&gt; +                &lt;text visibility=&quot;hidden&quot; x=&quot;49&quot; y=&quot;17&quot; width=&quot;14&quot; fill=&quot;#ffffff&quot; style=&quot;font-size: 10px; color: #ffffff; font-family: Arial; text-align: center; &quot;&gt;&lt;tspan&gt;&lt;![CDATA[cc]]&gt;&lt;/tspan&gt;&lt;/text&gt; +                &lt;path d=&quot;M 55 7 C 50.2813 3.7813 50.063 12.9405 55 10 &quot; stroke=&quot;#ffffff&quot; stroke-width=&quot;1&quot; fill=&quot;none&quot
 ;/&gt; +                &lt;path d=&quot;M 60 7 C 55.2813 3.7813 55.063 12.9405 60 10 &quot; stroke=&quot;#ffffff&quot; stroke-width=&quot;1&quot; fill=&quot;none&quot;/&gt; +                &lt;path d=&quot;M 50 3 L 62 3 L 62 13 L 50 13 L 50 3 ZM 49 2 L 49 14 L 63 14 L 63 2 L 49 2 Z&quot; fill=&quot;url(#gradient4)&quot;/&gt; +                &lt;rect x=&quot;49&quot; y=&quot;2&quot; width=&quot;14&quot; height=&quot;12&quot; fill=&quot;none&quot;/&gt; +        &lt;/g&gt; +        &lt;g id=&quot;volume&quot;&gt; +                &lt;g id=&quot;no%20sound&quot;&gt; +                        &lt;rect x=&quot;17&quot; y=&quot;5&quot; width=&quot;5&quot; height=&quot;6&quot; fill=&quot;url(#gradient5)&quot;/&gt; +                        &lt;path d=&quot;M 21 5 L 25 2 L 25 14 L 21 11.0625 L 21 5 Z&quot; fill=&quot;url(#gradient6)&quot;/&gt; +                &lt;/g&gt; +                &lt;g id=&quot;sound%20bars&quot;&gt; +                        &lt;rect x=&quot;17&quot; y=&quot;21&quot; width=&quot;5&quot; height=&quot;6&quot; fill=&quot;url(#gradient7)&quot;/&gt; +                        &lt;path d=&quot;M 21 21 L 25 18 L 25 30 L 21 27.0625 L 21 21 Z&quot
 ; fill=&quot;url(#gradient8)&quot;/&gt; +                        &lt;path d=&quot;M 27 18 C 27 18 30.0625 17.375 30 24 C 29.9375 30.625 27 30 27 30 &quot; stroke=&quot;#ffffff&quot; stroke-width=&quot;1&quot; fill=&quot;none&quot;/&gt; +                        &lt;path d=&quot;M 26 21.0079 C 26 21.0079 28.041 20.6962 27.9994 24 C 27.9577 27.3038 26 26.9921 26 26.9921 &quot; stroke=&quot;#ffffff&quot; stroke-width=&quot;1&quot; fill=&quot;none&quot;/&gt; +                &lt;/g&gt; +        &lt;/g&gt; +        &lt;g id=&quot;play/pause&quot;&gt; +                &lt;g id=&quot;play&quot;&gt; +                        &lt;path id=&quot;Polygon&quot; d=&quot;M 14 8.5 L 3 14 L 3 3 L 14 8.5 Z&quot; fill=&quot;url(#gradient9)&quot;/&gt; +                &lt;/g&gt; +                &lt;g id=&quot;pause&quot;&gt; +                        &lt;rect x=&quot;3&quot; y=&quot;18&quot; width=&quot;3&quot; height=&quot;12&quot; fill=&quot;url(#gradient10)&quot;/&gt; +                        &lt;rect x=&quot;10&quot; y=&quot;18&quot; width=&quot;3&quot; height=&quot;12&quot; fill=&quot;url(#gradient11)&quot;/&gt; +                &lt;/g&gt; +        &lt;/g&gt; +        &lt;g id=&quot;fullscr
 een&quot;&gt; +                &lt;g id=&quot;enter%201&quot;&gt; +                        &lt;path d=&quot;M 34 2 L 39 2 L 34 7 L 34 2 Z&quot; fill=&quot;url(#gradient12)&quot;/&gt; +                        &lt;path d=&quot;M 34 14 L 39 14 L 34 9 L 34 14 Z&quot; fill=&quot;url(#gradient13)&quot;/&gt; +                        &lt;path d=&quot;M 46 2 L 41 2 L 46 7 L 46 2 Z&quot; fill=&quot;url(#gradient14)&quot;/&gt; +                        &lt;path d=&quot;M 46 14 L 41 14 L 46 9 L 46 14 Z&quot; fill=&quot;url(#gradient15)&quot;/&gt; +                &lt;/g&gt; +                &lt;g id=&quot;exit&quot;&gt; +                        &lt;path d=&quot;M 42 22 L 46 22 L 42 18 L 42 22 Z&quot; fill=&quot;url(#gradient16)&quot;/&gt; +                        &lt;path d=&quot;M 38 22 L 38 18 L 34 22 L 38 22 Z&quot; fill=&quot;url(#gradient17)&quot;/&gt; +                        &lt;path d=&quot;M 38 26 L 34 26 L 38 30 L 38 26 Z&quot; fill=&quot;url(#gradient18)&quot;/&gt; +                        &lt;path d=&quot;M 42 26 L 42 30 L 46 26 L 42 26 Z&quot; fill=&quot;url(#gradient19)&quot;/&gt; +                &lt;/g&gt; +        &lt;/g&gt; +        &lt;g id=&quot;stop&quot;&gt; +                &lt;rect x=&quot;115&quot; y=&quot;3&q
 uot; width=&quot;10&quot; height=&quot;10&quot; fill=&quot;url(#gradient20)&quot;/&gt; +        &lt;/g&gt; +        &lt;g id=&quot;chooser&quot;&gt; +                &lt;path d=&quot;M 135.2346 6.1522 C 136.2551 5.7295 137.4251 6.2141 137.8478 7.2346 C 138.2704 8.2551 137.7859 9.425 136.7654 9.8478 C 135.7449 10.2705 134.5749 9.7859 134.1522 8.7654 C 133.7295 7.7449 134.2141 6.5749 135.2346 6.1522 ZM 133.2735 1.4176 L 136 4.0054 L 138.7265 1.4176 L 138.8246 5.1754 L 142.5824 5.2735 L 139.9946 8 L 142.5824 10.7265 L 138.8246 10.8246 L 138.7265 14.5824 L 136 11.9946 L 133.2735 14.5824 L 133.1754 10.8246 L 129.4176 10.7265 L 132.0054 8 L 129.4176 5.2735 L 133.1754 5.1754 L 133.2735 1.4176 Z&quot; fill=&quot;url(#gradient21)&quot;/&gt; +        &lt;/g&gt; +&lt;/svg&gt;
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludesmediaelementflashmediaelementswf"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/mediaelement/flashmediaelement.swf (0 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/mediaelement/flashmediaelement.swf                                (rev 0)
+++ trunk/wp-includes/mediaelement/flashmediaelement.swf        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -0,0 +1,216 @@
</span><ins>+CWS \xC1x\x9C̼w\S\xC9\xF7?&lt;\xF7\xA6\xDE$@h\xB1\xC4&quot;UD\xB1\x81\x91&amp;\xC0@DC\x82I@Qw7b\xEF\xBDaY\xC4F\xB3\xAEmQWֵ\xB7\xC5\xDE]{/\xD1]\xDB\xEE\xBA&gt;g\xEE +M\xD1\xF5\xBB\x9F珟\xBE\xDES\xCF̜9s\xE6̙\x9B\xCB\xCDA&quot;B \xEAF\xA0`\xCB$\x84\xD0w֭y\x90\xD5\xCA3\xFCc\x83C\xA5#\xB3Uj\x9D?\xE4\xBA;e\xE9\xF59\xFE#F\x8Cp\xE1\xE3\xAE\xD1fzxu\xE9\xD2\xC5\xC3\xD3\xDB\xC3ۻPt\xD0\xE5\xAB\xF5\xB2\x91ԺVN=\xA4t\xC1
+]\xBAV\x99\xA3Wj\xD4R\x9C\x97\xA5ir\xF5ݝ\x9CLݎ\xCCΩ\xEDV\xADs\x97\xC95i
+\xF7tM\xB6\xC7HY\x8E\x87\x97\xBB\xA7\xEE\x88\xFC\x83\xB4
+\x99^\xA3\x8D\xD7hT=1\x954T%\xD3eI\x83\xE2:Jc\xB4\x9A \x85NC\xC8T\xDD&lt;&gt;\xA6\xAE\xD7^ \xE8\xE1\xED\xE9\xE5\xD9\xC1\xB3S/\xBFx//__\xDF\xCE&lt;}\xFD==\xEB\xB5e(\x99\xA6Q
+\xBDL.\xD3\xCBj{w\xF0\xEC\xD2\xC1\xFB\xF8{z\xFB{u\xAA߸\xAD\xA9\xB9F\xAE\xCC\xC8\xFF\xAA\xC6u\x94\xD2nI\xEF\xEB\xE4)O\xAFgN\xAEVE\xAF\x91&lt;\xDDC\xA1Rd+\xD4z\x88ԋ\xA9&lt;\xDD?C\xA3͖\xE9{\xC8rrT\xCAt\xEE\xD0cd]\x96&amp;}\xD8Y\x9E\xA2Co7\x8F:B\xBA\x91^\xA9W)L\xAC\xAA\xF4\xA6\x94J\x89\x87\xF7W\xC9ԙݝFv\x90+2d\xB9*\xBDSf\x89\xA2r\xA5L°\xC0\xCCK\xA5\xAC\x99!ӉG\xBD\xAE!\x99\xCE,\x9F\xA9\xF78\xC5\xF0\xDAqzDh\xB2\xD4\xD2\xE0|\x85\xF6\xE3\x8E*\x8F\xAD!#\xFFD\x82\xFF\xCEv\x942[\x99\xAE\x93\xEA\xB3Ұ\xF8\xA8H_f\xA6        Hc¥z\x8DT\xA1\x96\xA5\xA9\xD26*}\xD7&lt;\xA5\\xA1i\x93\xA9\xEF*\x95\xA9\xE5t\x89,W\xAEdJ\x94j\xA9F%Wh\xA5iZ\xCD\x9DB\xAB\xFB\xBC\xB2\xFA\xDF\xD6\xD4(*\xEA\xCB;*;ۣ\x86Z\xA7\x8FUd|\x99Z\x9F\x9F\xA3\xF0\x88U\xE84\xB9\xDAt\x90\xB72\xEDȨ(\xFF`Mz.Ixp(p\x97+\xE5\xA0ӝ=\xBD\xBC\xFC:z\xFAy{v\xEA\xEC\xE5\xD5ٳ\xB3O\x97N\xA1޽B:\xF9\xFA\x86\x84v\xA1\xBDaӚ\xDE\xC2\xD5:\xBDL\x9D\xAE0\xF5\xA6\xFC?\xF4V\xAFiMo}\xB5\xCAL%؃\xC6x \xED\xE5\xEA\xE5\
 xE4\xE3\xE5\xEA\xE5\xD5ū\x97w\x97\x8E]B\xBB\xF8\x85v\xF6\xEB\xE5W\xD3k#]\xD4\xCE\\xA1U\xE6)\xE4\xA1ZM6\xBD
+92\xADN\x81%\xD5ݩFTXL\xB4|\xFD\x95\x8DL\xCC\xEB\xDF&amp;\xF6IӚ\xDE\xE4\x8DL\xA8\xF3G\xBDyu
+\xF2 \xEA\xF3 \xF2        \xE9Uӛ\xBC\xFED\x98&quot;\xCD\xFF&quot;\xA6\xCFv!\xAD]\xE6:9\xFD/*\xAB\xCC\xCC\xD2뾬\xA8Z\x9A\xA6\xE6\xBC`Z\xF8\xF7W\xA4\xC5\xE9\xC1\x9Eb\xBEz\x98Zg\xE3\xCDl2\x88Cut4\xBB\x8D5i\x94g\xD3\xC9\xD8C\x8A\x82H8/[\x8Ar\xF6r\xCE\xF1sքg\xA4\xA9}s\xD4~C꜈`\xBF\xF0\x8C̬ w\xB4\xD7Vd\x8AKW\xA8R/\x84z\xF2\xA5tA\xE6+\xBB7E\xF2\xF6\xF6&gt;\x8EĶ\xA9q\xEF\xEEM\xBD8:\xB6\xB2\x8D}\xB0R5C\x88D\xE3        n\xA0V)S\xA1p4\xEA\xBD\xE8\x92\x91d˟\xCF.d\xDF`w\xE6\xA4p\xA6sVp6r\xF6ss\xA7smyyf\xFC9\xFC$j15A\x90 \xCCn\x9E\xBEڋ֋\xCD\xD3͛Xt\xB2\xE8c\x91e1٢\xD0b\xA3\x85\xB7\xB8R|\\xECjYa\xF9\xC2򀕋\xF5uk\xA3\xF5\xAE-߶\xAD\xEDw\xB6slW۞\xB1%%\x9E\x92i\x92{\x92\xBBL\xBBb\xBB\xDF\xEC\xC4\xF6㚬l\xF2S\x93\xFE+\xC4Hl\xB6~\xE6\xCCއ\xC5g\xF2Nt\xDD\xF20\xB9b\xCBKK\x9FcɔX\x982\x99_\xF9\x90\x97Z\xBE +%O\x96\xE1\xAD\xD1Ǝ\x9E$X\x95\xBC\xBD\xE8\xC9\xDE7C\x93\xBAN:5\xF8\xB1\xF0X\xFA \xF2Y \xC1\x8C\xBC\xCB\xE3\xB6|\xB8V:\xE4Y\x8B5:\xBDc\xB4(\xBDŻpXuaC\x9E
 \x97\xF5\xAF\xF3'\xC7\xEA\xDD\xEFϾ\xB4q\xF0\x93!\xBD\xA3\xEC\xF2\xE2\xE7\xEDܵjM\xF5\xFBk\x93O\xB5\xBD\x94\xB1\xFB\xAF≻\xDFu\x9Ch'\xB2{\xE2\x89\xFC7!V\xF9/\x95&quot;\xF7\xA3\xB6\xFA +\x8B\xD2\xCAv\xFD1\xFC\xC05q\xEE\xE9\xCAd3\xDF\xFBGV\xBB\xF8\xDB\xE5\xD8\xCDIڹ\xFE\xE2\xFEgצּ\x8F\x90?\xEF:m\xAE y\x9C/\xFE\xE6\xE1̈\xE5\xD3\xCE-&lt;T1\xAC\xE2oY\x8D&quot;\x9E\x9E
+/\xBDr\xB6\xF0M\xCA#M\xEE\xB3E]+\xC6hF\xCC\xBF\x83\xC8\xFAnι\xA0\xA1D\xC0\xF8\xE5\xC9֕\xAE/\xA8\xD8\xED\x91n\xE5&gt;\x8E\xD8S\xBE0V\x9Fr\xBF\xFDಀ\x823ͦ\x94m\x8A\x82F
+ \x849/\xE9li\x97\xE1Z\xE6J\x8B\xE7$uܝ\x98V\xF6\xA6G\x9F^^\xE4\xFAg\xE7f\xB9\xAFQo\xBE꺀\xE5\xB4\xDBZv7v\xF1\x8A\xB8X?[\x87\x80 \xAE\x9E        \xFA\x9D\xBD{Y\x91/\xBFY4\xB9\xEC\xF7\x997:\xCC_\xFB\xF7\x80\xC2\xC1Y\xE6{%L\x9D\x92\x9E(v\xB1[\x9C\x9Es\x9C\xDFgO\xEC9\xF3M\xAF\xAC\xB4\xDB\xF1JcP\xAB\xD7\xF6\x8A\x81\xCBd\x8B\x8E\x8BS|#a\x9E\xFB\xC5        %W-\xF2# +\xE4\x9An\x88\xB5\xF8\xE7\xA93\xBB\xB2 \xA4\x87+\xE2O=tܭ\xBC٦\xA9\xEBY\xE6\x8CD\x8F\x82\x8F\xFEPj\x8D\x88\xC9e\x88W\xED\xB7\xEA:\xE7nLM|\xE7`=6\x89A\x9Em\x9D\xADZw~\xE7\x94` \xA2T\xC8\xFE\xCF\xDB        \x87\xAE\x8CD6\xEFcP\xDF\xD97\xB3ﶹu\xDD\xE5\xB1\xF1('\xF2\xEEF\xB2\xD9\xEB1\x97\x9B\xFB\x85\xB4\xFDsҋa+\xF5cG\x9D\x9Eu\xE8\ӱ\xCF]f\xA3\xF8\x92*\xA4\xB3\xF7\xEAwhH
+\xB9@X&amp;\xBD\x9B\xB0 }\xA1e\xFC +\x94@,[\x92\x98\xEB$F^\x8A\xF4\xF6\xE0ߠ=\xA7nt\x9Dği \xD2]\x97}\xA7 x]K\xE7\x88e\xC8e\xBD\x81\xD5r\xD0ѝiY슨\x97\xCD:\xEC^}uЁ\xE4W\x85n:\xE3U~\xFC*\xB5\xE6\x9Co\xC2\xFB\xBBc\xCFM\xE9W8 \xC0\xCCK\xDAr_\xB0\xBB\x89S\xE7\xB7W\xBB\x9E\x94\x9CPާ7B?m  R..\x98a\x9B\xC6\xED\xD8O\x8A\xBAV\xDF\xF5.Mx\xDB\xBA \x916kfĬ\x91x=o\xB5&amp;6+\xF3R\xC7) \xE4\x8E\x88,\x89G\xC2?&amp;\xD9&lt; Bxcz\x8A_l@\xE3w\x885ˑ\xED\x91ن\x8B\xCB\xC3\xC6\xF77\xEC^\xBDmL\x84\xAB\x8B.qUəvd\xC5j\x940\xEE\xDC\xD4\xD2n\xF6\xA5\xD9H\x90艺\xF1
+\xE6U\xE4\xC8g\xABQ\xDB\xEC\xA4\xD7GN\xFC\x{DDF6}\xDC\xEF\xECdt\xCF93C ?\xF5GaY\xF6\x99\xF9\xEF(\xCF +\x87\xD9D\xF8\xACW\xCDJ\xBE\xDB\x9E\xED=lW\x97\x96\xAF\xA2\xDEʭf\xC0[O\xB9\xB6^A\xE9\xF2\xEDj\xBC\xF5\xE4\xBB&amp;y%.\xE7W@ͱ\x8E\xEBi\x83\xD0\xD6\xCBEh\xCA\xCD +\xD3\'\x8C\x9ABM]\xD7^\xE4\xE78%\xF7[\xF3\xA9\xAF7\xDAR'o\xDFY~\xFF\xA5#B\xF3\x8FV\xA1\x92}\xAC\xB6i[Xm\x87T\xF6NzS\xBD\xB9\xF6]T\x85\xE1|;\xC4In\x8F8뻼q\xF4\xED;ٓ\xF8\xA4c\xC5{\xCA\xDB8\x99\xB1D\x9D#\xA6L\xC0\xE97\xC2\xD5\xE1\xBE?\xE2%mB\xEC-[c\xFB\xB0V\xF6*wu\xE5;\xA6\xA0\x97\xDB\xEC\xD2Co\xFC||DŽ\x85\x8F\xE6M\\xD3\xCF&gt;\xEB\xA66\xEEU\xA8[{rڵ\xD8_ڗU\x96m\xBA\xF4\xF4Y\xA9W\xF7S\xDD\xD4mt\x88[\x93\xB0\xCC\xCF\xEE\x8F@[n\x88zm\xA9\x8Fݑ#o\xF3h\xBD\xE7=\xE5\xD1k滳6/?\xE3\xDC
+A\xBF'\xFAg\xF3\xB4 3\xFDn\xA5\xE2\x97-fɛ\x86&gt;Xp\xF2±\xBC\xC0\xF25\xAB\xBB\xB6\xECp\xF9\xAF艫\x81\xAA\xDCq\xBF\xDF{ǜG\xEB\xF2[\xA7\xF7\xF8\xF1\xFBPN\x9F\x8Cꉽ\xD6\xC5{;LFv\xAE|\xF7\xEC؇\xBC&quot;\xE1\x9C\xB0\x9D\xB0J^\xF9p\xE6s\xC1\x92\xCA\xC1}~\x80e\xB01\xF1\xB6\xB8\xB6蟧vi\xC8 6\x9B\xDF2U\xEE\xEC$\xD7\xC7\xF1\xF6&lt;9y\xD2_RT%_Lܒl\xF73\x85P\xE9\Ay\xCF]\xEDp\xA4\xD8jy\xC4\xFE\xD6ˊP\xFF-\x9BP\xF2\xEF篠\xF2\xF5\xE5W4\xDEK\xF3[:wr-w\xDCYp        \x91\xA5UHx\xCF\xF7\xE8Ɯ ~?\xCE(\xEE8 +\xA1b@\xC0\xE4\x81+\x8F\x8Cy\xEB\x91\xD9\xBBֿ\xB7\xA9B\xF1\xCB +hhxT\xD2i*\xF1\xAC\x8F\xAF\xBD\xB1\xD0V\xA1M\x80\x88X$ٖ\xDA~{\xE2\xFF\x9E0\x9F\x96\x84e_\xB7*`T\x87[\\xBB[\xD8\xD3uC\xD2\xDF%Y\x9B+y\xAF
+{\xB2\xDA\xF9R\xC4\xECa
+A{E\xF7\xC4L}\xE7\xDEYX\xA6\x9EG^\x8F\xDF&quot;\xD19\x99?\x90\xF4\xED\xEB\xE2Ý3u\xFEJ\xB6\xCEm]\xDCQ\x8E1(\xFCՒA\xB9\xA3\xBD\xAF\xE4 +D\xF2+\xB1\xA5\xC0\xB1\xFF\x96\x82f\xDFP\xE4\xB5\xC1&lt;\xCAP\xD92\xCF\xE3\x94\xFC\xE2s*\x91\xABO&quot;\xE91\xED\xC6v!,C\xAC\xBF\x8F\x8D\xFFv\xE3&quot;\xB6~[\xBFG\xAE\xDF\xEFr&quot;\xBDjmF7\xB3foJo\x87\xB4\xDB\xBC+\xD9\xFB\x9B\x9B-c\xF0!\xBE\xD3i\xF5\xEB\xDE\xF7\xA7&quot;A\xF5ND\xEE\xE6\xBFfdE\x9A,0\x90\xCB;\xFEb\xEBzF\xB1\xE1\xE4\xD95\xA4\xBD\xEF\xEE\xD2\xF3L5
+. `\xDB\xEF9\xED\xB0\xF4\x88cQY\xCE\xDAq\xEB,ȶ#\xAA{L]\xBF\xF3M\xE5\xA5\xFD\x95;\x8A\xE2\x9B\xD8n\xEA_x\xA9_ʰ43\xC4         C\x9Cn\xFD\xE2K\xEFڠ\xAFв\xA4\xEA&gt;\xB6\xE9\x81n\x83\xC5h\xF8\x8E\x9FN\xFE\x94s`\xFEƙ9\xDF8\xE1\xFB7^\x91Ф\xDFlD\xAA\xE2\x91\xC0e^\xE8\xCDİ\xA6&amp; N\xFF\xD5ȡKEB\xD6Š\xBCV\xEE,\x83\xB1\xA4C\xB3%\x96oa
+\xBA 4Z\xBE\xA0\xFA\xCDr\x9F\xE6\xA7\xF8+\xB6\xFF\xE8\xEF&quot;\xBC\x9E|g\xD5r\xB7\xBB7\x96]\xD9Ljgq-\xE5\xD0\xFC\xD1k\xDD_d\xF6\xD9wSJ+ҝ󫟄\xF2\xAA\x91\xE0\x8C\x91?˽WO^3\x8D+\xAB&quot;\xBE\xC9V +\xF3/\xBBX\xF1\xC0\x80\xA5I\xA8\xFD\x90{]\xA7\xB4^!\xCC\xD6\xED=&gt;\xE7\xFA(}nyy\xF7n\x9B^\xDA\xB1\xFB\xA4\xD9b\xBF!\xD5\xC1W\xFD64\xADF\x9E\xAD\xD0\xD1\xC5oG-H\xBF\xF9\xA8\xFF\x94\x90\x8F\x88\x95\xCB\xBF\xDAvQ\xFC\xFD\xA4A\xC1\xA9\x93\xF3.\xD9c\xC6K״ZY\xD1i\xDE +\xB4\xE1:B\xE7\xBCV\xBB\xDD96Ca2\xBF\xE8&amp;\xFB\xBE\xBD\x9Blٜ\xF9H0ʂ\xD2\xCAͦ\xB6\x9E&amp;/\x99\xB7&gt; \xB9j7\xA1T\x9F\xB4‹e\xFB\xCA\xFD{ \xB2\xFCO$\x8Ao!H[ycï\xA36        \x92\x8B\xBAX2j}\xD6\xD9\xED\xB1 l';\xDC@\xA5B\xDA&gt;]\xB0rg d\xEC\xBD\xFE\xFD\xB3\xF9Υ\xC9k\x9B\x92\xB7 WJ\xCEn        \xF4b\xB4\xC8\xD5O0\xBD䒁\x87\x82\xDB\xF1_\x97\xFB\x98\xA7\xDDF\xE4\x92\xC8\xE5|\xD8\xDA\xE5\xE9O^\xB5/=i\xB5\x85&lt;1\xEB\xD36\xEA\xFDW\xEBZ ;\xE75\xB1\xD3\xF4\x99S_\x8F\x9C\xF1lW\x9B\x88\x9F
 v\xB5\xE9\xF3w\xE8\xBE\xBA\xB2\x9F;\x8Cp4O\xEF\xB5yD\xFF\xCE V\x94'lpZ\xE5\xD0V\xA7/\x8C\xE8#\xD9\x8B\xE1Q\xA4oy\xF8,\x84$\x8B\xD0H\x8EwL\xD9Qy \xBB;&quot;\xB7vGh\xED TY\x81\x90Sq*7 \xDEwt\xEBc\xA1\xEB㹮\xC1\xEE\x8E'\xAC\xD6P1\x82\x80S\xAAj\xFB㲲+
+\xA4pxLE‚`\xD7 +\x94\xD8@\xCCvElg\xC7}oK&amp;        o\xDAs\x87\x96\xED\xB7}\xEA٭(\xA5\xFBܼ\xBB!\xFD\xD6O!\x9B\xBDU\xA8bA\x88\xEBʾ\x88\xB7' \xE5\x9D\xDB\x91Pb\xFB-&quot;&quot;\xEE\xE6a\x8A\x81\xD6\x88om \xFC\xEA\xB2\xF6C\xDC\xFDH\xFD\xD0\xE9\xB9[_D\xAE\xFDP\xA7\xF4ؒ fa\xC8&amp;\xB6ňv\xFA&lt;\xDAr\xE3\xD7\xF2\x8B\xC8eq\xB98\xB3L91\xE7\x8C;\xE5\xCD#\xFB\x9F\xE4s\xDA\xFB\xDEo\xDF&gt;j\xB3\xBAW׌\x9DH\xB0$Y=nS\xD6GT\xD8\xC6e|E\xE4\x80Q\x88XG@\xD7\xEE\xEB&quot;\xB6\xC7\xAE\x9F׳l[\xC5?k\x8BP\x99%&quot;w.\xE8\xB5Ge\x80\xF8\xDB+?\xA7\xAD,\xC25\xFA@\xBB\xE1U\xA8Tl@\x8F\xFD*\x85\xE4\x8Bמּ\xC5\xE9`\x8BH\xCFs\x9B%\~\x92CD\xE7D\x9F\x8F\xF9).mڝ}\xC8\xE6\x97!\x84\xC2\xFD\xDC \x97])\xE1\x99\xCB\xE5o۹\x9A\xDCܪ\x8A\xF3+'\xE4UⰦ\xBE\xB3'15&gt;/A\x9168YWk\x92\xF4\xDB#KKB\x9Cp1\xE2\x8E~\xAE\xC9\xCAC\x88ŋG\xA2\xE6˸x&gt;\xB7\xF5\xADy\xE9\xBBgg\x89&lt;)_\xB2ۈ\x9A\xEF\xF8\x9F\x92h\x97\x98\x8D        ml@P1\xD9\xFCӶ\xF9\xEEY        ]\xCB^\xFF\xD3\xD3uP\xA7\xF1
 ޶\xFE+g\xC31\xFC\xA3;\xBDmC\x83g\xA1\xF5\xA3y\xBB\x8E\x92 \x8Fw_r d\x9C\xFF\xCC%䛬0C\xDB&gt;a\xA3\xFB\ +\xB8\x88        洿\xF5M{\xFD\xD6I\xC5\xC9\xE6Kr8\x8F\xE6t\x9C7j\xA0\xE7C\xA5EpesZ\xE2\x8F\xE6m\xF2\xF9\xE6\xB2\xD5o\xEFN\xFFv=E\xE0\x95~\xBC\xC7\xC1\xAE\xFAo\xB6\xEE\xB9\xF2\xB2R\x81\xDD\xE4\xE3K\xD2O\x94p&lt;\xA4ҝiPɣ\xB0\xBC\x99j\xEB\xD3kZ\xEC\xBB\xEF\xC4\xD0h\x9B\xF3Ȓ,B\x8B\xFB\xA0\xED\x8F^\xDB\x9F\xB3BB\xEF`\xD7\xD71\xC1\xE3\xA4\xC2\xF2\xE5ܻ\x817r\xD6\xDA\xDAK\xB72\xA2\xF8\xF9U(cb`\xBFB\xFBMHzNJ8\xA9ǝ\x8B~н_\xFE\xF7\xB9\xF6\xDFZ't~6\xC7\xF5)\\x80\xD8\xCE\xF7\xC8\xD9\xF7\x83d佱=\xDD\xFBF\xF1aW \xE7\xA2ۧ\xC7{|\x97\xE5m\x9F\xB1\xF3\xF4\xEA\xD3f\xAD\xE5\xA8}\x90\x99w{\xF4\xD7\xBA!(vK\xEB\xD6iޣ +\xDE\xD4ʮ\xAC\xF2}m        \xB7&quot;$\xB8\x8F\x90\xB0HR\xB0k\xA9d\\xE6ԅ\xC7\xF1\x8B\x99\xD6\x91\xAD&amp;\xCE\xCEs\x9D\x9A\xAF\x9F\xBF\xB2eY\xECx}n\x81\xC5\xC3}\xFE!CP\xFB&gt;1\xC8,\xF9bY\xE1\xAE!\xD6i\xCFˢ\xA6\xFD\xD4\xF2\xF1\xBD3m        \xEC\xEA\x9Ct\x
 B5\xFD\xE1MW\xDBOF\x82'W\x91\xC8Z{\xAB\xA4\xD9\xD1\xC7W\xE7 }\xB3f\xCE4\xA0r\x943\xE1&quot;\xBFb\xFC\xA2\xBA\xAD}^\xDE-\xF1\xA9U!lĊ5+\[\xD8)}\xF0\xC0\xB2\xE1C +\xC4\xCA2\xC4Yx\xFE@hy\xD2\xFC\x97\xB7EK\xC2o\xCCA\xC5ב\xCF \xC1\xF4]\x9D\x91\x87{\xF1\x80)!E\x8B\xDAT\xBEJ\xE7\xC5 +/\xFE\xE3ѡ\xB3'+\x94m \x9C\xFE\xF6H2]n;\xD0kv\xC6҄%\xD3UH\x94\x83\xDA\xF5\xA3\x8B'qg\xDAl/\xBEnต \xEF\x8Ao\xFAHNu\x9Dka-.h\xF0\xE3.\x97Ge6\xC2?;x\xAE\xA1\xE2ع\x9B\B. AJ JV\xAFp\xB7X\xC0\xFA\xFB\x8C\xC5\xCB\xE5\x9Eo(\x98\xBF\xF6\xB6K\x9Fv        .[&amp;\xB8&gt;@Ћ +g\x9D\xD6\xE7UP\xD9P˅C\xFE\x86n\x833\xE2L\xFD\x95\xBB\xD3_\xFE׾X\x8B\xA6s\xBA\xB548\xEFy\x9F\xF6\xD77\xF4\xF3o\x81O\xD3'\xBA\xADF'$$\xB5\xF4-\xB1HH,\xEA&amp;i\x87lc7\xA1\xFE۫R\xAE        \x9B+\xABP\xAFD\x97`Y\xA2\xCD\xFCҳ \xDB+\\xFC\xB7w\xAB\xB8\xD9\xEF\xAE\xCE{        \x9C\x95\x88\xD7\xCC\xF3\xEC\xCE[oG\xCD\xE7\x9D\x8D!\xE7Oo&gt;h\xD0d\xD7\x9DO\xAB\xB2\xCA\xC37Wu\x94\xBD\xFEm\xCAQ$xv\x89v\x9A[\x95\xE6
 t\x8E\x9C\xA8\x8Fx\xFBVW\x84\xE1`p\xACʙx\xBE\xE4f\xD3\x953\xA7\xFE\x90c.3gi6&quot;\xC6\xF89\xAC1^9\xB0p\xE7\xAF\x9B\xBA\xFD:\xF5\xEF3x\xA4#vb\x8F\x8Ely\xE2a\xF1\xB3c\xBF\x8C\xDA7\xEAI\xD0\xB8\xFEu׹|\xB3\xFB\xFAǚ\xAF\xDE\xEC\xD9צwH\xFBю\x9F\xDC^\x99\x85wz\xB5J-}\xF7\xC1ɣ^\x8D6\xBB4R\xBD\xE0\xF4\x931v'\xB6o•\xEB\xD7^3/\xB2rQД\xFC\xC3S\x85ꩉ\xBF\xCF\xF9\xE1a\xB2y\x82\xF6 \xC6\xC7x\xBF\x8F\xF6\xC3\xE9i~SG\xB9bѥU\xA7\xD1:\\x935&gt;\xB8\xE1\xCF\xCA\xECR\x9D:\xBC{y\xF4T\xD77p\x8F\xBA\x88D\xC7\xFAn\xC9/CP\xCA\8\xF9\xF8Cw*9\xBBis&lt;&quot;\xF1\x91 +٬d\xF9\xE4\x9C\xB3w\x95\xB1 yA\xA7 \xCAy        \xC9k\xC3(!\xBE\x8A\xD0plv\xD8po\xB7K4}e\xBA`k &quot;'x\xBBmS\xB4sKsDD\&quot;\x93RυG}K\x864M\x96:X\xF6G\xEB\xD03\xC5S1 \xE5\xDA\xC0\xB5\xC5\xD2\xC9\xC1ȵ\xE2:\xACJ)w\xDC&lt;\xFA\xBEs\xF9\xCF\xCFͥ\xF1\x81\xE0䖯o\xDF\x90\xB2\xD9^+B\xCB\xDCCF-s@6/\x92\x90M\xB7\x84\xE2\xEA\xC4\xF2\x98s\xB2\xEDR\x8DZw\xEA?\xFF\xE2[?\xEB\x90\xF3݆n\xC8\xE8
 ,5\xA4t\xFCq.t\xCE\xE2\xF0M\xC8ֵ9\xDC\xE2LJr\xBAY\xF2o\x86n \xD8\xBAf1^\x83\x8A6\x88w\xDE\xF7~\xF0\x98Q??\xC8\xC1©\x88U\0\xD5@\x92f\xAD\xC2\xCB|\x9E\xB6\xE9}\xAD\xC9B\xECα\xA5\xBDB\x90\xD2i踰I\x88\xB0\xEE6\xA0ۃ\x9CYM\xBE/C\xC2\xEFN\x8A\xD6m\xEA\xFB\xE4\xA6\xDE\xE5\xA4]\xAF\x9C\xA1G3\xB6OF䮍\x88\x95}\xF0\xFCÕ\xA6T\xBC\x8A}W}{\xA7%\xA2\xCB緬\x97 \x90\xC0\xF92\xC8@\xB4\xF5\xBD\xBCz\xEE\x854\xD5\xF6G\xFBl@\xA9nBI\xA3c\xDD;pȮ\xD9\xC8u\xFC +T&amp;_\xB6ч3\x917\xCBY4\xF5\xF0\x80!)\xBE\xDA?\x84\xBE{t:\xB2\x85\xEBi3\xC7\xE25\xBD\xEF  E'\x96\xFD\x930\xFBл$\x91\x90\x8C\xB8ACr\x98\xE0 \xB7Elv\xD3\xF3&lt;&lt;?\xB8\xE5\ +\xF3\xBB\xCD\xFEA\xEC\xD2D\xD2\xEE\xF1P\xD7\xE8\xED\x8Bë\xC8\xED\x90\xCDʉ\x8F\xA2澊\x8C\xDF1\xE70\x8AK3p\xDEv\xB0\xD5\xE4lU\xFB\xEAO\xEC&gt;?\xAAt #\xA4YG\xB6\xCE\xF1\xDD/\xD7\xE6b]\xBF\xEB\x9A\xF2:\xACW\\xD9|\xCBΈ=f5
+\x9D\xBEF\xE1r41v\x8AJ\xB0\xB5\xD5\xFA\xE2\xF6\x86ʓ\xFD\xFA\xD9f +h\xBD'4\\x8Flm\xA5\xE4SG\xB7\xFD(\x9D\xB7
+6fGĞ\xDCe\xFE\xAAU\x8B[4Y\x97x\xE3\x85`\xCF\xC0v\xFE\x95Yz\xE8|\xAC\xABr\xEA\xE6\xF6k\xDDF2G\xBF\xD9Q\xA5\xE7\xE9c\xE3//-\x92w&quot;\xD3\xD6 +jm@\x9BK\x91\xC8\xF3p\xBB\xB2HoÐ\x90\xA3\xC5o%\x93v\xB7\x8CX\xF8v\xF0\x84\xC3\xDD\z\x85\x8CDm\Ȓm\xBC?ח\xB4\xEC\xD3        *#\xDF\xF4\xE1eg\x9F|]~\xFA\xB1c\x81W\xCCŽ\xA7\xF0i\xF6pB\xDF \xEB\xA5\xEF}h\xEA\xA18\x89\xF2^d\xC5m\x93\xF8\xFAw\x9Cf\x95\xAF\xAF\x81㓄\x92+nF]&gt;~m\xE0򄗃ݐ\xCD\xFB۽\xDF\x8F\xF9\x832\xB52\xFA\x898\x8D\x9Dք&gt;1hz\xF5\xD6أӂ*\x90\xED\xCA0ľx\xE8P\x91\xDE[\xB1\x9F\x9B~\xBAf,tV\xEEҍ\xD3޵\xC0Pap\xD9\xE7\x8A\xD6\xF1\xF9\xAD$\xAB\xBBy\xA5\x87\xB8t\x9C\xF4.\xC0|hTU\xD1(k\x8E\xBD\xFE\xE4΂\xC8Ԕ\x95\xB7~ǢM\xE5\xCD?l\xD6\xAA\x88\xFC\x8D\xC2\xE1\xB1D\xFB˷ގH\x96\xF4\xF0\x93\xBC\\xB9\xE1J\xD5\xD6=\xAEU\xD7\xCE\xDE@\xFD\xAD\x8AІ\x9F\xE3&lt;\x9A\xB7R\x80:[\xAB\x97\\xBFSis4\x80X\xC9j\xED\xA3,\xC8\xF1\\x98f\xF1\xAA\x9B\xFD\x87Qs~{;yq\xF9\xFB¦GWTUl&amp;f\xAF\xDA+\xFF\xE6\xF8        L\x
 DC\xE3\xB8\xFE\xDD\xD6'\x96?\x9F\xBF9z\xA2\xBEU\x89|\xB8N\x98i\xFEs\xA2\xEBk\xB3\xE8Yo\xCB߯\xBA}˧l\xC5{\xFF-w߮sO\x9DFq9Ҽ@\x82\xCC\xFB\xAC&lt;\xBD0\xB5\xCD\xFD&quot;\xB2)n ۤ\xEFbn(\xE8r\x93q\x9DMJ\xBAi\xF9vJ\xE9\\xCE1\xB1ˣ\x9D\x865\xDD\xC7ږ\xBF\xF7\g@\xCB&quot; D\xEF\xCAM\xA9\xAE\x8F~\xD6\xEEE\xE8Ɩʤis\xECc/\x80\xB1}\xBFʼj`\xA75\xF9\xDFΟ%bK֌\xC8i\x91\\$XTTtnj'\xBA\xFB\x80}\xF3~^fo\xF7\xE4a\xA1k\xE6\x9B'\xFB\x9B`gd\xBF&gt;\xD2l\x8D\xBDzB\xAE^CPD\x9AUi[~ؔ\xEF\xF9\x9D[YU\xA15\x85\x88㲻\xB4ߠ#g^\xB9\x97o\x95\xEDy\xF6l\x90Y\xB2\x81\xE7\xBF\xFCa\xE5o\x93z%d.}\xB1~\xC5\xFA(\xD5ÅE(\xC1\xA3\xA7\xC8.\\x9F\xEF=\xE80\xC2O\xEFh\xDAm\xD5\xF2\xF6\x9Ee\x8E\xA7\xC4͟K7\x9A\xEF\xE7憖~4eFT\xDFLi\xE7\x95\xF5\xBEx\x95N\tz\xBFm9W\xE6,\xAB\x94\x98\\xB5\xDC@.\x9C\x8D,}\x96L\xF2\xB3\xE7m\xF0)\xDE\xE5\xF2&amp;\xACU\xB90\xC27\xAD\xAC
+\xB9\x9C + /eGl\xEC\x93\xDF)\xB9̮&quot;o\xB79\xBAݸ\xB9\xB0\xFDmc\x8F\xC6v\x87\xF9(\xE5\xA0\xD3\xCB\xEC&quot;΍r\xFB\x89\xCD\xA8\xF9/+
+\xDFnBn\x84\xE3'-~%nJ\xD6鬂\xF4Gam:_\xB6&quot;\xACd\xFE\xA1V\xBE\x8B\x9Ap\x92 +}Z\x97\xBA\xEA\xC9;\xCEߙ\x8Aw\xF8-Ƕ\xED\x94G\xFE\xF5m \xC1\x889\xE7w\x8F\xD3-ٙtv\xE7\x93\xE3\xC3\xD6n땽=\x80H\xC2WB\xF3k%\xAEwr1y\xC9x\xFC\x8C\xE2\xD77o\xAC\xCBo&gt;\xEC\xB0_\x97\xA5f\xF4\x99y\xFC`\xE5\xB0\xF86W\xE4\xC8v\xCA\xAFk⧗ 6\xF4N‚8\xD4\xEE\xAByٽ\xE4gj\xC0\x85\xD2\xC5ΥfX\xFA9ܟ\xEB\xDA\xDA\xEB\xF0        \xC5\xC1\xC0\xFEC`\xE1\\xEE\xF7\xE9\xA2\xEF\xD6?\xFBՏN\xF8a\xC7\xCD\xFD뾚\xEF\xDDK\xF4w\xDFY\xF7\xF8mR\xC1\xF2;\xB9\xA5W\xEF\xA9%\xBE\xEE]}\xAE\x8FY\x9A=%\xB6\x8D&lt;\xA4\xDA1T\xF0c\xF3!\xD0\xF5Lg\xE4\xF0\x95\xD4\xEE\x91p \xF9\xFA\x9E\x8F\xEFnJ\xBDZ\xD9\xEF\xE2_\xD1K\xAA\x9Ed\xAA(\xFFV\xB7\xB7\xFD\xB5|\xF6Їr\xF3C\xC7FmLb\xAC\xEE\xF1cM\xA9\xA7\xD33ӟWf\\xD9\xC2O\xF1\xBA\x90\xD7㯵ٻ\xA4\xAE\xD8n\x98\xFC\xF6i\xAE\x9F\xDC\xDA@\xFBͯW\xB8\xBB\xE4\x{2B19EEB}\xA5\xF2\xF2\xFD\xE8I||\\x9C\xF0\xAE\xE4G\xE16lD&gt;;utڼ`\xF9\x8E\xAF{\xA7N4+ު}g ˍȬ\x99{\xC4ְ\
 xC1-Cl\xF7[Ϡ\xF1\xE1
+D\xD4\xF3\xA1S6\xD9#^\xF6\x87]\xEF/\xDC\xF7,\xF6\xB0\xE6\x81\xFA\xFC@]\x84\x9Cewy\x9D\xBC\xAF\xB9_\xC8\xF0ѧD/\x86\xAD\x8C r\xE6\xC6 \x8A\x97\xF3\x82\x8B{)2ې\xFCq\x88\xC2\xC1\xD4)\x93\xDB%a\x99\xFD\xDD!p5\x8D\xB8\xA3\x9A\xE58 \xF3}{\xCE@\xA0 is\xB1\x87\xE5;\x9FQs̰\x82ָ\x81a\xCE-kZ\x90\x878\xC6d\xDFu\xFE\x94\xB4农\xF5\xB3\xD1\xDA]H\xF4jt\xD9}\xB3gH .Am\xE7logW\xF4\xEC=\xD5ov\xB3}\xC4铅8\xF9\xE3l\xEFY&quot;\xB6[&lt;_\x82\x87\xA5/\x80\xAAD\x84\x9A&lt;~.\xB3\xDF&gt;ĺ\x9D\x88؄Ƞ\xD8\xE3z\xB0\xEChDb\xC7(9\xAC&lt;_\x923e\xB2{T\x84\x86DǶq\xCD#\xF6m  \x9F \x9Fs\xCFʗ\xF9\xCDF\xED\x86\xA1c\xF7]
+Hy*/'@'@ȶ\x83\xC1\x80\xF1\x89I\xC1H\xBC9e\xE4\xA4/\xF0\xF3Lж\xFF&amp;\x94\xB9\xF2P\xC2\xF2\xDE|d1\xF6ۛ8E\xBEyUX\xEE\xE2\x92t\xAA\xC4V!\xD7IW\xEElS\x85R\xCB \xC4\xD8.a\x8BK/\xF2\x97\x90`\xD8&amp;\xF4k\xFF\xCA +9\xD7\xD0\xCA29\x8A'T\x80\xC8\xEF\xAA\xDD\x8Fj\xB7\xEBd^\xD8\xD3|\xAF.\xCD\xD4N\xFF\xBE\xDE\xF7PJ\xC4\xC0\x9D\x8B\xA1V\x9D\xB6x\x94]\x9F#c$\xC6\xFC\xEA\x82\xE6S\xDD_ƞ\xF6[\x91\xBB\xB6\xF7l|\x8DVb?j\xFA\xF8\x94ـ\xF5v&quot;\xBEb_i:!\xF7\xA4[\xA6\xA2I\xFE)M\xF3\xD1+\xFB\xFAی\x9E\xF5䄎u\xB2k\xF1\xBB\xCA7\xBDV\xE8=\xCE\x9FDR%&quot;Un\x81/B\xF1\xBB\xABвA\xF9W\xBE\x8Bظ\xF8\x95\xD3a\xF0\xEA\xD0\xCE\xD1;7 xy\xF7\x97\xDDv=\xB5\xB2\x9Dr\xB3ӡ\x9EO:\x8F\x8D\x9B4.\xF4Z\xB0\xFF\xE6n\xAD\xAF\xF6\x8E\xDC/kV|:0&gt;M0\xE7\x8CoarrE\xBD\xC4\xFA\xEE\xD5\xFAży\x9B#\x97w\x9Aq\xD3\xE3~Dr\x9EKЁ\xCD''\xC4p\xFD\xFAC\xF8\xC8#G\xEEL\xBEw\xC8ߺ\xEB\xEE\xDC\xD5#\xB7 +\xAF^\xDA\xC2\xD3V\xDF\xEB\xD0
+\xF3%\xEA\xDF\xF7\xAE&gt;\x9D,\x96\xDD\xFAgG\xAF\xE1H\x8A\x91j\x85\x9CQk\xD4\xB5E\xED\x90 rE\xED\x91\xEA\x80ܑ\xF2D^\xC8\xF9\xA0\x8E\xC8uB~\xA83\xEA\x82\xFCQW\xD4 +uG=PO\x80BQo4 +F\xC9(\xA5\xA2!()\x90
+\xA9\x91i\x91\xE5\xA2\xD1h \xFA}\x8B\x8A\xD0A\xF2*i-\xB5\x91\xDAK\x9BH\xA4ͤͥ-\xA4R\xA9\xA3\xD4I\xDAF\xEA)\xED&quot;\xF5\x97VH\x9DUa\x88K\xC8`I\xB0$\xA7\xD9d\xB7\xC9nn\xBD\xFB\xC6X\xACvX\xED\xE0\xD6r\xA7{\xB0d\xB5\xAE\xC35\xFF\xC7\xE5;\xDD\xF1\xFF\xC9n\xFDx\xF7\xC0%\xC1\x92\xF9\xAD'\xBB\xC1\xCEn7٭\xDA\xD31\xE9\x9D\x87mv:0=\xAEv\x98\xEC\x86b\xAA-\xF1\x9C\xC3\xF9\xC9n\xA2f(\xC5\xD4\xD4\xF2\xD1\xFFk\xFF\xFA\xCE\xEA\x89q \xC0?k2\xFFȟ:\xE1\xE8z/y\xC7\xA1\xE5\xFE\xD7 5\x88.\xB3\x82ԇ\xAE5\xB5=\xDA\xD7\xF5zmmÔ\xA46ս\xB6\xC5\xF7\xFE5)\xA6\x97\xB6=Y䙏\xDAf\xF7`\x91w\xE9o\xF0\xF2g\x8F\x9Aq?\xAE\xADK-\xAA\xADM\xEE\xF9%\xBA\xC6R\xE8\x94 +\xA4~\xABM}L\xC7jP\xB6\xA0vnK|jRE\xB5\xB5\xDFԖ5md4\x81òG\xB5\xA9V\xFE5\xA9\x9BPV\xE8]\xC3KVm\xEA\xBDOM\xAAЭ\xE9\x81S\x9D\xA1\xB6uO\x9Cu\xFA\x94Φ\x96\x8E\xAA\x97\xEDW\x93z\xECא\x97lX\x99:\x8D\xF8Z\xF9\xFD?\x99\xEA)\xC1z@&quot;\xE6\xF5}\xA5RoO\xCFN\xD2\xF8,\x854J\xA3\xD6\xE8\xF3s\xD2 \x8D6G\xA3\xA5߈r\x97\xAATR\
 xE6\xCDi\xACB\xA7\xD0\xE6)\xE4\xEE\xE8\xE9\x85\xD7 +ᔏxύA\j&amp;\x89&gt;|\xF8\xB0FfS\xFC\x94\xBB\x89\xFDm+\xCC^M&amp;\xB9._}d\xB8\xF9\xAAoB\xFF2\xBB\x81\xF6Z\x89\xE8f1\xB5\xB2\xDC\xCBo!'        \x90\xB4`sVE= ls\xA6\xED\xE5\xDACu\x92M\xC0\x85\xC9\xC8U\xA9t\xE9Z\x85B\x9D\x9A\xA6W\xA3\x9E|'\xA8\xE5\xA0\xFA5&gt;\xAB*\xF7\x85\xDF%8n`o6.c-&lt;;қ8\xBA}\xA0\xC4P\xC1\x85.'r\xB94S\x8B_D\xC0!82&quot;Q\x81\xA2\xA2\xA2H8 +\xFA\xB2\n.\xED\xECd.\x89{c\x8C\x94\xC0S\xFB]\xBA\x9Di\x9B\xFBx\xF3w\xBB\x849YG*_]\xDC{m\xC2\xA9a/\xDF z\xC1Y\xF0\x80}\xE0\xB4'+'Ewl\x81j:\xB6\xAE2\xE6\xECnf\xC9\xBC +\xA8\xED5r\xC0\x89\xDBz\xCBe~\xBDm\x86LGLW\xBA+\x8A\xE9j/\xC23\xA20\xA2\x98?\xD33\xE3g\xEE\x99vm\x91\xD9\xF8\xEE\xE5\xBC]\x9B\xB3\xB7\xF1\x8A\x80\xCE\xE8D(\xAC\x89\xB3\xA5\xCA@wt\xE8\xF0\x9E\x85f\xBDwŝ\xF0\xCBl\xAA\x8A\xF2u4|\xB0\xC1df\xA8_\xD2|\xD1\xFE\xD9\xFD\xC6O\xB1w$\xDD
+H\xCC\xD1ڭ\xD5}Y\xDA\xCB\xC1{\xD9\xF7&amp;\xAE덟\xB5'l\xB4\x9Bì\xBCu\x85ꓝ.\xF6\x9Bjl\xF9Y\xD7J\xDF +\xAA\x98\xB1\xBDK\xE5\xEC\xD7Y\xB9- {\xE1̃I\xA0\xFEǿ]C \xE8 \xBC\xFF\xAE[\x9D7!\x9B\x9B\x81r&quot;݈t\x8EAn7\xBAC\xC3ʀ\x8D\x95\x98V!\xBD\xF6,\x88\xE0HSu\x9F \xDC{\xB3\xD9&lt;3\xD0\xC4&amp;EP\x857C\xEFU\xB1\xD9洔\xF8&amp;e\x813!K\xD4/q\xE6؃\xC6\xE6\xDCш\x88Gg\xD8w\xEA\xBC\xD1\xF6ثgG)C\xFB\x8C\xB33k\x9F\xEC\xF2$@u\xE7^t\x9FN\xBA +Zm \xF3\x8C=\xA5\\xF2\xD0\xCDf\x98~\xE5\xE0        \x9C\x97D\xDE%徝\xA5=\xEF\xCAr +\xBAay\x98\xE4 \x8C\x86\xC0 V4\xA3 +\x98\xE1Y\xD2\xCC۬:\xB6?\xE2WD3Z\xC3oO~\xF4b\x8D\xFA\xFFSj\xD5\xE8\x84YD\x93&amp;\xD7*\xD5\xC9&gt;\xA7
+O\xAF\xBE\xD0\xFA\xA7\xB36\xB2\xEF&lt;\x8E\ڵ]\x9DޘI\xF4\xEEޤr\xFA\xD5\xD0L\x85\xEF\x95\xD7\xEF^\xBE\xE3\xCD\xE5;;. =sћ\x80\x80\x89G\x96\xDE(\xEF&lt;\xF4$'nB&lt;\x8C\x857\x9BM\xEDX\x8D\xD1\xEC\xE5\xDB@\xB1-\xAE\xE3Y\xD3\xE2\x86\x9A\xD3\xEF\xA89P(A\xA9Zgxڊ\x84\xCDNk \xB3\x95\xDB!\xD4-G*S)3\xD5ݝ藑\x9Czt\xCBШ\xF5\xD2 Y\xBA\xA2\xBBmp\x9C\xA4:\xE5(\xC8xy:I\xD35*\x8D\xB6\xBBS\xAB \xFA\x9F\x93T\xA5\xD0\xEBڸY\xBA\xBF\x8F\xE8\xE9\xEEI\xFFs\x92Sh\xD5t\x91\x97SOO\xFAmQ\xDCo\x8Fn9=L6ERϦ0\x8C\xDA\xFD\xBFɨ]}\xE3GoX{\x94\x85\x9A&amp;\xE17\x90k\xB4u}\x95\xB9%bY\xA7u\xE9\xC3:\x83o\xCEX\xAE&amp;5\x96˞\xB1\l\xC0F(\xA1YeV\xA8g\x82\xE76\xE5\x84\xA3\x84 +\xA3,}\xA5\x9C\xFBE\xEE\x82\xDF&amp;\x9E\xBC3p\xB0\xCB&quot;\x8Ebc\xAB \xA0\xB9P۴F@3|\xB0\x800=و\x80\xD2j\x98\xECWJ\xA8F\xFF\x8B\x84\x9A֓\xD0\xAA\x84\xCDj\xA6\xEE2\xE3\xDA\xE1À2\xDB!\xCFndi\xF2\xDAxe\xB6&quot;U?R\xCFȅZ
+\x93o\x8E\x85)\xC0o\x9D\xE5\xC8ru\x8AԴ\8*\xF6rm\x99\x83\x84\x8BP:\x8C\xAAըt\xA9i\x99\xA9\xD9\xE9Pe\x8D\xABX`ĭ&amp;\xB56\x98\xD1m\xF06o\xC3\x93l5\xDD\xE5\xA8d\xF9\xA6r\xFAP\xA2\xC0\\x81c\xA4\xF2d\xC2NQuv\xAE^!g\xBAs\xC0\xB5f`#\x8E\xA0peM(U\xE7\xAA\xEB\xD5\xE3\x9D\xD8\xC66ځ_\xF6߼\xD5eD\xB5\x8B\xA1\xEE` \xEEjfj \xBA\xDDlS\x80\xC4 \xCFe\x8Edz\xA6{\xB9Mp\xA5\xF4IR\xC4)J\xCF\xD5ja\x9Dja\xAA\xB6\xAD\xEE\ˎ ]\xE7\xA6\xC5ke\xE9\xC3j\xD8k\xF2Iu\xA4F&amp;W\xC8k\x86nZ\xAF&gt;\x9F\xAE\xEF%\xD3Be3\xA8to\x95\xF6[        %
+\xF5\xA4k\xFB\xC2Z\x80|\x80ې6-a\xE1\xFE)\x9A\x81j\x89^\xA0\xBD\        \xAEe\xC35C\xA4Y\xDDJ`\xB9\xD8\xC4\xCEA\x8C\xF2\x8A\xE1\xBA\xC4c\xF4ق\xE4&lt;\xBB\xB6\x8B\x87؅K\xF0\xBF#=\x99\xF8aOFID\xD79\x88\x9D\xA7Q\xCA\xFD\xB3\xF4٪\x9AW\xBD\xFD\xC3뿵\xEC\xF1\xF9*\xBC\xA8]\xFFcS\xAC(\xFFqX\xFB?6\xD5\xE959\xDC8\xBD\xB6R\xB7\xFF؃B\xA7M\xE7F\xE7f\xA7)\xB4\xDD\xFF{`\x82\xFFs\xEB\xA0:\xB5\xED\xF9\x9F;IԨr\xFFs\xFB̚\xF6\xBC^\x8DJ!S\xF7\xF8\xCF|D\xE1\xCD\xFD\x9B\xD7\xEC\xED\xC0\xFFּ\xDE\xF6\xF9\x9Fz\x88\xD1j2\xB5
+\x9D\xAE\xDDzi\x90k\x84LA\xAEl\x98ul\xD0M \xFE\x9B\x80\x9A^L\xBA\xD3\xE4\xB3N\x9Fo[#\xAD֟'\xA9'\x97\xA5\xAA\x99\xB5%\xFD\xE7\xF5\xA7\xD7\xE6\xF3m\xEBgD\xF4ߊ\xB8+\xF0\x9Cuf5\xDD\xD1&quot;\xE8\xF4\xF9\xD4\xE4\x98\x85\xC9\xD4r\x95Bˡ{}ec\xA5\xDC\xC7\xD4N\x80g\xAC\xA5w\xFE\xCA\xC6\xFA\xDA\xA6&gt;\xBA~eC\x9D&amp;W-\xD2d\xE7\xC0i\xAF0\xB5\xF5\xFEʶY4y\x88N闕D\x9B\xDE\xE2\xF3؄~\xA1\xF6\x96_\xA8\xC6\xC6\xFB ͱ\x95m\xF7E\xEE\xEA\xB0/\xACU\x8EV\x99'\xD3+\xFC\xE5Jy\x9C^\xA6\xD5\xC7[`\xB9[}\xB1k\xC6,}\x81\xA6\xD6t}a\xA7Ԙ\xA5/\xC88W\x8D\x85\xD8\xFE߹\xD7)\xD4rZM\xCCm\x97+uX\xBEf\xC1L\xDC7m\xA8&quot;\xFD\xA3 +3@\x93\x9F\x9B\xA6\xA8\xBF
+-f\xBC՗\xC8L\xA6A\x92\x94\xDC\xFEK\xE4\xF4\x85)\xB0\x8F\xBBv\xFDW\xDA\xFEJ\xB9&gt; \x93:\x89\xB4\xC6\xC8|q\xEC\x8F Hۯ\xA0ź\xF2Ef\xBB~Q\xA0\xA6\xA5aK;o\xDAp\xB5\xB2f#{}M[\x8D:\x86n\xAB\x90\xC9\xF3\xFFO-B\xB4Z\x8D\xD6\xEF\xFF҂\xFE\xBB\x92 \xD8\x{364A02F}k\x97\x88 7N\xBF\xB5_.\xDCI\xF4\xF9L\x9E_\xD3m\xDBL\xD2\xF8\xAA\xA0\xA6\x9Ap\xB905-_\xAF\xD0\xC5k\xF42U\x97\xFFkc\xFC?12\xAD,\xFB\xAB\xF4q\xCB\xAD\xCA\xE9߶\x886]\xFA%\xBC\xAB\xBFH\x80\x95\xC6\xF1\x8B\xD8&lt;~\xB1 l \xBF\xA8\xCB +Md\xEB!e\xCC\xD9\xA9j\x8D\xDE\xF7n\x8D\xD9\xEB\xF05\xB2\xAF\xB5k\xDC\xC6L\xAD\x80\xF5\xFA\x8DUd(`&gt;\xE9
+\xC7/\x92a&amp;d\xEC$\xFD\xE7V\x9A\xA0\xD5\xE7\xDBЖ        O\xCF\xE5_h\xEA,]\xBB\xA1\xAC\xB5sN\x9F'\xAC\xB1r_\xF5#\xD7\xFA_)\xF1RA\x88\xF53\xEE\x9F'kl \x9BG\x83d\xC1\x86\xE42\xBE\x95\xF7\xBF\xB7V\xD740\xF5`\xA7.\xC1\x88\xD0ƫ\xAD\xD1^t\xF5\x99z\xB2\xD4\xE5\xAB\xD3\xEB\xBA\xF1\xF9\xF7nd\xB5-L}|E\x8D\xFFEu\xB0L/3\xB5\x91~Y\xEF&gt;v\x97`\x9B\xE0\xF1\xEFc\ +\xEE\x97
+Y\xF6\xBA\xFBԽjX\xFD\xA9{Ր\xDDOܫ\x8FgS\xCFv|a\xEB|\xC6Yj@\xF3g\xE9\xE3~h\xAB\xD1\xFEk\xC2d3\xBE\x82\x96\xFE\xD3\xD8\xD8\xF8\xA8A\x94B7k\xF5\xC9M\xC3\xE3\x93\xC7Oi\xB0H\x98\xA7%\xC1\x8A}V#\xBDd\xE3!\xD3\xF5\xCA&lt;P\xD7(M\x9E\x82\xAA}\xF8\xE2\xFC/ԑ
+Y\x9E\xA2\xE9\xA7DJ\xD0:\xFAV\xD1H\xFD\xD8\xF3\xB9:\xFCH\xC8\xE1su\xB9\xFAf\x9F\xA9
+R)Ӈ\xB5\xF8\xB4R\xAF\xC9\xCCT)L\xAB\xFD\xE5j\xFC M\xE7\xF4)M\x8EF\xA7\xC4\xCF$H]#\xA3\xE8\xF4\xB2L͂B\xDE\xF2\xD3j\xB0\x82`\xDDM۱\x91UR\xE0\xA6\xA1\xB5\xF3\xA4\x8DP\x8CT\xEA\xEB\xBA\xAE\xBE\xF5\xA7\xF5\xF8Qa\\xED\xA3B\x9A\xD5F\xA9{\xA0HSX\x84ֶ\xA2\x95\xB0\xDDgf^G\xC6xZ\xF2Fo}\xBA\xA0\x91:le\xE8\x82FV\x97\xB6        t\x89}\xA3\xB3\xFB՘*\x81\xA5`&gt;\xA2\xD0\xF8\x9E\xA83\x8D5\xAE\xD9\xFA\x8D\xE9\xA1i\xCB7\xA6\xD0 og|\x92\xBB~^\x8DꖩW\xAE^\xAFQ\xB7\xF9\x944 \xBA\xF9\x98\xAC\x91\xD5\xD2*j\xFA\xA4\xC7mt&amp;&amp;\xABӈrs\xE4ط6)u#{\xCE0\x8DZ\xDE,S\x90F\xAE07=\xB4        ڪ\x96\xA9Y,\xFCe\x8C\xFC \xFCh_T\xDF̙5x\xE4\xF0\xF9GEl\xAC%z\xC9\xD9X)\xD8\xF4cKf\x95y&amp;'ɼ\xE1\xFAQ\xB5\xABE՚l~\xCD*\xF1k\xBCa=O\xC3\xE2#\xFFļ\xE1#(Q\xFD\xBB\xACU\xFD\x8C\xBBL\xE7\xDC\xC9\xD3\xD1\xF4G\xF1uO\xE7\xE3\x81\xF7H\xCBU\xAA\xF4J57\x95~\xD0\xC1\x89á\x93\x89\xD7\xCA\xD4:\xFCY\xF3\xB8Y3\xA6\xEF\xB5B%\x8A\xAB\x97\xB1f\xAA\x98K^'\xBCU\xDC'E\xBC\xD4&lt;z\xD2\xE6\xA99Z\x9E\xB
 5I\xA9J-
+1X\xA2r\D?@\xC1Ẽ{Qj=\xC1P\xA95\xE21\x86\xC6,5-7\xFB\xB0rL$\xACi7*U\x96 k\xC6ǃ\xE3㧚V\x96\x9BJ\xFBa&amp;\x976W\xAFT\xE98\xF4\xA1`\x96\x9A\xA1\x84\xBE\x82d\xF4\xCF\xE2\xA3\xC7X\x82\xBA'S\x96\x9F&lt;g\xB2i\xEC\x92\xB0ޓ!\xCBT\xCCL`\x86\x9E\xB9\xDB*ՙ=B\xE12O/\xA8ڝa\xDE\xD0\xC9\xE7\xC6\xC1)\xACW4\xFD\xC2=\xC0\xA6akE\xC7.\x82\xD4 \xB8\xBA)@|
+\x91I^!\xD99\xFA|aj\x9Dg-J\xAD珛\xA5ֿ\x83s\x99\x88g*\xB40\xC5\xE1\xA6%\xA4\xE6\xD7\\xF6\xB8L\x8D\xB0^W\x82\xBA!J|\x99\xA7K)\x9C\xA4 \xCD`\xB9\x83\xB2\xE0\x92\xD2\xE9\xEC&gt;s\xF77kp\xAF7kpg\xB7n\xE4&gt;\xDE\xECKwmQ}'\T\xFF\xB2j\xDB\xE8\x9D׺\x91\xFB\xAC\xA8\xBEs\xD4\xE4\xB3n\x93U\x83\xEB,\x86oG&lt;\xE1Fa\xC9Ac\xF7\x9Bb\xD4\x9C|\xB3h\xDA52\x95\xF3Ru\xB4\xEFJ\xD1\xF7\x9C\xE22\x8B%Hը\xE4\xA6\xFE\xD0+\xF6\xCA(-L \x96\xE9C!\xB7\xA2׬\x96B]\xAF(K\xA6\xA3\xB5O!7\xE9\x9F8\xBC;`\xB4\xF6V(\xAAE\xE4\xD0c\x8A?\xBE\x83\xD84v\x9D\xB0\xFC\xE4r`\xF9\x89\xEBo\xD6\xC01\xA7jK
+&lt;0%vXr\x84\xF5~L3o\xF8\xA2\x8C(N\x897s\xFCP\xA9\xF4\xAD\x96\x85\x9B*W\xA4\xE5fbc\x92\xC8H\x88^\xEBXP a*\xED\x98\x94\x9DN3\xBA(Ne\xBE\xFD\x97\xAD\xD1\xE8\xB3@ 6\xA92\x95J3\x8B%7S\xA9\xD6d˔j\xBClu\xAE݁\xD6d\xD1\xCDRM|\xC6\xE9\xF3U
+\xC6\xEE\x84\xC1薩j0Xy\x8A\xC4\xDA`U\xBF\x84\x9D\x97\xAA\xC9\xD5\xE7\xE4\xEA\xCC\xE2c\xA3I\xC5C\xAAT\xA8\xC0dd|tҚ1S5i\x94E\xA4&amp;]\xA6\xAA\xD3\x8Bz\xDA +J` +3!\xCB\xD7\xC5eiF\xD4\xA6\xC2n{ɴf\xF5ҽ2AwL\xBF\x8A
+S\xEB~^5K\xAD\xFFk\xA8(\xB5\xDE/\xAB\x82\xD4Zwܼ.\x89\xB9\xD2\xFAư,J\xA5\xCFL&amp;c\x91\xDA\xF0wa\x91造OsS&amp;AMg\xC5\xF5\xB8\xA0\xCFm\xF3Z\xE9\xACe}^\xE8X$\xB5 _h\x9F\xA5T\xEB\xE1419\xFC\xE6\xF8̩\xBD!(\xF0\xF6\xC0s\x8AÊ`\xF1\xD1U\xC4򓋇է\x97 \xAA\xF6*A\xD5^\xA8ZY\xF1k.\x82\xBA+\x80\xA8\xBEGo\xF9\x89{/\xFEؙ\xD5w\xDD\xCD8\xEA\xB9\xE5\xE6 +\x9Dp\xB3.\xB7u#\xB6\xC5Gqg\x99\xAAu\x8D\xA9ZGXP\xE7\xF6R\xB5\xBE\xAC\xA8\xBE\x87i\xFF9Ҧ1\xEF\xD1\xE2#_Ѽ\xA1\xF7g\xF9\x89\xAF'\xA8s儑}\x83C\x82S\x83\xE3*Z\xF0\xF7\xDA\xF81\xB1}{dž\xC4\xC5\xF1k\x8EpA|xTHB Ѕ\xB0M`\xC6\xE0ƅ\x84\xF4                /N&quot;f\xC7D\xE0\xE1 &lt;\xBA7/\x871\x8A\x9C\x98\xC0\x84\xB8sf\x9C\xA8\x90\xF8@&lt;\x9493T\xB6\xE9\xF3p\x9C\x90h\xA8\xE4(\xF01/J\xEC\x99\xDD;D\xC4(t:-Lv\|\xDF
+wO \x946#\xBC\xA0\xC0hz\xE8t\x99\x8F*`\xC3\xF10\x83\x98\xCC!6ѡ        \x91\x91qA\xB1!!\xD1\xCC\xE2\xBAudF\xB1\xEB\xC2P\xA4\xC6ńŧ\xC6Ƈ\xF7\x8CP\xD2_$B\xBB~        \x81\x91\xE1\xF1R\xE3\xFB\xA6\xE2qCbS\xA1Q|\x98\x90\x{134278C}\x936        Cd\xCAaQ\xC7z$\xE0/\x9Fy \xD5d\xA9\xE5\xF8'\x90\x9AOE\xE9&lt;2\x95\xFAd\xF2\xD0i\xD3=h\xCB\xD6\xE0\xC9\xD7\x8E5\x9C\x8B\xBD\xFFS\x97]:\xC7Џ\xCD'%ξ\xBE\xFD\xFEw~?\xF2\xB49#\xB05\xE7f\xD1\x9C%\xD3gq\xB4\xD8\xFB\xE3\x99\xF0k\O\x9E\xC9\xF3\xA4ꎡz\xEBd\xACX&amp;g\xBC\xBDH\xA5N\xAFP+\xB4\x84BX\xCF\xC3\xD4=\xB6\xE7\x85\xFB\x84\xAB34,\xF0CY\x9A\xB4\xA1l\xFC~+G\xA6J\xCB\xCD\xE6B\xA7М.?f\x80\x93\xA9Pk᪡Qg\xE2s\x80\xA3\xC76\x94\x9D\xAF\x90i9\xF4\xA1\xCCRh\xB5\xFC\x9AM\xC7U)ԙ0\xA5.Z\xCD\xCAժX0\x8E !62V1&lt;W\xA1ӛ\xC7\xF5M\x88N +\xEAb\xADUd\x83\xA9k\xC02\x87\x9E']\xA5\xD1)X\xD0/\xD7\xE4\xF67\xBC^p\xE87\x86(\xFA\x87e\xCC7O\xA6\x82\xA8\xCF\xDE\xDF̭\x9E\xC7\xEF\xCFs\xA3\xE9\xFD\xF9n\xB4\xC1\x91C\xBDà\x80\xE9ޟ\xEB\x
 EB\xE5\xEFD8\x89\xDC\xEA\xA4\xE4o\xE1Vs'\xE8\x85 \xFD\xCD\xDD\xEA\xDF\xFC9\xBAl8߹x\xD9s\xB39*\x996S\xC1ɒ\xFBy{\xC6\xFD\xEFz\xF2\x89\xF7m\xD3\xE0\xD7EƁwnX\xD8\xE0'Gl\xF5\xC0\xDDPh[6$
+\xC7\xF6\x9E9\xDB¦_\xE8\xA4Y\xFD_\xF0\xFD\xE9\x95\xC2\xF52}zxb\xF8\xCC\xC7kgr\xB234\xFC\x9A\xA5\xED_\xE0\xD4\xEBsM\x97HY\x8E\x92q\xCC{\xC2Ɇ?\xCC\xD9ݧM\x8Do\xD6ݫ +\xE8xw\xCF6:p2\x94\xD0$\x95y\xA9X\xEBSs4p\xB4\xE4w\xF7\xE2\xD0\xEAϡ\xF9\xA1uQa\x9E\xAF\x972]J\xF1U\x80g\xE2\x89{!(K\xA9\x92\xF34j\xDAՇ\x98VXp\xF9\xEB\xB9\xF7v\x8C\xCB\xFF\x89go\x86G\xA5ϐ^\xF9\xE1rQz\xAE\xA26ç\x9BK\x95:66\xD8Bp\xE9\x83MZ'1]إ\xB4+\xCEt菽~S\xEBڽhՠ\x8C\xD66\xF3̆7\xFEڻ?W +\xE6V\x96\xA3 z򔠶#\xFBfp\xC0\xC7\xD5\xEB\xE0\xF8ķ1XN\xA1\xE4\xC0\xAA)\xF5\x9C@\xADV\x96O\xB4a\xAAb0ѝ\xC8#&lt;\x84\xB0\x8E\xFAp\xA65\xA5\xCBM\xD3\xD1/I        Ax\xCCs\x87v.M&gt;\xB3dy~\x8D-\x96\xE7\xBF/\xBD\xE3\x82v.\xF4\xE1\xCF\xF8\xD1\xF4\xA4\x93\xF4Y\xAFa\xE3\xBD        V\xEC\xA9qS\xE9\x8D\xCA3]\xEA\x85n\xB5\xD7M\x91[\xDD\xFD\xB6w\xBD\x8B\xA1\xBF\xC5\xC7z\xF9\x89\x8AK\xDF\xFF?\xD8\xF3\x8F\xAEe,0l\xAC\xA3\xE6\xF5+\x9C=\xF95\x97)\xBEFݫ\xB0F\xADফ\x94P%\x88\x89O\xC5gbB\x9Cy\HPB,&gt;MCbc\xFB\xC6R\xB5\xF7#6\x
 96/;\xFCI\xF3qQ\xBD\x9B\x8EՐ\x96\x83\xA4\xF6&gt;\xE7ދ6P\xEE\xF4\xAD\xDC\xF6\x93b\xEC05op%t7%\xDD\xE3r\xD3\xD3\xC1\xBBi^\xD7o w&amp;\xADчbl\xF3I-hX\xBDa\xE2`E݁X\x99\x91_\x8F'\xFA\xB9\x8C\xA9\xD8\xFA\x9349\x92\xC6.~\xFER\xAAv񹱊̐\x919\x92\xAD&gt;;\xA7\x9Dn\x8C~\x8Cb\x8C^\xE1\xD2s\xB0\xFF`\x8F\xC1\x9Cl\xBC\xEC|\\x87m\x97\xFEc -\x97\x918\xCFt\x8F\x81- fv-ta`܀\xE8 F̂\xBA뤅L\xAF\x97\xA5g\xD5r\xC8V\xE3u\x9Ft\x82\x8D\x95վ\x9D\xBB\xAB\xCB`\x8Fv\xED2Tyc\xB2s:|\\xFC\xA1\x8C\xEC1(e\xB0Gr{g\xB8\xA0*0Kpv\xE5\xD8\xD4\xDED\xA5\xA4 W0+)Ø\xBF4⿹*\x9F&lt;\x8F\xB5\x934V\xE8\xECiz\xFFJ\x97gk\xB6]C3_{7\xB6\xFE\xA4-\xA8k\xCDρ\x84\xAB\x90\xBE\xC22WWA\x9D\xA5gk\xE1\x8E\xCB\xF8\xC9L&gt;C        7VPE\xEC,9[\xAF\xCDUp\xE8+4lfZI92\x95N\xC1\xF8/xQ\xF9\xB4t`\xAB\xF2kl
+\xA5\xAB\xB983\xBE +s6 h\xBAP
+\xD1D\x89\xAFǴk\x84o\xF4\xBD\x88vL\xE8\xF7\xAD\xF9\x9E#}\xE8ftE\x9AL[S\xAC\xC8\xC0\xFF\xC5t1\xE3w\xD76
+
+\xEA̼\xC1S\xB3U9\xF4EF@\xDF\xEB\xF1K\xDF|\xF0\xBAS#CB\xE39\xF4;\xE0\xE6tMܛQ\xB07\xF9\xD1}S\xE3\x82#C\xE0\xEAf*\xD4=(\xD6{N@\xE1\xBB9}頲sUz\xA5
+$\xC6\xA1\xD1\xCA\xFBke9\xDC4H(\xB4\xE2`\xAD&amp;'.K&amp;׌U\xAA\xC0\x9C\x99\xDE.ʠ3:\x9E)\xE3G[J`gH\xCD\xDD\xDD]\xC0\xA6\x96\xE6)uJ\xB0\xF4\x91\x82\xC1^\xF9\xB4\xF3&amp;S\xE5d\xC98A\x91\xE1A}\x88\x91D\xBE\xB0\x9E\x99\xE7\xD3i\xF74\x85y\xC37\xC0u7g~͝YT\xFF/\xAC\x8DO\xA3\xAFax\xEAf\xB0\xE5\xF1N\x86M\xF7\xED\x86wu~\xCD ߂\xBAw\xBF\xF95\xAF\x90S\xB5/\x99\x8B\xEA\xBF\xDAm\xF1ѻ\xDCf +^qD\xF5\x85 EjT\xDF\xC4SR\xB1\x94)\x99/dR\x91!\x81\x89!\xE2\xF0\xE8\xF0\xF8\xF0\xC0H)s\xBF\xF2\x97r\xA5Q        \xF1!\xC1|iB4\x9D\xE0\xD1k\xE5/%\xF8~\x9E&quot;~\xC1\xC5
+\xEE/\xD48\xE4\xFER\xBE^üjL\x99|s\xD8\xDC&amp;]\xF7\x97
+kuҵ:\xEF/57\xED?ډ\xF0\x97\x8A\xEAgͳd\xBA\xBE#\xD41\xB0\xF2
+\xAD&gt;\xBFy\x88\xE9'\xFA8\xC3a\xE0.˓)U\xF8\xF0\x97Z~RK\xD5\xD66\xFB\xB4\xA5\x86&gt;\xF9ƒ\x81\xED\x9A$[ +\x8B¥\x955\xC9&amp;P\x8E&quot;J!\xA3\xC2ΐ\xEB\x92\xFBP\xA6\xC7l\xC5P\x9D;m%\x98\x87Y\xBD\xB4Jy\xA6\xC2\xFB\L\xB7\x9A\x8E\xDC\xDC!P\xDA\xE0\xAD\xA9&amp;\x9D^C\x90/h@\xC6ցj\xE9\xC7u\\xB8m\x87\xACY\xC6\xE0\xBE\xFD\xA3\x85\xF8\xAA\x9A\xCA\xDCD\xCDt\xC9Q\xE0\x90K;;:.\xFDd%\x89\x89p\xC0n+\xF4\xD8l\x83\xCAƘn(|Zk \xC7\xC5\xE7\xA7*\x89\xAB\xC7^\xBB\x9E\xCB&lt;\xAEd\xC1b        W\xE78\xDA1\xA9i#\xFE\xA8렏I\xFC\xA5f5\xEAI\xF7\xC7V\xE3K        \xDCT\xD2\xC1\x89\xD1k@\x8B\xB4A2\x9D\x82
+\xF2x\xB8[\x{14D38F}\xED\xE7/\xCD\xC0\x96 +?\xB3\xA7Wb\x80C]\x8D_]\xE5&amp;\xAD\xF9\x902/\xED8\xC0\xEEG\xF8\xC9 \xB3\xA3ba5\xC1gU)\xAC&gt;z\x94\xD3\xCEE@\xD5V\x9A f*4٢ Y\x8E, +̎^\xA9\xD0Y\xD6t\xA2k\x8B\xE7\x92\xF4I\xC9\x9B\xBA\xC7&gt;q\xA6\xCF}\xA7\xEB-i\xF3\O\xB9\xD1}c\xA3#-&lt;2\x82S(SS\xB7\xFDV\xFAK\xE8\xC4N(\x96\x814\xA3^\x95U]FJ;\xFC\xB0\xFB\xEA1\xAB\xFF՟C?\xED\xE0\xE0](\xE0\xD2D\xC0g[)?Z\xD0\xDE&amp;h\xBF\xE9\xC2*H_        \xA5\xE6\xF57\xC1\x9Ew\xE3\xE3_\x83Y\x98\xACh\xA0Z\x98jcVs͕\x86ƙXa\xB8\xB3\xAA\xA9\xC03`\x9E\xA73\x96?[/!\xF3\xA4\x96N\xB7\x97\xC3_.\x95\x83\x8Dm+͒\xE5)\xE8\x8F\xC93R9\x98        5\xF6\xB3\xC2\xDAn\x9C=\x85\xF4\xDC\xE9 \xAEu\xCDc#ilHPHxb\xECgb4\xF1\x8D&amp;\x81M!\xD8p\xA7\xCFlT\xFCs\xF3\xF3v[V[\xB7\xB6d[7\xC2E\xDC\xF0\xF9\x98\xB3'#:9\x8F^)+']\xCF3=4\xE3\xEBM\xCF\xCCx\xD9J5\x88N\xC7\xC5\xD5h        OŸ +7\xD1l}\x94򲙧i\x94\xBE\xF6\x97@\xBA\xBC\xEE\x87\xC1\xA0Y        !i&amp;\xF1\x92\xC4I\xFCB¾\x84\xB0\x97p\xCA;ȕ\x
 89\xE4\xC2\xFE\xC19MpN\xF6O\xCES\x82\xF3\x84\x90        {\x8E\x83diGp^\x91\x87S\x84\xC3\x96\xC3,\x87\xAD,\x87m,\x87\xED,\xA0-dK\x96\xB2\x96\xB1%\x87ؒ\x85\x84d5\xA7\x87\xA08!ׂ\x80\x90\xE4Z\xD1\xC1!6\xD1\xC4^\xC8ѵ|\xAA&amp;aV\x9B&quot;kS\xECڔ\x8D\xB9\x98\xE9ȼi\xB3\xE6-ZJ-fY\xE5m&gt;ʛ\xF1\x98,\xCBܚa\xC4ґ\xE9\xA6a\x96\xFDQ\xDE棼\x8Fɲ\xAC%N\x84\xBD\x90E\xB2m\xECZ\xD9:\xB7\xA6+        \xAEM#\xA5m+\xE44Vh\xD6Xa\xDB\xC6
+\xDB        \xEA\xCA\xE6qy\xC9#x&lt;\x82\xE2\xE6&lt;G6\xE7\x91-y\xA4#\x8F\xE5\xCD#bx\xECx\x99\xCC#Sy\xA4\x8CG\xE6\xF0\xC8        \x8F\xB3\x84\xE0q\x97\x96\x96V\xBEV\x8A\xAB\xABkk\xEBQmK        j        A\xF0D\x8F\xBD\xE2 +o\x84xě!\xDE\xF1oll\xEC\xEC\xFC\xA8\xEC\xEC\xF1D{ \xFA        \xB0P\xF8\xB0\x8F\xE0\x99\xED\x87\xF8         ,\xC0,\xC0\x82\xE0 \xE0\xE00\xE0\xE0(\x94\xEBLCt b\x98\xD3&quot;`JLEtb\x98\xD3!`:\xC4        (;        \xD3\xF8\x95౪\xF1TH\x9E\xC6\xC3\xF8b_ ㋁E1\xB0(&gt;\xD6\xC5\xC0\xBA\xA6#\x86\xA9\x88\x81mqO l\x8B\xCF\xCE\xCE\x80e\xF1\xE8\xF2&quot;ė\x97W`\xB8\xAB\x80k\x80\xEB\x80\xDF7\xA0\xFC&amp;\xE0\xE06\xE0\xE0.\xE0\xE0&gt;\xE0\xE0!\xE0\xB3\xF9\xB3\xC8\xE2Y\x8B\xD6\xC0\xA25\xB0h\xFD \xF0\x9C\xE0ټ\x80\xF8%ĿC\xFCX\xB7\x86հ~\xF6\xAD\x81}k`\xDFط\xF6\xAD\x81}k`\xDF:\x88g +\xEC[\xFB\xD6\xC0\xBE5\xB0o +\xEC[\xBF\xBC\xBC\xBC\xFC        \xF8 X\xFE\xF0\xD2\xC0\x9E\xF5?\x80ɳ (\x9B\xD6\xE3Hk&lt;\xA8\xE1\xC0DHO&quot;y\x92\xC9
 `Y,K\xA6@z*ؔL\x83x:``&amp;``6``.`\xF8\x90̇x`!ɳ[ \xF1@!O})\xC4\xCB\xCB+\xDF\x8A+ŀU\x80Հ5\x80\xB5\x80u\x89VVR\xE9R@\xA0PX\xD8\xBCo\x84d!\xD9\xF1f\xC0(\xFB\x81\xE4\xD9oll\xEC\xEC\xFC\xA8\xEC\xEC\xBA=\xFF\xD8 \xA8\xFC \xD8\xF8\xB0ppppZkb\xD0R{\xD0P{\xD0N\xFB\xA3\x90?88}\x82l\xEDOB\xFAW@5\xE4O\xCE\xCE...\xAE\xAE~\xDC\xDC\xDC\xDC&lt;&lt;&lt;M
+x0^^|A\xC3\xD8T        \xC1\xA1b\xB8\x89!Q\xEFH\xBAB\xF1\xA8?!        \xAAE\xC1ZR\xA0F\xAC'\xB5\x9F\xE0S 'ʑ\xA2 ,\x9B\x91 \xF1FB@\x81R?@ v\x80e\xE3`7(`\x9B\x82\xE9\xF0\xD8X\xB0J\x81\xFD\xA0&amp;B\xDD\xC0T\xC04\xC0t\xC0 \xC0L\xC0,ش\xD9,1\x87E\x81m\xA1\xE6B\xD9&lt;\xC0|L\x9F\x82\x8DO\xC1&amp;\xA7@\xBB)\x986;\x84\xFBB\xAD\x87\xB1\x9BS\xD8        \xAA%E-j0\xD4&quot;\x96\x90A\x81P(\x82\xA1\xC0\xBCP`2(0\xD4b\xA0sB-\x81\xB8f\x83\x82\xBDC\x81`\xA9\xA5\x90\xB3A\x81P)$\x82\xA7@\xF0\x9EZu+\xB0\xB7(&lt;\x8F\x82Ť`\x83Q\xA5 \xD6\x82\xBAD\x88\xA8&quot;\xC0o\x80\x80\xF3\x80s\x80]\x80 HZ\x92\x81\x98E y\x88Z\xA2\x81\xA8E ju\x910\xA3.@\xBC\x83%\xA2Z\x8A\xA8\x9D݂\xECX\x88oB\xBC\x88e\xC1\x8AX\xC0\x8A\x88\xA8\xFB\x80B\xA8\xDB +\xF8        \xB0\xF0t}\xCA\xEF\xEE\xEE.\xAE\xAE\xE2\xB6@s#\xA2At\xB0\x8F(\xC1\x8CC\xF3\x93_\x82\xF82\xE0*\xE0\xC0xx        \xF0QG\xA1\xD91\xC0q\xC09(:\x83\x9BA\xBA\xF0\x9A?\x9Ce\x89@yYME\xB0\x940&gt;\xE0*\xE6jn\xE2\xB9
 n\x8A!\xBF
+\xF3 黀{\x80\xFBx\xCE\xD0\xEB(?\xD8\xF8\x95`\xF3\xC8\xC7,\xEB        \xE0)\x8B\xAA&amp;\xC4\xD4_\x84%\xF5\xE0 +iI\xBD\x9C\x87\xF49\xC0.\xC0K\xC0;(Dzմ\xB1[RF\x88\x86򽀭\x80*\xDCoⳤ^\xD6\xD4s\xDC%\xA4\x93-\xA9W\xFDٱ\xA7ZR\xAF!\xFA\xD9\xFD\x84 +,\x80%,\x80%O\xF0\xC9\xFC +x\xF8\xF0\xF0\x92\xEBlIY\x82`-A\xB0\xC0\x8C}\xE23\xEF\x86n\xDE\xDE\xCEB\xD9N\xC0oP^x\xB8xe\x97 \xBE (\xBA _\xAC\x80\xF25\x80\xF1l\xE8 \xE2kP\xB6 ⷀ\x9F\x80b\x9B\x9Au\xAF!\xFF'`)\xB44S\xA0l*`\xE0\xE4\x87\x89n$\xAC` C\x9F@#\xB3\xA4f@\x95\xAAb`\xBË́\xEC,\xC0;\xDC `9`\xE4oC\xDDC\xC0\Ho\x87\xB2\x9B\x90~\x85롗b\x88\xF7\x96M-\xA9P{JB\xFC6G5aK\x92\xE8\xC9\xF8\xB5\xA3V\xB0%T`%\xA0\xB0
+p\x9A%i*\xA1\xD6@\x8A'\xA1&amp;\xF1^BBM\x81x*\xA0\x8A\xA7A\xBC0\xB0\xF2s \xAE\x9A\xB9\xCF\xC34\x80
+\xC0z\xC0(\x9FϒP?]%``7`\xE0'\xC0^@`:\xD0\xFE \xF1 \x88\xF6A\xFE +\xC4o\xBF@z?\xE0\xE0 ۞: \xF1Q\xDC\xFA&gt;\xF1q\xC0$\xA0[8\xE9        u7\x81\xECX \xF9\xD2\xD58M4\x81=(}\x95\x80u\x90\x80\x95\x90\x80l\x9AP\xEF!\x8E\xAE\x81\xECoH\x96B\xD1xh\xBE\xF0=`%\xA0P X\xB8t\x97p\x97\x90.\xC1Je\x80]\x80\xB5\x80u8 +}UVCz +\xE0\xB4\xD9q%\xE06\xA4wB|\xE2!n)\xA1\xEEBr$\xB76\xF6\xA0\xE4\xCAQv_Bm\x87\xA2B\x88w~\x80\xF4c x\x85e\xC5nJ\xBD\x85\xF8O\xC0\xF7\xB0\xB8{\xA0\xFEo,/\x88\xFF\x81\xF8ćG\xF0\x8C\xA0˕\x80b\xCC`\x948j`9\xF43\xE2\xBDP6\xE2\x9F \x9E\xF4\x93 }\x80\x94\xF0\x88\xC91\x85ó\x9Fʡ\xA6A\xD9t\xC0l\xA0\xD9 \xD8\x98\xF9-X\x8A\xD0f6\xA4\xD7@s \x9E \xF8K        \xF2+\x8B \xBFP\x88\xC7\x9C\xFAXҜf\xBCVk8\xD4Z([Ǒ\xF0ڭ\xE2P%\x90.\xFCs*\xC1\x8Bt'\xB1䡬
+\xEB\xF0e_\xC1\xA16q\xF0\xB8v0G;j7\x89\xE7iΎ\x9A\xE9x5!} +\xE2\xEB\xD0\xC75\xE6R\xC0\xE2\xD9p\xC0PH\xC0H\xC0\x98\x84\xCF\xFE \xC8p\xFA\xBC\xB8\x8Ay\xB9ơ(P\xC8:p@W\x9A\xCF \xE8\xAF,\xC0pA\x90|A,\x96\xC0@\xC0?\x96G,\x91\x81@,3\xA8e[\xE0\x94!\x96%\xC0\x8A\xFE. \xF35\x82\xFEnKM\xF7`k\x90H\xCB\xE8\xECMq\xD8$\x8B\xD5Ԁ\x98o)q[$pU\x90B\x88\xF8Nh\xC5ku\x843梵A\x82\x886\x90k hp\x81R\x96+.m\x8FSn\x90bu\xC0\xB9\xE32&lt;\xA6\xA7\xA1\x8Eʇ档\xC1\xD7\xB1:\xC1\xF8~\x80΀.\xFF^\xBA\xD6\xF0\xC2\xEBf\xF0\x85\xB0;\xF6\xA0Þt!\xE2w$\xD9\xCBa0\x86@H\x90\xA1_D\xF4\x86\xC2\xE1\x80\xCC[ܒ        u\xAC(\xCCa4\xEE\x83\xEC[\xC7A\xFA1R\x8E\xF1&quot;a\xF0\x94\xE8H \xA4?7\xC5e\xF8$0\x92^/\x84(\xAF\x8B\xD9\x9A\xA7\xE1P\x90\x8ECR\xEBC(\x800\x90        \xC8(1WC\xE9\x95\x86\xD7O\x85\xB9\xCA\xC6C\x93j,wRS\x8F7dAL!B\xC3IDh\x81\xDABgЃ4rq\xC8\xCFá\xC5:I\x87\xF9t8\x8AGC\x88Xcp\xECo&amp;n\xFE-\xDD\xFC;\x83!g,\x88]@\xE0\x91\xC61\x
 8E\xA7#\xF1Dz\xE0I\x98j2\xA6`Rr*]: +\xA7Y\xD3iB\xD6 :bτ\x88D,\xD6,L\xC1\x82{6\xC1,\xEB,i\xF6\3\xA1'I΃\xF1\xB0r\xCD'
+\xF4\xC9Z@\xC2*\xC8E\x84A\xAF\xA7\xC0\xB5\xD507\xB3\x82\x96\xD60\xAA + c c\x80\x86r\xEC`5\xECAG\x9B\xC08\x88jJ A3X\xBC\xE6\xB5 \x90YK\xC5C\x96H*\xA0\xF8\x84\xA3}{'Db\x91\xFE\xC6&quot;\xFD\x91E\xFA+\x8B\x88E\xB0\xDACH\xB2\xDCb  
+\xDD\xE9\xB4zҵ^t\xE8M\x87&gt;tؑ}\xA85щn\xE5G\xA7;\xE3/\x8B\x81R\xE3/4\xE2\xF6\xDDdӝ@\xB6=$\xE9I \xBB5        $\x90C/5 +&quot;P\xB3`5!P\x8BP\xB5\xECM\xB7#\x904\x9C@\x8Er\xEAC\xA0V\x91r\x8E&quot;P\xEBh\xB5\xE9K\xA0\xB61j׏@.\xB1q\x949\xEF\xE3\x93@\x8F\x9BH\xF3ПN'a\xD0 \xA4\xC3Ax%\xD3\xC9\xF4)\xF4\xCCS\xE9\xF4\x9ADF\x87it\x98N\x97\xCB!\xCDb)\xE80O\xD47 )\x88DCi\x8Aa\xF4h*\xB9\xC1,;d\x93\xC8]M&quot;\x98\xAD'\xCC\xD4 f\xEC\xAD\xC1\xE7\xE0`8\xDDBK\xA0\x8E:\xF9\x82Jv\xCA%\x90_\x81:\x8F P\x97\x91\xF2\xCF'P\xD7Q\xEA\xD2\xE8\xD2\xE8r\xE8        r9\x82z\x81 \x82@\xC1 \x83\x90\xD1
+GY\xDF\xC4v\xFA\x96\xE6\xE2;zvX\x99!3\x96\xA0G+\x80h\x81\xC6C4\x81@        \xFCI4\xAC\xC8F\x93\xB1*c1L%\xE8YO\xC3\x9AN\xD0\xCD`z\x98\xC9P\xCCbr\xB3\xC29L4\x97\x89\xE61u\xF3        ZP \x98h!\x81\xB6\x88\xA9Z\xCC0\xB5\x84\xC92\xD1R&amp;ZF\xE0O\xB7-\x87\xAD2\x8CXA\x90\xA82\x82\x8CA\xF6A\xC6|qEį\x84 \xA1\x82\xC4U\xF4i%\x81\xB4\xAC\x86\xCC@\xD9 \xD9`Y2\x88,D\x96
+&quot;&quot;\x93\xAD\x82\xB4\xB5\xA4s\xD6\x94-ʊ/\x81\xB1\xD7\xA8\xA22\x95c.Q\xFD\xE1\xAE\xF5tz\x9D\xDEH\x87\x9B\xB0 +G\x9Bim\xA1\xC3\xE8p+]\xBB\x8D\xA6\xDF\xCELi]\xB1\x93.\xFA\x91\x91f%#\x81]\x8C\xC4v3\xD1\x88~&quot;\xD0^fx\xFC&gt;K\xF43\x84\xFB\xF4 \xDDx?\xDD\xF7\x86˃Lt\x88\x893\xD1&amp;:\xCADǘ\xE88\xD3\xEF        \xA6ߓL\xF4+SX\xCDD\xA7\x98\xC2\xD3Lt\x86\x89\xCE҃\x9E\xA3\xC3\xF3tx‹\xBAD/\xE6e&amp;s\x85f\xEA*3\xD5k N\xE5u\x86\xFE\xC10\xFC5-\xD5M\xB2oA\xA0\xBE +\x81\xE69w!~\xED}t \xD0?\x84 \xF7y\x8F!\xF1\x82\x91O!\xC8\xC1\xA8\xE7\x8C6B0\xE6߼\x84\xE0\xDB\xDF!\xF8\xEE \xC4+\xC7\xAF!, \xDE@8\x8ExK`E\xE1\xE2Ok\xFB_N&quot;\xFE\x86p2\xF1\xC2)\xC4?N%&gt;@\x88u],6\xC0iB\x9E&amp;\x89\xB1\xD8\x9F%\x89\xB0\xDB\xE4y\x92G&quot;6y\x91$Ɠ\x88C.%\x88        $\xE2\x92WHb&quot;\x89x\xE42\x82\x98D&quot;&gt;y\x9D$&amp;\x93\x88&quot;o\x90\xC4        \xC8[$1\x95DBrAL#\x91\x88\xBCK\xD3IdF\xDE'\x89$2\xC7\xE3\xCC$\x91\xF9\x88$f\x91HL&gt;!        kԞ;\x9B\xE4\xE
 43\x92\x98CrI\x9AKrYxO\x91\6l\xBB\xF9$\x97\xC3b\xB3\x90\.\x8B\xC3
+C
+ĵ ,\xC1;\xB2&quot;Z\xB2\xE1JHو\xECMIJKN\x8Ca#\xF6t\x82\xE0\xB0\xE7;\xECG\xB1\xB0#`ZGZU{\xBE\xF8\x9D4r\x92\x92\xD2$\x94ei$\xA1F \xC7=\xFBw\xA2\xDA\xF39q
+\xA6\x99b \xDDN\x932\xF9\x9C8Cܔ\xB1\xA4\xDBYR6\xB2\xE7H\x92\x97R@\xBA\x9D'e\x90\xBD@\xB2\xF8)\xE3H\xB7\x8B\xA4ld/\x91l*e&lt;鶔\x90\x8D\x87\xECe\x92#H\x99@\xBA]!e {\x95\xE4
+S&amp;\x92n\xCB\xD9D\xC8^#y\xA2\x94I\xA4\xDBuR6        \xB2\xBF\x91|\xB3\x94ɤ\xDB +R6\xB27I\xCA&lt;e
+\xE9v\x8B\x94M\x81\xECmR`\x912\x95t[AȦB\xF6)\xB4J\x99F\xBA\xDD%e\xD3  7z\xEB\x94\xE9\xA4\xDB}R6\xB2H3۔\xF4f@\xF6!in\x9F2\x93t{D\xCAfB\xF61i\xD14e\xE9\xF6\x84\x94\xCD\xC2s\xB7\x84c\x98#\xAC\xF6\xACG/\xFE \x8D-\xA0\xC8
+Œ\x80\xA0 \xCFJ^DxYL&amp;ͳ\xF0\xA9d +\x95lV\xB5'$m ő\xBCxM\xBD\xB1\xECސ\xC8\xFB9\xF1\x96$\xBC\x8D\xA1\xD6\xF7l\x8Ek;U{\xFD\xAA3\x96\x90\xE0\x8AIjK\xFD\xA1\xB4kuF!.\xB5cAis\\xDAJ{YJVg,,'W9ˋCW\x90؋\xB3gqٜi\xA6\xEA\x85\xC7\xFB\x8BD\xBD\x9E\x93\x84\xEF\xC1|N\xFCC\xB2 \xFC@\xB2{\x83`B\xC6\xE0\xEASYߓƐ\xEA\xD3YE\xA41\xB4:\x8D\x93\xB5\x924\xF6\xAE&gt;\x93ULë\x93W\x91i\xEC\x88U$\x91\xB5\x9A4FTg\xAC&amp;\x87\xAC!3\xD6¸\xEBȾ%$i\x8C\xACN.\x85\xDCJ2\xA2\x88\xCAHcTur9QN\xA2\xAC
+\xD2 +\x93lB\x92l\x8Ef\xA9f\xA9\x80\x85\xFA\xE3\xAAOe\xAC'\xB3\x96\x91\xC6xHm \xB3\x96\x93\xC6\xC4\xEA!ɌMd\xDF\xCD$a\xEC +\xC46o=\x99՞R\xC3\xF2\xBCc\xC1\xBA\x87Ɓ4\xF5 u\xF2sb&quot;\x8B\x80p\x8BL1&amp;Wgl%3\xB6\x91\xB8\x81\xDBd\x96\xDBD\x96\xDB\x96q\xC8\xE9\x8C\xED\xA4\xDBT\x96Qv:c\xE96\x8DeL;\x9D\xB1\x93t\x9B\xCE2\xA6\x9F\xCE\xF8\x91t\x9B\xC12\xCAOgT\x92n3YF\xC5\xE9\x8C]\xA4\xDB,\x961\xE3t\xC6n2\x81_p\xC1\x98%\xB6@\xA8\xDAs rMg\xBBz\xB6\xCF&amp;\x9A\xF3\xD9\xC6a\xBD        \xA7\x89\xC4tb\xF9\x89\x9A\x82\xF3\xC6\xF9\x81\xE67\xDB4\xD3\xEC\xE7$Í\xEA\xEAꌽdF\xD9\xFAoUV!iN\xAF\xB0\xF93m \x8B\xE9x=^\xCDUx5\x9D\xAB
+\xCE\xF5X'N\x97/t\xB5\x80 \x96\xBC\x8F&lt;\xBA\x8F$Z\xC1]Řk\xB6\x844\x8E\xA8/\x89\xD1t\xE6&amp;\xF3-n\xEC\x8C6\xBAZ\x99Ac\xACG\xB8\xC0\x83X\xB9Ɋ\x{DFEB}DƱx\xE77#`\x91\x9Ab\xD6\xC7&amp;\xDE\xC7\xC6\xF1C2\x934'A;a\x92I@b\x9CL`m\xE8{\xAA\xA7\xD5\xCE\xCFj*Q\xDD&amp;\xEB i\x9CN\xD0lbؘ\x81[\xB7\xC0Z\xD0
+\xB7\x9EG\xB0\x80\x85\xE6\xC6\xF9\xA8\xDFaҸ\x80\xA8n\x9Bu\x844.Ĥ-\xB1\xA6\xA1\xE5\xB8\x8F\xB4F:L\xBA6`ʌˈ\xDE\xC6Du\xF2Q2\xE2(\xE8\xD8V\xD2XD`\xC9 +9\x86u\xA7:\xE38\xA3\x96+\x99\xC2d\xC6I(\xFC\x95),\xA6 \x93\xABI\xDC_D5I\xF4=쭪\xE1~ +\xC3\xF5i\x86\xEBux.\xC0R)Sz\x86)-crg\x99\9\xA69G\xD7C\xC7\xE7I+\xB8X7\xE0\x99\x9C'\x8DAt@6\x9B\xF1\x8C\xA4\x98\xD1lzF\xDB\xF0\x8Cv\xFD\xD2/\xE2N\xDC\xD0\xFF\xF4`Y\x8D\x950\xBF=u\xA2\xDDKTc\x9E\xF1ځ\xEA;\xA3\xEA\x8C22\xACj\xD6^\xD2XE`\xAD“\xBC\x97Ⱦ\x97a\x92?\\x88g\xFE \xD3\xE3\xE8\xF1 t⃘1G,\xEAD\xCC\xD7a\xCC\xD7Ѻ\x81\x8F\xD1\xDDH\xAD\x9B\x8Flj\x8F\xD5\xF7]KV\xE3        \#\x8D\xA7\xC9\g$s\xF7\xEE\x845f\xEE\xFD\xEE\xFD&lt;ݻ\xD4Z]^\xA8\xE9\x92i$        _\xAE\xEB\xF7
+\xBDX}\x83\xE45`\xF9\xC4י!n2C\xFC\x86\x87h\xC5\xB5\x9ALK\xF6&amp;\xADW\xCBX\xE8&amp;a\xBC\xC5P\xDEb(o\xD7 +v+L\xE0n\xDD@\xF7\xD3Ft1\xDE\xFF\x92\xB40}\xDEf\xFA|T'\xD1'&amp;\x89&gt;\xC5 9\xE39\xA7b~\x9E\xE39\xB1:\x80t^0\x8D\xEF0\x8D_2\xB9\xBBL\x8EՌs\xA4%ܶ\x8C4P\xB6W +\x94\xED\xB5I\xD9\xDE\xE2aZ\xB3`ރ\xF10\xD1\xD3^\xCEB\xC6\xF7xv`\xBE\xFF!0\xE3\xA7d\xF7H\xA3\x81d\xA4k\xBD\x8F\xA5ӸJv\x9F4\x8E'\xAB\xB1\xDDvF\xE5YH\xE3D\x92\xEB!3\xD6$|\xEE\xB5\xC1\xE7\x90#c
+        S\x99
+-\x90V\\xE8h\xB4
+3Π\xED&gt;\x9C:m\xF1\xDE\xCEÄsI\xCC\xCC\xF7,\xF0L\x8C \xC8Sy\xAE\x98\xDC\xB7\xCBs\xB5\N-\xAC+Zh\x857\xF4B\xB2\xB7q1yʪ\xA4\x97`\x96\xCAȌ{d\xD6#\xD2\xE6\xCA\xF5}Lb\xDE\xF8\xB8\xEE\x89\xF3\xC6\xEFI\x98'0]\x84\xD9l\x87%\xDE \x8F^\x8C\xD9\xFC\xFF
+\xFB\xF88\x8F&quot;\xDF\xE9k\xC6V L\x94\xF0’\x97}?9&amp;f/\xEC6\x8F#\xC0&gt;9\x98\xC0pHɉ\xBF \xBB\xF1\xB2\xB0q^\xC8\xC2C\x96-˷-߷ǒ\xCF\xF8&gt;\xE2+\xF1}\xDF3#[\x8E\xEF3\xBE\x8F\xF6}{\xB6\xFE\xD5\xDF|#\xD9z!\xBFX\xD3]]]]\xDD]\xDD\xFD\xAF\xEA\xA9V\xA6Z`[\x98 ݖ2&lt;\xCF`k^\xCEf2\x99UL\xAA\xD0d:\xEA\xC7+1C\xDAw!\xDA?K\xB1C\xD6$\xCE\xCAX\x8D\xB23x\xBFL\xC6j\x95\x9D)\x93\xB0\x8Adl\x82\xB2\xB3\x90&gt;I\xE9\x89\xCA\xCEFz?\xA5');\xE9u\x94\x9E\xAC\xEC\\xA4\xC7Sz\x8A\xB2\xF3\x90\xDE@\xE9\xA9*{W\xD9\xF9ȏ\xA1\xFC4e\xDFCz4\xA5\xA7+\xBB鳔v\xA1LV\xD6\xDB\xC5\xD4\xFE8\x99\xCEДH\xBB\xFDh +\xDC\xF1\xE1\xEA\xC8\xFF(9Ǹ\xE3\xBC|Y&gt;\x99hX\xBE\xD0\4k\xFE{\xF4\xF1\x9C \xFDs\xFB2v^&amp;P_/H\xF1\\xFBj\x9B\xA1Z\xAE\x90\xB1\x99\xAAe\xB9\x89\xCDR-\xEBñٔ.\xF8\xB9NT\x97\x95\xF2\xF9\xF6i~)wQ\xAA\xEF\xB4$\x8BDb\xE5.jh?X\xC9\xC4`\xCA\xFD\x93\xF9^\xFB!\xB2\xC8$\x86\xA0٘\xCD \xBE8G\x86hC\xF8\xC1\xBB\xCB\xF8\xA2R\xCD \xBE +j;\xFE\xB4c\xF8\xD3\xCE\xFE-Ŗ\xF9&quot
 ;\x92\xD4Kj:
+3\xFD\x9Dk\xA5\x8D\xD3_&quot;\xD0@¿\xFF        )\xE5]\x86\xF0/\xD4_\xF5\xE5\x94w\xD46\xF57D%,p\xD4PD\xFD\xA8\xA5D-Kyר\x8Bc\xCB\xE9Pz\x9D\x86\xF9\x86\x89\x91\xD4MBR\xF652\xF0P\xE8+\x81\xAC\xD5\xFA]ʻY_U\xE1\xE6\xDB\xC8o\xFB \xEBmYo3\xC8z\x9BA\xD6\xDB \xB2޶\xC8z\x87\xBAr[\xD2\xE1\x9CIܑ\xF6\xCFYw\xA5\xFD \x81\xAC{\x92Nil\xEA\xEF_\xF1I\xEEB\xA7[V\xB6\xCB\xD2\xE9V\xAEl-\xE5r\xE5uQ\xA5\xCA\xEB\xAAR^7\xAFT\x92\x8E\xE4\x94\xD7]~\x9AzНYJ\xAATl\xB1jW\xA5D\xBC\x878\x8AKz*\xC2n=\x95H\xEA\xE9ML\xBDTl        I\xE8\xED$\xF4aJ\xBC\x8F
+\xB9\xFA\x95l^P\xCD\xDD\xEA\xCF{\xCA\xFB*\xD4_\xD8jQ\xD2WŖ\xAAx_\x92Jg\xB7w[\xB2F\xFDT\xBC\xBF\xE2\x9C(\xF1$e\x88\xF0 b+\xA8\x95j\xD7\xCAЀ\xB8\x92\x88qX@\E\xC4A\x8E8&lt; \xAE&amp;\xE2`G\xCD\xFE        \x9A\x8Df\xCDF\xE54%
+І8D\xF85\xB8\xE8PO3\xDEh.!S\xF8( +@\xC1        
+X`o8\xFC\xBD\xA1*&amp;\xFD:\x95O\xA0\xCCɬ\x84\xBCa
+e\xF1\xE1J\xFA\xE4H#\xA8\xE3S\xF3\xC37 +J~M\x90\x92\x8FB\xC79g\x82T\xF4\xAC\xA6U\xB0M\xA2lN\xAEl\x8E\xB0sydש\x92\x91*]&lt;R        oY\xDA\xF9\xE8\xCFYLGY⪌\x8E
+\x85\x9A;\x980F&amp;\xB4J\x8CU\xF6}:\xC6)/\xA9ⴅ`\x88\x9E\xD7
+\x94\xD7J\x9Fk\xB5\xE3\xAAq\k\\xAE\xD6\xE5֊\xE8\xD4\xD9\xE0\xD7و\xA8\xCEf\xC75\xC1qm\xD1\xE0J9\xEADG\xDD!\xA2\xEF5ڙ\x86e\x81h\xA0=A\x9B\xD2I*\xF3Y\xDA\xE3\x8BB\xD1o\x87\x80`J'\xFB\xFD֋\xD2)&gt;AF/\xB6\x8Bҩ&gt;Aa\xAB\x8F&quot;\xA5\xA3?\x9B\xC9'Ff\xB3Zg\xB3\xAD\xB3\xD9\xF6\xD9l\xB7l\x96\xF2%hX\xBF\xAEiĿ\x80Q\xFD07\xAA
+\x82Ս\x8C\xEA^T\xF9gIU\xBA\xB0%\xED\xCF\xE1\xDC\xFD\x80)o\x88*|\x95\x949\xE4\xFE\xBB4\xF87Tpvei\x83=\x82\xEC0U&lt;\x9D\xB2\xB7$Є7V\xE1`\xA0\xC0\xCDpD@\xC2\xDFR&gt;\x81“\xAEp\xA6+&lt;M\x9E\x93d\xBF\x87&quot;\xE7rx\xF8\x9C\xB8 \xB6*q\xF8\xA0di?K\x89ʝt\t\\xE9\xD8vU&lt;[        ڸ\x80n\xD0a_&lt;G\xA1\xEC\xB6\xC8&lt;\xAE\xBA\xE2\\xA3\xC8f\x83\xAC\xAD\x90ڻ\xFE\xB7\x8C4/X\xCE@'~\x9B\xA7*^ +s\xDB\xF0\xB7\xA9mx\xD2i%\xE1Ag\x94\x82\xE7\\xA749ʂ \xC9\xE8%Y\x87yJ\x94\xCFW\xBB\xD4        \xEF=\xAB\xCF\xD1^Մ
+\x8AB\x9D_5\xD1\x90\xFF\xAFL?i\xFB\x91\xD9\xC1\x80\xF3C\xE6\xA4Vm\xD9!\m\xB7z K\xAE\x88\xA3\x86\xCA(\xC0q_\xD9\xC1T\x93\xB0\xA6\x83\xF6\xA8OO\xA7\xA9\xCE\xFD\xF8\x86\xD2\xCD ^F7\xC6J\xF8ƺ.\x8Cw]\x98\xA5\xC7C\xE9        \x8D\x95\x9EHJ\xA3\xD9ʝ\xD2\xE9\xD8U\xBC\x90\xC6T$\x8B\xF18Me\xF9߄m\xBD\xF93s\xF2g\xA8\x97\xB0\xAD\xFD*\x9D\xE4\xDDp`\xC8b\xF0)\xE6%\xB4\xD1ʼn[
+`Nw5\xB4\xF0\xEF\xB1Ldn\x93&gt;\xC0{H2vP%\x83\xDDz\x8E\xD0oI:m\xBE\x856\x97\xC8,\xE7\xC6\xB9\x8Dw%K-\xFC,IZ%nMv\xB5 \xF6\xA1͐\xF2m\x9CY\x9F\x83\x94\xAD\x90\xB2\xCDU\x841l\x970\xE58-\x9B\xE7\xF3\xE7p\xEE\xCCs\xD6;\xCE\x88\xF3Cp~'\xE0\xDCνy\xCE}y\xCE\xE0ğ{)h\xCEC҇\xE3\x87h\xD90W\xFA\xE9\xF8RZ\x88G\xC1\xF7=\xF0\xB5\xDFG\xD2ǯI{\xDC\xF1\xD1)_\x86U\x84\xF1\xA5\x83\xF2$j\xFC F\xE7q\xD48 +\xCE0k\xF1r&quot;n\x9A\xB0\xFF\x83\x95\xFD\x8A\xCF\xE70\xE8y\xC2\xE0,\xB1w[\xA7\xE6
+\xE2eq\xD9eW\x92\xD6We{\x9CA$j\xB5
+\x95\xADR\xF6\x9A䵺ƭ\xD5\xEBh\xBA(\xE6(/\x9A[9\xF4xˡG:\xA1\xEF=\xFA\xF8h\xA3&amp;\xB1V=vQ\xC8%c'\xE9W@\x86\x8A\x91dW\xA4o9$\xD9 +\xE9\xF5\x8A\x91d%\xD2c#\xC9\xEEH\x8FQ\x8C$\xAB\x90\xBE\xEB\x90d\xA4\xABI\xF6D\xFE\x9AC\x92\xBD\x90\xBE\xE1\x90do\xA4\xD7\xCF)e\xFB }\x85觕\xED\x8B\xF4eF\x98\xFD\xE6\x85ӛ\xB0\xD7x\x9A\x98jE}mK\xB3\xD9WaRg/٠\x8007\xAA6\xA5\xCD۔n\xA2\x8F\xCD\xF4\xEFgmJ\xB7\xA8\x97Փ\xFC_\xE2\xA7\xE0Ď\xF6Ul\xEE\xA2^\xDF\xC7d&lt;~\xF1\xBCB\\x8B\x90\xA7
+}\xCD&gt;Ks\xB9UٯSq;\xEC}\xADQ\xFC\x9C\x8F
+\x9FcT\xF8\x82]\xDBT\xBAl\xBB\xB2\xDF@*S\x96R\xF6\x9BT\xE3\x88Q\x8Do\xD3\xDC?\x8F2\x9A\xF3\xEA\xF7\x88\xFA/)/ +\xEAj[\xA2\xBE\x90\xF22\xA0\xFE(\xA0\xBEH\xD4\xA6\xBC:P々_\xF5\xC7D\xFDI\xCAۡZ&lt;
+O䧥;r^\xBD\xFBإ~\xA8\xBE\xC4\xD8\xF0ǰǧP\xF5e\xAA\xFA\x8A\xABZ@U\xC5v\xAB\xECo\x98\xF1'!QP\xE3RO~\xAA\x9A|b\x88D\xF6\xF5T\x9B_\xB6~5B#pQ\x85_\xEF(ҝDG\x91\xE9$;\x8A\xBAN\xAA\xA3\xE8\xA0;i\xFAi:\xFA\xEEf\xA0\xF9:\xCD\xD7h\xBE\xCE@\xF3u\x9A\xF4\xF3\x922\xAFN%\xB8\xF9\xBBTG\xF1\x86H\xECQ\xF6_\x91\x92\x89\xBD\xCA\xFER&amp;\xB1O\xD97\x90R\x89\xFD\xCAvB*\x9C8\xA0\xEC\xEFS%U\xBB\x83t\xAAmS\xF6?J)\x8Cp\xFC-\x80?\xA6J\xABv\x87\xA9\xE4u \xE5Q\xB1\xCB\xEA\xF9\x9F\xFC\\x94U\xE8ě \x95S\xDEGT縊\x9F C\xEA̴\x93\xCA;E\xB4ӎ\xF6v\xAA\xE4 u\xEA +\xDD\xEE \xED\x93gc\xEF\xACã\xE7\xC7\xB5 +\x85\xCF+\哽H\xB2*\xA4d\xE8\xA2
+i\xBA\xA4BF\x85.\xABPX\x86~\xE3ꀶ\xFF\xE2\x9F\xE0!\xEC\xECOV⊲\xE5&quot;\xE5\xCFY\xE2\xAA\xD0\xD7\xDCݕ\x8E\xE1\xEBʻ\xA1\xE27\xA9gUTpkT\xF1\xDD\xC3\xDEr\x85=a\xD1/a\xDDo\xD4h\xAAOa\xF4A&lt;\xAB䶊]Wi\xEF\x8E\xF2\xEE\xAA\xF8m%\xA3%\x82@\xD2@@\xA8{\x8AQrVa\xE3a\x91\xE5&quot;\xF1'F-G\xAF\x80s\x98h\xA8\xF0\xF0F
+\x8F \xBB\xC7P\xB7\x81B\xA3Et        j\x8E\xA9x\x9C\xA4\x88\xBE\x8B| ++s Z \x94\xE2\x88\xB8\xA68vE&quot;*X\x8E]Q\xAE\xAB\xCBM'%\xBB\xE9G\xFE\xA7\x8BY\xA1\xA0\xD2\xCCr\xB9\xEE.7O`\x9E\xE2U\xD4\xE4{&quot;\xFA\xACpX =\xC3b}
+\xD4\xD0yjs\xA9+\xED\xE9J\x97\x89\xA8B\xE9J\x94f\x95]\xE5k\xB6ډ\xEDEb        \x96z\xF7\x9A-\x82\xA8\xEB3WR\xBA\xBF\xF0\x87\xBB&gt;v[\x91S\x92\x83\x98]\xC9\xF5\xBC\xA3\xC8\xCD\xC8A\xCC?\xE1.\x9C\x82\xC4,# +\xE7x\x91\x83\x98?&amp;\xA92\xC9'h\xC0\xD4X\xB9&amp;\xE8\xEA05\xD6E\xC8v\x840`j\xACB\xBEv\x84HS\x9B1LmF0\xF5W\xD9l3y/\xBB\x97\xF5\xEEeߺ\x97\xED}/{\xEA^6{/\xFBd6Ke\x84\xB3ɢ~\x8Ec\xEFs0\xA8\xCD9\x83\xDA,\xEC\x9Eî\x9A`\xC5m\xC6\xDC\xC4\xF9 \xE7N\xE7\xF6\xE7va\xD3(\xFA%@\x81\xB2\vC\x85v\xC4\xD8\xD2^o\x9D\xA8S\x88\xB4\xA5\xBD&gt;:\xD1W#Ж\xF6\xB6\xABD\x86Qr\xDAK\xA9DZ\xD9}n\x92\xFA\xB9I:ĦP\xF8, +3\\xB2\xC4x\x9A\x97\xA3\xFE\x84Ôuӈ\x935\xB0\xC7\x8D\xD6\xD2i\xE8\xF520ӛP\xCB\xE6 \xAD\x88|yt        ڡ\xDEb\xE0p9\xDF\xD05D\xAD\xAA\xB5\xBD\x8EeP\xADK\xEAXw\xFD]Q&lt;H\x8B\xA1C[?Ҝ\xEB 'm\xDA\xD0\xC4` +\xDC\xDB*1@ۛ\xF8\xA2\xED-\xB4\xFD
+\xC6d7\x8F        A\xE06-\xCA vr쾖\x9Fr\x988\xD72\x82c\x94\xAA]l\xEC\x88Kv\x95\xAE\x81n\xD2u\xBC
+\x9Fd0=\xA4[\x98\xBD\x89u\xB0.|1\xBA z\xE8Pr\xA5%k^&lt;L 4\x8C\xC0\xF4\xE5\x90f?\x99F\xAEl\xB8&amp;ț[\xD9\x8D@5\x97\xF6\x86\xEB\xF8H\xED\\x83\x99\xD4y\xC20\xBA\xA3\xDC\xFC\x8C\xF9Fw&quot;c\x84\xF4ѡ)\x92\xE0/l\xA7B\xB2匓\xA9\x92\xD1bڍ\xD6&quot;\xB1C!$V2\x86(\xFBT\xBB1D\xAB\xA3&gt;\xD4\xD0e\xE34\xA1a\xE4\xEEۿ'9bR{\xE3\xA9j\x8Df\xE2YR\xAB\xDB\xD5\xEAz8=\x99\xA0\xCB&amp;jψ9Mǁ\x9D.ql\xF0\x90N\xA2N \xBF_\xC5\xE8i\x9E\xAC\x87~\x91\xFAJșmk\x9E\xAFL\xB5.
+\xB5\x8EO\xD1\x8E\xB3\xB3L4\xFEK\xF1I\xF3\x81\xD0\xE5\xE4\xFC|!Y\xAD\x90)\xAADn\x95\x98\xAC\xED\x8C֯a\xE7\xD8\xD6I\xDF6H\xAE\x94\xAB?@\xBBk\x94\x8DO\xF56\x91\x9C\xA9\x9AQ\xB4Cͺ\xF0\xFB&gt;j\xBE\xA6
+\x9F\xA3d\xCA\xE9\xF6.1\xA5e\xB0-f\xA4\xDB\xD2\xEAd\xC3]t\x87l\xB0\x8BFۇ\x80\xA4\xD9l\x9E\xF1\xCDf\xB7\xB4\xBB\x9B\xCD7\x92\xDEM\xFDq1\x87}\xC1\xF8\x80D;h\xF5\xA0\xDF\xEA!hO\xAB\xE0z\xFD`\x92ߢӧ\x80\x91Os\xED|or\x86zu.?\xB6\xE7\xFD        0v\x87 \xBB\x8Fe\xB0-_\xF19\xAEʆ\xFB\xF954S\x82f^@37\xD0\xCC\xCD\xCDܢf\xEE\xE4W\xD5]_\xCB{y\xB9Y'o\x9A\x93W\xCC\xD9\x93\xF5ȫP\xBE\xD3P\xA0\x9C\xDBM\xB5%P\xCC\xA7\xBB\x8AU\\x9A\x8EϠa\xE9\xA1\xEEE=!\xF2\xB7\xD8hK!\xB2\xB7\xF2\xFD\x8B\xDE\xC0\xC2\xA6!\xEA\xD0Wae\xA4sˢ\x9Fj\xB8,\xAAmI\x84\x95\xA9\xD6b\xE43\xB5\xE2ڙ\xE54\x8AvJE\xA7v\xEC\x920Ss\x8C|\xA4B\x8C|\xB4B}B\x81eP\xE8`L*\xDF?I\xD2\xF2d\xFE4\xF7\xB1\x96\xFA8Q\xA5 \xBFB\xE9I*\xE5:O\x9B_ʛ\xAD;\xC3ma\x8C0N{st\xE7\xC4lm'+\x84\xC7\xE7\xFA\xBB\xC7TԘ\xAD\x91\xB7ӡ=\xE9;v\x88\xB9\xCE+a\xB6\xF2\x9D\x97ي\x9D\x97\xB4Q\xCD@-0qMb\x9E\x86\xF3\xB2P!\xC7\xCE\xCB&quot;8 +}5;/\x8B\x91\xC6~\xC2Wg\xB7\xAA\x88*\xC4\xEC\xD0,A\xF9L\xCD\xCD\xFB\xEC\x9C8\x87\xE6\xA4\xB3
 Y\x8A\xF4&gt;\xC5\xCD2\xA4\xABu\xE0\xD0,G\xFE\xAAb\x87f;.\x8A\x9A\x95H\xCF\xD3\xECЬB:\xA3ءY\x8DtZ\xC1\xA1Y\xC3\xCD:\xD2{\x8F&quot;\x87\xE6&amp;mY\xEB\xD1\xFFW\xB5n^0\x9F\xFB\xBFQ\xF9\xC7\xD2F\xEA\x95\x9BV\xA2ܬ\xEC&amp;\x95Ʊ3\xC8?v\xCA\xE7\xCC\xE8\xA9\xED\xD5&quot;\xD6Kۭ\xAA\xC5\xCFey\xC1.\x9BRv\xE6Ӫ.S$\xBC\xF9\xBBz\x89\xCCmM\xA5;UKL\xD2^xOK\xF0\xD5\xD9Z/\xD4!\x9C\xBB6\xEFa\xBA\x8E΁d\x8C\xFE\xD5\xD1\xE2w `\xAF\xAA#\xABy-獑\xF6\x97,\xD2M{c\x8B\xF5\xCB\xDA\xF7\xC6\xFE N\x88a\x98\xCE\xF3\x84|\xE8\xA1\xCF0R&gt;&quot;.R\xB3GE\xE9_\xE3:\x8C\xCA_ϗ\xE7\xF2\\xFE\x81F\xE0\x8A\xCA\xCD\xD5C\x85\xD3\xFF%\xBF\x86˲\xEBI\x87~M9r6ڗ.ձq:\xBE\x8C \xAF\xAC\xA3(YNG\xC6
+\xED\xAD\xD4\xC5˵\xF0V\xE9\xF2\x82N\xC2v`\x8F$6A{\xABu\xE9\x8D\x83\xB1d\xAD\xCEӊ\xD7jQ        (\x89uھ\xEA\xD8\xEFH\x9F\xFD\xEF\xF2\xECL{l\x92\x9E\xA1P\xAB\xC4zm_s&amp;\xEB+L\xD6TؠmGWaJ\xAE\xC2\xE7\xF2\xA6\xA6\xEA\xC7 \xF1\xA3\xD2\xD3\xFC#\xB1Q[\xCF\xD5|7W\xF33Ts\x93\xCEӊ
+\x8A7i\xD99JK\xBA\xE5-\xD19\xB1Y\x93\xA3\xC7\xC5ӛ\xD0n\xFA\x83\xDAm\xD1\xE4\xC5q\xE1\x8C&amp;*\xCCx\xB0\xC2V\xED{|\xB1\x99 +\xC7w\x9B\xCEӊ\xB7i\xD1 \xF5˲sb\xBBv~\xA1\x88\xDD\xCD +\xF0\xA7`09B%\xE9\xD8N\xA4\xB4sElv7\xFB\xFE\x89Kk\xE7[\x8A؜&amp;\xD8\xE7\xE4\xD8\xDFrC\x99\xD1\xCE\xFF\xB1\xB9Mp\xCF\xCD \x872\xF3\xD6j\xFB\xEF\x8E~\xFC\xF3\xF3\xBF\xA7;4y\xB5\\xB6\xA0        \xFE\x8D\xF9\xEA\xC4Nm\xFF\xE0\xF85\xC1\xBF\xE8\xFE\xCE\xD6k\xFBf\xC9.\xB2\xF5ͺx\x97\x85\xB4Q\x93\xDFK3\x8E        \xBB\xF4C]\xBA[{{t\xD9^m\xFF\x84\xDC&gt;\xED\xED\xD7e\xB4}'EY\xEF\xA0N\xD2x\xADA\xE9\xC3:q\x84 \x91*9\xAA\xDBա\xC41\x8D\xEF\x98\xFEb\xB8\xEC#mp\xDA\xD5*zm|\xD9q:\x9F\xD2a]vB\xC3\xF3\xA4\xFC\xD3e'5;\x9FH\x9E\xD2|7sL\xB7*;\xAD\xF9n\xE6\x98.9\xA3\x8BDQ\xA8\xE8\x8B\xF4S\xB6.\xED\xCE\xE8\xC8/D\xD9Y\xCD72\xC7tl\xA3.;\xA7\xC9-9\xAF\x91\x8F\x9F墔\xB7A\x97]\xD0v \xA9i        \xA0\xCBb\xABE\xE9E]\x95\xB8\xA4\xE1\x94z\x97•]\xD6|\xFFrI\x97^\xD1\xDEU\xAAtM\xB7\x8A_׊\xAF^.\xF9}@\xCA;\xAEǗ\xDD\x
 D0\xFC$\xE3\x92\xDF\xA6\x9F \xFAMM\xCEY\xCAۨ #&quot;g\xD6[\xA7ci]|K\x8B\xA2\xEC\xAC֏|\x8A\xF1\xD129Z\xE1+4\xFC\xE4і\xDC\xD6t\x9E\xAD'Q)\x9E\x9A\x94\xB7]\xB7\xBB\xADMb\x89ƵL\xCA[\xA2Ko\xEB*\xEF\x8EN\xDC\xD5v\xB6\xC8R\xDE!]vO\xE3z&amp;\xA0\xD1eY\xED\x82\xE3\x9B*)7Ny\xF5\xBA]\xB9        C\xF8_x\xB9\xA9\xF2\xBA\xC7\x8F\xBB\x9Aӄ-\xF2sGx\xBAs\xAE\xB4\xC2P3[uYWc\x97\x88\\xF5T\xBC\x9B\xE4M\xF3\xDC\xE5)\x88\xFE/R\x82&lt;\xE8\x92\xCA\x95hWi\xB8w\xEBܼT\xBAy\xE9n\xAAUƮ\x87VU&amp;V\xA7j\x83\xA6\xEE\xC8S{\xDC\xFF0ug\x9E\xDA\xCB\xE0ES\xEB\xF3\xD4\xDE\xCE+Sw\xE5\xA9} ?
+\xE9m\x9E.\xEBk\xEC6?\xD9\xCF\xE0\xE6(\xE5\xF54't\xBC\xBF\xE1w&quot;)\xAF\xE5w\xB8|\xF9&gt;\x94\xDF\xE9\xF2;|\xD9{t`a |Wo\x80\xC9YU\xB5qV\xB5\xD7\xE7ݛ\xE7h\xE0\xDC2u_\x9E:\xC8\xE0\xF1\x8870\x900ؗ\x80\x9B\x9FAP\xFB\xF6\xE7% 1\xEC\xF1y\x9F\xF7\x88Q\xE2H\xFC\xC8\xE7=\x90\xE7j\xF8Q\xC9\xD0\xEF\xEB9\xDESLm\x85utگv\xD0U;JՆ{Ƨ\xCAS\x87&lt;0a\xEA\x9B\xC1h\x8F0\xB86Jy#L\xECp\x9Eu\xA4\xB1\xE7\x88\xDC\xC2N\xE2-\xAA&quot;Y[$\x92XY\x96ɴVi\xF5]\xE5i\x82\x96\xA3\x88q\xB4\x81\x9Ep\xC7}&quot;\x86d\x8C#^\x88c\x89s\x9C#\xDE\x88I&quot;\x8Ew\xC4[D\xCC\xE8\xC2\xD7\xF82
+;_\x8D\xF1j\xA9x\x82+\xBE\xCB4\xBFʼn\x8EF\x8Ez\xCB5\x8F&amp;&amp;\xF8\xE6%\x93\xA9`\x92i7و\xC4\xC3.\xFAS:\xD5x\xEF}\x9A\xABЅ\x89\xF1\xE9&amp;d+\xF1\xE6K\xFE\xF7\xE0x\xE9E\xBB\xD0'\xDBP\xA6J\x96\xCC0\xB1\xE3\xBCF\x92\xB1\x84\xAAfв&quot;\x9E\x8C\xE0i OO\x89\x99\xC7HEc\xFC\xA4\xA5!\xFFI\x9F\xBF\xF3\xF3p\xF6e~\xAEZ-1h\xB9A\xE47\xCE$M\x86H\xDEBO\xF9\xBB\2F\x82\xDC\xC6FP\x95\xE4\xCD&quot;yC\xCFY\x8D\xED+O\xE6\xC8\xE74Vw\xF1l\xCA +wEx\xD17.ኬ\xC6Vٸh\xA4+\xBA\xA8\xB1\xBF4.\xE5\x8A.\xB9\xA3\xABQ\xD1hWt=\x88]\xD1\xC5s\x8Ch\xCC0\xCE1\ӥs\x8D7\xCF4.L\xBA›\8ߴ\xA8pI\xF0U\xC5n\xEB\x8A|\x85ɛ\xB8#\x87%\x96\xF0\xB0\xC4ߣ\xB2I4\xA8 hP\xF1\xB6\xB4\xACu\xA1\xE1HC?=C:
+\xFFJ'\xC4,\xD72m\x96;G\xFA
+ 쀣&quot;\xAFBH\x85\xA9\xB5\xF9\xE0\x89\xAD\xA3z\x8BL|1\xED:\xEF1a=\x94p\x84L@\xC8\xE0}GXȄ\x8DD\xF8\xC03G\xDFRGX\xC2\x9Ct\xCB\xE1}&amp;\xE0\x88[\xEE0\xCF V8\xC22&amp;\xE0Fo\xA5#,g\xC2&amp;&quot;\xACr\x84\x95L\xD8L\x84Վ\xB0\x8A        [\x88\xB0\xC6\xD62!\xEB{|-\x916\xB8\xE9bx@6\xC9\xE8+x\xBA\x9A\xC6\xE3\xD5z~\xBBj7\xCBRb\xA80\xE5\xC2[g\x82Iy\xB2\x99\xB4[d\xF4\x9F_\xE4\xF8\xB72\xB7&amp;\xF93\xB6I\x80\xF1і4\xB4u&lt;\x91\xF1\xF54y\xB8Q\\xAF\x83E\xE7sD\x9F\xF2c!T\x82\xF8\xD8\xEE&lt;\xFF\x9E\x80\xC9\x90\xFEֱ\x81\xD6\xD9F\xB7\xEAK\xEB\xD8D\xB4͎v\x8Ci[\x8C\xB7\x95h\xDB\xED#\xD9VN\xFE\xF4\xA2Ǘ?\xBEݤ R_*SF\xA4MH\x84~'E\xC1C_c?ыS\xB2!\xD89\xEDrU\x86sg\\xEE\x92+;\x87\xD8ǿ*Y\xF0\xD0pv\x93\xAC\xF4\xB3V\xF2\x8Db\xB1\xA9\xC7ap\xB2\xD2٭\xD1q\xA4\xDD~0\xD3/\xABkPVg\xDC1\xB3\xF0;4ׂm\xE5\xAD֏\xF81K\xF3\xB6\x98\xEB\x88\xC5\xEC4\xB7\x85\xF5\x86C.\xB4\xEE2\x88\xB8{\xE1(\xF8o\x92|\xFA\xDD\xCB\xE9wO&quot;\xEA\x82]Q\xACr\x95j\x95\xF8\xD0 \xD6B\xCD\xF1\
 xDE\xD6$\x92\xDFM\xF9\xF2+U \xBF\xBBK\xEE\xA6d\xF8\xD3o`J!\xBF\x97\xF2\xE5\xF7r\x91\x92\xFF]&lt;\xF3r\xFB\xFBr \xCAP\xCF\xFBz\xE2\xABs\xED ̷3(\xDF\xCE\xB4\xD3I낇6\xF0@#\xB4\xF2\xF9\xFA\xCF\xEF\xE2Ɔ+;J\xF1\xA9vA\xD6&quot;\x98\xD6ψ\xD1\xE4\xC9x\xA3\xECh\x95\xF6\xF6 \x82\x98\xB5\xB0\xA7\xE2\xBD&amp;TÄ\x85\xA6\xA6s\xBD\xA329rm@\xDEe\xC7!d
+ɝC\x84\x86䧽}\xC6\xDBo\xBC\x8C\xA1\xA32\xFAI\xA2\xD70\xBD\x94        v\x82r\xC7k/\xE3\xDD\xD4\xF9S\x96\xD1\xEBD*iR\x99\xE2FPOE\x87\xFE]\xD3\xC0\xBD\x80\xFEL\xCB +\xDC4\x85XM\x93b\xFC\xD3z\xF3\xA93S\xD1        \x95\xE6ci\xE4\xFD\xF2\xBE        ysr\xF2\xE6(;\xB7iyI_\xDE&lt;\xE0\x83\xF2\xDA&lt;\xB4\x85GyQN\xCA&quot;\xC5c\xBA\x84&gt;\xF9} 6j)\x82;kh?PL=hB\x8DG\xF8\xB8\xC6/Uؿ\x89\xF5\xC1\xF1\x9F\xF5*!X\xF4/6\xC4d\x92\xB1\xA1\xA6\xC0\xB4\x93\xA9 ?\xE5\xC2r        \xAA\xCDh\x8D\x97\xA3\xCFt\xD0o\xE1\xEF\xD9#\xACC\x99\xF8!\x99\xCD\xE8\xD4\xA4ʭѭ\xB9NmUv\xA0w\xD8xG \x861\xDA
+/\x9B\xD2d\xA3\xF1T5\xA3\xA2\xBFa\x87J=̈́\x9D*\xFA#\?qX\xF9\xEB        l&quot;\xE4_?\xE1bh\x9F\xB6u\xC1 \xA7\xDCŐ\xE4\x8B!\xD9L&gt;\xB1&quot;\x9B\x95c\xB3\xD9Y\xD9,\xA5\xEC.(\xF8G\xAC\xD1^\xE4\x90\x9Dܭ\xEC\x95&amp;\xF0\x82'{US\xF6\xA9\xA6`\xB7&lt;\xA0@rP\x80\xE40\x84\xFEg\x98z=\xAF\x80&lt;,u\x84        U\xF68\xB1\x91\xEFt\x94N\xBFQfZpb\xDE*\xFC\x83 ٓ&lt;\xE8\xA3y&lt;\xEC)\xD5$b&lt;\xAD\xF2\x88\xF1 \xA5{\x98\x96\xD3%\x9C\x9A\xB3\x9C)*\x81Kc\xF1&quot;\xC5 Y\xB5\xAE\xA7#:\xD3L⠾ؘ~\x8C\xE9nj\xBD\xD0!\x83,\xA4\xAF'\x86\xF8\xA9\xF1E\x91$q\xDF\xD0\xE0\xA6f\xAF4\xE6&gt;\xA1\x99\x95|Ţ\x87\xC7\xDFM\xE6#U\xAF\xF1\xDE\xE3\xBBʲ\xB6\xE5P\xC1^\xE6\xF5\x80|\x987w\xAE\xF9/\xD5;T4,\xA7\x92\xF0L\x8B
+\xB8\xDA\xDD|\xD9        W\x86z\xAE\x97\xA5\xB2ᦈ\xB7\x82r\x8Dt\xC07\xBC!_\x85\x86\xE3\xC8\xE0\xE4GX~W&amp;E\xC0W\xA91\xB1\x98ѢHÞwoLz\xDAC;\xAF        \x9ETo\xE3&lt;,j\xF8\x86k\xFF\xB8N6\xC1\xFB?!\xB7g\xF5}\xFD{:\xFD \x82\x91\xBD\xFF\xED\xF7֍\xEBsm\xFB\xE3dzrܯß\xF43ZM\xD7_\xC3\xE0\xC6:\x83Krf\x9Cˌ\xD7MZ_\x8D\xCE[_\xAD\x86\x92nza\x808_\xF4\xF70\xC0\x89.\xE2\xE8A.Mu\xDE\xD59\xD3) + +sZcz`\x983\xF2\xF4F1S\xFF\xFFLP62\xC1\xB9\xBE1 q\xC2\x9D\x84\x80\xF9c        \xEF9Kh \x83g\xA6\x9C\x{16DCA1}B\x8B\xF2\x96Q\xD0P\x81%\xDAY\xED\xC0\x86u\x83\x991\xAC\xCB\xFB&gt;OSV\xDBP\xD6ҿieke\xCB\xFE\xA6\x955\xFFX+[\xF1\xB1VVа[M\x9C]ɫ\xDD\xD9\xC1*\xFD\xE0\x80&amp;\xD6i\xDA;\xDF\xA8i\x81\xADs\xB3\xF6\x95l\xA6\xC3C\xA7bI\xF1\x8F\xE8$\xDA\xBE΂\xF8\x9E_*Ǘ\xD2v\xA7Nŏn\xA9\xCB[\x86Xz\xF2᳛yƛ\xD0~m\xF72ƌ\xD58H\xBE_\x97\x9C \xBDZ\x97\x9E4\xDE)\x83\x9F\xA7M\xBBF\x97\x9F1;\xED\xF8_鲳\xC6B\xAA\xF4\xD0m\xD9yc\x8Fh:\x99\x8ES\xF5\xA3\xDAyG\xC7t\xAA\xF4\x82\xF1\xAC\x89_$\xEAq\xEE
 '\x893\xB1\xC3\xD8S\xD0\xE8\xFF\xF0~        
+\x9D!\x85친\xD0K,\xD4\xEA\xAE\x91O\xD8
+\xB5.\xA3\xD6\xDBJ?\x9D\xC4\xFD\xB8\xAA\x{1AF9FE}L3\xE2\xAA\xE6\x97J!Ϋ\xB4\xB5\xBA~\xCD0\x936v\xEFp蔏軤\xF0e\x8A6\xFE4\xA9\xF8R\xBE\xAB\x89~nFn\xC9.\xE7f\xD0]\xD2EqĞ\xA6\xFD\xC3\xEA\xF46\xF0=f\xE6|\x8FF\x8D&lt;\xD9Lپ\xA6\xADx\xEE\x95R\x86\xF8W +~ȟ\x94*\xF8\xE4\x8BP\x9D\x9C\x9B\xA66M0&gt;\x83H\xDBa\x86\xC6W\x92\x9E\x83]\x86Gv\x88\xC1WRyO        \xCE0j\xE0S_} +\x84ށ\xE8W zdN\xF4HcG\x9B|t\\xBE\x99\xA4\xA1        C\xE3\x8D?s5\xC6\xCD\mS\xEDL\xA4v\x9Ex\xBE-\xB7\xF3_@wo\xA2\x9D)\xB9v\xA6;\xD5\xF0h\xCF&quot;s\xED&gt;\xF7{zf\x980x\xB3\x8Co&quot;\xB19\)\xC9\xC6\xEC\xD2\xFC(j\xAEi̘oh\xEA\xFF \x83iɘ\x90ڶ\x8B]\xA3s\x9D\xE9.1\x81\x93\xF6&gt;\x98\xFF0/\xF32\xC7&lt;\xCF1/7\x81s\xB7\xCC\xFF/`^\xE6Վy\xBEc^\xE3\x98q\xEF\xB4\xCCŢ\xFC*\x98\xD7\xFF\xE2n\xBD\xB1\\x9D\xF7L:\xDF\xF7\x8D\3͑\x83M\xA8\x8A_O\xE27\xB4 +mu\x95\xB8\x86\xB6\xB9\x86\xAE\x93V\xDB\xC1\xDDE\xA0\xA5g\xC1\x9D斬
+\xA5\x8D͸J M\xBA\xF1H\xD7\xF9\xADo\xEE@\xFD
+\xAE\xFF&lt;\xEA\xD7ϑs\xB3\xCB\xD5_t\xFD\xFD\xFA7(\xBD\x9Bf*~\x93{ \xA8+ j A\xFB\x8CK\xBC\xCF\xD8\xFDN\xD0\xE2\xFB\xF0ݢ\xF4A\xC3\xE8\xE2\xDB&amp;\xC4\xF2A^7\xFC&amp;\x9C\x87\x86\xF2&quot;&gt;b\xFC\xB7\x96G ?\xB6&lt;b\xECQ'wIN\xEE\xFB&amp;\x99i\xDC\xC2G\xA4.*\x8E\x933\x83K\x8A\x931\xE9\x8F~\x8B \xE7\x94q\xBB\xDEiߤ\xCF:i0 mʁLΟ\xB8/\xD6d\xA1_\xA5P\xE4\xE4\xA5Y\xBFK\xAC\xDFv\xBAD\xFA\xA5\xB4\xC0\xC7R#/{\xC5        ^\x96Ss\xBB\xBE_ͻ\xA6\xAE\xF0\xF3\xA4\xD2=^i \xDA\xF1\xB3\x9C\xCB\xE4\xAE\x9E`\xDD%\xCC|`\xAA\xE0d'AwN\xF2\xC3I4\x86KXn\xFA\xFE\xA2W\xB8\x8E7\xB8\xDE\\xEEv\xAE\xBEa\xEAZw\xB6\xC0Ϡg\xFD\xC3d\x81\xC3\xF9\xE59 U\xEE\xC3nO\xF1ݷ\x9B\x97\x9B\xD0\xF0\xB0\xE6&gt;\xAFp;:\xEC\xDF\xCC+,\x92\xE4\xF1Җ2!|A\xAC2rB؎ +\xF3=\xD4\x83{\xA8\xB7Z?\x82\xEF\xFA2\xE5n\x8E\xE2\xBEs\x87\x9C\x99\xB9\xCC]d
+ I\xF3q\xAE\xA5ծ\xA5d\xB8\xAD\x9Dƌ\xB9Ssr.M\xE335\x9C~\xFA\xB1}T\xE5\xDDp\xC3s _S\x9E\x86|\x88\xAD\xAD\xD8eg\x86\xEB2\x8Fg9\xBD\x99\x85.U\xDE\xDA\xF8=ڇf\xB3x'\x87\xB6ߍ\x8E\xBE\x81\x97B\xE1L˚v\xC2;~\xB35ܚK\xB3\xACy\x81\xACS\x81,\xE7L\xC0o\x81\xA8\xC9z\xECq\\xE84\xD0+/!\xBA\x86\x8A\x87qe\x83\x8B\xF4kI\xA3~-C\xBF\xBE\x89\xEF\xB4\xF8\xBA\xE2Q\xC6g\x83&gt;\xAD\xE7\xAEz\xECQ\\xE4\xA0G\x90\xB2*\xE8\x98]\x90b)\xABù\xEB\xA3\xFB\x827\x9Bk\xD0|mbm]\\xDDh1\x917\x85\xFD\x9B\xACy\xFC\xAEo3\xE6\xEE        |\x97\xB7\xE9\xAEC\xD2\xF6$ٝa\xB7\xB6\xEBa\xB1=\xF0k\xA2u\x8A\xA1M\x90`\xAD\xD85F\xEE\xE7/\xF3\xFB\x92\xDDd\x9Ck\x8D\xD8\xB6\xFB\xC2\xC08\x81\xB2y\xE7s#9\xEE\xE0\xCC:\xD3[\xE7L\xEFp#\xC7K\xC4p\xFEF\xAD&lt;\x9C\xB8C\xDBUJ\x97p⮱\x85\xE1ç\xDA\xD45\xF8Z\xBE=&amp;\xB8\xAC\xC0\xDF'h{*\xEC.2\xEF\xB8X0m#\xBCF\xED$g\xC3X\xE3\xE7Ml\xB6y \xAF\x84ΡMgqZn\xF6|\xD8\xE4\x8Cdl\xD8\xED\x80W\xC2|q\xCC \xECf\xF8\xE3\xA3\xCF\xFD\xB1MaPd ~q\x95\xE54=c\xBBD\xF8
 \xCE\xF3 D\xAD\x88t\xA0\xBB\xB2G\xA91\xDAH\xF9\xA5MLT\xD0I\x8EW8&amp;\x99\xAC\xEC$m%\xB1\xC6\xD6~\xC9dl\x83I\xA9:¡j\xDBd\\xEB\xC9\xD8f\x93\x84\x8A\xC9\xD8N\xEBV\x93,
+\xC5\xD7eGڊ_\xF4\xC4RY\x96]\xC3!!C\xDD\xC2!)C=@\xA0\x9B\xF1a\x91\xDCf\xC40j\xF4\xF3x\xA9\xCEH\x90f|XĎ\x89D\xBF\x83\xF8\xC9\xF8\xBC\xC6?5\x91ྫ6\x9D\x88\xD2I\ʤ\xC9\ʌS&quot;\xD1*\x84Z*\xA8\xEFc&quot;\xD0tWl\xB4\xB0c#u~\x9Cov\xB7;\xCE'~\xB3{HڤO\x90\xFCfw\x94\xB0|\x82\xE2\xD0\xCC^U&gt;A\xA1á\xD3L=1 \x9B5/e\xB3\xEE\xFF?\xF2\xFFD\xB2\xD3&quot;9\xA3\xAD Os\xD7\xCDvz@\xEB\xD0f4k\xA6\xBEC\xBAώ\xB0_\x95 T\xE5\xE2s#\xECj\xE5\x82c9\xF2|\xAA\xDFt\xC0 \xE14\x9A\xC8\xB8?\x98/x\xAC #Ι&quot;ƪp(\xC7W\xF4Z-
+G\xA2Oߏ\xA6\x97D\xE0^\xA7Ln1\xF0\x9D\xF32\x9A\xF1\xA25Uj\xFA3ރf\\x85z\xF1\xA94\x9AO\xE4\x95\x9C\xC8Z\xB9 \xEA\x8CXE;\x8C\\x89        \xBB*RYoWGJ{\x86\xD3Ž¢\xF3N\xBB\x863Eߨ-\xEEM\xF9]vm\xA4\xAE\xA8\xE0S\xA1P\x9A\xAE\x8CR*Vo8\x93\xAC\xC4K-\x9F\xF3\xEF\xB4\xEB#\x99\xD8.\x93vu\xD2\xEE\xCA\xC8\xD5q\xC7~E\xEF\xBB6D\xF0\xED\xACތ\xBE\xCF\xFE+\xF9\xA1        m&amp;\xEDv\x81\x8F=Fn\x8Dح\x91\xB4\xD7'\xEC\xF5 +\x97\xF7 \xEF\xB2\xDB&quot;u%\xFDÙ\xE2\xFEaQ6 l\xB7sa]Y߰MEho\xEBCǵh\xFEl\xAA +d~\xB6\xA4:\xDC\xF4K\xABɢM\xE9\xC0\xF0\xCB\xE6I\xFF\xB9\x9Fޟ\xC1\xB7\xAE\xF0X\x84\xDD'\xF4&lt;Q\xFF.[WM
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludesmediaelementloadinggif"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/mediaelement/loading.gif (0 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/mediaelement/loading.gif                                (rev 0)
+++ trunk/wp-includes/mediaelement/loading.gif        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -0,0 +1,74 @@
</span><ins>+GIF89a00\xF7\xFF\xFF\xFF\xFE\xFE\xFE\xFD\xFD\xFD\xFB\xFB\xFB\xF8\xF8\xF8\xF7\xF7\xF7\xF5\xF5\xF5\xED\xED\xED\xEC\xEC\xEC\xEB\xEB\xEB\xEA\xEA\xEA\xE8\xE8\xE8\xE6\xE6\xE6\xE5\xE5\xE5\xE4\xE4\xE4\xE1\xE1\xE1\xE0\xE0\xE0\xDF\xDF\xDF\xDE\xDE\xDE\xDC\xDC\xDC\xD9\xD9\xD9\xD8\xD8\xD8\xD6\xD6\xD6\xD5\xD5\xD5\xD4\xD4\xD4\xD3\xD3\xD3\xCC\xCC\xCC\xCB\xCB\xCB\xC9\xC9\xC9\xC8\xC8\xC8\xC7\xC7\xC7\xC3\xC3\xC3\xC2\xC2\xC2\xC0\xC0\xC0\xBF\xBF\xBF\xBD\xBD\xBD\xBC\xBC\xBC\xBB\xBB\xBB\xBA\xBA\xBA\xB8\xB8\xB8\xB3\xB3\xB3\xB2\xB2\xB2\xB0\xB0\xB0\xAD\xAD\xAD\xAC\xAC\xAC\xA6\xA6\xA6\xA4\xA4\xA4\xA3\xA3\xA3\xA2\xA2\xA2\xA1\xA1\xA1\xA0\xA0\xA0\x9E\x9E\x9E\x9D\x9D\x9D\x9B\x9B\x9B\x9A\x9A\x9A\x99\x99\x99\x97\x97\x97\x96\x96\x96\x95\x95\x95\x94\x94\x94\x93\x93\x93\x91\x91\x91\x90\x90\x90\x8F\x8F\x8F\x8E\x8E\x8E\x8D\x8D\x8D\x8B\x8B\x8B\x8A\x8A\x8A\x89\x89\x89\x88\x88\x88\x87\x87\x87\x85\x85\x85\x84\x84\x84\x83\x83\x83\x82\x82\x82\x81\x81\x81\x80\x80\x80~~~}}}|||{{{zzzxxxwwwvvvuuutttrrrqqql
 llkkkjjjiiihhhfffeeedddccc___^^^]]]\\\[[[YYYXXXWWWVVVUUUSSSRRRQQQOOOMMMLLLKKKJJJIIIGGGFFFEEEDDDCCCBBB@@@???&gt;&gt;&gt;===&lt;&lt;&lt;:::888777666444333222111000...---,,,+++)))'''%%%$$$###!!! + + +
+
+
+\xFF\xFF\xFF!\xFF NETSCAPE2.0!\xF9        
+\xAD,+-\xFF[        H\xB0 \xC1U\x96\xB2\xB4ʠÇ +&quot;\xDAQ!A\x82
+;E\xDCȱ\x9BB\x8A|\xC0\xA6\xA3ɂ\x88\        \x80\xC1\x9F\x93'M\xAD`\xC9r\x85)\x98\xA0\xB9\xF2\x80F\x9CKBS\x86\x8F'\x81k\xF0)` +P\x81\x8CnTp\xD0@B
+9\xAD\xC8X2\x99\xA7\x8BD4Kւ&lt;\xB8(\x80g +T\xA98\x9A\xBAA\xB6n\x832\xA8\xBD\x80I`)F}\xFEHR\xB1P\xBBu\xBD`Q\xCAS\x80\x81\xAA\xC9y󆎤\x88i\xD7\xF2)\xC6V\x96`\x80\xF8\xC9\xCE9\x93\xFF\xC4}XF3\xD9\xAD&lt;Y\xF09\xC0#Gv\xA2szrT\xF9Hp݀\x8A\xC0U\x8A\xB6\xF4\xE8\xA1EQÁ\xA8\x9D&gt;\xCD(\xA2'\xAE-:\xE9\xE9;\x86Jm\xFF\x94c\xB1(\x84O\x9E\xEA\xF4)}\xC4Uk:P[\x8A\xA8\xA70#u\xF1\xA1c\x8A\xA0\xD5\xF8m\xB4\x8A{\xAD\xB0`G\x9D\xACaX \xF2܁EbCTX\xC2B\x88\xCA'\xA3\xD8\xCA(=T(\xE2&quot;\xF4\xE1@\x99\xC41\x86\x83\xF7\xC7#\x8A\x80\x92\xD2F8~\xA1Q1\x8A\xC8B''J\x8E8\xBE\xA1
+\x8F=n\xF0c\x90Ci\xE4\x8BI\xCEx\xA2\x8DD\xEA\xF8a\x881\x96x\xA2@)\xAEآ@Rh!\x86[
+\xB4a\x87%\xB8`\x83\x96        рn\xC6)'A\xA9dR\x89xs:\x892\xC0P m\x9A$J$\x95\x9Cґ%&lt;\x9C\xA0\xE8        -\xBC\x94_OD\x81\xC6'\x91\x91\xC2        )dzBxv$JJ\x84\xCA&gt;\x94\x8A\x98fzi \x96\x9C        J0\x8C\xC1\x84Z\x90\x91*O\xA4\xAA\xE9 \x99\x9CTI\xB1\xCE\xDAE\xA7ɡB\xAA\x8AN\x91\xA1'
+\xE5F*h̪\xC4\x8EF$\xCA\xC7b\xCAC$9\xF2\x84:&lt;\xE1\x88A\x9F\xC0\x91EǑ(r8\x91\xADT\xCA8ԋ\xC3\xC4GJ\xBE\xA9B\xE3@\x95a/AT\x92'A\x9B1\xF0\x9B&lt;|:ԫ\xC3\x81\xE6Y\xCATP1\xBF\x9Br\xD3S!\xF9        
+\xAD,+,\xFF[        H\xB0 AR\x84̐\xD9\xD3ɠÇ +2\xB2Q\xA1\x81        )\xE4D\xDCȱ\xD5&quot; +B\x8A\xB4Ц\xA3ɂ\xA6l\x88\\xD9\xE0\xC3ɗ\xAD
+Ud\xD2A\x97\x81\xAA* +TI\xD5\xC9U\xA9
+\xA6a@S\xE4\x81\x87vTH\x90\xA0C;\xA91\xE4\xCA!\x9F\xAD\xC6-\xDA@G+6\x88\x9B\x88\x91lt\xD0\xC0\xD6\x9A\xA0z&quot;pm@\xC5\x83\xB1x4\xF0\xF3p\xB6\x805\x88\xE0ӪS
+\xAEL\xADț\x97E)\x87&gt;\xE4T\xAB83YB9t\x801^P +\x82\x99 \x98\xA7V\xAA\xD4p\xD8ڠ\x94Pj&lt;\xE3\xB0\xC6\xE1\xD2lM\x84ĥ\x8E)\x82Le\x95=V\x87~$\x93&quot;\xBC\xE0*\x82fP\xE0\x8ECQ'\x8B\xD8\xD3\xC3\xF4 \x97B\xFF\xAA\xC1p\x893\xA8:B!\xA0JDNj\x88\xF8\xB0\xB4c\x9C\x9E\xC0\xF8\xC4Q\x95e\x98\x9D \xA1\xC0X(P\xC4i0\xBD\xA4
+&quot;Y\xF0\xC0\x83\x89\xD4g*\x98TBJ\x82\xB6I3\xC4` fX+\xA74'P%&lt;\x9C\xA0\xE2        -\xF0%bA\xA50\xD2\xC7\x91\xA4\xD7
+(\x9C\x80Ž'q\xE1\x8B\xA9r\x88o\xBCAG$\xAD\xA0\x92\x84\x8E;\xE6(C%@
+\xF4Io\xC8A\xE4\xA7\xA8\xD2\x93&lt;\xCE^\x94\x9D\xD0Q%\x91}\xA4G
+L\xAA8\x85\x8D@\xA2H\x95U*&quot;(R\xA0\xA9#\x8FD9\x90'\xD0Q\x87!\xA3 JMA%ztJ'\x9F\xB0\x89\xD3c\x89F*餔V*\x90';5\x84!*\x9E\x88\x82G\x8E8\x91CO4\x92`&amp;q\x8Ca\xC6 &amp;BT\xCA8ě\x8A\x81\x9EDJ]\xE4\xFAE!U\x84\xAC81\xC9K\x92\x80\x91k\xAEp8\xEA\x90&amp;D{\x84&amp;\xC4{\xEC\xCA\x94\x9A\xAC9\xAC\xA2@\xA1@B        \xA4\xB1q\xEC\xAE\x91\xC7T\xC8Q+A\x91t\xE1DhxbP&amp;p\xA8\xCA\xEAI\xA6\x80KP(](\xE1/p|:*\x9F\x8C&quot;\xB0\x88\x91@\xA1L(\xB1\x85(\x96T\x89\xC2 +\xD1ź\x96\xA2bF\xC3J8\xD1G\xC4y\xF2F]\xFC\xD1*Ȫ\x90\xF2c\x82!\xF9        
+\xAD,-+\xFF[        H\xB0\xE0\xC0Q„\xF9#ʠÇF\xEA\xF1a\xC3&gt; E\xDC\xC8q`'Cn\xB8\xC1\xA9\xA3ɇk:\x88\xB4\xE8a\xCDɗUY򈪁\x9E\xF6\x90IS\xA8LU\xA7
+\xAA\xFAA\xD3b\x90U\xADV\xC5Q!\xC1\x81 8\x99\xE7\xC92\x95^)\xBA\xE1\x8A\xC05\x88+bGQST\x9C8\x91\x82\x87F\x81\x88H\xD0,\x81\xA8U\xA4c\xF36\xC0\xE13\xA2\xB5)R\xAC\x9D\x82J\xA0*3&quot;D\x8A8\x83\xB4\x8B\xBDc+\x8A\xA8\xCA        \xDB\xC0\x82gd\x8A\xC9' A\xFA\xDCl\xE5\xF2Xh&quot;\xA6Br9\xF0\x89Y        \xA2\xE2\xC4)\xD5\xC0U9L\x8Bu@f\xE3\xC1\x98O\xE9\xBBQ\x8A\xEE\xF6l\xAC\xB4c\xED\xDAL\xAA\xA0;\x85'\x8E\x90\xA4ȀQ\xE4Ҏ\xA8\x9C&lt;\xFF\xD6kA\x8E\xC9T\x98,7\xCA        \xF5\xB1\xDA\xC0\x9Co8Д?\xBC\xFC\xC9Cf +\xA2\xF5\xF4\x99\xF4         \x80\xB0\xE0G\x80'y\x83D(al\xB4\x8A&amp;\x95\x8C \x85F \xE1\x87@p\x88@\xA5\xACa\x84X4\xB2\xA1@\x8A,\xE2\x87\xF0p\xD3:\xE0`#\x9D\xAC\xB8\x85\x87/Jh\x81%\xA6Pa\xA3\x8D:\xB2b=~\xA8!\xA6L1$: \xB2&quot;IJ\xB8d+r\xE40\xE4\xD7m\x98E\x95\xFE\xD8
+)&amp;q\x85#+\xB6\x92\x88`\xEE\xF0݅\x95\xA0*ET\xF9@]i&gt;ԉ \x82\xC8@\x85yB\xF4I@\xAC]\xA0]r\xC7\xFE\x99\xC2褭\xA0BI$\xA08\xDB'\xB6\x9D\xF4        Q@\xE1\xC5[/yv B\x8AI\xAB\xC0\xC1\x84\xB0v\xA0\x91\xE9I\xA7\xFC\xF1ƭr02\xDAF\xA4d\xA1\xAF&gt;\xC9K\x9D\xD0!DZo\xF4G\xA5p\xF1\xEB\xABQP\xF2\xD2'v\xBC\x81\xEC\x9Dr\xE4\x87\xB02\x81Ʋ\x91I$ +        U\x88\xB7\xD21\xACI\xA8\xF8хp|bP&amp;m\x80\x86\x97T
+#}\xFC!ɮ&amp;\x95B
++\xA1Gw!\x87\xA4g\x9B\xE7'c$\xDC\xC5]Rj\xD0(fHlF\xB9Ċ _ \xFC\xC5 w\0&quot;\xB7&quot;R\x98\xC9\xA90}!\xF9        
+\xAD,,+\xFF[        H\xB0`AU\xA7 *\Ȱ!(8M\x94\x90\xA9԰\xA2E\x82\xA0\xA4\xA48q&quot;HC2\x8C\xB3
+\x8ER\x8A\)PU\x93&amp;M\x9E\xA0\x81\x89%\xCBSF`\xC6&lt;!\x83AQ}\xBC\x80\xF9#J\xA4*M\x94Fsr\xA7R!\xF1\xF8\xA0A\x88 -\x92RC$\x96F+\xED\xE0ȱş\x81\x9CjT]\xAB\xE1'\x8Bqp\xC8\xC5\xF1\xA4SAHRd\xC40\xF2'\xD5@5\xD8V\x{1709A2}\xA9)sq\xE4d0եJP\xA6&quot;x\xADU +'^U\x8F\xCAU\x83`nwn]\x91V@k\xB8\xA2U\x8D\xAF`E&quot;Qل\xA1\x8BG\x93\xB2Te&amp;[hF\xDB\x99j,\x82\xF4\xF1;\xDC\xE6)N\x9CT6\x9Fު\x931i
+\x95\xA2R\x9C4\xFF\xA8pCAT\x94 }\xE2NPM\xF1\xF0\x88X$Г(P\xBAd\xE5\x89C\xFC\xF87\x8C\xA2\xCAL(a`\xEBq\xC7\xFF\xC1W!\xA4d\xA1:\xF1{=4\x9Ff\x94\xC2ńF1        w\xAAܠ\xA1x\x90ъM\x88\xC6v\xDCIqb\xEC\xD1
+*}p\xB1\x9E\xB0\xD7J \x9C\x98B\x8F\x95&quot;\xA0\x8F\xAD\x9C\xE2\x83\xFFY \x92 \x81\xF2\xC4{(~\xD0\x94\x991\xC6\x88\xB6]`IPO`@@ \xC0\x82b\xD4\xC9 \xC4)' +\xB0q)\x91DRTwC\xCC\xE9'\xB75\x94        `\x80\xE1\xC6%!!\xA2\x80\x9Fs\xC0\x83p\xA1G\x94v!\x87)e\xC1\xA8\x9FP\xB4\xD0'cT\xDA\xC5vY\xC4æs*\xC0\xD8B\xA3\x94!\xAA\xA1\\x88t*\xAAq\xAA\xCA+\x82|A\xE9\x83@**\x9Cx\x82\xCA@\x9A\xD2
+@\xA7 +\xA1b\xC8p\x82iA\x9EBG\x88(Պ\xA2\xB4:\xEA\xABB\xAA k\xD0)\xBC!\xAE\x8C`\xA6J\x9F\xA8J]'t\xC8\xE1\xEE}&lt;ۉ \x9B\xD6\xC9\xDD'u\xBC\xF1\xEE϶\xF2        \x80\xA6\x9Al\x92X\x88\xE2\xD2\x89A\x98ر\xE5!0\xB2W\xCA&quot;}\xFC\x89\xB7m.\x84\x8At\xC3!\xF9        
+\xAD,+-\xFF[        H\xB0`AS\xA6 *\Ȑ!)9S\xA8\xCC)հ\xA2Ł\xAB\xD6\xE4\xC0\x81CǚUC.\xD4d\x84#G#\x9AD\xAA$X)\x88IB*)L\xA5je)R  \x96\xBA\xF2˨\x82\x95\xC6 q&quot;G\xD4ET~\xB8d\x81\xF3ɠ\xA3':t@iTҎ'N\xA8\x98b\xB4\xA2'J\x940A\x83ʠ\xA7A\x84:L%%k
+\xAC*\xE2T,\xD5E,%Q(\x89\xC4$\xE3\xC4۷'\x9E\xD4t\xA8Ů(\x91DZ\x82\xE1\xF7\xEF\x89%\xA7\xB2\x82s7\xACP&quot;Ki\x8C5\x8B\x9F\xD0Dy\xD2\xD2\xCA?-\xB2f\xE5!\xD3\xE2)J\x910\xAF\\xF5\xA7H\x8CSL\xAF\xDC-\xB0T\xA5Ley N\xBC\xA0\xAA\xC1\xC5/\xAABt凑5j\xB2\xF5)x\xF2V\xAA̐\xD8\xC0\xBD\x83\x8DĭP        \xFF23&amp;N\xA6\xEB\xAD\xF8\x88\xE0\xCE~C\x8F\x9F\x88\xBEt\x99߆TrTAڳ\xFF\xF0G՛\xF9\xF3\x81q\x9C\xB0\xA0{a\xF8`&amp;W\xE0\x81܅\xD1J|\xBA\xD1q\xA9\xE4w \x847yr\\x82^\xEB\xE9\xE7CW\xAC\x88\xE2IB\xE8\xA9rF        \xECyp\x83n\xE8)\xB4
+sA\xB1'5\xDAH\xD0*\xC8\xF5(*\x81H\x91\x83] (\xE4@\xA18QAP:\xD0\xC1G\xA9\xF2I'\x91\x89\xA4\x8A@\xE9e\xC8\xD5P)\x85\xD8A\xC7\x9E\x88ȓ_z\xA9B\x9A 1&quot;\xC7sbv\x89d\xC1C[(\x92\xD3m~)\xC1 \xA1\xD2\x9Ds\xD2\xC1\xA3@\x9D\xA1\x90\xB0\x80i\xEE\xA8\x97|\xB6P* \xFA\x86M\xB5\xF2\x89 \x90\x96i \x9F\xFCpi\x94i4$        oЖ\x89H*U!\x80\xA9\xA6
+\x80\x85\xAB\x82YHC\xAAD\xF2G\x8C\xD8\xD7\xCA%\xE0\x8Ak|\xB0*U\x94\xCA)\xC8\xDDA\x80\xB2\xA6\x90G*\x82&quot;\xBC\x8D\x81m\xAE\x9Fɑ\x828P\x8B\xB7F\xE3B*\xC0y\xB2h-o\x88/ &quot;\xA4)+\xFC\xCB¾5\xFE\xC1\xC0\xB8 +\xF8\xB1\xA4@l&lt;\x80k\xB0\xF1\xF0@\x88\xEC`\x81
+X\xC0\xC3!\xFFh        !\x84X\xA4H!\xF9        
+\xAD,+,\xFF[        H\xB0`\xC1R\xA4T\Ȱ!CT~\xB8dy\xE3ɡŋ\xFB4Q\xA2\x84\x89TC2,ť#%P(\x89\Ip\xD4\x93(!\xB1d\xC8j\xD4'\x90U\xC19ɱ˧\x85\xA6L\x89D%\xA8\xCC8\x99 zB\xC5I\x99Iř2%)\x8C\x86\xBEt\xD9\xCA\xE6\xEA\xC1I\x8F~\xE6T\x83\xA3,5
+\xAAz\xB3u+\x98H+51\x8B\x83\x88&amp;\x8B\xA8\xE0\xB4\xED\xF2v%\xA5 t\x83\xA8\xB4\x98\xB5\xADQ+Ga\xA1\x8Be\xD4ES\x83̌\x91sif\xA3'9r&lt;iRU\xA8NBg\xB6\xEA4hP'ѨS\xAB^ͺ5\xEASi        \xAA\xFA\xD4\xE9\x94끕\xC6i\xD4\xC0R\x85\xEA\xD0\xF9S\xD15\xA4(N\x9CH!\xC5w\xABEr\xDED\x84su*)\xCAQ$O\xA7\xAA&gt;ң\xD3\xFF\xE1\xD4\xFA\x92\x8Cڵ\x9Fh\xA2\xEAԟ\xF0o\xEA_])\xFA\xF4'\x94؎D\xE7\x8DtDթF\x8A\xF7mG\x86@\xA8D\xF2G\x8C8\xE6\xDA-(\xA7\x95Tl\xAD\xA5\xF2\x872\xD0 T\xB75D
+%\x98ض\x90*\x88d\xC1Y \x82a\x88u2\x84\xD4\x80C\x9C\xC6*\xA9\\xF4\x89 6        \xC0 qtf\x88= \xA1y +Q!\xA4\x90O`\x94\x8A$h`%5\x80X&amp;&lt;$\xED\x82\x95dj\xC0b\xD9Q\x80\x976`\x86l\x9DD\x99d~\xD0\xC7Bc\xC0f\x8D\x8C\xD1\xCA)\x81HqC\\x80\xC8         t\x92\xE9\xC5Bk\xE8\xB9gk\x80\xE2 +T\xCAh\xB5rh\xA2V\x82\xB1\xD0!\xEC        \x88&lt;\xC1@\xA5\xA86PAw\xA7\xC1),\x8ET
+ \xA2\xB2`J\xA9\xA6\x9A\xC2i}\x88\x90hh\xE4Gl6\xE0\xC7\xB9\xA6\x81\xAD\xA4\x82\x86        dzp\x83\x96\xB1\x81\xA3|B\xC0F+;$\x9B\xAA\xA9b\xC8A\xB1\x93ƒ
+(`\x86\x84\xB7\xA8\xA6\x91ӋjURZ%\xB1u\xE1\xBD\xE3@\xD0{C) ԆɊ\xA0H\xC2ɑ\x828P\xC1 +\x8B@L\x90'{\x90a!\xB2!\xF9        
+\xAD,-+\xFF[        H\xB0\xA0A\x81\xAAR\Ȱ\xE1AT\x88޼AdʡŋY +\xFAҥ˗A\xAA0\x8A\8\xCALǎfD\x8D\I\xF0Ә\x93]\xC6xb\xD90UE\x83\xA8\xE2\xC0\x8C\x83\xCA \xABQ\xA4V\xAA\x8A\xF4\xA7Ϣ\xA03\xB5\xA6M&amp;\x83\x9F\xE0h\xE9\xE2\xE7\xE6EIt$\xCA1\xA4\xB0 )I\x92\x90&lt;\x85\x86\x89%O\xFC`L\xF5\xE7\x8D9o\xEC|Y)\x8A&amp;f\xBB\x88m\x88\xAA\x8F۷t8\x8D\x8C\xF4\xE4\xAE\xD9,\xA3.\xB2bW\xE2\x9FS#Eu9{\xCE*\x8C\xA5١h\xE6\xCAH]\xA0DA3W\xA4\xAAO\x9Dz\xD2\xA9\x92j\x9A\xB0E\x9A:\xB4f\xCCK\xB1W\xFEYq@@\x80\xAA\x94\xCE\xED\x90 +ȓ \x80!\x988CD\x92K\xC0HH\xE7\xA5*i\xBA\xBEj\xC7\xF4\xE9 9\xFFwt%ȑ5\x89+U\xF8.=@➞\xE0\x98\xAFCN\xABA        \xD8K\xEFA\x9C\x90\x8E\xF9\xF3QQ
+~\xFA%\xC7_n\xFE\x88\xA6\xA8W uZ\xC0'}\xF6\xA9\xE2]\x81\xE1\x8DW\x9Ek\x94&quot;t\xFAUwv\x95l2\xA2@\xC6}'@ \x9E9\xC7\xD0n\xBD\xFD\x96ùȐ)\x88\xACAx\xC4Sҕ\x8D \xB9\xF1AH6`\xA0\xAC\x94&amp;\xAF9$\x87I&amp;\xE9\x90]\xB4\xCAE\xC40\xC3\x8FX\xE4I
+UVYA \xD2\xC2        l\x9E\xC0C%\xF1!A\x99UJqQ)E\x9C\x90žz\x8E\xE1PtV\xA9É\xA9p\xC2I\x96U\x83\x9E{\xA6pB\x88\x84\x86\x81&quot;\xE9B|\xC1 A\xF01d&amp;20ʧ\xD7-TH\x95:\xD0E+\xAB\x9C!\xC2\xB0n\x8C \xC2ץ&quot;\x9B|\xAA\x87C\xA5\xDCPi\x91\xB4\x82H        \xB1\xC6Z&quot;Eƒ\xA3'\xA80\x85J1&quot;\x9D\xAC!\xC5{A\x96\x90\x81\x96\xD0Z\xB4\xC8 +\xA86 \x81
+r\\xA6
+\xD9\xC6
+Đ\xA5R*F\xA6\x92F|\xB4\xB8\x8A\xED\xC2jĉD\xB4F\xEDv`m\xC0ubC\xBB6t\x82\xF0A\x91\xF4\xF0\xAC\xF4\xEC\xC3\x89\xE2a\xFC\x91\xD8J!\xF9        
+\xAD,-+\xFF[        H\xB0\xA0A\x81\xA7P\Ȱ\xE1AT\x91\xFE\xF4YTʡE\x82\xA5\xADc\x93\xC1Ht޼\x91SH\xD5E\x8B~X \xA0\x80*\x9F\x9A\xFA3RΛ:1O2d\xD3\x80ϟ\th\xAAOM9t\x86\xEA&lt;hЧCL\xAAbdS\xE4\x9FSMZT\xC5#\xC0S\xA0
+        \x85\xA8@\x9E \x9A2\xE7\x8D!\x85 ++Y\xF8\xFA4\xCB@T\x9E8\xC1%\xA8jЗ.]\xBEb\xD5p\x90\xBA@y\ e0\xE02\xA3
+F\xECS\xB1\xC5Ncw\x93s\xA1\\xCA&gt;\xEDZ4%G3\x9C\xBD\xB9zE\xF6\xE4%7`\xC0\xB0\xC9d\xB1)\xE5\xA8:EE\x8AD\xEA$O\xBA/\x94.\x9Ere\x9E\xC4\xBE\xB4 \x90SL!\xDAh\x86\xF9\xD264\xD8^\xE1        (\xEBK\xE5X\xFF\xD8N\xBE'X\xC1T5\xAA\xE2@O)ʗ\xA7H=AOp\xB6p\xE9w\x8F\xF9\xE5Ia\x9F@\xA5\xA0\xC1\x84J4\xE1\x87@dh\xE0v7h\xA5\xDE$Q(\xC1ā\Td\x86\x83\xF60`+\x8F8a\xE1\x81Y\xF4FH\x9A\xC7Ň\x9Ft\x81\xA0\x85o\x984\xCA +)rɇ\xAD@\xD2P\x98\x91\x96@\x8B\x88`j\xE0(\xD0'\x90P\x82Z+\x8A܀b\xA4\x87\x84F.TJ!i\x88\xA1\x87pU\xEAt
+'\x9C\xA4\xD7%C\xA9\xF4 ,\xB1G*c\xA6\x86\x86ĩAfPy\xD1(\x94hb'C\x86\x98 \xA7\x9C$\xB2T#Xa\x84\xBDYtşZ\xA1S'O\xE0 )\xCB9\xA4J\x8C\xCA\xD9Ò +\x92ä8Dg\xA9\x99\xC69\x9B\x91R\xC9%\xA8\xE4)\xA8\xA2:\x88\xB4\x86\x99rP\xA4@\xA9\xFCaD 2Hq#A\x90\x82Z\xA9C\x9Cܐi +\x9C \xF4G '4{\xC2\x95DhD z$=\x80\xE7&lt;\xFC\xDA
+)F\x9C\x80¸\xE2\x8Ea\x9Ez.%\xCA`xч(Q&quot;\x83\xB8\xE3\xA2p\x82b\xB6)&amp;4\xD0Kn{\x8Ey\x8A͒\x9B°\xFA        )4\x9B\x82\xDF%\P%d$G\xC4tJ\xC0;
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludesmediaelementmediaelementandplayerjs"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/mediaelement/mediaelement-and-player.js (0 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/mediaelement/mediaelement-and-player.js                                (rev 0)
+++ trunk/wp-includes/mediaelement/mediaelement-and-player.js        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -0,0 +1,4649 @@
</span><ins>+/*!
+* MediaElement.js
+* HTML5 &lt;video&gt; and &lt;audio&gt; shim and player
+* http://mediaelementjs.com/
+*
+* Creates a JavaScript object that mimics HTML5 MediaElement API
+* for browsers that don't understand HTML5 or can't play the provided codec
+* Can play MP4 (H.264), Ogg, WebM, FLV, WMV, WMA, ACC, and MP3
+*
+* Copyright 2010-2012, John Dyer (http://j.hn)
+* Dual licensed under the MIT or GPL Version 2 licenses.
+*
+*/
+// Namespace
+var mejs = mejs || {};
+
+// version number
+mejs.version = '2.10.1';
+
+// player number (for missing, same id attr)
+mejs.meIndex = 0;
+
+// media types accepted by plugins
+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']}
+                //,{version: [12,0], types: ['video/webm']} // for future reference (hopefully!)
+        ],
+        youtube: [
+                {version: null, types: ['video/youtube', 'video/x-youtube']}
+        ],
+        vimeo: [
+                {version: null, types: ['video/vimeo', 'video/x-vimeo']}
+        ]
+};
+
+/*
+Utility methods
+*/
+mejs.Utility = {
+        encodeUrl: function(url) {
+                return encodeURIComponent(url); //.replace(/\?/gi,'%3F').replace(/=/gi,'%3D').replace(/&amp;/gi,'%26');
+        },
+        escapeHTML: function(s) {
+                return s.toString().split('&amp;').join('&amp;amp;').split('&lt;').join('&amp;lt;').split('&quot;').join('&amp;quot;');
+        },
+        absolutizeUrl: function(url) {
+                var el = document.createElement('div');
+                el.innerHTML = '&lt;a href=&quot;' + this.escapeHTML(url) + '&quot;&gt;x&lt;/a&gt;';
+                return el.firstChild.href;
+        },
+        getScriptPath: function(scriptNames) {
+                var
+                        i = 0,
+                        j,
+                        path = '',
+                        name = '',
+                        script,
+                        scripts = document.getElementsByTagName('script'),
+                        il = scripts.length,
+                        jl = scriptNames.length;
+
+                for (; i &lt; il; i++) {
+                        script = scripts[i].src;
+                        for (j = 0; j &lt; jl; j++) {
+                                name = scriptNames[j];
+                                if (script.indexOf(name) &gt; -1) {
+                                        path = script.substring(0, script.indexOf(name));
+                                        break;
+                                }
+                        }
+                        if (path !== '') {
+                                break;
+                        }
+                }
+                return path;
+        },
+        secondsToTimeCode: function(time, forceHours, showFrameCount, fps) {
+                //add framecount
+                if (typeof showFrameCount == 'undefined') {
+                    showFrameCount=false;
+                } else if(typeof fps == 'undefined') {
+                    fps = 25;
+                }
+        
+                var hours = Math.floor(time / 3600) % 24,
+                        minutes = Math.floor(time / 60) % 60,
+                        seconds = Math.floor(time % 60),
+                        frames = Math.floor(((time % 1)*fps).toFixed(3)),
+                        result = 
+                                        ( (forceHours || hours &gt; 0) ? (hours &lt; 10 ? '0' + hours : hours) + ':' : '')
+                                                + (minutes &lt; 10 ? '0' + minutes : minutes) + ':'
+                                                + (seconds &lt; 10 ? '0' + seconds : seconds)
+                                                + ((showFrameCount) ? ':' + (frames &lt; 10 ? '0' + frames : frames) : '');
+        
+                return result;
+        },
+        
+        timeCodeToSeconds: function(hh_mm_ss_ff, forceHours, showFrameCount, fps){
+                if (typeof showFrameCount == 'undefined') {
+                    showFrameCount=false;
+                } else if(typeof fps == 'undefined') {
+                    fps = 25;
+                }
+        
+                var tc_array = hh_mm_ss_ff.split(&quot;:&quot;),
+                        tc_hh = parseInt(tc_array[0], 10),
+                        tc_mm = parseInt(tc_array[1], 10),
+                        tc_ss = parseInt(tc_array[2], 10),
+                        tc_ff = 0,
+                        tc_in_seconds = 0;
+                
+                if (showFrameCount) {
+                    tc_ff = parseInt(tc_array[3])/fps;
+                }
+                
+                tc_in_seconds = ( tc_hh * 3600 ) + ( tc_mm * 60 ) + tc_ss + tc_ff;
+                
+                return tc_in_seconds;
+        },
+        
+
+        convertSMPTEtoSeconds: function (SMPTE) {
+                if (typeof SMPTE != 'string') 
+                        return false;
+
+                SMPTE = SMPTE.replace(',', '.');
+                
+                var secs = 0,
+                        decimalLen = (SMPTE.indexOf('.') != -1) ? SMPTE.split('.')[1].length : 0,
+                        multiplier = 1;
+                
+                SMPTE = SMPTE.split(':').reverse();
+                
+                for (var i = 0; i &lt; SMPTE.length; i++) {
+                        multiplier = 1;
+                        if (i &gt; 0) {
+                                multiplier = Math.pow(60, i); 
+                        }
+                        secs += Number(SMPTE[i]) * multiplier;
+                }
+                return Number(secs.toFixed(decimalLen));
+        },        
+        
+        /* borrowed from SWFObject: http://code.google.com/p/swfobject/source/browse/trunk/swfobject/src/swfobject.js#474 */
+        removeSwf: function(id) {
+                var obj = document.getElementById(id);
+                if (obj &amp;&amp; obj.nodeName == &quot;OBJECT&quot;) {
+                        if (mejs.MediaFeatures.isIE) {
+                                obj.style.display = &quot;none&quot;;
+                                (function(){
+                                        if (obj.readyState == 4) {
+                                                mejs.Utility.removeObjectInIE(id);
+                                        } else {
+                                                setTimeout(arguments.callee, 10);
+                                        }
+                                })();
+                        } else {
+                                obj.parentNode.removeChild(obj);
+                        }
+                }
+        },
+        removeObjectInIE: function(id) {
+                var obj = document.getElementById(id);
+                if (obj) {
+                        for (var i in obj) {
+                                if (typeof obj[i] == &quot;function&quot;) {
+                                        obj[i] = null;
+                                }
+                        }
+                        obj.parentNode.removeChild(obj);
+                }                
+        }
+};
+
+
+// Core detector, plugins are added below
+mejs.PluginDetector = {
+
+        // main public function to test a plug version number PluginDetector.hasPluginVersion('flash',[9,0,125]);
+        hasPluginVersion: function(plugin, v) {
+                var pv = this.plugins[plugin];
+                v[1] = v[1] || 0;
+                v[2] = v[2] || 0;
+                return (pv[0] &gt; v[0] || (pv[0] == v[0] &amp;&amp; pv[1] &gt; v[1]) || (pv[0] == v[0] &amp;&amp; pv[1] == v[1] &amp;&amp; pv[2] &gt;= v[2])) ? true : false;
+        },
+
+        // cached values
+        nav: window.navigator,
+        ua: window.navigator.userAgent.toLowerCase(),
+
+        // stored version numbers
+        plugins: [],
+
+        // runs detectPlugin() and stores the version number
+        addPlugin: function(p, pluginName, mimeType, activeX, axDetect) {
+                this.plugins[p] = this.detectPlugin(pluginName, mimeType, activeX, axDetect);
+        },
+
+        // get the version number from the mimetype (all but IE) or ActiveX (IE)
+        detectPlugin: function(pluginName, mimeType, activeX, axDetect) {
+
+                var version = [0,0,0],
+                        description,
+                        i,
+                        ax;
+
+                // Firefox, Webkit, Opera
+                if (typeof(this.nav.plugins) != 'undefined' &amp;&amp; typeof this.nav.plugins[pluginName] == 'object') {
+                        description = this.nav.plugins[pluginName].description;
+                        if (description &amp;&amp; !(typeof this.nav.mimeTypes != 'undefined' &amp;&amp; this.nav.mimeTypes[mimeType] &amp;&amp; !this.nav.mimeTypes[mimeType].enabledPlugin)) {
+                                version = description.replace(pluginName, '').replace(/^\s+/,'').replace(/\sr/gi,'.').split('.');
+                                for (i=0; i&lt;version.length; i++) {
+                                        version[i] = parseInt(version[i].match(/\d+/), 10);
+                                }
+                        }
+                // Internet Explorer / ActiveX
+                } else if (typeof(window.ActiveXObject) != 'undefined') {
+                        try {
+                                ax = new ActiveXObject(activeX);
+                                if (ax) {
+                                        version = axDetect(ax);
+                                }
+                        }
+                        catch (e) { }
+                }
+                return version;
+        }
+};
+
+// Add Flash detection
+mejs.PluginDetector.addPlugin('flash','Shockwave Flash','application/x-shockwave-flash','ShockwaveFlash.ShockwaveFlash', function(ax) {
+        // adapted from SWFObject
+        var version = [],
+                d = ax.GetVariable(&quot;$version&quot;);
+        if (d) {
+                d = d.split(&quot; &quot;)[1].split(&quot;,&quot;);
+                version = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
+        }
+        return version;
+});
+
+// Add Silverlight detection
+mejs.PluginDetector.addPlugin('silverlight','Silverlight Plug-In','application/x-silverlight-2','AgControl.AgControl', function (ax) {
+        // Silverlight cannot report its version number to IE
+        // but it does have a isVersionSupported function, so we have to loop through it to get a version number.
+        // adapted from http://www.silverlightversion.com/
+        var v = [0,0,0,0],
+                loopMatch = function(ax, v, i, n) {
+                        while(ax.isVersionSupported(v[0]+ &quot;.&quot;+ v[1] + &quot;.&quot; + v[2] + &quot;.&quot; + v[3])){
+                                v[i]+=n;
+                        }
+                        v[i] -= n;
+                };
+        loopMatch(ax, v, 0, 1);
+        loopMatch(ax, v, 1, 1);
+        loopMatch(ax, v, 2, 10000); // the third place in the version number is usually 5 digits (4.0.xxxxx)
+        loopMatch(ax, v, 2, 1000);
+        loopMatch(ax, v, 2, 100);
+        loopMatch(ax, v, 2, 10);
+        loopMatch(ax, v, 2, 1);
+        loopMatch(ax, v, 3, 1);
+
+        return v;
+});
+// add adobe acrobat
+/*
+PluginDetector.addPlugin('acrobat','Adobe Acrobat','application/pdf','AcroPDF.PDF', function (ax) {
+        var version = [],
+                d = ax.GetVersions().split(',')[0].split('=')[1].split('.');
+
+        if (d) {
+                version = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
+        }
+        return version;
+});
+*/
+// necessary detection (fixes for &lt;IE9)
+mejs.MediaFeatures = {
+        init: function() {
+                var
+                        t = this,
+                        d = document,
+                        nav = mejs.PluginDetector.nav,
+                        ua = mejs.PluginDetector.ua.toLowerCase(),
+                        i,
+                        v,
+                        html5Elements = ['source','track','audio','video'];
+
+                // detect browsers (only the ones that have some kind of quirk we need to work around)
+                t.isiPad = (ua.match(/ipad/i) !== null);
+                t.isiPhone = (ua.match(/iphone/i) !== null);
+                t.isiOS = t.isiPhone || t.isiPad;
+                t.isAndroid = (ua.match(/android/i) !== null);
+                t.isBustedAndroid = (ua.match(/android 2\.[12]/) !== null);
+                t.isIE = (nav.appName.toLowerCase().indexOf(&quot;microsoft&quot;) != -1);
+                t.isChrome = (ua.match(/chrome/gi) !== null);
+                t.isFirefox = (ua.match(/firefox/gi) !== null);
+                t.isWebkit = (ua.match(/webkit/gi) !== null);
+                t.isGecko = (ua.match(/gecko/gi) !== null) &amp;&amp; !t.isWebkit;
+                t.isOpera = (ua.match(/opera/gi) !== null);
+                t.hasTouch = ('ontouchstart' in window);
+                
+                // borrowed from Modernizr
+                t.svg = !! document.createElementNS &amp;&amp;
+                                !! document.createElementNS('http://www.w3.org/2000/svg','svg').createSVGRect;
+
+                // create HTML5 media elements for IE before 9, get a &lt;video&gt; element for fullscreen detection
+                for (i=0; i&lt;html5Elements.length; i++) {
+                        v = document.createElement(html5Elements[i]);
+                }
+                
+                t.supportsMediaTag = (typeof v.canPlayType !== 'undefined' || t.isBustedAndroid);
+
+                // detect native JavaScript fullscreen (Safari/Firefox only, Chrome still fails)
+                
+                // iOS
+                t.hasSemiNativeFullScreen = (typeof v.webkitEnterFullscreen !== 'undefined');
+                
+                // Webkit/firefox
+                t.hasWebkitNativeFullScreen = (typeof v.webkitRequestFullScreen !== 'undefined');
+                t.hasMozNativeFullScreen = (typeof v.mozRequestFullScreen !== 'undefined');
+                
+                t.hasTrueNativeFullScreen = (t.hasWebkitNativeFullScreen || t.hasMozNativeFullScreen);
+                t.nativeFullScreenEnabled = t.hasTrueNativeFullScreen;
+                if (t.hasMozNativeFullScreen) {
+                        t.nativeFullScreenEnabled = v.mozFullScreenEnabled;
+                }
+                
+                
+                if (this.isChrome) {
+                        t.hasSemiNativeFullScreen = false;
+                }
+                
+                if (t.hasTrueNativeFullScreen) {
+                        t.fullScreenEventName = (t.hasWebkitNativeFullScreen) ? 'webkitfullscreenchange' : 'mozfullscreenchange';
+                        
+                        
+                        t.isFullScreen = function() {
+                                if (v.mozRequestFullScreen) {
+                                        return d.mozFullScreen;
+                                } else if (v.webkitRequestFullScreen) {
+                                        return d.webkitIsFullScreen;
+                                }
+                        }
+                                        
+                        t.requestFullScreen = function(el) {
+                
+                                if (t.hasWebkitNativeFullScreen) {
+                                        el.webkitRequestFullScreen();
+                                } else if (t.hasMozNativeFullScreen) {
+                                        el.mozRequestFullScreen();
+                                }
+                        }
+                        
+                        t.cancelFullScreen = function() {                                
+                                if (t.hasWebkitNativeFullScreen) {
+                                        document.webkitCancelFullScreen();
+                                } else if (t.hasMozNativeFullScreen) {
+                                        document.mozCancelFullScreen();
+                                }
+                        }        
+                        
+                }
+                
+                
+                // OS X 10.5 can't do this even if it says it can :(
+                if (t.hasSemiNativeFullScreen &amp;&amp; ua.match(/mac os x 10_5/i)) {
+                        t.hasNativeFullScreen = false;
+                        t.hasSemiNativeFullScreen = false;
+                }
+                
+        }
+};
+mejs.MediaFeatures.init();
+
+
+/*
+extension methods to &lt;video&gt; or &lt;audio&gt; object to bring it into parity with PluginMediaElement (see below)
+*/
+mejs.HtmlMediaElement = {
+        pluginType: 'native',
+        isFullScreen: false,
+
+        setCurrentTime: function (time) {
+                this.currentTime = time;
+        },
+
+        setMuted: function (muted) {
+                this.muted = muted;
+        },
+
+        setVolume: function (volume) {
+                this.volume = volume;
+        },
+
+        // for parity with the plugin versions
+        stop: function () {
+                this.pause();
+        },
+
+        // This can be a url string
+        // or an array [{src:'file.mp4',type:'video/mp4'},{src:'file.webm',type:'video/webm'}]
+        setSrc: function (url) {
+                
+                // Fix for IE9 which can't set .src when there are &lt;source&gt; elements. Awesome, right?
+                var 
+                        existingSources = this.getElementsByTagName('source');
+                while (existingSources.length &gt; 0){
+                        this.removeChild(existingSources[0]);
+                }
+        
+                if (typeof url == 'string') {
+                        this.src = url;
+                } else {
+                        var i, media;
+
+                        for (i=0; i&lt;url.length; i++) {
+                                media = url[i];
+                                if (this.canPlayType(media.type)) {
+                                        this.src = media.src;
+                                        break;
+                                }
+                        }
+                }
+        },
+
+        setVideoSize: function (width, height) {
+                this.width = width;
+                this.height = height;
+        }
+};
+
+/*
+Mimics the &lt;video/audio&gt; element by calling Flash's External Interface or Silverlights [ScriptableMember]
+*/
+mejs.PluginMediaElement = function (pluginid, pluginType, mediaUrl) {
+        this.id = pluginid;
+        this.pluginType = pluginType;
+        this.src = mediaUrl;
+        this.events = {};
+};
+
+// JavaScript values and ExternalInterface methods that match HTML5 video properties methods
+// http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/fl/video/FLVPlayback.html
+// http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html
+mejs.PluginMediaElement.prototype = {
+
+        // special
+        pluginElement: null,
+        pluginType: '',
+        isFullScreen: false,
+
+        // not implemented :(
+        playbackRate: -1,
+        defaultPlaybackRate: -1,
+        seekable: [],
+        played: [],
+
+        // HTML5 read-only properties
+        paused: true,
+        ended: false,
+        seeking: false,
+        duration: 0,
+        error: null,
+        tagName: '',
+
+        // HTML5 get/set properties, but only set (updated by event handlers)
+        muted: false,
+        volume: 1,
+        currentTime: 0,
+
+        // HTML5 methods
+        play: function () {
+                if (this.pluginApi != null) {
+                        if (this.pluginType == 'youtube') {
+                                this.pluginApi.playVideo();
+                        } else {
+                                this.pluginApi.playMedia();
+                        }
+                        this.paused = false;
+                }
+        },
+        load: function () {
+                if (this.pluginApi != null) {
+                        if (this.pluginType == 'youtube') {
+                        } else {
+                                this.pluginApi.loadMedia();
+                        }
+                        
+                        this.paused = false;
+                }
+        },
+        pause: function () {
+                if (this.pluginApi != null) {
+                        if (this.pluginType == 'youtube') {
+                                this.pluginApi.pauseVideo();
+                        } else {
+                                this.pluginApi.pauseMedia();
+                        }                        
+                        
+                        
+                        this.paused = true;
+                }
+        },
+        stop: function () {
+                if (this.pluginApi != null) {
+                        if (this.pluginType == 'youtube') {
+                                this.pluginApi.stopVideo();
+                        } else {
+                                this.pluginApi.stopMedia();
+                        }        
+                        this.paused = true;
+                }
+        },
+        canPlayType: function(type) {
+                var i,
+                        j,
+                        pluginInfo,
+                        pluginVersions = mejs.plugins[this.pluginType];
+
+                for (i=0; i&lt;pluginVersions.length; i++) {
+                        pluginInfo = pluginVersions[i];
+
+                        // test if user has the correct plugin version
+                        if (mejs.PluginDetector.hasPluginVersion(this.pluginType, pluginInfo.version)) {
+
+                                // test for plugin playback types
+                                for (j=0; j&lt;pluginInfo.types.length; j++) {
+                                        // find plugin that can play the type
+                                        if (type == pluginInfo.types[j]) {
+                                                return true;
+                                        }
+                                }
+                        }
+                }
+
+                return false;
+        },
+        
+        positionFullscreenButton: function(x,y,visibleAndAbove) {
+                if (this.pluginApi != null &amp;&amp; this.pluginApi.positionFullscreenButton) {
+                        this.pluginApi.positionFullscreenButton(x,y,visibleAndAbove);
+                }
+        },
+        
+        hideFullscreenButton: function() {
+                if (this.pluginApi != null &amp;&amp; this.pluginApi.hideFullscreenButton) {
+                        this.pluginApi.hideFullscreenButton();
+                }                
+        },        
+        
+
+        // custom methods since not all JavaScript implementations support get/set
+
+        // This can be a url string
+        // or an array [{src:'file.mp4',type:'video/mp4'},{src:'file.webm',type:'video/webm'}]
+        setSrc: function (url) {
+                if (typeof url == 'string') {
+                        this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(url));
+                        this.src = mejs.Utility.absolutizeUrl(url);
+                } else {
+                        var i, media;
+
+                        for (i=0; i&lt;url.length; i++) {
+                                media = url[i];
+                                if (this.canPlayType(media.type)) {
+                                        this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(media.src));
+                                        this.src = mejs.Utility.absolutizeUrl(url);
+                                        break;
+                                }
+                        }
+                }
+
+        },
+        setCurrentTime: function (time) {
+                if (this.pluginApi != null) {
+                        if (this.pluginType == 'youtube') {
+                                this.pluginApi.seekTo(time);
+                        } else {
+                                this.pluginApi.setCurrentTime(time);
+                        }                                
+                        
+                        
+                        
+                        this.currentTime = time;
+                }
+        },
+        setVolume: function (volume) {
+                if (this.pluginApi != null) {
+                        // same on YouTube and MEjs
+                        if (this.pluginType == 'youtube') {
+                                this.pluginApi.setVolume(volume * 100);
+                        } else {
+                                this.pluginApi.setVolume(volume);
+                        }
+                        this.volume = volume;
+                }
+        },
+        setMuted: function (muted) {
+                if (this.pluginApi != null) {
+                        if (this.pluginType == 'youtube') {
+                                if (muted) {
+                                        this.pluginApi.mute();
+                                } else {
+                                        this.pluginApi.unMute();
+                                }
+                                this.muted = muted;
+                                this.dispatchEvent('volumechange');
+                        } else {
+                                this.pluginApi.setMuted(muted);
+                        }
+                        this.muted = muted;
+                }
+        },
+
+        // additional non-HTML5 methods
+        setVideoSize: function (width, height) {
+                
+                //if (this.pluginType == 'flash' || this.pluginType == 'silverlight') {
+                        if ( this.pluginElement.style) {
+                                this.pluginElement.style.width = width + 'px';
+                                this.pluginElement.style.height = height + 'px';
+                        }
+                        if (this.pluginApi != null &amp;&amp; this.pluginApi.setVideoSize) {
+                                this.pluginApi.setVideoSize(width, height);
+                        }
+                //}
+        },
+
+        setFullscreen: function (fullscreen) {
+                if (this.pluginApi != null &amp;&amp; this.pluginApi.setFullscreen) {
+                        this.pluginApi.setFullscreen(fullscreen);
+                }
+        },
+        
+        enterFullScreen: function() {
+                if (this.pluginApi != null &amp;&amp; this.pluginApi.setFullscreen) {
+                        this.setFullscreen(true);
+                }                
+                
+        },
+        
+        exitFullScreen: function() {
+                if (this.pluginApi != null &amp;&amp; this.pluginApi.setFullscreen) {
+                        this.setFullscreen(false);
+                }
+        },        
+
+        // start: fake events
+        addEventListener: function (eventName, callback, bubble) {
+                this.events[eventName] = this.events[eventName] || [];
+                this.events[eventName].push(callback);
+        },
+        removeEventListener: function (eventName, callback) {
+                if (!eventName) { this.events = {}; return true; }
+                var callbacks = this.events[eventName];
+                if (!callbacks) return true;
+                if (!callback) { this.events[eventName] = []; return true; }
+                for (i = 0; i &lt; callbacks.length; i++) {
+                        if (callbacks[i] === callback) {
+                                this.events[eventName].splice(i, 1);
+                                return true;
+                        }
+                }
+                return false;
+        },        
+        dispatchEvent: function (eventName) {
+                var i,
+                        args,
+                        callbacks = this.events[eventName];
+
+                if (callbacks) {
+                        args = Array.prototype.slice.call(arguments, 1);
+                        for (i = 0; i &lt; callbacks.length; i++) {
+                                callbacks[i].apply(null, args);
+                        }
+                }
+        },
+        // end: fake events
+        
+        // fake DOM attribute methods
+        attributes: {},
+        hasAttribute: function(name){
+                return (name in this.attributes);  
+        },
+        removeAttribute: function(name){
+                delete this.attributes[name];
+        },
+        getAttribute: function(name){
+                if (this.hasAttribute(name)) {
+                        return this.attributes[name];
+                }
+                return '';
+        },
+        setAttribute: function(name, value){
+                this.attributes[name] = value;
+        },
+
+        remove: function() {
+                mejs.Utility.removeSwf(this.pluginElement.id);
+        }
+};
+
+// Handles calls from Flash/Silverlight and reports them as native &lt;video/audio&gt; events and properties
+mejs.MediaPluginBridge = {
+
+        pluginMediaElements:{},
+        htmlMediaElements:{},
+
+        registerPluginElement: function (id, pluginMediaElement, htmlMediaElement) {
+                this.pluginMediaElements[id] = pluginMediaElement;
+                this.htmlMediaElements[id] = htmlMediaElement;
+        },
+
+        // when Flash/Silverlight is ready, it calls out to this method
+        initPlugin: function (id) {
+
+                var pluginMediaElement = this.pluginMediaElements[id],
+                        htmlMediaElement = this.htmlMediaElements[id];
+
+                if (pluginMediaElement) {
+                        // find the javascript bridge
+                        switch (pluginMediaElement.pluginType) {
+                                case &quot;flash&quot;:
+                                        pluginMediaElement.pluginElement = pluginMediaElement.pluginApi = document.getElementById(id);
+                                        break;
+                                case &quot;silverlight&quot;:
+                                        pluginMediaElement.pluginElement = document.getElementById(pluginMediaElement.id);
+                                        pluginMediaElement.pluginApi = pluginMediaElement.pluginElement.Content.MediaElementJS;
+                                        break;
+                        }
+        
+                        if (pluginMediaElement.pluginApi != null &amp;&amp; pluginMediaElement.success) {
+                                pluginMediaElement.success(pluginMediaElement, htmlMediaElement);
+                        }
+                }
+        },
+
+        // receives events from Flash/Silverlight and sends them out as HTML5 media events
+        // http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html
+        fireEvent: function (id, eventName, values) {
+
+                var
+                        e,
+                        i,
+                        bufferedTime,
+                        pluginMediaElement = this.pluginMediaElements[id];
+
+                // fake event object to mimic real HTML media event.
+                e = {
+                        type: eventName,
+                        target: pluginMediaElement
+                };
+
+                // attach all values to element and event object
+                for (i in values) {
+                        pluginMediaElement[i] = values[i];
+                        e[i] = values[i];
+                }
+
+                // fake the newer W3C buffered TimeRange (loaded and total have been removed)
+                bufferedTime = values.bufferedTime || 0;
+
+                e.target.buffered = e.buffered = {
+                        start: function(index) {
+                                return 0;
+                        },
+                        end: function (index) {
+                                return bufferedTime;
+                        },
+                        length: 1
+                };
+
+                pluginMediaElement.dispatchEvent(e.type, e);
+        }
+};
+
+/*
+Default options
+*/
+mejs.MediaElementDefaults = {
+        // allows testing on HTML5, flash, silverlight
+        // auto: attempts to detect what the browser can do
+        // auto_plugin: prefer plugins and then attempt native HTML5
+        // native: forces HTML5 playback
+        // shim: disallows HTML5, will attempt either Flash or Silverlight
+        // none: forces fallback view
+        mode: 'auto',
+        // remove or reorder to change plugin priority and availability
+        plugins: ['flash','silverlight','youtube','vimeo'],
+        // shows debug errors on screen
+        enablePluginDebug: false,
+        // overrides the type specified, useful for dynamic instantiation
+        type: '',
+        // path to Flash and Silverlight plugins
+        pluginPath: mejs.Utility.getScriptPath(['mediaelement.js','mediaelement.min.js','mediaelement-and-player.js','mediaelement-and-player.min.js']),
+        // name of flash file
+        flashName: 'flashmediaelement.swf',
+        // streamer for RTMP streaming
+        flashStreamer: '',
+        // turns on the smoothing filter in Flash
+        enablePluginSmoothing: false,
+        // name of silverlight file
+        silverlightName: 'silverlightmediaelement.xap',
+        // default if the &lt;video width&gt; is not specified
+        defaultVideoWidth: 480,
+        // default if the &lt;video height&gt; is not specified
+        defaultVideoHeight: 270,
+        // overrides &lt;video width&gt;
+        pluginWidth: -1,
+        // overrides &lt;video height&gt;
+        pluginHeight: -1,
+        // additional plugin variables in 'key=value' form
+        pluginVars: [],        
+        // rate in milliseconds for Flash and Silverlight to fire the timeupdate event
+        // larger number is less accurate, but less strain on plugin-&gt;JavaScript bridge
+        timerRate: 250,
+        // initial volume for player
+        startVolume: 0.8,
+        success: function () { },
+        error: function () { }
+};
+
+/*
+Determines if a browser supports the &lt;video&gt; or &lt;audio&gt; element
+and returns either the native element or a Flash/Silverlight version that
+mimics HTML5 MediaElement
+*/
+mejs.MediaElement = function (el, o) {
+        return mejs.HtmlMediaElementShim.create(el,o);
+};
+
+mejs.HtmlMediaElementShim = {
+
+        create: function(el, o) {
+                var
+                        options = mejs.MediaElementDefaults,
+                        htmlMediaElement = (typeof(el) == 'string') ? document.getElementById(el) : el,
+                        tagName = htmlMediaElement.tagName.toLowerCase(),
+                        isMediaTag = (tagName === 'audio' || tagName === 'video'),
+                        src = (isMediaTag) ? htmlMediaElement.getAttribute('src') : htmlMediaElement.getAttribute('href'),
+                        poster = htmlMediaElement.getAttribute('poster'),
+                        autoplay =  htmlMediaElement.getAttribute('autoplay'),
+                        preload =  htmlMediaElement.getAttribute('preload'),
+                        controls =  htmlMediaElement.getAttribute('controls'),
+                        playback,
+                        prop;
+
+                // extend options
+                for (prop in o) {
+                        options[prop] = o[prop];
+                }
+
+                // clean up attributes
+                src =                 (typeof src == 'undefined'         || src === null || src == '') ? null : src;                
+                poster =        (typeof poster == 'undefined'         || poster === null) ? '' : poster;
+                preload =         (typeof preload == 'undefined'         || preload === null || preload === 'false') ? 'none' : preload;
+                autoplay =         !(typeof autoplay == 'undefined' || autoplay === null || autoplay === 'false');
+                controls =         !(typeof controls == 'undefined' || controls === null || controls === 'false');
+
+                // test for HTML5 and plugin capabilities
+                playback = this.determinePlayback(htmlMediaElement, options, mejs.MediaFeatures.supportsMediaTag, isMediaTag, src);
+                playback.url = (playback.url !== null) ? mejs.Utility.absolutizeUrl(playback.url) : '';
+
+                if (playback.method == 'native') {
+                        // second fix for android
+                        if (mejs.MediaFeatures.isBustedAndroid) {
+                                htmlMediaElement.src = playback.url;
+                                htmlMediaElement.addEventListener('click', function() {
+                                        htmlMediaElement.play();
+                                }, false);
+                        }
+                
+                        // add methods to native HTMLMediaElement
+                        return this.updateNative(playback, options, autoplay, preload);
+                } else if (playback.method !== '') {
+                        // create plugin to mimic HTMLMediaElement
+                        
+                        return this.createPlugin( playback,  options, poster, autoplay, preload, controls);
+                } else {
+                        // boo, no HTML5, no Flash, no Silverlight.
+                        this.createErrorMessage( playback, options, poster );
+                        
+                        return this;
+                }
+        },
+        
+        determinePlayback: function(htmlMediaElement, options, supportsMediaTag, isMediaTag, src) {
+                var
+                        mediaFiles = [],
+                        i,
+                        j,
+                        k,
+                        l,
+                        n,
+                        type,
+                        result = { method: '', url: '', htmlMediaElement: htmlMediaElement, isVideo: (htmlMediaElement.tagName.toLowerCase() != 'audio')},
+                        pluginName,
+                        pluginVersions,
+                        pluginInfo,
+                        dummy,
+                        media;
+                        
+                // STEP 1: Get URL and type from &lt;video src&gt; or &lt;source src&gt;
+
+                // supplied type overrides &lt;video type&gt; and &lt;source type&gt;
+                if (typeof options.type != 'undefined' &amp;&amp; options.type !== '') {
+                        
+                        // accept either string or array of types
+                        if (typeof options.type == 'string') {
+                                mediaFiles.push({type:options.type, url:src});
+                        } else {
+                                
+                                for (i=0; i&lt;options.type.length; i++) {
+                                        mediaFiles.push({type:options.type[i], url:src});
+                                }
+                        }
+
+                // test for src attribute first
+                } else if (src !== null) {
+                        type = this.formatType(src, htmlMediaElement.getAttribute('type'));
+                        mediaFiles.push({type:type, url:src});
+
+                // then test for &lt;source&gt; elements
+                } else {
+                        // test &lt;source&gt; types to see if they are usable
+                        for (i = 0; i &lt; htmlMediaElement.childNodes.length; i++) {
+                                n = htmlMediaElement.childNodes[i];
+                                if (n.nodeType == 1 &amp;&amp; n.tagName.toLowerCase() == 'source') {
+                                        src = n.getAttribute('src');
+                                        type = this.formatType(src, n.getAttribute('type'));
+                                        media = n.getAttribute('media');
+
+                                        if (!media || !window.matchMedia || (window.matchMedia &amp;&amp; window.matchMedia(media).matches)) {
+                                                mediaFiles.push({type:type, url:src});
+                                        }
+                                }
+                        }
+                }
+                
+                // in the case of dynamicly created players
+                // check for audio types
+                if (!isMediaTag &amp;&amp; mediaFiles.length &gt; 0 &amp;&amp; mediaFiles[0].url !== null &amp;&amp; this.getTypeFromFile(mediaFiles[0].url).indexOf('audio') &gt; -1) {
+                        result.isVideo = false;
+                }
+                
+
+                // STEP 2: Test for playback method
+                
+                // special case for Android which sadly doesn't implement the canPlayType function (always returns '')
+                if (mejs.MediaFeatures.isBustedAndroid) {
+                        htmlMediaElement.canPlayType = function(type) {
+                                return (type.match(/video\/(mp4|m4v)/gi) !== null) ? 'maybe' : '';
+                        };
+                }                
+                
+
+                // test for native playback first
+                if (supportsMediaTag &amp;&amp; (options.mode === 'auto' || options.mode === 'auto_plugin' || options.mode === 'native')) {
+                                                
+                        if (!isMediaTag) {
+
+                                // create a real HTML5 Media Element 
+                                dummy = document.createElement( result.isVideo ? 'video' : 'audio');                        
+                                htmlMediaElement.parentNode.insertBefore(dummy, htmlMediaElement);
+                                htmlMediaElement.style.display = 'none';
+                                
+                                // use this one from now on
+                                result.htmlMediaElement = htmlMediaElement = dummy;
+                        }
+                                
+                        for (i=0; i&lt;mediaFiles.length; i++) {
+                                // normal check
+                                if (htmlMediaElement.canPlayType(mediaFiles[i].type).replace(/no/, '') !== '' 
+                                        // special case for Mac/Safari 5.0.3 which answers '' to canPlayType('audio/mp3') but 'maybe' to canPlayType('audio/mpeg')
+                                        || htmlMediaElement.canPlayType(mediaFiles[i].type.replace(/mp3/,'mpeg')).replace(/no/, '') !== '') {
+                                        result.method = 'native';
+                                        result.url = mediaFiles[i].url;
+                                        break;
+                                }
+                        }                        
+                        
+                        if (result.method === 'native') {
+                                if (result.url !== null) {
+                                        htmlMediaElement.src = result.url;
+                                }
+                        
+                                // if `auto_plugin` mode, then cache the native result but try plugins.
+                                if (options.mode !== 'auto_plugin') {
+                                        return result;
+                                }
+                        }
+                }
+
+                // if native playback didn't work, then test plugins
+                if (options.mode === 'auto' || options.mode === 'auto_plugin' || options.mode === 'shim') {
+                        for (i=0; i&lt;mediaFiles.length; i++) {
+                                type = mediaFiles[i].type;
+
+                                // test all plugins in order of preference [silverlight, flash]
+                                for (j=0; j&lt;options.plugins.length; j++) {
+
+                                        pluginName = options.plugins[j];
+                        
+                                        // test version of plugin (for future features)
+                                        pluginVersions = mejs.plugins[pluginName];                                
+                                        
+                                        for (k=0; k&lt;pluginVersions.length; k++) {
+                                                pluginInfo = pluginVersions[k];
+                                        
+                                                // test if user has the correct plugin version
+                                                
+                                                // for youtube/vimeo
+                                                if (pluginInfo.version == null || 
+                                                        
+                                                        mejs.PluginDetector.hasPluginVersion(pluginName, pluginInfo.version)) {
+
+                                                        // test for plugin playback types
+                                                        for (l=0; l&lt;pluginInfo.types.length; l++) {
+                                                                // find plugin that can play the type
+                                                                if (type == pluginInfo.types[l]) {
+                                                                        result.method = pluginName;
+                                                                        result.url = mediaFiles[i].url;
+                                                                        return result;
+                                                                }
+                                                        }
+                                                }
+                                        }
+                                }
+                        }
+                }
+                
+                // at this point, being in 'auto_plugin' mode implies that we tried plugins but failed.
+                // if we have native support then return that.
+                if (options.mode === 'auto_plugin' &amp;&amp; result.method === 'native') {
+                        return result;
+                }
+
+                // what if there's nothing to play? just grab the first available
+                if (result.method === '' &amp;&amp; mediaFiles.length &gt; 0) {
+                        result.url = mediaFiles[0].url;
+                }
+
+                return result;
+        },
+
+        formatType: function(url, type) {
+                var ext;
+
+                // if no type is supplied, fake it with the extension
+                if (url &amp;&amp; !type) {                
+                        return this.getTypeFromFile(url);
+                } else {
+                        // only return the mime part of the type in case the attribute contains the codec
+                        // see http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#the-source-element
+                        // `video/mp4; codecs=&quot;avc1.42E01E, mp4a.40.2&quot;` becomes `video/mp4`
+                        
+                        if (type &amp;&amp; ~type.indexOf(';')) {
+                                return type.substr(0, type.indexOf(';')); 
+                        } else {
+                                return type;
+                        }
+                }
+        },
+        
+        getTypeFromFile: function(url) {
+                url = url.split('?')[0];
+                var ext = url.substring(url.lastIndexOf('.') + 1);
+                return (/(mp4|m4v|ogg|ogv|webm|webmv|flv|wmv|mpeg|mov)/gi.test(ext) ? 'video' : 'audio') + '/' + this.getTypeFromExtension(ext);
+        },
+        
+        getTypeFromExtension: function(ext) {
+                
+                switch (ext) {
+                        case 'mp4':
+                        case 'm4v':
+                                return 'mp4';
+                        case 'webm':
+                        case 'webma':
+                        case 'webmv':        
+                                return 'webm';
+                        case 'ogg':
+                        case 'oga':
+                        case 'ogv':        
+                                return 'ogg';
+                        default:
+                                return ext;
+                }
+        },
+
+        createErrorMessage: function(playback, options, poster) {
+                var 
+                        htmlMediaElement = playback.htmlMediaElement,
+                        errorContainer = document.createElement('div');
+                        
+                errorContainer.className = 'me-cannotplay';
+
+                try {
+                        errorContainer.style.width = htmlMediaElement.width + 'px';
+                        errorContainer.style.height = htmlMediaElement.height + 'px';
+                } catch (e) {}
+
+                errorContainer.innerHTML = (poster !== '') ?
+                        '&lt;a href=&quot;' + playback.url + '&quot;&gt;&lt;img src=&quot;' + poster + '&quot; width=&quot;100%&quot; height=&quot;100%&quot; /&gt;&lt;/a&gt;' :
+                        '&lt;a href=&quot;' + playback.url + '&quot;&gt;&lt;span&gt;' + mejs.i18n.t('Download File') + '&lt;/span&gt;&lt;/a&gt;';
+
+                htmlMediaElement.parentNode.insertBefore(errorContainer, htmlMediaElement);
+                htmlMediaElement.style.display = 'none';
+
+                options.error(htmlMediaElement);
+        },
+
+        createPlugin:function(playback, options, poster, autoplay, preload, controls) {
+                var 
+                        htmlMediaElement = playback.htmlMediaElement,
+                        width = 1,
+                        height = 1,
+                        pluginid = 'me_' + playback.method + '_' + (mejs.meIndex++),
+                        pluginMediaElement = new mejs.PluginMediaElement(pluginid, playback.method, playback.url),
+                        container = document.createElement('div'),
+                        specialIEContainer,
+                        node,
+                        initVars;
+
+                // copy tagName from html media element
+                pluginMediaElement.tagName = htmlMediaElement.tagName
+
+                // copy attributes from html media element to plugin media element
+                for (var i = 0; i &lt; htmlMediaElement.attributes.length; i++) {
+                        var attribute = htmlMediaElement.attributes[i];
+                        if (attribute.specified == true) {
+                                pluginMediaElement.setAttribute(attribute.name, attribute.value);
+                        }
+                }
+
+                // check for placement inside a &lt;p&gt; tag (sometimes WYSIWYG editors do this)
+                node = htmlMediaElement.parentNode;
+                while (node !== null &amp;&amp; node.tagName.toLowerCase() != 'body') {
+                        if (node.parentNode.tagName.toLowerCase() == 'p') {
+                                node.parentNode.parentNode.insertBefore(node, node.parentNode);
+                                break;
+                        }
+                        node = node.parentNode;
+                }
+
+                if (playback.isVideo) {
+                        width = (options.videoWidth &gt; 0) ? options.videoWidth : (htmlMediaElement.getAttribute('width') !== null) ? htmlMediaElement.getAttribute('width') : options.defaultVideoWidth;
+                        height = (options.videoHeight &gt; 0) ? options.videoHeight : (htmlMediaElement.getAttribute('height') !== null) ? htmlMediaElement.getAttribute('height') : options.defaultVideoHeight;
+                
+                        // in case of '%' make sure it's encoded
+                        width = mejs.Utility.encodeUrl(width);
+                        height = mejs.Utility.encodeUrl(height);
+                
+                } else {
+                        if (options.enablePluginDebug) {
+                                width = 320;
+                                height = 240;
+                        }
+                }
+
+                // register plugin
+                pluginMediaElement.success = options.success;
+                mejs.MediaPluginBridge.registerPluginElement(pluginid, pluginMediaElement, htmlMediaElement);
+
+                // add container (must be added to DOM before inserting HTML for IE)
+                container.className = 'me-plugin';
+                container.id = pluginid + '_container';
+                
+                if (playback.isVideo) {
+                                htmlMediaElement.parentNode.insertBefore(container, htmlMediaElement);
+                } else {
+                                document.body.insertBefore(container, document.body.childNodes[0]);
+                }
+
+                // flash/silverlight vars
+                initVars = [
+                        'id=' + pluginid,
+                        'isvideo=' + ((playback.isVideo) ? &quot;true&quot; : &quot;false&quot;),
+                        'autoplay=' + ((autoplay) ? &quot;true&quot; : &quot;false&quot;),
+                        'preload=' + preload,
+                        'width=' + width,
+                        'startvolume=' + options.startVolume,
+                        'timerrate=' + options.timerRate,
+                        'flashstreamer=' + options.flashStreamer,
+                        'height=' + height];
+
+                if (playback.url !== null) {
+                        if (playback.method == 'flash') {
+                                initVars.push('file=' + mejs.Utility.encodeUrl(playback.url));
+                        } else {
+                                initVars.push('file=' + playback.url);
+                        }
+                }
+                if (options.enablePluginDebug) {
+                        initVars.push('debug=true');
+                }
+                if (options.enablePluginSmoothing) {
+                        initVars.push('smoothing=true');
+                }
+                if (controls) {
+                        initVars.push('controls=true'); // shows controls in the plugin if desired
+                }
+                if (options.pluginVars) {
+                        initVars = initVars.concat(options.pluginVars);
+                }                
+
+                switch (playback.method) {
+                        case 'silverlight':
+                                container.innerHTML =
+'&lt;object data=&quot;data:application/x-silverlight-2,&quot; type=&quot;application/x-silverlight-2&quot; id=&quot;' + pluginid + '&quot; name=&quot;' + pluginid + '&quot; width=&quot;' + width + '&quot; height=&quot;' + height + '&quot;&gt;' +
+'&lt;param name=&quot;initParams&quot; value=&quot;' + initVars.join(',') + '&quot; /&gt;' +
+'&lt;param name=&quot;windowless&quot; value=&quot;true&quot; /&gt;' +
+'&lt;param name=&quot;background&quot; value=&quot;black&quot; /&gt;' +
+'&lt;param name=&quot;minRuntimeVersion&quot; value=&quot;3.0.0.0&quot; /&gt;' +
+'&lt;param name=&quot;autoUpgrade&quot; value=&quot;true&quot; /&gt;' +
+'&lt;param name=&quot;source&quot; value=&quot;' + options.pluginPath + options.silverlightName + '&quot; /&gt;' +
+'&lt;/object&gt;';
+                                        break;
+
+                        case 'flash':
+
+                                if (mejs.MediaFeatures.isIE) {
+                                        specialIEContainer = document.createElement('div');
+                                        container.appendChild(specialIEContainer);
+                                        specialIEContainer.outerHTML =
+'&lt;object classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; codebase=&quot;//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab&quot; ' +
+'id=&quot;' + pluginid + '&quot; width=&quot;' + width + '&quot; height=&quot;' + height + '&quot;&gt;' +
+'&lt;param name=&quot;movie&quot; value=&quot;' + options.pluginPath + options.flashName + '?x=' + (new Date()) + '&quot; /&gt;' +
+'&lt;param name=&quot;flashvars&quot; value=&quot;' + initVars.join('&amp;amp;') + '&quot; /&gt;' +
+'&lt;param name=&quot;quality&quot; value=&quot;high&quot; /&gt;' +
+'&lt;param name=&quot;bgcolor&quot; value=&quot;#000000&quot; /&gt;' +
+'&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot; /&gt;' +
+'&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;' +
+'&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;' +
+'&lt;/object&gt;';
+
+                                } else {
+
+                                        container.innerHTML =
+'&lt;embed id=&quot;' + pluginid + '&quot; name=&quot;' + pluginid + '&quot; ' +
+'play=&quot;true&quot; ' +
+'loop=&quot;false&quot; ' +
+'quality=&quot;high&quot; ' +
+'bgcolor=&quot;#000000&quot; ' +
+'wmode=&quot;transparent&quot; ' +
+'allowScriptAccess=&quot;always&quot; ' +
+'allowFullScreen=&quot;true&quot; ' +
+'type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;//www.macromedia.com/go/getflashplayer&quot; ' +
+'src=&quot;' + options.pluginPath + options.flashName + '&quot; ' +
+'flashvars=&quot;' + initVars.join('&amp;') + '&quot; ' +
+'width=&quot;' + width + '&quot; ' +
+'height=&quot;' + height + '&quot;&gt;&lt;/embed&gt;';
+                                }
+                                break;
+                        
+                        case 'youtube':
+                        
+                                
+                                var
+                                        videoId = playback.url.substr(playback.url.lastIndexOf('=')+1);
+                                        youtubeSettings = {
+                                                container: container,
+                                                containerId: container.id,
+                                                pluginMediaElement: pluginMediaElement,
+                                                pluginId: pluginid,
+                                                videoId: videoId,
+                                                height: height,
+                                                width: width        
+                                        };                                
+                                
+                                if (mejs.PluginDetector.hasPluginVersion('flash', [10,0,0]) ) {
+                                        mejs.YouTubeApi.createFlash(youtubeSettings);
+                                } else {
+                                        mejs.YouTubeApi.enqueueIframe(youtubeSettings);                
+                                }
+                                
+                                break;
+                        
+                        // DEMO Code. Does NOT work.
+                        case 'vimeo':
+                                //console.log('vimeoid');
+                                
+                                pluginMediaElement.vimeoid = playback.url.substr(playback.url.lastIndexOf('/')+1);
+                                
+                                container.innerHTML ='&lt;iframe src=&quot;http://player.vimeo.com/video/' + pluginMediaElement.vimeoid + '?portrait=0&amp;byline=0&amp;title=0&quot; width=&quot;' + width +'&quot; height=&quot;' + height +'&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;';
+                                
+                                /*
+                                container.innerHTML =
+                                        '&lt;object width=&quot;' + width + '&quot; height=&quot;' + height + '&quot;&gt;' +
+                                                '&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot; /&gt;' +
+                                                '&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;' +
+                                                '&lt;param name=&quot;flashvars&quot; value=&quot;api=1&quot; /&gt;' + 
+                                                '&lt;param name=&quot;movie&quot; value=&quot;http://vimeo.com/moogaloop.swf?clip_id=' + pluginMediaElement.vimeoid  + '&amp;amp;server=vimeo.com&amp;amp;show_title=0&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=00adef&amp;amp;fullscreen=1&amp;amp;autoplay=0&amp;amp;loop=0&quot; /&gt;' +
+                                                '&lt;embed src=&quot;//vimeo.com/moogaloop.swf?api=1&amp;amp;clip_id=' + pluginMediaElement.vimeoid + '&amp;amp;server=vimeo.com&amp;amp;show_title=0&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=00adef&amp;amp;fullscreen=1&amp;amp;autoplay=0&amp;amp;loop=0&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; width=&quot;' + width + '&quot; height=&quot;' + height + '&quot;&gt;&lt;/embed&gt;' +
+                                        '&lt;/object&gt;';
+                                        */
+                                                                        
+                                break;                        
+                }
+                // hide original element
+                htmlMediaElement.style.display = 'none';
+
+                // FYI: options.success will be fired by the MediaPluginBridge
+                
+                return pluginMediaElement;
+        },
+
+        updateNative: function(playback, options, autoplay, preload) {
+                
+                var htmlMediaElement = playback.htmlMediaElement,
+                        m;
+                
+                
+                // add methods to video object to bring it into parity with Flash Object
+                for (m in mejs.HtmlMediaElement) {
+                        htmlMediaElement[m] = mejs.HtmlMediaElement[m];
+                }
+
+                /*
+                Chrome now supports preload=&quot;none&quot;
+                if (mejs.MediaFeatures.isChrome) {
+                
+                        // special case to enforce preload attribute (Chrome doesn't respect this)
+                        if (preload === 'none' &amp;&amp; !autoplay) {
+                        
+                                // forces the browser to stop loading (note: fails in IE9)
+                                htmlMediaElement.src = '';
+                                htmlMediaElement.load();
+                                htmlMediaElement.canceledPreload = true;
+
+                                htmlMediaElement.addEventListener('play',function() {
+                                        if (htmlMediaElement.canceledPreload) {
+                                                htmlMediaElement.src = playback.url;
+                                                htmlMediaElement.load();
+                                                htmlMediaElement.play();
+                                                htmlMediaElement.canceledPreload = false;
+                                        }
+                                }, false);
+                        // for some reason Chrome forgets how to autoplay sometimes.
+                        } else if (autoplay) {
+                                htmlMediaElement.load();
+                                htmlMediaElement.play();
+                        }
+                }
+                */
+
+                // fire success code
+                options.success(htmlMediaElement, htmlMediaElement);
+                
+                return htmlMediaElement;
+        }
+};
+
+/*
+ - test on IE (object vs. embed)
+ - determine when to use iframe (Firefox, Safari, Mobile) vs. Flash (Chrome, IE)
+ - fullscreen?
+*/
+
+// YouTube Flash and Iframe API
+mejs.YouTubeApi = {
+        isIframeStarted: false,
+        isIframeLoaded: false,
+        loadIframeApi: function() {
+                if (!this.isIframeStarted) {
+                        var tag = document.createElement('script');
+                        tag.src = &quot;http://www.youtube.com/player_api&quot;;
+                        var firstScriptTag = document.getElementsByTagName('script')[0];
+                        firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
+                        this.isIframeStarted = true;
+                }
+        },
+        iframeQueue: [],
+        enqueueIframe: function(yt) {
+                
+                if (this.isLoaded) {
+                        this.createIframe(yt);
+                } else {
+                        this.loadIframeApi();
+                        this.iframeQueue.push(yt);
+                }
+        },
+        createIframe: function(settings) {
+                
+                var
+                pluginMediaElement = settings.pluginMediaElement,        
+                player = new YT.Player(settings.containerId, {
+                        height: settings.height,
+                        width: settings.width,
+                        videoId: settings.videoId,
+                        playerVars: {controls:0},
+                        events: {
+                                'onReady': function() {
+                                        
+                                        // hook up iframe object to MEjs
+                                        settings.pluginMediaElement.pluginApi = player;
+                                        
+                                        // init mejs
+                                        mejs.MediaPluginBridge.initPlugin(settings.pluginId);
+                                        
+                                        // create timer
+                                        setInterval(function() {
+                                                mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'timeupdate');
+                                        }, 250);                                        
+                                },
+                                'onStateChange': function(e) {
+                                        
+                                        mejs.YouTubeApi.handleStateChange(e.data, player, pluginMediaElement);
+                                        
+                                }
+                        }
+                });
+        },
+        
+        createEvent: function (player, pluginMediaElement, eventName) {
+                var obj = {
+                        type: eventName,
+                        target: pluginMediaElement
+                };
+
+                if (player &amp;&amp; player.getDuration) {
+                        
+                        // time 
+                        pluginMediaElement.currentTime = obj.currentTime = player.getCurrentTime();
+                        pluginMediaElement.duration = obj.duration = player.getDuration();
+                        
+                        // state
+                        obj.paused = pluginMediaElement.paused;
+                        obj.ended = pluginMediaElement.ended;                        
+                        
+                        // sound
+                        obj.muted = player.isMuted();
+                        obj.volume = player.getVolume() / 100;
+                        
+                        // progress
+                        obj.bytesTotal = player.getVideoBytesTotal();
+                        obj.bufferedBytes = player.getVideoBytesLoaded();
+                        
+                        // fake the W3C buffered TimeRange
+                        var bufferedTime = obj.bufferedBytes / obj.bytesTotal * obj.duration;
+                        
+                        obj.target.buffered = obj.buffered = {
+                                start: function(index) {
+                                        return 0;
+                                },
+                                end: function (index) {
+                                        return bufferedTime;
+                                },
+                                length: 1
+                        };
+                        
+                }
+                
+                // send event up the chain
+                pluginMediaElement.dispatchEvent(obj.type, obj);
+        },        
+        
+        iFrameReady: function() {
+                
+                this.isLoaded = true;
+                this.isIframeLoaded = true;
+                
+                while (this.iframeQueue.length &gt; 0) {
+                        var settings = this.iframeQueue.pop();
+                        this.createIframe(settings);
+                }        
+        },
+        
+        // FLASH!
+        flashPlayers: {},
+        createFlash: function(settings) {
+                
+                this.flashPlayers[settings.pluginId] = settings;
+                
+                /*
+                settings.container.innerHTML =
+                        '&lt;object type=&quot;application/x-shockwave-flash&quot; id=&quot;' + settings.pluginId + '&quot; data=&quot;//www.youtube.com/apiplayer?enablejsapi=1&amp;amp;playerapiid=' + settings.pluginId  + '&amp;amp;version=3&amp;amp;autoplay=0&amp;amp;controls=0&amp;amp;modestbranding=1&amp;loop=0&quot; ' +
+                                'width=&quot;' + settings.width + '&quot; height=&quot;' + settings.height + '&quot; style=&quot;visibility: visible; &quot;&gt;' +
+                                '&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;' +
+                                '&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;' +
+                        '&lt;/object&gt;';
+                */
+
+                var specialIEContainer,
+                        youtubeUrl = 'http://www.youtube.com/apiplayer?enablejsapi=1&amp;amp;playerapiid=' + settings.pluginId  + '&amp;amp;version=3&amp;amp;autoplay=0&amp;amp;controls=0&amp;amp;modestbranding=1&amp;loop=0';
+                        
+                if (mejs.MediaFeatures.isIE) {
+                        
+                        specialIEContainer = document.createElement('div');
+                        settings.container.appendChild(specialIEContainer);
+                        specialIEContainer.outerHTML = '&lt;object classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; codebase=&quot;//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab&quot; ' +
+'id=&quot;' + settings.pluginId + '&quot; width=&quot;' + settings.width + '&quot; height=&quot;' + settings.height + '&quot;&gt;' +
+        '&lt;param name=&quot;movie&quot; value=&quot;' + youtubeUrl + '&quot; /&gt;' +
+        '&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot; /&gt;' +
+        '&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;' +
+        '&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;' +
+'&lt;/object&gt;';
+                } else {
+                settings.container.innerHTML =
+                        '&lt;object type=&quot;application/x-shockwave-flash&quot; id=&quot;' + settings.pluginId + '&quot; data=&quot;' + youtubeUrl + '&quot; ' +
+                                'width=&quot;' + settings.width + '&quot; height=&quot;' + settings.height + '&quot; style=&quot;visibility: visible; &quot;&gt;' +
+                                '&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;' +
+                                '&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;' +
+                        '&lt;/object&gt;';
+                }                
+                
+        },
+        
+        flashReady: function(id) {
+                var
+                        settings = this.flashPlayers[id],
+                        player = document.getElementById(id),
+                        pluginMediaElement = settings.pluginMediaElement;
+                
+                // hook up and return to MediaELementPlayer.success        
+                pluginMediaElement.pluginApi = 
+                pluginMediaElement.pluginElement = player;
+                mejs.MediaPluginBridge.initPlugin(id);
+                
+                // load the youtube video
+                player.cueVideoById(settings.videoId);
+                
+                var callbackName = settings.containerId + '_callback'
+                
+                window[callbackName] = function(e) {
+                        mejs.YouTubeApi.handleStateChange(e, player, pluginMediaElement);
+                }
+                
+                player.addEventListener('onStateChange', callbackName);
+                
+                setInterval(function() {
+                        mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'timeupdate');
+                }, 250);
+        },
+        
+        handleStateChange: function(youTubeState, player, pluginMediaElement) {
+                switch (youTubeState) {
+                        case -1: // not started
+                                pluginMediaElement.paused = true;
+                                pluginMediaElement.ended = true;
+                                mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'loadedmetadata');
+                                //createYouTubeEvent(player, pluginMediaElement, 'loadeddata');
+                                break;
+                        case 0:
+                                pluginMediaElement.paused = false;
+                                pluginMediaElement.ended = true;
+                                mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'ended');
+                                break;
+                        case 1:
+                                pluginMediaElement.paused = false;
+                                pluginMediaElement.ended = false;                                
+                                mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'play');
+                                mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'playing');
+                                break;
+                        case 2:
+                                pluginMediaElement.paused = true;
+                                pluginMediaElement.ended = false;                                
+                                mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'pause');
+                                break;
+                        case 3: // buffering
+                                mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'progress');
+                                break;
+                        case 5:
+                                // cued?
+                                break;                                                
+                        
+                }                        
+                
+        }
+}
+// IFRAME
+function onYouTubePlayerAPIReady() {
+        mejs.YouTubeApi.iFrameReady();
+}
+// FLASH
+function onYouTubePlayerReady(id) {
+        mejs.YouTubeApi.flashReady(id);
+}
+
+window.mejs = mejs;
+window.MediaElement = mejs.MediaElement;
+
+/*!
+ * Adds Internationalization and localization to objects.
+ *
+ * What is the concept beyond i18n?
+ *   http://en.wikipedia.org/wiki/Internationalization_and_localization
+ *
+ *
+ * This file both i18n methods and locale which is used to translate
+ * strings into other languages.
+ *
+ * Default translations are not available, you have to add them
+ * through locale objects which are named exactly as the langcode
+ * they stand for. The default language is always english (en).
+ *
+ *
+ * Wrapper built to be able to attach the i18n object to
+ * other objects without changing more than one line.
+ *
+ *
+ * LICENSE:
+ *
+ *   The i18n file uses methods from the Drupal project (drupal.js):
+ *     - i18n.methods.t() (modified)
+ *     - i18n.methods.checkPlain() (full copy)
+ *     - i18n.methods.formatString() (full copy)
+ *
+ *   The Drupal project is (like mediaelementjs) licensed under GPLv2.
+ *    - http://drupal.org/licensing/faq/#q1
+ *    - https://github.com/johndyer/mediaelement
+ *    - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
+ *
+ *
+ * @author
+ *   Tim Latz (latz.tim@gmail.com)
+ *
+ * @see
+ *   me-i18n-locale.js
+ *
+ * @params
+ *  - $       - zepto || jQuery  ..
+ *  - context - document, iframe ..
+ *  - exports - CommonJS, window ..
+ *
+ */
+;(function($, context, exports, undefined) {
+    &quot;use strict&quot;;
+    var i18n = {
+        &quot;locale&quot;: {
+            &quot;strings&quot; : {}
+        },
+        &quot;methods&quot; : {}
+    };
+// start i18n
+
+
+    /**
+     * Get the current browser's language
+     *
+     * @see: i18n.methods.t()
+     */
+    i18n.locale.getLanguage = function () {
+        return {
+            &quot;language&quot; : navigator.language
+        };
+    };
+
+    /**
+     * Store the language the locale object was initialized with
+     */
+    i18n.locale.INIT_LANGUAGE = i18n.locale.getLanguage();
+
+
+    /**
+     * Encode special characters in a plain-text string for display as HTML.
+     */
+    i18n.methods.checkPlain = function (str) {
+        var character, regex,
+        replace = {
+            '&amp;': '&amp;amp;',
+            '&quot;': '&amp;quot;',
+            '&lt;': '&amp;lt;',
+            '&gt;': '&amp;gt;'
+        };
+        str = String(str);
+        for (character in replace) {
+            if (replace.hasOwnProperty(character)) {
+                regex = new RegExp(character, 'g');
+                str = str.replace(regex, replace[character]);
+            }
+        }
+        return str;
+    };
+
+    /**
+     * Replace placeholders with sanitized values in a string.
+     *
+     * @param str
+     *   A string with placeholders.
+     * @param args
+     *   An object of replacements pairs to make. Incidences of any key in this
+     *   array are replaced with the corresponding value. Based on the first
+     *   character of the key, the value is escaped and/or themed:
+     *    - !variable: inserted as is
+     *    - @variable: escape plain text to HTML (i18n.methods.checkPlain)
+     *    - %variable: escape text and theme as a placeholder for user-submitted
+     *      content (checkPlain + &lt;em class=&quot;placeholder&quot; &gt; )
+     *
+     * @see i18n.methods.t()
+     */
+    i18n.methods.formatString = function(str, args) {
+        // Transform arguments before inserting them.
+        for (var key in args) {
+            switch (key.charAt(0)) {
+                // Escaped only.
+                case '@':
+                    args[key] = i18n.methods.checkPlain(args[key]);
+                    break;
+                // Pass-through.
+                case '!':
+                    break;
+                // Escaped and placeholder.
+                case '%':
+                default:
+                    args[key] = '&lt;em class=&quot;placeholder&quot;&gt;' + i18n.methods.checkPlain(args[key]) + '&lt;/em&gt;';
+                    break;
+            }
+            str = str.replace(key, args[key]);
+        }
+        return str;
+    };
+
+    /**
+     * Translate strings to the page language or a given language.
+     *
+     * See the documentation of the server-side t() function for further details.
+     *
+     * @param str
+     *   A string containing the English string to translate.
+     * @param args
+     *   An object of replacements pairs to make after translation. Incidences
+     *   of any key in this array are replaced with the corresponding value.
+     *   See i18n.methods.formatString().
+     *
+     * @param options
+     *   - 'context' (defaults to the default context): The context the source string
+     *     belongs to.
+     *
+     * @return
+     *   The translated string.
+     */
+    i18n.methods.t = function (str, args, options) {
+
+        // Fetch the localized version of the string.
+        if (i18n.locale.strings &amp;&amp; i18n.locale.strings[options.context] &amp;&amp; i18n.locale.strings[options.context][str]) {
+            str = i18n.locale.strings[options.context][str];
+        }
+
+        if (args) {
+            str = i18n.methods.formatString(str, args);
+        }
+        return str;
+    };
+
+
+    /**
+     * Wrapper for i18n.methods.t()
+     *
+     * @see i18n.methods.t()
+     * @throws InvalidArgumentException
+     */
+    i18n.t = function(str, args, options) {
+
+        if (typeof str === 'string' &amp;&amp; str.length &gt; 0) {
+
+            // check every time due languge can change for
+            // different reasons (translation, lang switcher ..)
+            var lang = i18n.locale.getLanguage();
+
+            options = options || {
+                &quot;context&quot; : lang.language
+            };
+
+            return i18n.methods.t(str, args, options);
+        }
+        else {
+            throw {
+                &quot;name&quot; : 'InvalidArgumentException',
+                &quot;message&quot; : 'First argument is either not a string or empty.'
+            }
+        }
+    };
+
+// end i18n
+    exports.i18n = i18n;
+}(jQuery, document, mejs));
+/*!
+ * This is a i18n.locale language object.
+ *
+ *&lt;de&gt; German translation by Tim Latz, latz.tim@gmail.com
+ *
+ * @author
+ *   Tim Latz (latz.tim@gmail.com)
+ *
+ * @see
+ *   me-i18n.js
+ *
+ * @params
+ *  - exports - CommonJS, window ..
+ */
+;(function(exports, undefined) {
+
+    &quot;use strict&quot;;
+
+    exports.de = {
+        &quot;Fullscreen&quot; : &quot;Vollbild&quot;,
+        &quot;Go Fullscreen&quot; : &quot;Vollbild an&quot;,
+        &quot;Turn off Fullscreen&quot; : &quot;Vollbild aus&quot;,
+        &quot;Close&quot; : &quot;Schließen&quot;
+    };
+
+}(mejs.i18n.locale.strings));
+
+/*!
+ * MediaElementPlayer
+ * http://mediaelementjs.com/
+ *
+ * Creates a controller bar for HTML5 &lt;video&gt; add &lt;audio&gt; tags
+ * using jQuery and MediaElement.js (HTML5 Flash/Silverlight wrapper)
+ *
+ * Copyright 2010-2012, John Dyer (http://j.hn/)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ *
+ */
+if (typeof jQuery != 'undefined') {
+        mejs.$ = jQuery;
+} else if (typeof ender != 'undefined') {
+        mejs.$ = ender;
+}
+(function ($) {
+
+        // default player values
+        mejs.MepDefaults = {
+                // url to poster (to fix iOS 3.x)
+                poster: '',
+                // default if the &lt;video width&gt; is not specified
+                defaultVideoWidth: 480,
+                // default if the &lt;video height&gt; is not specified
+                defaultVideoHeight: 270,
+                // if set, overrides &lt;video width&gt;
+                videoWidth: -1,
+                // if set, overrides &lt;video height&gt;
+                videoHeight: -1,
+                // default if the user doesn't specify
+                defaultAudioWidth: 400,
+                // default if the user doesn't specify
+                defaultAudioHeight: 30,
+
+                // default amount to move back when back key is pressed                
+                defaultSeekBackwardInterval: function(media) {
+                        return (media.duration * 0.05);
+                },                
+                // default amount to move forward when forward key is pressed                                
+                defaultSeekForwardInterval: function(media) {
+                        return (media.duration * 0.05);
+                },                
+                
+                // width of audio player
+                audioWidth: -1,
+                // height of audio player
+                audioHeight: -1,                
+                // initial volume when the player starts (overrided by user cookie)
+                startVolume: 0.8,
+                // useful for &lt;audio&gt; player loops
+                loop: false,
+                // resize to media dimensions
+                enableAutosize: true,
+                // forces the hour marker (##:00:00)
+                alwaysShowHours: false,
+
+                // show framecount in timecode (##:00:00:00)
+                showTimecodeFrameCount: false,
+                // used when showTimecodeFrameCount is set to true
+                framesPerSecond: 25,
+                
+                // automatically calculate the width of the progress bar based on the sizes of other elements
+                autosizeProgress : true,
+                // Hide controls when playing and mouse is not over the video
+                alwaysShowControls: false,
+                // force iPad's native controls
+                iPadUseNativeControls: false,
+                // force iPhone's native controls
+                iPhoneUseNativeControls: false,        
+                // force Android's native controls
+                AndroidUseNativeControls: false,                        
+                // features to show
+                features: ['playpause','current','progress','duration','tracks','volume','fullscreen'],
+                // only for dynamic
+                isVideo: true,
+                
+                // turns keyboard support on and off for this instance
+                enableKeyboard: true,
+                
+                // whenthis player starts, it will pause other players
+                pauseOtherPlayers: true,
+                
+                // array of keyboard actions such as play pause
+                keyActions: [
+                                {
+                                                keys: [
+                                                                32, // SPACE
+                                                                179 // GOOGLE play/pause button
+                                                          ],
+                                                action: function(player, media) {
+                                                                if (media.paused || media.ended) {
+                                                                                media.play();        
+                                                                } else {
+                                                                                media.pause();
+                                                                }                                                                                
+                                                }
+                                },
+                                {
+                                                keys: [38], // UP
+                                                action: function(player, media) {
+                                                                var newVolume = Math.min(media.volume + 0.1, 1);
+                                                                media.setVolume(newVolume);
+                                                }
+                                },
+                                {
+                                                keys: [40], // DOWN
+                                                action: function(player, media) {
+                                                                var newVolume = Math.max(media.volume - 0.1, 0);
+                                                                media.setVolume(newVolume);
+                                                }
+                                },
+                                {
+                                                keys: [
+                                                                37, // LEFT
+                                                                227 // Google TV rewind
+                                                ],
+                                                action: function(player, media) {
+                                                                if (!isNaN(media.duration) &amp;&amp; media.duration &gt; 0) {
+                                                                                if (player.isVideo) {
+                                                                                                player.showControls();
+                                                                                                player.startControlsTimer();
+                                                                                }
+                                                                                
+                                                                                // 5%
+                                                                                var newTime = Math.max(media.currentTime - player.options.defaultSeekBackwardInterval(media), 0);
+                                                                                media.setCurrentTime(newTime);
+                                                                }
+                                                }
+                                },
+                                {
+                                                keys: [
+                                                                39, // RIGHT
+                                                                228 // Google TV forward
+                                                ], 
+                                                action: function(player, media) {
+                                                                if (!isNaN(media.duration) &amp;&amp; media.duration &gt; 0) {
+                                                                                if (player.isVideo) {
+                                                                                                player.showControls();
+                                                                                                player.startControlsTimer();
+                                                                                }
+                                                                                
+                                                                                // 5%
+                                                                                var newTime = Math.min(media.currentTime + player.options.defaultSeekForwardInterval(media), media.duration);                                                                                
+                                                                                media.setCurrentTime(newTime);
+                                                                }
+                                                }
+                                },
+                                {
+                                                keys: [70], // f
+                                                action: function(player, media) {
+                                                                if (typeof player.enterFullScreen != 'undefined') {
+                                                                                if (player.isFullScreen) {
+                                                                                                player.exitFullScreen();
+                                                                                } else {
+                                                                                                player.enterFullScreen();
+                                                                                }
+                                                                }
+                                                }
+                                }                                        
+                ]                
+        };
+
+        mejs.mepIndex = 0;
+        
+        mejs.players = [];
+
+        // wraps a MediaElement object in player controls
+        mejs.MediaElementPlayer = function(node, o) {
+                // enforce object, even without &quot;new&quot; (via John Resig)
+                if ( !(this instanceof mejs.MediaElementPlayer) ) {
+                        return new mejs.MediaElementPlayer(node, o);
+                } 
+
+                var t = this;
+                
+                // these will be reset after the MediaElement.success fires
+                t.$media = t.$node = $(node);
+                t.node = t.media = t.$media[0];                
+                
+                // check for existing player
+                if (typeof t.node.player != 'undefined') {
+                        return t.node.player;
+                } else {
+                        // attach player to DOM node for reference
+                        t.node.player = t;
+                }
+                                
+                                
+                // try to get options from data-mejsoptions
+                if (typeof o == 'undefined') {
+                        o = t.$node.data('mejsoptions');        
+                }
+                        
+                // extend default options
+                t.options = $.extend({},mejs.MepDefaults,o);
+                
+                // add to player array (for focus events)
+                mejs.players.push(t);
+                
+                // start up
+                t.init();
+
+                return t;
+        };
+
+        // actual player
+        mejs.MediaElementPlayer.prototype = {
+                
+                hasFocus: false,
+                
+                controlsAreVisible: true,
+                
+                init: function() {
+
+                        var
+                                t = this,
+                                mf = mejs.MediaFeatures,
+                                // options for MediaElement (shim)
+                                meOptions = $.extend(true, {}, t.options, {
+                                        success: function(media, domNode) { t.meReady(media, domNode); },
+                                        error: function(e) { t.handleError(e);}
+                                }),
+                                tagName = t.media.tagName.toLowerCase();
+                
+                        t.isDynamic = (tagName !== 'audio' &amp;&amp; tagName !== 'video');
+                        
+                        if (t.isDynamic) {        
+                                // get video from src or href?                                
+                                t.isVideo = t.options.isVideo;                                                
+                        } else {
+                                t.isVideo = (tagName !== 'audio' &amp;&amp; t.options.isVideo);
+                        }
+                
+                        // use native controls in iPad, iPhone, and Android        
+                        if ((mf.isiPad &amp;&amp; t.options.iPadUseNativeControls) || (mf.isiPhone &amp;&amp; t.options.iPhoneUseNativeControls)) {
+                                
+                                // add controls and stop
+                                t.$media.attr('controls', 'controls');
+
+                                // attempt to fix iOS 3 bug
+                                //t.$media.removeAttr('poster');
+                                // no Issue found on iOS3 -ttroxell
+
+                                // override Apple's autoplay override for iPads
+                                if (mf.isiPad &amp;&amp; t.media.getAttribute('autoplay') !== null) {
+                                        t.media.load();
+                                        t.media.play();
+                                }
+                                        
+                        } else if (mf.isAndroid &amp;&amp; t.AndroidUseNativeControls) {
+                                
+                                // leave default player
+
+                        } else {
+
+                                // DESKTOP: use MediaElementPlayer controls
+                                
+                                // remove native controls                         
+                                t.$media.removeAttr('controls');                                        
+                                
+                                // unique ID
+                                t.id = 'mep_' + mejs.mepIndex++;
+
+                                // build container
+                                t.container =
+                                        $('&lt;div id=&quot;' + t.id + '&quot; class=&quot;mejs-container ' + (mejs.MediaFeatures.svg ? 'svg' : 'no-svg') + '&quot;&gt;'+
+                                                '&lt;div class=&quot;mejs-inner&quot;&gt;'+
+                                                        '&lt;div class=&quot;mejs-mediaelement&quot;&gt;&lt;/div&gt;'+
+                                                        '&lt;div class=&quot;mejs-layers&quot;&gt;&lt;/div&gt;'+
+                                                        '&lt;div class=&quot;mejs-controls&quot;&gt;&lt;/div&gt;'+
+                                                        '&lt;div class=&quot;mejs-clear&quot;&gt;&lt;/div&gt;'+
+                                                '&lt;/div&gt;' +
+                                        '&lt;/div&gt;')
+                                        .addClass(t.$media[0].className)
+                                        .insertBefore(t.$media);        
+                                        
+                                // add classes for user and content
+                                t.container.addClass(
+                                        (mf.isAndroid ? 'mejs-android ' : '') +
+                                        (mf.isiOS ? 'mejs-ios ' : '') +
+                                        (mf.isiPad ? 'mejs-ipad ' : '') +
+                                        (mf.isiPhone ? 'mejs-iphone ' : '') +
+                                        (t.isVideo ? 'mejs-video ' : 'mejs-audio ')
+                                );        
+                                        
+
+                                // move the &lt;video/video&gt; tag into the right spot
+                                if (mf.isiOS) {
+                                
+                                        // sadly, you can't move nodes in iOS, so we have to destroy and recreate it!
+                                        var $newMedia = t.$media.clone();
+                                        
+                                        t.container.find('.mejs-mediaelement').append($newMedia);
+                                        
+                                        t.$media.remove();
+                                        t.$node = t.$media = $newMedia;
+                                        t.node = t.media = $newMedia[0]
+                                        
+                                } else {
+                                        
+                                        // normal way of moving it into place (doesn't work on iOS)
+                                        t.container.find('.mejs-mediaelement').append(t.$media);
+                                }
+                                
+                                // find parts
+                                t.controls = t.container.find('.mejs-controls');
+                                t.layers = t.container.find('.mejs-layers');
+
+                                // determine the size
+                                
+                                /* size priority:
+                                        (1) videoWidth (forced), 
+                                        (2) style=&quot;width;height;&quot;
+                                        (3) width attribute,
+                                        (4) defaultVideoWidth (for unspecified cases)
+                                */
+                                
+                                var tagType = (t.isVideo ? 'video' : 'audio'),
+                                        capsTagName = tagType.substring(0,1).toUpperCase() + tagType.substring(1);
+                                        
+                                
+                                if (t.options[tagType + 'Width'] &gt; 0 || t.options[tagType + 'Width'].toString().indexOf('%') &gt; -1) {
+                                        t.width = t.options[tagType + 'Width'];
+                                } else if (t.media.style.width !== '' &amp;&amp; t.media.style.width !== null) {
+                                        t.width = t.media.style.width;                                                
+                                } else if (t.media.getAttribute('width') !== null) {
+                                        t.width = t.$media.attr('width');
+                                } else {
+                                        t.width = t.options['default' + capsTagName + 'Width'];
+                                }
+                                
+                                if (t.options[tagType + 'Height'] &gt; 0 || t.options[tagType + 'Height'].toString().indexOf('%') &gt; -1) {
+                                        t.height = t.options[tagType + 'Height'];
+                                } else if (t.media.style.height !== '' &amp;&amp; t.media.style.height !== null) {
+                                        t.height = t.media.style.height;
+                                } else if (t.$media[0].getAttribute('height') !== null) {
+                                        t.height = t.$media.attr('height');        
+                                } else {
+                                        t.height = t.options['default' + capsTagName + 'Height'];
+                                }
+
+                                // set the size, while we wait for the plugins to load below
+                                t.setPlayerSize(t.width, t.height);
+                                
+                                // create MediaElementShim
+                                meOptions.pluginWidth = t.height;
+                                meOptions.pluginHeight = t.width;                                
+                        }
+                        
+                        
+
+                        // create MediaElement shim
+                        mejs.MediaElement(t.$media[0], meOptions);
+                },
+                
+                showControls: function(doAnimation) {
+                        var t = this;
+                        
+                        doAnimation = typeof doAnimation == 'undefined' || doAnimation;
+                        
+                        if (t.controlsAreVisible)
+                                return;
+                        
+                        if (doAnimation) {
+                                t.controls
+                                        .css('visibility','visible')
+                                        .stop(true, true).fadeIn(200, function() {t.controlsAreVisible = true;});        
+        
+                                // any additional controls people might add and want to hide
+                                t.container.find('.mejs-control')
+                                        .css('visibility','visible')
+                                        .stop(true, true).fadeIn(200, function() {t.controlsAreVisible = true;});        
+                                        
+                        } else {
+                                t.controls
+                                        .css('visibility','visible')
+                                        .css('display','block');
+        
+                                // any additional controls people might add and want to hide
+                                t.container.find('.mejs-control')
+                                        .css('visibility','visible')
+                                        .css('display','block');
+                                        
+                                t.controlsAreVisible = true;
+                        }
+                        
+                        t.setControlsSize();
+                        
+                },
+
+                hideControls: function(doAnimation) {
+                        var t = this;
+                        
+                        doAnimation = typeof doAnimation == 'undefined' || doAnimation;
+                        
+                        if (!t.controlsAreVisible)
+                                return;
+                        
+                        if (doAnimation) {
+                                // fade out main controls
+                                t.controls.stop(true, true).fadeOut(200, function() {
+                                        $(this)
+                                                .css('visibility','hidden')
+                                                .css('display','block');
+                                                
+                                        t.controlsAreVisible = false;
+                                });        
+        
+                                // any additional controls people might add and want to hide
+                                t.container.find('.mejs-control').stop(true, true).fadeOut(200, function() {
+                                        $(this)
+                                                .css('visibility','hidden')
+                                                .css('display','block');
+                                });        
+                        } else {
+                                
+                                // hide main controls
+                                t.controls
+                                        .css('visibility','hidden')
+                                        .css('display','block');                
+                                
+                                // hide others
+                                t.container.find('.mejs-control')
+                                        .css('visibility','hidden')
+                                        .css('display','block');
+                                        
+                                t.controlsAreVisible = false;
+                        }
+                },                
+
+                controlsTimer: null,
+
+                startControlsTimer: function(timeout) {
+
+                        var t = this;
+                        
+                        timeout = typeof timeout != 'undefined' ? timeout : 1500;
+
+                        t.killControlsTimer('start');
+
+                        t.controlsTimer = setTimeout(function() {
+                                //console.log('timer fired');
+                                t.hideControls();
+                                t.killControlsTimer('hide');
+                        }, timeout);
+                },
+
+                killControlsTimer: function(src) {
+
+                        var t = this;
+
+                        if (t.controlsTimer !== null) {
+                                clearTimeout(t.controlsTimer);
+                                delete t.controlsTimer;
+                                t.controlsTimer = null;
+                        }
+                },                
+                
+                controlsEnabled: true,
+                
+                disableControls: function() {
+                        var t= this;
+                        
+                        t.killControlsTimer();
+                        t.hideControls(false);
+                        this.controlsEnabled = false;
+                },
+                
+                enableControls: function() {
+                        var t= this;
+                        
+                        t.showControls(false);
+                        
+                        t.controlsEnabled = true;
+                },                
+                
+
+                // Sets up all controls and events
+                meReady: function(media, domNode) {                        
+                
+                
+                        var t = this,
+                                mf = mejs.MediaFeatures,
+                                autoplayAttr = domNode.getAttribute('autoplay'),
+                                autoplay = !(typeof autoplayAttr == 'undefined' || autoplayAttr === null || autoplayAttr === 'false'),
+                                featureIndex,
+                                feature;
+
+                        // make sure it can't create itself again if a plugin reloads
+                        if (t.created)
+                                return;
+                        else
+                                t.created = true;                        
+
+                        t.media = media;
+                        t.domNode = domNode;
+                        
+                        if (!(mf.isAndroid &amp;&amp; t.options.AndroidUseNativeControls) &amp;&amp; !(mf.isiPad &amp;&amp; t.options.iPadUseNativeControls) &amp;&amp; !(mf.isiPhone &amp;&amp; t.options.iPhoneUseNativeControls)) {                                
+                                
+                                // two built in features
+                                t.buildposter(t, t.controls, t.layers, t.media);
+                                t.buildkeyboard(t, t.controls, t.layers, t.media);
+                                t.buildoverlays(t, t.controls, t.layers, t.media);
+
+                                // grab for use by features
+                                t.findTracks();
+
+                                // add user-defined features/controls
+                                for (featureIndex in t.options.features) {
+                                        feature = t.options.features[featureIndex];
+                                        if (t['build' + feature]) {
+                                                try {
+                                                        t['build' + feature](t, t.controls, t.layers, t.media);
+                                                } catch (e) {
+                                                        // TODO: report control error
+                                                        //throw e;
+                                                        //console.log('error building ' + feature);
+                                                        //console.log(e);
+                                                }
+                                        }
+                                }
+
+                                t.container.trigger('controlsready');
+                                
+                                // reset all layers and controls
+                                t.setPlayerSize(t.width, t.height);
+                                t.setControlsSize();
+                                
+
+                                // controls fade
+                                if (t.isVideo) {
+                                
+                                        if (mejs.MediaFeatures.hasTouch) {
+                                                
+                                                // for touch devices (iOS, Android)
+                                                // show/hide without animation on touch
+                                                
+                                                t.$media.bind('touchstart', function() {
+                                                        
+                                                        
+                                                        // toggle controls
+                                                        if (t.controlsAreVisible) {
+                                                                t.hideControls(false);
+                                                        } else {
+                                                                if (t.controlsEnabled) {
+                                                                        t.showControls(false);
+                                                                }
+                                                        }
+                                                });                                        
+                                        
+                                        } else {
+            // click to play/pause
+            t.media.addEventListener('click', function() {
+              if (t.media.paused) {
+                t.media.play();
+              } else {
+                t.media.pause();
+              }
+            });
+                                        
+                                                // show/hide controls
+                                                t.container
+                                                        .bind('mouseenter mouseover', function () {
+                                                                if (t.controlsEnabled) {
+                                                                        if (!t.options.alwaysShowControls) {                                                                
+                                                                                t.killControlsTimer('enter');
+                                                                                t.showControls();
+                                                                                t.startControlsTimer(2500);                
+                                                                        }
+                                                                }
+                                                        })
+                                                        .bind('mousemove', function() {
+                                                                if (t.controlsEnabled) {
+                                                                        if (!t.controlsAreVisible) {
+                                                                                t.showControls();
+                                                                        }
+                                                                        //t.killControlsTimer('move');
+                                                                        if (!t.options.alwaysShowControls) {
+                                                                                t.startControlsTimer(2500);
+                                                                        }
+                                                                }
+                                                        })
+                                                        .bind('mouseleave', function () {
+                                                                if (t.controlsEnabled) {
+                                                                        if (!t.media.paused &amp;&amp; !t.options.alwaysShowControls) {
+                                                                                t.startControlsTimer(1000);                                                                
+                                                                        }
+                                                                }
+                                                        });
+                                        }
+                                        
+                                        // check for autoplay
+                                        if (autoplay &amp;&amp; !t.options.alwaysShowControls) {
+                                                t.hideControls();
+                                        }
+
+                                        // resizer
+                                        if (t.options.enableAutosize) {
+                                                t.media.addEventListener('loadedmetadata', function(e) {
+                                                        // if the &lt;video height&gt; was not set and the options.videoHeight was not set
+                                                        // then resize to the real dimensions
+                                                        if (t.options.videoHeight &lt;= 0 &amp;&amp; t.domNode.getAttribute('height') === null &amp;&amp; !isNaN(e.target.videoHeight)) {
+                                                                t.setPlayerSize(e.target.videoWidth, e.target.videoHeight);
+                                                                t.setControlsSize();
+                                                                t.media.setVideoSize(e.target.videoWidth, e.target.videoHeight);
+                                                        }
+                                                }, false);
+                                        }
+                                }
+                                
+                                // EVENTS
+
+                                // FOCUS: when a video starts playing, it takes focus from other players (possibily pausing them)
+                                media.addEventListener('play', function() {
+                                                
+                                                // go through all other players
+                                                for (var i=0, il=mejs.players.length; i&lt;il; i++) {
+                                                        var p = mejs.players[i];
+                                                        if (p.id != t.id &amp;&amp; t.options.pauseOtherPlayers &amp;&amp; !p.paused &amp;&amp; !p.ended) {
+                                                                p.pause();
+                                                        }
+                                                        p.hasFocus = false;
+                                                }
+                                                
+                                                t.hasFocus = true;
+                                },false);
+                                                                
+
+                                // ended for all
+                                t.media.addEventListener('ended', function (e) {
+                                        try{
+                                                t.media.setCurrentTime(0);
+                                        } catch (exp) {
+                                                
+                                        }
+                                        t.media.pause();
+                                        
+                                        if (t.setProgressRail)
+                                                t.setProgressRail();
+                                        if (t.setCurrentRail)
+                                                t.setCurrentRail();                                                
+
+                                        if (t.options.loop) {
+                                                t.media.play();
+                                        } else if (!t.options.alwaysShowControls &amp;&amp; t.controlsEnabled) {
+                                                t.showControls();
+                                        }
+                                }, false);
+                                
+                                // resize on the first play
+                                t.media.addEventListener('loadedmetadata', function(e) {
+                                        if (t.updateDuration) {
+                                                t.updateDuration();
+                                        }
+                                        if (t.updateCurrent) {
+                                                t.updateCurrent();
+                                        }
+                                        
+                                        if (!t.isFullScreen) {
+                                                t.setPlayerSize(t.width, t.height);
+                                                t.setControlsSize();
+                                        }
+                                }, false);
+
+
+                                // webkit has trouble doing this without a delay
+                                setTimeout(function () {
+                                        t.setPlayerSize(t.width, t.height);
+                                        t.setControlsSize();
+                                }, 50);
+                                
+                                // adjust controls whenever window sizes (used to be in fullscreen only)
+                                $(window).resize(function() {
+                                        
+                                        // don't resize for fullscreen mode                                
+                                        if ( !(t.isFullScreen || (mejs.MediaFeatures.hasTrueNativeFullScreen &amp;&amp; document.webkitIsFullScreen)) ) {
+                                                t.setPlayerSize(t.width, t.height);
+                                        }
+                                        
+                                        // always adjust controls
+                                        t.setControlsSize();
+                                });                                
+
+                                // TEMP: needs to be moved somewhere else
+                                if (t.media.pluginType == 'youtube') {
+                                        t.container.find('.mejs-overlay-play').hide();        
+                                }
+                        }
+                        
+                        // force autoplay for HTML5
+                        if (autoplay &amp;&amp; media.pluginType == 'native') {
+                                media.load();
+                                media.play();
+                        }
+
+
+                        if (t.options.success) {
+                                
+                                if (typeof t.options.success == 'string') {
+                                                window[t.options.success](t.media, t.domNode, t);
+                                } else {
+                                                t.options.success(t.media, t.domNode, t);
+                                }
+                        }
+                },
+
+                handleError: function(e) {
+                        var t = this;
+                        
+                        t.controls.hide();
+                
+                        // Tell user that the file cannot be played
+                        if (t.options.error) {
+                                t.options.error(e);
+                        }
+                },
+
+                setPlayerSize: function(width,height) {
+                        var t = this;
+
+                        if (typeof width != 'undefined')
+                                t.width = width;
+                                
+                        if (typeof height != 'undefined')
+                                t.height = height;
+
+      // detect 100% mode - use currentStyle for IE since css() doesn't return percentages
+      if (t.height.toString().indexOf('%') &gt; 0 || t.$node.css('max-width') === '100%' || (t.$node[0].currentStyle &amp;&amp; t.$node[0].currentStyle.maxWidth === '100%')) {
+                        
+                                // do we have the native dimensions yet?
+                                var 
+                                        nativeWidth = t.isVideo ? ((t.media.videoWidth &amp;&amp; t.media.videoWidth &gt; 0) ? t.media.videoWidth : t.options.defaultVideoWidth) : t.options.defaultAudioWidth,
+                                        nativeHeight = t.isVideo ? ((t.media.videoHeight &amp;&amp; t.media.videoHeight &gt; 0) ? t.media.videoHeight : t.options.defaultVideoHeight) : t.options.defaultAudioHeight,
+                                        parentWidth = t.container.parent().closest(':visible').width(),
+                                        newHeight = parseInt(parentWidth * nativeHeight/nativeWidth, 10);
+                                        
+                                if (t.container.parent()[0].tagName.toLowerCase() === 'body') { // &amp;&amp; t.container.siblings().count == 0) {
+                                        parentWidth = $(window).width();
+                                        newHeight = $(window).height();
+                                }
+                                
+                                if ( newHeight != 0 ) {
+                                        // set outer container size
+                                        t.container
+                                                .width(parentWidth)
+                                                .height(newHeight);
+                                                
+                                        // set native &lt;video&gt; or &lt;audio&gt;
+                                        t.$media
+                                                .width('100%')
+                                                .height('100%');
+                                                
+                                        // set shims
+                                        t.container.find('object, embed, iframe')
+                                                .width('100%')
+                                                .height('100%');
+                                                
+                                        // if shim is ready, send the size to the embeded plugin        
+                                        if (t.isVideo) {
+                                                if (t.media.setVideoSize) {
+                                                        t.media.setVideoSize(parentWidth, newHeight);
+                                                }
+                                        }
+                                        
+                                        // set the layers
+                                        t.layers.children('.mejs-layer')
+                                                .width('100%')
+                                                .height('100%');
+                                }
+                        
+                        
+                        } else {
+
+                                t.container
+                                        .width(t.width)
+                                        .height(t.height);
+        
+                                t.layers.children('.mejs-layer')
+                                        .width(t.width)
+                                        .height(t.height);
+                                        
+                        }
+                },
+
+                setControlsSize: function() {
+                        var t = this,
+                                usedWidth = 0,
+                                railWidth = 0,
+                                rail = t.controls.find('.mejs-time-rail'),
+                                total = t.controls.find('.mejs-time-total'),
+                                current = t.controls.find('.mejs-time-current'),
+                                loaded = t.controls.find('.mejs-time-loaded'),
+                                others = rail.siblings();
+                        
+
+                        // allow the size to come from custom CSS
+                        if (t.options &amp;&amp; !t.options.autosizeProgress) {
+                                // Also, frontends devs can be more flexible 
+                                // due the opportunity of absolute positioning.
+                                railWidth = parseInt(rail.css('width'));
+                        }
+                        
+                        // attempt to autosize
+                        if (railWidth === 0 || !railWidth) {
+                                
+                                // find the size of all the other controls besides the rail
+                                others.each(function() {
+                                        if ($(this).css('position') != 'absolute') {
+                                                usedWidth += $(this).outerWidth(true);
+                                        }
+                                });
+                                
+                                // fit the rail into the remaining space
+                                railWidth = t.controls.width() - usedWidth - (rail.outerWidth(true) - rail.width());
+                        }
+
+                        // outer area
+                        rail.width(railWidth);
+                        // dark space
+                        total.width(railWidth - (total.outerWidth(true) - total.width()));
+                        
+                        if (t.setProgressRail)
+                                t.setProgressRail();
+                        if (t.setCurrentRail)
+                                t.setCurrentRail();                                
+                },
+
+
+                buildposter: function(player, controls, layers, media) {
+                        var t = this,
+                                poster = 
+                                $('&lt;div class=&quot;mejs-poster mejs-layer&quot;&gt;' +
+                                '&lt;/div&gt;')
+                                        .appendTo(layers),
+                                posterUrl = player.$media.attr('poster');
+
+                        // prioriy goes to option (this is useful if you need to support iOS 3.x (iOS completely fails with poster)
+                        if (player.options.poster !== '') {
+                                posterUrl = player.options.poster;
+                        }        
+                                
+                        // second, try the real poster
+                        if (posterUrl !== '' &amp;&amp; posterUrl != null) {
+                                t.setPoster(posterUrl);
+                        } else {
+                                poster.hide();
+                        }
+
+                        media.addEventListener('play',function() {
+                                poster.hide();
+                        }, false);
+                },
+                
+                setPoster: function(url) {
+                        var t = this,
+                                posterDiv = t.container.find('.mejs-poster'),
+                                posterImg = posterDiv.find('img');
+                                
+                        if (posterImg.length == 0) {
+                                posterImg = $('&lt;img width=&quot;100%&quot; height=&quot;100%&quot; /&gt;').appendTo(posterDiv);
+                        }        
+                        
+                        posterImg.attr('src', url);
+                },
+
+                buildoverlays: function(player, controls, layers, media) {
+                        if (!player.isVideo)
+                                return;
+
+                        var 
+                        loading = 
+                                $('&lt;div class=&quot;mejs-overlay mejs-layer&quot;&gt;'+
+                                        '&lt;div class=&quot;mejs-overlay-loading&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;'+
+                                '&lt;/div&gt;')
+                                .hide() // start out hidden
+                                .appendTo(layers),
+                        error = 
+                                $('&lt;div class=&quot;mejs-overlay mejs-layer&quot;&gt;'+
+                                        '&lt;div class=&quot;mejs-overlay-error&quot;&gt;&lt;/div&gt;'+
+                                '&lt;/div&gt;')
+                                .hide() // start out hidden
+                                .appendTo(layers),
+                        // this needs to come last so it's on top
+                        bigPlay = 
+                                $('&lt;div class=&quot;mejs-overlay mejs-layer mejs-overlay-play&quot;&gt;'+
+                                        '&lt;div class=&quot;mejs-overlay-button&quot;&gt;&lt;/div&gt;'+
+                                '&lt;/div&gt;')
+                                .appendTo(layers)
+                                .click(function() {
+                                        if (media.paused) {
+                                                media.play();
+                                        } else {
+                                                media.pause();
+                                        }
+                                });
+                        
+                        /*
+                        if (mejs.MediaFeatures.isiOS || mejs.MediaFeatures.isAndroid) {
+                                bigPlay.remove();
+                                loading.remove();
+                        }
+                        */
+        
+
+                        // show/hide big play button
+                        media.addEventListener('play',function() {
+                                bigPlay.hide();
+                                loading.hide();
+                                controls.find('.mejs-time-buffering').hide();
+                                error.hide();
+                        }, false);        
+                        
+                        media.addEventListener('playing', function() {
+                                bigPlay.hide();
+                                loading.hide();
+                                controls.find('.mejs-time-buffering').hide();
+                                error.hide();                        
+                        }, false);
+
+                        media.addEventListener('seeking', function() {
+                                loading.show();
+                                controls.find('.mejs-time-buffering').show();
+                        }, false);
+
+                        media.addEventListener('seeked', function() {
+                                loading.hide();
+                                controls.find('.mejs-time-buffering').hide();
+                        }, false);
+        
+                        media.addEventListener('pause',function() {
+                                if (!mejs.MediaFeatures.isiPhone) {
+                                        bigPlay.show();
+                                }
+                        }, false);
+                        
+                        media.addEventListener('waiting', function() {
+                                loading.show();        
+                                controls.find('.mejs-time-buffering').show();
+                        }, false);                        
+                        
+                        
+                        // show/hide loading                        
+                        media.addEventListener('loadeddata',function() {
+                                // for some reason Chrome is firing this event
+                                //if (mejs.MediaFeatures.isChrome &amp;&amp; media.getAttribute &amp;&amp; media.getAttribute('preload') === 'none')
+                                //        return;
+                                        
+                                loading.show();
+                                controls.find('.mejs-time-buffering').show();
+                        }, false);        
+                        media.addEventListener('canplay',function() {
+                                loading.hide();
+                                controls.find('.mejs-time-buffering').hide();
+                        }, false);        
+
+                        // error handling
+                        media.addEventListener('error',function() {
+                                loading.hide();
+                                controls.find('.mejs-time-buffering').hide();
+                                error.show();
+                                error.find('mejs-overlay-error').html(&quot;Error loading this resource&quot;);
+                        }, false);                                
+                },
+                
+                buildkeyboard: function(player, controls, layers, media) {
+
+                                var t = this;
+                                
+                                // listen for key presses
+                                $(document).keydown(function(e) {
+                                                
+                                                if (player.hasFocus &amp;&amp; player.options.enableKeyboard) {
+                                                                                
+                                                                // find a matching key
+                                                                for (var i=0, il=player.options.keyActions.length; i&lt;il; i++) {
+                                                                                var keyAction = player.options.keyActions[i];
+                                                                                
+                                                                                for (var j=0, jl=keyAction.keys.length; j&lt;jl; j++) {
+                                                                                                if (e.keyCode == keyAction.keys[j]) {
+                                                                                                                e.preventDefault();
+                                                                                                                keyAction.action(player, media, e.keyCode);
+                                                                                                                return false;
+                                                                                                }                                                                                                
+                                                                                }
+                                                                }
+                                                }
+                                                
+                                                return true;
+                                });
+                                
+                                // check if someone clicked outside a player region, then kill its focus
+                                $(document).click(function(event) {
+                                                if ($(event.target).closest('.mejs-container').length == 0) {
+                                                                player.hasFocus = false;
+                                                }
+                                });
+                        
+                },
+
+                findTracks: function() {
+                        var t = this,
+                                tracktags = t.$media.find('track');
+
+                        // store for use by plugins
+                        t.tracks = [];
+                        tracktags.each(function(index, track) {
+                                
+                                track = $(track);
+                                
+                                t.tracks.push({
+                                        srclang: track.attr('srclang').toLowerCase(),
+                                        src: track.attr('src'),
+                                        kind: track.attr('kind'),
+                                        label: track.attr('label') || '',
+                                        entries: [],
+                                        isLoaded: false
+                                });
+                        });
+                },
+                changeSkin: function(className) {
+                        this.container[0].className = 'mejs-container ' + className;
+                        this.setPlayerSize(this.width, this.height);
+                        this.setControlsSize();
+                },
+                play: function() {
+                        this.media.play();
+                },
+                pause: function() {
+                        this.media.pause();
+                },
+                load: function() {
+                        this.media.load();
+                },
+                setMuted: function(muted) {
+                        this.media.setMuted(muted);
+                },
+                setCurrentTime: function(time) {
+                        this.media.setCurrentTime(time);
+                },
+                getCurrentTime: function() {
+                        return this.media.currentTime;
+                },
+                setVolume: function(volume) {
+                        this.media.setVolume(volume);
+                },
+                getVolume: function() {
+                        return this.media.volume;
+                },
+                setSrc: function(src) {
+                        this.media.setSrc(src);
+                },
+                remove: function() {
+                        var t = this;
+                        
+                        if (t.media.pluginType === 'flash') {
+                                t.media.remove();
+                        } else if (t.media.pluginType === 'native') {
+                                t.$media.prop('controls', true);
+                        }
+                        
+                        // grab video and put it back in place
+                        if (!t.isDynamic) {
+                                t.$node.insertBefore(t.container)
+                        }
+                        
+                        t.container.remove();
+                }
+        };
+
+        // turn into jQuery plugin
+        if (typeof jQuery != 'undefined') {
+                jQuery.fn.mediaelementplayer = function (options) {
+                        return this.each(function () {
+                                new mejs.MediaElementPlayer(this, options);
+                        });
+                };
+        }
+        
+        $(document).ready(function() {
+                // auto enable using JSON attribute
+                $('.mejs-player').mediaelementplayer();
+        });
+        
+        // push out to window
+        window.MediaElementPlayer = mejs.MediaElementPlayer;
+
+})(mejs.$);
+
+(function($) {
+
+        $.extend(mejs.MepDefaults, {
+                playpauseText: 'Play/Pause'
+        });
+
+        // PLAY/pause BUTTON
+        $.extend(MediaElementPlayer.prototype, {
+                buildplaypause: function(player, controls, layers, media) {
+                        var 
+                                t = this,
+                                play = 
+                                $('&lt;div class=&quot;mejs-button mejs-playpause-button mejs-play&quot; &gt;' +
+                                        '&lt;button type=&quot;button&quot; aria-controls=&quot;' + t.id + '&quot; title=&quot;' + t.options.playpauseText + '&quot;&gt;&lt;/button&gt;' +
+                                '&lt;/div&gt;')
+                                .appendTo(controls)
+                                .click(function(e) {
+                                        e.preventDefault();
+                                
+                                        if (media.paused) {
+                                                media.play();
+                                        } else {
+                                                media.pause();
+                                        }
+                                        
+                                        return false;
+                                });
+
+                        media.addEventListener('play',function() {
+                                play.removeClass('mejs-play').addClass('mejs-pause');
+                        }, false);
+                        media.addEventListener('playing',function() {
+                                play.removeClass('mejs-play').addClass('mejs-pause');
+                        }, false);
+
+
+                        media.addEventListener('pause',function() {
+                                play.removeClass('mejs-pause').addClass('mejs-play');
+                        }, false);
+                        media.addEventListener('paused',function() {
+                                play.removeClass('mejs-pause').addClass('mejs-play');
+                        }, false);
+                }
+        });
+        
+})(mejs.$);
+(function($) {
+
+        $.extend(mejs.MepDefaults, {
+                stopText: 'Stop'
+        });
+
+        // STOP BUTTON
+        $.extend(MediaElementPlayer.prototype, {
+                buildstop: function(player, controls, layers, media) {
+                        var t = this,
+                                stop = 
+                                $('&lt;div class=&quot;mejs-button mejs-stop-button mejs-stop&quot;&gt;' +
+                                        '&lt;button type=&quot;button&quot; aria-controls=&quot;' + t.id + '&quot; title=&quot;' + t.options.stopText + '&quot;&gt;&lt;/button&gt;' +
+                                '&lt;/div&gt;')
+                                .appendTo(controls)
+                                .click(function() {
+                                        if (!media.paused) {
+                                                media.pause();
+                                        }
+                                        if (media.currentTime &gt; 0) {
+                                                media.setCurrentTime(0);
+                        media.pause();
+                                                controls.find('.mejs-time-current').width('0px');
+                                                controls.find('.mejs-time-handle').css('left', '0px');
+                                                controls.find('.mejs-time-float-current').html( mejs.Utility.secondsToTimeCode(0) );
+                                                controls.find('.mejs-currenttime').html( mejs.Utility.secondsToTimeCode(0) );                                        
+                                                layers.find('.mejs-poster').show();
+                                        }
+                                });
+                }
+        });
+        
+})(mejs.$);
+(function($) {
+        // progress/loaded bar
+        $.extend(MediaElementPlayer.prototype, {
+                buildprogress: function(player, controls, layers, media) {
+
+                        $('&lt;div class=&quot;mejs-time-rail&quot;&gt;'+
+                                '&lt;span class=&quot;mejs-time-total&quot;&gt;'+
+                                        '&lt;span class=&quot;mejs-time-buffering&quot;&gt;&lt;/span&gt;'+
+                                        '&lt;span class=&quot;mejs-time-loaded&quot;&gt;&lt;/span&gt;'+
+                                        '&lt;span class=&quot;mejs-time-current&quot;&gt;&lt;/span&gt;'+
+                                        '&lt;span class=&quot;mejs-time-handle&quot;&gt;&lt;/span&gt;'+
+                                        '&lt;span class=&quot;mejs-time-float&quot;&gt;' + 
+                                                '&lt;span class=&quot;mejs-time-float-current&quot;&gt;00:00&lt;/span&gt;' + 
+                                                '&lt;span class=&quot;mejs-time-float-corner&quot;&gt;&lt;/span&gt;' + 
+                                        '&lt;/span&gt;'+
+                                '&lt;/span&gt;'+
+                        '&lt;/div&gt;')
+                                .appendTo(controls);
+                                controls.find('.mejs-time-buffering').hide();
+
+                        var 
+                                t = this,
+                                total = controls.find('.mejs-time-total'),
+                                loaded  = controls.find('.mejs-time-loaded'),
+                                current  = controls.find('.mejs-time-current'),
+                                handle  = controls.find('.mejs-time-handle'),
+                                timefloat  = controls.find('.mejs-time-float'),
+                                timefloatcurrent  = controls.find('.mejs-time-float-current'),
+                                handleMouseMove = function (e) {
+                                        // mouse position relative to the object
+                                        var x = e.pageX,
+                                                offset = total.offset(),
+                                                width = total.outerWidth(true),
+                                                percentage = 0,
+                                                newTime = 0,
+                                                pos = x - offset.left;
+
+
+                                        if (x &gt; offset.left &amp;&amp; x &lt;= width + offset.left &amp;&amp; media.duration) {
+                                                percentage = ((x - offset.left) / width);
+                                                newTime = (percentage &lt;= 0.02) ? 0 : percentage * media.duration;
+
+                                                // seek to where the mouse is
+                                                if (mouseIsDown) {
+                                                        media.setCurrentTime(newTime);
+                                                }
+
+                                                // position floating time box
+                                                if (!mejs.MediaFeatures.hasTouch) {
+                                                                timefloat.css('left', pos);
+                                                                timefloatcurrent.html( mejs.Utility.secondsToTimeCode(newTime) );
+                                                                timefloat.show();
+                                                }
+                                        }
+                                },
+                                mouseIsDown = false,
+                                mouseIsOver = false;
+
+                        // handle clicks
+                        //controls.find('.mejs-time-rail').delegate('span', 'click', handleMouseMove);
+                        total
+                                .bind('mousedown', function (e) {
+                                        // only handle left clicks
+                                        if (e.which === 1) {
+                                                mouseIsDown = true;
+                                                handleMouseMove(e);
+                                                $(document)
+                                                        .bind('mousemove.dur', function(e) {
+                                                                handleMouseMove(e);
+                                                        })
+                                                        .bind('mouseup.dur', function (e) {
+                                                                mouseIsDown = false;
+                                                                timefloat.hide();
+                                                                $(document).unbind('.dur');
+                                                        });
+                                                return false;
+                                        }
+                                })
+                                .bind('mouseenter', function(e) {
+                                        mouseIsOver = true;
+                                        $(document).bind('mousemove.dur', function(e) {
+                                                handleMouseMove(e);
+                                        });
+                                        if (!mejs.MediaFeatures.hasTouch) {
+                                                timefloat.show();
+                                        }
+                                })
+                                .bind('mouseleave',function(e) {
+                                        mouseIsOver = false;
+                                        if (!mouseIsDown) {
+                                                $(document).unbind('.dur');
+                                                timefloat.hide();
+                                        }
+                                });
+
+                        // loading
+                        media.addEventListener('progress', function (e) {
+                                player.setProgressRail(e);
+                                player.setCurrentRail(e);
+                        }, false);
+
+                        // current time
+                        media.addEventListener('timeupdate', function(e) {
+                                player.setProgressRail(e);
+                                player.setCurrentRail(e);
+                        }, false);
+                        
+                        
+                        // store for later use
+                        t.loaded = loaded;
+                        t.total = total;
+                        t.current = current;
+                        t.handle = handle;
+                },
+                setProgressRail: function(e) {
+
+                        var
+                                t = this,
+                                target = (e != undefined) ? e.target : t.media,
+                                percent = null;                        
+
+                        // newest HTML5 spec has buffered array (FF4, Webkit)
+                        if (target &amp;&amp; target.buffered &amp;&amp; target.buffered.length &gt; 0 &amp;&amp; target.buffered.end &amp;&amp; target.duration) {
+                                // TODO: account for a real array with multiple values (only Firefox 4 has this so far) 
+                                percent = target.buffered.end(0) / target.duration;
+                        } 
+                        // Some browsers (e.g., FF3.6 and Safari 5) cannot calculate target.bufferered.end()
+                        // to be anything other than 0. If the byte count is available we use this instead.
+                        // Browsers that support the else if do not seem to have the bufferedBytes value and
+                        // should skip to there. Tested in Safari 5, Webkit head, FF3.6, Chrome 6, IE 7/8.
+                        else if (target &amp;&amp; target.bytesTotal != undefined &amp;&amp; target.bytesTotal &gt; 0 &amp;&amp; target.bufferedBytes != undefined) {
+                                percent = target.bufferedBytes / target.bytesTotal;
+                        }
+                        // Firefox 3 with an Ogg file seems to go this way
+                        else if (e &amp;&amp; e.lengthComputable &amp;&amp; e.total != 0) {
+                                percent = e.loaded/e.total;
+                        }
+
+                        // finally update the progress bar
+                        if (percent !== null) {
+                                percent = Math.min(1, Math.max(0, percent));
+                                // update loaded bar
+                                if (t.loaded &amp;&amp; t.total) {
+                                        t.loaded.width(t.total.width() * percent);
+                                }
+                        }
+                },
+                setCurrentRail: function() {
+
+                        var t = this;
+                
+                        if (t.media.currentTime != undefined &amp;&amp; t.media.duration) {
+
+                                // update bar and handle
+                                if (t.total &amp;&amp; t.handle) {
+                                        var 
+                                                newWidth = t.total.width() * t.media.currentTime / t.media.duration,
+                                                handlePos = newWidth - (t.handle.outerWidth(true) / 2);
+
+                                        t.current.width(newWidth);
+                                        t.handle.css('left', handlePos);
+                                }
+                        }
+
+                }        
+        });
+})(mejs.$);
+(function($) {
+        
+        // options
+        $.extend(mejs.MepDefaults, {
+                duration: -1,
+                timeAndDurationSeparator: ' &lt;span&gt; | &lt;/span&gt; '
+        });
+
+
+        // current and duration 00:00 / 00:00
+        $.extend(MediaElementPlayer.prototype, {
+                buildcurrent: function(player, controls, layers, media) {
+                        var t = this;
+                        
+                        $('&lt;div class=&quot;mejs-time&quot;&gt;'+
+                                        '&lt;span class=&quot;mejs-currenttime&quot;&gt;' + (player.options.alwaysShowHours ? '00:' : '')
+                                        + (player.options.showTimecodeFrameCount? '00:00:00':'00:00')+ '&lt;/span&gt;'+
+                                        '&lt;/div&gt;')
+                                        .appendTo(controls);
+                        
+                        t.currenttime = t.controls.find('.mejs-currenttime');
+
+                        media.addEventListener('timeupdate',function() {
+                                player.updateCurrent();
+                        }, false);
+                },
+
+
+                buildduration: function(player, controls, layers, media) {
+                        var t = this;
+                        
+                        if (controls.children().last().find('.mejs-currenttime').length &gt; 0) {
+                                $(t.options.timeAndDurationSeparator +
+                                        '&lt;span class=&quot;mejs-duration&quot;&gt;' + 
+                                                (t.options.duration &gt; 0 ? 
+                                                        mejs.Utility.secondsToTimeCode(t.options.duration, t.options.alwaysShowHours || t.media.duration &gt; 3600, t.options.showTimecodeFrameCount,  t.options.framesPerSecond || 25) :
+                                                           ((player.options.alwaysShowHours ? '00:' : '') + (player.options.showTimecodeFrameCount? '00:00:00':'00:00')) 
+                                                   ) + 
+                                        '&lt;/span&gt;')
+                                        .appendTo(controls.find('.mejs-time'));
+                        } else {
+
+                                // add class to current time
+                                controls.find('.mejs-currenttime').parent().addClass('mejs-currenttime-container');
+                                
+                                $('&lt;div class=&quot;mejs-time mejs-duration-container&quot;&gt;'+
+                                        '&lt;span class=&quot;mejs-duration&quot;&gt;' + 
+                                                (t.options.duration &gt; 0 ? 
+                                                        mejs.Utility.secondsToTimeCode(t.options.duration, t.options.alwaysShowHours || t.media.duration &gt; 3600, t.options.showTimecodeFrameCount,  t.options.framesPerSecond || 25) :
+                                                           ((player.options.alwaysShowHours ? '00:' : '') + (player.options.showTimecodeFrameCount? '00:00:00':'00:00')) 
+                                                   ) + 
+                                        '&lt;/span&gt;' +
+                                '&lt;/div&gt;')
+                                .appendTo(controls);
+                        }
+                        
+                        t.durationD = t.controls.find('.mejs-duration');
+
+                        media.addEventListener('timeupdate',function() {
+                                player.updateDuration();
+                        }, false);
+                },
+                
+                updateCurrent:  function() {
+                        var t = this;
+
+                        if (t.currenttime) {
+                                t.currenttime.html(mejs.Utility.secondsToTimeCode(t.media.currentTime, t.options.alwaysShowHours || t.media.duration &gt; 3600, t.options.showTimecodeFrameCount,  t.options.framesPerSecond || 25));
+                        }
+                },
+                
+                updateDuration: function() {        
+                        var t = this;
+                        
+                        if (t.media.duration &amp;&amp; t.durationD) {
+                                t.durationD.html(mejs.Utility.secondsToTimeCode(t.media.duration, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond || 25));
+                        }                
+                }
+        });
+
+})(mejs.$);
+(function($) {
+
+        $.extend(mejs.MepDefaults, {
+                muteText: 'Mute Toggle',
+                hideVolumeOnTouchDevices: true,
+                
+                audioVolume: 'horizontal',
+                videoVolume: 'vertical'
+        });
+
+        $.extend(MediaElementPlayer.prototype, {
+                buildvolume: function(player, controls, layers, media) {
+                                
+                        // Android and iOS don't support volume controls
+                        if (mejs.MediaFeatures.hasTouch &amp;&amp; this.options.hideVolumeOnTouchDevices)
+                                return;
+                        
+                        var t = this,
+                                mode = (t.isVideo) ? t.options.videoVolume : t.options.audioVolume,
+                                mute = (mode == 'horizontal') ?
+                                
+                                // horizontal version
+                                $('&lt;div class=&quot;mejs-button mejs-volume-button mejs-mute&quot;&gt;'+
+                                        '&lt;button type=&quot;button&quot; aria-controls=&quot;' + t.id + '&quot; title=&quot;' + t.options.muteText + '&quot;&gt;&lt;/button&gt;'+
+                                '&lt;/div&gt;' +
+                                '&lt;div class=&quot;mejs-horizontal-volume-slider&quot;&gt;'+ // outer background
+                                        '&lt;div class=&quot;mejs-horizontal-volume-total&quot;&gt;&lt;/div&gt;'+ // line background
+                                        '&lt;div class=&quot;mejs-horizontal-volume-current&quot;&gt;&lt;/div&gt;'+ // current volume
+                                        '&lt;div class=&quot;mejs-horizontal-volume-handle&quot;&gt;&lt;/div&gt;'+ // handle
+                                '&lt;/div&gt;'
+                                )
+                                        .appendTo(controls) :
+                                
+                                // vertical version
+                                $('&lt;div class=&quot;mejs-button mejs-volume-button mejs-mute&quot;&gt;'+
+                                        '&lt;button type=&quot;button&quot; aria-controls=&quot;' + t.id + '&quot; title=&quot;' + t.options.muteText + '&quot;&gt;&lt;/button&gt;'+
+                                        '&lt;div class=&quot;mejs-volume-slider&quot;&gt;'+ // outer background
+                                                '&lt;div class=&quot;mejs-volume-total&quot;&gt;&lt;/div&gt;'+ // line background
+                                                '&lt;div class=&quot;mejs-volume-current&quot;&gt;&lt;/div&gt;'+ // current volume
+                                                '&lt;div class=&quot;mejs-volume-handle&quot;&gt;&lt;/div&gt;'+ // handle
+                                        '&lt;/div&gt;'+
+                                '&lt;/div&gt;')
+                                        .appendTo(controls),
+                        volumeSlider = t.container.find('.mejs-volume-slider, .mejs-horizontal-volume-slider'),
+                        volumeTotal = t.container.find('.mejs-volume-total, .mejs-horizontal-volume-total'),
+                        volumeCurrent = t.container.find('.mejs-volume-current, .mejs-horizontal-volume-current'),
+                        volumeHandle = t.container.find('.mejs-volume-handle, .mejs-horizontal-volume-handle'),
+
+                        positionVolumeHandle = function(volume, secondTry) {
+
+                                if (!volumeSlider.is(':visible') &amp;&amp; typeof secondTry == 'undefined') {
+                                        volumeSlider.show();
+                                        positionVolumeHandle(volume, true);
+                                        volumeSlider.hide()
+                                        return;
+                                }
+                        
+                                // correct to 0-1
+                                volume = Math.max(0,volume);
+                                volume = Math.min(volume,1);                                        
+                                
+                                // ajust mute button style
+                                if (volume == 0) {
+                                        mute.removeClass('mejs-mute').addClass('mejs-unmute');
+                                } else {
+                                        mute.removeClass('mejs-unmute').addClass('mejs-mute');
+                                }                                
+
+                                // position slider 
+                                if (mode == 'vertical') {
+                                        var 
+                                        
+                                                // height of the full size volume slider background
+                                                totalHeight = volumeTotal.height(),
+                                                
+                                                // top/left of full size volume slider background
+                                                totalPosition = volumeTotal.position(),
+                                                
+                                                // the new top position based on the current volume
+                                                // 70% volume on 100px height == top:30px
+                                                newTop = totalHeight - (totalHeight * volume);
+        
+                                        // handle
+                                        volumeHandle.css('top', Math.round(totalPosition.top + newTop - (volumeHandle.height() / 2)));
+        
+                                        // show the current visibility
+                                        volumeCurrent.height(totalHeight - newTop );
+                                        volumeCurrent.css('top', totalPosition.top + newTop);
+                                } else {
+                                        var 
+                                        
+                                                // height of the full size volume slider background
+                                                totalWidth = volumeTotal.width(),
+                                                
+                                                // top/left of full size volume slider background
+                                                totalPosition = volumeTotal.position(),
+                                                
+                                                // the new left position based on the current volume
+                                                newLeft = totalWidth * volume;
+        
+                                        // handle
+                                        volumeHandle.css('left', Math.round(totalPosition.left + newLeft - (volumeHandle.width() / 2)));
+        
+                                        // rezize the current part of the volume bar
+                                        volumeCurrent.width( Math.round(newLeft) );
+                                }
+                        },
+                        handleVolumeMove = function(e) {
+                                
+                                var volume = null,
+                                        totalOffset = volumeTotal.offset();
+                                
+                                // calculate the new volume based on the moust position
+                                if (mode == 'vertical') {
+                                
+                                        var
+                                                railHeight = volumeTotal.height(),
+                                                totalTop = parseInt(volumeTotal.css('top').replace(/px/,''),10),
+                                                newY = e.pageY - totalOffset.top;
+                                                
+                                        volume = (railHeight - newY) / railHeight;
+                                                
+                                        // the controls just hide themselves (usually when mouse moves too far up)
+                                        if (totalOffset.top == 0 || totalOffset.left == 0)
+                                                return;
+                                        
+                                } else {
+                                        var
+                                                railWidth = volumeTotal.width(),
+                                                newX = e.pageX - totalOffset.left;
+                                                
+                                        volume = newX / railWidth;
+                                }
+                                
+                                // ensure the volume isn't outside 0-1
+                                volume = Math.max(0,volume);
+                                volume = Math.min(volume,1);
+                                
+                                // position the slider and handle                        
+                                positionVolumeHandle(volume);
+                                
+                                // set the media object (this will trigger the volumechanged event)
+                                if (volume == 0) {
+                                        media.setMuted(true);
+                                } else {
+                                        media.setMuted(false);
+                                }
+                                media.setVolume(volume);                        
+                        },
+                        mouseIsDown = false,
+                        mouseIsOver = false;
+
+                        // SLIDER
+                        
+                        mute
+                                .hover(function() {
+                                        volumeSlider.show();
+                                        mouseIsOver = true;
+                                }, function() {
+                                        mouseIsOver = false;        
+                                                
+                                        if (!mouseIsDown &amp;&amp; mode == 'vertical')        {
+                                                volumeSlider.hide();
+                                        }
+                                });
+                        
+                        volumeSlider
+                                .bind('mouseover', function() {
+                                        mouseIsOver = true;        
+                                })
+                                .bind('mousedown', function (e) {
+                                        handleVolumeMove(e);
+                                        $(document)
+                                                .bind('mousemove.vol', function(e) {
+                                                        handleVolumeMove(e);
+                                                })
+                                                .bind('mouseup.vol', function () {
+                                                        mouseIsDown = false;
+                                                        $(document).unbind('.vol');
+
+                                                        if (!mouseIsOver &amp;&amp; mode == 'vertical') {
+                                                                volumeSlider.hide();
+                                                        }
+                                                });
+                                        mouseIsDown = true;
+                                                
+                                        return false;
+                                });
+
+
+                        // MUTE button
+                        mute.find('button').click(function() {
+                                media.setMuted( !media.muted );
+                        });
+
+                        // listen for volume change events from other sources
+                        media.addEventListener('volumechange', function(e) {
+                                if (!mouseIsDown) {
+                                        if (media.muted) {
+                                                positionVolumeHandle(0);
+                                                mute.removeClass('mejs-mute').addClass('mejs-unmute');
+                                        } else {
+                                                positionVolumeHandle(media.volume);
+                                                mute.removeClass('mejs-unmute').addClass('mejs-mute');
+                                        }
+                                }
+                        }, false);
+
+                        if (t.container.is(':visible')) {
+                                // set initial volume
+                                positionVolumeHandle(player.options.startVolume);
+                                
+                                // shim gets the startvolume as a parameter, but we have to set it on the native &lt;video&gt; and &lt;audio&gt; elements
+                                if (media.pluginType === 'native') {
+                                        media.setVolume(player.options.startVolume);
+                                }
+                        }
+                }
+        });
+        
+})(mejs.$);
+
+(function($) {
+
+        $.extend(mejs.MepDefaults, {
+                usePluginFullScreen: true,
+                newWindowCallback: function() { return '';},
+                fullscreenText: mejs.i18n.t('Fullscreen')
+        });
+
+        $.extend(MediaElementPlayer.prototype, {
+
+                isFullScreen: false,
+
+                isNativeFullScreen: false,
+
+                docStyleOverflow: null,
+
+                isInIframe: false,
+
+                buildfullscreen: function(player, controls, layers, media) {
+
+                        if (!player.isVideo)
+                                return;
+
+                        player.isInIframe = (window.location != window.parent.location);
+
+                        // native events
+                        if (mejs.MediaFeatures.hasTrueNativeFullScreen) {
+
+                                // chrome doesn't alays fire this in an iframe
+                                var target = null;
+
+                                if (mejs.MediaFeatures.hasMozNativeFullScreen) {
+                                        target = $(document);
+                                } else {
+                                        target = player.container;
+                                }
+
+                                target.bind(mejs.MediaFeatures.fullScreenEventName, function(e) {
+
+                                        if (mejs.MediaFeatures.isFullScreen()) {
+                                                player.isNativeFullScreen = true;
+                                                // reset the controls once we are fully in full screen
+                                                player.setControlsSize();
+                                        } else {
+                                                player.isNativeFullScreen = false;
+                                                // when a user presses ESC
+                                                // make sure to put the player back into place
+                                                player.exitFullScreen();
+                                        }
+                                });
+                        }
+
+                        var t = this,
+                                normalHeight = 0,
+                                normalWidth = 0,
+                                container = player.container,
+                                fullscreenBtn =
+                                        $('&lt;div class=&quot;mejs-button mejs-fullscreen-button&quot;&gt;' +
+                                                '&lt;button type=&quot;button&quot; aria-controls=&quot;' + t.id + '&quot; title=&quot;' + t.options.fullscreenText + '&quot;&gt;&lt;/button&gt;' +
+                                        '&lt;/div&gt;')
+                                        .appendTo(controls);
+
+                                if (t.media.pluginType === 'native' || (!t.options.usePluginFullScreen &amp;&amp; !mejs.MediaFeatures.isFirefox)) {
+
+                                        fullscreenBtn.click(function() {
+                                                var isFullScreen = (mejs.MediaFeatures.hasTrueNativeFullScreen &amp;&amp; mejs.MediaFeatures.isFullScreen()) || player.isFullScreen;
+
+                                                if (isFullScreen) {
+                                                        player.exitFullScreen();
+                                                } else {
+                                                        player.enterFullScreen();
+                                                }
+                                        });
+
+                                } else {
+
+                                        var hideTimeout = null,
+                                                supportsPointerEvents = (function() {
+                                                        // TAKEN FROM MODERNIZR
+                                                        var element = document.createElement('x'),
+                                                                documentElement = document.documentElement,
+                                                                getComputedStyle = window.getComputedStyle,
+                                                                supports;
+                                                        if(!('pointerEvents' in element.style)){
+                                                                return false;
+                                                        }
+                                                        element.style.pointerEvents = 'auto';
+                                                        element.style.pointerEvents = 'x';
+                                                        documentElement.appendChild(element);
+                                                        supports = getComputedStyle &amp;&amp;
+                                                                getComputedStyle(element, '').pointerEvents === 'auto';
+                                                        documentElement.removeChild(element);
+                                                        return !!supports;
+                                                })();
+
+                                        //console.log('supportsPointerEvents', supportsPointerEvents);
+
+                                        if (supportsPointerEvents &amp;&amp; !mejs.MediaFeatures.isOpera) { // opera doesn't allow this :(
+
+                                                // allows clicking through the fullscreen button and controls down directly to Flash
+
+                                                /*
+                                                 When a user puts his mouse over the fullscreen button, the controls are disabled
+                                                 So we put a div over the video and another one on iether side of the fullscreen button
+                                                 that caputre mouse movement
+                                                 and restore the controls once the mouse moves outside of the fullscreen button
+                                                */
+
+                                                var fullscreenIsDisabled = false,
+                                                        restoreControls = function() {
+                                                                if (fullscreenIsDisabled) {
+                                                                        // hide the hovers
+                                                                        videoHoverDiv.hide();
+                                                                        controlsLeftHoverDiv.hide();
+                                                                        controlsRightHoverDiv.hide();
+
+                                                                        // restore the control bar
+                                                                        fullscreenBtn.css('pointer-events', '');
+                                                                        t.controls.css('pointer-events', '');
+
+                                                                        // store for later
+                                                                        fullscreenIsDisabled = false;
+                                                                }
+                                                        },
+                                                        videoHoverDiv = $('&lt;div class=&quot;mejs-fullscreen-hover&quot; /&gt;').appendTo(t.container).mouseover(restoreControls),
+                                                        controlsLeftHoverDiv = $('&lt;div class=&quot;mejs-fullscreen-hover&quot;  /&gt;').appendTo(t.container).mouseover(restoreControls),
+                                                        controlsRightHoverDiv = $('&lt;div class=&quot;mejs-fullscreen-hover&quot;  /&gt;').appendTo(t.container).mouseover(restoreControls),
+                                                        positionHoverDivs = function() {
+                                                                var style = {position: 'absolute', top: 0, left: 0}; //, backgroundColor: '#f00'};
+                                                                videoHoverDiv.css(style);
+                                                                controlsLeftHoverDiv.css(style);
+                                                                controlsRightHoverDiv.css(style);
+
+                                                                // over video, but not controls
+                                                                videoHoverDiv
+                                                                        .width( t.container.width() )
+                                                                        .height( t.container.height() - t.controls.height() );
+
+                                                                // over controls, but not the fullscreen button
+                                                                var fullScreenBtnOffset = fullscreenBtn.offset().left - t.container.offset().left;
+                                                                        fullScreenBtnWidth = fullscreenBtn.outerWidth(true);
+
+                                                                controlsLeftHoverDiv
+                                                                        .width( fullScreenBtnOffset )
+                                                                        .height( t.controls.height() )
+                                                                        .css({top: t.container.height() - t.controls.height()});
+
+                                                                // after the fullscreen button
+                                                                controlsRightHoverDiv
+                                                                        .width( t.container.width() - fullScreenBtnOffset - fullScreenBtnWidth )
+                                                                        .height( t.controls.height() )
+                                                                        .css({top: t.container.height() - t.controls.height(),
+                                                                                 left: fullScreenBtnOffset + fullScreenBtnWidth});
+                                                        };
+
+                                                $(document).resize(function() {
+                                                        positionHoverDivs();
+                                                });
+
+                                                // on hover, kill the fullscreen button's HTML handling, allowing clicks down to Flash
+                                                fullscreenBtn
+                                                        .mouseover(function() {
+
+                                                                if (!t.isFullScreen) {
+
+                                                                        var buttonPos = fullscreenBtn.offset(),
+                                                                                containerPos = player.container.offset();
+
+                                                                        // move the button in Flash into place
+                                                                        media.positionFullscreenButton(buttonPos.left - containerPos.left, buttonPos.top - containerPos.top, false);
+
+                                                                        // allows click through
+                                                                        fullscreenBtn.css('pointer-events', 'none');
+                                                                        t.controls.css('pointer-events', 'none');
+
+                                                                        // show the divs that will restore things
+                                                                        videoHoverDiv.show();
+                                                                        controlsRightHoverDiv.show();
+                                                                        controlsLeftHoverDiv.show();
+                                                                        positionHoverDivs();
+
+                                                                        fullscreenIsDisabled = true;
+                                                                }
+
+                                                        });
+
+                                                // restore controls anytime the user enters or leaves fullscreen
+                                                media.addEventListener('fullscreenchange', function(e) {
+                                                        restoreControls();
+                                                });
+
+
+                                                // the mouseout event doesn't work on the fullscren button, because we already killed the pointer-events
+                                                // so we use the document.mousemove event to restore controls when the mouse moves outside the fullscreen button
+                                                /*
+                                                $(document).mousemove(function(e) {
+
+                                                        // if the mouse is anywhere but the fullsceen button, then restore it all
+                                                        if (fullscreenIsDisabled) {
+
+                                                                var fullscreenBtnPos = fullscreenBtn.offset();
+
+
+                                                                if (e.pageY &lt; fullscreenBtnPos.top || e.pageY &gt; fullscreenBtnPos.top + fullscreenBtn.outerHeight(true) ||
+                                                                        e.pageX &lt; fullscreenBtnPos.left || e.pageX &gt; fullscreenBtnPos.left + fullscreenBtn.outerWidth(true)
+                                                                        ) {
+
+                                                                        fullscreenBtn.css('pointer-events', '');
+                                                                        t.controls.css('pointer-events', '');
+
+                                                                        fullscreenIsDisabled = false;
+                                                                }
+                                                        }
+                                                });
+                                                */
+
+
+                                        } else {
+
+                                                // the hover state will show the fullscreen button in Flash to hover up and click
+
+                                                fullscreenBtn
+                                                        .mouseover(function() {
+
+                                                                if (hideTimeout !== null) {
+                                                                        clearTimeout(hideTimeout);
+                                                                        delete hideTimeout;
+                                                                }
+
+                                                                var buttonPos = fullscreenBtn.offset(),
+                                                                        containerPos = player.container.offset();
+
+                                                                media.positionFullscreenButton(buttonPos.left - containerPos.left, buttonPos.top - containerPos.top, true);
+
+                                                        })
+                                                        .mouseout(function() {
+
+                                                                if (hideTimeout !== null) {
+                                                                        clearTimeout(hideTimeout);
+                                                                        delete hideTimeout;
+                                                                }
+
+                                                                hideTimeout = setTimeout(function() {
+                                                                        media.hideFullscreenButton();
+                                                                }, 1500);
+
+
+                                                        });
+                                        }
+                                }
+
+                        player.fullscreenBtn = fullscreenBtn;
+
+                        $(document).bind('keydown',function (e) {
+                                if (((mejs.MediaFeatures.hasTrueNativeFullScreen &amp;&amp; mejs.MediaFeatures.isFullScreen()) || t.isFullScreen) &amp;&amp; e.keyCode == 27) {
+                                        player.exitFullScreen();
+                                }
+                        });
+
+                },
+                enterFullScreen: function() {
+
+                        var t = this;
+
+                        // firefox+flash can't adjust plugin sizes without resetting :(
+                        if (t.media.pluginType !== 'native' &amp;&amp; (mejs.MediaFeatures.isFirefox || t.options.usePluginFullScreen)) {
+                                //t.media.setFullscreen(true);
+                                //player.isFullScreen = true;
+                                return;
+                        }
+
+                        // store overflow
+                        docStyleOverflow = document.documentElement.style.overflow;
+                        // set it to not show scroll bars so 100% will work
+                        document.documentElement.style.overflow = 'hidden';
+
+                        // store sizing
+                        normalHeight = t.container.height();
+                        normalWidth = t.container.width();
+
+                        // attempt to do true fullscreen (Safari 5.1 and Firefox Nightly only for now)
+                        if (t.media.pluginType === 'native') {
+                                if (mejs.MediaFeatures.hasTrueNativeFullScreen) {
+
+                                        mejs.MediaFeatures.requestFullScreen(t.container[0]);
+                                        //return;
+
+                                        if (t.isInIframe) {
+                                                // sometimes exiting from fullscreen doesn't work
+                                                // notably in Chrome &lt;iframe&gt;. Fixed in version 17
+                                                setTimeout(function checkFullscreen() {
+
+                                                        if (t.isNativeFullScreen) {
+
+                                                                // check if the video is suddenly not really fullscreen
+                                                                if ($(window).width() !== screen.width) {
+                                                                        // manually exit
+                                                                        t.exitFullScreen();
+                                                                } else {
+                                                                        // test again
+                                                                        setTimeout(checkFullscreen, 500);
+                                                                }
+                                                        }
+
+
+                                                }, 500);
+                                        }
+
+                                } else if (mejs.MediaFeatures.hasSemiNativeFullScreen) {
+                                        t.media.webkitEnterFullscreen();
+                                        return;
+                                }
+                        }
+
+                        // check for iframe launch
+                        if (t.isInIframe) {
+                                var url = t.options.newWindowCallback(this);
+
+
+                                if (url !== '') {
+
+                                        // launch immediately
+                                        if (!mejs.MediaFeatures.hasTrueNativeFullScreen) {
+                                                t.pause();
+                                                window.open(url, t.id, 'top=0,left=0,width=' + screen.availWidth + ',height=' + screen.availHeight + ',resizable=yes,scrollbars=no,status=no,toolbar=no');
+                                                return;
+                                        } else {
+                                                setTimeout(function() {
+                                                        if (!t.isNativeFullScreen) {
+                                                                t.pause();
+                                                                window.open(url, t.id, 'top=0,left=0,width=' + screen.availWidth + ',height=' + screen.availHeight + ',resizable=yes,scrollbars=no,status=no,toolbar=no');
+                                                        }
+                                                }, 250);
+                                        }
+                                }
+
+                        }
+
+                        // full window code
+
+
+
+                        // make full size
+                        t.container
+                                .addClass('mejs-container-fullscreen')
+                                .width('100%')
+                                .height('100%');
+                                //.css({position: 'fixed', left: 0, top: 0, right: 0, bottom: 0, overflow: 'hidden', width: '100%', height: '100%', 'z-index': 1000});
+
+                        // Only needed for safari 5.1 native full screen, can cause display issues elsewhere
+                        // Actually, it seems to be needed for IE8, too
+                        //if (mejs.MediaFeatures.hasTrueNativeFullScreen) {
+                                setTimeout(function() {
+                                        t.container.css({width: '100%', height: '100%'});
+                                        t.setControlsSize();
+                                }, 500);
+                        //}
+
+                        if (t.pluginType === 'native') {
+                                t.$media
+                                        .width('100%')
+                                        .height('100%');
+                        } else {
+                                t.container.find('object, embed, iframe')
+                                        .width('100%')
+                                        .height('100%');
+
+                                //if (!mejs.MediaFeatures.hasTrueNativeFullScreen) {
+                                        t.media.setVideoSize($(window).width(),$(window).height());
+                                //}
+                        }
+
+                        t.layers.children('div')
+                                .width('100%')
+                                .height('100%');
+
+                        if (t.fullscreenBtn) {
+                                t.fullscreenBtn
+                                        .removeClass('mejs-fullscreen')
+                                        .addClass('mejs-unfullscreen');
+                        }
+
+                        t.setControlsSize();
+                        t.isFullScreen = true;
+                },
+
+                exitFullScreen: function() {
+
+                        var t = this;
+
+                        // firefox can't adjust plugins
+                        if (t.media.pluginType !== 'native' &amp;&amp; mejs.MediaFeatures.isFirefox) {
+                                t.media.setFullscreen(false);
+                                //player.isFullScreen = false;
+                                return;
+                        }
+
+                        // come outo of native fullscreen
+                        if (mejs.MediaFeatures.hasTrueNativeFullScreen &amp;&amp; (mejs.MediaFeatures.isFullScreen() || t.isFullScreen)) {
+                                mejs.MediaFeatures.cancelFullScreen();
+                        }
+
+                        // restore scroll bars to document
+                        document.documentElement.style.overflow = docStyleOverflow;
+
+                        t.container
+                                .removeClass('mejs-container-fullscreen')
+                                .width(normalWidth)
+                                .height(normalHeight);
+                                //.css({position: '', left: '', top: '', right: '', bottom: '', overflow: 'inherit', width: normalWidth + 'px', height: normalHeight + 'px', 'z-index': 1});
+
+                        if (t.pluginType === 'native') {
+                                t.$media
+                                        .width(normalWidth)
+                                        .height(normalHeight);
+                        } else {
+                                t.container.find('object embed')
+                                        .width(normalWidth)
+                                        .height(normalHeight);
+
+                                t.media.setVideoSize(normalWidth, normalHeight);
+                        }
+
+                        t.layers.children('div')
+                                .width(normalWidth)
+                                .height(normalHeight);
+
+                        t.fullscreenBtn
+                                .removeClass('mejs-unfullscreen')
+                                .addClass('mejs-fullscreen');
+
+                        t.setControlsSize();
+                        t.isFullScreen = false;
+                }
+        });
+
+})(mejs.$);
+
+(function($) {
+
+        // add extra default options 
+        $.extend(mejs.MepDefaults, {
+                // this will automatically turn on a &lt;track&gt;
+                startLanguage: '',
+                
+                tracksText: 'Captions/Subtitles'
+        });
+
+        $.extend(MediaElementPlayer.prototype, {
+        
+                hasChapters: false,
+
+                buildtracks: function(player, controls, layers, media) {
+                        if (!player.isVideo)
+                                return;
+
+                        if (player.tracks.length == 0)
+                                return;
+
+                        var t= this, i, options = '';
+
+                        player.chapters = 
+                                        $('&lt;div class=&quot;mejs-chapters mejs-layer&quot;&gt;&lt;/div&gt;')
+                                                .prependTo(layers).hide();
+                        player.captions = 
+                                        $('&lt;div class=&quot;mejs-captions-layer mejs-layer&quot;&gt;&lt;div class=&quot;mejs-captions-position&quot;&gt;&lt;span class=&quot;mejs-captions-text&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;')
+                                                .prependTo(layers).hide();
+                        player.captionsText = player.captions.find('.mejs-captions-text');
+                        player.captionsButton = 
+                                        $('&lt;div class=&quot;mejs-button mejs-captions-button&quot;&gt;'+
+                                                '&lt;button type=&quot;button&quot; aria-controls=&quot;' + t.id + '&quot; title=&quot;' + t.options.tracksText + '&quot;&gt;&lt;/button&gt;'+
+                                                '&lt;div class=&quot;mejs-captions-selector&quot;&gt;'+
+                                                        '&lt;ul&gt;'+
+                                                                '&lt;li&gt;'+
+                                                                        '&lt;input type=&quot;radio&quot; name=&quot;' + player.id + '_captions&quot; id=&quot;' + player.id + '_captions_none&quot; value=&quot;none&quot; checked=&quot;checked&quot; /&gt;' +
+                                                                        '&lt;label for=&quot;' + player.id + '_captions_none&quot;&gt;None&lt;/label&gt;'+
+                                                                '&lt;/li&gt;'        +
+                                                        '&lt;/ul&gt;'+
+                                                '&lt;/div&gt;'+
+                                        '&lt;/div&gt;')
+                                                .appendTo(controls)
+                                                
+                                                // hover
+                                                .hover(function() {
+                                                        $(this).find('.mejs-captions-selector').css('visibility','visible');
+                                                }, function() {
+                                                        $(this).find('.mejs-captions-selector').css('visibility','hidden');
+                                                })                                        
+                                                
+                                                // handle clicks to the language radio buttons
+                                                .delegate('input[type=radio]','click',function() {
+                                                        lang = this.value;
+
+                                                        if (lang == 'none') {
+                                                                player.selectedTrack = null;
+                                                        } else {
+                                                                for (i=0; i&lt;player.tracks.length; i++) {
+                                                                        if (player.tracks[i].srclang == lang) {
+                                                                                player.selectedTrack = player.tracks[i];
+                                                                                player.captions.attr('lang', player.selectedTrack.srclang);
+                                                                                player.displayCaptions();
+                                                                                break;
+                                                                        }
+                                                                }
+                                                        }
+                                                });
+                                                //.bind('mouseenter', function() {
+                                                //        player.captionsButton.find('.mejs-captions-selector').css('visibility','visible')
+                                                //});
+
+                        if (!player.options.alwaysShowControls) {
+                                // move with controls
+                                player.container
+                                        .bind('mouseenter', function () {
+                                                // push captions above controls
+                                                player.container.find('.mejs-captions-position').addClass('mejs-captions-position-hover');
+
+                                        })
+                                        .bind('mouseleave', function () {
+                                                if (!media.paused) {
+                                                        // move back to normal place
+                                                        player.container.find('.mejs-captions-position').removeClass('mejs-captions-position-hover');
+                                                }
+                                        });
+                        } else {
+                                player.container.find('.mejs-captions-position').addClass('mejs-captions-position-hover');
+                        }
+
+                        player.trackToLoad = -1;
+                        player.selectedTrack = null;
+                        player.isLoadingTrack = false;
+
+                        
+
+                        // add to list
+                        for (i=0; i&lt;player.tracks.length; i++) {
+                                if (player.tracks[i].kind == 'subtitles') {
+                                        player.addTrackButton(player.tracks[i].srclang, player.tracks[i].label);
+                                }
+                        }
+
+                        player.loadNextTrack();
+
+
+                        media.addEventListener('timeupdate',function(e) {
+                                player.displayCaptions();
+                        }, false);
+
+                        media.addEventListener('loadedmetadata', function(e) {
+                                player.displayChapters();
+                        }, false);
+
+                        player.container.hover(
+                                function () {
+                                        // chapters
+                                        if (player.hasChapters) {
+                                                player.chapters.css('visibility','visible');
+                                                player.chapters.fadeIn(200).height(player.chapters.find('.mejs-chapter').outerHeight());
+                                        }
+                                },
+                                function () {
+                                        if (player.hasChapters &amp;&amp; !media.paused) {
+                                                player.chapters.fadeOut(200, function() {
+                                                        $(this).css('visibility','hidden');
+                                                        $(this).css('display','block');
+                                                });
+                                        }
+                                });
+                                
+                        // check for autoplay
+                        if (player.node.getAttribute('autoplay') !== null) {
+                                player.chapters.css('visibility','hidden');
+                        }
+                },
+
+                loadNextTrack: function() {
+                        var t = this;
+
+                        t.trackToLoad++;
+                        if (t.trackToLoad &lt; t.tracks.length) {
+                                t.isLoadingTrack = true;
+                                t.loadTrack(t.trackToLoad);
+                        } else {
+                                // add done?
+                                t.isLoadingTrack = false;
+                        }
+                },
+
+                loadTrack: function(index){
+                        var
+                                t = this,
+                                track = t.tracks[index],
+                                after = function() {
+
+                                        track.isLoaded = true;
+
+                                        // create button
+                                        //t.addTrackButton(track.srclang);
+                                        t.enableTrackButton(track.srclang, track.label);
+
+                                        t.loadNextTrack();
+
+                                };
+
+
+                        $.ajax({
+                                url: track.src,
+                                dataType: &quot;text&quot;,
+                                success: function(d) {
+
+                                        // parse the loaded file
+                                        if (typeof d == &quot;string&quot; &amp;&amp; (/&lt;tt\s+xml/ig).exec(d)) {
+                                                track.entries = mejs.TrackFormatParser.dfxp.parse(d);                                        
+                                        } else {        
+                                                track.entries = mejs.TrackFormatParser.webvvt.parse(d);
+                                        }
+                                        
+                                        after();
+
+                                        if (track.kind == 'chapters') {
+                                                t.media.addEventListener('play', function(e) {
+                                                        if (t.media.duration &gt; 0) {
+                                                                t.displayChapters(track);
+                                                        }
+                                                }, false);
+                                        }
+                                },
+                                error: function() {
+                                        t.loadNextTrack();
+                                }
+                        });
+                },
+
+                enableTrackButton: function(lang, label) {
+                        var t = this;
+                        
+                        if (label === '') {
+                                label = mejs.language.codes[lang] || lang;
+                        }                        
+
+                        t.captionsButton
+                                .find('input[value=' + lang + ']')
+                                        .prop('disabled',false)
+                                .siblings('label')
+                                        .html( label );
+
+                        // auto select
+                        if (t.options.startLanguage == lang) {
+                                $('#' + t.id + '_captions_' + lang).click();
+                        }
+
+                        t.adjustLanguageBox();
+                },
+
+                addTrackButton: function(lang, label) {
+                        var t = this;
+                        if (label === '') {
+                                label = mejs.language.codes[lang] || lang;
+                        }
+
+                        t.captionsButton.find('ul').append(
+                                $('&lt;li&gt;'+
+                                        '&lt;input type=&quot;radio&quot; name=&quot;' + t.id + '_captions&quot; id=&quot;' + t.id + '_captions_' + lang + '&quot; value=&quot;' + lang + '&quot; disabled=&quot;disabled&quot; /&gt;' +
+                                        '&lt;label for=&quot;' + t.id + '_captions_' + lang + '&quot;&gt;' + label + ' (loading)' + '&lt;/label&gt;'+
+                                '&lt;/li&gt;')
+                        );
+
+                        t.adjustLanguageBox();
+
+                        // remove this from the dropdownlist (if it exists)
+                        t.container.find('.mejs-captions-translations option[value=' + lang + ']').remove();
+                },
+
+                adjustLanguageBox:function() {
+                        var t = this;
+                        // adjust the size of the outer box
+                        t.captionsButton.find('.mejs-captions-selector').height(
+                                t.captionsButton.find('.mejs-captions-selector ul').outerHeight(true) +
+                                t.captionsButton.find('.mejs-captions-translations').outerHeight(true)
+                        );
+                },
+
+                displayCaptions: function() {
+
+                        if (typeof this.tracks == 'undefined')
+                                return;
+
+                        var
+                                t = this,
+                                i,
+                                track = t.selectedTrack;
+
+                        if (track != null &amp;&amp; track.isLoaded) {
+                                for (i=0; i&lt;track.entries.times.length; i++) {
+                                        if (t.media.currentTime &gt;= track.entries.times[i].start &amp;&amp; t.media.currentTime &lt;= track.entries.times[i].stop){
+                                                t.captionsText.html(track.entries.text[i]);
+                                                t.captions.show().height(0);
+                                                return; // exit out if one is visible;
+                                        }
+                                }
+                                t.captions.hide();
+                        } else {
+                                t.captions.hide();
+                        }
+                },
+
+                displayChapters: function() {
+                        var 
+                                t = this,
+                                i;
+
+                        for (i=0; i&lt;t.tracks.length; i++) {
+                                if (t.tracks[i].kind == 'chapters' &amp;&amp; t.tracks[i].isLoaded) {
+                                        t.drawChapters(t.tracks[i]);
+                                        t.hasChapters = true;
+                                        break;
+                                }
+                        }
+                },
+
+                drawChapters: function(chapters) {
+                        var 
+                                t = this,
+                                i,
+                                dur,
+                                //width,
+                                //left,
+                                percent = 0,
+                                usedPercent = 0;
+
+                        t.chapters.empty();
+
+                        for (i=0; i&lt;chapters.entries.times.length; i++) {
+                                dur = chapters.entries.times[i].stop - chapters.entries.times[i].start;
+                                percent = Math.floor(dur / t.media.duration * 100);
+                                if (percent + usedPercent &gt; 100 || // too large
+                                        i == chapters.entries.times.length-1 &amp;&amp; percent + usedPercent &lt; 100) // not going to fill it in
+                                        {
+                                        percent = 100 - usedPercent;
+                                }
+                                //width = Math.floor(t.width * dur / t.media.duration);
+                                //left = Math.floor(t.width * chapters.entries.times[i].start / t.media.duration);
+                                //if (left + width &gt; t.width) {
+                                //        width = t.width - left;
+                                //}
+
+                                t.chapters.append( $(
+                                        '&lt;div class=&quot;mejs-chapter&quot; rel=&quot;' + chapters.entries.times[i].start + '&quot; style=&quot;left: ' + usedPercent.toString() + '%;width: ' + percent.toString() + '%;&quot;&gt;' + 
+                                                '&lt;div class=&quot;mejs-chapter-block' + ((i==chapters.entries.times.length-1) ? ' mejs-chapter-block-last' : '') + '&quot;&gt;' + 
+                                                        '&lt;span class=&quot;ch-title&quot;&gt;' + chapters.entries.text[i] + '&lt;/span&gt;' + 
+                                                        '&lt;span class=&quot;ch-time&quot;&gt;' + mejs.Utility.secondsToTimeCode(chapters.entries.times[i].start) + '&amp;ndash;' + mejs.Utility.secondsToTimeCode(chapters.entries.times[i].stop) + '&lt;/span&gt;' + 
+                                                '&lt;/div&gt;' +
+                                        '&lt;/div&gt;'));
+                                usedPercent += percent;
+                        }
+
+                        t.chapters.find('div.mejs-chapter').click(function() {
+                                t.media.setCurrentTime( parseFloat( $(this).attr('rel') ) );
+                                if (t.media.paused) {
+                                        t.media.play(); 
+                                }
+                        });
+
+                        t.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',
+                        tl:'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',
+                        //'pt-pt':'Portuguese (Portugal)',
+                        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'
+                }
+        };
+
+        /*
+        Parses WebVVT format which should be formatted as
+        ================================
+        WEBVTT
+        
+        1
+        00:00:01,1 --&gt; 00:00:05,000
+        A line of text
+
+        2
+        00:01:15,1 --&gt; 00:02:05,000
+        A second line of text
+        
+        ===============================
+
+        Adapted from: http://www.delphiki.com/html5/playr
+        */
+        mejs.TrackFormatParser = {
+                webvvt: {
+                        // match start &quot;chapter-&quot; (or anythingelse)
+                        pattern_identifier: /^([a-zA-z]+-)?[0-9]+$/,
+                        pattern_timecode: /^([0-9]{2}:[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\&gt; ([0-9]{2}:[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,
+
+                        parse: function(trackText) {
+                                var 
+                                        i = 0,
+                                        lines = mejs.TrackFormatParser.split2(trackText, /\r?\n/),
+                                        entries = {text:[], times:[]},
+                                        timecode,
+                                        text;
+                                for(; i&lt;lines.length; i++) {
+                                        // check for the line number
+                                        if (this.pattern_identifier.exec(lines[i])){
+                                                // skip to the next line where the start --&gt; end time code should be
+                                                i++;
+                                                timecode = this.pattern_timecode.exec(lines[i]);                                
+
+                                                if (timecode &amp;&amp; i&lt;lines.length){
+                                                        i++;
+                                                        // grab all the (possibly multi-line) text that follows
+                                                        text = lines[i];
+                                                        i++;
+                                                        while(lines[i] !== '' &amp;&amp; i&lt;lines.length){
+                                                                text = text + '\n' + lines[i];
+                                                                i++;
+                                                        }
+                                                        text = $.trim(text).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&amp;@#\/%?=~_|!:,.;]*[-A-Z0-9+&amp;@#\/%=~_|])/ig, &quot;&lt;a href='$1' target='_blank'&gt;$1&lt;/a&gt;&quot;);
+                                                        // Text is in a different array so I can use .join
+                                                        entries.text.push(text);
+                                                        entries.times.push(
+                                                        {
+                                                                start: (mejs.Utility.convertSMPTEtoSeconds(timecode[1]) == 0) ? 0.200 : mejs.Utility.convertSMPTEtoSeconds(timecode[1]),
+                                                                stop: mejs.Utility.convertSMPTEtoSeconds(timecode[3]),
+                                                                settings: timecode[5]
+                                                        });
+                                                }
+                                        }
+                                }
+                                return entries;
+                        }
+                },
+                // Thanks to Justin Capella: https://github.com/johndyer/mediaelement/pull/420
+                dfxp: {
+                        parse: function(trackText) {
+                                trackText = $(trackText).filter(&quot;tt&quot;);
+                                var 
+                                        i = 0,
+                                        container = trackText.children(&quot;div&quot;).eq(0),
+                                        lines = container.find(&quot;p&quot;),
+                                        styleNode = trackText.find(&quot;#&quot; + container.attr(&quot;style&quot;)),
+                                        styles,
+                                        begin,
+                                        end,
+                                        text,
+                                        entries = {text:[], times:[]};
+
+
+                                if (styleNode.length) {
+                                        var attributes = styleNode.removeAttr(&quot;id&quot;).get(0).attributes;
+                                        if (attributes.length) {
+                                                styles = {};
+                                                for (i = 0; i &lt; attributes.length; i++) {
+                                                        styles[attributes[i].name.split(&quot;:&quot;)[1]] = attributes[i].value;
+                                                }
+                                        }
+                                }
+
+                                for(i = 0; i&lt;lines.length; i++) {
+                                        var style;
+                                        var _temp_times = {
+                                                start: null,
+                                                stop: null,
+                                                style: null
+                                        };
+                                        if (lines.eq(i).attr(&quot;begin&quot;)) _temp_times.start = mejs.Utility.convertSMPTEtoSeconds(lines.eq(i).attr(&quot;begin&quot;));
+                                        if (!_temp_times.start &amp;&amp; lines.eq(i-1).attr(&quot;end&quot;)) _temp_times.start = mejs.Utility.convertSMPTEtoSeconds(lines.eq(i-1).attr(&quot;end&quot;));
+                                        if (lines.eq(i).attr(&quot;end&quot;)) _temp_times.stop = mejs.Utility.convertSMPTEtoSeconds(lines.eq(i).attr(&quot;end&quot;));
+                                        if (!_temp_times.stop &amp;&amp; lines.eq(i+1).attr(&quot;begin&quot;)) _temp_times.stop = mejs.Utility.convertSMPTEtoSeconds(lines.eq(i+1).attr(&quot;begin&quot;));
+                                        if (styles) {
+                                                style = &quot;&quot;;
+                                                for (var _style in styles) {
+                                                        style += _style + &quot;:&quot; + styles[_style] + &quot;;&quot;;                                        
+                                                }
+                                        }
+                                        if (style) _temp_times.style = style;
+                                        if (_temp_times.start == 0) _temp_times.start = 0.200;
+                                        entries.times.push(_temp_times);
+                                        text = $.trim(lines.eq(i).html()).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&amp;@#\/%?=~_|!:,.;]*[-A-Z0-9+&amp;@#\/%=~_|])/ig, &quot;&lt;a href='$1' target='_blank'&gt;$1&lt;/a&gt;&quot;);
+                                        entries.text.push(text);
+                                        if (entries.times.start == 0) entries.times.start = 2;
+                                }
+                                return entries;
+                        }
+                },
+                split2: function (text, regex) {
+                        // normal version for compliant browsers
+                        // see below for IE fix
+                        return text.split(regex);
+                }
+        };
+        
+        // test for browsers with bad String.split method.
+        if ('x\n\ny'.split(/\n/gi).length != 3) {
+                // add super slow IE8 and below version
+                mejs.TrackFormatParser.split2 = function(text, regex) {
+                        var 
+                                parts = [], 
+                                chunk = '',
+                                i;
+
+                        for (i=0; i&lt;text.length; i++) {
+                                chunk += text.substring(i,i+1);
+                                if (regex.test(chunk)) {
+                                        parts.push(chunk.replace(regex, ''));
+                                        chunk = '';
+                                }
+                        }
+                        parts.push(chunk);
+                        return parts;
+                }
+        }        
+
+})(mejs.$);
+
+/*
+* ContextMenu Plugin
+* 
+*
+*/
+
+(function($) {
+
+$.extend(mejs.MepDefaults,
+        { 'contextMenuItems': [
+                // demo of a fullscreen option
+                { 
+                        render: function(player) {
+                                
+                                // check for fullscreen plugin
+                                if (typeof player.enterFullScreen == 'undefined')
+                                        return null;
+                        
+                                if (player.isFullScreen) {
+                                        return &quot;Turn off Fullscreen&quot;;
+                                } else {
+                                        return &quot;Go Fullscreen&quot;;
+                                }
+                        },
+                        click: function(player) {
+                                if (player.isFullScreen) {
+                                        player.exitFullScreen();
+                                } else {
+                                        player.enterFullScreen();
+                                }
+                        }
+                }
+                ,
+                // demo of a mute/unmute button
+                { 
+                        render: function(player) {
+                                if (player.media.muted) {
+                                        return &quot;Unmute&quot;;
+                                } else {
+                                        return &quot;Mute&quot;;
+                                }
+                        },
+                        click: function(player) {
+                                if (player.media.muted) {
+                                        player.setMuted(false);
+                                } else {
+                                        player.setMuted(true);
+                                }
+                        }
+                },
+                // separator
+                {
+                        isSeparator: true
+                }
+                ,
+                // demo of simple download video
+                { 
+                        render: function(player) {
+                                return &quot;Download Video&quot;;
+                        },
+                        click: function(player) {
+                                window.location.href = player.media.currentSrc;
+                        }
+                }        
+        ]}
+);
+
+
+        $.extend(MediaElementPlayer.prototype, {
+                buildcontextmenu: function(player, controls, layers, media) {
+                        
+                        // create context menu
+                        player.contextMenu = $('&lt;div class=&quot;mejs-contextmenu&quot;&gt;&lt;/div&gt;')
+                                                                .appendTo($('body'))
+                                                                .hide();
+                        
+                        // create events for showing context menu
+                        player.container.bind('contextmenu', function(e) {
+                                if (player.isContextMenuEnabled) {
+                                        e.preventDefault();
+                                        player.renderContextMenu(e.clientX-1, e.clientY-1);
+                                        return false;
+                                }
+                        });
+                        player.container.bind('click', function() {
+                                player.contextMenu.hide();
+                        });        
+                        player.contextMenu.bind('mouseleave', function() {
+
+                                //console.log('context hover out');
+                                player.startContextMenuTimer();
+                                
+                        });                
+                },
+                
+                isContextMenuEnabled: true,
+                enableContextMenu: function() {
+                        this.isContextMenuEnabled = true;
+                },
+                disableContextMenu: function() {
+                        this.isContextMenuEnabled = false;
+                },
+                
+                contextMenuTimeout: null,
+                startContextMenuTimer: function() {
+                        //console.log('startContextMenuTimer');
+                        
+                        var t = this;
+                        
+                        t.killContextMenuTimer();
+                        
+                        t.contextMenuTimer = setTimeout(function() {
+                                t.hideContextMenu();
+                                t.killContextMenuTimer();
+                        }, 750);
+                },
+                killContextMenuTimer: function() {
+                        var timer = this.contextMenuTimer;
+                        
+                        //console.log('killContextMenuTimer', timer);
+                        
+                        if (timer != null) {                                
+                                clearTimeout(timer);
+                                delete timer;
+                                timer = null;
+                        }
+                },                
+                
+                hideContextMenu: function() {
+                        this.contextMenu.hide();
+                },
+                
+                renderContextMenu: function(x,y) {
+                        
+                        // alway re-render the items so that things like &quot;turn fullscreen on&quot; and &quot;turn fullscreen off&quot; are always written correctly
+                        var t = this,
+                                html = '',
+                                items = t.options.contextMenuItems;
+                        
+                        for (var i=0, il=items.length; i&lt;il; i++) {
+                                
+                                if (items[i].isSeparator) {
+                                        html += '&lt;div class=&quot;mejs-contextmenu-separator&quot;&gt;&lt;/div&gt;';
+                                } else {
+                                
+                                        var rendered = items[i].render(t);
+                                
+                                        // render can return null if the item doesn't need to be used at the moment
+                                        if (rendered != null) {
+                                                html += '&lt;div class=&quot;mejs-contextmenu-item&quot; data-itemindex=&quot;' + i + '&quot; id=&quot;element-' + (Math.random()*1000000) + '&quot;&gt;' + rendered + '&lt;/div&gt;';
+                                        }
+                                }
+                        }
+                        
+                        // position and show the context menu
+                        t.contextMenu
+                                .empty()
+                                .append($(html))
+                                .css({top:y, left:x})
+                                .show();
+                                
+                        // bind events
+                        t.contextMenu.find('.mejs-contextmenu-item').each(function() {
+                                                        
+                                // which one is this?
+                                var $dom = $(this),
+                                        itemIndex = parseInt( $dom.data('itemindex'), 10 ),
+                                        item = t.options.contextMenuItems[itemIndex];
+                                
+                                // bind extra functionality?
+                                if (typeof item.show != 'undefined')
+                                        item.show( $dom , t);
+                                
+                                // bind click action
+                                $dom.click(function() {                        
+                                        // perform click action
+                                        if (typeof item.click != 'undefined')
+                                                item.click(t);
+                                        
+                                        // close
+                                        t.contextMenu.hide();                                
+                                });                                
+                        });        
+                        
+                        // stop the controls from hiding
+                        setTimeout(function() {
+                                t.killControlsTimer('rev3');        
+                        }, 100);
+                                                
+                }
+        });
+        
+})(mejs.$);
+/**
+ * Postroll plugin
+ */
+(function($) {
+
+        $.extend(mejs.MepDefaults, {
+                postrollCloseText: mejs.i18n.t('Close')
+        });
+
+        // Postroll
+        $.extend(MediaElementPlayer.prototype, {
+                buildpostroll: function(player, controls, layers, media) {
+                        var
+                                t = this,
+                                postrollLink = t.container.find('link[rel=&quot;postroll&quot;]').attr('href');
+
+                        if (typeof postrollLink !== 'undefined') {
+                                player.postroll =
+                                        $('&lt;div class=&quot;mejs-postroll-layer mejs-layer&quot;&gt;&lt;a class=&quot;mejs-postroll-close&quot; onclick=&quot;$(this).parent().hide();return false;&quot;&gt;' + t.options.postrollCloseText + '&lt;/a&gt;&lt;div class=&quot;mejs-postroll-layer-content&quot;&gt;&lt;/div&gt;&lt;/div&gt;').prependTo(layers).hide();
+
+                                t.media.addEventListener('ended', function (e) {
+                                        $.ajax({
+                                                dataType: 'html',
+                                                url: postrollLink,
+                                                success: function (data, textStatus) {
+                                                        layers.find('.mejs-postroll-layer-content').html(data);
+                                                }
+                                        });
+                                        player.postroll.show();
+                                }, false);
+                        }
+                }
+        });
+
+})(mejs.$);
+
</ins></span></pre></div>
<a id="trunkwpincludesmediaelementmediaelementandplayerminjs"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/mediaelement/mediaelement-and-player.min.js (0 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/mediaelement/mediaelement-and-player.min.js                                (rev 0)
+++ trunk/wp-includes/mediaelement/mediaelement-and-player.min.js        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -0,0 +1,158 @@
</span><ins>+/*!
+* MediaElement.js
+* HTML5 &lt;video&gt; and &lt;audio&gt; shim and player
+* http://mediaelementjs.com/
+*
+* Creates a JavaScript object that mimics HTML5 MediaElement API
+* for browsers that don't understand HTML5 or can't play the provided codec
+* Can play MP4 (H.264), Ogg, WebM, FLV, WMV, WMA, ACC, and MP3
+*
+* Copyright 2010-2012, John Dyer (http://j.hn)
+* Dual licensed under the MIT or GPL Version 2 licenses.
+*
+*/var mejs=mejs||{};mejs.version=&quot;2.10.1&quot;;mejs.meIndex=0;
+mejs.plugins={silverlight:[{version:[3,0],types:[&quot;video/mp4&quot;,&quot;video/m4v&quot;,&quot;video/mov&quot;,&quot;video/wmv&quot;,&quot;audio/wma&quot;,&quot;audio/m4a&quot;,&quot;audio/mp3&quot;,&quot;audio/wav&quot;,&quot;audio/mpeg&quot;]}],flash:[{version:[9,0,124],types:[&quot;video/mp4&quot;,&quot;video/m4v&quot;,&quot;video/mov&quot;,&quot;video/flv&quot;,&quot;video/rtmp&quot;,&quot;video/x-flv&quot;,&quot;audio/flv&quot;,&quot;audio/x-flv&quot;,&quot;audio/mp3&quot;,&quot;audio/m4a&quot;,&quot;audio/mpeg&quot;,&quot;video/youtube&quot;,&quot;video/x-youtube&quot;]}],youtube:[{version:null,types:[&quot;video/youtube&quot;,&quot;video/x-youtube&quot;]}],vimeo:[{version:null,types:[&quot;video/vimeo&quot;,&quot;video/x-vimeo&quot;]}]};
+mejs.Utility={encodeUrl:function(a){return encodeURIComponent(a)},escapeHTML:function(a){return a.toString().split(&quot;&amp;&quot;).join(&quot;&amp;amp;&quot;).split(&quot;&lt;&quot;).join(&quot;&amp;lt;&quot;).split('&quot;').join(&quot;&amp;quot;&quot;)},absolutizeUrl:function(a){var b=document.createElement(&quot;div&quot;);b.innerHTML='&lt;a href=&quot;'+this.escapeHTML(a)+'&quot;&gt;x&lt;/a&gt;';return b.firstChild.href},getScriptPath:function(a){for(var b=0,c,d=&quot;&quot;,e=&quot;&quot;,g,f=document.getElementsByTagName(&quot;script&quot;),h=f.length,l=a.length;b&lt;h;b++){g=f[b].src;for(c=0;c&lt;l;c++){e=a[c];if(g.indexOf(e)&gt;
+-1){d=g.substring(0,g.indexOf(e));break}}if(d!==&quot;&quot;)break}return d},secondsToTimeCode:function(a,b,c,d){if(typeof c==&quot;undefined&quot;)c=false;else if(typeof d==&quot;undefined&quot;)d=25;var e=Math.floor(a/3600)%24,g=Math.floor(a/60)%60,f=Math.floor(a%60);a=Math.floor((a%1*d).toFixed(3));return(b||e&gt;0?(e&lt;10?&quot;0&quot;+e:e)+&quot;:&quot;:&quot;&quot;)+(g&lt;10?&quot;0&quot;+g:g)+&quot;:&quot;+(f&lt;10?&quot;0&quot;+f:f)+(c?&quot;:&quot;+(a&lt;10?&quot;0&quot;+a:a):&quot;&quot;)},timeCodeToSeconds:function(a,b,c,d){if(typeof c==&quot;undefined&quot;)c=false;else if(typeof d==&quot;undefined&quot;)d=25;a=a.split(&quot;:&quot;);b=parseInt(a[0],
+10);var e=parseInt(a[1],10),g=parseInt(a[2],10),f=0,h=0;if(c)f=parseInt(a[3])/d;return h=b*3600+e*60+g+f},convertSMPTEtoSeconds:function(a){if(typeof a!=&quot;string&quot;)return false;a=a.replace(&quot;,&quot;,&quot;.&quot;);var b=0,c=a.indexOf(&quot;.&quot;)!=-1?a.split(&quot;.&quot;)[1].length:0,d=1;a=a.split(&quot;:&quot;).reverse();for(var e=0;e&lt;a.length;e++){d=1;if(e&gt;0)d=Math.pow(60,e);b+=Number(a[e])*d}return Number(b.toFixed(c))},removeSwf:function(a){var b=document.getElementById(a);if(b&amp;&amp;b.nodeName==&quot;OBJECT&quot;)if(mejs.MediaFeatures.isIE){b.style.display=
+&quot;none&quot;;(function(){b.readyState==4?mejs.Utility.removeObjectInIE(a):setTimeout(arguments.callee,10)})()}else b.parentNode.removeChild(b)},removeObjectInIE:function(a){if(a=document.getElementById(a)){for(var b in a)if(typeof a[b]==&quot;function&quot;)a[b]=null;a.parentNode.removeChild(a)}}};
+mejs.PluginDetector={hasPluginVersion:function(a,b){var c=this.plugins[a];b[1]=b[1]||0;b[2]=b[2]||0;return c[0]&gt;b[0]||c[0]==b[0]&amp;&amp;c[1]&gt;b[1]||c[0]==b[0]&amp;&amp;c[1]==b[1]&amp;&amp;c[2]&gt;=b[2]?true:false},nav:window.navigator,ua:window.navigator.userAgent.toLowerCase(),plugins:[],addPlugin:function(a,b,c,d,e){this.plugins[a]=this.detectPlugin(b,c,d,e)},detectPlugin:function(a,b,c,d){var e=[0,0,0],g;if(typeof this.nav.plugins!=&quot;undefined&quot;&amp;&amp;typeof this.nav.plugins[a]==&quot;object&quot;){if((c=this.nav.plugins[a].description)&amp;&amp;
+!(typeof this.nav.mimeTypes!=&quot;undefined&quot;&amp;&amp;this.nav.mimeTypes[b]&amp;&amp;!this.nav.mimeTypes[b].enabledPlugin)){e=c.replace(a,&quot;&quot;).replace(/^\s+/,&quot;&quot;).replace(/\sr/gi,&quot;.&quot;).split(&quot;.&quot;);for(a=0;a&lt;e.length;a++)e[a]=parseInt(e[a].match(/\d+/),10)}}else if(typeof window.ActiveXObject!=&quot;undefined&quot;)try{if(g=new ActiveXObject(c))e=d(g)}catch(f){}return e}};
+mejs.PluginDetector.addPlugin(&quot;flash&quot;,&quot;Shockwave Flash&quot;,&quot;application/x-shockwave-flash&quot;,&quot;ShockwaveFlash.ShockwaveFlash&quot;,function(a){var b=[];if(a=a.GetVariable(&quot;$version&quot;)){a=a.split(&quot; &quot;)[1].split(&quot;,&quot;);b=[parseInt(a[0],10),parseInt(a[1],10),parseInt(a[2],10)]}return b});
+mejs.PluginDetector.addPlugin(&quot;silverlight&quot;,&quot;Silverlight Plug-In&quot;,&quot;application/x-silverlight-2&quot;,&quot;AgControl.AgControl&quot;,function(a){var b=[0,0,0,0],c=function(d,e,g,f){for(;d.isVersionSupported(e[0]+&quot;.&quot;+e[1]+&quot;.&quot;+e[2]+&quot;.&quot;+e[3]);)e[g]+=f;e[g]-=f};c(a,b,0,1);c(a,b,1,1);c(a,b,2,1E4);c(a,b,2,1E3);c(a,b,2,100);c(a,b,2,10);c(a,b,2,1);c(a,b,3,1);return b});
+mejs.MediaFeatures={init:function(){var a=this,b=document,c=mejs.PluginDetector.nav,d=mejs.PluginDetector.ua.toLowerCase(),e,g=[&quot;source&quot;,&quot;track&quot;,&quot;audio&quot;,&quot;video&quot;];a.isiPad=d.match(/ipad/i)!==null;a.isiPhone=d.match(/iphone/i)!==null;a.isiOS=a.isiPhone||a.isiPad;a.isAndroid=d.match(/android/i)!==null;a.isBustedAndroid=d.match(/android 2\.[12]/)!==null;a.isIE=c.appName.toLowerCase().indexOf(&quot;microsoft&quot;)!=-1;a.isChrome=d.match(/chrome/gi)!==null;a.isFirefox=d.match(/firefox/gi)!==null;a.isWebkit=d.match(/webkit/gi)!==
+null;a.isGecko=d.match(/gecko/gi)!==null&amp;&amp;!a.isWebkit;a.isOpera=d.match(/opera/gi)!==null;a.hasTouch=&quot;ontouchstart&quot;in window;a.svg=!!document.createElementNS&amp;&amp;!!document.createElementNS(&quot;http://www.w3.org/2000/svg&quot;,&quot;svg&quot;).createSVGRect;for(c=0;c&lt;g.length;c++)e=document.createElement(g[c]);a.supportsMediaTag=typeof e.canPlayType!==&quot;undefined&quot;||a.isBustedAndroid;a.hasSemiNativeFullScreen=typeof e.webkitEnterFullscreen!==&quot;undefined&quot;;a.hasWebkitNativeFullScreen=typeof e.webkitRequestFullScreen!==&quot;undefined&quot;;
+a.hasMozNativeFullScreen=typeof e.mozRequestFullScreen!==&quot;undefined&quot;;a.hasTrueNativeFullScreen=a.hasWebkitNativeFullScreen||a.hasMozNativeFullScreen;a.nativeFullScreenEnabled=a.hasTrueNativeFullScreen;if(a.hasMozNativeFullScreen)a.nativeFullScreenEnabled=e.mozFullScreenEnabled;if(this.isChrome)a.hasSemiNativeFullScreen=false;if(a.hasTrueNativeFullScreen){a.fullScreenEventName=a.hasWebkitNativeFullScreen?&quot;webkitfullscreenchange&quot;:&quot;mozfullscreenchange&quot;;a.isFullScreen=function(){if(e.mozRequestFullScreen)return b.mozFullScreen;
+else if(e.webkitRequestFullScreen)return b.webkitIsFullScreen};a.requestFullScreen=function(f){if(a.hasWebkitNativeFullScreen)f.webkitRequestFullScreen();else a.hasMozNativeFullScreen&amp;&amp;f.mozRequestFullScreen()};a.cancelFullScreen=function(){if(a.hasWebkitNativeFullScreen)document.webkitCancelFullScreen();else a.hasMozNativeFullScreen&amp;&amp;document.mozCancelFullScreen()}}if(a.hasSemiNativeFullScreen&amp;&amp;d.match(/mac os x 10_5/i)){a.hasNativeFullScreen=false;a.hasSemiNativeFullScreen=false}}};mejs.MediaFeatures.init();
+mejs.HtmlMediaElement={pluginType:&quot;native&quot;,isFullScreen:false,setCurrentTime:function(a){this.currentTime=a},setMuted:function(a){this.muted=a},setVolume:function(a){this.volume=a},stop:function(){this.pause()},setSrc:function(a){for(var b=this.getElementsByTagName(&quot;source&quot;);b.length&gt;0;)this.removeChild(b[0]);if(typeof a==&quot;string&quot;)this.src=a;else{var c;for(b=0;b&lt;a.length;b++){c=a[b];if(this.canPlayType(c.type)){this.src=c.src;break}}}},setVideoSize:function(a,b){this.width=a;this.height=b}};
+mejs.PluginMediaElement=function(a,b,c){this.id=a;this.pluginType=b;this.src=c;this.events={}};
+mejs.PluginMediaElement.prototype={pluginElement:null,pluginType:&quot;&quot;,isFullScreen:false,playbackRate:-1,defaultPlaybackRate:-1,seekable:[],played:[],paused:true,ended:false,seeking:false,duration:0,error:null,tagName:&quot;&quot;,muted:false,volume:1,currentTime:0,play:function(){if(this.pluginApi!=null){this.pluginType==&quot;youtube&quot;?this.pluginApi.playVideo():this.pluginApi.playMedia();this.paused=false}},load:function(){if(this.pluginApi!=null){this.pluginType!=&quot;youtube&quot;&amp;&amp;this.pluginApi.loadMedia();this.paused=
+false}},pause:function(){if(this.pluginApi!=null){this.pluginType==&quot;youtube&quot;?this.pluginApi.pauseVideo():this.pluginApi.pauseMedia();this.paused=true}},stop:function(){if(this.pluginApi!=null){this.pluginType==&quot;youtube&quot;?this.pluginApi.stopVideo():this.pluginApi.stopMedia();this.paused=true}},canPlayType:function(a){var b,c,d,e=mejs.plugins[this.pluginType];for(b=0;b&lt;e.length;b++){d=e[b];if(mejs.PluginDetector.hasPluginVersion(this.pluginType,d.version))for(c=0;c&lt;d.types.length;c++)if(a==d.types[c])return true}return false},
+positionFullscreenButton:function(a,b,c){this.pluginApi!=null&amp;&amp;this.pluginApi.positionFullscreenButton&amp;&amp;this.pluginApi.positionFullscreenButton(a,b,c)},hideFullscreenButton:function(){this.pluginApi!=null&amp;&amp;this.pluginApi.hideFullscreenButton&amp;&amp;this.pluginApi.hideFullscreenButton()},setSrc:function(a){if(typeof a==&quot;string&quot;){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(a));this.src=mejs.Utility.absolutizeUrl(a)}else{var b,c;for(b=0;b&lt;a.length;b++){c=a[b];if(this.canPlayType(c.type)){this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(c.src));
+this.src=mejs.Utility.absolutizeUrl(a);break}}}},setCurrentTime:function(a){if(this.pluginApi!=null){this.pluginType==&quot;youtube&quot;?this.pluginApi.seekTo(a):this.pluginApi.setCurrentTime(a);this.currentTime=a}},setVolume:function(a){if(this.pluginApi!=null){this.pluginType==&quot;youtube&quot;?this.pluginApi.setVolume(a*100):this.pluginApi.setVolume(a);this.volume=a}},setMuted:function(a){if(this.pluginApi!=null){if(this.pluginType==&quot;youtube&quot;){a?this.pluginApi.mute():this.pluginApi.unMute();this.muted=a;this.dispatchEvent(&quot;volumechange&quot;)}else this.pluginApi.setMuted(a);
+this.muted=a}},setVideoSize:function(a,b){if(this.pluginElement.style){this.pluginElement.style.width=a+&quot;px&quot;;this.pluginElement.style.height=b+&quot;px&quot;}this.pluginApi!=null&amp;&amp;this.pluginApi.setVideoSize&amp;&amp;this.pluginApi.setVideoSize(a,b)},setFullscreen:function(a){this.pluginApi!=null&amp;&amp;this.pluginApi.setFullscreen&amp;&amp;this.pluginApi.setFullscreen(a)},enterFullScreen:function(){this.pluginApi!=null&amp;&amp;this.pluginApi.setFullscreen&amp;&amp;this.setFullscreen(true)},exitFullScreen:function(){this.pluginApi!=null&amp;&amp;this.pluginApi.setFullscreen&amp;&amp;
+this.setFullscreen(false)},addEventListener:function(a,b){this.events[a]=this.events[a]||[];this.events[a].push(b)},removeEventListener:function(a,b){if(!a){this.events={};return true}var c=this.events[a];if(!c)return true;if(!b){this.events[a]=[];return true}for(i=0;i&lt;c.length;i++)if(c[i]===b){this.events[a].splice(i,1);return true}return false},dispatchEvent:function(a){var b,c,d=this.events[a];if(d){c=Array.prototype.slice.call(arguments,1);for(b=0;b&lt;d.length;b++)d[b].apply(null,c)}},attributes:{},
+hasAttribute:function(a){return a in this.attributes},removeAttribute:function(a){delete this.attributes[a]},getAttribute:function(a){if(this.hasAttribute(a))return this.attributes[a];return&quot;&quot;},setAttribute:function(a,b){this.attributes[a]=b},remove:function(){mejs.Utility.removeSwf(this.pluginElement.id)}};
+mejs.MediaPluginBridge={pluginMediaElements:{},htmlMediaElements:{},registerPluginElement:function(a,b,c){this.pluginMediaElements[a]=b;this.htmlMediaElements[a]=c},initPlugin:function(a){var b=this.pluginMediaElements[a],c=this.htmlMediaElements[a];if(b){switch(b.pluginType){case &quot;flash&quot;:b.pluginElement=b.pluginApi=document.getElementById(a);break;case &quot;silverlight&quot;:b.pluginElement=document.getElementById(b.id);b.pluginApi=b.pluginElement.Content.MediaElementJS}b.pluginApi!=null&amp;&amp;b.success&amp;&amp;b.success(b,
+c)}},fireEvent:function(a,b,c){var d,e;a=this.pluginMediaElements[a];b={type:b,target:a};for(d in c){a[d]=c[d];b[d]=c[d]}e=c.bufferedTime||0;b.target.buffered=b.buffered={start:function(){return 0},end:function(){return e},length:1};a.dispatchEvent(b.type,b)}};
+mejs.MediaElementDefaults={mode:&quot;auto&quot;,plugins:[&quot;flash&quot;,&quot;silverlight&quot;,&quot;youtube&quot;,&quot;vimeo&quot;],enablePluginDebug:false,type:&quot;&quot;,pluginPath:mejs.Utility.getScriptPath([&quot;mediaelement.js&quot;,&quot;mediaelement.min.js&quot;,&quot;mediaelement-and-player.js&quot;,&quot;mediaelement-and-player.min.js&quot;]),flashName:&quot;flashmediaelement.swf&quot;,flashStreamer:&quot;&quot;,enablePluginSmoothing:false,silverlightName:&quot;silverlightmediaelement.xap&quot;,defaultVideoWidth:480,defaultVideoHeight:270,pluginWidth:-1,pluginHeight:-1,pluginVars:[],timerRate:250,startVolume:0.8,
+success:function(){},error:function(){}};mejs.MediaElement=function(a,b){return mejs.HtmlMediaElementShim.create(a,b)};
+mejs.HtmlMediaElementShim={create:function(a,b){var c=mejs.MediaElementDefaults,d=typeof a==&quot;string&quot;?document.getElementById(a):a,e=d.tagName.toLowerCase(),g=e===&quot;audio&quot;||e===&quot;video&quot;,f=g?d.getAttribute(&quot;src&quot;):d.getAttribute(&quot;href&quot;);e=d.getAttribute(&quot;poster&quot;);var h=d.getAttribute(&quot;autoplay&quot;),l=d.getAttribute(&quot;preload&quot;),j=d.getAttribute(&quot;controls&quot;),k;for(k in b)c[k]=b[k];f=typeof f==&quot;undefined&quot;||f===null||f==&quot;&quot;?null:f;e=typeof e==&quot;undefined&quot;||e===null?&quot;&quot;:e;l=typeof l==&quot;undefined&quot;||l===null||l===&quot;false&quot;?
+&quot;none&quot;:l;h=!(typeof h==&quot;undefined&quot;||h===null||h===&quot;false&quot;);j=!(typeof j==&quot;undefined&quot;||j===null||j===&quot;false&quot;);k=this.determinePlayback(d,c,mejs.MediaFeatures.supportsMediaTag,g,f);k.url=k.url!==null?mejs.Utility.absolutizeUrl(k.url):&quot;&quot;;if(k.method==&quot;native&quot;){if(mejs.MediaFeatures.isBustedAndroid){d.src=k.url;d.addEventListener(&quot;click&quot;,function(){d.play()},false)}return this.updateNative(k,c,h,l)}else if(k.method!==&quot;&quot;)return this.createPlugin(k,c,e,h,l,j);else{this.createErrorMessage(k,c,e);return this}},
+determinePlayback:function(a,b,c,d,e){var g=[],f,h,l,j={method:&quot;&quot;,url:&quot;&quot;,htmlMediaElement:a,isVideo:a.tagName.toLowerCase()!=&quot;audio&quot;},k;if(typeof b.type!=&quot;undefined&quot;&amp;&amp;b.type!==&quot;&quot;)if(typeof b.type==&quot;string&quot;)g.push({type:b.type,url:e});else for(f=0;f&lt;b.type.length;f++)g.push({type:b.type[f],url:e});else if(e!==null){l=this.formatType(e,a.getAttribute(&quot;type&quot;));g.push({type:l,url:e})}else for(f=0;f&lt;a.childNodes.length;f++){h=a.childNodes[f];if(h.nodeType==1&amp;&amp;h.tagName.toLowerCase()==&quot;source&quot;){e=h.getAttribute(&quot;src&quot;);
+l=this.formatType(e,h.getAttribute(&quot;type&quot;));h=h.getAttribute(&quot;media&quot;);if(!h||!window.matchMedia||window.matchMedia&amp;&amp;window.matchMedia(h).matches)g.push({type:l,url:e})}}if(!d&amp;&amp;g.length&gt;0&amp;&amp;g[0].url!==null&amp;&amp;this.getTypeFromFile(g[0].url).indexOf(&quot;audio&quot;)&gt;-1)j.isVideo=false;if(mejs.MediaFeatures.isBustedAndroid)a.canPlayType=function(m){return m.match(/video\/(mp4|m4v)/gi)!==null?&quot;maybe&quot;:&quot;&quot;};if(c&amp;&amp;(b.mode===&quot;auto&quot;||b.mode===&quot;auto_plugin&quot;||b.mode===&quot;native&quot;)){if(!d){f=document.createElement(j.isVideo?
+&quot;video&quot;:&quot;audio&quot;);a.parentNode.insertBefore(f,a);a.style.display=&quot;none&quot;;j.htmlMediaElement=a=f}for(f=0;f&lt;g.length;f++)if(a.canPlayType(g[f].type).replace(/no/,&quot;&quot;)!==&quot;&quot;||a.canPlayType(g[f].type.replace(/mp3/,&quot;mpeg&quot;)).replace(/no/,&quot;&quot;)!==&quot;&quot;){j.method=&quot;native&quot;;j.url=g[f].url;break}if(j.method===&quot;native&quot;){if(j.url!==null)a.src=j.url;if(b.mode!==&quot;auto_plugin&quot;)return j}}if(b.mode===&quot;auto&quot;||b.mode===&quot;auto_plugin&quot;||b.mode===&quot;shim&quot;)for(f=0;f&lt;g.length;f++){l=g[f].type;for(a=0;a&lt;b.plugins.length;a++){e=b.plugins[a];
+h=mejs.plugins[e];for(c=0;c&lt;h.length;c++){k=h[c];if(k.version==null||mejs.PluginDetector.hasPluginVersion(e,k.version))for(d=0;d&lt;k.types.length;d++)if(l==k.types[d]){j.method=e;j.url=g[f].url;return j}}}}if(b.mode===&quot;auto_plugin&quot;&amp;&amp;j.method===&quot;native&quot;)return j;if(j.method===&quot;&quot;&amp;&amp;g.length&gt;0)j.url=g[0].url;return j},formatType:function(a,b){return a&amp;&amp;!b?this.getTypeFromFile(a):b&amp;&amp;~b.indexOf(&quot;;&quot;)?b.substr(0,b.indexOf(&quot;;&quot;)):b},getTypeFromFile:function(a){a=a.split(&quot;?&quot;)[0];a=a.substring(a.lastIndexOf(&quot;.&quot;)+
+1);return(/(mp4|m4v|ogg|ogv|webm|webmv|flv|wmv|mpeg|mov)/gi.test(a)?&quot;video&quot;:&quot;audio&quot;)+&quot;/&quot;+this.getTypeFromExtension(a)},getTypeFromExtension:function(a){switch(a){case &quot;mp4&quot;:case &quot;m4v&quot;:return&quot;mp4&quot;;case &quot;webm&quot;:case &quot;webma&quot;:case &quot;webmv&quot;:return&quot;webm&quot;;case &quot;ogg&quot;:case &quot;oga&quot;:case &quot;ogv&quot;:return&quot;ogg&quot;;default:return a}},createErrorMessage:function(a,b,c){var d=a.htmlMediaElement,e=document.createElement(&quot;div&quot;);e.className=&quot;me-cannotplay&quot;;try{e.style.width=d.width+&quot;px&quot;;e.style.height=d.height+&quot;px&quot;}catch(g){}e.innerHTML=
+c!==&quot;&quot;?'&lt;a href=&quot;'+a.url+'&quot;&gt;&lt;img src=&quot;'+c+'&quot; width=&quot;100%&quot; height=&quot;100%&quot; /&gt;&lt;/a&gt;':'&lt;a href=&quot;'+a.url+'&quot;&gt;&lt;span&gt;'+mejs.i18n.t(&quot;Download File&quot;)+&quot;&lt;/span&gt;&lt;/a&gt;&quot;;d.parentNode.insertBefore(e,d);d.style.display=&quot;none&quot;;b.error(d)},createPlugin:function(a,b,c,d,e,g){c=a.htmlMediaElement;var f=1,h=1,l=&quot;me_&quot;+a.method+&quot;_&quot;+mejs.meIndex++,j=new mejs.PluginMediaElement(l,a.method,a.url),k=document.createElement(&quot;div&quot;),m;j.tagName=c.tagName;for(m=0;m&lt;c.attributes.length;m++){var n=c.attributes[m];n.specified==true&amp;&amp;j.setAttribute(n.name,
+n.value)}for(m=c.parentNode;m!==null&amp;&amp;m.tagName.toLowerCase()!=&quot;body&quot;;){if(m.parentNode.tagName.toLowerCase()==&quot;p&quot;){m.parentNode.parentNode.insertBefore(m,m.parentNode);break}m=m.parentNode}if(a.isVideo){f=b.videoWidth&gt;0?b.videoWidth:c.getAttribute(&quot;width&quot;)!==null?c.getAttribute(&quot;width&quot;):b.defaultVideoWidth;h=b.videoHeight&gt;0?b.videoHeight:c.getAttribute(&quot;height&quot;)!==null?c.getAttribute(&quot;height&quot;):b.defaultVideoHeight;f=mejs.Utility.encodeUrl(f);h=mejs.Utility.encodeUrl(h)}else if(b.enablePluginDebug){f=
+320;h=240}j.success=b.success;mejs.MediaPluginBridge.registerPluginElement(l,j,c);k.className=&quot;me-plugin&quot;;k.id=l+&quot;_container&quot;;a.isVideo?c.parentNode.insertBefore(k,c):document.body.insertBefore(k,document.body.childNodes[0]);d=[&quot;id=&quot;+l,&quot;isvideo=&quot;+(a.isVideo?&quot;true&quot;:&quot;false&quot;),&quot;autoplay=&quot;+(d?&quot;true&quot;:&quot;false&quot;),&quot;preload=&quot;+e,&quot;width=&quot;+f,&quot;startvolume=&quot;+b.startVolume,&quot;timerrate=&quot;+b.timerRate,&quot;flashstreamer=&quot;+b.flashStreamer,&quot;height=&quot;+h];if(a.url!==null)a.method==&quot;flash&quot;?d.push(&quot;file=&quot;+mejs.Utility.encodeUrl(a.url)):
+d.push(&quot;file=&quot;+a.url);b.enablePluginDebug&amp;&amp;d.push(&quot;debug=true&quot;);b.enablePluginSmoothing&amp;&amp;d.push(&quot;smoothing=true&quot;);g&amp;&amp;d.push(&quot;controls=true&quot;);if(b.pluginVars)d=d.concat(b.pluginVars);switch(a.method){case &quot;silverlight&quot;:k.innerHTML='&lt;object data=&quot;data:application/x-silverlight-2,&quot; type=&quot;application/x-silverlight-2&quot; id=&quot;'+l+'&quot; name=&quot;'+l+'&quot; width=&quot;'+f+'&quot; height=&quot;'+h+'&quot;&gt;&lt;param name=&quot;initParams&quot; value=&quot;'+d.join(&quot;,&quot;)+'&quot; /&gt;&lt;param name=&quot;windowless&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;background&quot; value=&quot;black&quot; /&gt;&lt;param name=&quot;minRuntimeVersion&quot; value=&quot;3.0.0.0&quot; /&gt;&lt;param name=&quot;autoUpgrade&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;source&quot; value=&quot;'+
+b.pluginPath+b.silverlightName+'&quot; /&gt;&lt;/object&gt;';break;case &quot;flash&quot;:if(mejs.MediaFeatures.isIE){a=document.createElement(&quot;div&quot;);k.appendChild(a);a.outerHTML='&lt;object classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; codebase=&quot;//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab&quot; id=&quot;'+l+'&quot; width=&quot;'+f+'&quot; height=&quot;'+h+'&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;'+b.pluginPath+b.flashName+&quot;?x=&quot;+new Date+'&quot; /&gt;&lt;param name=&quot;flashvars&quot; value=&quot;'+d.join(&quot;&amp;amp;&quot;)+'&quot; /&gt;&lt;param name=&quot;quality&quot; value=&quot;high&quot; /&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#000000&quot; /&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot; /&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;/object&gt;'}else
  k.innerHTML=
+'&lt;embed id=&quot;'+l+'&quot; name=&quot;'+l+'&quot; play=&quot;true&quot; loop=&quot;false&quot; quality=&quot;high&quot; bgcolor=&quot;#000000&quot; wmode=&quot;transparent&quot; allowScriptAccess=&quot;always&quot; allowFullScreen=&quot;true&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;//www.macromedia.com/go/getflashplayer&quot; src=&quot;'+b.pluginPath+b.flashName+'&quot; flashvars=&quot;'+d.join(&quot;&amp;&quot;)+'&quot; width=&quot;'+f+'&quot; height=&quot;'+h+'&quot;&gt;&lt;/embed&gt;';break;case &quot;youtube&quot;:b=a.url.substr(a.url.lastIndexOf(&quot;=&quot;)+1);youtubeSettings={container:k,containerId:k.id,pluginMediaElement:j,pluginId:l,videoId:b,
+height:h,width:f};mejs.PluginDetector.hasPluginVersion(&quot;flash&quot;,[10,0,0])?mejs.YouTubeApi.createFlash(youtubeSettings):mejs.YouTubeApi.enqueueIframe(youtubeSettings);break;case &quot;vimeo&quot;:j.vimeoid=a.url.substr(a.url.lastIndexOf(&quot;/&quot;)+1);k.innerHTML='&lt;iframe src=&quot;http://player.vimeo.com/video/'+j.vimeoid+'?portrait=0&amp;byline=0&amp;title=0&quot; width=&quot;'+f+'&quot; height=&quot;'+h+'&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;'}c.style.display=&quot;none&quot;;return j},updateNative:function(a,b){var c=a.htmlMediaElement,d;for(d in mejs.HtmlMediaElement)c[d]=
+mejs.HtmlMediaElement[d];b.success(c,c);return c}};
+mejs.YouTubeApi={isIframeStarted:false,isIframeLoaded:false,loadIframeApi:function(){if(!this.isIframeStarted){var a=document.createElement(&quot;script&quot;);a.src=&quot;http://www.youtube.com/player_api&quot;;var b=document.getElementsByTagName(&quot;script&quot;)[0];b.parentNode.insertBefore(a,b);this.isIframeStarted=true}},iframeQueue:[],enqueueIframe:function(a){if(this.isLoaded)this.createIframe(a);else{this.loadIframeApi();this.iframeQueue.push(a)}},createIframe:function(a){var b=a.pluginMediaElement,c=new YT.Player(a.containerId,
+{height:a.height,width:a.width,videoId:a.videoId,playerVars:{controls:0},events:{onReady:function(){a.pluginMediaElement.pluginApi=c;mejs.MediaPluginBridge.initPlugin(a.pluginId);setInterval(function(){mejs.YouTubeApi.createEvent(c,b,&quot;timeupdate&quot;)},250)},onStateChange:function(d){mejs.YouTubeApi.handleStateChange(d.data,c,b)}}})},createEvent:function(a,b,c){c={type:c,target:b};if(a&amp;&amp;a.getDuration){b.currentTime=c.currentTime=a.getCurrentTime();b.duration=c.duration=a.getDuration();c.paused=b.paused;
+c.ended=b.ended;c.muted=a.isMuted();c.volume=a.getVolume()/100;c.bytesTotal=a.getVideoBytesTotal();c.bufferedBytes=a.getVideoBytesLoaded();var d=c.bufferedBytes/c.bytesTotal*c.duration;c.target.buffered=c.buffered={start:function(){return 0},end:function(){return d},length:1}}b.dispatchEvent(c.type,c)},iFrameReady:function(){for(this.isIframeLoaded=this.isLoaded=true;this.iframeQueue.length&gt;0;)this.createIframe(this.iframeQueue.pop())},flashPlayers:{},createFlash:function(a){this.flashPlayers[a.pluginId]=
+a;var b,c=&quot;http://www.youtube.com/apiplayer?enablejsapi=1&amp;amp;playerapiid=&quot;+a.pluginId+&quot;&amp;amp;version=3&amp;amp;autoplay=0&amp;amp;controls=0&amp;amp;modestbranding=1&amp;loop=0&quot;;if(mejs.MediaFeatures.isIE){b=document.createElement(&quot;div&quot;);a.container.appendChild(b);b.outerHTML='&lt;object classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; codebase=&quot;//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab&quot; id=&quot;'+a.pluginId+'&quot; width=&quot;'+a.width+'&quot; height=&quot;'+a.height+'&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;'+c+'&quot; /&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot; /&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;/object&gt;'}else a.container.innerHTML=
+'&lt;object type=&quot;application/x-shockwave-flash&quot; id=&quot;'+a.pluginId+'&quot; data=&quot;'+c+'&quot; width=&quot;'+a.width+'&quot; height=&quot;'+a.height+'&quot; style=&quot;visibility: visible; &quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/object&gt;'},flashReady:function(a){var b=this.flashPlayers[a],c=document.getElementById(a),d=b.pluginMediaElement;d.pluginApi=d.pluginElement=c;mejs.MediaPluginBridge.initPlugin(a);c.cueVideoById(b.videoId);a=b.containerId+&quot;_callback&quot;;window[a]=function(e){mejs.YouTubeApi.handleStateChange(e,
+c,d)};c.addEventListener(&quot;onStateChange&quot;,a);setInterval(function(){mejs.YouTubeApi.createEvent(c,d,&quot;timeupdate&quot;)},250)},handleStateChange:function(a,b,c){switch(a){case -1:c.paused=true;c.ended=true;mejs.YouTubeApi.createEvent(b,c,&quot;loadedmetadata&quot;);break;case 0:c.paused=false;c.ended=true;mejs.YouTubeApi.createEvent(b,c,&quot;ended&quot;);break;case 1:c.paused=false;c.ended=false;mejs.YouTubeApi.createEvent(b,c,&quot;play&quot;);mejs.YouTubeApi.createEvent(b,c,&quot;playing&quot;);break;case 2:c.paused=true;c.ended=false;mejs.YouTubeApi.createEvent(b,
+c,&quot;pause&quot;);break;case 3:mejs.YouTubeApi.createEvent(b,c,&quot;progress&quot;)}}};function onYouTubePlayerAPIReady(){mejs.YouTubeApi.iFrameReady()}function onYouTubePlayerReady(a){mejs.YouTubeApi.flashReady(a)}window.mejs=mejs;window.MediaElement=mejs.MediaElement;
+(function(a,b,c){var d={locale:{strings:{}},methods:{}};d.locale.getLanguage=function(){return{language:navigator.language}};d.locale.INIT_LANGUAGE=d.locale.getLanguage();d.methods.checkPlain=function(e){var g,f,h={&quot;&amp;&quot;:&quot;&amp;amp;&quot;,'&quot;':&quot;&amp;quot;&quot;,&quot;&lt;&quot;:&quot;&amp;lt;&quot;,&quot;&gt;&quot;:&quot;&amp;gt;&quot;};e=String(e);for(g in h)if(h.hasOwnProperty(g)){f=RegExp(g,&quot;g&quot;);e=e.replace(f,h[g])}return e};d.methods.formatString=function(e,g){for(var f in g){switch(f.charAt(0)){case &quot;@&quot;:g[f]=d.methods.checkPlain(g[f]);break;case &quot;!&quot;:break;default:g[f]=
+'&lt;em class=&quot;placeholder&quot;&gt;'+d.methods.checkPlain(g[f])+&quot;&lt;/em&gt;&quot;}e=e.replace(f,g[f])}return e};d.methods.t=function(e,g,f){if(d.locale.strings&amp;&amp;d.locale.strings[f.context]&amp;&amp;d.locale.strings[f.context][e])e=d.locale.strings[f.context][e];if(g)e=d.methods.formatString(e,g);return e};d.t=function(e,g,f){if(typeof e===&quot;string&quot;&amp;&amp;e.length&gt;0){var h=d.locale.getLanguage();f=f||{context:h.language};return d.methods.t(e,g,f)}else throw{name:&quot;InvalidArgumentException&quot;,message:&quot;First argument is either not a string or empty.&quot;};
+};c.i18n=d})(jQuery,document,mejs);(function(a){a.de={Fullscreen:&quot;Vollbild&quot;,&quot;Go Fullscreen&quot;:&quot;Vollbild an&quot;,&quot;Turn off Fullscreen&quot;:&quot;Vollbild aus&quot;,Close:&quot;Schlie\u00dfen&quot;}})(mejs.i18n.locale.strings);
+
+/*!
+ * MediaElementPlayer
+ * http://mediaelementjs.com/
+ *
+ * Creates a controller bar for HTML5 &lt;video&gt; add &lt;audio&gt; tags
+ * using jQuery and MediaElement.js (HTML5 Flash/Silverlight wrapper)
+ *
+ * Copyright 2010-2012, John Dyer (http://j.hn/)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ *
+ */if(typeof jQuery!=&quot;undefined&quot;)mejs.$=jQuery;else if(typeof ender!=&quot;undefined&quot;)mejs.$=ender;
+(function(f){mejs.MepDefaults={poster:&quot;&quot;,defaultVideoWidth:480,defaultVideoHeight:270,videoWidth:-1,videoHeight:-1,defaultAudioWidth:400,defaultAudioHeight:30,defaultSeekBackwardInterval:function(a){return a.duration*0.05},defaultSeekForwardInterval:function(a){return a.duration*0.05},audioWidth:-1,audioHeight:-1,startVolume:0.8,loop:false,enableAutosize:true,alwaysShowHours:false,showTimecodeFrameCount:false,framesPerSecond:25,autosizeProgress:true,alwaysShowControls:false,iPadUseNativeControls:false,
+iPhoneUseNativeControls:false,AndroidUseNativeControls:false,features:[&quot;playpause&quot;,&quot;current&quot;,&quot;progress&quot;,&quot;duration&quot;,&quot;tracks&quot;,&quot;volume&quot;,&quot;fullscreen&quot;],isVideo:true,enableKeyboard:true,pauseOtherPlayers:true,keyActions:[{keys:[32,179],action:function(a,b){b.paused||b.ended?b.play():b.pause()}},{keys:[38],action:function(a,b){b.setVolume(Math.min(b.volume+0.1,1))}},{keys:[40],action:function(a,b){b.setVolume(Math.max(b.volume-0.1,0))}},{keys:[37,227],action:function(a,b){if(!isNaN(b.duration)&amp;&amp;b.duration&gt;
+0){if(a.isVideo){a.showControls();a.startControlsTimer()}var c=Math.max(b.currentTime-a.options.defaultSeekBackwardInterval(b),0);b.setCurrentTime(c)}}},{keys:[39,228],action:function(a,b){if(!isNaN(b.duration)&amp;&amp;b.duration&gt;0){if(a.isVideo){a.showControls();a.startControlsTimer()}var c=Math.min(b.currentTime+a.options.defaultSeekForwardInterval(b),b.duration);b.setCurrentTime(c)}}},{keys:[70],action:function(a){if(typeof a.enterFullScreen!=&quot;undefined&quot;)a.isFullScreen?a.exitFullScreen():a.enterFullScreen()}}]};
+mejs.mepIndex=0;mejs.players=[];mejs.MediaElementPlayer=function(a,b){if(!(this instanceof mejs.MediaElementPlayer))return new mejs.MediaElementPlayer(a,b);this.$media=this.$node=f(a);this.node=this.media=this.$media[0];if(typeof this.node.player!=&quot;undefined&quot;)return this.node.player;else this.node.player=this;if(typeof b==&quot;undefined&quot;)b=this.$node.data(&quot;mejsoptions&quot;);this.options=f.extend({},mejs.MepDefaults,b);mejs.players.push(this);this.init();return this};mejs.MediaElementPlayer.prototype={hasFocus:false,
+controlsAreVisible:true,init:function(){var a=this,b=mejs.MediaFeatures,c=f.extend(true,{},a.options,{success:function(d,g){a.meReady(d,g)},error:function(d){a.handleError(d)}}),e=a.media.tagName.toLowerCase();a.isDynamic=e!==&quot;audio&quot;&amp;&amp;e!==&quot;video&quot;;a.isVideo=a.isDynamic?a.options.isVideo:e!==&quot;audio&quot;&amp;&amp;a.options.isVideo;if(b.isiPad&amp;&amp;a.options.iPadUseNativeControls||b.isiPhone&amp;&amp;a.options.iPhoneUseNativeControls){a.$media.attr(&quot;controls&quot;,&quot;controls&quot;);if(b.isiPad&amp;&amp;a.media.getAttribute(&quot;autoplay&quot;)!==null){a.media.load();
+a.media.play()}}else if(!(b.isAndroid&amp;&amp;a.AndroidUseNativeControls)){a.$media.removeAttr(&quot;controls&quot;);a.id=&quot;mep_&quot;+mejs.mepIndex++;a.container=f('&lt;div id=&quot;'+a.id+'&quot; class=&quot;mejs-container '+(mejs.MediaFeatures.svg?&quot;svg&quot;:&quot;no-svg&quot;)+'&quot;&gt;&lt;div class=&quot;mejs-inner&quot;&gt;&lt;div class=&quot;mejs-mediaelement&quot;&gt;&lt;/div&gt;&lt;div class=&quot;mejs-layers&quot;&gt;&lt;/div&gt;&lt;div class=&quot;mejs-controls&quot;&gt;&lt;/div&gt;&lt;div class=&quot;mejs-clear&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;').addClass(a.$media[0].className).insertBefore(a.$media);a.container.addClass((b.isAndroid?&quot;mejs-android &quot;:
+&quot;&quot;)+(b.isiOS?&quot;mejs-ios &quot;:&quot;&quot;)+(b.isiPad?&quot;mejs-ipad &quot;:&quot;&quot;)+(b.isiPhone?&quot;mejs-iphone &quot;:&quot;&quot;)+(a.isVideo?&quot;mejs-video &quot;:&quot;mejs-audio &quot;));if(b.isiOS){b=a.$media.clone();a.container.find(&quot;.mejs-mediaelement&quot;).append(b);a.$media.remove();a.$node=a.$media=b;a.node=a.media=b[0]}else a.container.find(&quot;.mejs-mediaelement&quot;).append(a.$media);a.controls=a.container.find(&quot;.mejs-controls&quot;);a.layers=a.container.find(&quot;.mejs-layers&quot;);b=a.isVideo?&quot;video&quot;:&quot;audio&quot;;e=b.substring(0,1).toUpperCase()+b.substring(1);a.width=a.options[b+
+&quot;Width&quot;]&gt;0||a.options[b+&quot;Width&quot;].toString().indexOf(&quot;%&quot;)&gt;-1?a.options[b+&quot;Width&quot;]:a.media.style.width!==&quot;&quot;&amp;&amp;a.media.style.width!==null?a.media.style.width:a.media.getAttribute(&quot;width&quot;)!==null?a.$media.attr(&quot;width&quot;):a.options[&quot;default&quot;+e+&quot;Width&quot;];a.height=a.options[b+&quot;Height&quot;]&gt;0||a.options[b+&quot;Height&quot;].toString().indexOf(&quot;%&quot;)&gt;-1?a.options[b+&quot;Height&quot;]:a.media.style.height!==&quot;&quot;&amp;&amp;a.media.style.height!==null?a.media.style.height:a.$media[0].getAttribute(&quot;height&quot;)!==null?a.$media.attr(&quot;height&quot;):a.options[&quot;default&quot;+
+e+&quot;Height&quot;];a.setPlayerSize(a.width,a.height);c.pluginWidth=a.height;c.pluginHeight=a.width}mejs.MediaElement(a.$media[0],c)},showControls:function(a){var b=this;a=typeof a==&quot;undefined&quot;||a;if(!b.controlsAreVisible){if(a){b.controls.css(&quot;visibility&quot;,&quot;visible&quot;).stop(true,true).fadeIn(200,function(){b.controlsAreVisible=true});b.container.find(&quot;.mejs-control&quot;).css(&quot;visibility&quot;,&quot;visible&quot;).stop(true,true).fadeIn(200,function(){b.controlsAreVisible=true})}else{b.controls.css(&quot;visibility&quot;,&quot;visible&quot;).css(&quot;display&quot;,
+&quot;block&quot;);b.container.find(&quot;.mejs-control&quot;).css(&quot;visibility&quot;,&quot;visible&quot;).css(&quot;display&quot;,&quot;block&quot;);b.controlsAreVisible=true}b.setControlsSize()}},hideControls:function(a){var b=this;a=typeof a==&quot;undefined&quot;||a;if(b.controlsAreVisible)if(a){b.controls.stop(true,true).fadeOut(200,function(){f(this).css(&quot;visibility&quot;,&quot;hidden&quot;).css(&quot;display&quot;,&quot;block&quot;);b.controlsAreVisible=false});b.container.find(&quot;.mejs-control&quot;).stop(true,true).fadeOut(200,function(){f(this).css(&quot;visibility&quot;,&quot;hidden&quot;).css(&quot;display&quot;,&quot;block&quot;)})}else{b.controls.css(&quot;visibility&quot;,
+&quot;hidden&quot;).css(&quot;display&quot;,&quot;block&quot;);b.container.find(&quot;.mejs-control&quot;).css(&quot;visibility&quot;,&quot;hidden&quot;).css(&quot;display&quot;,&quot;block&quot;);b.controlsAreVisible=false}},controlsTimer:null,startControlsTimer:function(a){var b=this;a=typeof a!=&quot;undefined&quot;?a:1500;b.killControlsTimer(&quot;start&quot;);b.controlsTimer=setTimeout(function(){b.hideControls();b.killControlsTimer(&quot;hide&quot;)},a)},killControlsTimer:function(){if(this.controlsTimer!==null){clearTimeout(this.controlsTimer);delete this.controlsTimer;this.controlsTimer=null}},controlsEnabled:true,
+disableControls:function(){this.killControlsTimer();this.hideControls(false);this.controlsEnabled=false},enableControls:function(){this.showControls(false);this.controlsEnabled=true},meReady:function(a,b){var c=this,e=mejs.MediaFeatures,d=b.getAttribute(&quot;autoplay&quot;);d=!(typeof d==&quot;undefined&quot;||d===null||d===&quot;false&quot;);var g;if(!c.created){c.created=true;c.media=a;c.domNode=b;if(!(e.isAndroid&amp;&amp;c.options.AndroidUseNativeControls)&amp;&amp;!(e.isiPad&amp;&amp;c.options.iPadUseNativeControls)&amp;&amp;!(e.isiPhone&amp;&amp;c.options.iPhoneUseNativeControls)){c.buildposter(c,
+c.controls,c.layers,c.media);c.buildkeyboard(c,c.controls,c.layers,c.media);c.buildoverlays(c,c.controls,c.layers,c.media);c.findTracks();for(g in c.options.features){e=c.options.features[g];if(c[&quot;build&quot;+e])try{c[&quot;build&quot;+e](c,c.controls,c.layers,c.media)}catch(k){}}c.container.trigger(&quot;controlsready&quot;);c.setPlayerSize(c.width,c.height);c.setControlsSize();if(c.isVideo){if(mejs.MediaFeatures.hasTouch)c.$media.bind(&quot;touchstart&quot;,function(){if(c.controlsAreVisible)c.hideControls(false);else c.controlsEnabled&amp;&amp;
+c.showControls(false)});else{c.media.addEventListener(&quot;click&quot;,function(){c.media.paused?c.media.play():c.media.pause()});c.container.bind(&quot;mouseenter mouseover&quot;,function(){if(c.controlsEnabled)if(!c.options.alwaysShowControls){c.killControlsTimer(&quot;enter&quot;);c.showControls();c.startControlsTimer(2500)}}).bind(&quot;mousemove&quot;,function(){if(c.controlsEnabled){c.controlsAreVisible||c.showControls();c.options.alwaysShowControls||c.startControlsTimer(2500)}}).bind(&quot;mouseleave&quot;,function(){c.controlsEnabled&amp;&amp;!c.media.paused&amp;&amp;
+!c.options.alwaysShowControls&amp;&amp;c.startControlsTimer(1E3)})}d&amp;&amp;!c.options.alwaysShowControls&amp;&amp;c.hideControls();c.options.enableAutosize&amp;&amp;c.media.addEventListener(&quot;loadedmetadata&quot;,function(h){if(c.options.videoHeight&lt;=0&amp;&amp;c.domNode.getAttribute(&quot;height&quot;)===null&amp;&amp;!isNaN(h.target.videoHeight)){c.setPlayerSize(h.target.videoWidth,h.target.videoHeight);c.setControlsSize();c.media.setVideoSize(h.target.videoWidth,h.target.videoHeight)}},false)}a.addEventListener(&quot;play&quot;,function(){for(var h=0,o=mejs.players.length;h&lt;
+o;h++){var n=mejs.players[h];n.id!=c.id&amp;&amp;c.options.pauseOtherPlayers&amp;&amp;!n.paused&amp;&amp;!n.ended&amp;&amp;n.pause();n.hasFocus=false}c.hasFocus=true},false);c.media.addEventListener(&quot;ended&quot;,function(){try{c.media.setCurrentTime(0)}catch(h){}c.media.pause();c.setProgressRail&amp;&amp;c.setProgressRail();c.setCurrentRail&amp;&amp;c.setCurrentRail();if(c.options.loop)c.media.play();else!c.options.alwaysShowControls&amp;&amp;c.controlsEnabled&amp;&amp;c.showControls()},false);c.media.addEventListener(&quot;loadedmetadata&quot;,function(){c.updateDuration&amp;&amp;
+c.updateDuration();c.updateCurrent&amp;&amp;c.updateCurrent();if(!c.isFullScreen){c.setPlayerSize(c.width,c.height);c.setControlsSize()}},false);setTimeout(function(){c.setPlayerSize(c.width,c.height);c.setControlsSize()},50);f(window).resize(function(){c.isFullScreen||mejs.MediaFeatures.hasTrueNativeFullScreen&amp;&amp;document.webkitIsFullScreen||c.setPlayerSize(c.width,c.height);c.setControlsSize()});c.media.pluginType==&quot;youtube&quot;&amp;&amp;c.container.find(&quot;.mejs-overlay-play&quot;).hide()}if(d&amp;&amp;a.pluginType==&quot;native&quot;){a.load();
+a.play()}if(c.options.success)typeof c.options.success==&quot;string&quot;?window[c.options.success](c.media,c.domNode,c):c.options.success(c.media,c.domNode,c)}},handleError:function(a){this.controls.hide();this.options.error&amp;&amp;this.options.error(a)},setPlayerSize:function(a,b){if(typeof a!=&quot;undefined&quot;)this.width=a;if(typeof b!=&quot;undefined&quot;)this.height=b;if(this.height.toString().indexOf(&quot;%&quot;)&gt;0||this.$node.css(&quot;max-width&quot;)===&quot;100%&quot;||this.$node[0].currentStyle&amp;&amp;this.$node[0].currentStyle.maxWidth===&quot;100%&quot;){var c=
+this.isVideo?this.media.videoWidth&amp;&amp;this.media.videoWidth&gt;0?this.media.videoWidth:this.options.defaultVideoWidth:this.options.defaultAudioWidth,e=this.isVideo?this.media.videoHeight&amp;&amp;this.media.videoHeight&gt;0?this.media.videoHeight:this.options.defaultVideoHeight:this.options.defaultAudioHeight,d=this.container.parent().closest(&quot;:visible&quot;).width();c=parseInt(d*e/c,10);if(this.container.parent()[0].tagName.toLowerCase()===&quot;body&quot;){d=f(window).width();c=f(window).height()}if(c!=0){this.container.width(d).height(c);
+this.$media.width(&quot;100%&quot;).height(&quot;100%&quot;);this.container.find(&quot;object, embed, iframe&quot;).width(&quot;100%&quot;).height(&quot;100%&quot;);this.isVideo&amp;&amp;this.media.setVideoSize&amp;&amp;this.media.setVideoSize(d,c);this.layers.children(&quot;.mejs-layer&quot;).width(&quot;100%&quot;).height(&quot;100%&quot;)}}else{this.container.width(this.width).height(this.height);this.layers.children(&quot;.mejs-layer&quot;).width(this.width).height(this.height)}},setControlsSize:function(){var a=0,b=0,c=this.controls.find(&quot;.mejs-time-rail&quot;),e=this.controls.find(&quot;.mejs-time-total&quot;);
+this.controls.find(&quot;.mejs-time-current&quot;);this.controls.find(&quot;.mejs-time-loaded&quot;);var d=c.siblings();if(this.options&amp;&amp;!this.options.autosizeProgress)b=parseInt(c.css(&quot;width&quot;));if(b===0||!b){d.each(function(){if(f(this).css(&quot;position&quot;)!=&quot;absolute&quot;)a+=f(this).outerWidth(true)});b=this.controls.width()-a-(c.outerWidth(true)-c.width())}c.width(b);e.width(b-(e.outerWidth(true)-e.width()));this.setProgressRail&amp;&amp;this.setProgressRail();this.setCurrentRail&amp;&amp;this.setCurrentRail()},buildposter:function(a,b,c,
+e){var d=f('&lt;div class=&quot;mejs-poster mejs-layer&quot;&gt;&lt;/div&gt;').appendTo(c);b=a.$media.attr(&quot;poster&quot;);if(a.options.poster!==&quot;&quot;)b=a.options.poster;b!==&quot;&quot;&amp;&amp;b!=null?this.setPoster(b):d.hide();e.addEventListener(&quot;play&quot;,function(){d.hide()},false)},setPoster:function(a){var b=this.container.find(&quot;.mejs-poster&quot;),c=b.find(&quot;img&quot;);if(c.length==0)c=f('&lt;img width=&quot;100%&quot; height=&quot;100%&quot; /&gt;').appendTo(b);c.attr(&quot;src&quot;,a)},buildoverlays:function(a,b,c,e){if(a.isVideo){var d=f('&lt;div class=&quot;mejs-overlay mejs-layer&quot;&gt;&lt;div class=&quot;mejs-overlay-loading&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;').hide().appendTo(c),
+g=f('&lt;div class=&quot;mejs-overlay mejs-layer&quot;&gt;&lt;div class=&quot;mejs-overlay-error&quot;&gt;&lt;/div&gt;&lt;/div&gt;').hide().appendTo(c),k=f('&lt;div class=&quot;mejs-overlay mejs-layer mejs-overlay-play&quot;&gt;&lt;div class=&quot;mejs-overlay-button&quot;&gt;&lt;/div&gt;&lt;/div&gt;').appendTo(c).click(function(){e.paused?e.play():e.pause()});e.addEventListener(&quot;play&quot;,function(){k.hide();d.hide();b.find(&quot;.mejs-time-buffering&quot;).hide();g.hide()},false);e.addEventListener(&quot;playing&quot;,function(){k.hide();d.hide();b.find(&quot;.mejs-time-buffering&quot;).hide();g.hide()},false);e.addEventListener(&quot;seeking&quot;,
+function(){d.show();b.find(&quot;.mejs-time-buffering&quot;).show()},false);e.addEventListener(&quot;seeked&quot;,function(){d.hide();b.find(&quot;.mejs-time-buffering&quot;).hide()},false);e.addEventListener(&quot;pause&quot;,function(){mejs.MediaFeatures.isiPhone||k.show()},false);e.addEventListener(&quot;waiting&quot;,function(){d.show();b.find(&quot;.mejs-time-buffering&quot;).show()},false);e.addEventListener(&quot;loadeddata&quot;,function(){d.show();b.find(&quot;.mejs-time-buffering&quot;).show()},false);e.addEventListener(&quot;canplay&quot;,function(){d.hide();b.find(&quot;.mejs-time-buffering&quot;).hide()},
+false);e.addEventListener(&quot;error&quot;,function(){d.hide();b.find(&quot;.mejs-time-buffering&quot;).hide();g.show();g.find(&quot;mejs-overlay-error&quot;).html(&quot;Error loading this resource&quot;)},false)}},buildkeyboard:function(a,b,c,e){f(document).keydown(function(d){if(a.hasFocus&amp;&amp;a.options.enableKeyboard)for(var g=0,k=a.options.keyActions.length;g&lt;k;g++)for(var h=a.options.keyActions[g],o=0,n=h.keys.length;o&lt;n;o++)if(d.keyCode==h.keys[o]){d.preventDefault();h.action(a,e,d.keyCode);return false}return true});f(document).click(function(d){if(f(d.target).closest(&quot;.mejs-container&quot;).length==
+0)a.hasFocus=false})},findTracks:function(){var a=this,b=a.$media.find(&quot;track&quot;);a.tracks=[];b.each(function(c,e){e=f(e);a.tracks.push({srclang:e.attr(&quot;srclang&quot;).toLowerCase(),src:e.attr(&quot;src&quot;),kind:e.attr(&quot;kind&quot;),label:e.attr(&quot;label&quot;)||&quot;&quot;,entries:[],isLoaded:false})})},changeSkin:function(a){this.container[0].className=&quot;mejs-container &quot;+a;this.setPlayerSize(this.width,this.height);this.setControlsSize()},play:function(){this.media.play()},pause:function(){this.media.pause()},load:function(){this.media.load()},
+setMuted:function(a){this.media.setMuted(a)},setCurrentTime:function(a){this.media.setCurrentTime(a)},getCurrentTime:function(){return this.media.currentTime},setVolume:function(a){this.media.setVolume(a)},getVolume:function(){return this.media.volume},setSrc:function(a){this.media.setSrc(a)},remove:function(){if(this.media.pluginType===&quot;flash&quot;)this.media.remove();else this.media.pluginType===&quot;native&quot;&amp;&amp;this.$media.prop(&quot;controls&quot;,true);this.isDynamic||this.$node.insertBefore(this.container);this.container.remove()}};
+if(typeof jQuery!=&quot;undefined&quot;)jQuery.fn.mediaelementplayer=function(a){return this.each(function(){new mejs.MediaElementPlayer(this,a)})};f(document).ready(function(){f(&quot;.mejs-player&quot;).mediaelementplayer()});window.MediaElementPlayer=mejs.MediaElementPlayer})(mejs.$);
+(function(f){f.extend(mejs.MepDefaults,{playpauseText:&quot;Play/Pause&quot;});f.extend(MediaElementPlayer.prototype,{buildplaypause:function(a,b,c,e){var d=f('&lt;div class=&quot;mejs-button mejs-playpause-button mejs-play&quot; &gt;&lt;button type=&quot;button&quot; aria-controls=&quot;'+this.id+'&quot; title=&quot;'+this.options.playpauseText+'&quot;&gt;&lt;/button&gt;&lt;/div&gt;').appendTo(b).click(function(g){g.preventDefault();e.paused?e.play():e.pause();return false});e.addEventListener(&quot;play&quot;,function(){d.removeClass(&quot;mejs-play&quot;).addClass(&quot;mejs-pause&quot;)},false);
+e.addEventListener(&quot;playing&quot;,function(){d.removeClass(&quot;mejs-play&quot;).addClass(&quot;mejs-pause&quot;)},false);e.addEventListener(&quot;pause&quot;,function(){d.removeClass(&quot;mejs-pause&quot;).addClass(&quot;mejs-play&quot;)},false);e.addEventListener(&quot;paused&quot;,function(){d.removeClass(&quot;mejs-pause&quot;).addClass(&quot;mejs-play&quot;)},false)}})})(mejs.$);
+(function(f){f.extend(mejs.MepDefaults,{stopText:&quot;Stop&quot;});f.extend(MediaElementPlayer.prototype,{buildstop:function(a,b,c,e){f('&lt;div class=&quot;mejs-button mejs-stop-button mejs-stop&quot;&gt;&lt;button type=&quot;button&quot; aria-controls=&quot;'+this.id+'&quot; title=&quot;'+this.options.stopText+'&quot;&gt;&lt;/button&gt;&lt;/div&gt;').appendTo(b).click(function(){e.paused||e.pause();if(e.currentTime&gt;0){e.setCurrentTime(0);e.pause();b.find(&quot;.mejs-time-current&quot;).width(&quot;0px&quot;);b.find(&quot;.mejs-time-handle&quot;).css(&quot;left&quot;,&quot;0px&quot;);b.find(&quot;.mejs-time-float-current&quot;).html(mejs.Utility.secondsToTimeCode(0));
+b.find(&quot;.mejs-currenttime&quot;).html(mejs.Utility.secondsToTimeCode(0));c.find(&quot;.mejs-poster&quot;).show()}})}})})(mejs.$);
+(function(f){f.extend(MediaElementPlayer.prototype,{buildprogress:function(a,b,c,e){f('&lt;div class=&quot;mejs-time-rail&quot;&gt;&lt;span class=&quot;mejs-time-total&quot;&gt;&lt;span class=&quot;mejs-time-buffering&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mejs-time-loaded&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mejs-time-current&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mejs-time-handle&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mejs-time-float&quot;&gt;&lt;span class=&quot;mejs-time-float-current&quot;&gt;00:00&lt;/span&gt;&lt;span class=&quot;mejs-time-float-corner&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;').appendTo(b);b.find(&quot;.mejs-time-buffering&quot;).hide();var d=
+b.find(&quot;.mejs-time-total&quot;);c=b.find(&quot;.mejs-time-loaded&quot;);var g=b.find(&quot;.mejs-time-current&quot;),k=b.find(&quot;.mejs-time-handle&quot;),h=b.find(&quot;.mejs-time-float&quot;),o=b.find(&quot;.mejs-time-float-current&quot;),n=function(l){l=l.pageX;var q=d.offset(),i=d.outerWidth(true),j=0;j=0;var m=l-q.left;if(l&gt;q.left&amp;&amp;l&lt;=i+q.left&amp;&amp;e.duration){j=(l-q.left)/i;j=j&lt;=0.02?0:j*e.duration;p&amp;&amp;e.setCurrentTime(j);if(!mejs.MediaFeatures.hasTouch){h.css(&quot;left&quot;,m);o.html(mejs.Utility.secondsToTimeCode(j));h.show()}}},p=false;d.bind(&quot;mousedown&quot;,
+function(l){if(l.which===1){p=true;n(l);f(document).bind(&quot;mousemove.dur&quot;,function(q){n(q)}).bind(&quot;mouseup.dur&quot;,function(){p=false;h.hide();f(document).unbind(&quot;.dur&quot;)});return false}}).bind(&quot;mouseenter&quot;,function(){f(document).bind(&quot;mousemove.dur&quot;,function(l){n(l)});mejs.MediaFeatures.hasTouch||h.show()}).bind(&quot;mouseleave&quot;,function(){if(!p){f(document).unbind(&quot;.dur&quot;);h.hide()}});e.addEventListener(&quot;progress&quot;,function(l){a.setProgressRail(l);a.setCurrentRail(l)},false);e.addEventListener(&quot;timeupdate&quot;,
+function(l){a.setProgressRail(l);a.setCurrentRail(l)},false);this.loaded=c;this.total=d;this.current=g;this.handle=k},setProgressRail:function(a){var b=a!=undefined?a.target:this.media,c=null;if(b&amp;&amp;b.buffered&amp;&amp;b.buffered.length&gt;0&amp;&amp;b.buffered.end&amp;&amp;b.duration)c=b.buffered.end(0)/b.duration;else if(b&amp;&amp;b.bytesTotal!=undefined&amp;&amp;b.bytesTotal&gt;0&amp;&amp;b.bufferedBytes!=undefined)c=b.bufferedBytes/b.bytesTotal;else if(a&amp;&amp;a.lengthComputable&amp;&amp;a.total!=0)c=a.loaded/a.total;if(c!==null){c=Math.min(1,Math.max(0,c));
+this.loaded&amp;&amp;this.total&amp;&amp;this.loaded.width(this.total.width()*c)}},setCurrentRail:function(){if(this.media.currentTime!=undefined&amp;&amp;this.media.duration)if(this.total&amp;&amp;this.handle){var a=this.total.width()*this.media.currentTime/this.media.duration,b=a-this.handle.outerWidth(true)/2;this.current.width(a);this.handle.css(&quot;left&quot;,b)}}})})(mejs.$);
+(function(f){f.extend(mejs.MepDefaults,{duration:-1,timeAndDurationSeparator:&quot; &lt;span&gt; | &lt;/span&gt; &quot;});f.extend(MediaElementPlayer.prototype,{buildcurrent:function(a,b,c,e){f('&lt;div class=&quot;mejs-time&quot;&gt;&lt;span class=&quot;mejs-currenttime&quot;&gt;'+(a.options.alwaysShowHours?&quot;00:&quot;:&quot;&quot;)+(a.options.showTimecodeFrameCount?&quot;00:00:00&quot;:&quot;00:00&quot;)+&quot;&lt;/span&gt;&lt;/div&gt;&quot;).appendTo(b);this.currenttime=this.controls.find(&quot;.mejs-currenttime&quot;);e.addEventListener(&quot;timeupdate&quot;,function(){a.updateCurrent()},false)},buildduration:function(a,
+b,c,e){if(b.children().last().find(&quot;.mejs-currenttime&quot;).length&gt;0)f(this.options.timeAndDurationSeparator+'&lt;span class=&quot;mejs-duration&quot;&gt;'+(this.options.duration&gt;0?mejs.Utility.secondsToTimeCode(this.options.duration,this.options.alwaysShowHours||this.media.duration&gt;3600,this.options.showTimecodeFrameCount,this.options.framesPerSecond||25):(a.options.alwaysShowHours?&quot;00:&quot;:&quot;&quot;)+(a.options.showTimecodeFrameCount?&quot;00:00:00&quot;:&quot;00:00&quot;))+&quot;&lt;/span&gt;&quot;).appendTo(b.find(&quot;.mejs-time&quot;));else{b.find(&quot;.mejs-currenttime&quot;).parent().addClass(&quot;mejs-currenttime-container&quot;);
+f('&lt;div class=&quot;mejs-time mejs-duration-container&quot;&gt;&lt;span class=&quot;mejs-duration&quot;&gt;'+(this.options.duration&gt;0?mejs.Utility.secondsToTimeCode(this.options.duration,this.options.alwaysShowHours||this.media.duration&gt;3600,this.options.showTimecodeFrameCount,this.options.framesPerSecond||25):(a.options.alwaysShowHours?&quot;00:&quot;:&quot;&quot;)+(a.options.showTimecodeFrameCount?&quot;00:00:00&quot;:&quot;00:00&quot;))+&quot;&lt;/span&gt;&lt;/div&gt;&quot;).appendTo(b)}this.durationD=this.controls.find(&quot;.mejs-duration&quot;);e.addEventListener(&quot;timeupdate&quot;,function(){a.updateDuration()},
+false)},updateCurrent:function(){if(this.currenttime)this.currenttime.html(mejs.Utility.secondsToTimeCode(this.media.currentTime,this.options.alwaysShowHours||this.media.duration&gt;3600,this.options.showTimecodeFrameCount,this.options.framesPerSecond||25))},updateDuration:function(){if(this.media.duration&amp;&amp;this.durationD)this.durationD.html(mejs.Utility.secondsToTimeCode(this.media.duration,this.options.alwaysShowHours,this.options.showTimecodeFrameCount,this.options.framesPerSecond||25))}})})(mejs.$);
+(function(f){f.extend(mejs.MepDefaults,{muteText:&quot;Mute Toggle&quot;,hideVolumeOnTouchDevices:true,audioVolume:&quot;horizontal&quot;,videoVolume:&quot;vertical&quot;});f.extend(MediaElementPlayer.prototype,{buildvolume:function(a,b,c,e){if(!(mejs.MediaFeatures.hasTouch&amp;&amp;this.options.hideVolumeOnTouchDevices)){var d=this.isVideo?this.options.videoVolume:this.options.audioVolume,g=d==&quot;horizontal&quot;?f('&lt;div class=&quot;mejs-button mejs-volume-button mejs-mute&quot;&gt;&lt;button type=&quot;button&quot; aria-controls=&quot;'+this.id+'&quot; title=&quot;'+this.options.muteText+
+'&quot;&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;mejs-horizontal-volume-slider&quot;&gt;&lt;div class=&quot;mejs-horizontal-volume-total&quot;&gt;&lt;/div&gt;&lt;div class=&quot;mejs-horizontal-volume-current&quot;&gt;&lt;/div&gt;&lt;div class=&quot;mejs-horizontal-volume-handle&quot;&gt;&lt;/div&gt;&lt;/div&gt;').appendTo(b):f('&lt;div class=&quot;mejs-button mejs-volume-button mejs-mute&quot;&gt;&lt;button type=&quot;button&quot; aria-controls=&quot;'+this.id+'&quot; title=&quot;'+this.options.muteText+'&quot;&gt;&lt;/button&gt;&lt;div class=&quot;mejs-volume-slider&quot;&gt;&lt;div class=&quot;mejs-volume-total&quot;&gt;&lt;/div&gt;&lt;div class=&quot;mejs-volume-current&quot;&gt;&lt;/div&gt;&lt;div class=&quot;mejs-volume-handle&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;').appendTo(b),
+k=this.container.find(&quot;.mejs-volume-slider, .mejs-horizontal-volume-slider&quot;),h=this.container.find(&quot;.mejs-volume-total, .mejs-horizontal-volume-total&quot;),o=this.container.find(&quot;.mejs-volume-current, .mejs-horizontal-volume-current&quot;),n=this.container.find(&quot;.mejs-volume-handle, .mejs-horizontal-volume-handle&quot;),p=function(j,m){if(!k.is(&quot;:visible&quot;)&amp;&amp;typeof m==&quot;undefined&quot;){k.show();p(j,true);k.hide()}else{j=Math.max(0,j);j=Math.min(j,1);j==0?g.removeClass(&quot;mejs-mute&quot;).addClass(&quot;mejs-unmute&quot;):g.removeClass(&quot;mejs-unmute&quot;).addClass(&quot;mejs-mute&quot;);
+if(d==&quot;vertical&quot;){var r=h.height(),s=h.position(),t=r-r*j;n.css(&quot;top&quot;,Math.round(s.top+t-n.height()/2));o.height(r-t);o.css(&quot;top&quot;,s.top+t)}else{r=h.width();s=h.position();r=r*j;n.css(&quot;left&quot;,Math.round(s.left+r-n.width()/2));o.width(Math.round(r))}}},l=function(j){var m=null,r=h.offset();if(d==&quot;vertical&quot;){m=h.height();parseInt(h.css(&quot;top&quot;).replace(/px/,&quot;&quot;),10);m=(m-(j.pageY-r.top))/m;if(r.top==0||r.left==0)return}else{m=h.width();m=(j.pageX-r.left)/m}m=Math.max(0,m);m=Math.min(m,1);p(m);m==0?e.setMuted(true):
+e.setMuted(false);e.setVolume(m)},q=false,i=false;g.hover(function(){k.show();i=true},function(){i=false;!q&amp;&amp;d==&quot;vertical&quot;&amp;&amp;k.hide()});k.bind(&quot;mouseover&quot;,function(){i=true}).bind(&quot;mousedown&quot;,function(j){l(j);f(document).bind(&quot;mousemove.vol&quot;,function(m){l(m)}).bind(&quot;mouseup.vol&quot;,function(){q=false;f(document).unbind(&quot;.vol&quot;);!i&amp;&amp;d==&quot;vertical&quot;&amp;&amp;k.hide()});q=true;return false});g.find(&quot;button&quot;).click(function(){e.setMuted(!e.muted)});e.addEventListener(&quot;volumechange&quot;,function(){if(!q)if(e.muted){p(0);
+g.removeClass(&quot;mejs-mute&quot;).addClass(&quot;mejs-unmute&quot;)}else{p(e.volume);g.removeClass(&quot;mejs-unmute&quot;).addClass(&quot;mejs-mute&quot;)}},false);if(this.container.is(&quot;:visible&quot;)){p(a.options.startVolume);e.pluginType===&quot;native&quot;&amp;&amp;e.setVolume(a.options.startVolume)}}}})})(mejs.$);
+(function(f){f.extend(mejs.MepDefaults,{usePluginFullScreen:true,newWindowCallback:function(){return&quot;&quot;},fullscreenText:mejs.i18n.t(&quot;Fullscreen&quot;)});f.extend(MediaElementPlayer.prototype,{isFullScreen:false,isNativeFullScreen:false,docStyleOverflow:null,isInIframe:false,buildfullscreen:function(a,b,c,e){if(a.isVideo){a.isInIframe=window.location!=window.parent.location;if(mejs.MediaFeatures.hasTrueNativeFullScreen){c=null;c=mejs.MediaFeatures.hasMozNativeFullScreen?f(document):a.container;c.bind(mejs.MediaFeatures.fullScreenEventName,
+function(){if(mejs.MediaFeatures.isFullScreen()){a.isNativeFullScreen=true;a.setControlsSize()}else{a.isNativeFullScreen=false;a.exitFullScreen()}})}var d=this,g=f('&lt;div class=&quot;mejs-button mejs-fullscreen-button&quot;&gt;&lt;button type=&quot;button&quot; aria-controls=&quot;'+d.id+'&quot; title=&quot;'+d.options.fullscreenText+'&quot;&gt;&lt;/button&gt;&lt;/div&gt;').appendTo(b);if(d.media.pluginType===&quot;native&quot;||!d.options.usePluginFullScreen&amp;&amp;!mejs.MediaFeatures.isFirefox)g.click(function(){mejs.MediaFeatures.hasTrueNativeFullScreen&amp;&amp;mejs.MediaFeatures.isFullScreen()||
+a.isFullScreen?a.exitFullScreen():a.enterFullScreen()});else{var k=null;if(function(){var i=document.createElement(&quot;x&quot;),j=document.documentElement,m=window.getComputedStyle;if(!(&quot;pointerEvents&quot;in i.style))return false;i.style.pointerEvents=&quot;auto&quot;;i.style.pointerEvents=&quot;x&quot;;j.appendChild(i);m=m&amp;&amp;m(i,&quot;&quot;).pointerEvents===&quot;auto&quot;;j.removeChild(i);return!!m}()&amp;&amp;!mejs.MediaFeatures.isOpera){var h=false,o=function(){if(h){n.hide();p.hide();l.hide();g.css(&quot;pointer-events&quot;,&quot;&quot;);d.controls.css(&quot;pointer-events&quot;,
+&quot;&quot;);h=false}},n=f('&lt;div class=&quot;mejs-fullscreen-hover&quot; /&gt;').appendTo(d.container).mouseover(o),p=f('&lt;div class=&quot;mejs-fullscreen-hover&quot;  /&gt;').appendTo(d.container).mouseover(o),l=f('&lt;div class=&quot;mejs-fullscreen-hover&quot;  /&gt;').appendTo(d.container).mouseover(o),q=function(){var i={position:&quot;absolute&quot;,top:0,left:0};n.css(i);p.css(i);l.css(i);n.width(d.container.width()).height(d.container.height()-d.controls.height());i=g.offset().left-d.container.offset().left;fullScreenBtnWidth=g.outerWidth(true);p.width(i).height(d.controls.height()).css({top:d.container.height()-
+d.controls.height()});l.width(d.container.width()-i-fullScreenBtnWidth).height(d.controls.height()).css({top:d.container.height()-d.controls.height(),left:i+fullScreenBtnWidth})};f(document).resize(function(){q()});g.mouseover(function(){if(!d.isFullScreen){var i=g.offset(),j=a.container.offset();e.positionFullscreenButton(i.left-j.left,i.top-j.top,false);g.css(&quot;pointer-events&quot;,&quot;none&quot;);d.controls.css(&quot;pointer-events&quot;,&quot;none&quot;);n.show();l.show();p.show();q();h=true}});e.addEventListener(&quot;fullscreenchange&quot;,
+function(){o()})}else g.mouseover(function(){if(k!==null){clearTimeout(k);delete k}var i=g.offset(),j=a.container.offset();e.positionFullscreenButton(i.left-j.left,i.top-j.top,true)}).mouseout(function(){if(k!==null){clearTimeout(k);delete k}k=setTimeout(function(){e.hideFullscreenButton()},1500)})}a.fullscreenBtn=g;f(document).bind(&quot;keydown&quot;,function(i){if((mejs.MediaFeatures.hasTrueNativeFullScreen&amp;&amp;mejs.MediaFeatures.isFullScreen()||d.isFullScreen)&amp;&amp;i.keyCode==27)a.exitFullScreen()})}},enterFullScreen:function(){var a=
+this;if(!(a.media.pluginType!==&quot;native&quot;&amp;&amp;(mejs.MediaFeatures.isFirefox||a.options.usePluginFullScreen))){docStyleOverflow=document.documentElement.style.overflow;document.documentElement.style.overflow=&quot;hidden&quot;;normalHeight=a.container.height();normalWidth=a.container.width();if(a.media.pluginType===&quot;native&quot;)if(mejs.MediaFeatures.hasTrueNativeFullScreen){mejs.MediaFeatures.requestFullScreen(a.container[0]);a.isInIframe&amp;&amp;setTimeout(function c(){if(a.isNativeFullScreen)f(window).width()!==screen.width?
+a.exitFullScreen():setTimeout(c,500)},500)}else if(mejs.MediaFeatures.hasSemiNativeFullScreen){a.media.webkitEnterFullscreen();return}if(a.isInIframe){var b=a.options.newWindowCallback(this);if(b!==&quot;&quot;)if(mejs.MediaFeatures.hasTrueNativeFullScreen)setTimeout(function(){if(!a.isNativeFullScreen){a.pause();window.open(b,a.id,&quot;top=0,left=0,width=&quot;+screen.availWidth+&quot;,height=&quot;+screen.availHeight+&quot;,resizable=yes,scrollbars=no,status=no,toolbar=no&quot;)}},250);else{a.pause();window.open(b,a.id,&quot;top=0,left=0,width=&quot;+
+screen.availWidth+&quot;,height=&quot;+screen.availHeight+&quot;,resizable=yes,scrollbars=no,status=no,toolbar=no&quot;);return}}a.container.addClass(&quot;mejs-container-fullscreen&quot;).width(&quot;100%&quot;).height(&quot;100%&quot;);setTimeout(function(){a.container.css({width:&quot;100%&quot;,height:&quot;100%&quot;});a.setControlsSize()},500);if(a.pluginType===&quot;native&quot;)a.$media.width(&quot;100%&quot;).height(&quot;100%&quot;);else{a.container.find(&quot;object, embed, iframe&quot;).width(&quot;100%&quot;).height(&quot;100%&quot;);a.media.setVideoSize(f(window).width(),f(window).height())}a.layers.children(&quot;div&quot;).width(&quot;100%&quot;).height(&quot;100%&quot;);
+a.fullscreenBtn&amp;&amp;a.fullscreenBtn.removeClass(&quot;mejs-fullscreen&quot;).addClass(&quot;mejs-unfullscreen&quot;);a.setControlsSize();a.isFullScreen=true}},exitFullScreen:function(){if(this.media.pluginType!==&quot;native&quot;&amp;&amp;mejs.MediaFeatures.isFirefox)this.media.setFullscreen(false);else{if(mejs.MediaFeatures.hasTrueNativeFullScreen&amp;&amp;(mejs.MediaFeatures.isFullScreen()||this.isFullScreen))mejs.MediaFeatures.cancelFullScreen();document.documentElement.style.overflow=docStyleOverflow;this.container.removeClass(&quot;mejs-container-fullscreen&quot;).width(normalWidth).height(normalHeight);
+if(this.pluginType===&quot;native&quot;)this.$media.width(normalWidth).height(normalHeight);else{this.container.find(&quot;object embed&quot;).width(normalWidth).height(normalHeight);this.media.setVideoSize(normalWidth,normalHeight)}this.layers.children(&quot;div&quot;).width(normalWidth).height(normalHeight);this.fullscreenBtn.removeClass(&quot;mejs-unfullscreen&quot;).addClass(&quot;mejs-fullscreen&quot;);this.setControlsSize();this.isFullScreen=false}}})})(mejs.$);
+(function(f){f.extend(mejs.MepDefaults,{startLanguage:&quot;&quot;,tracksText:&quot;Captions/Subtitles&quot;});f.extend(MediaElementPlayer.prototype,{hasChapters:false,buildtracks:function(a,b,c,e){if(a.isVideo)if(a.tracks.length!=0){var d;a.chapters=f('&lt;div class=&quot;mejs-chapters mejs-layer&quot;&gt;&lt;/div&gt;').prependTo(c).hide();a.captions=f('&lt;div class=&quot;mejs-captions-layer mejs-layer&quot;&gt;&lt;div class=&quot;mejs-captions-position&quot;&gt;&lt;span class=&quot;mejs-captions-text&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;').prependTo(c).hide();a.captionsText=a.captions.find(&quot;.mejs-captions-text&quot;);
+a.captionsButton=f('&lt;div class=&quot;mejs-button mejs-captions-button&quot;&gt;&lt;button type=&quot;button&quot; aria-controls=&quot;'+this.id+'&quot; title=&quot;'+this.options.tracksText+'&quot;&gt;&lt;/button&gt;&lt;div class=&quot;mejs-captions-selector&quot;&gt;&lt;ul&gt;&lt;li&gt;&lt;input type=&quot;radio&quot; name=&quot;'+a.id+'_captions&quot; id=&quot;'+a.id+'_captions_none&quot; value=&quot;none&quot; checked=&quot;checked&quot; /&gt;&lt;label for=&quot;'+a.id+'_captions_none&quot;&gt;None&lt;/label&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;').appendTo(b).hover(function(){f(this).find(&quot;.mejs-captions-selector&quot;).css(&quot;visibility&quot;,&quot;visible&quot;)},function(){f(this).find(&quot;.mejs-captions-selector&quot;).css(&quot;visibility&quot;,
+&quot;hidden&quot;)}).delegate(&quot;input[type=radio]&quot;,&quot;click&quot;,function(){lang=this.value;if(lang==&quot;none&quot;)a.selectedTrack=null;else for(d=0;d&lt;a.tracks.length;d++)if(a.tracks[d].srclang==lang){a.selectedTrack=a.tracks[d];a.captions.attr(&quot;lang&quot;,a.selectedTrack.srclang);a.displayCaptions();break}});a.options.alwaysShowControls?a.container.find(&quot;.mejs-captions-position&quot;).addClass(&quot;mejs-captions-position-hover&quot;):a.container.bind(&quot;mouseenter&quot;,function(){a.container.find(&quot;.mejs-captions-position&quot;).addClass(&quot;mejs-captions-position-hover&quot;)}).bind(&quot;mouseleave&quot;,
+function(){e.paused||a.container.find(&quot;.mejs-captions-position&quot;).removeClass(&quot;mejs-captions-position-hover&quot;)});a.trackToLoad=-1;a.selectedTrack=null;a.isLoadingTrack=false;for(d=0;d&lt;a.tracks.length;d++)a.tracks[d].kind==&quot;subtitles&quot;&amp;&amp;a.addTrackButton(a.tracks[d].srclang,a.tracks[d].label);a.loadNextTrack();e.addEventListener(&quot;timeupdate&quot;,function(){a.displayCaptions()},false);e.addEventListener(&quot;loadedmetadata&quot;,function(){a.displayChapters()},false);a.container.hover(function(){if(a.hasChapters){a.chapters.css(&quot;visibility&quot;,
+&quot;visible&quot;);a.chapters.fadeIn(200).height(a.chapters.find(&quot;.mejs-chapter&quot;).outerHeight())}},function(){a.hasChapters&amp;&amp;!e.paused&amp;&amp;a.chapters.fadeOut(200,function(){f(this).css(&quot;visibility&quot;,&quot;hidden&quot;);f(this).css(&quot;display&quot;,&quot;block&quot;)})});a.node.getAttribute(&quot;autoplay&quot;)!==null&amp;&amp;a.chapters.css(&quot;visibility&quot;,&quot;hidden&quot;)}},loadNextTrack:function(){this.trackToLoad++;if(this.trackToLoad&lt;this.tracks.length){this.isLoadingTrack=true;this.loadTrack(this.trackToLoad)}else this.isLoadingTrack=false},loadTrack:function(a){var b=
+this,c=b.tracks[a];f.ajax({url:c.src,dataType:&quot;text&quot;,success:function(e){c.entries=typeof e==&quot;string&quot;&amp;&amp;/&lt;tt\s+xml/ig.exec(e)?mejs.TrackFormatParser.dfxp.parse(e):mejs.TrackFormatParser.webvvt.parse(e);c.isLoaded=true;b.enableTrackButton(c.srclang,c.label);b.loadNextTrack();c.kind==&quot;chapters&quot;&amp;&amp;b.media.addEventListener(&quot;play&quot;,function(){b.media.duration&gt;0&amp;&amp;b.displayChapters(c)},false)},error:function(){b.loadNextTrack()}})},enableTrackButton:function(a,b){if(b===&quot;&quot;)b=mejs.language.codes[a]||a;this.captionsButton.find(&quot;input[value=&quot;+
+a+&quot;]&quot;).prop(&quot;disabled&quot;,false).siblings(&quot;label&quot;).html(b);this.options.startLanguage==a&amp;&amp;f(&quot;#&quot;+this.id+&quot;_captions_&quot;+a).click();this.adjustLanguageBox()},addTrackButton:function(a,b){if(b===&quot;&quot;)b=mejs.language.codes[a]||a;this.captionsButton.find(&quot;ul&quot;).append(f('&lt;li&gt;&lt;input type=&quot;radio&quot; name=&quot;'+this.id+'_captions&quot; id=&quot;'+this.id+&quot;_captions_&quot;+a+'&quot; value=&quot;'+a+'&quot; disabled=&quot;disabled&quot; /&gt;&lt;label for=&quot;'+this.id+&quot;_captions_&quot;+a+'&quot;&gt;'+b+&quot; (loading)&lt;/label&gt;&lt;/li&gt;&quot;));this.adjustLanguageBox();this.container.find(&quot;.mejs-captions-translations option[value=&quot;+
+a+&quot;]&quot;).remove()},adjustLanguageBox:function(){this.captionsButton.find(&quot;.mejs-captions-selector&quot;).height(this.captionsButton.find(&quot;.mejs-captions-selector ul&quot;).outerHeight(true)+this.captionsButton.find(&quot;.mejs-captions-translations&quot;).outerHeight(true))},displayCaptions:function(){if(typeof this.tracks!=&quot;undefined&quot;){var a,b=this.selectedTrack;if(b!=null&amp;&amp;b.isLoaded)for(a=0;a&lt;b.entries.times.length;a++)if(this.media.currentTime&gt;=b.entries.times[a].start&amp;&amp;this.media.currentTime&lt;=b.entries.times[a].stop){this.captionsText.html(b.entries.text[a]);
+this.captions.show().height(0);return}this.captions.hide()}},displayChapters:function(){var a;for(a=0;a&lt;this.tracks.length;a++)if(this.tracks[a].kind==&quot;chapters&quot;&amp;&amp;this.tracks[a].isLoaded){this.drawChapters(this.tracks[a]);this.hasChapters=true;break}},drawChapters:function(a){var b=this,c,e,d=e=0;b.chapters.empty();for(c=0;c&lt;a.entries.times.length;c++){e=a.entries.times[c].stop-a.entries.times[c].start;e=Math.floor(e/b.media.duration*100);if(e+d&gt;100||c==a.entries.times.length-1&amp;&amp;e+d&lt;100)e=100-d;b.chapters.append(f('&lt;div class=&quot;mejs-chapter&quot; rel=&quot;'+
+a.entries.times[c].start+'&quot; style=&quot;left: '+d.toString()+&quot;%;width: &quot;+e.toString()+'%;&quot;&gt;&lt;div class=&quot;mejs-chapter-block'+(c==a.entries.times.length-1?&quot; mejs-chapter-block-last&quot;:&quot;&quot;)+'&quot;&gt;&lt;span class=&quot;ch-title&quot;&gt;'+a.entries.text[c]+'&lt;/span&gt;&lt;span class=&quot;ch-time&quot;&gt;'+mejs.Utility.secondsToTimeCode(a.entries.times[c].start)+&quot;&amp;ndash;&quot;+mejs.Utility.secondsToTimeCode(a.entries.times[c].stop)+&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&quot;));d+=e}b.chapters.find(&quot;div.mejs-chapter&quot;).click(function(){b.media.setCurrentTime(parseFloat(f(this).attr(&quot;rel&quot;)));
+b.media.paused&amp;&amp;b.media.play()});b.chapters.show()}});mejs.language={codes:{af:&quot;Afrikaans&quot;,sq:&quot;Albanian&quot;,ar:&quot;Arabic&quot;,be:&quot;Belarusian&quot;,bg:&quot;Bulgarian&quot;,ca:&quot;Catalan&quot;,zh:&quot;Chinese&quot;,&quot;zh-cn&quot;:&quot;Chinese Simplified&quot;,&quot;zh-tw&quot;:&quot;Chinese Traditional&quot;,hr:&quot;Croatian&quot;,cs:&quot;Czech&quot;,da:&quot;Danish&quot;,nl:&quot;Dutch&quot;,en:&quot;English&quot;,et:&quot;Estonian&quot;,tl:&quot;Filipino&quot;,fi:&quot;Finnish&quot;,fr:&quot;French&quot;,gl:&quot;Galician&quot;,de:&quot;German&quot;,el:&quot;Greek&quot;,ht:&quot;Haitian Creole&quot;,iw:&quot;Hebrew&quot;,hi:&quot;Hindi&quot;,hu:&quot;Hungarian&quot;,is:&quot;Icelandic&quot;,id:&quot;Indonesian&quot;,ga:&quot;Irish&quot;,it:&quot;Italian&quot;,ja:&quot;Japanese&quot;,
+ko:&quot;Korean&quot;,lv:&quot;Latvian&quot;,lt:&quot;Lithuanian&quot;,mk:&quot;Macedonian&quot;,ms:&quot;Malay&quot;,mt:&quot;Maltese&quot;,no:&quot;Norwegian&quot;,fa:&quot;Persian&quot;,pl:&quot;Polish&quot;,pt:&quot;Portuguese&quot;,ro:&quot;Romanian&quot;,ru:&quot;Russian&quot;,sr:&quot;Serbian&quot;,sk:&quot;Slovak&quot;,sl:&quot;Slovenian&quot;,es:&quot;Spanish&quot;,sw:&quot;Swahili&quot;,sv:&quot;Swedish&quot;,tl:&quot;Tagalog&quot;,th:&quot;Thai&quot;,tr:&quot;Turkish&quot;,uk:&quot;Ukrainian&quot;,vi:&quot;Vietnamese&quot;,cy:&quot;Welsh&quot;,yi:&quot;Yiddish&quot;}};mejs.TrackFormatParser={webvvt:{pattern_identifier:/^([a-zA-z]+-)?[0-9]+$/,pattern_timecode:/^([0-9]{2}:[0-9]{2}:[0-9]{2}([,.][0-9]{1,3})?) --\&gt; ([0-9]{2}:[0-9]{2}:[0-9]{2}([,.][0-9]{3})?)(.*)$/,
+parse:function(a){var b=0;a=mejs.TrackFormatParser.split2(a,/\r?\n/);for(var c={text:[],times:[]},e,d;b&lt;a.length;b++)if(this.pattern_identifier.exec(a[b])){b++;if((e=this.pattern_timecode.exec(a[b]))&amp;&amp;b&lt;a.length){b++;d=a[b];for(b++;a[b]!==&quot;&quot;&amp;&amp;b&lt;a.length;){d=d+&quot;\n&quot;+a[b];b++}d=f.trim(d).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&amp;@#\/%?=~_|!:,.;]*[-A-Z0-9+&amp;@#\/%=~_|])/ig,&quot;&lt;a href='$1' target='_blank'&gt;$1&lt;/a&gt;&quot;);c.text.push(d);c.times.push({start:mejs.Utility.convertSMPTEtoSeconds(e[1])==0?0.2:mejs.Utility.convertSMPTEtoSeconds(e[1]),
+stop:mejs.Utility.convertSMPTEtoSeconds(e[3]),settings:e[5]})}}return c}},dfxp:{parse:function(a){a=f(a).filter(&quot;tt&quot;);var b=0;b=a.children(&quot;div&quot;).eq(0);var c=b.find(&quot;p&quot;);b=a.find(&quot;#&quot;+b.attr(&quot;style&quot;));var e,d;a={text:[],times:[]};if(b.length){d=b.removeAttr(&quot;id&quot;).get(0).attributes;if(d.length){e={};for(b=0;b&lt;d.length;b++)e[d[b].name.split(&quot;:&quot;)[1]]=d[b].value}}for(b=0;b&lt;c.length;b++){var g;d={start:null,stop:null,style:null};if(c.eq(b).attr(&quot;begin&quot;))d.start=mejs.Utility.convertSMPTEtoSeconds(c.eq(b).attr(&quot;begin&quot;));
+if(!d.start&amp;&amp;c.eq(b-1).attr(&quot;end&quot;))d.start=mejs.Utility.convertSMPTEtoSeconds(c.eq(b-1).attr(&quot;end&quot;));if(c.eq(b).attr(&quot;end&quot;))d.stop=mejs.Utility.convertSMPTEtoSeconds(c.eq(b).attr(&quot;end&quot;));if(!d.stop&amp;&amp;c.eq(b+1).attr(&quot;begin&quot;))d.stop=mejs.Utility.convertSMPTEtoSeconds(c.eq(b+1).attr(&quot;begin&quot;));if(e){g=&quot;&quot;;for(var k in e)g+=k+&quot;:&quot;+e[k]+&quot;;&quot;}if(g)d.style=g;if(d.start==0)d.start=0.2;a.times.push(d);d=f.trim(c.eq(b).html()).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&amp;@#\/%?=~_|!:,.;]*[-A-Z0-9+&amp;@#\/%=~_|])/ig,
+&quot;&lt;a href='$1' target='_blank'&gt;$1&lt;/a&gt;&quot;);a.text.push(d);if(a.times.start==0)a.times.start=2}return a}},split2:function(a,b){return a.split(b)}};if(&quot;x\n\ny&quot;.split(/\n/gi).length!=3)mejs.TrackFormatParser.split2=function(a,b){var c=[],e=&quot;&quot;,d;for(d=0;d&lt;a.length;d++){e+=a.substring(d,d+1);if(b.test(e)){c.push(e.replace(b,&quot;&quot;));e=&quot;&quot;}}c.push(e);return c}})(mejs.$);
+(function(f){f.extend(mejs.MepDefaults,{contextMenuItems:[{render:function(a){if(typeof a.enterFullScreen==&quot;undefined&quot;)return null;return a.isFullScreen?&quot;Turn off Fullscreen&quot;:&quot;Go Fullscreen&quot;},click:function(a){a.isFullScreen?a.exitFullScreen():a.enterFullScreen()}},{render:function(a){return a.media.muted?&quot;Unmute&quot;:&quot;Mute&quot;},click:function(a){a.media.muted?a.setMuted(false):a.setMuted(true)}},{isSeparator:true},{render:function(){return&quot;Download Video&quot;},click:function(a){window.location.href=a.media.currentSrc}}]});
+f.extend(MediaElementPlayer.prototype,{buildcontextmenu:function(a){a.contextMenu=f('&lt;div class=&quot;mejs-contextmenu&quot;&gt;&lt;/div&gt;').appendTo(f(&quot;body&quot;)).hide();a.container.bind(&quot;contextmenu&quot;,function(b){if(a.isContextMenuEnabled){b.preventDefault();a.renderContextMenu(b.clientX-1,b.clientY-1);return false}});a.container.bind(&quot;click&quot;,function(){a.contextMenu.hide()});a.contextMenu.bind(&quot;mouseleave&quot;,function(){a.startContextMenuTimer()})},isContextMenuEnabled:true,enableContextMenu:function(){this.isContextMenuEnabled=
+true},disableContextMenu:function(){this.isContextMenuEnabled=false},contextMenuTimeout:null,startContextMenuTimer:function(){var a=this;a.killContextMenuTimer();a.contextMenuTimer=setTimeout(function(){a.hideContextMenu();a.killContextMenuTimer()},750)},killContextMenuTimer:function(){var a=this.contextMenuTimer;if(a!=null){clearTimeout(a);delete a}},hideContextMenu:function(){this.contextMenu.hide()},renderContextMenu:function(a,b){for(var c=this,e=&quot;&quot;,d=c.options.contextMenuItems,g=0,k=d.length;g&lt;
+k;g++)if(d[g].isSeparator)e+='&lt;div class=&quot;mejs-contextmenu-separator&quot;&gt;&lt;/div&gt;';else{var h=d[g].render(c);if(h!=null)e+='&lt;div class=&quot;mejs-contextmenu-item&quot; data-itemindex=&quot;'+g+'&quot; id=&quot;element-'+Math.random()*1E6+'&quot;&gt;'+h+&quot;&lt;/div&gt;&quot;}c.contextMenu.empty().append(f(e)).css({top:b,left:a}).show();c.contextMenu.find(&quot;.mejs-contextmenu-item&quot;).each(function(){var o=f(this),n=parseInt(o.data(&quot;itemindex&quot;),10),p=c.options.contextMenuItems[n];typeof p.show!=&quot;undefined&quot;&amp;&amp;p.show(o,c);o.click(function(){typeof p.click!=
+&quot;undefined&quot;&amp;&amp;p.click(c);c.contextMenu.hide()})});setTimeout(function(){c.killControlsTimer(&quot;rev3&quot;)},100)}})})(mejs.$);
+(function(f){f.extend(mejs.MepDefaults,{postrollCloseText:mejs.i18n.t(&quot;Close&quot;)});f.extend(MediaElementPlayer.prototype,{buildpostroll:function(a,b,c){var e=this.container.find('link[rel=&quot;postroll&quot;]').attr(&quot;href&quot;);if(typeof e!==&quot;undefined&quot;){a.postroll=f('&lt;div class=&quot;mejs-postroll-layer mejs-layer&quot;&gt;&lt;a class=&quot;mejs-postroll-close&quot; onclick=&quot;$(this).parent().hide();return false;&quot;&gt;'+this.options.postrollCloseText+'&lt;/a&gt;&lt;div class=&quot;mejs-postroll-layer-content&quot;&gt;&lt;/div&gt;&lt;/div&gt;').prependTo(c).hide();this.media.addEventListener(&quot;ended&quot;,
+function(){f.ajax({dataType:&quot;html&quot;,url:e,success:function(d){c.find(&quot;.mejs-postroll-layer-content&quot;).html(d)}});a.postroll.show()},false)}}})})(mejs.$);
+
</ins></span></pre></div>
<a id="trunkwpincludesmediaelementmediaelementplayercss"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/mediaelement/mediaelementplayer.css (0 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/mediaelement/mediaelementplayer.css                                (rev 0)
+++ trunk/wp-includes/mediaelement/mediaelementplayer.css        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -0,0 +1,839 @@
</span><ins>+.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-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%;
+}
+
+/* Start: LAYERS */
+.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;
+}
+.mejs-poster img {
+        border: 0;
+        padding: 0;
+        border: 0;
+        display: block;
+}
+.mejs-overlay {
+        position: absolute;
+        top: 0;
+        left: 0;
+}
+.mejs-overlay-play {
+        cursor: pointer;
+}
+.mejs-overlay-button {
+        position: absolute;
+        top: 50%;
+        left: 50%;
+        width: 100px;
+        height: 100px;
+        margin: -50px 0 0 -50px;
+        background: url(bigplay.svg) no-repeat;
+}
+.no-svg .mejs-overlay-button { 
+        background-image: url(bigplay.png);
+}
+.mejs-overlay:hover .mejs-overlay-button {
+        background-position: 0 -100px ;
+}
+.mejs-overlay-loading {
+        position: absolute;
+        top: 50%;
+        left: 50%;
+        width: 80px;
+        height: 80px;
+        margin: -40px 0 0 -40px;
+        background: #333;
+        background: url(background.png);
+        background: rgba(0, 0, 0, 0.9);
+        background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(50,50,50,0.9)), to(rgba(0,0,0,0.9)));
+        background: -webkit-linear-gradient(top, rgba(50,50,50,0.9), rgba(0,0,0,0.9));
+        background: -moz-linear-gradient(top, rgba(50,50,50,0.9), rgba(0,0,0,0.9));
+        background: -o-linear-gradient(top, rgba(50,50,50,0.9), rgba(0,0,0,0.9));
+        background: -ms-linear-gradient(top, rgba(50,50,50,0.9), rgba(0,0,0,0.9));
+        background: linear-gradient(rgba(50,50,50,0.9), rgba(0,0,0,0.9));
+}
+.mejs-overlay-loading span {
+        display: block;
+        width: 80px;
+        height: 80px;
+        background: transparent url(loading.gif) 50% 50% no-repeat;
+}
+
+/* End: LAYERS */
+
+/* Start: CONTROL BAR */
+.mejs-container .mejs-controls {
+        position: absolute;
+        background: none;
+        list-style-type: none;
+        margin: 0;
+        padding: 0;
+        bottom: 0;
+        left: 0;
+        background: url(background.png);
+        background: rgba(0, 0, 0, 0.7);
+        background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(50,50,50,0.7)), to(rgba(0,0,0,0.7)));
+        background: -webkit-linear-gradient(top, rgba(50,50,50,0.7), rgba(0,0,0,0.7)); 
+        background: -moz-linear-gradient(top, rgba(50,50,50,0.7), rgba(0,0,0,0.7));
+        background: -o-linear-gradient(top, rgba(50,50,50,0.7), rgba(0,0,0,0.7)); 
+        background: -ms-linear-gradient(top, rgba(50,50,50,0.7), rgba(0,0,0,0.7));         
+        background: linear-gradient(rgba(50,50,50,0.7), rgba(0,0,0,0.7));         
+        height: 30px;
+        width: 100%;
+}
+.mejs-container .mejs-controls  div {
+        list-style-type: none;
+        background-image: none;
+        display: block;
+        float: left;
+        margin: 0;
+        padding: 0;
+        width: 26px;
+        height: 26px;
+        font-size: 11px;
+        line-height: 11px;
+        background: 0;
+        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);
+}
+
+/* :focus for accessibility */
+.mejs-controls .mejs-button button:focus {
+        outline: solid 1px yellow;
+}
+
+/* End: CONTROL BAR */
+
+/* Start: Time (current / duration) */
+.mejs-container .mejs-controls .mejs-time {
+        color: #fff;
+        display: block;
+        height: 17px;
+        width: auto;
+        padding: 8px 3px 0 3px ;
+        overflow: hidden;
+        text-align: center;
+        padding: auto 4px;
+        -moz-box-sizing: content-box;
+        -webkit-box-sizing: content-box;
+        box-sizing: content-box;
+}
+.mejs-container .mejs-controls .mejs-time span {
+        font-size: 11px;
+        color: #fff;
+        line-height: 12px;
+        display: block;
+        float: left;
+        margin: 1px 2px 0 0;
+        width: auto;
+}
+/* End: Time (current / duration) */
+
+
+/* Start: Play/pause */
+.mejs-controls .mejs-play button {
+        background-position: 0 0;
+}
+.mejs-controls .mejs-pause button {
+        background-position: 0 -16px;
+}
+/* End: Play/pause */
+
+
+/* Stop */
+.mejs-controls .mejs-stop button {
+        background-position: -112px 0;
+}
+/* End: Play/pause */
+
+/* Start: Progress bar */
+.mejs-controls div.mejs-time-rail {
+        width: 200px;
+        padding-top: 5px;
+}
+.mejs-controls .mejs-time-rail span {
+        display: block;
+        position: absolute;
+        width: 180px;
+        height: 10px;
+        -webkit-border-radius: 2px;
+        -moz-border-radius: 2px;
+        border-radius: 2px;
+        cursor: pointer;
+}
+.mejs-controls .mejs-time-rail .mejs-time-total {
+        margin: 5px;
+        background: #333;
+        background: rgba(50,50,50,0.8);
+        background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(30,30,30,0.8)), to(rgba(60,60,60,0.8)));
+        background: -webkit-linear-gradient(top, rgba(30,30,30,0.8), rgba(60,60,60,0.8)); 
+        background: -moz-linear-gradient(top, rgba(30,30,30,0.8), rgba(60,60,60,0.8));
+        background: -o-linear-gradient(top, rgba(30,30,30,0.8), rgba(60,60,60,0.8));
+        background: -ms-linear-gradient(top, rgba(30,30,30,0.8), rgba(60,60,60,0.8));
+        background: linear-gradient(rgba(30,30,30,0.8), rgba(60,60,60,0.8));
+}
+.mejs-controls .mejs-time-rail .mejs-time-buffering {
+        width: 100%;
+        background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+        background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
+        background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+        background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+        background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+        background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+        -webkit-background-size: 15px 15px;
+        -moz-background-size: 15px 15px;
+        -o-background-size: 15px 15px;
+        background-size: 15px 15px;
+        -webkit-animation: buffering-stripes 2s linear infinite;
+        -moz-animation: buffering-stripes 2s linear infinite;
+        -ms-animation: buffering-stripes 2s linear infinite;
+        -o-animation: buffering-stripes 2s linear infinite;
+        animation: buffering-stripes 2s linear infinite;
+}
+
+@-webkit-keyframes buffering-stripes { from {background-position: 0 0;} to {background-position: 30px 0;} }
+@-moz-keyframes buffering-stripes { from {background-position: 0 0;} to {background-position: 30px 0;} }
+@-ms-keyframes buffering-stripes { from {background-position: 0 0;} to {background-position: 30px 0;} }
+@-o-keyframes buffering-stripes { from {background-position: 0 0;} to {background-position: 30px 0;} }
+@keyframes buffering-stripes { from {background-position: 0 0;} to {background-position: 30px 0;} }
+
+.mejs-controls .mejs-time-rail .mejs-time-loaded {
+        background: #3caac8;
+        background: rgba(60,170,200,0.8);
+        background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(44,124,145,0.8)), to(rgba(78,183,212,0.8))); 
+        background: -webkit-linear-gradient(top, rgba(44,124,145,0.8), rgba(78,183,212,0.8));
+        background: -moz-linear-gradient(top, rgba(44,124,145,0.8), rgba(78,183,212,0.8));
+        background: -o-linear-gradient(top, rgba(44,124,145,0.8), rgba(78,183,212,0.8));
+        background: -ms-linear-gradient(top, rgba(44,124,145,0.8), rgba(78,183,212,0.8));
+        background: linear-gradient(rgba(44,124,145,0.8), rgba(78,183,212,0.8));
+        width: 0;
+}
+.mejs-controls .mejs-time-rail .mejs-time-current {
+        width: 0;
+        background: #fff;
+        background: rgba(255,255,255,0.8);
+        background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(255,255,255,0.9)), to(rgba(200,200,200,0.8)));
+        background: -webkit-linear-gradient(top, rgba(255,255,255,0.9), rgba(200,200,200,0.8));
+        background: -moz-linear-gradient(top, rgba(255,255,255,0.9), rgba(200,200,200,0.8)); 
+        background: -o-linear-gradient(top, rgba(255,255,255,0.9), rgba(200,200,200,0.8));
+        background: -ms-linear-gradient(top, rgba(255,255,255,0.9), rgba(200,200,200,0.8));
+        background: linear-gradient(rgba(255,255,255,0.9), rgba(200,200,200,0.8));
+}
+
+.mejs-controls .mejs-time-rail .mejs-time-handle {
+        display: none;
+        position: absolute;
+        margin: 0;
+        width: 10px;
+        background: #fff;
+        -webkit-border-radius: 5px;
+        -moz-border-radius: 5px;
+        border-radius: 5px;
+        cursor: pointer;
+        border: solid 2px #333;
+        top: -2px;
+        text-align: center;
+}
+
+.mejs-controls .mejs-time-rail .mejs-time-float {
+        position: absolute;
+        display: none;
+        background: #eee;
+        width: 36px;
+        height: 17px;
+        border: solid 1px #333;
+        top: -26px;
+        margin-left: -18px;
+        text-align: center;
+        color: #111;
+}
+
+.mejs-controls .mejs-time-rail .mejs-time-float-current {
+        margin: 2px;
+        width: 30px;
+        display: block;
+        text-align: center;
+        left: 0;
+}
+.mejs-controls .mejs-time-rail .mejs-time-float-corner {
+        position: absolute;
+        display: block;
+        width: 0;
+        height: 0;
+        line-height: 0;
+        border: solid 5px #eee;
+        border-color: #eee transparent transparent transparent;
+        -webkit-border-radius: 0;
+        -moz-border-radius: 0;
+        border-radius: 0;
+        top: 15px;
+        left: 13px;
+
+}
+
+
+
+
+/*
+.mejs-controls .mejs-time-rail:hover .mejs-time-handle {
+        visibility:visible;
+}
+*/
+/* End: Progress bar */
+
+/* Start: Fullscreen */
+.mejs-controls .mejs-fullscreen-button button {
+        background-position: -32px 0;
+}
+.mejs-controls .mejs-unfullscreen button {
+        background-position: -32px -16px;
+}
+/* End: Fullscreen */
+
+
+/* Start: Mute/Volume */
+.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, 0.7);
+        -webkit-border-radius: 0;
+        -moz-border-radius: 0;
+        border-radius: 0;
+        top: -115px;
+        left: 0;
+        z-index: 1;
+        position: absolute;
+        margin: 0;
+}
+.mejs-controls .mejs-volume-button:hover {
+        -webkit-border-radius: 0 0 4px 4px;
+        -moz-border-radius: 0 0 4px 4px;
+        border-radius: 0 0 4px 4px;
+}
+/*
+.mejs-controls .mejs-volume-button:hover .mejs-volume-slider {
+        display: block;
+}
+*/
+
+.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-total {
+        position: absolute;
+        left: 11px;
+        top: 8px;
+        width: 2px;
+        height: 100px;
+        background: #ddd;
+        background: rgba(255, 255, 255, 0.5);
+        margin: 0;
+}
+
+.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-current {
+        position: absolute;
+        left: 11px;
+        top: 8px;
+        width: 2px;
+        height: 100px;
+        background: #ddd;
+        background: rgba(255, 255, 255, 0.9);
+        margin: 0;
+}
+
+.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-handle {
+        position: absolute;
+        left: 4px;
+        top: -3px;
+        width: 16px;
+        height: 6px;
+        background: #ddd;
+        background: rgba(255, 255, 255, 0.9);
+        cursor: N-resize;
+        -webkit-border-radius: 1px;
+        -moz-border-radius: 1px;
+        border-radius: 1px;
+        margin: 0;
+}
+
+
+/* horizontal version */
+
+.mejs-controls div.mejs-horizontal-volume-slider {
+        height: 26px;
+        width: 60px;
+        position: relative;
+}
+
+.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total {
+        position: absolute;
+        left: 0;
+        top: 11px;
+        width: 50px;
+        height: 8px;
+        margin: 0;
+        padding: 0;
+        font-size: 1px;
+        
+        -webkit-border-radius: 2px;
+        -moz-border-radius: 2px;
+        border-radius: 2px;        
+
+        background: #333;
+        background: rgba(50,50,50,0.8);
+        background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(30,30,30,0.8)), to(rgba(60,60,60,0.8)));
+        background: -webkit-linear-gradient(top, rgba(30,30,30,0.8), rgba(60,60,60,0.8)); 
+        background: -moz-linear-gradient(top, rgba(30,30,30,0.8), rgba(60,60,60,0.8));
+        background: -o-linear-gradient(top, rgba(30,30,30,0.8), rgba(60,60,60,0.8));
+        background: -ms-linear-gradient(top, rgba(30,30,30,0.8), rgba(60,60,60,0.8));
+        background: linear-gradient(rgba(30,30,30,0.8), rgba(60,60,60,0.8));
+
+}
+
+.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current {
+        position: absolute;
+        left: 0;
+        top: 11px;
+        width: 50px;
+        height: 8px;
+        margin: 0;
+        padding: 0;
+        font-size: 1px;
+
+        -webkit-border-radius: 2px;
+        -moz-border-radius: 2px;
+        border-radius: 2px;
+
+        background: #fff;
+        background: rgba(255,255,255,0.8);
+        background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(255,255,255,0.9)), to(rgba(200,200,200,0.8)));
+        background: -webkit-linear-gradient(top, rgba(255,255,255,0.9), rgba(200,200,200,0.8));
+        background: -moz-linear-gradient(top, rgba(255,255,255,0.9), rgba(200,200,200,0.8)); 
+        background: -o-linear-gradient(top, rgba(255,255,255,0.9), rgba(200,200,200,0.8));
+        background: -ms-linear-gradient(top, rgba(255,255,255,0.9), rgba(200,200,200,0.8));
+        background: linear-gradient(rgba(255,255,255,0.9), rgba(200,200,200,0.8));
+
+}
+
+
+.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-handle {
+        display: none;
+}
+
+/* End: Mute/Volume */
+
+
+
+
+/* Start: TRACK (Captions and Chapters) */
+.mejs-controls .mejs-captions-button {
+        position: relative;
+}
+
+.mejs-controls .mejs-captions-button button {
+        background-position: -48px 0;
+}
+.mejs-controls .mejs-captions-button .mejs-captions-selector {
+        visibility: hidden;
+        position: absolute;
+        bottom: 26px;
+        right: -10px;
+        width: 130px;
+        height: 100px;
+        background: url(background.png);
+        background: rgba(50,50,50,0.7);
+        border: solid 1px transparent;
+        padding: 10px;
+        overflow: hidden;
+        -webkit-border-radius: 0;
+        -moz-border-radius: 0;
+        border-radius: 0;
+}
+/*
+.mejs-controls .mejs-captions-button:hover  .mejs-captions-selector {
+        visibility: visible;
+}
+*/
+
+.mejs-controls .mejs-captions-button .mejs-captions-selector ul {
+        margin: 0;
+        padding: 0;
+        display: block;
+        list-style-type: none !important;
+        overflow: hidden;
+}
+.mejs-controls .mejs-captions-button .mejs-captions-selector ul li {
+        margin: 0 0 6px 0;
+        padding: 0;
+        list-style-type: none !important;
+        display: block;
+        color: #fff;
+        overflow: hidden;
+}
+.mejs-controls .mejs-captions-button .mejs-captions-selector ul li input {
+        clear: both;
+        float: left;
+        margin: 3px 3px 0 5px;
+}
+.mejs-controls .mejs-captions-button .mejs-captions-selector ul li label {
+        width: 100px;
+        float: left;
+        padding: 4px 0 0 0;
+        line-height: 15px;
+        font-family: helvetica, arial;
+        font-size: 10px;
+}
+
+.mejs-controls .mejs-captions-button .mejs-captions-translations {
+        font-size: 10px;
+        margin: 0 0 5px 0;
+}
+
+
+.mejs-chapters {
+        position: absolute;
+        top: 0;
+        left: 0;
+        -xborder-right: solid 1px #fff;
+        width: 10000px;
+        z-index: 1;
+}
+.mejs-chapters .mejs-chapter {
+        position: absolute;
+        float: left;
+        background: #222;
+        background: rgba(0, 0, 0, 0.7);
+        background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(50,50,50,0.7)), to(rgba(0,0,0,0.7)));
+        background: -webkit-linear-gradient(top, rgba(50,50,50,0.7), rgba(0,0,0,0.7));
+        background: -moz-linear-gradient(top, rgba(50,50,50,0.7), rgba(0,0,0,0.7));
+        background: -o-linear-gradient(top, rgba(50,50,50,0.7), rgba(0,0,0,0.7));
+        background: -ms-linear-gradient(top, rgba(50,50,50,0.7), rgba(0,0,0,0.7));
+        background: linear-gradient(rgba(50,50,50,0.7), rgba(0,0,0,0.7)); 
+        filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, startColorstr=#323232,endColorstr=#000000);                
+        overflow: hidden;
+        border: 0;
+}
+.mejs-chapters .mejs-chapter .mejs-chapter-block {
+        font-size: 11px;
+        color: #fff;
+        padding: 5px;
+        display: block;
+        border-right: solid 1px #333;
+        border-bottom: solid 1px #333;
+        cursor: pointer;
+}
+.mejs-chapters .mejs-chapter .mejs-chapter-block-last {
+        border-right: none;
+}
+
+.mejs-chapters .mejs-chapter .mejs-chapter-block:hover {
+        /*background: #333;*/
+        background: #666;
+        background: rgba(102,102,102, 0.7);
+        background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(102,102,102,0.7)), to(rgba(50,50,50,0.6)));
+        background: -webkit-linear-gradient(top, rgba(102,102,102,0.7), rgba(50,50,50,0.6));
+        background: -moz-linear-gradient(top, rgba(102,102,102,0.7), rgba(50,50,50,0.6));
+        background: -o-linear-gradient(top, rgba(102,102,102,0.7), rgba(50,50,50,0.6));
+        background: -ms-linear-gradient(top, rgba(102,102,102,0.7), rgba(50,50,50,0.6));
+        background: linear-gradient(rgba(102,102,102,0.7), rgba(50,50,50,0.6));
+        filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, startColorstr=#666666,endColorstr=#323232);                
+}
+.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-title {
+        font-size: 12px;
+        font-weight: bold;
+        display: block;
+        white-space: nowrap;
+        text-overflow: ellipsis;
+        margin: 0 0 3px 0;
+        line-height: 12px;
+}
+.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-timespan {
+        font-size: 12px;
+        line-height: 12px;
+        margin: 3px 0 4px 0;
+        display: block;
+        white-space: nowrap;
+        text-overflow: ellipsis;
+}
+
+
+.mejs-captions-layer {
+        position: absolute;
+        bottom: 0;
+        left: 0;
+        text-align:center;
+        /*font-weight: bold;*/
+        line-height: 22px;
+        font-size: 12px;
+        color: #fff;
+}
+.mejs-captions-layer  a {
+        color: #fff;
+        text-decoration: underline;
+}
+.mejs-captions-layer[lang=ar] {
+        font-size: 20px;
+        font-weight: normal;
+}
+
+.mejs-captions-position {
+        position: absolute;
+        width: 100%;
+        bottom: 15px;
+        left: 0;
+}
+
+.mejs-captions-position-hover {
+        bottom: 45px;
+}
+
+.mejs-captions-text {
+        padding: 3px 5px;
+        background: url(background.png);
+        background: rgba(20, 20, 20, 0.8);
+
+}
+/* End: TRACK (Captions and Chapters) */
+
+
+
+.mejs-clear {
+        clear: both;
+}
+
+/* Start: ERROR */
+.me-cannotplay {
+}
+.me-cannotplay a {
+        color: #fff;
+        font-weight: bold;
+}
+.me-cannotplay span {
+        padding: 15px;
+        display: block;
+}
+/* End: ERROR */
+
+
+/* Start: Loop */
+.mejs-controls .mejs-loop-off button {
+        background-position: -64px -16px;
+}
+.mejs-controls .mejs-loop-on button {
+        background-position: -64px 0;
+}
+/* End: Loop */
+
+/* Start: backlight */
+.mejs-controls .mejs-backlight-off button {
+        background-position: -80px -16px;
+}
+.mejs-controls .mejs-backlight-on button {
+        background-position: -80px 0;
+}
+/* End: backlight */
+
+
+/* Start: picture controls */
+.mejs-controls .mejs-picturecontrols-button {
+        background-position: -96px 0;
+}
+/* End: picture controls */
+
+
+/* context menu */
+.mejs-contextmenu {
+        position: absolute;
+        width: 150px;
+        padding: 10px;
+        border-radius: 4px;
+        top: 0;
+        left: 0;
+        background: #fff;
+        border: solid 1px #999;
+        z-index: 1001; /* make sure it shows on fullscreen */
+}
+.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;
+}
+
+
+/* Start: SourceChooser */
+.mejs-controls .mejs-sourcechooser-button {
+        position: relative;
+}
+
+.mejs-controls .mejs-sourcechooser-button button {
+        background-position: -128px 0;
+}
+.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector {
+        visibility: hidden;
+        position: absolute;
+        bottom: 26px;
+        right: -10px;
+        width: 130px;
+        height: 100px;
+        background: url(background.png);
+        background: rgba(50,50,50,0.7);
+        border: solid 1px transparent;
+        padding: 10px;
+        overflow: hidden;
+        -webkit-border-radius: 0;
+        -moz-border-radius: 0;
+        border-radius: 0;
+}
+
+.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul {
+        margin: 0;
+        padding: 0;
+        display: block;
+        list-style-type: none !important;
+        overflow: hidden;
+}
+.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li {
+        margin: 0 0 6px 0;
+        padding: 0;
+        list-style-type: none !important;
+        display: block;
+        color: #fff;
+        overflow: hidden;
+}
+.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li input {
+        clear: both;
+        float: left;
+        margin: 3px 3px 0 5px;
+}
+.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li label {
+        width: 100px;
+        float: left;
+        padding: 4px 0 0 0;
+        line-height: 15px;
+        font-family: helvetica, arial;
+        font-size: 10px;
+}
+/* End: SourceChooser */
+
+
+/* Start: Postroll */
+.mejs-postroll-layer {
+        position: absolute;
+        bottom: 0;
+        left: 0;
+        width: 100%;
+        height: 100%;
+        background: url(background.png);
+        background: rgba(50,50,50,0.7);
+        z-index: 1000;
+        overflow: hidden;
+}
+.mejs-postroll-layer-content {
+        width: 100%;
+        height: 100%;
+}
+.mejs-postroll-close {
+        position: absolute;
+        right: 0;
+        top: 0;
+        background: url(background.png);
+        background: rgba(50,50,50,0.7);
+        color: #fff;
+        padding: 4px;
+        z-index: 100;
+        cursor: pointer;
+}
+/* End: Postroll */
</ins></span></pre></div>
<a id="trunkwpincludesmediaelementmediaelementplayermincss"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/mediaelement/mediaelementplayer.min.css (0 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/mediaelement/mediaelementplayer.min.css                                (rev 0)
+++ trunk/wp-includes/mediaelement/mediaelementplayer.min.css        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+.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-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-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;}.mejs-poster img{border:0;padding:0;border:0;display:block;}.mejs-overlay{position:absolute;top:0;left:0;}.mejs-overlay-play{cursor:pointer;}.mejs-overlay-button{position:absolute;top:50%;left:50%;width:100px;height:100px;margin:-50px 0 0 -50px;background:url(bigplay.svg) no-repeat;}.no-svg .mejs-overlay-button{background-image:url(bigplay.
 png);}.mejs-overlay:hover .mejs-overlay-button{background-position:0 -100px;}.mejs-overlay-loading{position:absolute;top:50%;left:50%;width:80px;height:80px;margin:-40px 0 0 -40px;background:#333;background:url(background.png);background:rgba(0,0,0,0.9);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.9)),to(rgba(0,0,0,0.9)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-moz-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-o-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:-ms-linear-gradient(top,rgba(50,50,50,0.9),rgba(0,0,0,0.9));background:linear-gradient(rgba(50,50,50,0.9),rgba(0,0,0,0.9));}.mejs-overlay-loading span{display:block;width:80px;height:80px;background:transparent url(loading.gif) 50% 50% no-repeat;}.mejs-container .mejs-controls{position:absolute;background:none;list-style-type:none;margin:0;padding:0;bottom:0;left:0;background:url(background.png);background:rgb
 a(0,0,0,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.7)),to(rgba(0,0,0,0.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-moz-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-o-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-ms-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:linear-gradient(rgba(50,50,50,0.7),rgba(0,0,0,0.7));height:30px;width:100%;}.mejs-container .mejs-controls div{list-style-type:none;background-image:none;display:block;float:left;margin:0;padding:0;width:26px;height:26px;font-size:11px;line-height:11px;background:0;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 butto
 n{background-image:url(controls.png);}.mejs-controls .mejs-button button:focus{outline:solid 1px yellow;}.mejs-container .mejs-controls .mejs-time{color:#fff;display:block;height:17px;width:auto;padding:8px 3px 0 3px;overflow:hidden;text-align:center;padding:auto 4px;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;}.mejs-container .mejs-controls .mejs-time span{font-size:11px;color:#fff;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{width:200px;padding-top:5px;}.mejs-controls .mejs-time-rail span{display:block;position:absolute;width:180px;height:10px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;cursor:pointer;}.mejs-controls .mejs-time-rail .mejs-time-total{margin:5px;background:
 #333;background:rgba(50,50,50,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(30,30,30,0.8)),to(rgba(60,60,60,0.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-moz-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-o-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-ms-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:linear-gradient(rgba(30,30,30,0.8),rgba(60,60,60,0.8));}.mejs-controls .mejs-time-rail .mejs-time-buffering{width:100%;background-image:-o-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(
 0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-ms-linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(-45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);-webkit-background-size:15px 15px;-moz-background-size:15px 15px;-o-background-size:15px 15px;background-size:15px 15px;-webkit-animation:buffering-stripes 2s linear infinite;-moz-animation:buffering-stripes 2
 s linear infinite;-ms-animation:buffering-stripes 2s linear infinite;-o-animation:buffering-stripes 2s linear infinite;animation:buffering-stripes 2s linear infinite;}@-webkit-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-moz-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-ms-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@-o-keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}@keyframes buffering-stripes{from{background-position:0 0;}to{background-position:30px 0;}}.mejs-controls .mejs-time-rail .mejs-time-loaded{background:#3caac8;background:rgba(60,170,200,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(44,124,145,0.8)),to(rgba(78,183,212,0.8)));background:-webkit-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-moz-linear-gradient(top,rgba(44,124,145,0.8),rgba(78
 ,183,212,0.8));background:-o-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:-ms-linear-gradient(top,rgba(44,124,145,0.8),rgba(78,183,212,0.8));background:linear-gradient(rgba(44,124,145,0.8),rgba(78,183,212,0.8));width:0;}.mejs-controls .mejs-time-rail .mejs-time-current{width:0;background:#fff;background:rgba(255,255,255,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(255,255,255,0.9)),to(rgba(200,200,200,0.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-moz-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-o-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-ms-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:linear-gradient(rgba(255,255,255,0.9),rgba(200,200,200,0.8));}.mejs-controls .mejs-time-rail .mejs-time-handle{display:none;position:absolute;margin:0;width:10px;background:#fff;-webkit-border-ra
 dius:5px;-moz-border-radius:5px;border-radius:5px;cursor:pointer;border:solid 2px #333;top:-2px;text-align:center;}.mejs-controls .mejs-time-rail .mejs-time-float{position:absolute;display:none;background:#eee;width:36px;height:17px;border:solid 1px #333;top:-26px;margin-left:-18px;text-align:center;color:#111;}.mejs-controls .mejs-time-rail .mejs-time-float-current{margin:2px;width:30px;display:block;text-align:center;left:0;}.mejs-controls .mejs-time-rail .mejs-time-float-corner{position:absolute;display:block;width:0;height:0;line-height:0;border:solid 5px #eee;border-color:#eee transparent transparent transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:15px;left:13px;}.mejs-controls .mejs-fullscreen-button button{background-position:-32px 0;}.mejs-controls .mejs-unfullscreen button{background-position:-32px -16px;}.mejs-controls .mejs-mute button{background-position:-16px -16px;}.mejs-controls .mejs-unmute button{background-position:-16px 0;}.mej
 s-controls .mejs-volume-button{position:relative;}.mejs-controls .mejs-volume-button .mejs-volume-slider{display:none;height:115px;width:25px;background:url(background.png);background:rgba(50,50,50,0.7);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;top:-115px;left:0;z-index:1;position:absolute;margin:0;}.mejs-controls .mejs-volume-button:hover{-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-total{position:absolute;left:11px;top:8px;width:2px;height:100px;background:#ddd;background:rgba(255,255,255,0.5);margin:0;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-current{position:absolute;left:11px;top:8px;width:2px;height:100px;background:#ddd;background:rgba(255,255,255,0.9);margin:0;}.mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-handle{position:absolute;left:4px;top:-3px;width:16px;height:6px;background:#ddd;b
 ackground:rgba(255,255,255,0.9);cursor:N-resize;-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px;margin:0;}.mejs-controls div.mejs-horizontal-volume-slider{height:26px;width:60px;position:relative;}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total{position:absolute;left:0;top:11px;width:50px;height:8px;margin:0;padding:0;font-size:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#333;background:rgba(50,50,50,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(30,30,30,0.8)),to(rgba(60,60,60,0.8)));background:-webkit-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-moz-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-o-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:-ms-linear-gradient(top,rgba(30,30,30,0.8),rgba(60,60,60,0.8));background:linear-gradient(rgba(30,30,30,0.8),rgba(60,60,60,0.8));}.mejs-controls .mejs-horizontal
 -volume-slider .mejs-horizontal-volume-current{position:absolute;left:0;top:11px;width:50px;height:8px;margin:0;padding:0;font-size:1px;-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:2px;background:#fff;background:rgba(255,255,255,0.8);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(255,255,255,0.9)),to(rgba(200,200,200,0.8)));background:-webkit-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-moz-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-o-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:-ms-linear-gradient(top,rgba(255,255,255,0.9),rgba(200,200,200,0.8));background:linear-gradient(rgba(255,255,255,0.9),rgba(200,200,200,0.8));}.mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-handle{display:none;}.mejs-controls .mejs-captions-button{position:relative;}.mejs-controls .mejs-captions-button button{background-position:-48px 0;}.mejs-controls .m
 ejs-captions-button .mejs-captions-selector{visibility:hidden;position:absolute;bottom:26px;right:-10px;width:130px;height:100px;background:url(background.png);background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:10px;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li{margin:0 0 6px 0;padding:0;list-style-type:none!important;display:block;color:#fff;overflow:hidden;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;}.mejs-controls .mejs-captions-button .mejs-captions-selector ul li label{width:100px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:10px;}.mejs-controls .mejs-captions-button .mejs-captions-translations{font-size:
 10px;margin:0 0 5px 0;}.mejs-chapters{position:absolute;top:0;left:0;-xborder-right:solid 1px #fff;width:10000px;z-index:1;}.mejs-chapters .mejs-chapter{position:absolute;float:left;background:#222;background:rgba(0,0,0,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(50,50,50,0.7)),to(rgba(0,0,0,0.7)));background:-webkit-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-moz-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-o-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:-ms-linear-gradient(top,rgba(50,50,50,0.7),rgba(0,0,0,0.7));background:linear-gradient(rgba(50,50,50,0.7),rgba(0,0,0,0.7));filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorstr=#323232,endColorstr=#000000);overflow:hidden;border:0;}.mejs-chapters .mejs-chapter .mejs-chapter-block{font-size:11px;color:#fff;padding:5px;display:block;border-right:solid 1px #333;border-bottom:solid 1px #333;cursor:pointer;}.mejs-chapt
 ers .mejs-chapter .mejs-chapter-block-last{border-right:none;}.mejs-chapters .mejs-chapter .mejs-chapter-block:hover{background:#666;background:rgba(102,102,102,0.7);background:-webkit-gradient(linear,0% 0,0% 100%,from(rgba(102,102,102,0.7)),to(rgba(50,50,50,0.6)));background:-webkit-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-moz-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-o-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:-ms-linear-gradient(top,rgba(102,102,102,0.7),rgba(50,50,50,0.6));background:linear-gradient(rgba(102,102,102,0.7),rgba(50,50,50,0.6));filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,startColorstr=#666666,endColorstr=#323232);}.mejs-chapters .mejs-chapter .mejs-chapter-block .ch-title{font-size:12px;font-weight:bold;display:block;white-space:nowrap;text-overflow:ellipsis;margin:0 0 3px 0;line-height:12px;}.mejs-chapters .mejs-chapter .mejs-chapter-block .c
 h-timespan{font-size:12px;line-height:12px;margin:3px 0 4px 0;display:block;white-space:nowrap;text-overflow:ellipsis;}.mejs-captions-layer{position:absolute;bottom:0;left:0;text-align:center;line-height:22px;font-size:12px;color:#fff;}.mejs-captions-layer a{color:#fff;text-decoration:underline;}.mejs-captions-layer[lang=ar]{font-size:20px;font-weight:normal;}.mejs-captions-position{position:absolute;width:100%;bottom:15px;left:0;}.mejs-captions-position-hover{bottom:45px;}.mejs-captions-text{padding:3px 5px;background:url(background.png);background:rgba(20,20,20,0.8);}.mejs-clear{clear:both;}.me-cannotplay a{color:#fff;font-weight:bold;}.me-cannotplay span{padding:15px;display:block;}.mejs-controls .mejs-loop-off button{background-position:-64px -16px;}.mejs-controls .mejs-loop-on button{background-position:-64px 0;}.mejs-controls .mejs-backlight-off button{background-position:-80px -16px;}.mejs-controls .mejs-backlight-on button{background-position:-80px 0;}.mejs-controls 
 .mejs-picturecontrols-button{background-position:-96px 0;}.mejs-contextmenu{position:absolute;width:150px;padding:10px;border-radius:4px;top:0;left:0;background:#fff;border:solid 1px #999;z-index:1001;}.mejs-contextmenu .mejs-contextmenu-separator{height:1px;font-size:0;margin:5px 6px;background:#333;}.mejs-contextmenu .mejs-contextmenu-item{font-family:Helvetica,Arial;font-size:12px;padding:4px 6px;cursor:pointer;color:#333;}.mejs-contextmenu .mejs-contextmenu-item:hover{background:#2C7C91;color:#fff;}.mejs-controls .mejs-sourcechooser-button{position:relative;}.mejs-controls .mejs-sourcechooser-button button{background-position:-128px 0;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector{visibility:hidden;position:absolute;bottom:26px;right:-10px;width:130px;height:100px;background:url(background.png);background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:10px;overflow:hidden;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;}.mej
 s-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li{margin:0 0 6px 0;padding:0;list-style-type:none!important;display:block;color:#fff;overflow:hidden;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li input{clear:both;float:left;margin:3px 3px 0 5px;}.mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li label{width:100px;float:left;padding:4px 0 0 0;line-height:15px;font-family:helvetica,arial;font-size:10px;}.mejs-postroll-layer{position:absolute;bottom:0;left:0;width:100%;height:100%;background:url(background.png);background:rgba(50,50,50,0.7);z-index:1000;overflow:hidden;}.mejs-postroll-layer-content{width:100%;height:100%;}.mejs-postroll-close{position:absolute;right:0;top:0;background:url(background.png);background:rgba(50,50,50,0.7);color:#fff;pa
 dding:4px;z-index:100;cursor:pointer;}
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludesmediaelementsilverlightmediaelementxap"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/mediaelement/silverlightmediaelement.xap (0 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/mediaelement/silverlightmediaelement.xap                                (rev 0)
+++ trunk/wp-includes/mediaelement/silverlightmediaelement.xap        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -0,0 +1,110 @@
</span><ins>+PKx\x83f@P&gt;&amp;\xEB\xD4\x91AppManifest.xaml\x85\x8F\xC1J1E\xF7\x82\xFF\xF2I(Zep
+\xBBT\x8A\xF71\xF3\xEA\xDEKB\xF2\xAA\x99os\xE1'\xF9 N\xD4.\xB4n\xF7p\xEF}}\xBB\xBA\x86\x84q ,*a(\xAD\xEC\x99S\xA3uq=\x90-\x8A\xBC˱\xC4-+I;\xF4cTό\xB9\xD0ݷ*'\xB7\xA9\xFF\xD8/&gt;l\xEB^\x9E\xEBj        \xA5X\xCE\xC3:\xFA\xC0\xCBR\x80qh\xE5\xC6\xE33d\xF4O=\xDF@\xE7\xED
+a\xEA\xF8        \xDF        \xFE \xAAeJR\xDC\xED{\x82\xC8\xC5\xC7\xD0\xCA3eԹ\xB9\x9C͕\x91\x8B\xD3!\x9E\xAB\xB5\xCD\&gt;\xE9ȿ\x96졨ͭ%82jw\xD9\xD3\xE1xSO\x8D\xFA\x97\xCAC\xB8\xF8PKx\x83f@()\xEB\xD5.\x98SilverlightMediaElement.dll\xED} +x\Wu\xE0yo\xA4i\xE4\x914\xB2e\xF9G\x8E\xC7c;\x91mi4\xFF?\x8Eml\xFD8V&quot;Ŋ%;q0(\xA3\x99'i\xE2\x99yÛ\x91mEq\xB0\x97@JI?\xBEt?ZJ\x81ڦ\x84\xE5k\x9Bl\xF9iڅ\xFD\xE8.\xDBҲ\x90t),\xDD\xCDGh ,t\xD7\xEC9\xE7\xBE\xF7\xE6ͯe\x93P\xB6\xCDHs߽\xE7\x9E{\xEE\xB9\xE7\x9E{\xEE\xB9\xF7\xDD\xF7f\xEA\xEEw\x80 +Z\xF0\xFBӟ|\xC4\xE70\\xFDs        \xBF\x9D\xDB\xFF\xA0\x9En\xFFҎOK\x93_\xDA1\xBB\x94)z
+\x9A\xBA\xA8%s\x9ET2\x9FWK\x9Eyţ-\xE7=\x99\xBCg\xEC\xF8\x8C'\xA7\xA6\x9F\xCB\xE5ܥӘ\x98\x94l\x90~\xF4\xD4q\x83\xEE\xF3 \xEF\xE8\x90\xDAގ\x896\xEB\xFC\xFC&gt;\xA3sGqY\xF0 +P\xBEH \xA7\x8F +\xBF\xA0\x9B\xFF\xCBW\xF3Ÿ\xA7\x9F\xB8\xDDxK\x9DF&gt;\xB0/~\xC4\xEB\x87k\xF8xL\xD6\xF9ӆ\xE9c\x96\xB4\xAF\xA4\(\xE1u\xC3\xC3z\xBB\xDE&amp;\xDF\xF7\xF8\xB4\xA2\x96\x9D7j\xBB\xBF\xEF\xA8\xC4Ci\xF6iJVM        ^\x89g\xA6\xF5\xDE\xBC\x91j6_zR\\x8Fq\x91V\xF8\xF4Y\x8A\xA2\xA2K\xC7\xD6\xDE\xEC\xF5\xFE\xD8'z\xC1 +\xF2*^Z6^\x91\x9C\xF6!\xEC\xDB,\xF7]$\x80\xACaX\xD8T\xECp\xAC\xC7\xF6\x82 +\xCBݪӐ6d\xF9\x8Au\xD3^\xEC%č#P \x81\xFA\xB4\xC9\xB5h3\x81\xB60h@bA\xED=r\x8B\xBAAE\xEC \xFB@?ׅ\xFF7\xC8\xDB0N\xF9\xAB7G\xAB7a8`\xA7R{\xB9 +\xB3B\x84\xEE +\xCEb\xA1\x8E\x96\x8B\x84\xE2\x90/&gt; ܀\xC5׵ +\xC1\xC1E\xFB\xD4\xEDD{\xBB̩\xEE\xC0\xC0&gt;\xD4\xE5\xB8b_^L:\xF7\x81]݉,\xBDw+\xD2\xEB'\xCAl\xEA.*\xB4=z#5\xE4&amp;*e\xDF\xEE\xDD~\x93:\x80Q\xED4\x8AL\x9B\
 xC3@\xDDC9{        \xA8`ڮ}Á}Tr\x90k\xF8F+R\xF8VD\xFD\xD0-\xC6\xC4\xC9S\xD0\xC1\xB5m^2\xFB\xA7\xDB\xEC;ħh\xE8\xF4]\xEC\xE6.\xFANUɲ6!a=Ø(\xA1\xA0\xA4\x8B4\xFA:gB\xB5        \xE8Y\xDAF\xD0}Ȅ\xB6\xB4U@\xABĵ \xE8g+ks\xE87M\xA8\x93\xA0m\xFA\xD3J\xDCvm\x97 +hA\x9D2\xA1\xEB\xDA!\xA0wT\xE2\xAE\xD0\xF3rEm.}\xA4\x92B\xA7\x80~X\xAEhEB\xB1\xB6\xFA\xB0\xD4\xCA\xF6\xC9-o\xBC\xD8C\xB8/\xAE\x97&gt;q\xD9$.\x9B\xC5e\x8B\xB8l\xA5\xCBNcX]\xEC\xAFLn\xB3$_z\xCD\xC5D\x99\xED\xE2\xE2\xA1K\xDF\xC5&quot;\xE5\x97\x9D\xE2\xB2K\v\xD3e\xC0/\x86ـ\x83\xF4^{ \xB8\xB3W\xB9\xAF\xD8דI\xB5B\xF0 +&amp;&lt;\\xEF1\xE1\x91
+\xB8ۄG+\xE0\xDD\x8F&lt;^\xEF0\xF1\xF0v\x82\xEF'\xF8\xCD \xBFb\xDFgZ\x83\xD3\xC1\xC3\xF1 %l\xDAw\xB0M\xEA!\x8C %w\xCB:\xE85\xBA\x88\xA5Ŧ\xBDX\x8B򢉲\x81Q~d\xA0 n\xD1\x94\xA9\xB5۰\xC7\x8B\x92\xFB\xA4&gt;,\xEC@\xB1\xF7q\x91\xF56KN4)\xB2\x89\x8Bl\xB7U0\xB2I\xD6ATP=Bܠl\xD9\xD7!k\xC3\xE6\xC4\xE6GP\x9CR\x87c\xA3@\xD0\x8E&gt;\xEDf\xBEnҦ\xF8*\xAFY\xC3}H\xD12\xE3qQΝ\x95\xF6\xE9\xAAO\xBE\x9F\xB4q`\x94\xEC\x89MK\xD5 \xA6ʈ[,\x88o\xA8A|Sq\xAB\xF1}5\x88\xEF+#\x926\x8C\xA2\xBC\xBAU(\x81\xD6!{~B\xDA\xCFc\xA38N&quot;q\xB3\xF5\xA6p#~~\xF1(I\xEC\xA1n\xA18\xEB 5Q\x8F\x95\xE1ꄈo\xE6JdQɠ\xBCʖM\xA8\x9C\xC8\xCC\xEE^7p+\xE1\xB6\xED^\xA7\x8A\x88\xB8ȫ[\x9A\x95ݢ\x97\xBD\xCD(+&quot;\xE2&quot;\xAF\xB2\xFD[\xA5\xDE\xB2\xF5\xED\x936
+\xAD\xF0\x8D\xEAd9\xB1\xD5\xEC\xE7\xDF\xFD,\xAF\x92\xF2RG\x86\x9B\xE5\xD5 + آ=ǀ\x81)j\xEB\xED\x96\xC1\xB3J\x8A\xA9\xB7BH\xD0관P\xF1\x81;x\xD2\x8A\xA3\xB5\x80mdDѡ^\xA1M\xACB' \xDE\xC8:LS1\x9A^s\x9C:\xCDq:\xC3\xF3\xE2,EORp\x8A\xBA\xF8\x8A\xDDk\xF6ǝWC\xB8\x8B\xAD\x94\x98\xF0\xBE\x84u\x8B\xB6k\xBD-\xF5g=\xD8+\xE6\xBC\xAD\xBB\xEEim\xF5\xF1\x9C'* z7&lt;\xE7\x8B\xEAin\xE9\xA6\xD3\xE3\xE4Wm\xD4\xFD\xA5r\xC8\xF0\xBBo\x9B&lt;\xD0G +ڷA&amp;\xBF#\xFB\xDA +\xECݏiU\xDF\xCB\xC3z\xBF +V\x84k\xE6&amp;\xC9qw\x93Iz-\xA9\xE8v\xA1 =cB=\xA6\x9E\xA8\xE8 8;z\xA4\x81\xD7O\xF2*\xCD=\xF6l\x94]\x9Dތ_\xF4Mv}\xC5{\xA8\xC9I\xCE\xD0\xF6\x94\x99 \x9En\xA9H
+\x9Fg\x9Fg\x85\xC6\xEF}@׫\xDD\xE42:m\xAC3B\x96\xAC1{\x91ߔ&amp;^\xB5\xB7\x93_\xA0O$&lt;\xADh\xAF3\xAB\x92:\x85\xDB$\x87A\xB45\x96\x83\x96i\xA1\xBE2\xA5\xFD0HI%\xDFf\xA0K4\xCA\xD2}\xA7\xC7[E7\xC1\x97\xF5^\xA15y\xA8\xF1\xBF\xA4.\xD2Λ\xB5ƿ@\x80\x8DL\xE9\xF3ꀋ)ko+\xB3\xA8\xBD\xA7\\xF0KAs\x92\xE4yY\xFBsLD\xC6* +(&gt;\xD7 C\xD4\xE1j])\x8C\xA6\xCBڟ\x98\xE4\xF7\xAAh\xD7A锵\xAF\x94SB&amp;\xC5R\xA7\xAC? 4 \xCA\xFA\xE1\xEC\xD6ғE\xBC\xDE-\c\x894\x8A] e\xA6{鶿 tW\xC9@\x87w6\xE5\xBF[\xFB\xE3r\xBC\x8F} \xA8`\xFD\x9F6xZ\xE2\x8C\xFA7\x90)\xFB\xAE\xED\xAD\xE8`&gt;\xE2vm\xBB\xB0p\xEB\xDA6j\xDB\xFED\x9Ba\xE1\xDA6i
+6۞hۢ\xE58\xBE\xE3\xFD\xDACߦ\xB3z/\xD2t\xF5ظ\xEB[zp\x9D\xC5\xD8m7hO2\xDE\xF6vK\xAB׷\xF6\xB4r\xB3\xEB\x95\xD8\xEEԾ(\x8At\xC8\xF7Sd\x8Da\xEB\xB4o\x8AL\x97N/G\xC5\xED=\xF6
+\xACN\xED\xABK\xBE\xDF[M\xA2[\xEB\xB0s\xA6['\x91\xAF\xE6\xA0G\xDB)0\xD6\xCB\xF7\xF7\xB39\xD036h&quot;\xA3W\xBE\x9B5c\xA3\x96}\xF2\xFDdpTߤ=&quot;\xE0\x9B\xE5\xFB=\xF8\xEDw\xCE\xF3N(ƥ\xA1\xF4\x84C-T.!\x8E\xF4\x9B\xABj\xF8\x97\xC4v\xD5d\xAE\xF5\xB4O\xD9k\xC7{\xC5\xA2\x85}\x9E=7\xEA\xC8&amp;6 \xADNQ7i\x93\xCC։\x85\xE9\xA2\xB0\xDA#\xA3@\xEE%\x95ú\xF5jDA\xA3D\x89 +e\xA5\x9D\xA81\xA4\xA8\x8F6l\xCB)ý\x96\xB5G\xF3\xB6T\x8Eq\x81\xB8,\x8Cug\xD9Xo\xAC\xAE\xA3\xB3\x8E&gt;c1\xC0\x9E\xB9v\xD3UjԎ0ɰ\xBEy}\xBCdS\xCF\xE9UV\xB7k\xE2*\xB5TZy\x81x\xBEy\xBB\xBE\x8CdSH\xB6K\xB8P\x8F/\x9B\xEEahou\x94\xCD\xF35^\xE6냂@\xB6&gt;\x81\xE1\xA2\xD0\xF2\xCBV1\xFFU\x90\xC4\xF9\xC7\xA7\xC54N\xFA\xF8źL\xD9Ī\xE9\xF0\xA3\x87\xEF\xB8\x8F'\\xEDG&amp;Q!y\x92v\xE1D\xAE\x8Azmf=7\x82l\xE3eM\x92\xABv\xF6\xD4
+i\xD3\xDA\xD7,\xB4c\xDA[[v\xB7S\xB8\x8Av\xE1A\xEA\xF0\x82\xDF&amp;\xE0\xB7\xE9\x9DE~J\xB71\x9EZ\x85G\x89\xEE\xC9&gt;tM\xF6\xCEW\xBBH}\xEA\xFDF\xAF\xF7\xB7ª\xA5޲ ZUF\xBD\x88\x81\xC9O-c\x8D &gt; 
+\xDEf\xB4r\xAE\xFB'{\xCF\xD5sQl-\xBB\xCA\xFD#\xFC0\x97\xF0\xC3Z\xCA 5QP}\xA3&gt;!]&quot;\xF3Ў\x91\xCBAS\x9Fw +_̡{bFۧhP\xD0\xDC% NTZ/vZ\xF1\xDF!\x85\xFB,\x96\x9F \xFE\xEB\xF5j\xC8\xF0\xDB\xEE\xCEt\xBD\xEE(\xBE\xC9\xECs\x83_\CѶ\x95p\xC5)Q\xA3\xA45\xBE\x9EX\xA6\x80 +Wl\xA2ο\xB5\xF3\x8E@\xC7&gt;p\xEC\xD5\xF7\xC2\xDE&quot;\xF6\xDD\xD4\xD47\xF3\x9At\x99\x8Aj\xD8\xE0\x82J\xBB\x9Ct\xEA\xD0G+\xA0-v\xF5-\xC6\xEC\xF2m89\xEC\xEA/\xE1ա\xBE\x95\xC3_\xA6\x9D\xAD\xB7\xCF[\xD1\m\xED\xAF]\xDF&quot;\xDBІ\xDB׷\xBA[\xDD-\xEA#C\xAF\x92&amp;c\x94\x97@\x91Wi\x84e,\xEF;f1[|ݖ\xD4V\xDD\xE0\x8A\xDE\xE8}\xF6\xF5\x92\xDD\xD8]ey&lt;Ȱ\xB5\xBC\xB8\xDB\xDCkZg5\xCEogo\x97\x89'\xEF\xEB\x91s\xEA\xDBi\xEF6\xF6\xE7d\xF8\xE2\xF70~\x9F\xD8\xD3h\xDC\xC5\xE6\xAE\xC9i}\x8B\xBBe( +\x97\x81=\xC2ґ_\xDB!*t\x89Y0\xD9#G\xCEiI}m\xC6&quot;\x88\xA9\xBADN\x9B\xF0\xD9A\xDFja,d\xEC\xF5i\xC2\xFE킁w \xCA\xF6wc\xEC\x9D\xBB\x8B\xA7^L\xBC\x8B,2\xC5ޭo\x8A\xB6\xD2\xBC^\xDB.\xE
 B8\xF9bk\xAB\xE9\xEBy\xC5\xF2\xC5]m*\x9Cv\xBB\xFA\xC1\xAAn4n4-\xD1?hȾzԿ\xA7\xBC+\xA2o\xAC\xE8\xB6\xF6uU\xEE\xB4\xF0x\xA1O\x97\xD7_\xFE\xB3\xEF\xFD\xF9 \xD88\xC8άKJ\xCEwB)\xAA\xCBZJ)\x9A\xB1J2\xADh\x83\x9E\1\xA5j\xD9\xCC\xFC\xA0產3j\xFE`\xD8秿A\xCF\xE8r\xB6\xB4\xAC)\xF3\xCArIKf=\xD3\xCB\xF3\xD9L\xEA6eeV=\xAB\xE4\xCE\xC7b\xC9H* +$Ba\xC5O쬭l9_\xCA\xE40\xA3\x94d\xCB&gt;\xFB\xF4\x911\xFA\xFF\xF3ߺ7\xD3\xF3\xCF;
+\xBD:\xF8ӘMB\xFF|p\x92\x90\x83,gl\xC9a&quot;y\xCCH\xC2&quot;\xCE\xE5\xE5\xECal\xF0\x8E\xBD|\xEF\xB3|\xE0H\xA1\x80l&amp;K\xD8υ\6_&lt;\xE8]*\x95
+\x{31C72E9}%%\x97,\xFAr\x99\x94\xA6Յ\x92/\xA5\xE6\x86\xCFg\xF2 \x86\x83~t\xF8B2\x97.hJQɗ\x98\x80\xD7\xE9\xB1~\x98\xDC\xFE \xD7F\xD0\xEB\xA9&quot;\xB24\x9B,&quot;W3\x99\xEC9\x85\xBF\xB8T\x9ARҙ\xE4xV\xC9a\xC5&gt;l@U\xBD\x878imYYʇLT\x814\xDC\xAB&quot;\xE3\x90sG\x9C\xA6\xD8'\x8B\x8A6\xAA\xE6K\x9A\x9A\xE5\xAF\xCA\xDDT2\x93\x9FN.*z\xB3^        _\x9F`-E\xD3W)\xAA\\xA0JI\xC1\x87\xE7\xB3J&gt;MT\xE2^g\xBB(\x9DK\xD5W J3T-\x97,aR[\xCE%\xB5\xB3˅!$W@\xD6\xE73\xD9Li\x85\xB9\xB12r\xAE\x98;\xE8Me\xB5\xA1|2\xA7 ɔ\xB2_wf\xF2i\xF5|\xF1f\x94\xAE\x92\x9BϮ\xAC\x84 &quot;\xB9\xD4\xFE\x89ż\xAA%\x91˃޴ޙI\x97\x96z\xA3a\xBF\xD7sL\xA19\xE8 +E\xFD^]-,}XO-̔V\xB2
+v,\x8E܃^M]Χg\x97\x96s\xF3 \xF6zf\x93ڢR\x9A])`} \xF7\xAAP\xBE8lK\x8A\xE6\x99\xD6P$Z        I\xCC*\xB9B6YR\xAA-ȾS\xC9\xEC\xB2R\x9B\xCD(:\xAB\x95\xAB2PQx&lt;\x9B\xCD\x8A\x8AgI\x9C\xC5;\x8F\xEA\xAF\x9A]ʤ\xCE\xE6\xD2\xE0\xA0\xD7s4\x93\xCD2R8N\xDE\xE1&lt; +W1U\xA7eÍ\x9Bf\xE4Yd&gt;\xCC\xD2=\xE4l\xD0 3\xD9 \x9A\xDF:= 2\xFE%\xBB\xA0.\xA5o\xD12il\xC8\xED\xA8\xE0\xBD'T\xB5\xE4\xF5\x8C$SgY\xB5\x907-\x99G\xC5\xD7p\x847\xA1bR\xAA\xA7\xB2 + T3\xAE\x8B\xF3\x8D\x89JAI\x96F\x96K%5\xDFD&gt;u\xE9\x9EPR\xA5d~;\xC8_q\xAFg
+\xA5\x92\xC9\xF4E\xFD\xF4\xE7\xF50\xBF\xA3jv9\x87\xE0\xCA\xF4L!\x89\xB0P\xB5\xB1o\xFE\xA9QY\xBF/\xE2\xF5\x9CH\xA63\xCB\xC5\xD3\xBD#~\xC7ר\xCCר\xD8k\x95\xF1\xA4\xB2\xF0ʉ\x98\xE4Kb\xFE\x85\xF1\xFE{D|`\xF8Z\x94\xBEr\xACS\xB5\xCC}XY2{ +\xC2?`\x91\xE0\x98\xB2\x90\xC9gh\xDA-\xAE\xB1ת\xCBsё咺\xE9\xBC\xF2D\x{1AEB53}I\xC1\xB9\xC5-+}\xBD\xAE\xD0\xD0\xF6M\x92]B\xFDVƔ\x94\xA6$\x8B\x8A\xB5X\xADZ_\x83
+Og\x938Y\xAB\x85\x83ޣ\xC9l\x91&amp; \xBD\xF7zWgȋJ\xDA\xE4i4H/\xAEIH\xE5!j4\x93\xE8q\xF5\x9CP\xCF[lj\xDFoL\xBE\xA3\xCBZQ\xD5P.\xC9|\x87\xB5\xBA\T\xA8\xAC\xE0bL=\x9F\xB7К\xAB\x93\xBD&amp;\xFE\xD8;\xA8\x98k,V%\x80ҭ\xD3K\xECX:XcT\xF4Z\x80\\x8C\x95l\xA9W\xF9T\x91\xB3\xE2#\xE8A\xE7\xC9qX[\xBDcZr\xEB\xD0JJ\xBA\xA6s\x96L/c\x8E\xA2C\x9AU\xE2\x9A\xD9޵T=\x9A̟C\xF7\xF7\xEE\x89|Z\xB9@\x8D^\x9B\xE2\\xD3\x99\xC8_u\x88_\xB1!\xD2\xD0W\xB8\xDE1\xC2\xAD\x83\xC4҆\xD9A#\xAC^O\xAEI\xFE\xCF\xC3%n\xE0iLg\x93+U&gt;F\xE5&quot;A]D\xF9\xEBjSUm\xC5|\xB9\x88\x89k\xF1M\xE0\xE2m\xFF\xA9Lq9\x99%\xA5Q\xA6\x92y\\xE8b\xFBʠ[\x90P\xA1\xC1\xE4Y]\x9CqMf\x8E\xAA\xA9\xE5&quot;Ë͜\xEB*\x95\xC5q _\xA5\xC7qh+\xF3jRK_M5ւy`\xB8\x8A\x9D\xEB`\xFCd~\xE1ZY\xFE\x999\xAAA㾸\x9EnC\xEB\x99S\xF3\xD7\xDFo\xB7\xD3B\xF6\xE7\xD9\xF6\xA6\xEC\xB09~\xAE\xE9\xEFT\x91\xA6i\xE7\xFF[5ZRRg\xAF_\x8B\xB8\xF8\xCB7\xFAyL]\x9E\xCF*G\xF2\x99oĝ,f\xF2\x8Bh\x8Fj\xB4q\xE5Qpa6\x9B\xA1\xCA\xFD\xFE\xFD\xFC
 \x8F\xDEƲƸe\x98\xCF\xEF\xF8\xFD\xFEk\xF3h\xEB,\xD2 \xBE}\xC2ЋV\xA3\xED_\x99Y\xC9ͫٗ\x99|y#e\xE0䄱\xB1y\xBC\x90LeJ+{ֺ\xA0\x9D)d3yEHѐ\x9B\x87vǫ\x84Ƴ#9\xFDkZ\xA74\xED\x95\xBD\x9AD\xF4\xAF\xA6[\xAFx\xB7\xFE&lt;\xA7\xEA\xD4/\xBE\x9DY\x8BV\xFD\xF0/\xABf\xACu\xAE\xAB\xC1\xBB/Y\xB8\xE7Ʀ_ 0\xFB\xAAM\x96˧\xB0\xDB2\xA9\x8A\x8CQ с\xA9g;\xF4.\xE5喡\xD5\xD6YD_\xFF\xE5\xFD\x82`\xB0A\xFF\x98N\x96\x96\xCC\x83\xB0e\x87!\xC27\x94R
+3hQg\xD97\x8C\xF1_C\xBB6\x96,%\xB1L\xC03\xE5        D|\x81D&quot;6 \xFA&quot;\xE1\xE0\xA4'\x98\xF0\xC5b\xB1\xE8` \xEC\x8B'&amp;);\xF3\xC7\xA3\xBED&quot;\x8FNV\xE1{\xEE\xF6\xD4S\xAFF+\xBA\xC1\x85\xE0MyY6M*F\x92\xDE\xFCP\xA0\xA2\xF9 +V^_M&lt;\x8D;\xBC\x99\xC2[w\x8B\x99}\xE3\xC6X\xC3\xFB:?#Gz\xA1\xE6Ӕ\xC1Uy
+\x84\xAE\xC6V\xBD\xAA\x86\xD5Y{_u\xD1&lt;\xB5\R~\xA6Es\xA3er\xE5.ū\x8B\xE6Wͯ.\x9A_]4\xBF\xBAh\xFEE]^\x9D\xA3\xDDg\xE5\xD5e\xF3\xAB\xEB\xABWU\xF2\xD5%\xFF\xCFuawm˸Y\xB5PW\x8CW\xAC麬I]\x95\xAE~\xF1\xD5,,K\xB3`\xC8Gp\xA9\xF5E\xFC\{\x80P\xD7f\xE10&quot;\xBEX\x9D\xFD2 \xEE\x8BC\x91\xC1P\xCC\x8Eq9\xF2\xFB&quot;\xA1p\xB4\x8DF\x91\x96?
+\x89&quot;\x89\x84\xF1ţ\xB1Dm\xB5:\x80\xD6| +Z\xA3\xCB \xEB\xB2.mq)\x8A'\xBC\x9E\x93Ee2\xB9\xA2.\x97N\x90{\x8Fjh\xDE&amp;u^m\xA1\x855rH:\xEFl|D\xA5nw\xF0\x9DQo\x999\xBF?T^fV\x85r\x8D\xB3\xB9\xBEq\xDF\xEB\x95\xD5Q4c\xD7d\xC8\xFB\xBEP&quot;\xDE\xD4B        -\x99\xF2\x93X|Ϩ\xC1Ey&quot;\x94\x88D\xE2\x83A_,\x8C\xA3\x8EF\xC3\xF1Alz\xC4\x8Ec\x8E0\x8A\xA1fX[ \xE2\x8Fy\x90\x8A?1\@\xFA\xE2\xF1\xE3\xBA\xC0\xA6\xACU\xADp-'$ +\xAF8m姶\xD2j\xB5\xA1v _W?\x98kf\xA3\xB6\xA0/\x8CB        \xC59 `k|\x91x\xB8iG\xAD\xBD\xFC\xFC\x89\x9A\xFD`\xA48\xE8\xE2ф?\x84u\x821= \x84\x91\x83\xB0/\x89\xB2\x90G        \x8BF&quot;\xEC\xA3p4\xE6\x8F#(\xF9P$\x88\xC5B\xC1\xC1\xD1`\xDC\xAF\xF3\xAEA\xE2/\xB3l\x85}+w#\x8Eo\xDAu!\xEB\xCDj\xD8T\xDA:\xBA.\xFD\xF8\xFCa$Z'\x94\xCA5\xB0`0\x866\x8E\xCC\xAAz\x84䉰D&lt; \xDE\xF1D(J\xB2C\xBB\x87C\xB4\x9B\xE5\x8F\xC6#\x89@\xA0.p-M\xEF\xA5\xE5\xA5x\xD0ˍk|\xB4\xB7\xC1\x8E\xD8+\xB4\xD3l\xE6:v_\xEA0Ncִ8D\xAFh\xCDNӭ\xA1E\xDC\xE4 \xB9
 \xB3\xF6`\x85\xA1\xD3\xD5GG\xB2|
+\xA6\xF1y\xF52#\xD6g
+,\xC7d\xEA\x9CmD\xCDY\xEF\xF0:\xD8Sj\x9Ad\x9D)\xE5\x92x=$:Urл \xE6=ь\xF1P%b\x8B\xA8\xAC,ZDXu\xCCi&gt;\xB3X&gt;\xB0\xD2\xEC\xE0Q\xF5i\xA3\x8AjG\xB3\x99\xD4Y\xE2\xDABl\x8E\x81\xDEJ\xE9\xA03\xA6?z@\xDB,\xD9l\xB2P\xBB\xBC? q\x95O\xBB\xF9\xAD\xC7\xE3\xEAͯ\x95{\xDD\xD5\xF8ơ02?̄\x9E\x9E\xA5W\xFE\x9AQ\xEBl\xE8m\xC5b\xC2@{+7\xC2\xFD\x93\x9E8\x86\xA3\x9ED\xC8\x8C\x87C\x83~֋\x86!\x88\xC4BD&amp;\xF9\x8F\x8C\xF2U\xC74K \x8Ch\xE0\x85\xB6\xCA\xE9:\xEA\xD1\xCBs^\xB9ј\xF4\xC5QO\xB9\xD7\xCF\xFC4\xDA^\xB7\x8A)\xEC\xF7\xC5\xF1`YT\xE1\x98/
+ƫ\xC4
+\xFB\xA2\xE1P\xA2\xAEX\xACr \xC6|Qv\x90\xEDT\xA7ƜMo+\xC4&quot;8\x83\x91\x80/\x8D\xC6\xD0\xEF\xF5\xEA\xF4ˀX\xD8 \x85\x93\xD5E\xEA\xB4\xCDsj5$BG-\x90Y\xE5BiD\xBDP\x9E\xF7ѵ\x8D\x88}z1RJ!P\x9E\xAAfRho\xB2#Iͪ\xD5l\xC7,&gt;l\xB4\xF1\xEA\xA1\xC9$ixt\xA1\x88\xD73\;zu#z\xD0k\xB5)ަ\x9E\xA5\xB9\xA9\xBC\x9C\xCDS\x9A\xA2\xE4\x8D1_\x87\xBD\xB3r\xF7O\xF4!^]\xDC\xE5\xD6[1UG\\x8DASy^\xD0\xEA\x90W\x9A\xE7O \xAAV\xD2-z\xB1)\x8B\xA6\xFAVW|\xF4\xA8^\xB1\xB3\xEAD\xACq\xA0\xD1Sg&amp;[\xCBI\xF3\xE6\xC2=\xC3\xD7Pbﵡ\xFB\xAF +\xFD\xDA\xF9%\xA62y\xCBI㗹\xFCϲ\xD814\xE4\xA1{\x9F\x9E&quot;\xAF\xB1&lt;\xC5%\xF5&lt;z\xA0\x9ELѣoCyzx&gt;\xF4L\xD3=\xBF\xA6\x88%mY\xAA\xE2\xC4zS\xA9\xE2~+ӻ\xFA\x94X{\xD2\xF3b\x{DD2E}\x8F\x9B\xE9J\xB2ư\x99(\xEAۼ\xE6\xDC^1J\xAAW\xADU%\x93S\xBC5\xA7\xBC\x9B/kߐn\xB0-\xB2\xD6g/\xEAD\xB8\xBE]ǸhZ$p\xD54`\xAD\xB1\x8AVc\xD6\xE5i$\xAB\xA6Κ\xBD\x94Z\xD6\xC8\xA6\xDD83\xB3b\xC7\xC0G\xF3=\xCD3\xE5Y\xA3\xC9*\xE7(v\xED\xD1d.\x93E[\x8B\x9D\x99N\xE
 6\x93^\xCEd\xEES\x84\xA8}\xE3O$\xEEԒ\x85/\xDF(֌\xB6\xA6X\xEC\xA71e3u\xF1\xEC\x80~k\xAB\xD9Lӈ81R;-U\xB9\xCB\xC3k\x91\xB1xƯb\xD0\xA8\xFE\xE8\x9FE\xB4tL`(P\x9F\xA3\xA9\xE4\x85Ln9\xD7\xEC\xC1\xCBc\x8Ek\xC6Y]\xA2\xBC\xC5*\x9E\xA0\x95Pcs\xD6\xCC&amp;\xC5닡\x99\xA6U\xEAR\xAD*]]e\x9A\xF59\x{154A01}\xB24\xD3۵(\x91q&lt;\xA6\xAE\xBA8\xD7\xF2\xA4K\xB0\xAE\xEF[;0K*=\xDC\xD1lXֈ\xF2\x94\xAFИlz*e +C2\xD4hM\xDEd*\xAD\x9DԪH\x9A]\x903\x8F}4T\x9C\xC6\xD3o홑\x8B\xA6\x9BZ\xCE\xD3g\xDAԛ\x9Cϲn7F\xFDW\x9B\x99u\xA3T\xD1Ұw\x8D\x9B\x8C!\xE3H\x90\xF3\x9A,[\xB0\xAAmi\xDD\xD6P\xABr\x90c\xFCY\xA3\xFD\xD3\xE7\xCCH].\x85\xE1Z\xC9\xF06\xA1G\xDFv`\x9Ex\x9Bb\xD0\xC3\xFB\xB3\xE7\xD5;\x93+\xE4\xB0!\xA9S\xCC\xEB\xA0\xE7d!\x8D}7\xC3u\xCEj\x99\xC5EE;\x88\xB3nr9[\xBAX+\xE7*wm\xD7#3˙\x8A\x88\x94e\xA7Y6L\xF4ֵ\xCCL\xEDZƹv\xACQ\xBF&amp;\xDDu\xB5\x83Hb\xDF\xD4r\xEF#\xB9\x8Es]MVJ'\x94&lt;v'o\xCF\xD1{!\x8E\xA3\xA8Y\xBF}\xC1@0O\x84b\x89X(\x8B\xE2\x8FG\x91h\x84\xEE\xAA\xC6\xFC\
 xF1&amp;\xAB\xF6\xA9\x80\xDF\x88BX,N,{&amp;A_&lt;Bt\x8B\xC0\xEF\x8F\xC3a\x86}\N'|\xB1p  \xC5L\x88h\xA8g2\xE1\x8B\xC6&quot;\xB1\xA8\xC7C!D\xF1\xFB\xFEh\xC0\xA6[\x81H&lt;C`\\xF3\xFB\xC2\xFEx(a\xAC
+\xEE\xF3L\x85|\x89h4\x8FD \x9E\xA2\ DX\x9Eɐ/\xC5ʢ|gŸ V=\x93a_4B\xCAq\x93#9\x86\xCD\xF0h{=\x8CaA\xE2kF\xC9Ec\xB4\x85\x8C- +D\x88S\xA2^Y7\xB2\x93\xF0\x85\xDC\xEAA\xBF\xD9n#F- \xFB\xC2\xE1\xAE\xF5Yx        ?5t0\x84\xC4\xE3\xF1D$&amp;Z\xA1\xC6F\x8D\xF6c-\xE1P4\x94\xE0\xCCX\x84\x84\x8C3V0\xEE\x8Fģ1\x92f\xB9Fd\xC0O\xD5\x95 \xEA͉ƣt\xF7fҬh\xD0l        \xCCl7\x89+\xA3\xEA\xF5Jb\x83\xA6IR\xA6\xF4(\x81Uz\x9Dk\xB8e\xD9x\xB7\xDC\xD81\xA8}\xFA\xBD\xCEr\xB2f'Dzil\xC4+v\x88\x8D\xCC\xDC:&quot;\xE9o\xA9\xA7wޟ \xFA\xE8\xE6 \xB6\xF8\xA2\xF4ž\x8F`\xC6\xCE6\xB8\xA7\xE3\xC8 Z\xB6&quot;\xBF[;\xC0\xE7\xDAvr\xBEu\x93\xF8M\x80\x9D\xB7\x9C\x9C\xC3\xEB?a\xFA\xC1L\xA3C1o\xBC\xA2@\xBA\xB3Wnk\xA7w\xC4\xFEdw\x88\xDENJ\xB5\xCF\xEA\xBF=\x80E\xF8\xDDoG\xF0\xFB\xFCn\xD3_%ۢ\xBF;\xB1U\xBF_zi\x92\xB8\xDA\xE1n\xB8 +\xC3`\xC3O`\xDC        \xFF^\xA0W\xD5I\xBF[&quot;\xF8\xBD^\xE4\xF0]~W\xFA\x82d\x87\x99\xE2{9|\x8F|\xBF\xEC\x84\xCF\xD8~\xCDf\x87\xAF۾\x88\xE1\xCE\xA2P\xE0\xF0;\xE1\xE7\x
 F0A;\xD5\xF2\xDF\xEC/`\xF87\x8EgN\xB0\xB7\xFD\x86\xDB8\xDC\xCF\xE1i5\xDF\xC6\xE1or\xF8,\x87?n\xFB\xEB6'\xB8\xDA)\xDC\xDAN\x900\x87\xE9\xF6;\xDA\x85 \xEDԾ\xB7?\xD4\xEE\x84/r\xF8w\xEF\xD9\xF9t\x82\xDDI\xAD\xEBw\x9C\xC4\xC3        \x86&lt;ĐO0\xE4\xBB\xCE;\xDA\xED\xE0\xEA \xCEwq\xE9\xA0\xD6\xEF \xCCS?\xD7A\x98\xBF\x83a|\xBD\xE3\xF3=\xF0w:\xB1\xB3j\xEB&gt;\xDFa\x87\xD0:*\xBB\xC0\xE1\x8FבL\xB9\xF6\xB8\xEC\xF0z\xD7m؅\x9Fq}\xDC\xE5\x84Ϲ~͆rp\xB5\xBFw\xFD\x9D$\xCF\xC7;\xB9\xD3\xC0\xE1K\x9D{sO\xE5Nw\x9F\xF7u\xFE\x93\xB6t\xAF\xCB        \xC1n\xE2\xE4t7q\x92\xEB\xA6\xDA=n\xAA\xEBf7\xD5{\xAB\x9Bx\x98gȣ\xEE/H`j\x82\xC4\xDDp#\xECE=1R#\x98jG\xBDs\xA0t\xC3\xB0Y\x9FA\x8C\xE6\xFD2\xBDF\xE6\xA4A \xCFK~ \x94\xC2\xFE\xAA\xC7\xF0\x83\x9As(\xC0\xD0.S\xBCW&gt;\x8Ca@\xA3\xDF\xC5\xE0\xF8\x8CL\xB9\xAFg\xC8Y9\xACS\x96\xE0C\xF21 ?&amp;S\xFCS\xFE\xB9&lt;\x89\xE1W9\xFC\x87\xDFf\xF8K\xFEH&gt;\x8E\xE1\xED6
+ݶz8\xF4qe\xF8\x87\xC7mT\xEA4\x87\xF38\xBC\x84!\xCA\xDBٍ:\xED\xD8 M\xD3\xEFb\xC0[\xE01pa\xEE/\x89Ԧ\x8Fs\xEA\x9C\xBA \x9F7\xA6\xFEQO\xFDl¶l\xD8!R{\xA5\xED(ϒ\x9E\x9A\x90nDY\xBE\xB4\xA3L\xB3 +\xEE\xD9i\xD0&lt;\x89\xA9o +\xCC\xEF\xDB\xE6P\xF2\x91=&quot;\xD5\xD120\xA6\xA7B- X\xF29=5޲        \xBA\xE0\xAF\xF4\xD4t\x8B \xB9\xF9\x8E\x9Ez-\xA7~\xA8\xA7\x94\x96\xA66\xEE\xA9\xB7\xB6h\xA8)7\xEA\xA9\x8F47\xC0\xA4\x9E\xFA\xA66ƒ\xFBD\xEA \x98\xDA_\xD7S\x87\xA9-pϠH\xD9Zs\xD0|\xA2E\xAEVZ\x9D\xB6a\x91\xEA\xE3TVOy9\xF5\xBC\x9E\xE4Ԉ_\xA4\xA2\xAD+\x98\xBA\xA0\xA7\xB7&gt;7\xC0\xD4S\x98\xB7\x91\xBA \xEB\xF3\xC0\xCDzj1w\xC0\xA4\x9Eʵ\xBE        \xBC𰞺\xAF\xF5\xAD\xB0 &gt;|\xBE\xBBu\xED\xE3\xE7\xF4\xD4o\xB5n\x82=p[P\xA4\x9Eż}\x90\xD5S_\xC5\xD4&lt;\xA3\xA7\xFE'\xD6&gt; \xFD!\x91z\xA9\xF5\xE0\x873z
+\xECs8^\xD2S!\xFB{!g\xC2&quot;\xB5`?D\xE0A=\xF5!\xFBo@ \x9E\xD6S\xCF\xDA7A\xEE\x89\xBF\x9F\xEE\xDB\xF6߆\x9B\xE1\x91\xF7#\xFB\x80?\xD5Sm\x8E8?\xD4S\xDB\x9B\xE8\xF7S\xA2&quot;\x95p\xB8p|\xFEТ\x91#pE\xD7\xD6\xCF9]\xFC3+L8hޘv4\x8B\x8B\xF0\x84c\xAD\xF8\xD6\xF8뮫\x945&gt;\xCF\xE1&quot;\x87y\xCFq\xF8F\xDF\xC4\xE1;\xFF\xBD?\xC7\xDDA\xEF3|\xFC\xBAj|ʄ\xFCl\x9C\xDB\xE5\xB5`&gt;\x87\xDAM
+\x9F\xE5\xF09\xBF\xC2\xE1\xD78|\x81\xC3\xEFr\xF8}\x8C\xE1 Io\xE7\xD0\xCD\xE1f \x9F\x86=~\xF5z\x82\xC3#~-F\xA7\xF3K\xE4\x84| +\xE3~\xE77\xE1\xB4\x9Fp~=O:\x9B\xE1\xBDvx\xA7\xB3]z\xD3Y\x91\xFE\xC1\xB9I\xDAR\xC7pY\xDA\xD4\xD1/\xBDU:\xDC\xE1\x95c
+\xEF\x94\xEE\xED\xC0\xDCK\xFB\xA5\x8FJ\xBF\xD2q\xC3`\xF8\x94\xF4\xFBc\xFEaǭNK\x9F\x91^\xEA8\xC5\xF03ҳ\xD2?w\xA4\xA4\xE7\x98\xFEW8\xFC\x9A4\xB6.%\xB9\x99\xCF\xCFHS\xEB\xB2\xD2 L?+\xEB4)\xEF\xE5\xF0\xF78\xFC3 7\x80\xC8\xFDں\xCB\xF9.B\xBE\xCB\xF8\xC9\xEDzX\xFA\xBE4\xEDz\xB7\x94\x912\xAE_\x95\xFA\xE1\x82\xEB#&gt;\xE8\xFAm\xAC\xFD\xD7'1|\xCCuX\x92\xE4\xBFp}Vr\xCB/\xB8\xBE$m\xC6\xF0\xBFH\xAE\xFD\xA3\xFE +ƿ\xEF\xFA\x86W\߆ 8:\x89\xC3u\x9D+n\xC4p\x87\xBC\xA7\xF3\xA0\xB6\xFC\xBD4\xB1\xCErr!        \x98\xC2ܧ\xA4\xBB:_\xC2Z:?\x89&lt;\x94:Fyn\xEA\xF8\x86Ou\xFED\xDA#\xFFt9\xF2\x97;\xBF\x8D\xF3޷0L\x80\xDC\xE5\x92\xB0\xBEk\xB3|Dtm\xC3x\xE3        8\xDD\xE5\x95'\xE4\׀|\x9Akم\xBC\x85\xE5;\xE0\xCD]\xFB\xE5 \xBC\xBB\xCB\xF0X\xD7a\xEC\xA9'\xBA\x84\xCC'\xB1\xD4'\xBAN\xCB\x85?\xC5\xE5\x83aR\xEE\xEE\xCEc|w\xF7\x80\xBCY~\xA2\xAB$\x9F\x96        ?#ݫ\xBF\xBD\xFB\xB4\xECf\xC8\xE4\x85\xEE7\xCA+2k&lt;\xD4\xFD&gt;\xF9J\xEC\xFD\x88\xF3\xAEn\x82\xBC\x8F\xC3\xF7w!$\x93\xCD:\x9D\x
 8Ft?\xC4\xF9o#\xFC\xE9\xEEoI\xF9Y\x84\xE4\xBF@\xCA\xF9o1\xBC\xFE\xB1\xFB\xB3\xF2.\x90ܟ\xC3p\xBD{U\xFE(k/I\xFB?˗\xE5\x80\xFB[\xF2
+\xEB\xD8[\xE5i\xF7\xE5w\xCAgܧ\xE5\x8CTt\xFFT\xFE\x9ADt\xBE&amp;\x9Dw&quot;om\xB6\xC7\xE47\xBB;m\x8Fˏ\xB9W\xE0q\xF9\x83\x88y\x9A\xE5\x80\xD4ܛ\xB1\xED\x9F\xE2\xF0O0|J\xFAO\xEE\xFD\xB6]\xF0A\xAC7 \xFFW\xAC\xD7o\x83g\xC0\xABpw\x8B\x8Ap\x86o\x82\x86\xFB\xE0E\x9Bg\xD5i \xD7û1\xDC
+\xBF\x8B\xE1N\xF8\x86\xA3\x9E\x851ļ\xFE\xC6C\x8C3\xC3\xF0\xD7–\x96\xA5g\x90\xD6Y \x9F\xE7Z\x9E\x91\xDFf\xC38\x87`\xA3\xD0\xC3\xE1a\xEF\xE1\xF0\x87\xE0\xF0\x9F\xE7Z(\xFC*\x8E\xE9%\xC9.\xAF\x97\xC7\xE4\xF2\xEBdE~\x8B\xFC        \xF9S\xF2s\xF2_\xCB/\xCA}\xB6ې\xED\x88\xEDVۋ8N\x97\x86\xE4\x96K\xE5_\xC9\x9F\xBD\xFA\xABE[\xCD_&quot;\xBB\xCDX;X`U\xF6B\xD8\xE7;ja\x8F\xBB,\xBFr\xDFq\xF3\x8B\xCE\xE1\xCD\xF0\x9C`\xE4\xC0\x94\x9A^\xCE*\x87\xA0ћ3\xD3\xD9,)\xE5\x83\xF1fM\xA8|1$X\xDE\xDBY\x95\xE53n\xF0\x82eus)qs{RM\xA6\x954L\xD0͗d6s\x9FBoR\xF3T\x95/UR5\xE0\xB7-\xC6\xCF!舶XQӜ\x9E        \xC6b\xF5\xAA\xA1&gt;\xF6\xF8\x85L\xC9
+8\x99_J\xE6\xD3Y%=~!\xA5R\xBF\-\x9CP\xE8\xD6\x{1789A9}ڬ:v|
+h
+\xE5#GP!4\xDE\xB1\x84\x85\x8A\xB38\xA0H\xE3\xDCT\xDFz\x87\x9A\xE5\x8D\xE4\xEB\x9B\xD629\xE39\xA5֝Z\xA8\xBA\xD9        t+\xCC\xEDp\xA8w\xEB
+Į T\xDEu\x81\xDA\xCDt(o\xEE\x82u[\xAA\xB7쪹\x9E]Ҕ$m#\xC2X\xA6XH\x96RK\x8AF\x945\x98+\x89K\xA6H\xCAA=R\xC2\xC2(\xFB\xFC\xE2,\x9F\x92\x829\xEAI +U\xA9@\xBFl\x97L\xC3\xDCR)\x87\x95\xC3\r\xB9\xA4)\xAD\xCC/c\xF9󴫉\xF9\xBC\xEF\xA6Wp&quot;YR`n~yaAє\xF4\xC8J        \xC5f&amp;\x89\x98 +\xC2+\xB6H\xBDS\xD0\xE0\xF81\x9DP\xA6\xC8rMSl&lt;O\x8A&lt;\xB7\x90\xC1\xE2\xA3\xC9&lt;3\x99^\xA6\xED\x84\xD9L\xEA,k\xF7\xC4)&amp;\xB6\xA4䅠\xE8\xEDWE:)hH\x88NL))\xBE\xE9\xBBE\xC9+Z&amp;c\x86$\xB5\x95{\x82բ\x9C\xC8\x96Q\xE3T\xB3\x87\xCBj\xCCB\xAA\xF7Z\xA6\xFA9' p55\xBD\x9A\x85\xC7 \xC8M\x9AuB\x9B\xA3F\x89\xC1)z\x8D\xDEl%bwj\x99\x922Ƃ7L\xAAG\x93ZV\x88\x90\xA4\x8C
+\xE5\xE4\x83\xFD\xFA]5=g\x84\xBB
+\xC5;M\xBF&amp;\xA9\x8B\x95\xD9\xD4HҊ\xEA\xDC%\x9F.w\xD7\xFC4\xB1\x88R+b\x83\xF4\x98R\xBB\xD8\xA3{i\x8A\x8C\x96\x87 +%g\xB4]\xCA×\x8BQ_\xD3\xDD!(\xA8E\xBE\xBD\3\xBC\xEB\xB5\xE1AAτcى\xBCx\xC1/ٝ:g\xEF\xA0\xEE\xA1l\xA7rnA\xBEX˦\xF9\xA4&amp;4}SX^\xDAV\xEE\xA9&amp;ov\x83\x8A7\xB75/b\xA2\xE9
+f&lt;\xA3w\x8BY\xF8\x9E4\xB9\xA1
+&lt;;I\x8AC\xABsb\xBF\x9B\xAC\x95\xA3\xD7o\x9A\x91YUl\xE7A\xF5}&quot;\xA8O\xF4Ws\xE5l\xA3^q\xF7\xA2ܝE\xAE\xA0S(\xDCd\xAE\xC8&amp;\xE8\x8Dʺ!\x84LQ(\x8B\xC11,\xA3\xB5ZT-*&quot;\xEC\x92n\x96.\xC0
+\x9C\xA33f\xF4@N\xFAȼz\xD5F\xD1Rȑ!=c\xE4\xEB/-\xF7\xE9\xEFC\xE7ֳ8\xF8\xC1\x9D\xF3\xAAv\x{D956}\x99_\xB6Qt\xABG\xF4\x97;\xCFfJX\x95\x89h\x80\xC7\xE4.\xC3ö6E\xB4\x90Y\xD4ͪ\x97\x9DC\xC1\xAF\xD4f`\xA7\x97S\xA5z%
++\xB5\xBF6 55\xAD\xD0 \xAD\xEB\x94\xEF}\xAFm\xA5.\x98        \xBA\xA3f\xED\&amp;\x85\x86\xF9:\xA5\x8B\xD6,r\xCBr&amp;]KYim\xC6Q4S5\x99z\xB5c\x99\xE4b^-\x962\xA9&quot;\xB0\xE5[LVT%`\xD8Mt\xACX\xCD,         +\x89kVn\xC0&quot;&gt;\xA1d\x938V,\x93\xD3 \x8EZ_\xF2]]\x99\xA2\xDDN\xCFs\x91Ǖ\xB6prR\xCB\xD0\xF76\x9C:\x80\xA6ײ\xBBeu\xB4\x8E\xB1\xBF\xA3A2\x9D6}\xAC\x9A v\xA7\xACP\xBB\xAF\xE3.\xD1@\x9D(\x8F\xF3)8\xB2\x91s\xE4/\x89Ƿ\xE0\xC0\xA1\xD4ܜn\xFA\xF8\xEFA8&gt;/\xAA-\xE6\x84\xE7\xE6JK\x99&quot;h\xEE\x9A\x9A\x9F\x9B\xF3\x9B25\x93\xE8\xE8\x905\xDB\xED9\xC1-Z/\xA5\x90UW\x98 +\xC2\xD2\xED9\x81ip\xE7S+z\xD5e\xFF\x84\xF1,\xC9#b&lt;\x95!8Cj\xBA\xA1\xA6G'\xF2\xE7Գ
+T\xCA\xC1L\xE9\xE4        6\x859\xD5Gy\xA7Β\x91F\xED\xE6 \xC76\x97|\xCE,C+g\xFF +Cd\xE6:?\xEC\x99SDd2==:~\xE5kh\xBBh\xD0,\xFA?\xC3c\x9EԖ\x9E(\xC3M\x8Bbt\xD9Q\xA4Gwe\x91\x9F\xC5 r\xA2\x95K\xEA-\xB2L\xF6V}i8aSf\xA3\xE9\x9A\xF2\xEA\xF9\xB78 fR\xF7&amp;̴\xEE\xB3T;GV\xBE\xEAM\x85U2~@\xCD\xE4\xC3\xC5\xCBP\xF9\x800\xEB\x99%I .\x9C\x8A\xB7)+B#i\x91\xA2\xE6\xC6߀ZO\xB3\xEA\xA4z\xDE\xEAjf?Of\xF2o\x80\xF1&lt;N(\xFC\xC2}\x98(\xC7q\xC0\x94qU
+aVCW@+\xA2\xE0;\x99\xB6\x85\xD4\xFBĭ\xCE&gt;-
+1\xCB3.\x87.-\xD5&quot;F +y\xFC1\x9ESm3\xDDD\xF1v\x9CԎk\xE3袯P\xC3&amp;\xF2\x8AѴ:&quot;F7\xB3ƅe{m]vC{\xCA\xC2\xE2\x88&gt;5\x8B\x91\xAAljr\xEDT-\xFA\xA4\x88\xB3t\xBAb\xC6\xEAc\xE9e\xC0\xEDI\x9CL\x92\xD9Se7\xAB@&gt;J\xD8/B\xAE\xD5X\xBA\xB8\x8Cg\x94\xAD\xF90\xD3'!\xF9\xE8]&amp;d\xAB\x9EfW\xE0\x92\x84M\x9FeDU\xB3JRP\xA9\x9D\xD6b3
+\xAE\xA3\xD3P3\xBE !ߒU\xE7im-\xD8ҧN\xF2*u\xBB|.\xA9e\x92\xE8d\x88 N.\xCB\xC4Q\xF6=\x91\xE49^\xD6        {*\xFC\x9AŲ\xA0\x8F\xDD\xEC\x95\xED\xC2N\xA0\x8AV\xB6)l\xE6\xF8l;\xAF\xC0\xDE+\xCBE\x87-\xB5\xAD숌r\xA73)4èk\xA2\xE3\xCAi\xBD\x8B+\xA4\x8D1\xFB\x93\xC75\xFD\xEC\x89аd\x91\xA1 \xA6\xA1Y\xA4|Lɢ-'|\xDDuf.\xFB\xB8\xD3j\x81\x94m\xB0F\x84\xEEaY\xB3\xE6\xF9 0c\xB3\xAA&gt;ɕ\xF3N\x90Ǝ$\xF5\xB6 +b\xC7P\xA2w\xA72\xF9eZ\xA2\xB2\xEC\xF4^}\xA37\xD1&quot;\x94F\x9B;\x8B&gt;\xCDxl
+\xEE\x86\xC8@Ρ\xAB\xE15\x8B\xB0\xD8TL\xA71\x95\x84q\x84*\x90\xC3o\xE17C
+TL0\xCC\xEB\xB0a8R\xFD38\xAD.\xFA\xB9\x9F\xD63\x98+%\xA4\xA8!\xFEy\xF0p\xBA\x8E#\x84` \x80N&quot;|        \xCB\xE6\xB1\xCE,\xD7l\xC5\xF0\xF0\xAF\xE9xp\xEA\xD1k'H
+i\x94\xF0\xAA2&gt;8\xBC\xB09\x86\xE4\xCB\xD3\xCA)\xFDw}\xA6k~\xD7z'1\x86V\x96\xF3^U\xBCBGΤ[\xE7\xB9\xD6i\xC4&amp;\xCC\xC6,1}p\x97\xEF\xA6F0}\x81~Ml\xC7Q\xCC\xCF\xE2_9\xA15\xF1PQfg        \xE1$\xB1&quot;s\xA9!|\x94sJ,5*        \xDB zm\xC4\xF12B\x94J\xED$+\xE2\xF6\xA4\xAEqMDaV\x87Ϛ|e\xB1D
+\xCEl3\xCAdY8\xC49\x96f\xC9\xC2\xEE\xB7\xD7\xD0\xCDh\xF4昋*n6\x9Fc\xBE\x97\xB9T\xD5 \xBA4fIc[\xA3\x9E\xBC\xCB@+Q\x82\xF6\xD6l\xAD;\xC9eU0\xE4C\x92\xD0\x86yT\xE7&lt;\xC6\xBA
+\\xF1\x9D$
+\xB4\xE7u\x8D7\xD5Pbx\x92\xAF\xD0nP\x85\x8E\xF3\xCC;\xE9=\xB8\x96h\x85\xA8\xEB\x{17440A}ƥ\x90\xCE\xFA2Ą\xF5\x99&quot;\xF5\xA9U&amp;\xD0NT\xF7\x93fw9\xC1h +\xA7m8\xDAn!\x9C{\xB1\x97}\xBD\x9E\xE6ҋ\xDCW#H\x91(\xDD%Hk\xB0b \xC0M 9n\xE2Q#u\xA4\xF41E\xBDnȀ\xE8ִ\xBC\xD7h\xC32J4m\xB4\xA2C\xE1\xF1L%\xC0%ZTb~a\xBDA\xAD\xDCNh7\xFB\xA2ˈG\xD8 \xDB
+\xA6\xF6\x92]PxS\xDFR\xCB]\xD6\pX\xFB\xB9ߊ4z\xAD\x9C\x9Bw\xA5x\xEC\x98u\xF6\xB9M\x86Ίq \xE3\xD7&amp;Q\xEA\xAAw\xDC\xE4А\xE7 ]7\xD3u\xAD]\x9E\xAD\x86\x821\xEA;/H;\xBD\xDC/\xD4\x85\x84[F\x9A1\xCAV\x8E\xF3\xFAD\x9EU \xEFpc\xB4UB˽c\xA5a\xD57\x86\xEFp \xF8\xA70wil\xF9
+\xD3,
+\xAC\x9D\xF5\xB1*Z\xB0ݨA\x8Ck\xEE4G        \xE7\xEF\xA8\xCE?f9\x8C\xE1\xB8(\xEC\xF9f\xA1\x81K\x88C\xE3\xC1\xE8EԆD\x91G\xA0\xA6\xEB\x8E\xE60V\xC4\xA2\xC4ܒE/\xE9y\xB3\x887].\xB9\xB5\x9A\xA6!KOM}\x86F\xD1 \xE3\x81!\xBCJUEݺ \xC6\xEE\xEA\xA5jT\xF3\xF8\xAD\xB0})}.$\xAD\x82\x9D\xF5ʗ{\x94K\xD7\xC3\xAD\xABK\xC2zن\x9E5F\x98\xCBH\xF3RF\xB9\xF6\x9BxnM\xB1-\xCF\xF2\xEC+p\xB0h\xA7\xF9\x9CzL\xCCz7\xE9X\x8B\\xB7\x87)\x88y{\xC1\xB44$\xCB,ύ\x90\xD6Obz\x819#}\xF3\xC2        \xB3\xBF-Э\xAB\xE0G\xBE\xFD\xF8w\xAF\xAB8?)\xFA\xFC\xD9\xE2\x8BO\xBD\xEFٟ\xFE\xFD\x87\xFDC?\x99\xF8\xBD\x87\xA1\xED\xFE\xFF\xF5\xE6\xBF\xFC\xA3\xAF\xBC]\xB6\xCB6\xEC\xBBG\x96\xFA{\\xE2\xE2\x97\xDEV\x8F$\xF5\xF4\xDA\xEC=\x9B\xF1\xBB +\xBF;\xF0\xBB\xBF{\xF0;\x84\xDF~#\xB2\xBDS\xB6\xB7\xC9vW;\xA2\xF7\xF6$\xE4\xCENQ\xFE\xA0\xB8iA\xB8\xA7\xB8\x8B\xB9mmv\x8F +CLH=\x81~\x813!.S\xEDt\xE9\xED\xB9Cr\xB5\x82\xD4\xE9&gt;i\xC7R\xEEK\xEF\xA4\xC2m-t\x97΁\x9D\xEEKr\xE1_z\xDC\xE6T\xFB7jϥ\x8F\x8A\xCB\xC7\xBD=
 \x97\x9E†8\x99?\x8E\xB6y\xC0\xE0\x94P&gt;\x89\xEDh\xC3o\xAF +@n\xE8\xB9\xF4l\xAB\xC3\xE7ڐ\xAFK_\xE9\xB9\xF4\xA56\x87 +Þn\x99\xE1_E\x91u\xB6\x96\xEF\xC4
+;m6
+1N%_\xB0\x83 +\xE3\x9D\xC8g'\xB2DxRg\xBF\xA8\xE8\xFB:/\xE3e^\xC6E\xCE\xEC\xC0̊V\xFE_\xBB`\xE5&quot;\xAF\x84\xAD\x97\xD6B\x90\xAB[\x92\xE5ޞ˭\xD2 +p\xCEi(Z\x82w\xB7\x89\x8B\xAB\xCDӊ\xC5\xF5\x9E\xFB$\xC9n[g H2\xD0\xD3J\xFC_\xEE\xE5p\xB3\xDDa\x93\xB7u\xBA0ᾼ\xAD\xD5!a\x88 +kCd*\x8D\xC0\xDD-\x9E\xB4\xF7\xBA/\xEF!\xD1J\xC8w2\xA7\xD9}qH\xFD\xFDvL]\xDEF\xBA䢌˻\xDD'Qf|e\x89^`+:{.GC\xC6\xEE\xEF\xDC\xD6\xDF\xEDp |[\xFF6\xEC]\xA2
+\xE1&gt;ގ +\xC1 \xFE \xD1&lt;N \xB9P\x94m\xF8uQ\xD7q\xFD\xC8\xB2\xE3\x90EJ\x9A\xD4\xD6\xEEh\xC1\x9A\x89\x816\xC0\xB2\x9F\xC7\xEE\xBB{2\xF6\xA6\xFB\xF2v7u\xEB\xE5)\x8C\x90\xBA\xB8\\x8E\xFF\xC4b^z\xD1\xE5r\xF5\xD0\xE2\x90ey\x9DÎ\xFCu\x83( \xEA\xDD\xFE\xFE6\x87.JrD\x82M\x96\xC5Ġ\xF1\xFB\x9B\xE7\xC2&gt;\xBF\xB3\x9D\xCC\xDD!}ӎ6\x86\\x96\x9Ep\xBF}\x8Dn&amp;CT\x82\x80\x9BH(\x9AG\xFD\xA7\xF9f\x8E&quot;\xF0\xEF-\xF2\xCF$\xA2O\xC77\xB3;\xD1%\xBBU]\xCA{ư \xBA
+ȫ\xB9\x99\xEC        \xFA~\x8F%w\x8F\xBB\x82\x89%\xE6O\x84\x87\xD2\xFF\xC2P8I œ\xF3\xF3C\x81T,\x9A\x88\xA1P2 \xB0NG@\xFC\xBE(@&amp;\xB82\x8C\xB4\xB1ɹ\x81\xCE^\xCE\xCA\xE9q\x9E\xDBռ\xB9\x9B7\xBBD\xFBp\xFA\xED\xFE\x{1239CE}\xF7\xE6\xE9\xF7\xBC'\x9F\xC4\xEF#'f\xC6f.'\xDD3\xFE\xBE߼\xE57\xDE\xFF\xC7/\xBC\xEB\xE8\xF2\xC7gt\xFFڪ-\x9E19&gt;3\xA6ϖ\xD4™bY&lt;g\xD4\xF9{\xCF\xF0\xCE\xE6\x99F+\xBCB\x9A\x8F#\xFD\xC9\xF2\x99\x83+\xF7@\xDD\xCFKOփ΍\xAA\xDAX6K\xB7\xFAŝuE\xE1s\xF4\xF9\xE9n\xF0\x86W?\xFFV?\x9F\x83\xDFp\xA9N\xAA\xEF\xAF\xA7\xCF1\xFC\xDE\xF5 \xC0\xF3\xB6r\xCE\xF36:py
+}\x8B9 \xC7q\xE5&lt;pn\xC7\xF4\x86G\x81\x87\xFCa\xCB\xF7\xAEXO\xC5\xD7\xD7\xE8\xA9\xCB\xCF\xF5\x9F1\xC6:\xC5닣\xFAZi\x82\xFD\x95\xF3wq\xA9Ys\x9D\xB5x\xD5\xE2\xF3\xBB-\x87mDc\x86\xD7\xD4\xC2W\xAA\xA5\xD4\xCF8~\xF3/\x8C^0\x8C\xBD\x82\xE5}c5J[.\x8Dv1 /V\xE1\x8F}\xE7c\x89=\xD7z&lt;\xC3\xF8W\xDEOP*V\xB9b\x8D&quot;\xF6,\xE8\xF8n\x98Oh\x8F\xEA{Ծ\x94\xA6Xu\xD0\xE7V\xCCYbmL\xAF\xFB{T2\xDB7ƾ}\x8A\xDB]\xA8\x90˵\x{D910}&gt;\xB4Y\xE8\x9E\xE2rE \xBDr\xEE7\xBF\xC4G?\x9D\xCD\xE4҄\x9Bg\xB4\xCC\xFD\xB5\xD5\xEF\xE3\xA5,\xD3݌t\xC9\xEB\d\x8A\xA3쇮p \xF5\xD5y\x98{я&lt;\xFA1VOj\xF70\xBF\xC7\xF52\x9D_\xA3\xBD\xF9\x9F\x99\xEFi\xEE\x97i^\xD7\xD2\xEA/\x85\xB9־\xBC\xD6\xFEsTҫ\xEE\x95\xEA&gt;\x89s\x99#\xBC\xA2&amp;Z\xF3H\x93VMW+\xF7\xEA\xE7_\xC9\xE7\xE2\xF9\xA9\xEE\xAF\x8A\xE2\xDF\xE2\xE7\xFFPKx\x83f@P&gt;&amp;\xEB\xD4\x91AppManifest.xamlPKx\x83f@()\xEB\xD5.\x98SilverlightMediaElement.dllPK
 \x870
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludesmediaelementwpmediaelementcss"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/mediaelement/wp-mediaelement.css (0 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/mediaelement/wp-mediaelement.css                                (rev 0)
+++ trunk/wp-includes/mediaelement/wp-mediaelement.css        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+.mejs-container, .mejs-embed, .mejs-embed body {
+        background: #464646;
+}
+
+.mejs-controls .mejs-time-rail .mejs-time-loaded {
+        background: #21759b;
+}
+
+.mejs-controls .mejs-time-rail .mejs-time-current {
+        background: #d54e21;
+}
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludesmediaelementwpmediaelementjs"></a>
<div class="addfile"><h4>Added: trunk/wp-includes/mediaelement/wp-mediaelement.js (0 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/mediaelement/wp-mediaelement.js                                (rev 0)
+++ trunk/wp-includes/mediaelement/wp-mediaelement.js        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+(function ($) {
+        // add mime-type aliases to MediaElement plugin support
+        mejs.plugins.silverlight[0].types.push('video/x-ms-wmv');
+        mejs.plugins.silverlight[0].types.push('audio/x-ms-wma');
+
+    $(function () {
+                $('.wp-audio-shortcode, .wp-video-shortcode').mediaelementplayer();
+        });
+
+}(jQuery));
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludespostformatsphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/post-formats.php (23728 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/post-formats.php        2013-03-16 04:58:37 UTC (rev 23728)
+++ trunk/wp-includes/post-formats.php        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -308,6 +308,8 @@
</span><span class="cx">         $show_content = true;
</span><span class="cx">         $format_output = '';
</span><span class="cx">         $meta = get_post_format_meta( $post-&gt;ID );
</span><ins>+        // passed by ref in preg_match()
+        $matches = array();
</ins><span class="cx"> 
</span><span class="cx">         switch ( $format ) {
</span><span class="cx">                 case 'link':
</span><span class="lines">@@ -365,32 +367,19 @@
</span><span class="cx">                         break;
</span><span class="cx"> 
</span><span class="cx">                 case 'gallery':
</span><del>-                        preg_match_all( '/' . get_shortcode_regex() . '/s', $content, $matches );
-                        if ( ! empty( $matches ) &amp;&amp; isset( $matches[2] ) ) {
-                                foreach ( (array) $matches[2] as $match ) {
-                                        if ( 'gallery' === $match )
-                                                break 2; // foreach + case
-                                }
-                        }
-
-                        if ( ! empty( $meta['gallery'] ) ) {
</del><ins>+                        if ( ! has_shortcode( $post-&gt;post_content, $format ) &amp;&amp; ! empty( $meta['gallery'] ) )
</ins><span class="cx">                                 $format_output .= $meta['gallery'];
</span><del>-                        }
</del><span class="cx">                         break;
</span><span class="cx"> 
</span><span class="cx">                 case 'video':
</span><span class="cx">                 case 'audio':
</span><del>-                        $shortcode_regex = '/' . get_shortcode_regex() . '/s';
-                        $matches = preg_match( $shortcode_regex, $content );
-                        if ( ! $matches || $format !== $matches[2] ) {
-                                if ( ! empty( $meta['media'] ) ) {
-                                        // the metadata is a shortcode or an embed code
-                                        if ( preg_match( $shortcode_regex, $meta['media'] ) || preg_match( '#&lt;[^&gt;]+&gt;#', $meta['media'] ) ) {
-                                                $format_output .= $meta['media'];
-                                        } elseif ( ! stristr( $content, $meta['media'] ) ) {
-                                                // attempt to embed the URL
-                                                $format_output .= sprintf( '[embed]%s[/embed]', $meta['media'] );
-                                        }
</del><ins>+                        if ( ! has_shortcode( $post-&gt;post_content, $format ) &amp;&amp; ! empty( $meta['media'] ) ) {
+                                // the metadata is a shortcode or an embed code
+                                if ( preg_match( '/' . get_shortcode_regex() . '/s', $meta['media'] ) || preg_match( '#&lt;[^&gt;]+&gt;#', $meta['media'] ) ) {
+                                        $format_output .= $meta['media'];
+                                } elseif ( ! stristr( $content, $meta['media'] ) ) {
+                                        // attempt to embed the URL
+                                        $format_output .= sprintf( '[embed]%s[/embed]', $meta['media'] );
</ins><span class="cx">                                 }
</span><span class="cx">                         }
</span><span class="cx">                         break;
</span></span></pre></div>
<a id="trunkwpincludesscriptloaderphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/script-loader.php (23728 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/script-loader.php        2013-03-16 04:58:37 UTC (rev 23728)
+++ trunk/wp-includes/script-loader.php        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -277,6 +277,9 @@
</span><span class="cx"> 
</span><span class="cx">         $scripts-&gt;add( 'imgareaselect', &quot;/wp-includes/js/imgareaselect/jquery.imgareaselect$suffix.js&quot;, array('jquery'), '0.9.8', 1 );
</span><span class="cx"> 
</span><ins>+        $scripts-&gt;add( 'mediaelement', &quot;/wp-includes/js/mediaelement/mediaelement-and-player$suffix.js&quot;, array('jquery'), '2.10.1', 1 );
+        $scripts-&gt;add( 'wp-mediaelement', &quot;/wp-includes/js/mediaelement/wp-mediaelement.js&quot;, array('mediaelement'), false, 1 );
+
</ins><span class="cx">         $scripts-&gt;add( 'password-strength-meter', &quot;/wp-admin/js/password-strength-meter$suffix.js&quot;, array('jquery'), false, 1 );
</span><span class="cx">         did_action( 'init' ) &amp;&amp; $scripts-&gt;localize( 'password-strength-meter', 'pwsL10n', array(
</span><span class="cx">                 'empty' =&gt; __('Strength indicator'),
</span><span class="lines">@@ -541,6 +544,9 @@
</span><span class="cx">         $styles-&gt;add( 'media-views', &quot;/wp-includes/css/media-views$suffix.css&quot;, array( 'buttons' ) );
</span><span class="cx">         $styles-&gt;add( 'buttons', &quot;/wp-includes/css/buttons$suffix.css&quot; );
</span><span class="cx"> 
</span><ins>+        $styles-&gt;add( 'mediaelement', &quot;/wp-includes/js/mediaelement/mediaelementplayer$suffix.css&quot; );
+        $styles-&gt;add( 'wp-mediaelement', &quot;/wp-includes/js/mediaelement/wp-mediaelement.css&quot;, array( 'mediaelement' ) );
+
</ins><span class="cx">         foreach ( $rtl_styles as $rtl_style ) {
</span><span class="cx">                 $styles-&gt;add_data( $rtl_style, 'rtl', true );
</span><span class="cx">                 if ( $suffix &amp;&amp; ! in_array( $rtl_style, $no_suffix ) )
</span></span></pre></div>
<a id="trunkwpincludesshortcodesphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/shortcodes.php (23728 => 23729)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/shortcodes.php        2013-03-16 04:58:37 UTC (rev 23728)
+++ trunk/wp-includes/shortcodes.php        2013-03-16 05:25:44 UTC (rev 23729)
</span><span class="lines">@@ -128,6 +128,44 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><ins>+ * Whether a registered shortcode exists named $tag
+ *
+ * @since 3.6.0
+ *
+ * @global array $shortcode_tags
+ * @param string $tag
+ * @return boolean
+ */
+function shortcode_exists( $tag ) {
+        global $shortcode_tags;
+        return array_key_exists( $tag, $shortcode_tags );
+}
+
+/**
+ * Whether the passed content contains the specified shortcode
+ *
+ * @since 3.6.0
+ *
+ * @global array $shortcode_tags
+ * @param string $tag
+ * @return boolean
+ */
+function has_shortcode( $content, $tag ) {
+        if ( shortcode_exists( $tag ) ) {
+                $matches = array();
+                preg_match_all( '/' . get_shortcode_regex() . '/s', $content, $matches, PREG_SET_ORDER );
+                if ( empty( $matches ) )
+                        return false;
+
+                foreach ( $matches as $shortcode ) {
+                        if ( $tag === $shortcode[2] )
+                                return true;
+                }
+        }
+        return false;
+}
+
+/**
</ins><span class="cx">  * Search content for shortcodes and filter shortcodes through their hooks.
</span><span class="cx">  *
</span><span class="cx">  * If there are no shortcode tags defined, then the content will be returned
</span></span></pre>
</div>
</div>

</body>
</html>