<?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>67344</bug_id>
          
          <creation_ts>2011-08-31 17:08:30 -0700</creation_ts>
          <short_desc>[Qt] Transform QtFallbackWebPopupCombo into QtWebComboBox</short_desc>
          <delta_ts>2011-09-01 11:38:27 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>62191</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Caio Marcelo de Oliveira Filho">cmarcelo</reporter>
          <assigned_to name="Caio Marcelo de Oliveira Filho">cmarcelo</assigned_to>
          <cc>benjamin</cc>
    
    <cc>igor.oliveira</cc>
    
    <cc>menard</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>460094</commentid>
    <comment_count>0</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-08-31 17:08:30 -0700</bug_when>
    <thetext>Create a replacement for QtFallbackWebPopupCombo that can be used also used by WK2 port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460108</commentid>
    <comment_count>1</comment_count>
      <attachid>105868</attachid>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-08-31 17:25:55 -0700</bug_when>
    <thetext>Created attachment 105868
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460410</commentid>
    <comment_count>2</comment_count>
      <attachid>105868</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-09-01 06:37:00 -0700</bug_when>
    <thetext>Comment on attachment 105868
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=105868&amp;action=review

&gt; Source/WebKit/qt/WebCoreSupport/QtWebComboBox.cpp:64
&gt; +    // This workaround was added in r40970 to address a problem in Qt. I _think_ this problem
&gt; +    // was solved in commit 3ab68cbf5436e3e66d0297b01af661bedecb8766 of Qt4 repository.
&gt; +#ifndef QT_NO_IM
&gt; +    QWidget* activeFocus = QApplication::focusWidget();
&gt; +    if (activeFocus &amp;&amp; activeFocus == QComboBox::view()
&gt; +        &amp;&amp; activeFocus-&gt;testAttribute(Qt::WA_InputMethodEnabled)) {
&gt; +        QInputContext* qic = activeFocus-&gt;inputContext();
&gt; +        if (qic) {
&gt; +            qic-&gt;reset();
&gt; +            qic-&gt;setFocusWidget(0);
&gt; +        }
&gt; +    }
&gt; +#endif // QT_NO_IM

I would just remove this, it is broken anyway and might bite us. It is quite dangeous resetting the input context behind our backs as it can easily get out of sync, for instance if I have a composition, then this would reset that from the internal state of the input context and it will get our of sync with webcore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460441</commentid>
    <comment_count>3</comment_count>
      <attachid>105868</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-09-01 07:33:14 -0700</bug_when>
    <thetext>Comment on attachment 105868
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=105868&amp;action=review

Beautiful refactor! r=me

&gt; Source/WebKit/qt/ChangeLog:11
&gt; +        signal) and a convenience to show its popup in the cursor position.

convenience method*

&gt;&gt; Source/WebKit/qt/WebCoreSupport/QtWebComboBox.cpp:64
&gt;&gt; +#endif // QT_NO_IM
&gt; 
&gt; I would just remove this, it is broken anyway and might bite us. It is quite dangeous resetting the input context behind our backs as it can easily get out of sync, for instance if I have a composition, then this would reset that from the internal state of the input context and it will get our of sync with webcore

Agreed.

&gt; Source/WebKit/qt/WebCoreSupport/QtWebComboBox.h:37
&gt; +    void showPopupInCursorPosition();

Would sound slightly better as showPopupAtCursorPosition().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460637</commentid>
    <comment_count>4</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-09-01 11:38:27 -0700</bug_when>
    <thetext>Committed r94321: &lt;http://trac.webkit.org/changeset/94321&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105868</attachid>
            <date>2011-08-31 17:25:55 -0700</date>
            <delta_ts>2011-09-01 07:33:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67344-20110831212553.patch</filename>
            <type>text/plain</type>
            <size>15294</size>
            <attacher name="Caio Marcelo de Oliveira Filho">cmarcelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQxODIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggMjIxYWYzZTM4Y2Yw
M2RlYjUxNzc3ODIwN2QyYTNjNWI3NDQ1Nzk3My4uN2QzMjk0NzgxZTZkYmU3NTRhOTA1ZGUxOWJi
MDU4NWRhZWI0ZDYwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsNSArMSw0MSBAQAogMjAxMS0wOC0z
MSAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVuYm9z
c2Eub3JnPgogCisgICAgICAgIFtRdF0gVHJhbnNmb3JtIFF0RmFsbGJhY2tXZWJQb3B1cENvbWJv
IGludG8gUXRXZWJDb21ib0JveAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjczNDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZW5hbWVkIFF0RmFsbGJhY2tXZWJQb3B1cCB0byBRdFdlYkNvbWJvQm94IGFu
ZCBkZWNvdXBsZWQgaXQgZnJvbQorICAgICAgICBRdEZhbGxiYWNrV2ViUG9wdXAuIFRoZSBuZXcg
Y2xhc3MgaXMgYSBRQ29tYm9Cb3ggd2l0aCB0aGUgZmVhdHVyZXMgdGhhdAorICAgICAgICB3ZSBu
ZWVkIGZvciBRdFdlYktpdDogdHJhY2tpbmcgd2hlbiB0aGUgcG9wdXAgaXMgaGlkZGVuICh2aWEg
dGhlIGRpZEhpZGUoKQorICAgICAgICBzaWduYWwpIGFuZCBhIGNvbnZlbmllbmNlIHRvIHNob3cg
aXRzIHBvcHVwIGluIHRoZSBjdXJzb3IgcG9zaXRpb24uCisKKyAgICAgICAgQW4gaW1wb3J0YW50
IGNoYW5nZSB3YXMgbWFkZSB0byB0aGUgY29tYm9ib3g6IGluc3RlYWQgb2YgaG9va2luZyBvdXIg
YWN0aW9ucyBpbgorICAgICAgICBzaG93UG9wdXAoKSBhbmQgaGlkZVBvcHVwKCksIGFzIHdlbGwg
YXMgd2F0Y2hpbmcgZm9yIHBvcHVwIHZpc2liaWxpdHkgZXZlbnRzLCB3ZQorICAgICAgICBub3cg
anVzdCB3YXRjaCBmb3IgdGhlIHZpc2liaWxpdHkgZXZlbnRzLiBUaGlzIGFsbG93ZWQgdXMgdG8g
Z2V0IHJpZCBvZgorICAgICAgICBtX3BvcHVwVmlzaWJsZSBhbmQgdHJhY2tpbmcgdGhlIFNob3cg
ZXZlbnQuCisKKyAgICAgICAgKiBRdFdlYktpdC5wcm86CisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvUXRGYWxsYmFja1dlYlBvcHVwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlF0RmFsbGJhY2tX
ZWJQb3B1cDo6UXRGYWxsYmFja1dlYlBvcHVwKToKKyAgICAgICAgKFdlYkNvcmU6OlF0RmFsbGJh
Y2tXZWJQb3B1cDo6flF0RmFsbGJhY2tXZWJQb3B1cCk6CisgICAgICAgIChXZWJDb3JlOjpRdEZh
bGxiYWNrV2ViUG9wdXA6OnNob3cpOgorICAgICAgICAoV2ViQ29yZTo6UXRGYWxsYmFja1dlYlBv
cHVwOjpkZWxldGVDb21ib0JveCk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFj
a1dlYlBvcHVwLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUXRXZWJDb21ib0JveC5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UXRXZWJDb21ib0JveDo6UXRXZWJDb21ib0JveCk6
CisgICAgICAgIChXZWJDb3JlOjpRdFdlYkNvbWJvQm94OjpzaG93UG9wdXBJbkN1cnNvclBvc2l0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlF0V2ViQ29tYm9Cb3g6OmhpZGVQb3B1cCk6CisgICAg
ICAgIChXZWJDb3JlOjpRdFdlYkNvbWJvQm94OjpldmVudEZpbHRlcik6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvUXRXZWJDb21ib0JveC5oOiBBZGRlZC4KKworICAgICAgICAqIHRlc3RzL3F3
ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcDoKKyAgICAgICAgKHRzdF9RV2ViRnJhbWU6OnBvcHVw
Rm9jdXMpOgorICAgICAgICBDaGFuZ2UgdGhlIHRlc3QgdG8gdXNlIFFPYmplY3Q6OmZpbmRDaGls
ZCgpLiBUaGUgb2xkIG1ldGhvZCBjb3VsZG4ndCBmaW5kIG91cgorICAgICAgICBuZXcgY2xhc3Mg
YmVjYXVzZSB3ZSBkZWZpbmVkIGEgbmV3IG1ldGFjbGFzcyBmb3IgaXQuCisKKzIwMTEtMDgtMzEg
IENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3Nh
Lm9yZz4KKwogICAgICAgICBbUXRdIFVuc2tpcCBBUEkgdGVzdCBmb3IgbG9hZCBzaWduYWxzIG9y
ZGVyCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI4
NQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1F0V2ViS2l0LnBybyBiL1NvdXJjZS9X
ZWJLaXQvcXQvUXRXZWJLaXQucHJvCmluZGV4IDk5MWZlOWVjN2FmYmZmMTY4NGQ2NmU4MjY3ZmY0
NWFmOWJlZTgyOWMuLjA2MGFkOWY4YTdiYTNmYjE4Y2YzZDY5MjIxOTZjMTUzY2RhMWNlYmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvUXRXZWJLaXQucHJvCisrKyBiL1NvdXJjZS9XZWJL
aXQvcXQvUXRXZWJLaXQucHJvCkBAIC0xNzcsNiArMTc3LDcgQEAgU09VUkNFUyArPSBcCiAgICAg
JCRQV0QvQXBpL3F3ZWJraXR2ZXJzaW9uLmNwcCBcCiAgICAgXAogICAgICQkUFdEL1dlYkNvcmVT
dXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5jcHAgXAorICAgICQkUFdEL1dlYkNvcmVTdXBwb3J0
L1F0V2ViQ29tYm9Cb3guY3BwIFwKICAgICAkJFBXRC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRRdC5jcHAgXAogICAgICQkUFdEL1dlYkNvcmVTdXBwb3J0L0NvbnRleHRNZW51Q2xpZW50UXQu
Y3BwIFwKICAgICAkJFBXRC9XZWJDb3JlU3VwcG9ydC9EcmFnQ2xpZW50UXQuY3BwIFwKQEAgLTIw
Miw2ICsyMDMsNyBAQCBIRUFERVJTICs9IFwKICAgICBcCiAgICAgJCRQV0QvV2ViQ29yZVN1cHBv
cnQvSW5zcGVjdG9yU2VydmVyUXQuaCBcCiAgICAgJCRQV0QvV2ViQ29yZVN1cHBvcnQvUXRGYWxs
YmFja1dlYlBvcHVwLmggXAorICAgICQkUFdEL1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29tYm9Cb3gu
aCBcCiAgICAgJCRQV0QvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5oIFwKICAg
ICAkJFBXRC9XZWJDb3JlU3VwcG9ydC9GcmFtZU5ldHdvcmtpbmdDb250ZXh0UXQuaCBcCiAgICAg
JCRQV0QvV2ViQ29yZVN1cHBvcnQvR2VvbG9jYXRpb25QZXJtaXNzaW9uQ2xpZW50UXQuaCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQ
b3B1cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQ
b3B1cC5jcHAKaW5kZXggYTUxNjEwNjM2MDcxNDk4YTMzZWZhMGFkNGQwNTQzY2RhNTczNGY3OC4u
ZjAwZTg1MDRhMjkxNTFlNjA5ZTY2NGQ0MWJmNjZjYmZhZjI5YWM4OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVwLmNwcApA
QCAtMjQsODIgKzI0LDIzIEBACiAjaWZuZGVmIFFUX05PX0NPTUJPQk9YCiAKICNpbmNsdWRlICJD
aHJvbWVDbGllbnRRdC5oIgorI2luY2x1ZGUgIlF0V2ViQ29tYm9Cb3guaCIKICNpbmNsdWRlICJR
V2ViUGFnZUNsaWVudC5oIgogI2luY2x1ZGUgInFncmFwaGljc3dlYnZpZXcuaCIKLSNpbmNsdWRl
IDxRQWJzdHJhY3RJdGVtVmlldz4KLSNpbmNsdWRlIDxRQXBwbGljYXRpb24+CiAjaW5jbHVkZSA8
UUdyYXBoaWNzUHJveHlXaWRnZXQ+Ci0jaW5jbHVkZSA8UUdyYXBoaWNzU2NlbmU+Ci0jaW5jbHVk
ZSA8UUdyYXBoaWNzVmlldz4KLSNpbmNsdWRlIDxRSW5wdXRDb250ZXh0PgotI2luY2x1ZGUgPFFN
b3VzZUV2ZW50PgogI2luY2x1ZGUgPFFTdGFuZGFyZEl0ZW1Nb2RlbD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1RdEZhbGxiYWNrV2ViUG9wdXBDb21ibzo6UXRGYWxsYmFja1dlYlBvcHVwQ29t
Ym8oUXRGYWxsYmFja1dlYlBvcHVwJiBvd25lclBvcHVwKQotICAgIDogbV9vd25lclBvcHVwKG93
bmVyUG9wdXApCi17Ci0gICAgLy8gSW5zdGFsbCBhbiBldmVudCBmaWx0ZXIgb24gdGhlIHZpZXcg
aW5zaWRlIHRoZSBjb21ibyBib3ggcG9wdXAgdG8gbWFrZSBzdXJlIHdlIGtub3cKLSAgICAvLyB3
aGVuIHRoZSBwb3B1cCBnb3QgY2xvc2VkLiBFLmcuIFFDb21ib0JveDo6aGlkZVBvcHVwKCkgd29u
J3QgYmUgY2FsbGVkIHdoZW4gdGhlIHBvcHVwCi0gICAgLy8gaXMgY2xvc2VkIGJ5IGEgbW91c2Ug
d2hlZWwgZXZlbnQgb3V0c2lkZSBpdHMgd2luZG93LgotICAgIHZpZXcoKS0+aW5zdGFsbEV2ZW50
RmlsdGVyKHRoaXMpOwotfQotCi12b2lkIFF0RmFsbGJhY2tXZWJQb3B1cENvbWJvOjpzaG93UG9w
dXAoKQotewotICAgIFFDb21ib0JveDo6c2hvd1BvcHVwKCk7Ci0gICAgbV9vd25lclBvcHVwLm1f
cG9wdXBWaXNpYmxlID0gdHJ1ZTsKLX0KLQotdm9pZCBRdEZhbGxiYWNrV2ViUG9wdXBDb21ibzo6
aGlkZVBvcHVwKCkKLXsKLSNpZm5kZWYgUVRfTk9fSU0KLSAgICBRV2lkZ2V0KiBhY3RpdmVGb2N1
cyA9IFFBcHBsaWNhdGlvbjo6Zm9jdXNXaWRnZXQoKTsKLSAgICBpZiAoYWN0aXZlRm9jdXMgJiYg
YWN0aXZlRm9jdXMgPT0gUUNvbWJvQm94Ojp2aWV3KCkKLSAgICAgICAgJiYgYWN0aXZlRm9jdXMt
PnRlc3RBdHRyaWJ1dGUoUXQ6OldBX0lucHV0TWV0aG9kRW5hYmxlZCkpIHsKLSAgICAgICAgUUlu
cHV0Q29udGV4dCogcWljID0gYWN0aXZlRm9jdXMtPmlucHV0Q29udGV4dCgpOwotICAgICAgICBp
ZiAocWljKSB7Ci0gICAgICAgICAgICBxaWMtPnJlc2V0KCk7Ci0gICAgICAgICAgICBxaWMtPnNl
dEZvY3VzV2lkZ2V0KDApOwotICAgICAgICB9Ci0gICAgfQotI2VuZGlmIC8vIFFUX05PX0lNCi0K
LSAgICBRQ29tYm9Cb3g6OmhpZGVQb3B1cCgpOwotCi0gICAgaWYgKCFtX293bmVyUG9wdXAubV9w
b3B1cFZpc2libGUpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fb3duZXJQb3B1cC5tX3BvcHVw
VmlzaWJsZSA9IGZhbHNlOwotICAgIGVtaXQgbV9vd25lclBvcHVwLmRpZEhpZGUoKTsKLSAgICBt
X293bmVyUG9wdXAuZGVzdHJveVBvcHVwKCk7Ci19Ci0KLWJvb2wgUXRGYWxsYmFja1dlYlBvcHVw
Q29tYm86OmV2ZW50RmlsdGVyKFFPYmplY3QqIHdhdGNoZWQsIFFFdmVudCogZXZlbnQpCi17Ci0g
ICAgUV9BU1NFUlQod2F0Y2hlZCA9PSB2aWV3KCkpOwotCi0gICAgaWYgKGV2ZW50LT50eXBlKCkg
PT0gUUV2ZW50OjpTaG93ICYmICFtX293bmVyUG9wdXAubV9wb3B1cFZpc2libGUpCi0gICAgICAg
IHNob3dQb3B1cCgpOwotICAgIGVsc2UgaWYgKGV2ZW50LT50eXBlKCkgPT0gUUV2ZW50OjpIaWRl
ICYmIG1fb3duZXJQb3B1cC5tX3BvcHVwVmlzaWJsZSkKLSAgICAgICAgaGlkZVBvcHVwKCk7Ci0K
LSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLS8vIFF0RmFsbGJhY2tXZWJQb3B1cAotCiBRdEZhbGxi
YWNrV2ViUG9wdXA6OlF0RmFsbGJhY2tXZWJQb3B1cChjb25zdCBDaHJvbWVDbGllbnRRdCogY2hy
b21lQ2xpZW50KQotICAgIDogbV9wb3B1cFZpc2libGUoZmFsc2UpCi0gICAgLCBtX2NvbWJvKDAp
CisgICAgOiBtX2NvbWJvKDApCiAgICAgLCBtX2Nocm9tZUNsaWVudChjaHJvbWVDbGllbnQpCiB7
CiB9CiAKIFF0RmFsbGJhY2tXZWJQb3B1cDo6flF0RmFsbGJhY2tXZWJQb3B1cCgpCiB7Ci0gICAg
ZGVzdHJveVBvcHVwKCk7CisgICAgZGVsZXRlQ29tYm9Cb3goKTsKIH0KIAogdm9pZCBRdEZhbGxi
YWNrV2ViUG9wdXA6OnNob3coY29uc3QgUVdlYlNlbGVjdERhdGEmIGRhdGEpCkBAIC0xMDcsMTAg
KzQ4LDEyIEBAIHZvaWQgUXRGYWxsYmFja1dlYlBvcHVwOjpzaG93KGNvbnN0IFFXZWJTZWxlY3RE
YXRhJiBkYXRhKQogICAgIGlmICghcGFnZUNsaWVudCgpKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBkZXN0cm95UG9wdXAoKTsKLSAgICBtX2NvbWJvID0gbmV3IFF0RmFsbGJhY2tXZWJQb3B1cENv
bWJvKCp0aGlzKTsKLSAgICBjb25uZWN0KG1fY29tYm8sIFNJR05BTChhY3RpdmF0ZWQoaW50KSks
Ci0gICAgICAgICAgICBTTE9UKGFjdGl2ZUNoYW5nZWQoaW50KSksIFF0OjpRdWV1ZWRDb25uZWN0
aW9uKTsKKyAgICBkZWxldGVDb21ib0JveCgpOworCisgICAgbV9jb21ibyA9IG5ldyBRdFdlYkNv
bWJvQm94KCk7CisgICAgY29ubmVjdChtX2NvbWJvLCBTSUdOQUwoYWN0aXZhdGVkKGludCkpLCBT
TE9UKGFjdGl2ZUNoYW5nZWQoaW50KSksIFF0OjpRdWV1ZWRDb25uZWN0aW9uKTsKKyAgICBjb25u
ZWN0KG1fY29tYm8sIFNJR05BTChkaWRIaWRlKCkpLCBTTE9UKGRlbGV0ZUNvbWJvQm94KCkpKTsK
KyAgICBjb25uZWN0KG1fY29tYm8sIFNJR05BTChkaWRIaWRlKCkpLCBTSUdOQUwoZGlkSGlkZSgp
KSk7CiAKICAgICBwb3B1bGF0ZShkYXRhKTsKIApAQCAtMTIzLDEyICs2Niw5IEBAIHZvaWQgUXRG
YWxsYmFja1dlYlBvcHVwOjpzaG93KGNvbnN0IFFXZWJTZWxlY3REYXRhJiBkYXRhKQogICAgICAg
ICBtX2NvbWJvLT5zZXRQYXJlbnQocGFnZUNsaWVudCgpLT5vd25lcldpZGdldCgpKTsKICAgICAg
ICAgbV9jb21iby0+c2V0R2VvbWV0cnkoUVJlY3QocmVjdC5sZWZ0KCksIHJlY3QudG9wKCksCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjdC53aWR0aCgpLCBtX2NvbWJvLT5zaXpl
SGludCgpLmhlaWdodCgpKSk7Ci0KICAgICB9CiAKLSAgICBRTW91c2VFdmVudCBldmVudChRRXZl
bnQ6Ok1vdXNlQnV0dG9uUHJlc3MsIFFDdXJzb3I6OnBvcygpLCBRdDo6TGVmdEJ1dHRvbiwKLSAg
ICAgICAgICAgICAgICAgICAgICBRdDo6TGVmdEJ1dHRvbiwgUXQ6Ok5vTW9kaWZpZXIpOwotICAg
IFFDb3JlQXBwbGljYXRpb246OnNlbmRFdmVudChtX2NvbWJvLCAmZXZlbnQpOworICAgIG1fY29t
Ym8tPnNob3dQb3B1cEluQ3Vyc29yUG9zaXRpb24oKTsKIH0KIAogdm9pZCBRdEZhbGxiYWNrV2Vi
UG9wdXA6OmhpZGUoKQpAQCAtMTM4LDE0ICs3OCw2IEBAIHZvaWQgUXRGYWxsYmFja1dlYlBvcHVw
OjpoaWRlKCkKICAgICAvLyBRdDo6UG9wdXAgd2luZG93IHdpbGwgaGlkZSBpdHNlbGYgb24gbW91
c2UgZXZlbnRzIG91dHNpZGUgaXRzIHdpbmRvdy4KIH0KIAotdm9pZCBRdEZhbGxiYWNrV2ViUG9w
dXA6OmRlc3Ryb3lQb3B1cCgpCi17Ci0gICAgaWYgKG1fY29tYm8pIHsKLSAgICAgICAgbV9jb21i
by0+ZGVsZXRlTGF0ZXIoKTsKLSAgICAgICAgbV9jb21ibyA9IDA7Ci0gICAgfQotfQotCiB2b2lk
IFF0RmFsbGJhY2tXZWJQb3B1cDo6cG9wdWxhdGUoY29uc3QgUVdlYlNlbGVjdERhdGEmIGRhdGEp
CiB7CiAgICAgUVN0YW5kYXJkSXRlbU1vZGVsKiBtb2RlbCA9IHFvYmplY3RfY2FzdDxRU3RhbmRh
cmRJdGVtTW9kZWwqPihtX2NvbWJvLT5tb2RlbCgpKTsKQEAgLTE5MSw2ICsxMjMsMTQgQEAgdm9p
ZCBRdEZhbGxiYWNrV2ViUG9wdXA6OmFjdGl2ZUNoYW5nZWQoaW50IGluZGV4KQogICAgIGVtaXQg
c2VsZWN0SXRlbShpbmRleCwgZmFsc2UsIGZhbHNlKTsKIH0KIAordm9pZCBRdEZhbGxiYWNrV2Vi
UG9wdXA6OmRlbGV0ZUNvbWJvQm94KCkKK3sKKyAgICBpZiAoIW1fY29tYm8pCisgICAgICAgIHJl
dHVybjsKKyAgICBtX2NvbWJvLT5kZWxldGVMYXRlcigpOworICAgIG1fY29tYm8gPSAwOworfQor
CiBRV2ViUGFnZUNsaWVudCogUXRGYWxsYmFja1dlYlBvcHVwOjpwYWdlQ2xpZW50KCkgY29uc3QK
IHsKICAgICByZXR1cm4gbV9jaHJvbWVDbGllbnQtPnBsYXRmb3JtUGFnZUNsaWVudCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9w
dXAuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRGYWxsYmFja1dlYlBvcHVw
LmgKaW5kZXggYTNiZDkwNTdlYzMxNDg3YTNkMDYwYzA1YTA3ZTY2OTY4ODFmZGIwNy4uZWExMTFm
YTVjZmUxYzM2MmI5NGNjYzRmYzBkMzUxZGU5ODUyYmU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9RdEZhbGxiYWNrV2ViUG9wdXAuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0RmFsbGJhY2tXZWJQb3B1cC5oCkBAIC0zNiw3ICsz
Niw3IEBAIGNsYXNzIFFXZWJQYWdlQ2xpZW50OwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBDaHJvbWVDbGllbnRRdDsKLWNsYXNzIFF0RmFsbGJhY2tXZWJQb3B1cENvbWJvOworY2xhc3Mg
UXRXZWJDb21ib0JveDsKIAogY2xhc3MgUXRGYWxsYmFja1dlYlBvcHVwIDogcHVibGljIFFXZWJT
ZWxlY3RNZXRob2QgewogICAgIFFfT0JKRUNUCkBAIC00Nyw4ICs0Nyw2IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgc2hvdyhjb25zdCBRV2ViU2VsZWN0RGF0YSYpOwogICAgIHZpcnR1YWwg
dm9pZCBoaWRlKCk7CiAKLSAgICB2b2lkIGRlc3Ryb3lQb3B1cCgpOwotCiAgICAgdm9pZCBzZXRH
ZW9tZXRyeShjb25zdCBRUmVjdCYgcmVjdCkgeyBtX2dlb21ldHJ5ID0gcmVjdDsgfQogICAgIFFS
ZWN0IGdlb21ldHJ5KCkgY29uc3QgeyByZXR1cm4gbV9nZW9tZXRyeTsgfQogCkBAIC01NywxMSAr
NTUsMTAgQEAgcHVibGljOgogCiBwcml2YXRlIHNsb3RzOgogICAgIHZvaWQgYWN0aXZlQ2hhbmdl
ZChpbnQpOworICAgIHZvaWQgZGVsZXRlQ29tYm9Cb3goKTsKIAogcHJpdmF0ZToKLSAgICBmcmll
bmQgY2xhc3MgUXRGYWxsYmFja1dlYlBvcHVwQ29tYm87Ci0gICAgYm9vbCBtX3BvcHVwVmlzaWJs
ZTsKLSAgICBRdEZhbGxiYWNrV2ViUG9wdXBDb21ibyogbV9jb21ibzsKKyAgICBRdFdlYkNvbWJv
Qm94KiBtX2NvbWJvOwogICAgIGNvbnN0IENocm9tZUNsaWVudFF0KiBtX2Nocm9tZUNsaWVudDsK
ICAgICBRUmVjdCBtX2dlb21ldHJ5OwogICAgIFFGb250IG1fZm9udDsKQEAgLTcxLDE3ICs2OCw2
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwb3B1bGF0ZShjb25zdCBRV2ViU2VsZWN0RGF0YSYpOwog
fTsKIAotY2xhc3MgUXRGYWxsYmFja1dlYlBvcHVwQ29tYm8gOiBwdWJsaWMgUUNvbWJvQm94IHsK
LXB1YmxpYzoKLSAgICBRdEZhbGxiYWNrV2ViUG9wdXBDb21ibyhRdEZhbGxiYWNrV2ViUG9wdXAm
IG93bmVyUG9wdXApOwotICAgIHZpcnR1YWwgdm9pZCBzaG93UG9wdXAoKTsKLSAgICB2aXJ0dWFs
IHZvaWQgaGlkZVBvcHVwKCk7Ci0gICAgdmlydHVhbCBib29sIGV2ZW50RmlsdGVyKFFPYmplY3Qq
IHdhdGNoZWQsIFFFdmVudCogZXZlbnQpOwotCi1wcml2YXRlOgotICAgIFF0RmFsbGJhY2tXZWJQ
b3B1cCYgbV9vd25lclBvcHVwOwotfTsKLQogfQogCiAjZW5kaWYgLy8gUVRfTk9fQ09NQk9CT1gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUXRXZWJDb21ib0Jv
eC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29tYm9Cb3guY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmE4ODBjOWMyNzZmYzFjMGI0MTk3MjRiMmVlZDY3NmViZDk2OTkyMjEKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1F0V2ViQ29t
Ym9Cb3guY3BwCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR2ly
aXNoIFJhbWFrcmlzaG5hbiA8Z2lyaXNoQGZvcndhcmRiaWFzLmluPgorICogQ29weXJpZ2h0IChD
KSAyMDA5LCAyMDExIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVz
KQorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlF0V2ViQ29tYm9Cb3guaCIKKwor
I2lmbmRlZiBRVF9OT19DT01CT0JPWAorCisjaW5jbHVkZSA8UXRHdWkvUUFic3RyYWN0SXRlbVZp
ZXc+CisjaW5jbHVkZSA8UXRHdWkvUUFwcGxpY2F0aW9uPgorI2luY2x1ZGUgPFF0R3VpL1FJbnB1
dENvbnRleHQ+CisjaW5jbHVkZSA8UXRHdWkvUU1vdXNlRXZlbnQ+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworUXRXZWJDb21ib0JveDo6UXRXZWJDb21ib0JveCgpCisgICAgOiBRQ29tYm9Cb3go
KQoreworICAgIC8vIEluc3RhbGwgYW4gZXZlbnQgZmlsdGVyIG9uIHRoZSB2aWV3IGluc2lkZSB0
aGUgY29tYm8gYm94IHBvcHVwIHRvIG1ha2Ugc3VyZSB3ZSBrbm93CisgICAgLy8gd2hlbiB0aGUg
cG9wdXAgZ290IGNsb3NlZC4gRS5nLiBRQ29tYm9Cb3g6OmhpZGVQb3B1cCgpIHdvbid0IGJlIGNh
bGxlZCB3aGVuIHRoZSBwb3B1cAorICAgIC8vIGlzIGNsb3NlZCBieSBhIG1vdXNlIHdoZWVsIGV2
ZW50IG91dHNpZGUgaXRzIHdpbmRvdy4KKyAgICB2aWV3KCktPmluc3RhbGxFdmVudEZpbHRlcih0
aGlzKTsKK30KKwordm9pZCBRdFdlYkNvbWJvQm94OjpzaG93UG9wdXBJbkN1cnNvclBvc2l0aW9u
KCkKK3sKKyAgICBRTW91c2VFdmVudCBldmVudChRRXZlbnQ6Ok1vdXNlQnV0dG9uUHJlc3MsIFFD
dXJzb3I6OnBvcygpLCBRdDo6TGVmdEJ1dHRvbiwKKyAgICAgICAgICAgICAgICAgICAgICBRdDo6
TGVmdEJ1dHRvbiwgUXQ6Ok5vTW9kaWZpZXIpOworICAgIFFBcHBsaWNhdGlvbjo6c2VuZEV2ZW50
KHRoaXMsICZldmVudCk7Cit9CisKK3ZvaWQgUXRXZWJDb21ib0JveDo6aGlkZVBvcHVwKCkKK3sK
KyAgICAvLyBUaGlzIHdvcmthcm91bmQgd2FzIGFkZGVkIGluIHI0MDk3MCB0byBhZGRyZXNzIGEg
cHJvYmxlbSBpbiBRdC4gSSBfdGhpbmtfIHRoaXMgcHJvYmxlbQorICAgIC8vIHdhcyBzb2x2ZWQg
aW4gY29tbWl0IDNhYjY4Y2JmNTQzNmUzZTY2ZDAyOTdiMDFhZjY2MWJlZGVjYjg3NjYgb2YgUXQ0
IHJlcG9zaXRvcnkuCisjaWZuZGVmIFFUX05PX0lNCisgICAgUVdpZGdldCogYWN0aXZlRm9jdXMg
PSBRQXBwbGljYXRpb246OmZvY3VzV2lkZ2V0KCk7CisgICAgaWYgKGFjdGl2ZUZvY3VzICYmIGFj
dGl2ZUZvY3VzID09IFFDb21ib0JveDo6dmlldygpCisgICAgICAgICYmIGFjdGl2ZUZvY3VzLT50
ZXN0QXR0cmlidXRlKFF0OjpXQV9JbnB1dE1ldGhvZEVuYWJsZWQpKSB7CisgICAgICAgIFFJbnB1
dENvbnRleHQqIHFpYyA9IGFjdGl2ZUZvY3VzLT5pbnB1dENvbnRleHQoKTsKKyAgICAgICAgaWYg
KHFpYykgeworICAgICAgICAgICAgcWljLT5yZXNldCgpOworICAgICAgICAgICAgcWljLT5zZXRG
b2N1c1dpZGdldCgwKTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZiAvLyBRVF9OT19JTQorCisg
ICAgUUNvbWJvQm94OjpoaWRlUG9wdXAoKTsKK30KKworYm9vbCBRdFdlYkNvbWJvQm94OjpldmVu
dEZpbHRlcihRT2JqZWN0KiB3YXRjaGVkLCBRRXZlbnQqIGV2ZW50KQoreworICAgIFFfQVNTRVJU
KHdhdGNoZWQgPT0gdmlldygpKTsKKyAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBRRXZlbnQ6Okhp
ZGUpCisgICAgICAgIGVtaXQgZGlkSGlkZSgpOworICAgIHJldHVybiBmYWxzZTsKK30KKworfQor
CisjZW5kaWYgLy8gUVRfTk9fQ09NQk9CT1gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvUXRXZWJDb21ib0JveC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9RdFdlYkNvbWJvQm94LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDNiMzBiYmYxY2MwMGRkM2MwNGM5
YWFlM2Q1NGFkMTFjNjA5MDc5YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvUXRXZWJDb21ib0JveC5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5
KC1pZXMpCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgor
ICoKKyAqLworCisjaWZuZGVmIFF0V2ViQ29tYm9Cb3hfaAorI2RlZmluZSBRdFdlYkNvbWJvQm94
X2gKKworI2luY2x1ZGUgIlBsYXRmb3JtLmgiCisKKyNpbmNsdWRlIDxRdEd1aS9RQ29tYm9Cb3g+
CisKKyNpZm5kZWYgUVRfTk9fQ09NQk9CT1gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBRdFdlYkNvbWJvQm94IDogcHVibGljIFFDb21ib0JveCB7CisgICAgUV9PQkpFQ1QKK3B1Ymxp
YzoKKyAgICBRdFdlYkNvbWJvQm94KCk7CisKKyAgICB2b2lkIHNob3dQb3B1cEluQ3Vyc29yUG9z
aXRpb24oKTsKKyAgICB2aXJ0dWFsIHZvaWQgaGlkZVBvcHVwKCk7CisgICAgdmlydHVhbCBib29s
IGV2ZW50RmlsdGVyKFFPYmplY3QqIHdhdGNoZWQsIFFFdmVudCopOworCitRX1NJR05BTFM6Cisg
ICAgdm9pZCBkaWRIaWRlKCk7Cit9OworCit9CisKKyNlbmRpZiAvLyBRVF9OT19DT01CT0JPWAor
CisjZW5kaWYgLy8gUXRXZWJDb21ib0JveF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L3Rlc3RzL3F3ZWJmcmFtZS90c3RfcXdlYmZyYW1lLmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvdGVz
dHMvcXdlYmZyYW1lL3RzdF9xd2ViZnJhbWUuY3BwCmluZGV4IGI0MjMzMTc2NDkzMjY2YTEyNjZj
ZjZhZjFmMGNhNmJhZTRlYWY4Y2MuLmMwYzRhMzVhNTU2NjQ4ZTEyNWZkMmFlNzM1YjljNGYzMTBh
YmJmODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9x
d2ViZnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvdGVzdHMvcXdlYmZyYW1lL3RzdF9x
d2ViZnJhbWUuY3BwCkBAIC03MDksMTUgKzcwOSw2IEBAIHByaXZhdGU6CiAgICAgICAgIGV2YWxK
UygiZGVsZXRlIHJldHZhbHVlOyBkZWxldGUgdHlwZXZhbHVlIik7CiAgICAgICAgIHJldHVybiBy
ZXQ7CiAgICAgfQotICAgIFFPYmplY3QqIGZpcnN0Q2hpbGRCeUNsYXNzTmFtZShRT2JqZWN0KiBw
YXJlbnQsIGNvbnN0IGNoYXIqIGNsYXNzTmFtZSkgewotICAgICAgICBjb25zdCBRT2JqZWN0TGlz
dCAmIGNoaWxkcmVuID0gcGFyZW50LT5jaGlsZHJlbigpOwotICAgICAgICBmb3JlYWNoIChRT2Jq
ZWN0KiBjaGlsZCwgY2hpbGRyZW4pIHsKLSAgICAgICAgICAgIGlmICghc3RyY21wKGNoaWxkLT5t
ZXRhT2JqZWN0KCktPmNsYXNzTmFtZSgpLCBjbGFzc05hbWUpKSB7Ci0gICAgICAgICAgICAgICAg
cmV0dXJuIGNoaWxkOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIHJldHVybiAw
OwotICAgIH0KIAogICAgIGNvbnN0IFFTdHJpbmcgc1RydWU7CiAgICAgY29uc3QgUVN0cmluZyBz
RmFsc2U7CkBAIC0yNzExLDggKzI3MDIsOCBAQCB2b2lkIHRzdF9RV2ViRnJhbWU6OnBvcHVwRm9j
dXMoKQogICAgIC8vIG9wZW4gdGhlIHBvcHVwIGJ5IGNsaWNraW5nLiBjaGVjayBpZiBmb2N1cyBp
cyBvbiB0aGUgcG9wdXAKICAgICBjb25zdCBRV2ViRWxlbWVudCB3ZWJDb21ibyA9IHZpZXcucGFn
ZSgpLT5tYWluRnJhbWUoKS0+ZG9jdW1lbnRFbGVtZW50KCkuZmluZEZpcnN0KFFMYXRpbjFTdHJp
bmcoInNlbGVjdFtuYW1lPXNlbGVjdF0iKSk7CiAgICAgUVRlc3Q6Om1vdXNlQ2xpY2soJnZpZXcs
IFF0OjpMZWZ0QnV0dG9uLCAwLCB3ZWJDb21iby5nZW9tZXRyeSgpLmNlbnRlcigpKTsKLSAgICBR
T2JqZWN0KiB3ZWJwb3B1cCA9IGZpcnN0Q2hpbGRCeUNsYXNzTmFtZSgmdmlldywgIlFDb21ib0Jv
eCIpOwotICAgIFFDb21ib0JveCogY29tYm8gPSBxb2JqZWN0X2Nhc3Q8UUNvbWJvQm94Kj4od2Vi
cG9wdXApOworCisgICAgUUNvbWJvQm94KiBjb21ibyA9IHZpZXcuZmluZENoaWxkPFFDb21ib0Jv
eCo+KCk7CiAgICAgUVZFUklGWShjb21ibyAhPSAwKTsKICAgICBRVFJZX1ZFUklGWSghdmlldy5o
YXNGb2N1cygpICYmIGNvbWJvLT52aWV3KCktPmhhc0ZvY3VzKCkpOyAvLyBGb2N1cyBzaG91bGQg
YmUgb24gdGhlIHBvcHVwCiAK
</data>
<flag name="review"
          id="102144"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="102271"
          type_id="3"
          status="-"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>