From a40e77495612db0b89730debbacc585a22d0eb3a Mon Sep 17 00:00:00 2001
From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Date: Tue, 16 Nov 2010 13:27:57 +0100
Subject: Fix possible missing glyphs in text when using GL engine

If you create/destroy gl contexts a lot, you may sometimes get a new
context with the same pointer as a destroyed context. When you look up
the glyph cache in the font engine using the context pointer as a key,
you will then get a glyph cache which contains no valid data. We need
to reset the glyph cache completely in this case and set up bindings for
the new context so that the glyph cache can be repopulated and reused.

Note that there is a different solution for this in Qt 4.8, so this is
temporary solution for the Qt 4.7.x series.

Task-number: QT-4162
Reviewed-by: Fabien Freling
---
 src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp |  2 ++
 src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp  |  9 ++++++++-
 src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h  | 15 ++++++++++++++-
 3 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
index 1dcb773..73915cb 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
@@ -1479,6 +1479,8 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(QFontEngineGlyphCache::Type glyp
     if (!cache || cache->cacheType() != glyphType) {
         cache = new QGLTextureGlyphCache(ctx, glyphType, QTransform());
         staticTextItem->fontEngine()->setGlyphCache(ctx, cache);
+    } else if (cache->context() == 0) { // Old context has been destroyed, new context has same ptr value
+        cache->setContext(ctx);
     }
 
     bool recreateVertexArrays = false;
diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
index 919c542..28e8c40 100644
--- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
+++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
@@ -54,11 +54,18 @@ extern Q_GUI_EXPORT bool qt_cleartype_enabled;
 
 QGLTextureGlyphCache::QGLTextureGlyphCache(QGLContext *context, QFontEngineGlyphCache::Type type, const QTransform &matrix)
     : QImageTextureGlyphCache(type, matrix)
-    , ctx(context)
+    , ctx(0)
     , m_width(0)
     , m_height(0)
     , m_filterMode(Nearest)
 {
+    setContext(context);
+}
+
+void QGLTextureGlyphCache::setContext(QGLContext *context)
+{
+    ctx = context;
+
     // broken FBO readback is a bug in the SGX 1.3 and 1.4 drivers for the N900 where
     // copying between FBO's is broken if the texture is either GL_ALPHA or POT. The
     // workaround is to use a system-memory copy of the glyph cache for this device.
diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
index e22146d..fa2b091 100644
--- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
+++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
@@ -90,6 +90,9 @@ public:
     FilterMode filterMode() const { return m_filterMode; }
     void setFilterMode(FilterMode m) { m_filterMode = m; }
 
+    void setContext(QGLContext *context);
+    QGLContext *context() const { return ctx; }
+
 public Q_SLOTS:
     void contextDestroyed(const QGLContext *context) {
         if (context == ctx) {
@@ -98,10 +101,20 @@ public Q_SLOTS:
                 // the context may not be current, so we cannot directly
                 // destroy the fbo and texture here, but since the context
                 // is about to be destroyed, the GL server will do the
-                // clean up for us anyway
+                // clean up for us anyway. We reset everything, so that the
+                // glyph cache object can be reused later by setting a new
+                // context on it.
                 m_fbo = 0;
                 m_texture = 0;
                 ctx = 0;
+                m_width = 0;
+                m_height = 0;
+                m_w = 0;
+                m_h = 0;
+                m_cx = 0;
+                m_cy = 0;
+                m_currentRowHeight = 0;
+                coords.clear();
             } else {
                 // since the context holding the texture is shared, and
                 // about to be destroyed, we have to transfer ownership
-- 
cgit v0.12


From e963a1365d495649a1c8930f4776c78781218881 Mon Sep 17 00:00:00 2001
From: Sergio Ahumada <sergio.ahumada@nokia.com>
Date: Tue, 16 Nov 2010 21:47:14 +0100
Subject: Doc: Fixing typo

---
 src/gui/graphicsview/qgraphicstransform.cpp                | 2 +-
 src/gui/kernel/qapplication_win.cpp                        | 4 ++--
 src/gui/kernel/qclipboard_mac.cpp                          | 2 +-
 src/gui/kernel/qevent.cpp                                  | 2 +-
 src/gui/kernel/qgesturemanager.cpp                         | 2 +-
 src/gui/kernel/qgesturemanager_p.h                         | 2 +-
 src/gui/kernel/qguiplatformplugin.cpp                      | 2 +-
 src/gui/kernel/qkeymapper_mac.cpp                          | 2 +-
 src/gui/kernel/qkeysequence.cpp                            | 2 +-
 src/gui/kernel/qwidget.cpp                                 | 4 ++--
 src/gui/kernel/qwidget_s60.cpp                             | 2 +-
 src/gui/kernel/qx11embed_x11.cpp                           | 2 +-
 src/gui/util/qundostack.cpp                                | 2 +-
 src/network/ssl/qsslsocket_openssl.cpp                     | 2 +-
 src/plugins/bearer/symbian/symbianengine.cpp               | 2 +-
 src/plugins/graphicssystems/meego/qmeegographicssystem.cpp | 2 +-
 src/script/api/qscriptcontextinfo.cpp                      | 2 +-
 src/xmlpatterns/expr/qarithmeticexpression_p.h             | 2 +-
 tests/auto/collections/tst_collections.cpp                 | 2 +-
 tools/assistant/tools/assistant/helpenginewrapper.cpp      | 2 +-
 20 files changed, 22 insertions(+), 22 deletions(-)

diff --git a/src/gui/graphicsview/qgraphicstransform.cpp b/src/gui/graphicsview/qgraphicstransform.cpp
index 1f155c6..d495da2 100644
--- a/src/gui/graphicsview/qgraphicstransform.cpp
+++ b/src/gui/graphicsview/qgraphicstransform.cpp
@@ -54,7 +54,7 @@
     instances to one QGraphicsItem. Each QGraphicsTransform is applied in
     order, one at a time, to the QGraphicsItem it's assigned to.
 
-    QGraphicsTransform is particularily useful for animations. Whereas
+    QGraphicsTransform is particularly useful for animations. Whereas
     QGraphicsItem::setTransform() lets you assign any transform directly to an
     item, there is no direct way to interpolate between two different
     transformations (e.g., when transitioning between two states, each for
diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp
index 78028eb..10c4ed6 100644
--- a/src/gui/kernel/qapplication_win.cpp
+++ b/src/gui/kernel/qapplication_win.cpp
@@ -3269,7 +3269,7 @@ bool QETWidget::translateMouseEvent(const MSG &msg)
         if (type == QEvent::MouseButtonPress
             && QApplication::activePopupWidget() != activePopupWidget
             && replayPopupMouseEvent) {
-            // the popup dissappeared. Replay the event
+            // the popup disappeared. Replay the event
             QWidget* w = QApplication::widgetAt(gpos.x, gpos.y);
             if (w && !QApplicationPrivate::isBlockedByModal(w)) {
                 Q_ASSERT(w->testAttribute(Qt::WA_WState_Created));
@@ -3506,7 +3506,7 @@ static void tabletInit(const quint64 uniqueId, const UINT csr_type, HCTX hTab)
 }
 #endif // QT_NO_TABLETEVENT
 
-// Update the "dynamic" informations of a cursor device (pen, airbrush, etc).
+// Update the "dynamic" information of a cursor device (pen, airbrush, etc).
 // The dynamic information is the information of QTabletDeviceData that can change
 // in time (eraser or pen if a device is turned around).
 #ifndef QT_NO_TABLETEVENT
diff --git a/src/gui/kernel/qclipboard_mac.cpp b/src/gui/kernel/qclipboard_mac.cpp
index 49a6cc8..482a3a3 100644
--- a/src/gui/kernel/qclipboard_mac.cpp
+++ b/src/gui/kernel/qclipboard_mac.cpp
@@ -623,7 +623,7 @@ QMacPasteboard::sync() const
 
 #ifdef DEBUG_PASTEBOARD
     if(fromGlobal)
-        qDebug("Pasteboard: Syncronize!");
+        qDebug("Pasteboard: Synchronize!");
 #endif
     return fromGlobal;
 }
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index eade02e..7fdb926 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -1970,7 +1970,7 @@ void QInputMethodEvent::setCommitString(const QString &commitString, int replace
   is usually given by a wheel on 4D mouse. If the device does not support a
   Z-axis, pass zero here.
 
-  The \a tangentialPressure paramater contins the tangential pressure of an air
+  The \a tangentialPressure parameter contins the tangential pressure of an air
   brush. If the device does not support tangential pressure, pass 0 here.
 
   \a rotation contains the device's rotation in degrees. 4D mice support
diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp
index 9519447..46450b1 100644
--- a/src/gui/kernel/qgesturemanager.cpp
+++ b/src/gui/kernel/qgesturemanager.cpp
@@ -189,7 +189,7 @@ void QGestureManager::cleanupCachedGestures(QObject *target, Qt::GestureType typ
 QGesture *QGestureManager::getState(QObject *object, QGestureRecognizer *recognizer, Qt::GestureType type)
 {
     // if the widget is being deleted we should be careful not to
-    // create a new state, as it will create QWeakPointer which doesnt work
+    // create a new state, as it will create QWeakPointer which doesn't work
     // from the destructor.
     if (object->isWidgetType()) {
         if (static_cast<QWidget *>(object)->d_func()->data.in_destructor)
diff --git a/src/gui/kernel/qgesturemanager_p.h b/src/gui/kernel/qgesturemanager_p.h
index a5a3482..92310f5 100644
--- a/src/gui/kernel/qgesturemanager_p.h
+++ b/src/gui/kernel/qgesturemanager_p.h
@@ -101,7 +101,7 @@ private:
         NotGesture,
         MaybeGesture // this means timers are up and waiting for some
                      // more events, and input events are handled by
-                     // gesture recognizer explicitely
+                     // gesture recognizer explicitly
     } state;
 
     struct ObjectGesture
diff --git a/src/gui/kernel/qguiplatformplugin.cpp b/src/gui/kernel/qguiplatformplugin.cpp
index 2dd251b..c80c6d3 100644
--- a/src/gui/kernel/qguiplatformplugin.cpp
+++ b/src/gui/kernel/qguiplatformplugin.cpp
@@ -187,7 +187,7 @@ QString QGuiPlatformPlugin::styleName()
 #endif
 }
 
-/* return an aditional default palette  (only work on X11) */
+/* return an additional default palette  (only work on X11) */
 QPalette QGuiPlatformPlugin::palette()
 {
 #ifdef Q_WS_X11
diff --git a/src/gui/kernel/qkeymapper_mac.cpp b/src/gui/kernel/qkeymapper_mac.cpp
index 300e5ca..b8f08bf 100644
--- a/src/gui/kernel/qkeymapper_mac.cpp
+++ b/src/gui/kernel/qkeymapper_mac.cpp
@@ -765,7 +765,7 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, EventHandlerCallRef e
                                   &handled_event) == false)
         return handled_event;
     QString text(ourChar);
-    /* This is actually wrong - but unfortunatly it is the best that can be
+    /* This is actually wrong - but unfortunately it is the best that can be
        done for now because of the Control/Meta mapping problems */
     if (modifiers & (Qt::ControlModifier | Qt::MetaModifier)
         && !qApp->testAttribute(Qt::AA_MacDontSwapCtrlAndMeta)) {
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp
index 50b2354..bf3eddd 100644
--- a/src/gui/kernel/qkeysequence.cpp
+++ b/src/gui/kernel/qkeysequence.cpp
@@ -1105,7 +1105,7 @@ QKeySequence QKeySequence::mnemonic(const QString &text)
 #else
                     found = true;
                 } else {
-                    qWarning("QKeySequence::mnemonic: \"%s\" contains multiple occurences of '&'", qPrintable(text));
+                    qWarning("QKeySequence::mnemonic: \"%s\" contains multiple occurrences of '&'", qPrintable(text));
 #endif
                 }
             }
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index e22ec55..39c734e 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -8836,7 +8836,7 @@ void QWidget::mousePressEvent(QMouseEvent *event)
         QWidget* w;
         while ((w = QApplication::activePopupWidget()) && w != this){
             w->close();
-            if (QApplication::activePopupWidget() == w) // widget does not want to dissappear
+            if (QApplication::activePopupWidget() == w) // widget does not want to disappear
                 w->hide(); // hide at least
         }
         if (!rect().contains(event->pos())){
@@ -9305,7 +9305,7 @@ void QWidget::setInputMethodHints(Qt::InputMethodHints hints)
 #ifndef QT_NO_IM
     Q_D(QWidget);
     d->imHints = hints;
-    // Optimisation to update input context only it has already been created.
+    // Optimization to update input context only it has already been created.
     if (d->ic || qApp->d_func()->inputContext) {
         QInputContext *ic = inputContext();
         if (ic)
diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp
index cf4bdf1..97917ba 100644
--- a/src/gui/kernel/qwidget_s60.cpp
+++ b/src/gui/kernel/qwidget_s60.cpp
@@ -57,7 +57,7 @@
 #include <eikbtgpc.h>
 #endif
 
-// This is necessary in order to be able to perform delayed invokation on slots
+// This is necessary in order to be able to perform delayed invocation on slots
 // which take arguments of type WId.  One example is
 // QWidgetPrivate::_q_delayedDestroy, which is used to delay destruction of
 // CCoeControl objects until after the CONE event handler has finished running.
diff --git a/src/gui/kernel/qx11embed_x11.cpp b/src/gui/kernel/qx11embed_x11.cpp
index 9f1b1f8..e6e3bfb 100644
--- a/src/gui/kernel/qx11embed_x11.cpp
+++ b/src/gui/kernel/qx11embed_x11.cpp
@@ -1136,7 +1136,7 @@ void QX11EmbedContainer::paintEvent(QPaintEvent *)
 
 /*! \internal
 
-    Returns wether or not the windows' embedded flag is set.
+    Returns whether or not the windows' embedded flag is set.
 */
 bool QX11EmbedContainerPrivate::isEmbedded() const
 {
diff --git a/src/gui/util/qundostack.cpp b/src/gui/util/qundostack.cpp
index 919ac3c..04cfca9 100644
--- a/src/gui/util/qundostack.cpp
+++ b/src/gui/util/qundostack.cpp
@@ -441,7 +441,7 @@ bool QUndoStackPrivate::checkUndoLimit()
 
 /*!
     Constructs an empty undo stack with the parent \a parent. The
-    stack will initally be in the clean state. If \a parent is a
+    stack will initially be in the clean state. If \a parent is a
     QUndoGroup object, the stack is automatically added to the group.
 
     \sa push()
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
index 70ef7ba..0479d83 100644
--- a/src/network/ssl/qsslsocket_openssl.cpp
+++ b/src/network/ssl/qsslsocket_openssl.cpp
@@ -728,7 +728,7 @@ void CSymbianCertificateRetriever::RunL()
         if (iStatus.Int() == KErrNone)
             iCertificates->append(iCertificateData);
         else
-            qWarning() << "CSymbianCertificateRetriever: failed to retreive a certificate, error " << iStatus.Int();
+            qWarning() << "CSymbianCertificateRetriever: failed to retrieve a certificate, error " << iStatus.Int();
         GetCertificateL();
         break;
     }
diff --git a/src/plugins/bearer/symbian/symbianengine.cpp b/src/plugins/bearer/symbian/symbianengine.cpp
index 33fa508..f025d86 100644
--- a/src/plugins/bearer/symbian/symbianengine.cpp
+++ b/src/plugins/bearer/symbian/symbianengine.cpp
@@ -981,7 +981,7 @@ void SymbianEngine::RunL()
     QMutexLocker locker(&mutex);
 
     if (iStatus != KErrCancel) {
-        // By default, start relistening notifications. Stop only if interesting event occured.
+        // By default, start relistening notifications. Stop only if interesting event occurred.
         iWaitingCommsDatabaseNotifications = true;
         RDbNotifier::TEvent event = STATIC_CAST(RDbNotifier::TEvent, iStatus.Int());
         switch (event) {
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
index 063af13..507f70b 100644
--- a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
@@ -83,7 +83,7 @@ QWindowSurface* QMeeGoGraphicsSystem::createWindowSurface(QWidget *widget) const
 QPixmapData *QMeeGoGraphicsSystem::createPixmapData(QPixmapData::PixelType type) const
 {
     // Long story short: without this it's possible to hit an
-    // unitialized paintDevice due to a Qt bug too complex to even
+    // uninitialized paintDevice due to a Qt bug too complex to even
     // explain here... not to mention fix without going crazy.
     // MDK
     QGLShareContextScope ctx(qt_gl_share_widget()->context());
diff --git a/src/script/api/qscriptcontextinfo.cpp b/src/script/api/qscriptcontextinfo.cpp
index a90e014..8528dec 100644
--- a/src/script/api/qscriptcontextinfo.cpp
+++ b/src/script/api/qscriptcontextinfo.cpp
@@ -177,7 +177,7 @@ QScriptContextInfoPrivate::QScriptContextInfoPrivate(const QScriptContext *conte
            fileName = source->url();
     }
 
-    // Get the others informations:
+    // Get the others information:
     JSC::JSObject *callee = frame->callee();
     if (callee && callee->inherits(&JSC::InternalFunction::info))
         functionName = JSC::asInternalFunction(callee)->name(frame);
diff --git a/src/xmlpatterns/expr/qarithmeticexpression_p.h b/src/xmlpatterns/expr/qarithmeticexpression_p.h
index 66c1f13..6ff8219 100644
--- a/src/xmlpatterns/expr/qarithmeticexpression_p.h
+++ b/src/xmlpatterns/expr/qarithmeticexpression_p.h
@@ -62,7 +62,7 @@ QT_BEGIN_NAMESPACE
 namespace QPatternist
 {
     /**
-     * @short Implements arithmetics, such as multiplication and substraction.
+     * @short Implements arithmetics, such as multiplication and subtraction.
      *
      *
      * Optimizations: there's some operator/value combos that are no ops. For
diff --git a/tests/auto/collections/tst_collections.cpp b/tests/auto/collections/tst_collections.cpp
index f81535e..43e1a52 100644
--- a/tests/auto/collections/tst_collections.cpp
+++ b/tests/auto/collections/tst_collections.cpp
@@ -1222,7 +1222,7 @@ void tst_Collections::vector()
         }
     }
 
-    // this used to trigger an unitialized read in valgrind
+    // this used to trigger an uninitialized read in valgrind
     QVector<char> foo;
     foo.resize(144);
 
diff --git a/tools/assistant/tools/assistant/helpenginewrapper.cpp b/tools/assistant/tools/assistant/helpenginewrapper.cpp
index a53a9ee..748ad2c 100644
--- a/tools/assistant/tools/assistant/helpenginewrapper.cpp
+++ b/tools/assistant/tools/assistant/helpenginewrapper.cpp
@@ -144,7 +144,7 @@ HelpEngineWrapper::HelpEngineWrapper(const QString &collectionFile)
 
     /*
      * Otherwise we will waste time if several new docs are found,
-     * because we will start to index them, only to be interupted
+     * because we will start to index them, only to be interrupted
      * by the next request. Also, there is a nasty SQLITE bug that will
      * cause the application to hang for minutes in that case.
      * This call is reverted by initalDocSetupDone(), which must be
-- 
cgit v0.12


From b2a89cf4049e425553bfe74bcb1a52433e6a13c7 Mon Sep 17 00:00:00 2001
From: Michael Dominic K <mdk@codethink.co.uk>
Date: Wed, 17 Nov 2010 10:55:08 +0100
Subject: Send QMeeGoSwitchEvent to toplevel widgets before switching graphics
 system.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Merge-request: 926
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
---
 .../qmeegographicssystemhelper.cpp                 | 17 ++++++
 .../qmeegographicssystemhelper.pro                 |  4 +-
 .../qmeegoswitchevent.cpp                          | 58 +++++++++++++++++++
 .../qmeegographicssystemhelper/qmeegoswitchevent.h | 65 ++++++++++++++++++++++
 4 files changed, 142 insertions(+), 2 deletions(-)
 create mode 100644 tools/qmeegographicssystemhelper/qmeegoswitchevent.cpp
 create mode 100644 tools/qmeegographicssystemhelper/qmeegoswitchevent.h

diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp
index d348e70..b660eb3 100644
--- a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp
+++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.cpp
@@ -46,6 +46,7 @@
 #include <private/qgraphicssystem_runtime_p.h>
 #include <private/qpixmap_raster_p.h>
 #include "qmeegoruntime.h"
+#include "qmeegoswitchevent.h"
 
 QString QMeeGoGraphicsSystemHelper::runningGraphicsSystemName()
 {
@@ -81,8 +82,16 @@ void QMeeGoGraphicsSystemHelper::switchToMeeGo()
     if (QApplicationPrivate::instance()->graphics_system_name != QLatin1String("runtime"))
         qWarning("Can't switch to meego - switching only supported with 'runtime' graphics system.");
     else {
+        QMeeGoSwitchEvent willSwitchEvent(QLatin1String("meego"), QMeeGoSwitchEvent::WillSwitch);
+        foreach (QWidget *widget, QApplication::topLevelWidgets())
+            QCoreApplication::sendEvent(widget, &willSwitchEvent);
+
         QApplication *app = static_cast<QApplication *>(QCoreApplication::instance());
         app->setGraphicsSystem(QLatin1String("meego"));
+
+        QMeeGoSwitchEvent didSwitchEvent(QLatin1String("meego"), QMeeGoSwitchEvent::DidSwitch);
+        foreach (QWidget *widget, QApplication::topLevelWidgets())
+            QCoreApplication::sendEvent(widget, &didSwitchEvent);
     }
 }
 
@@ -94,8 +103,16 @@ void QMeeGoGraphicsSystemHelper::switchToRaster()
     if (QApplicationPrivate::instance()->graphics_system_name != QLatin1String("runtime"))
         qWarning("Can't switch to raster - switching only supported with 'runtime' graphics system.");
     else {
+        QMeeGoSwitchEvent willSwitchEvent(QLatin1String("raster"), QMeeGoSwitchEvent::WillSwitch);
+        foreach (QWidget *widget, QApplication::topLevelWidgets())
+            QCoreApplication::sendEvent(widget, &willSwitchEvent);
+
         QApplication *app = static_cast<QApplication *>(QCoreApplication::instance());
         app->setGraphicsSystem(QLatin1String("raster"));
+
+        QMeeGoSwitchEvent didSwitchEvent(QLatin1String("raster"), QMeeGoSwitchEvent::DidSwitch);
+        foreach (QWidget *widget, QApplication::topLevelWidgets())
+            QCoreApplication::sendEvent(widget, &didSwitchEvent);
     }
 }
 
diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro
index 161a31b..360847e 100644
--- a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro
+++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.pro
@@ -6,5 +6,5 @@ include(../../src/qbase.pri)
 QT += gui
 INCLUDEPATH += '../../src/plugins/graphicssystems/meego'
 
-HEADERS = qmeegographicssystemhelper.h qmeegooverlaywidget.h qmeegolivepixmap.h qmeegoruntime.h qmeegolivepixmap_p.h qmeegofencesync.h qmeegofencesync_p.h
-SOURCES = qmeegographicssystemhelper.cpp qmeegooverlaywidget.cpp qmeegoruntime.cpp qmeegolivepixmap.cpp qmeegographicssystemhelper.h qmeegooverlaywidget.h qmeegolivepixmap.h qmeegoruntime.h qmeegolivepixmap_p.h qmeegofencesync.h qmeegofencesync_p.h qmeegofencesync.cpp
+HEADERS = qmeegographicssystemhelper.h qmeegooverlaywidget.h qmeegolivepixmap.h qmeegoruntime.h qmeegolivepixmap_p.h qmeegofencesync.h qmeegofencesync_p.h qmeegoswitchevent.h
+SOURCES = qmeegographicssystemhelper.cpp qmeegooverlaywidget.cpp qmeegoruntime.cpp qmeegolivepixmap.cpp qmeegographicssystemhelper.h qmeegooverlaywidget.h qmeegolivepixmap.h qmeegoruntime.h qmeegolivepixmap_p.h qmeegofencesync.h qmeegofencesync_p.h qmeegofencesync.cpp qmeegoswitchevent.cpp qmeegoswitchevent.h
diff --git a/tools/qmeegographicssystemhelper/qmeegoswitchevent.cpp b/tools/qmeegographicssystemhelper/qmeegoswitchevent.cpp
new file mode 100644
index 0000000..b136ce8
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/qmeegoswitchevent.cpp
@@ -0,0 +1,58 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qmeegoswitchevent.h"
+
+QMeeGoSwitchEvent::QMeeGoSwitchEvent(const QString &graphicsSystemName, QMeeGoSwitchEvent::State s) : QEvent((QEvent::Type) QMeeGoSwitchEvent::SwitchEvent)
+{
+    name = graphicsSystemName;
+    switchState = s;
+}
+
+QString QMeeGoSwitchEvent::graphicsSystemName() const
+{
+    return name;
+}
+
+QMeeGoSwitchEvent::State QMeeGoSwitchEvent::state() const
+{
+    return switchState;
+}
\ No newline at end of file
diff --git a/tools/qmeegographicssystemhelper/qmeegoswitchevent.h b/tools/qmeegographicssystemhelper/qmeegoswitchevent.h
new file mode 100644
index 0000000..a67c6c4
--- /dev/null
+++ b/tools/qmeegographicssystemhelper/qmeegoswitchevent.h
@@ -0,0 +1,65 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights.  These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include <QEvent>
+#include <QString>
+
+class QMeeGoSwitchEvent : public QEvent
+{
+public:
+    enum State {
+        WillSwitch,
+        DidSwitch
+    };
+
+    enum Type {
+        SwitchEvent = QEvent::User + 1024
+    };
+
+    QMeeGoSwitchEvent(const QString &graphicsSystemName, State s);
+    QString graphicsSystemName() const;
+    State state() const;
+
+
+private:
+    QString name;
+    State switchState;
+};
-- 
cgit v0.12


From 0091dcee679c8787f80bc2ed49f263c801779987 Mon Sep 17 00:00:00 2001
From: Michael Dominic K <mdk@codethink.co.uk>
Date: Wed, 17 Nov 2010 10:55:09 +0100
Subject: Documentation update for new switching events.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Merge-request: 926
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
---
 .../qmeegographicssystemhelper.h                   |  6 +++++
 .../qmeegographicssystemhelper/qmeegoswitchevent.h | 26 +++++++++++++++++++++-
 2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h
index 2baacbb..d47c829 100644
--- a/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h
+++ b/tools/qmeegographicssystemhelper/qmeegographicssystemhelper.h
@@ -102,6 +102,9 @@ public:
      When running with the 'runtime' graphics system, sets the currently active 
      system to 'meego'. The window surface and all the resources are automatically
      migrated to OpenGL. Will fail if the active graphics system is not 'runtime'.
+     Calling this function will emit QMeeGoSwitchEvent to the top level widgets.
+     Two events will be emitted for each switch -- one before the switch (QMeeGoSwitchEvent::WillSwitch)
+     and one after the switch (QMeeGoSwitchEvent::DidSwitch).
     */
     static void switchToMeeGo();
 
@@ -111,6 +114,9 @@ public:
      system to 'raster'. The window surface and the graphics resources (including the 
      EGL shared image resources) are automatically migrated back to the CPU. All OpenGL 
      resources (surface, context, cache, font cache) are automaticall anihilated.
+     Calling this function will emit QMeeGoSwitchEvent to the top level widgets.
+     Two events will be emitted for each switch -- one before the switch (QMeeGoSwitchEvent::WillSwitch)
+     and one after the switch (QMeeGoSwitchEvent::DidSwitch).
     */
     static void switchToRaster();
 
diff --git a/tools/qmeegographicssystemhelper/qmeegoswitchevent.h b/tools/qmeegographicssystemhelper/qmeegoswitchevent.h
index a67c6c4..2d8371e 100644
--- a/tools/qmeegographicssystemhelper/qmeegoswitchevent.h
+++ b/tools/qmeegographicssystemhelper/qmeegoswitchevent.h
@@ -42,22 +42,46 @@
 #include <QEvent>
 #include <QString>
 
+//! A custom event representing a graphics system switch.
+/*!
+ This event is sent two times -- before the actual switch and after the switch.
+ The current mode of the event can be detected by looking at the State of the
+ event.
+
+ The end-user application can use the event to drop it's own allocated GL resources
+ when going to software mode.
+*/
+
 class QMeeGoSwitchEvent : public QEvent
 {
 public:
+
+    //! The state represented by this event.
     enum State {
         WillSwitch,
         DidSwitch
     };
 
+    //! The event type id to use to detect this event.
     enum Type {
         SwitchEvent = QEvent::User + 1024
     };
 
+    //! Constructor for the event.
+    /*!
+     Creates a new event with the given name and the given state.
+    */
     QMeeGoSwitchEvent(const QString &graphicsSystemName, State s);
+
+    //! Returns the name of the target graphics system.
+    /*!
+     Depending on the state, the name represents the system we're about to swtich to,
+     or the system we just switched to.
+    */
     QString graphicsSystemName() const;
-    State state() const;
 
+    //! Returns the state represented by this event.
+    State state() const;
 
 private:
     QString name;
-- 
cgit v0.12


From d68b5355b36e31dbeec2474d8469646358e0cd87 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Wed, 17 Nov 2010 10:58:57 +0100
Subject: Compile fix.

Not sure why this worked before.

Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>
---
 src/corelib/tools/qstring.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index d4a1248..92b54a0 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -3572,7 +3572,7 @@ static QByteArray toLatin1_helper(const QChar *data, int length)
             }
             length = length % 16;
         }
-#elif QT_ALWAYS_HAVE_NEON
+#elif defined(QT_ALWAYS_HAVE_NEON)
         // Refer to the documentation of the SSE2 implementation
         // this use eactly the same method as for SSE except:
         // 1) neon has unsigned comparison
-- 
cgit v0.12


From 6ad33e1ff7618704fd41549780d0d0c93778364e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20R=C3=B8dal?= <samuel.rodal@nokia.com>
Date: Wed, 17 Nov 2010 13:01:38 +0100
Subject: Prevent crash in GL 2 engine when stroking null rectangle.

Task-number: QTBUG-15320
Reviewed-by: Kim
---
 .../gl2paintengineex/qpaintengineex_opengl2.cpp    |  3 +++
 tests/auto/qgl/tst_qgl.cpp                         | 23 ++++++++++++++++++++++
 2 files changed, 26 insertions(+)

diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
index 73915cb..37552ac 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
@@ -1212,6 +1212,9 @@ void QGL2PaintEngineExPrivate::stroke(const QVectorPath &path, const QPen &pen)
         stroker.process(dashStroke, pen, clip);
     }
 
+    if (!stroker.vertexCount())
+        return;
+
     if (opaque) {
         prepareForDraw(opaque);
         setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, stroker.vertices());
diff --git a/tests/auto/qgl/tst_qgl.cpp b/tests/auto/qgl/tst_qgl.cpp
index e38bf42..cc2cac9 100644
--- a/tests/auto/qgl/tst_qgl.cpp
+++ b/tests/auto/qgl/tst_qgl.cpp
@@ -97,6 +97,7 @@ private slots:
     void qglContextDefaultBindTexture();
     void textureCleanup();
     void threadImages();
+    void nullRectCrash();
 };
 
 tst_QGL::tst_QGL()
@@ -2375,6 +2376,28 @@ void tst_QGL::threadImages()
     delete widget;
 }
 
+void tst_QGL::nullRectCrash()
+{
+    if (!QGLFramebufferObject::hasOpenGLFramebufferObjects())
+        QSKIP("QGLFramebufferObject not supported on this platform", SkipSingle);
+
+    QGLWidget glw;
+    glw.makeCurrent();
+
+    QGLFramebufferObjectFormat fboFormat;
+    fboFormat.setAttachment(QGLFramebufferObject::CombinedDepthStencil);
+
+    QGLFramebufferObject *fbo = new QGLFramebufferObject(128, 128, fboFormat);
+
+    QPainter fboPainter(fbo);
+
+    fboPainter.setPen(QPen(QColor(255, 127, 127, 127), 2));
+    fboPainter.setBrush(QColor(127, 255, 127, 127));
+    fboPainter.drawRect(QRectF());
+
+    fboPainter.end();
+}
+
 class tst_QGLDummy : public QObject
 {
 Q_OBJECT
-- 
cgit v0.12


From 78895a7ecaf6579894d88388c09be6e6368dc029 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= <thorbjorn.lindeijer@nokia.com>
Date: Tue, 16 Nov 2010 14:19:29 +0200
Subject: Fixed crash when destroying QGLWidget

The QGLWidget destroys the QGLContext, which in turn destroys the
bound pixmap. When this happens there may not be a current QGLContext,
so check that before trying to restore it.

Done-with: Gunnar Sletta
Reviewed-by: Samuel
---
 src/opengl/qgl_p.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h
index 4742bdb..b46d428 100644
--- a/src/opengl/qgl_p.h
+++ b/src/opengl/qgl_p.h
@@ -506,7 +506,8 @@ private slots:
             // when you come to delete the context.
             QGLContextPrivate::unbindPixmapFromTexture(boundPixmap);
             glDeleteTextures(1, &id);
-            oldContext->makeCurrent();
+            if (oldContext)
+                oldContext->makeCurrent();
             return;
         }
 #endif
-- 
cgit v0.12


From 9f18a1ad5ce32dd397642a4c03fa1fcb21fb9456 Mon Sep 17 00:00:00 2001
From: Mike McQuaid <mike@mikemcquaid.com>
Date: Thu, 18 Nov 2010 05:40:36 +0000
Subject: Check correctly before including SSE4.2 header.

Previously, this failed machines that only had SSE4.1 but not
SSE4.2 due to an assumption that nmmintrin.h could be included
when only using SSE4.1.

Fixes http://bugreports.qt.nokia.com/browse/QTBUG-13623.

Merge-request: 929
Reviewed-by: Benjamin Poulain <benjamin.poulain@nokia.com>
---
 src/corelib/tools/qsimd_p.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h
index 87fa770..2dbed76 100644
--- a/src/corelib/tools/qsimd_p.h
+++ b/src/corelib/tools/qsimd_p.h
@@ -87,9 +87,13 @@ QT_BEGIN_HEADER
 #include <tmmintrin.h>
 #endif
 
-// SSE4.1 and SSE4.2 intrinsics
-#if (defined(QT_HAVE_SSE4_1) || defined(QT_HAVE_SSE4_2)) && (defined(__SSE4_1__) || defined(Q_CC_MSVC))
+// SSE4.1 intrinsics
+#if defined(QT_HAVE_SSE4_1) && (defined(__SSE4_1__) || defined(Q_CC_MSVC))
 #include <smmintrin.h>
+#endif
+
+// SSE4.2 intrinsics
+#if defined(QT_HAVE_SSE4_2) && (defined(__SSE4_2__) || defined(Q_CC_MSVC))
 #include <nmmintrin.h>
 #endif
 
-- 
cgit v0.12


From 36ac9c61e73944cd75d09f5751dd8ed053571b9b Mon Sep 17 00:00:00 2001
From: Joona Petrell <joona.t.petrell@nokia.com>
Date: Thu, 18 Nov 2010 20:57:20 +1000
Subject: Add missing symbols in QtGui emulator def file

---
 src/s60installs/bwins/QtGuiu.def | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def
index c91b22c..dc8a865 100644
--- a/src/s60installs/bwins/QtGuiu.def
+++ b/src/s60installs/bwins/QtGuiu.def
@@ -12898,4 +12898,10 @@ EXPORTS
 	?qmljsDebugArgumentsString@QApplicationPrivate@@SA?AVQString@@XZ @ 12897 NONAME ; class QString QApplicationPrivate::qmljsDebugArgumentsString(void)
 	?convertToPostscriptFontFamilyName@QFontEngine@@SA?AVQByteArray@@ABV2@@Z @ 12898 NONAME ; class QByteArray QFontEngine::convertToPostscriptFontFamilyName(class QByteArray const &)
 	?lastResortFont@QFont@@QBE?AVQString@@XZ @ 12899 NONAME ; class QString QFont::lastResortFont(void) const
+	?setFontEngine@QStaticTextItem@@QAEXPAVQFontEngine@@@Z @ 12900 NONAME ; void QStaticTextItem::setFontEngine(class QFontEngine *)
+	??0QStaticTextItem@@QAE@ABV0@@Z @ 12901 NONAME ; QStaticTextItem::QStaticTextItem(class QStaticTextItem const &)
+	??4QStaticTextItem@@QAEXABV0@@Z @ 12902 NONAME ; void QStaticTextItem::operator=(class QStaticTextItem const &)
+	?fontEngine@QStaticTextItem@@QBEPAVQFontEngine@@XZ @ 12903 NONAME ; class QFontEngine * QStaticTextItem::fontEngine(void) const
+	?reactivateDeferredActiveObjects@QEventDispatcherS60@@UAEXXZ @ 12904 NONAME ; void QEventDispatcherS60::reactivateDeferredActiveObjects(void)
+	?userData@QStaticTextItem@@QBEPAVQStaticTextUserData@@XZ @ 12905 NONAME ; class QStaticTextUserData * QStaticTextItem::userData(void) const
 
-- 
cgit v0.12


From 7196045b78b33cf135683d5c0b4e164f95231791 Mon Sep 17 00:00:00 2001
From: "Bradley T. Hughes" <bradley.hughes@nokia.com>
Date: Thu, 18 Nov 2010 12:42:14 +0100
Subject: Don't let posted events starve native dialogs (regression)

After commit eb1015c7bbf135af3656110a4d112377c1209db8, it is possible
for posted events to starve some of the (most likely internal) messages
used by native dialogs.

This commit reverts eb1015c7bbf135af3656110a4d112377c1209db8, and
instead introduces a Windows timer to keep sendPostedEvents() happening
while the event queue is very active. The GetMessage() hook we install
will eventually see when the queue is empty and we can use PostMessage()
again, which will then stop this timer.

This fixes the regression reported in QTBUG-14655, as well as all of the
other reported regressions and problems since the initial commit
31f1ff91028dd7f90925d5b3737e4d88b5fb07aa (which ensures that posted
events are sent even when Windows is spinning the message loop).

Task-number: QTBUG-14655
Reviewed-by: joao
---
 src/corelib/kernel/qeventdispatcher_win.cpp | 48 ++++++++++++++++++++---------
 1 file changed, 34 insertions(+), 14 deletions(-)

diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp
index a719e72..3dccda6 100644
--- a/src/corelib/kernel/qeventdispatcher_win.cpp
+++ b/src/corelib/kernel/qeventdispatcher_win.cpp
@@ -84,7 +84,8 @@ extern uint qGlobalPostedEventsCount();
 
 enum {
     WM_QT_SOCKETNOTIFIER = WM_USER,
-    WM_QT_SENDPOSTEDEVENTS = WM_USER + 1
+    WM_QT_SENDPOSTEDEVENTS = WM_USER + 1,
+    SendPostedEventsWindowsTimerId = ~1u
 };
 
 #if defined(Q_OS_WINCE)
@@ -353,7 +354,7 @@ public:
 
     // for controlling when to send posted events
     QAtomicInt serialNumber;
-    int lastSerialNumber;
+    int lastSerialNumber, sendPostedEventsWindowsTimerId;
     QAtomicInt wakeUps;
 
     // timers
@@ -378,7 +379,7 @@ public:
 
 QEventDispatcherWin32Private::QEventDispatcherWin32Private()
     : threadId(GetCurrentThreadId()), interrupt(false), internalHwnd(0), getMessageHook(0),
-      serialNumber(0), lastSerialNumber(0), wakeUps(0)
+      serialNumber(0), lastSerialNumber(0), sendPostedEventsWindowsTimerId(0), wakeUps(0)
 {
     resolveTimerAPI();
 }
@@ -485,17 +486,21 @@ LRESULT QT_WIN_CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPA
             }
         }
         return 0;
-    } else if (message == WM_TIMER) {    
-        Q_ASSERT(d != 0);
-        d->sendTimerEvent(wp);
-        return 0;
-    } else if (message == WM_QT_SENDPOSTEDEVENTS) {
+    } else if (message == WM_QT_SENDPOSTEDEVENTS
+               // we also use a Windows timer to send posted events when the message queue is full
+               || (message == WM_TIMER
+                   && d->sendPostedEventsWindowsTimerId != 0
+                   && wp == d->sendPostedEventsWindowsTimerId)) {
         int localSerialNumber = d->serialNumber;
         if (localSerialNumber != d->lastSerialNumber) {
             d->lastSerialNumber = localSerialNumber;
             QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
         }
         return 0;
+    } else if (message == WM_TIMER) {
+        Q_ASSERT(d != 0);
+        d->sendTimerEvent(wp);
+        return 0;
     }
 
     return DefWindowProc(hwnd, message, wp, lp);
@@ -507,21 +512,36 @@ LRESULT QT_WIN_CALLBACK qt_GetMessageHook(int code, WPARAM wp, LPARAM lp)
         QEventDispatcherWin32 *q = qobject_cast<QEventDispatcherWin32 *>(QAbstractEventDispatcher::instance());
         Q_ASSERT(q != 0);
         if (q) {
+            MSG *msg = (MSG *) lp;
             QEventDispatcherWin32Private *d = q->d_func();
             int localSerialNumber = d->serialNumber;
-            MSG unused;
-            if ((HIWORD(GetQueueStatus(QS_INPUT | QS_RAWINPUT)) == 0
-                 && PeekMessage(&unused, 0, WM_TIMER, WM_TIMER, PM_NOREMOVE) == 0)) {
-                // no more input or timer events in the message queue or more than 10ms has elapsed since
-                // we send posted events, we can allow posted events to be sent now
+            if (HIWORD(GetQueueStatus(QS_TIMER | QS_INPUT | QS_RAWINPUT)) == 0) {
+                // no more input or timer events in the message queue, we can allow posted events to be sent normally now
+                if (d->sendPostedEventsWindowsTimerId != 0) {
+                    // stop the timer to send posted events, since we now allow the WM_QT_SENDPOSTEDEVENTS message
+                    KillTimer(d->internalHwnd, d->sendPostedEventsWindowsTimerId);
+                    d->sendPostedEventsWindowsTimerId = 0;
+                }
                 (void) d->wakeUps.fetchAndStoreRelease(0);
-                MSG *msg = (MSG *) lp;
                 if (localSerialNumber != d->lastSerialNumber
                     // if this message IS the one that triggers sendPostedEvents(), no need to post it again
                     && (msg->hwnd != d->internalHwnd
                         || msg->message != WM_QT_SENDPOSTEDEVENTS)) {
                     PostMessage(d->internalHwnd, WM_QT_SENDPOSTEDEVENTS, 0, 0);
                 }
+            } else if (d->sendPostedEventsWindowsTimerId == 0
+                       && localSerialNumber != d->lastSerialNumber
+                       // if this message IS the one that triggers sendPostedEvents(), no need to post it again
+                       && (msg->hwnd != d->internalHwnd
+                           || msg->message != WM_QT_SENDPOSTEDEVENTS)) {
+                // start a special timer to continue delivering posted events while
+                // there are still input and timer messages in the message queue
+                d->sendPostedEventsWindowsTimerId = SetTimer(d->internalHwnd,
+                                                             SendPostedEventsWindowsTimerId,
+                                                             USER_TIMER_MINIMUM,
+                                                             NULL);
+                // we don't check the return value of SetTimer()... if creating the timer failed, there's little
+                // we can do. we just have to accept that posted events will be starved
             }
         }
     }
-- 
cgit v0.12


From 0ced71e4dddc12240b22fd5786ed41a529e49c47 Mon Sep 17 00:00:00 2001
From: Marco Bubke <marco.bubke@nokia.com>
Date: Thu, 18 Nov 2010 13:35:44 +0100
Subject: Fix parent bug for QDeclarativeOpenMetaObject

The dynamic meta object was not called because no parent meta object was called.

Reviewed-By: Aaron Kennedy
---
 src/declarative/util/qdeclarativeopenmetaobject.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/declarative/util/qdeclarativeopenmetaobject.cpp b/src/declarative/util/qdeclarativeopenmetaobject.cpp
index 40485bd..c611435 100644
--- a/src/declarative/util/qdeclarativeopenmetaobject.cpp
+++ b/src/declarative/util/qdeclarativeopenmetaobject.cpp
@@ -186,6 +186,7 @@ QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(QObject *obj, bool automa
     d->type->d->referers.insert(this);
 
     QObjectPrivate *op = QObjectPrivate::get(obj);
+    d->parent = static_cast<QAbstractDynamicMetaObject *>(op->metaObject);
     *static_cast<QMetaObject *>(this) = *d->type->d->mem;
     op->metaObject = this;
 }
@@ -201,6 +202,7 @@ QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(QObject *obj, QDeclarativ
     d->type->d->referers.insert(this);
 
     QObjectPrivate *op = QObjectPrivate::get(obj);
+    d->parent = static_cast<QAbstractDynamicMetaObject *>(op->metaObject);
     *static_cast<QMetaObject *>(this) = *d->type->d->mem;
     op->metaObject = this;
 }
-- 
cgit v0.12


From d4cd9c899e705ff01f597f0007def8fbd3ab8b39 Mon Sep 17 00:00:00 2001
From: Alan Alpert <alan.alpert@nokia.com>
Date: Fri, 19 Nov 2010 09:19:41 +1000
Subject: Add a test on QWS

Without a single test, it fails anyways.

Task-number: QTBUG-14792
---
 tests/auto/declarative/qmlvisual/TEST_GUIDELINES   | 2 +-
 tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/tests/auto/declarative/qmlvisual/TEST_GUIDELINES b/tests/auto/declarative/qmlvisual/TEST_GUIDELINES
index cb53b6e..469832f 100644
--- a/tests/auto/declarative/qmlvisual/TEST_GUIDELINES
+++ b/tests/auto/declarative/qmlvisual/TEST_GUIDELINES
@@ -4,4 +4,4 @@ Guidelines for creating new visual tests:
 
 2. Keep it short. It is hoped that these tests can be run regularly, perhaps even for every commit, and if you add up ten seconds for every time someone commits a change to QML then we'll be sitting here for a long time. Completeness is more important than haste, but consider the most time efficient ways to achieve said completeness. Do not forget about snapshot mode (tst_qmlvisual -help for details on -recordsnapshot) when testing that a static scene looks right.
 
-3. Avoid text. Text is relatively unstable due to platform specific peculiarities. If you need to identify an area, consider a unique color as opposed to a unique text label. If you must use Text, TextEdit, or TextInput, use the test-friendlier versions in the 'shared' directory.
+3. Avoid text. Text is relatively unstable due to platform specific peculiarities. If you need to identify an area, consider a unique color as opposed to a unique text label. If you must use Text, TextEdit, or TextInput, use the test-friendlier versions in the 'shared' directory. Also keep in mind that text anti-aliasing is disabled during tests for greater consistency, and you should never use point sizes in tests. Text autotests can thus only test some aspects of the elements.
diff --git a/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp b/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp
index 8d4d0d1..2a15102 100644
--- a/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp
+++ b/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp
@@ -104,14 +104,16 @@ void tst_qmlvisual::visual_data()
     QStringList files;
     files << findQmlFiles(QDir(QT_TEST_SOURCE_DIR));
     if (qgetenv("QMLVISUAL_ALL") != "1") {
-        //Text on X11 varies per distro - and the CI system is currently using something outdated.
 #if defined(Q_WS_X11)
+        //Text on X11 varies per distro - and the CI system is currently using something outdated.
         foreach(const QString &str, files.filter(QRegExp(".*text.*")))
             files.removeAll(str);
 #endif
-        //We don't want QWS test results to mire down the CI system
 #if defined(Q_WS_QWS)
+        //We don't want QWS test results to mire down the CI system
         files.clear();
+        //Needs at least one test data or it fails anyways
+        files << QT_TEST_SOURCE_DIR "/selftest_noimages/selftest_noimages.qml";
 #endif
     }
 
-- 
cgit v0.12


From 519264c692f77f6da2fb8a9ac2ddb1d70b39cc90 Mon Sep 17 00:00:00 2001
From: Martin Jones <martin.jones@nokia.com>
Date: Fri, 19 Nov 2010 10:55:22 +1000
Subject: Doc: clarify Flickable children vs. contentItem children.

---
 src/declarative/graphicsitems/qdeclarativeflickable.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp
index 3a3189c..1870647 100644
--- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp
@@ -386,6 +386,13 @@ void QDeclarativeFlickablePrivate::updateBeginningEnd()
     \snippet doc/src/snippets/declarative/flickable.qml document
 
     \clearfloat
+
+    Items declared as children of a Flickable are automatically parented to the
+    Flickable's \l contentItem.  This should be taken into account when
+    operating on the children of the Flickable; it is usually the children of
+    \c contentItem that are relevant.  For example, the bound of Items added
+    to the Flickable will be available by \c contentItem.childrenRect
+
     \section1 Limitations
 
     \note Due to an implementation detail, items placed inside a Flickable cannot anchor to it by
-- 
cgit v0.12


From f3a80c1128a04c9eb04a28b2fe8b468113731c43 Mon Sep 17 00:00:00 2001
From: Joona Petrell <joona.t.petrell@nokia.com>
Date: Fri, 19 Nov 2010 13:29:48 +1000
Subject: Add missing symbols to QtOpenGL emulator def file

---
 src/s60installs/bwins/QtOpenGLu.def | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/s60installs/bwins/QtOpenGLu.def b/src/s60installs/bwins/QtOpenGLu.def
index fa340e4..620fcb9 100644
--- a/src/s60installs/bwins/QtOpenGLu.def
+++ b/src/s60installs/bwins/QtOpenGLu.def
@@ -8,7 +8,7 @@ EXPORTS
 	?d_func@QGLShader@@AAEPAVQGLShaderPrivate@@XZ @ 7 NONAME ; class QGLShaderPrivate * QGLShader::d_func(void)
 	?bindToDynamicTexture@QGLPixelBuffer@@QAE_NI@Z @ 8 NONAME ; bool QGLPixelBuffer::bindToDynamicTexture(unsigned int)
 	??0QGLWidget@@QAE@PAVQGLContext@@PAVQWidget@@PBV0@V?$QFlags@W4WindowType@Qt@@@@@Z @ 9 NONAME ; QGLWidget::QGLWidget(class QGLContext *, class QWidget *, class QGLWidget const *, class QFlags<enum Qt::WindowType>)
-	??_EQGLFormat@@QAE@I@Z @ 10 NONAME ; QGLFormat::~QGLFormat(unsigned int)
+	??_EQGLFormat@@QAE@I@Z @ 10 NONAME ABSENT ; QGLFormat::~QGLFormat(unsigned int)
 	?drawPixmapFragments@QGL2PaintEngineEx@@UAEXPBVPixmapFragment@QPainter@@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 11 NONAME ; void QGL2PaintEngineEx::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags<enum QPainter::PixmapFragmentHint>)
 	?paintEngine@QGLWidget@@UBEPAVQPaintEngine@@XZ @ 12 NONAME ; class QPaintEngine * QGLWidget::paintEngine(void) const
 	?setPreferredPaintEngine@QGL@@YAXW4Type@QPaintEngine@@@Z @ 13 NONAME ; void QGL::setPreferredPaintEngine(enum QPaintEngine::Type)
@@ -107,7 +107,7 @@ EXPORTS
 	??0QGLContext@@QAE@ABVQGLFormat@@@Z @ 106 NONAME ; QGLContext::QGLContext(class QGLFormat const &)
 	?geometryOutputVertexCount@QGLShaderProgram@@QBEHXZ @ 107 NONAME ; int QGLShaderProgram::geometryOutputVertexCount(void) const
 	?setAccum@QGLFormat@@QAEX_N@Z @ 108 NONAME ; void QGLFormat::setAccum(bool)
-	??0QGLSignalProxy@@QAE@XZ @ 109 NONAME ; QGLSignalProxy::QGLSignalProxy(void)
+	??0QGLSignalProxy@@QAE@XZ @ 109 NONAME ABSENT ; QGLSignalProxy::QGLSignalProxy(void)
 	?isUninitialized@QGLPixmapData@@ABE_NXZ @ 110 NONAME ; bool QGLPixmapData::isUninitialized(void) const
 	??0QGLFramebufferObjectFormat@@QAE@XZ @ 111 NONAME ; QGLFramebufferObjectFormat::QGLFramebufferObjectFormat(void)
 	??8@YA_NABVQGLFormat@@0@Z @ 112 NONAME ; bool operator==(class QGLFormat const &, class QGLFormat const &)
@@ -496,7 +496,7 @@ EXPORTS
 	?setUniformValue@QGLShaderProgram@@QAEXPBDABVQSize@@@Z @ 495 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QSize const &)
 	?convertToGLFormat@QGLWidget@@SA?AVQImage@@ABV2@@Z @ 496 NONAME ; class QImage QGLWidget::convertToGLFormat(class QImage const &)
 	?staticMetaObject@QGLTextureGlyphCache@@2UQMetaObject@@B @ 497 NONAME ; struct QMetaObject const QGLTextureGlyphCache::staticMetaObject
-	??_EQGLContextResource@@QAE@I@Z @ 498 NONAME ; QGLContextResource::~QGLContextResource(unsigned int)
+	??_EQGLContextResource@@QAE@I@Z @ 498 NONAME ABSENT ; QGLContextResource::~QGLContextResource(unsigned int)
 	?handle@QGLColormap@@IAEKXZ @ 499 NONAME ; unsigned long QGLColormap::handle(void)
 	?isCreated@QGLBuffer@@QBE_NXZ @ 500 NONAME ; bool QGLBuffer::isCreated(void) const
 	?setColormap@QGLWidget@@QAEXABVQGLColormap@@@Z @ 501 NONAME ; void QGLWidget::setColormap(class QGLColormap const &)
@@ -698,4 +698,9 @@ EXPORTS
 	?setProfile@QGLFormat@@QAEXW4OpenGLContextProfile@1@@Z @ 697 NONAME ; void QGLFormat::setProfile(enum QGLFormat::OpenGLContextProfile)
 	?updateDynamicTexture@QGLPixelBuffer@@QBEXI@Z @ 698 NONAME ; void QGLPixelBuffer::updateDynamicTexture(unsigned int) const
 	?setUniformValue@QGLShaderProgram@@QAEXHH@Z @ 699 NONAME ; void QGLShaderProgram::setUniformValue(int, int)
+	?maxTextureHeight@QGLTextureGlyphCache@@UBEHXZ @ 700 NONAME ; int QGLTextureGlyphCache::maxTextureHeight(void) const
+	?initializeOffscreenTexture@QGLWindowSurface@@AAE_NABVQSize@@@Z @ 701 NONAME ; bool QGLWindowSurface::initializeOffscreenTexture(class QSize const &)
+	?maxTextureWidth@QGLTextureGlyphCache@@UBEHXZ @ 702 NONAME ; int QGLTextureGlyphCache::maxTextureWidth(void) const
+	?filterMode@QGLTextureGlyphCache@@QBE?AW4FilterMode@1@XZ @ 703 NONAME ; enum QGLTextureGlyphCache::FilterMode QGLTextureGlyphCache::filterMode(void) const
+	?setFilterMode@QGLTextureGlyphCache@@QAEXW4FilterMode@1@@Z @ 704 NONAME ; void QGLTextureGlyphCache::setFilterMode(enum QGLTextureGlyphCache::FilterMode)
 
-- 
cgit v0.12


From abfdba11b8948497765c24670becf39e2ce1ff6d Mon Sep 17 00:00:00 2001
From: Joona Petrell <joona.t.petrell@nokia.com>
Date: Fri, 19 Nov 2010 14:40:33 +1000
Subject: Add missing symbols to QtOpenGL arm def file

---
 src/s60installs/eabi/QtOpenGLu.def | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/s60installs/eabi/QtOpenGLu.def b/src/s60installs/eabi/QtOpenGLu.def
index 7ceade4..c92d99e 100644
--- a/src/s60installs/eabi/QtOpenGLu.def
+++ b/src/s60installs/eabi/QtOpenGLu.def
@@ -702,4 +702,9 @@ EXPORTS
 	_ZeqRK9QGLFormatS1_ @ 701 NONAME
 	_Zls6QDebugRK9QGLFormat @ 702 NONAME
 	_ZneRK9QGLFormatS1_ @ 703 NONAME
+	_ZN16QGLWindowSurface26initializeOffscreenTextureERK5QSize @ 704 NONAME
+	_ZNK20QGLTextureGlyphCache15maxTextureWidthEv @ 705 NONAME
+	_ZNK20QGLTextureGlyphCache16maxTextureHeightEv @ 706 NONAME
+	_ZThn8_NK20QGLTextureGlyphCache15maxTextureWidthEv @ 707 NONAME
+	_ZThn8_NK20QGLTextureGlyphCache16maxTextureHeightEv @ 708 NONAME
 
-- 
cgit v0.12


From ac62887fe00eb22ea00622d4c3dab5ff40417e76 Mon Sep 17 00:00:00 2001
From: Aaron Kennedy <aaron.kennedy@nokia.com>
Date: Fri, 19 Nov 2010 16:23:52 +1000
Subject: Don't leak QML compiled data objects

Task-number: QTBUG-14761
---
 src/declarative/qml/qdeclarativecompileddata.cpp | 4 ++--
 src/declarative/qml/qdeclarativecompiler.cpp     | 2 --
 src/declarative/qml/qdeclarativecompiler_p.h     | 4 +---
 3 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/declarative/qml/qdeclarativecompileddata.cpp b/src/declarative/qml/qdeclarativecompileddata.cpp
index a4ecc77..690f499 100644
--- a/src/declarative/qml/qdeclarativecompileddata.cpp
+++ b/src/declarative/qml/qdeclarativecompileddata.cpp
@@ -169,8 +169,8 @@ QDeclarativeCompiledData::QDeclarativeCompiledData(QDeclarativeEngine *engine)
 QDeclarativeCompiledData::~QDeclarativeCompiledData()
 {
     for (int ii = 0; ii < types.count(); ++ii) {
-        if (types.at(ii).ref)
-            types.at(ii).ref->release();
+        if (types.at(ii).component)
+            types.at(ii).component->release();
     }
 
     for (int ii = 0; ii < propertyCaches.count(); ++ii) 
diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp
index b2740b8..645402e 100644
--- a/src/declarative/qml/qdeclarativecompiler.cpp
+++ b/src/declarative/qml/qdeclarativecompiler.cpp
@@ -591,8 +591,6 @@ bool QDeclarativeCompiler::compile(QDeclarativeEngine *engine,
             }
         } else if (tref.typeData) {
             ref.component = tref.typeData->compiledData();
-            ref.ref = tref.typeData;
-            ref.ref->addref();
         }
         ref.className = parserRef->name.toUtf8();
         out->types << ref;
diff --git a/src/declarative/qml/qdeclarativecompiler_p.h b/src/declarative/qml/qdeclarativecompiler_p.h
index 43a0901..5cd1fd2 100644
--- a/src/declarative/qml/qdeclarativecompiler_p.h
+++ b/src/declarative/qml/qdeclarativecompiler_p.h
@@ -89,14 +89,12 @@ public:
     struct TypeReference 
     {
         TypeReference()
-        : type(0), component(0), ref(0) {}
+        : type(0), component(0) {}
 
         QByteArray className;
         QDeclarativeType *type;
-//        QDeclarativeComponent *component;
         QDeclarativeCompiledData *component;
 
-        QDeclarativeRefCount *ref;
         QObject *createInstance(QDeclarativeContextData *, const QBitField &, QList<QDeclarativeError> *) const;
         const QMetaObject *metaObject() const;
     };
-- 
cgit v0.12


From 1119a86b9752a1a58dade499a2884b89b2275a57 Mon Sep 17 00:00:00 2001
From: Aaron Kennedy <aaron.kennedy@nokia.com>
Date: Fri, 19 Nov 2010 16:34:05 +1000
Subject: Allow testing of raster engine on Mac from qmlviewer

---
 tools/qml/main.cpp | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/tools/qml/main.cpp b/tools/qml/main.cpp
index 579f1ab..209c72f 100644
--- a/tools/qml/main.cpp
+++ b/tools/qml/main.cpp
@@ -155,7 +155,11 @@ void usage()
     qWarning("  -I <directory> ........................... prepend to the module import search path,");
     qWarning("                                             display path if <directory> is empty");
     qWarning("  -P <directory> ........................... prepend to the plugin search path");
+#if defined(Q_WS_MAC)
+    qWarning("  -no-opengl ............................... don't use a QGLWidget for the viewport");
+#else
     qWarning("  -opengl .................................. use a QGLWidget for the viewport");
+#endif
     qWarning("  -script <path> ........................... set the script to use");
     qWarning("  -scriptopts <options>|help ............... set the script options to use");
 
@@ -370,8 +374,13 @@ static void parseCommandLineOptions(const QStringList &arguments)
         } else if (arg == "-translation") {
             if (lastArg) usage();
             opts.translationFile = arguments.at(++i);
+#if defined(Q_WS_MAC)
+        } else if (arg == "-no-opengl") {
+            opts.useGL = false;
+#else
         } else if (arg == "-opengl") {
             opts.useGL = true;
+#endif
         } else if (arg == "-qmlbrowser") {
             opts.useNativeFileBrowser = false;
         } else if (arg == "-warnings") {
-- 
cgit v0.12


From 1960713543e2a5fee76df7dbf06ea70cf277d696 Mon Sep 17 00:00:00 2001
From: Alan Alpert <alan.alpert@nokia.com>
Date: Fri, 19 Nov 2010 18:29:11 +1000
Subject: Initial commit of qmlvisualaids

A tool to make it easier to do the platform visual updating. Needs to be
streamlined at least a little in order to make it feasible to stay up to
date.

Task-number: QTBUG-14792
---
 .../qmlvisual/shared/qmlvisualaids/Button.qml      | 19 +++++
 .../qmlvisual/shared/qmlvisualaids/Comparison.qml  | 75 +++++++++++++++++
 .../qmlvisual/shared/qmlvisualaids/main.cpp        | 14 ++++
 .../qmlvisual/shared/qmlvisualaids/mainwindow.cpp  | 74 +++++++++++++++++
 .../qmlvisual/shared/qmlvisualaids/mainwindow.h    | 31 +++++++
 .../qmlvisual/shared/qmlvisualaids/qmlvisual.pro   | 26 ++++++
 .../qmlvisual/shared/qmlvisualaids/qmlvisual.qrc   |  6 ++
 .../qmlvisual/shared/qmlvisualaids/testmodel.cpp   | 96 ++++++++++++++++++++++
 .../qmlvisual/shared/qmlvisualaids/testmodel.h     | 50 +++++++++++
 9 files changed, 391 insertions(+)
 create mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/Button.qml
 create mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/Comparison.qml
 create mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/main.cpp
 create mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/mainwindow.cpp
 create mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/mainwindow.h
 create mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/qmlvisual.pro
 create mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/qmlvisual.qrc
 create mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/testmodel.cpp
 create mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/testmodel.h

diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/Button.qml b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/Button.qml
new file mode 100644
index 0000000..600079f
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/Button.qml
@@ -0,0 +1,19 @@
+import Qt 4.7
+
+Rectangle {
+    width: txt.width + 16
+    height: txt.height + 8
+    radius: 4
+    border.color: "black"
+    property alias caption: txt.text
+    signal triggered
+    Text{
+        id: txt
+        text: "Button"
+        anchors.centerIn: parent
+    }
+    MouseArea{
+        anchors.fill: parent
+        onClicked: parent.triggered()
+    }
+}
diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/Comparison.qml b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/Comparison.qml
new file mode 100644
index 0000000..43b10d4
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/Comparison.qml
@@ -0,0 +1,75 @@
+import Qt 4.7
+
+Item{
+    width: 1000
+    height:800
+    Row{
+        spacing: 4
+        Button{
+            caption: "run"
+            onTriggered: test.runTest()
+        }
+
+        Button{
+            caption: "update"
+            onTriggered: test.updateVisuals()
+        }
+
+        Button{
+            caption: "platform"
+            onTriggered: test.updatePlatformVisuals()
+        }
+    }
+
+    Rectangle {
+        y: 180
+        width: 1000
+        height: 620
+        Row{
+            id: grid
+            spacing: 4
+            Text{
+                width: 300
+                height: 200
+                text: test.testName
+                clip: true; wrapMode: Text.WordWrap
+            }
+            Text{
+                width: 300
+                height: 200
+                text: test.testCase
+                clip: true; wrapMode: Text.WordWrap
+            }
+            Text{
+                width: 300
+                height: 200
+                text:  test.testScript
+                clip: true; wrapMode: Text.WordWrap
+            }
+        }
+        Item{
+            y: 200
+            Row{
+                ListView{
+                    width: 200; height: 400
+                    delegate: Rectangle{ width: 200; height: 200; color: "blue"; Image{ source: modelData }}
+                    model:  test.goodImages;
+                }
+                ListView{
+                    width: 200; height: 400
+                    delegate: Rectangle{ width: 200; height: 200; color: "blue"; Image{ source: modelData }}
+                    model:  test.diffImages;
+                }
+                ListView{
+                    width: 200; height: 400
+                    delegate: Rectangle{ width: 200; height: 200; color: "blue"; Image{ source: modelData }}
+                    model:  test.badImages;
+                }
+            }
+        }
+        MouseArea{
+            anchors.fill: parent
+            onClicked: test.moveOn();
+        }
+    }
+}
diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/main.cpp b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/main.cpp
new file mode 100644
index 0000000..2d35350
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/main.cpp
@@ -0,0 +1,14 @@
+#include <QtGui/QApplication>
+#include <QtDeclarative>
+#include "mainwindow.h"
+#include <cstring>
+#include <cstdio>
+#include <cstdlib>
+
+int main(int argc, char *argv[])
+{
+    QApplication a(argc, argv);
+    MainWindow *m = new MainWindow;
+    m->show();
+    return a.exec();
+}
diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/mainwindow.cpp b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/mainwindow.cpp
new file mode 100644
index 0000000..49614ec
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/mainwindow.cpp
@@ -0,0 +1,74 @@
+#include "mainwindow.h"
+#include <QMessageBox>
+#include <QDebug>
+
+MainWindow::MainWindow(QWidget *parent) :
+    QMainWindow(parent), testIdx(-1)
+{
+    createMenus();
+    view = new QDeclarativeView(this);
+    setCentralWidget(view);
+    view->setResizeMode(QDeclarativeView::SizeViewToRootObject);
+    curTest = new TestModel(this);
+    connect(curTest, SIGNAL(moveOn()),
+            this, SLOT(runTests()));
+
+    view->engine()->rootContext()->setContextProperty("test", curTest);
+    view->setSource(QUrl("qrc:qml/Comparison.qml"));
+}
+
+void MainWindow::runAllTests()
+{
+    tests.clear();
+    testIdx = 0;
+
+    QString visualTest = "./tst_qmlvisual";//TODO: Crossplatform
+
+    QProcess p;//TODO: Error checking here
+    p.setProcessChannelMode(QProcess::MergedChannels);
+    p.start(visualTest, QStringList());
+    p.waitForFinished(-1);//Can't time out, because it takes an indeterminate and long time
+
+    QString output = QString(p.readAllStandardOutput());
+    QRegExp re("QDeclarativeTester\\( \"([^\"]*)\" \\)");
+    int offset=0;
+    while((offset = re.indexIn(output, offset)) != -1){
+        tests << re.cap(1);
+        offset++;
+    }
+
+    if(tests.count())
+        QMessageBox::information(this, "Test Results", QString("Tests completed. %1 test failures occurred.").arg(tests.count()));
+    else
+        QMessageBox::information(this, "Test Results", "Tests completed. All tests passed!");
+
+    runTests();
+}
+
+void MainWindow::runTests()
+{
+    if(testIdx >= tests.size())
+        testIdx = -1;
+    if(testIdx == -1)
+        return;
+    showFixScreen(tests[testIdx++]);
+}
+
+void MainWindow::showFixScreen(const QString &path)
+{
+    if(curTest->setTest(path)){
+        view->engine()->rootContext()->setContextProperty("test", curTest); //signal connects to runTests
+    }else{
+        QMessageBox::critical(this, "Test Error", QString("Cannot find test %1.").arg(path));
+        runTests();
+    }
+}
+
+void MainWindow::createMenus()
+{
+    QMenu *tests = this->menuBar()->addMenu("Tests");
+    tests->addAction("Run All", this, SLOT(runAllTests()));
+    tests->addSeparator();
+    tests->addAction("About Qt...", qApp, SLOT(aboutQt()));
+    tests->addAction("Quit", qApp, SLOT(quit()));
+}
diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/mainwindow.h b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/mainwindow.h
new file mode 100644
index 0000000..0209064
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/mainwindow.h
@@ -0,0 +1,31 @@
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QMainWindow>
+#include <QtDeclarative>
+#include <QtGui>
+#include <QtCore>
+#include "testmodel.h"
+
+class MainWindow : public QMainWindow
+{
+    Q_OBJECT
+public:
+    explicit MainWindow(QWidget *parent = 0);
+    void createMenus();
+
+signals:
+
+public slots:
+    void runTests();
+    void runAllTests();
+    void showFixScreen(const QString& path);
+
+private:
+    QDeclarativeView* view;
+    TestModel *curTest;
+    QStringList tests;
+    int testIdx;
+};
+
+#endif // MAINWINDOW_H
diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/qmlvisual.pro b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/qmlvisual.pro
new file mode 100644
index 0000000..d18c235
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/qmlvisual.pro
@@ -0,0 +1,26 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2010-11-19T09:48:39
+#
+#-------------------------------------------------
+
+QT       += core gui declarative
+
+TARGET = ../../qmlvisualaids
+TEMPLATE = app
+
+
+SOURCES += main.cpp \
+    testmodel.cpp \
+    mainwindow.cpp
+
+HEADERS  += \
+    testmodel.h \
+    mainwindow.h
+
+OTHER_FILES += \
+    Comparison.qml \
+    Button.qml
+
+RESOURCES += \
+    qmlvisual.qrc
diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/qmlvisual.qrc b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/qmlvisual.qrc
new file mode 100644
index 0000000..d79b64c
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/qmlvisual.qrc
@@ -0,0 +1,6 @@
+<RCC>
+    <qresource prefix="/qml" lang="qml">
+        <file>Comparison.qml</file>
+        <file>Button.qml</file>
+    </qresource>
+</RCC>
diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/testmodel.cpp b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/testmodel.cpp
new file mode 100644
index 0000000..4aec14b
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/testmodel.cpp
@@ -0,0 +1,96 @@
+#include "testmodel.h"
+#include <QProcess>
+#include <QDebug>
+#include <QFile>
+
+TestModel::TestModel(QObject *parent) :
+    QObject(parent), _testName("Invalid")
+{
+
+}
+
+//testPath is the path to the test script, and assumes the file under test has the same name and is in the dir above
+bool TestModel::setTest(const QString &testPath)
+{
+    _good.clear();
+    _bad.clear();
+    _diff.clear();
+
+    _testScriptPath = testPath;
+    if(!_testScriptPath.endsWith(".qml"))
+        _testScriptPath += ".qml";
+    _testName = _testScriptPath.split('/').last();
+
+    //Assumed that the test case is in the directory above and has the same name as the script
+    _testPath = _testScriptPath.left(_testScriptPath.lastIndexOf('/', _testScriptPath.lastIndexOf('/') - 1))
+            + '/' + _testName;
+
+    bool ret = QFile::exists(_testPath) && QFile::exists(_testScriptPath);
+    if(!ret)
+        return ret;
+
+    QFile test(_testPath);
+    test.open(QFile::ReadOnly | QFile::Text);
+    _testCase = test.readAll();
+
+    QFile script(_testScriptPath);
+    script.open(QFile::ReadOnly | QFile::Text);
+    _testScript = script.readAll();
+
+    QString base = _testScriptPath;
+    base.chop(4);//remove .qml, replace with .%1.png
+    base += ".%1.png";
+    int c = 0;
+    while (QFile::exists(base.arg(c))) {
+        _good << "file://" + base.arg(c);
+        if(QFile::exists(base.arg(c) + ".reject.png"))
+            _bad << "file://" + base.arg(c) + ".reject.png";
+        else
+            _bad << "";
+
+        if(QFile::exists(base.arg(c) + ".diff.png"))
+            _diff << "file://" + base.arg(c) + ".diff.png";
+        else
+            _diff << "";
+
+        c++;
+    }
+
+    return ret;
+}
+
+//returns true iff running the test changed the failure images.
+bool TestModel::runTest()
+{
+    launchTester("-play");
+    return false;//TODO: Actually check that
+}
+
+void TestModel::updateVisuals()
+{
+    launchTester("-updatevisuals");
+}
+
+void TestModel::updatePlatformVisuals()
+{
+    launchTester("-updateplatformvisuals");
+}
+
+void TestModel::launchTester(const QString &args)
+{
+    QStringList arguments;
+    arguments << args << _testPath;
+
+    QString visualTest;
+#if defined(Q_WS_WIN) || defined(Q_WS_S60)
+    visualTest = "tst_qmlvisual.exe";
+#else
+    visualTest = "./tst_qmlvisual";
+#endif
+
+    QProcess p;
+    p.setProcessChannelMode(QProcess::ForwardedChannels);
+    p.start(visualTest, arguments);
+    p.waitForFinished();
+}
+
diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/testmodel.h b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/testmodel.h
new file mode 100644
index 0000000..fd64dc2
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/testmodel.h
@@ -0,0 +1,50 @@
+#ifndef TESTMODEL_H
+#define TESTMODEL_H
+
+#include <QObject>
+#include <QString>
+#include <QStringList>
+
+class TestModel : public QObject
+{
+    Q_OBJECT
+    Q_PROPERTY(int snapshotCount READ snapshotCount CONSTANT)
+    Q_PROPERTY(QStringList goodImages READ goodImages CONSTANT)//List of image locatoins
+    Q_PROPERTY(QStringList badImages READ badImages CONSTANT)
+    Q_PROPERTY(QStringList diffImages READ diffImages CONSTANT)
+    Q_PROPERTY(QString testName READ testName CONSTANT) //The qml file name
+    Q_PROPERTY(QString testCase READ testCase CONSTANT) //The actual contents, not the location
+    Q_PROPERTY(QString testScript READ testScript CONSTANT) //The actual contents, not the location
+public:
+    explicit TestModel(QObject *parent = 0);
+    bool setTest(const QString &testPath);//testPath is the path to the test script, and assumes the file under test has the same name and is in the dir above
+
+    int snapshotCount() { return _count; }
+    QString testCase() { return _testCase; }
+    QString testName() { return _testName; }
+    QString testScript() {return _testScript; }
+    QStringList goodImages() {return _good;}
+    QStringList badImages() { return _bad; }
+    QStringList diffImages() {return _diff;}
+
+signals:
+    void moveOn();
+
+public slots:
+    bool runTest();//returns true iff running the test changed the failure images.
+    void updateVisuals();
+    void updatePlatformVisuals();
+
+private:
+    void launchTester(const QString &args);
+
+    int _count;
+    QStringList _good,_bad,_diff;
+    QString _testCase;
+    QString _testScript;
+    QString _testPath;
+    QString _testScriptPath;
+    QString _testName;
+};
+
+#endif // TESTMODEL_H
-- 
cgit v0.12


From 18205faa87abd85d0848291738821666928b5769 Mon Sep 17 00:00:00 2001
From: Alan Alpert <alan.alpert@nokia.com>
Date: Fri, 19 Nov 2010 19:31:01 +1000
Subject: Move qmlvisualaids to another repo

Moved to a personal repo, since its fate is a little uncertain so it
shouldn't draw this much attention.

Task-number: QTBUG-14792
---
 .../qmlvisual/shared/qmlvisualaids/Button.qml      | 19 -----
 .../qmlvisual/shared/qmlvisualaids/Comparison.qml  | 75 -----------------
 .../qmlvisual/shared/qmlvisualaids/main.cpp        | 14 ----
 .../qmlvisual/shared/qmlvisualaids/mainwindow.cpp  | 74 -----------------
 .../qmlvisual/shared/qmlvisualaids/mainwindow.h    | 31 -------
 .../qmlvisual/shared/qmlvisualaids/qmlvisual.pro   | 26 ------
 .../qmlvisual/shared/qmlvisualaids/qmlvisual.qrc   |  6 --
 .../qmlvisual/shared/qmlvisualaids/testmodel.cpp   | 96 ----------------------
 .../qmlvisual/shared/qmlvisualaids/testmodel.h     | 50 -----------
 9 files changed, 391 deletions(-)
 delete mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/Button.qml
 delete mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/Comparison.qml
 delete mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/main.cpp
 delete mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/mainwindow.cpp
 delete mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/mainwindow.h
 delete mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/qmlvisual.pro
 delete mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/qmlvisual.qrc
 delete mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/testmodel.cpp
 delete mode 100644 tests/auto/declarative/qmlvisual/shared/qmlvisualaids/testmodel.h

diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/Button.qml b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/Button.qml
deleted file mode 100644
index 600079f..0000000
--- a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/Button.qml
+++ /dev/null
@@ -1,19 +0,0 @@
-import Qt 4.7
-
-Rectangle {
-    width: txt.width + 16
-    height: txt.height + 8
-    radius: 4
-    border.color: "black"
-    property alias caption: txt.text
-    signal triggered
-    Text{
-        id: txt
-        text: "Button"
-        anchors.centerIn: parent
-    }
-    MouseArea{
-        anchors.fill: parent
-        onClicked: parent.triggered()
-    }
-}
diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/Comparison.qml b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/Comparison.qml
deleted file mode 100644
index 43b10d4..0000000
--- a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/Comparison.qml
+++ /dev/null
@@ -1,75 +0,0 @@
-import Qt 4.7
-
-Item{
-    width: 1000
-    height:800
-    Row{
-        spacing: 4
-        Button{
-            caption: "run"
-            onTriggered: test.runTest()
-        }
-
-        Button{
-            caption: "update"
-            onTriggered: test.updateVisuals()
-        }
-
-        Button{
-            caption: "platform"
-            onTriggered: test.updatePlatformVisuals()
-        }
-    }
-
-    Rectangle {
-        y: 180
-        width: 1000
-        height: 620
-        Row{
-            id: grid
-            spacing: 4
-            Text{
-                width: 300
-                height: 200
-                text: test.testName
-                clip: true; wrapMode: Text.WordWrap
-            }
-            Text{
-                width: 300
-                height: 200
-                text: test.testCase
-                clip: true; wrapMode: Text.WordWrap
-            }
-            Text{
-                width: 300
-                height: 200
-                text:  test.testScript
-                clip: true; wrapMode: Text.WordWrap
-            }
-        }
-        Item{
-            y: 200
-            Row{
-                ListView{
-                    width: 200; height: 400
-                    delegate: Rectangle{ width: 200; height: 200; color: "blue"; Image{ source: modelData }}
-                    model:  test.goodImages;
-                }
-                ListView{
-                    width: 200; height: 400
-                    delegate: Rectangle{ width: 200; height: 200; color: "blue"; Image{ source: modelData }}
-                    model:  test.diffImages;
-                }
-                ListView{
-                    width: 200; height: 400
-                    delegate: Rectangle{ width: 200; height: 200; color: "blue"; Image{ source: modelData }}
-                    model:  test.badImages;
-                }
-            }
-        }
-        MouseArea{
-            anchors.fill: parent
-            onClicked: test.moveOn();
-        }
-    }
-}
diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/main.cpp b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/main.cpp
deleted file mode 100644
index 2d35350..0000000
--- a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/main.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <QtGui/QApplication>
-#include <QtDeclarative>
-#include "mainwindow.h"
-#include <cstring>
-#include <cstdio>
-#include <cstdlib>
-
-int main(int argc, char *argv[])
-{
-    QApplication a(argc, argv);
-    MainWindow *m = new MainWindow;
-    m->show();
-    return a.exec();
-}
diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/mainwindow.cpp b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/mainwindow.cpp
deleted file mode 100644
index 49614ec..0000000
--- a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/mainwindow.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-#include "mainwindow.h"
-#include <QMessageBox>
-#include <QDebug>
-
-MainWindow::MainWindow(QWidget *parent) :
-    QMainWindow(parent), testIdx(-1)
-{
-    createMenus();
-    view = new QDeclarativeView(this);
-    setCentralWidget(view);
-    view->setResizeMode(QDeclarativeView::SizeViewToRootObject);
-    curTest = new TestModel(this);
-    connect(curTest, SIGNAL(moveOn()),
-            this, SLOT(runTests()));
-
-    view->engine()->rootContext()->setContextProperty("test", curTest);
-    view->setSource(QUrl("qrc:qml/Comparison.qml"));
-}
-
-void MainWindow::runAllTests()
-{
-    tests.clear();
-    testIdx = 0;
-
-    QString visualTest = "./tst_qmlvisual";//TODO: Crossplatform
-
-    QProcess p;//TODO: Error checking here
-    p.setProcessChannelMode(QProcess::MergedChannels);
-    p.start(visualTest, QStringList());
-    p.waitForFinished(-1);//Can't time out, because it takes an indeterminate and long time
-
-    QString output = QString(p.readAllStandardOutput());
-    QRegExp re("QDeclarativeTester\\( \"([^\"]*)\" \\)");
-    int offset=0;
-    while((offset = re.indexIn(output, offset)) != -1){
-        tests << re.cap(1);
-        offset++;
-    }
-
-    if(tests.count())
-        QMessageBox::information(this, "Test Results", QString("Tests completed. %1 test failures occurred.").arg(tests.count()));
-    else
-        QMessageBox::information(this, "Test Results", "Tests completed. All tests passed!");
-
-    runTests();
-}
-
-void MainWindow::runTests()
-{
-    if(testIdx >= tests.size())
-        testIdx = -1;
-    if(testIdx == -1)
-        return;
-    showFixScreen(tests[testIdx++]);
-}
-
-void MainWindow::showFixScreen(const QString &path)
-{
-    if(curTest->setTest(path)){
-        view->engine()->rootContext()->setContextProperty("test", curTest); //signal connects to runTests
-    }else{
-        QMessageBox::critical(this, "Test Error", QString("Cannot find test %1.").arg(path));
-        runTests();
-    }
-}
-
-void MainWindow::createMenus()
-{
-    QMenu *tests = this->menuBar()->addMenu("Tests");
-    tests->addAction("Run All", this, SLOT(runAllTests()));
-    tests->addSeparator();
-    tests->addAction("About Qt...", qApp, SLOT(aboutQt()));
-    tests->addAction("Quit", qApp, SLOT(quit()));
-}
diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/mainwindow.h b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/mainwindow.h
deleted file mode 100644
index 0209064..0000000
--- a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/mainwindow.h
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QMainWindow>
-#include <QtDeclarative>
-#include <QtGui>
-#include <QtCore>
-#include "testmodel.h"
-
-class MainWindow : public QMainWindow
-{
-    Q_OBJECT
-public:
-    explicit MainWindow(QWidget *parent = 0);
-    void createMenus();
-
-signals:
-
-public slots:
-    void runTests();
-    void runAllTests();
-    void showFixScreen(const QString& path);
-
-private:
-    QDeclarativeView* view;
-    TestModel *curTest;
-    QStringList tests;
-    int testIdx;
-};
-
-#endif // MAINWINDOW_H
diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/qmlvisual.pro b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/qmlvisual.pro
deleted file mode 100644
index d18c235..0000000
--- a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/qmlvisual.pro
+++ /dev/null
@@ -1,26 +0,0 @@
-#-------------------------------------------------
-#
-# Project created by QtCreator 2010-11-19T09:48:39
-#
-#-------------------------------------------------
-
-QT       += core gui declarative
-
-TARGET = ../../qmlvisualaids
-TEMPLATE = app
-
-
-SOURCES += main.cpp \
-    testmodel.cpp \
-    mainwindow.cpp
-
-HEADERS  += \
-    testmodel.h \
-    mainwindow.h
-
-OTHER_FILES += \
-    Comparison.qml \
-    Button.qml
-
-RESOURCES += \
-    qmlvisual.qrc
diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/qmlvisual.qrc b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/qmlvisual.qrc
deleted file mode 100644
index d79b64c..0000000
--- a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/qmlvisual.qrc
+++ /dev/null
@@ -1,6 +0,0 @@
-<RCC>
-    <qresource prefix="/qml" lang="qml">
-        <file>Comparison.qml</file>
-        <file>Button.qml</file>
-    </qresource>
-</RCC>
diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/testmodel.cpp b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/testmodel.cpp
deleted file mode 100644
index 4aec14b..0000000
--- a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/testmodel.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-#include "testmodel.h"
-#include <QProcess>
-#include <QDebug>
-#include <QFile>
-
-TestModel::TestModel(QObject *parent) :
-    QObject(parent), _testName("Invalid")
-{
-
-}
-
-//testPath is the path to the test script, and assumes the file under test has the same name and is in the dir above
-bool TestModel::setTest(const QString &testPath)
-{
-    _good.clear();
-    _bad.clear();
-    _diff.clear();
-
-    _testScriptPath = testPath;
-    if(!_testScriptPath.endsWith(".qml"))
-        _testScriptPath += ".qml";
-    _testName = _testScriptPath.split('/').last();
-
-    //Assumed that the test case is in the directory above and has the same name as the script
-    _testPath = _testScriptPath.left(_testScriptPath.lastIndexOf('/', _testScriptPath.lastIndexOf('/') - 1))
-            + '/' + _testName;
-
-    bool ret = QFile::exists(_testPath) && QFile::exists(_testScriptPath);
-    if(!ret)
-        return ret;
-
-    QFile test(_testPath);
-    test.open(QFile::ReadOnly | QFile::Text);
-    _testCase = test.readAll();
-
-    QFile script(_testScriptPath);
-    script.open(QFile::ReadOnly | QFile::Text);
-    _testScript = script.readAll();
-
-    QString base = _testScriptPath;
-    base.chop(4);//remove .qml, replace with .%1.png
-    base += ".%1.png";
-    int c = 0;
-    while (QFile::exists(base.arg(c))) {
-        _good << "file://" + base.arg(c);
-        if(QFile::exists(base.arg(c) + ".reject.png"))
-            _bad << "file://" + base.arg(c) + ".reject.png";
-        else
-            _bad << "";
-
-        if(QFile::exists(base.arg(c) + ".diff.png"))
-            _diff << "file://" + base.arg(c) + ".diff.png";
-        else
-            _diff << "";
-
-        c++;
-    }
-
-    return ret;
-}
-
-//returns true iff running the test changed the failure images.
-bool TestModel::runTest()
-{
-    launchTester("-play");
-    return false;//TODO: Actually check that
-}
-
-void TestModel::updateVisuals()
-{
-    launchTester("-updatevisuals");
-}
-
-void TestModel::updatePlatformVisuals()
-{
-    launchTester("-updateplatformvisuals");
-}
-
-void TestModel::launchTester(const QString &args)
-{
-    QStringList arguments;
-    arguments << args << _testPath;
-
-    QString visualTest;
-#if defined(Q_WS_WIN) || defined(Q_WS_S60)
-    visualTest = "tst_qmlvisual.exe";
-#else
-    visualTest = "./tst_qmlvisual";
-#endif
-
-    QProcess p;
-    p.setProcessChannelMode(QProcess::ForwardedChannels);
-    p.start(visualTest, arguments);
-    p.waitForFinished();
-}
-
diff --git a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/testmodel.h b/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/testmodel.h
deleted file mode 100644
index fd64dc2..0000000
--- a/tests/auto/declarative/qmlvisual/shared/qmlvisualaids/testmodel.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef TESTMODEL_H
-#define TESTMODEL_H
-
-#include <QObject>
-#include <QString>
-#include <QStringList>
-
-class TestModel : public QObject
-{
-    Q_OBJECT
-    Q_PROPERTY(int snapshotCount READ snapshotCount CONSTANT)
-    Q_PROPERTY(QStringList goodImages READ goodImages CONSTANT)//List of image locatoins
-    Q_PROPERTY(QStringList badImages READ badImages CONSTANT)
-    Q_PROPERTY(QStringList diffImages READ diffImages CONSTANT)
-    Q_PROPERTY(QString testName READ testName CONSTANT) //The qml file name
-    Q_PROPERTY(QString testCase READ testCase CONSTANT) //The actual contents, not the location
-    Q_PROPERTY(QString testScript READ testScript CONSTANT) //The actual contents, not the location
-public:
-    explicit TestModel(QObject *parent = 0);
-    bool setTest(const QString &testPath);//testPath is the path to the test script, and assumes the file under test has the same name and is in the dir above
-
-    int snapshotCount() { return _count; }
-    QString testCase() { return _testCase; }
-    QString testName() { return _testName; }
-    QString testScript() {return _testScript; }
-    QStringList goodImages() {return _good;}
-    QStringList badImages() { return _bad; }
-    QStringList diffImages() {return _diff;}
-
-signals:
-    void moveOn();
-
-public slots:
-    bool runTest();//returns true iff running the test changed the failure images.
-    void updateVisuals();
-    void updatePlatformVisuals();
-
-private:
-    void launchTester(const QString &args);
-
-    int _count;
-    QStringList _good,_bad,_diff;
-    QString _testCase;
-    QString _testScript;
-    QString _testPath;
-    QString _testScriptPath;
-    QString _testName;
-};
-
-#endif // TESTMODEL_H
-- 
cgit v0.12


From ba4eafaa3bd46cfad891a4bbf1dd7dccefc4702e Mon Sep 17 00:00:00 2001
From: Harald Fernengel <harald.fernengel@nokia.com>
Date: Fri, 19 Nov 2010 10:58:09 +0100
Subject: silence compiler warnings

Silence shadowing warnings from gcc.
---
 src/sql/models/qsqlrelationaldelegate.h | 10 +++++-----
 src/testlib/qtesttouch.h                |  4 ++--
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/sql/models/qsqlrelationaldelegate.h b/src/sql/models/qsqlrelationaldelegate.h
index 7600e52..96760e1 100644
--- a/src/sql/models/qsqlrelationaldelegate.h
+++ b/src/sql/models/qsqlrelationaldelegate.h
@@ -59,23 +59,23 @@ class QSqlRelationalDelegate: public QItemDelegate
 {
 public:
 
-explicit QSqlRelationalDelegate(QObject *parent = 0)
-    : QItemDelegate(parent)
+explicit QSqlRelationalDelegate(QObject *aParent = 0)
+    : QItemDelegate(aParent)
 {}
 
 ~QSqlRelationalDelegate()
 {}
 
-QWidget *createEditor(QWidget *parent,
+QWidget *createEditor(QWidget *aParent,
                       const QStyleOptionViewItem &option,
                       const QModelIndex &index) const
 {
     const QSqlRelationalTableModel *sqlModel = qobject_cast<const QSqlRelationalTableModel *>(index.model());
     QSqlTableModel *childModel = sqlModel ? sqlModel->relationModel(index.column()) : 0;
     if (!childModel)
-        return QItemDelegate::createEditor(parent, option, index);
+        return QItemDelegate::createEditor(aParent, option, index);
 
-    QComboBox *combo = new QComboBox(parent);
+    QComboBox *combo = new QComboBox(aParent);
     combo->setModel(childModel);
     combo->setModelColumn(childModel->fieldIndex(sqlModel->relation(index.column()).displayColumn()));
     combo->installEventFilter(const_cast<QSqlRelationalDelegate *>(this));
diff --git a/src/testlib/qtesttouch.h b/src/testlib/qtesttouch.h
index 1beef85..6c58e4c 100644
--- a/src/testlib/qtesttouch.h
+++ b/src/testlib/qtesttouch.h
@@ -106,8 +106,8 @@ namespace QTest
         }
 
     private:
-        QTouchEventSequence(QWidget *widget, QTouchEvent::DeviceType deviceType)
-            : targetWidget(widget), deviceType(deviceType)
+        QTouchEventSequence(QWidget *widget, QTouchEvent::DeviceType aDeviceType)
+            : targetWidget(widget), deviceType(aDeviceType)
         {
         }
         QTouchEventSequence(const QTouchEventSequence &v);
-- 
cgit v0.12


From 4e9b721af573e7d1a16b35778059b374520cf055 Mon Sep 17 00:00:00 2001
From: Sam Magnuson <smagnuso@gmail.com>
Date: Fri, 19 Nov 2010 11:24:58 +0100
Subject: Compile with QT_NO_PROXYSCREEN.

Merge-request: 931
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
---
 src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
index 2eeee24..fbc539b 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
@@ -344,9 +344,11 @@ void QDirectFBWindowSurface::flush(QWidget *widget, const QRegion &region,
     if (!win)
         return;
 
+#ifndef QT_NO_QWS_PROXYSCREEN
     QWExtra *extra = qt_widget_private(widget)->extraData();
     if (extra && extra->proxyWidget)
         return;
+#endif
 
     const quint8 windowOpacity = quint8(win->windowOpacity() * 0xff);
     const QRect windowGeometry = geometry();
-- 
cgit v0.12


From 72f161739b270b01807f97cd853030440f0fd430 Mon Sep 17 00:00:00 2001
From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Date: Fri, 19 Nov 2010 12:38:36 +0100
Subject: Fix possible corrupted text when gl glyph cache becomes full

When the OpenGL glyph cache filled up (the max texture size on the
hardware was exceeded) the characters would be drawn as black blocks
instead. As a work-around for this, the cache will now be cleared and
repopulated whenever this happens, meaning that once in a while (when
a lot of different glyphs have been drawn in a font) there will be a
performance hit. A more complete solution is described in QTBUG-13784,
but this requires so much refactoring that it was deemed too risky for
a patch release. This patch fixes the problem with a small penalty
and low risk.

Task-number: QT-3971
Reviewed-by: Samuel
---
 src/gui/painting/qtextureglyphcache.cpp               | 13 ++++++++++---
 src/gui/painting/qtextureglyphcache_p.h               |  2 +-
 .../gl2paintengineex/qpaintengineex_opengl2.cpp       |  9 +++++++--
 src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp | 19 ++++++++++++++++++-
 src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h |  2 ++
 5 files changed, 38 insertions(+), 7 deletions(-)

diff --git a/src/gui/painting/qtextureglyphcache.cpp b/src/gui/painting/qtextureglyphcache.cpp
index b609f7b..2cd7780 100644
--- a/src/gui/painting/qtextureglyphcache.cpp
+++ b/src/gui/painting/qtextureglyphcache.cpp
@@ -65,7 +65,7 @@ static inline int qt_next_power_of_two(int v)
     return v;
 }
 
-void QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const glyph_t *glyphs,
+bool QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const glyph_t *glyphs,
                                   const QFixedPoint *)
 {
 #ifdef CACHE_DEBUG
@@ -119,7 +119,7 @@ void QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const
         rowHeight = qMax(rowHeight, glyph_height);
     }
     if (listItemCoordinates.isEmpty())
-        return;
+        return true;
 
     rowHeight += margin * 2 + paddingDoubled;
     if (isNull())
@@ -150,6 +150,13 @@ void QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const
             int new_height = m_h*2;
             while (new_height < m_cy + c.h)
                 new_height *= 2;
+
+	    if (new_height > maxTextureHeight()) {
+	        // We can't make a new texture of the required size, so 
+	        // bail out
+	        return false;
+	    }
+
             // if no room in the current texture - realloc a larger texture
             resizeTextureData(m_w, new_height);
             m_h = new_height;
@@ -165,7 +172,7 @@ void QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const
         ++iter;
     }
 
-
+    return true;
 }
 
 QImage QTextureGlyphCache::textureMapForGlyph(glyph_t g) const
diff --git a/src/gui/painting/qtextureglyphcache_p.h b/src/gui/painting/qtextureglyphcache_p.h
index e6d2b22..f84d1e6 100644
--- a/src/gui/painting/qtextureglyphcache_p.h
+++ b/src/gui/painting/qtextureglyphcache_p.h
@@ -96,7 +96,7 @@ public:
         int baseLineY;
     };
 
-    void populate(QFontEngine *fontEngine, int numGlyphs, const glyph_t *glyphs,
+    bool populate(QFontEngine *fontEngine, int numGlyphs, const glyph_t *glyphs,
                   const QFixedPoint *positions);
 
     virtual void createTextureData(int width, int height) = 0;
diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
index 37552ac..3ddc15a 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
@@ -1499,8 +1499,13 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(QFontEngineGlyphCache::Type glyp
     // cache so this text is performed before we test if the cache size has changed.
     if (recreateVertexArrays) {
         cache->setPaintEnginePrivate(this);
-        cache->populate(staticTextItem->fontEngine(), staticTextItem->numGlyphs,
-                        staticTextItem->glyphs, staticTextItem->glyphPositions);
+        if (!cache->populate(staticTextItem->fontEngine(), staticTextItem->numGlyphs,
+			     staticTextItem->glyphs, staticTextItem->glyphPositions)) {
+	    // No space in cache. We need to clear the cache and try again
+            cache->clear();
+            cache->populate(staticTextItem->fontEngine(), staticTextItem->numGlyphs,
+			    staticTextItem->glyphs, staticTextItem->glyphPositions);
+	}
     }
 
     if (cache->width() == 0 || cache->height() == 0)
diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
index 28e8c40..705ad09 100644
--- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
+++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
@@ -78,7 +78,7 @@ void QGLTextureGlyphCache::setContext(QGLContext *context)
             SLOT(contextDestroyed(const QGLContext*)));
 }
 
-QGLTextureGlyphCache::~QGLTextureGlyphCache()
+void QGLTextureGlyphCache::clear() 
 {
     if (ctx) {
         QGLShareContextScope scope(ctx);
@@ -88,7 +88,24 @@ QGLTextureGlyphCache::~QGLTextureGlyphCache()
 
         if (m_width || m_height)
             glDeleteTextures(1, &m_texture);
+
+        m_fbo = 0;
+        m_texture = 0;
+        m_width = 0;
+        m_height = 0;
+        m_w = 0;
+        m_h = 0;
+        m_cx = 0;
+        m_cy = 0;
+        m_currentRowHeight = 0;
+        coords.clear();
     }
+  
+}
+
+QGLTextureGlyphCache::~QGLTextureGlyphCache()
+{
+    clear();
 }
 
 void QGLTextureGlyphCache::createTextureData(int width, int height)
diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
index fa2b091..aaef350 100644
--- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
+++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
@@ -124,6 +124,8 @@ public Q_SLOTS:
         }
     }
 
+    void clear();
+
 private:
     QGLContext *ctx;
 
-- 
cgit v0.12


From eaa0529642c90de3ebc07d819c0c0e8ed96a79be Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira@nokia.com>
Date: Fri, 19 Nov 2010 13:29:04 +0100
Subject: Fix compilation with Sun Studio 12.1.

Error was:
"tst_qdbusconnection.cpp", line 301: Error: Could not find a match for QTest::qCompare<QTest::T>(QObject*, MyObject*, const char[29], const char[5], const char[24], int) needed in tst_QDBusConnection::registerObject().
"tst_qdbusconnection.cpp", line 498: Error: Could not find a match for QTest::qCompare<QTest::T>(QObject*, TestObject*, const char[39], const char[12], const char[24], int) needed in tst_QDBusConnection::callSelf().

Task-number: QTBUG-15324
Patch-by: Pavel Heimlich
Reviewed-by: Thiago Macieira
---
 tests/auto/qdbusconnection/tst_qdbusconnection.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/auto/qdbusconnection/tst_qdbusconnection.cpp b/tests/auto/qdbusconnection/tst_qdbusconnection.cpp
index 96209b1..599abbd 100644
--- a/tests/auto/qdbusconnection/tst_qdbusconnection.cpp
+++ b/tests/auto/qdbusconnection/tst_qdbusconnection.cpp
@@ -298,7 +298,7 @@ void tst_QDBusConnection::registerObject()
         // register one object at root:
         MyObject obj;
         QVERIFY(con.registerObject(path, &obj, QDBusConnection::ExportAllSlots));
-        QCOMPARE(con.objectRegisteredAt(path), &obj);
+        QCOMPARE(con.objectRegisteredAt(path), static_cast<QObject *>(&obj));
         QVERIFY(callMethod(con, path));
         QCOMPARE(obj.path, path);
     }
@@ -495,7 +495,7 @@ void tst_QDBusConnection::callSelf()
     QDBusConnection connection = QDBusConnection::sessionBus();
     QVERIFY(connection.registerObject("/test", &testObject,
             QDBusConnection::ExportAllContents));
-    QCOMPARE(connection.objectRegisteredAt("/test"), &testObject);
+    QCOMPARE(connection.objectRegisteredAt("/test"), static_cast<QObject *>(&testObject));
     QVERIFY(connection.registerService(serviceName()));
     QDBusInterface interface(serviceName(), "/test");
     QVERIFY(interface.isValid());
-- 
cgit v0.12


From 649719c29bc3b33ab6a5eb9577d53bd0ba897550 Mon Sep 17 00:00:00 2001
From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Date: Fri, 19 Nov 2010 14:38:58 +0100
Subject: Fix possible missing glyphs in raster engine glyph cache

Two possible failures when using the glyph cache on raster engine and
populating the cache with very many glyphs:
1. Change 72f161739b270b01807f97cd853030440f0fd430 caused the maximum
   height of the glyph cache to be 32768, which was not sufficient for
   large fonts with very many characters (e.g. Chinese text)
2. Since we are using QPainter to draw into the glyph cache for RGB32
   glyphcaches, and QPainter does not support very high coordinates,
   we need to create a reference image that references a section of the
   glyph cache and paint into that instead.

Task-number: QT-3971
Reviewed-by: Samuel
---
 src/gui/painting/qtextureglyphcache.cpp | 21 ++++++++++++---------
 src/gui/painting/qtextureglyphcache_p.h |  2 +-
 2 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/src/gui/painting/qtextureglyphcache.cpp b/src/gui/painting/qtextureglyphcache.cpp
index 2cd7780..2daa1f0 100644
--- a/src/gui/painting/qtextureglyphcache.cpp
+++ b/src/gui/painting/qtextureglyphcache.cpp
@@ -151,11 +151,11 @@ bool QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const
             while (new_height < m_cy + c.h)
                 new_height *= 2;
 
-	    if (new_height > maxTextureHeight()) {
-	        // We can't make a new texture of the required size, so 
-	        // bail out
-	        return false;
-	    }
+            if (maxTextureHeight() > 0 && new_height > maxTextureHeight()) {
+                // We can't make a new texture of the required size, so
+                // bail out
+                return false;
+            }
 
             // if no room in the current texture - realloc a larger texture
             resizeTextureData(m_w, new_height);
@@ -266,11 +266,14 @@ void QImageTextureGlyphCache::fillTexture(const Coord &c, glyph_t g)
     }
 #endif
 
-    if (m_type == QFontEngineGlyphCache::Raster_RGBMask) {
-        QPainter p(&m_image);
+    if (m_type == QFontEngineGlyphCache::Raster_RGBMask) {        
+        QImage ref(m_image.bits() + (c.x * 4 + c.y * m_image.bytesPerLine()),
+                   qMax(mask.width(), c.w), qMax(mask.height(), c.h), m_image.bytesPerLine(),
+                   m_image.format());
+        QPainter p(&ref);
         p.setCompositionMode(QPainter::CompositionMode_Source);
-        p.fillRect(c.x, c.y, c.w, c.h, QColor(0,0,0,0)); // TODO optimize this
-        p.drawImage(c.x, c.y, mask);
+        p.fillRect(0, 0, c.w, c.h, QColor(0,0,0,0)); // TODO optimize this
+        p.drawImage(0, 0, mask);
         p.end();
     } else if (m_type == QFontEngineGlyphCache::Raster_Mono) {
         if (mask.depth() > 1) {
diff --git a/src/gui/painting/qtextureglyphcache_p.h b/src/gui/painting/qtextureglyphcache_p.h
index f84d1e6..94cb555 100644
--- a/src/gui/painting/qtextureglyphcache_p.h
+++ b/src/gui/painting/qtextureglyphcache_p.h
@@ -118,7 +118,7 @@ public:
 
     QImage textureMapForGlyph(glyph_t g) const;
     virtual int maxTextureWidth() const { return QT_DEFAULT_TEXTURE_GLYPH_CACHE_WIDTH; }
-    virtual int maxTextureHeight() const { return 32768; }
+    virtual int maxTextureHeight() const { return -1; }
 
 protected:
     QFontEngine *m_current_fontengine;
-- 
cgit v0.12


From f234f248fa8f0d2bb74a14f5ee3cb489f256c0f2 Mon Sep 17 00:00:00 2001
From: axis <qt-info@nokia.com>
Date: Fri, 19 Nov 2010 11:15:55 +0100
Subject: Fixed handling of QInputMethodEvents with nonzero replacementLength.

These types of events replace text that is already in the widget, but
WebKit did not check for replacementLength at all.

RevBy:    Janne Koskinen
Task:     QT-4303
Task:     https://bugs.webkit.org/show_bug.cgi?id=49787
AutoTest: Included
---
 src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp             | 10 ++++++++--
 .../webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp       | 14 ++++++++++++++
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
index ff92f0b..d9a2cbe 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
@@ -1257,9 +1257,15 @@ void QWebPagePrivate::inputMethodEvent(QInputMethodEvent *ev)
         }
     }
 
-    if (!ev->commitString().isEmpty())
+    if (renderTextControl && ev->replacementLength() > 0) {
+        renderTextControl->setSelectionStart(qMax(renderTextControl->selectionStart() + ev->replacementStart(), 0));
+        renderTextControl->setSelectionEnd(qMin(renderTextControl->selectionStart() + ev->replacementLength(), static_cast<int>(renderTextControl->text().length())));
+        // Commit regardless of whether commitString is empty, to get rid of selection.
         editor->confirmComposition(ev->commitString());
-    else if (!ev->preeditString().isEmpty()) {
+    } else if (!ev->commitString().isEmpty()) {
+        editor->confirmComposition(ev->commitString());
+    }
+    if (!ev->preeditString().isEmpty()) {
         QString preedit = ev->preeditString();
         editor->setComposition(preedit, underlines, preedit.length(), 0);
     }
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
index 55ee42a..b566365 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
@@ -1494,6 +1494,20 @@ void tst_QWebPage::inputMethods()
     QCOMPARE(value, QString("QtWebKit"));
 #endif
 
+    {
+        QList<QInputMethodEvent::Attribute> attributes;
+        QInputMethodEvent event(QString(), attributes);
+        event.setCommitString("XXX", 0, 0);
+        page->event(&event);
+        event.setCommitString(QString(), -2, 2); // Erase two characters.
+        page->event(&event);
+        event.setCommitString(QString(), -1, 1); // Erase one character.
+        page->event(&event);
+        variant = page->inputMethodQuery(Qt::ImSurroundingText);
+        value = variant.value<QString>();
+        QCOMPARE(value, QString("QtWebKit"));
+    }
+
     //ImhHiddenText
     QMouseEvent evpresPassword(QEvent::MouseButtonPress, inputs.at(1).geometry().center(), Qt::LeftButton, Qt::NoButton, Qt::NoModifier);
     page->event(&evpresPassword);
-- 
cgit v0.12


From c82ba87a0e8e416099e95898386ea25c790c3da3 Mon Sep 17 00:00:00 2001
From: Sergio Ahumada <sergio.ahumada@nokia.com>
Date: Fri, 19 Nov 2010 16:16:46 +0100
Subject: Doc: Fixing typo.

---
 tests/auto/qkeysequence/tst_qkeysequence.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/auto/qkeysequence/tst_qkeysequence.cpp b/tests/auto/qkeysequence/tst_qkeysequence.cpp
index 60f022f..55c7edf 100644
--- a/tests/auto/qkeysequence/tst_qkeysequence.cpp
+++ b/tests/auto/qkeysequence/tst_qkeysequence.cpp
@@ -405,7 +405,7 @@ void tst_QKeySequence::mnemonic()
 
 #ifndef QT_NO_DEBUG
     if (warning) {
-        QString str = QString::fromLatin1("QKeySequence::mnemonic: \"%1\" contains multiple occurences of '&'").arg(string);
+        QString str = QString::fromLatin1("QKeySequence::mnemonic: \"%1\" contains multiple occurrences of '&'").arg(string);
         QTest::ignoreMessage(QtWarningMsg, qPrintable(str));
     //    qWarning(qPrintable(str));
     }
-- 
cgit v0.12


From e6d15b58a7f5ac086e1af2d8735caeabaaa6159c Mon Sep 17 00:00:00 2001
From: Aaron Kennedy <aaron.kennedy@nokia.com>
Date: Mon, 22 Nov 2010 10:32:02 +1000
Subject: Doc

Task-number: QTBUG-15456
---
 doc/src/declarative/qtbinding.qdoc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/doc/src/declarative/qtbinding.qdoc b/doc/src/declarative/qtbinding.qdoc
index 8a969eb..fb457be 100644
--- a/doc/src/declarative/qtbinding.qdoc
+++ b/doc/src/declarative/qtbinding.qdoc
@@ -448,7 +448,8 @@ now be used from QML:
 \snippet doc/src/snippets/declarative/qtbinding/enums/standalone.qml 0
 
 The C++ type must be registered with QML to use its enums. If your C++ type is not instantiable, it
-can be registered using qmlRegisterUncreatableType().
+can be registered using qmlRegisterUncreatableType().  To be accessible from QML, the names of enum values
+must begin with a capital letter.
 
 See the \l {Tutorial: Writing QML extensions with C++}{Writing QML extensions with C++} tutorial and
 the \l {Extending QML in C++} reference documentation for more information.
-- 
cgit v0.12


From e6a09f87f3224588324218b6f9498bee81d178fc Mon Sep 17 00:00:00 2001
From: Peter Yard <peter.yard@nokia.com>
Date: Mon, 22 Nov 2010 14:48:17 +1000
Subject: Docs: QTBUG-10866 Description of how AutoConnection is resolved.

---
 doc/src/frameworks-technologies/threads.qdoc | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/doc/src/frameworks-technologies/threads.qdoc b/doc/src/frameworks-technologies/threads.qdoc
index 3ef617c..001b29d 100644
--- a/doc/src/frameworks-technologies/threads.qdoc
+++ b/doc/src/frameworks-technologies/threads.qdoc
@@ -459,11 +459,10 @@
 
     \list
 
-    \o \l{Qt::AutoConnection}{Auto Connection} (default) The behavior
-       is the same as the Direct Connection, if the emitter and
-       receiver are in the same thread. The behavior is the same as
-       the Queued Connection, if the emitter and receiver are in
-       different threads.
+    \o \l{Qt::AutoConnection}{Auto Connection} (default) If the signal is
+       emitted in the thread which the receiving object has affinity then
+       the behavior is the same as the Direct Connection. Otherwise,
+       the behavior is the same as the Queued Connection."
 
     \o \l{Qt::DirectConnection}{Direct Connection} The slot is invoked
        immediately, when the signal is emitted. The slot is executed
-- 
cgit v0.12


From 7c66efddd3662a3b0a43f621519e5d5a2f3c50b4 Mon Sep 17 00:00:00 2001
From: Yann Bodson <yann.bodson@nokia.com>
Date: Mon, 22 Nov 2010 16:37:47 +1000
Subject: Update qml visual tests on mac.

Task-number: QTBUG-14792
---
 .../data-X11/colorAnimation-visual.0.png           |  Bin 622 -> 0 bytes
 .../data-X11/colorAnimation-visual.1.png           |  Bin 627 -> 0 bytes
 .../data-X11/colorAnimation-visual.2.png           |  Bin 626 -> 0 bytes
 .../data-X11/colorAnimation-visual.3.png           |  Bin 625 -> 0 bytes
 .../data-X11/colorAnimation-visual.qml             |  951 -----
 .../data/colorAnimation-visual.0.png               |  Bin 627 -> 622 bytes
 .../data/colorAnimation-visual.1.png               |  Bin 626 -> 627 bytes
 .../data/colorAnimation-visual.2.png               |  Bin 625 -> 626 bytes
 .../data/colorAnimation-visual.3.png               |  Bin 0 -> 625 bytes
 .../colorAnimation/data/colorAnimation-visual.qml  |   16 +-
 .../qmlvisual/focusscope/data-MAC/test3.0.png      |  Bin 1549 -> 0 bytes
 .../qmlvisual/focusscope/data-MAC/test3.1.png      |  Bin 1140 -> 0 bytes
 .../qmlvisual/focusscope/data-MAC/test3.2.png      |  Bin 1338 -> 0 bytes
 .../qmlvisual/focusscope/data-MAC/test3.3.png      |  Bin 1221 -> 0 bytes
 .../qmlvisual/focusscope/data-MAC/test3.qml        | 1327 ------
 .../align/data-MAC/multilineAlign.0.png            |  Bin 2388 -> 2569 bytes
 .../align/data-MAC/multilineAlign.qml              |  120 +-
 .../baseline/data-MAC/parentanchor.0.png           |  Bin 0 -> 5648 bytes
 .../baseline/data-MAC/parentanchor.qml             |   62 +-
 .../qdeclarativetext/data-MAC/qtbug_14865.0.png    |  Bin 1640 -> 1083 bytes
 .../qdeclarativetext/data-MAC/qtbug_14865.1.png    |  Bin 625 -> 1083 bytes
 .../qdeclarativetext/data-MAC/qtbug_14865.qml      |  220 +-
 .../qdeclarativetext/elide/data-MAC/elide.0.png    |  Bin 1706 -> 1353 bytes
 .../qdeclarativetext/elide/data-MAC/elide.1.png    |  Bin 0 -> 1353 bytes
 .../qdeclarativetext/elide/data-MAC/elide.qml      |  134 +-
 .../qdeclarativetext/elide/data-MAC/elide2.0.png   |  Bin 3564 -> 3572 bytes
 .../qdeclarativetext/elide/data-MAC/elide2.1.png   |  Bin 3271 -> 3320 bytes
 .../qdeclarativetext/elide/data-MAC/elide2.2.png   |  Bin 2549 -> 2953 bytes
 .../qdeclarativetext/elide/data-MAC/elide2.3.png   |  Bin 1574 -> 2386 bytes
 .../qdeclarativetext/elide/data-MAC/elide2.4.png   |  Bin 0 -> 1650 bytes
 .../qdeclarativetext/elide/data-MAC/elide2.qml     |  490 +--
 .../elide/data-MAC/multilength.0.png               |  Bin 2883 -> 2748 bytes
 .../elide/data-MAC/multilength.1.png               |  Bin 0 -> 3064 bytes
 .../elide/data-MAC/multilength.qml                 |  148 +-
 .../qdeclarativetext/font/data-MAC/plaintext.0.png |  Bin 96247 -> 60155 bytes
 .../font/data-MAC/plaintext2.0.png                 |  Bin 3481 -> 3805 bytes
 .../font/data-MAC/plaintext3.0.png                 |  Bin 53503 -> 21056 bytes
 .../qdeclarativetext/font/data-MAC/richtext.0.png  |  Bin 118835 -> 62489 bytes
 .../qdeclarativetext/font/data-MAC/richtext2.0.png |  Bin 0 -> 29962 bytes
 .../qdeclarativetext/font/data-MAC/richtext2.qml   |   11 +
 .../data-MAC/cursorDelegate.0.png                  |  Bin 3636 -> 1177 bytes
 .../data-MAC/cursorDelegate.1.png                  |  Bin 3611 -> 1254 bytes
 .../data-MAC/cursorDelegate.2.png                  |  Bin 3612 -> 1199 bytes
 .../data-MAC/cursorDelegate.3.png                  |  Bin 3612 -> 1198 bytes
 .../data-MAC/cursorDelegate.4.png                  |  Bin 3609 -> 1195 bytes
 .../data-MAC/cursorDelegate.5.png                  |  Bin 3147 -> 1197 bytes
 .../data-MAC/cursorDelegate.qml                    |  658 +--
 .../qdeclarativetextedit/data-MAC/qt-669.0.png     |  Bin 3273 -> 737 bytes
 .../qdeclarativetextedit/data-MAC/qt-669.1.png     |  Bin 3265 -> 740 bytes
 .../qdeclarativetextedit/data-MAC/qt-669.2.png     |  Bin 3266 -> 746 bytes
 .../qdeclarativetextedit/data-MAC/qt-669.3.png     |  Bin 3245 -> 739 bytes
 .../qdeclarativetextedit/data-MAC/qt-669.4.png     |  Bin 0 -> 737 bytes
 .../qdeclarativetextedit/data-MAC/qt-669.qml       |  538 +--
 .../data-MAC/usingMultilineEdit.0.png              |  Bin 5123 -> 1362 bytes
 .../data-MAC/usingMultilineEdit.1.png              |  Bin 5500 -> 1377 bytes
 .../data-MAC/usingMultilineEdit.10.png             |  Bin 8641 -> 2037 bytes
 .../data-MAC/usingMultilineEdit.11.png             |  Bin 8641 -> 2037 bytes
 .../data-MAC/usingMultilineEdit.12.png             |  Bin 0 -> 2037 bytes
 .../data-MAC/usingMultilineEdit.2.png              |  Bin 6163 -> 1461 bytes
 .../data-MAC/usingMultilineEdit.3.png              |  Bin 6785 -> 1577 bytes
 .../data-MAC/usingMultilineEdit.4.png              |  Bin 6943 -> 1704 bytes
 .../data-MAC/usingMultilineEdit.5.png              |  Bin 7043 -> 1778 bytes
 .../data-MAC/usingMultilineEdit.6.png              |  Bin 7428 -> 1797 bytes
 .../data-MAC/usingMultilineEdit.7.png              |  Bin 6860 -> 1859 bytes
 .../data-MAC/usingMultilineEdit.8.png              |  Bin 8659 -> 1835 bytes
 .../data-MAC/usingMultilineEdit.9.png              |  Bin 8641 -> 2028 bytes
 .../data-MAC/usingMultilineEdit.qml                | 1452 +++----
 .../qdeclarativetextedit/data-MAC/wrap.0.png       |  Bin 11626 -> 3756 bytes
 .../qdeclarativetextedit/data-MAC/wrap.1.png       |  Bin 11869 -> 3891 bytes
 .../qdeclarativetextedit/data-MAC/wrap.2.png       |  Bin 12264 -> 3964 bytes
 .../qdeclarativetextedit/data-MAC/wrap.3.png       |  Bin 12607 -> 4054 bytes
 .../qdeclarativetextedit/data-MAC/wrap.4.png       |  Bin 13243 -> 4132 bytes
 .../qdeclarativetextedit/data-MAC/wrap.5.png       |  Bin 13260 -> 4234 bytes
 .../qdeclarativetextedit/data-MAC/wrap.6.png       |  Bin 13260 -> 4238 bytes
 .../qdeclarativetextedit/data-MAC/wrap.7.png       |  Bin 0 -> 4238 bytes
 .../qdeclarativetextedit/data-MAC/wrap.qml         |  858 ++--
 .../data-MAC/cursorDelegate.0.png                  |  Bin 3613 -> 1177 bytes
 .../data-MAC/cursorDelegate.1.png                  |  Bin 4140 -> 1148 bytes
 .../data-MAC/cursorDelegate.2.png                  |  Bin 3593 -> 1312 bytes
 .../data-MAC/cursorDelegate.3.png                  |  Bin 3605 -> 1256 bytes
 .../data-MAC/cursorDelegate.4.png                  |  Bin 3605 -> 1197 bytes
 .../data-MAC/cursorDelegate.5.png                  |  Bin 805 -> 1197 bytes
 .../data-MAC/cursorDelegate.qml                    |  620 +--
 .../qdeclarativetextinput/data-MAC/echoMode.0.png  |  Bin 703 -> 256 bytes
 .../qdeclarativetextinput/data-MAC/echoMode.1.png  |  Bin 1360 -> 715 bytes
 .../qdeclarativetextinput/data-MAC/echoMode.2.png  |  Bin 2031 -> 1295 bytes
 .../qdeclarativetextinput/data-MAC/echoMode.3.png  |  Bin 0 -> 1922 bytes
 .../qdeclarativetextinput/data-MAC/echoMode.qml    |  340 +-
 .../qdeclarativetextinput/data-MAC/hAlign.0.png    |  Bin 0 -> 3987 bytes
 .../qdeclarativetextinput/data-MAC/hAlign.qml      |   50 +-
 .../data-MAC/usingLineEdit.0.png                   |  Bin 0 -> 1254 bytes
 .../data-MAC/usingLineEdit.1.png                   |  Bin 0 -> 1328 bytes
 .../data-MAC/usingLineEdit.10.png                  |  Bin 0 -> 1345 bytes
 .../data-MAC/usingLineEdit.11.png                  |  Bin 0 -> 1433 bytes
 .../data-MAC/usingLineEdit.2.png                   |  Bin 0 -> 1328 bytes
 .../data-MAC/usingLineEdit.3.png                   |  Bin 0 -> 1328 bytes
 .../data-MAC/usingLineEdit.4.png                   |  Bin 0 -> 1316 bytes
 .../data-MAC/usingLineEdit.5.png                   |  Bin 0 -> 1318 bytes
 .../data-MAC/usingLineEdit.6.png                   |  Bin 0 -> 1321 bytes
 .../data-MAC/usingLineEdit.7.png                   |  Bin 0 -> 1316 bytes
 .../data-MAC/usingLineEdit.8.png                   |  Bin 0 -> 1362 bytes
 .../data-MAC/usingLineEdit.9.png                   |  Bin 0 -> 1423 bytes
 .../data-MAC/usingLineEdit.qml                     | 4335 ++++++++++++++++++++
 103 files changed, 7199 insertions(+), 5131 deletions(-)
 delete mode 100644 tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.0.png
 delete mode 100644 tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.1.png
 delete mode 100644 tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.2.png
 delete mode 100644 tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.3.png
 delete mode 100644 tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.qml
 create mode 100644 tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.3.png
 delete mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.0.png
 delete mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.1.png
 delete mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.2.png
 delete mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.3.png
 delete mode 100644 tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.qml
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.0.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.1.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.4.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.1.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext2.0.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext2.qml
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.4.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.12.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.7.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.3.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.0.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.0.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.1.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.10.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.11.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.2.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.3.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.4.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.5.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.6.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.7.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.8.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.9.png
 create mode 100644 tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.qml

diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.0.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.0.png
deleted file mode 100644
index 99748a7..0000000
Binary files a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.0.png and /dev/null differ
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.1.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.1.png
deleted file mode 100644
index 5393dd8..0000000
Binary files a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.1.png and /dev/null differ
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.2.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.2.png
deleted file mode 100644
index 8c17bf7..0000000
Binary files a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.2.png and /dev/null differ
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.3.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.3.png
deleted file mode 100644
index 1317eef..0000000
Binary files a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.3.png and /dev/null differ
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.qml
deleted file mode 100644
index dd2aeb4..0000000
--- a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.qml
+++ /dev/null
@@ -1,951 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
-    Frame {
-        msec: 0
-    }
-    Frame {
-        msec: 16
-        image: "colorAnimation-visual.0.png"
-    }
-    Frame {
-        msec: 32
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 48
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 64
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 80
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 96
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 112
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 128
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 144
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 160
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 176
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 192
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 208
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 224
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 240
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 256
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 272
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 288
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 304
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 320
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 336
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 352
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 368
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 384
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 400
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 416
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 432
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 448
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 464
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 480
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 496
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 512
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Mouse {
-        type: 2
-        button: 1
-        buttons: 1
-        x: 93; y: 136
-        modifiers: 0
-        sendToViewport: true
-    }
-    Frame {
-        msec: 528
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 544
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 560
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 576
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 592
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Mouse {
-        type: 3
-        button: 1
-        buttons: 0
-        x: 93; y: 136
-        modifiers: 0
-        sendToViewport: true
-    }
-    Frame {
-        msec: 608
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
-    }
-    Frame {
-        msec: 624
-        hash: "e5bda0daf98288ce18db6ce06eda3ba0"
-    }
-    Frame {
-        msec: 640
-        hash: "d35008f75b8c992f80fb16ba7203649d"
-    }
-    Frame {
-        msec: 656
-        hash: "14f43e0784ddf42ea8550db88c501bf1"
-    }
-    Frame {
-        msec: 672
-        hash: "02276e158b5391480b1bdeaadf1fb903"
-    }
-    Frame {
-        msec: 688
-        hash: "35d9513eb97a2c482b7cd197de910934"
-    }
-    Frame {
-        msec: 704
-        hash: "faf0fd681e60bb2489099f5df772b6cd"
-    }
-    Frame {
-        msec: 720
-        hash: "a863d3e346f94785a3a392fdc91526eb"
-    }
-    Frame {
-        msec: 736
-        hash: "fdf328d3f6eb8410da59a91345e41a44"
-    }
-    Frame {
-        msec: 752
-        hash: "83514a3b10d5be8f6c3b128d0f3e0b1c"
-    }
-    Frame {
-        msec: 768
-        hash: "ead0eae76cd00189075964671effbaea"
-    }
-    Frame {
-        msec: 784
-        hash: "24d2457fcd51490fda23071bf9929d12"
-    }
-    Frame {
-        msec: 800
-        hash: "1478683446cf543dacbe31d0b76a98a6"
-    }
-    Frame {
-        msec: 816
-        hash: "99f7da1f31fe920f6c02add4042ae925"
-    }
-    Frame {
-        msec: 832
-        hash: "22def892006cf66667770b0f17baf6c0"
-    }
-    Frame {
-        msec: 848
-        hash: "6a36d5a77099bfd58baf285478ff04e4"
-    }
-    Frame {
-        msec: 864
-        hash: "6258150666b59b20ab476724c07fc20c"
-    }
-    Frame {
-        msec: 880
-        hash: "f1636315bc950a6dd400d9c7ed263b88"
-    }
-    Frame {
-        msec: 896
-        hash: "18447ea8dc2e8da956788e5b3cf3790a"
-    }
-    Frame {
-        msec: 912
-        hash: "1d2a6e65997a73e9e670356c8e8b63b2"
-    }
-    Frame {
-        msec: 928
-        hash: "bed0242c0f9ef229d1392835286d5782"
-    }
-    Frame {
-        msec: 944
-        hash: "88923c190e9e5beadef8a409c06df9d6"
-    }
-    Frame {
-        msec: 960
-        hash: "2d133e7ee60c97386f57838b3f0976c7"
-    }
-    Frame {
-        msec: 976
-        image: "colorAnimation-visual.1.png"
-    }
-    Frame {
-        msec: 992
-        hash: "395195716d76bc0be7b2033ed37a7a1c"
-    }
-    Frame {
-        msec: 1008
-        hash: "243dbffcf416926242bbcb7348974c4c"
-    }
-    Frame {
-        msec: 1024
-        hash: "a755068679616d8ac65c2aa7431f2a19"
-    }
-    Frame {
-        msec: 1040
-        hash: "e8249b35a47eb492cbdf2d91cc8426f0"
-    }
-    Frame {
-        msec: 1056
-        hash: "15f3da1c0e6f0779b96859d51171dd27"
-    }
-    Frame {
-        msec: 1072
-        hash: "258c0c756aac3de743b43051f2aace6b"
-    }
-    Frame {
-        msec: 1088
-        hash: "a58b9fdf301d72b2cc5c93934cc8927b"
-    }
-    Frame {
-        msec: 1104
-        hash: "a9181d30870d472521f8904818ce520f"
-    }
-    Frame {
-        msec: 1120
-        hash: "7f9e94069ccf3897c26a71bd7becd903"
-    }
-    Frame {
-        msec: 1136
-        hash: "bdf305c2f46cdb86dbf57b1e0cc5a65b"
-    }
-    Frame {
-        msec: 1152
-        hash: "fe5b6865d7e4fc7d1d42c1e74f8666f7"
-    }
-    Frame {
-        msec: 1168
-        hash: "734f0de45a6e34c9eab7ef606196f96a"
-    }
-    Frame {
-        msec: 1184
-        hash: "02a361c4534fdf7f286dc3e6dc23275c"
-    }
-    Frame {
-        msec: 1200
-        hash: "e649155ad69999c14b92f6561e4d1185"
-    }
-    Frame {
-        msec: 1216
-        hash: "01af177084fab755d622973f64b92018"
-    }
-    Frame {
-        msec: 1232
-        hash: "097cc4a082dfab995d213a3a73883c97"
-    }
-    Frame {
-        msec: 1248
-        hash: "d7b4239a3280b1eb8e885e3f422df8e9"
-    }
-    Frame {
-        msec: 1264
-        hash: "59893977994e34e83f91e7ce3ad65d6d"
-    }
-    Frame {
-        msec: 1280
-        hash: "b68e3fbb5cdcd6bd96df7dec558db42b"
-    }
-    Frame {
-        msec: 1296
-        hash: "94ad0580648f36a1e18a9ea7e249b04d"
-    }
-    Frame {
-        msec: 1312
-        hash: "750a4c01d2f5806a89a1c6cc6a9b9a68"
-    }
-    Frame {
-        msec: 1328
-        hash: "4f109f50f388f1bfa4bc6b03b3e6e514"
-    }
-    Frame {
-        msec: 1344
-        hash: "c6168d5cf27a533e8ee636637667be47"
-    }
-    Frame {
-        msec: 1360
-        hash: "f8120547bed987aa34c00da5a01a4d1e"
-    }
-    Frame {
-        msec: 1376
-        hash: "cbff526136fa2c128c8b898fbbef9e5c"
-    }
-    Frame {
-        msec: 1392
-        hash: "f29e52398fab1a239a63df4c32f2fc69"
-    }
-    Frame {
-        msec: 1408
-        hash: "7178bfe86fd2fd513218b33760460f8d"
-    }
-    Frame {
-        msec: 1424
-        hash: "ca83285bc8ac633403896fe976896eb0"
-    }
-    Frame {
-        msec: 1440
-        hash: "96ba486c09cc69d5aa38c46c00df1181"
-    }
-    Frame {
-        msec: 1456
-        hash: "b88eab335842787869f4a14824c19dd8"
-    }
-    Frame {
-        msec: 1472
-        hash: "065aa59012729e1e1a246a2083142690"
-    }
-    Frame {
-        msec: 1488
-        hash: "dd0e98c8398861002c5f178c5f9f612d"
-    }
-    Frame {
-        msec: 1504
-        hash: "04192c2b545948048eccf4d81bbde198"
-    }
-    Frame {
-        msec: 1520
-        hash: "bb7502c7208281ef9fd41714ab88a1a8"
-    }
-    Frame {
-        msec: 1536
-        hash: "5397195471890d08b703dca101e5bc7c"
-    }
-    Frame {
-        msec: 1552
-        hash: "4c678cdbebb2ffd2cbf012ca77800cde"
-    }
-    Frame {
-        msec: 1568
-        hash: "0d7a34ecd0c7f52b2c015037bf1902c6"
-    }
-    Frame {
-        msec: 1584
-        hash: "fd9d5048be749ac4369fda2d018b43ae"
-    }
-    Frame {
-        msec: 1600
-        hash: "93ee03795cd57ae6f7fe3a020b039ad4"
-    }
-    Frame {
-        msec: 1616
-        hash: "5e1118963f219c39761ca7fbf564a9ca"
-    }
-    Frame {
-        msec: 1632
-        hash: "8f40038741903150136170503649d941"
-    }
-    Frame {
-        msec: 1648
-        hash: "b087b7d0aa6224821f8e18718ff5e77d"
-    }
-    Frame {
-        msec: 1664
-        hash: "aa46b04a3c67dc772265ed2901955565"
-    }
-    Frame {
-        msec: 1680
-        hash: "ac024bf2aeb4becdf31a09fe0a6db8f3"
-    }
-    Frame {
-        msec: 1696
-        hash: "13745a174e4d06e2108a5bf125ba50cc"
-    }
-    Frame {
-        msec: 1712
-        hash: "bd972f0d8e230eca0b3fea1b8c960c08"
-    }
-    Frame {
-        msec: 1728
-        hash: "cbdbec802a58e7ced0cf45b3ab0bc0ba"
-    }
-    Frame {
-        msec: 1744
-        hash: "5128584c50305c7d218b81b8367fa3d5"
-    }
-    Frame {
-        msec: 1760
-        hash: "a71461d3593f3685620668916de870bd"
-    }
-    Frame {
-        msec: 1776
-        hash: "74ebac8f32cf044b58d9883dbcd9a722"
-    }
-    Frame {
-        msec: 1792
-        hash: "fedc5b638f339b90fe59b478721e65b7"
-    }
-    Frame {
-        msec: 1808
-        hash: "8593a81be812edf54ec94da8ae9c1314"
-    }
-    Frame {
-        msec: 1824
-        hash: "4e9b083075bc5e9287a8abc982778b56"
-    }
-    Frame {
-        msec: 1840
-        hash: "1d6f02aa99afa47d77fc49ab894b365a"
-    }
-    Frame {
-        msec: 1856
-        hash: "a204feec783b3b05de4c209c21745826"
-    }
-    Frame {
-        msec: 1872
-        hash: "665a2a8ff00b9663157802767f504754"
-    }
-    Frame {
-        msec: 1888
-        hash: "624fb09ebe60cb87d767faf8d2420b1e"
-    }
-    Frame {
-        msec: 1904
-        hash: "e5af0cdc33f3275a25abb09e9165f310"
-    }
-    Frame {
-        msec: 1920
-        hash: "02bafb5a81ca66f7670ac93de5123860"
-    }
-    Frame {
-        msec: 1936
-        image: "colorAnimation-visual.2.png"
-    }
-    Frame {
-        msec: 1952
-        hash: "b5abd0dff1ab076faac7cc226e83f5d0"
-    }
-    Frame {
-        msec: 1968
-        hash: "b759acc35bccff8efc2e6fe276ddc0f7"
-    }
-    Frame {
-        msec: 1984
-        hash: "ce52e18c1f7732768779863b45314ff5"
-    }
-    Frame {
-        msec: 2000
-        hash: "99d30652559dd6931e0c95543eeaa149"
-    }
-    Frame {
-        msec: 2016
-        hash: "ffbd9a00e05e085b89296d19d5caec57"
-    }
-    Frame {
-        msec: 2032
-        hash: "9c9d658b9c25602816b8066bf19105db"
-    }
-    Frame {
-        msec: 2048
-        hash: "2b7fd058e6601e22a30bb7106b1c683b"
-    }
-    Frame {
-        msec: 2064
-        hash: "f4c7e26b19ee0a3e7c9688685eb7bd05"
-    }
-    Frame {
-        msec: 2080
-        hash: "0dc6d593bceff56b7f81f2a49d37fefb"
-    }
-    Frame {
-        msec: 2096
-        hash: "9bfd7ad5091ccbdde43c593e133a7b10"
-    }
-    Frame {
-        msec: 2112
-        hash: "2703b617937914a90ea42ebf249d79ee"
-    }
-    Frame {
-        msec: 2128
-        hash: "b77e2983138254016c4cca53100f46fa"
-    }
-    Frame {
-        msec: 2144
-        hash: "60c4dd24187d1281081479e586f02b37"
-    }
-    Frame {
-        msec: 2160
-        hash: "62f2511abd99ef1231c9fa4b91d4abfe"
-    }
-    Frame {
-        msec: 2176
-        hash: "e309b3353fd174e883d309571caddc98"
-    }
-    Frame {
-        msec: 2192
-        hash: "1e2d6a134c7b12dde551b148ef4f088c"
-    }
-    Frame {
-        msec: 2208
-        hash: "e5dc5450604a491cc24a0dcf5c278b58"
-    }
-    Frame {
-        msec: 2224
-        hash: "c8dae97c10e1962c1e6a51ab3ab8579e"
-    }
-    Frame {
-        msec: 2240
-        hash: "4e1b7e06f55fb084080689b474f1fe1d"
-    }
-    Frame {
-        msec: 2256
-        hash: "b4639c907fa937bf15fac62421170cd8"
-    }
-    Frame {
-        msec: 2272
-        hash: "c250208a0caeb5f6cb4d3aac3d7d350b"
-    }
-    Frame {
-        msec: 2288
-        hash: "a73351eabecf0d71149efe31f197413e"
-    }
-    Frame {
-        msec: 2304
-        hash: "479425f1b7aff79e4dfb7fca534af018"
-    }
-    Frame {
-        msec: 2320
-        hash: "046d0f0040a52d1f26ba9f7c5de06ef4"
-    }
-    Frame {
-        msec: 2336
-        hash: "655778bf13c6080903150b0eb43a7edc"
-    }
-    Frame {
-        msec: 2352
-        hash: "72da0bbe81514870655fdd3354adac60"
-    }
-    Frame {
-        msec: 2368
-        hash: "defe0bdf675c65fff55aaaced1e4dae7"
-    }
-    Frame {
-        msec: 2384
-        hash: "c988628b6c3d3780e9a865c7694926cd"
-    }
-    Frame {
-        msec: 2400
-        hash: "5ab17563655231089edd986ff13d6012"
-    }
-    Frame {
-        msec: 2416
-        hash: "c1adff1d2e5800ed466d1691d3b17382"
-    }
-    Frame {
-        msec: 2432
-        hash: "70129ba01fbb19592b9dc0d0a3b3e7df"
-    }
-    Frame {
-        msec: 2448
-        hash: "0000829ef7ed908bf430d42904d59cc2"
-    }
-    Frame {
-        msec: 2464
-        hash: "843d2927f50ab87b4a86b7a6aaeed91f"
-    }
-    Frame {
-        msec: 2480
-        hash: "da86d21756025e7de8050586d5e2a1f8"
-    }
-    Frame {
-        msec: 2496
-        hash: "48dd1bd6580133b0793fee327ea4f1e6"
-    }
-    Frame {
-        msec: 2512
-        hash: "f0618193dcd0ba2837249515a1898b1c"
-    }
-    Frame {
-        msec: 2528
-        hash: "a530184e57251065286c0cbba7301e9c"
-    }
-    Frame {
-        msec: 2544
-        hash: "64a1d7203973d65dd342793007a61c58"
-    }
-    Frame {
-        msec: 2560
-        hash: "5b830dfc6ba442772de87d75d5a578de"
-    }
-    Frame {
-        msec: 2576
-        hash: "5563b056b0409b65f60dd16dd0dd890e"
-    }
-    Frame {
-        msec: 2592
-        hash: "b8bcf9ad2ca8720c11563a23d8280804"
-    }
-    Frame {
-        msec: 2608
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2624
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2640
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2656
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2672
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2688
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2704
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2720
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2736
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2752
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2768
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2784
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2800
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2816
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2832
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2848
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2864
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2880
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2896
-        image: "colorAnimation-visual.3.png"
-    }
-    Frame {
-        msec: 2912
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2928
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2944
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2960
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2976
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 2992
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3008
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3024
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3040
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3056
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3072
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3088
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3104
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3120
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3136
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3152
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3168
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3184
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3200
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3216
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3232
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3248
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3264
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3280
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3296
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3312
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3328
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3344
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3360
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3376
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3392
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3408
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3424
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3440
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3456
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3472
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3488
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3504
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3520
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3536
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3552
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3568
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3584
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3600
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3616
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3632
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Key {
-        type: 6
-        key: 16777249
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 3648
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3664
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-    Frame {
-        msec: 3680
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
-    }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.0.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.0.png
index e6ea16d..2a79113 100644
Binary files a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.0.png and b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.1.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.1.png
index b75ba61..ebd1802 100644
Binary files a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.1.png and b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.1.png differ
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.2.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.2.png
index 4320f6f..9b8ecbb 100644
Binary files a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.2.png and b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.2.png differ
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.3.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.3.png
new file mode 100644
index 0000000..277cb9e
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.3.png differ
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.qml
index 9611d27..2b664d4 100644
--- a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.qml
+++ b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.qml
@@ -6,7 +6,7 @@ VisualTest {
     }
     Frame {
         msec: 16
-        hash: "acc736435c9f84aa82941ba561bc5dbc"
+        image: "colorAnimation-visual.0.png"
     }
     Frame {
         msec: 32
@@ -258,11 +258,11 @@ VisualTest {
     }
     Frame {
         msec: 960
-        image: "colorAnimation-visual.0.png"
+        hash: "2d133e7ee60c97386f57838b3f0976c7"
     }
     Frame {
         msec: 976
-        hash: "85b1821cc50f2a9f3ed6944f792b7a2f"
+        image: "colorAnimation-visual.1.png"
     }
     Frame {
         msec: 992
@@ -498,11 +498,11 @@ VisualTest {
     }
     Frame {
         msec: 1920
-        image: "colorAnimation-visual.1.png"
+        hash: "02bafb5a81ca66f7670ac93de5123860"
     }
     Frame {
         msec: 1936
-        hash: "e7aa6374c73832e57ceb2427a1e258aa"
+        image: "colorAnimation-visual.2.png"
     }
     Frame {
         msec: 1952
@@ -738,11 +738,11 @@ VisualTest {
     }
     Frame {
         msec: 2880
-        image: "colorAnimation-visual.2.png"
+        hash: "8c0fcda4f8956394c53fc4ba18caa850"
     }
     Frame {
         msec: 2896
-        hash: "8c0fcda4f8956394c53fc4ba18caa850"
+        image: "colorAnimation-visual.3.png"
     }
     Frame {
         msec: 2912
@@ -931,7 +931,7 @@ VisualTest {
     Key {
         type: 6
         key: 16777249
-        modifiers: 67108864
+        modifiers: 0
         text: ""
         autorep: false
         count: 1
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.0.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.0.png
deleted file mode 100644
index e469a79..0000000
Binary files a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.0.png and /dev/null differ
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.1.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.1.png
deleted file mode 100644
index 905603f..0000000
Binary files a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.1.png and /dev/null differ
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.2.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.2.png
deleted file mode 100644
index 5cbd3bd..0000000
Binary files a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.2.png and /dev/null differ
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.3.png b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.3.png
deleted file mode 100644
index 851c1ba..0000000
Binary files a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.3.png and /dev/null differ
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.qml b/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.qml
deleted file mode 100644
index 0c9747e..0000000
--- a/tests/auto/declarative/qmlvisual/focusscope/data-MAC/test3.qml
+++ /dev/null
@@ -1,1327 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
-    Frame {
-        msec: 0
-    }
-    Frame {
-        msec: 16
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 32
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 48
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 64
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 80
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 96
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 112
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 128
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 144
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 160
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 176
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 192
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 208
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 224
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 240
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 256
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 272
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 288
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 304
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 320
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 336
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 352
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 368
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 384
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 400
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 416
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 432
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 448
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 464
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 480
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 496
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 512
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 528
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Key {
-        type: 6
-        key: 16777236
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 544
-        hash: "be06cc567f08fbc0cd60d753a19df162"
-    }
-    Frame {
-        msec: 560
-        hash: "c4cf6807b423553872e848146e79efb3"
-    }
-    Frame {
-        msec: 576
-        hash: "b83923f1eef68a4a8dd36acad0f4b592"
-    }
-    Frame {
-        msec: 592
-        hash: "5599829a04f2c2a6c6181c5857762ba0"
-    }
-    Frame {
-        msec: 608
-        hash: "95da52b5add95150dd446bc5055a2b60"
-    }
-    Key {
-        type: 7
-        key: 16777236
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 624
-        hash: "9bb2757c3b1bbc051edd9ebd240611f8"
-    }
-    Frame {
-        msec: 640
-        hash: "25213fbced4c67f42ce35d07db93bb32"
-    }
-    Frame {
-        msec: 656
-        hash: "2a9ded25ed2dbb9563f9c14084234a22"
-    }
-    Frame {
-        msec: 672
-        hash: "2f532511a50d743aa1c7ebcc9b2b7350"
-    }
-    Frame {
-        msec: 688
-        hash: "2f532511a50d743aa1c7ebcc9b2b7350"
-    }
-    Frame {
-        msec: 704
-        hash: "2f532511a50d743aa1c7ebcc9b2b7350"
-    }
-    Frame {
-        msec: 720
-        hash: "2f532511a50d743aa1c7ebcc9b2b7350"
-    }
-    Key {
-        type: 6
-        key: 16777236
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 736
-        hash: "8c9f7d72e077a7e75d185a2ecbdcc77c"
-    }
-    Frame {
-        msec: 752
-        hash: "55a417e91f182ebd28dd7264d8b76363"
-    }
-    Frame {
-        msec: 768
-        hash: "01a637de9f60c82bfd9140e852e17574"
-    }
-    Frame {
-        msec: 784
-        hash: "01194b2c3489ea7298e961979064aab3"
-    }
-    Key {
-        type: 7
-        key: 16777236
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 800
-        hash: "f6126328d483536d3f161f71d40821df"
-    }
-    Frame {
-        msec: 816
-        hash: "b99dd9793a63bbdab37cfe236d56c589"
-    }
-    Frame {
-        msec: 832
-        hash: "825f39b42d0b2e0d894874713b731cfc"
-    }
-    Frame {
-        msec: 848
-        hash: "7729b9c2133c52e50f43d6100a24e9c2"
-    }
-    Frame {
-        msec: 864
-        hash: "e2f3bec9571b08b451309221b34ace5e"
-    }
-    Frame {
-        msec: 880
-        hash: "e2f3bec9571b08b451309221b34ace5e"
-    }
-    Key {
-        type: 6
-        key: 16777236
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 896
-        hash: "8e59b002437ec17043d11c92556365fd"
-    }
-    Frame {
-        msec: 912
-        hash: "3809a54af9c9a4b15aa8b82caa5b703f"
-    }
-    Frame {
-        msec: 928
-        hash: "96cb1ab7123c54d4fa0d93b6501a439d"
-    }
-    Key {
-        type: 7
-        key: 16777236
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 944
-        hash: "de74cd5be709954522dd02945d6da9c9"
-    }
-    Frame {
-        msec: 960
-        image: "test3.0.png"
-    }
-    Frame {
-        msec: 976
-        hash: "d3ff94471da3620701d62b87f37fca8b"
-    }
-    Frame {
-        msec: 992
-        hash: "15bccb078b9061ef50c73a974e2f43fa"
-    }
-    Frame {
-        msec: 1008
-        hash: "ea2059d511fdab60e77e9261f81aadfb"
-    }
-    Frame {
-        msec: 1024
-        hash: "ea2059d511fdab60e77e9261f81aadfb"
-    }
-    Frame {
-        msec: 1040
-        hash: "ea2059d511fdab60e77e9261f81aadfb"
-    }
-    Frame {
-        msec: 1056
-        hash: "ea2059d511fdab60e77e9261f81aadfb"
-    }
-    Key {
-        type: 6
-        key: 16777236
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 1072
-        hash: "5b68568968d0de3a9bad8d053045f45c"
-    }
-    Frame {
-        msec: 1088
-        hash: "6b6da385fbc00e3542d7007524ff87f6"
-    }
-    Key {
-        type: 7
-        key: 16777236
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 1104
-        hash: "bba5021ad78a5a142cf54d4db8d8689e"
-    }
-    Frame {
-        msec: 1120
-        hash: "5c223d5dcf028cd3bac18b21359253f3"
-    }
-    Frame {
-        msec: 1136
-        hash: "c5b09a11d466fd90e1014f58755ec77b"
-    }
-    Frame {
-        msec: 1152
-        hash: "f4ba8fcc4f955e25c2364d8ee1054d0d"
-    }
-    Frame {
-        msec: 1168
-        hash: "2a6009e790cd98e3a67c107b0f08e00b"
-    }
-    Frame {
-        msec: 1184
-        hash: "caa1b5ee40dc20c87516b7292a86f79b"
-    }
-    Frame {
-        msec: 1200
-        hash: "200dd4ac9c40c6eb32ad43570995f17d"
-    }
-    Frame {
-        msec: 1216
-        hash: "200dd4ac9c40c6eb32ad43570995f17d"
-    }
-    Key {
-        type: 6
-        key: 16777236
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 1232
-        hash: "2333dcdf0f46ade554e036caa5e3cb31"
-    }
-    Frame {
-        msec: 1248
-        hash: "9b09c65db96f483dec7ba3a55b5a91e6"
-    }
-    Key {
-        type: 7
-        key: 16777236
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 1264
-        hash: "49fc76245e741968095ab689195da40c"
-    }
-    Frame {
-        msec: 1280
-        hash: "4e991b92348d813f5a3a1080270a88a3"
-    }
-    Frame {
-        msec: 1296
-        hash: "1e4a07fc966dab9ee0d39b25a4c43c09"
-    }
-    Frame {
-        msec: 1312
-        hash: "ade33b908f2a5e6916a74bc00b08414e"
-    }
-    Frame {
-        msec: 1328
-        hash: "481b41b7bc8fafcb40b7d09fcfc2e86e"
-    }
-    Frame {
-        msec: 1344
-        hash: "68b528414ba662f14ea71511a01f8d33"
-    }
-    Frame {
-        msec: 1360
-        hash: "68b528414ba662f14ea71511a01f8d33"
-    }
-    Frame {
-        msec: 1376
-        hash: "68b528414ba662f14ea71511a01f8d33"
-    }
-    Frame {
-        msec: 1392
-        hash: "68b528414ba662f14ea71511a01f8d33"
-    }
-    Frame {
-        msec: 1408
-        hash: "68b528414ba662f14ea71511a01f8d33"
-    }
-    Frame {
-        msec: 1424
-        hash: "68b528414ba662f14ea71511a01f8d33"
-    }
-    Frame {
-        msec: 1440
-        hash: "68b528414ba662f14ea71511a01f8d33"
-    }
-    Frame {
-        msec: 1456
-        hash: "68b528414ba662f14ea71511a01f8d33"
-    }
-    Frame {
-        msec: 1472
-        hash: "68b528414ba662f14ea71511a01f8d33"
-    }
-    Frame {
-        msec: 1488
-        hash: "68b528414ba662f14ea71511a01f8d33"
-    }
-    Key {
-        type: 6
-        key: 16777236
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 1504
-        hash: "2a8a2867f38ff05a9ef5fa50fe7de229"
-    }
-    Frame {
-        msec: 1520
-        hash: "824ec4f9e596a67fe6ca17ea03529c1f"
-    }
-    Frame {
-        msec: 1536
-        hash: "bf7d9c49d0a0ff4d03ceadf8d797a774"
-    }
-    Key {
-        type: 7
-        key: 16777236
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 1552
-        hash: "3e3c62601c2965e851e8b5c0adb73651"
-    }
-    Frame {
-        msec: 1568
-        hash: "ed7357b2596da4683bb19cbf1dcd6458"
-    }
-    Frame {
-        msec: 1584
-        hash: "32ed0774f926341af504b716bd9394e1"
-    }
-    Frame {
-        msec: 1600
-        hash: "2d4ffbd7cf53ca4824d206d4a4608ebb"
-    }
-    Frame {
-        msec: 1616
-        hash: "a7a0b6bd336f00a10818bdd9992a29bb"
-    }
-    Frame {
-        msec: 1632
-        hash: "55801794958126a1890bc0122084ee20"
-    }
-    Frame {
-        msec: 1648
-        hash: "55801794958126a1890bc0122084ee20"
-    }
-    Frame {
-        msec: 1664
-        hash: "55801794958126a1890bc0122084ee20"
-    }
-    Frame {
-        msec: 1680
-        hash: "55801794958126a1890bc0122084ee20"
-    }
-    Key {
-        type: 6
-        key: 16777236
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 1696
-        hash: "49573efd5a0bc65107a074fb35d67f63"
-    }
-    Frame {
-        msec: 1712
-        hash: "c9bf07bc12f97c6d0eef816ce4423f5b"
-    }
-    Frame {
-        msec: 1728
-        hash: "ab91f24c27d52123502815381e926cdc"
-    }
-    Frame {
-        msec: 1744
-        hash: "32ca7e06569a63d56ab71c67c9f82d60"
-    }
-    Key {
-        type: 7
-        key: 16777236
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 1760
-        hash: "9e5f04f019ccd1f27b511faeb7470e10"
-    }
-    Frame {
-        msec: 1776
-        hash: "5544186a3338dd788367fa4262815204"
-    }
-    Frame {
-        msec: 1792
-        hash: "c01aa7b7363faf99f69b90be8843f059"
-    }
-    Frame {
-        msec: 1808
-        hash: "6bd1ec848b817ef978b4dfae4eb23c1e"
-    }
-    Frame {
-        msec: 1824
-        hash: "b75bd8d4e4f3fb5067b05ebf37f92e9b"
-    }
-    Frame {
-        msec: 1840
-        hash: "b75bd8d4e4f3fb5067b05ebf37f92e9b"
-    }
-    Frame {
-        msec: 1856
-        hash: "b75bd8d4e4f3fb5067b05ebf37f92e9b"
-    }
-    Frame {
-        msec: 1872
-        hash: "b75bd8d4e4f3fb5067b05ebf37f92e9b"
-    }
-    Key {
-        type: 6
-        key: 16777236
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 1888
-        hash: "04a3efd4b810417632726048bdffa904"
-    }
-    Frame {
-        msec: 1904
-        hash: "c347e7d3dccba41102e2b669c9e9c0a0"
-    }
-    Frame {
-        msec: 1920
-        image: "test3.1.png"
-    }
-    Frame {
-        msec: 1936
-        hash: "47c9794374c383e1f595e60ea6890e11"
-    }
-    Frame {
-        msec: 1952
-        hash: "73cdfe34edab93baea779896169b4195"
-    }
-    Key {
-        type: 7
-        key: 16777236
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 1968
-        hash: "53add51d9e11a1fc4d0f6e3d1c6a70bc"
-    }
-    Frame {
-        msec: 1984
-        hash: "90143346b171faf5bdb7d4d0c0556b24"
-    }
-    Frame {
-        msec: 2000
-        hash: "e4e642507d3a631f5813a11cb7673c91"
-    }
-    Frame {
-        msec: 2016
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2032
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2048
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2064
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2080
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2096
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2112
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2128
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2144
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2160
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2176
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2192
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2208
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2224
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2240
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2256
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2272
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2288
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2304
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2320
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2336
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2352
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2368
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2384
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2400
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2416
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2432
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2448
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Frame {
-        msec: 2464
-        hash: "f5f1725edd19f1735139d178955533f8"
-    }
-    Key {
-        type: 6
-        key: 16777234
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 2480
-        hash: "512e992c6d621225735c37e2626714ad"
-    }
-    Frame {
-        msec: 2496
-        hash: "1a708d62af48302e93dda0ef0822aebb"
-    }
-    Frame {
-        msec: 2512
-        hash: "220660969092ba1b17addc6ba7148e06"
-    }
-    Frame {
-        msec: 2528
-        hash: "9dcdd42efc9beb957abdeaf2ee01fc43"
-    }
-    Frame {
-        msec: 2544
-        hash: "5995ac01ee680d6747dc78c36f70b577"
-    }
-    Key {
-        type: 7
-        key: 16777234
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 2560
-        hash: "c6eb964d8f4bf849df63eebdfbf6e286"
-    }
-    Frame {
-        msec: 2576
-        hash: "cff1925a172e278a36068886f0efbcbf"
-    }
-    Frame {
-        msec: 2592
-        hash: "4c725a05332806387713ab54302c559f"
-    }
-    Frame {
-        msec: 2608
-        hash: "b75bd8d4e4f3fb5067b05ebf37f92e9b"
-    }
-    Frame {
-        msec: 2624
-        hash: "b75bd8d4e4f3fb5067b05ebf37f92e9b"
-    }
-    Key {
-        type: 6
-        key: 16777234
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 2640
-        hash: "0cb7eeb24a6845d43ce0662c91b72bd3"
-    }
-    Frame {
-        msec: 2656
-        hash: "6dedbf7dc59b05dc57355141de0b660d"
-    }
-    Frame {
-        msec: 2672
-        hash: "5f82259afdabef688dd76729b5f847c7"
-    }
-    Frame {
-        msec: 2688
-        hash: "b67d418427db34726ddada60f76178a6"
-    }
-    Frame {
-        msec: 2704
-        hash: "780c9551f55fd46d294a1eef3b34aa34"
-    }
-    Key {
-        type: 7
-        key: 16777234
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 2720
-        hash: "521efe1778b2d2031071b55f30999de9"
-    }
-    Frame {
-        msec: 2736
-        hash: "49539356de68b7cd2cea52986ed2bb67"
-    }
-    Frame {
-        msec: 2752
-        hash: "55801794958126a1890bc0122084ee20"
-    }
-    Frame {
-        msec: 2768
-        hash: "55801794958126a1890bc0122084ee20"
-    }
-    Frame {
-        msec: 2784
-        hash: "55801794958126a1890bc0122084ee20"
-    }
-    Key {
-        type: 6
-        key: 16777234
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 2800
-        hash: "b08ee15bfd1916b9619a0a3eeeec90b6"
-    }
-    Frame {
-        msec: 2816
-        hash: "3b4e65a0d4ee764d418d82a055ba9c87"
-    }
-    Frame {
-        msec: 2832
-        hash: "269d37497b0cd292a5b03124d1687ff6"
-    }
-    Frame {
-        msec: 2848
-        hash: "59fecd7ec62bf8c89e2222744d36e194"
-    }
-    Frame {
-        msec: 2864
-        hash: "71deceeac8b42a70868bb3ff788543b5"
-    }
-    Key {
-        type: 7
-        key: 16777234
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 2880
-        image: "test3.2.png"
-    }
-    Frame {
-        msec: 2896
-        hash: "ad790d242e84fec0bd75e1d7771682d7"
-    }
-    Frame {
-        msec: 2912
-        hash: "c09f4fca4ae14e0e41d9b58c1b83096f"
-    }
-    Frame {
-        msec: 2928
-        hash: "68b528414ba662f14ea71511a01f8d33"
-    }
-    Frame {
-        msec: 2944
-        hash: "68b528414ba662f14ea71511a01f8d33"
-    }
-    Key {
-        type: 6
-        key: 16777234
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 2960
-        hash: "015bf8203d45e5d477242055a3f19bfb"
-    }
-    Frame {
-        msec: 2976
-        hash: "ba2fb1258a2f3a81882780d3c7d5320a"
-    }
-    Frame {
-        msec: 2992
-        hash: "3637ffd219d403ed433fd72cd68a9b23"
-    }
-    Frame {
-        msec: 3008
-        hash: "b0d858f1d51872969022f717c12480ed"
-    }
-    Frame {
-        msec: 3024
-        hash: "0504b13a8f7cd68a1d64a22e46ea8654"
-    }
-    Frame {
-        msec: 3040
-        hash: "d07cffa36609433e4a677e373ee7a3ff"
-    }
-    Key {
-        type: 7
-        key: 16777234
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 3056
-        hash: "c1fd98ebc22e512f7199e0f319e88728"
-    }
-    Frame {
-        msec: 3072
-        hash: "200dd4ac9c40c6eb32ad43570995f17d"
-    }
-    Frame {
-        msec: 3088
-        hash: "200dd4ac9c40c6eb32ad43570995f17d"
-    }
-    Frame {
-        msec: 3104
-        hash: "200dd4ac9c40c6eb32ad43570995f17d"
-    }
-    Frame {
-        msec: 3120
-        hash: "200dd4ac9c40c6eb32ad43570995f17d"
-    }
-    Frame {
-        msec: 3136
-        hash: "200dd4ac9c40c6eb32ad43570995f17d"
-    }
-    Key {
-        type: 6
-        key: 16777234
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 3152
-        hash: "5822b744b64944c515e8a01f52c7429f"
-    }
-    Frame {
-        msec: 3168
-        hash: "7d4ab5a17e7d6184f124299053cf94e3"
-    }
-    Frame {
-        msec: 3184
-        hash: "253cfd5001e4e4541d9cfd6370291cd2"
-    }
-    Key {
-        type: 7
-        key: 16777234
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 3200
-        hash: "1b1cab9d331c613dde896829027110f5"
-    }
-    Frame {
-        msec: 3216
-        hash: "8127f681a5c475133cfca95483fef2ce"
-    }
-    Frame {
-        msec: 3232
-        hash: "1a944877735fe3531d95b418dd75d576"
-    }
-    Frame {
-        msec: 3248
-        hash: "47ddcfaed130bf7dd539d965ebebedc1"
-    }
-    Frame {
-        msec: 3264
-        hash: "d0c37d1a7e97034d0f41ea6c2fff8f34"
-    }
-    Frame {
-        msec: 3280
-        hash: "ea2059d511fdab60e77e9261f81aadfb"
-    }
-    Key {
-        type: 6
-        key: 16777234
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 3296
-        hash: "11a907436350afa5ff592880303b4344"
-    }
-    Frame {
-        msec: 3312
-        hash: "39801aef92c2b1e0ca39bede36840911"
-    }
-    Frame {
-        msec: 3328
-        hash: "93463b61a00078f488f3941bc4729100"
-    }
-    Frame {
-        msec: 3344
-        hash: "f8d9cbe20b87017d81fbf627f3a3b2cd"
-    }
-    Key {
-        type: 7
-        key: 16777234
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 3360
-        hash: "2b8d37e7dcfb14394caf19aa8bc4b956"
-    }
-    Frame {
-        msec: 3376
-        hash: "bf91006930a3f22f12b62787c57bb91b"
-    }
-    Frame {
-        msec: 3392
-        hash: "7ce1d106e9d78a4a64f35f5982d32298"
-    }
-    Frame {
-        msec: 3408
-        hash: "e2f3bec9571b08b451309221b34ace5e"
-    }
-    Frame {
-        msec: 3424
-        hash: "e2f3bec9571b08b451309221b34ace5e"
-    }
-    Frame {
-        msec: 3440
-        hash: "e2f3bec9571b08b451309221b34ace5e"
-    }
-    Key {
-        type: 6
-        key: 16777234
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 3456
-        hash: "71cd749e039a54aaaa05e1d3ccc738b4"
-    }
-    Frame {
-        msec: 3472
-        hash: "39e7afb00d53e098c005a1d96a8cc727"
-    }
-    Key {
-        type: 7
-        key: 16777234
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 3488
-        hash: "a9d2fa99fc70919e55293c07427147a2"
-    }
-    Frame {
-        msec: 3504
-        hash: "96bb62cd9ebc2eba9797605190820349"
-    }
-    Frame {
-        msec: 3520
-        hash: "111b0d230c44d5d156e082a50c2a2a66"
-    }
-    Frame {
-        msec: 3536
-        hash: "1085cebcc8fdaefb2ec03392763c7657"
-    }
-    Frame {
-        msec: 3552
-        hash: "451d670f44ae42d8cbb6a12cc6469d61"
-    }
-    Frame {
-        msec: 3568
-        hash: "5c65a7b6ed7b4e85bb883c671aae5136"
-    }
-    Frame {
-        msec: 3584
-        hash: "2f532511a50d743aa1c7ebcc9b2b7350"
-    }
-    Key {
-        type: 6
-        key: 16777234
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 3600
-        hash: "41424200cb76a0d5d64f8919645f6afb"
-    }
-    Frame {
-        msec: 3616
-        hash: "7a910e4b17fb7f5d10308e07ea8ce0a3"
-    }
-    Frame {
-        msec: 3632
-        hash: "4d9cc5670105acf3bc080cba8e100376"
-    }
-    Frame {
-        msec: 3648
-        hash: "a09d3b45bef532ed86d737839592ffc8"
-    }
-    Key {
-        type: 7
-        key: 16777234
-        modifiers: 0
-        text: ""
-        autorep: false
-        count: 1
-    }
-    Frame {
-        msec: 3664
-        hash: "70179b7be24acd6d5d0d0de9d8fff74d"
-    }
-    Frame {
-        msec: 3680
-        hash: "95964eef01bfc86216a8e91261b867ed"
-    }
-    Frame {
-        msec: 3696
-        hash: "12b5e2bbfd573b2b8e33a745cd5af5a6"
-    }
-    Frame {
-        msec: 3712
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 3728
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 3744
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 3760
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 3776
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 3792
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 3808
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 3824
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 3840
-        image: "test3.3.png"
-    }
-    Frame {
-        msec: 3856
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 3872
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 3888
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 3904
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 3920
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 3936
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 3952
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 3968
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 3984
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4000
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4016
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4032
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4048
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4064
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4080
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4096
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4112
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4128
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4144
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4160
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4176
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4192
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4208
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4224
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4240
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-    Frame {
-        msec: 4256
-        hash: "cb8a5743fd3c5093740bb2a4f57ade81"
-    }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.0.png
index 8b6329d..87bc640 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.qml
index 85c0cce..f56f498 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.qml
@@ -6,242 +6,242 @@ VisualTest {
     }
     Frame {
         msec: 16
-        hash: "75c15f88551f961727b547082216d0bb"
+        image: "multilineAlign.0.png"
     }
     Frame {
         msec: 32
-        hash: "75c15f88551f961727b547082216d0bb"
+        hash: "7fb2062f5786da9323db4286688682a0"
     }
     Frame {
         msec: 48
-        hash: "75c15f88551f961727b547082216d0bb"
+        hash: "7fb2062f5786da9323db4286688682a0"
     }
     Frame {
         msec: 64
-        hash: "75c15f88551f961727b547082216d0bb"
+        hash: "7fb2062f5786da9323db4286688682a0"
     }
     Frame {
         msec: 80
-        hash: "75c15f88551f961727b547082216d0bb"
+        hash: "7fb2062f5786da9323db4286688682a0"
     }
     Frame {
         msec: 96
-        hash: "75c15f88551f961727b547082216d0bb"
+        hash: "7fb2062f5786da9323db4286688682a0"
     }
     Frame {
         msec: 112
-        hash: "75c15f88551f961727b547082216d0bb"
+        hash: "7fb2062f5786da9323db4286688682a0"
     }
     Frame {
         msec: 128
-        hash: "75c15f88551f961727b547082216d0bb"
+        hash: "7fb2062f5786da9323db4286688682a0"
     }
     Frame {
         msec: 144
-        hash: "75c15f88551f961727b547082216d0bb"
+        hash: "7fb2062f5786da9323db4286688682a0"
     }
     Frame {
         msec: 160
-        hash: "75c15f88551f961727b547082216d0bb"
+        hash: "7fb2062f5786da9323db4286688682a0"
     }
     Frame {
         msec: 176
-        hash: "1a58de7b864ae75e65f69461155cbfb2"
+        hash: "c67a5ae840827487ab618ff2d4e9a056"
     }
     Frame {
         msec: 192
-        hash: "1a58de7b864ae75e65f69461155cbfb2"
+        hash: "c67a5ae840827487ab618ff2d4e9a056"
     }
     Frame {
         msec: 208
-        hash: "1a58de7b864ae75e65f69461155cbfb2"
+        hash: "c67a5ae840827487ab618ff2d4e9a056"
     }
     Frame {
         msec: 224
-        hash: "1a58de7b864ae75e65f69461155cbfb2"
+        hash: "c67a5ae840827487ab618ff2d4e9a056"
     }
     Frame {
         msec: 240
-        hash: "1a58de7b864ae75e65f69461155cbfb2"
+        hash: "c67a5ae840827487ab618ff2d4e9a056"
     }
     Frame {
         msec: 256
-        hash: "1a58de7b864ae75e65f69461155cbfb2"
+        hash: "c67a5ae840827487ab618ff2d4e9a056"
     }
     Frame {
         msec: 272
-        hash: "1a58de7b864ae75e65f69461155cbfb2"
+        hash: "c67a5ae840827487ab618ff2d4e9a056"
     }
     Frame {
         msec: 288
-        hash: "1a58de7b864ae75e65f69461155cbfb2"
+        hash: "c67a5ae840827487ab618ff2d4e9a056"
     }
     Frame {
         msec: 304
-        hash: "1a58de7b864ae75e65f69461155cbfb2"
+        hash: "c67a5ae840827487ab618ff2d4e9a056"
     }
     Frame {
         msec: 320
-        hash: "1a58de7b864ae75e65f69461155cbfb2"
+        hash: "c67a5ae840827487ab618ff2d4e9a056"
     }
     Frame {
         msec: 336
-        hash: "8a6b615ce522e7aa1011bc1d16193871"
+        hash: "c7986aca05835e238ee95be063bdd032"
     }
     Frame {
         msec: 352
-        hash: "8a6b615ce522e7aa1011bc1d16193871"
+        hash: "c7986aca05835e238ee95be063bdd032"
     }
     Frame {
         msec: 368
-        hash: "8a6b615ce522e7aa1011bc1d16193871"
+        hash: "c7986aca05835e238ee95be063bdd032"
     }
     Frame {
         msec: 384
-        hash: "8a6b615ce522e7aa1011bc1d16193871"
+        hash: "c7986aca05835e238ee95be063bdd032"
     }
     Frame {
         msec: 400
-        hash: "8a6b615ce522e7aa1011bc1d16193871"
+        hash: "c7986aca05835e238ee95be063bdd032"
     }
     Frame {
         msec: 416
-        hash: "8a6b615ce522e7aa1011bc1d16193871"
+        hash: "c7986aca05835e238ee95be063bdd032"
     }
     Frame {
         msec: 432
-        hash: "8a6b615ce522e7aa1011bc1d16193871"
+        hash: "c7986aca05835e238ee95be063bdd032"
     }
     Frame {
         msec: 448
-        hash: "8a6b615ce522e7aa1011bc1d16193871"
+        hash: "c7986aca05835e238ee95be063bdd032"
     }
     Frame {
         msec: 464
-        hash: "8a6b615ce522e7aa1011bc1d16193871"
+        hash: "c7986aca05835e238ee95be063bdd032"
     }
     Frame {
         msec: 480
-        hash: "8a6b615ce522e7aa1011bc1d16193871"
+        hash: "c7986aca05835e238ee95be063bdd032"
     }
     Frame {
         msec: 496
-        hash: "17141b7167d2249238c15cf751b3d8b6"
+        hash: "dd8ee9c060450beef6cc2494fa463e0a"
     }
     Frame {
         msec: 512
-        hash: "17141b7167d2249238c15cf751b3d8b6"
+        hash: "dd8ee9c060450beef6cc2494fa463e0a"
     }
     Frame {
         msec: 528
-        hash: "17141b7167d2249238c15cf751b3d8b6"
+        hash: "dd8ee9c060450beef6cc2494fa463e0a"
     }
     Frame {
         msec: 544
-        hash: "17141b7167d2249238c15cf751b3d8b6"
+        hash: "dd8ee9c060450beef6cc2494fa463e0a"
     }
     Frame {
         msec: 560
-        hash: "17141b7167d2249238c15cf751b3d8b6"
+        hash: "dd8ee9c060450beef6cc2494fa463e0a"
     }
     Frame {
         msec: 576
-        hash: "17141b7167d2249238c15cf751b3d8b6"
+        hash: "dd8ee9c060450beef6cc2494fa463e0a"
     }
     Frame {
         msec: 592
-        hash: "17141b7167d2249238c15cf751b3d8b6"
+        hash: "dd8ee9c060450beef6cc2494fa463e0a"
     }
     Frame {
         msec: 608
-        hash: "17141b7167d2249238c15cf751b3d8b6"
+        hash: "dd8ee9c060450beef6cc2494fa463e0a"
     }
     Frame {
         msec: 624
-        hash: "17141b7167d2249238c15cf751b3d8b6"
+        hash: "dd8ee9c060450beef6cc2494fa463e0a"
     }
     Frame {
         msec: 640
-        hash: "17141b7167d2249238c15cf751b3d8b6"
+        hash: "dd8ee9c060450beef6cc2494fa463e0a"
     }
     Frame {
         msec: 656
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 672
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 688
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 704
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 720
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 736
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 752
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 768
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 784
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 800
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 816
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 832
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 848
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 864
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 880
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 896
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 912
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 928
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 944
-        hash: "92e4f7c09e41b5fb97feb0093e8d9c1f"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
     Frame {
         msec: 960
-        image: "multilineAlign.0.png"
+        hash: "f55ebe08f1b538d085cda157f566859e"
     }
 }
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.0.png
new file mode 100644
index 0000000..4b78165
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.qml
index d7428dd..7c557e0 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.qml
@@ -6,126 +6,126 @@ VisualTest {
     }
     Frame {
         msec: 16
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        image: "parentanchor.0.png"
     }
     Frame {
         msec: 32
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 48
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 64
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 80
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 96
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 112
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 128
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 144
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 160
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 176
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 192
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 208
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 224
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 240
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 256
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 272
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 288
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 304
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 320
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 336
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 352
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 368
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 384
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 400
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 416
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 432
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 448
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 464
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 480
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
     Frame {
         msec: 496
-        hash: "80e9ca4c4ffac9c032334a3369ef9db6"
+        hash: "455caf06270992e3367c2a5a4371b6ac"
     }
 }
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.0.png
index 7547856..804a443 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.1.png
index 84430bb..804a443 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.1.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.1.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.qml
index 6b9986f..efdb916 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.qml
@@ -6,442 +6,442 @@ VisualTest {
     }
     Frame {
         msec: 16
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        image: "qtbug_14865.0.png"
     }
     Frame {
         msec: 32
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 48
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 64
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 80
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 96
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 112
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 128
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 144
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 160
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 176
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 192
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 208
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 224
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 240
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 256
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 272
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 288
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 304
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 320
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 336
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 352
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 368
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 384
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 400
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 416
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 432
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 448
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 464
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 480
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 496
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 512
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 528
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 544
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 560
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 576
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 592
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 608
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 624
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 640
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 656
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 672
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 688
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 704
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 720
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 736
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 752
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 768
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 784
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 800
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 816
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 832
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 848
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 864
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 880
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 896
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 912
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 928
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 944
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 960
-        image: "qtbug_14865.0.png"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 976
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        image: "qtbug_14865.1.png"
     }
     Frame {
         msec: 992
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 1008
-        hash: "35c278720fd30e14dce9cf8684dd2cd7"
+        hash: "9886d2b883d236bd0a346c6763c1f245"
     }
     Frame {
         msec: 1024
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1040
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1056
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1072
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1088
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1104
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1120
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1136
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1152
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1168
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1184
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1200
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1216
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1232
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1248
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1264
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1280
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1296
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1312
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1328
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1344
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1360
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1376
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1392
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1408
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1424
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1440
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1456
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1472
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1488
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1504
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1520
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1536
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1552
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1568
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1584
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1600
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1616
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1632
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1648
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1664
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1680
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1696
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1712
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1728
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1744
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
     Frame {
         msec: 1760
-        hash: "eee4600ac08b458ac7ac2320e225674c"
+        hash: "3ccd3d26158a50d8f0567bafd7a23e06"
     }
 }
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.0.png
index 88e065b..99f0eb7 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.1.png
new file mode 100644
index 0000000..99f0eb7
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.1.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.qml
index 96144e1..6dc7f4f 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.qml
@@ -6,274 +6,274 @@ VisualTest {
     }
     Frame {
         msec: 16
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        image: "elide.0.png"
     }
     Frame {
         msec: 32
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 48
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 64
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 80
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 96
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 112
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 128
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 144
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 160
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 176
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 192
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 208
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 224
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 240
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 256
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 272
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 288
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 304
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 320
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 336
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 352
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 368
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 384
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 400
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 416
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 432
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 448
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 464
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 480
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 496
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 512
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 528
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 544
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 560
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 576
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 592
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 608
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 624
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 640
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 656
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 672
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 688
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 704
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 720
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 736
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 752
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 768
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 784
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 800
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 816
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 832
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 848
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 864
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 880
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 896
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 912
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 928
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 944
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 960
-        image: "elide.0.png"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 976
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        image: "elide.1.png"
     }
     Key {
         type: 6
         key: 16777249
-        modifiers: 0
+        modifiers: 67108864
         text: ""
         autorep: false
         count: 1
     }
     Frame {
         msec: 992
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 1008
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 1024
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 1040
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
     Frame {
         msec: 1056
-        hash: "7d056af7620fe8387955a1401a4f088a"
+        hash: "8401ef19b1e07ca917b8b061888d4e70"
     }
 }
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.0.png
index 4df514a..0b08fba 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.1.png
index e752fec..dbf8cd3 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.1.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.1.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.2.png
index d2f8633..09646f8 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.2.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.2.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.3.png
index 0162321..b6734b4 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.3.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.3.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.4.png
new file mode 100644
index 0000000..861f6b0
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.4.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.qml
index b531942..026f880 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.qml
@@ -6,986 +6,986 @@ VisualTest {
     }
     Frame {
         msec: 16
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        image: "elide2.0.png"
     }
     Frame {
         msec: 32
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "d482dd54c0f3876a11d80979ada91fa9"
     }
     Frame {
         msec: 48
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "d482dd54c0f3876a11d80979ada91fa9"
     }
     Frame {
         msec: 64
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "d482dd54c0f3876a11d80979ada91fa9"
     }
     Frame {
         msec: 80
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "d482dd54c0f3876a11d80979ada91fa9"
     }
     Frame {
         msec: 96
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "d482dd54c0f3876a11d80979ada91fa9"
     }
     Frame {
         msec: 112
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "3eb1cc8fa11ae88a3bf5004263805264"
     }
     Frame {
         msec: 128
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "3eb1cc8fa11ae88a3bf5004263805264"
     }
     Frame {
         msec: 144
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "3eb1cc8fa11ae88a3bf5004263805264"
     }
     Frame {
         msec: 160
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "3eb1cc8fa11ae88a3bf5004263805264"
     }
     Frame {
         msec: 176
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "3eb1cc8fa11ae88a3bf5004263805264"
     }
     Frame {
         msec: 192
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "b169f3828fafa79245bd5886d94a33b2"
     }
     Frame {
         msec: 208
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "b169f3828fafa79245bd5886d94a33b2"
     }
     Frame {
         msec: 224
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "b169f3828fafa79245bd5886d94a33b2"
     }
     Frame {
         msec: 240
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "b169f3828fafa79245bd5886d94a33b2"
     }
     Frame {
         msec: 256
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "c9a22f77cce333ea041730bc76d9bb96"
     }
     Frame {
         msec: 272
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "c9a22f77cce333ea041730bc76d9bb96"
     }
     Frame {
         msec: 288
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "c9a22f77cce333ea041730bc76d9bb96"
     }
     Frame {
         msec: 304
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "c9a22f77cce333ea041730bc76d9bb96"
     }
     Frame {
         msec: 320
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "958e5805b2bc2ffeaf8a6c8c24721dd5"
     }
     Frame {
         msec: 336
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "958e5805b2bc2ffeaf8a6c8c24721dd5"
     }
     Frame {
         msec: 352
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "958e5805b2bc2ffeaf8a6c8c24721dd5"
     }
     Frame {
         msec: 368
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "958e5805b2bc2ffeaf8a6c8c24721dd5"
     }
     Frame {
         msec: 384
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "958e5805b2bc2ffeaf8a6c8c24721dd5"
     }
     Frame {
         msec: 400
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "ed14c796dc2980f7a1bdedb15698ae01"
     }
     Frame {
         msec: 416
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "ed14c796dc2980f7a1bdedb15698ae01"
     }
     Frame {
         msec: 432
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "ed14c796dc2980f7a1bdedb15698ae01"
     }
     Frame {
         msec: 448
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "ed14c796dc2980f7a1bdedb15698ae01"
     }
     Frame {
         msec: 464
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "ed14c796dc2980f7a1bdedb15698ae01"
     }
     Frame {
         msec: 480
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "24d811c9b98b0cb140e7e82090e793ab"
     }
     Frame {
         msec: 496
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "24d811c9b98b0cb140e7e82090e793ab"
     }
     Frame {
         msec: 512
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "24d811c9b98b0cb140e7e82090e793ab"
     }
     Frame {
         msec: 528
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "24d811c9b98b0cb140e7e82090e793ab"
     }
     Frame {
         msec: 544
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "afa28a6a682128b1b44df31c78b63b04"
     }
     Frame {
         msec: 560
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "afa28a6a682128b1b44df31c78b63b04"
     }
     Frame {
         msec: 576
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "afa28a6a682128b1b44df31c78b63b04"
     }
     Frame {
         msec: 592
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "afa28a6a682128b1b44df31c78b63b04"
     }
     Frame {
         msec: 608
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "c43bba2d3406fabdafac344102d7d72c"
     }
     Frame {
         msec: 624
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "c43bba2d3406fabdafac344102d7d72c"
     }
     Frame {
         msec: 640
-        hash: "90a45871fcfc509e60d4ee01527cde3b"
+        hash: "c43bba2d3406fabdafac344102d7d72c"
     }
     Frame {
         msec: 656
-        hash: "c73bf21c0c9946e123372c660c78e7dd"
+        hash: "c43bba2d3406fabdafac344102d7d72c"
     }
     Frame {
         msec: 672
-        hash: "c73bf21c0c9946e123372c660c78e7dd"
+        hash: "c43bba2d3406fabdafac344102d7d72c"
     }
     Frame {
         msec: 688
-        hash: "c73bf21c0c9946e123372c660c78e7dd"
+        hash: "0e1fb18acb72ca1da6fd619e31dd2c86"
     }
     Frame {
         msec: 704
-        hash: "bba29f9ce1a1d7dafdfe34b0ab952658"
+        hash: "0e1fb18acb72ca1da6fd619e31dd2c86"
     }
     Frame {
         msec: 720
-        hash: "bba29f9ce1a1d7dafdfe34b0ab952658"
+        hash: "0e1fb18acb72ca1da6fd619e31dd2c86"
     }
     Frame {
         msec: 736
-        hash: "bba29f9ce1a1d7dafdfe34b0ab952658"
+        hash: "0e1fb18acb72ca1da6fd619e31dd2c86"
     }
     Frame {
         msec: 752
-        hash: "bba29f9ce1a1d7dafdfe34b0ab952658"
+        hash: "0e1fb18acb72ca1da6fd619e31dd2c86"
     }
     Frame {
         msec: 768
-        hash: "bba29f9ce1a1d7dafdfe34b0ab952658"
+        hash: "d5780e5b30828f33d18c1f4e32ba8c3f"
     }
     Frame {
         msec: 784
-        hash: "26f95496c4f1fa217d681a1ae79eff86"
+        hash: "d5780e5b30828f33d18c1f4e32ba8c3f"
     }
     Frame {
         msec: 800
-        hash: "26f95496c4f1fa217d681a1ae79eff86"
+        hash: "d5780e5b30828f33d18c1f4e32ba8c3f"
     }
     Frame {
         msec: 816
-        hash: "26f95496c4f1fa217d681a1ae79eff86"
+        hash: "d5780e5b30828f33d18c1f4e32ba8c3f"
     }
     Frame {
         msec: 832
-        hash: "26f95496c4f1fa217d681a1ae79eff86"
+        hash: "28bdd1ab1c1af1b39a2f9d11be456682"
     }
     Frame {
         msec: 848
-        hash: "96a83eae50a073573ace90239a64d326"
+        hash: "28bdd1ab1c1af1b39a2f9d11be456682"
     }
     Frame {
         msec: 864
-        hash: "96a83eae50a073573ace90239a64d326"
+        hash: "28bdd1ab1c1af1b39a2f9d11be456682"
     }
     Frame {
         msec: 880
-        hash: "7b15d75c611f24977f2a1b44ef9e16d8"
+        hash: "28bdd1ab1c1af1b39a2f9d11be456682"
     }
     Frame {
         msec: 896
-        hash: "7b15d75c611f24977f2a1b44ef9e16d8"
+        hash: "28bdd1ab1c1af1b39a2f9d11be456682"
     }
     Frame {
         msec: 912
-        hash: "7b15d75c611f24977f2a1b44ef9e16d8"
+        hash: "e34a9080716cebc0260e682960cc7c6e"
     }
     Frame {
         msec: 928
-        hash: "7b15d75c611f24977f2a1b44ef9e16d8"
+        hash: "e34a9080716cebc0260e682960cc7c6e"
     }
     Frame {
         msec: 944
-        hash: "7b15d75c611f24977f2a1b44ef9e16d8"
+        hash: "e34a9080716cebc0260e682960cc7c6e"
     }
     Frame {
         msec: 960
-        image: "elide2.0.png"
+        hash: "e34a9080716cebc0260e682960cc7c6e"
     }
     Frame {
         msec: 976
-        hash: "7b15d75c611f24977f2a1b44ef9e16d8"
+        image: "elide2.1.png"
     }
     Frame {
         msec: 992
-        hash: "7b000cccb4e4cdaa53b025d235478b1c"
+        hash: "61959fc3d6f84a9fe88ec1a2979da9af"
     }
     Frame {
         msec: 1008
-        hash: "7b000cccb4e4cdaa53b025d235478b1c"
+        hash: "61959fc3d6f84a9fe88ec1a2979da9af"
     }
     Frame {
         msec: 1024
-        hash: "18366b01550fdd4a7dc7305a6289ac9b"
+        hash: "61959fc3d6f84a9fe88ec1a2979da9af"
     }
     Frame {
         msec: 1040
-        hash: "18366b01550fdd4a7dc7305a6289ac9b"
+        hash: "47794b18771d6d558ebbca881de92377"
     }
     Frame {
         msec: 1056
-        hash: "18366b01550fdd4a7dc7305a6289ac9b"
+        hash: "47794b18771d6d558ebbca881de92377"
     }
     Frame {
         msec: 1072
-        hash: "18366b01550fdd4a7dc7305a6289ac9b"
+        hash: "47794b18771d6d558ebbca881de92377"
     }
     Frame {
         msec: 1088
-        hash: "18366b01550fdd4a7dc7305a6289ac9b"
+        hash: "47794b18771d6d558ebbca881de92377"
     }
     Frame {
         msec: 1104
-        hash: "cde86069e7f9809ef2c88cc6ea83910b"
+        hash: "47794b18771d6d558ebbca881de92377"
     }
     Frame {
         msec: 1120
-        hash: "cde86069e7f9809ef2c88cc6ea83910b"
+        hash: "ba34b024ddb4e701d1d7f0c19e24d6cf"
     }
     Frame {
         msec: 1136
-        hash: "cde86069e7f9809ef2c88cc6ea83910b"
+        hash: "ba34b024ddb4e701d1d7f0c19e24d6cf"
     }
     Frame {
         msec: 1152
-        hash: "cde86069e7f9809ef2c88cc6ea83910b"
+        hash: "ba34b024ddb4e701d1d7f0c19e24d6cf"
     }
     Frame {
         msec: 1168
-        hash: "b8c7416944cb741ceb4ee0e8545037b1"
+        hash: "ba34b024ddb4e701d1d7f0c19e24d6cf"
     }
     Frame {
         msec: 1184
-        hash: "b8c7416944cb741ceb4ee0e8545037b1"
+        hash: "ba34b024ddb4e701d1d7f0c19e24d6cf"
     }
     Frame {
         msec: 1200
-        hash: "b8c7416944cb741ceb4ee0e8545037b1"
+        hash: "e94344268d2a118053ecc3aef278d91d"
     }
     Frame {
         msec: 1216
-        hash: "74a03bf98bb205d7962e0fcc025c4ed3"
+        hash: "e94344268d2a118053ecc3aef278d91d"
     }
     Frame {
         msec: 1232
-        hash: "74a03bf98bb205d7962e0fcc025c4ed3"
+        hash: "e94344268d2a118053ecc3aef278d91d"
     }
     Frame {
         msec: 1248
-        hash: "74a03bf98bb205d7962e0fcc025c4ed3"
+        hash: "e94344268d2a118053ecc3aef278d91d"
     }
     Frame {
         msec: 1264
-        hash: "74a03bf98bb205d7962e0fcc025c4ed3"
+        hash: "df1959605d3bd74e84e51cbd4d322235"
     }
     Frame {
         msec: 1280
-        hash: "0d286d7e274868e87f7de4367b69386e"
+        hash: "df1959605d3bd74e84e51cbd4d322235"
     }
     Frame {
         msec: 1296
-        hash: "0d286d7e274868e87f7de4367b69386e"
+        hash: "df1959605d3bd74e84e51cbd4d322235"
     }
     Frame {
         msec: 1312
-        hash: "892e9e8feeb15bbad5f38cb354aa7290"
+        hash: "df1959605d3bd74e84e51cbd4d322235"
     }
     Frame {
         msec: 1328
-        hash: "892e9e8feeb15bbad5f38cb354aa7290"
+        hash: "26e1c8d13f0dd3713dce24211a8d26c1"
     }
     Frame {
         msec: 1344
-        hash: "892e9e8feeb15bbad5f38cb354aa7290"
+        hash: "26e1c8d13f0dd3713dce24211a8d26c1"
     }
     Frame {
         msec: 1360
-        hash: "06d6ad94b01af5b441fd64536f7740ff"
+        hash: "26e1c8d13f0dd3713dce24211a8d26c1"
     }
     Frame {
         msec: 1376
-        hash: "06d6ad94b01af5b441fd64536f7740ff"
+        hash: "26e1c8d13f0dd3713dce24211a8d26c1"
     }
     Frame {
         msec: 1392
-        hash: "06d6ad94b01af5b441fd64536f7740ff"
+        hash: "26e1c8d13f0dd3713dce24211a8d26c1"
     }
     Frame {
         msec: 1408
-        hash: "0552844f7915835d3a35a01137d4c310"
+        hash: "fd1344db48093182eb2c2872ceb887df"
     }
     Frame {
         msec: 1424
-        hash: "0552844f7915835d3a35a01137d4c310"
+        hash: "fd1344db48093182eb2c2872ceb887df"
     }
     Frame {
         msec: 1440
-        hash: "0552844f7915835d3a35a01137d4c310"
+        hash: "fd1344db48093182eb2c2872ceb887df"
     }
     Frame {
         msec: 1456
-        hash: "0552844f7915835d3a35a01137d4c310"
+        hash: "fd1344db48093182eb2c2872ceb887df"
     }
     Frame {
         msec: 1472
-        hash: "0552844f7915835d3a35a01137d4c310"
+        hash: "fd1344db48093182eb2c2872ceb887df"
     }
     Frame {
         msec: 1488
-        hash: "afdf5d4d9e49a82a395afad6b3fe4f86"
+        hash: "a4bf54bbb5bcbf54de6a7a2be9b73b81"
     }
     Frame {
         msec: 1504
-        hash: "afdf5d4d9e49a82a395afad6b3fe4f86"
+        hash: "a4bf54bbb5bcbf54de6a7a2be9b73b81"
     }
     Frame {
         msec: 1520
-        hash: "afdf5d4d9e49a82a395afad6b3fe4f86"
+        hash: "a4bf54bbb5bcbf54de6a7a2be9b73b81"
     }
     Frame {
         msec: 1536
-        hash: "afdf5d4d9e49a82a395afad6b3fe4f86"
+        hash: "a4bf54bbb5bcbf54de6a7a2be9b73b81"
     }
     Frame {
         msec: 1552
-        hash: "bb434e586d40ae0ebcb89cde55a4ca11"
+        hash: "072a6c0e64853f57487845f2ff376c12"
     }
     Frame {
         msec: 1568
-        hash: "bb434e586d40ae0ebcb89cde55a4ca11"
+        hash: "072a6c0e64853f57487845f2ff376c12"
     }
     Frame {
         msec: 1584
-        hash: "bb434e586d40ae0ebcb89cde55a4ca11"
+        hash: "072a6c0e64853f57487845f2ff376c12"
     }
     Frame {
         msec: 1600
-        hash: "bb434e586d40ae0ebcb89cde55a4ca11"
+        hash: "072a6c0e64853f57487845f2ff376c12"
     }
     Frame {
         msec: 1616
-        hash: "bb434e586d40ae0ebcb89cde55a4ca11"
+        hash: "072a6c0e64853f57487845f2ff376c12"
     }
     Frame {
         msec: 1632
-        hash: "771561a07b3eb2396231b17343da7125"
+        hash: "d4183aba9cd5607ea1ff1572c78d33cc"
     }
     Frame {
         msec: 1648
-        hash: "771561a07b3eb2396231b17343da7125"
+        hash: "d4183aba9cd5607ea1ff1572c78d33cc"
     }
     Frame {
         msec: 1664
-        hash: "771561a07b3eb2396231b17343da7125"
+        hash: "d4183aba9cd5607ea1ff1572c78d33cc"
     }
     Frame {
         msec: 1680
-        hash: "771561a07b3eb2396231b17343da7125"
+        hash: "d4183aba9cd5607ea1ff1572c78d33cc"
     }
     Frame {
         msec: 1696
-        hash: "771561a07b3eb2396231b17343da7125"
+        hash: "31cb8e151b34187f712b269b38a317a7"
     }
     Frame {
         msec: 1712
-        hash: "771561a07b3eb2396231b17343da7125"
+        hash: "31cb8e151b34187f712b269b38a317a7"
     }
     Frame {
         msec: 1728
-        hash: "d3d23db79c5f2a374b267bcda8919d1e"
+        hash: "31cb8e151b34187f712b269b38a317a7"
     }
     Frame {
         msec: 1744
-        hash: "d3d23db79c5f2a374b267bcda8919d1e"
+        hash: "31cb8e151b34187f712b269b38a317a7"
     }
     Key {
         type: 6
         key: 16777249
-        modifiers: 0
+        modifiers: 67108864
         text: ""
         autorep: false
         count: 1
     }
     Frame {
         msec: 1760
-        hash: "36a40dbdbb39122d30c26643e5924548"
+        hash: "31cb8e151b34187f712b269b38a317a7"
     }
     Frame {
         msec: 1776
-        hash: "36a40dbdbb39122d30c26643e5924548"
+        hash: "e24ad0aed6a071d6da9f51af00c69300"
     }
     Frame {
         msec: 1792
-        hash: "36a40dbdbb39122d30c26643e5924548"
+        hash: "e24ad0aed6a071d6da9f51af00c69300"
     }
     Frame {
         msec: 1808
-        hash: "36a40dbdbb39122d30c26643e5924548"
+        hash: "e24ad0aed6a071d6da9f51af00c69300"
     }
     Frame {
         msec: 1824
-        hash: "36a40dbdbb39122d30c26643e5924548"
+        hash: "e24ad0aed6a071d6da9f51af00c69300"
     }
     Frame {
         msec: 1840
-        hash: "6a202f32d3d7a7c9edc97e55c2fe7aca"
+        hash: "760eea420a5eb52ccd1f6a29d6701338"
     }
     Frame {
         msec: 1856
-        hash: "6a202f32d3d7a7c9edc97e55c2fe7aca"
+        hash: "760eea420a5eb52ccd1f6a29d6701338"
     }
     Frame {
         msec: 1872
-        hash: "6a202f32d3d7a7c9edc97e55c2fe7aca"
+        hash: "760eea420a5eb52ccd1f6a29d6701338"
     }
     Frame {
         msec: 1888
-        hash: "765b11a4fff9a7295440568899107159"
+        hash: "760eea420a5eb52ccd1f6a29d6701338"
     }
     Frame {
         msec: 1904
-        hash: "765b11a4fff9a7295440568899107159"
+        hash: "760eea420a5eb52ccd1f6a29d6701338"
     }
     Frame {
         msec: 1920
-        image: "elide2.1.png"
+        hash: "07cdcdb9b551750c4a742ee6dff9f3f9"
     }
     Frame {
         msec: 1936
-        hash: "765b11a4fff9a7295440568899107159"
+        image: "elide2.2.png"
     }
     Frame {
         msec: 1952
-        hash: "765b11a4fff9a7295440568899107159"
+        hash: "07cdcdb9b551750c4a742ee6dff9f3f9"
     }
     Frame {
         msec: 1968
-        hash: "e2726e028d0a17a918a28d248a087d71"
+        hash: "07cdcdb9b551750c4a742ee6dff9f3f9"
     }
     Frame {
         msec: 1984
-        hash: "e2726e028d0a17a918a28d248a087d71"
+        hash: "ec4dada16fb19fb4cf24367c9f25f161"
     }
     Frame {
         msec: 2000
-        hash: "e2726e028d0a17a918a28d248a087d71"
+        hash: "ec4dada16fb19fb4cf24367c9f25f161"
     }
     Frame {
         msec: 2016
-        hash: "e2726e028d0a17a918a28d248a087d71"
+        hash: "ec4dada16fb19fb4cf24367c9f25f161"
     }
     Frame {
         msec: 2032
-        hash: "94243dc2a8013e86250c993103b2d789"
+        hash: "ec4dada16fb19fb4cf24367c9f25f161"
     }
     Frame {
         msec: 2048
-        hash: "94243dc2a8013e86250c993103b2d789"
+        hash: "ec4dada16fb19fb4cf24367c9f25f161"
     }
     Frame {
         msec: 2064
-        hash: "94243dc2a8013e86250c993103b2d789"
+        hash: "f5ef19dc69f8b6060056f7005f613ca3"
     }
     Frame {
         msec: 2080
-        hash: "94243dc2a8013e86250c993103b2d789"
+        hash: "f5ef19dc69f8b6060056f7005f613ca3"
     }
     Frame {
         msec: 2096
-        hash: "94243dc2a8013e86250c993103b2d789"
+        hash: "f5ef19dc69f8b6060056f7005f613ca3"
     }
     Frame {
         msec: 2112
-        hash: "d8fdababa06e1cafa9047de16d5a07b5"
+        hash: "f5ef19dc69f8b6060056f7005f613ca3"
     }
     Frame {
         msec: 2128
-        hash: "d8fdababa06e1cafa9047de16d5a07b5"
+        hash: "6bd00519ea14f0dd34d45de4deaaa65e"
     }
     Frame {
         msec: 2144
-        hash: "d8fdababa06e1cafa9047de16d5a07b5"
+        hash: "6bd00519ea14f0dd34d45de4deaaa65e"
     }
     Frame {
         msec: 2160
-        hash: "d8fdababa06e1cafa9047de16d5a07b5"
+        hash: "6bd00519ea14f0dd34d45de4deaaa65e"
     }
     Frame {
         msec: 2176
-        hash: "d8fdababa06e1cafa9047de16d5a07b5"
+        hash: "6bd00519ea14f0dd34d45de4deaaa65e"
     }
     Frame {
         msec: 2192
-        hash: "f31d3f99faff3289b38ec91a43108707"
+        hash: "6bd00519ea14f0dd34d45de4deaaa65e"
     }
     Frame {
         msec: 2208
-        hash: "f31d3f99faff3289b38ec91a43108707"
+        hash: "1c3e491e889e408f705477f060103243"
     }
     Frame {
         msec: 2224
-        hash: "f31d3f99faff3289b38ec91a43108707"
+        hash: "1c3e491e889e408f705477f060103243"
     }
     Frame {
         msec: 2240
-        hash: "60468f768e70c91cd28dca9479ed7738"
+        hash: "1c3e491e889e408f705477f060103243"
     }
     Frame {
         msec: 2256
-        hash: "60468f768e70c91cd28dca9479ed7738"
+        hash: "1c3e491e889e408f705477f060103243"
     }
     Frame {
         msec: 2272
-        hash: "fd5e8714cdd406f5626682c15a6efa38"
+        hash: "80bc59211ffab64820e306e6eb13d2fc"
     }
     Frame {
         msec: 2288
-        hash: "fd5e8714cdd406f5626682c15a6efa38"
+        hash: "80bc59211ffab64820e306e6eb13d2fc"
     }
     Frame {
         msec: 2304
-        hash: "fd5e8714cdd406f5626682c15a6efa38"
+        hash: "80bc59211ffab64820e306e6eb13d2fc"
     }
     Frame {
         msec: 2320
-        hash: "20f37569f7f3b374753b991b28d98e74"
+        hash: "80bc59211ffab64820e306e6eb13d2fc"
     }
     Frame {
         msec: 2336
-        hash: "20f37569f7f3b374753b991b28d98e74"
+        hash: "80bc59211ffab64820e306e6eb13d2fc"
     }
     Frame {
         msec: 2352
-        hash: "20f37569f7f3b374753b991b28d98e74"
+        hash: "7765c76dd2ef99e4d7286fcb3a172a07"
     }
     Frame {
         msec: 2368
-        hash: "20f37569f7f3b374753b991b28d98e74"
+        hash: "7765c76dd2ef99e4d7286fcb3a172a07"
     }
     Frame {
         msec: 2384
-        hash: "20f37569f7f3b374753b991b28d98e74"
+        hash: "7765c76dd2ef99e4d7286fcb3a172a07"
     }
     Frame {
         msec: 2400
-        hash: "8ab72206d4ba87effd44844c67ab4d53"
+        hash: "7765c76dd2ef99e4d7286fcb3a172a07"
     }
     Frame {
         msec: 2416
-        hash: "8ab72206d4ba87effd44844c67ab4d53"
+        hash: "7765c76dd2ef99e4d7286fcb3a172a07"
     }
     Frame {
         msec: 2432
-        hash: "65fccdd3a8803ec1d70a12407366fb57"
+        hash: "8fedc4d5d4161922c1d9d50adcf67e4a"
     }
     Frame {
         msec: 2448
-        hash: "65fccdd3a8803ec1d70a12407366fb57"
+        hash: "8fedc4d5d4161922c1d9d50adcf67e4a"
     }
     Frame {
         msec: 2464
-        hash: "65fccdd3a8803ec1d70a12407366fb57"
+        hash: "8fedc4d5d4161922c1d9d50adcf67e4a"
     }
     Frame {
         msec: 2480
-        hash: "65fccdd3a8803ec1d70a12407366fb57"
+        hash: "8fedc4d5d4161922c1d9d50adcf67e4a"
     }
     Frame {
         msec: 2496
-        hash: "65fccdd3a8803ec1d70a12407366fb57"
+        hash: "4f26d7ab05e6d39a869be1259e33c739"
     }
     Frame {
         msec: 2512
-        hash: "ea98cc56d2f402814d8c1b952c8bd9a0"
+        hash: "4f26d7ab05e6d39a869be1259e33c739"
     }
     Frame {
         msec: 2528
-        hash: "ea98cc56d2f402814d8c1b952c8bd9a0"
+        hash: "4f26d7ab05e6d39a869be1259e33c739"
     }
     Frame {
         msec: 2544
-        hash: "ea98cc56d2f402814d8c1b952c8bd9a0"
+        hash: "4f26d7ab05e6d39a869be1259e33c739"
     }
     Frame {
         msec: 2560
-        hash: "ea98cc56d2f402814d8c1b952c8bd9a0"
+        hash: "d4ead42bcc2e283e513f1ab4f8a89f27"
     }
     Frame {
         msec: 2576
-        hash: "6dd6532db6afba17d36930bfd71abb5d"
+        hash: "d4ead42bcc2e283e513f1ab4f8a89f27"
     }
     Frame {
         msec: 2592
-        hash: "6dd6532db6afba17d36930bfd71abb5d"
+        hash: "d4ead42bcc2e283e513f1ab4f8a89f27"
     }
     Frame {
         msec: 2608
-        hash: "6dd6532db6afba17d36930bfd71abb5d"
+        hash: "d4ead42bcc2e283e513f1ab4f8a89f27"
     }
     Frame {
         msec: 2624
-        hash: "6dd6532db6afba17d36930bfd71abb5d"
+        hash: "d4ead42bcc2e283e513f1ab4f8a89f27"
     }
     Frame {
         msec: 2640
-        hash: "6dd6532db6afba17d36930bfd71abb5d"
+        hash: "6d91b100f369381b24052e5a4466e24d"
     }
     Frame {
         msec: 2656
-        hash: "70989ac02176a37beb2cf259cd2d9770"
+        hash: "6d91b100f369381b24052e5a4466e24d"
     }
     Frame {
         msec: 2672
-        hash: "70989ac02176a37beb2cf259cd2d9770"
+        hash: "6d91b100f369381b24052e5a4466e24d"
     }
     Frame {
         msec: 2688
-        hash: "70989ac02176a37beb2cf259cd2d9770"
+        hash: "6d91b100f369381b24052e5a4466e24d"
     }
     Frame {
         msec: 2704
-        hash: "70989ac02176a37beb2cf259cd2d9770"
+        hash: "2d6082b41e3cfdc3be9c130311ac854a"
     }
     Frame {
         msec: 2720
-        hash: "1c6d8786cb42afa2af611dec5ebdcda7"
+        hash: "2d6082b41e3cfdc3be9c130311ac854a"
     }
     Frame {
         msec: 2736
-        hash: "1c6d8786cb42afa2af611dec5ebdcda7"
+        hash: "2d6082b41e3cfdc3be9c130311ac854a"
     }
     Frame {
         msec: 2752
-        hash: "3e8215d2cb61404230284ddd0041a79c"
+        hash: "2d6082b41e3cfdc3be9c130311ac854a"
     }
     Frame {
         msec: 2768
-        hash: "3e8215d2cb61404230284ddd0041a79c"
+        hash: "2d6082b41e3cfdc3be9c130311ac854a"
     }
     Frame {
         msec: 2784
-        hash: "3e8215d2cb61404230284ddd0041a79c"
+        hash: "78732b58812f202768fa224aefce187d"
     }
     Frame {
         msec: 2800
-        hash: "3e8215d2cb61404230284ddd0041a79c"
+        hash: "78732b58812f202768fa224aefce187d"
     }
     Frame {
         msec: 2816
-        hash: "3e8215d2cb61404230284ddd0041a79c"
+        hash: "78732b58812f202768fa224aefce187d"
     }
     Frame {
         msec: 2832
-        hash: "a4ed37665222950eab7fcb53dbe22bcf"
+        hash: "78732b58812f202768fa224aefce187d"
     }
     Frame {
         msec: 2848
-        hash: "a4ed37665222950eab7fcb53dbe22bcf"
+        hash: "54d728d677cf3a07c4da7727a75e6c59"
     }
     Frame {
         msec: 2864
-        hash: "a4ed37665222950eab7fcb53dbe22bcf"
+        hash: "54d728d677cf3a07c4da7727a75e6c59"
     }
     Frame {
         msec: 2880
-        image: "elide2.2.png"
+        hash: "54d728d677cf3a07c4da7727a75e6c59"
     }
     Frame {
         msec: 2896
-        hash: "a4ed37665222950eab7fcb53dbe22bcf"
+        image: "elide2.3.png"
     }
     Frame {
         msec: 2912
-        hash: "a4ed37665222950eab7fcb53dbe22bcf"
+        hash: "54d728d677cf3a07c4da7727a75e6c59"
     }
     Frame {
         msec: 2928
-        hash: "a7f26f5fbcc97f408974e4bc23fd0b70"
+        hash: "45ec3534077f6fa66d7710010cceb332"
     }
     Frame {
         msec: 2944
-        hash: "a7f26f5fbcc97f408974e4bc23fd0b70"
+        hash: "45ec3534077f6fa66d7710010cceb332"
     }
     Frame {
         msec: 2960
-        hash: "913478b8d5d05967efd1c83e80e773e2"
+        hash: "45ec3534077f6fa66d7710010cceb332"
     }
     Frame {
         msec: 2976
-        hash: "913478b8d5d05967efd1c83e80e773e2"
+        hash: "45ec3534077f6fa66d7710010cceb332"
     }
     Frame {
         msec: 2992
-        hash: "913478b8d5d05967efd1c83e80e773e2"
+        hash: "ef909728fa59292ffed1d047835439d6"
     }
     Frame {
         msec: 3008
-        hash: "130749caf262b3055e7ac229b6b89548"
+        hash: "ef909728fa59292ffed1d047835439d6"
     }
     Frame {
         msec: 3024
-        hash: "130749caf262b3055e7ac229b6b89548"
+        hash: "ef909728fa59292ffed1d047835439d6"
     }
     Frame {
         msec: 3040
-        hash: "130749caf262b3055e7ac229b6b89548"
+        hash: "ef909728fa59292ffed1d047835439d6"
     }
     Frame {
         msec: 3056
-        hash: "130749caf262b3055e7ac229b6b89548"
+        hash: "ef909728fa59292ffed1d047835439d6"
     }
     Frame {
         msec: 3072
-        hash: "130749caf262b3055e7ac229b6b89548"
+        hash: "454741313d087e5d13ddeaf02663746f"
     }
     Frame {
         msec: 3088
-        hash: "d7260d913c58065a671ff6b931bb2fb6"
+        hash: "454741313d087e5d13ddeaf02663746f"
     }
     Frame {
         msec: 3104
-        hash: "d7260d913c58065a671ff6b931bb2fb6"
+        hash: "454741313d087e5d13ddeaf02663746f"
     }
     Frame {
         msec: 3120
-        hash: "d7260d913c58065a671ff6b931bb2fb6"
+        hash: "454741313d087e5d13ddeaf02663746f"
     }
     Frame {
         msec: 3136
-        hash: "d7260d913c58065a671ff6b931bb2fb6"
+        hash: "454741313d087e5d13ddeaf02663746f"
     }
     Frame {
         msec: 3152
-        hash: "9059402dce5cb1813af8f7ebbd831bca"
+        hash: "02928f0a8f8f1011028114487b8dccf8"
     }
     Frame {
         msec: 3168
-        hash: "9059402dce5cb1813af8f7ebbd831bca"
+        hash: "02928f0a8f8f1011028114487b8dccf8"
     }
     Frame {
         msec: 3184
-        hash: "9059402dce5cb1813af8f7ebbd831bca"
+        hash: "02928f0a8f8f1011028114487b8dccf8"
     }
     Frame {
         msec: 3200
-        hash: "80387fc8aedc0c490c689c3a1711fe9f"
+        hash: "02928f0a8f8f1011028114487b8dccf8"
     }
     Frame {
         msec: 3216
-        hash: "80387fc8aedc0c490c689c3a1711fe9f"
+        hash: "e0fca67bb095c9891831cd9355b4880d"
     }
     Frame {
         msec: 3232
-        hash: "80387fc8aedc0c490c689c3a1711fe9f"
+        hash: "e0fca67bb095c9891831cd9355b4880d"
     }
     Frame {
         msec: 3248
-        hash: "f461bf58cbfd345a3f4e087cfcb0e9f0"
+        hash: "e0fca67bb095c9891831cd9355b4880d"
     }
     Frame {
         msec: 3264
-        hash: "f461bf58cbfd345a3f4e087cfcb0e9f0"
+        hash: "e0fca67bb095c9891831cd9355b4880d"
     }
     Frame {
         msec: 3280
-        hash: "d41a792b81cb891a91f2bff6dbee3bdd"
+        hash: "f5ae54931d953fc95cfbdbde1993bebe"
     }
     Frame {
         msec: 3296
-        hash: "d41a792b81cb891a91f2bff6dbee3bdd"
+        hash: "f5ae54931d953fc95cfbdbde1993bebe"
     }
     Frame {
         msec: 3312
-        hash: "d41a792b81cb891a91f2bff6dbee3bdd"
+        hash: "f5ae54931d953fc95cfbdbde1993bebe"
     }
     Frame {
         msec: 3328
-        hash: "d41a792b81cb891a91f2bff6dbee3bdd"
+        hash: "f5ae54931d953fc95cfbdbde1993bebe"
     }
     Frame {
         msec: 3344
-        hash: "d41a792b81cb891a91f2bff6dbee3bdd"
+        hash: "f5ae54931d953fc95cfbdbde1993bebe"
     }
     Frame {
         msec: 3360
-        hash: "664ac430dd416e6d1ed7e001458202cf"
+        hash: "9afb0b2a185e2f825e9fad1c3644f6cb"
     }
     Frame {
         msec: 3376
-        hash: "664ac430dd416e6d1ed7e001458202cf"
+        hash: "9afb0b2a185e2f825e9fad1c3644f6cb"
     }
     Frame {
         msec: 3392
-        hash: "664ac430dd416e6d1ed7e001458202cf"
+        hash: "9afb0b2a185e2f825e9fad1c3644f6cb"
     }
     Frame {
         msec: 3408
-        hash: "664ac430dd416e6d1ed7e001458202cf"
+        hash: "9afb0b2a185e2f825e9fad1c3644f6cb"
     }
     Frame {
         msec: 3424
-        hash: "664ac430dd416e6d1ed7e001458202cf"
+        hash: "9afb0b2a185e2f825e9fad1c3644f6cb"
     }
     Frame {
         msec: 3440
-        hash: "c7a9e47b613745858a76a57e1782b566"
+        hash: "f3f5a81d3b5f644a00cea6203f38994c"
     }
     Frame {
         msec: 3456
-        hash: "c7a9e47b613745858a76a57e1782b566"
+        hash: "f3f5a81d3b5f644a00cea6203f38994c"
     }
     Frame {
         msec: 3472
-        hash: "b90d46cbd9d7d1d82cb9abfbe27fc549"
+        hash: "f3f5a81d3b5f644a00cea6203f38994c"
     }
     Frame {
         msec: 3488
-        hash: "b90d46cbd9d7d1d82cb9abfbe27fc549"
+        hash: "f3f5a81d3b5f644a00cea6203f38994c"
     }
     Frame {
         msec: 3504
-        hash: "b90d46cbd9d7d1d82cb9abfbe27fc549"
+        hash: "bd9884712fd5afe67a3622c809bf4e76"
     }
     Frame {
         msec: 3520
-        hash: "59c03ceae9b13576bd0e285234dfe264"
+        hash: "bd9884712fd5afe67a3622c809bf4e76"
     }
     Frame {
         msec: 3536
-        hash: "59c03ceae9b13576bd0e285234dfe264"
+        hash: "bd9884712fd5afe67a3622c809bf4e76"
     }
     Frame {
         msec: 3552
-        hash: "59c03ceae9b13576bd0e285234dfe264"
+        hash: "bd9884712fd5afe67a3622c809bf4e76"
     }
     Frame {
         msec: 3568
-        hash: "59c03ceae9b13576bd0e285234dfe264"
+        hash: "c9324386954380a72ef4084d13e623b5"
     }
     Frame {
         msec: 3584
-        hash: "59c03ceae9b13576bd0e285234dfe264"
+        hash: "c9324386954380a72ef4084d13e623b5"
     }
     Frame {
         msec: 3600
-        hash: "b883d12eea2ec596cb6ee81f2d1db35f"
+        hash: "c9324386954380a72ef4084d13e623b5"
     }
     Frame {
         msec: 3616
-        hash: "b883d12eea2ec596cb6ee81f2d1db35f"
+        hash: "c9324386954380a72ef4084d13e623b5"
     }
     Frame {
         msec: 3632
-        hash: "b883d12eea2ec596cb6ee81f2d1db35f"
+        hash: "c9324386954380a72ef4084d13e623b5"
     }
     Frame {
         msec: 3648
-        hash: "b883d12eea2ec596cb6ee81f2d1db35f"
+        hash: "6d05fd8e8690e44293af1809f359aa72"
     }
     Frame {
         msec: 3664
-        hash: "9bd66e03c36c8cc279c9cfb1ea9e96a0"
+        hash: "6d05fd8e8690e44293af1809f359aa72"
     }
     Frame {
         msec: 3680
-        hash: "9bd66e03c36c8cc279c9cfb1ea9e96a0"
+        hash: "6d05fd8e8690e44293af1809f359aa72"
     }
     Frame {
         msec: 3696
-        hash: "9bd66e03c36c8cc279c9cfb1ea9e96a0"
+        hash: "6d05fd8e8690e44293af1809f359aa72"
     }
     Frame {
         msec: 3712
-        hash: "9bd66e03c36c8cc279c9cfb1ea9e96a0"
+        hash: "6d05fd8e8690e44293af1809f359aa72"
     }
     Frame {
         msec: 3728
-        hash: "9bd66e03c36c8cc279c9cfb1ea9e96a0"
+        hash: "2d7350a79f5a68d3e3dfc994c6e002ed"
     }
     Frame {
         msec: 3744
-        hash: "ee357c3850d0f328db859e7b790bed83"
+        hash: "2d7350a79f5a68d3e3dfc994c6e002ed"
     }
     Frame {
         msec: 3760
-        hash: "ee357c3850d0f328db859e7b790bed83"
+        hash: "2d7350a79f5a68d3e3dfc994c6e002ed"
     }
     Frame {
         msec: 3776
-        hash: "f706095272153c1e9fc4a4825ba54d91"
+        hash: "2d7350a79f5a68d3e3dfc994c6e002ed"
     }
     Frame {
         msec: 3792
-        hash: "f706095272153c1e9fc4a4825ba54d91"
+        hash: "edb5d50f23a293a7791122fc159aaaa0"
     }
     Frame {
         msec: 3808
-        hash: "34f4d03164469f99bb7bcb365041cf8e"
+        hash: "edb5d50f23a293a7791122fc159aaaa0"
     }
     Frame {
         msec: 3824
-        hash: "34f4d03164469f99bb7bcb365041cf8e"
+        hash: "edb5d50f23a293a7791122fc159aaaa0"
     }
     Frame {
         msec: 3840
-        image: "elide2.3.png"
+        hash: "edb5d50f23a293a7791122fc159aaaa0"
     }
     Frame {
         msec: 3856
-        hash: "34f4d03164469f99bb7bcb365041cf8e"
+        image: "elide2.4.png"
     }
     Frame {
         msec: 3872
-        hash: "34f4d03164469f99bb7bcb365041cf8e"
+        hash: "a863480fec9abf817752c5eb62a2ddf4"
     }
     Frame {
         msec: 3888
-        hash: "97cb5f52e1a5e82a15542b7e5f772fba"
+        hash: "a863480fec9abf817752c5eb62a2ddf4"
     }
     Frame {
         msec: 3904
-        hash: "97cb5f52e1a5e82a15542b7e5f772fba"
+        hash: "a863480fec9abf817752c5eb62a2ddf4"
     }
 }
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.0.png
index 8caaf5f..e1d3b75 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.1.png
new file mode 100644
index 0000000..8013dc9
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.1.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.qml
index 30df3fa..77a7b2f 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.qml
@@ -6,298 +6,298 @@ VisualTest {
     }
     Frame {
         msec: 16
-        hash: "2e258ad7cb0a2cd7c6c47a0b0a9563c1"
+        image: "multilength.0.png"
     }
     Frame {
         msec: 32
-        hash: "d818e0f4f1011a2a8f1d0d803fa18bc0"
+        hash: "ef2b4cc93e5bf5e64d3338921fe36336"
     }
     Frame {
         msec: 48
-        hash: "44b37be97bbd1f0e26d81f76d9643e51"
+        hash: "3ddbd1a53a36b0f8b36d87e742f3b1bd"
     }
     Frame {
         msec: 64
-        hash: "3079a5cf6b8277ae3e1b29ae09d04adc"
+        hash: "f7acfdaf29a3d7bd179b30db784ca01b"
     }
     Frame {
         msec: 80
-        hash: "ba899e6f18abb7105f915cef4e60f1e1"
+        hash: "b5277d02ed63180e845c60e1dd4da7d0"
     }
     Frame {
         msec: 96
-        hash: "6d2d2b3dc8afa60e32a39449ba90f78d"
+        hash: "a7964577d77943d5a62c02ea1e689eb7"
     }
     Frame {
         msec: 112
-        hash: "965af350a8fc20c7bcffb370802bc9d9"
+        hash: "fc597a07209bfea49227ec491b033af1"
     }
     Frame {
         msec: 128
-        hash: "8e088db1ff0eb9f5c28268dee929928c"
+        hash: "429a7dd5a23a5012f1985bcddd27ba0c"
     }
     Frame {
         msec: 144
-        hash: "a0ba6c6bd1e491778294346eeabd8138"
+        hash: "fbf845e137e0b389babdcd71a95c3060"
     }
     Frame {
         msec: 160
-        hash: "068a018a5c017cb76ebf3721e0acdb35"
+        hash: "1d1272df3a53cb9860d23be3343a143e"
     }
     Frame {
         msec: 176
-        hash: "efa65cae0a4d027c2ec508deecef8aa5"
+        hash: "cef05f6564b21fd2cbd02f6def604c0b"
     }
     Frame {
         msec: 192
-        hash: "9c224e97aa56c6b203a48fb689d72c9a"
+        hash: "be0ca54bc7aa23c2b9c56e3a0444197a"
     }
     Frame {
         msec: 208
-        hash: "4f78af1e82a2dd46bab2d237d4f574e5"
+        hash: "5372a7052d10b8c6c2204efdc88c2f48"
     }
     Frame {
         msec: 224
-        hash: "7d022c13e3ef07ca0b6618ae8865dbf1"
+        hash: "43b775c558843c1334e86ca4fcf07ae2"
     }
     Frame {
         msec: 240
-        hash: "1dc2ecf6cb92cd7d9e467de0049a8598"
+        hash: "10daf71511454ef4db3692a19ecbcbaa"
     }
     Frame {
         msec: 256
-        hash: "262174926ac657c3cd788e2383b5842b"
+        hash: "5c545ecb0ddfaa5d6cde266be6fae35c"
     }
     Frame {
         msec: 272
-        hash: "984c40aaa927f9e9e73ad228f057d3d9"
+        hash: "1a3c05b189c3adf87710eeb03296aec2"
     }
     Frame {
         msec: 288
-        hash: "0c74101beaeb0a59c1e6b1bf751ca71d"
+        hash: "de2c6f4d3bf4d245e45e47a743808f5d"
     }
     Frame {
         msec: 304
-        hash: "1c2dd6a6675014255e83c2ae734d717b"
+        hash: "7c71dcbd8e2be19ac2d090ab3e012a62"
     }
     Frame {
         msec: 320
-        hash: "f6ac3e9e82a9a710f500f8053b6030ac"
+        hash: "3bd42257fe4a5d941a8755e66db94870"
     }
     Frame {
         msec: 336
-        hash: "9676fdc060e5784e96534a962992c024"
+        hash: "d52f57a1f289d2c697fd1db2086a4df3"
     }
     Frame {
         msec: 352
-        hash: "c46634183e4bde82419bf757bd674a72"
+        hash: "5d9e22ca6b6f8e4805a49fcf9c6a4dd6"
     }
     Frame {
         msec: 368
-        hash: "d04d082f4a1602a308da7f373cbb4094"
+        hash: "cbafada44b434ac7fe64fdebef7a816e"
     }
     Frame {
         msec: 384
-        hash: "a4178c9ffbb74f3f221fc63bee26ca35"
+        hash: "4ac900c005cfedb9e3367a4612334cc1"
     }
     Frame {
         msec: 400
-        hash: "0667b13789a501995b2846f7d93fb973"
+        hash: "3dbe30edac497ca316bf39e55ff9580a"
     }
     Frame {
         msec: 416
-        hash: "fda46bf0beecbb4326b2fc6f6926f0a7"
+        hash: "e892891c063172d513f4f8c0a0b2644f"
     }
     Frame {
         msec: 432
-        hash: "85cbdea027d76dee1dad376679a40a22"
+        hash: "7c214a442c8f37d22f74343fdb7f7faa"
     }
     Frame {
         msec: 448
-        hash: "0fd56200749ea5882e1bd714e9803d44"
+        hash: "c4461c6c26eb9689e640149b7755bf14"
     }
     Frame {
         msec: 464
-        hash: "10bf5c477f64f442990716b7eec8fd70"
+        hash: "e7be611f007716a80698558d0600f5b6"
     }
     Frame {
         msec: 480
-        hash: "7cbd8ba3f09c3d00051cd33006381afb"
+        hash: "5a3abaa7b36fcd7e2279318671597386"
     }
     Frame {
         msec: 496
-        hash: "dca10161836025808cddce9fd93f2412"
+        hash: "2dba1fcba5bdce948fa56ffc02a7f80c"
     }
     Frame {
         msec: 512
-        hash: "b949ec6303ccaafc203066c7f9b33ef2"
+        hash: "55043bcce83e4f8899b1a692fe30fa67"
     }
     Frame {
         msec: 528
-        hash: "853c521bad75c08c0dfe3a00bed01136"
+        hash: "f92df1fb28a7da39ed907dd2bc177ab8"
     }
     Frame {
         msec: 544
-        hash: "dd76c440dc8cfcb7305409483d21d65d"
+        hash: "7dcf90cd5f81999359ed389c7050d934"
     }
     Frame {
         msec: 560
-        hash: "c9b70db4b94e4b0cc855102f43b8e731"
+        hash: "021014366809103b76bd5d472c43b062"
     }
     Frame {
         msec: 576
-        hash: "d196057b8aa1e11ec9cf11032b57ca03"
+        hash: "fff5b2c8d63083d132c0f106fad84fa1"
     }
     Frame {
         msec: 592
-        hash: "0fae715746a8a340a8f3c4428cf96783"
+        hash: "ab3a6a6c646d31be97884484a6647330"
     }
     Frame {
         msec: 608
-        hash: "dd2e89d00ce85b167fbc822fedbfb449"
+        hash: "d46a168f89d94a32496b75ee5d3794e4"
     }
     Frame {
         msec: 624
-        hash: "a5228adf745f580364eafcbbdd994178"
+        hash: "f7b62e86595a4d2c7f5a2cd52e0938b9"
     }
     Frame {
         msec: 640
-        hash: "f750f588ee00805bc3757940f95de9ae"
+        hash: "df95a29a101889c50537cfb1b027f9a6"
     }
     Frame {
         msec: 656
-        hash: "55a79fefc2bf6d42b442e68150e3a9bc"
+        hash: "4c6691ef37222260dce72868ae809d68"
     }
     Frame {
         msec: 672
-        hash: "7b932e7585e66cc7cd31f858ce78a6e1"
+        hash: "ad816534dcf446a1456894ff2b1afa33"
     }
     Frame {
         msec: 688
-        hash: "10f204c59a5bff0c49dfc7691c35cef8"
+        hash: "bfa9f9f833f38aedf766e061f3a18c48"
     }
     Frame {
         msec: 704
-        hash: "cf901c80729eb0b83b46777e727d43e2"
+        hash: "f4a6786e9db58cf3fd3f3b896d3cf84f"
     }
     Frame {
         msec: 720
-        hash: "f6bf6e11ef6a71d7e746fae1d0a44531"
+        hash: "e51e8b766e5d4a0f061dc6885fcf8eb3"
     }
     Frame {
         msec: 736
-        hash: "4a8795196ece8c0ef18319008dbc0f2f"
+        hash: "eab6d261429c36c4e37005f37b7823d5"
     }
     Frame {
         msec: 752
-        hash: "44d32f0b5377ad3b08928413f20e95e1"
+        hash: "3cc5db209a98daef06127bae53b1929d"
     }
     Frame {
         msec: 768
-        hash: "9e0dd160a465573cbac831a14e36ba6d"
+        hash: "230cd6e6ca18a921a21379dd85e24822"
     }
     Frame {
         msec: 784
-        hash: "fb2e2522cee569632d9682aa04e7ca08"
+        hash: "e3a877e8f01bf17fe6ea8b9fbb780f14"
     }
     Frame {
         msec: 800
-        hash: "71b0e8d7671cee10f4f71a80abcde7ec"
+        hash: "a19f504a81409dea775481f21f992ba6"
     }
     Frame {
         msec: 816
-        hash: "4affee92d320d6eca9995ddd8989627f"
+        hash: "e77cc3ab14551638e704a1493189d5d1"
     }
     Frame {
         msec: 832
-        hash: "b3e5e26a34cd491d3cd23f4e611266e2"
+        hash: "613bdf9d32358ab0db310ae1e2246d52"
     }
     Frame {
         msec: 848
-        hash: "aa185efe8d0c4c61d4df55266830cfd8"
+        hash: "d4fab0193f567cce4ad1e1cf6b156ce5"
     }
     Frame {
         msec: 864
-        hash: "19c01ead1135f84b4b3a32583815fd10"
+        hash: "03ce3083411d10b14ac0bb85b22bfbd1"
     }
     Frame {
         msec: 880
-        hash: "a231a722225c26ff764f16570d1e6beb"
+        hash: "4be10fb14abf82705d8071cf75956ece"
     }
     Frame {
         msec: 896
-        hash: "466fce12d10bd4b714d4ead14d1c5839"
+        hash: "4c1f150fb5ba1194ad198eb32f705af6"
     }
     Frame {
         msec: 912
-        hash: "158650554c8467ed7d93c3c11177e041"
+        hash: "5ddfd98c8a49eefe08ae33d0c0ea52ff"
     }
     Frame {
         msec: 928
-        hash: "ac16910bc816ca6c76a78160dda8380d"
+        hash: "f2018d16f38e113c9477c19431e3d1e4"
     }
     Frame {
         msec: 944
-        hash: "23ac6eeb0c9bd48dbc844b1263a18cbb"
+        hash: "9fe6406d65978dba74716f1ba02bdf76"
     }
     Frame {
         msec: 960
-        image: "multilength.0.png"
+        hash: "265d92edca113f465e624079c266b213"
     }
     Frame {
         msec: 976
-        hash: "3da0b9d963113cfb58152bac1c757065"
+        image: "multilength.1.png"
     }
     Frame {
         msec: 992
-        hash: "e1a33345ee1372069d9282406f1e5605"
+        hash: "6beb60f7645be5f1d07449610b5e13b0"
     }
     Frame {
         msec: 1008
-        hash: "da872c570bccf17e88ac7db1d6d076ae"
+        hash: "55c34cb290732a1fa94b5037477fd882"
     }
     Frame {
         msec: 1024
-        hash: "6feea54c6a7f9895001efeff177f9be9"
+        hash: "4d6ed8044e3ac5da61cf61f4d08c5a19"
     }
     Frame {
         msec: 1040
-        hash: "09049b33ca46a2fc2d06855e29ae66bf"
+        hash: "83657cfa447060a01d5fbdb890ad3fb9"
     }
     Frame {
         msec: 1056
-        hash: "cd96d789f57ac1d425942416337174f1"
+        hash: "b04b6cb7e5e464ecee15a2c9803a857f"
     }
     Frame {
         msec: 1072
-        hash: "0a763dd626e27ad14963aecfb8d7673c"
+        hash: "ea4f1707e49527f6cae0a3df1b75137b"
     }
     Frame {
         msec: 1088
-        hash: "3d81f68bb7aac95b66b0cd0defbb3657"
+        hash: "ae4893aca919be2d89f1107185b5fe9a"
     }
     Frame {
         msec: 1104
-        hash: "469b862006f99dfefcca803bc49287e3"
+        hash: "d991c469947a94ffcfb63716226fa912"
     }
     Frame {
         msec: 1120
-        hash: "c3f698102bd46231430ab9e8029b8192"
+        hash: "df63c1dba0399d1fe5e7b9c9c794b598"
     }
     Frame {
         msec: 1136
-        hash: "421a9b4848a59281aea73c08a7219a33"
+        hash: "305d263f68b4ccd78bffccd887870f97"
     }
     Frame {
         msec: 1152
-        hash: "0066eaa302678a4be35dca0c3ed33b1c"
+        hash: "f4d1f7245b519d623defdc12e76285d2"
     }
     Frame {
         msec: 1168
-        hash: "4cceb05bfeb231189b66f1fbdfaeccd3"
+        hash: "5a47e6498ddf8a02cb1df7a3510bac37"
     }
     Frame {
         msec: 1184
-        hash: "ccf229cdd6fde7ef663791d27a008bee"
+        hash: "358b9b6be7f8379815d8ee828eed3e43"
     }
 }
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.0.png
index cd436b5..591c1ef 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext2.0.png
index e47b479..dc90e0d 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext2.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext2.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext3.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext3.0.png
index 0d3c672..c787029 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext3.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext3.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.0.png
index ba833a2..fdd64ac 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext2.0.png
new file mode 100644
index 0000000..1286e54
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext2.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext2.qml
new file mode 100644
index 0000000..afae3f8
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext2.qml
@@ -0,0 +1,11 @@
+import Qt.VisualTest 4.7
+
+VisualTest {
+    Frame {
+        msec: 0
+    }
+    Frame {
+        msec: 16
+        image: "richtext2.0.png"
+    }
+}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.0.png
index f41c165..adbdfa7 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.1.png
index 539e4df..d3fbdc6 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.1.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.1.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.2.png
index 47ceaac..9a96d46 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.2.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.2.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.3.png
index e24a453..2026aca 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.3.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.3.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.4.png
index ecf8335..c435029 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.4.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.4.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.5.png
index 3d8709f..70f273d 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.5.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.5.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.qml
index ff5db41..0f3bd2c 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.qml
@@ -6,87 +6,87 @@ VisualTest {
     }
     Frame {
         msec: 16
-        hash: "c1bb09480464b7813bc10b0093d14745"
+        image: "cursorDelegate.0.png"
     }
     Frame {
         msec: 32
-        hash: "9d0e449506ce93052216b7a952af3dea"
+        hash: "b742ebe441dde1f30dab6d19954a9e8c"
     }
     Frame {
         msec: 48
-        hash: "52641f9d6dfba8bf2b94aa37ade140d1"
+        hash: "d3be942cfb93c4a5d5aa906410125d02"
     }
     Frame {
         msec: 64
-        hash: "7610775f69a461d5487e8bc3db6b6e1f"
+        hash: "062574e74354b104db2ee6d3c3af5802"
     }
     Frame {
         msec: 80
-        hash: "afe0c3fdcb498f1f6b877c5d808b2555"
+        hash: "575dd420067e4ebe5733eb4e35a447ab"
     }
     Frame {
         msec: 96
-        hash: "97dabf3984492d2f868b36c3e7bfce50"
+        hash: "4213f35c4cd233a08d98ba0380b7ab0a"
     }
     Frame {
         msec: 112
-        hash: "869624c2ae63b0a447401a955a6fefb1"
+        hash: "505e740aacf4ca7e6ad24367ddad8678"
     }
     Frame {
         msec: 128
-        hash: "7031966f014d4acd5b00c46c89f61403"
+        hash: "007e76fb247e11a442802c7cfb4e6a24"
     }
     Frame {
         msec: 144
-        hash: "bd5395e7e0aa0d50cb30504f9961c954"
+        hash: "5cf6cb0afffb791da1c4d0fe00cf6326"
     }
     Frame {
         msec: 160
-        hash: "a7142c3c1eb9c934e0b258c163fcdfec"
+        hash: "aff4097bd39c87c5d1459d99f314dade"
     }
     Frame {
         msec: 176
-        hash: "373c57edb812db59f40710305d80e9e9"
+        hash: "009dc0c6ff28333ac2fdfa3d79ad2fd6"
     }
     Frame {
         msec: 192
-        hash: "78b16507899c3c8de04b55389ea0ad49"
+        hash: "4bf8e82220ea0d0c4298d5374e149de2"
     }
     Frame {
         msec: 208
-        hash: "b0fd95dc2ac09a1cbd67ad0f86682666"
+        hash: "938a6eea45c4412e847a8700172d80ac"
     }
     Frame {
         msec: 224
-        hash: "5f073a4a89413b6a6c5d6ff52717bb2f"
+        hash: "6502416042993d05dd514119512ed61f"
     }
     Frame {
         msec: 240
-        hash: "82e61a4d3f58ee5104893e254a77f13e"
+        hash: "5d6702b9475e69bda2ed38f6e2d583d9"
     }
     Frame {
         msec: 256
-        hash: "a8fe05178e6339454d57575692fa3df3"
+        hash: "8e5fdc8e6cc38089d1e8ff5e91a5c894"
     }
     Frame {
         msec: 272
-        hash: "192f80add5f612b07dcb8d69f2161648"
+        hash: "c0249d07bcf25af69bf929b4d5ac00a3"
     }
     Frame {
         msec: 288
-        hash: "cfd85885f59ea80b0b0152446a829fec"
+        hash: "efe333c2b8cccea0bd7135484049db06"
     }
     Frame {
         msec: 304
-        hash: "a7295dcc92f80a5f343bf05076a03748"
+        hash: "57e49e9094691a204f7507b0231352b3"
     }
     Frame {
         msec: 320
-        hash: "2b0b30cfb1c1e4ed8a51d36fb7ccdf57"
+        hash: "d0a45bd3cfc5e4e6f9a48534c768daba"
     }
     Frame {
         msec: 336
-        hash: "419c538908d0226ff4485f1094eaa08e"
+        hash: "6960ab817c67a61af31cc187efe65016"
     }
     Key {
         type: 6
@@ -98,27 +98,27 @@ VisualTest {
     }
     Frame {
         msec: 352
-        hash: "8afe64448d42419f97ca207487b3b0f8"
+        hash: "3b0d483ff765f36a196411967b6dfd70"
     }
     Frame {
         msec: 368
-        hash: "86091218d2d066d8f95a460426266369"
+        hash: "559713749d65246b185c0c91eb7ad39e"
     }
     Frame {
         msec: 384
-        hash: "fc45978cac92b6cdeeecc2dd4c29aa53"
+        hash: "9aea32722fd4f8b0cde3c06c61cecde6"
     }
     Frame {
         msec: 400
-        hash: "03a90ae5cbe68cc210e303c78a14e065"
+        hash: "25dfa32ce92b6044f5ea68411ab5de5b"
     }
     Frame {
         msec: 416
-        hash: "15603a997aa02afb688aa74cd930f3b4"
+        hash: "dab689ed2bbe663df309548e615e8621"
     }
     Frame {
         msec: 432
-        hash: "90bf6b2bf89e1440f0c4d1044c1bd22c"
+        hash: "26ad44cef380ff9f64c12180fb54c695"
     }
     Key {
         type: 6
@@ -130,19 +130,19 @@ VisualTest {
     }
     Frame {
         msec: 448
-        hash: "4dbdc16538cbbf1a87c6a54e09e02b16"
+        hash: "5e8bbcd46b5692e66963387b80971e90"
     }
     Frame {
         msec: 464
-        hash: "2011ee59d2ec4bb0ae0d63727f091648"
+        hash: "747df5357daa951fbedeadf909f9dbf3"
     }
     Frame {
         msec: 480
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 496
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Key {
         type: 6
@@ -154,35 +154,35 @@ VisualTest {
     }
     Frame {
         msec: 512
-        hash: "7fc65284b99fc548de0985d94a145fa7"
+        hash: "cb6ca047657a99dbbb037c1c45b40866"
     }
     Frame {
         msec: 528
-        hash: "7fc65284b99fc548de0985d94a145fa7"
+        hash: "cb6ca047657a99dbbb037c1c45b40866"
     }
     Frame {
         msec: 544
-        hash: "7fc65284b99fc548de0985d94a145fa7"
+        hash: "cb6ca047657a99dbbb037c1c45b40866"
     }
     Frame {
         msec: 560
-        hash: "7fc65284b99fc548de0985d94a145fa7"
+        hash: "cb6ca047657a99dbbb037c1c45b40866"
     }
     Frame {
         msec: 576
-        hash: "b4205f141a7a6b646cf641ba922d588b"
+        hash: "1684711d2c492de2093357168b8726c6"
     }
     Frame {
         msec: 592
-        hash: "94c3adf5da700bb63ed6eaf0adf8d037"
+        hash: "6d960ca89faec6e3d81f78911b9b5ecf"
     }
     Frame {
         msec: 608
-        hash: "62c4757a2e26341655e27417f85ba6d8"
+        hash: "1fdd91b57f5832d5c4d797d150892156"
     }
     Frame {
         msec: 624
-        hash: "9de2ce48334b088c0a0960a581f43a36"
+        hash: "4e0f1ec936cacf3ab6fbc7899a6bc92d"
     }
     Key {
         type: 7
@@ -194,15 +194,15 @@ VisualTest {
     }
     Frame {
         msec: 640
-        hash: "9ca827d4812521d1590ca6e7117bd788"
+        hash: "9e67145b58051fd7dc4a18ee0e6a72ad"
     }
     Frame {
         msec: 656
-        hash: "66f65cd7215ea89e60d8f60337fffe97"
+        hash: "14dfb4b356ec851275ddd8e93f04e2d2"
     }
     Frame {
         msec: 672
-        hash: "05caae5e0d092c4d0595286aa4baa6a0"
+        hash: "e9b8f691ad62d10877aacb94f98ea308"
     }
     Key {
         type: 6
@@ -214,31 +214,31 @@ VisualTest {
     }
     Frame {
         msec: 688
-        hash: "2282153f3ae493aa6ad5377b12d88043"
+        hash: "a44b5f63ec1f98b6bc34e95214c9d79e"
     }
     Frame {
         msec: 704
-        hash: "aee2503a5d4ec61795b0486da5c53867"
+        hash: "6bc0e035c90b74de024d379388fd7014"
     }
     Frame {
         msec: 720
-        hash: "f564e1ae90bc6b1ea4bc84f1729eb487"
+        hash: "61d8f417f7ca5cba2e98a7a7427ea635"
     }
     Frame {
         msec: 736
-        hash: "f5c70adef5725a0574b63dd5ab7d7b12"
+        hash: "f50adb10f55bcd4c2eb0955f6e1ff78e"
     }
     Frame {
         msec: 752
-        hash: "74ed3230417c69b0dc82ce9cfe4b6cd0"
+        hash: "9e160aefac79a9804f6cb8622e45ba71"
     }
     Frame {
         msec: 768
-        hash: "374270279bcc00167d2b63bf9a658785"
+        hash: "6555a0bd60dbbad66283fe37b2f0c362"
     }
     Frame {
         msec: 784
-        hash: "68445a2b5470e44baf7af95efc20ba33"
+        hash: "0cacc38d86ebf497d31b01556b8a5924"
     }
     Key {
         type: 7
@@ -250,63 +250,63 @@ VisualTest {
     }
     Frame {
         msec: 800
-        hash: "5add6c9527edf6bbdb3a79b8a524db70"
+        hash: "b2fe1d5cb5e0a5f07d84ff7a494ae07a"
     }
     Frame {
         msec: 816
-        hash: "01a96c8407fa2c0f9e7a822249ac9adc"
+        hash: "2c6dbd777bba27b481a8a6ef34d213f9"
     }
     Frame {
         msec: 832
-        hash: "6b9af295d8f2fb5ba8d9c234596d0a88"
+        hash: "989e53620edc6b9b0990545459e7f787"
     }
     Frame {
         msec: 848
-        hash: "3837442e90c2a1534e21d21bfc3b46e1"
+        hash: "a89686a7802da3fd07a265a5814255f4"
     }
     Frame {
         msec: 864
-        hash: "afd7d2494dae8e7ef40a165ccc627313"
+        hash: "9f707497eb0c224c8b0a3bba1533217a"
     }
     Frame {
         msec: 880
-        hash: "6e7058d540b26d3c5f15804f2f93b835"
+        hash: "29df155c0b75de8e1bd6361372a51797"
     }
     Frame {
         msec: 896
-        hash: "ffa489a15db741d8b835d998336bc1b3"
+        hash: "fb7cbeb1e3689cc38acf7a02d671a955"
     }
     Frame {
         msec: 912
-        hash: "5a0308d1d2a6a36e16ddb312294fcbf8"
+        hash: "9045ada282ec37b1681cef89dfcc8f67"
     }
     Frame {
         msec: 928
-        hash: "bd56ed24908c7e8ec4e5ebc75a19ca86"
+        hash: "b3816b225eaf5ab49bb31f86ecdd52cb"
     }
     Frame {
         msec: 944
-        hash: "7bd56b12087226100da27776f8943427"
+        hash: "0956fccb8e1bf2c218a9e39947846aaa"
     }
     Frame {
         msec: 960
-        image: "cursorDelegate.0.png"
+        hash: "01f4ba2e0b4eb018c620efa5e92ec9fe"
     }
     Frame {
         msec: 976
-        hash: "f48a56350bba266c2f19deb46d39e174"
+        image: "cursorDelegate.1.png"
     }
     Frame {
         msec: 992
-        hash: "9587bb118f2eb2bf8bb3cfc40ed18310"
+        hash: "c19ec2d067d30a6d42056c9799b0c0c3"
     }
     Frame {
         msec: 1008
-        hash: "0f9e9622427ebaf85369b3013ae9aaf0"
+        hash: "43a9d066887a89372136619ae8eec100"
     }
     Frame {
         msec: 1024
-        hash: "0f9e9622427ebaf85369b3013ae9aaf0"
+        hash: "43a9d066887a89372136619ae8eec100"
     }
     Key {
         type: 7
@@ -318,39 +318,39 @@ VisualTest {
     }
     Frame {
         msec: 1040
-        hash: "9587bb118f2eb2bf8bb3cfc40ed18310"
+        hash: "c19ec2d067d30a6d42056c9799b0c0c3"
     }
     Frame {
         msec: 1056
-        hash: "f48a56350bba266c2f19deb46d39e174"
+        hash: "8303d8b19e6e5b249aaf2ffbb6d29f91"
     }
     Frame {
         msec: 1072
-        hash: "8234f16d07e76aeedb6ca14d622453cb"
+        hash: "01f4ba2e0b4eb018c620efa5e92ec9fe"
     }
     Frame {
         msec: 1088
-        hash: "7bd56b12087226100da27776f8943427"
+        hash: "0956fccb8e1bf2c218a9e39947846aaa"
     }
     Frame {
         msec: 1104
-        hash: "bd56ed24908c7e8ec4e5ebc75a19ca86"
+        hash: "b3816b225eaf5ab49bb31f86ecdd52cb"
     }
     Frame {
         msec: 1120
-        hash: "5a0308d1d2a6a36e16ddb312294fcbf8"
+        hash: "9045ada282ec37b1681cef89dfcc8f67"
     }
     Frame {
         msec: 1136
-        hash: "ffa489a15db741d8b835d998336bc1b3"
+        hash: "fb7cbeb1e3689cc38acf7a02d671a955"
     }
     Frame {
         msec: 1152
-        hash: "6e7058d540b26d3c5f15804f2f93b835"
+        hash: "29df155c0b75de8e1bd6361372a51797"
     }
     Frame {
         msec: 1168
-        hash: "afd7d2494dae8e7ef40a165ccc627313"
+        hash: "9f707497eb0c224c8b0a3bba1533217a"
     }
     Key {
         type: 6
@@ -362,31 +362,31 @@ VisualTest {
     }
     Frame {
         msec: 1184
-        hash: "1d5c9458d568df773dbff4e333e14de0"
+        hash: "9f712a688504fff9719b38c067b32c50"
     }
     Frame {
         msec: 1200
-        hash: "8eef242d89b7e2eff7678030f9fd808e"
+        hash: "24f1467e3be5f4d0509800bef97f4401"
     }
     Frame {
         msec: 1216
-        hash: "97dc6ebbf64a19f5026c02ea4c79d63b"
+        hash: "d56e5fd86addad3bc53417b82ff68829"
     }
     Frame {
         msec: 1232
-        hash: "52d2135428c3c2bf85f0fa7c2ba01a25"
+        hash: "f1c60934ef284840e61fd46c758dd14b"
     }
     Frame {
         msec: 1248
-        hash: "c713bd1d1ab2df81292020e6e822546c"
+        hash: "7be9fc54278572116f9bd9be8f6994a4"
     }
     Frame {
         msec: 1264
-        hash: "0c61ff34510168e324c53786720dd953"
+        hash: "0e0ea7ca1b8479d62ae81fb53a1ec264"
     }
     Frame {
         msec: 1280
-        hash: "ba1488f2d9d4482cdf41c40af7642030"
+        hash: "f8b19dbaeec469896a081687d80a2ac4"
     }
     Key {
         type: 7
@@ -398,95 +398,95 @@ VisualTest {
     }
     Frame {
         msec: 1296
-        hash: "91d2da369579bb72641d4e7e7cd696f5"
+        hash: "a28665925ec121a2bf01733e0a20e18b"
     }
     Frame {
         msec: 1312
-        hash: "1cf1d30d6def868a60f434fe84c23c47"
+        hash: "baa0c601f3d84e344847dcb7f3bd18cf"
     }
     Frame {
         msec: 1328
-        hash: "ba5b3005af3c44caaf7272cbb56e60da"
+        hash: "a80d59a1e5af45bc799c19200a3c44ec"
     }
     Frame {
         msec: 1344
-        hash: "116ab7576b5e45e6009920854ff87f39"
+        hash: "2a6f833e2fd2930c8ec49016809d8cf6"
     }
     Frame {
         msec: 1360
-        hash: "294c76d6f63c230af666b0b86e0c9844"
+        hash: "efdc2daad00aaec2c39541261d6d1a98"
     }
     Frame {
         msec: 1376
-        hash: "c721a5b17b1eb4a063fa3b727d13ba62"
+        hash: "65b75f2a074d4ac5d84fb762d1762231"
     }
     Frame {
         msec: 1392
-        hash: "a98bd750b67a0ef8831c9c66a0b06a28"
+        hash: "2a170e51a83e902d2699501877225ee3"
     }
     Frame {
         msec: 1408
-        hash: "7739509b0f5e62207ba62262d8822388"
+        hash: "1e4c78e279ff4ab7a875e4d67f68f8ca"
     }
     Frame {
         msec: 1424
-        hash: "62d70a7e3ce290c52d37090bf899377c"
+        hash: "fd515cf3ec7b987e0e36c02f1da5b8a7"
     }
     Frame {
         msec: 1440
-        hash: "3f3c1137c02e14796c3a4537337d1dd8"
+        hash: "54126910ea7a303ea3e7726309d8bf39"
     }
     Frame {
         msec: 1456
-        hash: "4997a45af699c1face114c72a9ce067d"
+        hash: "89263867df0cfa623f80e1578532d98d"
     }
     Frame {
         msec: 1472
-        hash: "093cce71722904a32b030478f3af49bb"
+        hash: "1bf04aafab1177182eec9a0ff459cd7b"
     }
     Frame {
         msec: 1488
-        hash: "093cce71722904a32b030478f3af49bb"
+        hash: "1bf04aafab1177182eec9a0ff459cd7b"
     }
     Frame {
         msec: 1504
-        hash: "093cce71722904a32b030478f3af49bb"
+        hash: "1bf04aafab1177182eec9a0ff459cd7b"
     }
     Frame {
         msec: 1520
-        hash: "093cce71722904a32b030478f3af49bb"
+        hash: "1bf04aafab1177182eec9a0ff459cd7b"
     }
     Frame {
         msec: 1536
-        hash: "093cce71722904a32b030478f3af49bb"
+        hash: "1bf04aafab1177182eec9a0ff459cd7b"
     }
     Frame {
         msec: 1552
-        hash: "093cce71722904a32b030478f3af49bb"
+        hash: "1bf04aafab1177182eec9a0ff459cd7b"
     }
     Frame {
         msec: 1568
-        hash: "a4810a97e51259350bb1543dffc156af"
+        hash: "c824a8bbf60514c20713b1fa583451b2"
     }
     Frame {
         msec: 1584
-        hash: "838871072acbefc1c8c488f47312da9b"
+        hash: "f6282cd20d7f3f64415a0a24df578964"
     }
     Frame {
         msec: 1600
-        hash: "8cfe8847729878519669caa8b702d910"
+        hash: "a4633c7dc825f20a7ada2079712f7b5e"
     }
     Frame {
         msec: 1616
-        hash: "a2fd8e049d03b87a306bb5b81e3f7311"
+        hash: "240c839fc986573523b30567afe05623"
     }
     Frame {
         msec: 1632
-        hash: "29bd4d5e36cb6b232f513b6bb0c00b28"
+        hash: "9e3098ea355a80e7e439f3cdecd15b77"
     }
     Frame {
         msec: 1648
-        hash: "9637f14efb2e355bfe886d7c5f2a8d38"
+        hash: "d8ec7fd807f345509703f4ecf94b583d"
     }
     Key {
         type: 6
@@ -498,35 +498,35 @@ VisualTest {
     }
     Frame {
         msec: 1664
-        hash: "0365fa8845c3c1e53ef35d22423eb973"
+        hash: "5b6e0bedeca1784610081762850813a1"
     }
     Frame {
         msec: 1680
-        hash: "bf88d5d2cd2ff062c1cc8a391a238b1d"
+        hash: "13a596d7aefa3c8ce61660dd5ce27627"
     }
     Frame {
         msec: 1696
-        hash: "46b22f33eb80f013e44da11153441864"
+        hash: "295bbee587f2fdbadab7aa4e3900b6e0"
     }
     Frame {
         msec: 1712
-        hash: "05ae42e3a0296a569dec147c76be273d"
+        hash: "645da4001b1489b12e0bb5dd1b5c114b"
     }
     Frame {
         msec: 1728
-        hash: "1a8cc65973d08bb949f7a71b0bb8be1a"
+        hash: "8e7e4f5b8eb437ab92e466b1d79aee01"
     }
     Frame {
         msec: 1744
-        hash: "ca3bde8cd8de81c4210fcfd000fe0f5e"
+        hash: "1a7ec33aa8a19a36a7fc99c3040e427a"
     }
     Frame {
         msec: 1760
-        hash: "e06d104d1ed451eea4c1d9bdae9d10f4"
+        hash: "85f6c7d9f86910e7cceeaf9efc375355"
     }
     Frame {
         msec: 1776
-        hash: "c95153ae401ad8a2e839905841c074f3"
+        hash: "8e54b0699d681cfbfc3b605b010c6b76"
     }
     Key {
         type: 6
@@ -538,35 +538,35 @@ VisualTest {
     }
     Frame {
         msec: 1792
-        hash: "82e61a4d3f58ee5104893e254a77f13e"
+        hash: "5d6702b9475e69bda2ed38f6e2d583d9"
     }
     Frame {
         msec: 1808
-        hash: "5f073a4a89413b6a6c5d6ff52717bb2f"
+        hash: "6502416042993d05dd514119512ed61f"
     }
     Frame {
         msec: 1824
-        hash: "b0fd95dc2ac09a1cbd67ad0f86682666"
+        hash: "938a6eea45c4412e847a8700172d80ac"
     }
     Frame {
         msec: 1840
-        hash: "78b16507899c3c8de04b55389ea0ad49"
+        hash: "4bf8e82220ea0d0c4298d5374e149de2"
     }
     Frame {
         msec: 1856
-        hash: "373c57edb812db59f40710305d80e9e9"
+        hash: "009dc0c6ff28333ac2fdfa3d79ad2fd6"
     }
     Frame {
         msec: 1872
-        hash: "a7142c3c1eb9c934e0b258c163fcdfec"
+        hash: "aff4097bd39c87c5d1459d99f314dade"
     }
     Frame {
         msec: 1888
-        hash: "bd5395e7e0aa0d50cb30504f9961c954"
+        hash: "5cf6cb0afffb791da1c4d0fe00cf6326"
     }
     Frame {
         msec: 1904
-        hash: "7031966f014d4acd5b00c46c89f61403"
+        hash: "007e76fb247e11a442802c7cfb4e6a24"
     }
     Key {
         type: 7
@@ -578,83 +578,83 @@ VisualTest {
     }
     Frame {
         msec: 1920
-        image: "cursorDelegate.1.png"
+        hash: "505e740aacf4ca7e6ad24367ddad8678"
     }
     Frame {
         msec: 1936
-        hash: "97dabf3984492d2f868b36c3e7bfce50"
+        image: "cursorDelegate.2.png"
     }
     Frame {
         msec: 1952
-        hash: "afe0c3fdcb498f1f6b877c5d808b2555"
+        hash: "575dd420067e4ebe5733eb4e35a447ab"
     }
     Frame {
         msec: 1968
-        hash: "7610775f69a461d5487e8bc3db6b6e1f"
+        hash: "062574e74354b104db2ee6d3c3af5802"
     }
     Frame {
         msec: 1984
-        hash: "52641f9d6dfba8bf2b94aa37ade140d1"
+        hash: "d3be942cfb93c4a5d5aa906410125d02"
     }
     Frame {
         msec: 2000
-        hash: "9d0e449506ce93052216b7a952af3dea"
+        hash: "b742ebe441dde1f30dab6d19954a9e8c"
     }
     Frame {
         msec: 2016
-        hash: "c1bb09480464b7813bc10b0093d14745"
+        hash: "bbe3a292c59e2f7ae6b8877f6736c96e"
     }
     Frame {
         msec: 2032
-        hash: "9d0e449506ce93052216b7a952af3dea"
+        hash: "b742ebe441dde1f30dab6d19954a9e8c"
     }
     Frame {
         msec: 2048
-        hash: "52641f9d6dfba8bf2b94aa37ade140d1"
+        hash: "d3be942cfb93c4a5d5aa906410125d02"
     }
     Frame {
         msec: 2064
-        hash: "7610775f69a461d5487e8bc3db6b6e1f"
+        hash: "062574e74354b104db2ee6d3c3af5802"
     }
     Frame {
         msec: 2080
-        hash: "afe0c3fdcb498f1f6b877c5d808b2555"
+        hash: "575dd420067e4ebe5733eb4e35a447ab"
     }
     Frame {
         msec: 2096
-        hash: "97dabf3984492d2f868b36c3e7bfce50"
+        hash: "4213f35c4cd233a08d98ba0380b7ab0a"
     }
     Frame {
         msec: 2112
-        hash: "869624c2ae63b0a447401a955a6fefb1"
+        hash: "505e740aacf4ca7e6ad24367ddad8678"
     }
     Frame {
         msec: 2128
-        hash: "7031966f014d4acd5b00c46c89f61403"
+        hash: "007e76fb247e11a442802c7cfb4e6a24"
     }
     Frame {
         msec: 2144
-        hash: "bd5395e7e0aa0d50cb30504f9961c954"
+        hash: "5cf6cb0afffb791da1c4d0fe00cf6326"
     }
     Frame {
         msec: 2160
-        hash: "a7142c3c1eb9c934e0b258c163fcdfec"
+        hash: "aff4097bd39c87c5d1459d99f314dade"
     }
     Frame {
         msec: 2176
-        hash: "373c57edb812db59f40710305d80e9e9"
+        hash: "009dc0c6ff28333ac2fdfa3d79ad2fd6"
     }
     Frame {
         msec: 2192
-        hash: "78b16507899c3c8de04b55389ea0ad49"
+        hash: "4bf8e82220ea0d0c4298d5374e149de2"
     }
     Frame {
         msec: 2208
-        hash: "b0fd95dc2ac09a1cbd67ad0f86682666"
+        hash: "938a6eea45c4412e847a8700172d80ac"
     }
     Frame {
         msec: 2224
-        hash: "5f073a4a89413b6a6c5d6ff52717bb2f"
+        hash: "6502416042993d05dd514119512ed61f"
     }
     Key {
         type: 7
@@ -666,35 +666,35 @@ VisualTest {
     }
     Frame {
         msec: 2240
-        hash: "82e61a4d3f58ee5104893e254a77f13e"
+        hash: "5d6702b9475e69bda2ed38f6e2d583d9"
     }
     Frame {
         msec: 2256
-        hash: "a8fe05178e6339454d57575692fa3df3"
+        hash: "8e5fdc8e6cc38089d1e8ff5e91a5c894"
     }
     Frame {
         msec: 2272
-        hash: "192f80add5f612b07dcb8d69f2161648"
+        hash: "c0249d07bcf25af69bf929b4d5ac00a3"
     }
     Frame {
         msec: 2288
-        hash: "cfd85885f59ea80b0b0152446a829fec"
+        hash: "efe333c2b8cccea0bd7135484049db06"
     }
     Frame {
         msec: 2304
-        hash: "a7295dcc92f80a5f343bf05076a03748"
+        hash: "57e49e9094691a204f7507b0231352b3"
     }
     Frame {
         msec: 2320
-        hash: "2b0b30cfb1c1e4ed8a51d36fb7ccdf57"
+        hash: "d0a45bd3cfc5e4e6f9a48534c768daba"
     }
     Frame {
         msec: 2336
-        hash: "419c538908d0226ff4485f1094eaa08e"
+        hash: "6960ab817c67a61af31cc187efe65016"
     }
     Frame {
         msec: 2352
-        hash: "8afe64448d42419f97ca207487b3b0f8"
+        hash: "3b0d483ff765f36a196411967b6dfd70"
     }
     Key {
         type: 6
@@ -706,35 +706,35 @@ VisualTest {
     }
     Frame {
         msec: 2368
-        hash: "86091218d2d066d8f95a460426266369"
+        hash: "559713749d65246b185c0c91eb7ad39e"
     }
     Frame {
         msec: 2384
-        hash: "fc45978cac92b6cdeeecc2dd4c29aa53"
+        hash: "9aea32722fd4f8b0cde3c06c61cecde6"
     }
     Frame {
         msec: 2400
-        hash: "03a90ae5cbe68cc210e303c78a14e065"
+        hash: "25dfa32ce92b6044f5ea68411ab5de5b"
     }
     Frame {
         msec: 2416
-        hash: "15603a997aa02afb688aa74cd930f3b4"
+        hash: "dab689ed2bbe663df309548e615e8621"
     }
     Frame {
         msec: 2432
-        hash: "90bf6b2bf89e1440f0c4d1044c1bd22c"
+        hash: "26ad44cef380ff9f64c12180fb54c695"
     }
     Frame {
         msec: 2448
-        hash: "4dbdc16538cbbf1a87c6a54e09e02b16"
+        hash: "5e8bbcd46b5692e66963387b80971e90"
     }
     Frame {
         msec: 2464
-        hash: "2011ee59d2ec4bb0ae0d63727f091648"
+        hash: "747df5357daa951fbedeadf909f9dbf3"
     }
     Frame {
         msec: 2480
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Key {
         type: 7
@@ -746,95 +746,95 @@ VisualTest {
     }
     Frame {
         msec: 2496
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 2512
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 2528
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 2544
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 2560
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 2576
-        hash: "02996bef06c74f34cf8be4cf4d1392d5"
+        hash: "1568d4b93d2a284c46f23a0cb17acc24"
     }
     Frame {
         msec: 2592
-        hash: "2d8cb2d213ce22132ba63a829c07f768"
+        hash: "0665a6cfc09981cd8a7ffd0d02e6fbdc"
     }
     Frame {
         msec: 2608
-        hash: "0a16c282a18fdc657ea48fb208dea494"
+        hash: "49892aa44c8e3584239d245a7ca98af3"
     }
     Frame {
         msec: 2624
-        hash: "86baec52ccb8ae818439c637c5be1514"
+        hash: "c9def393bb5d6c447c45b127d32b5e50"
     }
     Frame {
         msec: 2640
-        hash: "72e2415581ba2a96b8f23cf8f5985afb"
+        hash: "679d94007b33197ce7decb4df6e8343c"
     }
     Frame {
         msec: 2656
-        hash: "7776d964b2b5f80bac51a29d298a067f"
+        hash: "817987bcd9f1147ba047333b42ed289d"
     }
     Frame {
         msec: 2672
-        hash: "3b5d0a9f961c2102a4118a8e2d2793ae"
+        hash: "fdd9331015c289b8e33b094999b11dce"
     }
     Frame {
         msec: 2688
-        hash: "048b5e51d9bcf8d1b24c8f8f98b7b4e4"
+        hash: "e4fa13ba2770c0d390945ee4505fea9b"
     }
     Frame {
         msec: 2704
-        hash: "d30e5d7c27b72ec95c41a87741061a3f"
+        hash: "69965c88d2273acf680af243610efcf3"
     }
     Frame {
         msec: 2720
-        hash: "0374cc41cdb6528e212f678e0e049f2b"
+        hash: "6cbeb6787a0a7fb7f654f877e41eed57"
     }
     Frame {
         msec: 2736
-        hash: "c80bc90c90b02d1d42176f16fa992f27"
+        hash: "e7528c074b3c65afe3873a3cdf96f041"
     }
     Frame {
         msec: 2752
-        hash: "70182707dbdf87a2c8db556f030bec17"
+        hash: "c06c72abe46087f0db87a84fdcbcf601"
     }
     Frame {
         msec: 2768
-        hash: "0c6c0c3d27d87128d65b40789714dd6b"
+        hash: "b6840f1d7cf2caed17d763b782553071"
     }
     Frame {
         msec: 2784
-        hash: "46e1debee4ca606492a36de6191f4594"
+        hash: "71fdb77c4133f37180d581e4b1fe9c83"
     }
     Frame {
         msec: 2800
-        hash: "f327bb2ea12b2baffc0a98d44a0ded16"
+        hash: "f5e2075ed86f146e0162ae4f0a9c6b90"
     }
     Frame {
         msec: 2816
-        hash: "15bc04b65bde5e8ca69b6a1f88647c16"
+        hash: "5e76b741f49bd279b9f62ae3f474e5b5"
     }
     Frame {
         msec: 2832
-        hash: "27156c3309835ec20a02877f1188e14a"
+        hash: "28c8003699352c3c9563556939d49cd8"
     }
     Frame {
         msec: 2848
-        hash: "a163019c9feff0f4d1bb4aaedcd2ecd4"
+        hash: "15ab751c8463326c870dc9ee1af3c1d7"
     }
     Key {
         type: 6
@@ -846,35 +846,35 @@ VisualTest {
     }
     Frame {
         msec: 2864
-        hash: "c5569c3c06bcf01b7e69e7f7ad6203ef"
+        hash: "6035ef1252d4f28b965b0bf4771540e4"
     }
     Frame {
         msec: 2880
-        image: "cursorDelegate.2.png"
+        hash: "7c79170b07db90ca94f5642f3c0d3998"
     }
     Frame {
         msec: 2896
-        hash: "5d1c41e371b1a95426882b3991383b6b"
+        image: "cursorDelegate.3.png"
     }
     Frame {
         msec: 2912
-        hash: "4b9581a767fc1c94451780c044baf003"
+        hash: "3b4d1f5e1506c851887c86883eb1a6ac"
     }
     Frame {
         msec: 2928
-        hash: "39978ba9bb1a535d7735228c650add38"
+        hash: "5aff09b0e9078ca6d4ed93694d1fa6f9"
     }
     Frame {
         msec: 2944
-        hash: "1a2afe394227dcf2da118559e2e58fd7"
+        hash: "16813ebf88f881a4cebf75a2325dc064"
     }
     Frame {
         msec: 2960
-        hash: "2f6bdb7af9bf9334231180b6113b125f"
+        hash: "5b901505bb1ab80cd4d5bc85b73ae8ad"
     }
     Frame {
         msec: 2976
-        hash: "85017ca5ca286830e2745abf2f1f963a"
+        hash: "04c7f2e959c31bf6d3e7bea25d27eb87"
     }
     Key {
         type: 7
@@ -886,63 +886,63 @@ VisualTest {
     }
     Frame {
         msec: 2992
-        hash: "3760b42a25e332c6df49bd92109dae98"
+        hash: "408bb423b93cb48afb97a7744848fc5e"
     }
     Frame {
         msec: 3008
-        hash: "7c0347f97f9e4d7fcf47a90b336d264a"
+        hash: "1a58d66b4d42736eea49a602923a0941"
     }
     Frame {
         msec: 3024
-        hash: "7c0347f97f9e4d7fcf47a90b336d264a"
+        hash: "1a58d66b4d42736eea49a602923a0941"
     }
     Frame {
         msec: 3040
-        hash: "3760b42a25e332c6df49bd92109dae98"
+        hash: "408bb423b93cb48afb97a7744848fc5e"
     }
     Frame {
         msec: 3056
-        hash: "85017ca5ca286830e2745abf2f1f963a"
+        hash: "04c7f2e959c31bf6d3e7bea25d27eb87"
     }
     Frame {
         msec: 3072
-        hash: "2f6bdb7af9bf9334231180b6113b125f"
+        hash: "5b901505bb1ab80cd4d5bc85b73ae8ad"
     }
     Frame {
         msec: 3088
-        hash: "1a2afe394227dcf2da118559e2e58fd7"
+        hash: "16813ebf88f881a4cebf75a2325dc064"
     }
     Frame {
         msec: 3104
-        hash: "39978ba9bb1a535d7735228c650add38"
+        hash: "5aff09b0e9078ca6d4ed93694d1fa6f9"
     }
     Frame {
         msec: 3120
-        hash: "4b9581a767fc1c94451780c044baf003"
+        hash: "3b4d1f5e1506c851887c86883eb1a6ac"
     }
     Frame {
         msec: 3136
-        hash: "5d1c41e371b1a95426882b3991383b6b"
+        hash: "6a0a21ed890b475ce506714cc0501381"
     }
     Frame {
         msec: 3152
-        hash: "73c771b964becb418289e0674571eb6f"
+        hash: "7c79170b07db90ca94f5642f3c0d3998"
     }
     Frame {
         msec: 3168
-        hash: "c5569c3c06bcf01b7e69e7f7ad6203ef"
+        hash: "6035ef1252d4f28b965b0bf4771540e4"
     }
     Frame {
         msec: 3184
-        hash: "7c55078e04b56c9aba7d227917323021"
+        hash: "9529b5b70b76541ec82be173deedadfb"
     }
     Frame {
         msec: 3200
-        hash: "01c6b78b296c00e4597ae1bd36a65f3a"
+        hash: "174bbd347422c46923d6a5831cb5cd94"
     }
     Frame {
         msec: 3216
-        hash: "67e9271f71b2d6d9eb2e230953db06c5"
+        hash: "1eb95daf505b817161f1a251cdde1b3c"
     }
     Key {
         type: 6
@@ -954,31 +954,31 @@ VisualTest {
     }
     Frame {
         msec: 3232
-        hash: "642a6f4d7b3f467263b8e033578927af"
+        hash: "10f59fadaa27f78b7a1fb25d3a30adf7"
     }
     Frame {
         msec: 3248
-        hash: "9f000f97b33427860cb5daeb259c72ea"
+        hash: "b87417c77b43bdbfdc3d8293c9a23216"
     }
     Frame {
         msec: 3264
-        hash: "d74e3f977b5decb89dda46ea608a933a"
+        hash: "64345c713d61638bcc32f277208f2665"
     }
     Frame {
         msec: 3280
-        hash: "f4e446cd96a3eb1a0df83cf032e7a0b2"
+        hash: "753dbe02fa95ee2b1387b98d7d456dcf"
     }
     Frame {
         msec: 3296
-        hash: "abe715855a79a8ced43000884c4bf04b"
+        hash: "fce9a58aaf8d5cadbb029194317dcae3"
     }
     Frame {
         msec: 3312
-        hash: "29fd5c17b9a169c1850aa538b4006084"
+        hash: "367083bd88443558002601acbc355b1a"
     }
     Frame {
         msec: 3328
-        hash: "cefdcaebb9c319ac358b0d7fc9424327"
+        hash: "8e6ffccf321fa30faec432a4b4138967"
     }
     Key {
         type: 7
@@ -990,103 +990,103 @@ VisualTest {
     }
     Frame {
         msec: 3344
-        hash: "85bfa23957bb5cd947e0819ffa442ea3"
+        hash: "4dd4e0dafeed0fc11790145d39f7c85f"
     }
     Frame {
         msec: 3360
-        hash: "48f18d9d12331dc8725ea9e4b7f79823"
+        hash: "d612765c6b43035ea4e4683f968a18d3"
     }
     Frame {
         msec: 3376
-        hash: "63cde59ffbbe2b9087ca228733de18dd"
+        hash: "fa77d4d8d339b78e5a28dcf69336c116"
     }
     Frame {
         msec: 3392
-        hash: "73f5d4594f23ff4aac5e42aee00dce81"
+        hash: "34cf572a432bdd6dcfcc4fdfa032a800"
     }
     Frame {
         msec: 3408
-        hash: "51a1b8e79d209643d55d4cecc6a70ed0"
+        hash: "150b5a2f2e916b7023764c481c768492"
     }
     Frame {
         msec: 3424
-        hash: "7f2ae476246b23d79997a2545723ff62"
+        hash: "fbc93f511d6f3093c2ecf624a2c63749"
     }
     Frame {
         msec: 3440
-        hash: "996da2eff9302908a55308dbcc8fb3c2"
+        hash: "f9e0bd08b722c16493a8886a19920dda"
     }
     Frame {
         msec: 3456
-        hash: "264f34128dfe563126b9f187c65df61e"
+        hash: "f499f4b3017c88c63f0a2035ad527a0e"
     }
     Frame {
         msec: 3472
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 3488
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 3504
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 3520
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 3536
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 3552
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 3568
-        hash: "70d6b73499c36138bee63e07afb0b186"
+        hash: "68d331f508b43e756d6e30ba9b60f9aa"
     }
     Frame {
         msec: 3584
-        hash: "66500c2cc3d69b9fb48dc46e384aca6d"
+        hash: "c9147c159aebb7aa51d4bac28f96cb57"
     }
     Frame {
         msec: 3600
-        hash: "6ccc70f6120acb53152b71bcf95514ca"
+        hash: "0636b7c5cc215882c60b50f62133c715"
     }
     Frame {
         msec: 3616
-        hash: "5c10e6b0e541fe913b589601a55ea6ce"
+        hash: "10b52296e40380a915f7538d21d321a4"
     }
     Frame {
         msec: 3632
-        hash: "2c62584e4c09c1d22f9016aa6fa74e10"
+        hash: "9c56e2c5e04e8767b70d357558e179de"
     }
     Frame {
         msec: 3648
-        hash: "fd8f53e36a86ae22deb4f7af5aa1eb81"
+        hash: "0b1538af23c78cc779174df9fd01f60b"
     }
     Frame {
         msec: 3664
-        hash: "e33226eb0e81a64bed7bcdb50e99cd13"
+        hash: "1632c7df93f1a735236eaa2464e75ba6"
     }
     Frame {
         msec: 3680
-        hash: "a7053a2b7bc9f4749c290bace6b55634"
+        hash: "a08e8b921e61c79d57c0bc4fa5e79914"
     }
     Frame {
         msec: 3696
-        hash: "782cb4e647e849ac7299d41f04bc89e3"
+        hash: "8220951034b6f1a5755bedd53b947b4a"
     }
     Frame {
         msec: 3712
-        hash: "0f7d04fe594ae027364a7c2b570c5a27"
+        hash: "f4c18c333796ff10218fa9145781ea7f"
     }
     Frame {
         msec: 3728
-        hash: "dfb00adcdc2f68bfb691bce47845b0e7"
+        hash: "7547d3bb0f9c4a53396cfe0252436395"
     }
     Key {
         type: 6
@@ -1098,31 +1098,31 @@ VisualTest {
     }
     Frame {
         msec: 3744
-        hash: "cfd85885f59ea80b0b0152446a829fec"
+        hash: "efe333c2b8cccea0bd7135484049db06"
     }
     Frame {
         msec: 3760
-        hash: "192f80add5f612b07dcb8d69f2161648"
+        hash: "c0249d07bcf25af69bf929b4d5ac00a3"
     }
     Frame {
         msec: 3776
-        hash: "a8fe05178e6339454d57575692fa3df3"
+        hash: "8e5fdc8e6cc38089d1e8ff5e91a5c894"
     }
     Frame {
         msec: 3792
-        hash: "82e61a4d3f58ee5104893e254a77f13e"
+        hash: "5d6702b9475e69bda2ed38f6e2d583d9"
     }
     Frame {
         msec: 3808
-        hash: "5f073a4a89413b6a6c5d6ff52717bb2f"
+        hash: "6502416042993d05dd514119512ed61f"
     }
     Frame {
         msec: 3824
-        hash: "b0fd95dc2ac09a1cbd67ad0f86682666"
+        hash: "938a6eea45c4412e847a8700172d80ac"
     }
     Frame {
         msec: 3840
-        image: "cursorDelegate.3.png"
+        hash: "4bf8e82220ea0d0c4298d5374e149de2"
     }
     Key {
         type: 7
@@ -1134,59 +1134,59 @@ VisualTest {
     }
     Frame {
         msec: 3856
-        hash: "373c57edb812db59f40710305d80e9e9"
+        image: "cursorDelegate.4.png"
     }
     Frame {
         msec: 3872
-        hash: "a7142c3c1eb9c934e0b258c163fcdfec"
+        hash: "aff4097bd39c87c5d1459d99f314dade"
     }
     Frame {
         msec: 3888
-        hash: "bd5395e7e0aa0d50cb30504f9961c954"
+        hash: "5cf6cb0afffb791da1c4d0fe00cf6326"
     }
     Frame {
         msec: 3904
-        hash: "7031966f014d4acd5b00c46c89f61403"
+        hash: "007e76fb247e11a442802c7cfb4e6a24"
     }
     Frame {
         msec: 3920
-        hash: "869624c2ae63b0a447401a955a6fefb1"
+        hash: "505e740aacf4ca7e6ad24367ddad8678"
     }
     Frame {
         msec: 3936
-        hash: "97dabf3984492d2f868b36c3e7bfce50"
+        hash: "4213f35c4cd233a08d98ba0380b7ab0a"
     }
     Frame {
         msec: 3952
-        hash: "afe0c3fdcb498f1f6b877c5d808b2555"
+        hash: "575dd420067e4ebe5733eb4e35a447ab"
     }
     Frame {
         msec: 3968
-        hash: "7610775f69a461d5487e8bc3db6b6e1f"
+        hash: "062574e74354b104db2ee6d3c3af5802"
     }
     Frame {
         msec: 3984
-        hash: "52641f9d6dfba8bf2b94aa37ade140d1"
+        hash: "d3be942cfb93c4a5d5aa906410125d02"
     }
     Frame {
         msec: 4000
-        hash: "9d0e449506ce93052216b7a952af3dea"
+        hash: "b742ebe441dde1f30dab6d19954a9e8c"
     }
     Frame {
         msec: 4016
-        hash: "c1bb09480464b7813bc10b0093d14745"
+        hash: "bbe3a292c59e2f7ae6b8877f6736c96e"
     }
     Frame {
         msec: 4032
-        hash: "9d0e449506ce93052216b7a952af3dea"
+        hash: "b742ebe441dde1f30dab6d19954a9e8c"
     }
     Frame {
         msec: 4048
-        hash: "52641f9d6dfba8bf2b94aa37ade140d1"
+        hash: "d3be942cfb93c4a5d5aa906410125d02"
     }
     Frame {
         msec: 4064
-        hash: "7610775f69a461d5487e8bc3db6b6e1f"
+        hash: "062574e74354b104db2ee6d3c3af5802"
     }
     Key {
         type: 7
@@ -1198,302 +1198,302 @@ VisualTest {
     }
     Frame {
         msec: 4080
-        hash: "afe0c3fdcb498f1f6b877c5d808b2555"
+        hash: "575dd420067e4ebe5733eb4e35a447ab"
     }
     Frame {
         msec: 4096
-        hash: "97dabf3984492d2f868b36c3e7bfce50"
+        hash: "4213f35c4cd233a08d98ba0380b7ab0a"
     }
     Frame {
         msec: 4112
-        hash: "869624c2ae63b0a447401a955a6fefb1"
+        hash: "505e740aacf4ca7e6ad24367ddad8678"
     }
     Frame {
         msec: 4128
-        hash: "7031966f014d4acd5b00c46c89f61403"
+        hash: "007e76fb247e11a442802c7cfb4e6a24"
     }
     Frame {
         msec: 4144
-        hash: "bd5395e7e0aa0d50cb30504f9961c954"
+        hash: "5cf6cb0afffb791da1c4d0fe00cf6326"
     }
     Frame {
         msec: 4160
-        hash: "a7142c3c1eb9c934e0b258c163fcdfec"
+        hash: "aff4097bd39c87c5d1459d99f314dade"
     }
     Frame {
         msec: 4176
-        hash: "373c57edb812db59f40710305d80e9e9"
+        hash: "009dc0c6ff28333ac2fdfa3d79ad2fd6"
     }
     Frame {
         msec: 4192
-        hash: "78b16507899c3c8de04b55389ea0ad49"
+        hash: "4bf8e82220ea0d0c4298d5374e149de2"
     }
     Frame {
         msec: 4208
-        hash: "b0fd95dc2ac09a1cbd67ad0f86682666"
+        hash: "938a6eea45c4412e847a8700172d80ac"
     }
     Frame {
         msec: 4224
-        hash: "5f073a4a89413b6a6c5d6ff52717bb2f"
+        hash: "6502416042993d05dd514119512ed61f"
     }
     Frame {
         msec: 4240
-        hash: "82e61a4d3f58ee5104893e254a77f13e"
+        hash: "5d6702b9475e69bda2ed38f6e2d583d9"
     }
     Frame {
         msec: 4256
-        hash: "a8fe05178e6339454d57575692fa3df3"
+        hash: "8e5fdc8e6cc38089d1e8ff5e91a5c894"
     }
     Frame {
         msec: 4272
-        hash: "192f80add5f612b07dcb8d69f2161648"
+        hash: "c0249d07bcf25af69bf929b4d5ac00a3"
     }
     Frame {
         msec: 4288
-        hash: "cfd85885f59ea80b0b0152446a829fec"
+        hash: "efe333c2b8cccea0bd7135484049db06"
     }
     Frame {
         msec: 4304
-        hash: "a7295dcc92f80a5f343bf05076a03748"
+        hash: "57e49e9094691a204f7507b0231352b3"
     }
     Frame {
         msec: 4320
-        hash: "2b0b30cfb1c1e4ed8a51d36fb7ccdf57"
+        hash: "d0a45bd3cfc5e4e6f9a48534c768daba"
     }
     Frame {
         msec: 4336
-        hash: "419c538908d0226ff4485f1094eaa08e"
+        hash: "6960ab817c67a61af31cc187efe65016"
     }
     Frame {
         msec: 4352
-        hash: "8afe64448d42419f97ca207487b3b0f8"
+        hash: "3b0d483ff765f36a196411967b6dfd70"
     }
     Frame {
         msec: 4368
-        hash: "86091218d2d066d8f95a460426266369"
+        hash: "559713749d65246b185c0c91eb7ad39e"
     }
     Frame {
         msec: 4384
-        hash: "fc45978cac92b6cdeeecc2dd4c29aa53"
+        hash: "9aea32722fd4f8b0cde3c06c61cecde6"
     }
     Frame {
         msec: 4400
-        hash: "03a90ae5cbe68cc210e303c78a14e065"
+        hash: "25dfa32ce92b6044f5ea68411ab5de5b"
     }
     Frame {
         msec: 4416
-        hash: "15603a997aa02afb688aa74cd930f3b4"
+        hash: "dab689ed2bbe663df309548e615e8621"
     }
     Frame {
         msec: 4432
-        hash: "90bf6b2bf89e1440f0c4d1044c1bd22c"
+        hash: "26ad44cef380ff9f64c12180fb54c695"
     }
     Frame {
         msec: 4448
-        hash: "4dbdc16538cbbf1a87c6a54e09e02b16"
+        hash: "5e8bbcd46b5692e66963387b80971e90"
     }
     Frame {
         msec: 4464
-        hash: "2011ee59d2ec4bb0ae0d63727f091648"
+        hash: "747df5357daa951fbedeadf909f9dbf3"
     }
     Frame {
         msec: 4480
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 4496
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 4512
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 4528
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 4544
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 4560
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 4576
-        hash: "02996bef06c74f34cf8be4cf4d1392d5"
+        hash: "1568d4b93d2a284c46f23a0cb17acc24"
     }
     Frame {
         msec: 4592
-        hash: "2d8cb2d213ce22132ba63a829c07f768"
+        hash: "0665a6cfc09981cd8a7ffd0d02e6fbdc"
     }
     Frame {
         msec: 4608
-        hash: "0a16c282a18fdc657ea48fb208dea494"
+        hash: "49892aa44c8e3584239d245a7ca98af3"
     }
     Frame {
         msec: 4624
-        hash: "86baec52ccb8ae818439c637c5be1514"
+        hash: "c9def393bb5d6c447c45b127d32b5e50"
     }
     Frame {
         msec: 4640
-        hash: "72e2415581ba2a96b8f23cf8f5985afb"
+        hash: "679d94007b33197ce7decb4df6e8343c"
     }
     Frame {
         msec: 4656
-        hash: "7776d964b2b5f80bac51a29d298a067f"
+        hash: "817987bcd9f1147ba047333b42ed289d"
     }
     Frame {
         msec: 4672
-        hash: "3b5d0a9f961c2102a4118a8e2d2793ae"
+        hash: "fdd9331015c289b8e33b094999b11dce"
     }
     Frame {
         msec: 4688
-        hash: "048b5e51d9bcf8d1b24c8f8f98b7b4e4"
+        hash: "e4fa13ba2770c0d390945ee4505fea9b"
     }
     Frame {
         msec: 4704
-        hash: "d30e5d7c27b72ec95c41a87741061a3f"
+        hash: "69965c88d2273acf680af243610efcf3"
     }
     Frame {
         msec: 4720
-        hash: "0374cc41cdb6528e212f678e0e049f2b"
+        hash: "6cbeb6787a0a7fb7f654f877e41eed57"
     }
     Frame {
         msec: 4736
-        hash: "c80bc90c90b02d1d42176f16fa992f27"
+        hash: "e7528c074b3c65afe3873a3cdf96f041"
     }
     Frame {
         msec: 4752
-        hash: "70182707dbdf87a2c8db556f030bec17"
+        hash: "c06c72abe46087f0db87a84fdcbcf601"
     }
     Frame {
         msec: 4768
-        hash: "0c6c0c3d27d87128d65b40789714dd6b"
+        hash: "b6840f1d7cf2caed17d763b782553071"
     }
     Frame {
         msec: 4784
-        hash: "46e1debee4ca606492a36de6191f4594"
+        hash: "71fdb77c4133f37180d581e4b1fe9c83"
     }
     Frame {
         msec: 4800
-        image: "cursorDelegate.4.png"
+        hash: "f5e2075ed86f146e0162ae4f0a9c6b90"
     }
     Frame {
         msec: 4816
-        hash: "15bc04b65bde5e8ca69b6a1f88647c16"
+        image: "cursorDelegate.5.png"
     }
     Frame {
         msec: 4832
-        hash: "27156c3309835ec20a02877f1188e14a"
+        hash: "28c8003699352c3c9563556939d49cd8"
     }
     Frame {
         msec: 4848
-        hash: "a163019c9feff0f4d1bb4aaedcd2ecd4"
+        hash: "15ab751c8463326c870dc9ee1af3c1d7"
     }
     Frame {
         msec: 4864
-        hash: "35f243da98f9934d5ac0a7cc1fde73ef"
+        hash: "b745b2aee5ec623163ea22614b8ab54b"
     }
     Frame {
         msec: 4880
-        hash: "42d393d75e0c1d5aea0e1694190e4507"
+        hash: "b3f3b8e325dcd56b696eab7228c3db09"
     }
     Frame {
         msec: 4896
-        hash: "0ec47c6c74efd66d339d9be13148e334"
+        hash: "12ba65e0f70a670b2832235391d3ed05"
     }
     Frame {
         msec: 4912
-        hash: "2e7597e8d03f0a05cf96fe7e2a3ee540"
+        hash: "9dfac03113b662a63bddcac9c7ae8f64"
     }
     Frame {
         msec: 4928
-        hash: "093c9e5ac431284de7e81e082868c5db"
+        hash: "085bbc44102ae0d1d62531f6b6dbda98"
     }
     Frame {
         msec: 4944
-        hash: "60ae71c4a6c905f47b2b457d9167153b"
+        hash: "007887862e2234f4c308778ecac5e16b"
     }
     Frame {
         msec: 4960
-        hash: "e4be7897b1b30ab916a53df2998282d7"
+        hash: "61e8e34755db1fb99b44830676ad95ad"
     }
     Frame {
         msec: 4976
-        hash: "c082b97799dffdb73ad65b2920507e9c"
+        hash: "48c8b1b0d549f7b6d85a81803b9fe31d"
     }
     Frame {
         msec: 4992
-        hash: "aadaab0547a4f15c533589b531f39504"
+        hash: "834cf51445f88394e33a3f3f0a5569f4"
     }
     Frame {
         msec: 5008
-        hash: "847f0a1faf094e73d533692fa47a030a"
+        hash: "a43224f77583bb7235895506f49daee6"
     }
     Frame {
         msec: 5024
-        hash: "847f0a1faf094e73d533692fa47a030a"
+        hash: "a43224f77583bb7235895506f49daee6"
     }
     Frame {
         msec: 5040
-        hash: "aadaab0547a4f15c533589b531f39504"
+        hash: "834cf51445f88394e33a3f3f0a5569f4"
     }
     Frame {
         msec: 5056
-        hash: "c082b97799dffdb73ad65b2920507e9c"
+        hash: "48c8b1b0d549f7b6d85a81803b9fe31d"
     }
     Frame {
         msec: 5072
-        hash: "e4be7897b1b30ab916a53df2998282d7"
+        hash: "61e8e34755db1fb99b44830676ad95ad"
     }
     Frame {
         msec: 5088
-        hash: "60ae71c4a6c905f47b2b457d9167153b"
+        hash: "007887862e2234f4c308778ecac5e16b"
     }
     Frame {
         msec: 5104
-        hash: "093c9e5ac431284de7e81e082868c5db"
+        hash: "085bbc44102ae0d1d62531f6b6dbda98"
     }
     Frame {
         msec: 5120
-        hash: "2e7597e8d03f0a05cf96fe7e2a3ee540"
+        hash: "9dfac03113b662a63bddcac9c7ae8f64"
     }
     Frame {
         msec: 5136
-        hash: "0ec47c6c74efd66d339d9be13148e334"
+        hash: "12ba65e0f70a670b2832235391d3ed05"
     }
     Frame {
         msec: 5152
-        hash: "42d393d75e0c1d5aea0e1694190e4507"
+        hash: "b3f3b8e325dcd56b696eab7228c3db09"
     }
     Frame {
         msec: 5168
-        hash: "35f243da98f9934d5ac0a7cc1fde73ef"
+        hash: "b745b2aee5ec623163ea22614b8ab54b"
     }
     Frame {
         msec: 5184
-        hash: "a163019c9feff0f4d1bb4aaedcd2ecd4"
+        hash: "15ab751c8463326c870dc9ee1af3c1d7"
     }
     Frame {
         msec: 5200
-        hash: "27156c3309835ec20a02877f1188e14a"
+        hash: "28c8003699352c3c9563556939d49cd8"
     }
     Frame {
         msec: 5216
-        hash: "15bc04b65bde5e8ca69b6a1f88647c16"
+        hash: "5e76b741f49bd279b9f62ae3f474e5b5"
     }
     Frame {
         msec: 5232
-        hash: "f327bb2ea12b2baffc0a98d44a0ded16"
+        hash: "f5e2075ed86f146e0162ae4f0a9c6b90"
     }
     Frame {
         msec: 5248
-        hash: "46e1debee4ca606492a36de6191f4594"
+        hash: "71fdb77c4133f37180d581e4b1fe9c83"
     }
     Frame {
         msec: 5264
-        hash: "0c6c0c3d27d87128d65b40789714dd6b"
+        hash: "b6840f1d7cf2caed17d763b782553071"
     }
 }
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.0.png
index dfd30f6..852fc66 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.1.png
index 9d4eb9b..4b283d0 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.1.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.1.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.2.png
index 968517e..342fe05 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.2.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.2.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.3.png
index eb62c19..fb4a774 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.3.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.3.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.4.png
new file mode 100644
index 0000000..852fc66
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.4.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.qml
index a7df61f..d7b26cb 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.qml
@@ -6,99 +6,99 @@ VisualTest {
     }
     Frame {
         msec: 16
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        image: "qt-669.0.png"
     }
     Frame {
         msec: 32
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 48
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 64
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 80
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 96
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 112
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 128
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 144
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 160
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 176
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 192
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 208
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 224
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 240
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 256
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 272
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 288
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 304
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 320
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 336
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 352
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 368
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 384
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Key {
         type: 6
@@ -110,15 +110,15 @@ VisualTest {
     }
     Frame {
         msec: 400
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 416
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 432
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Key {
         type: 7
@@ -130,27 +130,27 @@ VisualTest {
     }
     Frame {
         msec: 448
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 464
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 480
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 496
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 512
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 528
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Key {
         type: 6
@@ -162,15 +162,15 @@ VisualTest {
     }
     Frame {
         msec: 544
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Frame {
         msec: 560
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Frame {
         msec: 576
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Key {
         type: 7
@@ -182,27 +182,27 @@ VisualTest {
     }
     Frame {
         msec: 592
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Frame {
         msec: 608
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Frame {
         msec: 624
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Frame {
         msec: 640
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Frame {
         msec: 656
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Frame {
         msec: 672
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Key {
         type: 6
@@ -214,19 +214,19 @@ VisualTest {
     }
     Frame {
         msec: 688
-        hash: "5a7abe3d30f7dc66c2cda37b03ff339f"
+        hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
     }
     Frame {
         msec: 704
-        hash: "5a7abe3d30f7dc66c2cda37b03ff339f"
+        hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
     }
     Frame {
         msec: 720
-        hash: "5a7abe3d30f7dc66c2cda37b03ff339f"
+        hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
     }
     Frame {
         msec: 736
-        hash: "5a7abe3d30f7dc66c2cda37b03ff339f"
+        hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
     }
     Key {
         type: 7
@@ -238,23 +238,23 @@ VisualTest {
     }
     Frame {
         msec: 752
-        hash: "5a7abe3d30f7dc66c2cda37b03ff339f"
+        hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
     }
     Frame {
         msec: 768
-        hash: "5a7abe3d30f7dc66c2cda37b03ff339f"
+        hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
     }
     Frame {
         msec: 784
-        hash: "5a7abe3d30f7dc66c2cda37b03ff339f"
+        hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
     }
     Frame {
         msec: 800
-        hash: "5a7abe3d30f7dc66c2cda37b03ff339f"
+        hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
     }
     Frame {
         msec: 816
-        hash: "5a7abe3d30f7dc66c2cda37b03ff339f"
+        hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
     }
     Key {
         type: 6
@@ -266,19 +266,19 @@ VisualTest {
     }
     Frame {
         msec: 832
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Frame {
         msec: 848
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Frame {
         msec: 864
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Frame {
         msec: 880
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Key {
         type: 7
@@ -290,19 +290,19 @@ VisualTest {
     }
     Frame {
         msec: 896
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Frame {
         msec: 912
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Frame {
         msec: 928
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Frame {
         msec: 944
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Key {
         type: 6
@@ -314,19 +314,19 @@ VisualTest {
     }
     Frame {
         msec: 960
-        image: "qt-669.0.png"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 976
-        hash: "0873eebe3bbcb864644811670642028e"
+        image: "qt-669.1.png"
     }
     Frame {
         msec: 992
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 1008
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Key {
         type: 7
@@ -338,23 +338,23 @@ VisualTest {
     }
     Frame {
         msec: 1024
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 1040
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 1056
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 1072
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 1088
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Key {
         type: 6
@@ -366,15 +366,15 @@ VisualTest {
     }
     Frame {
         msec: 1104
-        hash: "a88ac2f56d3d75a277b0855e2baeda33"
+        hash: "f531e8dd89482e3d7c501d0b3a8b3392"
     }
     Frame {
         msec: 1120
-        hash: "a88ac2f56d3d75a277b0855e2baeda33"
+        hash: "f531e8dd89482e3d7c501d0b3a8b3392"
     }
     Frame {
         msec: 1136
-        hash: "a88ac2f56d3d75a277b0855e2baeda33"
+        hash: "f531e8dd89482e3d7c501d0b3a8b3392"
     }
     Key {
         type: 7
@@ -386,23 +386,23 @@ VisualTest {
     }
     Frame {
         msec: 1152
-        hash: "a88ac2f56d3d75a277b0855e2baeda33"
+        hash: "f531e8dd89482e3d7c501d0b3a8b3392"
     }
     Frame {
         msec: 1168
-        hash: "a88ac2f56d3d75a277b0855e2baeda33"
+        hash: "f531e8dd89482e3d7c501d0b3a8b3392"
     }
     Frame {
         msec: 1184
-        hash: "a88ac2f56d3d75a277b0855e2baeda33"
+        hash: "f531e8dd89482e3d7c501d0b3a8b3392"
     }
     Frame {
         msec: 1200
-        hash: "a88ac2f56d3d75a277b0855e2baeda33"
+        hash: "f531e8dd89482e3d7c501d0b3a8b3392"
     }
     Frame {
         msec: 1216
-        hash: "a88ac2f56d3d75a277b0855e2baeda33"
+        hash: "f531e8dd89482e3d7c501d0b3a8b3392"
     }
     Key {
         type: 6
@@ -414,19 +414,19 @@ VisualTest {
     }
     Frame {
         msec: 1232
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Frame {
         msec: 1248
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Frame {
         msec: 1264
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Frame {
         msec: 1280
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Key {
         type: 7
@@ -438,19 +438,19 @@ VisualTest {
     }
     Frame {
         msec: 1296
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Frame {
         msec: 1312
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Frame {
         msec: 1328
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Frame {
         msec: 1344
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Key {
         type: 6
@@ -462,19 +462,19 @@ VisualTest {
     }
     Frame {
         msec: 1360
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 1376
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 1392
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 1408
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Key {
         type: 7
@@ -486,23 +486,23 @@ VisualTest {
     }
     Frame {
         msec: 1424
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 1440
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 1456
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 1472
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 1488
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Key {
         type: 6
@@ -514,15 +514,15 @@ VisualTest {
     }
     Frame {
         msec: 1504
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1520
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1536
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Key {
         type: 7
@@ -534,79 +534,79 @@ VisualTest {
     }
     Frame {
         msec: 1552
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1568
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1584
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1600
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1616
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1632
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1648
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1664
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1680
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1696
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1712
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1728
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1744
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1760
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1776
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1792
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1808
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1824
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Frame {
         msec: 1840
-        hash: "ab021c71945620eba0b0cd70c7cffe5d"
+        hash: "389d0ac399e709482600181b4869be43"
     }
     Key {
         type: 6
@@ -618,39 +618,39 @@ VisualTest {
     }
     Frame {
         msec: 1856
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 1872
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 1888
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 1904
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 1920
-        image: "qt-669.1.png"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 1936
-        hash: "2ce295d30754b14d889795d2192fef41"
+        image: "qt-669.2.png"
     }
     Frame {
         msec: 1952
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 1968
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 1984
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Key {
         type: 7
@@ -662,23 +662,23 @@ VisualTest {
     }
     Frame {
         msec: 2000
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 2016
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 2032
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 2048
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Frame {
         msec: 2064
-        hash: "2ce295d30754b14d889795d2192fef41"
+        hash: "9ec7c9965d3ce810553b1182b746d148"
     }
     Key {
         type: 6
@@ -690,23 +690,23 @@ VisualTest {
     }
     Frame {
         msec: 2080
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Frame {
         msec: 2096
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Frame {
         msec: 2112
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Frame {
         msec: 2128
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Frame {
         msec: 2144
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Key {
         type: 7
@@ -718,23 +718,23 @@ VisualTest {
     }
     Frame {
         msec: 2160
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Frame {
         msec: 2176
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Frame {
         msec: 2192
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Frame {
         msec: 2208
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Frame {
         msec: 2224
-        hash: "22bdd816325b5466ca937cf2535a3ef8"
+        hash: "fca9d1748195f0d4388694baf901c498"
     }
     Key {
         type: 6
@@ -746,11 +746,11 @@ VisualTest {
     }
     Frame {
         msec: 2240
-        hash: "a88ac2f56d3d75a277b0855e2baeda33"
+        hash: "f531e8dd89482e3d7c501d0b3a8b3392"
     }
     Frame {
         msec: 2256
-        hash: "a88ac2f56d3d75a277b0855e2baeda33"
+        hash: "f531e8dd89482e3d7c501d0b3a8b3392"
     }
     Key {
         type: 7
@@ -762,23 +762,23 @@ VisualTest {
     }
     Frame {
         msec: 2272
-        hash: "a88ac2f56d3d75a277b0855e2baeda33"
+        hash: "f531e8dd89482e3d7c501d0b3a8b3392"
     }
     Frame {
         msec: 2288
-        hash: "a88ac2f56d3d75a277b0855e2baeda33"
+        hash: "f531e8dd89482e3d7c501d0b3a8b3392"
     }
     Frame {
         msec: 2304
-        hash: "a88ac2f56d3d75a277b0855e2baeda33"
+        hash: "f531e8dd89482e3d7c501d0b3a8b3392"
     }
     Frame {
         msec: 2320
-        hash: "a88ac2f56d3d75a277b0855e2baeda33"
+        hash: "f531e8dd89482e3d7c501d0b3a8b3392"
     }
     Frame {
         msec: 2336
-        hash: "a88ac2f56d3d75a277b0855e2baeda33"
+        hash: "f531e8dd89482e3d7c501d0b3a8b3392"
     }
     Key {
         type: 6
@@ -790,15 +790,15 @@ VisualTest {
     }
     Frame {
         msec: 2352
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 2368
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 2384
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Key {
         type: 7
@@ -810,55 +810,55 @@ VisualTest {
     }
     Frame {
         msec: 2400
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 2416
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 2432
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 2448
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 2464
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 2480
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 2496
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 2512
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 2528
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 2544
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 2560
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 2576
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Frame {
         msec: 2592
-        hash: "0873eebe3bbcb864644811670642028e"
+        hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
     }
     Key {
         type: 6
@@ -870,23 +870,23 @@ VisualTest {
     }
     Frame {
         msec: 2608
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Frame {
         msec: 2624
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Frame {
         msec: 2640
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Frame {
         msec: 2656
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Frame {
         msec: 2672
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Key {
         type: 7
@@ -898,23 +898,23 @@ VisualTest {
     }
     Frame {
         msec: 2688
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Frame {
         msec: 2704
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Frame {
         msec: 2720
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Frame {
         msec: 2736
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Frame {
         msec: 2752
-        hash: "94d3da7909c84467c62deb2861104d21"
+        hash: "86e1ba72951c0c193bfd2cd2162c500e"
     }
     Key {
         type: 6
@@ -926,15 +926,15 @@ VisualTest {
     }
     Frame {
         msec: 2768
-        hash: "5a7abe3d30f7dc66c2cda37b03ff339f"
+        hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
     }
     Frame {
         msec: 2784
-        hash: "5a7abe3d30f7dc66c2cda37b03ff339f"
+        hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
     }
     Frame {
         msec: 2800
-        hash: "5a7abe3d30f7dc66c2cda37b03ff339f"
+        hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
     }
     Key {
         type: 7
@@ -946,19 +946,19 @@ VisualTest {
     }
     Frame {
         msec: 2816
-        hash: "5a7abe3d30f7dc66c2cda37b03ff339f"
+        hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
     }
     Frame {
         msec: 2832
-        hash: "5a7abe3d30f7dc66c2cda37b03ff339f"
+        hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
     }
     Frame {
         msec: 2848
-        hash: "5a7abe3d30f7dc66c2cda37b03ff339f"
+        hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
     }
     Frame {
         msec: 2864
-        hash: "5a7abe3d30f7dc66c2cda37b03ff339f"
+        hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
     }
     Key {
         type: 6
@@ -970,19 +970,19 @@ VisualTest {
     }
     Frame {
         msec: 2880
-        image: "qt-669.2.png"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Frame {
         msec: 2896
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        image: "qt-669.3.png"
     }
     Frame {
         msec: 2912
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Frame {
         msec: 2928
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Key {
         type: 7
@@ -994,23 +994,23 @@ VisualTest {
     }
     Frame {
         msec: 2944
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Frame {
         msec: 2960
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Frame {
         msec: 2976
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Frame {
         msec: 2992
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Frame {
         msec: 3008
-        hash: "ddf97bfd6216415dd2a56871f19c2d49"
+        hash: "e2a49d72741ba08c258bb70d3a13c7f6"
     }
     Key {
         type: 6
@@ -1022,23 +1022,23 @@ VisualTest {
     }
     Frame {
         msec: 3024
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3040
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3056
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3072
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3088
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Key {
         type: 7
@@ -1050,155 +1050,155 @@ VisualTest {
     }
     Frame {
         msec: 3104
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3120
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3136
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3152
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3168
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3184
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3200
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3216
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3232
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3248
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3264
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3280
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3296
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3312
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3328
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3344
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3360
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3376
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3392
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3408
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3424
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3440
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3456
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3472
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3488
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3504
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3520
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3536
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3552
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3568
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3584
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3600
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3616
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3632
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3648
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3664
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3680
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Frame {
         msec: 3696
-        hash: "5db508bc5a66018d9732cf8427461ef2"
+        hash: "1d69ccdf88fa78b44a77147190bf1dfc"
     }
     Key {
         type: 6
@@ -1210,27 +1210,27 @@ VisualTest {
     }
     Frame {
         msec: 3712
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 3728
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 3744
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 3760
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 3776
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 3792
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Key {
         type: 7
@@ -1242,130 +1242,130 @@ VisualTest {
     }
     Frame {
         msec: 3808
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 3824
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 3840
-        image: "qt-669.3.png"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 3856
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        image: "qt-669.4.png"
     }
     Frame {
         msec: 3872
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 3888
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 3904
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 3920
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 3936
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 3952
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 3968
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 3984
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4000
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4016
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4032
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4048
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4064
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4080
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4096
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4112
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4128
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4144
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4160
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4176
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4192
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4208
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4224
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4240
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4256
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4272
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4288
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
     Frame {
         msec: 4304
-        hash: "9d4f0f25239a53ed9ac917df0c4a5f8e"
+        hash: "32c2b08a6123015ca72f283f89ee1663"
     }
 }
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.0.png
index 5049c3f..0b4ca4e 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.1.png
index ee6e16a..251beb6 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.1.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.1.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.10.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.10.png
index d9d2252..5cd2d7d 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.10.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.10.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.11.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.11.png
index d9d2252..5cd2d7d 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.11.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.11.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.12.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.12.png
new file mode 100644
index 0000000..5cd2d7d
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.12.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.2.png
index cf99d98..bf6a44e 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.2.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.2.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.3.png
index e3937f0..1089578 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.3.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.3.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.4.png
index 2fe3337..c9113de 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.4.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.4.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.5.png
index 97b9913..47b4744 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.5.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.5.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.6.png
index 08e059f..c518204 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.6.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.6.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.7.png
index bbc5ba2..9f1c26a 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.7.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.7.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.8.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.8.png
index 465b64e..cd8d0a5 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.8.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.8.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.9.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.9.png
index d9d2252..8f5f872 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.9.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.9.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.qml
index a8173be..a064bf3 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.qml
@@ -6,83 +6,83 @@ VisualTest {
     }
     Frame {
         msec: 16
-        hash: "e742c08c259034e879b95eea60794e77"
+        image: "usingMultilineEdit.0.png"
     }
     Frame {
         msec: 32
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 48
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 64
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 80
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 96
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 112
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 128
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 144
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 160
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 176
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 192
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 208
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 224
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 240
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 256
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 272
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 288
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 304
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 320
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Mouse {
         type: 2
@@ -94,23 +94,23 @@ VisualTest {
     }
     Frame {
         msec: 336
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 352
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 368
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 384
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 400
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Mouse {
         type: 3
@@ -122,63 +122,63 @@ VisualTest {
     }
     Frame {
         msec: 416
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 432
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 448
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 464
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 480
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 496
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 512
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 528
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 544
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 560
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 576
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 592
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 608
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 624
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Frame {
         msec: 640
-        hash: "e742c08c259034e879b95eea60794e77"
+        hash: "9d5bfe023a03fde612678d000e7d4135"
     }
     Mouse {
         type: 2
@@ -190,11 +190,11 @@ VisualTest {
     }
     Frame {
         msec: 656
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 672
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Mouse {
         type: 3
@@ -206,159 +206,159 @@ VisualTest {
     }
     Frame {
         msec: 688
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 704
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 720
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 736
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 752
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 768
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 784
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 800
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 816
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 832
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 848
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 864
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 880
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 896
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 912
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 928
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 944
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 960
-        image: "usingMultilineEdit.0.png"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 976
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        image: "usingMultilineEdit.1.png"
     }
     Frame {
         msec: 992
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1008
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1024
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1040
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1056
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1072
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1088
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1104
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1120
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1136
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1152
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1168
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1184
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1200
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1216
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1232
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1248
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1264
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1280
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Frame {
         msec: 1296
-        hash: "3eaecb73d32414207c898a36c9c41da3"
+        hash: "73232e1c199b5dda158a7e765386a716"
     }
     Key {
         type: 6
@@ -370,23 +370,23 @@ VisualTest {
     }
     Frame {
         msec: 1312
-        hash: "c101a1d74691605f2740452950693e43"
+        hash: "75aa32bf4bfdda0dfcf04768bf931da6"
     }
     Frame {
         msec: 1328
-        hash: "c101a1d74691605f2740452950693e43"
+        hash: "75aa32bf4bfdda0dfcf04768bf931da6"
     }
     Frame {
         msec: 1344
-        hash: "c101a1d74691605f2740452950693e43"
+        hash: "75aa32bf4bfdda0dfcf04768bf931da6"
     }
     Frame {
         msec: 1360
-        hash: "c101a1d74691605f2740452950693e43"
+        hash: "75aa32bf4bfdda0dfcf04768bf931da6"
     }
     Frame {
         msec: 1376
-        hash: "c101a1d74691605f2740452950693e43"
+        hash: "75aa32bf4bfdda0dfcf04768bf931da6"
     }
     Key {
         type: 7
@@ -398,7 +398,7 @@ VisualTest {
     }
     Frame {
         msec: 1392
-        hash: "c101a1d74691605f2740452950693e43"
+        hash: "75aa32bf4bfdda0dfcf04768bf931da6"
     }
     Key {
         type: 6
@@ -410,19 +410,19 @@ VisualTest {
     }
     Frame {
         msec: 1408
-        hash: "e3e33c9f73352079db2f5e96c0069974"
+        hash: "7243b903b5b7d8c323a233ae13a2ddf3"
     }
     Frame {
         msec: 1424
-        hash: "e3e33c9f73352079db2f5e96c0069974"
+        hash: "7243b903b5b7d8c323a233ae13a2ddf3"
     }
     Frame {
         msec: 1440
-        hash: "e3e33c9f73352079db2f5e96c0069974"
+        hash: "7243b903b5b7d8c323a233ae13a2ddf3"
     }
     Frame {
         msec: 1456
-        hash: "e3e33c9f73352079db2f5e96c0069974"
+        hash: "7243b903b5b7d8c323a233ae13a2ddf3"
     }
     Key {
         type: 7
@@ -434,27 +434,27 @@ VisualTest {
     }
     Frame {
         msec: 1472
-        hash: "e3e33c9f73352079db2f5e96c0069974"
+        hash: "7243b903b5b7d8c323a233ae13a2ddf3"
     }
     Frame {
         msec: 1488
-        hash: "e3e33c9f73352079db2f5e96c0069974"
+        hash: "7243b903b5b7d8c323a233ae13a2ddf3"
     }
     Frame {
         msec: 1504
-        hash: "e3e33c9f73352079db2f5e96c0069974"
+        hash: "7243b903b5b7d8c323a233ae13a2ddf3"
     }
     Frame {
         msec: 1520
-        hash: "e3e33c9f73352079db2f5e96c0069974"
+        hash: "7243b903b5b7d8c323a233ae13a2ddf3"
     }
     Frame {
         msec: 1536
-        hash: "e3e33c9f73352079db2f5e96c0069974"
+        hash: "7243b903b5b7d8c323a233ae13a2ddf3"
     }
     Frame {
         msec: 1552
-        hash: "e3e33c9f73352079db2f5e96c0069974"
+        hash: "7243b903b5b7d8c323a233ae13a2ddf3"
     }
     Key {
         type: 6
@@ -466,15 +466,15 @@ VisualTest {
     }
     Frame {
         msec: 1568
-        hash: "0e79208365ec4b5a609d13b9e6c5c8d8"
+        hash: "676834a4ee84cb251c6ed102be89ea2e"
     }
     Frame {
         msec: 1584
-        hash: "0e79208365ec4b5a609d13b9e6c5c8d8"
+        hash: "676834a4ee84cb251c6ed102be89ea2e"
     }
     Frame {
         msec: 1600
-        hash: "0e79208365ec4b5a609d13b9e6c5c8d8"
+        hash: "676834a4ee84cb251c6ed102be89ea2e"
     }
     Key {
         type: 7
@@ -486,7 +486,7 @@ VisualTest {
     }
     Frame {
         msec: 1616
-        hash: "0e79208365ec4b5a609d13b9e6c5c8d8"
+        hash: "676834a4ee84cb251c6ed102be89ea2e"
     }
     Key {
         type: 6
@@ -498,23 +498,23 @@ VisualTest {
     }
     Frame {
         msec: 1632
-        hash: "5485c9cf4050ef8c1dda227d27326f78"
+        hash: "74a81081cd0547624cc4168e824b48b8"
     }
     Frame {
         msec: 1648
-        hash: "5485c9cf4050ef8c1dda227d27326f78"
+        hash: "74a81081cd0547624cc4168e824b48b8"
     }
     Frame {
         msec: 1664
-        hash: "5485c9cf4050ef8c1dda227d27326f78"
+        hash: "74a81081cd0547624cc4168e824b48b8"
     }
     Frame {
         msec: 1680
-        hash: "5485c9cf4050ef8c1dda227d27326f78"
+        hash: "74a81081cd0547624cc4168e824b48b8"
     }
     Frame {
         msec: 1696
-        hash: "5485c9cf4050ef8c1dda227d27326f78"
+        hash: "74a81081cd0547624cc4168e824b48b8"
     }
     Key {
         type: 7
@@ -526,11 +526,11 @@ VisualTest {
     }
     Frame {
         msec: 1712
-        hash: "5485c9cf4050ef8c1dda227d27326f78"
+        hash: "74a81081cd0547624cc4168e824b48b8"
     }
     Frame {
         msec: 1728
-        hash: "5485c9cf4050ef8c1dda227d27326f78"
+        hash: "74a81081cd0547624cc4168e824b48b8"
     }
     Key {
         type: 6
@@ -542,15 +542,15 @@ VisualTest {
     }
     Frame {
         msec: 1744
-        hash: "1063a2e6164b372ba364c15c1c8b6ade"
+        hash: "4c736b2bffb38df898478e3d0ce37fb0"
     }
     Frame {
         msec: 1760
-        hash: "1063a2e6164b372ba364c15c1c8b6ade"
+        hash: "4c736b2bffb38df898478e3d0ce37fb0"
     }
     Frame {
         msec: 1776
-        hash: "1063a2e6164b372ba364c15c1c8b6ade"
+        hash: "4c736b2bffb38df898478e3d0ce37fb0"
     }
     Key {
         type: 7
@@ -562,15 +562,15 @@ VisualTest {
     }
     Frame {
         msec: 1792
-        hash: "1063a2e6164b372ba364c15c1c8b6ade"
+        hash: "4c736b2bffb38df898478e3d0ce37fb0"
     }
     Frame {
         msec: 1808
-        hash: "1063a2e6164b372ba364c15c1c8b6ade"
+        hash: "4c736b2bffb38df898478e3d0ce37fb0"
     }
     Frame {
         msec: 1824
-        hash: "1063a2e6164b372ba364c15c1c8b6ade"
+        hash: "4c736b2bffb38df898478e3d0ce37fb0"
     }
     Key {
         type: 6
@@ -582,23 +582,23 @@ VisualTest {
     }
     Frame {
         msec: 1840
-        hash: "213c0057171a86bd4e2d898fac4d6642"
+        hash: "fd070c77e33e1498bacf0076903d33d7"
     }
     Frame {
         msec: 1856
-        hash: "213c0057171a86bd4e2d898fac4d6642"
+        hash: "fd070c77e33e1498bacf0076903d33d7"
     }
     Frame {
         msec: 1872
-        hash: "213c0057171a86bd4e2d898fac4d6642"
+        hash: "fd070c77e33e1498bacf0076903d33d7"
     }
     Frame {
         msec: 1888
-        hash: "213c0057171a86bd4e2d898fac4d6642"
+        hash: "fd070c77e33e1498bacf0076903d33d7"
     }
     Frame {
         msec: 1904
-        hash: "213c0057171a86bd4e2d898fac4d6642"
+        hash: "fd070c77e33e1498bacf0076903d33d7"
     }
     Key {
         type: 7
@@ -618,19 +618,19 @@ VisualTest {
     }
     Frame {
         msec: 1920
-        image: "usingMultilineEdit.1.png"
+        hash: "2ce31e62bfe5c1a62621fe4ea6bb07ab"
     }
     Frame {
         msec: 1936
-        hash: "df9766751a5698f84f98faa0ac0e6f1a"
+        image: "usingMultilineEdit.2.png"
     }
     Frame {
         msec: 1952
-        hash: "df9766751a5698f84f98faa0ac0e6f1a"
+        hash: "2ce31e62bfe5c1a62621fe4ea6bb07ab"
     }
     Frame {
         msec: 1968
-        hash: "df9766751a5698f84f98faa0ac0e6f1a"
+        hash: "2ce31e62bfe5c1a62621fe4ea6bb07ab"
     }
     Key {
         type: 6
@@ -642,11 +642,11 @@ VisualTest {
     }
     Frame {
         msec: 1984
-        hash: "47cb63f13c81ac6557ecc68d4e6f9c99"
+        hash: "77f7b91dba63e20e92b47575ae2f1a85"
     }
     Frame {
         msec: 2000
-        hash: "47cb63f13c81ac6557ecc68d4e6f9c99"
+        hash: "77f7b91dba63e20e92b47575ae2f1a85"
     }
     Key {
         type: 7
@@ -658,7 +658,7 @@ VisualTest {
     }
     Frame {
         msec: 2016
-        hash: "47cb63f13c81ac6557ecc68d4e6f9c99"
+        hash: "77f7b91dba63e20e92b47575ae2f1a85"
     }
     Key {
         type: 6
@@ -670,11 +670,11 @@ VisualTest {
     }
     Frame {
         msec: 2032
-        hash: "4f39251d7a0071a67435d088f46fc4fe"
+        hash: "6c881ac1c94b6648ce1a2c39e477906c"
     }
     Frame {
         msec: 2048
-        hash: "4f39251d7a0071a67435d088f46fc4fe"
+        hash: "6c881ac1c94b6648ce1a2c39e477906c"
     }
     Key {
         type: 7
@@ -686,19 +686,19 @@ VisualTest {
     }
     Frame {
         msec: 2064
-        hash: "4f39251d7a0071a67435d088f46fc4fe"
+        hash: "6c881ac1c94b6648ce1a2c39e477906c"
     }
     Frame {
         msec: 2080
-        hash: "4f39251d7a0071a67435d088f46fc4fe"
+        hash: "6c881ac1c94b6648ce1a2c39e477906c"
     }
     Frame {
         msec: 2096
-        hash: "4f39251d7a0071a67435d088f46fc4fe"
+        hash: "6c881ac1c94b6648ce1a2c39e477906c"
     }
     Frame {
         msec: 2112
-        hash: "4f39251d7a0071a67435d088f46fc4fe"
+        hash: "6c881ac1c94b6648ce1a2c39e477906c"
     }
     Key {
         type: 7
@@ -710,11 +710,11 @@ VisualTest {
     }
     Frame {
         msec: 2128
-        hash: "4f39251d7a0071a67435d088f46fc4fe"
+        hash: "6c881ac1c94b6648ce1a2c39e477906c"
     }
     Frame {
         msec: 2144
-        hash: "4f39251d7a0071a67435d088f46fc4fe"
+        hash: "6c881ac1c94b6648ce1a2c39e477906c"
     }
     Key {
         type: 6
@@ -726,27 +726,27 @@ VisualTest {
     }
     Frame {
         msec: 2160
-        hash: "722715a78e99d0f1f9a2830090c98f3c"
+        hash: "8799a9ee6ae4334c0e595c75160cbb35"
     }
     Frame {
         msec: 2176
-        hash: "722715a78e99d0f1f9a2830090c98f3c"
+        hash: "8799a9ee6ae4334c0e595c75160cbb35"
     }
     Frame {
         msec: 2192
-        hash: "722715a78e99d0f1f9a2830090c98f3c"
+        hash: "8799a9ee6ae4334c0e595c75160cbb35"
     }
     Frame {
         msec: 2208
-        hash: "722715a78e99d0f1f9a2830090c98f3c"
+        hash: "8799a9ee6ae4334c0e595c75160cbb35"
     }
     Frame {
         msec: 2224
-        hash: "722715a78e99d0f1f9a2830090c98f3c"
+        hash: "8799a9ee6ae4334c0e595c75160cbb35"
     }
     Frame {
         msec: 2240
-        hash: "722715a78e99d0f1f9a2830090c98f3c"
+        hash: "8799a9ee6ae4334c0e595c75160cbb35"
     }
     Key {
         type: 7
@@ -766,23 +766,23 @@ VisualTest {
     }
     Frame {
         msec: 2256
-        hash: "aa085c20f74a765297f7904680c7591e"
+        hash: "1947b07da95b6fb20dfa0189d2e099f4"
     }
     Frame {
         msec: 2272
-        hash: "aa085c20f74a765297f7904680c7591e"
+        hash: "1947b07da95b6fb20dfa0189d2e099f4"
     }
     Frame {
         msec: 2288
-        hash: "aa085c20f74a765297f7904680c7591e"
+        hash: "1947b07da95b6fb20dfa0189d2e099f4"
     }
     Frame {
         msec: 2304
-        hash: "aa085c20f74a765297f7904680c7591e"
+        hash: "1947b07da95b6fb20dfa0189d2e099f4"
     }
     Frame {
         msec: 2320
-        hash: "aa085c20f74a765297f7904680c7591e"
+        hash: "1947b07da95b6fb20dfa0189d2e099f4"
     }
     Key {
         type: 7
@@ -794,11 +794,11 @@ VisualTest {
     }
     Frame {
         msec: 2336
-        hash: "aa085c20f74a765297f7904680c7591e"
+        hash: "1947b07da95b6fb20dfa0189d2e099f4"
     }
     Frame {
         msec: 2352
-        hash: "aa085c20f74a765297f7904680c7591e"
+        hash: "1947b07da95b6fb20dfa0189d2e099f4"
     }
     Key {
         type: 6
@@ -810,19 +810,19 @@ VisualTest {
     }
     Frame {
         msec: 2368
-        hash: "0cc1397ce700d4a84647dddee65241b3"
+        hash: "f4831fddbb6dccd2add6c381abe18ff5"
     }
     Frame {
         msec: 2384
-        hash: "0cc1397ce700d4a84647dddee65241b3"
+        hash: "f4831fddbb6dccd2add6c381abe18ff5"
     }
     Frame {
         msec: 2400
-        hash: "0cc1397ce700d4a84647dddee65241b3"
+        hash: "f4831fddbb6dccd2add6c381abe18ff5"
     }
     Frame {
         msec: 2416
-        hash: "0cc1397ce700d4a84647dddee65241b3"
+        hash: "f4831fddbb6dccd2add6c381abe18ff5"
     }
     Key {
         type: 7
@@ -834,7 +834,7 @@ VisualTest {
     }
     Frame {
         msec: 2432
-        hash: "0cc1397ce700d4a84647dddee65241b3"
+        hash: "f4831fddbb6dccd2add6c381abe18ff5"
     }
     Key {
         type: 6
@@ -846,27 +846,27 @@ VisualTest {
     }
     Frame {
         msec: 2448
-        hash: "ac693aa9030cc388dce9004916734aed"
+        hash: "c8e601e39d6399c3bcbe99080e10e77b"
     }
     Frame {
         msec: 2464
-        hash: "ac693aa9030cc388dce9004916734aed"
+        hash: "c8e601e39d6399c3bcbe99080e10e77b"
     }
     Frame {
         msec: 2480
-        hash: "ac693aa9030cc388dce9004916734aed"
+        hash: "c8e601e39d6399c3bcbe99080e10e77b"
     }
     Frame {
         msec: 2496
-        hash: "ac693aa9030cc388dce9004916734aed"
+        hash: "c8e601e39d6399c3bcbe99080e10e77b"
     }
     Frame {
         msec: 2512
-        hash: "ac693aa9030cc388dce9004916734aed"
+        hash: "c8e601e39d6399c3bcbe99080e10e77b"
     }
     Frame {
         msec: 2528
-        hash: "ac693aa9030cc388dce9004916734aed"
+        hash: "c8e601e39d6399c3bcbe99080e10e77b"
     }
     Key {
         type: 7
@@ -878,7 +878,7 @@ VisualTest {
     }
     Frame {
         msec: 2544
-        hash: "ac693aa9030cc388dce9004916734aed"
+        hash: "c8e601e39d6399c3bcbe99080e10e77b"
     }
     Key {
         type: 6
@@ -890,19 +890,19 @@ VisualTest {
     }
     Frame {
         msec: 2560
-        hash: "e1f1b75892dc186e7f9546661722e259"
+        hash: "895b6084f9cd58d0746270468d037fc3"
     }
     Frame {
         msec: 2576
-        hash: "e1f1b75892dc186e7f9546661722e259"
+        hash: "895b6084f9cd58d0746270468d037fc3"
     }
     Frame {
         msec: 2592
-        hash: "e1f1b75892dc186e7f9546661722e259"
+        hash: "895b6084f9cd58d0746270468d037fc3"
     }
     Frame {
         msec: 2608
-        hash: "e1f1b75892dc186e7f9546661722e259"
+        hash: "895b6084f9cd58d0746270468d037fc3"
     }
     Key {
         type: 7
@@ -914,23 +914,23 @@ VisualTest {
     }
     Frame {
         msec: 2624
-        hash: "e1f1b75892dc186e7f9546661722e259"
+        hash: "895b6084f9cd58d0746270468d037fc3"
     }
     Frame {
         msec: 2640
-        hash: "e1f1b75892dc186e7f9546661722e259"
+        hash: "895b6084f9cd58d0746270468d037fc3"
     }
     Frame {
         msec: 2656
-        hash: "e1f1b75892dc186e7f9546661722e259"
+        hash: "895b6084f9cd58d0746270468d037fc3"
     }
     Frame {
         msec: 2672
-        hash: "e1f1b75892dc186e7f9546661722e259"
+        hash: "895b6084f9cd58d0746270468d037fc3"
     }
     Frame {
         msec: 2688
-        hash: "e1f1b75892dc186e7f9546661722e259"
+        hash: "895b6084f9cd58d0746270468d037fc3"
     }
     Key {
         type: 6
@@ -942,27 +942,27 @@ VisualTest {
     }
     Frame {
         msec: 2704
-        hash: "4c1829c6c263cf290e0e71035f678589"
+        hash: "ded3a272885f24140fb8d21835ae6b3a"
     }
     Frame {
         msec: 2720
-        hash: "4c1829c6c263cf290e0e71035f678589"
+        hash: "ded3a272885f24140fb8d21835ae6b3a"
     }
     Frame {
         msec: 2736
-        hash: "4c1829c6c263cf290e0e71035f678589"
+        hash: "ded3a272885f24140fb8d21835ae6b3a"
     }
     Frame {
         msec: 2752
-        hash: "4c1829c6c263cf290e0e71035f678589"
+        hash: "ded3a272885f24140fb8d21835ae6b3a"
     }
     Frame {
         msec: 2768
-        hash: "4c1829c6c263cf290e0e71035f678589"
+        hash: "ded3a272885f24140fb8d21835ae6b3a"
     }
     Frame {
         msec: 2784
-        hash: "4c1829c6c263cf290e0e71035f678589"
+        hash: "ded3a272885f24140fb8d21835ae6b3a"
     }
     Key {
         type: 6
@@ -974,7 +974,7 @@ VisualTest {
     }
     Frame {
         msec: 2800
-        hash: "fa5cf022b185f178d0121b442af01c00"
+        hash: "9339ea22fd115b8ae025c0b3a588ca1c"
     }
     Key {
         type: 7
@@ -986,19 +986,19 @@ VisualTest {
     }
     Frame {
         msec: 2816
-        hash: "fa5cf022b185f178d0121b442af01c00"
+        hash: "9339ea22fd115b8ae025c0b3a588ca1c"
     }
     Frame {
         msec: 2832
-        hash: "fa5cf022b185f178d0121b442af01c00"
+        hash: "9339ea22fd115b8ae025c0b3a588ca1c"
     }
     Frame {
         msec: 2848
-        hash: "fa5cf022b185f178d0121b442af01c00"
+        hash: "9339ea22fd115b8ae025c0b3a588ca1c"
     }
     Frame {
         msec: 2864
-        hash: "fa5cf022b185f178d0121b442af01c00"
+        hash: "9339ea22fd115b8ae025c0b3a588ca1c"
     }
     Key {
         type: 7
@@ -1010,19 +1010,19 @@ VisualTest {
     }
     Frame {
         msec: 2880
-        image: "usingMultilineEdit.2.png"
+        hash: "9339ea22fd115b8ae025c0b3a588ca1c"
     }
     Frame {
         msec: 2896
-        hash: "fa5cf022b185f178d0121b442af01c00"
+        image: "usingMultilineEdit.3.png"
     }
     Frame {
         msec: 2912
-        hash: "fa5cf022b185f178d0121b442af01c00"
+        hash: "9339ea22fd115b8ae025c0b3a588ca1c"
     }
     Frame {
         msec: 2928
-        hash: "fa5cf022b185f178d0121b442af01c00"
+        hash: "9339ea22fd115b8ae025c0b3a588ca1c"
     }
     Key {
         type: 6
@@ -1034,15 +1034,15 @@ VisualTest {
     }
     Frame {
         msec: 2944
-        hash: "b0748cac94695eb95774e0cdfabf47cc"
+        hash: "1f219781fb7a7682d27cb875900d077a"
     }
     Frame {
         msec: 2960
-        hash: "b0748cac94695eb95774e0cdfabf47cc"
+        hash: "1f219781fb7a7682d27cb875900d077a"
     }
     Frame {
         msec: 2976
-        hash: "b0748cac94695eb95774e0cdfabf47cc"
+        hash: "1f219781fb7a7682d27cb875900d077a"
     }
     Key {
         type: 7
@@ -1062,19 +1062,19 @@ VisualTest {
     }
     Frame {
         msec: 2992
-        hash: "b05fc4c21113146463372b1ea981e265"
+        hash: "20bd65f158440301e6cf14463e498368"
     }
     Frame {
         msec: 3008
-        hash: "b05fc4c21113146463372b1ea981e265"
+        hash: "20bd65f158440301e6cf14463e498368"
     }
     Frame {
         msec: 3024
-        hash: "b05fc4c21113146463372b1ea981e265"
+        hash: "20bd65f158440301e6cf14463e498368"
     }
     Frame {
         msec: 3040
-        hash: "b05fc4c21113146463372b1ea981e265"
+        hash: "20bd65f158440301e6cf14463e498368"
     }
     Key {
         type: 7
@@ -1086,7 +1086,7 @@ VisualTest {
     }
     Frame {
         msec: 3056
-        hash: "b05fc4c21113146463372b1ea981e265"
+        hash: "20bd65f158440301e6cf14463e498368"
     }
     Key {
         type: 6
@@ -1098,15 +1098,15 @@ VisualTest {
     }
     Frame {
         msec: 3072
-        hash: "01b789845bf308fc896d53bbbfe0dd01"
+        hash: "3e73d53051a3175393f4ecb486645bf9"
     }
     Frame {
         msec: 3088
-        hash: "01b789845bf308fc896d53bbbfe0dd01"
+        hash: "3e73d53051a3175393f4ecb486645bf9"
     }
     Frame {
         msec: 3104
-        hash: "01b789845bf308fc896d53bbbfe0dd01"
+        hash: "3e73d53051a3175393f4ecb486645bf9"
     }
     Key {
         type: 6
@@ -1118,7 +1118,7 @@ VisualTest {
     }
     Frame {
         msec: 3120
-        hash: "01b789845bf308fc896d53bbbfe0dd01"
+        hash: "3e73d53051a3175393f4ecb486645bf9"
     }
     Key {
         type: 7
@@ -1130,11 +1130,11 @@ VisualTest {
     }
     Frame {
         msec: 3136
-        hash: "01b789845bf308fc896d53bbbfe0dd01"
+        hash: "3e73d53051a3175393f4ecb486645bf9"
     }
     Frame {
         msec: 3152
-        hash: "01b789845bf308fc896d53bbbfe0dd01"
+        hash: "3e73d53051a3175393f4ecb486645bf9"
     }
     Key {
         type: 6
@@ -1146,19 +1146,19 @@ VisualTest {
     }
     Frame {
         msec: 3168
-        hash: "433d805d957203918fc4a8edfc93290e"
+        hash: "6f566097d23557bef60969852cd3515e"
     }
     Frame {
         msec: 3184
-        hash: "433d805d957203918fc4a8edfc93290e"
+        hash: "6f566097d23557bef60969852cd3515e"
     }
     Frame {
         msec: 3200
-        hash: "433d805d957203918fc4a8edfc93290e"
+        hash: "6f566097d23557bef60969852cd3515e"
     }
     Frame {
         msec: 3216
-        hash: "433d805d957203918fc4a8edfc93290e"
+        hash: "6f566097d23557bef60969852cd3515e"
     }
     Key {
         type: 7
@@ -1170,7 +1170,7 @@ VisualTest {
     }
     Frame {
         msec: 3232
-        hash: "433d805d957203918fc4a8edfc93290e"
+        hash: "6f566097d23557bef60969852cd3515e"
     }
     Key {
         type: 7
@@ -1190,19 +1190,19 @@ VisualTest {
     }
     Frame {
         msec: 3248
-        hash: "1ebec912ac11b11d2ba7e5abdfb9ef6d"
+        hash: "4767592fe68e8d32d286cf5eaf4510ff"
     }
     Frame {
         msec: 3264
-        hash: "1ebec912ac11b11d2ba7e5abdfb9ef6d"
+        hash: "4767592fe68e8d32d286cf5eaf4510ff"
     }
     Frame {
         msec: 3280
-        hash: "1ebec912ac11b11d2ba7e5abdfb9ef6d"
+        hash: "4767592fe68e8d32d286cf5eaf4510ff"
     }
     Frame {
         msec: 3296
-        hash: "1ebec912ac11b11d2ba7e5abdfb9ef6d"
+        hash: "4767592fe68e8d32d286cf5eaf4510ff"
     }
     Key {
         type: 7
@@ -1214,7 +1214,7 @@ VisualTest {
     }
     Frame {
         msec: 3312
-        hash: "1ebec912ac11b11d2ba7e5abdfb9ef6d"
+        hash: "4767592fe68e8d32d286cf5eaf4510ff"
     }
     Key {
         type: 6
@@ -1226,23 +1226,23 @@ VisualTest {
     }
     Frame {
         msec: 3328
-        hash: "b4bc12141255c91630e775fcf4935f22"
+        hash: "d7fd1a19be4f061fc39c4accf18ba0dc"
     }
     Frame {
         msec: 3344
-        hash: "b4bc12141255c91630e775fcf4935f22"
+        hash: "d7fd1a19be4f061fc39c4accf18ba0dc"
     }
     Frame {
         msec: 3360
-        hash: "b4bc12141255c91630e775fcf4935f22"
+        hash: "d7fd1a19be4f061fc39c4accf18ba0dc"
     }
     Frame {
         msec: 3376
-        hash: "b4bc12141255c91630e775fcf4935f22"
+        hash: "d7fd1a19be4f061fc39c4accf18ba0dc"
     }
     Frame {
         msec: 3392
-        hash: "b4bc12141255c91630e775fcf4935f22"
+        hash: "d7fd1a19be4f061fc39c4accf18ba0dc"
     }
     Key {
         type: 7
@@ -1254,7 +1254,7 @@ VisualTest {
     }
     Frame {
         msec: 3408
-        hash: "b4bc12141255c91630e775fcf4935f22"
+        hash: "d7fd1a19be4f061fc39c4accf18ba0dc"
     }
     Key {
         type: 6
@@ -1266,23 +1266,23 @@ VisualTest {
     }
     Frame {
         msec: 3424
-        hash: "8d83a3f76fd8b77c6dd9fdfb573d9c52"
+        hash: "03e74ddf4c94d322c1b1b35419157948"
     }
     Frame {
         msec: 3440
-        hash: "8d83a3f76fd8b77c6dd9fdfb573d9c52"
+        hash: "03e74ddf4c94d322c1b1b35419157948"
     }
     Frame {
         msec: 3456
-        hash: "8d83a3f76fd8b77c6dd9fdfb573d9c52"
+        hash: "03e74ddf4c94d322c1b1b35419157948"
     }
     Frame {
         msec: 3472
-        hash: "8d83a3f76fd8b77c6dd9fdfb573d9c52"
+        hash: "03e74ddf4c94d322c1b1b35419157948"
     }
     Frame {
         msec: 3488
-        hash: "8d83a3f76fd8b77c6dd9fdfb573d9c52"
+        hash: "03e74ddf4c94d322c1b1b35419157948"
     }
     Key {
         type: 7
@@ -1302,27 +1302,27 @@ VisualTest {
     }
     Frame {
         msec: 3504
-        hash: "3f154d5eace7e0e688fe609d7eebe80d"
+        hash: "32712a89ba577f55319fe90873668138"
     }
     Frame {
         msec: 3520
-        hash: "3f154d5eace7e0e688fe609d7eebe80d"
+        hash: "32712a89ba577f55319fe90873668138"
     }
     Frame {
         msec: 3536
-        hash: "3f154d5eace7e0e688fe609d7eebe80d"
+        hash: "32712a89ba577f55319fe90873668138"
     }
     Frame {
         msec: 3552
-        hash: "3f154d5eace7e0e688fe609d7eebe80d"
+        hash: "32712a89ba577f55319fe90873668138"
     }
     Frame {
         msec: 3568
-        hash: "3f154d5eace7e0e688fe609d7eebe80d"
+        hash: "32712a89ba577f55319fe90873668138"
     }
     Frame {
         msec: 3584
-        hash: "3f154d5eace7e0e688fe609d7eebe80d"
+        hash: "32712a89ba577f55319fe90873668138"
     }
     Key {
         type: 7
@@ -1334,7 +1334,7 @@ VisualTest {
     }
     Frame {
         msec: 3600
-        hash: "3f154d5eace7e0e688fe609d7eebe80d"
+        hash: "32712a89ba577f55319fe90873668138"
     }
     Key {
         type: 6
@@ -1346,19 +1346,19 @@ VisualTest {
     }
     Frame {
         msec: 3616
-        hash: "8cecca2b1a586b7121692a8f618a1a50"
+        hash: "9f1cf9784c0659f4902d632542fe9d52"
     }
     Frame {
         msec: 3632
-        hash: "8cecca2b1a586b7121692a8f618a1a50"
+        hash: "9f1cf9784c0659f4902d632542fe9d52"
     }
     Frame {
         msec: 3648
-        hash: "8cecca2b1a586b7121692a8f618a1a50"
+        hash: "9f1cf9784c0659f4902d632542fe9d52"
     }
     Frame {
         msec: 3664
-        hash: "8cecca2b1a586b7121692a8f618a1a50"
+        hash: "9f1cf9784c0659f4902d632542fe9d52"
     }
     Key {
         type: 6
@@ -1370,7 +1370,7 @@ VisualTest {
     }
     Frame {
         msec: 3680
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Key {
         type: 7
@@ -1382,15 +1382,15 @@ VisualTest {
     }
     Frame {
         msec: 3696
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Frame {
         msec: 3712
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Frame {
         msec: 3728
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Key {
         type: 7
@@ -1402,63 +1402,63 @@ VisualTest {
     }
     Frame {
         msec: 3744
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Frame {
         msec: 3760
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Frame {
         msec: 3776
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Frame {
         msec: 3792
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Frame {
         msec: 3808
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Frame {
         msec: 3824
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Frame {
         msec: 3840
-        image: "usingMultilineEdit.3.png"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Frame {
         msec: 3856
-        hash: "90bd87209b6d26785689779641b1f506"
+        image: "usingMultilineEdit.4.png"
     }
     Frame {
         msec: 3872
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Frame {
         msec: 3888
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Frame {
         msec: 3904
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Frame {
         msec: 3920
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Frame {
         msec: 3936
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Frame {
         msec: 3952
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Frame {
         msec: 3968
-        hash: "90bd87209b6d26785689779641b1f506"
+        hash: "b350f3b710a0d36ba56bdce6c86f902e"
     }
     Key {
         type: 6
@@ -1470,23 +1470,23 @@ VisualTest {
     }
     Frame {
         msec: 3984
-        hash: "7fac93ef3184d5a844448c75b0aa8e18"
+        hash: "2b44bf2548bd887f22e5689946e24de5"
     }
     Frame {
         msec: 4000
-        hash: "7fac93ef3184d5a844448c75b0aa8e18"
+        hash: "2b44bf2548bd887f22e5689946e24de5"
     }
     Frame {
         msec: 4016
-        hash: "7fac93ef3184d5a844448c75b0aa8e18"
+        hash: "2b44bf2548bd887f22e5689946e24de5"
     }
     Frame {
         msec: 4032
-        hash: "7fac93ef3184d5a844448c75b0aa8e18"
+        hash: "2b44bf2548bd887f22e5689946e24de5"
     }
     Frame {
         msec: 4048
-        hash: "7fac93ef3184d5a844448c75b0aa8e18"
+        hash: "2b44bf2548bd887f22e5689946e24de5"
     }
     Key {
         type: 6
@@ -1498,7 +1498,7 @@ VisualTest {
     }
     Frame {
         msec: 4064
-        hash: "591366861f9e23276042250d5b1da7f9"
+        hash: "925c7c96166cc75dc92bd280fd354e43"
     }
     Key {
         type: 7
@@ -1510,19 +1510,19 @@ VisualTest {
     }
     Frame {
         msec: 4080
-        hash: "591366861f9e23276042250d5b1da7f9"
+        hash: "925c7c96166cc75dc92bd280fd354e43"
     }
     Frame {
         msec: 4096
-        hash: "591366861f9e23276042250d5b1da7f9"
+        hash: "925c7c96166cc75dc92bd280fd354e43"
     }
     Frame {
         msec: 4112
-        hash: "591366861f9e23276042250d5b1da7f9"
+        hash: "925c7c96166cc75dc92bd280fd354e43"
     }
     Frame {
         msec: 4128
-        hash: "591366861f9e23276042250d5b1da7f9"
+        hash: "925c7c96166cc75dc92bd280fd354e43"
     }
     Key {
         type: 6
@@ -1534,11 +1534,11 @@ VisualTest {
     }
     Frame {
         msec: 4144
-        hash: "c5c33e5f4429698b1a1bc084a41d303d"
+        hash: "61d6f7583f143917b86adcad6a5ba909"
     }
     Frame {
         msec: 4160
-        hash: "c5c33e5f4429698b1a1bc084a41d303d"
+        hash: "61d6f7583f143917b86adcad6a5ba909"
     }
     Key {
         type: 7
@@ -1550,15 +1550,15 @@ VisualTest {
     }
     Frame {
         msec: 4176
-        hash: "c5c33e5f4429698b1a1bc084a41d303d"
+        hash: "61d6f7583f143917b86adcad6a5ba909"
     }
     Frame {
         msec: 4192
-        hash: "c5c33e5f4429698b1a1bc084a41d303d"
+        hash: "61d6f7583f143917b86adcad6a5ba909"
     }
     Frame {
         msec: 4208
-        hash: "c5c33e5f4429698b1a1bc084a41d303d"
+        hash: "61d6f7583f143917b86adcad6a5ba909"
     }
     Key {
         type: 6
@@ -1570,11 +1570,11 @@ VisualTest {
     }
     Frame {
         msec: 4224
-        hash: "36223521c9ab06661239329c14e4fabe"
+        hash: "679e0940be9c40435aebb05a6e0da685"
     }
     Frame {
         msec: 4240
-        hash: "36223521c9ab06661239329c14e4fabe"
+        hash: "679e0940be9c40435aebb05a6e0da685"
     }
     Key {
         type: 7
@@ -1586,11 +1586,11 @@ VisualTest {
     }
     Frame {
         msec: 4256
-        hash: "36223521c9ab06661239329c14e4fabe"
+        hash: "679e0940be9c40435aebb05a6e0da685"
     }
     Frame {
         msec: 4272
-        hash: "36223521c9ab06661239329c14e4fabe"
+        hash: "679e0940be9c40435aebb05a6e0da685"
     }
     Key {
         type: 7
@@ -1602,27 +1602,27 @@ VisualTest {
     }
     Frame {
         msec: 4288
-        hash: "36223521c9ab06661239329c14e4fabe"
+        hash: "679e0940be9c40435aebb05a6e0da685"
     }
     Frame {
         msec: 4304
-        hash: "36223521c9ab06661239329c14e4fabe"
+        hash: "679e0940be9c40435aebb05a6e0da685"
     }
     Frame {
         msec: 4320
-        hash: "36223521c9ab06661239329c14e4fabe"
+        hash: "679e0940be9c40435aebb05a6e0da685"
     }
     Frame {
         msec: 4336
-        hash: "36223521c9ab06661239329c14e4fabe"
+        hash: "679e0940be9c40435aebb05a6e0da685"
     }
     Frame {
         msec: 4352
-        hash: "36223521c9ab06661239329c14e4fabe"
+        hash: "679e0940be9c40435aebb05a6e0da685"
     }
     Frame {
         msec: 4368
-        hash: "36223521c9ab06661239329c14e4fabe"
+        hash: "679e0940be9c40435aebb05a6e0da685"
     }
     Key {
         type: 6
@@ -1634,23 +1634,23 @@ VisualTest {
     }
     Frame {
         msec: 4384
-        hash: "22ab171b9805302b729afd314e55a0f4"
+        hash: "e819d25f605ec1347e89de65682edb7d"
     }
     Frame {
         msec: 4400
-        hash: "22ab171b9805302b729afd314e55a0f4"
+        hash: "e819d25f605ec1347e89de65682edb7d"
     }
     Frame {
         msec: 4416
-        hash: "22ab171b9805302b729afd314e55a0f4"
+        hash: "e819d25f605ec1347e89de65682edb7d"
     }
     Frame {
         msec: 4432
-        hash: "22ab171b9805302b729afd314e55a0f4"
+        hash: "e819d25f605ec1347e89de65682edb7d"
     }
     Frame {
         msec: 4448
-        hash: "22ab171b9805302b729afd314e55a0f4"
+        hash: "e819d25f605ec1347e89de65682edb7d"
     }
     Key {
         type: 7
@@ -1662,7 +1662,7 @@ VisualTest {
     }
     Frame {
         msec: 4464
-        hash: "22ab171b9805302b729afd314e55a0f4"
+        hash: "e819d25f605ec1347e89de65682edb7d"
     }
     Key {
         type: 6
@@ -1674,23 +1674,23 @@ VisualTest {
     }
     Frame {
         msec: 4480
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4496
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4512
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4528
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4544
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Key {
         type: 7
@@ -1702,15 +1702,15 @@ VisualTest {
     }
     Frame {
         msec: 4560
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4576
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4592
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Key {
         type: 6
@@ -1722,63 +1722,63 @@ VisualTest {
     }
     Frame {
         msec: 4608
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4624
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4640
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4656
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4672
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4688
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4704
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4720
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4736
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4752
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4768
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4784
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4800
-        image: "usingMultilineEdit.4.png"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Frame {
         msec: 4816
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        image: "usingMultilineEdit.5.png"
     }
     Frame {
         msec: 4832
-        hash: "beaad223234484e21f824ceb7f1edc2a"
+        hash: "ef65860a90a96d521a860c4e73e833ee"
     }
     Key {
         type: 6
@@ -1790,31 +1790,31 @@ VisualTest {
     }
     Frame {
         msec: 4848
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 4864
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 4880
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 4896
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 4912
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 4928
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 4944
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Key {
         type: 7
@@ -1826,19 +1826,19 @@ VisualTest {
     }
     Frame {
         msec: 4960
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 4976
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 4992
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5008
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Key {
         type: 7
@@ -1850,191 +1850,191 @@ VisualTest {
     }
     Frame {
         msec: 5024
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5040
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5056
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5072
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5088
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5104
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5120
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5136
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5152
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5168
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5184
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5200
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5216
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5232
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5248
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5264
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5280
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5296
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5312
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5328
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5344
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5360
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5376
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5392
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5408
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5424
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5440
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5456
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5472
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5488
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5504
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5520
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5536
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5552
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5568
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5584
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5600
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5616
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5632
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5648
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5664
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5680
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5696
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5712
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5728
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5744
-        hash: "49b26f36a10d808fdcb8248a384a4da6"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Frame {
         msec: 5760
-        image: "usingMultilineEdit.5.png"
+        hash: "84497b5307b95f59693b71dc13c838ef"
     }
     Mouse {
         type: 2
@@ -2046,19 +2046,19 @@ VisualTest {
     }
     Frame {
         msec: 5776
-        hash: "476040951352f144bda4ed7fb817cd7f"
+        image: "usingMultilineEdit.6.png"
     }
     Frame {
         msec: 5792
-        hash: "476040951352f144bda4ed7fb817cd7f"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Frame {
         msec: 5808
-        hash: "476040951352f144bda4ed7fb817cd7f"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Frame {
         msec: 5824
-        hash: "476040951352f144bda4ed7fb817cd7f"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Mouse {
         type: 5
@@ -2078,7 +2078,7 @@ VisualTest {
     }
     Frame {
         msec: 5840
-        hash: "476040951352f144bda4ed7fb817cd7f"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Mouse {
         type: 5
@@ -2098,7 +2098,7 @@ VisualTest {
     }
     Frame {
         msec: 5856
-        hash: "9ecb1e68ab724c6f83b1a37aa1cb15c4"
+        hash: "ee9722d220435828b919fa4d8e314b78"
     }
     Mouse {
         type: 5
@@ -2118,7 +2118,7 @@ VisualTest {
     }
     Frame {
         msec: 5872
-        hash: "9ecb1e68ab724c6f83b1a37aa1cb15c4"
+        hash: "ee9722d220435828b919fa4d8e314b78"
     }
     Mouse {
         type: 5
@@ -2138,7 +2138,7 @@ VisualTest {
     }
     Frame {
         msec: 5888
-        hash: "9ecb1e68ab724c6f83b1a37aa1cb15c4"
+        hash: "8a06a84965166774ff160984ed05b5ad"
     }
     Mouse {
         type: 5
@@ -2158,7 +2158,7 @@ VisualTest {
     }
     Frame {
         msec: 5904
-        hash: "173735fb4be11da603fb8ae8cffc609d"
+        hash: "0a9ec173aa0436b9b9edf3f20946ae5a"
     }
     Mouse {
         type: 5
@@ -2178,7 +2178,7 @@ VisualTest {
     }
     Frame {
         msec: 5920
-        hash: "173735fb4be11da603fb8ae8cffc609d"
+        hash: "0a9ec173aa0436b9b9edf3f20946ae5a"
     }
     Mouse {
         type: 5
@@ -2198,7 +2198,7 @@ VisualTest {
     }
     Frame {
         msec: 5936
-        hash: "b337a09f359fb2a237731c66ab95c92c"
+        hash: "5511590b6b6826d8e863956220eee2e4"
     }
     Mouse {
         type: 5
@@ -2218,7 +2218,7 @@ VisualTest {
     }
     Frame {
         msec: 5952
-        hash: "32719becb40f8c6bd49b5f5754786913"
+        hash: "4d413c13e43c57809af8ee83a165dcb1"
     }
     Mouse {
         type: 5
@@ -2238,7 +2238,7 @@ VisualTest {
     }
     Frame {
         msec: 5968
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2250,7 +2250,7 @@ VisualTest {
     }
     Frame {
         msec: 5984
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2270,7 +2270,7 @@ VisualTest {
     }
     Frame {
         msec: 6000
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2290,7 +2290,7 @@ VisualTest {
     }
     Frame {
         msec: 6016
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2310,7 +2310,7 @@ VisualTest {
     }
     Frame {
         msec: 6032
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2330,7 +2330,7 @@ VisualTest {
     }
     Frame {
         msec: 6048
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2350,7 +2350,7 @@ VisualTest {
     }
     Frame {
         msec: 6064
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2370,7 +2370,7 @@ VisualTest {
     }
     Frame {
         msec: 6080
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2390,7 +2390,7 @@ VisualTest {
     }
     Frame {
         msec: 6096
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2410,7 +2410,7 @@ VisualTest {
     }
     Frame {
         msec: 6112
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2430,7 +2430,7 @@ VisualTest {
     }
     Frame {
         msec: 6128
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2450,7 +2450,7 @@ VisualTest {
     }
     Frame {
         msec: 6144
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2470,7 +2470,7 @@ VisualTest {
     }
     Frame {
         msec: 6160
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2490,7 +2490,7 @@ VisualTest {
     }
     Frame {
         msec: 6176
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2502,23 +2502,23 @@ VisualTest {
     }
     Frame {
         msec: 6192
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Frame {
         msec: 6208
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Frame {
         msec: 6224
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Frame {
         msec: 6240
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Frame {
         msec: 6256
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2530,7 +2530,7 @@ VisualTest {
     }
     Frame {
         msec: 6272
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2550,7 +2550,7 @@ VisualTest {
     }
     Frame {
         msec: 6288
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2570,7 +2570,7 @@ VisualTest {
     }
     Frame {
         msec: 6304
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2590,7 +2590,7 @@ VisualTest {
     }
     Frame {
         msec: 6320
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2610,7 +2610,7 @@ VisualTest {
     }
     Frame {
         msec: 6336
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2630,7 +2630,7 @@ VisualTest {
     }
     Frame {
         msec: 6352
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2650,7 +2650,7 @@ VisualTest {
     }
     Frame {
         msec: 6368
-        hash: "e6bff88d0a5e2e7df4b3355749ecc902"
+        hash: "cc0c5811bc845540c2c550cefe45ab1c"
     }
     Mouse {
         type: 5
@@ -2670,7 +2670,7 @@ VisualTest {
     }
     Frame {
         msec: 6384
-        hash: "5de7bbfdf96d84c8fbe74b4817a3c88a"
+        hash: "b35bc1db0fd5b95bb830a9be9ded1659"
     }
     Mouse {
         type: 5
@@ -2682,7 +2682,7 @@ VisualTest {
     }
     Frame {
         msec: 6400
-        hash: "5de7bbfdf96d84c8fbe74b4817a3c88a"
+        hash: "b35bc1db0fd5b95bb830a9be9ded1659"
     }
     Mouse {
         type: 5
@@ -2702,7 +2702,7 @@ VisualTest {
     }
     Frame {
         msec: 6416
-        hash: "056d22660f6feedfb453755978aa4c1d"
+        hash: "576bbe32d2b6f582cbb0102d2b0e079b"
     }
     Mouse {
         type: 5
@@ -2722,7 +2722,7 @@ VisualTest {
     }
     Frame {
         msec: 6432
-        hash: "9d8568931fdca572dd31ea62ebbaf76a"
+        hash: "15a7ee7f58f286ae22385c2817b9b697"
     }
     Mouse {
         type: 5
@@ -2742,7 +2742,7 @@ VisualTest {
     }
     Frame {
         msec: 6448
-        hash: "29aa2da8a830d5605a8d2d2543097177"
+        hash: "5cd516c20c91c407ca9932ea89afd100"
     }
     Mouse {
         type: 5
@@ -2754,7 +2754,7 @@ VisualTest {
     }
     Frame {
         msec: 6464
-        hash: "154e312998b32cc09daf1693d07eda2f"
+        hash: "40ce8b3c3588727a37e03dd83cb3d536"
     }
     Mouse {
         type: 5
@@ -2774,7 +2774,7 @@ VisualTest {
     }
     Frame {
         msec: 6480
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Mouse {
         type: 5
@@ -2794,7 +2794,7 @@ VisualTest {
     }
     Frame {
         msec: 6496
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Mouse {
         type: 5
@@ -2814,7 +2814,7 @@ VisualTest {
     }
     Frame {
         msec: 6512
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Mouse {
         type: 5
@@ -2834,7 +2834,7 @@ VisualTest {
     }
     Frame {
         msec: 6528
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Mouse {
         type: 5
@@ -2854,7 +2854,7 @@ VisualTest {
     }
     Frame {
         msec: 6544
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Mouse {
         type: 5
@@ -2874,7 +2874,7 @@ VisualTest {
     }
     Frame {
         msec: 6560
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Mouse {
         type: 5
@@ -2894,7 +2894,7 @@ VisualTest {
     }
     Frame {
         msec: 6576
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Mouse {
         type: 5
@@ -2914,27 +2914,27 @@ VisualTest {
     }
     Frame {
         msec: 6592
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Frame {
         msec: 6608
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Frame {
         msec: 6624
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Frame {
         msec: 6640
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Frame {
         msec: 6656
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Frame {
         msec: 6672
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Mouse {
         type: 5
@@ -2954,7 +2954,7 @@ VisualTest {
     }
     Frame {
         msec: 6688
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Mouse {
         type: 5
@@ -2974,7 +2974,7 @@ VisualTest {
     }
     Frame {
         msec: 6704
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Mouse {
         type: 5
@@ -2994,7 +2994,7 @@ VisualTest {
     }
     Frame {
         msec: 6720
-        image: "usingMultilineEdit.6.png"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Mouse {
         type: 5
@@ -3014,7 +3014,7 @@ VisualTest {
     }
     Frame {
         msec: 6736
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        image: "usingMultilineEdit.7.png"
     }
     Mouse {
         type: 5
@@ -3034,7 +3034,7 @@ VisualTest {
     }
     Frame {
         msec: 6752
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Mouse {
         type: 5
@@ -3054,7 +3054,7 @@ VisualTest {
     }
     Frame {
         msec: 6768
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Mouse {
         type: 5
@@ -3074,7 +3074,7 @@ VisualTest {
     }
     Frame {
         msec: 6784
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Mouse {
         type: 5
@@ -3094,7 +3094,7 @@ VisualTest {
     }
     Frame {
         msec: 6800
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Mouse {
         type: 5
@@ -3114,7 +3114,7 @@ VisualTest {
     }
     Frame {
         msec: 6816
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Mouse {
         type: 5
@@ -3134,7 +3134,7 @@ VisualTest {
     }
     Frame {
         msec: 6832
-        hash: "5b3a17fd92fe5117aa405d4c737e6673"
+        hash: "384cc9f557dd56079a54c1f0460bf96f"
     }
     Mouse {
         type: 5
@@ -3154,7 +3154,7 @@ VisualTest {
     }
     Frame {
         msec: 6848
-        hash: "476040951352f144bda4ed7fb817cd7f"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Mouse {
         type: 5
@@ -3174,7 +3174,7 @@ VisualTest {
     }
     Frame {
         msec: 6864
-        hash: "2cb10cb75beb454df7918b6948c6ad8a"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Mouse {
         type: 5
@@ -3194,7 +3194,7 @@ VisualTest {
     }
     Frame {
         msec: 6880
-        hash: "2cb10cb75beb454df7918b6948c6ad8a"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Mouse {
         type: 3
@@ -3206,55 +3206,55 @@ VisualTest {
     }
     Frame {
         msec: 6896
-        hash: "2cb10cb75beb454df7918b6948c6ad8a"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Frame {
         msec: 6912
-        hash: "2cb10cb75beb454df7918b6948c6ad8a"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Frame {
         msec: 6928
-        hash: "2cb10cb75beb454df7918b6948c6ad8a"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Frame {
         msec: 6944
-        hash: "2cb10cb75beb454df7918b6948c6ad8a"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Frame {
         msec: 6960
-        hash: "2cb10cb75beb454df7918b6948c6ad8a"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Frame {
         msec: 6976
-        hash: "2cb10cb75beb454df7918b6948c6ad8a"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Frame {
         msec: 6992
-        hash: "2cb10cb75beb454df7918b6948c6ad8a"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Frame {
         msec: 7008
-        hash: "2cb10cb75beb454df7918b6948c6ad8a"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Frame {
         msec: 7024
-        hash: "2cb10cb75beb454df7918b6948c6ad8a"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Frame {
         msec: 7040
-        hash: "2cb10cb75beb454df7918b6948c6ad8a"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Frame {
         msec: 7056
-        hash: "2cb10cb75beb454df7918b6948c6ad8a"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Frame {
         msec: 7072
-        hash: "2cb10cb75beb454df7918b6948c6ad8a"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Frame {
         msec: 7088
-        hash: "2cb10cb75beb454df7918b6948c6ad8a"
+        hash: "a3d9bdf8086303458ae5d35294551894"
     }
     Mouse {
         type: 2
@@ -3266,23 +3266,23 @@ VisualTest {
     }
     Frame {
         msec: 7104
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7120
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7136
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7152
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7168
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Mouse {
         type: 3
@@ -3294,103 +3294,103 @@ VisualTest {
     }
     Frame {
         msec: 7184
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7200
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7216
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7232
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7248
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7264
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7280
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7296
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7312
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7328
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7344
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7360
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7376
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7392
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7408
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7424
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7440
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7456
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7472
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7488
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7504
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7520
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7536
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7552
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Frame {
         msec: 7568
-        hash: "eafa794e0c09cc2558575bafa945ecdf"
+        hash: "a5755969d822cae00af992085c419a17"
     }
     Key {
         type: 6
@@ -3402,15 +3402,15 @@ VisualTest {
     }
     Frame {
         msec: 7584
-        hash: "0444d714b801f88685df9722390faf4f"
+        hash: "2395700fc4c3080e99b8871518113778"
     }
     Frame {
         msec: 7600
-        hash: "0444d714b801f88685df9722390faf4f"
+        hash: "2395700fc4c3080e99b8871518113778"
     }
     Frame {
         msec: 7616
-        hash: "0444d714b801f88685df9722390faf4f"
+        hash: "2395700fc4c3080e99b8871518113778"
     }
     Key {
         type: 7
@@ -3422,27 +3422,27 @@ VisualTest {
     }
     Frame {
         msec: 7632
-        hash: "0444d714b801f88685df9722390faf4f"
+        hash: "2395700fc4c3080e99b8871518113778"
     }
     Frame {
         msec: 7648
-        hash: "0444d714b801f88685df9722390faf4f"
+        hash: "2395700fc4c3080e99b8871518113778"
     }
     Frame {
         msec: 7664
-        hash: "0444d714b801f88685df9722390faf4f"
+        hash: "2395700fc4c3080e99b8871518113778"
     }
     Frame {
         msec: 7680
-        image: "usingMultilineEdit.7.png"
+        hash: "2395700fc4c3080e99b8871518113778"
     }
     Frame {
         msec: 7696
-        hash: "0444d714b801f88685df9722390faf4f"
+        image: "usingMultilineEdit.8.png"
     }
     Frame {
         msec: 7712
-        hash: "0444d714b801f88685df9722390faf4f"
+        hash: "2395700fc4c3080e99b8871518113778"
     }
     Key {
         type: 6
@@ -3454,63 +3454,63 @@ VisualTest {
     }
     Frame {
         msec: 7728
-        hash: "250a49b60ad8e9b901977e01063ec20a"
+        hash: "71e055a9dbd940b3445d5ad9e277b483"
     }
     Frame {
         msec: 7744
-        hash: "250a49b60ad8e9b901977e01063ec20a"
+        hash: "71e055a9dbd940b3445d5ad9e277b483"
     }
     Frame {
         msec: 7760
-        hash: "250a49b60ad8e9b901977e01063ec20a"
+        hash: "71e055a9dbd940b3445d5ad9e277b483"
     }
     Frame {
         msec: 7776
-        hash: "250a49b60ad8e9b901977e01063ec20a"
+        hash: "71e055a9dbd940b3445d5ad9e277b483"
     }
     Frame {
         msec: 7792
-        hash: "250a49b60ad8e9b901977e01063ec20a"
+        hash: "71e055a9dbd940b3445d5ad9e277b483"
     }
     Frame {
         msec: 7808
-        hash: "250a49b60ad8e9b901977e01063ec20a"
+        hash: "71e055a9dbd940b3445d5ad9e277b483"
     }
     Frame {
         msec: 7824
-        hash: "250a49b60ad8e9b901977e01063ec20a"
+        hash: "71e055a9dbd940b3445d5ad9e277b483"
     }
     Frame {
         msec: 7840
-        hash: "250a49b60ad8e9b901977e01063ec20a"
+        hash: "71e055a9dbd940b3445d5ad9e277b483"
     }
     Frame {
         msec: 7856
-        hash: "250a49b60ad8e9b901977e01063ec20a"
+        hash: "71e055a9dbd940b3445d5ad9e277b483"
     }
     Frame {
         msec: 7872
-        hash: "250a49b60ad8e9b901977e01063ec20a"
+        hash: "71e055a9dbd940b3445d5ad9e277b483"
     }
     Frame {
         msec: 7888
-        hash: "250a49b60ad8e9b901977e01063ec20a"
+        hash: "71e055a9dbd940b3445d5ad9e277b483"
     }
     Frame {
         msec: 7904
-        hash: "250a49b60ad8e9b901977e01063ec20a"
+        hash: "71e055a9dbd940b3445d5ad9e277b483"
     }
     Frame {
         msec: 7920
-        hash: "250a49b60ad8e9b901977e01063ec20a"
+        hash: "71e055a9dbd940b3445d5ad9e277b483"
     }
     Frame {
         msec: 7936
-        hash: "250a49b60ad8e9b901977e01063ec20a"
+        hash: "71e055a9dbd940b3445d5ad9e277b483"
     }
     Frame {
         msec: 7952
-        hash: "250a49b60ad8e9b901977e01063ec20a"
+        hash: "71e055a9dbd940b3445d5ad9e277b483"
     }
     Key {
         type: 7
@@ -3530,11 +3530,11 @@ VisualTest {
     }
     Frame {
         msec: 7968
-        hash: "bec2aea61fef64475e638848b96d28c3"
+        hash: "2ed8cb467e60f2fb253abb37bdc18a9a"
     }
     Frame {
         msec: 7984
-        hash: "bec2aea61fef64475e638848b96d28c3"
+        hash: "2ed8cb467e60f2fb253abb37bdc18a9a"
     }
     Key {
         type: 7
@@ -3554,11 +3554,11 @@ VisualTest {
     }
     Frame {
         msec: 8000
-        hash: "54177e0d53373636850e18399640fee8"
+        hash: "5783992a07652cfc53bfa0e1f36c1415"
     }
     Frame {
         msec: 8016
-        hash: "54177e0d53373636850e18399640fee8"
+        hash: "5783992a07652cfc53bfa0e1f36c1415"
     }
     Key {
         type: 7
@@ -3578,11 +3578,11 @@ VisualTest {
     }
     Frame {
         msec: 8032
-        hash: "81c03bd9dfd562e9f13784c906fa0d9e"
+        hash: "0fa5790dcbcb740d530b6333063629d6"
     }
     Frame {
         msec: 8048
-        hash: "81c03bd9dfd562e9f13784c906fa0d9e"
+        hash: "0fa5790dcbcb740d530b6333063629d6"
     }
     Key {
         type: 7
@@ -3602,11 +3602,11 @@ VisualTest {
     }
     Frame {
         msec: 8064
-        hash: "2547fbe956bab6566c2b9137c0edc841"
+        hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
     }
     Frame {
         msec: 8080
-        hash: "2547fbe956bab6566c2b9137c0edc841"
+        hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
     }
     Key {
         type: 6
@@ -3626,31 +3626,31 @@ VisualTest {
     }
     Frame {
         msec: 8096
-        hash: "2547fbe956bab6566c2b9137c0edc841"
+        hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
     }
     Frame {
         msec: 8112
-        hash: "2547fbe956bab6566c2b9137c0edc841"
+        hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
     }
     Frame {
         msec: 8128
-        hash: "2547fbe956bab6566c2b9137c0edc841"
+        hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
     }
     Frame {
         msec: 8144
-        hash: "2547fbe956bab6566c2b9137c0edc841"
+        hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
     }
     Frame {
         msec: 8160
-        hash: "2547fbe956bab6566c2b9137c0edc841"
+        hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
     }
     Frame {
         msec: 8176
-        hash: "2547fbe956bab6566c2b9137c0edc841"
+        hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
     }
     Frame {
         msec: 8192
-        hash: "2547fbe956bab6566c2b9137c0edc841"
+        hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
     }
     Key {
         type: 6
@@ -3662,19 +3662,19 @@ VisualTest {
     }
     Frame {
         msec: 8208
-        hash: "c757d4e60d18ce16f87c66e42cc81a99"
+        hash: "8f59f9f91dbcf608143925ff1f974151"
     }
     Frame {
         msec: 8224
-        hash: "c757d4e60d18ce16f87c66e42cc81a99"
+        hash: "8f59f9f91dbcf608143925ff1f974151"
     }
     Frame {
         msec: 8240
-        hash: "c757d4e60d18ce16f87c66e42cc81a99"
+        hash: "8f59f9f91dbcf608143925ff1f974151"
     }
     Frame {
         msec: 8256
-        hash: "c757d4e60d18ce16f87c66e42cc81a99"
+        hash: "8f59f9f91dbcf608143925ff1f974151"
     }
     Key {
         type: 7
@@ -3686,19 +3686,19 @@ VisualTest {
     }
     Frame {
         msec: 8272
-        hash: "c757d4e60d18ce16f87c66e42cc81a99"
+        hash: "8f59f9f91dbcf608143925ff1f974151"
     }
     Frame {
         msec: 8288
-        hash: "c757d4e60d18ce16f87c66e42cc81a99"
+        hash: "8f59f9f91dbcf608143925ff1f974151"
     }
     Frame {
         msec: 8304
-        hash: "c757d4e60d18ce16f87c66e42cc81a99"
+        hash: "8f59f9f91dbcf608143925ff1f974151"
     }
     Frame {
         msec: 8320
-        hash: "c757d4e60d18ce16f87c66e42cc81a99"
+        hash: "8f59f9f91dbcf608143925ff1f974151"
     }
     Key {
         type: 6
@@ -3710,19 +3710,19 @@ VisualTest {
     }
     Frame {
         msec: 8336
-        hash: "2ef578193024153dc85a2a92d10dc6c0"
+        hash: "fc48aa2746eaaf31312de3c37d821ff0"
     }
     Frame {
         msec: 8352
-        hash: "2ef578193024153dc85a2a92d10dc6c0"
+        hash: "fc48aa2746eaaf31312de3c37d821ff0"
     }
     Frame {
         msec: 8368
-        hash: "2ef578193024153dc85a2a92d10dc6c0"
+        hash: "fc48aa2746eaaf31312de3c37d821ff0"
     }
     Frame {
         msec: 8384
-        hash: "2ef578193024153dc85a2a92d10dc6c0"
+        hash: "fc48aa2746eaaf31312de3c37d821ff0"
     }
     Key {
         type: 7
@@ -3734,23 +3734,23 @@ VisualTest {
     }
     Frame {
         msec: 8400
-        hash: "2ef578193024153dc85a2a92d10dc6c0"
+        hash: "fc48aa2746eaaf31312de3c37d821ff0"
     }
     Frame {
         msec: 8416
-        hash: "2ef578193024153dc85a2a92d10dc6c0"
+        hash: "fc48aa2746eaaf31312de3c37d821ff0"
     }
     Frame {
         msec: 8432
-        hash: "2ef578193024153dc85a2a92d10dc6c0"
+        hash: "fc48aa2746eaaf31312de3c37d821ff0"
     }
     Frame {
         msec: 8448
-        hash: "2ef578193024153dc85a2a92d10dc6c0"
+        hash: "fc48aa2746eaaf31312de3c37d821ff0"
     }
     Frame {
         msec: 8464
-        hash: "2ef578193024153dc85a2a92d10dc6c0"
+        hash: "fc48aa2746eaaf31312de3c37d821ff0"
     }
     Key {
         type: 6
@@ -3762,19 +3762,19 @@ VisualTest {
     }
     Frame {
         msec: 8480
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8496
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8512
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8528
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Key {
         type: 7
@@ -3786,35 +3786,35 @@ VisualTest {
     }
     Frame {
         msec: 8544
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8560
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8576
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8592
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8608
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8624
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8640
-        image: "usingMultilineEdit.8.png"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8656
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        image: "usingMultilineEdit.9.png"
     }
     Key {
         type: 7
@@ -3826,139 +3826,139 @@ VisualTest {
     }
     Frame {
         msec: 8672
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8688
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8704
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8720
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8736
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8752
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8768
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8784
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8800
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8816
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8832
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8848
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8864
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8880
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8896
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8912
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8928
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8944
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8960
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8976
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 8992
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9008
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9024
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9040
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9056
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9072
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9088
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9104
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9120
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9136
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9152
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9168
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9184
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9200
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Mouse {
         type: 2
@@ -3970,11 +3970,11 @@ VisualTest {
     }
     Frame {
         msec: 9216
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9232
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Mouse {
         type: 5
@@ -3986,7 +3986,7 @@ VisualTest {
     }
     Frame {
         msec: 9248
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Mouse {
         type: 5
@@ -4006,7 +4006,7 @@ VisualTest {
     }
     Frame {
         msec: 9264
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Mouse {
         type: 5
@@ -4026,7 +4026,7 @@ VisualTest {
     }
     Frame {
         msec: 9280
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Mouse {
         type: 3
@@ -4038,43 +4038,43 @@ VisualTest {
     }
     Frame {
         msec: 9296
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9312
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9328
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9344
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9360
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9376
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9392
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9408
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9424
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Frame {
         msec: 9440
-        hash: "47e926162c6d695d2bdb7ec9de05f0cc"
+        hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
     }
     Mouse {
         type: 2
@@ -4086,27 +4086,27 @@ VisualTest {
     }
     Frame {
         msec: 9456
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9472
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9488
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9504
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9520
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9536
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Mouse {
         type: 3
@@ -4118,35 +4118,35 @@ VisualTest {
     }
     Frame {
         msec: 9552
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9568
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9584
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9600
-        image: "usingMultilineEdit.9.png"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9616
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        image: "usingMultilineEdit.10.png"
     }
     Frame {
         msec: 9632
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9648
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9664
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Key {
         type: 6
@@ -4158,111 +4158,111 @@ VisualTest {
     }
     Frame {
         msec: 9680
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9696
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9712
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9728
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9744
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9760
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9776
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9792
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9808
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9824
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9840
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9856
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9872
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9888
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9904
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9920
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9936
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9952
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9968
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 9984
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10000
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10016
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10032
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10048
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10064
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10080
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10096
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Key {
         type: 6
@@ -4274,35 +4274,35 @@ VisualTest {
     }
     Frame {
         msec: 10112
-        hash: "2ef5e7b2c0edc631765ea12d1f7abf33"
+        hash: "2ccfdac58b836aa89d2a75d0bdca6624"
     }
     Frame {
         msec: 10128
-        hash: "2ef5e7b2c0edc631765ea12d1f7abf33"
+        hash: "2ccfdac58b836aa89d2a75d0bdca6624"
     }
     Frame {
         msec: 10144
-        hash: "2ef5e7b2c0edc631765ea12d1f7abf33"
+        hash: "2ccfdac58b836aa89d2a75d0bdca6624"
     }
     Frame {
         msec: 10160
-        hash: "2ef5e7b2c0edc631765ea12d1f7abf33"
+        hash: "2ccfdac58b836aa89d2a75d0bdca6624"
     }
     Frame {
         msec: 10176
-        hash: "2ef5e7b2c0edc631765ea12d1f7abf33"
+        hash: "2ccfdac58b836aa89d2a75d0bdca6624"
     }
     Frame {
         msec: 10192
-        hash: "2ef5e7b2c0edc631765ea12d1f7abf33"
+        hash: "2ccfdac58b836aa89d2a75d0bdca6624"
     }
     Frame {
         msec: 10208
-        hash: "2ef5e7b2c0edc631765ea12d1f7abf33"
+        hash: "2ccfdac58b836aa89d2a75d0bdca6624"
     }
     Frame {
         msec: 10224
-        hash: "2ef5e7b2c0edc631765ea12d1f7abf33"
+        hash: "2ccfdac58b836aa89d2a75d0bdca6624"
     }
     Key {
         type: 7
@@ -4314,35 +4314,35 @@ VisualTest {
     }
     Frame {
         msec: 10240
-        hash: "2ef5e7b2c0edc631765ea12d1f7abf33"
+        hash: "2ccfdac58b836aa89d2a75d0bdca6624"
     }
     Frame {
         msec: 10256
-        hash: "2ef5e7b2c0edc631765ea12d1f7abf33"
+        hash: "2ccfdac58b836aa89d2a75d0bdca6624"
     }
     Frame {
         msec: 10272
-        hash: "2ef5e7b2c0edc631765ea12d1f7abf33"
+        hash: "2ccfdac58b836aa89d2a75d0bdca6624"
     }
     Frame {
         msec: 10288
-        hash: "2ef5e7b2c0edc631765ea12d1f7abf33"
+        hash: "2ccfdac58b836aa89d2a75d0bdca6624"
     }
     Frame {
         msec: 10304
-        hash: "2ef5e7b2c0edc631765ea12d1f7abf33"
+        hash: "2ccfdac58b836aa89d2a75d0bdca6624"
     }
     Frame {
         msec: 10320
-        hash: "2ef5e7b2c0edc631765ea12d1f7abf33"
+        hash: "2ccfdac58b836aa89d2a75d0bdca6624"
     }
     Frame {
         msec: 10336
-        hash: "2ef5e7b2c0edc631765ea12d1f7abf33"
+        hash: "2ccfdac58b836aa89d2a75d0bdca6624"
     }
     Frame {
         msec: 10352
-        hash: "2ef5e7b2c0edc631765ea12d1f7abf33"
+        hash: "2ccfdac58b836aa89d2a75d0bdca6624"
     }
     Key {
         type: 6
@@ -4354,27 +4354,27 @@ VisualTest {
     }
     Frame {
         msec: 10368
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10384
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10400
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10416
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10432
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10448
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Key {
         type: 7
@@ -4386,51 +4386,51 @@ VisualTest {
     }
     Frame {
         msec: 10464
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10480
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10496
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10512
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10528
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10544
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10560
-        image: "usingMultilineEdit.10.png"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10576
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        image: "usingMultilineEdit.11.png"
     }
     Frame {
         msec: 10592
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10608
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10624
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10640
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Key {
         type: 7
@@ -4442,246 +4442,246 @@ VisualTest {
     }
     Frame {
         msec: 10656
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10672
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10688
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10704
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10720
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10736
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10752
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10768
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10784
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10800
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10816
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10832
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10848
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10864
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10880
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10896
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10912
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10928
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10944
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10960
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10976
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 10992
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11008
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11024
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11040
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11056
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11072
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11088
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11104
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11120
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11136
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11152
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11168
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11184
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11200
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11216
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11232
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11248
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11264
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11280
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11296
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11312
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11328
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11344
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11360
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11376
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11392
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11408
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11424
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11440
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11456
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11472
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11488
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11504
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11520
-        image: "usingMultilineEdit.11.png"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11536
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        image: "usingMultilineEdit.12.png"
     }
     Frame {
         msec: 11552
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11568
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11584
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11600
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
     Frame {
         msec: 11616
-        hash: "c3914ed0d035a39423a1f2cf9ac6c165"
+        hash: "37a675ab007d0e0a8f3735d4d84505de"
     }
 }
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.0.png
index 61606b2..a61ba5a 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.1.png
index a4b28fc..2a28c96 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.1.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.1.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.2.png
index 5be6bbb..d1ddaa6 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.2.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.2.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.3.png
index a220f65..493c5cd 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.3.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.3.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.4.png
index 6946707..2b2ce59 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.4.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.4.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.5.png
index 4eeb8ec..044eea4 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.5.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.5.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.6.png
index 4eeb8ec..f0748b2 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.6.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.6.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.7.png
new file mode 100644
index 0000000..f0748b2
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.7.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.qml
index f1bb5a9..f5af59f 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.qml
@@ -6,7 +6,7 @@ VisualTest {
     }
     Frame {
         msec: 16
-        hash: "b6611676a7d38162d5c0210ea9d0e291"
+        image: "wrap.0.png"
     }
     Key {
         type: 6
@@ -18,7 +18,7 @@ VisualTest {
     }
     Frame {
         msec: 32
-        hash: "b7fc43d4344c8d39f4240dadead86b1e"
+        hash: "2b7fa5ced204393f05bf68d33e0ca2ad"
     }
     Key {
         type: 7
@@ -30,11 +30,11 @@ VisualTest {
     }
     Frame {
         msec: 48
-        hash: "b7fc43d4344c8d39f4240dadead86b1e"
+        hash: "2b7fa5ced204393f05bf68d33e0ca2ad"
     }
     Frame {
         msec: 64
-        hash: "b7fc43d4344c8d39f4240dadead86b1e"
+        hash: "2b7fa5ced204393f05bf68d33e0ca2ad"
     }
     Key {
         type: 7
@@ -46,11 +46,11 @@ VisualTest {
     }
     Frame {
         msec: 80
-        hash: "b7fc43d4344c8d39f4240dadead86b1e"
+        hash: "2b7fa5ced204393f05bf68d33e0ca2ad"
     }
     Frame {
         msec: 96
-        hash: "b7fc43d4344c8d39f4240dadead86b1e"
+        hash: "2b7fa5ced204393f05bf68d33e0ca2ad"
     }
     Key {
         type: 6
@@ -62,15 +62,15 @@ VisualTest {
     }
     Frame {
         msec: 112
-        hash: "23006a07263b8b3240c4080fb1d587e9"
+        hash: "5fe2c4c01922f0b0d3f65152bd80f689"
     }
     Frame {
         msec: 128
-        hash: "23006a07263b8b3240c4080fb1d587e9"
+        hash: "5fe2c4c01922f0b0d3f65152bd80f689"
     }
     Frame {
         msec: 144
-        hash: "23006a07263b8b3240c4080fb1d587e9"
+        hash: "5fe2c4c01922f0b0d3f65152bd80f689"
     }
     Key {
         type: 6
@@ -82,15 +82,15 @@ VisualTest {
     }
     Frame {
         msec: 160
-        hash: "8a60fd38fb9c171a15bf7e6e51bee664"
+        hash: "9645f4ad60570c8a95e9ae6dda3f5060"
     }
     Frame {
         msec: 176
-        hash: "8a60fd38fb9c171a15bf7e6e51bee664"
+        hash: "9645f4ad60570c8a95e9ae6dda3f5060"
     }
     Frame {
         msec: 192
-        hash: "8a60fd38fb9c171a15bf7e6e51bee664"
+        hash: "9645f4ad60570c8a95e9ae6dda3f5060"
     }
     Key {
         type: 7
@@ -102,11 +102,11 @@ VisualTest {
     }
     Frame {
         msec: 208
-        hash: "8a60fd38fb9c171a15bf7e6e51bee664"
+        hash: "9645f4ad60570c8a95e9ae6dda3f5060"
     }
     Frame {
         msec: 224
-        hash: "8a60fd38fb9c171a15bf7e6e51bee664"
+        hash: "9645f4ad60570c8a95e9ae6dda3f5060"
     }
     Key {
         type: 6
@@ -118,7 +118,7 @@ VisualTest {
     }
     Frame {
         msec: 240
-        hash: "33cdfa214f071848ed374407b4601c5a"
+        hash: "f28f446cb8de8af0a49ae6e728c996fc"
     }
     Key {
         type: 7
@@ -130,19 +130,19 @@ VisualTest {
     }
     Frame {
         msec: 256
-        hash: "33cdfa214f071848ed374407b4601c5a"
+        hash: "f28f446cb8de8af0a49ae6e728c996fc"
     }
     Frame {
         msec: 272
-        hash: "33cdfa214f071848ed374407b4601c5a"
+        hash: "f28f446cb8de8af0a49ae6e728c996fc"
     }
     Frame {
         msec: 288
-        hash: "33cdfa214f071848ed374407b4601c5a"
+        hash: "f28f446cb8de8af0a49ae6e728c996fc"
     }
     Frame {
         msec: 304
-        hash: "33cdfa214f071848ed374407b4601c5a"
+        hash: "f28f446cb8de8af0a49ae6e728c996fc"
     }
     Key {
         type: 7
@@ -154,11 +154,11 @@ VisualTest {
     }
     Frame {
         msec: 320
-        hash: "33cdfa214f071848ed374407b4601c5a"
+        hash: "f28f446cb8de8af0a49ae6e728c996fc"
     }
     Frame {
         msec: 336
-        hash: "33cdfa214f071848ed374407b4601c5a"
+        hash: "f28f446cb8de8af0a49ae6e728c996fc"
     }
     Key {
         type: 6
@@ -170,19 +170,19 @@ VisualTest {
     }
     Frame {
         msec: 352
-        hash: "80794c72fe7dda72997122a89f33e6e4"
+        hash: "98c390c519cd0476de17be8bb49b0f65"
     }
     Frame {
         msec: 368
-        hash: "80794c72fe7dda72997122a89f33e6e4"
+        hash: "98c390c519cd0476de17be8bb49b0f65"
     }
     Frame {
         msec: 384
-        hash: "80794c72fe7dda72997122a89f33e6e4"
+        hash: "98c390c519cd0476de17be8bb49b0f65"
     }
     Frame {
         msec: 400
-        hash: "80794c72fe7dda72997122a89f33e6e4"
+        hash: "98c390c519cd0476de17be8bb49b0f65"
     }
     Key {
         type: 7
@@ -194,19 +194,19 @@ VisualTest {
     }
     Frame {
         msec: 416
-        hash: "80794c72fe7dda72997122a89f33e6e4"
+        hash: "98c390c519cd0476de17be8bb49b0f65"
     }
     Frame {
         msec: 432
-        hash: "80794c72fe7dda72997122a89f33e6e4"
+        hash: "98c390c519cd0476de17be8bb49b0f65"
     }
     Frame {
         msec: 448
-        hash: "80794c72fe7dda72997122a89f33e6e4"
+        hash: "98c390c519cd0476de17be8bb49b0f65"
     }
     Frame {
         msec: 464
-        hash: "80794c72fe7dda72997122a89f33e6e4"
+        hash: "98c390c519cd0476de17be8bb49b0f65"
     }
     Key {
         type: 6
@@ -218,19 +218,19 @@ VisualTest {
     }
     Frame {
         msec: 480
-        hash: "bfcd901aee3d9db796597834bec1f173"
+        hash: "d842a866459f3ecb4fa4fc1426a05411"
     }
     Frame {
         msec: 496
-        hash: "bfcd901aee3d9db796597834bec1f173"
+        hash: "d842a866459f3ecb4fa4fc1426a05411"
     }
     Frame {
         msec: 512
-        hash: "bfcd901aee3d9db796597834bec1f173"
+        hash: "d842a866459f3ecb4fa4fc1426a05411"
     }
     Frame {
         msec: 528
-        hash: "bfcd901aee3d9db796597834bec1f173"
+        hash: "d842a866459f3ecb4fa4fc1426a05411"
     }
     Key {
         type: 6
@@ -250,23 +250,23 @@ VisualTest {
     }
     Frame {
         msec: 544
-        hash: "965102cb74dcf695b950616ce5c42875"
+        hash: "4c858bfd2e8ba7a959bbf2d1e17865e7"
     }
     Frame {
         msec: 560
-        hash: "965102cb74dcf695b950616ce5c42875"
+        hash: "4c858bfd2e8ba7a959bbf2d1e17865e7"
     }
     Frame {
         msec: 576
-        hash: "965102cb74dcf695b950616ce5c42875"
+        hash: "4c858bfd2e8ba7a959bbf2d1e17865e7"
     }
     Frame {
         msec: 592
-        hash: "965102cb74dcf695b950616ce5c42875"
+        hash: "4c858bfd2e8ba7a959bbf2d1e17865e7"
     }
     Frame {
         msec: 608
-        hash: "965102cb74dcf695b950616ce5c42875"
+        hash: "4c858bfd2e8ba7a959bbf2d1e17865e7"
     }
     Key {
         type: 7
@@ -286,19 +286,19 @@ VisualTest {
     }
     Frame {
         msec: 624
-        hash: "73556f0cf2c8d77881a7d3881025e343"
+        hash: "9eed9c764b2c5b73a60df84fc0d68756"
     }
     Frame {
         msec: 640
-        hash: "73556f0cf2c8d77881a7d3881025e343"
+        hash: "9eed9c764b2c5b73a60df84fc0d68756"
     }
     Frame {
         msec: 656
-        hash: "73556f0cf2c8d77881a7d3881025e343"
+        hash: "9eed9c764b2c5b73a60df84fc0d68756"
     }
     Frame {
         msec: 672
-        hash: "73556f0cf2c8d77881a7d3881025e343"
+        hash: "9eed9c764b2c5b73a60df84fc0d68756"
     }
     Key {
         type: 7
@@ -310,11 +310,11 @@ VisualTest {
     }
     Frame {
         msec: 688
-        hash: "73556f0cf2c8d77881a7d3881025e343"
+        hash: "9eed9c764b2c5b73a60df84fc0d68756"
     }
     Frame {
         msec: 704
-        hash: "73556f0cf2c8d77881a7d3881025e343"
+        hash: "9eed9c764b2c5b73a60df84fc0d68756"
     }
     Key {
         type: 6
@@ -326,23 +326,23 @@ VisualTest {
     }
     Frame {
         msec: 720
-        hash: "a75bdb09a48b90936d2d4de647e7323d"
+        hash: "7a1d64574a0a6b90695629fd443274e6"
     }
     Frame {
         msec: 736
-        hash: "a75bdb09a48b90936d2d4de647e7323d"
+        hash: "7a1d64574a0a6b90695629fd443274e6"
     }
     Frame {
         msec: 752
-        hash: "a75bdb09a48b90936d2d4de647e7323d"
+        hash: "7a1d64574a0a6b90695629fd443274e6"
     }
     Frame {
         msec: 768
-        hash: "a75bdb09a48b90936d2d4de647e7323d"
+        hash: "7a1d64574a0a6b90695629fd443274e6"
     }
     Frame {
         msec: 784
-        hash: "a75bdb09a48b90936d2d4de647e7323d"
+        hash: "7a1d64574a0a6b90695629fd443274e6"
     }
     Key {
         type: 7
@@ -354,7 +354,7 @@ VisualTest {
     }
     Frame {
         msec: 800
-        hash: "a75bdb09a48b90936d2d4de647e7323d"
+        hash: "7a1d64574a0a6b90695629fd443274e6"
     }
     Key {
         type: 6
@@ -366,15 +366,15 @@ VisualTest {
     }
     Frame {
         msec: 816
-        hash: "f37ab5f03e7cf86e3589fc0711b23a53"
+        hash: "31e9c4500448142ee2be3171a2bd5385"
     }
     Frame {
         msec: 832
-        hash: "f37ab5f03e7cf86e3589fc0711b23a53"
+        hash: "31e9c4500448142ee2be3171a2bd5385"
     }
     Frame {
         msec: 848
-        hash: "f37ab5f03e7cf86e3589fc0711b23a53"
+        hash: "31e9c4500448142ee2be3171a2bd5385"
     }
     Key {
         type: 7
@@ -386,15 +386,15 @@ VisualTest {
     }
     Frame {
         msec: 864
-        hash: "f37ab5f03e7cf86e3589fc0711b23a53"
+        hash: "31e9c4500448142ee2be3171a2bd5385"
     }
     Frame {
         msec: 880
-        hash: "f37ab5f03e7cf86e3589fc0711b23a53"
+        hash: "31e9c4500448142ee2be3171a2bd5385"
     }
     Frame {
         msec: 896
-        hash: "f37ab5f03e7cf86e3589fc0711b23a53"
+        hash: "31e9c4500448142ee2be3171a2bd5385"
     }
     Key {
         type: 6
@@ -406,27 +406,27 @@ VisualTest {
     }
     Frame {
         msec: 912
-        hash: "219e5edd5f138cd113f0b929460cf074"
+        hash: "7fcfd3706ba11c43ac0a4c2f96b1d80d"
     }
     Frame {
         msec: 928
-        hash: "219e5edd5f138cd113f0b929460cf074"
+        hash: "7fcfd3706ba11c43ac0a4c2f96b1d80d"
     }
     Frame {
         msec: 944
-        hash: "219e5edd5f138cd113f0b929460cf074"
+        hash: "7fcfd3706ba11c43ac0a4c2f96b1d80d"
     }
     Frame {
         msec: 960
-        image: "wrap.0.png"
+        hash: "7fcfd3706ba11c43ac0a4c2f96b1d80d"
     }
     Frame {
         msec: 976
-        hash: "219e5edd5f138cd113f0b929460cf074"
+        image: "wrap.1.png"
     }
     Frame {
         msec: 992
-        hash: "219e5edd5f138cd113f0b929460cf074"
+        hash: "7fcfd3706ba11c43ac0a4c2f96b1d80d"
     }
     Key {
         type: 6
@@ -446,23 +446,23 @@ VisualTest {
     }
     Frame {
         msec: 1008
-        hash: "79cf23a46fbbeddbef10ef2a62533342"
+        hash: "c05191599361c4171c086630f9608cd0"
     }
     Frame {
         msec: 1024
-        hash: "79cf23a46fbbeddbef10ef2a62533342"
+        hash: "c05191599361c4171c086630f9608cd0"
     }
     Frame {
         msec: 1040
-        hash: "79cf23a46fbbeddbef10ef2a62533342"
+        hash: "c05191599361c4171c086630f9608cd0"
     }
     Frame {
         msec: 1056
-        hash: "79cf23a46fbbeddbef10ef2a62533342"
+        hash: "c05191599361c4171c086630f9608cd0"
     }
     Frame {
         msec: 1072
-        hash: "79cf23a46fbbeddbef10ef2a62533342"
+        hash: "c05191599361c4171c086630f9608cd0"
     }
     Key {
         type: 7
@@ -474,31 +474,31 @@ VisualTest {
     }
     Frame {
         msec: 1088
-        hash: "79cf23a46fbbeddbef10ef2a62533342"
+        hash: "c05191599361c4171c086630f9608cd0"
     }
     Frame {
         msec: 1104
-        hash: "79cf23a46fbbeddbef10ef2a62533342"
+        hash: "c05191599361c4171c086630f9608cd0"
     }
     Frame {
         msec: 1120
-        hash: "79cf23a46fbbeddbef10ef2a62533342"
+        hash: "c05191599361c4171c086630f9608cd0"
     }
     Frame {
         msec: 1136
-        hash: "79cf23a46fbbeddbef10ef2a62533342"
+        hash: "c05191599361c4171c086630f9608cd0"
     }
     Frame {
         msec: 1152
-        hash: "79cf23a46fbbeddbef10ef2a62533342"
+        hash: "c05191599361c4171c086630f9608cd0"
     }
     Frame {
         msec: 1168
-        hash: "79cf23a46fbbeddbef10ef2a62533342"
+        hash: "c05191599361c4171c086630f9608cd0"
     }
     Frame {
         msec: 1184
-        hash: "79cf23a46fbbeddbef10ef2a62533342"
+        hash: "c05191599361c4171c086630f9608cd0"
     }
     Key {
         type: 6
@@ -510,23 +510,23 @@ VisualTest {
     }
     Frame {
         msec: 1200
-        hash: "ccb17209d85c7e49fbb0b5f9134fc39c"
+        hash: "088e0567dd568019ccb2114d3108a1dd"
     }
     Frame {
         msec: 1216
-        hash: "ccb17209d85c7e49fbb0b5f9134fc39c"
+        hash: "088e0567dd568019ccb2114d3108a1dd"
     }
     Frame {
         msec: 1232
-        hash: "ccb17209d85c7e49fbb0b5f9134fc39c"
+        hash: "088e0567dd568019ccb2114d3108a1dd"
     }
     Frame {
         msec: 1248
-        hash: "ccb17209d85c7e49fbb0b5f9134fc39c"
+        hash: "088e0567dd568019ccb2114d3108a1dd"
     }
     Frame {
         msec: 1264
-        hash: "ccb17209d85c7e49fbb0b5f9134fc39c"
+        hash: "088e0567dd568019ccb2114d3108a1dd"
     }
     Key {
         type: 7
@@ -546,11 +546,11 @@ VisualTest {
     }
     Frame {
         msec: 1280
-        hash: "29aaa213e4b146199289b5383528bc88"
+        hash: "35fde81ed66c4804b2b31c0d93fb010a"
     }
     Frame {
         msec: 1296
-        hash: "29aaa213e4b146199289b5383528bc88"
+        hash: "35fde81ed66c4804b2b31c0d93fb010a"
     }
     Key {
         type: 6
@@ -562,15 +562,15 @@ VisualTest {
     }
     Frame {
         msec: 1312
-        hash: "7f9da386497bca2dc19b1c3ab475f453"
+        hash: "0b212b2b1354e99db328c30d4c8e8b4e"
     }
     Frame {
         msec: 1328
-        hash: "7f9da386497bca2dc19b1c3ab475f453"
+        hash: "0b212b2b1354e99db328c30d4c8e8b4e"
     }
     Frame {
         msec: 1344
-        hash: "7f9da386497bca2dc19b1c3ab475f453"
+        hash: "0b212b2b1354e99db328c30d4c8e8b4e"
     }
     Key {
         type: 7
@@ -582,11 +582,11 @@ VisualTest {
     }
     Frame {
         msec: 1360
-        hash: "7f9da386497bca2dc19b1c3ab475f453"
+        hash: "0b212b2b1354e99db328c30d4c8e8b4e"
     }
     Frame {
         msec: 1376
-        hash: "7f9da386497bca2dc19b1c3ab475f453"
+        hash: "0b212b2b1354e99db328c30d4c8e8b4e"
     }
     Key {
         type: 7
@@ -598,19 +598,19 @@ VisualTest {
     }
     Frame {
         msec: 1392
-        hash: "7f9da386497bca2dc19b1c3ab475f453"
+        hash: "0b212b2b1354e99db328c30d4c8e8b4e"
     }
     Frame {
         msec: 1408
-        hash: "7f9da386497bca2dc19b1c3ab475f453"
+        hash: "0b212b2b1354e99db328c30d4c8e8b4e"
     }
     Frame {
         msec: 1424
-        hash: "7f9da386497bca2dc19b1c3ab475f453"
+        hash: "0b212b2b1354e99db328c30d4c8e8b4e"
     }
     Frame {
         msec: 1440
-        hash: "7f9da386497bca2dc19b1c3ab475f453"
+        hash: "0b212b2b1354e99db328c30d4c8e8b4e"
     }
     Key {
         type: 6
@@ -622,23 +622,23 @@ VisualTest {
     }
     Frame {
         msec: 1456
-        hash: "eb683a6b2a9ed2cf4ea5cb424670c9d2"
+        hash: "1d19bc237d8de1598a629f2aea7e8e97"
     }
     Frame {
         msec: 1472
-        hash: "eb683a6b2a9ed2cf4ea5cb424670c9d2"
+        hash: "1d19bc237d8de1598a629f2aea7e8e97"
     }
     Frame {
         msec: 1488
-        hash: "eb683a6b2a9ed2cf4ea5cb424670c9d2"
+        hash: "1d19bc237d8de1598a629f2aea7e8e97"
     }
     Frame {
         msec: 1504
-        hash: "eb683a6b2a9ed2cf4ea5cb424670c9d2"
+        hash: "1d19bc237d8de1598a629f2aea7e8e97"
     }
     Frame {
         msec: 1520
-        hash: "eb683a6b2a9ed2cf4ea5cb424670c9d2"
+        hash: "1d19bc237d8de1598a629f2aea7e8e97"
     }
     Key {
         type: 7
@@ -650,11 +650,11 @@ VisualTest {
     }
     Frame {
         msec: 1536
-        hash: "eb683a6b2a9ed2cf4ea5cb424670c9d2"
+        hash: "1d19bc237d8de1598a629f2aea7e8e97"
     }
     Frame {
         msec: 1552
-        hash: "eb683a6b2a9ed2cf4ea5cb424670c9d2"
+        hash: "1d19bc237d8de1598a629f2aea7e8e97"
     }
     Key {
         type: 6
@@ -666,23 +666,23 @@ VisualTest {
     }
     Frame {
         msec: 1568
-        hash: "c5c789ca287cf673be808f3e10e054a2"
+        hash: "df3025b2de2cf6cee2b918c6d13834c6"
     }
     Frame {
         msec: 1584
-        hash: "c5c789ca287cf673be808f3e10e054a2"
+        hash: "df3025b2de2cf6cee2b918c6d13834c6"
     }
     Frame {
         msec: 1600
-        hash: "c5c789ca287cf673be808f3e10e054a2"
+        hash: "df3025b2de2cf6cee2b918c6d13834c6"
     }
     Frame {
         msec: 1616
-        hash: "c5c789ca287cf673be808f3e10e054a2"
+        hash: "df3025b2de2cf6cee2b918c6d13834c6"
     }
     Frame {
         msec: 1632
-        hash: "c5c789ca287cf673be808f3e10e054a2"
+        hash: "df3025b2de2cf6cee2b918c6d13834c6"
     }
     Key {
         type: 6
@@ -702,23 +702,23 @@ VisualTest {
     }
     Frame {
         msec: 1648
-        hash: "5e39fc7058b64afa7036002a2dae8976"
+        hash: "b19baef8a5d8efd96d5ec9e729a9d42a"
     }
     Frame {
         msec: 1664
-        hash: "5e39fc7058b64afa7036002a2dae8976"
+        hash: "b19baef8a5d8efd96d5ec9e729a9d42a"
     }
     Frame {
         msec: 1680
-        hash: "5e39fc7058b64afa7036002a2dae8976"
+        hash: "b19baef8a5d8efd96d5ec9e729a9d42a"
     }
     Frame {
         msec: 1696
-        hash: "5e39fc7058b64afa7036002a2dae8976"
+        hash: "b19baef8a5d8efd96d5ec9e729a9d42a"
     }
     Frame {
         msec: 1712
-        hash: "5e39fc7058b64afa7036002a2dae8976"
+        hash: "b19baef8a5d8efd96d5ec9e729a9d42a"
     }
     Key {
         type: 6
@@ -730,15 +730,15 @@ VisualTest {
     }
     Frame {
         msec: 1728
-        hash: "687e69083430812cd42eff708229a176"
+        hash: "914e61f38d7f2b5a465037d6ef1ddaba"
     }
     Frame {
         msec: 1744
-        hash: "687e69083430812cd42eff708229a176"
+        hash: "914e61f38d7f2b5a465037d6ef1ddaba"
     }
     Frame {
         msec: 1760
-        hash: "687e69083430812cd42eff708229a176"
+        hash: "914e61f38d7f2b5a465037d6ef1ddaba"
     }
     Key {
         type: 7
@@ -750,7 +750,7 @@ VisualTest {
     }
     Frame {
         msec: 1776
-        hash: "687e69083430812cd42eff708229a176"
+        hash: "914e61f38d7f2b5a465037d6ef1ddaba"
     }
     Key {
         type: 6
@@ -762,11 +762,11 @@ VisualTest {
     }
     Frame {
         msec: 1792
-        hash: "f33cd379acd2785298aa74f78e22bdfb"
+        hash: "e816134a8fef0bbee8e94c0f9561750b"
     }
     Frame {
         msec: 1808
-        hash: "f33cd379acd2785298aa74f78e22bdfb"
+        hash: "e816134a8fef0bbee8e94c0f9561750b"
     }
     Key {
         type: 7
@@ -778,19 +778,19 @@ VisualTest {
     }
     Frame {
         msec: 1824
-        hash: "f33cd379acd2785298aa74f78e22bdfb"
+        hash: "e816134a8fef0bbee8e94c0f9561750b"
     }
     Frame {
         msec: 1840
-        hash: "f33cd379acd2785298aa74f78e22bdfb"
+        hash: "e816134a8fef0bbee8e94c0f9561750b"
     }
     Frame {
         msec: 1856
-        hash: "f33cd379acd2785298aa74f78e22bdfb"
+        hash: "e816134a8fef0bbee8e94c0f9561750b"
     }
     Frame {
         msec: 1872
-        hash: "f33cd379acd2785298aa74f78e22bdfb"
+        hash: "e816134a8fef0bbee8e94c0f9561750b"
     }
     Key {
         type: 7
@@ -802,23 +802,23 @@ VisualTest {
     }
     Frame {
         msec: 1888
-        hash: "f33cd379acd2785298aa74f78e22bdfb"
+        hash: "e816134a8fef0bbee8e94c0f9561750b"
     }
     Frame {
         msec: 1904
-        hash: "f33cd379acd2785298aa74f78e22bdfb"
+        hash: "e816134a8fef0bbee8e94c0f9561750b"
     }
     Frame {
         msec: 1920
-        image: "wrap.1.png"
+        hash: "e816134a8fef0bbee8e94c0f9561750b"
     }
     Frame {
         msec: 1936
-        hash: "f33cd379acd2785298aa74f78e22bdfb"
+        image: "wrap.2.png"
     }
     Frame {
         msec: 1952
-        hash: "f33cd379acd2785298aa74f78e22bdfb"
+        hash: "e816134a8fef0bbee8e94c0f9561750b"
     }
     Key {
         type: 6
@@ -830,27 +830,27 @@ VisualTest {
     }
     Frame {
         msec: 1968
-        hash: "205e79eb4a7e515ffa5bd24677408e79"
+        hash: "9552729028c8e129e19c06ff35bb085b"
     }
     Frame {
         msec: 1984
-        hash: "205e79eb4a7e515ffa5bd24677408e79"
+        hash: "9552729028c8e129e19c06ff35bb085b"
     }
     Frame {
         msec: 2000
-        hash: "205e79eb4a7e515ffa5bd24677408e79"
+        hash: "9552729028c8e129e19c06ff35bb085b"
     }
     Frame {
         msec: 2016
-        hash: "205e79eb4a7e515ffa5bd24677408e79"
+        hash: "9552729028c8e129e19c06ff35bb085b"
     }
     Frame {
         msec: 2032
-        hash: "205e79eb4a7e515ffa5bd24677408e79"
+        hash: "9552729028c8e129e19c06ff35bb085b"
     }
     Frame {
         msec: 2048
-        hash: "205e79eb4a7e515ffa5bd24677408e79"
+        hash: "9552729028c8e129e19c06ff35bb085b"
     }
     Key {
         type: 6
@@ -862,7 +862,7 @@ VisualTest {
     }
     Frame {
         msec: 2064
-        hash: "2c1570a63d3eff7346c58356610a2f44"
+        hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
     }
     Key {
         type: 7
@@ -874,15 +874,15 @@ VisualTest {
     }
     Frame {
         msec: 2080
-        hash: "2c1570a63d3eff7346c58356610a2f44"
+        hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
     }
     Frame {
         msec: 2096
-        hash: "2c1570a63d3eff7346c58356610a2f44"
+        hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
     }
     Frame {
         msec: 2112
-        hash: "2c1570a63d3eff7346c58356610a2f44"
+        hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
     }
     Key {
         type: 7
@@ -894,27 +894,27 @@ VisualTest {
     }
     Frame {
         msec: 2128
-        hash: "2c1570a63d3eff7346c58356610a2f44"
+        hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
     }
     Frame {
         msec: 2144
-        hash: "2c1570a63d3eff7346c58356610a2f44"
+        hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
     }
     Frame {
         msec: 2160
-        hash: "2c1570a63d3eff7346c58356610a2f44"
+        hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
     }
     Frame {
         msec: 2176
-        hash: "2c1570a63d3eff7346c58356610a2f44"
+        hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
     }
     Frame {
         msec: 2192
-        hash: "2c1570a63d3eff7346c58356610a2f44"
+        hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
     }
     Frame {
         msec: 2208
-        hash: "2c1570a63d3eff7346c58356610a2f44"
+        hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
     }
     Key {
         type: 6
@@ -926,23 +926,23 @@ VisualTest {
     }
     Frame {
         msec: 2224
-        hash: "8202436b4e184adc69cdf7dd735afe33"
+        hash: "28748f90f61954b94377768788f1634d"
     }
     Frame {
         msec: 2240
-        hash: "8202436b4e184adc69cdf7dd735afe33"
+        hash: "28748f90f61954b94377768788f1634d"
     }
     Frame {
         msec: 2256
-        hash: "8202436b4e184adc69cdf7dd735afe33"
+        hash: "28748f90f61954b94377768788f1634d"
     }
     Frame {
         msec: 2272
-        hash: "8202436b4e184adc69cdf7dd735afe33"
+        hash: "28748f90f61954b94377768788f1634d"
     }
     Frame {
         msec: 2288
-        hash: "8202436b4e184adc69cdf7dd735afe33"
+        hash: "28748f90f61954b94377768788f1634d"
     }
     Key {
         type: 6
@@ -954,7 +954,7 @@ VisualTest {
     }
     Frame {
         msec: 2304
-        hash: "855069b52f6714d54f4005751b8e2930"
+        hash: "2cf8ad2ba8ddcde4dd8549f034a77005"
     }
     Key {
         type: 7
@@ -966,15 +966,15 @@ VisualTest {
     }
     Frame {
         msec: 2320
-        hash: "855069b52f6714d54f4005751b8e2930"
+        hash: "2cf8ad2ba8ddcde4dd8549f034a77005"
     }
     Frame {
         msec: 2336
-        hash: "855069b52f6714d54f4005751b8e2930"
+        hash: "2cf8ad2ba8ddcde4dd8549f034a77005"
     }
     Frame {
         msec: 2352
-        hash: "855069b52f6714d54f4005751b8e2930"
+        hash: "2cf8ad2ba8ddcde4dd8549f034a77005"
     }
     Key {
         type: 6
@@ -986,11 +986,11 @@ VisualTest {
     }
     Frame {
         msec: 2368
-        hash: "6e1a97a3e491f24e34d4b24bf3091afc"
+        hash: "95b6ce7c01461847a3f7aff88aa8ad9d"
     }
     Frame {
         msec: 2384
-        hash: "6e1a97a3e491f24e34d4b24bf3091afc"
+        hash: "95b6ce7c01461847a3f7aff88aa8ad9d"
     }
     Key {
         type: 7
@@ -1002,15 +1002,15 @@ VisualTest {
     }
     Frame {
         msec: 2400
-        hash: "6e1a97a3e491f24e34d4b24bf3091afc"
+        hash: "95b6ce7c01461847a3f7aff88aa8ad9d"
     }
     Frame {
         msec: 2416
-        hash: "6e1a97a3e491f24e34d4b24bf3091afc"
+        hash: "95b6ce7c01461847a3f7aff88aa8ad9d"
     }
     Frame {
         msec: 2432
-        hash: "6e1a97a3e491f24e34d4b24bf3091afc"
+        hash: "95b6ce7c01461847a3f7aff88aa8ad9d"
     }
     Key {
         type: 7
@@ -1022,15 +1022,15 @@ VisualTest {
     }
     Frame {
         msec: 2448
-        hash: "6e1a97a3e491f24e34d4b24bf3091afc"
+        hash: "95b6ce7c01461847a3f7aff88aa8ad9d"
     }
     Frame {
         msec: 2464
-        hash: "6e1a97a3e491f24e34d4b24bf3091afc"
+        hash: "95b6ce7c01461847a3f7aff88aa8ad9d"
     }
     Frame {
         msec: 2480
-        hash: "6e1a97a3e491f24e34d4b24bf3091afc"
+        hash: "95b6ce7c01461847a3f7aff88aa8ad9d"
     }
     Key {
         type: 6
@@ -1042,19 +1042,19 @@ VisualTest {
     }
     Frame {
         msec: 2496
-        hash: "12eb5152181e0bff993dc1be087969f9"
+        hash: "81872138f3cafb1cf06009df77af1461"
     }
     Frame {
         msec: 2512
-        hash: "12eb5152181e0bff993dc1be087969f9"
+        hash: "81872138f3cafb1cf06009df77af1461"
     }
     Frame {
         msec: 2528
-        hash: "12eb5152181e0bff993dc1be087969f9"
+        hash: "81872138f3cafb1cf06009df77af1461"
     }
     Frame {
         msec: 2544
-        hash: "12eb5152181e0bff993dc1be087969f9"
+        hash: "81872138f3cafb1cf06009df77af1461"
     }
     Key {
         type: 7
@@ -1066,27 +1066,27 @@ VisualTest {
     }
     Frame {
         msec: 2560
-        hash: "12eb5152181e0bff993dc1be087969f9"
+        hash: "81872138f3cafb1cf06009df77af1461"
     }
     Frame {
         msec: 2576
-        hash: "12eb5152181e0bff993dc1be087969f9"
+        hash: "81872138f3cafb1cf06009df77af1461"
     }
     Frame {
         msec: 2592
-        hash: "12eb5152181e0bff993dc1be087969f9"
+        hash: "81872138f3cafb1cf06009df77af1461"
     }
     Frame {
         msec: 2608
-        hash: "12eb5152181e0bff993dc1be087969f9"
+        hash: "81872138f3cafb1cf06009df77af1461"
     }
     Frame {
         msec: 2624
-        hash: "12eb5152181e0bff993dc1be087969f9"
+        hash: "81872138f3cafb1cf06009df77af1461"
     }
     Frame {
         msec: 2640
-        hash: "12eb5152181e0bff993dc1be087969f9"
+        hash: "81872138f3cafb1cf06009df77af1461"
     }
     Key {
         type: 6
@@ -1098,19 +1098,19 @@ VisualTest {
     }
     Frame {
         msec: 2656
-        hash: "8a77655cae6c04453e6dc8a2321d1a32"
+        hash: "dfa35c08894d7ed748b8846fa3ce8fac"
     }
     Frame {
         msec: 2672
-        hash: "8a77655cae6c04453e6dc8a2321d1a32"
+        hash: "dfa35c08894d7ed748b8846fa3ce8fac"
     }
     Frame {
         msec: 2688
-        hash: "8a77655cae6c04453e6dc8a2321d1a32"
+        hash: "dfa35c08894d7ed748b8846fa3ce8fac"
     }
     Frame {
         msec: 2704
-        hash: "8a77655cae6c04453e6dc8a2321d1a32"
+        hash: "dfa35c08894d7ed748b8846fa3ce8fac"
     }
     Key {
         type: 7
@@ -1122,15 +1122,15 @@ VisualTest {
     }
     Frame {
         msec: 2720
-        hash: "8a77655cae6c04453e6dc8a2321d1a32"
+        hash: "dfa35c08894d7ed748b8846fa3ce8fac"
     }
     Frame {
         msec: 2736
-        hash: "8a77655cae6c04453e6dc8a2321d1a32"
+        hash: "dfa35c08894d7ed748b8846fa3ce8fac"
     }
     Frame {
         msec: 2752
-        hash: "8a77655cae6c04453e6dc8a2321d1a32"
+        hash: "dfa35c08894d7ed748b8846fa3ce8fac"
     }
     Key {
         type: 6
@@ -1142,23 +1142,23 @@ VisualTest {
     }
     Frame {
         msec: 2768
-        hash: "c42349fe4b75e5d56a04ec6462cb0780"
+        hash: "9decac3d9243bebdc7699fcb77a31f21"
     }
     Frame {
         msec: 2784
-        hash: "c42349fe4b75e5d56a04ec6462cb0780"
+        hash: "9decac3d9243bebdc7699fcb77a31f21"
     }
     Frame {
         msec: 2800
-        hash: "c42349fe4b75e5d56a04ec6462cb0780"
+        hash: "9decac3d9243bebdc7699fcb77a31f21"
     }
     Frame {
         msec: 2816
-        hash: "c42349fe4b75e5d56a04ec6462cb0780"
+        hash: "9decac3d9243bebdc7699fcb77a31f21"
     }
     Frame {
         msec: 2832
-        hash: "c42349fe4b75e5d56a04ec6462cb0780"
+        hash: "9decac3d9243bebdc7699fcb77a31f21"
     }
     Key {
         type: 6
@@ -1178,19 +1178,19 @@ VisualTest {
     }
     Frame {
         msec: 2848
-        hash: "973c163b1ea4e6189e788b7f37013185"
+        hash: "6a1bb7dd22f3e090008ba265c30f9c2d"
     }
     Frame {
         msec: 2864
-        hash: "973c163b1ea4e6189e788b7f37013185"
+        hash: "6a1bb7dd22f3e090008ba265c30f9c2d"
     }
     Frame {
         msec: 2880
-        image: "wrap.2.png"
+        hash: "6a1bb7dd22f3e090008ba265c30f9c2d"
     }
     Frame {
         msec: 2896
-        hash: "973c163b1ea4e6189e788b7f37013185"
+        image: "wrap.3.png"
     }
     Key {
         type: 6
@@ -1202,11 +1202,11 @@ VisualTest {
     }
     Frame {
         msec: 2912
-        hash: "a847abc1ef9a41a741f8dce6bc68e6a1"
+        hash: "ee39b3014e140aff2f974f3b919f85f4"
     }
     Frame {
         msec: 2928
-        hash: "a847abc1ef9a41a741f8dce6bc68e6a1"
+        hash: "ee39b3014e140aff2f974f3b919f85f4"
     }
     Key {
         type: 7
@@ -1218,11 +1218,11 @@ VisualTest {
     }
     Frame {
         msec: 2944
-        hash: "a847abc1ef9a41a741f8dce6bc68e6a1"
+        hash: "ee39b3014e140aff2f974f3b919f85f4"
     }
     Frame {
         msec: 2960
-        hash: "a847abc1ef9a41a741f8dce6bc68e6a1"
+        hash: "ee39b3014e140aff2f974f3b919f85f4"
     }
     Key {
         type: 7
@@ -1234,35 +1234,35 @@ VisualTest {
     }
     Frame {
         msec: 2976
-        hash: "a847abc1ef9a41a741f8dce6bc68e6a1"
+        hash: "ee39b3014e140aff2f974f3b919f85f4"
     }
     Frame {
         msec: 2992
-        hash: "a847abc1ef9a41a741f8dce6bc68e6a1"
+        hash: "ee39b3014e140aff2f974f3b919f85f4"
     }
     Frame {
         msec: 3008
-        hash: "a847abc1ef9a41a741f8dce6bc68e6a1"
+        hash: "ee39b3014e140aff2f974f3b919f85f4"
     }
     Frame {
         msec: 3024
-        hash: "a847abc1ef9a41a741f8dce6bc68e6a1"
+        hash: "ee39b3014e140aff2f974f3b919f85f4"
     }
     Frame {
         msec: 3040
-        hash: "a847abc1ef9a41a741f8dce6bc68e6a1"
+        hash: "ee39b3014e140aff2f974f3b919f85f4"
     }
     Frame {
         msec: 3056
-        hash: "a847abc1ef9a41a741f8dce6bc68e6a1"
+        hash: "ee39b3014e140aff2f974f3b919f85f4"
     }
     Frame {
         msec: 3072
-        hash: "a847abc1ef9a41a741f8dce6bc68e6a1"
+        hash: "ee39b3014e140aff2f974f3b919f85f4"
     }
     Frame {
         msec: 3088
-        hash: "a847abc1ef9a41a741f8dce6bc68e6a1"
+        hash: "ee39b3014e140aff2f974f3b919f85f4"
     }
     Key {
         type: 6
@@ -1274,23 +1274,23 @@ VisualTest {
     }
     Frame {
         msec: 3104
-        hash: "93d3b56a5070a84164169ab1869d6ed0"
+        hash: "d448179ec6bba91f3f70be821710a8c7"
     }
     Frame {
         msec: 3120
-        hash: "93d3b56a5070a84164169ab1869d6ed0"
+        hash: "d448179ec6bba91f3f70be821710a8c7"
     }
     Frame {
         msec: 3136
-        hash: "93d3b56a5070a84164169ab1869d6ed0"
+        hash: "d448179ec6bba91f3f70be821710a8c7"
     }
     Frame {
         msec: 3152
-        hash: "93d3b56a5070a84164169ab1869d6ed0"
+        hash: "d448179ec6bba91f3f70be821710a8c7"
     }
     Frame {
         msec: 3168
-        hash: "93d3b56a5070a84164169ab1869d6ed0"
+        hash: "d448179ec6bba91f3f70be821710a8c7"
     }
     Key {
         type: 7
@@ -1302,23 +1302,23 @@ VisualTest {
     }
     Frame {
         msec: 3184
-        hash: "93d3b56a5070a84164169ab1869d6ed0"
+        hash: "d448179ec6bba91f3f70be821710a8c7"
     }
     Frame {
         msec: 3200
-        hash: "93d3b56a5070a84164169ab1869d6ed0"
+        hash: "d448179ec6bba91f3f70be821710a8c7"
     }
     Frame {
         msec: 3216
-        hash: "93d3b56a5070a84164169ab1869d6ed0"
+        hash: "d448179ec6bba91f3f70be821710a8c7"
     }
     Frame {
         msec: 3232
-        hash: "93d3b56a5070a84164169ab1869d6ed0"
+        hash: "d448179ec6bba91f3f70be821710a8c7"
     }
     Frame {
         msec: 3248
-        hash: "93d3b56a5070a84164169ab1869d6ed0"
+        hash: "d448179ec6bba91f3f70be821710a8c7"
     }
     Key {
         type: 6
@@ -1330,15 +1330,15 @@ VisualTest {
     }
     Frame {
         msec: 3264
-        hash: "60480b61f29a34c790da8fe1bfd98755"
+        hash: "e30b5aa9b5d08fba758fe781812f096d"
     }
     Frame {
         msec: 3280
-        hash: "60480b61f29a34c790da8fe1bfd98755"
+        hash: "e30b5aa9b5d08fba758fe781812f096d"
     }
     Frame {
         msec: 3296
-        hash: "60480b61f29a34c790da8fe1bfd98755"
+        hash: "e30b5aa9b5d08fba758fe781812f096d"
     }
     Key {
         type: 7
@@ -1350,15 +1350,15 @@ VisualTest {
     }
     Frame {
         msec: 3312
-        hash: "60480b61f29a34c790da8fe1bfd98755"
+        hash: "e30b5aa9b5d08fba758fe781812f096d"
     }
     Frame {
         msec: 3328
-        hash: "60480b61f29a34c790da8fe1bfd98755"
+        hash: "e30b5aa9b5d08fba758fe781812f096d"
     }
     Frame {
         msec: 3344
-        hash: "60480b61f29a34c790da8fe1bfd98755"
+        hash: "e30b5aa9b5d08fba758fe781812f096d"
     }
     Key {
         type: 6
@@ -1370,23 +1370,23 @@ VisualTest {
     }
     Frame {
         msec: 3360
-        hash: "c6f235590c03170581dfabc07bf9c20b"
+        hash: "ba932735c5079ad6562050b6e332d2e7"
     }
     Frame {
         msec: 3376
-        hash: "c6f235590c03170581dfabc07bf9c20b"
+        hash: "ba932735c5079ad6562050b6e332d2e7"
     }
     Frame {
         msec: 3392
-        hash: "c6f235590c03170581dfabc07bf9c20b"
+        hash: "ba932735c5079ad6562050b6e332d2e7"
     }
     Frame {
         msec: 3408
-        hash: "c6f235590c03170581dfabc07bf9c20b"
+        hash: "ba932735c5079ad6562050b6e332d2e7"
     }
     Frame {
         msec: 3424
-        hash: "c6f235590c03170581dfabc07bf9c20b"
+        hash: "ba932735c5079ad6562050b6e332d2e7"
     }
     Key {
         type: 7
@@ -1398,15 +1398,15 @@ VisualTest {
     }
     Frame {
         msec: 3440
-        hash: "c6f235590c03170581dfabc07bf9c20b"
+        hash: "ba932735c5079ad6562050b6e332d2e7"
     }
     Frame {
         msec: 3456
-        hash: "c6f235590c03170581dfabc07bf9c20b"
+        hash: "ba932735c5079ad6562050b6e332d2e7"
     }
     Frame {
         msec: 3472
-        hash: "c6f235590c03170581dfabc07bf9c20b"
+        hash: "ba932735c5079ad6562050b6e332d2e7"
     }
     Key {
         type: 6
@@ -1418,19 +1418,19 @@ VisualTest {
     }
     Frame {
         msec: 3488
-        hash: "10a29af771a5c17b1443b10abd45c9aa"
+        hash: "01dacbcc21c541e0cbf272ee01292b7c"
     }
     Frame {
         msec: 3504
-        hash: "10a29af771a5c17b1443b10abd45c9aa"
+        hash: "01dacbcc21c541e0cbf272ee01292b7c"
     }
     Frame {
         msec: 3520
-        hash: "10a29af771a5c17b1443b10abd45c9aa"
+        hash: "01dacbcc21c541e0cbf272ee01292b7c"
     }
     Frame {
         msec: 3536
-        hash: "10a29af771a5c17b1443b10abd45c9aa"
+        hash: "01dacbcc21c541e0cbf272ee01292b7c"
     }
     Key {
         type: 7
@@ -1442,11 +1442,11 @@ VisualTest {
     }
     Frame {
         msec: 3552
-        hash: "10a29af771a5c17b1443b10abd45c9aa"
+        hash: "01dacbcc21c541e0cbf272ee01292b7c"
     }
     Frame {
         msec: 3568
-        hash: "10a29af771a5c17b1443b10abd45c9aa"
+        hash: "01dacbcc21c541e0cbf272ee01292b7c"
     }
     Key {
         type: 6
@@ -1458,27 +1458,27 @@ VisualTest {
     }
     Frame {
         msec: 3584
-        hash: "68449dbef331f4bdf4c4bc443ec98e89"
+        hash: "7b493045fb2b7373525ce570d86542d7"
     }
     Frame {
         msec: 3600
-        hash: "68449dbef331f4bdf4c4bc443ec98e89"
+        hash: "7b493045fb2b7373525ce570d86542d7"
     }
     Frame {
         msec: 3616
-        hash: "68449dbef331f4bdf4c4bc443ec98e89"
+        hash: "7b493045fb2b7373525ce570d86542d7"
     }
     Frame {
         msec: 3632
-        hash: "68449dbef331f4bdf4c4bc443ec98e89"
+        hash: "7b493045fb2b7373525ce570d86542d7"
     }
     Frame {
         msec: 3648
-        hash: "68449dbef331f4bdf4c4bc443ec98e89"
+        hash: "7b493045fb2b7373525ce570d86542d7"
     }
     Frame {
         msec: 3664
-        hash: "68449dbef331f4bdf4c4bc443ec98e89"
+        hash: "7b493045fb2b7373525ce570d86542d7"
     }
     Key {
         type: 6
@@ -1490,7 +1490,7 @@ VisualTest {
     }
     Frame {
         msec: 3680
-        hash: "5c773045e3ccab933749a3f6a74dc25a"
+        hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
     }
     Key {
         type: 7
@@ -1502,23 +1502,23 @@ VisualTest {
     }
     Frame {
         msec: 3696
-        hash: "5c773045e3ccab933749a3f6a74dc25a"
+        hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
     }
     Frame {
         msec: 3712
-        hash: "5c773045e3ccab933749a3f6a74dc25a"
+        hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
     }
     Frame {
         msec: 3728
-        hash: "5c773045e3ccab933749a3f6a74dc25a"
+        hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
     }
     Frame {
         msec: 3744
-        hash: "5c773045e3ccab933749a3f6a74dc25a"
+        hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
     }
     Frame {
         msec: 3760
-        hash: "5c773045e3ccab933749a3f6a74dc25a"
+        hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
     }
     Key {
         type: 7
@@ -1530,39 +1530,39 @@ VisualTest {
     }
     Frame {
         msec: 3776
-        hash: "5c773045e3ccab933749a3f6a74dc25a"
+        hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
     }
     Frame {
         msec: 3792
-        hash: "5c773045e3ccab933749a3f6a74dc25a"
+        hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
     }
     Frame {
         msec: 3808
-        hash: "5c773045e3ccab933749a3f6a74dc25a"
+        hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
     }
     Frame {
         msec: 3824
-        hash: "5c773045e3ccab933749a3f6a74dc25a"
+        hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
     }
     Frame {
         msec: 3840
-        image: "wrap.3.png"
+        hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
     }
     Frame {
         msec: 3856
-        hash: "5c773045e3ccab933749a3f6a74dc25a"
+        image: "wrap.4.png"
     }
     Frame {
         msec: 3872
-        hash: "5c773045e3ccab933749a3f6a74dc25a"
+        hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
     }
     Frame {
         msec: 3888
-        hash: "5c773045e3ccab933749a3f6a74dc25a"
+        hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
     }
     Frame {
         msec: 3904
-        hash: "5c773045e3ccab933749a3f6a74dc25a"
+        hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
     }
     Key {
         type: 6
@@ -1574,23 +1574,23 @@ VisualTest {
     }
     Frame {
         msec: 3920
-        hash: "f1ef12790a0548cfaa4176680566680d"
+        hash: "46a6db4f63965f019fc1966e2a6caf98"
     }
     Frame {
         msec: 3936
-        hash: "f1ef12790a0548cfaa4176680566680d"
+        hash: "46a6db4f63965f019fc1966e2a6caf98"
     }
     Frame {
         msec: 3952
-        hash: "f1ef12790a0548cfaa4176680566680d"
+        hash: "46a6db4f63965f019fc1966e2a6caf98"
     }
     Frame {
         msec: 3968
-        hash: "f1ef12790a0548cfaa4176680566680d"
+        hash: "46a6db4f63965f019fc1966e2a6caf98"
     }
     Frame {
         msec: 3984
-        hash: "f1ef12790a0548cfaa4176680566680d"
+        hash: "46a6db4f63965f019fc1966e2a6caf98"
     }
     Key {
         type: 7
@@ -1602,11 +1602,11 @@ VisualTest {
     }
     Frame {
         msec: 4000
-        hash: "f1ef12790a0548cfaa4176680566680d"
+        hash: "46a6db4f63965f019fc1966e2a6caf98"
     }
     Frame {
         msec: 4016
-        hash: "f1ef12790a0548cfaa4176680566680d"
+        hash: "46a6db4f63965f019fc1966e2a6caf98"
     }
     Key {
         type: 6
@@ -1618,15 +1618,15 @@ VisualTest {
     }
     Frame {
         msec: 4032
-        hash: "22575a03b4c58e4391845d495c2ca48b"
+        hash: "abc8cf4650aa07a9a26ad04a082bc269"
     }
     Frame {
         msec: 4048
-        hash: "22575a03b4c58e4391845d495c2ca48b"
+        hash: "abc8cf4650aa07a9a26ad04a082bc269"
     }
     Frame {
         msec: 4064
-        hash: "22575a03b4c58e4391845d495c2ca48b"
+        hash: "abc8cf4650aa07a9a26ad04a082bc269"
     }
     Key {
         type: 7
@@ -1638,7 +1638,7 @@ VisualTest {
     }
     Frame {
         msec: 4080
-        hash: "22575a03b4c58e4391845d495c2ca48b"
+        hash: "abc8cf4650aa07a9a26ad04a082bc269"
     }
     Key {
         type: 6
@@ -1650,19 +1650,19 @@ VisualTest {
     }
     Frame {
         msec: 4096
-        hash: "3243dc4562f073136782415365b7b42d"
+        hash: "23ee54c88cd70b6c66137ce32702cf01"
     }
     Frame {
         msec: 4112
-        hash: "3243dc4562f073136782415365b7b42d"
+        hash: "23ee54c88cd70b6c66137ce32702cf01"
     }
     Frame {
         msec: 4128
-        hash: "3243dc4562f073136782415365b7b42d"
+        hash: "23ee54c88cd70b6c66137ce32702cf01"
     }
     Frame {
         msec: 4144
-        hash: "3243dc4562f073136782415365b7b42d"
+        hash: "23ee54c88cd70b6c66137ce32702cf01"
     }
     Key {
         type: 7
@@ -1674,15 +1674,15 @@ VisualTest {
     }
     Frame {
         msec: 4160
-        hash: "3243dc4562f073136782415365b7b42d"
+        hash: "23ee54c88cd70b6c66137ce32702cf01"
     }
     Frame {
         msec: 4176
-        hash: "3243dc4562f073136782415365b7b42d"
+        hash: "23ee54c88cd70b6c66137ce32702cf01"
     }
     Frame {
         msec: 4192
-        hash: "3243dc4562f073136782415365b7b42d"
+        hash: "23ee54c88cd70b6c66137ce32702cf01"
     }
     Key {
         type: 6
@@ -1694,23 +1694,23 @@ VisualTest {
     }
     Frame {
         msec: 4208
-        hash: "44cd04d2a2bf12654cb96ec9af92b9aa"
+        hash: "dc0899573a995421b57a6689d300a421"
     }
     Frame {
         msec: 4224
-        hash: "44cd04d2a2bf12654cb96ec9af92b9aa"
+        hash: "dc0899573a995421b57a6689d300a421"
     }
     Frame {
         msec: 4240
-        hash: "44cd04d2a2bf12654cb96ec9af92b9aa"
+        hash: "dc0899573a995421b57a6689d300a421"
     }
     Frame {
         msec: 4256
-        hash: "44cd04d2a2bf12654cb96ec9af92b9aa"
+        hash: "dc0899573a995421b57a6689d300a421"
     }
     Frame {
         msec: 4272
-        hash: "44cd04d2a2bf12654cb96ec9af92b9aa"
+        hash: "dc0899573a995421b57a6689d300a421"
     }
     Key {
         type: 6
@@ -1722,7 +1722,7 @@ VisualTest {
     }
     Frame {
         msec: 4288
-        hash: "cf1eb35cb9a793769303abee0a2fcad8"
+        hash: "4d42c63a0324c1573818ebb081d8927f"
     }
     Key {
         type: 7
@@ -1734,15 +1734,15 @@ VisualTest {
     }
     Frame {
         msec: 4304
-        hash: "cf1eb35cb9a793769303abee0a2fcad8"
+        hash: "4d42c63a0324c1573818ebb081d8927f"
     }
     Frame {
         msec: 4320
-        hash: "cf1eb35cb9a793769303abee0a2fcad8"
+        hash: "4d42c63a0324c1573818ebb081d8927f"
     }
     Frame {
         msec: 4336
-        hash: "cf1eb35cb9a793769303abee0a2fcad8"
+        hash: "4d42c63a0324c1573818ebb081d8927f"
     }
     Key {
         type: 7
@@ -1754,23 +1754,23 @@ VisualTest {
     }
     Frame {
         msec: 4352
-        hash: "cf1eb35cb9a793769303abee0a2fcad8"
+        hash: "4d42c63a0324c1573818ebb081d8927f"
     }
     Frame {
         msec: 4368
-        hash: "cf1eb35cb9a793769303abee0a2fcad8"
+        hash: "4d42c63a0324c1573818ebb081d8927f"
     }
     Frame {
         msec: 4384
-        hash: "cf1eb35cb9a793769303abee0a2fcad8"
+        hash: "4d42c63a0324c1573818ebb081d8927f"
     }
     Frame {
         msec: 4400
-        hash: "cf1eb35cb9a793769303abee0a2fcad8"
+        hash: "4d42c63a0324c1573818ebb081d8927f"
     }
     Frame {
         msec: 4416
-        hash: "cf1eb35cb9a793769303abee0a2fcad8"
+        hash: "4d42c63a0324c1573818ebb081d8927f"
     }
     Key {
         type: 6
@@ -1782,15 +1782,15 @@ VisualTest {
     }
     Frame {
         msec: 4432
-        hash: "252838a495502ba5b836ffd1b20711f4"
+        hash: "9d2239e4b71da17a6f8f2ef979f4bf85"
     }
     Frame {
         msec: 4448
-        hash: "252838a495502ba5b836ffd1b20711f4"
+        hash: "9d2239e4b71da17a6f8f2ef979f4bf85"
     }
     Frame {
         msec: 4464
-        hash: "252838a495502ba5b836ffd1b20711f4"
+        hash: "9d2239e4b71da17a6f8f2ef979f4bf85"
     }
     Key {
         type: 7
@@ -1802,23 +1802,23 @@ VisualTest {
     }
     Frame {
         msec: 4480
-        hash: "252838a495502ba5b836ffd1b20711f4"
+        hash: "9d2239e4b71da17a6f8f2ef979f4bf85"
     }
     Frame {
         msec: 4496
-        hash: "252838a495502ba5b836ffd1b20711f4"
+        hash: "9d2239e4b71da17a6f8f2ef979f4bf85"
     }
     Frame {
         msec: 4512
-        hash: "252838a495502ba5b836ffd1b20711f4"
+        hash: "9d2239e4b71da17a6f8f2ef979f4bf85"
     }
     Frame {
         msec: 4528
-        hash: "252838a495502ba5b836ffd1b20711f4"
+        hash: "9d2239e4b71da17a6f8f2ef979f4bf85"
     }
     Frame {
         msec: 4544
-        hash: "252838a495502ba5b836ffd1b20711f4"
+        hash: "9d2239e4b71da17a6f8f2ef979f4bf85"
     }
     Key {
         type: 6
@@ -1830,19 +1830,19 @@ VisualTest {
     }
     Frame {
         msec: 4560
-        hash: "4010bb0f50630f067974e6ddb3177693"
+        hash: "289059d77547c9ec548b33d8bbe9fca9"
     }
     Frame {
         msec: 4576
-        hash: "4010bb0f50630f067974e6ddb3177693"
+        hash: "289059d77547c9ec548b33d8bbe9fca9"
     }
     Frame {
         msec: 4592
-        hash: "4010bb0f50630f067974e6ddb3177693"
+        hash: "289059d77547c9ec548b33d8bbe9fca9"
     }
     Frame {
         msec: 4608
-        hash: "4010bb0f50630f067974e6ddb3177693"
+        hash: "289059d77547c9ec548b33d8bbe9fca9"
     }
     Key {
         type: 7
@@ -1854,19 +1854,19 @@ VisualTest {
     }
     Frame {
         msec: 4624
-        hash: "4010bb0f50630f067974e6ddb3177693"
+        hash: "289059d77547c9ec548b33d8bbe9fca9"
     }
     Frame {
         msec: 4640
-        hash: "4010bb0f50630f067974e6ddb3177693"
+        hash: "289059d77547c9ec548b33d8bbe9fca9"
     }
     Frame {
         msec: 4656
-        hash: "4010bb0f50630f067974e6ddb3177693"
+        hash: "289059d77547c9ec548b33d8bbe9fca9"
     }
     Frame {
         msec: 4672
-        hash: "4010bb0f50630f067974e6ddb3177693"
+        hash: "289059d77547c9ec548b33d8bbe9fca9"
     }
     Key {
         type: 6
@@ -1878,19 +1878,19 @@ VisualTest {
     }
     Frame {
         msec: 4688
-        hash: "14dc6ee8cd3b4747650f2a458b42a6e3"
+        hash: "4b60bfb67c5007b4054241e581ce92ac"
     }
     Frame {
         msec: 4704
-        hash: "14dc6ee8cd3b4747650f2a458b42a6e3"
+        hash: "4b60bfb67c5007b4054241e581ce92ac"
     }
     Frame {
         msec: 4720
-        hash: "14dc6ee8cd3b4747650f2a458b42a6e3"
+        hash: "4b60bfb67c5007b4054241e581ce92ac"
     }
     Frame {
         msec: 4736
-        hash: "14dc6ee8cd3b4747650f2a458b42a6e3"
+        hash: "4b60bfb67c5007b4054241e581ce92ac"
     }
     Key {
         type: 7
@@ -1902,15 +1902,15 @@ VisualTest {
     }
     Frame {
         msec: 4752
-        hash: "14dc6ee8cd3b4747650f2a458b42a6e3"
+        hash: "4b60bfb67c5007b4054241e581ce92ac"
     }
     Frame {
         msec: 4768
-        hash: "14dc6ee8cd3b4747650f2a458b42a6e3"
+        hash: "4b60bfb67c5007b4054241e581ce92ac"
     }
     Frame {
         msec: 4784
-        hash: "14dc6ee8cd3b4747650f2a458b42a6e3"
+        hash: "4b60bfb67c5007b4054241e581ce92ac"
     }
     Key {
         type: 6
@@ -1922,11 +1922,11 @@ VisualTest {
     }
     Frame {
         msec: 4800
-        image: "wrap.4.png"
+        hash: "dbabce81e44f912d6a30ff4cc3289da8"
     }
     Frame {
         msec: 4816
-        hash: "7d4a56854715772c92706522d2dcac56"
+        image: "wrap.5.png"
     }
     Key {
         type: 7
@@ -1938,19 +1938,19 @@ VisualTest {
     }
     Frame {
         msec: 4832
-        hash: "7d4a56854715772c92706522d2dcac56"
+        hash: "dbabce81e44f912d6a30ff4cc3289da8"
     }
     Frame {
         msec: 4848
-        hash: "7d4a56854715772c92706522d2dcac56"
+        hash: "dbabce81e44f912d6a30ff4cc3289da8"
     }
     Frame {
         msec: 4864
-        hash: "7d4a56854715772c92706522d2dcac56"
+        hash: "dbabce81e44f912d6a30ff4cc3289da8"
     }
     Frame {
         msec: 4880
-        hash: "7d4a56854715772c92706522d2dcac56"
+        hash: "dbabce81e44f912d6a30ff4cc3289da8"
     }
     Key {
         type: 6
@@ -1962,19 +1962,19 @@ VisualTest {
     }
     Frame {
         msec: 4896
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 4912
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 4928
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 4944
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Key {
         type: 7
@@ -1986,482 +1986,482 @@ VisualTest {
     }
     Frame {
         msec: 4960
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 4976
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 4992
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5008
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5024
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5040
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5056
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5072
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5088
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5104
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5120
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5136
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5152
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5168
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5184
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5200
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5216
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5232
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5248
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5264
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5280
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5296
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5312
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5328
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5344
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5360
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5376
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5392
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5408
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5424
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5440
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5456
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5472
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5488
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5504
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5520
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5536
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5552
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5568
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5584
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5600
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5616
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5632
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5648
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5664
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5680
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5696
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5712
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5728
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5744
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5760
-        image: "wrap.5.png"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5776
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        image: "wrap.6.png"
     }
     Frame {
         msec: 5792
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5808
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5824
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5840
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5856
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5872
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5888
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5904
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5920
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5936
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5952
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5968
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 5984
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6000
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6016
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6032
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6048
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6064
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6080
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6096
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6112
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6128
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6144
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6160
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6176
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6192
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6208
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6224
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6240
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6256
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6272
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6288
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6304
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6320
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6336
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6352
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6368
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6384
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6400
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6416
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6432
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6448
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6464
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6480
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6496
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6512
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6528
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6544
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6560
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6576
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6592
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6608
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6624
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6640
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6656
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6672
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6688
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6704
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6720
-        image: "wrap.6.png"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6736
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        image: "wrap.7.png"
     }
     Frame {
         msec: 6752
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6768
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6784
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6800
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6816
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6832
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6848
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
     Frame {
         msec: 6864
-        hash: "0c75eb65cf70c883ee4dcd2f7ee092ce"
+        hash: "e9633d239e0a9ca008ed033565322c24"
     }
 }
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.0.png
index 1d96795..b65bc37 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.1.png
index a3a9bfa..ebaa011 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.1.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.1.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.2.png
index b50028c..57ee370 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.2.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.2.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.3.png
index 1c4876e..4b70b4a 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.3.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.3.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.4.png
index 9d110cb..18ae753 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.4.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.4.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.5.png
index 9289dc0..2b463f0 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.5.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.5.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.qml
index bd4af6a..6b8ba9b 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.qml
@@ -6,115 +6,115 @@ VisualTest {
     }
     Frame {
         msec: 16
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        image: "cursorDelegate.0.png"
     }
     Frame {
         msec: 32
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 48
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 64
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 80
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 96
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 112
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 128
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 144
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 160
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 176
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 192
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 208
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 224
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 240
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 256
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 272
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 288
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 304
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 320
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 336
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 352
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 368
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 384
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 400
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 416
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 432
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Frame {
         msec: 448
-        hash: "c0ffaa97d1be341fafafc18762f5cb67"
+        hash: "a7af287992f894f9cf76e834b922f5b3"
     }
     Key {
         type: 6
@@ -126,23 +126,23 @@ VisualTest {
     }
     Frame {
         msec: 464
-        hash: "eadbfc95de35a0d1880809b2bbaec562"
+        hash: "74b6ebfbe8246f0b2b43f88d9f6028d1"
     }
     Frame {
         msec: 480
-        hash: "eadbfc95de35a0d1880809b2bbaec562"
+        hash: "74b6ebfbe8246f0b2b43f88d9f6028d1"
     }
     Frame {
         msec: 496
-        hash: "eadbfc95de35a0d1880809b2bbaec562"
+        hash: "74b6ebfbe8246f0b2b43f88d9f6028d1"
     }
     Frame {
         msec: 512
-        hash: "eadbfc95de35a0d1880809b2bbaec562"
+        hash: "74b6ebfbe8246f0b2b43f88d9f6028d1"
     }
     Frame {
         msec: 528
-        hash: "227cbfe5fc07906060951e19ebb3ad30"
+        hash: "0f0e9ced5d2f9f20a2b5f1b5bde0be62"
     }
     Key {
         type: 7
@@ -154,19 +154,19 @@ VisualTest {
     }
     Frame {
         msec: 544
-        hash: "066256a59ad290b3725193955e3c48a6"
+        hash: "bec7fff73d6d869d2d15b3ea35fa0605"
     }
     Frame {
         msec: 560
-        hash: "6709f77cbcde82886d1c5a07f06b55a5"
+        hash: "e3afffc91ed0a78a0022421e6d1bd0d2"
     }
     Frame {
         msec: 576
-        hash: "da0028083048837b4756a2d3ff468378"
+        hash: "45f44411121d335ed7a844803313e566"
     }
     Frame {
         msec: 592
-        hash: "5f265351bed34357d603794d868dbcbc"
+        hash: "b951279da53fe76ab62ca9837ecbd7a6"
     }
     Key {
         type: 6
@@ -178,19 +178,19 @@ VisualTest {
     }
     Frame {
         msec: 608
-        hash: "3b8030849229e90b69842219e8b2d3f1"
+        hash: "b5678202f08099b09ce88cef5eeea20a"
     }
     Frame {
         msec: 624
-        hash: "0b08356d9b00313b2d892175dd93095a"
+        hash: "93f6663d083a2bd3b4079241f3fc0159"
     }
     Frame {
         msec: 640
-        hash: "4780555b277d65e3e4c0c60817b63eb4"
+        hash: "8c802943d3030214cb7af7fd1db1c813"
     }
     Frame {
         msec: 656
-        hash: "6b31c8f0569d01d97a371423a0f379c0"
+        hash: "01396c0332523ba2a8971a99c6962516"
     }
     Key {
         type: 7
@@ -202,19 +202,19 @@ VisualTest {
     }
     Frame {
         msec: 672
-        hash: "e9a5695636f7957d33f1c902a37a605d"
+        hash: "fc5dd253219d1a8aca7fcf31be0e7d69"
     }
     Frame {
         msec: 688
-        hash: "27a783cd4ef5caab382721a98f7966da"
+        hash: "545071a58d8db4f73e1cb6981e9ec62e"
     }
     Frame {
         msec: 704
-        hash: "c50598c0a5f8d501fd3ac9cddecee506"
+        hash: "13bc1aa8ce4fc3d9ba9a6c3046e14c92"
     }
     Frame {
         msec: 720
-        hash: "2a2d0e202bc3bf7991409391a2ce2934"
+        hash: "ba7d13545fb7384dcb3edd32979c9442"
     }
     Key {
         type: 6
@@ -226,19 +226,19 @@ VisualTest {
     }
     Frame {
         msec: 736
-        hash: "2d97b8503c739b210615971ad08c2714"
+        hash: "8f9e1abd8eb2d072907b910630e93c9a"
     }
     Frame {
         msec: 752
-        hash: "f27fd7f1d8c6dfb7393ab0d39ed5cd02"
+        hash: "003d0e4a01909aa51cb1967738383ede"
     }
     Frame {
         msec: 768
-        hash: "32d256543e3e1ba722860e5143af9f09"
+        hash: "223cce18cef44b3945d0a1d45554c5c1"
     }
     Frame {
         msec: 784
-        hash: "9123b724613ef4d3d8431afde6e9eb6b"
+        hash: "fcd7f862bdce75d7e6df574ff0146ca6"
     }
     Key {
         type: 7
@@ -250,23 +250,23 @@ VisualTest {
     }
     Frame {
         msec: 800
-        hash: "be5249a7effc94ec2be3d6053eba7b45"
+        hash: "21f5e3696987222106b00f0efe3bb165"
     }
     Frame {
         msec: 816
-        hash: "57f2c119c9eca3d1e4acd2f775af5207"
+        hash: "6380ce26303da8180dff8fcc88caaf1d"
     }
     Frame {
         msec: 832
-        hash: "23b79a2630448e99f27a657fd9789354"
+        hash: "52bfa995405a3d6523d97b2c36428d89"
     }
     Frame {
         msec: 848
-        hash: "c8faab137cbc014aef5e3212889d00b8"
+        hash: "7169d69c2adb50bf80c075e30eb8e965"
     }
     Frame {
         msec: 864
-        hash: "c9616f6fde5d6a8ecf346ece9952f09b"
+        hash: "f5ad55885a4fc2b47a5420e9e0d7c59c"
     }
     Key {
         type: 6
@@ -278,15 +278,15 @@ VisualTest {
     }
     Frame {
         msec: 880
-        hash: "11a861ca71d789e3d97d599608a793be"
+        hash: "831081f829df0a226c75389bc457a768"
     }
     Frame {
         msec: 896
-        hash: "5a6c57df0c33b83985aeb194f291ad6c"
+        hash: "2306a9c9cb570bc922f120f2f63e26e4"
     }
     Frame {
         msec: 912
-        hash: "2c047359db6946cb740462b0d6c695be"
+        hash: "23d6728fe34436e53a449e26962c3ad5"
     }
     Key {
         type: 7
@@ -298,23 +298,23 @@ VisualTest {
     }
     Frame {
         msec: 928
-        hash: "d0bb54caf661be021be8fe2691de24e8"
+        hash: "db2de48337701cbb36a14e32f1846683"
     }
     Frame {
         msec: 944
-        hash: "80f0a60239f4d81b18b9cb3e80faf346"
+        hash: "04bb83a694d293fd4ba956fc79db79e7"
     }
     Frame {
         msec: 960
-        image: "cursorDelegate.0.png"
+        hash: "7a1a71b2d7e42934163990d5c011c464"
     }
     Frame {
         msec: 976
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        image: "cursorDelegate.1.png"
     }
     Frame {
         msec: 992
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Key {
         type: 6
@@ -326,15 +326,15 @@ VisualTest {
     }
     Frame {
         msec: 1008
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 1024
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 1040
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Key {
         type: 7
@@ -346,23 +346,23 @@ VisualTest {
     }
     Frame {
         msec: 1056
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 1072
-        hash: "5f6cc0c97e4748aeeaa4a00c8a8c8928"
+        hash: "20f1db4245d1689e980371d7b1bcb903"
     }
     Frame {
         msec: 1088
-        hash: "b1d71160d9a8a8edeb4cf7e00df36cfc"
+        hash: "6a3629223845d352ba02e3ad8569f698"
     }
     Frame {
         msec: 1104
-        hash: "5bfd4269145cc0962e0fa9c294e8f5aa"
+        hash: "ee3dd4535fcf24249c41ebebb5f4fca6"
     }
     Frame {
         msec: 1120
-        hash: "4e22c95802d83f0099017c6be9d93214"
+        hash: "7bf5df6a807da0c8d316420ced34e267"
     }
     Key {
         type: 6
@@ -374,23 +374,23 @@ VisualTest {
     }
     Frame {
         msec: 1136
-        hash: "0f31d8f4867af7c2f4fb8e86aa077afd"
+        hash: "4f5ce98428d5fba11a6322f88cab14c3"
     }
     Frame {
         msec: 1152
-        hash: "21a552133320008a4d4f77752a3cfb55"
+        hash: "14406e8d0e120a0f30864fa8793f2e8d"
     }
     Frame {
         msec: 1168
-        hash: "3a30a4a785de21da0ff939e303202a81"
+        hash: "6e891d584ce4f636708cee1111193878"
     }
     Frame {
         msec: 1184
-        hash: "b0e3ed2468538aacec354cb96d90c362"
+        hash: "cd6bbc72108cfffd043a31d0d3655851"
     }
     Frame {
         msec: 1200
-        hash: "56bf6e3fe47e52046b443481fc17a3ec"
+        hash: "d4069e606ab2b10c90e6f567be462c10"
     }
     Key {
         type: 7
@@ -402,27 +402,27 @@ VisualTest {
     }
     Frame {
         msec: 1216
-        hash: "ce80807cde9b902ebf33281fce50d9fb"
+        hash: "de8e00d6116b1aa900478a41c7ac78f1"
     }
     Frame {
         msec: 1232
-        hash: "ed67b18b5f7b90d3bcd9f662e70dc7b8"
+        hash: "5a0c4e31eb9ecb2ffc9380d474861846"
     }
     Frame {
         msec: 1248
-        hash: "930950ce5c6b12da47eea1b92d5176eb"
+        hash: "bbacdb359c6206b50a859169b106ec92"
     }
     Frame {
         msec: 1264
-        hash: "5a2eeca0f1533d323cc4d7ffbb7ad6aa"
+        hash: "c4f4ed5a4842f1bbdda67a27d74fd5f4"
     }
     Frame {
         msec: 1280
-        hash: "3f7f3ef2d4c1353dfe7027930505f4fd"
+        hash: "4deb6d0a83b14abef80f2bfa0491cbd0"
     }
     Frame {
         msec: 1296
-        hash: "1a3a781ac5a1e90a4415944e0c54ea4e"
+        hash: "9caca7068ce5b289d70c39667e87a57f"
     }
     Key {
         type: 6
@@ -434,7 +434,7 @@ VisualTest {
     }
     Frame {
         msec: 1312
-        hash: "d11dae0dd461fc82a73bf319905320d4"
+        hash: "e3ca7a8a860efc3811b8befe0a97d7f1"
     }
     Key {
         type: 6
@@ -446,19 +446,19 @@ VisualTest {
     }
     Frame {
         msec: 1328
-        hash: "00957049ea51866138cfc33451f12e17"
+        hash: "ddb3dcb40f412c087d0ae21b5a8e47aa"
     }
     Frame {
         msec: 1344
-        hash: "386847af9b173db7ef1554d2c85c748e"
+        hash: "325d8356c3e14467c54d03d096a3c1a5"
     }
     Frame {
         msec: 1360
-        hash: "4b715060d29d6228a40217bc769fc140"
+        hash: "83f4c541b94180863e538e6c0a0e1ae0"
     }
     Frame {
         msec: 1376
-        hash: "e58a9a3623afa08819351c22435ba03f"
+        hash: "16623dc34067800f3c7d6aabe1076927"
     }
     Key {
         type: 6
@@ -470,31 +470,31 @@ VisualTest {
     }
     Frame {
         msec: 1392
-        hash: "6378e3faf5578818fc282de2a077da59"
+        hash: "e7319b080b621c5d176d6913cd9a8f7e"
     }
     Frame {
         msec: 1408
-        hash: "07efb3687d29e65680e1cc831762348f"
+        hash: "353a200418b2cc0fbe925329224e658a"
     }
     Frame {
         msec: 1424
-        hash: "5292e7c95b3c5b11e4088b5010984257"
+        hash: "98fd3f1fc108de1d78f07587f9e94ec4"
     }
     Frame {
         msec: 1440
-        hash: "ffe95603f5fe9d63abb3b77c399c3b11"
+        hash: "f75fbda5a1403f7b1dd8e9d05e30ebeb"
     }
     Frame {
         msec: 1456
-        hash: "ad7cb73893c27b69704c5b821738a3c1"
+        hash: "c2742ff9a04bbae6c6de13f08d514913"
     }
     Frame {
         msec: 1472
-        hash: "e25971a61888ded93b651891ec9661b0"
+        hash: "a73b65c18ba10e6b6d310fc325d7ccb2"
     }
     Frame {
         msec: 1488
-        hash: "80f90b3623bf34544438dd00abee7037"
+        hash: "bbe72b26a6f3f518a3c8b6cd9e8dbfd1"
     }
     Key {
         type: 7
@@ -506,51 +506,51 @@ VisualTest {
     }
     Frame {
         msec: 1504
-        hash: "797dd70572e532d4acb374230b2c8efe"
+        hash: "679205439a359f3ffb05f631a1979596"
     }
     Frame {
         msec: 1520
-        hash: "0673db1283d874a5711520f272572cf8"
+        hash: "7ada5f6a58a6a7f9a3b4199a412fccfd"
     }
     Frame {
         msec: 1536
-        hash: "fbc8434912f08a93b5f884258bc754b7"
+        hash: "66749c0e5b97cec02f4908a709201604"
     }
     Frame {
         msec: 1552
-        hash: "e41ebaf8f2114a6e8f38f731ea164e8a"
+        hash: "373bfac053f5cfeceabe2979f3e6f444"
     }
     Frame {
         msec: 1568
-        hash: "d14bdb5bf1b4756166ecf6f3255bf3cc"
+        hash: "c7ab2bcdcd1b7fd25ac775c4dd382635"
     }
     Frame {
         msec: 1584
-        hash: "5fb04569aa0e530b898a3c11725b947e"
+        hash: "3116b1a0cf1724bdae2cb71b9e15c73e"
     }
     Frame {
         msec: 1600
-        hash: "03d24457fae160864fec985765f6d8d1"
+        hash: "9bdc4513c30bf2d1eca61317cc22ebaa"
     }
     Frame {
         msec: 1616
-        hash: "56dad740bb9032d113a0dacbe986c9c0"
+        hash: "bbecf871ff569ac1020272c1ccc9aa14"
     }
     Frame {
         msec: 1632
-        hash: "70d9acda83aa7db59780cf56f03e38ec"
+        hash: "beef5a84dcc7794cf0aabfc8b7f811bc"
     }
     Frame {
         msec: 1648
-        hash: "a272e39bc1af0f4d1bab9c3f64e746e2"
+        hash: "2db7161f3591ef0b3f1e3cb2aa357c8b"
     }
     Frame {
         msec: 1664
-        hash: "cf0379de604b9bb33b4456cb89e09afd"
+        hash: "b8b5ffef5e52a8ae94ddb5ec3328fa0e"
     }
     Frame {
         msec: 1680
-        hash: "332e7a10d75c0d21a24fc8be34269629"
+        hash: "b65c4657ffb97a59455f2c3e23e3eb51"
     }
     Key {
         type: 6
@@ -562,31 +562,31 @@ VisualTest {
     }
     Frame {
         msec: 1696
-        hash: "c07eb71d90e74393205338bc946c1e43"
+        hash: "9702981b8eb5f035f2f4da6708ad1a92"
     }
     Frame {
         msec: 1712
-        hash: "984477de7c103ff3aebc2634785dce09"
+        hash: "a6f46dd869daf69c5a5a3c887ae35a05"
     }
     Frame {
         msec: 1728
-        hash: "958f79dd7c57387042746df2ca01779e"
+        hash: "902c0f174b16b1b0d419c13220937e06"
     }
     Frame {
         msec: 1744
-        hash: "53bb3f0718d6333ca40dc279b6300b85"
+        hash: "97a5ea7449a1f313d0d5e818edc29bf6"
     }
     Frame {
         msec: 1760
-        hash: "c16877cb99997cc47f1fff5af1d22bd7"
+        hash: "d5b69638452ea2260861c17991fc8bef"
     }
     Frame {
         msec: 1776
-        hash: "dea3e1eb6c72f0d37398e3e301a23c19"
+        hash: "5fa21c53d65b078d1b30830d99a0fbaf"
     }
     Frame {
         msec: 1792
-        hash: "6bb7918f0794e6a7cbdb8847cdcf6e35"
+        hash: "668de1d2fa5780f5088637d919db0a0d"
     }
     Key {
         type: 7
@@ -598,19 +598,19 @@ VisualTest {
     }
     Frame {
         msec: 1808
-        hash: "6858cd874abb1ed2fec34862f76044fa"
+        hash: "1989592754c28456aa917562fa3620bd"
     }
     Frame {
         msec: 1824
-        hash: "47b546ea0d5b1d4573991d4738c37f4d"
+        hash: "89cd0ef7c366bbcee8e4404e9a2285a7"
     }
     Frame {
         msec: 1840
-        hash: "6c9e636dee2bb5f2a72a2c08ab9fb970"
+        hash: "d062d4b132ee3086a00220d47e8907fc"
     }
     Frame {
         msec: 1856
-        hash: "42c2b2a7f41c88ae7bb19403e2460a17"
+        hash: "198bd9fc763c70fb84bdae122f0bdd8b"
     }
     Key {
         type: 7
@@ -622,7 +622,7 @@ VisualTest {
     }
     Frame {
         msec: 1872
-        hash: "80b7986af693b89dc4d4f9533dae85cb"
+        hash: "304f7f6cef5b09c09db1284b8095e9a2"
     }
     Key {
         type: 6
@@ -634,43 +634,43 @@ VisualTest {
     }
     Frame {
         msec: 1888
-        hash: "631bea21dde9b7647f5843bc3513f3ba"
+        hash: "565003fef7b9810ffe95c3bbeeda5bbc"
     }
     Frame {
         msec: 1904
-        hash: "cc40335abbea0d589180096f7d8f5426"
+        hash: "2fa85a19ba2bb7d04264a246c4982eb4"
     }
     Frame {
         msec: 1920
-        image: "cursorDelegate.1.png"
+        hash: "7be44eca358924dc11c5123e406f1c99"
     }
     Frame {
         msec: 1936
-        hash: "1c03b5384a889fe233eb1c6d14a55f36"
+        image: "cursorDelegate.2.png"
     }
     Frame {
         msec: 1952
-        hash: "7762cc4e6cf681311f5296de698c950b"
+        hash: "a08502b3fbb425c7b1cad93e4bc5701e"
     }
     Frame {
         msec: 1968
-        hash: "678eed1d1fec30b02156d690777397c1"
+        hash: "fba3a88b7fe6f7583daf07db78f3598c"
     }
     Frame {
         msec: 1984
-        hash: "96f51fee5c7baf78a3465420d63a9e5f"
+        hash: "509d75aa56bcdb6718c18b56e138ef3c"
     }
     Frame {
         msec: 2000
-        hash: "96f51fee5c7baf78a3465420d63a9e5f"
+        hash: "509d75aa56bcdb6718c18b56e138ef3c"
     }
     Frame {
         msec: 2016
-        hash: "96f51fee5c7baf78a3465420d63a9e5f"
+        hash: "509d75aa56bcdb6718c18b56e138ef3c"
     }
     Frame {
         msec: 2032
-        hash: "96f51fee5c7baf78a3465420d63a9e5f"
+        hash: "509d75aa56bcdb6718c18b56e138ef3c"
     }
     Key {
         type: 7
@@ -682,7 +682,7 @@ VisualTest {
     }
     Frame {
         msec: 2048
-        hash: "96f51fee5c7baf78a3465420d63a9e5f"
+        hash: "509d75aa56bcdb6718c18b56e138ef3c"
     }
     Key {
         type: 7
@@ -694,27 +694,27 @@ VisualTest {
     }
     Frame {
         msec: 2064
-        hash: "678eed1d1fec30b02156d690777397c1"
+        hash: "fba3a88b7fe6f7583daf07db78f3598c"
     }
     Frame {
         msec: 2080
-        hash: "7762cc4e6cf681311f5296de698c950b"
+        hash: "a08502b3fbb425c7b1cad93e4bc5701e"
     }
     Frame {
         msec: 2096
-        hash: "1c03b5384a889fe233eb1c6d14a55f36"
+        hash: "86ad5a9e06d19ea79e0fc9f7f36cdb0f"
     }
     Frame {
         msec: 2112
-        hash: "2cd264339edc0338fc610e0d766425cc"
+        hash: "7be44eca358924dc11c5123e406f1c99"
     }
     Frame {
         msec: 2128
-        hash: "cc40335abbea0d589180096f7d8f5426"
+        hash: "2fa85a19ba2bb7d04264a246c4982eb4"
     }
     Frame {
         msec: 2144
-        hash: "631bea21dde9b7647f5843bc3513f3ba"
+        hash: "565003fef7b9810ffe95c3bbeeda5bbc"
     }
     Key {
         type: 6
@@ -726,27 +726,27 @@ VisualTest {
     }
     Frame {
         msec: 2160
-        hash: "c5199c908df1f550d7c4f133eb926134"
+        hash: "39c81c6efdbc32b6e0378810404bef2c"
     }
     Frame {
         msec: 2176
-        hash: "483eca22c50750e7591785ed60813d1f"
+        hash: "756f36cf41c2bae3a8a8716701e55e37"
     }
     Frame {
         msec: 2192
-        hash: "4091de379d8f6ccc7f19ea39f6c7993a"
+        hash: "fb09d44a5a5b5b795d562512e9547301"
     }
     Frame {
         msec: 2208
-        hash: "cd58c0d4f7248315a787542b0edcb4fb"
+        hash: "183538d04cf009f100a1e49a3229c143"
     }
     Frame {
         msec: 2224
-        hash: "458895f9ede4d56e0b851c6ed124405d"
+        hash: "2ec91bfdb0f106a526f6bde3eb0ed7ce"
     }
     Frame {
         msec: 2240
-        hash: "29a28a97fc78a1b01252b852fb0446e2"
+        hash: "f34175acc261ad79bc9d2083af04ae10"
     }
     Key {
         type: 7
@@ -758,31 +758,31 @@ VisualTest {
     }
     Frame {
         msec: 2256
-        hash: "4fd9f22ad06e02b68319c298c2286e36"
+        hash: "39a59b2e9e0bee87d3ba50e1408bea1c"
     }
     Frame {
         msec: 2272
-        hash: "a588e9dbeabd7519cd0cf2d26a123529"
+        hash: "db61ba19d56b69d148aeb182de596713"
     }
     Frame {
         msec: 2288
-        hash: "bb74f706477e277284fad50752f078b5"
+        hash: "e0b07106a5adc1603788444d48b9c3db"
     }
     Frame {
         msec: 2304
-        hash: "38f16a7deeaea6828edd15b00024fc19"
+        hash: "1dd5625fb6a0ddbaa3919a1702695e9c"
     }
     Frame {
         msec: 2320
-        hash: "30c4aa33a6672f4df24186ad1e28bcf9"
+        hash: "d7d39e8f717bab17aaf8a12e4f9e0dfc"
     }
     Frame {
         msec: 2336
-        hash: "7f2ac0854ddbcca94a2ad160ead5d4d3"
+        hash: "d7a226b40a049dee56755af9206246b4"
     }
     Frame {
         msec: 2352
-        hash: "e1c083d0235ff5a2e002ce78f43009b0"
+        hash: "37d2d2830f6ae6bf0c8fb29c5d4f521a"
     }
     Key {
         type: 6
@@ -802,23 +802,23 @@ VisualTest {
     }
     Frame {
         msec: 2368
-        hash: "eaee6483a2a4a0b09a8e40bb1785a498"
+        hash: "21008b3a5179e25f9b132a4c05b8b8c4"
     }
     Frame {
         msec: 2384
-        hash: "26530bded6311640c4d3f6d1485fa7d3"
+        hash: "a6f05fb5206a456bea790ba7ba31868c"
     }
     Frame {
         msec: 2400
-        hash: "e54102edbf6cc0c9a32b09858f760ee5"
+        hash: "754e2fca1b3ed5ee9875aafb1a0c62d3"
     }
     Frame {
         msec: 2416
-        hash: "27434828de3ba8f6a3b83f042b70eb8b"
+        hash: "75d1ae9c60573f9e27cd7c2d1706cbfc"
     }
     Frame {
         msec: 2432
-        hash: "fdf68e988b988d068ea78a5a09ef349e"
+        hash: "c78608cde907bc09760d858795b43bbf"
     }
     Key {
         type: 6
@@ -830,23 +830,23 @@ VisualTest {
     }
     Frame {
         msec: 2448
-        hash: "0e1e9a2cf891cf65f30ead539becf408"
+        hash: "348438b012690f63956e6a865c4173c5"
     }
     Frame {
         msec: 2464
-        hash: "46602c03632f6a47c9d523e1ea61baaf"
+        hash: "b0c970656fdb5af48efc4bf0e1879f36"
     }
     Frame {
         msec: 2480
-        hash: "5c758ee2aa3f92b6506533f6d615bc20"
+        hash: "7291a68c8e790f58e2440dfbe896c36d"
     }
     Frame {
         msec: 2496
-        hash: "25edbdaae72e03426c9dfa75c08c33e6"
+        hash: "9bcbf9f7b35987c3acbd80031a688279"
     }
     Frame {
         msec: 2512
-        hash: "a4bd11f15594932b996a069f3098c596"
+        hash: "48a00bd3f844e863338898bd28d845a4"
     }
     Key {
         type: 7
@@ -858,23 +858,23 @@ VisualTest {
     }
     Frame {
         msec: 2528
-        hash: "e4090b920ce2456149155f61fb586a6f"
+        hash: "dc5f63ee9e8d50f744f7b375a52e32c3"
     }
     Frame {
         msec: 2544
-        hash: "ce71f4dc76f90fa300d715ed77e8a5a8"
+        hash: "f52d2f475a335a75fad0a0f84e812809"
     }
     Frame {
         msec: 2560
-        hash: "59414694d42a3942c4832fd7a3e93145"
+        hash: "bc54cefc8f0b84fc2432b0fb01203b9c"
     }
     Frame {
         msec: 2576
-        hash: "1213fc9d9c1d58ceefc213a59f970679"
+        hash: "e6f14d1181a0db90d2c2891fd6e82883"
     }
     Frame {
         msec: 2592
-        hash: "bbfa8471ab3fa5fc146946a6c8e0ce86"
+        hash: "1edc2fff7b3d76bbe2615810a5d15d41"
     }
     Key {
         type: 6
@@ -886,15 +886,15 @@ VisualTest {
     }
     Frame {
         msec: 2608
-        hash: "22a49c3b5234b4b7a2b935d58027f834"
+        hash: "5bc156937a29989a3a39761b58958fbd"
     }
     Frame {
         msec: 2624
-        hash: "7b81c14d5350fb55775c1cb0f3945c46"
+        hash: "071d45235a669e870356efc60ba8016c"
     }
     Frame {
         msec: 2640
-        hash: "8ebf266de0df228e47cc6e5a8758a6ea"
+        hash: "1d588fb1f8321e4b437f924077fa7d60"
     }
     Key {
         type: 7
@@ -906,23 +906,23 @@ VisualTest {
     }
     Frame {
         msec: 2656
-        hash: "6344eb333dc28672f863bcb7ca5d6cfe"
+        hash: "ca9aff6590dda45a66cdca601dccaf59"
     }
     Frame {
         msec: 2672
-        hash: "8efc9b4a6c27b8918cba629a5a1c0f24"
+        hash: "2553146fff0d367cc6fa2d11f0a5c83a"
     }
     Frame {
         msec: 2688
-        hash: "b586c24ce0c04391a9095c0ac4b7a05a"
+        hash: "05bd919cd91ff449027b188d9a24b61f"
     }
     Frame {
         msec: 2704
-        hash: "191413fe51a6887ae92c135252fdeeae"
+        hash: "35d6ce9ecef79d006d6416c3b0d75e79"
     }
     Frame {
         msec: 2720
-        hash: "fc0b37abf12827af41e7037eab8ba5c8"
+        hash: "1459a2410a971e344d4dacccff1eb7da"
     }
     Key {
         type: 6
@@ -934,19 +934,19 @@ VisualTest {
     }
     Frame {
         msec: 2736
-        hash: "5efe28d02b93e094192d7fd6fe753acd"
+        hash: "bd04cc87db0138b57bf0feeafa7630f5"
     }
     Frame {
         msec: 2752
-        hash: "dadc1f7b14fbf9f8a174821c4197da46"
+        hash: "81521187d5d88b62f4f7578ea4ee5f68"
     }
     Frame {
         msec: 2768
-        hash: "124deac57a3eeaef4cb3c0c802bacc05"
+        hash: "f2f8d1e8232787da1e36d7e8a27b6d93"
     }
     Frame {
         msec: 2784
-        hash: "e022a6d66a7b37d72885a7a7f6919433"
+        hash: "a5dbd1f572419ca4a4b91629e522867f"
     }
     Key {
         type: 7
@@ -958,75 +958,75 @@ VisualTest {
     }
     Frame {
         msec: 2800
-        hash: "5faa6543469753948b1636351d044329"
+        hash: "23ab256301d7190f56c4f0af7f57bcc2"
     }
     Frame {
         msec: 2816
-        hash: "a7dcf5a0b9bb00105eed173b498cb95c"
+        hash: "3a106a01b1cf6b53b5f8721415538f15"
     }
     Frame {
         msec: 2832
-        hash: "29ac83d169af2c74ffd134d771c88718"
+        hash: "881f4de48cf79636f5cb292f4cacf842"
     }
     Frame {
         msec: 2848
-        hash: "0a04648fdc90ec86fb55ad3a165573c4"
+        hash: "4abe8abf4f29a31220c03af143ef9978"
     }
     Frame {
         msec: 2864
-        hash: "d699c713ba939612f1e552e48db19b18"
+        hash: "50db0e06ceb12795d3e11b2c4a04df9c"
     }
     Frame {
         msec: 2880
-        image: "cursorDelegate.2.png"
+        hash: "39f759d5b58ffdaa79d438f932a72582"
     }
     Frame {
         msec: 2896
-        hash: "adf564652cfae394869755ff2fe5b534"
+        image: "cursorDelegate.3.png"
     }
     Frame {
         msec: 2912
-        hash: "d1453f663217ee45a8462b7d077d7f6a"
+        hash: "0cf83e3a000b8ae6a21ef64e5470430f"
     }
     Frame {
         msec: 2928
-        hash: "9f1461d63ccc49f83e58245ba75685e1"
+        hash: "07116cd7cf46fc692542ac57c3e30aea"
     }
     Frame {
         msec: 2944
-        hash: "8cece1543e7e9190eefaa92c2024cbd1"
+        hash: "bd92a36fad90de909b5a29a6fead2160"
     }
     Frame {
         msec: 2960
-        hash: "555abf8bc3fdb1eef85b1e4bd54932a3"
+        hash: "95c4d0cc52903dc70c9118e26cd58b7b"
     }
     Frame {
         msec: 2976
-        hash: "7fc65284b99fc548de0985d94a145fa7"
+        hash: "cb6ca047657a99dbbb037c1c45b40866"
     }
     Frame {
         msec: 2992
-        hash: "7fc65284b99fc548de0985d94a145fa7"
+        hash: "cb6ca047657a99dbbb037c1c45b40866"
     }
     Frame {
         msec: 3008
-        hash: "7fc65284b99fc548de0985d94a145fa7"
+        hash: "cb6ca047657a99dbbb037c1c45b40866"
     }
     Frame {
         msec: 3024
-        hash: "7fc65284b99fc548de0985d94a145fa7"
+        hash: "cb6ca047657a99dbbb037c1c45b40866"
     }
     Frame {
         msec: 3040
-        hash: "7fc65284b99fc548de0985d94a145fa7"
+        hash: "cb6ca047657a99dbbb037c1c45b40866"
     }
     Frame {
         msec: 3056
-        hash: "7fc65284b99fc548de0985d94a145fa7"
+        hash: "cb6ca047657a99dbbb037c1c45b40866"
     }
     Frame {
         msec: 3072
-        hash: "555abf8bc3fdb1eef85b1e4bd54932a3"
+        hash: "95c4d0cc52903dc70c9118e26cd58b7b"
     }
     Key {
         type: 6
@@ -1038,23 +1038,23 @@ VisualTest {
     }
     Frame {
         msec: 3088
-        hash: "996da2eff9302908a55308dbcc8fb3c2"
+        hash: "f9e0bd08b722c16493a8886a19920dda"
     }
     Frame {
         msec: 3104
-        hash: "6ccc70f6120acb53152b71bcf95514ca"
+        hash: "0636b7c5cc215882c60b50f62133c715"
     }
     Frame {
         msec: 3120
-        hash: "51a1b8e79d209643d55d4cecc6a70ed0"
+        hash: "150b5a2f2e916b7023764c481c768492"
     }
     Frame {
         msec: 3136
-        hash: "944dc7026c6487838ede9ef94003ec90"
+        hash: "14bc879f562ace9d2d1a3f3980a72e1f"
     }
     Frame {
         msec: 3152
-        hash: "4abbd51b620ac4ea91af95bc2d0881d7"
+        hash: "2bdc09121f13e95e15e331ac90fbbe5e"
     }
     Key {
         type: 7
@@ -1066,27 +1066,27 @@ VisualTest {
     }
     Frame {
         msec: 3168
-        hash: "ba721988a1708b8c0762d706820c48fc"
+        hash: "b701aa41aff9df45cc4b35d23789ad46"
     }
     Frame {
         msec: 3184
-        hash: "5dba56a5bb5f8a6539a0066af35c73b8"
+        hash: "ad77330d51b1251576905a45fdbdf576"
     }
     Frame {
         msec: 3200
-        hash: "bc3efeeebe7075cd09a6e57eef43d610"
+        hash: "4ab6780997a5a598d2da7fbbc19877b7"
     }
     Frame {
         msec: 3216
-        hash: "0bd9f7de32b01d8144280bf252d9a18f"
+        hash: "43b324d0e4882147d316a5dc16eff4a5"
     }
     Frame {
         msec: 3232
-        hash: "29db710e47b13f26e2bf92568d52bf52"
+        hash: "4379bfd0da6fedac77e2111d9fdc5ecb"
     }
     Frame {
         msec: 3248
-        hash: "a27c65c0a49deb18b0766bba41a32e54"
+        hash: "ca35937be71e1f982cedd33bdd09d127"
     }
     Key {
         type: 6
@@ -1098,31 +1098,31 @@ VisualTest {
     }
     Frame {
         msec: 3264
-        hash: "484ee552e1a9c5eafcfe1ac583fcdffd"
+        hash: "f6bac38774fa8a09084c045e34fd1732"
     }
     Frame {
         msec: 3280
-        hash: "40b336a0e337b66d813089a82a88c712"
+        hash: "6d8b58612860febb13800958cab3aecd"
     }
     Frame {
         msec: 3296
-        hash: "b7a8d4b8bb2b83e4c886aa51c1a73895"
+        hash: "7f921d2293cf547de3b5573dbf98d5bb"
     }
     Frame {
         msec: 3312
-        hash: "43b3bf8425e7a6b7115d8e6a0bcfd677"
+        hash: "18771337bbe826b5a34bd9705c79f56a"
     }
     Frame {
         msec: 3328
-        hash: "e2ce168241b043db74867fe7ed6de956"
+        hash: "3dd49406c4b39980908d8869dc3c060a"
     }
     Frame {
         msec: 3344
-        hash: "0c713bbd7bb694d87f0fe14f87098b9b"
+        hash: "8cae649565b5655d606f216334a0b5b5"
     }
     Frame {
         msec: 3360
-        hash: "316f6bd365ca4b4f2e6fbf34a047e307"
+        hash: "27c59b474d706ce79b5d075713c1ea88"
     }
     Key {
         type: 7
@@ -1134,39 +1134,39 @@ VisualTest {
     }
     Frame {
         msec: 3376
-        hash: "421fb8881fe7b300dcec0f44ff1743e3"
+        hash: "6d70d654998bbc0a2431ca7c4a58cd3c"
     }
     Frame {
         msec: 3392
-        hash: "e8376079434393467b47a56ff00efb2b"
+        hash: "bf55fffd1727c0d076e05e274dcebb0d"
     }
     Frame {
         msec: 3408
-        hash: "63259de84a6e07d42c9df94ec2a25920"
+        hash: "d5b0696cbe2969723bb2fe740deeb81f"
     }
     Frame {
         msec: 3424
-        hash: "f9194d82b81f5ac58862c382caf5cf59"
+        hash: "27968050a9cf7d57d016274709086be1"
     }
     Frame {
         msec: 3440
-        hash: "e185f2594f038532a37b351384dc97ea"
+        hash: "3bc037fd17d0d394b82ba19914f31b90"
     }
     Frame {
         msec: 3456
-        hash: "91edc3ca1e6c532bd92006a761073da2"
+        hash: "117d7ad2d2ae47f3a0c2a68928534b76"
     }
     Frame {
         msec: 3472
-        hash: "b47390495539756048ccc71047ebef7b"
+        hash: "a538ce971f34a497c05258da2567a208"
     }
     Frame {
         msec: 3488
-        hash: "7c83d3bdb9abf8ab2cfe7f9464673a49"
+        hash: "91e2e5cc6efcffc9e58646a008a57c9d"
     }
     Frame {
         msec: 3504
-        hash: "b686f4013f45885ab794aba9ff491286"
+        hash: "13db17cc3c6513014a95210a443e5842"
     }
     Key {
         type: 7
@@ -1178,11 +1178,11 @@ VisualTest {
     }
     Frame {
         msec: 3520
-        hash: "0c55d6ea330b7365825864d4bdacafcb"
+        hash: "03325597bd4e7d7b6f7c84c848018872"
     }
     Frame {
         msec: 3536
-        hash: "2bb72f191201572308e461021872fb4c"
+        hash: "e96dc6d611d23553b363a765195604f9"
     }
     Key {
         type: 7
@@ -1194,358 +1194,358 @@ VisualTest {
     }
     Frame {
         msec: 3552
-        hash: "81b04a84982698ee80d13d392742edd3"
+        hash: "942476dd6fb7a4f3d10c398503cb7b90"
     }
     Frame {
         msec: 3568
-        hash: "63f582dc2a9f707c1ec99f4285d13a84"
+        hash: "cbe34fd18b6355ae9be469a594b44192"
     }
     Frame {
         msec: 3584
-        hash: "f91cb29101f80f5dcb1e9e8c82e823b7"
+        hash: "3dce89f398d2c856bcd32da34867ebd8"
     }
     Frame {
         msec: 3600
-        hash: "fdf68e988b988d068ea78a5a09ef349e"
+        hash: "c78608cde907bc09760d858795b43bbf"
     }
     Frame {
         msec: 3616
-        hash: "27434828de3ba8f6a3b83f042b70eb8b"
+        hash: "75d1ae9c60573f9e27cd7c2d1706cbfc"
     }
     Frame {
         msec: 3632
-        hash: "e54102edbf6cc0c9a32b09858f760ee5"
+        hash: "754e2fca1b3ed5ee9875aafb1a0c62d3"
     }
     Frame {
         msec: 3648
-        hash: "26530bded6311640c4d3f6d1485fa7d3"
+        hash: "a6f05fb5206a456bea790ba7ba31868c"
     }
     Frame {
         msec: 3664
-        hash: "eaee6483a2a4a0b09a8e40bb1785a498"
+        hash: "21008b3a5179e25f9b132a4c05b8b8c4"
     }
     Frame {
         msec: 3680
-        hash: "e1c083d0235ff5a2e002ce78f43009b0"
+        hash: "37d2d2830f6ae6bf0c8fb29c5d4f521a"
     }
     Frame {
         msec: 3696
-        hash: "7f2ac0854ddbcca94a2ad160ead5d4d3"
+        hash: "d7a226b40a049dee56755af9206246b4"
     }
     Frame {
         msec: 3712
-        hash: "30c4aa33a6672f4df24186ad1e28bcf9"
+        hash: "d7d39e8f717bab17aaf8a12e4f9e0dfc"
     }
     Frame {
         msec: 3728
-        hash: "38f16a7deeaea6828edd15b00024fc19"
+        hash: "1dd5625fb6a0ddbaa3919a1702695e9c"
     }
     Frame {
         msec: 3744
-        hash: "bb74f706477e277284fad50752f078b5"
+        hash: "e0b07106a5adc1603788444d48b9c3db"
     }
     Frame {
         msec: 3760
-        hash: "a588e9dbeabd7519cd0cf2d26a123529"
+        hash: "db61ba19d56b69d148aeb182de596713"
     }
     Frame {
         msec: 3776
-        hash: "4fd9f22ad06e02b68319c298c2286e36"
+        hash: "39a59b2e9e0bee87d3ba50e1408bea1c"
     }
     Frame {
         msec: 3792
-        hash: "29a28a97fc78a1b01252b852fb0446e2"
+        hash: "f34175acc261ad79bc9d2083af04ae10"
     }
     Frame {
         msec: 3808
-        hash: "458895f9ede4d56e0b851c6ed124405d"
+        hash: "2ec91bfdb0f106a526f6bde3eb0ed7ce"
     }
     Frame {
         msec: 3824
-        hash: "cd58c0d4f7248315a787542b0edcb4fb"
+        hash: "183538d04cf009f100a1e49a3229c143"
     }
     Frame {
         msec: 3840
-        image: "cursorDelegate.3.png"
+        hash: "fb09d44a5a5b5b795d562512e9547301"
     }
     Frame {
         msec: 3856
-        hash: "483eca22c50750e7591785ed60813d1f"
+        image: "cursorDelegate.4.png"
     }
     Frame {
         msec: 3872
-        hash: "c5199c908df1f550d7c4f133eb926134"
+        hash: "39c81c6efdbc32b6e0378810404bef2c"
     }
     Frame {
         msec: 3888
-        hash: "efaa5e4483ed9cfec792e8f270b5079e"
+        hash: "23d9a9a6a9d032c7e447407193ca51ef"
     }
     Frame {
         msec: 3904
-        hash: "7ffcff87e27dcb0be0047eb6fbcc9549"
+        hash: "bdd00cfe933985fe77626114902ce823"
     }
     Frame {
         msec: 3920
-        hash: "04339417259ddee10134e1479729ae1b"
+        hash: "1d25c2753ccabdaaf47a669c28d9e2cb"
     }
     Frame {
         msec: 3936
-        hash: "0f1e6a0d9db7b6b8b874333682866ffa"
+        hash: "20fde9bbe26ebede31fc8c21dec3fcc5"
     }
     Frame {
         msec: 3952
-        hash: "66500c2cc3d69b9fb48dc46e384aca6d"
+        hash: "c9147c159aebb7aa51d4bac28f96cb57"
     }
     Frame {
         msec: 3968
-        hash: "70d6b73499c36138bee63e07afb0b186"
+        hash: "68d331f508b43e756d6e30ba9b60f9aa"
     }
     Frame {
         msec: 3984
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 4000
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 4016
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 4032
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 4048
-        hash: "c526315dd5eec117266c68a7b6b64a3f"
+        hash: "af99069cdddfa9d099fbe25ba586e138"
     }
     Frame {
         msec: 4064
-        hash: "70d6b73499c36138bee63e07afb0b186"
+        hash: "68d331f508b43e756d6e30ba9b60f9aa"
     }
     Frame {
         msec: 4080
-        hash: "66500c2cc3d69b9fb48dc46e384aca6d"
+        hash: "c9147c159aebb7aa51d4bac28f96cb57"
     }
     Frame {
         msec: 4096
-        hash: "0f1e6a0d9db7b6b8b874333682866ffa"
+        hash: "20fde9bbe26ebede31fc8c21dec3fcc5"
     }
     Frame {
         msec: 4112
-        hash: "04339417259ddee10134e1479729ae1b"
+        hash: "1d25c2753ccabdaaf47a669c28d9e2cb"
     }
     Frame {
         msec: 4128
-        hash: "7ffcff87e27dcb0be0047eb6fbcc9549"
+        hash: "bdd00cfe933985fe77626114902ce823"
     }
     Frame {
         msec: 4144
-        hash: "efaa5e4483ed9cfec792e8f270b5079e"
+        hash: "23d9a9a6a9d032c7e447407193ca51ef"
     }
     Frame {
         msec: 4160
-        hash: "c5199c908df1f550d7c4f133eb926134"
+        hash: "39c81c6efdbc32b6e0378810404bef2c"
     }
     Frame {
         msec: 4176
-        hash: "483eca22c50750e7591785ed60813d1f"
+        hash: "756f36cf41c2bae3a8a8716701e55e37"
     }
     Frame {
         msec: 4192
-        hash: "4091de379d8f6ccc7f19ea39f6c7993a"
+        hash: "fb09d44a5a5b5b795d562512e9547301"
     }
     Frame {
         msec: 4208
-        hash: "cd58c0d4f7248315a787542b0edcb4fb"
+        hash: "183538d04cf009f100a1e49a3229c143"
     }
     Frame {
         msec: 4224
-        hash: "458895f9ede4d56e0b851c6ed124405d"
+        hash: "2ec91bfdb0f106a526f6bde3eb0ed7ce"
     }
     Frame {
         msec: 4240
-        hash: "29a28a97fc78a1b01252b852fb0446e2"
+        hash: "f34175acc261ad79bc9d2083af04ae10"
     }
     Frame {
         msec: 4256
-        hash: "4fd9f22ad06e02b68319c298c2286e36"
+        hash: "39a59b2e9e0bee87d3ba50e1408bea1c"
     }
     Frame {
         msec: 4272
-        hash: "a588e9dbeabd7519cd0cf2d26a123529"
+        hash: "db61ba19d56b69d148aeb182de596713"
     }
     Frame {
         msec: 4288
-        hash: "bb74f706477e277284fad50752f078b5"
+        hash: "e0b07106a5adc1603788444d48b9c3db"
     }
     Frame {
         msec: 4304
-        hash: "38f16a7deeaea6828edd15b00024fc19"
+        hash: "1dd5625fb6a0ddbaa3919a1702695e9c"
     }
     Frame {
         msec: 4320
-        hash: "30c4aa33a6672f4df24186ad1e28bcf9"
+        hash: "d7d39e8f717bab17aaf8a12e4f9e0dfc"
     }
     Frame {
         msec: 4336
-        hash: "7f2ac0854ddbcca94a2ad160ead5d4d3"
+        hash: "d7a226b40a049dee56755af9206246b4"
     }
     Frame {
         msec: 4352
-        hash: "e1c083d0235ff5a2e002ce78f43009b0"
+        hash: "37d2d2830f6ae6bf0c8fb29c5d4f521a"
     }
     Frame {
         msec: 4368
-        hash: "eaee6483a2a4a0b09a8e40bb1785a498"
+        hash: "21008b3a5179e25f9b132a4c05b8b8c4"
     }
     Frame {
         msec: 4384
-        hash: "26530bded6311640c4d3f6d1485fa7d3"
+        hash: "a6f05fb5206a456bea790ba7ba31868c"
     }
     Frame {
         msec: 4400
-        hash: "e54102edbf6cc0c9a32b09858f760ee5"
+        hash: "754e2fca1b3ed5ee9875aafb1a0c62d3"
     }
     Frame {
         msec: 4416
-        hash: "27434828de3ba8f6a3b83f042b70eb8b"
+        hash: "75d1ae9c60573f9e27cd7c2d1706cbfc"
     }
     Frame {
         msec: 4432
-        hash: "fdf68e988b988d068ea78a5a09ef349e"
+        hash: "c78608cde907bc09760d858795b43bbf"
     }
     Frame {
         msec: 4448
-        hash: "f91cb29101f80f5dcb1e9e8c82e823b7"
+        hash: "3dce89f398d2c856bcd32da34867ebd8"
     }
     Frame {
         msec: 4464
-        hash: "63f582dc2a9f707c1ec99f4285d13a84"
+        hash: "cbe34fd18b6355ae9be469a594b44192"
     }
     Frame {
         msec: 4480
-        hash: "81b04a84982698ee80d13d392742edd3"
+        hash: "942476dd6fb7a4f3d10c398503cb7b90"
     }
     Frame {
         msec: 4496
-        hash: "2bb72f191201572308e461021872fb4c"
+        hash: "e96dc6d611d23553b363a765195604f9"
     }
     Frame {
         msec: 4512
-        hash: "0c55d6ea330b7365825864d4bdacafcb"
+        hash: "03325597bd4e7d7b6f7c84c848018872"
     }
     Frame {
         msec: 4528
-        hash: "b686f4013f45885ab794aba9ff491286"
+        hash: "13db17cc3c6513014a95210a443e5842"
     }
     Frame {
         msec: 4544
-        hash: "7c83d3bdb9abf8ab2cfe7f9464673a49"
+        hash: "91e2e5cc6efcffc9e58646a008a57c9d"
     }
     Frame {
         msec: 4560
-        hash: "b47390495539756048ccc71047ebef7b"
+        hash: "a538ce971f34a497c05258da2567a208"
     }
     Frame {
         msec: 4576
-        hash: "91edc3ca1e6c532bd92006a761073da2"
+        hash: "117d7ad2d2ae47f3a0c2a68928534b76"
     }
     Frame {
         msec: 4592
-        hash: "e185f2594f038532a37b351384dc97ea"
+        hash: "3bc037fd17d0d394b82ba19914f31b90"
     }
     Frame {
         msec: 4608
-        hash: "f9194d82b81f5ac58862c382caf5cf59"
+        hash: "27968050a9cf7d57d016274709086be1"
     }
     Frame {
         msec: 4624
-        hash: "63259de84a6e07d42c9df94ec2a25920"
+        hash: "d5b0696cbe2969723bb2fe740deeb81f"
     }
     Frame {
         msec: 4640
-        hash: "e8376079434393467b47a56ff00efb2b"
+        hash: "bf55fffd1727c0d076e05e274dcebb0d"
     }
     Frame {
         msec: 4656
-        hash: "421fb8881fe7b300dcec0f44ff1743e3"
+        hash: "6d70d654998bbc0a2431ca7c4a58cd3c"
     }
     Frame {
         msec: 4672
-        hash: "316f6bd365ca4b4f2e6fbf34a047e307"
+        hash: "27c59b474d706ce79b5d075713c1ea88"
     }
     Frame {
         msec: 4688
-        hash: "0c713bbd7bb694d87f0fe14f87098b9b"
+        hash: "8cae649565b5655d606f216334a0b5b5"
     }
     Frame {
         msec: 4704
-        hash: "e2ce168241b043db74867fe7ed6de956"
+        hash: "3dd49406c4b39980908d8869dc3c060a"
     }
     Frame {
         msec: 4720
-        hash: "43b3bf8425e7a6b7115d8e6a0bcfd677"
+        hash: "18771337bbe826b5a34bd9705c79f56a"
     }
     Frame {
         msec: 4736
-        hash: "b7a8d4b8bb2b83e4c886aa51c1a73895"
+        hash: "7f921d2293cf547de3b5573dbf98d5bb"
     }
     Frame {
         msec: 4752
-        hash: "40b336a0e337b66d813089a82a88c712"
+        hash: "6d8b58612860febb13800958cab3aecd"
     }
     Frame {
         msec: 4768
-        hash: "484ee552e1a9c5eafcfe1ac583fcdffd"
+        hash: "f6bac38774fa8a09084c045e34fd1732"
     }
     Frame {
         msec: 4784
-        hash: "a27c65c0a49deb18b0766bba41a32e54"
+        hash: "ca35937be71e1f982cedd33bdd09d127"
     }
     Frame {
         msec: 4800
-        image: "cursorDelegate.4.png"
+        hash: "4379bfd0da6fedac77e2111d9fdc5ecb"
     }
     Frame {
         msec: 4816
-        hash: "0bd9f7de32b01d8144280bf252d9a18f"
+        image: "cursorDelegate.5.png"
     }
     Frame {
         msec: 4832
-        hash: "bc3efeeebe7075cd09a6e57eef43d610"
+        hash: "4ab6780997a5a598d2da7fbbc19877b7"
     }
     Frame {
         msec: 4848
-        hash: "5dba56a5bb5f8a6539a0066af35c73b8"
+        hash: "ad77330d51b1251576905a45fdbdf576"
     }
     Frame {
         msec: 4864
-        hash: "ba721988a1708b8c0762d706820c48fc"
+        hash: "b701aa41aff9df45cc4b35d23789ad46"
     }
     Frame {
         msec: 4880
-        hash: "4abbd51b620ac4ea91af95bc2d0881d7"
+        hash: "2bdc09121f13e95e15e331ac90fbbe5e"
     }
     Frame {
         msec: 4896
-        hash: "944dc7026c6487838ede9ef94003ec90"
+        hash: "14bc879f562ace9d2d1a3f3980a72e1f"
     }
     Frame {
         msec: 4912
-        hash: "51a1b8e79d209643d55d4cecc6a70ed0"
+        hash: "150b5a2f2e916b7023764c481c768492"
     }
     Frame {
         msec: 4928
-        hash: "6ccc70f6120acb53152b71bcf95514ca"
+        hash: "0636b7c5cc215882c60b50f62133c715"
     }
     Frame {
         msec: 4944
-        hash: "996da2eff9302908a55308dbcc8fb3c2"
+        hash: "f9e0bd08b722c16493a8886a19920dda"
     }
     Frame {
         msec: 4960
-        hash: "264f34128dfe563126b9f187c65df61e"
+        hash: "f499f4b3017c88c63f0a2035ad527a0e"
     }
 }
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.0.png
index 57a1599..5f632d0 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.0.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.1.png
index d327d5b..05dd690 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.1.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.1.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.2.png
index c1e3dce..eb74cc5 100644
Binary files a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.2.png and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.2.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.3.png
new file mode 100644
index 0000000..3aed06c
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.3.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.qml
index 9a26f57..2de4a10 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.qml
@@ -6,7 +6,7 @@ VisualTest {
     }
     Frame {
         msec: 16
-        hash: "0e7c7dc19aab217751411568b58830ef"
+        image: "echoMode.0.png"
     }
     Frame {
         msec: 32
@@ -110,23 +110,23 @@ VisualTest {
     }
     Frame {
         msec: 368
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 384
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 400
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 416
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 432
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Key {
         type: 7
@@ -138,27 +138,27 @@ VisualTest {
     }
     Frame {
         msec: 448
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 464
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 480
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 496
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 512
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 528
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Key {
         type: 7
@@ -170,43 +170,43 @@ VisualTest {
     }
     Frame {
         msec: 544
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 560
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 576
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 592
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 608
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 624
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 640
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 656
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 672
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Frame {
         msec: 688
-        hash: "d3151ba24f0011bf1add83377f32ec85"
+        hash: "bc06530170cf26690a09ed9f6c4014fd"
     }
     Key {
         type: 6
@@ -218,23 +218,23 @@ VisualTest {
     }
     Frame {
         msec: 704
-        hash: "6b7c333ce19fede43aee84cc66c4c1bc"
+        hash: "8c64a986ce7bd19dcc88785309456f4e"
     }
     Frame {
         msec: 720
-        hash: "6b7c333ce19fede43aee84cc66c4c1bc"
+        hash: "8c64a986ce7bd19dcc88785309456f4e"
     }
     Frame {
         msec: 736
-        hash: "6b7c333ce19fede43aee84cc66c4c1bc"
+        hash: "8c64a986ce7bd19dcc88785309456f4e"
     }
     Frame {
         msec: 752
-        hash: "6b7c333ce19fede43aee84cc66c4c1bc"
+        hash: "8c64a986ce7bd19dcc88785309456f4e"
     }
     Frame {
         msec: 768
-        hash: "6b7c333ce19fede43aee84cc66c4c1bc"
+        hash: "8c64a986ce7bd19dcc88785309456f4e"
     }
     Key {
         type: 7
@@ -246,23 +246,23 @@ VisualTest {
     }
     Frame {
         msec: 784
-        hash: "6b7c333ce19fede43aee84cc66c4c1bc"
+        hash: "8c64a986ce7bd19dcc88785309456f4e"
     }
     Frame {
         msec: 800
-        hash: "6b7c333ce19fede43aee84cc66c4c1bc"
+        hash: "8c64a986ce7bd19dcc88785309456f4e"
     }
     Frame {
         msec: 816
-        hash: "6b7c333ce19fede43aee84cc66c4c1bc"
+        hash: "8c64a986ce7bd19dcc88785309456f4e"
     }
     Frame {
         msec: 832
-        hash: "6b7c333ce19fede43aee84cc66c4c1bc"
+        hash: "8c64a986ce7bd19dcc88785309456f4e"
     }
     Frame {
         msec: 848
-        hash: "6b7c333ce19fede43aee84cc66c4c1bc"
+        hash: "8c64a986ce7bd19dcc88785309456f4e"
     }
     Key {
         type: 6
@@ -274,15 +274,15 @@ VisualTest {
     }
     Frame {
         msec: 864
-        hash: "a5386e9b39daa0a5aad8a8cd5191909b"
+        hash: "4cfca8edcb96b1d9986db4ee491bf857"
     }
     Frame {
         msec: 880
-        hash: "a5386e9b39daa0a5aad8a8cd5191909b"
+        hash: "4cfca8edcb96b1d9986db4ee491bf857"
     }
     Frame {
         msec: 896
-        hash: "a5386e9b39daa0a5aad8a8cd5191909b"
+        hash: "4cfca8edcb96b1d9986db4ee491bf857"
     }
     Key {
         type: 7
@@ -294,23 +294,23 @@ VisualTest {
     }
     Frame {
         msec: 912
-        hash: "a5386e9b39daa0a5aad8a8cd5191909b"
+        hash: "4cfca8edcb96b1d9986db4ee491bf857"
     }
     Frame {
         msec: 928
-        hash: "a5386e9b39daa0a5aad8a8cd5191909b"
+        hash: "4cfca8edcb96b1d9986db4ee491bf857"
     }
     Frame {
         msec: 944
-        hash: "a5386e9b39daa0a5aad8a8cd5191909b"
+        hash: "4cfca8edcb96b1d9986db4ee491bf857"
     }
     Frame {
         msec: 960
-        image: "echoMode.0.png"
+        hash: "4cfca8edcb96b1d9986db4ee491bf857"
     }
     Frame {
         msec: 976
-        hash: "a5386e9b39daa0a5aad8a8cd5191909b"
+        image: "echoMode.1.png"
     }
     Key {
         type: 6
@@ -322,19 +322,19 @@ VisualTest {
     }
     Frame {
         msec: 992
-        hash: "f9149723166015ed066b794cf86b27d0"
+        hash: "3d25316ea23ace5a88dbe8765b743eb3"
     }
     Frame {
         msec: 1008
-        hash: "f9149723166015ed066b794cf86b27d0"
+        hash: "3d25316ea23ace5a88dbe8765b743eb3"
     }
     Frame {
         msec: 1024
-        hash: "f9149723166015ed066b794cf86b27d0"
+        hash: "3d25316ea23ace5a88dbe8765b743eb3"
     }
     Frame {
         msec: 1040
-        hash: "f9149723166015ed066b794cf86b27d0"
+        hash: "3d25316ea23ace5a88dbe8765b743eb3"
     }
     Key {
         type: 7
@@ -346,51 +346,51 @@ VisualTest {
     }
     Frame {
         msec: 1056
-        hash: "f9149723166015ed066b794cf86b27d0"
+        hash: "3d25316ea23ace5a88dbe8765b743eb3"
     }
     Frame {
         msec: 1072
-        hash: "f9149723166015ed066b794cf86b27d0"
+        hash: "3d25316ea23ace5a88dbe8765b743eb3"
     }
     Frame {
         msec: 1088
-        hash: "f9149723166015ed066b794cf86b27d0"
+        hash: "3d25316ea23ace5a88dbe8765b743eb3"
     }
     Frame {
         msec: 1104
-        hash: "f9149723166015ed066b794cf86b27d0"
+        hash: "3d25316ea23ace5a88dbe8765b743eb3"
     }
     Frame {
         msec: 1120
-        hash: "f9149723166015ed066b794cf86b27d0"
+        hash: "3d25316ea23ace5a88dbe8765b743eb3"
     }
     Frame {
         msec: 1136
-        hash: "f9149723166015ed066b794cf86b27d0"
+        hash: "3d25316ea23ace5a88dbe8765b743eb3"
     }
     Frame {
         msec: 1152
-        hash: "f9149723166015ed066b794cf86b27d0"
+        hash: "3d25316ea23ace5a88dbe8765b743eb3"
     }
     Frame {
         msec: 1168
-        hash: "f9149723166015ed066b794cf86b27d0"
+        hash: "3d25316ea23ace5a88dbe8765b743eb3"
     }
     Frame {
         msec: 1184
-        hash: "f9149723166015ed066b794cf86b27d0"
+        hash: "3d25316ea23ace5a88dbe8765b743eb3"
     }
     Frame {
         msec: 1200
-        hash: "f9149723166015ed066b794cf86b27d0"
+        hash: "3d25316ea23ace5a88dbe8765b743eb3"
     }
     Frame {
         msec: 1216
-        hash: "f9149723166015ed066b794cf86b27d0"
+        hash: "3d25316ea23ace5a88dbe8765b743eb3"
     }
     Frame {
         msec: 1232
-        hash: "f9149723166015ed066b794cf86b27d0"
+        hash: "3d25316ea23ace5a88dbe8765b743eb3"
     }
     Key {
         type: 6
@@ -402,15 +402,15 @@ VisualTest {
     }
     Frame {
         msec: 1248
-        hash: "56dd8557435509e5a96c2f2907d474eb"
+        hash: "fea82a32ec46a88027cc9b0c00aa0aba"
     }
     Frame {
         msec: 1264
-        hash: "56dd8557435509e5a96c2f2907d474eb"
+        hash: "fea82a32ec46a88027cc9b0c00aa0aba"
     }
     Frame {
         msec: 1280
-        hash: "56dd8557435509e5a96c2f2907d474eb"
+        hash: "fea82a32ec46a88027cc9b0c00aa0aba"
     }
     Key {
         type: 7
@@ -422,15 +422,15 @@ VisualTest {
     }
     Frame {
         msec: 1296
-        hash: "56dd8557435509e5a96c2f2907d474eb"
+        hash: "fea82a32ec46a88027cc9b0c00aa0aba"
     }
     Frame {
         msec: 1312
-        hash: "56dd8557435509e5a96c2f2907d474eb"
+        hash: "fea82a32ec46a88027cc9b0c00aa0aba"
     }
     Frame {
         msec: 1328
-        hash: "56dd8557435509e5a96c2f2907d474eb"
+        hash: "fea82a32ec46a88027cc9b0c00aa0aba"
     }
     Key {
         type: 6
@@ -442,39 +442,39 @@ VisualTest {
     }
     Frame {
         msec: 1344
-        hash: "b311772a9bf92f4222b1c1c7ddbe96c4"
+        hash: "fffa6f462ea15fe3bdbf2c199881fce4"
     }
     Frame {
         msec: 1360
-        hash: "b311772a9bf92f4222b1c1c7ddbe96c4"
+        hash: "fffa6f462ea15fe3bdbf2c199881fce4"
     }
     Frame {
         msec: 1376
-        hash: "b311772a9bf92f4222b1c1c7ddbe96c4"
+        hash: "fffa6f462ea15fe3bdbf2c199881fce4"
     }
     Frame {
         msec: 1392
-        hash: "b311772a9bf92f4222b1c1c7ddbe96c4"
+        hash: "fffa6f462ea15fe3bdbf2c199881fce4"
     }
     Frame {
         msec: 1408
-        hash: "b311772a9bf92f4222b1c1c7ddbe96c4"
+        hash: "fffa6f462ea15fe3bdbf2c199881fce4"
     }
     Frame {
         msec: 1424
-        hash: "b311772a9bf92f4222b1c1c7ddbe96c4"
+        hash: "fffa6f462ea15fe3bdbf2c199881fce4"
     }
     Frame {
         msec: 1440
-        hash: "b311772a9bf92f4222b1c1c7ddbe96c4"
+        hash: "fffa6f462ea15fe3bdbf2c199881fce4"
     }
     Frame {
         msec: 1456
-        hash: "b311772a9bf92f4222b1c1c7ddbe96c4"
+        hash: "fffa6f462ea15fe3bdbf2c199881fce4"
     }
     Frame {
         msec: 1472
-        hash: "b311772a9bf92f4222b1c1c7ddbe96c4"
+        hash: "fffa6f462ea15fe3bdbf2c199881fce4"
     }
     Key {
         type: 7
@@ -486,7 +486,7 @@ VisualTest {
     }
     Frame {
         msec: 1488
-        hash: "b311772a9bf92f4222b1c1c7ddbe96c4"
+        hash: "fffa6f462ea15fe3bdbf2c199881fce4"
     }
     Key {
         type: 6
@@ -498,19 +498,19 @@ VisualTest {
     }
     Frame {
         msec: 1504
-        hash: "8feb240ad13e1e9d8392bfeb484261db"
+        hash: "d874584748e4aa14fd71730aa36d676c"
     }
     Frame {
         msec: 1520
-        hash: "8feb240ad13e1e9d8392bfeb484261db"
+        hash: "d874584748e4aa14fd71730aa36d676c"
     }
     Frame {
         msec: 1536
-        hash: "8feb240ad13e1e9d8392bfeb484261db"
+        hash: "d874584748e4aa14fd71730aa36d676c"
     }
     Frame {
         msec: 1552
-        hash: "8feb240ad13e1e9d8392bfeb484261db"
+        hash: "d874584748e4aa14fd71730aa36d676c"
     }
     Key {
         type: 7
@@ -522,27 +522,27 @@ VisualTest {
     }
     Frame {
         msec: 1568
-        hash: "8feb240ad13e1e9d8392bfeb484261db"
+        hash: "d874584748e4aa14fd71730aa36d676c"
     }
     Frame {
         msec: 1584
-        hash: "8feb240ad13e1e9d8392bfeb484261db"
+        hash: "d874584748e4aa14fd71730aa36d676c"
     }
     Frame {
         msec: 1600
-        hash: "8feb240ad13e1e9d8392bfeb484261db"
+        hash: "d874584748e4aa14fd71730aa36d676c"
     }
     Frame {
         msec: 1616
-        hash: "8feb240ad13e1e9d8392bfeb484261db"
+        hash: "d874584748e4aa14fd71730aa36d676c"
     }
     Frame {
         msec: 1632
-        hash: "8feb240ad13e1e9d8392bfeb484261db"
+        hash: "d874584748e4aa14fd71730aa36d676c"
     }
     Frame {
         msec: 1648
-        hash: "8feb240ad13e1e9d8392bfeb484261db"
+        hash: "d874584748e4aa14fd71730aa36d676c"
     }
     Key {
         type: 6
@@ -554,23 +554,23 @@ VisualTest {
     }
     Frame {
         msec: 1664
-        hash: "cd240ccffd4b4a6304b47cfd1e55cf49"
+        hash: "5eac6452c3c01de25633be412b2c9fd6"
     }
     Frame {
         msec: 1680
-        hash: "cd240ccffd4b4a6304b47cfd1e55cf49"
+        hash: "5eac6452c3c01de25633be412b2c9fd6"
     }
     Frame {
         msec: 1696
-        hash: "cd240ccffd4b4a6304b47cfd1e55cf49"
+        hash: "5eac6452c3c01de25633be412b2c9fd6"
     }
     Frame {
         msec: 1712
-        hash: "cd240ccffd4b4a6304b47cfd1e55cf49"
+        hash: "5eac6452c3c01de25633be412b2c9fd6"
     }
     Frame {
         msec: 1728
-        hash: "cd240ccffd4b4a6304b47cfd1e55cf49"
+        hash: "5eac6452c3c01de25633be412b2c9fd6"
     }
     Key {
         type: 6
@@ -582,7 +582,7 @@ VisualTest {
     }
     Frame {
         msec: 1744
-        hash: "437370a412fccbeee3d1f095e32c3584"
+        hash: "8bf395bd43cf0483aea0ddf3e8ab8c56"
     }
     Key {
         type: 7
@@ -594,15 +594,15 @@ VisualTest {
     }
     Frame {
         msec: 1760
-        hash: "437370a412fccbeee3d1f095e32c3584"
+        hash: "8bf395bd43cf0483aea0ddf3e8ab8c56"
     }
     Frame {
         msec: 1776
-        hash: "437370a412fccbeee3d1f095e32c3584"
+        hash: "8bf395bd43cf0483aea0ddf3e8ab8c56"
     }
     Frame {
         msec: 1792
-        hash: "437370a412fccbeee3d1f095e32c3584"
+        hash: "8bf395bd43cf0483aea0ddf3e8ab8c56"
     }
     Key {
         type: 7
@@ -614,19 +614,19 @@ VisualTest {
     }
     Frame {
         msec: 1808
-        hash: "437370a412fccbeee3d1f095e32c3584"
+        hash: "8bf395bd43cf0483aea0ddf3e8ab8c56"
     }
     Frame {
         msec: 1824
-        hash: "437370a412fccbeee3d1f095e32c3584"
+        hash: "8bf395bd43cf0483aea0ddf3e8ab8c56"
     }
     Frame {
         msec: 1840
-        hash: "437370a412fccbeee3d1f095e32c3584"
+        hash: "8bf395bd43cf0483aea0ddf3e8ab8c56"
     }
     Frame {
         msec: 1856
-        hash: "437370a412fccbeee3d1f095e32c3584"
+        hash: "8bf395bd43cf0483aea0ddf3e8ab8c56"
     }
     Key {
         type: 6
@@ -638,19 +638,19 @@ VisualTest {
     }
     Frame {
         msec: 1872
-        hash: "eb4a45722e365b103ff5423117236fd3"
+        hash: "4a31bba56f9adaccf47e6335ed4e284f"
     }
     Frame {
         msec: 1888
-        hash: "eb4a45722e365b103ff5423117236fd3"
+        hash: "4a31bba56f9adaccf47e6335ed4e284f"
     }
     Frame {
         msec: 1904
-        hash: "eb4a45722e365b103ff5423117236fd3"
+        hash: "4a31bba56f9adaccf47e6335ed4e284f"
     }
     Frame {
         msec: 1920
-        image: "echoMode.1.png"
+        hash: "4a31bba56f9adaccf47e6335ed4e284f"
     }
     Key {
         type: 7
@@ -662,27 +662,27 @@ VisualTest {
     }
     Frame {
         msec: 1936
-        hash: "eb4a45722e365b103ff5423117236fd3"
+        image: "echoMode.2.png"
     }
     Frame {
         msec: 1952
-        hash: "eb4a45722e365b103ff5423117236fd3"
+        hash: "4a31bba56f9adaccf47e6335ed4e284f"
     }
     Frame {
         msec: 1968
-        hash: "eb4a45722e365b103ff5423117236fd3"
+        hash: "4a31bba56f9adaccf47e6335ed4e284f"
     }
     Frame {
         msec: 1984
-        hash: "eb4a45722e365b103ff5423117236fd3"
+        hash: "4a31bba56f9adaccf47e6335ed4e284f"
     }
     Frame {
         msec: 2000
-        hash: "eb4a45722e365b103ff5423117236fd3"
+        hash: "4a31bba56f9adaccf47e6335ed4e284f"
     }
     Frame {
         msec: 2016
-        hash: "eb4a45722e365b103ff5423117236fd3"
+        hash: "4a31bba56f9adaccf47e6335ed4e284f"
     }
     Key {
         type: 6
@@ -694,11 +694,11 @@ VisualTest {
     }
     Frame {
         msec: 2032
-        hash: "b53d0651627d008545e54063ceb8d689"
+        hash: "8bbabbbe84de490438d1111aa728c15f"
     }
     Frame {
         msec: 2048
-        hash: "b53d0651627d008545e54063ceb8d689"
+        hash: "8bbabbbe84de490438d1111aa728c15f"
     }
     Key {
         type: 7
@@ -710,11 +710,11 @@ VisualTest {
     }
     Frame {
         msec: 2064
-        hash: "b53d0651627d008545e54063ceb8d689"
+        hash: "8bbabbbe84de490438d1111aa728c15f"
     }
     Frame {
         msec: 2080
-        hash: "b53d0651627d008545e54063ceb8d689"
+        hash: "8bbabbbe84de490438d1111aa728c15f"
     }
     Key {
         type: 6
@@ -726,19 +726,19 @@ VisualTest {
     }
     Frame {
         msec: 2096
-        hash: "173b36137940b37001750e02d434b8e8"
+        hash: "5877f1d527fecaf1077ff5bd2fe1934f"
     }
     Frame {
         msec: 2112
-        hash: "173b36137940b37001750e02d434b8e8"
+        hash: "5877f1d527fecaf1077ff5bd2fe1934f"
     }
     Frame {
         msec: 2128
-        hash: "173b36137940b37001750e02d434b8e8"
+        hash: "5877f1d527fecaf1077ff5bd2fe1934f"
     }
     Frame {
         msec: 2144
-        hash: "173b36137940b37001750e02d434b8e8"
+        hash: "5877f1d527fecaf1077ff5bd2fe1934f"
     }
     Key {
         type: 6
@@ -758,19 +758,19 @@ VisualTest {
     }
     Frame {
         msec: 2160
-        hash: "2e636a964b4a1ab74ad3e23399c2ae8c"
+        hash: "1593ef669fdff28c33f54c12c7e7424e"
     }
     Frame {
         msec: 2176
-        hash: "2e636a964b4a1ab74ad3e23399c2ae8c"
+        hash: "1593ef669fdff28c33f54c12c7e7424e"
     }
     Frame {
         msec: 2192
-        hash: "2e636a964b4a1ab74ad3e23399c2ae8c"
+        hash: "1593ef669fdff28c33f54c12c7e7424e"
     }
     Frame {
         msec: 2208
-        hash: "2e636a964b4a1ab74ad3e23399c2ae8c"
+        hash: "1593ef669fdff28c33f54c12c7e7424e"
     }
     Key {
         type: 6
@@ -782,7 +782,7 @@ VisualTest {
     }
     Frame {
         msec: 2224
-        hash: "631c6034372c2e7675ebce0ec415f230"
+        hash: "da746581451954d7d941fbac825a1009"
     }
     Key {
         type: 7
@@ -794,23 +794,23 @@ VisualTest {
     }
     Frame {
         msec: 2240
-        hash: "631c6034372c2e7675ebce0ec415f230"
+        hash: "da746581451954d7d941fbac825a1009"
     }
     Frame {
         msec: 2256
-        hash: "631c6034372c2e7675ebce0ec415f230"
+        hash: "da746581451954d7d941fbac825a1009"
     }
     Frame {
         msec: 2272
-        hash: "631c6034372c2e7675ebce0ec415f230"
+        hash: "da746581451954d7d941fbac825a1009"
     }
     Frame {
         msec: 2288
-        hash: "631c6034372c2e7675ebce0ec415f230"
+        hash: "da746581451954d7d941fbac825a1009"
     }
     Frame {
         msec: 2304
-        hash: "631c6034372c2e7675ebce0ec415f230"
+        hash: "da746581451954d7d941fbac825a1009"
     }
     Key {
         type: 7
@@ -822,11 +822,11 @@ VisualTest {
     }
     Frame {
         msec: 2320
-        hash: "631c6034372c2e7675ebce0ec415f230"
+        hash: "da746581451954d7d941fbac825a1009"
     }
     Frame {
         msec: 2336
-        hash: "631c6034372c2e7675ebce0ec415f230"
+        hash: "da746581451954d7d941fbac825a1009"
     }
     Key {
         type: 6
@@ -838,27 +838,27 @@ VisualTest {
     }
     Frame {
         msec: 2352
-        hash: "ea5c3cdde73009e1bd46e71e4cc3bf0f"
+        hash: "3e008b7ead8459c1667f4f385d4c5372"
     }
     Frame {
         msec: 2368
-        hash: "ea5c3cdde73009e1bd46e71e4cc3bf0f"
+        hash: "3e008b7ead8459c1667f4f385d4c5372"
     }
     Frame {
         msec: 2384
-        hash: "ea5c3cdde73009e1bd46e71e4cc3bf0f"
+        hash: "3e008b7ead8459c1667f4f385d4c5372"
     }
     Frame {
         msec: 2400
-        hash: "ea5c3cdde73009e1bd46e71e4cc3bf0f"
+        hash: "3e008b7ead8459c1667f4f385d4c5372"
     }
     Frame {
         msec: 2416
-        hash: "ea5c3cdde73009e1bd46e71e4cc3bf0f"
+        hash: "3e008b7ead8459c1667f4f385d4c5372"
     }
     Frame {
         msec: 2432
-        hash: "ea5c3cdde73009e1bd46e71e4cc3bf0f"
+        hash: "3e008b7ead8459c1667f4f385d4c5372"
     }
     Key {
         type: 7
@@ -870,19 +870,19 @@ VisualTest {
     }
     Frame {
         msec: 2448
-        hash: "ea5c3cdde73009e1bd46e71e4cc3bf0f"
+        hash: "3e008b7ead8459c1667f4f385d4c5372"
     }
     Frame {
         msec: 2464
-        hash: "ea5c3cdde73009e1bd46e71e4cc3bf0f"
+        hash: "3e008b7ead8459c1667f4f385d4c5372"
     }
     Frame {
         msec: 2480
-        hash: "ea5c3cdde73009e1bd46e71e4cc3bf0f"
+        hash: "3e008b7ead8459c1667f4f385d4c5372"
     }
     Frame {
         msec: 2496
-        hash: "ea5c3cdde73009e1bd46e71e4cc3bf0f"
+        hash: "3e008b7ead8459c1667f4f385d4c5372"
     }
     Key {
         type: 6
@@ -894,15 +894,15 @@ VisualTest {
     }
     Frame {
         msec: 2512
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2528
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2544
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Key {
         type: 7
@@ -914,130 +914,130 @@ VisualTest {
     }
     Frame {
         msec: 2560
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2576
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2592
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2608
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2624
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2640
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2656
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2672
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2688
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2704
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2720
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2736
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2752
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2768
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2784
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2800
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2816
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2832
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2848
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2864
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2880
-        image: "echoMode.2.png"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2896
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        image: "echoMode.3.png"
     }
     Frame {
         msec: 2912
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2928
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2944
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2960
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2976
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 2992
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 3008
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 3024
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 3040
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
     Frame {
         msec: 3056
-        hash: "91ef7f08d8fec2e0d353b1bf5da99c41"
+        hash: "1dbc7e1ab58dcec8691ff4195b0d581c"
     }
 }
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.0.png
new file mode 100644
index 0000000..6a32f0d
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.qml
index 4c402ea..fd64d64 100644
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.qml
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.qml
@@ -6,102 +6,102 @@ VisualTest {
     }
     Frame {
         msec: 16
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        image: "hAlign.0.png"
     }
     Frame {
         msec: 32
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 48
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 64
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 80
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 96
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 112
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 128
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 144
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 160
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 176
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 192
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 208
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 224
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 240
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 256
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 272
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 288
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 304
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 320
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 336
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 352
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 368
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 384
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
     Frame {
         msec: 400
-        hash: "840c5f54c105f90c7b0c2254fee2e434"
+        hash: "043c40378d2707bd231a448cd242aa3c"
     }
 }
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.0.png
new file mode 100644
index 0000000..6ca52b6
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.0.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.1.png
new file mode 100644
index 0000000..31d6b2c
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.1.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.10.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.10.png
new file mode 100644
index 0000000..d89e2d8
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.10.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.11.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.11.png
new file mode 100644
index 0000000..834516a
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.11.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.2.png
new file mode 100644
index 0000000..31d6b2c
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.2.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.3.png
new file mode 100644
index 0000000..31d6b2c
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.3.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.4.png
new file mode 100644
index 0000000..8147bda
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.4.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.5.png
new file mode 100644
index 0000000..c67e619
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.5.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.6.png
new file mode 100644
index 0000000..646855f
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.6.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.7.png
new file mode 100644
index 0000000..c1a9d5c
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.7.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.8.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.8.png
new file mode 100644
index 0000000..d6c92b7
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.8.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.9.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.9.png
new file mode 100644
index 0000000..e798d3b
Binary files /dev/null and b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.9.png differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.qml
new file mode 100644
index 0000000..a1a0821
--- /dev/null
+++ b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.qml
@@ -0,0 +1,4335 @@
+import Qt.VisualTest 4.7
+
+VisualTest {
+    Frame {
+        msec: 0
+    }
+    Frame {
+        msec: 16
+        image: "usingLineEdit.0.png"
+    }
+    Frame {
+        msec: 32
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 48
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 64
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 80
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 96
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 112
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 128
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 144
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 160
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 176
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 192
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 208
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 224
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 240
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 256
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 272
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 288
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 304
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 320
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 336
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 352
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 368
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 384
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 400
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 416
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 432
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 448
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 464
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 480
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 496
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 512
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 528
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 544
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 560
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 576
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 592
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 608
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 624
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 640
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 656
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 672
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 688
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 704
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 720
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 736
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 752
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 768
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 784
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 800
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 816
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 832
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 848
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 864
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 880
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 896
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 912
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Frame {
+        msec: 928
+        hash: "b2bcfe5c299742bf7da166e9ae1e1126"
+    }
+    Mouse {
+        type: 2
+        button: 1
+        buttons: 1
+        x: 85; y: 11
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 944
+        hash: "1e95a74868a748e11efdc6fbb500f6e8"
+    }
+    Mouse {
+        type: 3
+        button: 1
+        buttons: 0
+        x: 85; y: 11
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 960
+        hash: "1e95a74868a748e11efdc6fbb500f6e8"
+    }
+    Mouse {
+        type: 4
+        button: 1
+        buttons: 1
+        x: 85; y: 11
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 976
+        image: "usingLineEdit.1.png"
+    }
+    Frame {
+        msec: 992
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1008
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1024
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1040
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1056
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Mouse {
+        type: 3
+        button: 1
+        buttons: 0
+        x: 85; y: 11
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 1072
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1088
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1104
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1120
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1136
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1152
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1168
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1184
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1200
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1216
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1232
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1248
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1264
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1280
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1296
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1312
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1328
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1344
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1360
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Key {
+        type: 6
+        key: 16777249
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 1376
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1392
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1408
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1424
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1440
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1456
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1472
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1488
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1504
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1520
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1536
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1552
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1568
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1584
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1600
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1616
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1632
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1648
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1664
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1680
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1696
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1712
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1728
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1744
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1760
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1776
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1792
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1808
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1824
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1840
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1856
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1872
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1888
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1904
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1920
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1936
+        image: "usingLineEdit.2.png"
+    }
+    Frame {
+        msec: 1952
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1968
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 1984
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Key {
+        type: 6
+        key: 67
+        modifiers: 67108864
+        text: "03"
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 2000
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2016
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2032
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2048
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2064
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2080
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2096
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2112
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Key {
+        type: 7
+        key: 16777249
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Key {
+        type: 7
+        key: 67
+        modifiers: 0
+        text: "63"
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 2128
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2144
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2160
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2176
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2192
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2208
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2224
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2240
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2256
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2272
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2288
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2304
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2320
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2336
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2352
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2368
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2384
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2400
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2416
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2432
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2448
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2464
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2480
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Key {
+        type: 6
+        key: 16777233
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 2496
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2512
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2528
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2544
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2560
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2576
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Key {
+        type: 7
+        key: 16777233
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 2592
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2608
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2624
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2640
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2656
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2672
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2688
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2704
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2720
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2736
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2752
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2768
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2784
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Key {
+        type: 6
+        key: 16777249
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 2800
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2816
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2832
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2848
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2864
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2880
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2896
+        image: "usingLineEdit.3.png"
+    }
+    Frame {
+        msec: 2912
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2928
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2944
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2960
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2976
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 2992
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 3008
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 3024
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 3040
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 3056
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 3072
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 3088
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 3104
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 3120
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 3136
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 3152
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 3168
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 3184
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 3200
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Frame {
+        msec: 3216
+        hash: "c346bd1c6a8c04dff75bc14882a4d964"
+    }
+    Key {
+        type: 6
+        key: 86
+        modifiers: 67108864
+        text: "16"
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 3232
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3248
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3264
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3280
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3296
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3312
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3328
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Key {
+        type: 7
+        key: 86
+        modifiers: 67108864
+        text: "16"
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 3344
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3360
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3376
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3392
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3408
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3424
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3440
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3456
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3472
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3488
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3504
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3520
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3536
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Frame {
+        msec: 3552
+        hash: "4e24e7e6a205160479b0d23057a50b37"
+    }
+    Key {
+        type: 6
+        key: 86
+        modifiers: 67108864
+        text: "16"
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 3568
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3584
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3600
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3616
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3632
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3648
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3664
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3680
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Key {
+        type: 7
+        key: 86
+        modifiers: 67108864
+        text: "16"
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 3696
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3712
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3728
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3744
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3760
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3776
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3792
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3808
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3824
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3840
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3856
+        image: "usingLineEdit.4.png"
+    }
+    Frame {
+        msec: 3872
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3888
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3904
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3920
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3936
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3952
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3968
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 3984
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4000
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4016
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4032
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4048
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4064
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4080
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4096
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4112
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4128
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4144
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4160
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4176
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4192
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Key {
+        type: 7
+        key: 16777249
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 4208
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4224
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4240
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4256
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4272
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4288
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4304
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4320
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4336
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4352
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4368
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4384
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4400
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4416
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4432
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4448
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4464
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4480
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4496
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4512
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4528
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4544
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4560
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4576
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4592
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4608
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4624
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4640
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4656
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4672
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4688
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Frame {
+        msec: 4704
+        hash: "c6354c09a2bdf6ff23cae30640abdd65"
+    }
+    Mouse {
+        type: 2
+        button: 1
+        buttons: 1
+        x: 69; y: 40
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 4720
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 4736
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 4752
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 4768
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 4784
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 4800
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Mouse {
+        type: 3
+        button: 1
+        buttons: 0
+        x: 69; y: 40
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 4816
+        image: "usingLineEdit.5.png"
+    }
+    Frame {
+        msec: 4832
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 4848
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 4864
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 4880
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 4896
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 4912
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 4928
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 4944
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 4960
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 4976
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 4992
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5008
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5024
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5040
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5056
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5072
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5088
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5104
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5120
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5136
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5152
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5168
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5184
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5200
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5216
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5232
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5248
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5264
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5280
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5296
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5312
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5328
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5344
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Frame {
+        msec: 5360
+        hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
+    }
+    Key {
+        type: 6
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 5376
+        hash: "5435254889b22b00b043f0d748021369"
+    }
+    Frame {
+        msec: 5392
+        hash: "5435254889b22b00b043f0d748021369"
+    }
+    Frame {
+        msec: 5408
+        hash: "5435254889b22b00b043f0d748021369"
+    }
+    Frame {
+        msec: 5424
+        hash: "5435254889b22b00b043f0d748021369"
+    }
+    Frame {
+        msec: 5440
+        hash: "5435254889b22b00b043f0d748021369"
+    }
+    Frame {
+        msec: 5456
+        hash: "5435254889b22b00b043f0d748021369"
+    }
+    Frame {
+        msec: 5472
+        hash: "5435254889b22b00b043f0d748021369"
+    }
+    Frame {
+        msec: 5488
+        hash: "5435254889b22b00b043f0d748021369"
+    }
+    Frame {
+        msec: 5504
+        hash: "5435254889b22b00b043f0d748021369"
+    }
+    Frame {
+        msec: 5520
+        hash: "5435254889b22b00b043f0d748021369"
+    }
+    Frame {
+        msec: 5536
+        hash: "5435254889b22b00b043f0d748021369"
+    }
+    Frame {
+        msec: 5552
+        hash: "5435254889b22b00b043f0d748021369"
+    }
+    Frame {
+        msec: 5568
+        hash: "5435254889b22b00b043f0d748021369"
+    }
+    Frame {
+        msec: 5584
+        hash: "5435254889b22b00b043f0d748021369"
+    }
+    Frame {
+        msec: 5600
+        hash: "5435254889b22b00b043f0d748021369"
+    }
+    Frame {
+        msec: 5616
+        hash: "5435254889b22b00b043f0d748021369"
+    }
+    Key {
+        type: 7
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Key {
+        type: 6
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 5632
+        hash: "94fa3848acc33accfb607ce31029f06d"
+    }
+    Frame {
+        msec: 5648
+        hash: "94fa3848acc33accfb607ce31029f06d"
+    }
+    Key {
+        type: 7
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Key {
+        type: 6
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 5664
+        hash: "1ea423dd8084001f2357f1613a77daa4"
+    }
+    Frame {
+        msec: 5680
+        hash: "1ea423dd8084001f2357f1613a77daa4"
+    }
+    Key {
+        type: 7
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Key {
+        type: 6
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 5696
+        hash: "b0f808e85cc5721473da7cd84b1987dc"
+    }
+    Frame {
+        msec: 5712
+        hash: "b0f808e85cc5721473da7cd84b1987dc"
+    }
+    Key {
+        type: 7
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Key {
+        type: 6
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 5728
+        hash: "0667aaf2eb49c2375b831301fefb0035"
+    }
+    Frame {
+        msec: 5744
+        hash: "0667aaf2eb49c2375b831301fefb0035"
+    }
+    Key {
+        type: 7
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Key {
+        type: 6
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 5760
+        hash: "7680aca6b9feccc7e73efa79c1473ce8"
+    }
+    Frame {
+        msec: 5776
+        image: "usingLineEdit.6.png"
+    }
+    Key {
+        type: 7
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Key {
+        type: 6
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 5792
+        hash: "fbbc99bf6a697d60ef348148c0a48bc2"
+    }
+    Frame {
+        msec: 5808
+        hash: "fbbc99bf6a697d60ef348148c0a48bc2"
+    }
+    Key {
+        type: 7
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Key {
+        type: 6
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 5824
+        hash: "9550d8fab2512470dd9dde62f3494450"
+    }
+    Frame {
+        msec: 5840
+        hash: "9550d8fab2512470dd9dde62f3494450"
+    }
+    Key {
+        type: 7
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 5856
+        hash: "9550d8fab2512470dd9dde62f3494450"
+    }
+    Key {
+        type: 6
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 5872
+        hash: "ab79f5095d60f5cef526a074ef6d4e96"
+    }
+    Frame {
+        msec: 5888
+        hash: "ab79f5095d60f5cef526a074ef6d4e96"
+    }
+    Key {
+        type: 7
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Key {
+        type: 6
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 5904
+        hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
+    }
+    Key {
+        type: 7
+        key: 16777236
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 5920
+        hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
+    }
+    Frame {
+        msec: 5936
+        hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
+    }
+    Frame {
+        msec: 5952
+        hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
+    }
+    Frame {
+        msec: 5968
+        hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
+    }
+    Frame {
+        msec: 5984
+        hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
+    }
+    Frame {
+        msec: 6000
+        hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
+    }
+    Frame {
+        msec: 6016
+        hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
+    }
+    Frame {
+        msec: 6032
+        hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
+    }
+    Frame {
+        msec: 6048
+        hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
+    }
+    Key {
+        type: 6
+        key: 16777249
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 6064
+        hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
+    }
+    Frame {
+        msec: 6080
+        hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
+    }
+    Frame {
+        msec: 6096
+        hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
+    }
+    Frame {
+        msec: 6112
+        hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
+    }
+    Frame {
+        msec: 6128
+        hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
+    }
+    Frame {
+        msec: 6144
+        hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
+    }
+    Key {
+        type: 6
+        key: 16777234
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 6160
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6176
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6192
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6208
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6224
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6240
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6256
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6272
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6288
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6304
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6320
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6336
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6352
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6368
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6384
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6400
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Key {
+        type: 7
+        key: 16777234
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Key {
+        type: 6
+        key: 16777234
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 6416
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6432
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Key {
+        type: 7
+        key: 16777234
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Key {
+        type: 6
+        key: 16777234
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 6448
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6464
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Key {
+        type: 7
+        key: 16777234
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Key {
+        type: 6
+        key: 16777234
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Key {
+        type: 7
+        key: 16777234
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 6480
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6496
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6512
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6528
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6544
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6560
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6576
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6592
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6608
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6624
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6640
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6656
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6672
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6688
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6704
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6720
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6736
+        image: "usingLineEdit.7.png"
+    }
+    Frame {
+        msec: 6752
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6768
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6784
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Key {
+        type: 6
+        key: 16777234
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 6800
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Key {
+        type: 7
+        key: 16777234
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 6816
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6832
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6848
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6864
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6880
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6896
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6912
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6928
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Frame {
+        msec: 6944
+        hash: "ed2a8fae3e94e2f90232d172246d3783"
+    }
+    Key {
+        type: 6
+        key: 16777236
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 6960
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 6976
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 6992
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7008
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Key {
+        type: 7
+        key: 16777236
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 7024
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7040
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7056
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7072
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7088
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Key {
+        type: 6
+        key: 16777236
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 7104
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7120
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7136
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7152
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Key {
+        type: 7
+        key: 16777236
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 7168
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7184
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7200
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7216
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7232
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7248
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7264
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Key {
+        type: 6
+        key: 16777236
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 7280
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7296
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7312
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7328
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7344
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Key {
+        type: 7
+        key: 16777236
+        modifiers: 67108864
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 7360
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7376
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7392
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7408
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7424
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7440
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7456
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7472
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7488
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7504
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7520
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Key {
+        type: 7
+        key: 16777249
+        modifiers: 0
+        text: ""
+        autorep: false
+        count: 1
+    }
+    Frame {
+        msec: 7536
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7552
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7568
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7584
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7600
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7616
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7632
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7648
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7664
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7680
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7696
+        image: "usingLineEdit.8.png"
+    }
+    Frame {
+        msec: 7712
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7728
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7744
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7760
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7776
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7792
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7808
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7824
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7840
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7856
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7872
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7888
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7904
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7920
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7936
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7952
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7968
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 7984
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8000
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8016
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8032
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8048
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8064
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8080
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8096
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8112
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8128
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8144
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8160
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8176
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8192
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8208
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8224
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8240
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8256
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8272
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8288
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8304
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8320
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8336
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8352
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8368
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8384
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8400
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8416
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8432
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8448
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8464
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8480
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Frame {
+        msec: 8496
+        hash: "f1c4f46ee86ce1eb24fcd72106da0248"
+    }
+    Mouse {
+        type: 2
+        button: 1
+        buttons: 1
+        x: 61; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8512
+        hash: "e779fc73a3ca131452f62e889d5c96ea"
+    }
+    Frame {
+        msec: 8528
+        hash: "e779fc73a3ca131452f62e889d5c96ea"
+    }
+    Frame {
+        msec: 8544
+        hash: "e779fc73a3ca131452f62e889d5c96ea"
+    }
+    Frame {
+        msec: 8560
+        hash: "e779fc73a3ca131452f62e889d5c96ea"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 60; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 58; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8576
+        hash: "e779fc73a3ca131452f62e889d5c96ea"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 46; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8592
+        hash: "400b446983d944bac62889fb47e8d405"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 41; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 40; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8608
+        hash: "400b446983d944bac62889fb47e8d405"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 32; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8624
+        hash: "769278730ba7e2a31333496a0c99499f"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 31; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 30; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8640
+        hash: "769278730ba7e2a31333496a0c99499f"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 29; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8656
+        image: "usingLineEdit.9.png"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 28; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 27; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8672
+        hash: "c193a6f52a967c97961df08ebffe50c1"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 26; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8688
+        hash: "c193a6f52a967c97961df08ebffe50c1"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 25; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 24; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8704
+        hash: "c193a6f52a967c97961df08ebffe50c1"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 23; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 22; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8720
+        hash: "c193a6f52a967c97961df08ebffe50c1"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 20; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 19; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8736
+        hash: "ce0d865bf18c5c3ff93bda82f95e97c2"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 18; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 17; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8752
+        hash: "ce0d865bf18c5c3ff93bda82f95e97c2"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 16; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 15; y: 37
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8768
+        hash: "ce0d865bf18c5c3ff93bda82f95e97c2"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 14; y: 37
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 13; y: 37
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8784
+        hash: "ce0d865bf18c5c3ff93bda82f95e97c2"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 12; y: 37
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 11; y: 37
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8800
+        hash: "ce0d865bf18c5c3ff93bda82f95e97c2"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 10; y: 37
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 8; y: 37
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8816
+        hash: "af2a9c17451a89153e04418e056d9ea5"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 6; y: 37
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 5; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8832
+        hash: "749a1ccf2050c809be5e3820d3b2fba9"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 3; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 2; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8848
+        hash: "74f183256682200a804baa620a6ce978"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 0; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -1; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8864
+        hash: "9d837fb68c47ac3659b93e9f77cea0af"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -2; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -3; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8880
+        hash: "2dc20ba694548e05c80383d0fcc429fc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -5; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -6; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8896
+        hash: "0f5b95fbbdd932c8dbfaffd0cdd44dec"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -7; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -9; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8912
+        hash: "dd9e9d86eacd44b19c6c9c64c2abf007"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -10; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -11; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8928
+        hash: "7c67140abcbe7b8a36a7324016377272"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -12; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -13; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8944
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -14; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -15; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8960
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Frame {
+        msec: 8976
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -16; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -17; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 8992
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -18; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9008
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Frame {
+        msec: 9024
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Frame {
+        msec: 9040
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Frame {
+        msec: 9056
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Frame {
+        msec: 9072
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Frame {
+        msec: 9088
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Frame {
+        msec: 9104
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Frame {
+        msec: 9120
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Frame {
+        msec: 9136
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Frame {
+        msec: 9152
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Frame {
+        msec: 9168
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Frame {
+        msec: 9184
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Frame {
+        msec: 9200
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -17; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9216
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -16; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9232
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -14; y: 35
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -13; y: 35
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9248
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -11; y: 35
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -10; y: 34
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9264
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -8; y: 34
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -7; y: 34
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9280
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -6; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -5; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9296
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -3; y: 32
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: -1; y: 32
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9312
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 1; y: 31
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 3; y: 31
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9328
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 4; y: 31
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 6; y: 30
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9344
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 7; y: 30
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 8; y: 30
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9360
+        hash: "a085e2633649f0328f109bc4143eaccc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 10; y: 30
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 11; y: 30
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9376
+        hash: "fe89231a1ac7f48eee7cea14167b6616"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 12; y: 30
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 14; y: 30
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9392
+        hash: "fe89231a1ac7f48eee7cea14167b6616"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 15; y: 30
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 17; y: 30
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9408
+        hash: "fe89231a1ac7f48eee7cea14167b6616"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 21; y: 30
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 24; y: 30
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9424
+        hash: "e816757e030c8927d6721295f8685162"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 27; y: 31
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 30; y: 31
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9440
+        hash: "48f3a7d217ff85ad6088e18c1b88d6d7"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 33; y: 32
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 35; y: 32
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9456
+        hash: "48f3a7d217ff85ad6088e18c1b88d6d7"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 38; y: 32
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 39; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9472
+        hash: "6cb50f458ba606cc4204727a02e9191b"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 43; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 45; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9488
+        hash: "6cb50f458ba606cc4204727a02e9191b"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 48; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 50; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9504
+        hash: "936d1a2ceed861a48fb3dd0c54cb0982"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 51; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 53; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9520
+        hash: "936d1a2ceed861a48fb3dd0c54cb0982"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 55; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9536
+        hash: "936d1a2ceed861a48fb3dd0c54cb0982"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 56; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 58; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9552
+        hash: "9fb9dbff35b91d65e1e7ce569baede55"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 61; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 64; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9568
+        hash: "9fb9dbff35b91d65e1e7ce569baede55"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 67; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 70; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9584
+        hash: "78038f8df4ef17a164172c5bce16527d"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 73; y: 33
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 74; y: 34
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9600
+        hash: "b390e534fe43678ff031ec9de32b50d0"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 76; y: 34
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9616
+        image: "usingLineEdit.10.png"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 77; y: 34
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 78; y: 34
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9632
+        hash: "b390e534fe43678ff031ec9de32b50d0"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 79; y: 34
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 80; y: 35
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9648
+        hash: "b390e534fe43678ff031ec9de32b50d0"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 81; y: 35
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 84; y: 35
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9664
+        hash: "94fa3848acc33accfb607ce31029f06d"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 85; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 88; y: 36
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9680
+        hash: "b0f808e85cc5721473da7cd84b1987dc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 89; y: 37
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 91; y: 37
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9696
+        hash: "7680aca6b9feccc7e73efa79c1473ce8"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 92; y: 37
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 94; y: 37
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9712
+        hash: "ab79f5095d60f5cef526a074ef6d4e96"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 95; y: 37
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 96; y: 37
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9728
+        hash: "35c718664fc8e817e26054c307f908f9"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 98; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 100; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9744
+        hash: "23267fdc8202daba400140e51f5e3bdc"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 102; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 104; y: 38
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9760
+        hash: "0b2765ae503f0194e6e526ea6f9ed8f9"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 105; y: 39
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 108; y: 39
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9776
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 109; y: 39
+        modifiers: 0
+        sendToViewport: true
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 110; y: 39
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9792
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 111; y: 39
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9808
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 112; y: 40
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9824
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 113; y: 40
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9840
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 114; y: 40
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9856
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 9872
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 115; y: 40
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9888
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 116; y: 40
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9904
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 117; y: 40
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9920
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 118; y: 40
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9936
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 9952
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 119; y: 40
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9968
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 120; y: 40
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 9984
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 121; y: 40
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 10000
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10016
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Mouse {
+        type: 5
+        button: 0
+        buttons: 1
+        x: 122; y: 40
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 10032
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10048
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10064
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10080
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10096
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10112
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10128
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10144
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10160
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10176
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10192
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10208
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10224
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10240
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Mouse {
+        type: 3
+        button: 1
+        buttons: 0
+        x: 122; y: 40
+        modifiers: 0
+        sendToViewport: true
+    }
+    Frame {
+        msec: 10256
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10272
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10288
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10304
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10320
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10336
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10352
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10368
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10384
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10400
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10416
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10432
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10448
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10464
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10480
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10496
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10512
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10528
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10544
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10560
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10576
+        image: "usingLineEdit.11.png"
+    }
+    Frame {
+        msec: 10592
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10608
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10624
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10640
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10656
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10672
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10688
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10704
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10720
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10736
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10752
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10768
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10784
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10800
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10816
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10832
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10848
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10864
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10880
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10896
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10912
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10928
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10944
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10960
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10976
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 10992
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11008
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11024
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11040
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11056
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11072
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11088
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11104
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11120
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11136
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11152
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11168
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11184
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11200
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11216
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11232
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11248
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+    Frame {
+        msec: 11264
+        hash: "6f6154528c95da216e1f3830de000195"
+    }
+}
-- 
cgit v0.12


From 4214d58abd394eea2793f05a554bd9885b53d418 Mon Sep 17 00:00:00 2001
From: "Bradley T. Hughes" <bradley.hughes@nokia.com>
Date: Mon, 22 Nov 2010 10:52:31 +0100
Subject: Compile when USER_TIMER_MINIMUM isn't defined

Just user a value of zero instead. Windows will use USER_TIMER_MINIMUM
anyways (according to the SetTimer() docs).

Reviewed-by: trustme
---
 src/corelib/kernel/qeventdispatcher_win.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp
index 3dccda6..4eb0073 100644
--- a/src/corelib/kernel/qeventdispatcher_win.cpp
+++ b/src/corelib/kernel/qeventdispatcher_win.cpp
@@ -538,7 +538,7 @@ LRESULT QT_WIN_CALLBACK qt_GetMessageHook(int code, WPARAM wp, LPARAM lp)
                 // there are still input and timer messages in the message queue
                 d->sendPostedEventsWindowsTimerId = SetTimer(d->internalHwnd,
                                                              SendPostedEventsWindowsTimerId,
-                                                             USER_TIMER_MINIMUM,
+                                                             0, // we specify zero, but Windows uses USER_TIMER_MINIMUM
                                                              NULL);
                 // we don't check the return value of SetTimer()... if creating the timer failed, there's little
                 // we can do. we just have to accept that posted events will be starved
-- 
cgit v0.12

