<?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>146897</bug_id>
          
          <creation_ts>2015-07-12 21:43:19 -0700</creation_ts>
          <short_desc>If Watchpoint::fire() looks at the state of the world, it should definitely see its set invalidated, and maybe it should see the object of interest in the transitioned-to state</short_desc>
          <delta_ts>2015-07-13 13:11:25 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>basile_clement</cc>
    
    <cc>benjamin</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1109058</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-07-12 21:43:19 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109059</commentid>
    <comment_count>1</comment_count>
      <attachid>256685</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-07-12 21:51:21 -0700</bug_when>
    <thetext>Created attachment 256685
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109060</commentid>
    <comment_count>2</comment_count>
      <attachid>256686</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-07-12 21:54:44 -0700</bug_when>
    <thetext>Created attachment 256686
the patch

moar changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109106</commentid>
    <comment_count>3</comment_count>
      <attachid>256686</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-07-13 08:41:56 -0700</bug_when>
    <thetext>Comment on attachment 256686
the patch

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:34
&gt; +        it would fine that the singleton object&apos;s structure is no longer watchable. This is

typo: fine =&gt; find.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109187</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-07-13 13:11:25 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/186776</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256685</attachid>
            <date>2015-07-12 21:51:21 -0700</date>
            <delta_ts>2015-07-12 21:54:44 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>13742</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTg2NzQ3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDY0IEBA
CisyMDE1LTA3LTEyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SWYgV2F0Y2hwb2ludDo6ZmlyZSgpIGxvb2tzIGF0IHRoZSBzdGF0ZSBvZiB0aGUgd29ybGQsIGl0
IHNob3VsZCBkZWZpbml0ZWx5IHNlZSBpdHMgc2V0IGludmFsaWRhdGVkLCBhbmQgbWF5YmUgaXQg
c2hvdWxkIHNlZSB0aGUgb2JqZWN0IG9mIGludGVyZXN0IGluIHRoZSB0cmFuc2l0aW9uZWQtdG8g
c3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
Njg5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAg
ICAgICAgVGhlIGlkZWEgaXMgdG8gZXZlbnR1YWxseSBzdXBwb3J0IGFkYXB0aXZlIHdhdGNocG9p
bnRzLiBBbiBhZGFwdGl2ZSB3YXRjaHBvaW50IHdpbGwgYmUKKyAgICAgICAgYWJsZSB0byB3YXRj
aCBmb3IgYSBjb25kaXRpb24gdGhhdCBpcyBtb3JlIGZpbmUtZ3JhaW5lZCB0aGFuIGFueSBvbmUg
d2F0Y2hwb2ludCBzZXQuIEZvcgorICAgICAgICBleGFtcGxlLCB3ZSBtaWdodCB3YXRjaCBhIHNp
bmdsZXRvbiBvYmplY3QgdG8gc2VlIGlmIGl0IGV2ZXIgYWNxdWlyZXMgYSBwcm9wZXJ0eSBjYWxs
ZWQKKyAgICAgICAgImZvbyIuIFNvIGxvbmcgYXMgaXQgZG9lc24ndCBoYXZlIHN1Y2ggYSBwcm9w
ZXJ0eSwgd2UgZG9uJ3Qgd2FudCB0byBpbnZhbGlkYXRlIGFueSBjb2RlLgorICAgICAgICBCdXQg
aWYgaXQgZ2V0cyB0aGF0IHByb3BlcnR5LCB0aGVuIHdlIHNob3VsZCBkZW9wdGltaXplLiBDdXJy
ZW50IHdhdGNocG9pbnRzIHdpbGwKKyAgICAgICAgaW52YWxpZGF0ZSBjb2RlIGFzIHNvb24gYXMg
YW55IHByb3BlcnR5IGlzIGFkZGVkIChvciBkZWxldGVkKSwgYmVjYXVzZSB0aGV5IHdpbGwgdXNl
IHRoZQorICAgICAgICB0cmFuc2l0aW9uIHdhdGNocG9pbnQgc2V0IG9mIHRoZSBzaW5nbGV0b24g
b2JqZWN0J3Mgc3RydWN0dXJlLCBhbmQgdGhhdCBmaXJlcyBhbnl0aW1lCisgICAgICAgIHRoZXJl
IGlzIGFueSB0cmFuc2l0aW9uLgorICAgICAgICAKKyAgICAgICAgQW4gYWRhcHRpdmUgd2F0Y2hw
b2ludCB3b3VsZCByZW1lbWJlciB0aGUgc2luZ2xldG9uIG9iamVjdCwgYW5kIHdoZW4gaXQgZ290
IGZpcmVkLCBpdAorICAgICAgICB3b3VsZCBjaGVjayBpZiB0aGUgb2JqZWN0J3MgbmV3IHN0cnVj
dHVyZSBoYXMgdGhlIHByb3BlcnR5ICJmb28iLiBJZiBub3QsIGl0IHdvdWxkIGNoZWNrCisgICAg
ICAgIGlmIHRoZSBvYmplY3QncyBuZXcgc3RydWN0dXJlIGlzIHdhdGNoYWJsZSAoaS5lLiBoYXMg
YSB2YWxpZCB0cmFuc2l0aW9uIHdhdGNocG9pbnQgc2V0KS4KKyAgICAgICAgSWYgdGhlIHByb3Bl
cnR5IGlzIG1pc3NpbmcgYW5kIHRoZSBzdHJ1Y3R1cmUgaXMgd2F0Y2hhYmxlLCBpdCB3b3VsZCBh
ZGQgaXRzZWxmIHRvIHRoZQorICAgICAgICB3YXRjaHBvaW50IHNldCBvZiB0aGUgbmV3IHN0cnVj
dHVyZS4gT3RoZXJ3aXNlLCBpdCB3b3VsZCBkZW9wdGltaXplLgorICAgICAgICAKKyAgICAgICAg
VGhlcmUgYXJlIHR3byBwcm9ibGVtcyB3aXRoIHRoaXMgaWRlYSwgYW5kIHRoaXMgcGF0Y2ggZml4
ZXMgdGhlc2UgcHJvYmxlbXMuIEZpcnN0LCB3ZQorICAgICAgICB1c3VhbGx5IGZpcmUgdGhlIHRy
YW5zaXRpb24gd2F0Y2hwb2ludCBiZWZvcmUgd2UgZG8gdGhlIHN0cnVjdHVyZSB0cmFuc2l0aW9u
LiBUaGlzIG1lYW5zCisgICAgICAgIHRoYXQgaWYgdGhlIGZpcmUoKSBtZXRob2QgbG9va2VkIGF0
IHRoZSBzaW5nbGV0b24gb2JqZWN0J3Mgc3RydWN0dXJlLCBpdCB3b3VsZCBzZWUgdGhlIG9sZAor
ICAgICAgICBzdHJ1Y3R1cmUsIG5vdCB0aGUgbmV3IG9uZS4gSXQgd291bGQgaGF2ZSBubyB3YXkg
b2Yga25vd2luZyB3aGF0IHRoZSBuZXcgc3RydWN0dXJlIGlzLgorICAgICAgICBTZWNvbmQsIGlu
c2lkZSB0aGUgZmlyZSgpIG1ldGhvZCwgdGhlIHdhdGNocG9pbnQgc2V0IGJlaW5nIGludmFsaWRh
dGVkIHN0aWxsIGFwcGVhcnMKKyAgICAgICAgdmFsaWQsIHNpbmNlIHdlIGNoYW5nZSB0aGUgc3Rh
dGUgYWZ0ZXIgd2UgZmlyZSBhbGwgd2F0Y2hwb2ludHMuCisgICAgICAgIAorICAgICAgICBUaGlz
IHBhdGNoIGFkZHJlc3NlcyBib3RoIGlzc3Vlcy4gTm93LCBpbiB0aGUgbW9zdCBpbXBvcnRhbnQg
Y2FzZSAoYWRkUHJvcGVydHlUcmFuc2l0aW9uKSwKKyAgICAgICAgd2UgZmlyZSB0aGUgd2F0Y2hw
b2ludCBzZXQgYWZ0ZXIgd2UgaGF2ZSBtb2RpZmllZCB0aGUgb2JqZWN0LiBUaGlzIGlzIGFjY29t
cGxpc2hlZCB1c2luZworICAgICAgICBhIGRlZmVycmFsIHNjb3BlIGNhbGxlZCBEZWZlcnJlZFN0
cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50RmlyZS4gSW4gY2FzZXMgd2hlcmUgdGhlcmUgaXMK
KyAgICAgICAgbm8gZGVmZXJyYWwsIHRoZSBhZGFwdGl2ZSB3YXRjaHBvaW50IHdpbGwgY29uc2Vy
dmF0aXZlbHkgcmVzb3J0IHRvIGRlb3B0aW1pemF0aW9uIGJlY2F1c2UKKyAgICAgICAgaXQgd291
bGQgZmluZSB0aGF0IHRoZSBzaW5nbGV0b24gb2JqZWN0J3Mgc3RydWN0dXJlIGlzIG5vIGxvbmdl
ciB3YXRjaGFibGUuIFRoaXMgaXMKKyAgICAgICAgYmVjYXVzZSBpbiB0aGUgYWJzZW5jZSBvZiBk
ZWZlcnJhbCwgdGhlIHNpbmdsZXRvbiBvYmplY3Qgd291bGQgc3RpbGwgaGF2ZSB0aGUgb3JpZ2lu
YWwKKyAgICAgICAgc3RydWN0dXJlLCBidXQgdGhhdCBzdHJ1Y3R1cmUncyB3YXRjaHBvaW50IHNl
dCB3b3VsZCBub3cgcmVwb3J0IGl0c2VsZiBhcyBoYXZpbmcgYmVlbgorICAgICAgICBpbnZhbGlk
YXRlZC4KKworICAgICAgICAqIGJ5dGVjb2RlL1dhdGNocG9pbnQuY3BwOgorICAgICAgICAoSlND
OjpXYXRjaHBvaW50U2V0OjpmaXJlQWxsU2xvdyk6CisgICAgICAgIChKU0M6OldhdGNocG9pbnRT
ZXQ6OmZpcmVBbGxXYXRjaHBvaW50cyk6CisgICAgICAgICogcnVudGltZS9KU09iamVjdC5oOgor
ICAgICAgICAoSlNDOjpKU09iamVjdDo6cHV0RGlyZWN0SW50ZXJuYWwpOgorICAgICAgICAqIHJ1
bnRpbWUvU3RydWN0dXJlLmNwcDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpTdHJ1Y3R1cmUp
OgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OnN1Z2dlc3RlZEFycmF5U3RvcmFnZVRyYW5zaXRp
b24pOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvbik6Cisg
ICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1Y3R1cmUpOgor
ICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVGaXJlRGV0YWlsOjpkdW1wKToKKyAgICAgICAgKEpTQzo6
RGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmU6OkRlZmVycmVkU3RydWN0
dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKToKKyAgICAgICAgKEpTQzo6RGVmZXJyZWRTdHJ1
Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmU6On5EZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRp
b25XYXRjaHBvaW50RmlyZSk6CisgICAgICAgIChKU0M6OkRlZmVycmVkU3RydWN0dXJlVHJhbnNp
dGlvbldhdGNocG9pbnRGaXJlOjphZGQpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmU6OmRpZFRy
YW5zaXRpb25Gcm9tVGhpc1N0cnVjdHVyZSk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6cHJv
dG90eXBlRm9yTG9va3VwKToKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZS5oOgorICAgICAg
ICAoSlNDOjpQcm9wZXJ0eU1hcEVudHJ5OjpQcm9wZXJ0eU1hcEVudHJ5KToKKyAgICAgICAgKEpT
Qzo6U3RydWN0dXJlRmlyZURldGFpbDo6U3RydWN0dXJlRmlyZURldGFpbCk6CisgICAgICAgICog
cnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZTo6Y3Jl
YXRlU3RydWN0dXJlKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpjcmVhdGUpOgorCiAyMDE1
LTA3LTEyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2F0Y2hw
b2ludHMgc2hvdWxkIGJlIHJlbW92ZWQgZnJvbSB0aGVpciBvd25pbmcgV2F0Y2hwb2ludFNldCBi
ZWZvcmUgdGhleSBhcmUgZmlyZWQKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9XYXRjaHBvaW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvV2F0Y2hwb2ludC5jcHAJKHJldmlzaW9uIDE4Njc0NSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9XYXRjaHBvaW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsOCAr
ODYsOCBAQCB2b2lkIFdhdGNocG9pbnRTZXQ6OmZpcmVBbGxTbG93KGNvbnN0IEZpCiAgICAgQVNT
RVJUKHN0YXRlKCkgPT0gSXNXYXRjaGVkKTsKICAgICAKICAgICBXVEY6OnN0b3JlU3RvcmVGZW5j
ZSgpOworICAgIG1fc3RhdGUgPSBJc0ludmFsaWRhdGVkOyAvLyBEbyB0aGlzIGZpcnN0LiBOZWVk
ZWQgZm9yIGFkYXB0aXZlIHdhdGNocG9pbnRzLgogICAgIGZpcmVBbGxXYXRjaHBvaW50cyhkZXRh
aWwpOwotICAgIG1fc3RhdGUgPSBJc0ludmFsaWRhdGVkOwogICAgIFdURjo6c3RvcmVTdG9yZUZl
bmNlKCk7CiB9CiAKQEAgLTk4LDYgKzk4LDEwIEBAIHZvaWQgV2F0Y2hwb2ludFNldDo6ZmlyZUFs
bFNsb3coY29uc3QgY2gKIAogdm9pZCBXYXRjaHBvaW50U2V0OjpmaXJlQWxsV2F0Y2hwb2ludHMo
Y29uc3QgRmlyZURldGFpbCYgZGV0YWlsKQogeworICAgIC8vIEluIGNhc2UgdGhlcmUgYXJlIGFu
eSBhZGFwdGl2ZSB3YXRjaHBvaW50cywgd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB0aGV5IHNl
ZSB0aGF0IHRoaXMKKyAgICAvLyB3YXRjaHBvaW50IGhhcyBiZWVuIGFscmVhZHkgaW52YWxpZGF0
ZWQuCisgICAgUkVMRUFTRV9BU1NFUlQoaGFzQmVlbkludmFsaWRhdGVkKCkpOworICAgIAogICAg
IHdoaWxlICghbV9zZXQuaXNFbXB0eSgpKSB7CiAgICAgICAgIFdhdGNocG9pbnQqIHdhdGNocG9p
bnQgPSBtX3NldC5iZWdpbigpOwogICAgICAgICBBU1NFUlQod2F0Y2hwb2ludC0+aXNPbkxpc3Qo
KSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJKHJldmlz
aW9uIDE4Njc0MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEyOTQsNyArMTI5NCwxMiBAQCBpbmxpbmUgYm9vbCBKU09iamVj
dDo6cHV0RGlyZWN0SW50ZXJuYWwoCiAgICAgaWYgKChtb2RlID09IFB1dE1vZGVQdXQpICYmICFp
c0V4dGVuc2libGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgc3RydWN0dXJlID0g
U3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSwgcHJvcGVydHlO
YW1lLCBhdHRyaWJ1dGVzLCBvZmZzZXQsIHNsb3QuY29udGV4dCgpKTsKKyAgICAvLyBXZSB3YW50
IHRoZSBzdHJ1Y3R1cmUgdHJhbnNpdGlvbiB3YXRjaHBvaW50IHRvIGZpcmUgYWZ0ZXIgdGhpcyBv
YmplY3QgaGFzIHN3aXRjaGVkCisgICAgLy8gc3RydWN0dXJlLiBUaGlzIGFsbG93cyBhZGFwdGl2
ZSB3YXRjaHBvaW50cyB0byBvYnNlcnZlIGlmIHRoZSBuZXcgc3RydWN0dXJlIGlzIHRoZSBvbmUK
KyAgICAvLyB3ZSB3YW50LgorICAgIERlZmVycmVkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9p
bnRGaXJlIGRlZmVycmVkV2F0Y2hwb2ludEZpcmU7CisgICAgCisgICAgc3RydWN0dXJlID0gU3Ry
dWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24odm0sIHN0cnVjdHVyZSwgcHJvcGVydHlOYW1l
LCBhdHRyaWJ1dGVzLCBvZmZzZXQsIHNsb3QuY29udGV4dCgpLCAmZGVmZXJyZWRXYXRjaHBvaW50
RmlyZSk7CiAgICAgCiAgICAgdmFsaWRhdGVPZmZzZXQob2Zmc2V0KTsKICAgICBBU1NFUlQoc3Ry
dWN0dXJlLT5pc1ZhbGlkT2Zmc2V0KG9mZnNldCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3RydWN0dXJlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCShyZXZpc2lvbiAxODY3NDEpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
MTAsNyArMjEwLDcgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtKQogICAgIEFTU0VSVCho
YXNHZXR0ZXJTZXR0ZXJQcm9wZXJ0aWVzKCkgfHwgIW1fY2xhc3NJbmZvLT5oYXNTdGF0aWNTZXR0
ZXJPclJlYWRvbmx5UHJvcGVydGllcygpKTsKIH0KIAotU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0m
IHZtLCBTdHJ1Y3R1cmUqIHByZXZpb3VzKQorU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtLCBT
dHJ1Y3R1cmUqIHByZXZpb3VzLCBEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50
RmlyZSogZGVmZXJyZWQpCiAgICAgOiBKU0NlbGwodm0sIHZtLnN0cnVjdHVyZVN0cnVjdHVyZS5n
ZXQoKSkKICAgICAsIG1fcHJvdG90eXBlKHZtLCB0aGlzLCBwcmV2aW91cy0+c3RvcmVkUHJvdG90
eXBlKCkpCiAgICAgLCBtX2NsYXNzSW5mbyhwcmV2aW91cy0+bV9jbGFzc0luZm8pCkBAIC0yMzgs
NyArMjM4LDcgQEAgU3RydWN0dXJlOjpTdHJ1Y3R1cmUoVk0mIHZtLCBTdHJ1Y3R1cmUqIAogICAg
IEFTU0VSVCghcHJldmlvdXMtPnR5cGVJbmZvKCkuc3RydWN0dXJlSXNJbW1vcnRhbCgpKTsKICAg
ICBzZXRQcmV2aW91c0lEKHZtLCBwcmV2aW91cyk7CiAKLSAgICBwcmV2aW91cy0+ZGlkVHJhbnNp
dGlvbkZyb21UaGlzU3RydWN0dXJlKCk7CisgICAgcHJldmlvdXMtPmRpZFRyYW5zaXRpb25Gcm9t
VGhpc1N0cnVjdHVyZShkZWZlcnJlZCk7CiAgICAgaWYgKHByZXZpb3VzLT5tX2dsb2JhbE9iamVj
dCkKICAgICAgICAgbV9nbG9iYWxPYmplY3Quc2V0KHZtLCB0aGlzLCBwcmV2aW91cy0+bV9nbG9i
YWxPYmplY3QuZ2V0KCkpOwogICAgIEFTU0VSVChoYXNSZWFkT25seU9yR2V0dGVyU2V0dGVyUHJv
cGVydGllc0V4Y2x1ZGluZ1Byb3RvKCkgfHwgIW1fY2xhc3NJbmZvLT5oYXNTdGF0aWNTZXR0ZXJP
clJlYWRvbmx5UHJvcGVydGllcygpKTsKQEAgLTM5NCw3ICszOTQsNyBAQCBOb25Qcm9wZXJ0eVRy
YW5zaXRpb24gU3RydWN0dXJlOjpzdWdnZXN0CiAgICAgcmV0dXJuIEFsbG9jYXRlQXJyYXlTdG9y
YWdlOwogfQogCi1TdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9uKFZN
JiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUsIHVu
c2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQsIFB1dFByb3BlcnR5U2xv
dDo6Q29udGV4dCBjb250ZXh0KQorU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJh
bnNpdGlvbihWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQcm9wZXJ0eU5hbWUgcHJvcGVy
dHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYgb2Zmc2V0LCBQdXRQ
cm9wZXJ0eVNsb3Q6OkNvbnRleHQgY29udGV4dCwgRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9u
V2F0Y2hwb2ludEZpcmUqIGRlZmVycmVkKQogewogICAgIEFTU0VSVCghc3RydWN0dXJlLT5pc0Rp
Y3Rpb25hcnkoKSk7CiAgICAgQVNTRVJUKHN0cnVjdHVyZS0+aXNPYmplY3QoKSk7CkBAIC00MTIs
NyArNDEyLDcgQEAgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmFkZFByb3BlcnR5VHJhbnNpdAogICAg
ICAgICByZXR1cm4gdHJhbnNpdGlvbjsKICAgICB9CiAgICAgCi0gICAgU3RydWN0dXJlKiB0cmFu
c2l0aW9uID0gY3JlYXRlKHZtLCBzdHJ1Y3R1cmUpOworICAgIFN0cnVjdHVyZSogdHJhbnNpdGlv
biA9IGNyZWF0ZSh2bSwgc3RydWN0dXJlLCBkZWZlcnJlZCk7CiAKICAgICB0cmFuc2l0aW9uLT5t
X2NhY2hlZFByb3RvdHlwZUNoYWluLnNldE1heUJlTnVsbCh2bSwgdHJhbnNpdGlvbiwgc3RydWN0
dXJlLT5tX2NhY2hlZFByb3RvdHlwZUNoYWluLmdldCgpKTsKICAgICB0cmFuc2l0aW9uLT5tX25h
bWVJblByZXZpb3VzID0gcHJvcGVydHlOYW1lLnVpZCgpOwpAQCAtOTUwLDI5ICs5NTAsMzUgQEAg
dm9pZCBTdHJ1Y3R1cmU6OmdldFByb3BlcnR5TmFtZXNGcm9tU3RydQogICAgIH0KIH0KIAotbmFt
ZXNwYWNlIHsKK3ZvaWQgU3RydWN0dXJlRmlyZURldGFpbDo6ZHVtcChQcmludFN0cmVhbSYgb3V0
KSBjb25zdAoreworICAgIG91dC5wcmludCgiU3RydWN0dXJlIHRyYW5zaXRpb24gZnJvbSAiLCAq
bV9zdHJ1Y3R1cmUpOworfQogCi1jbGFzcyBTdHJ1Y3R1cmVGaXJlRGV0YWlsIDogcHVibGljIEZp
cmVEZXRhaWwgewotcHVibGljOgotICAgIFN0cnVjdHVyZUZpcmVEZXRhaWwoY29uc3QgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUpCi0gICAgICAgIDogbV9zdHJ1Y3R1cmUoc3RydWN0dXJlKQotICAgIHsK
LSAgICB9Ci0gICAgCi0gICAgdmlydHVhbCB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29u
c3Qgb3ZlcnJpZGUKLSAgICB7Ci0gICAgICAgIG91dC5wcmludCgiU3RydWN0dXJlIHRyYW5zaXRp
b24gZnJvbSAiLCAqbV9zdHJ1Y3R1cmUpOwotICAgIH0KK0RlZmVycmVkU3RydWN0dXJlVHJhbnNp
dGlvbldhdGNocG9pbnRGaXJlOjpEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50
RmlyZSgpCisgICAgOiBtX3N0cnVjdHVyZShudWxscHRyKQoreworfQogCi1wcml2YXRlOgotICAg
IGNvbnN0IFN0cnVjdHVyZSogbV9zdHJ1Y3R1cmU7Ci19OworRGVmZXJyZWRTdHJ1Y3R1cmVUcmFu
c2l0aW9uV2F0Y2hwb2ludEZpcmU6On5EZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBv
aW50RmlyZSgpCit7CisgICAgaWYgKG1fc3RydWN0dXJlKQorICAgICAgICBtX3N0cnVjdHVyZS0+
dHJhbnNpdGlvbldhdGNocG9pbnRTZXQoKS5maXJlQWxsKFN0cnVjdHVyZUZpcmVEZXRhaWwobV9z
dHJ1Y3R1cmUpKTsKK30KIAotfSAvLyBhbm9ueW1vdXMgbmFtZXNwYWNlCit2b2lkIERlZmVycmVk
U3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlOjphZGQoY29uc3QgU3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCit7CisgICAgUkVMRUFTRV9BU1NFUlQoIW1fc3RydWN0dXJlKTsKKyAgICBSRUxF
QVNFX0FTU0VSVChzdHJ1Y3R1cmUpOworICAgIG1fc3RydWN0dXJlID0gc3RydWN0dXJlOworfQog
Ci12b2lkIFN0cnVjdHVyZTo6ZGlkVHJhbnNpdGlvbkZyb21UaGlzU3RydWN0dXJlKCkgY29uc3QK
K3ZvaWQgU3RydWN0dXJlOjpkaWRUcmFuc2l0aW9uRnJvbVRoaXNTdHJ1Y3R1cmUoRGVmZXJyZWRT
dHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqIGRlZmVycmVkKSBjb25zdAogewotICAg
IG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQuZmlyZUFsbChTdHJ1Y3R1cmVGaXJlRGV0YWlsKHRo
aXMpKTsKKyAgICBpZiAoZGVmZXJyZWQpCisgICAgICAgIGRlZmVycmVkLT5hZGQodGhpcyk7Cisg
ICAgZWxzZQorICAgICAgICBtX3RyYW5zaXRpb25XYXRjaHBvaW50U2V0LmZpcmVBbGwoU3RydWN0
dXJlRmlyZURldGFpbCh0aGlzKSk7CiB9CiAKIEpTVmFsdWUgU3RydWN0dXJlOjpwcm90b3R5cGVG
b3JMb29rdXAoQ29kZUJsb2NrKiBjb2RlQmxvY2spIGNvbnN0CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkocmV2aXNpb24gMTg2NzQxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTk3
LDYgKzk3LDMxIEBAIHN0cnVjdCBQcm9wZXJ0eU1hcEVudHJ5IHsKICAgICB9CiB9OwogCitjbGFz
cyBTdHJ1Y3R1cmVGaXJlRGV0YWlsIDogcHVibGljIEZpcmVEZXRhaWwgeworcHVibGljOgorICAg
IFN0cnVjdHVyZUZpcmVEZXRhaWwoY29uc3QgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgICAg
IDogbV9zdHJ1Y3R1cmUoc3RydWN0dXJlKQorICAgIHsKKyAgICB9CisgICAgCisgICAgdmlydHVh
bCB2b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Qgb3ZlcnJpZGU7CisKK3ByaXZhdGU6
CisgICAgY29uc3QgU3RydWN0dXJlKiBtX3N0cnVjdHVyZTsKK307CisKK2NsYXNzIERlZmVycmVk
U3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50RmlyZSk7CitwdWJsaWM6
CisgICAgSlNfRVhQT1JUX1BSSVZBVEUgRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hw
b2ludEZpcmUoKTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSB+RGVmZXJyZWRTdHJ1Y3R1cmVUcmFu
c2l0aW9uV2F0Y2hwb2ludEZpcmUoKTsKKyAgICAKKyAgICB2b2lkIGFkZChjb25zdCBTdHJ1Y3R1
cmUqKTsKKyAgICAKK3ByaXZhdGU6CisgICAgY29uc3QgU3RydWN0dXJlKiBtX3N0cnVjdHVyZTsK
K307CisKIGNsYXNzIFN0cnVjdHVyZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwgewogcHVibGljOgog
ICAgIGZyaWVuZCBjbGFzcyBTdHJ1Y3R1cmVUcmFuc2l0aW9uVGFibGU7CkBAIC0xMzcsNyArMTYy
LDcgQEAgcHVibGljOgogCiAgICAgc3RhdGljIHZvaWQgZHVtcFN0YXRpc3RpY3MoKTsKIAotICAg
IEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJhbnNpdGlv
bihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJv
cGVydHlPZmZzZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OkNvbnRleHQgPSBQdXRQcm9wZXJ0eVNsb3Q6
OlVua25vd25Db250ZXh0KTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgU3RydWN0dXJl
KiBhZGRQcm9wZXJ0eVRyYW5zaXRpb24oVk0mLCBTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5hbWUsIHVu
c2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiwgUHV0UHJvcGVydHlTbG90OjpDb250
ZXh0ID0gUHV0UHJvcGVydHlTbG90OjpVbmtub3duQ29udGV4dCwgRGVmZXJyZWRTdHJ1Y3R1cmVU
cmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqID0gbnVsbHB0cik7CiAgICAgc3RhdGljIFN0cnVjdHVy
ZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZUNvbmN1cnJlbnRseShT
dHJ1Y3R1cmUqLCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQ
cm9wZXJ0eU9mZnNldCYpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUq
IGFkZFByb3BlcnR5VHJhbnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmUoU3RydWN0dXJlKiwgUHJv
cGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9mZnNldCYpOwogICAgIHN0
YXRpYyBTdHJ1Y3R1cmUqIHJlbW92ZVByb3BlcnR5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSos
IFByb3BlcnR5TmFtZSwgUHJvcGVydHlPZmZzZXQmKTsKQEAgLTQwMiw3ICs0MjcsNyBAQCBwdWJs
aWM6CiAgICAgICAgIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQuYWRkKHdhdGNocG9pbnQpOwog
ICAgIH0KICAgICAKLSAgICB2b2lkIGRpZFRyYW5zaXRpb25Gcm9tVGhpc1N0cnVjdHVyZSgpIGNv
bnN0OworICAgIHZvaWQgZGlkVHJhbnNpdGlvbkZyb21UaGlzU3RydWN0dXJlKERlZmVycmVkU3Ry
dWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKiA9IG51bGxwdHIpIGNvbnN0OwogICAgIAog
ICAgIElubGluZVdhdGNocG9pbnRTZXQmIHRyYW5zaXRpb25XYXRjaHBvaW50U2V0KCkgY29uc3QK
ICAgICB7CkBAIC00ODMsOSArNTA4LDkgQEAgcHJpdmF0ZToKIAogICAgIEpTX0VYUE9SVF9QUklW
QVRFIFN0cnVjdHVyZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgSlNWYWx1ZSBwcm90b3R5cGUsIGNv
bnN0IFR5cGVJbmZvJiwgY29uc3QgQ2xhc3NJbmZvKiwgSW5kZXhpbmdUeXBlLCB1bnNpZ25lZCBp
bmxpbmVDYXBhY2l0eSk7CiAgICAgU3RydWN0dXJlKFZNJik7Ci0gICAgU3RydWN0dXJlKFZNJiwg
U3RydWN0dXJlKik7CisgICAgU3RydWN0dXJlKFZNJiwgU3RydWN0dXJlKiwgRGVmZXJyZWRTdHJ1
Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqKTsKIAotICAgIHN0YXRpYyBTdHJ1Y3R1cmUq
IGNyZWF0ZShWTSYsIFN0cnVjdHVyZSopOworICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGNyZWF0ZShW
TSYsIFN0cnVjdHVyZSosIERlZmVycmVkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJl
KiA9IG51bGxwdHIpOwogICAgIAogICAgIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFByb3BlcnR5VHJh
bnNpdGlvblRvRXhpc3RpbmdTdHJ1Y3R1cmVJbXBsKFN0cnVjdHVyZSosIFVuaXF1ZWRTdHJpbmdJ
bXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVJbmxpbmVzLmgJ
KHJldmlzaW9uIDE4Njc0MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVj
dHVyZUlubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNDksMTAgKzQ5LDEwIEBAIGlubGluZSBT
dHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlU3RydWMKICAgICByZXR1cm4gc3RydWN0dXJlOwog
fQogCi1pbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShWTSYgdm0sIFN0cnVjdHVy
ZSogc3RydWN0dXJlKQoraW5saW5lIFN0cnVjdHVyZSogU3RydWN0dXJlOjpjcmVhdGUoVk0mIHZt
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hw
b2ludEZpcmUqIGRlZmVycmVkKQogewogICAgIEFTU0VSVCh2bS5zdHJ1Y3R1cmVTdHJ1Y3R1cmUp
OwotICAgIFN0cnVjdHVyZSogbmV3U3RydWN0dXJlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNl
bGw8U3RydWN0dXJlPih2bS5oZWFwKSkgU3RydWN0dXJlKHZtLCBzdHJ1Y3R1cmUpOworICAgIFN0
cnVjdHVyZSogbmV3U3RydWN0dXJlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8U3RydWN0
dXJlPih2bS5oZWFwKSkgU3RydWN0dXJlKHZtLCBzdHJ1Y3R1cmUsIGRlZmVycmVkKTsKICAgICBu
ZXdTdHJ1Y3R1cmUtPmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICByZXR1cm4gbmV3U3RydWN0dXJl
OwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256686</attachid>
            <date>2015-07-12 21:54:44 -0700</date>
            <delta_ts>2015-07-13 08:41:56 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>14020</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTg2NzQ3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU5IEBA
CisyMDE1LTA3LTEyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SWYgV2F0Y2hwb2ludDo6ZmlyZSgpIGxvb2tzIGF0IHRoZSBzdGF0ZSBvZiB0aGUgd29ybGQsIGl0
IHNob3VsZCBkZWZpbml0ZWx5IHNlZSBpdHMgc2V0IGludmFsaWRhdGVkLCBhbmQgbWF5YmUgaXQg
c2hvdWxkIHNlZSB0aGUgb2JqZWN0IG9mIGludGVyZXN0IGluIHRoZSB0cmFuc2l0aW9uZWQtdG8g
c3RhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
Njg5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAg
ICAgICAgVGhlIGlkZWEgaXMgdG8gZXZlbnR1YWxseSBzdXBwb3J0IGFkYXB0aXZlIHdhdGNocG9p
bnRzLiBBbiBhZGFwdGl2ZSB3YXRjaHBvaW50IHdpbGwgYmUKKyAgICAgICAgYWJsZSB0byB3YXRj
aCBmb3IgYSBjb25kaXRpb24gdGhhdCBpcyBtb3JlIGZpbmUtZ3JhaW5lZCB0aGFuIGFueSBvbmUg
d2F0Y2hwb2ludCBzZXQuIEZvcgorICAgICAgICBleGFtcGxlLCB3ZSBtaWdodCB3YXRjaCBhIHNp
bmdsZXRvbiBvYmplY3QgdG8gc2VlIGlmIGl0IGV2ZXIgYWNxdWlyZXMgYSBwcm9wZXJ0eSBjYWxs
ZWQKKyAgICAgICAgImZvbyIuIFNvIGxvbmcgYXMgaXQgZG9lc24ndCBoYXZlIHN1Y2ggYSBwcm9w
ZXJ0eSwgd2UgZG9uJ3Qgd2FudCB0byBpbnZhbGlkYXRlIGFueSBjb2RlLgorICAgICAgICBCdXQg
aWYgaXQgZ2V0cyB0aGF0IHByb3BlcnR5LCB0aGVuIHdlIHNob3VsZCBkZW9wdGltaXplLiBDdXJy
ZW50IHdhdGNocG9pbnRzIHdpbGwKKyAgICAgICAgaW52YWxpZGF0ZSBjb2RlIGFzIHNvb24gYXMg
YW55IHByb3BlcnR5IGlzIGFkZGVkIChvciBkZWxldGVkKSwgYmVjYXVzZSB0aGV5IHdpbGwgdXNl
IHRoZQorICAgICAgICB0cmFuc2l0aW9uIHdhdGNocG9pbnQgc2V0IG9mIHRoZSBzaW5nbGV0b24g
b2JqZWN0J3Mgc3RydWN0dXJlLCBhbmQgdGhhdCBmaXJlcyBhbnl0aW1lCisgICAgICAgIHRoZXJl
IGlzIGFueSB0cmFuc2l0aW9uLgorICAgICAgICAKKyAgICAgICAgQW4gYWRhcHRpdmUgd2F0Y2hw
b2ludCB3b3VsZCByZW1lbWJlciB0aGUgc2luZ2xldG9uIG9iamVjdCwgYW5kIHdoZW4gaXQgZ290
IGZpcmVkLCBpdAorICAgICAgICB3b3VsZCBjaGVjayBpZiB0aGUgb2JqZWN0J3MgbmV3IHN0cnVj
dHVyZSBoYXMgdGhlIHByb3BlcnR5ICJmb28iLiBJZiBub3QsIGl0IHdvdWxkIGNoZWNrCisgICAg
ICAgIGlmIHRoZSBvYmplY3QncyBuZXcgc3RydWN0dXJlIGlzIHdhdGNoYWJsZSAoaS5lLiBoYXMg
YSB2YWxpZCB0cmFuc2l0aW9uIHdhdGNocG9pbnQgc2V0KS4KKyAgICAgICAgSWYgdGhlIHByb3Bl
cnR5IGlzIG1pc3NpbmcgYW5kIHRoZSBzdHJ1Y3R1cmUgaXMgd2F0Y2hhYmxlLCBpdCB3b3VsZCBh
ZGQgaXRzZWxmIHRvIHRoZQorICAgICAgICB3YXRjaHBvaW50IHNldCBvZiB0aGUgbmV3IHN0cnVj
dHVyZS4gT3RoZXJ3aXNlLCBpdCB3b3VsZCBkZW9wdGltaXplLgorICAgICAgICAKKyAgICAgICAg
VGhlcmUgYXJlIHR3byBwcm9ibGVtcyB3aXRoIHRoaXMgaWRlYSwgYW5kIHRoaXMgcGF0Y2ggZml4
ZXMgdGhlc2UgcHJvYmxlbXMuIEZpcnN0LCB3ZQorICAgICAgICB1c3VhbGx5IGZpcmUgdGhlIHRy
YW5zaXRpb24gd2F0Y2hwb2ludCBiZWZvcmUgd2UgZG8gdGhlIHN0cnVjdHVyZSB0cmFuc2l0aW9u
LiBUaGlzIG1lYW5zCisgICAgICAgIHRoYXQgaWYgdGhlIGZpcmUoKSBtZXRob2QgbG9va2VkIGF0
IHRoZSBzaW5nbGV0b24gb2JqZWN0J3Mgc3RydWN0dXJlLCBpdCB3b3VsZCBzZWUgdGhlIG9sZAor
ICAgICAgICBzdHJ1Y3R1cmUsIG5vdCB0aGUgbmV3IG9uZS4gSXQgd291bGQgaGF2ZSBubyB3YXkg
b2Yga25vd2luZyB3aGF0IHRoZSBuZXcgc3RydWN0dXJlIGlzLgorICAgICAgICBTZWNvbmQsIGlu
c2lkZSB0aGUgZmlyZSgpIG1ldGhvZCwgdGhlIHdhdGNocG9pbnQgc2V0IGJlaW5nIGludmFsaWRh
dGVkIHN0aWxsIGFwcGVhcnMKKyAgICAgICAgdmFsaWQsIHNpbmNlIHdlIGNoYW5nZSB0aGUgc3Rh
dGUgYWZ0ZXIgd2UgZmlyZSBhbGwgd2F0Y2hwb2ludHMuCisgICAgICAgIAorICAgICAgICBUaGlz
IHBhdGNoIGFkZHJlc3NlcyBib3RoIGlzc3Vlcy4gTm93LCBpbiB0aGUgbW9zdCBpbXBvcnRhbnQg
Y2FzZSAoYWRkUHJvcGVydHlUcmFuc2l0aW9uKSwKKyAgICAgICAgd2UgZmlyZSB0aGUgd2F0Y2hw
b2ludCBzZXQgYWZ0ZXIgd2UgaGF2ZSBtb2RpZmllZCB0aGUgb2JqZWN0LiBUaGlzIGlzIGFjY29t
cGxpc2hlZCB1c2luZworICAgICAgICBhIGRlZmVycmFsIHNjb3BlIGNhbGxlZCBEZWZlcnJlZFN0
cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50RmlyZS4gSW4gY2FzZXMgd2hlcmUgdGhlcmUgaXMK
KyAgICAgICAgbm8gZGVmZXJyYWwsIHRoZSBhZGFwdGl2ZSB3YXRjaHBvaW50IHdpbGwgY29uc2Vy
dmF0aXZlbHkgcmVzb3J0IHRvIGRlb3B0aW1pemF0aW9uIGJlY2F1c2UKKyAgICAgICAgaXQgd291
bGQgZmluZSB0aGF0IHRoZSBzaW5nbGV0b24gb2JqZWN0J3Mgc3RydWN0dXJlIGlzIG5vIGxvbmdl
ciB3YXRjaGFibGUuIFRoaXMgaXMKKyAgICAgICAgYmVjYXVzZSBpbiB0aGUgYWJzZW5jZSBvZiBk
ZWZlcnJhbCwgdGhlIHNpbmdsZXRvbiBvYmplY3Qgd291bGQgc3RpbGwgaGF2ZSB0aGUgb3JpZ2lu
YWwKKyAgICAgICAgc3RydWN0dXJlLCBidXQgdGhhdCBzdHJ1Y3R1cmUncyB3YXRjaHBvaW50IHNl
dCB3b3VsZCBub3cgcmVwb3J0IGl0c2VsZiBhcyBoYXZpbmcgYmVlbgorICAgICAgICBpbnZhbGlk
YXRlZC4KKworICAgICAgICAqIGJ5dGVjb2RlL1dhdGNocG9pbnQuY3BwOgorICAgICAgICAoSlND
OjpXYXRjaHBvaW50U2V0OjpmaXJlQWxsU2xvdyk6IENoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIHNl
dCBiZWZvcmUgZmlyaW5nIGFsbCB3YXRjaHBvaW50cy4KKyAgICAgICAgKEpTQzo6V2F0Y2hwb2lu
dFNldDo6ZmlyZUFsbFdhdGNocG9pbnRzKToKKyAgICAgICAgKiBydW50aW1lL0pTT2JqZWN0Lmg6
CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpwdXREaXJlY3RJbnRlcm5hbCk6IFVzZSB0aGUgZGVm
ZXJyYWwgc2NvcGUuCisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUuY3BwOgorICAgICAgICAo
SlNDOjpTdHJ1Y3R1cmU6OlN0cnVjdHVyZSk6IFBhc3MgdGhlIGRlZmVycmFsIHNjb3BlIHRvIGRp
ZFRyYW5zaXRpb25Gcm9tVGhpc1N0cnVjdHVyZS4KKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjph
ZGRQcm9wZXJ0eVRyYW5zaXRpb24pOiBQYXNzIHRoZSBkZWZlcnJhbCBzY29wZSB0byBjcmVhdGUo
KS4KKyAgICAgICAgKEpTQzo6U3RydWN0dXJlRmlyZURldGFpbDo6ZHVtcCk6IFRoaXMgaXMgbm8g
bG9uZ2VyIGFub255bW91cy4KKyAgICAgICAgKEpTQzo6RGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0
aW9uV2F0Y2hwb2ludEZpcmU6OkRlZmVycmVkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRG
aXJlKTogU3RhcnQgd2l0aCBhIG51bGwgc3RydWN0dXJlLgorICAgICAgICAoSlNDOjpEZWZlcnJl
ZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50RmlyZTo6fkRlZmVycmVkU3RydWN0dXJlVHJh
bnNpdGlvbldhdGNocG9pbnRGaXJlKTogRmlyZSB0aGUgd2F0Y2hwb2ludCBpZiB0aGVyZSBpcyBh
IHN0cnVjdHVyZS4KKyAgICAgICAgKEpTQzo6RGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0
Y2hwb2ludEZpcmU6OmFkZCk6IEFkZCBhIHN0cnVjdHVyZS4gTG9naWNhbGx5IHRoaXMgaXMgYSBs
aXN0IG9mIGRlZmVycmVkIHRoaW5ncywgYnV0IHdlIGFzc2VydCB0aGF0IHRoZXJlIG9ubHkgd2ls
bCBiZSBvbmUgKGhhcHBlbnMgdG8gYmUgdHJ1ZSBub3cpLgorICAgICAgICAoSlNDOjpTdHJ1Y3R1
cmU6OmRpZFRyYW5zaXRpb25Gcm9tVGhpc1N0cnVjdHVyZSk6IERlZmVyIHRoZSB3YXRjaHBvaW50
IGZpcmluZyBpZiB0aGVyZSBpcyBhIGRlZmVycmFsIHNjb3BlLgorICAgICAgICAqIHJ1bnRpbWUv
U3RydWN0dXJlLmg6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZUZpcmVEZXRhaWw6OlN0cnVjdHVy
ZUZpcmVEZXRhaWwpOiBNb3ZlIHRoaXMgdG8gdGhlIGhlYWRlci4KKyAgICAgICAgKiBydW50aW1l
L1N0cnVjdHVyZUlubGluZXMuaDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpjcmVhdGUpOiBQ
YXNzIHRoZSBkZWZlcnJhbCBzY29wZSB0byB0aGUgY29uc3RydWN0b3IuCisKIDIwMTUtMDctMTIg
IEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBXYXRjaHBvaW50cyBz
aG91bGQgYmUgcmVtb3ZlZCBmcm9tIHRoZWlyIG93bmluZyBXYXRjaHBvaW50U2V0IGJlZm9yZSB0
aGV5IGFyZSBmaXJlZApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1dhdGNo
cG9pbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9X
YXRjaHBvaW50LmNwcAkocmV2aXNpb24gMTg2NzQ1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL1dhdGNocG9pbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Niw4ICs4Niw4IEBA
IHZvaWQgV2F0Y2hwb2ludFNldDo6ZmlyZUFsbFNsb3coY29uc3QgRmkKICAgICBBU1NFUlQoc3Rh
dGUoKSA9PSBJc1dhdGNoZWQpOwogICAgIAogICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7Cisg
ICAgbV9zdGF0ZSA9IElzSW52YWxpZGF0ZWQ7IC8vIERvIHRoaXMgZmlyc3QuIE5lZWRlZCBmb3Ig
YWRhcHRpdmUgd2F0Y2hwb2ludHMuCiAgICAgZmlyZUFsbFdhdGNocG9pbnRzKGRldGFpbCk7Ci0g
ICAgbV9zdGF0ZSA9IElzSW52YWxpZGF0ZWQ7CiAgICAgV1RGOjpzdG9yZVN0b3JlRmVuY2UoKTsK
IH0KIApAQCAtOTgsNiArOTgsMTAgQEAgdm9pZCBXYXRjaHBvaW50U2V0OjpmaXJlQWxsU2xvdyhj
b25zdCBjaAogCiB2b2lkIFdhdGNocG9pbnRTZXQ6OmZpcmVBbGxXYXRjaHBvaW50cyhjb25zdCBG
aXJlRGV0YWlsJiBkZXRhaWwpCiB7CisgICAgLy8gSW4gY2FzZSB0aGVyZSBhcmUgYW55IGFkYXB0
aXZlIHdhdGNocG9pbnRzLCB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZXkgc2VlIHRoYXQg
dGhpcworICAgIC8vIHdhdGNocG9pbnQgaGFzIGJlZW4gYWxyZWFkeSBpbnZhbGlkYXRlZC4KKyAg
ICBSRUxFQVNFX0FTU0VSVChoYXNCZWVuSW52YWxpZGF0ZWQoKSk7CisgICAgCiAgICAgd2hpbGUg
KCFtX3NldC5pc0VtcHR5KCkpIHsKICAgICAgICAgV2F0Y2hwb2ludCogd2F0Y2hwb2ludCA9IG1f
c2V0LmJlZ2luKCk7CiAgICAgICAgIEFTU0VSVCh3YXRjaHBvaW50LT5pc09uTGlzdCgpKTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2JqZWN0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkocmV2aXNpb24gMTg2
NzQxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTI5NCw3ICsxMjk0LDEyIEBAIGlubGluZSBib29sIEpTT2JqZWN0OjpwdXRE
aXJlY3RJbnRlcm5hbCgKICAgICBpZiAoKG1vZGUgPT0gUHV0TW9kZVB1dCkgJiYgIWlzRXh0ZW5z
aWJsZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1
cmU6OmFkZFByb3BlcnR5VHJhbnNpdGlvbih2bSwgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUsIGF0
dHJpYnV0ZXMsIG9mZnNldCwgc2xvdC5jb250ZXh0KCkpOworICAgIC8vIFdlIHdhbnQgdGhlIHN0
cnVjdHVyZSB0cmFuc2l0aW9uIHdhdGNocG9pbnQgdG8gZmlyZSBhZnRlciB0aGlzIG9iamVjdCBo
YXMgc3dpdGNoZWQKKyAgICAvLyBzdHJ1Y3R1cmUuIFRoaXMgYWxsb3dzIGFkYXB0aXZlIHdhdGNo
cG9pbnRzIHRvIG9ic2VydmUgaWYgdGhlIG5ldyBzdHJ1Y3R1cmUgaXMgdGhlIG9uZQorICAgIC8v
IHdlIHdhbnQuCisgICAgRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUg
ZGVmZXJyZWRXYXRjaHBvaW50RmlyZTsKKyAgICAKKyAgICBzdHJ1Y3R1cmUgPSBTdHJ1Y3R1cmU6
OmFkZFByb3BlcnR5VHJhbnNpdGlvbih2bSwgc3RydWN0dXJlLCBwcm9wZXJ0eU5hbWUsIGF0dHJp
YnV0ZXMsIG9mZnNldCwgc2xvdC5jb250ZXh0KCksICZkZWZlcnJlZFdhdGNocG9pbnRGaXJlKTsK
ICAgICAKICAgICB2YWxpZGF0ZU9mZnNldChvZmZzZXQpOwogICAgIEFTU0VSVChzdHJ1Y3R1cmUt
PmlzVmFsaWRPZmZzZXQob2Zmc2V0KSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDE4Njc0MSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxMCw3ICsy
MTAsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0pCiAgICAgQVNTRVJUKGhhc0dldHRl
clNldHRlclByb3BlcnRpZXMoKSB8fCAhbV9jbGFzc0luZm8tPmhhc1N0YXRpY1NldHRlck9yUmVh
ZG9ubHlQcm9wZXJ0aWVzKCkpOwogfQogCi1TdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIFN0
cnVjdHVyZSogcHJldmlvdXMpCitTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVy
ZSogcHJldmlvdXMsIERlZmVycmVkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKiBk
ZWZlcnJlZCkKICAgICA6IEpTQ2VsbCh2bSwgdm0uc3RydWN0dXJlU3RydWN0dXJlLmdldCgpKQog
ICAgICwgbV9wcm90b3R5cGUodm0sIHRoaXMsIHByZXZpb3VzLT5zdG9yZWRQcm90b3R5cGUoKSkK
ICAgICAsIG1fY2xhc3NJbmZvKHByZXZpb3VzLT5tX2NsYXNzSW5mbykKQEAgLTIzOCw3ICsyMzgs
NyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogCiAgICAgQVNTRVJU
KCFwcmV2aW91cy0+dHlwZUluZm8oKS5zdHJ1Y3R1cmVJc0ltbW9ydGFsKCkpOwogICAgIHNldFBy
ZXZpb3VzSUQodm0sIHByZXZpb3VzKTsKIAotICAgIHByZXZpb3VzLT5kaWRUcmFuc2l0aW9uRnJv
bVRoaXNTdHJ1Y3R1cmUoKTsKKyAgICBwcmV2aW91cy0+ZGlkVHJhbnNpdGlvbkZyb21UaGlzU3Ry
dWN0dXJlKGRlZmVycmVkKTsKICAgICBpZiAocHJldmlvdXMtPm1fZ2xvYmFsT2JqZWN0KQogICAg
ICAgICBtX2dsb2JhbE9iamVjdC5zZXQodm0sIHRoaXMsIHByZXZpb3VzLT5tX2dsb2JhbE9iamVj
dC5nZXQoKSk7CiAgICAgQVNTRVJUKGhhc1JlYWRPbmx5T3JHZXR0ZXJTZXR0ZXJQcm9wZXJ0aWVz
RXhjbHVkaW5nUHJvdG8oKSB8fCAhbV9jbGFzc0luZm8tPmhhc1N0YXRpY1NldHRlck9yUmVhZG9u
bHlQcm9wZXJ0aWVzKCkpOwpAQCAtMzk0LDcgKzM5NCw3IEBAIE5vblByb3BlcnR5VHJhbnNpdGlv
biBTdHJ1Y3R1cmU6OnN1Z2dlc3QKICAgICByZXR1cm4gQWxsb2NhdGVBcnJheVN0b3JhZ2U7CiB9
CiAKLVN0cnVjdHVyZSogU3RydWN0dXJlOjphZGRQcm9wZXJ0eVRyYW5zaXRpb24oVk0mIHZtLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgdW5zaWduZWQg
YXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmIG9mZnNldCwgUHV0UHJvcGVydHlTbG90OjpDb250
ZXh0IGNvbnRleHQpCitTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0aW9u
KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUs
IHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0JiBvZmZzZXQsIFB1dFByb3BlcnR5
U2xvdDo6Q29udGV4dCBjb250ZXh0LCBEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBv
aW50RmlyZSogZGVmZXJyZWQpCiB7CiAgICAgQVNTRVJUKCFzdHJ1Y3R1cmUtPmlzRGljdGlvbmFy
eSgpKTsKICAgICBBU1NFUlQoc3RydWN0dXJlLT5pc09iamVjdCgpKTsKQEAgLTQxMiw3ICs0MTIs
NyBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6YWRkUHJvcGVydHlUcmFuc2l0CiAgICAgICAgIHJl
dHVybiB0cmFuc2l0aW9uOwogICAgIH0KICAgICAKLSAgICBTdHJ1Y3R1cmUqIHRyYW5zaXRpb24g
PSBjcmVhdGUodm0sIHN0cnVjdHVyZSk7CisgICAgU3RydWN0dXJlKiB0cmFuc2l0aW9uID0gY3Jl
YXRlKHZtLCBzdHJ1Y3R1cmUsIGRlZmVycmVkKTsKIAogICAgIHRyYW5zaXRpb24tPm1fY2FjaGVk
UHJvdG90eXBlQ2hhaW4uc2V0TWF5QmVOdWxsKHZtLCB0cmFuc2l0aW9uLCBzdHJ1Y3R1cmUtPm1f
Y2FjaGVkUHJvdG90eXBlQ2hhaW4uZ2V0KCkpOwogICAgIHRyYW5zaXRpb24tPm1fbmFtZUluUHJl
dmlvdXMgPSBwcm9wZXJ0eU5hbWUudWlkKCk7CkBAIC05NTAsMjkgKzk1MCwzNSBAQCB2b2lkIFN0
cnVjdHVyZTo6Z2V0UHJvcGVydHlOYW1lc0Zyb21TdHJ1CiAgICAgfQogfQogCi1uYW1lc3BhY2Ug
ewordm9pZCBTdHJ1Y3R1cmVGaXJlRGV0YWlsOjpkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0
Cit7CisgICAgb3V0LnByaW50KCJTdHJ1Y3R1cmUgdHJhbnNpdGlvbiBmcm9tICIsICptX3N0cnVj
dHVyZSk7Cit9CiAKLWNsYXNzIFN0cnVjdHVyZUZpcmVEZXRhaWwgOiBwdWJsaWMgRmlyZURldGFp
bCB7Ci1wdWJsaWM6Ci0gICAgU3RydWN0dXJlRmlyZURldGFpbChjb25zdCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKLSAgICAgICAgOiBtX3N0cnVjdHVyZShzdHJ1Y3R1cmUpCi0gICAgewotICAgIH0K
LSAgICAKLSAgICB2aXJ0dWFsIHZvaWQgZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdCBvdmVy
cmlkZQotICAgIHsKLSAgICAgICAgb3V0LnByaW50KCJTdHJ1Y3R1cmUgdHJhbnNpdGlvbiBmcm9t
ICIsICptX3N0cnVjdHVyZSk7Ci0gICAgfQorRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0
Y2hwb2ludEZpcmU6OkRlZmVycmVkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKCkK
KyAgICA6IG1fc3RydWN0dXJlKG51bGxwdHIpCit7Cit9CiAKLXByaXZhdGU6Ci0gICAgY29uc3Qg
U3RydWN0dXJlKiBtX3N0cnVjdHVyZTsKLX07CitEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25X
YXRjaHBvaW50RmlyZTo6fkRlZmVycmVkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJl
KCkKK3sKKyAgICBpZiAobV9zdHJ1Y3R1cmUpCisgICAgICAgIG1fc3RydWN0dXJlLT50cmFuc2l0
aW9uV2F0Y2hwb2ludFNldCgpLmZpcmVBbGwoU3RydWN0dXJlRmlyZURldGFpbChtX3N0cnVjdHVy
ZSkpOworfQogCi19IC8vIGFub255bW91cyBuYW1lc3BhY2UKK3ZvaWQgRGVmZXJyZWRTdHJ1Y3R1
cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmU6OmFkZChjb25zdCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSkKK3sKKyAgICBSRUxFQVNFX0FTU0VSVCghbV9zdHJ1Y3R1cmUpOworICAgIFJFTEVBU0VfQVNT
RVJUKHN0cnVjdHVyZSk7CisgICAgbV9zdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmU7Cit9CiAKLXZvaWQg
U3RydWN0dXJlOjpkaWRUcmFuc2l0aW9uRnJvbVRoaXNTdHJ1Y3R1cmUoKSBjb25zdAordm9pZCBT
dHJ1Y3R1cmU6OmRpZFRyYW5zaXRpb25Gcm9tVGhpc1N0cnVjdHVyZShEZWZlcnJlZFN0cnVjdHVy
ZVRyYW5zaXRpb25XYXRjaHBvaW50RmlyZSogZGVmZXJyZWQpIGNvbnN0CiB7Ci0gICAgbV90cmFu
c2l0aW9uV2F0Y2hwb2ludFNldC5maXJlQWxsKFN0cnVjdHVyZUZpcmVEZXRhaWwodGhpcykpOwor
ICAgIGlmIChkZWZlcnJlZCkKKyAgICAgICAgZGVmZXJyZWQtPmFkZCh0aGlzKTsKKyAgICBlbHNl
CisgICAgICAgIG1fdHJhbnNpdGlvbldhdGNocG9pbnRTZXQuZmlyZUFsbChTdHJ1Y3R1cmVGaXJl
RGV0YWlsKHRoaXMpKTsKIH0KIAogSlNWYWx1ZSBTdHJ1Y3R1cmU6OnByb3RvdHlwZUZvckxvb2t1
cChDb2RlQmxvY2sqIGNvZGVCbG9jaykgY29uc3QKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cnVjdHVyZS5oCShyZXZpc2lvbiAxODY3NDEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkod29ya2luZyBjb3B5KQpAQCAtOTcsNiArOTcs
MzEgQEAgc3RydWN0IFByb3BlcnR5TWFwRW50cnkgewogICAgIH0KIH07CiAKK2NsYXNzIFN0cnVj
dHVyZUZpcmVEZXRhaWwgOiBwdWJsaWMgRmlyZURldGFpbCB7CitwdWJsaWM6CisgICAgU3RydWN0
dXJlRmlyZURldGFpbChjb25zdCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICAgICAgOiBtX3N0
cnVjdHVyZShzdHJ1Y3R1cmUpCisgICAgeworICAgIH0KKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQg
ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdCBvdmVycmlkZTsKKworcHJpdmF0ZToKKyAgICBj
b25zdCBTdHJ1Y3R1cmUqIG1fc3RydWN0dXJlOworfTsKKworY2xhc3MgRGVmZXJyZWRTdHJ1Y3R1
cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERl
ZmVycmVkU3RydWN0dXJlVHJhbnNpdGlvbldhdGNocG9pbnRGaXJlKTsKK3B1YmxpYzoKKyAgICBK
U19FWFBPUlRfUFJJVkFURSBEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50Rmly
ZSgpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIH5EZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25X
YXRjaHBvaW50RmlyZSgpOworICAgIAorICAgIHZvaWQgYWRkKGNvbnN0IFN0cnVjdHVyZSopOwor
ICAgIAorcHJpdmF0ZToKKyAgICBjb25zdCBTdHJ1Y3R1cmUqIG1fc3RydWN0dXJlOworfTsKKwog
Y2xhc3MgU3RydWN0dXJlIGZpbmFsIDogcHVibGljIEpTQ2VsbCB7CiBwdWJsaWM6CiAgICAgZnJp
ZW5kIGNsYXNzIFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZTsKQEAgLTEzNyw3ICsxNjIsNyBAQCBw
dWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCBkdW1wU3RhdGlzdGljcygpOwogCi0gICAgSlNfRVhQ
T1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9uKFZNJiwg
U3RydWN0dXJlKiwgUHJvcGVydHlOYW1lLCB1bnNpZ25lZCBhdHRyaWJ1dGVzLCBQcm9wZXJ0eU9m
ZnNldCYsIFB1dFByb3BlcnR5U2xvdDo6Q29udGV4dCA9IFB1dFByb3BlcnR5U2xvdDo6VW5rbm93
bkNvbnRleHQpOworICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBTdHJ1Y3R1cmUqIGFkZFBy
b3BlcnR5VHJhbnNpdGlvbihWTSYsIFN0cnVjdHVyZSosIFByb3BlcnR5TmFtZSwgdW5zaWduZWQg
YXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmLCBQdXRQcm9wZXJ0eVNsb3Q6OkNvbnRleHQgPSBQ
dXRQcm9wZXJ0eVNsb3Q6OlVua25vd25Db250ZXh0LCBEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRp
b25XYXRjaHBvaW50RmlyZSogPSBudWxscHRyKTsKICAgICBzdGF0aWMgU3RydWN0dXJlKiBhZGRQ
cm9wZXJ0eVRyYW5zaXRpb25Ub0V4aXN0aW5nU3RydWN0dXJlQ29uY3VycmVudGx5KFN0cnVjdHVy
ZSosIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5
T2Zmc2V0Jik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJv
cGVydHlUcmFuc2l0aW9uVG9FeGlzdGluZ1N0cnVjdHVyZShTdHJ1Y3R1cmUqLCBQcm9wZXJ0eU5h
bWUsIHVuc2lnbmVkIGF0dHJpYnV0ZXMsIFByb3BlcnR5T2Zmc2V0Jik7CiAgICAgc3RhdGljIFN0
cnVjdHVyZSogcmVtb3ZlUHJvcGVydHlUcmFuc2l0aW9uKFZNJiwgU3RydWN0dXJlKiwgUHJvcGVy
dHlOYW1lLCBQcm9wZXJ0eU9mZnNldCYpOwpAQCAtNDAyLDcgKzQyNyw3IEBAIHB1YmxpYzoKICAg
ICAgICAgbV90cmFuc2l0aW9uV2F0Y2hwb2ludFNldC5hZGQod2F0Y2hwb2ludCk7CiAgICAgfQog
ICAgIAotICAgIHZvaWQgZGlkVHJhbnNpdGlvbkZyb21UaGlzU3RydWN0dXJlKCkgY29uc3Q7Cisg
ICAgdm9pZCBkaWRUcmFuc2l0aW9uRnJvbVRoaXNTdHJ1Y3R1cmUoRGVmZXJyZWRTdHJ1Y3R1cmVU
cmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqID0gbnVsbHB0cikgY29uc3Q7CiAgICAgCiAgICAgSW5s
aW5lV2F0Y2hwb2ludFNldCYgdHJhbnNpdGlvbldhdGNocG9pbnRTZXQoKSBjb25zdAogICAgIHsK
QEAgLTQ4Myw5ICs1MDgsOSBAQCBwcml2YXRlOgogCiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3Ry
dWN0dXJlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU1ZhbHVlIHByb3RvdHlwZSwgY29uc3QgVHlw
ZUluZm8mLCBjb25zdCBDbGFzc0luZm8qLCBJbmRleGluZ1R5cGUsIHVuc2lnbmVkIGlubGluZUNh
cGFjaXR5KTsKICAgICBTdHJ1Y3R1cmUoVk0mKTsKLSAgICBTdHJ1Y3R1cmUoVk0mLCBTdHJ1Y3R1
cmUqKTsKKyAgICBTdHJ1Y3R1cmUoVk0mLCBTdHJ1Y3R1cmUqLCBEZWZlcnJlZFN0cnVjdHVyZVRy
YW5zaXRpb25XYXRjaHBvaW50RmlyZSopOwogCi0gICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRl
KFZNJiwgU3RydWN0dXJlKik7CisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlKFZNJiwgU3Ry
dWN0dXJlKiwgRGVmZXJyZWRTdHJ1Y3R1cmVUcmFuc2l0aW9uV2F0Y2hwb2ludEZpcmUqID0gbnVs
bHB0cik7CiAgICAgCiAgICAgc3RhdGljIFN0cnVjdHVyZSogYWRkUHJvcGVydHlUcmFuc2l0aW9u
VG9FeGlzdGluZ1N0cnVjdHVyZUltcGwoU3RydWN0dXJlKiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVp
ZCwgdW5zaWduZWQgYXR0cmlidXRlcywgUHJvcGVydHlPZmZzZXQmKTsKIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5saW5lcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZUlubGluZXMuaAkocmV2aXNp
b24gMTg2NzQxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlSW5s
aW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxMCArNDksMTAgQEAgaW5saW5lIFN0cnVjdHVy
ZSogU3RydWN0dXJlOjpjcmVhdGVTdHJ1YwogICAgIHJldHVybiBzdHJ1Y3R1cmU7CiB9CiAKLWlu
bGluZSBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6Y3JlYXRlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUpCitpbmxpbmUgU3RydWN0dXJlKiBTdHJ1Y3R1cmU6OmNyZWF0ZShWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBEZWZlcnJlZFN0cnVjdHVyZVRyYW5zaXRpb25XYXRjaHBvaW50Rmly
ZSogZGVmZXJyZWQpCiB7CiAgICAgQVNTRVJUKHZtLnN0cnVjdHVyZVN0cnVjdHVyZSk7Ci0gICAg
U3RydWN0dXJlKiBuZXdTdHJ1Y3R1cmUgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTdHJ1
Y3R1cmU+KHZtLmhlYXApKSBTdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSk7CisgICAgU3RydWN0dXJl
KiBuZXdTdHJ1Y3R1cmUgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxTdHJ1Y3R1cmU+KHZt
LmhlYXApKSBTdHJ1Y3R1cmUodm0sIHN0cnVjdHVyZSwgZGVmZXJyZWQpOwogICAgIG5ld1N0cnVj
dHVyZS0+ZmluaXNoQ3JlYXRpb24odm0pOwogICAgIHJldHVybiBuZXdTdHJ1Y3R1cmU7CiB9Cg==
</data>
<flag name="review"
          id="281787"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>