<?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>227147</bug_id>
          
          <creation_ts>2021-06-17 14:45:38 -0700</creation_ts>
          <short_desc>Define MacroAssemblerARM64E::numberOfPACBits based on OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH).</short_desc>
          <delta_ts>2021-06-17 18:45:53 -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>InRadar</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>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1770825</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-06-17 14:45:38 -0700</bug_when>
    <thetext>Also define OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH) based on MACH_VM_MAX_ADDRESS for OS(DARWIN).

rdar://78785309</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770834</commentid>
    <comment_count>1</comment_count>
      <attachid>431725</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-06-17 14:57:29 -0700</bug_when>
    <thetext>Created attachment 431725
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770850</commentid>
    <comment_count>2</comment_count>
      <attachid>431729</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-06-17 15:28:45 -0700</bug_when>
    <thetext>Created attachment 431729
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770857</commentid>
    <comment_count>3</comment_count>
      <attachid>431731</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-06-17 15:39:44 -0700</bug_when>
    <thetext>Created attachment 431731
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770865</commentid>
    <comment_count>4</comment_count>
      <attachid>431731</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-06-17 16:01:13 -0700</bug_when>
    <thetext>Comment on attachment 431731
proposed patch.

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

&gt; Source/WTF/wtf/CagedPtr.h:48
&gt; +    static constexpr unsigned numberOfPACBits = numberOfPointerBits - OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH);

would be good if we eventually renamed this to &quot;maximumNumberOfAllowedPACBits&quot; or similar</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770866</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-06-17 16:02:05 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #4)
&gt; Comment on attachment 431731 [details]
&gt; proposed patch.
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=431731&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/CagedPtr.h:48
&gt; &gt; +    static constexpr unsigned numberOfPACBits = numberOfPointerBits - OS_CONSTANT(EFFECTIVE_ADDRESS_WIDTH);
&gt; 
&gt; would be good if we eventually renamed this to
&gt; &quot;maximumNumberOfAllowedPACBits&quot; or similar

I can do that in a follow up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1770918</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-06-17 18:45:53 -0700</bug_when>
    <thetext>Thanks for the review.  Landed in r279028: &lt;http://trac.webkit.org/r279028&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431725</attachid>
            <date>2021-06-17 14:57:29 -0700</date>
            <delta_ts>2021-06-17 15:28:45 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-227147.patch</filename>
            <type>text/plain</type>
            <size>14441</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc5MDA5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBA
CisyMDIxLTA2LTE3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBE
ZWZpbmUgTWFjcm9Bc3NlbWJsZXJBUk02NEU6Om51bWJlck9mUEFDQml0cyBiYXNlZCBvbiBPU19D
T05TVEFOVChFRkZFQ1RJVkVfQUREUkVTU19XSURUSCkuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcxNDcKKyAgICAgICAgcmRhcjovLzc4Nzg1MzA5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NEUuaDoKKyAgICAgICAgKiBydW50aW1lL09wdGlvbnNM
aXN0Lmg6CisKIDIwMjEtMDYtMTcgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29u
eS5jb20+CiAKICAgICAgICAgUmVpbXBsZW1lbnQgSlNDOjpDYWNoZVBheWxvYWQgd2l0aG91dCBG
aWxlU3lzdGVtOjp1bm1hcFZpZXdPZkZpbGUgYW5kIEZpbGVTeXN0ZW06Ok1hcHBlZEZpbGVEYXRh
OjpsZWFrSGFuZGxlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQVJNNjRFLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0RS5oCShyZXZpc2lvbiAyNzkwMDkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjRFLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE4LTIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE4LTIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxFKEFTU0VNQkxFUikgJiYgQ1BV
KEFSTTY0RSkKIAogI2luY2x1ZGUgIkRpc2FsbG93TWFjcm9TY3JhdGNoUmVnaXN0ZXJVc2FnZS5o
IgorI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKIC8vIFdlIG5lZWQgdG8gaW5jbHVkZSB0
aGlzIGJlZm9yZSBNYWNyb0Fzc2VtYmxlckFSTTY0LmggYmVjYXVzZSBNYWNyb0Fzc2VtYmxlckFS
TTY0CiAvLyB3aWxsIGJlIGRlZmluZWQgaW4gdGVybXMgb2YgQVJNNjRFQXNzZW1ibGVyIGZvciBB
Uk02NEUuCkBAIC00NCw4ICs0NSw5IEBAIHVzaW5nIEFzc2VtYmxlciA9IFRBUkdFVF9BU1NFTUJM
RVI7CiAKIGNsYXNzIE1hY3JvQXNzZW1ibGVyQVJNNjRFIDogcHVibGljIE1hY3JvQXNzZW1ibGVy
QVJNNjQgewogcHVibGljOgotICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZQ
QUNCaXRzID0gMjU7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciB1aW50cHRyX3Qgbm9uUEFDQml0c01h
c2sgPSAoMXVsbCA8PCAoNjQgLSBudW1iZXJPZlBBQ0JpdHMpKSAtIDE7CisgICAgc3RhdGljIGNv
bnN0ZXhwciB1bnNpZ25lZCBudW1iZXJPZlBvaW50ZXJCaXRzID0gc2l6ZW9mKHZvaWQqKSAqIENI
QVJfQklUOworICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZQQUNCaXRzID0g
bnVtYmVyT2ZQb2ludGVyQml0cyAtIE9TX0NPTlNUQU5UKEVGRkVDVElWRV9BRERSRVNTX1dJRFRI
KTsKKyAgICBzdGF0aWMgY29uc3RleHByIHVpbnRwdHJfdCBub25QQUNCaXRzTWFzayA9ICgxdWxs
IDw8IChudW1iZXJPZlBvaW50ZXJCaXRzIC0gbnVtYmVyT2ZQQUNCaXRzKSkgLSAxOwogCiAgICAg
QUxXQVlTX0lOTElORSB2b2lkIHRhZ1JldHVybkFkZHJlc3MoKQogICAgIHsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnNMaXN0LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xpc3QuaAkocmV2aXNpb24gMjc5MDA5
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9uc0xpc3QuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJHQ0xv
Z2dpbmcuaCIKKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCiB1c2luZyBXVEY6OlByaW50
U3RyZWFtOwogCkluZGV4OiBTb3VyY2UvV1RGL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24gMjc5MDA5KQorKysgU291cmNlL1dURi9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNiBAQAorMjAyMS0wNi0xNyAgTWFyayBMYW0g
IDxtYXJrLmxhbUBhcHBsZS5jb20+CisKKyAgICAgICAgRGVmaW5lIE1hY3JvQXNzZW1ibGVyQVJN
NjRFOjpudW1iZXJPZlBBQ0JpdHMgYmFzZWQgb24gT1NfQ09OU1RBTlQoRUZGRUNUSVZFX0FERFJF
U1NfV0lEVEgpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI3MTQ3CisgICAgICAgIHJkYXI6Ly83ODc4NTMwOQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvciBPUyhEQVJXSU4pLCBkZWZpbmUgT1NfQ09O
U1RBTlQoRUZGRUNUSVZFX0FERFJFU1NfV0lEVEgpIGluIHRlcm1zIG9mCisgICAgICAgIE1BQ0hf
Vk1fTUFYX0FERFJFU1MsIHdoaWNoIGlzIHByb3ZpZGVkIGJ5IHRoZSBTREsuICBUaGlzIGVuc3Vy
ZXMgdGhhdCBpdCBpcworICAgICAgICBjb3JyZWN0IGZvciBlYWNoIHRhcmdldCBPUyhEQVJXSU4p
IHBsYXRmb3JtLgorCisgICAgICAgIEFsc28gdXBkYXRlIGFuIGFzc2VydGlvbiBpbiBXVEZBc3Nl
cnRpb25zLmNwcCB0byB2ZXJpZnkgdGhhdCBhZGRyZXNzIGJpdHMgYXJlCisgICAgICAgIGxlc3Mg
dGhhbiA0OC4gIFRoZSBwdXJwb3NlIG9mIHRoaXMgYXNzZXJ0aW9uIGlzIHRvIGVuc3VyZSB0aGF0
IG91ciA2NC1iaXQgTmFOCisgICAgICAgIGJveGluZyBlbmNvZGluZyBmb3IgSlNWYWx1ZXMgd2ls
bCB3b3JrLiAgSGVuY2UsIHdlIHNob3VsZCB1c2UgdGhlIGVuY29kaW5nIGxpbWl0CisgICAgICAg
IGZvciBwb2ludGVycyBvZiA0OCBiaXRzLiAgSXQgbm8gbG9uZ2VyIG1ha2VzIHNlbnNlIHRvIGFz
c2VydCBiYXNlZCBvbgorICAgICAgICBPU19DT05TVEFOVChFRkZFQ1RJVkVfQUREUkVTU19XSURU
SCksIGJlY2F1c2UgT1NfQ09OU1RBTlQoRUZGRUNUSVZFX0FERFJFU1NfV0lEVEgpCisgICAgICAg
IGlzIGRlZmluZWQgaW4gdGVybXMgb2YgTUFDSF9WTV9NQVhfQUREUkVTUy4KKworICAgICAgICAq
IHd0Zi9DYWdlZFB0ci5oOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybU9TLmg6CisgICAgICAgICog
d3RmL1dURkFzc2VydGlvbnMuY3BwOgorCiAyMDIxLTA2LTE3ICBCZW4gTmhhbSAgPG5oYW1AYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBNYWMtc3BlY2lmaWMgQ1BVVGltZSBmdW5jdGlvbnMK
SW5kZXg6IFNvdXJjZS9XVEYvd3RmL0NhZ2VkUHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dU
Ri93dGYvQ2FnZWRQdHIuaAkocmV2aXNpb24gMjc5MDA5KQorKysgU291cmNlL1dURi93dGYvQ2Fn
ZWRQdHIuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0zOSw4ICszOSw5IEBAIHRlbXBsYXRlPEdpZ2FjYWdlOjpL
aW5kIHBhc3NlZEtpbmQsIHR5cGUKIGNsYXNzIENhZ2VkUHRyIHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgY29uc3RleHByIEdpZ2FjYWdlOjpLaW5kIGtpbmQgPSBwYXNzZWRLaW5kOwotICAgIHN0YXRp
YyBjb25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZQQUNCaXRzID0gMjU7Ci0gICAgc3RhdGljIGNv
bnN0ZXhwciB1aW50cHRyX3Qgbm9uUEFDQml0c01hc2sgPSAoMXVsbCA8PCAoKHNpemVvZihUKikg
KiBDSEFSX0JJVCkgLSBudW1iZXJPZlBBQ0JpdHMpKSAtIDE7CisgICAgc3RhdGljIGNvbnN0ZXhw
ciB1bnNpZ25lZCBudW1iZXJPZlBvaW50ZXJCaXRzID0gc2l6ZW9mKFQqKSAqIENIQVJfQklUOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZQQUNCaXRzID0gbnVtYmVyT2ZQ
b2ludGVyQml0cyAtIE9TX0NPTlNUQU5UKEVGRkVDVElWRV9BRERSRVNTX1dJRFRIKTsKKyAgICBz
dGF0aWMgY29uc3RleHByIHVpbnRwdHJfdCBub25QQUNCaXRzTWFzayA9ICgxdWxsIDw8IChudW1i
ZXJPZlBvaW50ZXJCaXRzIC0gbnVtYmVyT2ZQQUNCaXRzKSkgLSAxOwogCiAgICAgQ2FnZWRQdHIo
KSA6IENhZ2VkUHRyKG51bGxwdHIpIHsgfQogICAgIENhZ2VkUHRyKHN0ZDo6bnVsbHB0cl90KQpJ
bmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm1PUy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtT1MuaAkocmV2aXNpb24gMjc5MDA5KQorKysgU291cmNlL1dURi93dGYv
UGxhdGZvcm1PUy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAwNi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAwNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
IENvcHlyaWdodCAoQykgMjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgogICogQ29weXJpZ2h0
IChDKSAyMDEwLCAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKQEAgLTEzNyw4ICsxMzcsOCBAQAogCiAKICNpZiBDUFUoQUREUkVTUzY0KQot
I2lmIChPUyhJT1MpIHx8IE9TKFRWT1MpIHx8IE9TKFdBVENIT1MpKSAmJiBDUFUoQVJNNjQpCi0j
ZGVmaW5lIFdURl9PU19DT05TVEFOVF9FRkZFQ1RJVkVfQUREUkVTU19XSURUSCAzNgorI2lmIE9T
KERBUldJTikKKyNkZWZpbmUgV1RGX09TX0NPTlNUQU5UX0VGRkVDVElWRV9BRERSRVNTX1dJRFRI
IChXVEY6OmdldE1TQlNldENvbnN0ZXhwcihNQUNIX1ZNX01BWF9BRERSRVNTKSArIDEpCiAjZWxz
ZQogLyogV2Ugc3Ryb25nbHkgYXNzdW1lIHRoYXQgZWZmZWN0aXZlIGFkZHJlc3Mgd2lkdGggaXMg
PD0gNDggaW4gNjRiaXQgYXJjaGl0ZWN0dXJlcyAoZS5nLiBOYU4gYm94aW5nKS4gKi8KICNkZWZp
bmUgV1RGX09TX0NPTlNUQU5UX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIDQ4CkluZGV4OiBTb3Vy
Y2UvV1RGL3d0Zi9XVEZBc3NlcnRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0
Zi9XVEZBc3NlcnRpb25zLmNwcAkocmV2aXNpb24gMjc5MDA5KQorKysgU291cmNlL1dURi93dGYv
V1RGQXNzZXJ0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDE3LTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01MCw3ICs1MCw4IEBAIHN0YXRp
Y19hc3NlcnQoc2l6ZW9mKFJlZlB0cjxEdW1teVN0cnVjdD4KIHN0YXRpY19hc3NlcnQoc2l6ZW9m
KFJlZkNvdW50ZWRBcnJheTxEdW1teVN0cnVjdD4pID09IHNpemVvZih2b2lkKiksICIiKTsKIAog
I2lmIE9TKERBUldJTikgJiYgQ1BVKEFERFJFU1M2NCkKLXN0YXRpY19hc3NlcnQoTUFDSF9WTV9N
QVhfQUREUkVTUyA8PSAoKDFVTEwgPDwgT1NfQ09OU1RBTlQoRUZGRUNUSVZFX0FERFJFU1NfV0lE
VEgpKSAtIDEpKTsKKy8vIE5hTiBib3hpbmcgZW5jb2RpbmcgcmVsaWVzIG9uIHRoaXMuCitzdGF0
aWNfYXNzZXJ0KE1BQ0hfVk1fTUFYX0FERFJFU1MgPD0gKDF1bGwgPDwgNDgpKTsKICNlbmRpZgog
CiB9IC8vIG5hbWVzcGFjZSBXVEYKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3OTAwOSkKKysr
IFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDIxLTA2LTE3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBE
ZWZpbmUgTWFjcm9Bc3NlbWJsZXJBUk02NEU6Om51bWJlck9mUEFDQml0cyBiYXNlZCBvbiBPU19D
T05TVEFOVChFRkZFQ1RJVkVfQUREUkVTU19XSURUSCkuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcxNDcKKyAgICAgICAgcmRhcjovLzc4Nzg1MzA5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRm9yIE9T
KERBUldJTiksIGRlZmluZSBCT1NfRUZGRUNUSVZFX0FERFJFU1NfV0lEVEggaW4gdGVybXMgb2Yg
TUFDSF9WTV9NQVhfQUREUkVTUywKKyAgICAgICAgd2hpY2ggaXMgcHJvdmlkZWQgYnkgdGhlIFNE
Sy4gIFRoaXMgZW5zdXJlcyB0aGF0IGl0IGlzIGNvcnJlY3QgZm9yIGVhY2ggdGFyZ2V0CisgICAg
ICAgIE9TKERBUldJTikgcGxhdGZvcm0uCisKKyAgICAgICAgKiBibWFsbG9jL0FsZ29yaXRobS5o
OgorICAgICAgICAoYm1hbGxvYzo6Y2x6Q29uc3RleHByKToKKyAgICAgICAgKGJtYWxsb2M6Omdl
dE1TQlNldENvbnN0ZXhwcik6CisgICAgICAgICogYm1hbGxvYy9CUGxhdGZvcm0uaDoKKyAgICAg
ICAgKiBibWFsbG9jL0dpZ2FjYWdlLmg6CisgICAgICAgICogYm1hbGxvYy9PYmplY3RUeXBlVGFi
bGUuaDoKKyAgICAgICAgKiBibWFsbG9jL1BhY2tlZC5oOgorCiAyMDIxLTA2LTAzICBNaWNoYWVs
IFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIyNzgyNzguCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FsZ29yaXRobS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxnb3JpdGhtLmgJKHJldmlz
aW9uIDI3OTAwOSkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxnb3JpdGhtLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMjAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0xNjksNiArMTY5LDIzIEBAIF9fZm9yY2VpbmxpbmUgY29uc3RleHByIHVu
c2lnbmVkIGxvbmcgX18KIH0KICNlbmRpZgogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK2NvbnN0
ZXhwciB1bnNpZ25lZCBjbHpDb25zdGV4cHIoVCB2YWx1ZSkKK3sKKyAgICBjb25zdGV4cHIgdW5z
aWduZWQgYml0U2l6ZSA9IHNpemVvZihUKSAqIENIQVJfQklUOworCisgICAgdXNpbmcgVVQgPSB0
eXBlbmFtZSBzdGQ6Om1ha2VfdW5zaWduZWQ8VD46OnR5cGU7CisgICAgVVQgdVZhbHVlID0gdmFs
dWU7CisKKyAgICB1bnNpZ25lZCB6ZXJvQ291bnQgPSAwOworICAgIGZvciAoaW50IGkgPSBiaXRT
aXplIC0gMTsgaSA+PSAwOyBpLS0pIHsKKyAgICAgICAgaWYgKHVWYWx1ZSA+PiBpKQorICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIHplcm9Db3VudCsrOworICAgIH0KKyAgICByZXR1cm4gemVy
b0NvdW50OworfQorCiBjb25zdGV4cHIgdW5zaWduZWQgbG9uZyBsb2cyKHVuc2lnbmVkIGxvbmcg
dmFsdWUpCiB7CiAgICAgcmV0dXJuIGJpdENvdW50PHVuc2lnbmVkIGxvbmc+KCkgLSAxIC0gX19i
dWlsdGluX2NsemwodmFsdWUpOwpAQCAtMjYyLDYgKzI3OSwxMyBAQCBjb25zdGV4cHIgdW5zaWdu
ZWQgZ2V0TFNCU2V0Tm9uWmVyb0NvbnN0CiAgICAgcmV0dXJuIGN0ekNvbnN0ZXhwcih0KTsKIH0K
IAordGVtcGxhdGU8dHlwZW5hbWUgVD4KK2NvbnN0ZXhwciB1bnNpZ25lZCBnZXRNU0JTZXRDb25z
dGV4cHIoVCB0KQoreworICAgIGNvbnN0ZXhwciB1bnNpZ25lZCBiaXRTaXplID0gc2l6ZW9mKFQp
ICogQ0hBUl9CSVQ7CisgICAgcmV0dXJuIGJpdFNpemUgLSAxIC0gY2x6Q29uc3RleHByKHQpOwor
fQorCiAvLyBGcm9tIGh0dHA6Ly9ncmFwaGljcy5zdGFuZm9yZC5lZHUvfnNlYW5kZXIvYml0aGFj
a3MuaHRtbCNSb3VuZFVwUG93ZXJPZjIKIGNvbnN0ZXhwciB1aW50MzJfdCByb3VuZFVwVG9Qb3dl
ck9mVHdvKHVpbnQzMl90IHYpCiB7CkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0JQbGF0
Zm9ybS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQlBsYXRmb3JtLmgJ
KHJldmlzaW9uIDI3OTAwOSkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQlBsYXRmb3JtLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE0
LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDE0LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yNzQsOCArMjc0LDggQEAKICNlbmRpZgogCiAjaWYgQkNQVShB
RERSRVNTNjQpCi0jaWYgKEJPUyhJT1MpIHx8IEJPUyhUVk9TKSB8fCBCT1MoV0FUQ0hPUykpICYm
IEJDUFUoQVJNNjQpCi0jZGVmaW5lIEJPU19FRkZFQ1RJVkVfQUREUkVTU19XSURUSCAzNgorI2lm
IEJPUyhEQVJXSU4pCisjZGVmaW5lIEJPU19FRkZFQ1RJVkVfQUREUkVTU19XSURUSCAoYm1hbGxv
Yzo6Z2V0TVNCU2V0Q29uc3RleHByKE1BQ0hfVk1fTUFYX0FERFJFU1MpICsgMSkKICNlbHNlCiAv
KiBXZSBzdHJvbmdseSBhc3N1bWUgdGhhdCBlZmZlY3RpdmUgYWRkcmVzcyB3aWR0aCBpcyA8PSA0
OCBpbiA2NGJpdCBhcmNoaXRlY3R1cmVzIChlLmcuIE5hTiBib3hpbmcpLiAqLwogI2RlZmluZSBC
T1NfRUZGRUNUSVZFX0FERFJFU1NfV0lEVEggNDgKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvR2lnYWNhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0dpZ2Fj
YWdlLmgJKHJldmlzaW9uIDI3OTAwOSkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvR2lnYWNh
Z2UuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTctMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTctMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAK
KyNpbmNsdWRlICJBbGdvcml0aG0uaCIKICNpbmNsdWRlICJCQXNzZXJ0LmgiCiAjaW5jbHVkZSAi
QkV4cG9ydC5oIgogI2luY2x1ZGUgIkJJbmxpbmUuaCIKQEAgLTYxLDE1ICs2MiwxMSBAQCBCSU5M
SU5FIGNvbnN0IGNoYXIqIG5hbWUoS2luZCBraW5kKQogCiAjaWYgR0lHQUNBR0VfRU5BQkxFRAog
Ci0jaWYgQk9TX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIDwgNDgKLWNvbnN0ZXhwciBzaXplX3Qg
cHJpbWl0aXZlR2lnYWNhZ2VTaXplID0gMiAqIGJtYWxsb2M6OlNpemVzOjpHQjsKLWNvbnN0ZXhw
ciBzaXplX3QganNWYWx1ZUdpZ2FjYWdlU2l6ZSA9IDIgKiBibWFsbG9jOjpTaXplczo6R0I7Ci1j
b25zdGV4cHIgc2l6ZV90IG1heGltdW1DYWdlU2l6ZVJlZHVjdGlvbkZvclNsaWRlID0gYm1hbGxv
Yzo6U2l6ZXM6OkdCIC8gNDsKLSNlbHNlCi1jb25zdGV4cHIgc2l6ZV90IHByaW1pdGl2ZUdpZ2Fj
YWdlU2l6ZSA9IDMyICogYm1hbGxvYzo6U2l6ZXM6OkdCOwotY29uc3RleHByIHNpemVfdCBqc1Zh
bHVlR2lnYWNhZ2VTaXplID0gMTYgKiBibWFsbG9jOjpTaXplczo6R0I7Ci1jb25zdGV4cHIgc2l6
ZV90IG1heGltdW1DYWdlU2l6ZVJlZHVjdGlvbkZvclNsaWRlID0gNCAqIGJtYWxsb2M6OlNpemVz
OjpHQjsKLSNlbmRpZgorY29uc3RleHByIGJvb2wgdXNlTGFyZ2VHaWdhY2FnZSA9IEJPU19FRkZF
Q1RJVkVfQUREUkVTU19XSURUSCA+IDM2OworY29uc3RleHByIHNpemVfdCBwcmltaXRpdmVHaWdh
Y2FnZVNpemUgPSAodXNlTGFyZ2VHaWdhY2FnZSA/IDMyIDogMikgKiBibWFsbG9jOjpTaXplczo6
R0I7Citjb25zdGV4cHIgc2l6ZV90IGpzVmFsdWVHaWdhY2FnZVNpemUgPSAodXNlTGFyZ2VHaWdh
Y2FnZSA/IDE2IDogMikgKiBibWFsbG9jOjpTaXplczo6R0I7Citjb25zdGV4cHIgc2l6ZV90IG1h
eGltdW1DYWdlU2l6ZVJlZHVjdGlvbkZvclNsaWRlID0gdXNlTGFyZ2VHaWdhY2FnZSA/IDQgKiBi
bWFsbG9jOjpTaXplczo6R0IgOiBibWFsbG9jOjpTaXplczo6R0IgLyA0OworCiAKIC8vIEluIExp
bnV4LCBpZiBgdm0ub3ZlcmNvbW1pdF9tZW1vcnkgPSAyYCBpcyBzcGVjaWZpZWQsIG1tYXAgd2l0
aCBsYXJnZSBzaXplIGNhbiBmYWlsIGlmIGl0IGV4Y2VlZHMgdGhlIHNpemUgb2YgUkFNLgogLy8g
U28gd2Ugc3BlY2lmeSBHSUdBQ0FHRV9BTExPQ0FUSU9OX0NBTl9GQUlMID0gMS4KSW5kZXg6IFNv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvT2JqZWN0VHlwZVRhYmxlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL2JtYWxsb2MvYm1hbGxvYy9PYmplY3RUeXBlVGFibGUuaAkocmV2aXNpb24gMjc5MDA5KQor
KysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9PYmplY3RUeXBlVGFibGUuaAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIwLTIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQWxnb3JpdGhtLmgi
CiAjaW5jbHVkZSAiTXV0ZXguaCIKICNpbmNsdWRlICJPYmplY3RUeXBlLmgiCiAjaW5jbHVkZSAi
U2l6ZXMuaCIKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGFja2VkLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWNrZWQuaAkocmV2aXNpb24gMjc5MDA5KQor
KysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWNrZWQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKSW5kZXg6
IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9u
IDI3OTAwOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEz
IEBACisyMDIxLTA2LTE3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAg
ICBEZWZpbmUgTWFjcm9Bc3NlbWJsZXJBUk02NEU6Om51bWJlck9mUEFDQml0cyBiYXNlZCBvbiBP
U19DT05TVEFOVChFRkZFQ1RJVkVfQUREUkVTU19XSURUSCkuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcxNDcKKyAgICAgICAgcmRhcjovLzc4Nzg1
MzA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBU
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9QYWNrZWQuY3BwOgorCiAyMDIxLTA2LTE3ICBKb25hdGhh
biBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbd2Via2l0Y29yZXB5XSBS
ZXRyeSBkb3dubG9hZHMgaW4gQXV0b2luc3RhbGwKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV1RGL1BhY2tlZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XVEYvUGFja2VkLmNwcAkocmV2aXNpb24gMjc5MDA5KQorKysgVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvUGFja2VkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDE5LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNyw2ICsyNyw3IEBACiAK
ICNpbmNsdWRlIDx3dGYvUGFja2VkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNs
dWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNw
YWNlIFRlc3RXZWJLaXRBUEkgewo=
</data>
<flag name="commit-queue"
          id="453568"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431729</attachid>
            <date>2021-06-17 15:28:45 -0700</date>
            <delta_ts>2021-06-17 15:44:41 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-227147.patch</filename>
            <type>text/plain</type>
            <size>17834</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc5MDA5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBA
CisyMDIxLTA2LTE3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBE
ZWZpbmUgTWFjcm9Bc3NlbWJsZXJBUk02NEU6Om51bWJlck9mUEFDQml0cyBiYXNlZCBvbiBPU19D
T05TVEFOVChFRkZFQ1RJVkVfQUREUkVTU19XSURUSCkuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcxNDcKKyAgICAgICAgcmRhcjovLzc4Nzg1MzA5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NEUuaDoKKyAgICAgICAgKiBieXRlY29kZS9Db2RlT3Jp
Z2luLmg6CisgICAgICAgICogYnl0ZWNvZGUvU3BlY3VsYXRlZFR5cGUuY3BwOgorICAgICAgICAq
IHJ1bnRpbWUvSlNTdHJpbmcuaDoKKyAgICAgICAgKiBydW50aW1lL09wdGlvbnNMaXN0Lmg6CisK
IDIwMjEtMDYtMTcgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAK
ICAgICAgICAgUmVpbXBsZW1lbnQgSlNDOjpDYWNoZVBheWxvYWQgd2l0aG91dCBGaWxlU3lzdGVt
Ojp1bm1hcFZpZXdPZkZpbGUgYW5kIEZpbGVTeXN0ZW06Ok1hcHBlZEZpbGVEYXRhOjpsZWFrSGFu
ZGxlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVy
QVJNNjRFLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9N
YWNyb0Fzc2VtYmxlckFSTTY0RS5oCShyZXZpc2lvbiAyNzkwMDkpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjRFLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE4LTIwMjAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE4LTIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxFKEFTU0VNQkxFUikgJiYgQ1BVKEFSTTY0RSkK
IAogI2luY2x1ZGUgIkRpc2FsbG93TWFjcm9TY3JhdGNoUmVnaXN0ZXJVc2FnZS5oIgorI2luY2x1
ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKIC8vIFdlIG5lZWQgdG8gaW5jbHVkZSB0aGlzIGJlZm9y
ZSBNYWNyb0Fzc2VtYmxlckFSTTY0LmggYmVjYXVzZSBNYWNyb0Fzc2VtYmxlckFSTTY0CiAvLyB3
aWxsIGJlIGRlZmluZWQgaW4gdGVybXMgb2YgQVJNNjRFQXNzZW1ibGVyIGZvciBBUk02NEUuCkBA
IC00NCw4ICs0NSw5IEBAIHVzaW5nIEFzc2VtYmxlciA9IFRBUkdFVF9BU1NFTUJMRVI7CiAKIGNs
YXNzIE1hY3JvQXNzZW1ibGVyQVJNNjRFIDogcHVibGljIE1hY3JvQXNzZW1ibGVyQVJNNjQgewog
cHVibGljOgotICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZQQUNCaXRzID0g
MjU7Ci0gICAgc3RhdGljIGNvbnN0ZXhwciB1aW50cHRyX3Qgbm9uUEFDQml0c01hc2sgPSAoMXVs
bCA8PCAoNjQgLSBudW1iZXJPZlBBQ0JpdHMpKSAtIDE7CisgICAgc3RhdGljIGNvbnN0ZXhwciB1
bnNpZ25lZCBudW1iZXJPZlBvaW50ZXJCaXRzID0gc2l6ZW9mKHZvaWQqKSAqIENIQVJfQklUOwor
ICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZQQUNCaXRzID0gbnVtYmVyT2ZQ
b2ludGVyQml0cyAtIE9TX0NPTlNUQU5UKEVGRkVDVElWRV9BRERSRVNTX1dJRFRIKTsKKyAgICBz
dGF0aWMgY29uc3RleHByIHVpbnRwdHJfdCBub25QQUNCaXRzTWFzayA9ICgxdWxsIDw8IChudW1i
ZXJPZlBvaW50ZXJCaXRzIC0gbnVtYmVyT2ZQQUNCaXRzKSkgLSAxOwogCiAgICAgQUxXQVlTX0lO
TElORSB2b2lkIHRhZ1JldHVybkFkZHJlc3MoKQogICAgIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db2RlT3JpZ2luLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4uaAkocmV2aXNpb24gMjc5MDA5KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVPcmlnaW4uaAkod29ya2luZyBjb3B5KQpA
QCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9Qcmlu
dFN0cmVhbS5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3BlY3VsYXRl
ZFR5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9T
cGVjdWxhdGVkVHlwZS5jcHAJKHJldmlzaW9uIDI3OTAwOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9TcGVjdWxhdGVkVHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYg
KzQ3LDcgQEAKICNpbmNsdWRlICJTY29wZWRBcmd1bWVudHMuaCIKICNpbmNsdWRlICJTdHJpbmdP
YmplY3QuaCIKICNpbmNsdWRlIDx3dGYvQ29tbWFQcmludGVyLmg+CisjaW5jbHVkZSA8d3RmL01h
dGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KIAogbmFtZXNw
YWNlIEpTQyB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N0cmluZy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmgJ
KHJldmlzaW9uIDI3OTAwOSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3Ry
aW5nLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxhcnJheT4K
ICNpbmNsdWRlIDx3dGYvQ2hlY2tlZEFyaXRobWV0aWMuaD4KICNpbmNsdWRlIDx3dGYvRm9yYmlk
SGVhcEFsbG9jYXRpb24uaD4KKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ1ZpZXcuaD4KIAogbmFtZXNwYWNlIEpTQyB7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zTGlzdC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnNMaXN0LmgJKHJldmlzaW9uIDI3OTAwOSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnNMaXN0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiR0NMb2dn
aW5nLmgiCisjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIAogdXNpbmcgV1RGOjpQcmludFN0
cmVhbTsKIApJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dURi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3OTAwOSkKKysrIFNvdXJjZS9XVEYvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMDYtMTcgIE1hcmsgTGFtICA8
bWFyay5sYW1AYXBwbGUuY29tPgorCisgICAgICAgIERlZmluZSBNYWNyb0Fzc2VtYmxlckFSTTY0
RTo6bnVtYmVyT2ZQQUNCaXRzIGJhc2VkIG9uIE9TX0NPTlNUQU5UKEVGRkVDVElWRV9BRERSRVNT
X1dJRFRIKS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNzE0NworICAgICAgICByZGFyOi8vNzg3ODUzMDkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3IgT1MoREFSV0lOKSwgZGVmaW5lIE9TX0NPTlNU
QU5UKEVGRkVDVElWRV9BRERSRVNTX1dJRFRIKSBpbiB0ZXJtcyBvZgorICAgICAgICBNQUNIX1ZN
X01BWF9BRERSRVNTLCB3aGljaCBpcyBwcm92aWRlZCBieSB0aGUgU0RLLiAgVGhpcyBlbnN1cmVz
IHRoYXQgaXQgaXMKKyAgICAgICAgY29ycmVjdCBmb3IgZWFjaCB0YXJnZXQgT1MoREFSV0lOKSBw
bGF0Zm9ybS4KKworICAgICAgICBBbHNvIHVwZGF0ZSBhbiBhc3NlcnRpb24gaW4gV1RGQXNzZXJ0
aW9ucy5jcHAgdG8gdmVyaWZ5IHRoYXQgYWRkcmVzcyBiaXRzIGFyZQorICAgICAgICBsZXNzIHRo
YW4gNDguICBUaGUgcHVycG9zZSBvZiB0aGlzIGFzc2VydGlvbiBpcyB0byBlbnN1cmUgdGhhdCBv
dXIgNjQtYml0IE5hTgorICAgICAgICBib3hpbmcgZW5jb2RpbmcgZm9yIEpTVmFsdWVzIHdpbGwg
d29yay4gIEhlbmNlLCB3ZSBzaG91bGQgdXNlIHRoZSBlbmNvZGluZyBsaW1pdAorICAgICAgICBm
b3IgcG9pbnRlcnMgb2YgNDggYml0cy4gIEl0IG5vIGxvbmdlciBtYWtlcyBzZW5zZSB0byBhc3Nl
cnQgYmFzZWQgb24KKyAgICAgICAgT1NfQ09OU1RBTlQoRUZGRUNUSVZFX0FERFJFU1NfV0lEVEgp
LCBiZWNhdXNlIE9TX0NPTlNUQU5UKEVGRkVDVElWRV9BRERSRVNTX1dJRFRIKQorICAgICAgICBp
cyBkZWZpbmVkIGluIHRlcm1zIG9mIE1BQ0hfVk1fTUFYX0FERFJFU1MuCisKKyAgICAgICAgKiB3
dGYvQ2FnZWRQdHIuaDoKKyAgICAgICAgKiB3dGYvQ29tcGFjdFBvaW50ZXJUdXBsZS5oOgorICAg
ICAgICAqIHd0Zi9QbGF0Zm9ybU9TLmg6CisgICAgICAgICogd3RmL1dURkFzc2VydGlvbnMuY3Bw
OgorICAgICAgICAqIHd0Zi90aHJlYWRzL1NpZ25hbHMuY3BwOgorCiAyMDIxLTA2LTE3ICBCZW4g
TmhhbSAgPG5oYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBNYWMtc3BlY2lmaWMgQ1BV
VGltZSBmdW5jdGlvbnMKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL0NhZ2VkUHRyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dURi93dGYvQ2FnZWRQdHIuaAkocmV2aXNpb24gMjc5MDA5KQorKysgU291
cmNlL1dURi93dGYvQ2FnZWRQdHIuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNiw2ICsyNiw3IEBACiAjcHJh
Z21hIG9uY2UKIAogI2luY2x1ZGUgPHd0Zi9HaWdhY2FnZS5oPgorI2luY2x1ZGUgPHd0Zi9NYXRo
RXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1B0clRhZy5oPgogI2luY2x1ZGUgPHd0Zi9SYXdQdHJU
cmFpdHMuaD4KIApAQCAtMzksOCArNDAsOSBAQCB0ZW1wbGF0ZTxHaWdhY2FnZTo6S2luZCBwYXNz
ZWRLaW5kLCB0eXBlCiBjbGFzcyBDYWdlZFB0ciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0
ZXhwciBHaWdhY2FnZTo6S2luZCBraW5kID0gcGFzc2VkS2luZDsKLSAgICBzdGF0aWMgY29uc3Rl
eHByIHVuc2lnbmVkIG51bWJlck9mUEFDQml0cyA9IDI1OwotICAgIHN0YXRpYyBjb25zdGV4cHIg
dWludHB0cl90IG5vblBBQ0JpdHNNYXNrID0gKDF1bGwgPDwgKChzaXplb2YoVCopICogQ0hBUl9C
SVQpIC0gbnVtYmVyT2ZQQUNCaXRzKSkgLSAxOworICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWdu
ZWQgbnVtYmVyT2ZQb2ludGVyQml0cyA9IHNpemVvZihUKikgKiBDSEFSX0JJVDsKKyAgICBzdGF0
aWMgY29uc3RleHByIHVuc2lnbmVkIG51bWJlck9mUEFDQml0cyA9IG51bWJlck9mUG9pbnRlckJp
dHMgLSBPU19DT05TVEFOVChFRkZFQ1RJVkVfQUREUkVTU19XSURUSCk7CisgICAgc3RhdGljIGNv
bnN0ZXhwciB1aW50cHRyX3Qgbm9uUEFDQml0c01hc2sgPSAoMXVsbCA8PCAobnVtYmVyT2ZQb2lu
dGVyQml0cyAtIG51bWJlck9mUEFDQml0cykpIC0gMTsKIAogICAgIENhZ2VkUHRyKCkgOiBDYWdl
ZFB0cihudWxscHRyKSB7IH0KICAgICBDYWdlZFB0cihzdGQ6Om51bGxwdHJfdCkKSW5kZXg6IFNv
dXJjZS9XVEYvd3RmL0NvbXBhY3RQb2ludGVyVHVwbGUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V1RGL3d0Zi9Db21wYWN0UG9pbnRlclR1cGxlLmgJKHJldmlzaW9uIDI3OTAwOSkKKysrIFNvdXJj
ZS9XVEYvd3RmL0NvbXBhY3RQb2ludGVyVHVwbGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaW5jbHVkZSA8dHlwZV90cmFpdHM+CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxs
b2MuaD4KKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJF
eHRyYXMuaD4KIAogbmFtZXNwYWNlIFdURiB7CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bU9TLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUGxhdGZvcm1PUy5oCShyZXZpc2lv
biAyNzkwMDkpCisrKyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybU9TLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMTkgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2LTIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDkgVG9y
Y2ggTW9iaWxlLCBJbmMuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4g
TW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtMzgsNyArMzgsNiBA
QAogI2luY2x1ZGUgPFRhcmdldENvbmRpdGlvbmFscy5oPgogI2VuZGlmCiAKLQogLyogT1MoKSAt
IHVuZGVybHlpbmcgb3BlcmF0aW5nIHN5c3RlbTsgb25seSB0byBiZSB1c2VkIGZvciBtYW5kYXRl
ZCBsb3ctbGV2ZWwgc2VydmljZXMgbGlrZQogICAgdmlydHVhbCBtZW1vcnksIG5vdCB0byBjaG9v
c2UgYSBHVUkgdG9vbGtpdCAqLwogI2RlZmluZSBPUyhXVEZfRkVBVFVSRSkgKGRlZmluZWQgV1RG
X09TXyMjV1RGX0ZFQVRVUkUgJiYgV1RGX09TXyMjV1RGX0ZFQVRVUkUpCkBAIC0xMzcsOCArMTM2
LDggQEAKIAogCiAjaWYgQ1BVKEFERFJFU1M2NCkKLSNpZiAoT1MoSU9TKSB8fCBPUyhUVk9TKSB8
fCBPUyhXQVRDSE9TKSkgJiYgQ1BVKEFSTTY0KQotI2RlZmluZSBXVEZfT1NfQ09OU1RBTlRfRUZG
RUNUSVZFX0FERFJFU1NfV0lEVEggMzYKKyNpZiBPUyhEQVJXSU4pCisjZGVmaW5lIFdURl9PU19D
T05TVEFOVF9FRkZFQ1RJVkVfQUREUkVTU19XSURUSCAoV1RGOjpnZXRNU0JTZXRDb25zdGV4cHIo
TUFDSF9WTV9NQVhfQUREUkVTUykgKyAxKQogI2Vsc2UKIC8qIFdlIHN0cm9uZ2x5IGFzc3VtZSB0
aGF0IGVmZmVjdGl2ZSBhZGRyZXNzIHdpZHRoIGlzIDw9IDQ4IGluIDY0Yml0IGFyY2hpdGVjdHVy
ZXMgKGUuZy4gTmFOIGJveGluZykuICovCiAjZGVmaW5lIFdURl9PU19DT05TVEFOVF9FRkZFQ1RJ
VkVfQUREUkVTU19XSURUSCA0OApJbmRleDogU291cmNlL1dURi93dGYvV1RGQXNzZXJ0aW9ucy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvV1RGQXNzZXJ0aW9ucy5jcHAJKHJldmlz
aW9uIDI3OTAwOSkKKysrIFNvdXJjZS9XVEYvd3RmL1dURkFzc2VydGlvbnMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE5IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtNTAsNyArNTAsOCBAQCBzdGF0aWNfYXNzZXJ0KHNpemVvZihSZWZQdHI8RHVt
bXlTdHJ1Y3Q+CiBzdGF0aWNfYXNzZXJ0KHNpemVvZihSZWZDb3VudGVkQXJyYXk8RHVtbXlTdHJ1
Y3Q+KSA9PSBzaXplb2Yodm9pZCopLCAiIik7CiAKICNpZiBPUyhEQVJXSU4pICYmIENQVShBRERS
RVNTNjQpCi1zdGF0aWNfYXNzZXJ0KE1BQ0hfVk1fTUFYX0FERFJFU1MgPD0gKCgxVUxMIDw8IE9T
X0NPTlNUQU5UKEVGRkVDVElWRV9BRERSRVNTX1dJRFRIKSkgLSAxKSk7CisvLyBOYU4gYm94aW5n
IGVuY29kaW5nIHJlbGllcyBvbiB0aGlzLgorc3RhdGljX2Fzc2VydChNQUNIX1ZNX01BWF9BRERS
RVNTIDw9ICgxdWxsIDw8IDQ4KSk7CiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV1RGCkluZGV4
OiBTb3VyY2UvV1RGL3d0Zi90aHJlYWRzL1NpZ25hbHMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XVEYvd3RmL3RocmVhZHMvU2lnbmFscy5jcHAJKHJldmlzaW9uIDI3OTAwOSkKKysrIFNvdXJj
ZS9XVEYvd3RmL3RocmVhZHMvU2lnbmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2
LDcgQEAgZXh0ZXJuICJDIiB7CiAKICNpbmNsdWRlIDx3dGYvQXRvbWljcy5oPgogI2luY2x1ZGUg
PHd0Zi9EYXRhTG9nLmg+CisjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvUGxhdGZvcm1SZWdpc3RlcnMuaD4K
ICNpbmNsdWRlIDx3dGYvVGhyZWFkR3JvdXAuaD4KSW5kZXg6IFNvdXJjZS9ibWFsbG9jL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3
OTAwOSkKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIzIEBACisyMDIxLTA2LTE3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKwor
ICAgICAgICBEZWZpbmUgTWFjcm9Bc3NlbWJsZXJBUk02NEU6Om51bWJlck9mUEFDQml0cyBiYXNl
ZCBvbiBPU19DT05TVEFOVChFRkZFQ1RJVkVfQUREUkVTU19XSURUSCkuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcxNDcKKyAgICAgICAgcmRhcjov
Lzc4Nzg1MzA5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRm9yIE9TKERBUldJTiksIGRlZmluZSBCT1NfRUZGRUNUSVZFX0FERFJFU1NfV0lEVEggaW4g
dGVybXMgb2YgTUFDSF9WTV9NQVhfQUREUkVTUywKKyAgICAgICAgd2hpY2ggaXMgcHJvdmlkZWQg
YnkgdGhlIFNESy4gIFRoaXMgZW5zdXJlcyB0aGF0IGl0IGlzIGNvcnJlY3QgZm9yIGVhY2ggdGFy
Z2V0CisgICAgICAgIE9TKERBUldJTikgcGxhdGZvcm0uCisKKyAgICAgICAgKiBibWFsbG9jL0Fs
Z29yaXRobS5oOgorICAgICAgICAoYm1hbGxvYzo6Y2x6Q29uc3RleHByKToKKyAgICAgICAgKGJt
YWxsb2M6OmdldE1TQlNldENvbnN0ZXhwcik6CisgICAgICAgICogYm1hbGxvYy9CUGxhdGZvcm0u
aDoKKyAgICAgICAgKiBibWFsbG9jL0dpZ2FjYWdlLmg6CisgICAgICAgICogYm1hbGxvYy9PYmpl
Y3RUeXBlVGFibGUuaDoKKyAgICAgICAgKiBibWFsbG9jL1BhY2tlZC5oOgorCiAyMDIxLTA2LTAz
ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHIyNzgyNzguCkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0Fs
Z29yaXRobS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxnb3JpdGht
LmgJKHJldmlzaW9uIDI3OTAwOSkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQWxnb3JpdGht
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDE0LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDE0LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0xNjksNiArMTY5LDIzIEBAIF9fZm9yY2VpbmxpbmUgY29u
c3RleHByIHVuc2lnbmVkIGxvbmcgX18KIH0KICNlbmRpZgogCit0ZW1wbGF0ZSA8dHlwZW5hbWUg
VD4KK2NvbnN0ZXhwciB1bnNpZ25lZCBjbHpDb25zdGV4cHIoVCB2YWx1ZSkKK3sKKyAgICBjb25z
dGV4cHIgdW5zaWduZWQgYml0U2l6ZSA9IHNpemVvZihUKSAqIENIQVJfQklUOworCisgICAgdXNp
bmcgVVQgPSB0eXBlbmFtZSBzdGQ6Om1ha2VfdW5zaWduZWQ8VD46OnR5cGU7CisgICAgVVQgdVZh
bHVlID0gdmFsdWU7CisKKyAgICB1bnNpZ25lZCB6ZXJvQ291bnQgPSAwOworICAgIGZvciAoaW50
IGkgPSBiaXRTaXplIC0gMTsgaSA+PSAwOyBpLS0pIHsKKyAgICAgICAgaWYgKHVWYWx1ZSA+PiBp
KQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIHplcm9Db3VudCsrOworICAgIH0KKyAgICBy
ZXR1cm4gemVyb0NvdW50OworfQorCiBjb25zdGV4cHIgdW5zaWduZWQgbG9uZyBsb2cyKHVuc2ln
bmVkIGxvbmcgdmFsdWUpCiB7CiAgICAgcmV0dXJuIGJpdENvdW50PHVuc2lnbmVkIGxvbmc+KCkg
LSAxIC0gX19idWlsdGluX2NsemwodmFsdWUpOwpAQCAtMjYyLDYgKzI3OSwxMyBAQCBjb25zdGV4
cHIgdW5zaWduZWQgZ2V0TFNCU2V0Tm9uWmVyb0NvbnN0CiAgICAgcmV0dXJuIGN0ekNvbnN0ZXhw
cih0KTsKIH0KIAordGVtcGxhdGU8dHlwZW5hbWUgVD4KK2NvbnN0ZXhwciB1bnNpZ25lZCBnZXRN
U0JTZXRDb25zdGV4cHIoVCB0KQoreworICAgIGNvbnN0ZXhwciB1bnNpZ25lZCBiaXRTaXplID0g
c2l6ZW9mKFQpICogQ0hBUl9CSVQ7CisgICAgcmV0dXJuIGJpdFNpemUgLSAxIC0gY2x6Q29uc3Rl
eHByKHQpOworfQorCiAvLyBGcm9tIGh0dHA6Ly9ncmFwaGljcy5zdGFuZm9yZC5lZHUvfnNlYW5k
ZXIvYml0aGFja3MuaHRtbCNSb3VuZFVwUG93ZXJPZjIKIGNvbnN0ZXhwciB1aW50MzJfdCByb3Vu
ZFVwVG9Qb3dlck9mVHdvKHVpbnQzMl90IHYpCiB7CkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL0JQbGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQlBs
YXRmb3JtLmgJKHJldmlzaW9uIDI3OTAwOSkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvQlBs
YXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDE0LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDE0LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNzQsOCArMjc0LDggQEAKICNlbmRpZgogCiAj
aWYgQkNQVShBRERSRVNTNjQpCi0jaWYgKEJPUyhJT1MpIHx8IEJPUyhUVk9TKSB8fCBCT1MoV0FU
Q0hPUykpICYmIEJDUFUoQVJNNjQpCi0jZGVmaW5lIEJPU19FRkZFQ1RJVkVfQUREUkVTU19XSURU
SCAzNgorI2lmIEJPUyhEQVJXSU4pCisjZGVmaW5lIEJPU19FRkZFQ1RJVkVfQUREUkVTU19XSURU
SCAoYm1hbGxvYzo6Z2V0TVNCU2V0Q29uc3RleHByKE1BQ0hfVk1fTUFYX0FERFJFU1MpICsgMSkK
ICNlbHNlCiAvKiBXZSBzdHJvbmdseSBhc3N1bWUgdGhhdCBlZmZlY3RpdmUgYWRkcmVzcyB3aWR0
aCBpcyA8PSA0OCBpbiA2NGJpdCBhcmNoaXRlY3R1cmVzIChlLmcuIE5hTiBib3hpbmcpLiAqLwog
I2RlZmluZSBCT1NfRUZGRUNUSVZFX0FERFJFU1NfV0lEVEggNDgKSW5kZXg6IFNvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvR2lnYWNhZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL0dpZ2FjYWdlLmgJKHJldmlzaW9uIDI3OTAwOSkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxs
b2MvR2lnYWNhZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTctMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdt
YSBvbmNlCiAKKyNpbmNsdWRlICJBbGdvcml0aG0uaCIKICNpbmNsdWRlICJCQXNzZXJ0LmgiCiAj
aW5jbHVkZSAiQkV4cG9ydC5oIgogI2luY2x1ZGUgIkJJbmxpbmUuaCIKQEAgLTM1LDYgKzM2LDEw
IEBACiAjaW5jbHVkZSA8Y3N0ZGRlZj4KICNpbmNsdWRlIDxpbnR0eXBlcy5oPgogCisjaWYgQk9T
KERBUldJTikKKyNpbmNsdWRlIDxtYWNoL3ZtX3BhcmFtLmg+IC8vIE5lZWRlZCBmb3IgTUFDSF9W
TV9NQVhfQUREUkVTUy4KKyNlbmRpZgorCiAjaWYgKChCT1MoREFSV0lOKSB8fCBCT1MoTElOVVgp
KSAmJiBcCiAgICAgKEJDUFUoWDg2XzY0KSB8fCAoQkNQVShBUk02NCkgJiYgIWRlZmluZWQoX19J
TFAzMl9fKSAmJiAoIUJQTEFURk9STShJT1NfRkFNSUxZKSB8fCBCUExBVEZPUk0oSU9TKSkpKSkK
ICNkZWZpbmUgR0lHQUNBR0VfRU5BQkxFRCAxCkBAIC02MSwxNSArNjYsMTEgQEAgQklOTElORSBj
b25zdCBjaGFyKiBuYW1lKEtpbmQga2luZCkKIAogI2lmIEdJR0FDQUdFX0VOQUJMRUQKIAotI2lm
IEJPU19FRkZFQ1RJVkVfQUREUkVTU19XSURUSCA8IDQ4Ci1jb25zdGV4cHIgc2l6ZV90IHByaW1p
dGl2ZUdpZ2FjYWdlU2l6ZSA9IDIgKiBibWFsbG9jOjpTaXplczo6R0I7Ci1jb25zdGV4cHIgc2l6
ZV90IGpzVmFsdWVHaWdhY2FnZVNpemUgPSAyICogYm1hbGxvYzo6U2l6ZXM6OkdCOwotY29uc3Rl
eHByIHNpemVfdCBtYXhpbXVtQ2FnZVNpemVSZWR1Y3Rpb25Gb3JTbGlkZSA9IGJtYWxsb2M6OlNp
emVzOjpHQiAvIDQ7Ci0jZWxzZQotY29uc3RleHByIHNpemVfdCBwcmltaXRpdmVHaWdhY2FnZVNp
emUgPSAzMiAqIGJtYWxsb2M6OlNpemVzOjpHQjsKLWNvbnN0ZXhwciBzaXplX3QganNWYWx1ZUdp
Z2FjYWdlU2l6ZSA9IDE2ICogYm1hbGxvYzo6U2l6ZXM6OkdCOwotY29uc3RleHByIHNpemVfdCBt
YXhpbXVtQ2FnZVNpemVSZWR1Y3Rpb25Gb3JTbGlkZSA9IDQgKiBibWFsbG9jOjpTaXplczo6R0I7
Ci0jZW5kaWYKK2NvbnN0ZXhwciBib29sIHVzZUxhcmdlR2lnYWNhZ2UgPSBCT1NfRUZGRUNUSVZF
X0FERFJFU1NfV0lEVEggPiAzNjsKK2NvbnN0ZXhwciBzaXplX3QgcHJpbWl0aXZlR2lnYWNhZ2VT
aXplID0gKHVzZUxhcmdlR2lnYWNhZ2UgPyAzMiA6IDIpICogYm1hbGxvYzo6U2l6ZXM6OkdCOwor
Y29uc3RleHByIHNpemVfdCBqc1ZhbHVlR2lnYWNhZ2VTaXplID0gKHVzZUxhcmdlR2lnYWNhZ2Ug
PyAxNiA6IDIpICogYm1hbGxvYzo6U2l6ZXM6OkdCOworY29uc3RleHByIHNpemVfdCBtYXhpbXVt
Q2FnZVNpemVSZWR1Y3Rpb25Gb3JTbGlkZSA9IHVzZUxhcmdlR2lnYWNhZ2UgPyA0ICogYm1hbGxv
Yzo6U2l6ZXM6OkdCIDogYm1hbGxvYzo6U2l6ZXM6OkdCIC8gNDsKKwogCiAvLyBJbiBMaW51eCwg
aWYgYHZtLm92ZXJjb21taXRfbWVtb3J5ID0gMmAgaXMgc3BlY2lmaWVkLCBtbWFwIHdpdGggbGFy
Z2Ugc2l6ZSBjYW4gZmFpbCBpZiBpdCBleGNlZWRzIHRoZSBzaXplIG9mIFJBTS4KIC8vIFNvIHdl
IHNwZWNpZnkgR0lHQUNBR0VfQUxMT0NBVElPTl9DQU5fRkFJTCA9IDEuCkluZGV4OiBTb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL09iamVjdFR5cGVUYWJsZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvT2JqZWN0VHlwZVRhYmxlLmgJKHJldmlzaW9uIDI3OTAwOSkKKysrIFNv
dXJjZS9ibWFsbG9jL2JtYWxsb2MvT2JqZWN0VHlwZVRhYmxlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAyMC0yMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjUs
MTAgKzI1LDE1IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQWxnb3JpdGhtLmgiCiAj
aW5jbHVkZSAiTXV0ZXguaCIKICNpbmNsdWRlICJPYmplY3RUeXBlLmgiCiAjaW5jbHVkZSAiU2l6
ZXMuaCIKIAorI2lmIEJPUyhEQVJXSU4pCisjaW5jbHVkZSA8bWFjaC92bV9wYXJhbS5oPiAvLyBO
ZWVkZWQgZm9yIE1BQ0hfVk1fTUFYX0FERFJFU1MuCisjZW5kaWYKKwogbmFtZXNwYWNlIGJtYWxs
b2MgewogCiBjbGFzcyBDaHVuazsKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGFja2Vk
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWNrZWQuaAkocmV2aXNp
b24gMjc5MDA5KQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWNrZWQuaAkod29ya2luZyBj
b3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTI5LDYgKzI5LDEwIEBACiAjaW5jbHVkZSAiU3RkTGliRXh0cmFzLmgiCiAjaW5j
bHVkZSA8YXJyYXk+CiAKKyNpZiBCT1MoREFSV0lOKQorI2luY2x1ZGUgPG1hY2gvdm1fcGFyYW0u
aD4gLy8gTmVlZGVkIGZvciBNQUNIX1ZNX01BWF9BRERSRVNTLgorI2VuZGlmCisKIG5hbWVzcGFj
ZSBibWFsbG9jIHsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4KSW5kZXg6IFRvb2xzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3OTAxNSkKKysrIFRv
b2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDIxLTA2LTE3
ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBEZWZpbmUgTWFjcm9B
c3NlbWJsZXJBUk02NEU6Om51bWJlck9mUEFDQml0cyBiYXNlZCBvbiBPU19DT05TVEFOVChFRkZF
Q1RJVkVfQUREUkVTU19XSURUSCkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjcxNDcKKyAgICAgICAgcmRhcjovLzc4Nzg1MzA5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9QYWNrZWQuY3BwOgorCiAyMDIxLTA2LTE3ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVk
YXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbcmVzdWx0c2RicHldIEFkb3B0IGF1dG9pbnN0YWxs
ZXIKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1BhY2tlZC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUGFja2VkLmNwcAkocmV2aXNp
b24gMjc5MDA5KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvUGFja2VkLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTkg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE5LTIw
MjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlIDx3dGYvUGFja2VkLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewo=
</data>
<flag name="commit-queue"
          id="453575"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431731</attachid>
            <date>2021-06-17 15:39:44 -0700</date>
            <delta_ts>2021-06-17 16:00:15 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-227147.patch</filename>
            <type>text/plain</type>
            <size>18438</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjc5MDA5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDIxLTA2LTE3ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBE
ZWZpbmUgTWFjcm9Bc3NlbWJsZXJBUk02NEU6Om51bWJlck9mUEFDQml0cyBiYXNlZCBvbiBPU19D
T05TVEFOVChFRkZFQ1RJVkVfQUREUkVTU19XSURUSCkuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjcxNDcKKyAgICAgICAgcmRhcjovLzc4Nzg1MzA5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhc3Nl
bWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NEUuaDoKKyAgICAgICAgKiBieXRlY29kZS9Db2RlT3Jp
Z2luLmg6CisgICAgICAgICogcnVudGltZS9KU1N0cmluZy5oOgorICAgICAgICAqIHJ1bnRpbWUv
T3B0aW9uc0xpc3QuaDoKKwogMjAyMS0wNi0xNyAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5G
dWppaUBzb255LmNvbT4KIAogICAgICAgICBSZWltcGxlbWVudCBKU0M6OkNhY2hlUGF5bG9hZCB3
aXRob3V0IEZpbGVTeXN0ZW06OnVubWFwVmlld09mRmlsZSBhbmQgRmlsZVN5c3RlbTo6TWFwcGVk
RmlsZURhdGE6OmxlYWtIYW5kbGUKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJBUk02NEUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjRFLmgJKHJldmlzaW9uIDI3OTAwOSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NEUu
aAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTgtMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTgtMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBFTkFCTEUoQVNTRU1CTEVS
KSAmJiBDUFUoQVJNNjRFKQogCiAjaW5jbHVkZSAiRGlzYWxsb3dNYWNyb1NjcmF0Y2hSZWdpc3Rl
clVzYWdlLmgiCisjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIAogLy8gV2UgbmVlZCB0byBp
bmNsdWRlIHRoaXMgYmVmb3JlIE1hY3JvQXNzZW1ibGVyQVJNNjQuaCBiZWNhdXNlIE1hY3JvQXNz
ZW1ibGVyQVJNNjQKIC8vIHdpbGwgYmUgZGVmaW5lZCBpbiB0ZXJtcyBvZiBBUk02NEVBc3NlbWJs
ZXIgZm9yIEFSTTY0RS4KQEAgLTM4LDE0ICszOSwxOSBAQAogI2luY2x1ZGUgPFdlYktpdEFkZGl0
aW9ucy9KSVRDYWdlQWRkaXRpb25zLmg+CiAjZW5kaWYKIAorI2lmIE9TKERBUldJTikKKyNpbmNs
dWRlIDxtYWNoL3ZtX3BhcmFtLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIEpTQyB7CiAKIHVzaW5n
IEFzc2VtYmxlciA9IFRBUkdFVF9BU1NFTUJMRVI7CiAKIGNsYXNzIE1hY3JvQXNzZW1ibGVyQVJN
NjRFIDogcHVibGljIE1hY3JvQXNzZW1ibGVyQVJNNjQgewogcHVibGljOgotICAgIHN0YXRpYyBj
b25zdGV4cHIgdW5zaWduZWQgbnVtYmVyT2ZQQUNCaXRzID0gMjU7Ci0gICAgc3RhdGljIGNvbnN0
ZXhwciB1aW50cHRyX3Qgbm9uUEFDQml0c01hc2sgPSAoMXVsbCA8PCAoNjQgLSBudW1iZXJPZlBB
Q0JpdHMpKSAtIDE7CisgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBudW1iZXJPZlBvaW50
ZXJCaXRzID0gc2l6ZW9mKHZvaWQqKSAqIENIQVJfQklUOworICAgIHN0YXRpYyBjb25zdGV4cHIg
dW5zaWduZWQgbnVtYmVyT2ZQQUNCaXRzID0gbnVtYmVyT2ZQb2ludGVyQml0cyAtIE9TX0NPTlNU
QU5UKEVGRkVDVElWRV9BRERSRVNTX1dJRFRIKTsKKyAgICBzdGF0aWMgY29uc3RleHByIHVpbnRw
dHJfdCBub25QQUNCaXRzTWFzayA9ICgxdWxsIDw8IChudW1iZXJPZlBvaW50ZXJCaXRzIC0gbnVt
YmVyT2ZQQUNCaXRzKSkgLSAxOwogCiAgICAgQUxXQVlTX0lOTElORSB2b2lkIHRhZ1JldHVybkFk
ZHJlc3MoKQogICAgIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2Rl
T3JpZ2luLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0Nv
ZGVPcmlnaW4uaAkocmV2aXNpb24gMjc5MDA5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVPcmlnaW4uaAkod29ya2luZyBjb3B5KQpAQCAtMjksMTAgKzI5LDE1IEBACiAK
ICNpbmNsdWRlIDxsaW1pdHMuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUg
PHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1ByaW50U3RyZWFtLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAorI2lmIE9T
KERBUldJTikKKyNpbmNsdWRlIDxtYWNoL3ZtX3BhcmFtLmg+CisjZW5kaWYKKwogbmFtZXNwYWNl
IEpTQyB7CiAKIGNsYXNzIENvZGVCbG9jazsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTU3RyaW5nLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNTdHJpbmcuaAkocmV2aXNpb24gMjc5MDA5KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNTdHJpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsOCArMzQsMTMgQEAK
ICNpbmNsdWRlIDxhcnJheT4KICNpbmNsdWRlIDx3dGYvQ2hlY2tlZEFyaXRobWV0aWMuaD4KICNp
bmNsdWRlIDx3dGYvRm9yYmlkSGVhcEFsbG9jYXRpb24uaD4KKyNpbmNsdWRlIDx3dGYvTWF0aEV4
dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ1ZpZXcuaD4KIAorI2lmIE9TKERBUldJ
TikKKyNpbmNsdWRlIDxtYWNoL3ZtX3BhcmFtLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIEpTQyB7
CiAKIGNsYXNzIEpTU3RyaW5nOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
T3B0aW9uc0xpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zTGlzdC5oCShyZXZpc2lvbiAyNzkwMDkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PcHRpb25zTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiwxMSBA
QAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJHQ0xvZ2dpbmcuaCIKKyNpbmNsdWRlIDx3dGYv
TWF0aEV4dHJhcy5oPgorCisjaWYgT1MoREFSV0lOKQorI2luY2x1ZGUgPG1hY2gvdm1fcGFyYW0u
aD4KKyNlbmRpZgogCiB1c2luZyBXVEY6OlByaW50U3RyZWFtOwogCkluZGV4OiBTb3VyY2UvV1RG
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL0NoYW5nZUxvZwkocmV2aXNpb24g
Mjc5MDA5KQorKysgU291cmNlL1dURi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwyOCBAQAorMjAyMS0wNi0xNyAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CisKKyAg
ICAgICAgRGVmaW5lIE1hY3JvQXNzZW1ibGVyQVJNNjRFOjpudW1iZXJPZlBBQ0JpdHMgYmFzZWQg
b24gT1NfQ09OU1RBTlQoRUZGRUNUSVZFX0FERFJFU1NfV0lEVEgpLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTQ3CisgICAgICAgIHJkYXI6Ly83
ODc4NTMwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEZvciBPUyhEQVJXSU4pLCBkZWZpbmUgT1NfQ09OU1RBTlQoRUZGRUNUSVZFX0FERFJFU1NfV0lE
VEgpIGluIHRlcm1zIG9mCisgICAgICAgIE1BQ0hfVk1fTUFYX0FERFJFU1MsIHdoaWNoIGlzIHBy
b3ZpZGVkIGJ5IHRoZSBTREsuICBUaGlzIGVuc3VyZXMgdGhhdCBpdCBpcworICAgICAgICBjb3Jy
ZWN0IGZvciBlYWNoIHRhcmdldCBPUyhEQVJXSU4pIHBsYXRmb3JtLgorCisgICAgICAgIEFsc28g
dXBkYXRlIGFuIGFzc2VydGlvbiBpbiBXVEZBc3NlcnRpb25zLmNwcCB0byB2ZXJpZnkgdGhhdCBh
ZGRyZXNzIGJpdHMgYXJlCisgICAgICAgIGxlc3MgdGhhbiA0OC4gIFRoZSBwdXJwb3NlIG9mIHRo
aXMgYXNzZXJ0aW9uIGlzIHRvIGVuc3VyZSB0aGF0IG91ciA2NC1iaXQgTmFOCisgICAgICAgIGJv
eGluZyBlbmNvZGluZyBmb3IgSlNWYWx1ZXMgd2lsbCB3b3JrLiAgSGVuY2UsIHdlIHNob3VsZCB1
c2UgdGhlIGVuY29kaW5nIGxpbWl0CisgICAgICAgIGZvciBwb2ludGVycyBvZiA0OCBiaXRzLiAg
SXQgbm8gbG9uZ2VyIG1ha2VzIHNlbnNlIHRvIGFzc2VydCBiYXNlZCBvbgorICAgICAgICBPU19D
T05TVEFOVChFRkZFQ1RJVkVfQUREUkVTU19XSURUSCksIGJlY2F1c2UgT1NfQ09OU1RBTlQoRUZG
RUNUSVZFX0FERFJFU1NfV0lEVEgpCisgICAgICAgIGlzIGRlZmluZWQgaW4gdGVybXMgb2YgTUFD
SF9WTV9NQVhfQUREUkVTUy4KKworICAgICAgICAqIHd0Zi9DYWdlZFB0ci5oOgorICAgICAgICAq
IHd0Zi9Db21wYWN0UG9pbnRlclR1cGxlLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtT1MuaDoK
KyAgICAgICAgKiB3dGYvV1RGQXNzZXJ0aW9ucy5jcHA6CisgICAgICAgICogd3RmL3RocmVhZHMv
U2lnbmFscy5jcHA6CisKIDIwMjEtMDYtMTcgIEJlbiBOaGFtICA8bmhhbUBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIE1hYy1zcGVjaWZpYyBDUFVUaW1lIGZ1bmN0aW9ucwpJbmRleDogU291
cmNlL1dURi93dGYvQ2FnZWRQdHIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9DYWdl
ZFB0ci5oCShyZXZpc2lvbiAyNzkwMDkpCisrKyBTb3VyY2UvV1RGL3d0Zi9DYWdlZFB0ci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTI2LDExICsyNiwxNiBAQAogI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlIDx3
dGYvR2lnYWNhZ2UuaD4KKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0
Zi9QdHJUYWcuaD4KICNpbmNsdWRlIDx3dGYvUmF3UHRyVHJhaXRzLmg+CiAKICNpbmNsdWRlIDxj
bGltaXRzPgogCisjaWYgT1MoREFSV0lOKQorI2luY2x1ZGUgPG1hY2gvdm1fcGFyYW0uaD4KKyNl
bmRpZgorCiBuYW1lc3BhY2UgV1RGIHsKIAogY29uc3RleHByIGJvb2wgdGFnQ2FnZWRQdHIgPSB0
cnVlOwpAQCAtMzksOCArNDQsOSBAQCB0ZW1wbGF0ZTxHaWdhY2FnZTo6S2luZCBwYXNzZWRLaW5k
LCB0eXBlCiBjbGFzcyBDYWdlZFB0ciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciBH
aWdhY2FnZTo6S2luZCBraW5kID0gcGFzc2VkS2luZDsKLSAgICBzdGF0aWMgY29uc3RleHByIHVu
c2lnbmVkIG51bWJlck9mUEFDQml0cyA9IDI1OwotICAgIHN0YXRpYyBjb25zdGV4cHIgdWludHB0
cl90IG5vblBBQ0JpdHNNYXNrID0gKDF1bGwgPDwgKChzaXplb2YoVCopICogQ0hBUl9CSVQpIC0g
bnVtYmVyT2ZQQUNCaXRzKSkgLSAxOworICAgIHN0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgbnVt
YmVyT2ZQb2ludGVyQml0cyA9IHNpemVvZihUKikgKiBDSEFSX0JJVDsKKyAgICBzdGF0aWMgY29u
c3RleHByIHVuc2lnbmVkIG51bWJlck9mUEFDQml0cyA9IG51bWJlck9mUG9pbnRlckJpdHMgLSBP
U19DT05TVEFOVChFRkZFQ1RJVkVfQUREUkVTU19XSURUSCk7CisgICAgc3RhdGljIGNvbnN0ZXhw
ciB1aW50cHRyX3Qgbm9uUEFDQml0c01hc2sgPSAoMXVsbCA8PCAobnVtYmVyT2ZQb2ludGVyQml0
cyAtIG51bWJlck9mUEFDQml0cykpIC0gMTsKIAogICAgIENhZ2VkUHRyKCkgOiBDYWdlZFB0cihu
dWxscHRyKSB7IH0KICAgICBDYWdlZFB0cihzdGQ6Om51bGxwdHJfdCkKSW5kZXg6IFNvdXJjZS9X
VEYvd3RmL0NvbXBhY3RQb2ludGVyVHVwbGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0
Zi9Db21wYWN0UG9pbnRlclR1cGxlLmgJKHJldmlzaW9uIDI3OTAwOSkKKysrIFNvdXJjZS9XVEYv
d3RmL0NvbXBhY3RQb2ludGVyVHVwbGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsOCArMjgsMTMg
QEAKIAogI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+
CisjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFz
Lmg+CiAKKyNpZiBPUyhEQVJXSU4pCisjaW5jbHVkZSA8bWFjaC92bV9wYXJhbS5oPgorI2VuZGlm
CisKIG5hbWVzcGFjZSBXVEYgewogCiAvLyBUaGUgZ29hbCBvZiB0aGlzIGNsYXNzIGlzIGZvbGRp
bmcgYSBwb2ludGVyIGFuZCAyIGJ5dGVzIHZhbHVlIGludG8gOCBieXRlcyBpbiBib3RoIDMyYml0
IGFuZCA2NGJpdCBhcmNoaXRlY3R1cmVzLgpJbmRleDogU291cmNlL1dURi93dGYvUGFja2VkLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvUGFja2VkLmgJKHJldmlzaW9uIDI3OTAwOSkK
KysrIFNvdXJjZS9XVEYvd3RmL1BhY2tlZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMywx
MCBAQAogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVW5hbGln
bmVkQWNjZXNzLmg+CiAKKyNpZiBPUyhEQVJXSU4pCisjaW5jbHVkZSA8bWFjaC92bV9wYXJhbS5o
PgorI2VuZGlmCisKIG5hbWVzcGFjZSBXVEYgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpJbmRl
eDogU291cmNlL1dURi93dGYvUGxhdGZvcm1PUy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtT1MuaAkocmV2aXNpb24gMjc5MDA5KQorKysgU291cmNlL1dURi93dGYvUGxh
dGZvcm1PUy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAwNi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwNi0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENv
cHlyaWdodCAoQykgMjAwNy0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgogICogQ29weXJpZ2h0IChD
KSAyMDEwLCAyMDExIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlIDxUYXJnZXRDb25kaXRpb25hbHMu
aD4KICNlbmRpZgogCi0KIC8qIE9TKCkgLSB1bmRlcmx5aW5nIG9wZXJhdGluZyBzeXN0ZW07IG9u
bHkgdG8gYmUgdXNlZCBmb3IgbWFuZGF0ZWQgbG93LWxldmVsIHNlcnZpY2VzIGxpa2UKICAgIHZp
cnR1YWwgbWVtb3J5LCBub3QgdG8gY2hvb3NlIGEgR1VJIHRvb2xraXQgKi8KICNkZWZpbmUgT1Mo
V1RGX0ZFQVRVUkUpIChkZWZpbmVkIFdURl9PU18jI1dURl9GRUFUVVJFICYmIFdURl9PU18jI1dU
Rl9GRUFUVVJFKQpAQCAtMTM3LDggKzEzNiw4IEBACiAKIAogI2lmIENQVShBRERSRVNTNjQpCi0j
aWYgKE9TKElPUykgfHwgT1MoVFZPUykgfHwgT1MoV0FUQ0hPUykpICYmIENQVShBUk02NCkKLSNk
ZWZpbmUgV1RGX09TX0NPTlNUQU5UX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIDM2CisjaWYgT1Mo
REFSV0lOKQorI2RlZmluZSBXVEZfT1NfQ09OU1RBTlRfRUZGRUNUSVZFX0FERFJFU1NfV0lEVEgg
KFdURjo6Z2V0TVNCU2V0Q29uc3RleHByKE1BQ0hfVk1fTUFYX0FERFJFU1MpICsgMSkKICNlbHNl
CiAvKiBXZSBzdHJvbmdseSBhc3N1bWUgdGhhdCBlZmZlY3RpdmUgYWRkcmVzcyB3aWR0aCBpcyA8
PSA0OCBpbiA2NGJpdCBhcmNoaXRlY3R1cmVzIChlLmcuIE5hTiBib3hpbmcpLiAqLwogI2RlZmlu
ZSBXVEZfT1NfQ09OU1RBTlRfRUZGRUNUSVZFX0FERFJFU1NfV0lEVEggNDgKSW5kZXg6IFNvdXJj
ZS9XVEYvd3RmL1dURkFzc2VydGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3Rm
L1dURkFzc2VydGlvbnMuY3BwCShyZXZpc2lvbiAyNzkwMDkpCisrKyBTb3VyY2UvV1RGL3d0Zi9X
VEZBc3NlcnRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTctMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUwLDcgKzUwLDggQEAgc3RhdGlj
X2Fzc2VydChzaXplb2YoUmVmUHRyPER1bW15U3RydWN0Pgogc3RhdGljX2Fzc2VydChzaXplb2Yo
UmVmQ291bnRlZEFycmF5PER1bW15U3RydWN0PikgPT0gc2l6ZW9mKHZvaWQqKSwgIiIpOwogCiAj
aWYgT1MoREFSV0lOKSAmJiBDUFUoQUREUkVTUzY0KQotc3RhdGljX2Fzc2VydChNQUNIX1ZNX01B
WF9BRERSRVNTIDw9ICgoMVVMTCA8PCBPU19DT05TVEFOVChFRkZFQ1RJVkVfQUREUkVTU19XSURU
SCkpIC0gMSkpOworLy8gTmFOIGJveGluZyBlbmNvZGluZyByZWxpZXMgb24gdGhpcy4KK3N0YXRp
Y19hc3NlcnQoTUFDSF9WTV9NQVhfQUREUkVTUyA8PSAoMXVsbCA8PCA0OCkpOwogI2VuZGlmCiAK
IH0gLy8gbmFtZXNwYWNlIFdURgpJbmRleDogU291cmNlL1dURi93dGYvdGhyZWFkcy9TaWduYWxz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi90aHJlYWRzL1NpZ25hbHMuY3BwCShy
ZXZpc2lvbiAyNzkwMDkpCisrKyBTb3VyY2UvV1RGL3d0Zi90aHJlYWRzL1NpZ25hbHMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NCw4ICs0NCwxMyBAQCBleHRlcm4gIkMiIHsKICNpbmNsdWRlIDxt
YWNoL3RocmVhZF9hY3QuaD4KICNlbmRpZgogCisjaWYgT1MoREFSV0lOKQorI2luY2x1ZGUgPG1h
Y2gvdm1fcGFyYW0uaD4KKyNlbmRpZgorCiAjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KICNpbmNs
dWRlIDx3dGYvRGF0YUxvZy5oPgorI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVk
ZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1BsYXRmb3JtUmVnaXN0ZXJz
Lmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZEdyb3VwLmg+CkluZGV4OiBTb3VyY2UvYm1hbGxvYy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCShyZXZpc2lv
biAyNzkwMDkpCisrKyBTb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwyMyBAQAorMjAyMS0wNi0xNyAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+
CisKKyAgICAgICAgRGVmaW5lIE1hY3JvQXNzZW1ibGVyQVJNNjRFOjpudW1iZXJPZlBBQ0JpdHMg
YmFzZWQgb24gT1NfQ09OU1RBTlQoRUZGRUNUSVZFX0FERFJFU1NfV0lEVEgpLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTQ3CisgICAgICAgIHJk
YXI6Ly83ODc4NTMwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEZvciBPUyhEQVJXSU4pLCBkZWZpbmUgQk9TX0VGRkVDVElWRV9BRERSRVNTX1dJRFRI
IGluIHRlcm1zIG9mIE1BQ0hfVk1fTUFYX0FERFJFU1MsCisgICAgICAgIHdoaWNoIGlzIHByb3Zp
ZGVkIGJ5IHRoZSBTREsuICBUaGlzIGVuc3VyZXMgdGhhdCBpdCBpcyBjb3JyZWN0IGZvciBlYWNo
IHRhcmdldAorICAgICAgICBPUyhEQVJXSU4pIHBsYXRmb3JtLgorCisgICAgICAgICogYm1hbGxv
Yy9BbGdvcml0aG0uaDoKKyAgICAgICAgKGJtYWxsb2M6OmNsekNvbnN0ZXhwcik6CisgICAgICAg
IChibWFsbG9jOjpnZXRNU0JTZXRDb25zdGV4cHIpOgorICAgICAgICAqIGJtYWxsb2MvQlBsYXRm
b3JtLmg6CisgICAgICAgICogYm1hbGxvYy9HaWdhY2FnZS5oOgorICAgICAgICAqIGJtYWxsb2Mv
T2JqZWN0VHlwZVRhYmxlLmg6CisgICAgICAgICogYm1hbGxvYy9QYWNrZWQuaDoKKwogMjAyMS0w
Ni0wMyAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByMjc4Mjc4LgpJbmRleDogU291cmNlL2JtYWxsb2MvYm1hbGxv
Yy9BbGdvcml0aG0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FsZ29y
aXRobS5oCShyZXZpc2lvbiAyNzkwMDkpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0FsZ29y
aXRobS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxNC0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTY5LDYgKzE2OSwyMyBAQCBfX2ZvcmNlaW5saW5l
IGNvbnN0ZXhwciB1bnNpZ25lZCBsb25nIF9fCiB9CiAjZW5kaWYKIAordGVtcGxhdGUgPHR5cGVu
YW1lIFQ+Citjb25zdGV4cHIgdW5zaWduZWQgY2x6Q29uc3RleHByKFQgdmFsdWUpCit7CisgICAg
Y29uc3RleHByIHVuc2lnbmVkIGJpdFNpemUgPSBzaXplb2YoVCkgKiBDSEFSX0JJVDsKKworICAg
IHVzaW5nIFVUID0gdHlwZW5hbWUgc3RkOjptYWtlX3Vuc2lnbmVkPFQ+Ojp0eXBlOworICAgIFVU
IHVWYWx1ZSA9IHZhbHVlOworCisgICAgdW5zaWduZWQgemVyb0NvdW50ID0gMDsKKyAgICBmb3Ig
KGludCBpID0gYml0U2l6ZSAtIDE7IGkgPj0gMDsgaS0tKSB7CisgICAgICAgIGlmICh1VmFsdWUg
Pj4gaSkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB6ZXJvQ291bnQrKzsKKyAgICB9Cisg
ICAgcmV0dXJuIHplcm9Db3VudDsKK30KKwogY29uc3RleHByIHVuc2lnbmVkIGxvbmcgbG9nMih1
bnNpZ25lZCBsb25nIHZhbHVlKQogewogICAgIHJldHVybiBiaXRDb3VudDx1bnNpZ25lZCBsb25n
PigpIC0gMSAtIF9fYnVpbHRpbl9jbHpsKHZhbHVlKTsKQEAgLTI2Miw2ICsyNzksMTMgQEAgY29u
c3RleHByIHVuc2lnbmVkIGdldExTQlNldE5vblplcm9Db25zdAogICAgIHJldHVybiBjdHpDb25z
dGV4cHIodCk7CiB9CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFQ+Citjb25zdGV4cHIgdW5zaWduZWQg
Z2V0TVNCU2V0Q29uc3RleHByKFQgdCkKK3sKKyAgICBjb25zdGV4cHIgdW5zaWduZWQgYml0U2l6
ZSA9IHNpemVvZihUKSAqIENIQVJfQklUOworICAgIHJldHVybiBiaXRTaXplIC0gMSAtIGNsekNv
bnN0ZXhwcih0KTsKK30KKwogLy8gRnJvbSBodHRwOi8vZ3JhcGhpY3Muc3RhbmZvcmQuZWR1L35z
ZWFuZGVyL2JpdGhhY2tzLmh0bWwjUm91bmRVcFBvd2VyT2YyCiBjb25zdGV4cHIgdWludDMyX3Qg
cm91bmRVcFRvUG93ZXJPZlR3byh1aW50MzJfdCB2KQogewpJbmRleDogU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9CUGxhdGZvcm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L0JQbGF0Zm9ybS5oCShyZXZpc2lvbiAyNzkwMDkpCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L0JQbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNC0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjc0LDggKzI3NCw4IEBACiAjZW5kaWYK
IAogI2lmIEJDUFUoQUREUkVTUzY0KQotI2lmIChCT1MoSU9TKSB8fCBCT1MoVFZPUykgfHwgQk9T
KFdBVENIT1MpKSAmJiBCQ1BVKEFSTTY0KQotI2RlZmluZSBCT1NfRUZGRUNUSVZFX0FERFJFU1Nf
V0lEVEggMzYKKyNpZiBCT1MoREFSV0lOKQorI2RlZmluZSBCT1NfRUZGRUNUSVZFX0FERFJFU1Nf
V0lEVEggKGJtYWxsb2M6OmdldE1TQlNldENvbnN0ZXhwcihNQUNIX1ZNX01BWF9BRERSRVNTKSAr
IDEpCiAjZWxzZQogLyogV2Ugc3Ryb25nbHkgYXNzdW1lIHRoYXQgZWZmZWN0aXZlIGFkZHJlc3Mg
d2lkdGggaXMgPD0gNDggaW4gNjRiaXQgYXJjaGl0ZWN0dXJlcyAoZS5nLiBOYU4gYm94aW5nKS4g
Ki8KICNkZWZpbmUgQk9TX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIDQ4CkluZGV4OiBTb3VyY2Uv
Ym1hbGxvYy9ibWFsbG9jL0dpZ2FjYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9HaWdhY2FnZS5oCShyZXZpc2lvbiAyNzkwMDkpCisrKyBTb3VyY2UvYm1hbGxvYy9i
bWFsbG9jL0dpZ2FjYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDE3LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSw2ICsyNSw3IEBACiAKICNw
cmFnbWEgb25jZQogCisjaW5jbHVkZSAiQWxnb3JpdGhtLmgiCiAjaW5jbHVkZSAiQkFzc2VydC5o
IgogI2luY2x1ZGUgIkJFeHBvcnQuaCIKICNpbmNsdWRlICJCSW5saW5lLmgiCkBAIC0zNSw2ICsz
NiwxMCBAQAogI2luY2x1ZGUgPGNzdGRkZWY+CiAjaW5jbHVkZSA8aW50dHlwZXMuaD4KIAorI2lm
IEJPUyhEQVJXSU4pCisjaW5jbHVkZSA8bWFjaC92bV9wYXJhbS5oPgorI2VuZGlmCisKICNpZiAo
KEJPUyhEQVJXSU4pIHx8IEJPUyhMSU5VWCkpICYmIFwKICAgICAoQkNQVShYODZfNjQpIHx8IChC
Q1BVKEFSTTY0KSAmJiAhZGVmaW5lZChfX0lMUDMyX18pICYmICghQlBMQVRGT1JNKElPU19GQU1J
TFkpIHx8IEJQTEFURk9STShJT1MpKSkpKQogI2RlZmluZSBHSUdBQ0FHRV9FTkFCTEVEIDEKQEAg
LTYxLDE1ICs2NiwxMSBAQCBCSU5MSU5FIGNvbnN0IGNoYXIqIG5hbWUoS2luZCBraW5kKQogCiAj
aWYgR0lHQUNBR0VfRU5BQkxFRAogCi0jaWYgQk9TX0VGRkVDVElWRV9BRERSRVNTX1dJRFRIIDwg
NDgKLWNvbnN0ZXhwciBzaXplX3QgcHJpbWl0aXZlR2lnYWNhZ2VTaXplID0gMiAqIGJtYWxsb2M6
OlNpemVzOjpHQjsKLWNvbnN0ZXhwciBzaXplX3QganNWYWx1ZUdpZ2FjYWdlU2l6ZSA9IDIgKiBi
bWFsbG9jOjpTaXplczo6R0I7Ci1jb25zdGV4cHIgc2l6ZV90IG1heGltdW1DYWdlU2l6ZVJlZHVj
dGlvbkZvclNsaWRlID0gYm1hbGxvYzo6U2l6ZXM6OkdCIC8gNDsKLSNlbHNlCi1jb25zdGV4cHIg
c2l6ZV90IHByaW1pdGl2ZUdpZ2FjYWdlU2l6ZSA9IDMyICogYm1hbGxvYzo6U2l6ZXM6OkdCOwot
Y29uc3RleHByIHNpemVfdCBqc1ZhbHVlR2lnYWNhZ2VTaXplID0gMTYgKiBibWFsbG9jOjpTaXpl
czo6R0I7Ci1jb25zdGV4cHIgc2l6ZV90IG1heGltdW1DYWdlU2l6ZVJlZHVjdGlvbkZvclNsaWRl
ID0gNCAqIGJtYWxsb2M6OlNpemVzOjpHQjsKLSNlbmRpZgorY29uc3RleHByIGJvb2wgdXNlTGFy
Z2VHaWdhY2FnZSA9IEJPU19FRkZFQ1RJVkVfQUREUkVTU19XSURUSCA+IDM2OworY29uc3RleHBy
IHNpemVfdCBwcmltaXRpdmVHaWdhY2FnZVNpemUgPSAodXNlTGFyZ2VHaWdhY2FnZSA/IDMyIDog
MikgKiBibWFsbG9jOjpTaXplczo6R0I7Citjb25zdGV4cHIgc2l6ZV90IGpzVmFsdWVHaWdhY2Fn
ZVNpemUgPSAodXNlTGFyZ2VHaWdhY2FnZSA/IDE2IDogMikgKiBibWFsbG9jOjpTaXplczo6R0I7
Citjb25zdGV4cHIgc2l6ZV90IG1heGltdW1DYWdlU2l6ZVJlZHVjdGlvbkZvclNsaWRlID0gdXNl
TGFyZ2VHaWdhY2FnZSA/IDQgKiBibWFsbG9jOjpTaXplczo6R0IgOiBibWFsbG9jOjpTaXplczo6
R0IgLyA0OworCiAKIC8vIEluIExpbnV4LCBpZiBgdm0ub3ZlcmNvbW1pdF9tZW1vcnkgPSAyYCBp
cyBzcGVjaWZpZWQsIG1tYXAgd2l0aCBsYXJnZSBzaXplIGNhbiBmYWlsIGlmIGl0IGV4Y2VlZHMg
dGhlIHNpemUgb2YgUkFNLgogLy8gU28gd2Ugc3BlY2lmeSBHSUdBQ0FHRV9BTExPQ0FUSU9OX0NB
Tl9GQUlMID0gMS4KSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvT2JqZWN0VHlwZVRhYmxl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9PYmplY3RUeXBlVGFibGUu
aAkocmV2aXNpb24gMjc5MDA5KQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9PYmplY3RUeXBl
VGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDIwLTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0yNSwxMCArMjUsMTUgQEAKIAogI3ByYWdtYSBvbmNlCiAK
KyNpbmNsdWRlICJBbGdvcml0aG0uaCIKICNpbmNsdWRlICJNdXRleC5oIgogI2luY2x1ZGUgIk9i
amVjdFR5cGUuaCIKICNpbmNsdWRlICJTaXplcy5oIgogCisjaWYgQk9TKERBUldJTikKKyNpbmNs
dWRlIDxtYWNoL3ZtX3BhcmFtLmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIGJtYWxsb2MgewogCiBj
bGFzcyBDaHVuazsKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvUGFja2VkLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWNrZWQuaAkocmV2aXNpb24gMjc5MDA5
KQorKysgU291cmNlL2JtYWxsb2MvYm1hbGxvYy9QYWNrZWQuaAkod29ya2luZyBjb3B5KQpAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTI5LDYgKzI5LDEwIEBACiAjaW5jbHVkZSAiU3RkTGliRXh0cmFzLmgiCiAjaW5jbHVkZSA8YXJy
YXk+CiAKKyNpZiBCT1MoREFSV0lOKQorI2luY2x1ZGUgPG1hY2gvdm1fcGFyYW0uaD4KKyNlbmRp
ZgorCiBuYW1lc3BhY2UgYm1hbGxvYyB7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CkluZGV4OiBU
b29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
NzkwMTUpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBA
QAorMjAyMS0wNi0xNyAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CisKKyAgICAgICAg
RGVmaW5lIE1hY3JvQXNzZW1ibGVyQVJNNjRFOjpudW1iZXJPZlBBQ0JpdHMgYmFzZWQgb24gT1Nf
Q09OU1RBTlQoRUZGRUNUSVZFX0FERFJFU1NfV0lEVEgpLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3MTQ3CisgICAgICAgIHJkYXI6Ly83ODc4NTMw
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvUGFja2VkLmNwcDoKKwogMjAyMS0wNi0xNyAgSm9uYXRoYW4g
QmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+CiAKICAgICAgICAgW3Jlc3VsdHNkYnB5XSBBZG9w
dCBhdXRvaW5zdGFsbGVyCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9QYWNr
ZWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1BhY2tl
ZC5jcHAJKHJldmlzaW9uIDI3OTAwOSkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L1BhY2tlZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxOS0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcsOCArMjcsMTMgQEAKIAogI2luY2x1ZGUgPHd0
Zi9QYWNrZWQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9NYXRo
RXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCisjaWYgT1MoREFSV0lOKQorI2lu
Y2x1ZGUgPG1hY2gvdm1fcGFyYW0uaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQ
SSB7CiAKIHN0cnVjdCBQYWNrZWRQYWlyIHsK
</data>
<flag name="review"
          id="453576"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>