<?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>174441</bug_id>
          
          <creation_ts>2017-07-12 16:28:27 -0700</creation_ts>
          <short_desc>Move Probe code from AbstractMacroAssembler to MacroAssembler.</short_desc>
          <delta_ts>2017-07-12 17:42:17 -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>WebKit 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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>buildbot</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1328278</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-07-12 16:28:27 -0700</bug_when>
    <thetext>The implementation has changed over the years, and the original reason for putting shared probe code in AbstractMacroAssembler is no longer valid.  Let&apos;s move them into MacroAssembler.  This is also friendlier if we want to compile this code with C++ modules later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328282</commentid>
    <comment_count>1</comment_count>
      <attachid>315301</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-07-12 16:33:04 -0700</bug_when>
    <thetext>Created attachment 315301
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328296</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-07-12 16:50:42 -0700</bug_when>
    <thetext>Landed in r219434: &lt;http://trac.webkit.org/r219434&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328318</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-07-12 17:23:08 -0700</bug_when>
    <thetext>Landed a build fix in r219437: &lt;http://trac.webkit.org/r219437&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1328327</commentid>
    <comment_count>4</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-07-12 17:42:17 -0700</bug_when>
    <thetext>nice!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>315301</attachid>
            <date>2017-07-12 16:33:04 -0700</date>
            <delta_ts>2017-07-12 16:45:14 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-174441.patch</filename>
            <type>text/plain</type>
            <size>20304</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE5NDMxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBA
CisyMDE3LTA3LTEyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBN
b3ZlIFByb2JlIHN0dWZmIGZyb20gQWJzdHJhY3RNYWNyb0Fzc2VtYmxlciB0byBNYWNyb0Fzc2Vt
Ymxlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3
NDQ0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
aXMgaXMgYSBwdXJlIHJlZmFjdG9yaW5nIHBhdGNoIGZvciBtb3ZpbmcgcHJvYmUgY29kZSBmcm9t
IHRoZSBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyCisgICAgICAgIHRvIE1hY3JvQXNzZW1ibGVyLiAg
VGhlcmUgaXMgbm8gY29kZSBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBhc3NlbWJsZXIv
QWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpBYnN0cmFjdE1hY3JvQXNz
ZW1ibGVyPEFzc2VtYmxlclR5cGU+OjpBZGRyZXNzOjppbmRleGVkQnkpOgorICAgICAgICAoSlND
OjpBYnN0cmFjdE1hY3JvQXNzZW1ibGVyOjpDUFVTdGF0ZTo6Z3ByTmFtZSk6IERlbGV0ZWQuCisg
ICAgICAgIChKU0M6OkFic3RyYWN0TWFjcm9Bc3NlbWJsZXI6OkNQVVN0YXRlOjpmcHJOYW1lKTog
RGVsZXRlZC4KKyAgICAgICAgKEpTQzo6QWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjo6Q1BVU3RhdGU6
Omdwcik6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OkFic3RyYWN0TWFjcm9Bc3NlbWJsZXI6OkNQ
VVN0YXRlOjpmcHIpOiBEZWxldGVkLgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclR5cGU+
OjpBZGRyZXNzOjppbmRleGVkQnkpOiBEZWxldGVkLgorICAgICAgICAqIGFzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlci5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6Q1BVU3RhdGU6Omdw
ck5hbWUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6Q1BVU3RhdGU6OmZwck5hbWUp
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6Q1BVU3RhdGU6Omdwcik6CisgICAgICAg
IChKU0M6Ok1hY3JvQXNzZW1ibGVyOjpDUFVTdGF0ZTo6ZnByKToKKyAgICAgICAgKiBhc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJBUk0uY3BwOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlcjo6
cHJvYmUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6cHJvYmUpOiBEZWxldGVk
LgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oOgorICAgICAgICAqIGFz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmNwcDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXI6OnByb2JlKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk02NDo6cHJvYmUp
OiBEZWxldGVkLgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0Lmg6Cisg
ICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuY3BwOgorICAgICAgICAoSlND
OjpNYWNyb0Fzc2VtYmxlcjo6cHJvYmUpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFS
TXY3Ojpwcm9iZSk6IERlbGV0ZWQuCisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVy
QVJNdjcuaDoKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmg6CisgICAg
ICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcDoKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXI6OnByb2JlKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJY
ODZDb21tb246OnByb2JlKTogRGVsZXRlZC4KKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJYODZDb21tb24uaDoKKwogMjAxNy0wNy0xMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1
ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIxOTE3
Ni4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fz
c2VtYmxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
QWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCShyZXZpc2lvbiAyMTk0MTcpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtNzYsMTAgKzc2LDEwIEBAIHB1YmxpYzoKICAgICB9CiB9OwogCi10ZW1wbGF0ZSA8
Y2xhc3MgQXNzZW1ibGVyVHlwZSwgY2xhc3MgTWFjcm9Bc3NlbWJsZXJUeXBlPgordGVtcGxhdGUg
PGNsYXNzIEFzc2VtYmxlclR5cGU+CiBjbGFzcyBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyIDogcHVi
bGljIEFic3RyYWN0TWFjcm9Bc3NlbWJsZXJCYXNlIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIEFi
c3RyYWN0TWFjcm9Bc3NlbWJsZXI8QXNzZW1ibGVyVHlwZSwgTWFjcm9Bc3NlbWJsZXJUeXBlPiBB
YnN0cmFjdE1hY3JvQXNzZW1ibGVyVHlwZTsKKyAgICB0eXBlZGVmIEFic3RyYWN0TWFjcm9Bc3Nl
bWJsZXI8QXNzZW1ibGVyVHlwZT4gQWJzdHJhY3RNYWNyb0Fzc2VtYmxlclR5cGU7CiAgICAgdHlw
ZWRlZiBBc3NlbWJsZXJUeXBlIEFzc2VtYmxlclR5cGVfVDsKIAogICAgIHR5cGVkZWYgTWFjcm9B
c3NlbWJsZXJDb2RlUHRyIENvZGVQdHI7CkBAIC0zNzEsOCArMzcxLDcgQEAgcHVibGljOgogICAg
IC8vIEEgTGFiZWwgcmVjb3JkcyBhIHBvaW50IGluIHRoZSBnZW5lcmF0ZWQgaW5zdHJ1Y3Rpb24g
c3RyZWFtLCB0eXBpY2FsbHkgc3VjaCB0aGF0CiAgICAgLy8gaXQgbWF5IGJlIHVzZWQgYXMgYSBk
ZXN0aW5hdGlvbiBmb3IgYSBqdW1wLgogICAgIGNsYXNzIExhYmVsIHsKLSAgICAgICAgdGVtcGxh
dGU8Y2xhc3MgVGVtcGxhdGVBc3NlbWJsZXJUeXBlLCBjbGFzcyBUZW1wbGF0ZU1hY3JvQXNzZW1i
bGVyVHlwZT4KLSAgICAgICAgZnJpZW5kIGNsYXNzIEFic3RyYWN0TWFjcm9Bc3NlbWJsZXI7Cisg
ICAgICAgIGZyaWVuZCBjbGFzcyBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyPEFzc2VtYmxlclR5cGU+
OwogICAgICAgICBmcmllbmQgc3RydWN0IERGRzo6T1NSRXhpdDsKICAgICAgICAgZnJpZW5kIGNs
YXNzIEp1bXA7CiAgICAgICAgIGZyaWVuZCBjbGFzcyBNYWNyb0Fzc2VtYmxlckNvZGVSZWY7CkBA
IC00MDgsOCArNDA3LDcgQEAgcHVibGljOgogICAgIC8vCiAgICAgLy8gYWRkUHRyKFRydXN0ZWRJ
bW1QdHIoaSksIGEsIGIpCiAgICAgY2xhc3MgQ29udmVydGlibGVMb2FkTGFiZWwgewotICAgICAg
ICB0ZW1wbGF0ZTxjbGFzcyBUZW1wbGF0ZUFzc2VtYmxlclR5cGUsIGNsYXNzIFRlbXBsYXRlTWFj
cm9Bc3NlbWJsZXJUeXBlPgotICAgICAgICBmcmllbmQgY2xhc3MgQWJzdHJhY3RNYWNyb0Fzc2Vt
YmxlcjsKKyAgICAgICAgZnJpZW5kIGNsYXNzIEFic3RyYWN0TWFjcm9Bc3NlbWJsZXI8QXNzZW1i
bGVyVHlwZT47CiAgICAgICAgIGZyaWVuZCBjbGFzcyBMaW5rQnVmZmVyOwogICAgICAgICAKICAg
ICBwdWJsaWM6CkBAIC00MzIsOCArNDMwLDcgQEAgcHVibGljOgogICAgIC8vIEEgRGF0YUxhYmVs
UHRyIGlzIHVzZWQgdG8gcmVmZXIgdG8gYSBsb2NhdGlvbiBpbiB0aGUgY29kZSBjb250YWluaW5n
IGEgcG9pbnRlciB0byBiZQogICAgIC8vIHBhdGNoZWQgYWZ0ZXIgdGhlIGNvZGUgaGFzIGJlZW4g
Z2VuZXJhdGVkLgogICAgIGNsYXNzIERhdGFMYWJlbFB0ciB7Ci0gICAgICAgIHRlbXBsYXRlPGNs
YXNzIFRlbXBsYXRlQXNzZW1ibGVyVHlwZSwgY2xhc3MgVGVtcGxhdGVNYWNyb0Fzc2VtYmxlclR5
cGU+Ci0gICAgICAgIGZyaWVuZCBjbGFzcyBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyOworICAgICAg
ICBmcmllbmQgY2xhc3MgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjxBc3NlbWJsZXJUeXBlPjsKICAg
ICAgICAgZnJpZW5kIGNsYXNzIExpbmtCdWZmZXI7CiAgICAgcHVibGljOgogICAgICAgICBEYXRh
TGFiZWxQdHIoKQpAQCAtNDU2LDggKzQ1Myw3IEBAIHB1YmxpYzoKICAgICAvLyBBIERhdGFMYWJl
bDMyIGlzIHVzZWQgdG8gcmVmZXIgdG8gYSBsb2NhdGlvbiBpbiB0aGUgY29kZSBjb250YWluaW5n
IGEgMzItYml0IGNvbnN0YW50IHRvIGJlCiAgICAgLy8gcGF0Y2hlZCBhZnRlciB0aGUgY29kZSBo
YXMgYmVlbiBnZW5lcmF0ZWQuCiAgICAgY2xhc3MgRGF0YUxhYmVsMzIgewotICAgICAgICB0ZW1w
bGF0ZTxjbGFzcyBUZW1wbGF0ZUFzc2VtYmxlclR5cGUsIGNsYXNzIFRlbXBsYXRlTWFjcm9Bc3Nl
bWJsZXJUeXBlPgotICAgICAgICBmcmllbmQgY2xhc3MgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjsK
KyAgICAgICAgZnJpZW5kIGNsYXNzIEFic3RyYWN0TWFjcm9Bc3NlbWJsZXI8QXNzZW1ibGVyVHlw
ZT47CiAgICAgICAgIGZyaWVuZCBjbGFzcyBMaW5rQnVmZmVyOwogICAgIHB1YmxpYzoKICAgICAg
ICAgRGF0YUxhYmVsMzIoKQpAQCAtNDgwLDggKzQ3Niw3IEBAIHB1YmxpYzoKICAgICAvLyBBIERh
dGFMYWJlbENvbXBhY3QgaXMgdXNlZCB0byByZWZlciB0byBhIGxvY2F0aW9uIGluIHRoZSBjb2Rl
IGNvbnRhaW5pbmcgYQogICAgIC8vIGNvbXBhY3QgaW1tZWRpYXRlIHRvIGJlIHBhdGNoZWQgYWZ0
ZXIgdGhlIGNvZGUgaGFzIGJlZW4gZ2VuZXJhdGVkLgogICAgIGNsYXNzIERhdGFMYWJlbENvbXBh
Y3QgewotICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBUZW1wbGF0ZUFzc2VtYmxlclR5cGUsIGNsYXNz
IFRlbXBsYXRlTWFjcm9Bc3NlbWJsZXJUeXBlPgotICAgICAgICBmcmllbmQgY2xhc3MgQWJzdHJh
Y3RNYWNyb0Fzc2VtYmxlcjsKKyAgICAgICAgZnJpZW5kIGNsYXNzIEFic3RyYWN0TWFjcm9Bc3Nl
bWJsZXI8QXNzZW1ibGVyVHlwZT47CiAgICAgICAgIGZyaWVuZCBjbGFzcyBMaW5rQnVmZmVyOwog
ICAgIHB1YmxpYzoKICAgICAgICAgRGF0YUxhYmVsQ29tcGFjdCgpCkBAIC01MTEsOCArNTA2LDcg
QEAgcHVibGljOgogICAgIC8vIHJlbGF0aXZlIG9mZnNldCBzdWNoIHRoYXQgd2hlbiBleGVjdXRl
ZCBpdCB3aWxsIGNhbGwgdG8gdGhlIGRlc2lyZWQKICAgICAvLyBkZXN0aW5hdGlvbi4KICAgICBj
bGFzcyBDYWxsIHsKLSAgICAgICAgdGVtcGxhdGU8Y2xhc3MgVGVtcGxhdGVBc3NlbWJsZXJUeXBl
LCBjbGFzcyBUZW1wbGF0ZU1hY3JvQXNzZW1ibGVyVHlwZT4KLSAgICAgICAgZnJpZW5kIGNsYXNz
IEFic3RyYWN0TWFjcm9Bc3NlbWJsZXI7CisgICAgICAgIGZyaWVuZCBjbGFzcyBBYnN0cmFjdE1h
Y3JvQXNzZW1ibGVyPEFzc2VtYmxlclR5cGU+OwogCiAgICAgcHVibGljOgogICAgICAgICBlbnVt
IEZsYWdzIHsKQEAgLTU1Nyw4ICs1NTEsNyBAQCBwdWJsaWM6CiAgICAgLy8gcmVsYXRpdmUgb2Zm
c2V0IHN1Y2ggdGhhdCB3aGVuIGV4ZWN1dGVkIGl0IHdpbGwganVtcCB0byB0aGUgZGVzaXJlZAog
ICAgIC8vIGRlc3RpbmF0aW9uLgogICAgIGNsYXNzIEp1bXAgewotICAgICAgICB0ZW1wbGF0ZTxj
bGFzcyBUZW1wbGF0ZUFzc2VtYmxlclR5cGUsIGNsYXNzIFRlbXBsYXRlTWFjcm9Bc3NlbWJsZXJU
eXBlPgotICAgICAgICBmcmllbmQgY2xhc3MgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjsKKyAgICAg
ICAgZnJpZW5kIGNsYXNzIEFic3RyYWN0TWFjcm9Bc3NlbWJsZXI8QXNzZW1ibGVyVHlwZT47CiAg
ICAgICAgIGZyaWVuZCBjbGFzcyBDYWxsOwogICAgICAgICBmcmllbmQgc3RydWN0IERGRzo6T1NS
RXhpdDsKICAgICAgICAgZnJpZW5kIGNsYXNzIExpbmtCdWZmZXI7CkBAIC04NDIsOTAgKzgzNSw2
IEBAIHB1YmxpYzoKICAgICAgICAgQXNzZW1ibGVyVHlwZTo6Y2FjaGVGbHVzaChjb2RlLCBzaXpl
KTsKICAgICB9CiAKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKLQotICAgIHN0cnVjdCBDUFVTdGF0
ZSB7Ci0gICAgICAgICNkZWZpbmUgREVDTEFSRV9SRUdJU1RFUihfdHlwZSwgX3JlZ05hbWUpIFwK
LSAgICAgICAgICAgIF90eXBlIF9yZWdOYW1lOwotICAgICAgICBGT1JfRUFDSF9DUFVfUkVHSVNU
RVIoREVDTEFSRV9SRUdJU1RFUikKLSAgICAgICAgI3VuZGVmIERFQ0xBUkVfUkVHSVNURVIKLQot
ICAgICAgICBzdGF0aWMgY29uc3QgY2hhciogZ3ByTmFtZShSZWdpc3RlcklEIHJlZ0lEKQotICAg
ICAgICB7Ci0gICAgICAgICAgICBzd2l0Y2ggKHJlZ0lEKSB7Ci0gICAgICAgICAgICAgICAgI2Rl
ZmluZSBERUNMQVJFX1JFR0lTVEVSKF90eXBlLCBfcmVnTmFtZSkgXAotICAgICAgICAgICAgICAg
IGNhc2UgUmVnaXN0ZXJJRDo6X3JlZ05hbWU6IFwKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJu
ICNfcmVnTmFtZTsKLSAgICAgICAgICAgICAgICBGT1JfRUFDSF9DUFVfR1BSRUdJU1RFUihERUNM
QVJFX1JFR0lTVEVSKQotICAgICAgICAgICAgICAgICN1bmRlZiBERUNMQVJFX1JFR0lTVEVSCi0g
ICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQotICAgICAgICBzdGF0aWMgY29u
c3QgY2hhciogZnByTmFtZShGUFJlZ2lzdGVySUQgcmVnSUQpCi0gICAgICAgIHsKLSAgICAgICAg
ICAgIHN3aXRjaCAocmVnSUQpIHsKLSAgICAgICAgICAgICAgICAjZGVmaW5lIERFQ0xBUkVfUkVH
SVNURVIoX3R5cGUsIF9yZWdOYW1lKSBcCi0gICAgICAgICAgICAgICAgY2FzZSBGUFJlZ2lzdGVy
SUQ6Ol9yZWdOYW1lOiBcCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiAjX3JlZ05hbWU7Ci0g
ICAgICAgICAgICAgICAgRk9SX0VBQ0hfQ1BVX0ZQUkVHSVNURVIoREVDTEFSRV9SRUdJU1RFUikK
LSAgICAgICAgICAgICAgICAjdW5kZWYgREVDTEFSRV9SRUdJU1RFUgotICAgICAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAg
ICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgdm9pZComIGdwcihSZWdpc3RlcklEIHJl
Z0lEKQotICAgICAgICB7Ci0gICAgICAgICAgICBzd2l0Y2ggKHJlZ0lEKSB7Ci0gICAgICAgICAg
ICAgICAgI2RlZmluZSBERUNMQVJFX1JFR0lTVEVSKF90eXBlLCBfcmVnTmFtZSkgXAotICAgICAg
ICAgICAgICAgIGNhc2UgUmVnaXN0ZXJJRDo6X3JlZ05hbWU6IFwKLSAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIF9yZWdOYW1lOwotICAgICAgICAgICAgICAgIEZPUl9FQUNIX0NQVV9HUFJFR0lT
VEVSKERFQ0xBUkVfUkVHSVNURVIpCi0gICAgICAgICAgICAgICAgI3VuZGVmIERFQ0xBUkVfUkVH
SVNURVIKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIGRv
dWJsZSYgZnByKEZQUmVnaXN0ZXJJRCByZWdJRCkKLSAgICAgICAgewotICAgICAgICAgICAgc3dp
dGNoIChyZWdJRCkgewotICAgICAgICAgICAgICAgICNkZWZpbmUgREVDTEFSRV9SRUdJU1RFUihf
dHlwZSwgX3JlZ05hbWUpIFwKLSAgICAgICAgICAgICAgICBjYXNlIEZQUmVnaXN0ZXJJRDo6X3Jl
Z05hbWU6IFwKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9yZWdOYW1lOwotICAgICAgICAg
ICAgICAgIEZPUl9FQUNIX0NQVV9GUFJFR0lTVEVSKERFQ0xBUkVfUkVHSVNURVIpCi0gICAgICAg
ICAgICAgICAgI3VuZGVmIERFQ0xBUkVfUkVHSVNURVIKLSAgICAgICAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgfQotICAgIH07Ci0KLSAgICAvLyBUaGlzIGZ1bmN0aW9uIGVtaXRzIGNvZGUg
dG8gcHJlc2VydmUgdGhlIENQVVN0YXRlIChlLmcuIHJlZ2lzdGVycyksCi0gICAgLy8gY2FsbCBh
IHVzZXIgc3VwcGxpZWQgcHJvYmUgZnVuY3Rpb24sIGFuZCByZXN0b3JlIHRoZSBDUFVTdGF0ZSBi
ZWZvcmUKLSAgICAvLyBjb250aW51aW5nIHdpdGggb3RoZXIgSklUIGdlbmVyYXRlZCBjb2RlLgot
ICAgIC8vCi0gICAgLy8gVGhlIHVzZXIgc3VwcGxpZWQgcHJvYmUgZnVuY3Rpb24gd2lsbCBiZSBj
YWxsZWQgd2l0aCBhIHNpbmdsZSBwb2ludGVyIHRvCi0gICAgLy8gYSBQcm9iZUNvbnRleHQgc3Ry
dWN0IChkZWZpbmVkIGFib3ZlKSB3aGljaCBjb250YWlucywgYW1vbmcgb3RoZXIgdGhpbmdzLAot
ICAgIC8vIHRoZSBwcmVzZXJ2ZWQgQ1BVU3RhdGUuIFRoaXMgYWxsb3dzIHRoZSB1c2VyIHByb2Jl
IGZ1bmN0aW9uIHRvIGluc3BlY3QKLSAgICAvLyB0aGUgQ1BVU3RhdGUgYXQgdGhhdCBwb2ludCBp
biB0aGUgSklUIGdlbmVyYXRlZCBjb2RlLgotICAgIC8vCi0gICAgLy8gSWYgdGhlIHVzZXIgcHJv
YmUgZnVuY3Rpb24gYWx0ZXJzIHRoZSByZWdpc3RlciB2YWx1ZXMgaW4gdGhlIFByb2JlQ29udGV4
dCwKLSAgICAvLyB0aGUgYWx0ZXJlZCB2YWx1ZXMgd2lsbCBiZSBsb2FkZWQgaW50byB0aGUgQ1BV
IHJlZ2lzdGVycyB3aGVuIHRoZSBwcm9iZQotICAgIC8vIHJldHVybnMuCi0gICAgLy8KLSAgICAv
LyBUaGUgUHJvYmVDb250ZXh0IGlzIHN0YWNrIGFsbG9jYXRlZCBhbmQgaXMgb25seSB2YWxpZCBm
b3IgdGhlIGR1cmF0aW9uCi0gICAgLy8gb2YgdGhlIGNhbGwgdG8gdGhlIHVzZXIgcHJvYmUgZnVu
Y3Rpb24uCi0gICAgLy8KLSAgICAvLyBOb3RlOiBwcm9iZSgpIHNob3VsZCBiZSBpbXBsZW1lbnRl
ZCBieSB0aGUgdGFyZ2V0IHNwZWNpZmljIE1hY3JvQXNzZW1ibGVyLgotICAgIC8vIFRoaXMgcHJv
dG90eXBlIGlzIG9ubHkgcHJvdmlkZWQgaGVyZSB0byBkb2N1bWVudCB0aGUgaW50ZXJmYWNlLgot
Ci0gICAgdm9pZCBwcm9iZShQcm9iZUZ1bmN0aW9uLCB2b2lkKiBhcmcpOwotCi0jZW5kaWYgLy8g
RU5BQkxFKE1BU01fUFJPQkUpCi0KICAgICBBc3NlbWJsZXJUeXBlIG1fYXNzZW1ibGVyOwogICAg
IAogICAgIHN0YXRpYyB2b2lkIGxpbmtKdW1wKHZvaWQqIGNvZGUsIEp1bXAganVtcCwgQ29kZUxv
Y2F0aW9uTGFiZWwgdGFyZ2V0KQpAQCAtMTEyNywxMSArMTAzNiwxMSBAQCBwcm90ZWN0ZWQ6CiAg
ICAgZnJpZW5kIGNsYXNzIExpbmtCdWZmZXI7CiB9OyAvLyBjbGFzcyBBYnN0cmFjdE1hY3JvQXNz
ZW1ibGVyCiAKLXRlbXBsYXRlIDxjbGFzcyBBc3NlbWJsZXJUeXBlLCBjbGFzcyBNYWNyb0Fzc2Vt
YmxlclR5cGU+Ci1pbmxpbmUgdHlwZW5hbWUgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjxBc3NlbWJs
ZXJUeXBlLCBNYWNyb0Fzc2VtYmxlclR5cGU+OjpCYXNlSW5kZXgKLUFic3RyYWN0TWFjcm9Bc3Nl
bWJsZXI8QXNzZW1ibGVyVHlwZSwgTWFjcm9Bc3NlbWJsZXJUeXBlPjo6QWRkcmVzczo6aW5kZXhl
ZEJ5KAotICAgIHR5cGVuYW1lIEFic3RyYWN0TWFjcm9Bc3NlbWJsZXI8QXNzZW1ibGVyVHlwZSwg
TWFjcm9Bc3NlbWJsZXJUeXBlPjo6UmVnaXN0ZXJJRCBpbmRleCwKLSAgICB0eXBlbmFtZSBBYnN0
cmFjdE1hY3JvQXNzZW1ibGVyPEFzc2VtYmxlclR5cGUsIE1hY3JvQXNzZW1ibGVyVHlwZT46OlNj
YWxlIHNjYWxlKSBjb25zdAordGVtcGxhdGUgPGNsYXNzIEFzc2VtYmxlclR5cGU+CitpbmxpbmUg
dHlwZW5hbWUgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjxBc3NlbWJsZXJUeXBlPjo6QmFzZUluZGV4
CitBYnN0cmFjdE1hY3JvQXNzZW1ibGVyPEFzc2VtYmxlclR5cGU+OjpBZGRyZXNzOjppbmRleGVk
QnkoCisgICAgdHlwZW5hbWUgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjxBc3NlbWJsZXJUeXBlPjo6
UmVnaXN0ZXJJRCBpbmRleCwKKyAgICB0eXBlbmFtZSBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyPEFz
c2VtYmxlclR5cGU+OjpTY2FsZSBzY2FsZSkgY29uc3QKIHsKICAgICByZXR1cm4gQmFzZUluZGV4
KGJhc2UsIGluZGV4LCBzY2FsZSwgb2Zmc2V0KTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgJKHJldmlzaW9uIDIxOTQxNykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAkod29y
a2luZyBjb3B5KQpAQCAtMTgzNSwxMCArMTgzNSwzMCBAQCBwdWJsaWM6CiAgICAgfQogCiAjaWYg
RU5BQkxFKE1BU01fUFJPQkUpCi0gICAgdXNpbmcgTWFjcm9Bc3NlbWJsZXJCYXNlOjpwcm9iZTsK
KyAgICBzdHJ1Y3QgQ1BVU3RhdGU7CisgICAgCisgICAgLy8gVGhpcyBmdW5jdGlvbiBlbWl0cyBj
b2RlIHRvIHByZXNlcnZlIHRoZSBDUFVTdGF0ZSAoZS5nLiByZWdpc3RlcnMpLAorICAgIC8vIGNh
bGwgYSB1c2VyIHN1cHBsaWVkIHByb2JlIGZ1bmN0aW9uLCBhbmQgcmVzdG9yZSB0aGUgQ1BVU3Rh
dGUgYmVmb3JlCisgICAgLy8gY29udGludWluZyB3aXRoIG90aGVyIEpJVCBnZW5lcmF0ZWQgY29k
ZS4KKyAgICAvLworICAgIC8vIFRoZSB1c2VyIHN1cHBsaWVkIHByb2JlIGZ1bmN0aW9uIHdpbGwg
YmUgY2FsbGVkIHdpdGggYSBzaW5nbGUgcG9pbnRlciB0bworICAgIC8vIGEgUHJvYmVDb250ZXh0
IHN0cnVjdCAoZGVmaW5lZCBiZWxvdykgd2hpY2ggY29udGFpbnMsIGFtb25nIG90aGVyIHRoaW5n
cywKKyAgICAvLyB0aGUgcHJlc2VydmVkIENQVVN0YXRlLiBUaGlzIGFsbG93cyB0aGUgdXNlciBw
cm9iZSBmdW5jdGlvbiB0byBpbnNwZWN0CisgICAgLy8gdGhlIENQVVN0YXRlIGF0IHRoYXQgcG9p
bnQgaW4gdGhlIEpJVCBnZW5lcmF0ZWQgY29kZS4KKyAgICAvLworICAgIC8vIElmIHRoZSB1c2Vy
IHByb2JlIGZ1bmN0aW9uIGFsdGVycyB0aGUgcmVnaXN0ZXIgdmFsdWVzIGluIHRoZSBQcm9iZUNv
bnRleHQsCisgICAgLy8gdGhlIGFsdGVyZWQgdmFsdWVzIHdpbGwgYmUgbG9hZGVkIGludG8gdGhl
IENQVSByZWdpc3RlcnMgd2hlbiB0aGUgcHJvYmUKKyAgICAvLyByZXR1cm5zLgorICAgIC8vCisg
ICAgLy8gVGhlIFByb2JlQ29udGV4dCBpcyBzdGFjayBhbGxvY2F0ZWQgYW5kIGlzIG9ubHkgdmFs
aWQgZm9yIHRoZSBkdXJhdGlvbgorICAgIC8vIG9mIHRoZSBjYWxsIHRvIHRoZSB1c2VyIHByb2Jl
IGZ1bmN0aW9uLgorICAgIC8vCisgICAgLy8gTm90ZTogdGhpcyB2ZXJzaW9uIG9mIHByb2JlKCkg
c2hvdWxkIGJlIGltcGxlbWVudGVkIGJ5IHRoZSB0YXJnZXQgc3BlY2lmaWMKKyAgICAvLyBNYWNy
b0Fzc2VtYmxlci4KKyAgICB2b2lkIHByb2JlKFByb2JlRnVuY3Rpb24sIHZvaWQqIGFyZyk7CiAK
ICAgICB2b2lkIHByb2JlKHN0ZDo6ZnVuY3Rpb248dm9pZChQcm9iZUNvbnRleHQqKT4pOwotI2Vu
ZGlmCisjZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCiAKICAgICAvLyBMZXQncyB5b3UgcHJp
bnQgZnJvbSB5b3VyIEpJVCBnZW5lcmF0ZWQgY29kZS4KICAgICAvLyBUaGlzIG9ubHkgd29ya3Mg
aWYgRU5BQkxFKE1BU01fUFJPQkUpLiBPdGhlcndpc2UsIHByaW50KCkgaXMgYSBuby1vcC4KQEAg
LTE4NTAsNiArMTg3MCw3NiBAQCBwdWJsaWM6CiB9OwogCiAjaWYgRU5BQkxFKE1BU01fUFJPQkUp
CisKKyNkZWZpbmUgREVDTEFSRV9SRUdJU1RFUihfdHlwZSwgX3JlZ05hbWUpIFwKKyAgICBfdHlw
ZSBfcmVnTmFtZTsKKworc3RydWN0IE1hY3JvQXNzZW1ibGVyOjpDUFVTdGF0ZSB7CisgICAgRk9S
X0VBQ0hfQ1BVX1JFR0lTVEVSKERFQ0xBUkVfUkVHSVNURVIpCisKKyAgICBzdGF0aWMgaW5saW5l
IGNvbnN0IGNoYXIqIGdwck5hbWUoUmVnaXN0ZXJJRCk7CisgICAgc3RhdGljIGlubGluZSBjb25z
dCBjaGFyKiBmcHJOYW1lKEZQUmVnaXN0ZXJJRCk7CisgICAgaW5saW5lIHZvaWQqJiBncHIoUmVn
aXN0ZXJJRCk7CisgICAgaW5saW5lIGRvdWJsZSYgZnByKEZQUmVnaXN0ZXJJRCk7Cit9OworI3Vu
ZGVmIERFQ0xBUkVfUkVHSVNURVIKKworaW5saW5lIGNvbnN0IGNoYXIqIE1hY3JvQXNzZW1ibGVy
OjpDUFVTdGF0ZTo6Z3ByTmFtZShSZWdpc3RlcklEIHJlZ0lEKQoreworI2RlZmluZSBERUNMQVJF
X1JFR0lTVEVSKF90eXBlLCBfcmVnTmFtZSkgXAorICAgIGNhc2UgUmVnaXN0ZXJJRDo6X3JlZ05h
bWU6IFwKKyAgICAgICAgcmV0dXJuICNfcmVnTmFtZTsKKworICAgIHN3aXRjaCAocmVnSUQpIHsK
KyAgICAgICAgRk9SX0VBQ0hfQ1BVX0dQUkVHSVNURVIoREVDTEFSRV9SRUdJU1RFUikKKyAgICBk
ZWZhdWx0OgorICAgICAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKyN1
bmRlZiBERUNMQVJFX1JFR0lTVEVSCit9CisKK2lubGluZSBjb25zdCBjaGFyKiBNYWNyb0Fzc2Vt
Ymxlcjo6Q1BVU3RhdGU6OmZwck5hbWUoRlBSZWdpc3RlcklEIHJlZ0lEKQoreworI2RlZmluZSBE
RUNMQVJFX1JFR0lTVEVSKF90eXBlLCBfcmVnTmFtZSkgXAorICAgIGNhc2UgRlBSZWdpc3RlcklE
OjpfcmVnTmFtZTogXAorICAgICAgICByZXR1cm4gI19yZWdOYW1lOworCisgICAgc3dpdGNoIChy
ZWdJRCkgeworICAgICAgICBGT1JfRUFDSF9DUFVfRlBSRUdJU1RFUihERUNMQVJFX1JFR0lTVEVS
KQorICAgIGRlZmF1bHQ6CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgfQorI3VuZGVmIERFQ0xBUkVfUkVHSVNURVIKK30KKworaW5saW5lIHZvaWQqJiBNYWNyb0Fz
c2VtYmxlcjo6Q1BVU3RhdGU6OmdwcihSZWdpc3RlcklEIHJlZ0lEKQoreworI2RlZmluZSBERUNM
QVJFX1JFR0lTVEVSKF90eXBlLCBfcmVnTmFtZSkgXAorICAgIGNhc2UgUmVnaXN0ZXJJRDo6X3Jl
Z05hbWU6IFwKKyAgICAgICAgcmV0dXJuIF9yZWdOYW1lOworCisgICAgc3dpdGNoIChyZWdJRCkg
eworICAgICAgICBGT1JfRUFDSF9DUFVfR1BSRUdJU1RFUihERUNMQVJFX1JFR0lTVEVSKQorICAg
IGRlZmF1bHQ6CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQor
I3VuZGVmIERFQ0xBUkVfUkVHSVNURVIKK30KKworaW5saW5lIGRvdWJsZSYgTWFjcm9Bc3NlbWJs
ZXI6OkNQVVN0YXRlOjpmcHIoRlBSZWdpc3RlcklEIHJlZ0lEKQoreworI2RlZmluZSBERUNMQVJF
X1JFR0lTVEVSKF90eXBlLCBfcmVnTmFtZSkgXAorICAgIGNhc2UgRlBSZWdpc3RlcklEOjpfcmVn
TmFtZTogXAorICAgICAgICByZXR1cm4gX3JlZ05hbWU7CisKKyAgICBzd2l0Y2ggKHJlZ0lEKSB7
CisgICAgICAgIEZPUl9FQUNIX0NQVV9GUFJFR0lTVEVSKERFQ0xBUkVfUkVHSVNURVIpCisgICAg
ZGVmYXVsdDoKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9Cisj
dW5kZWYgREVDTEFSRV9SRUdJU1RFUgorfQorCiBzdHJ1Y3QgUHJvYmVDb250ZXh0IHsKICAgICB1
c2luZyBDUFVTdGF0ZSA9IE1hY3JvQXNzZW1ibGVyOjpDUFVTdGF0ZTsKICAgICB1c2luZyBSZWdp
c3RlcklEID0gTWFjcm9Bc3NlbWJsZXI6OlJlZ2lzdGVySUQ7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5jcHAJ
KHJldmlzaW9uIDIxOTQxNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJBUk02NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3Miw3ICs0NzIsNyBAQCBz
dGF0aWMgdm9pZCBhcm02NFByb2JlVHJhbXBvbGluZShQcm9iZUNvCiAgICAgfQogfQogCi12b2lk
IE1hY3JvQXNzZW1ibGVyQVJNNjQ6OnByb2JlKFByb2JlRnVuY3Rpb24gZnVuY3Rpb24sIHZvaWQq
IGFyZykKK3ZvaWQgTWFjcm9Bc3NlbWJsZXI6OnByb2JlKFByb2JlRnVuY3Rpb24gZnVuY3Rpb24s
IHZvaWQqIGFyZykKIHsKICAgICBzdWI2NChUcnVzdGVkSW1tMzIoNyAqIDgpLCBzcCk7CiAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJBUk02NC5oCShyZXZpc2lvbiAyMTk0MTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyAr
MzQsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotY2xhc3MgTWFjcm9Bc3NlbWJsZXJBUk02NCA6
IHB1YmxpYyBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyPEFSTTY0QXNzZW1ibGVyLCBNYWNyb0Fzc2Vt
YmxlckFSTTY0PiB7CitjbGFzcyBNYWNyb0Fzc2VtYmxlckFSTTY0IDogcHVibGljIEFic3RyYWN0
TWFjcm9Bc3NlbWJsZXI8QVJNNjRBc3NlbWJsZXI+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgbnVtR1BScyA9IDMyOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBudW1G
UFJzID0gMzI7CkBAIC0zNzg1LDEwICszNzg1LDYgQEAgcHVibGljOgogICAgICAgICBBUk02NEFz
c2VtYmxlcjo6cmVwYXRjaFBvaW50ZXIoY2FsbC5kYXRhTGFiZWxQdHJBdE9mZnNldChSRVBBVENI
X09GRlNFVF9DQUxMX1RPX1BPSU5URVIpLmRhdGFMb2NhdGlvbigpLCBkZXN0aW5hdGlvbi5leGVj
dXRhYmxlQWRkcmVzcygpKTsKICAgICB9CiAKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKLSAgICB2
b2lkIHByb2JlKFByb2JlRnVuY3Rpb24sIHZvaWQqIGFyZyk7Ci0jZW5kaWYgLy8gRU5BQkxFKE1B
U01fUFJPQkUpCi0KIHByb3RlY3RlZDoKICAgICBBTFdBWVNfSU5MSU5FIEp1bXAgbWFrZUJyYW5j
aChBUk02NEFzc2VtYmxlcjo6Q29uZGl0aW9uIGNvbmQpCiAgICAgewpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5jcHAJ
KHJldmlzaW9uIDIxOTQxNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJBUk0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDksNyArMzQ5LDcgQEAgYXNt
ICgKICk7CiAjZW5kaWYgLy8gQ09NUElMRVIoR0NDX09SX0NMQU5HKQogCi12b2lkIE1hY3JvQXNz
ZW1ibGVyQVJNOjpwcm9iZShQcm9iZUZ1bmN0aW9uIGZ1bmN0aW9uLCB2b2lkKiBhcmcpCit2b2lk
IE1hY3JvQXNzZW1ibGVyOjpwcm9iZShQcm9iZUZ1bmN0aW9uIGZ1bmN0aW9uLCB2b2lkKiBhcmcp
CiB7CiAgICAgcHVzaChSZWdpc3RlcklEOjpzcCk7CiAgICAgcHVzaChSZWdpc3RlcklEOjpscik7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJN
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlckFSTS5oCShyZXZpc2lvbiAyMTk0MTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0
LDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNzIE1hY3JvQXNzZW1ibGVyQVJNIDogcHVi
bGljIEFic3RyYWN0TWFjcm9Bc3NlbWJsZXI8QVJNQXNzZW1ibGVyLCBNYWNyb0Fzc2VtYmxlckFS
TT4geworY2xhc3MgTWFjcm9Bc3NlbWJsZXJBUk0gOiBwdWJsaWMgQWJzdHJhY3RNYWNyb0Fzc2Vt
YmxlcjxBUk1Bc3NlbWJsZXI+IHsKICAgICBzdGF0aWMgY29uc3QgaW50IERvdWJsZUNvbmRpdGlv
bk1hc2sgPSAweDBmOwogICAgIHN0YXRpYyBjb25zdCBpbnQgRG91YmxlQ29uZGl0aW9uQml0U3Bl
Y2lhbCA9IDB4MTA7CiAgICAgQ09NUElMRV9BU1NFUlQoIShEb3VibGVDb25kaXRpb25CaXRTcGVj
aWFsICYgRG91YmxlQ29uZGl0aW9uTWFzayksIERvdWJsZUNvbmRpdGlvbkJpdFNwZWNpYWxfc2hv
dWxkX25vdF9pbnRlcmZlcmVfd2l0aF9BUk1Bc3NlbWJsZXJfQ29uZGl0aW9uX2NvZGVzKTsKQEAg
LTE1NTksMTAgKzE1NTksNiBAQCBwdWJsaWM6CiAgICAgICAgIEFSTUFzc2VtYmxlcjo6cmVsaW5r
Q2FsbChjYWxsLmRhdGFMb2NhdGlvbigpLCBkZXN0aW5hdGlvbi5leGVjdXRhYmxlQWRkcmVzcygp
KTsKICAgICB9CiAKLSNpZiBFTkFCTEUoTUFTTV9QUk9CRSkKLSAgICB2b2lkIHByb2JlKFByb2Jl
RnVuY3Rpb24sIHZvaWQqIGFyZyk7Ci0jZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCi0KIHBy
b3RlY3RlZDoKICAgICBBUk1Bc3NlbWJsZXI6OkNvbmRpdGlvbiBBUk1Db25kaXRpb24oUmVsYXRp
b25hbENvbmRpdGlvbiBjb25kKQogICAgIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmNwcAkocmV2aXNpb24g
MjE5NDE3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
ckFSTXY3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI1LDcgKzMyNSw3IEBAIGFzbSAoCiApOwog
I2VuZGlmIC8vIENPTVBJTEVSKEdDQ19PUl9DTEFORykKIAotdm9pZCBNYWNyb0Fzc2VtYmxlckFS
TXY3Ojpwcm9iZShQcm9iZUZ1bmN0aW9uIGZ1bmN0aW9uLCB2b2lkKiBhcmcpCit2b2lkIE1hY3Jv
QXNzZW1ibGVyOjpwcm9iZShQcm9iZUZ1bmN0aW9uIGZ1bmN0aW9uLCB2b2lkKiBhcmcpCiB7CiAg
ICAgcHVzaChSZWdpc3RlcklEOjpscik7CiAgICAgcHVzaChSZWdpc3RlcklEOjpscik7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyQVJNdjcuaAkocmV2aXNpb24gMjE5NDE3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMz
LDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNzIE1hY3JvQXNzZW1ibGVyQVJNdjcgOiBw
dWJsaWMgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjxBUk12N0Fzc2VtYmxlciwgTWFjcm9Bc3NlbWJs
ZXJBUk12Nz4geworY2xhc3MgTWFjcm9Bc3NlbWJsZXJBUk12NyA6IHB1YmxpYyBBYnN0cmFjdE1h
Y3JvQXNzZW1ibGVyPEFSTXY3QXNzZW1ibGVyPiB7CiAgICAgc3RhdGljIGNvbnN0IFJlZ2lzdGVy
SUQgZGF0YVRlbXBSZWdpc3RlciA9IEFSTVJlZ2lzdGVyczo6aXA7CiAgICAgc3RhdGljIGNvbnN0
IFJlZ2lzdGVySUQgYWRkcmVzc1RlbXBSZWdpc3RlciA9IEFSTVJlZ2lzdGVyczo6cjY7CiAKQEAg
LTIwMTYsMTAgKzIwMTYsNiBAQCBwdWJsaWM6CiAgICAgICAgIEFSTXY3QXNzZW1ibGVyOjpyZWxp
bmtDYWxsKGNhbGwuZGF0YUxvY2F0aW9uKCksIGRlc3RpbmF0aW9uLmV4ZWN1dGFibGVBZGRyZXNz
KCkpOwogICAgIH0KIAotI2lmIEVOQUJMRShNQVNNX1BST0JFKQotICAgIHZvaWQgcHJvYmUoUHJv
YmVGdW5jdGlvbiwgdm9pZCogYXJnKTsKLSNlbmRpZiAvLyBFTkFCTEUoTUFTTV9QUk9CRSkKLQog
cHJvdGVjdGVkOgogICAgIEFMV0FZU19JTkxJTkUgSnVtcCBqdW1wKCkKICAgICB7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyTUlQUy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJN
SVBTLmgJKHJldmlzaW9uIDIxOTQxNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAK
IAogbmFtZXNwYWNlIEpTQyB7CiAKLWNsYXNzIE1hY3JvQXNzZW1ibGVyTUlQUyA6IHB1YmxpYyBB
YnN0cmFjdE1hY3JvQXNzZW1ibGVyPE1JUFNBc3NlbWJsZXIsIE1hY3JvQXNzZW1ibGVyTUlQUz4g
eworY2xhc3MgTWFjcm9Bc3NlbWJsZXJNSVBTIDogcHVibGljIEFic3RyYWN0TWFjcm9Bc3NlbWJs
ZXI8TUlQU0Fzc2VtYmxlcj4gewogcHVibGljOgogICAgIHR5cGVkZWYgTUlQU1JlZ2lzdGVyczo6
RlBSZWdpc3RlcklEIEZQUmVnaXN0ZXJJRDsKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbnVt
R1BScyA9IDMyOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlclg4NkNvbW1vbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5jcHAJKHJldmlzaW9uIDIxOTQxNykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21t
b24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MjgsNyArNTI4LDcgQEAgYXNtICgKIC8vIHBvc2l0
aW9uIGJlZm9yZSB3ZSBwdXNoIHRoZSBQcm9iZUNvbnRleHQgZnJhbWUuIFRoZSBzYXZlZCByaXAg
d2lsbCBwb2ludCB0bwogLy8gdGhlIGFkZHJlc3Mgb2YgdGhlIGluc3RydWN0aW9uIGltbWVkaWF0
ZWx5IGZvbGxvd2luZyB0aGUgcHJvYmUuIAogCi12b2lkIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9u
Ojpwcm9iZShQcm9iZUZ1bmN0aW9uIGZ1bmN0aW9uLCB2b2lkKiBhcmcpCit2b2lkIE1hY3JvQXNz
ZW1ibGVyOjpwcm9iZShQcm9iZUZ1bmN0aW9uIGZ1bmN0aW9uLCB2b2lkKiBhcmcpCiB7CiAgICAg
cHVzaChSZWdpc3RlcklEOjplc3ApOwogICAgIHB1c2goUmVnaXN0ZXJJRDo6ZWF4KTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyWDg2Q29tbW9uLmgJKHJldmlzaW9uIDIxOTQxNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAkod29ya2luZyBjb3B5KQpA
QCAtMzcsNyArMzcsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotY2xhc3MgTWFjcm9Bc3NlbWJs
ZXJYODZDb21tb24gOiBwdWJsaWMgQWJzdHJhY3RNYWNyb0Fzc2VtYmxlcjxYODZBc3NlbWJsZXIs
IE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uPiB7CitjbGFzcyBNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
biA6IHB1YmxpYyBBYnN0cmFjdE1hY3JvQXNzZW1ibGVyPFg4NkFzc2VtYmxlcj4gewogcHVibGlj
OgogI2lmIENQVShYODZfNjQpCiAgICAgLy8gVXNlIHRoaXMgZGlyZWN0bHkgb25seSBpZiB5b3Un
cmUgbm90IGdlbmVyYXRpbmcgY29kZSB3aXRoIGl0LgpAQCAtMzg3MCwxMCArMzg3MCw2IEBAIHB1
YmxpYzoKICAgICAgICAgc19hdnhDaGVja1N0YXRlID0gKGZsYWdzICYgKDEgPDwgMjgpKSA/IENQ
VUlEQ2hlY2tTdGF0ZTo6U2V0IDogQ1BVSURDaGVja1N0YXRlOjpDbGVhcjsKICAgICB9CiAKLSNp
ZiBFTkFCTEUoTUFTTV9QUk9CRSkKLSAgICB2b2lkIHByb2JlKFByb2JlRnVuY3Rpb24sIHZvaWQq
IGFyZyk7Ci0jZW5kaWYgLy8gRU5BQkxFKE1BU01fUFJPQkUpCi0KIHByb3RlY3RlZDoKICAgICBY
ODZBc3NlbWJsZXI6OkNvbmRpdGlvbiB4ODZDb25kaXRpb24oUmVsYXRpb25hbENvbmRpdGlvbiBj
b25kKQogICAgIHsK
</data>
<flag name="review"
          id="336151"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>