<?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>125769</bug_id>
          
          <creation_ts>2013-12-16 00:54:36 -0800</creation_ts>
          <short_desc>[iOS] Upstream WebCore/history changes</short_desc>
          <delta_ts>2013-12-16 15:51:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>History</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aestes</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>joepeck</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>960016</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-12-16 00:54:36 -0800</bug_when>
    <thetext>Upstream the iOS related changes to WebCore/history.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960017</commentid>
    <comment_count>1</comment_count>
      <attachid>219301</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-12-16 00:55:50 -0800</bug_when>
    <thetext>Created attachment 219301
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960105</commentid>
    <comment_count>2</comment_count>
      <attachid>219301</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-12-16 10:06:51 -0800</bug_when>
    <thetext>Comment on attachment 219301
Patch

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

&gt; Source/WebCore/history/CachedPage.cpp:103
&gt; +#if !PLATFORM(IOS)
&gt;      if (Element* element = focusedDocument-&gt;focusedElement())
&gt;          element-&gt;updateFocusAppearance(true);
&gt; +#else
&gt; +    if (Element* element = focusedDocument-&gt;focusedElement()) {
&gt; +        // We don&apos;t want focused nodes changing scroll position when restoring from the cache
&gt; +        // as it can cause ugly jumps before we manage to restore the cached position.
&gt; +        page.mainFrame().selection().suppressScrolling();
&gt; +        element-&gt;updateFocusAppearance(true);
&gt; +        page.mainFrame().selection().restoreScrolling();
&gt; +    }
&gt; +#endif

The #if should be around the calls to suppress/restoreScrolling, not around the entire block.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960273</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-12-16 15:51:01 -0800</bug_when>
    <thetext>Committed r160669: &lt;http://trac.webkit.org/changeset/160669&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219301</attachid>
            <date>2013-12-16 00:55:50 -0800</date>
            <delta_ts>2013-12-16 10:06:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125769-20131216005551.patch</filename>
            <type>text/plain</type>
            <size>18299</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWY4YWQyNGEzM2EwOWE1
YTk3ZDdjMTg0YTUxOWVhNjJjNzZjMGVlMC4uYzZjZmI4NzFlYmU5YjQyMTY4MjA5Zjk5Y2E1ZTI2
MGJlNzIxYmE4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQzIEBACiAyMDEzLTEyLTE1ICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBbaU9TXSBVcHN0cmVhbSBX
ZWJDb3JlL2hpc3RvcnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyNTc2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaGlzdG9yeS9CYWNrRm9yd2FyZENsaWVudC5oOgorICAgICAgICAqIGhpc3Rvcnkv
QmFja0ZvcndhcmRMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJhY2tGb3J3YXJkTGlzdDo6
Y3VycmVudCk6IEFkZGVkOyBndWFyZCBieSBQTEFURk9STShJT1MpLiBBbHNvIGFkZGVkIEZJWE1F
IGNvbW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpCYWNrRm9yd2FyZExpc3Q6OnNldEN1cnJlbnQp
OiBBZGRlZDsgZ3VhcmQgYnkgUExBVEZPUk0oSU9TKS4gQWxzbyBhZGRlZCBGSVhNRSBjb21tZW50
LgorICAgICAgICAoV2ViQ29yZTo6QmFja0ZvcndhcmRMaXN0OjpjbGVhckFsbFBhZ2VDYWNoZXMp
OiBBZGRlZDsgZ3VhcmRlZCBieSBQTEFURk9STShJT1MpLgorICAgICAgICAqIGhpc3RvcnkvQmFj
a0ZvcndhcmRMaXN0Lmg6CisgICAgICAgICogaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRGcmFtZUJhc2U6OnJlc3RvcmUpOiBBZGRlZCBpT1Mtc3BlY2lm
aWMgY29kZS4KKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZEZyYW1lOjpDYWNoZWRGcmFtZSk6IERp
dHRvLgorICAgICAgICAqIGhpc3RvcnkvQ2FjaGVkUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDYWNoZWRQYWdlOjpyZXN0b3JlKTogRGl0dG8uCisgICAgICAgICogaGlzdG9yeS9IaXN0b3J5
SXRlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5SXRlbTo6SGlzdG9yeUl0ZW0pOiBE
aXR0by4KKyAgICAgICAgKiBoaXN0b3J5L0hpc3RvcnlJdGVtLmg6CisgICAgICAgIChXZWJDb3Jl
OjpIaXN0b3J5SXRlbTo6c2NhbGUpOiBBZGRlZDsgZ3VhcmRlZCBieSBQTEFURk9STShJT1MpLgor
ICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeUl0ZW06OnNjYWxlSXNJbml0aWFsKTogQWRkZWQ7IGd1
YXJkZWQgYnkgUExBVEZPUk0oSU9TKS4KKyAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpz
ZXRTY2FsZSk6IEFkZGVkOyBndWFyZGVkIGJ5IFBMQVRGT1JNKElPUykuCisgICAgICAgIChXZWJD
b3JlOjpIaXN0b3J5SXRlbTo6dmlld3BvcnRBcmd1bWVudHMpOiBBZGRlZDsgZ3VhcmRlZCBieSBQ
TEFURk9STShJT1MpLgorICAgICAgICAoV2ViQ29yZTo6SGlzdG9yeUl0ZW06OnNldFZpZXdwb3J0
QXJndW1lbnRzKTogQWRkZWQ7IGd1YXJkZWQgYnkgUExBVEZPUk0oSU9TKS4KKyAgICAgICAgKFdl
YkNvcmU6Okhpc3RvcnlJdGVtOjpib29rbWFya0lEKTogQWRkZWQ7IGd1YXJkZWQgYnkgUExBVEZP
Uk0oSU9TKS4KKyAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlJdGVtOjpzZXRCb29rbWFya0lEKTog
QWRkZWQ7IGd1YXJkZWQgYnkgUExBVEZPUk0oSU9TKS4KKyAgICAgICAgKFdlYkNvcmU6Okhpc3Rv
cnlJdGVtOjpzaGFyZWRMaW5rVW5pcXVlSWRlbnRpZmllcik6IEFkZGVkOyBndWFyZGVkIGJ5IFBM
QVRGT1JNKElPUykuCisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5SXRlbTo6c2V0U2hhcmVkTGlu
a1VuaXF1ZUlkZW50aWZpZXIpOiBBZGRlZDsgZ3VhcmRlZCBieSBQTEFURk9STShJT1MpLgorICAg
ICAgICAqIGhpc3RvcnkvUGFnZUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmxvZ0NhbkNh
Y2hlRnJhbWVEZWNpc2lvbik6IEFkZGVkIGlPUy1zcGVjaWZpYyBjb2RlLgorICAgICAgICAoV2Vi
Q29yZTo6bG9nQ2FuQ2FjaGVQYWdlRGVjaXNpb24pOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2VDYWNoZTo6Y2FuQ2FjaGVQYWdlQ29udGFpbmluZ1RoaXNGcmFtZSk6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6UGFnZUNhY2hlOjpjYW5DYWNoZSk6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZUNhY2hlOjpwcnVuZVRvQ2FwYWNpdHlOb3cpOiBBZGRlZC4KKyAgICAgICAgKiBo
aXN0b3J5L1BhZ2VDYWNoZS5oOgorCisyMDEzLTEyLTE1ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVz
QGFwcGxlLmNvbT4KKwogICAgICAgICBbaU9TXSBVcHN0cmVhbSBXZWJDb3JlL2h0bWwKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTc2NQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkQ2xpZW50LmgKaW5kZXggMTFmYzM5Njg5MjQ1
NmVmY2Y5M2NlMzQ1OGUxM2U3NzQ2ZTcxYmQ2Ny4uZWI1YzNlOWYxYmNmNjE3YjhiZmFmOGMwMTgz
NjUzZmI1NjU5MWNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9y
d2FyZENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQmFja0ZvcndhcmRDbGll
bnQuaApAQCAtNTMsNiArNTMsMTUgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGNsb3Nl
KCkgPSAwOwogCisjaWYgUExBVEZPUk0oSU9TKQorICAgIC8vIEZJWE1FOiBUaGVzZSBtZXRob2Rz
IHNlZW0gdG8gdmlvbGF0ZSB0aGUgZW5jYXBzdWxhdGlvbiBvZiB0aGlzIGNsYXNzLgorICAgIHZp
cnR1YWwgdW5zaWduZWQgY3VycmVudCgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q3VycmVu
dCh1bnNpZ25lZCBuZXdDdXJyZW50KSA9IDA7CisKKyAgICAvLyBGSVhNRTogQ29uc2lkZXIgcmVu
YW1pbmcgdGhpcyBtZXRob2Qgb25jZSB3ZSB1cHN0cmVhbSB0aGUgaU9TIGNoYW5nZXMgdG8gV2Vi
Vmlldy5tbS4KKyAgICB2aXJ0dWFsIGJvb2wgY2xlYXJBbGxQYWdlQ2FjaGVzKCkgPSAwOworI2Vu
ZGlmCisKICAgICAvLyBGSVhNRTogRGVsZXRlIHRoZXNlIG9uY2UgYWxsIGNhbGxlcnMgYXJlIHVz
aW5nIEJhY2tGb3J3YXJkQ29udHJvbGxlcgogICAgIC8vIGluc3RlYWQgb2YgY2FsbGluZyB0aGlz
IGRpcmVjdGx5LgogICAgIEhpc3RvcnlJdGVtKiBiYWNrSXRlbSgpIHsgcmV0dXJuIGl0ZW1BdElu
ZGV4KC0xKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2Fy
ZExpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZExpc3QuY3BwCmlu
ZGV4IDFiNGY3NjU4YzI4NWI0ZmY0OGIyMTRhODcwMzY3ZGZjMGRlNGUxNzQuLmIwMzFlZjE2ZDAz
NTY1MzNiNjZkMTZlM2Q2ZjcxNWMzZmMwMWQwMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2hpc3RvcnkvQmFja0ZvcndhcmRMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5
L0JhY2tGb3J3YXJkTGlzdC5jcHAKQEAgLTIyOCw2ICsyMjgsMzIgQEAgSGlzdG9yeUl0ZW1WZWN0
b3ImIEJhY2tGb3J3YXJkTGlzdDo6ZW50cmllcygpCiAgICAgcmV0dXJuIG1fZW50cmllczsKIH0K
IAorI2lmIFBMQVRGT1JNKElPUykKK3Vuc2lnbmVkIEJhY2tGb3J3YXJkTGlzdDo6Y3VycmVudCgp
Cit7CisgICAgcmV0dXJuIG1fY3VycmVudDsKK30KKwordm9pZCBCYWNrRm9yd2FyZExpc3Q6OnNl
dEN1cnJlbnQodW5zaWduZWQgbmV3Q3VycmVudCkKK3sKKyAgICBtX2N1cnJlbnQgPSBuZXdDdXJy
ZW50OworfQorCitib29sIEJhY2tGb3J3YXJkTGlzdDo6Y2xlYXJBbGxQYWdlQ2FjaGVzKCkKK3sK
KyAgICBib29sIGRpZFJlbW92ZUF0TGVhc3RPbmVJdGVtID0gZmFsc2U7CisgICAgdW5zaWduZWQg
bGVuZ3RoID0gbV9lbnRyaWVzLnNpemUoKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
bGVuZ3RoOyArK2kpIHsKKyAgICAgICAgSGlzdG9yeUl0ZW0qIGl0ZW0gPSBtX2VudHJpZXNbaV0u
Z2V0KCk7CisgICAgICAgIGlmIChpdGVtLT5pc0luUGFnZUNhY2hlKCkpIHsKKyAgICAgICAgICAg
IGRpZFJlbW92ZUF0TGVhc3RPbmVJdGVtID0gdHJ1ZTsKKyAgICAgICAgICAgIHBhZ2VDYWNoZSgp
LT5yZW1vdmUoaXRlbSk7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIGRpZFJlbW92ZUF0
TGVhc3RPbmVJdGVtOworfQorI2VuZGlmCisKIHZvaWQgQmFja0ZvcndhcmRMaXN0OjpjbG9zZSgp
CiB7CiAgICAgaW50IHNpemUgPSBtX2VudHJpZXMuc2l6ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZExpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2hpc3Rv
cnkvQmFja0ZvcndhcmRMaXN0LmgKaW5kZXggYjg3ODVhNmMwOWRjZjNiMGVmYzZjODFkN2RhNzhj
YWRiZjEzZDhiYy4uMzU5Mzg5NGUwZTE4MmFkMjllODZkMDYyZDVlMWYyNGQ3NTFkMGQ3YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9CYWNrRm9yd2FyZExpc3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9oaXN0b3J5L0JhY2tGb3J3YXJkTGlzdC5oCkBAIC03Myw2ICs3MywxMyBA
QCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVJdGVtKEhpc3RvcnlJdGVtKik7CiAgICAgSGlzdG9y
eUl0ZW1WZWN0b3ImIGVudHJpZXMoKTsKIAorI2lmIFBMQVRGT1JNKElPUykKKyAgICB2aXJ0dWFs
IHVuc2lnbmVkIGN1cnJlbnQoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q3VycmVu
dCh1bnNpZ25lZCBuZXdDdXJyZW50KSBPVkVSUklERTsKKworICAgIHZpcnR1YWwgYm9vbCBjbGVh
ckFsbFBhZ2VDYWNoZXMoKSBPVkVSUklERTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIGV4cGxp
Y2l0IEJhY2tGb3J3YXJkTGlzdChQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2hpc3RvcnkvQ2FjaGVkRnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRG
cmFtZS5jcHAKaW5kZXggNjk5NzhmODkyODYxMWM4Njg1NGY2NjQ1ODRjMDBlMTU0OGFjZmYzNC4u
ZDRhNDAyM2QyZjE0NzA0Y2Q0NDdlZTI0MTFhMjJmNTI0N2Q3NjZmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aGlzdG9yeS9DYWNoZWRGcmFtZS5jcHAKQEAgLTEzMSw2ICsxMzEsMTggQEAgdm9pZCBDYWNoZWRG
cmFtZUJhc2U6OnJlc3RvcmUoKQogICAgICAgICBtX2NoaWxkRnJhbWVzW2ldLT5vcGVuKCk7CiAg
ICAgfQogCisjaWYgUExBVEZPUk0oSU9TKQorICAgIGlmIChtX2lzTWFpbkZyYW1lKSB7CisgICAg
ICAgIGZyYW1lLmxvYWRlcigpLmNsaWVudCgpLmRpZFJlc3RvcmVGcmFtZUhpZXJhcmNoeUZvckNh
Y2hlZEZyYW1lKCk7CisKKyAgICAgICAgaWYgKERPTVdpbmRvdyogZG9tV2luZG93ID0gbV9kb2N1
bWVudC0+ZG9tV2luZG93KCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBBZGQgU0NST0xMX0xJ
U1RFTkVSIHRvIHRoZSBsaXN0IG9mIGV2ZW50IHR5cGVzIG9uIERvY3VtZW50LCBhbmQgdXNlIG1f
ZG9jdW1lbnQtPmhhc0xpc3RlbmVyVHlwZSgpLiBTZWUgPHJkYXI6Ly9wcm9ibGVtLzk2MTU0ODI+
LgorICAgICAgICAgICAgaWYgKGRvbVdpbmRvdy0+c2Nyb2xsRXZlbnRMaXN0ZW5lckNvdW50KCkg
JiYgZnJhbWUucGFnZSgpKQorICAgICAgICAgICAgICAgIGZyYW1lLnBhZ2UoKS0+Y2hyb21lKCku
Y2xpZW50KCkuc2V0TmVlZHNTY3JvbGxOb3RpZmljYXRpb25zKCZmcmFtZSwgdHJ1ZSk7CisgICAg
ICAgIH0KKyAgICB9CisjZW5kaWYKKwogICAgIC8vIEZJWE1FOiB1cGRhdGUgUGFnZSBWaXNpYmls
aXR5IHN0YXRlIGhlcmUuCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExNjc3MAogICAgIG1fZG9jdW1lbnQtPmVucXVldWVQYWdlc2hvd0V2ZW50KFBhZ2Vz
aG93RXZlbnRQZXJzaXN0ZWQpOwpAQCAtMTM4LDcgKzE1MCw3IEBAIHZvaWQgQ2FjaGVkRnJhbWVC
YXNlOjpyZXN0b3JlKCkKICAgICBIaXN0b3J5SXRlbSogaGlzdG9yeUl0ZW0gPSBmcmFtZS5sb2Fk
ZXIoKS5oaXN0b3J5KCkuY3VycmVudEl0ZW0oKTsKICAgICBtX2RvY3VtZW50LT5lbnF1ZXVlUG9w
c3RhdGVFdmVudChoaXN0b3J5SXRlbSAmJiBoaXN0b3J5SXRlbS0+c3RhdGVPYmplY3QoKSA/IGhp
c3RvcnlJdGVtLT5zdGF0ZU9iamVjdCgpIDogU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpudWxsVmFs
dWUoKSk7CiAKLSNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorI2lmIEVOQUJMRShUT1VDSF9FVkVO
VFMpICYmICFQTEFURk9STShJT1MpCiAgICAgaWYgKG1fZG9jdW1lbnQtPmhhc1RvdWNoRXZlbnRI
YW5kbGVycygpKQogICAgICAgICBtX2RvY3VtZW50LT5wYWdlKCktPmNocm9tZSgpLmNsaWVudCgp
Lm5lZWRUb3VjaEV2ZW50cyh0cnVlKTsKICNlbmRpZgpAQCAtMjA5LDYgKzIyMSwxNCBAQCBDYWNo
ZWRGcmFtZTo6Q2FjaGVkRnJhbWUoRnJhbWUmIGZyYW1lKQogICAgICAgICBMT0coUGFnZUNhY2hl
LCAiRmluaXNoZWQgY3JlYXRpbmcgQ2FjaGVkRnJhbWUgZm9yIGNoaWxkIGZyYW1lIHdpdGggdXJs
ICclcycgYW5kIERvY3VtZW50TG9hZGVyICVwXG4iLCBtX3VybC5zdHJpbmcoKS51dGY4KCkuZGF0
YSgpLCBtX2RvY3VtZW50TG9hZGVyLmdldCgpKTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oSU9T
KQorICAgIGlmIChtX2lzTWFpbkZyYW1lKSB7CisgICAgICAgIGlmIChET01XaW5kb3cqIGRvbVdp
bmRvdyA9IG1fZG9jdW1lbnQtPmRvbVdpbmRvdygpKSB7CisgICAgICAgICAgICBpZiAoZG9tV2lu
ZG93LT5zY3JvbGxFdmVudExpc3RlbmVyQ291bnQoKSAmJiBmcmFtZS5wYWdlKCkpCisgICAgICAg
ICAgICAgICAgZnJhbWUucGFnZSgpLT5jaHJvbWUoKS5jbGllbnQoKS5zZXROZWVkc1Njcm9sbE5v
dGlmaWNhdGlvbnMoJmZyYW1lLCBmYWxzZSk7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKIH0K
IAogdm9pZCBDYWNoZWRGcmFtZTo6b3BlbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
aXN0b3J5L0NhY2hlZFBhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRQYWdl
LmNwcAppbmRleCA5OWY4ZWQ0OWMxYzBiZTkyMGY2NmViMWQ4ZWNhYjhhYjRiYWM5ZDJhLi45OGY0
MDRmNzdiZGI1NmViOTFlNWU3N2E5MWE5YjBjMGQ5ZjU5MmMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9oaXN0b3J5L0NhY2hlZFBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3Rv
cnkvQ2FjaGVkUGFnZS5jcHAKQEAgLTM5LDYgKzM5LDEwIEBACiAjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWRMZWFrQ291bnRlci5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAorI2lm
IFBMQVRGT1JNKElPUykKKyNpbmNsdWRlICJGcmFtZVNlbGVjdGlvbi5oIgorI2VuZGlmCisKIHVz
aW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTg1LDggKzg5LDE4
IEBAIHZvaWQgQ2FjaGVkUGFnZTo6cmVzdG9yZShQYWdlJiBwYWdlKQogICAgIC8vIFJlc3RvcmUg
dGhlIGZvY3VzIGFwcGVhcmFuY2UgZm9yIHRoZSBmb2N1c2VkIGVsZW1lbnQuCiAgICAgLy8gRklY
TUU6IFJpZ2h0IG5vdyB3ZSBkb24ndCBzdXBwb3J0IHBhZ2VzIHcvIGZyYW1lcyBpbiB0aGUgYi9m
IGNhY2hlLiAgVGhpcyBtYXkgbmVlZCB0byBiZSB0d2Vha2VkIHdoZW4gd2UgYWRkIHN1cHBvcnQg
Zm9yIHRoYXQuCiAgICAgRG9jdW1lbnQqIGZvY3VzZWREb2N1bWVudCA9IHBhZ2UuZm9jdXNDb250
cm9sbGVyKCkuZm9jdXNlZE9yTWFpbkZyYW1lKCkuZG9jdW1lbnQoKTsKKyNpZiAhUExBVEZPUk0o
SU9TKQogICAgIGlmIChFbGVtZW50KiBlbGVtZW50ID0gZm9jdXNlZERvY3VtZW50LT5mb2N1c2Vk
RWxlbWVudCgpKQogICAgICAgICBlbGVtZW50LT51cGRhdGVGb2N1c0FwcGVhcmFuY2UodHJ1ZSk7
CisjZWxzZQorICAgIGlmIChFbGVtZW50KiBlbGVtZW50ID0gZm9jdXNlZERvY3VtZW50LT5mb2N1
c2VkRWxlbWVudCgpKSB7CisgICAgICAgIC8vIFdlIGRvbid0IHdhbnQgZm9jdXNlZCBub2RlcyBj
aGFuZ2luZyBzY3JvbGwgcG9zaXRpb24gd2hlbiByZXN0b3JpbmcgZnJvbSB0aGUgY2FjaGUKKyAg
ICAgICAgLy8gYXMgaXQgY2FuIGNhdXNlIHVnbHkganVtcHMgYmVmb3JlIHdlIG1hbmFnZSB0byBy
ZXN0b3JlIHRoZSBjYWNoZWQgcG9zaXRpb24uCisgICAgICAgIHBhZ2UubWFpbkZyYW1lKCkuc2Vs
ZWN0aW9uKCkuc3VwcHJlc3NTY3JvbGxpbmcoKTsKKyAgICAgICAgZWxlbWVudC0+dXBkYXRlRm9j
dXNBcHBlYXJhbmNlKHRydWUpOworICAgICAgICBwYWdlLm1haW5GcmFtZSgpLnNlbGVjdGlvbigp
LnJlc3RvcmVTY3JvbGxpbmcoKTsKKyAgICB9CisjZW5kaWYKIAogICAgIGlmIChtX25lZWRTdHls
ZVJlY2FsY0ZvclZpc2l0ZWRMaW5rcykgewogICAgICAgICBmb3IgKEZyYW1lKiBmcmFtZSA9ICZw
YWdlLm1haW5GcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4
dCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmNwcAppbmRleCBiZTUxYjYyZWNh
NmVmMzVhMTk5ZTJmZTA1Nzc2NTdkZDdkNTBmYWYwLi44OTQ2MGQwY2ExZTM5NmYwOGUwMmFiMmQw
MGI3NzY2NWFhMTdkMjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3Rv
cnlJdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmNwcApA
QCAtNzAsNiArNzAsMTEgQEAgSGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKCkKICAgICAsIG1fZG9j
dW1lbnRTZXF1ZW5jZU51bWJlcihnZW5lcmF0ZVNlcXVlbmNlTnVtYmVyKCkpCiAgICAgLCBtX25l
eHQoMCkKICAgICAsIG1fcHJldigwKQorI2lmIFBMQVRGT1JNKElPUykKKyAgICAsIG1fc2NhbGUo
MCkKKyAgICAsIG1fc2NhbGVJc0luaXRpYWwoZmFsc2UpCisgICAgLCBtX2Jvb2ttYXJrSUQoMCkK
KyNlbmRpZgogewogfQogCkBAIC04Nyw2ICs5MiwxMSBAQCBIaXN0b3J5SXRlbTo6SGlzdG9yeUl0
ZW0oY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIGNvbnN0IFN0cmluZyYgdGl0bGUsIGRvdWJsZSB0
aQogICAgICwgbV9kb2N1bWVudFNlcXVlbmNlTnVtYmVyKGdlbmVyYXRlU2VxdWVuY2VOdW1iZXIo
KSkKICAgICAsIG1fbmV4dCgwKQogICAgICwgbV9wcmV2KDApCisjaWYgUExBVEZPUk0oSU9TKQor
ICAgICwgbV9zY2FsZSgwKQorICAgICwgbV9zY2FsZUlzSW5pdGlhbChmYWxzZSkKKyAgICAsIG1f
Ym9va21hcmtJRCgwKQorI2VuZGlmCiB7ICAgIAogICAgIGljb25EYXRhYmFzZSgpLnJldGFpbklj
b25Gb3JQYWdlVVJMKG1fdXJsU3RyaW5nKTsKIH0KQEAgLTEwNiw2ICsxMTYsMTEgQEAgSGlzdG9y
eUl0ZW06Okhpc3RvcnlJdGVtKGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBjb25zdCBTdHJpbmcm
IHRpdGxlLCBjb25zdCBTdHIKICAgICAsIG1fZG9jdW1lbnRTZXF1ZW5jZU51bWJlcihnZW5lcmF0
ZVNlcXVlbmNlTnVtYmVyKCkpCiAgICAgLCBtX25leHQoMCkKICAgICAsIG1fcHJldigwKQorI2lm
IFBMQVRGT1JNKElPUykKKyAgICAsIG1fc2NhbGUoMCkKKyAgICAsIG1fc2NhbGVJc0luaXRpYWwo
ZmFsc2UpCisgICAgLCBtX2Jvb2ttYXJrSUQoMCkKKyNlbmRpZgogewogICAgIGljb25EYXRhYmFz
ZSgpLnJldGFpbkljb25Gb3JQYWdlVVJMKG1fdXJsU3RyaW5nKTsKIH0KQEAgLTEyNiw2ICsxNDEs
MTEgQEAgSGlzdG9yeUl0ZW06Okhpc3RvcnlJdGVtKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJp
bmcmIHRhcmdldCwgY29uc3QgU3RyaW5nJiBwYXIKICAgICAsIG1fZG9jdW1lbnRTZXF1ZW5jZU51
bWJlcihnZW5lcmF0ZVNlcXVlbmNlTnVtYmVyKCkpCiAgICAgLCBtX25leHQoMCkKICAgICAsIG1f
cHJldigwKQorI2lmIFBMQVRGT1JNKElPUykKKyAgICAsIG1fc2NhbGUoMCkKKyAgICAsIG1fc2Nh
bGVJc0luaXRpYWwoZmFsc2UpCisgICAgLCBtX2Jvb2ttYXJrSUQoMCkKKyNlbmRpZgogeyAgICAK
ICAgICBpY29uRGF0YWJhc2UoKS5yZXRhaW5JY29uRm9yUGFnZVVSTChtX3VybFN0cmluZyk7CiB9
CkBAIC0xNTcsNiArMTc3LDEyIEBAIGlubGluZSBIaXN0b3J5SXRlbTo6SGlzdG9yeUl0ZW0oY29u
c3QgSGlzdG9yeUl0ZW0mIGl0ZW0pCiAgICAgLCBtX2l0ZW1TZXF1ZW5jZU51bWJlcihpdGVtLm1f
aXRlbVNlcXVlbmNlTnVtYmVyKQogICAgICwgbV9kb2N1bWVudFNlcXVlbmNlTnVtYmVyKGl0ZW0u
bV9kb2N1bWVudFNlcXVlbmNlTnVtYmVyKQogICAgICwgbV9mb3JtQ29udGVudFR5cGUoaXRlbS5t
X2Zvcm1Db250ZW50VHlwZSkKKyNpZiBQTEFURk9STShJT1MpCisgICAgLCBtX3NjYWxlKGl0ZW0u
bV9zY2FsZSkKKyAgICAsIG1fc2NhbGVJc0luaXRpYWwoaXRlbS5tX3NjYWxlSXNJbml0aWFsKQor
ICAgICwgbV9ib29rbWFya0lEKGl0ZW0ubV9ib29rbWFya0lEKQorICAgICwgbV9zaGFyZWRMaW5r
VW5pcXVlSWRlbnRpZmllcihpdGVtLm1fc2hhcmVkTGlua1VuaXF1ZUlkZW50aWZpZXIpCisjZW5k
aWYKIHsKICAgICBpZiAoaXRlbS5tX2Zvcm1EYXRhKQogICAgICAgICBtX2Zvcm1EYXRhID0gaXRl
bS5tX2Zvcm1EYXRhLT5jb3B5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5
L0hpc3RvcnlJdGVtLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L0hpc3RvcnlJdGVtLmgKaW5k
ZXggNDUxMWVjZWFiNDM0MmY2MjNiNTI2MTA5OTk2MjBmY2QzMjc0ZTlhOS4uNmQyOTMyZGE1ZjNm
NWQ3Nzg3N2QwODgyOTQwNzRlM2Q4YTY0NmYzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aGlzdG9yeS9IaXN0b3J5SXRlbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9y
eUl0ZW0uaApAQCAtMzQsNiArMzQsMTAgQEAKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCisjaWYgUExBVEZPUk0oSU9TKQorI2lu
Y2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKE1BQykK
ICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIHR5cGVkZWYgc3RydWN0IG9iamNfb2JqZWN0KiBp
ZDsKQEAgLTIwNiw2ICsyMTAsMjQgQEAgcHVibGljOgogICAgIGNvbnN0IFZlY3RvcjxpbnQ+JiBk
YWlseVZpc2l0Q291bnRzKCkgY29uc3QgeyByZXR1cm4gbV9kYWlseVZpc2l0Q291bnRzOyB9CiAg
ICAgY29uc3QgVmVjdG9yPGludD4mIHdlZWtseVZpc2l0Q291bnRzKCkgY29uc3QgeyByZXR1cm4g
bV93ZWVrbHlWaXNpdENvdW50czsgfQogCisjaWYgUExBVEZPUk0oSU9TKQorICAgIGZsb2F0IHNj
YWxlKCkgY29uc3QgeyByZXR1cm4gbV9zY2FsZTsgfQorICAgIGJvb2wgc2NhbGVJc0luaXRpYWwo
KSBjb25zdCB7IHJldHVybiBtX3NjYWxlSXNJbml0aWFsOyB9CisgICAgdm9pZCBzZXRTY2FsZShm
bG9hdCBuZXdTY2FsZSwgYm9vbCBpc0luaXRpYWwpCisgICAgeworICAgICAgICBtX3NjYWxlID0g
bmV3U2NhbGU7CisgICAgICAgIG1fc2NhbGVJc0luaXRpYWwgPSBpc0luaXRpYWw7CisgICAgfQor
CisgICAgY29uc3QgVmlld3BvcnRBcmd1bWVudHMmIHZpZXdwb3J0QXJndW1lbnRzKCkgY29uc3Qg
eyByZXR1cm4gbV92aWV3cG9ydEFyZ3VtZW50czsgfQorICAgIHZvaWQgc2V0Vmlld3BvcnRBcmd1
bWVudHMoY29uc3QgVmlld3BvcnRBcmd1bWVudHMmIHZpZXdwb3J0QXJndW1lbnRzKSB7IG1fdmll
d3BvcnRBcmd1bWVudHMgPSB2aWV3cG9ydEFyZ3VtZW50czsgfQorCisgICAgdWludDMyX3QgYm9v
a21hcmtJRCgpIGNvbnN0IHsgcmV0dXJuIG1fYm9va21hcmtJRDsgfQorICAgIHZvaWQgc2V0Qm9v
a21hcmtJRCh1aW50MzJfdCBib29rbWFya0lEKSB7IG1fYm9va21hcmtJRCA9IGJvb2ttYXJrSUQ7
IH0KKyAgICBTdHJpbmcgc2hhcmVkTGlua1VuaXF1ZUlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVy
biBtX3NoYXJlZExpbmtVbmlxdWVJZGVudGlmaWVyOyB9CisgICAgdm9pZCBzZXRTaGFyZWRMaW5r
VW5pcXVlSWRlbnRpZmllcihjb25zdCBTdHJpbmcmIHNoYXJlZExpbmtVbmlxdWVpZGVudGlmaWVy
KSB7IG1fc2hhcmVkTGlua1VuaXF1ZUlkZW50aWZpZXIgPSBzaGFyZWRMaW5rVW5pcXVlaWRlbnRp
ZmllcjsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgSGlzdG9yeUl0ZW0oKTsKICAgICBIaXN0
b3J5SXRlbShjb25zdCBTdHJpbmcmIHVybFN0cmluZywgY29uc3QgU3RyaW5nJiB0aXRsZSwgZG91
YmxlIGxhc3RWaXNpdGVkKTsKQEAgLTI3Miw3ICsyOTQsMTYgQEAgcHJpdmF0ZToKICAgICBIaXN0
b3J5SXRlbSogbV9uZXh0OwogICAgIEhpc3RvcnlJdGVtKiBtX3ByZXY7CiAgICAgT3duUHRyPENh
Y2hlZFBhZ2U+IG1fY2FjaGVkUGFnZTsKLSAgICAKKworI2lmIFBMQVRGT1JNKElPUykKKyAgICBm
bG9hdCBtX3NjYWxlOworICAgIGJvb2wgbV9zY2FsZUlzSW5pdGlhbDsKKyAgICBWaWV3cG9ydEFy
Z3VtZW50cyBtX3ZpZXdwb3J0QXJndW1lbnRzOworCisgICAgdWludDMyX3QgbV9ib29rbWFya0lE
OworICAgIFN0cmluZyBtX3NoYXJlZExpbmtVbmlxdWVJZGVudGlmaWVyOworI2VuZGlmCisKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgUmV0YWluUHRyPGlkPiBtX3ZpZXdTdGF0ZTsKICAgICBPd25Q
dHI8SGFzaE1hcDxTdHJpbmcsIFJldGFpblB0cjxpZD4+PiBtX3RyYW5zaWVudFByb3BlcnRpZXM7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAKaW5kZXggNjM2OTdiMjE1NzI5ZDQ0YmU0
ZTEyNGIzMzc5YTdhZTkzZDhlZmEzYy4uN2M2NTU4NzQ5Yjk0ZTIzZTA1YWY3YjI3OWI4ZTgxODRm
NmU1NzJlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcApAQCAtNTcsNiArNTcs
MTAgQEAKICNpbmNsdWRlICJEZXZpY2VQcm94aW1pdHlDb250cm9sbGVyLmgiCiAjZW5kaWYKIAor
I2lmIFBMQVRGT1JNKElPUykKKyNpbmNsdWRlICJNZW1vcnlQcmVzc3VyZUhhbmRsZXIuaCIKKyNl
bmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICNpZiAhZGVmaW5lZChOREVCVUcpCkBAIC0x
MDMsNyArMTA3LDE0IEBAIHN0YXRpYyB1bnNpZ25lZCBsb2dDYW5DYWNoZUZyYW1lRGVjaXNpb24o
RnJhbWUqIGZyYW1lLCBpbnQgaW5kZW50TGV2ZWwpCiAgICAgdW5zaWduZWQgcmVqZWN0UmVhc29u
cyA9IDA7CiAgICAgaWYgKCFmcmFtZS0+bG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKS0+bWFpbkRv
Y3VtZW50RXJyb3IoKS5pc051bGwoKSkgewogICAgICAgICBQQ0xPRygiICAgLU1haW4gZG9jdW1l
bnQgaGFzIGFuIGVycm9yIik7CisjaWYgIVBMQVRGT1JNKElPUykKICAgICAgICAgcmVqZWN0UmVh
c29ucyB8PSAxIDw8IE1haW5Eb2N1bWVudEVycm9yOworI2Vsc2UKKyAgICAgICAgaWYgKGZyYW1l
LT5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpLT5tYWluRG9jdW1lbnRFcnJvcigpLmlzQ2FuY2Vs
bGF0aW9uKCkgJiYgZnJhbWUtPmxvYWRlcigpLmRvY3VtZW50TG9hZGVyKCktPnN1YnJlc291cmNl
TG9hZGVyc0FyZVBhZ2VDYWNoZUFjY2VwdGFibGUoKSkKKyAgICAgICAgICAgIFBDTE9HKCIgICAg
LUJ1dCwgaXQgd2FzIGEgY2FuY2VsbGF0aW9uIGFuZCBhbGwgbG9hZGVycyBkdXJpbmcgdGhlIGNh
bmNlbCB3ZXJlIGxvYWRpbmcgaW1hZ2VzLiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBy
ZWplY3RSZWFzb25zIHw9IDEgPDwgTWFpbkRvY3VtZW50RXJyb3I7CisjZW5kaWYKICAgICB9CiAg
ICAgaWYgKGZyYW1lLT5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpLT5zdWJzdGl0dXRlRGF0YSgp
LmlzVmFsaWQoKSAmJiBmcmFtZS0+bG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKS0+c3Vic3RpdHV0
ZURhdGEoKS5mYWlsaW5nVVJMKCkuaXNFbXB0eSgpKSB7CiAgICAgICAgIFBDTE9HKCIgICAtRnJh
bWUgaXMgYW4gZXJyb3IgcGFnZSIpOwpAQCAtMTIxLDcgKzEzMiwxMiBAQCBzdGF0aWMgdW5zaWdu
ZWQgbG9nQ2FuQ2FjaGVGcmFtZURlY2lzaW9uKEZyYW1lKiBmcmFtZSwgaW50IGluZGVudExldmVs
KQogICAgIH0KICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCktPmRvbVdpbmRvdygpICYmIGZyYW1l
LT5kb2N1bWVudCgpLT5kb21XaW5kb3coKS0+aGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygp
LnVubG9hZEV2ZW50KSkgewogICAgICAgICBQQ0xPRygiICAgLUZyYW1lIGhhcyBhbiB1bmxvYWQg
ZXZlbnQgbGlzdGVuZXIiKTsKKyNpZiAhUExBVEZPUk0oSU9TKQogICAgICAgICByZWplY3RSZWFz
b25zIHw9IDEgPDwgSGFzVW5sb2FkTGlzdGVuZXI7CisjZWxzZQorICAgICAgICAvLyBpT1MgYWxs
b3dzIHBhZ2VzIHdpdGggdW5sb2FkIGV2ZW50IGxpc3RlbmVycyB0byBlbnRlciB0aGUgcGFnZSBj
YWNoZS4KKyAgICAgICAgUENMT0coIiAgICAtQlVUIGlPUyBhbGxvd3MgdGhlc2UgcGFnZXMgdG8g
YmUgY2FjaGVkLiIpOworI2VuZGlmCiAgICAgfQogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAg
ICAgaWYgKERhdGFiYXNlTWFuYWdlcjo6bWFuYWdlcigpLmhhc09wZW5EYXRhYmFzZXMoZnJhbWUt
PmRvY3VtZW50KCkpKSB7CkBAIC0yMjMsNyArMjM5LDcgQEAgc3RhdGljIHZvaWQgbG9nQ2FuQ2Fj
aGVQYWdlRGVjaXNpb24oUGFnZSogcGFnZSkKICAgICAgICAgUENMT0coIiAgIC1QYWdlIHNldHRp
bmdzIHNheXMgYi9mIGNhY2hlIGRpc2FibGVkIik7CiAgICAgICAgIHJlamVjdFJlYXNvbnMgfD0g
MSA8PCBEaXNhYmxlZFBhZ2VDYWNoZTsKICAgICB9Ci0jaWYgRU5BQkxFKERFVklDRV9PUklFTlRB
VElPTikKKyNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKSAmJiAhUExBVEZPUk0oSU9TKQog
ICAgIGlmIChEZXZpY2VNb3Rpb25Db250cm9sbGVyOjppc0FjdGl2ZUF0KHBhZ2UpKSB7CiAgICAg
ICAgIFBDTE9HKCIgICAtUGFnZSBpcyB1c2luZyBEZXZpY2VNb3Rpb24iKTsKICAgICAgICAgcmVq
ZWN0UmVhc29ucyB8PSAxIDw8IFVzZXNEZXZpY2VNb3Rpb247CkBAIC0zMTIsMTIgKzMyOCwxOCBA
QCBib29sIFBhZ2VDYWNoZTo6Y2FuQ2FjaGVQYWdlQ29udGFpbmluZ1RoaXNGcmFtZShGcmFtZSog
ZnJhbWUpCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gZnJhbWUtPmRvY3VtZW50KCk7CiAgICAg
CiAgICAgcmV0dXJuIGRvY3VtZW50TG9hZGVyCisjaWYgIVBMQVRGT1JNKElPUykKICAgICAgICAg
JiYgZG9jdW1lbnRMb2FkZXItPm1haW5Eb2N1bWVudEVycm9yKCkuaXNOdWxsKCkKKyNlbHNlCisg
ICAgICAgICYmIChkb2N1bWVudExvYWRlci0+bWFpbkRvY3VtZW50RXJyb3IoKS5pc051bGwoKSB8
fCAoZG9jdW1lbnRMb2FkZXItPm1haW5Eb2N1bWVudEVycm9yKCkuaXNDYW5jZWxsYXRpb24oKSAm
JiBkb2N1bWVudExvYWRlci0+c3VicmVzb3VyY2VMb2FkZXJzQXJlUGFnZUNhY2hlQWNjZXB0YWJs
ZSgpKSkKKyNlbmRpZgogICAgICAgICAvLyBEbyBub3QgY2FjaGUgZXJyb3IgcGFnZXMgKHRoZXNl
IGNhbiBiZSByZWNvZ25pemVkIGFzIHBhZ2VzIHdpdGggc3Vic3RpdHV0ZSBkYXRhIG9yIHVucmVh
Y2hhYmxlIFVSTHMpLgogICAgICAgICAmJiAhKGRvY3VtZW50TG9hZGVyLT5zdWJzdGl0dXRlRGF0
YSgpLmlzVmFsaWQoKSAmJiAhZG9jdW1lbnRMb2FkZXItPnN1YnN0aXR1dGVEYXRhKCkuZmFpbGlu
Z1VSTCgpLmlzRW1wdHkoKSkKICAgICAgICAgJiYgKCFmcmFtZUxvYWRlci5zdWJmcmFtZUxvYWRl
cigpLmNvbnRhaW5zUGx1Z2lucygpIHx8IGZyYW1lLT5wYWdlKCktPnNldHRpbmdzKCkucGFnZUNh
Y2hlU3VwcG9ydHNQbHVnaW5zKCkpCiAgICAgICAgICYmICghZG9jdW1lbnQtPnVybCgpLnByb3Rv
Y29sSXMoImh0dHBzIikgfHwgKCFkb2N1bWVudExvYWRlci0+cmVzcG9uc2UoKS5jYWNoZUNvbnRy
b2xDb250YWluc05vQ2FjaGUoKSAmJiAhZG9jdW1lbnRMb2FkZXItPnJlc3BvbnNlKCkuY2FjaGVD
b250cm9sQ29udGFpbnNOb1N0b3JlKCkpKQorI2lmICFQTEFURk9STShJT1MpCiAgICAgICAgICYm
ICghZG9jdW1lbnQtPmRvbVdpbmRvdygpIHx8ICFkb2N1bWVudC0+ZG9tV2luZG93KCktPmhhc0V2
ZW50TGlzdGVuZXJzKGV2ZW50TmFtZXMoKS51bmxvYWRFdmVudCkpCisjZW5kaWYKICNpZiBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogICAgICAgICAmJiAhRGF0YWJhc2VNYW5hZ2VyOjptYW5hZ2VyKCku
aGFzT3BlbkRhdGFiYXNlcyhkb2N1bWVudCkKICNlbmRpZgpAQCAtMzQzLDcgKzM2NSwxMiBAQCBi
b29sIFBhZ2VDYWNoZTo6Y2FuQ2FjaGUoUGFnZSogcGFnZSkgY29uc3QKICNpZiAhZGVmaW5lZChO
REVCVUcpCiAgICAgbG9nQ2FuQ2FjaGVQYWdlRGVjaXNpb24ocGFnZSk7CiAjZW5kaWYKLSAgICAK
KworI2lmIFBMQVRGT1JNKElPUykKKyAgICBpZiAobWVtb3J5UHJlc3N1cmVIYW5kbGVyKCkuaGFz
UmVjZWl2ZWRNZW1vcnlQcmVzc3VyZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYK
KwogICAgIC8vIENhY2hlIHRoZSBwYWdlLCBpZiBwb3NzaWJsZS4KICAgICAvLyBEb24ndCB3cml0
ZSB0byB0aGUgY2FjaGUgaWYgaW4gdGhlIG1pZGRsZSBvZiBhIHJlZGlyZWN0LCBzaW5jZSB3ZSB3
aWxsIHdhbnQgdG8KICAgICAvLyBzdG9yZSB0aGUgZmluYWwgcGFnZSB3ZSBlbmQgdXAgb24uCkBA
IC0zNTUsNyArMzgyLDcgQEAgYm9vbCBQYWdlQ2FjaGU6OmNhbkNhY2hlKFBhZ2UqIHBhZ2UpIGNv
bnN0CiAgICAgICAgICYmIGNhbkNhY2hlUGFnZUNvbnRhaW5pbmdUaGlzRnJhbWUoJnBhZ2UtPm1h
aW5GcmFtZSgpKQogICAgICAgICAmJiBwYWdlLT5iYWNrRm9yd2FyZCgpLmlzQWN0aXZlKCkKICAg
ICAgICAgJiYgcGFnZS0+c2V0dGluZ3MoKS51c2VzUGFnZUNhY2hlKCkKLSNpZiBFTkFCTEUoREVW
SUNFX09SSUVOVEFUSU9OKQorI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pICYmICFQTEFU
Rk9STShJT1MpCiAgICAgICAgICYmICFEZXZpY2VNb3Rpb25Db250cm9sbGVyOjppc0FjdGl2ZUF0
KHBhZ2UpCiAgICAgICAgICYmICFEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OmlzQWN0aXZl
QXQocGFnZSkKICNlbmRpZgpAQCAtMzY4LDYgKzM5NSwxMyBAQCBib29sIFBhZ2VDYWNoZTo6Y2Fu
Q2FjaGUoUGFnZSogcGFnZSkgY29uc3QKICAgICAgICAgICAgIHx8IGxvYWRUeXBlID09IEZyYW1l
TG9hZFR5cGVJbmRleGVkQmFja0ZvcndhcmQpOwogfQogCit2b2lkIFBhZ2VDYWNoZTo6cHJ1bmVU
b0NhcGFjaXR5Tm93KGludCBjYXBhY2l0eSkKK3sKKyAgICBpbnQgc2F2ZWRDYXBhY2l0eSA9IG1f
Y2FwYWNpdHk7CisgICAgc2V0Q2FwYWNpdHkoY2FwYWNpdHkpOworICAgIHNldENhcGFjaXR5KHNh
dmVkQ2FwYWNpdHkpOworfQorCiB2b2lkIFBhZ2VDYWNoZTo6c2V0Q2FwYWNpdHkoaW50IGNhcGFj
aXR5KQogewogICAgIEFTU0VSVChjYXBhY2l0eSA+PSAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VD
YWNoZS5oCmluZGV4IDk0ZGFiZWIzNDI0NjY4OTllNDdjNzFmZGY1Mjg5NDQ4ZjQ0N2JhZjUuLjM0
Nzc3MmRjZThhMTkzOWVmYWY1ZjM2ZDA2ZmI4OTVmZDY3YjVjZjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaGlzdG9y
eS9QYWdlQ2FjaGUuaApAQCAtNjEsNiArNjEsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIC8vIFdpbGwgbWFyayBhbGwgY2FjaGVkIHBhZ2VzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2
ZW4gcGFnZSBhcyBuZWVkaW5nIHN0eWxlIHJlY2FsYy4KICAgICAgICAgdm9pZCBtYXJrUGFnZXNG
b3JGdWxsU3R5bGVSZWNhbGMoUGFnZSopOwogCisgICAgICAgIC8vIFVzZWQgd2hlbiBtZW1vcnkg
aXMgbG93IHRvIHBydW5lIHNvbWUgY2FjaGVkIHBhZ2VzLgorICAgICAgICB2b2lkIHBydW5lVG9D
YXBhY2l0eU5vdyhpbnQgY2FwYWNpdHkpOworCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAg
ICAgICB2b2lkIG1hcmtQYWdlc0ZvckNhcHRpb25QcmVmZXJlbmNlc0NoYW5nZWQoKTsKICNlbmRp
Zgo=
</data>
<flag name="review"
          id="242896"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>