<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>36436</bug_id>
          
          <creation_ts>2010-03-21 23:53:56 -0700</creation_ts>
          <short_desc>QGraphicsWebView crash when calling setView on the QWebPage...</short_desc>
          <delta_ts>2010-03-26 07:18:45 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>35784</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexis Menard (darktears)">menard</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>jesus</cc>
    
    <cc>kenneth</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>202408</commentid>
    <comment_count>0</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2010-03-21 23:53:56 -0700</bug_when>
    <thetext>Here is the test case :

#include &lt;QtGui&gt;
#include &lt;QtWebKit&gt;

class MyGraphicsItemWithItemChange : public QGraphicsWidget
{
public:
    MyGraphicsItemWithItemChange(QGraphicsItem *parent = 0) : QGraphicsWidget(parent)
    {
        webView = new QGraphicsWebView(this);
    }

    QVariant itemChange(GraphicsItemChange change, const QVariant &amp;value)
    {
        if (change == QGraphicsItem::ItemSceneHasChanged) {
            foreach (QGraphicsView *view, scene()-&gt;views()) {
                //FIXME: QWebPage _requires_ a QWidget view to not crash in places such as
                // WebCore::PopupMenu::show() due to hostWindow()-&gt;platformPageClient() == NULL
                // because QWebPage::d-&gt;client is NULL
                webView-&gt;page()-&gt;setView(view);
            }
        }
        return QGraphicsWidget::itemChange(change, value);
    }
    QGraphicsWebView *webView;
};


int main (int argc, char**argv)
{
    QApplication app(argc, argv);
    QGraphicsScene scene;
    QGraphicsView view(&amp;scene);
    QGraphicsWidget grandGrandParent;
    grandGrandParent.resize(200, 200);
    scene.addItem(&amp;grandGrandParent);
    QGraphicsWidget grandParent;
    grandParent.resize(200, 200);
    QGraphicsWidget parent(&amp;grandParent);
    parent.resize(200, 200);
    MyGraphicsItemWithItemChange item(&amp;parent);
    grandParent.setParentItem(&amp;grandGrandParent);
    view.show();
    return app.exec();
}

It&apos;s a bit nasty but it crashes. I&apos;m not sure the workaround in this code is still needed but at least it should not crash. It seems to be a memory corruption  . You better grab a coffee while working on that bug :D. Happy face.

KDE bugs related : https://bugs.kde.org/show_bug.cgi?id=227673 and also Amarok has the same issue (after I fixed another bug because of the same nasty itemChange thing but totally unrelated).

IRC : darktears</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202462</commentid>
    <comment_count>1</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-03-22 06:36:27 -0700</bug_when>
    <thetext>Bugs relating to the Qt port of WebKit should have the Qt keyword. See http://trac.webkit.org/wiki/QtWebKitBugs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202597</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-22 10:49:26 -0700</bug_when>
    <thetext>OK, this is not the right solution, but I understand the issue.

QtFallbackWebPopup sets the parent of the combo to pageClient()-&gt;ownerWidget()

pageClient for the QGraphicsWebView is the QGraphicsWebViewPrivate, and
ownerWidget returns q-&gt;Scene()-&gt;views().value(0);

Now that is fixed for the lifetime of the QGraphicsWebView, so when you change
the scene that would have to be changed as well.

I still do not understand how hostWindow()-&gt;platformPageClient() becomes null.

Ah, that might be due to line 1785 in qwebpage.cpp:

    setView(qobject_cast&lt;QWidget *&gt;(parent)); 

I guess this should be 

QWebView* view = qobject_cast&lt;QWebView*&gt;(parent);
if (view) {
   // setView installs a proper page client for the QWebView, which is needed
   // for the Qt parts of WebCore to function proper.
   setView(view);
}

Would be nice if you could test this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203160</commentid>
    <comment_count>3</comment_count>
      <attachid>51446</attachid>
    <who name="Luiz Agostini">luiz</who>
    <bug_when>2010-03-23 13:13:03 -0700</bug_when>
    <thetext>Created attachment 51446
checking pageClient existance before showing popups.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203175</commentid>
    <comment_count>4</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-23 13:40:52 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=51446) [details]
&gt; checking pageClient existance before showing popups.

This fixes the crash but we have a lot of issues with the current code that we need to handle in different patches.

It is indeed possible to not have a page client in the case you do not have a real view. In the case below that should not be the case though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203190</commentid>
    <comment_count>5</comment_count>
      <attachid>51446</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-23 13:54:29 -0700</bug_when>
    <thetext>Comment on attachment 51446
checking pageClient existance before showing popups.

Rejecting patch 51446 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--exit-after-n-failures=1&apos;, &apos;--quiet&apos;]&quot; exit_code: 1
Running build-dumprendertree
Compiling Java tests
make: Nothing to be done for `default&apos;.
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 12531 test cases.
inspector/timeline-recalculate-styles.html -&gt; failed

Exiting early after 1 failures. 8985 tests run.
173.13s total testing time

8984 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
6 test cases (&lt;1%) had stderr output

Full output: http://webkit-commit-queue.appspot.com/results/1189001</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203217</commentid>
    <comment_count>6</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-23 14:33:35 -0700</bug_when>
    <thetext>Seems like a flaky test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203220</commentid>
    <comment_count>7</comment_count>
      <attachid>51446</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-23 14:40:34 -0700</bug_when>
    <thetext>Comment on attachment 51446
checking pageClient existance before showing popups.

Yes.  Please feel encouraged to file a bug any time you see the commit-queue fail due to a flaky test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203222</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-23 14:42:34 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Seems like a flaky test

Filed bug 36507.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203248</commentid>
    <comment_count>9</comment_count>
      <attachid>51460</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-23 15:18:37 -0700</bug_when>
    <thetext>Created attachment 51460
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203271</commentid>
    <comment_count>10</comment_count>
      <attachid>51446</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-23 15:57:26 -0700</bug_when>
    <thetext>Comment on attachment 51446
checking pageClient existance before showing popups.

Clearing flags on attachment: 51446

Committed r56424: &lt;http://trac.webkit.org/changeset/56424&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203276</commentid>
    <comment_count>11</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2010-03-23 16:17:58 -0700</bug_when>
    <thetext>Is this a duplicate from https://bugs.webkit.org/show_bug.cgi?id=35051 , reported by Aaron Seigo?

I just want confirm so we can close both ones when this is fixed...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203417</commentid>
    <comment_count>12</comment_count>
      <attachid>51460</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-24 08:31:32 -0700</bug_when>
    <thetext>Comment on attachment 51460
Patch


&gt; +    virtual bool isQWidgetClient() { return false; }

This should be const.


&gt; +    d-&gt;unsetPageIfExists();
&gt;      d-&gt;page = page;

The pattern seems to call this function and then set the page. Why not merge both into one setPage() function,
that unsets the previous page and sets the new one (even if it&apos;s null)?

The rest of the patch looks good to me. I suggest to fix the const before landing (all three occurences), I leave the setPage vs. unsetPageIfExists() up to you :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203527</commentid>
    <comment_count>13</comment_count>
      <attachid>51460</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-24 12:05:44 -0700</bug_when>
    <thetext>Comment on attachment 51460
Patch

Landed (with const fixes) in 56450</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203528</commentid>
    <comment_count>14</comment_count>
      <attachid>51446</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-24 12:06:19 -0700</bug_when>
    <thetext>Comment on attachment 51446
checking pageClient existance before showing popups.

Landed in 56424</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203529</commentid>
    <comment_count>15</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-03-24 12:07:52 -0700</bug_when>
    <thetext>Fixes the crash. The fixes to make the below actually work will be tracked by other bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204561</commentid>
    <comment_count>16</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-26 07:18:20 -0700</bug_when>
    <thetext>Revision r56424 cherry-picked into qtwebkit-2.0 with commit 15c6faf45d0cf9a91361b051a817859c76e8aa50</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204562</commentid>
    <comment_count>17</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-26 07:18:31 -0700</bug_when>
    <thetext>Revision r56450 cherry-picked into qtwebkit-2.0 with commit 9df72bf8cf5f8ab361bec3eae9516ab49df58f46</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51446</attachid>
            <date>2010-03-23 13:13:03 -0700</date>
            <delta_ts>2010-03-24 12:06:19 -0700</delta_ts>
            <desc>checking pageClient existance before showing popups.</desc>
            <filename>0001-QGraphicsWebView-crash-when-calling-setView-on-the-Q.patch</filename>
            <type>text/plain</type>
            <size>1782</size>
            <attacher name="Luiz Agostini">luiz</attacher>
            
              <data encoding="base64">RnJvbSBmMjMyOWFkZDI2ZWI5NTkxYjU0ZWVlMWU0ZmY0NDMwNzFmYmYyY2ZmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMdWl6IEFnb3N0aW5pIDxsdWl6LmFnb3N0aW5pQG9wZW5ib3Nz
YS5vcmc+CkRhdGU6IFR1ZSwgMjMgTWFyIDIwMTAgMTc6MDc6MzcgLTAzMDAKU3ViamVjdDogW1BB
VENIXSBRR3JhcGhpY3NXZWJWaWV3IGNyYXNoIHdoZW4gY2FsbGluZyBzZXRWaWV3IG9uIHRoZSBR
V2ViUGFnZS4uLgogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2NDM2
CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkNoZWNraW5nIGZvciBwYWdlQ2xpZW50IGV4
aXN0YW5jZSBiZWZvcmUgc2hvd2luZyBwb3B1cHMuCgoqIFdlYkNvcmVTdXBwb3J0L1F0RmFsbGJh
Y2tXZWJQb3B1cC5jcHA6CihXZWJDb3JlOjpRdEZhbGxiYWNrV2ViUG9wdXA6OnNob3cpOgotLS0K
IFdlYktpdC9xdC9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMiAr
KysrKysrKysrKysKIFdlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAu
Y3BwIHwgICAgMyArKysKIDIgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMCBkZWxl
dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0No
YW5nZUxvZwppbmRleCAyMzE1MDY5Li4yNmEzOWE1IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0w
My0yMyAgTHVpeiBBZ29zdGluaSAgPGx1aXouYWdvc3RpbmlAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBRR3JhcGhpY3NXZWJW
aWV3IGNyYXNoIHdoZW4gY2FsbGluZyBzZXRWaWV3IG9uIHRoZSBRV2ViUGFnZS4uLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY0MzYKKworICAgICAg
ICBDaGVja2luZyBmb3IgcGFnZUNsaWVudCBleGlzdGFuY2UgYmVmb3JlIHNob3dpbmcgcG9wdXBz
LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlF0RmFsbGJhY2tXZWJQb3B1cDo6c2hvdyk6CisKIDIwMTAtMDMtMjMg
IExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5jcHAgYi9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmNwcAppbmRleCAzZjYwMjI1Li5jNmU1NTQ2
IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVw
LmNwcAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmNw
cApAQCAtOTksNiArOTksOSBAQCBRdEZhbGxiYWNrV2ViUG9wdXA6On5RdEZhbGxiYWNrV2ViUG9w
dXAoKQogCiB2b2lkIFF0RmFsbGJhY2tXZWJQb3B1cDo6c2hvdygpCiB7CisgICAgaWYgKCFwYWdl
Q2xpZW50KCkpCisgICAgICAgIHJldHVybjsKKwogI2lmIEVOQUJMRShTWU1CSUFOX0RJQUxPR19Q
Uk9WSURFUlMpCiAgICAgVFJBUF9JR05PUkUoc2hvd1M2MEJyb3dzZXJEaWFsb2coKSk7CiAjZWxz
ZQotLSAKMS42LjMuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51460</attachid>
            <date>2010-03-23 15:18:37 -0700</date>
            <delta_ts>2010-03-24 12:05:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-WebCore-Add-a-way-to-check-if-the-page-client-is-mak.patch</filename>
            <type>text/plain</type>
            <size>10182</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSBkMTM1ZjkwNGQ0MTI5ODg2MGYyMzBlYTU1NjZiMzI3MDRkZGMzOGFmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBUdWUsIDIzIE1hciAyMDEwIDE3OjQ2OjAyIC0wMzAwClN1YmplY3Q6
IFtQQVRDSF0gV2ViQ29yZTogQWRkIGEgd2F5IHRvIGNoZWNrIGlmIHRoZSBwYWdlIGNsaWVudCBp
cyBtYWtpbmcgdXNlIG9mCiBhIFFXaWRnZXQuCgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
CiogcGxhdGZvcm0vcXQvUVdlYlBhZ2VDbGllbnQuaDoKKFFXZWJQYWdlQ2xpZW50Ojppc1FXaWRn
ZXRDbGllbnQpOgoKV2ViS2l0L3F0OiBDYWxsaW5nIHNldFZpZXcgb24gYSBRV2ViUGFnZSBiZWlu
ZyBzaG93biBieSBhIFFHcmFwaGljc1dlYlZpZXcsCndvdWxkIHVuaW5zdGFsbCB0aGUgcGFnZSBj
bGllbnQsIHJlc3VsdGluZyBpbiBub3QgZXhwZWN0ZWQKYmVoYXZpb3VyLgoKUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCgoqIEFwaS9xd2VicGFnZS5jcHA6CihRV2ViUGFnZVdpZGdldENsaWVu
dDo6UVdlYlBhZ2VXaWRnZXRDbGllbnQpOgooUVdlYlBhZ2VXaWRnZXRDbGllbnQ6OmlzUVdpZGdl
dENsaWVudCk6CihRV2ViUGFnZVdpZGdldENsaWVudDo6c2NyZWVuTnVtYmVyKToKKFFXZWJQYWdl
OjpRV2ViUGFnZSk6CihRV2ViUGFnZTo6c2V0Vmlldyk6Ci0tLQogV2ViQ29yZS9DaGFuZ2VMb2cg
ICAgICAgICAgICAgICAgICAgIHwgICAxMCArKysrKysrCiBXZWJDb3JlL3BsYXRmb3JtL3F0L1FX
ZWJQYWdlQ2xpZW50LmggfCAgICA0ICsrLQogV2ViS2l0L3F0L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3
LmNwcCAgIHwgICA0NSArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KIFdlYktpdC9x
dC9BcGkvcXdlYnBhZ2UuY3BwICAgICAgICAgICB8ICAgNDMgKysrKysrKysrKysrKysrKysrKy0t
LS0tLS0tLS0tLS0KIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaCAgICAgICAgICAgICB8ICAgIDIg
KwogV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAgICAgICAgICAgIHwgICAzNCArKysrKysrKysr
KysrKysrKysrKy0tLS0tCiBXZWJLaXQvcXQvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgfCAg
IDI2ICsrKysrKysrKysrKysrKysrKysKIDcgZmlsZXMgY2hhbmdlZCwgMTI3IGluc2VydGlvbnMo
KyksIDM3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggMTdkOGFhMS4uNWNlNWU0MiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAx
MC0wMy0yMyAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEg
d2F5IHRvIGNoZWNrIGlmIHRoZSBwYWdlIGNsaWVudCBpcyBtYWtpbmcgdXNlIG9mCisgICAgICAg
IGEgUVdpZGdldC4KKworICAgICAgICAqIHBsYXRmb3JtL3F0L1FXZWJQYWdlQ2xpZW50Lmg6Cisg
ICAgICAgIChRV2ViUGFnZUNsaWVudDo6aXNRV2lkZ2V0Q2xpZW50KToKKwogMjAxMC0wMy0yMiAg
RGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2Ft
IFdlaW5pZy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvUVdlYlBhZ2VDbGllbnQu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvUVdlYlBhZ2VDbGllbnQuaAppbmRleCA2ZDQ3YzI5Li5j
NmFmYWIwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3F0L1FXZWJQYWdlQ2xpZW50LmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9RV2ViUGFnZUNsaWVudC5oCkBAIC00MCw3ICs0MCw5
IEBAIFFUX0VORF9OQU1FU1BBQ0UKIGNsYXNzIFFXZWJQYWdlQ2xpZW50IHsKIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIH5RV2ViUGFnZUNsaWVudCgpIHsgfQotICAgICAgICAKKworICAgIHZpcnR1YWwg
Ym9vbCBpc1FXaWRnZXRDbGllbnQoKSB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgdmlydHVhbCB2
b2lkIHNjcm9sbChpbnQgZHgsIGludCBkeSwgY29uc3QgUVJlY3QmKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIHVwZGF0ZShjb25zdCBRUmVjdCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0SW5w
dXRNZXRob2RFbmFibGVkKGJvb2wgZW5hYmxlKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJLaXQvcXQv
QXBpL3FncmFwaGljc3dlYnZpZXcuY3BwIGIvV2ViS2l0L3F0L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3
LmNwcAppbmRleCAxMDdhMzc2Li5jMjgxOTY2IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3Fn
cmFwaGljc3dlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5j
cHAKQEAgLTk1LDYgKzk1LDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIHZpcnR1YWwgflFHcmFw
aGljc1dlYlZpZXdQcml2YXRlKCk7CisKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsKGludCBkeCwg
aW50IGR5LCBjb25zdCBRUmVjdCYpOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGUoY29uc3QgUVJl
Y3QmIGRpcnR5UmVjdCk7CiAgICAgdmlydHVhbCB2b2lkIHNldElucHV0TWV0aG9kRW5hYmxlZChi
b29sIGVuYWJsZSk7CkBAIC0xMjEsNyArMTIyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBtYXJrRm9yU3luYyhib29sIHNjaGVkdWxlU3luYyk7CiAgICAgdm9pZCB1cGRhdGVDb21wb3Np
dGluZ1Njcm9sbFBvc2l0aW9uKCk7CiAjZW5kaWYKLSAgICAKKwogICAgIHZvaWQgdXBkYXRlUmVz
aXplc1RvQ29udGVudHNGb3JQYWdlKCk7CiAgICAgUVJlY3RGIGdyYXBoaWNzSXRlbVZpc2libGVS
ZWN0KCkgY29uc3Q7CiAjaWYgRU5BQkxFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCkBAIC0xMzEsNiAr
MTMyLDkgQEAgcHVibGljOgogICAgIHZvaWQgY3JlYXRlT3JEZWxldGVPdmVybGF5KCk7CiAKICAg
ICB2b2lkIHN5bmNMYXllcnMoKTsKKworICAgIHZvaWQgdW5zZXRQYWdlSWZFeGlzdHMoKTsKKwog
ICAgIHZvaWQgX3FfZG9Mb2FkRmluaXNoZWQoYm9vbCBzdWNjZXNzKTsKICAgICB2b2lkIF9xX2Nv
bnRlbnRzU2l6ZUNoYW5nZWQoY29uc3QgUVNpemUmKTsKICAgICB2b2lkIF9xX3NjYWxlQ2hhbmdl
ZCgpOwpAQCAtNjgyLDYgKzY4NiwyOSBAQCBib29sIFFHcmFwaGljc1dlYlZpZXc6OmV2ZW50KFFF
dmVudCogZXZlbnQpCiAgICAgcmV0dXJuIFFHcmFwaGljc1dpZGdldDo6ZXZlbnQoZXZlbnQpOwog
fQogCit2b2lkIFFHcmFwaGljc1dlYlZpZXdQcml2YXRlOjp1bnNldFBhZ2VJZkV4aXN0cygpCit7
CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBpZiB0aGUgcGFnZSBj
bGllbnQgaXMgdGhlIHNwZWNpYWwgY2xpZW50IGNvbnN0cnVjdGVkIGZvcgorICAgIC8vIGRlbGVn
YXRpbmcgdGhlIHJlc3BvbnNpYmlsaXRpZXMgdG8gYSBRV2lkZ2V0LCB3ZSBuZWVkCisgICAgLy8g
dG8gZGVzdHJveSBpdC4KKworICAgIGlmIChwYWdlLT5kLT5jbGllbnQgJiYgcGFnZS0+ZC0+Y2xp
ZW50LT5pc1FXaWRnZXRDbGllbnQoKSkKKyAgICAgICAgZGVsZXRlIHBhZ2UtPmQtPmNsaWVudDsK
KworICAgIHBhZ2UtPmQtPmNsaWVudCA9IDA7CisKKyAgICAvLyBpZiB0aGUgcGFnZSB3YXMgY3Jl
YXRlZCBieSB1cywgd2Ugb3duIGl0IGFuZCBuZWVkIHRvCisgICAgLy8gZGVzdHJveSBpdCBhcyB3
ZWxsLgorCisgICAgaWYgKHBhZ2UtPnBhcmVudCgpID09IHEpCisgICAgICAgIGRlbGV0ZSBwYWdl
OworICAgIGVsc2UKKyAgICAgICAgcGFnZS0+ZGlzY29ubmVjdChxKTsKK30KKwogLyohCiAgICAg
TWFrZXMgXGEgcGFnZSB0aGUgbmV3IHdlYiBwYWdlIG9mIHRoZSB3ZWIgZ3JhcGhpY3NpdGVtLgog
CkBAIC02OTYsMjQgKzcyMywyMCBAQCB2b2lkIFFHcmFwaGljc1dlYlZpZXc6OnNldFBhZ2UoUVdl
YlBhZ2UqIHBhZ2UpCiAgICAgaWYgKGQtPnBhZ2UgPT0gcGFnZSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgaWYgKGQtPnBhZ2UpIHsKLSAgICAgICAgZC0+cGFnZS0+ZC0+Y2xpZW50ID0gMDsgLy8g
dW5zZXQgdGhlIHBhZ2UgY2xpZW50Ci0gICAgICAgIGlmIChkLT5wYWdlLT5wYXJlbnQoKSA9PSB0
aGlzKQotICAgICAgICAgICAgZGVsZXRlIGQtPnBhZ2U7Ci0gICAgICAgIGVsc2UKLSAgICAgICAg
ICAgIGQtPnBhZ2UtPmRpc2Nvbm5lY3QodGhpcyk7Ci0gICAgfQotCisgICAgZC0+dW5zZXRQYWdl
SWZFeGlzdHMoKTsKICAgICBkLT5wYWdlID0gcGFnZTsKKwogICAgIGlmICghZC0+cGFnZSkKICAg
ICAgICAgcmV0dXJuOworCisgICAgZC0+cGFnZS0+ZC0+Y2xpZW50ID0gZDsgLy8gc2V0IHRoZSBw
YWdlIGNsaWVudAorCiAgICAgaWYgKGQtPm92ZXJsYXkpCiAgICAgICAgIGQtPm92ZXJsYXktPnBy
ZXBhcmVHZW9tZXRyeUNoYW5nZSgpOwotICAgIGQtPnBhZ2UtPmQtPmNsaWVudCA9IGQ7IC8vIHNl
dCB0aGUgcGFnZSBjbGllbnQKIAogICAgIFFTaXplIHNpemUgPSBnZW9tZXRyeSgpLnNpemUoKS50
b1NpemUoKTsKICAgICBwYWdlLT5zZXRWaWV3cG9ydFNpemUoc2l6ZSk7Ci0gICAgCisKICAgICBp
ZiAoZC0+cmVzaXplc1RvQ29udGVudHMpCiAgICAgICAgIGQtPnVwZGF0ZVJlc2l6ZXNUb0NvbnRl
bnRzRm9yUGFnZSgpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcCBi
L1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IGI3YmQ3YWEuLjU3N2ZiY2UgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCisrKyBiL1dlYktpdC9xdC9BcGkvcXdl
YnBhZ2UuY3BwCkBAIC0yMDgsNiArMjA4LDggQEAgcHVibGljOgogICAgICAgICBRX0FTU0VSVCh2
aWV3KTsKICAgICB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNRV2lkZ2V0Q2xpZW50KCkgeyByZXR1
cm4gdHJ1ZTsgfQorCiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbChpbnQgZHgsIGludCBkeSwgY29u
c3QgUVJlY3QmKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlKGNvbnN0IFFSZWN0JiBkaXJ0eVJl
Y3QpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRJbnB1dE1ldGhvZEVuYWJsZWQoYm9vbCBlbmFibGUp
OwpAQCAtMjgxLDEwICsyODMsOCBAQCBRUGFsZXR0ZSBRV2ViUGFnZVdpZGdldENsaWVudDo6cGFs
ZXR0ZSgpIGNvbnN0CiBpbnQgUVdlYlBhZ2VXaWRnZXRDbGllbnQ6OnNjcmVlbk51bWJlcigpIGNv
bnN0CiB7CiAjaWYgZGVmaW5lZChRX1dTX1gxMSkKLSAgICBpZiAodmlldykKLSAgICAgICAgcmV0
dXJuIHZpZXctPngxMUluZm8oKS5zY3JlZW4oKTsKKyAgICByZXR1cm4gdmlldy0+eDExSW5mbygp
LnNjcmVlbigpOwogI2VuZGlmCi0KICAgICByZXR1cm4gMDsKIH0KIApAQCAtMTc4MCw3ICsxNzgw
LDcgQEAgUVdlYlBhZ2U6OlFXZWJQYWdlKFFPYmplY3QgKnBhcmVudCkKICAgICA6IFFPYmplY3Qo
cGFyZW50KQogICAgICwgZChuZXcgUVdlYlBhZ2VQcml2YXRlKHRoaXMpKQogewotICAgIHNldFZp
ZXcocW9iamVjdF9jYXN0PFFXaWRnZXQgKj4ocGFyZW50KSk7CisgICAgc2V0Vmlldyhxb2JqZWN0
X2Nhc3Q8UVdpZGdldCo+KHBhcmVudCkpOwogCiAgICAgY29ubmVjdCh0aGlzLCBTSUdOQUwobG9h
ZFByb2dyZXNzKGludCkpLCB0aGlzLCBTTE9UKF9xX29uTG9hZFByb2dyZXNzQ2hhbmdlZChpbnQp
KSk7CiAjaWZuZGVmIE5ERUJVRwpAQCAtMTg2NCwyMSArMTg2NCwyOCBAQCBRV2ViSGlzdG9yeSAq
UVdlYlBhZ2U6Omhpc3RvcnkoKSBjb25zdAogCiAgICAgXHNhIHZpZXcoKQogKi8KLXZvaWQgUVdl
YlBhZ2U6OnNldFZpZXcoUVdpZGdldCAqdmlldykKLXsKLSAgICBpZiAodGhpcy0+dmlldygpICE9
IHZpZXcpIHsKLSAgICAgICAgZC0+dmlldyA9IHZpZXc7Ci0gICAgICAgIGlmICghdmlldykgewot
ICAgICAgICAgICAgZGVsZXRlIGQtPmNsaWVudDsKLSAgICAgICAgICAgIGQtPmNsaWVudCA9IDA7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBpZiAoIWQtPmNsaWVudCkgCi0gICAgICAg
ICAgICAgICAgZC0+Y2xpZW50ID0gbmV3IFFXZWJQYWdlV2lkZ2V0Q2xpZW50KHZpZXcpOwotICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PFFXZWJQYWdlV2lkZ2V0
Q2xpZW50Kj4oZC0+Y2xpZW50KS0+dmlldyA9IHZpZXc7Ci0gICAgICAgIH0KLSAgICAgICAgc2V0
Vmlld3BvcnRTaXplKHZpZXcgPyB2aWV3LT5zaXplKCkgOiBRU2l6ZSgwLCAwKSk7Cit2b2lkIFFX
ZWJQYWdlOjpzZXRWaWV3KFFXaWRnZXQqIHZpZXcpCit7CisgICAgaWYgKHRoaXMtPnZpZXcoKSA9
PSB2aWV3KQorICAgICAgICByZXR1cm47CisKKyAgICBkLT52aWV3ID0gdmlldzsKKyAgICBzZXRW
aWV3cG9ydFNpemUodmlldyA/IHZpZXctPnNpemUoKSA6IFFTaXplKDAsIDApKTsKKworICAgIC8v
IElmIHdlIGhhdmUgbm8gY2xpZW50LCB3ZSBpbnN0YWxsIGEgc3BlY2lhbCBjbGllbnQgZGVsZWdh
dGluZworICAgIC8vIHRoZSByZXNwb25zaWJpbGl0eSB0byB0aGUgUVdpZGdldC4gVGhpcyBpcyB0
aGUgY29kZSBwYXRoCisgICAgLy8gaGFuZGxpbmcgYS5vLiB0aGUgImxlZ2FjeSIgUVdlYlZpZXcu
CisgICAgLy8KKyAgICAvLyBJZiBzdWNoIGEgc3BlY2lhbCBkZWxlZ2F0ZSBhbHJlYWR5IGV4aXN0
LCB3ZSBzdWJzdGl0dXRlIHRoZSB2aWV3LgorCisgICAgaWYgKGQtPmNsaWVudCkgeworICAgICAg
ICBpZiAoZC0+Y2xpZW50LT5pc1FXaWRnZXRDbGllbnQoKSkKKyAgICAgICAgICAgIHN0YXRpY19j
YXN0PFFXZWJQYWdlV2lkZ2V0Q2xpZW50Kj4oZC0+Y2xpZW50KS0+dmlldyA9IHZpZXc7CisgICAg
ICAgIHJldHVybjsKICAgICB9CisKKyAgICBpZiAodmlldykKKyAgICAgICAgZC0+Y2xpZW50ID0g
bmV3IFFXZWJQYWdlV2lkZ2V0Q2xpZW50KHZpZXcpOwogfQogCiAvKiEKZGlmZiAtLWdpdCBhL1dl
YktpdC9xdC9BcGkvcXdlYnBhZ2UuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuaAppbmRleCAw
NzZmYjdjLi4yNGQwZWQ5IDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmgKKysr
IGIvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5oCkBAIC0zNTYsNyArMzU2LDkgQEAgcHJpdmF0ZToK
ICAgICBmcmllbmQgY2xhc3MgUVdlYkZyYW1lOwogICAgIGZyaWVuZCBjbGFzcyBRV2ViUGFnZVBy
aXZhdGU7CiAgICAgZnJpZW5kIGNsYXNzIFFXZWJWaWV3OworICAgIGZyaWVuZCBjbGFzcyBRV2Vi
Vmlld1ByaXZhdGU7CiAgICAgZnJpZW5kIGNsYXNzIFFHcmFwaGljc1dlYlZpZXc7CisgICAgZnJp
ZW5kIGNsYXNzIFFHcmFwaGljc1dlYlZpZXdQcml2YXRlOwogICAgIGZyaWVuZCBjbGFzcyBRV2Vi
SW5zcGVjdG9yOwogICAgIGZyaWVuZCBjbGFzcyBXZWJDb3JlOjpDaHJvbWVDbGllbnRRdDsKICAg
ICBmcmllbmQgY2xhc3MgV2ViQ29yZTo6RWRpdG9yQ2xpZW50UXQ7CmRpZmYgLS1naXQgYS9XZWJL
aXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcCBiL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCmluZGV4
IDE1NTMyNDQuLjQzODdmNGEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3Bw
CisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwCkBAIC00NSw2ICs0NSw3IEBAIHB1Ymxp
YzoKICAgICB9CiAKICAgICB2b2lkIF9xX3BhZ2VEZXN0cm95ZWQoKTsKKyAgICB2b2lkIHVuc2V0
UGFnZUlmRXhpc3RzKCk7CiAKICAgICBRV2ViVmlldyAqdmlldzsKICAgICBRV2ViUGFnZSAqcGFn
ZTsKQEAgLTM0Nyw2ICszNDgsMjkgQEAgUVdlYlBhZ2UgKlFXZWJWaWV3OjpwYWdlKCkgY29uc3QK
ICAgICByZXR1cm4gZC0+cGFnZTsKIH0KIAordm9pZCBRV2ViVmlld1ByaXZhdGU6OnVuc2V0UGFn
ZUlmRXhpc3RzKCkKK3sKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIC8v
IGlmIHRoZSBwYWdlIGNsaWVudCBpcyB0aGUgc3BlY2lhbCBjbGllbnQgY29uc3RydWN0ZWQgZm9y
CisgICAgLy8gZGVsZWdhdGluZyB0aGUgcmVzcG9uc2liaWxpdGllcyB0byBhIFFXaWRnZXQsIHdl
IG5lZWQKKyAgICAvLyB0byBkZXN0cm95IGl0LgorCisgICAgaWYgKHBhZ2UtPmQtPmNsaWVudCAm
JiBwYWdlLT5kLT5jbGllbnQtPmlzUVdpZGdldENsaWVudCgpKQorICAgICAgICBkZWxldGUgcGFn
ZS0+ZC0+Y2xpZW50OworCisgICAgcGFnZS0+ZC0+Y2xpZW50ID0gMDsKKworICAgIC8vIGlmIHRo
ZSBwYWdlIHdhcyBjcmVhdGVkIGJ5IHVzLCB3ZSBvd24gaXQgYW5kIG5lZWQgdG8KKyAgICAvLyBk
ZXN0cm95IGl0IGFzIHdlbGwuCisKKyAgICBpZiAocGFnZS0+cGFyZW50KCkgPT0gdmlldykKKyAg
ICAgICAgZGVsZXRlIHBhZ2U7CisgICAgZWxzZQorICAgICAgICBwYWdlLT5kaXNjb25uZWN0KHZp
ZXcpOworfQorCiAvKiEKICAgICBNYWtlcyBcYSBwYWdlIHRoZSBuZXcgd2ViIHBhZ2Ugb2YgdGhl
IHdlYiB2aWV3LgogCkBAIC0zNjAsMTQgKzM4NCwxMCBAQCB2b2lkIFFXZWJWaWV3OjpzZXRQYWdl
KFFXZWJQYWdlKiBwYWdlKQogewogICAgIGlmIChkLT5wYWdlID09IHBhZ2UpCiAgICAgICAgIHJl
dHVybjsKLSAgICBpZiAoZC0+cGFnZSkgewotICAgICAgICBkLT5wYWdlLT5kLT5jbGllbnQgPSAw
OyAvLyB1bnNldCB0aGUgcGFnZSBjbGllbnQKLSAgICAgICAgaWYgKGQtPnBhZ2UtPnBhcmVudCgp
ID09IHRoaXMpCi0gICAgICAgICAgICBkZWxldGUgZC0+cGFnZTsKLSAgICAgICAgZWxzZQotICAg
ICAgICAgICAgZC0+cGFnZS0+ZGlzY29ubmVjdCh0aGlzKTsKLSAgICB9CisKKyAgICBkLT51bnNl
dFBhZ2VJZkV4aXN0cygpOwogICAgIGQtPnBhZ2UgPSBwYWdlOworCiAgICAgaWYgKGQtPnBhZ2Up
IHsKICAgICAgICAgZC0+cGFnZS0+c2V0Vmlldyh0aGlzKTsKICAgICAgICAgZC0+cGFnZS0+c2V0
UGFsZXR0ZShwYWxldHRlKCkpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dl
YktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggZDZhNDZiOS4uZmYxODgwMiAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTAtMDMtMjMgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuICA8a2VubmV0aEB3ZWJr
aXQub3JnPgorCisgICAgICAgIENhbGxpbmcgc2V0VmlldygwKSBvbiBhIFFXZWJQYWdlIGJlaW5n
IHNob3duIGJ5IGEgUUdyYXBoaWNzV2ViVmlldywKKyAgICAgICAgd291bGQgdW5pbnN0YWxsIHRo
ZSBwYWdlIGNsaWVudCwgZGVsZXRpbmcgdGhlIFFHcmFwaGljc1dlYlZpZXdQcml2YXRlCisgICAg
ICAgIGluc3RhbmNlLiBJZiBjYWxsZWQgd2l0aCBhbiBhcmd1bWVudCwgaXQgd291bGQgZG8gYSB3
cm9uZyBzdGF0aWNfY2FzdAorICAgICAgICBhbmQgY3Jhc2guCisKKyAgICAgICAgKiBBcGkvcXdl
YnBhZ2UuY3BwOgorICAgICAgICAoUVdlYlBhZ2VXaWRnZXRDbGllbnQ6OlFXZWJQYWdlV2lkZ2V0
Q2xpZW50KToKKyAgICAgICAgKFFXZWJQYWdlV2lkZ2V0Q2xpZW50Ojppc1FXaWRnZXRDbGllbnQp
OgorICAgICAgICAoUVdlYlBhZ2VXaWRnZXRDbGllbnQ6OnNjcmVlbk51bWJlcik6CisgICAgICAg
IChRV2ViUGFnZTo6UVdlYlBhZ2UpOgorICAgICAgICAoUVdlYlBhZ2U6OnNldFZpZXcpOgorICAg
ICAgICAqIEFwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKFFHcmFwaGljc1dlYlZp
ZXdQcml2YXRlOjp1bnNldFBhZ2VJZkV4aXN0cyk6CisgICAgICAgIChRR3JhcGhpY3NXZWJWaWV3
OjpzZXRQYWdlKToKKyAgICAgICAgKiBBcGkvcXdlYnBhZ2UuY3BwOgorICAgICAgICAoUVdlYlBh
Z2VXaWRnZXRDbGllbnQ6OmlzUVdpZGdldENsaWVudCk6CisgICAgICAgIChRV2ViUGFnZVdpZGdl
dENsaWVudDo6c2NyZWVuTnVtYmVyKToKKyAgICAgICAgKFFXZWJQYWdlOjpRV2ViUGFnZSk6Cisg
ICAgICAgIChRV2ViUGFnZTo6c2V0Vmlldyk6CisgICAgICAgICogQXBpL3F3ZWJwYWdlLmg6Cisg
ICAgICAgICogQXBpL3F3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKFFXZWJWaWV3UHJpdmF0ZTo6dW5z
ZXRQYWdlSWZFeGlzdHMpOgorICAgICAgICAoUVdlYlZpZXc6OnNldFBhZ2UpOgorCiAyMDEwLTAz
LTIzICBEYXZpZCBMZW9uZyAgPGRhdmlkLmxlb25nQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBMYXN6bG8gR29tYm9zLgotLSAKMS42LjMuMwoK
</data>
<flag name="review"
          id="34712"
          type_id="1"
          status="+"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>